觀點(diǎn) | 為什么深度學(xué)習(xí)仍未取代傳統(tǒng)的計(jì)算機(jī)視覺(jué)技術(shù)?
點(diǎn)擊上方“小白學(xué)視覺(jué)”,選擇加"星標(biāo)"或“置頂”
重磅干貨,第一時(shí)間送達(dá)
本文作者認(rèn)為,深度學(xué)習(xí)只是一種計(jì)算機(jī)視覺(jué)工具,而不是包治百病的良藥,不要因?yàn)榱餍芯鸵晃兜厥褂盟鹘y(tǒng)的計(jì)算機(jī)視覺(jué)技術(shù)仍然可以大顯身手,了解它們可以為你省去很多的時(shí)間和煩惱;并且掌握傳統(tǒng)計(jì)算機(jī)視覺(jué)確實(shí)可以讓你在深度學(xué)習(xí)方面做得更好。這是因?yàn)槟憧梢愿玫乩斫馍疃葘W(xué)習(xí)的內(nèi)部狀況,并可執(zhí)行預(yù)處理步驟改善深度學(xué)習(xí)結(jié)果。
本文的靈感同樣來(lái)自論壇中的一個(gè)常見(jiàn)問(wèn)題:
深度學(xué)習(xí)已經(jīng)取代了傳統(tǒng)的計(jì)算機(jī)視覺(jué)嗎?
或是換種說(shuō)法:
既然深度學(xué)習(xí)看起來(lái)如此有效,是否還有必要學(xué)習(xí)傳統(tǒng)的計(jì)算機(jī)視覺(jué)技術(shù)?
這個(gè)問(wèn)題很好。深度學(xué)習(xí)確實(shí)給計(jì)算機(jī)視覺(jué)和人工智能領(lǐng)域帶來(lái)了革命性的突破。許多曾經(jīng)看似困難的問(wèn)題,現(xiàn)在機(jī)器可以比解決的比人類(lèi)還好。圖像分類(lèi)就是最好的印證。確實(shí),如從前所述,深度學(xué)習(xí)有責(zé)任將計(jì)算機(jī)視覺(jué)納入行業(yè)版圖。
但深度學(xué)習(xí)仍然只是計(jì)算機(jī)視覺(jué)的一個(gè)工具,且顯然不是解決所有問(wèn)題的靈丹妙藥。因此,本文會(huì)對(duì)此進(jìn)行詳細(xì)闡述。也就是說(shuō),我將說(shuō)明傳統(tǒng)的計(jì)算機(jī)視覺(jué)技術(shù)為何仍十分有用,值得我們繼續(xù)學(xué)習(xí)并傳授下去。
本文分為以下幾個(gè)部分/論點(diǎn):
深度學(xué)習(xí)需要大數(shù)據(jù)
深度學(xué)習(xí)有時(shí)會(huì)做過(guò)了頭
傳統(tǒng)計(jì)算機(jī)視覺(jué)將會(huì)提升你的深度學(xué)習(xí)水平
進(jìn)入正文之前,我認(rèn)為有必要詳細(xì)解釋一下什么是「?jìng)鹘y(tǒng)計(jì)算機(jī)視覺(jué)」,什么是深度學(xué)習(xí),及其革命性。
在深度學(xué)習(xí)出現(xiàn)以前,如果你有一項(xiàng)諸如圖像分類(lèi)的工作,你會(huì)進(jìn)行一步叫做「特征提取」的處理。所謂「特征」就是圖像中「有趣的」、描述性的、或是提供信息的小部分。你會(huì)應(yīng)用我在本文中稱(chēng)之為的「?jìng)鹘y(tǒng)計(jì)算機(jī)視覺(jué)技術(shù)」的組合來(lái)尋找這些特征,包括邊緣檢測(cè)、角點(diǎn)檢測(cè)、對(duì)象檢測(cè)等等。
在使用這些與特征提取和圖像分類(lèi)相關(guān)的技術(shù)時(shí),會(huì)從一類(lèi)對(duì)象(例如:椅子、馬等等)的圖像中提取出盡可能多的特征,并將其視為這類(lèi)對(duì)象的「定義」(稱(chēng)作「詞袋」)。接下來(lái)你要在其它圖像中搜索這些「定義」。如果在另一個(gè)圖像中存在著詞袋中相當(dāng)一部分的特征,那么這個(gè)圖像就被歸為包含那個(gè)特定對(duì)象(如椅子、馬等等)的分類(lèi)。
這種圖像分類(lèi)的特征提取方法的難點(diǎn)在于你必須在每張圖像中選擇尋找哪些特征。隨著你試圖區(qū)分的類(lèi)別數(shù)目開(kāi)始增長(zhǎng),比如說(shuō)超過(guò) 10 或 20,這就會(huì)變得非常麻煩甚至難以實(shí)現(xiàn)。你要尋找角點(diǎn)?邊緣?還是紋理信息?不同類(lèi)別的對(duì)象最好要用不同種類(lèi)型的特征來(lái)描述。如果你選擇使用很多的特征,你就不得不處理海量的參數(shù),而且還需要自己來(lái)微調(diào)。
深度學(xué)習(xí)引入了「端到端學(xué)習(xí)」這一概念,(簡(jiǎn)而言之)讓機(jī)器在每個(gè)特定類(lèi)別的對(duì)象中學(xué)習(xí)尋找特征,即最具描述性、最突出的特征。換句話說(shuō),讓神經(jīng)網(wǎng)絡(luò)去發(fā)現(xiàn)各種類(lèi)型圖像中的潛在模式。
因此,借助端到端學(xué)習(xí),你不再需要手動(dòng)決定采用哪種傳統(tǒng)機(jī)器視覺(jué)技術(shù)來(lái)描述特征。機(jī)器為你做好了這一切。《連線》雜志如此寫(xiě)道:
舉例來(lái)說(shuō),如果你想教會(huì)一個(gè) [深度] 神經(jīng)網(wǎng)絡(luò)識(shí)別一只貓,你不必告訴它去尋找胡須、耳朵、毛或是眼睛。你只需展示給它成千上萬(wàn)的貓的圖像,它自然會(huì)解決這一問(wèn)題。如果它總是會(huì)將狐貍誤認(rèn)為是貓,你也不用重寫(xiě)代碼。你只需對(duì)它繼續(xù)進(jìn)行訓(xùn)練。
下圖描述了特征提取(使用傳統(tǒng)計(jì)算機(jī)視覺(jué))和端到端學(xué)習(xí)之間的這種區(qū)別:

以上就是背景介紹。現(xiàn)在接著討論為什么傳統(tǒng)計(jì)算機(jī)視覺(jué)仍然必不可少,而且學(xué)習(xí)它仍大有裨益。
首先,深度學(xué)習(xí)需要數(shù)據(jù),許許多多的數(shù)據(jù)。前文提到過(guò)的著名圖像分類(lèi)模型的訓(xùn)練都基于龐大的數(shù)據(jù)集。排名前三的訓(xùn)練數(shù)據(jù)集分別是:
ImageNet——150 萬(wàn)圖像,1000 個(gè)對(duì)象分類(lèi)/類(lèi)別;
COCO——250 萬(wàn)圖像,91 個(gè)對(duì)象分類(lèi);
PASCAL VOC——50 萬(wàn)圖像,20 個(gè)對(duì)象分類(lèi)。
但是一個(gè)訓(xùn)練不良的模型在你的訓(xùn)練數(shù)據(jù)之外很可能表現(xiàn)糟糕,因?yàn)闄C(jī)器并沒(méi)有對(duì)于問(wèn)題的洞察力,也就不能在沒(méi)看到數(shù)據(jù)的情況下進(jìn)行概括歸納。而且對(duì)你來(lái)說(shuō)查看訓(xùn)練模型內(nèi)部并進(jìn)行手動(dòng)調(diào)整又太過(guò)困難,因?yàn)橐粋€(gè)深度學(xué)習(xí)模型內(nèi)部擁有數(shù)以百萬(wàn)計(jì)的參數(shù)——每個(gè)參數(shù)在訓(xùn)練期間都會(huì)被調(diào)整。某種程度上說(shuō),一個(gè)深度學(xué)習(xí)模型就是一個(gè)黑箱。
傳統(tǒng)的計(jì)算機(jī)視覺(jué)完全透明,允許你更好地評(píng)估判斷你的解決方案是否在訓(xùn)練環(huán)境之外依然有效。你對(duì)問(wèn)題的深入見(jiàn)解可以放進(jìn)你的算法之中。并且如果任何地方出現(xiàn)故障,你也可以更輕易地弄清楚什么需要調(diào)整,在哪里調(diào)整。
這大概是我最喜歡的支持研究傳統(tǒng)計(jì)算機(jī)視覺(jué)技術(shù)的理由。
訓(xùn)練一個(gè)深度神經(jīng)網(wǎng)絡(luò)需要很長(zhǎng)的時(shí)間。你需要專(zhuān)門(mén)的硬件(例如高性能 GPU)訓(xùn)練最新、最先進(jìn)的圖像分類(lèi)模型。你想在自己還不錯(cuò)的筆記本上訓(xùn)練?去度個(gè)一周的假吧,等你回來(lái)的時(shí)候訓(xùn)練很可能仍未完成。
此外,如果你的訓(xùn)練模型表現(xiàn)不佳呢?你不得不返回原點(diǎn),用不同的訓(xùn)練參數(shù)重做全部工作。這一過(guò)程可能會(huì)重復(fù)數(shù)百次。
但有時(shí)候所有這些完全沒(méi)必要。因?yàn)閭鹘y(tǒng)計(jì)算機(jī)視覺(jué)技術(shù)可以比深度學(xué)習(xí)更有效率地解決問(wèn)題,而且使用的代碼更少。例如,我曾經(jīng)參與的一個(gè)項(xiàng)目是檢查每個(gè)通過(guò)傳送帶的罐子里是否有一個(gè)紅勺子。現(xiàn)在你可以通過(guò)前文敘述的曠日持久的過(guò)程來(lái)訓(xùn)練一個(gè)深度神經(jīng)網(wǎng)絡(luò)去檢測(cè)勺子,或者你也可以寫(xiě)一個(gè)簡(jiǎn)單的以紅色為閾值的算法(將任何帶有一定范圍紅色的像素都標(biāo)記為白色,所有其它的像素標(biāo)記為黑色),然后計(jì)算有多少白色的像素。簡(jiǎn)簡(jiǎn)單單,一個(gè)小時(shí)就可以搞定!
掌握傳統(tǒng)的計(jì)算機(jī)視覺(jué)技術(shù)可能會(huì)為你節(jié)省大量的時(shí)間并減少不必要的煩惱。
理解傳統(tǒng)的計(jì)算機(jī)視覺(jué)實(shí)際上能幫你在深度學(xué)習(xí)上做得更好。
舉例來(lái)說(shuō),計(jì)算機(jī)視覺(jué)領(lǐng)域最為普遍使用的神經(jīng)網(wǎng)絡(luò)是卷積神經(jīng)網(wǎng)絡(luò)。但什么是卷積?卷積事實(shí)上是一種被廣泛使用的圖像處理技術(shù)(比如,索貝爾邊緣檢測(cè))。了解這一點(diǎn)可以幫助你理解神經(jīng)網(wǎng)絡(luò)內(nèi)部究竟發(fā)生了什么,從而進(jìn)行設(shè)計(jì)和微調(diào)以更好地解決你的問(wèn)題。
還有一件事叫做預(yù)處理。你輸入給模型的數(shù)據(jù)往往要經(jīng)過(guò)這種處理,以便為接下來(lái)的訓(xùn)練做準(zhǔn)備。這些預(yù)處理步驟主要是通過(guò)傳統(tǒng)的計(jì)算機(jī)視覺(jué)技術(shù)完成的。例如,如果你沒(méi)有足夠的訓(xùn)練數(shù)據(jù),你可以進(jìn)行一個(gè)叫做數(shù)據(jù)增強(qiáng)的處理。數(shù)據(jù)增強(qiáng)是指對(duì)你訓(xùn)練數(shù)據(jù)集中的圖像進(jìn)行隨機(jī)的旋轉(zhuǎn)、移動(dòng)、裁剪等,從而創(chuàng)造出「新」圖像。通過(guò)執(zhí)行這些計(jì)算機(jī)視覺(jué)操作,可以極大地增加你的訓(xùn)練數(shù)據(jù)量。
本文闡述了為什么深度學(xué)習(xí)還沒(méi)有取代傳統(tǒng)計(jì)算機(jī)視覺(jué)技術(shù),以及后者仍值得學(xué)習(xí)和傳授。首先,本文將目光放在了深度學(xué)習(xí)往往需要大量數(shù)據(jù)才能表現(xiàn)良好這一問(wèn)題上。有時(shí)并不具備大量數(shù)據(jù),而傳統(tǒng)計(jì)算機(jī)視覺(jué)在這種情況下可作為一種替代方案。第二,深度學(xué)習(xí)針對(duì)特定的任務(wù)偶爾會(huì)做過(guò)頭。在這些任務(wù)中,標(biāo)準(zhǔn)的計(jì)算機(jī)視覺(jué)比起深度學(xué)習(xí)可以更為高效地解決問(wèn)題,并且使用更少的代碼。第三,掌握傳統(tǒng)計(jì)算機(jī)視覺(jué)確實(shí)可以讓你在深度學(xué)習(xí)方面做得更好。這是因?yàn)槟憧梢愿玫乩斫馍疃葘W(xué)習(xí)的內(nèi)部狀況,并可執(zhí)行預(yù)處理步驟改善深度學(xué)習(xí)結(jié)果。
總而言之,深度學(xué)習(xí)只是一種計(jì)算機(jī)視覺(jué)的工具,而不是包治百病的良藥。不要因?yàn)榱餍芯鸵晃兜厥褂盟鹘y(tǒng)的計(jì)算機(jī)視覺(jué)技術(shù)仍然可以大顯身手,了解它們可以為你省去很多的時(shí)間和煩惱。
好消息!
小白學(xué)視覺(jué)知識(shí)星球
開(kāi)始面向外開(kāi)放啦??????
下載1:OpenCV-Contrib擴(kuò)展模塊中文版教程 在「小白學(xué)視覺(jué)」公眾號(hào)后臺(tái)回復(fù):擴(kuò)展模塊中文教程,即可下載全網(wǎng)第一份OpenCV擴(kuò)展模塊教程中文版,涵蓋擴(kuò)展模塊安裝、SFM算法、立體視覺(jué)、目標(biāo)跟蹤、生物視覺(jué)、超分辨率處理等二十多章內(nèi)容。 下載2:Python視覺(jué)實(shí)戰(zhàn)項(xiàng)目52講 在「小白學(xué)視覺(jué)」公眾號(hào)后臺(tái)回復(fù):Python視覺(jué)實(shí)戰(zhàn)項(xiàng)目,即可下載包括圖像分割、口罩檢測(cè)、車(chē)道線檢測(cè)、車(chē)輛計(jì)數(shù)、添加眼線、車(chē)牌識(shí)別、字符識(shí)別、情緒檢測(cè)、文本內(nèi)容提取、面部識(shí)別等31個(gè)視覺(jué)實(shí)戰(zhàn)項(xiàng)目,助力快速學(xué)校計(jì)算機(jī)視覺(jué)。 下載3:OpenCV實(shí)戰(zhàn)項(xiàng)目20講 在「小白學(xué)視覺(jué)」公眾號(hào)后臺(tái)回復(fù):OpenCV實(shí)戰(zhàn)項(xiàng)目20講,即可下載含有20個(gè)基于OpenCV實(shí)現(xiàn)20個(gè)實(shí)戰(zhàn)項(xiàng)目,實(shí)現(xiàn)OpenCV學(xué)習(xí)進(jìn)階。 交流群
歡迎加入公眾號(hào)讀者群一起和同行交流,目前有SLAM、三維視覺(jué)、傳感器、自動(dòng)駕駛、計(jì)算攝影、檢測(cè)、分割、識(shí)別、醫(yī)學(xué)影像、GAN、算法競(jìng)賽等微信群(以后會(huì)逐漸細(xì)分),請(qǐng)掃描下面微信號(hào)加群,備注:”昵稱(chēng)+學(xué)校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺(jué)SLAM“。請(qǐng)按照格式備注,否則不予通過(guò)。添加成功后會(huì)根據(jù)研究方向邀請(qǐng)進(jìn)入相關(guān)微信群。請(qǐng)勿在群內(nèi)發(fā)送廣告,否則會(huì)請(qǐng)出群,謝謝理解~

