當(dāng)你輾轉(zhuǎn)于各種論壇時(shí),相信會(huì)經(jīng)常看到這樣的問(wèn)題:深度學(xué)習(xí)是否會(huì)取代傳統(tǒng)的計(jì)算機(jī)視覺(jué)?或者說(shuō),當(dāng)深度學(xué)習(xí)看起來(lái)如此有效時(shí),是否還有必要研究傳統(tǒng)的計(jì)算機(jī)視覺(jué)技術(shù)?
這是一個(gè)非常好的問(wèn)題。
深度學(xué)習(xí)已經(jīng)徹底改變了計(jì)算機(jī)視覺(jué)和人工智能這一領(lǐng)域,許多曾經(jīng)看起來(lái)不可能解決的問(wèn)題,深度學(xué)習(xí)都能夠解決——尤其是在圖像識(shí)別和分類問(wèn)題上,機(jī)器已經(jīng)超越人類。事實(shí)上,深度學(xué)習(xí)也強(qiáng)化了計(jì)算機(jī)視覺(jué)在行業(yè)中的重要地位。
但是,深度學(xué)習(xí)對(duì)計(jì)算機(jī)視覺(jué)來(lái)說(shuō)僅僅是一種工具,它不可能成為解決所有問(wèn)題的萬(wàn)能藥。所以,在這篇文章中,我想闡述一下為什么傳統(tǒng)計(jì)算機(jī)視覺(jué)技術(shù)仍然很重要,并且值得我們?nèi)ド钊雽W(xué)習(xí)和研究。
本文將分為以下三個(gè)部分:
深度學(xué)習(xí)需要大數(shù)據(jù)
深度學(xué)習(xí)有時(shí)過(guò)于深度(殺雞焉用牛刀)
傳統(tǒng)的計(jì)算機(jī)視覺(jué)有助于更好的使用深度學(xué)習(xí)
首先我需要解釋下什么是傳統(tǒng)的計(jì)算機(jī)視覺(jué)技術(shù),什么是深度學(xué)習(xí),以及深度學(xué)習(xí)為什么如此具有革命性。
▌背景知識(shí)
在深度學(xué)習(xí)出現(xiàn)之前,如果你想對(duì)圖像進(jìn)行分類,首先需要執(zhí)行一個(gè)特征提?。╳iki:http://t.cn/RnzvIJ8)的步驟。特征是圖像中比較小的“有趣的”、具有描述性的或包含信息的塊。在這篇文章中你將會(huì)了解到傳統(tǒng)的計(jì)算機(jī)視覺(jué)技術(shù),包括邊緣檢測(cè)(wiki:http://t.cn/RnzvqtE),角點(diǎn)檢測(cè)(wiki:http://t.cn/RnzvSVQ),對(duì)象檢測(cè)(wiki:http://t.cn/RnzvpqH)等等。
就特征提取和圖像分類而言,使用這些技術(shù)的思路是:從統(tǒng)一類別對(duì)象的圖像中(椅子、馬等)提取盡可能多的特征,并將這些特征視為對(duì)象的一個(gè)“定義”(眾所周知的詞袋模型),然后在其他圖像中搜索這些“定義”,如果詞袋模型中有相當(dāng)一部分的特征都可以在這幅圖像中找到,那么這幅圖像被分類為包含該特定對(duì)象的類別(椅子,馬等)。
這種特征提取方法的難點(diǎn)在于,在給定圖像中,必須選擇需要查找哪些特征。當(dāng)圖像中類別過(guò)多時(shí)(如10或20個(gè)類別),就會(huì)變得復(fù)雜而難以分類。角點(diǎn)?邊緣?還是紋理特征?只有使用不同的特征才可以更好地描述不同類別的對(duì)象。如果你在分類時(shí)使用很多特征,就必須對(duì)大量的參數(shù)進(jìn)行微調(diào)。
深度學(xué)習(xí)為我們展示了端到端學(xué)習(xí)(end-to-endlearning)這一概念,簡(jiǎn)而言之,針對(duì)每個(gè)特定類別的對(duì)象,機(jī)器會(huì)自動(dòng)學(xué)習(xí)需要查找什么特征。它為每個(gè)對(duì)象提供了最具描述性和顯著性的特征。換句話說(shuō),神經(jīng)網(wǎng)絡(luò)可以探索圖像類別中的底層模式。
因此,通過(guò)端到端的學(xué)習(xí),你不再需要自己動(dòng)手來(lái)決定使用哪種傳統(tǒng)計(jì)算機(jī)視覺(jué)技術(shù)來(lái)描述這些特征,機(jī)器將會(huì)替你做這些工作?!哆B線》雜志這樣描述:
“舉個(gè)例子來(lái)說(shuō),如果你想訓(xùn)練一個(gè)[深度]神經(jīng)網(wǎng)絡(luò)來(lái)識(shí)別一只貓,你不需要告訴它要尋找圖像上的胡須、耳朵、毛發(fā)和眼睛。你需要做的就是向它展示成千上萬(wàn)張貓的照片,這就能解決問(wèn)題。如果它將狐貍誤認(rèn)為貓,你也不需要重寫(xiě)代碼,只需要繼續(xù)訓(xùn)練即可。”
下圖展示了特征提?。ㄊ褂脗鹘y(tǒng)的計(jì)算機(jī)視覺(jué)技術(shù))和端到端學(xué)習(xí)二者之間的差異:
下面我們將繼續(xù)討論,傳統(tǒng)的計(jì)算機(jī)視覺(jué)為什么仍然有必要且值得我們?nèi)W(xué)習(xí)。
▌深度學(xué)習(xí)需要大數(shù)據(jù)
首先,深度學(xué)習(xí)需要數(shù)據(jù),并且是大量的數(shù)據(jù)!上面提到的那些經(jīng)典的圖像分類模型都是在大型數(shù)據(jù)集上進(jìn)行訓(xùn)練的。常用于訓(xùn)練的三種數(shù)據(jù)集分別是:
ImageNet數(shù)據(jù)集——包含150萬(wàn)張圖像,有1000個(gè)類別。
MicrosoftCommon Objects in Context(COCO)數(shù)據(jù)集——包含250萬(wàn)張圖像,有91個(gè)類別。
PASCAL VOC數(shù)據(jù)集——包含500萬(wàn)張圖像,有20個(gè)類別。
比圖像分類簡(jiǎn)單的任務(wù)或許并不需要如此多數(shù)據(jù),但也少不到哪里去。你必須在你所擁有的數(shù)據(jù)上進(jìn)行訓(xùn)練(有些技巧能夠增強(qiáng)訓(xùn)練數(shù)據(jù),但也都是人為處理的方法)。
在訓(xùn)練數(shù)據(jù)范圍之外的數(shù)據(jù)上,已訓(xùn)練模型的表現(xiàn)就會(huì)很差,這是因?yàn)闄C(jī)器并沒(méi)有理解這個(gè)問(wèn)題,所以不能在沒(méi)有訓(xùn)練過(guò)的數(shù)據(jù)上進(jìn)行泛化。
我們很難看到訓(xùn)練過(guò)的模型的內(nèi)在機(jī)制,手動(dòng)調(diào)參也相當(dāng)困難,因?yàn)樯疃葘W(xué)習(xí)模型里面有數(shù)百萬(wàn)個(gè)參數(shù)——每個(gè)參數(shù)在訓(xùn)練過(guò)程中都需要調(diào)整。從某種意義上來(lái)說(shuō),深度學(xué)習(xí)模型就是一個(gè)黑匣子。
傳統(tǒng)的計(jì)算機(jī)視覺(jué)具有充分的透明度,這能夠使你對(duì)解決方案能否在訓(xùn)練環(huán)境之外運(yùn)行做一個(gè)更好的評(píng)估和判斷。你可以更容易地了解算法中存在的問(wèn)題,弄清楚什么地方需要調(diào)整。
▌殺雞焉用牛刀
這也許是我支持繼續(xù)研究傳統(tǒng)計(jì)算機(jī)視覺(jué)技術(shù)的最佳理由。
訓(xùn)練一個(gè)深度神經(jīng)網(wǎng)絡(luò)需要很長(zhǎng)時(shí)間。如果使用專用硬件(例如高性能GPU)訓(xùn)練最先進(jìn)的圖像分類模型,也得需要將近一天的時(shí)間;如果使用標(biāo)準(zhǔn)筆記本電腦進(jìn)行訓(xùn)練,甚至需要一周或者更長(zhǎng)的時(shí)間。
此外,如果你的訓(xùn)練模型表現(xiàn)不佳應(yīng)該怎么辦?你必須重來(lái)一遍,使用不同的訓(xùn)練參數(shù)重新進(jìn)行訓(xùn)練,而且這個(gè)過(guò)程有時(shí)候還得重復(fù)數(shù)百次。
并不是所有問(wèn)題需要使用深度學(xué)習(xí)。在某些問(wèn)題上,傳統(tǒng)的計(jì)算機(jī)視覺(jué)技術(shù)的表現(xiàn)比深度學(xué)習(xí)更好,而且需要的代碼更少。
例如,我曾經(jīng)參與過(guò)一個(gè)項(xiàng)目——檢測(cè)每個(gè)通過(guò)傳送帶的錫罐中是否有紅色的勺子。你可以訓(xùn)練一個(gè)深度神經(jīng)網(wǎng)絡(luò)來(lái)檢測(cè)勺子并完成上述過(guò)程,但這比較耗費(fèi)時(shí)間;或者你也可以編寫(xiě)一個(gè)簡(jiǎn)單的關(guān)于紅色的顏色閾值算法(在紅色范圍內(nèi)的任何像素都標(biāo)記成白色,其他像素則都是黑色),然后計(jì)算有多少白色像素,這樣就可以快速檢測(cè)勺子。第二個(gè)方法很簡(jiǎn)單,并且能在一個(gè)小時(shí)以內(nèi)完成!
了解傳統(tǒng)的計(jì)算機(jī)視覺(jué)技術(shù)會(huì)為你節(jié)省大量時(shí)間以及減少不必要的麻煩。
▌理解傳統(tǒng)的計(jì)算機(jī)視覺(jué)方法可以提升你的深度學(xué)習(xí)技巧
理解傳統(tǒng)的計(jì)算機(jī)視覺(jué)實(shí)際上真的有助于你更好的使用深度學(xué)習(xí)。例如,計(jì)算機(jī)視覺(jué)中最常見(jiàn)的神經(jīng)網(wǎng)絡(luò)是卷積神經(jīng)網(wǎng)絡(luò)。但是什么是卷積?它實(shí)際上是一種廣泛使用的圖像處理技術(shù)(例如Sobel邊緣檢測(cè))。了解卷積有助于了解神經(jīng)網(wǎng)絡(luò)的內(nèi)在機(jī)制,在解決問(wèn)題時(shí),它可以幫助你設(shè)計(jì)和調(diào)整模型。
其次是預(yù)處理,這通常是針對(duì)訓(xùn)練數(shù)據(jù)而言。預(yù)處理這一步驟用到的主要是傳統(tǒng)的計(jì)算機(jī)視覺(jué)技術(shù)。例如,如果你沒(méi)有足夠多的訓(xùn)練數(shù)據(jù),則可以采用數(shù)據(jù)增強(qiáng)的方法來(lái)處理:通過(guò)對(duì)原來(lái)的圖像進(jìn)行隨機(jī)旋轉(zhuǎn)、移位、剪切的方式來(lái)創(chuàng)建“新”的圖像。這些操作可以大大增加訓(xùn)練數(shù)據(jù)的數(shù)量。
▌結(jié)論
在這篇文章中,我解釋了為什么深度學(xué)習(xí)仍然沒(méi)有取代傳統(tǒng)的計(jì)算機(jī)視覺(jué)技術(shù),以及傳統(tǒng)的計(jì)算機(jī)視覺(jué)技術(shù)為何值得我們?nèi)W(xué)習(xí)和研究。
首先,深度學(xué)習(xí)通常需要大量的數(shù)據(jù)才能達(dá)到較好的性能,但是有時(shí)候這是不可能實(shí)現(xiàn)的。在這些情況下,傳統(tǒng)的計(jì)算機(jī)視覺(jué)技術(shù)就可以成為替代方案。
其次,對(duì)于某些特定的任務(wù)來(lái)說(shuō),有時(shí)候深度學(xué)習(xí)過(guò)于深度。在這種情況下,標(biāo)準(zhǔn)的計(jì)算機(jī)視覺(jué)技術(shù)可以更有效地解決問(wèn)題,并且使用較少的代碼。
第三,了解傳統(tǒng)的計(jì)算機(jī)視覺(jué)技術(shù)實(shí)際上可以讓你更好地使用深度學(xué)習(xí)。這是因?yàn)橥ㄟ^(guò)傳統(tǒng)的計(jì)算機(jī)視覺(jué),你可以更好地了解深度學(xué)習(xí)的內(nèi)在機(jī)制,并且可以執(zhí)行某些預(yù)處理步驟來(lái)提升深度學(xué)習(xí)的性能。
簡(jiǎn)而言之,深度學(xué)習(xí)只是計(jì)算機(jī)視覺(jué)的一種工具,并不是萬(wàn)能藥。不要因?yàn)樯疃葘W(xué)習(xí)現(xiàn)在較為流行就只使用深度學(xué)習(xí)。傳統(tǒng)的計(jì)算機(jī)視覺(jué)技術(shù)仍然非常重要,它可以為你節(jié)省很多時(shí)間,并減少許多不必要的麻煩。
-
視覺(jué)技術(shù)
+關(guān)注
關(guān)注
0文章
87瀏覽量
13528 -
大數(shù)據(jù)
+關(guān)注
關(guān)注
64文章
8900瀏覽量
137591 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5510瀏覽量
121349
原文標(biāo)題:為什么深度學(xué)習(xí)不能取代傳統(tǒng)的計(jì)算機(jī)視覺(jué)技術(shù)?
文章出處:【微信號(hào):AI_Thinker,微信公眾號(hào):人工智能頭條】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論