《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 業(yè)界動態(tài) > 觀點 | 為什么深度學(xué)習(xí)仍未取代傳統(tǒng)的計算機視覺技術(shù)?

觀點 | 為什么深度學(xué)習(xí)仍未取代傳統(tǒng)的計算機視覺技術(shù)?

2018-03-20

選自zbigatron

作者:Zbigatron

機器之心編譯

參與:張楚、黃小天


本文作者認為,深度學(xué)習(xí)只是一種計算機視覺工具,而不是包治百病的良藥,不要因為流行就一味地使用它。傳統(tǒng)的計算機視覺技術(shù)仍然可以大顯身手,了解它們可以為你省去很多的時間和煩惱;并且掌握傳統(tǒng)計算機視覺確實可以讓你在深度學(xué)習(xí)方面做得更好。這是因為你可以更好地理解深度學(xué)習(xí)的內(nèi)部狀況,并可執(zhí)行預(yù)處理步驟改善深度學(xué)習(xí)結(jié)果。


本文的靈感同樣來自論壇中的一個常見問題:


深度學(xué)習(xí)已經(jīng)取代了傳統(tǒng)的計算機視覺嗎?


或是換種說法:


既然深度學(xué)習(xí)看起來如此有效,是否還有必要學(xué)習(xí)傳統(tǒng)的計算機視覺技術(shù)?


這個問題很好。深度學(xué)習(xí)確實給計算機視覺和人工智能領(lǐng)域帶來了革命性的突破。許多曾經(jīng)看似困難的問題,現(xiàn)在機器可以比解決的比人類還好。圖像分類就是最好的印證。確實,如從前所述,深度學(xué)習(xí)有責(zé)任將計算機視覺納入行業(yè)版圖。


但深度學(xué)習(xí)仍然只是計算機視覺的一個工具,且顯然不是解決所有問題的靈丹妙藥。因此,本文會對此進行詳細闡述。也就是說,我將說明傳統(tǒng)的計算機視覺技術(shù)為何仍十分有用,值得我們繼續(xù)學(xué)習(xí)并傳授下去。


本文分為以下幾個部分/論點:


深度學(xué)習(xí)需要大數(shù)據(jù)

深度學(xué)習(xí)有時會做過了頭

傳統(tǒng)計算機視覺將會提升你的深度學(xué)習(xí)水平


進入正文之前,我認為有必要詳細解釋一下什么是「傳統(tǒng)計算機視覺」,什么是深度學(xué)習(xí),及其革命性。


背景知識


在深度學(xué)習(xí)出現(xiàn)以前,如果你有一項諸如圖像分類的工作,你會進行一步叫做「特征提取」的處理。所謂「特征」就是圖像中「有趣的」、描述性的、或是提供信息的小部分。你會應(yīng)用我在本文中稱之為的「傳統(tǒng)計算機視覺技術(shù)」的組合來尋找這些特征,包括邊緣檢測、角點檢測、對象檢測等等。


在使用這些與特征提取和圖像分類相關(guān)的技術(shù)時,會從一類對象(例如:椅子、馬等等)的圖像中提取出盡可能多的特征,并將其視為這類對象的「定義」(稱作「詞袋」)。接下來你要在其它圖像中搜索這些「定義」。如果在另一個圖像中存在著詞袋中相當一部分的特征,那么這個圖像就被歸為包含那個特定對象(如椅子、馬等等)的分類。


這種圖像分類的特征提取方法的難點在于你必須在每張圖像中選擇尋找哪些特征。隨著你試圖區(qū)分的類別數(shù)目開始增長,比如說超過 10 或 20,這就會變得非常麻煩甚至難以實現(xiàn)。你要尋找角點?邊緣?還是紋理信息?不同類別的對象最好要用不同種類型的特征來描述。如果你選擇使用很多的特征,你就不得不處理海量的參數(shù),而且還需要自己來微調(diào)。


深度學(xué)習(xí)引入了「端到端學(xué)習(xí)」這一概念,(簡而言之)讓機器在每個特定類別的對象中學(xué)習(xí)尋找特征,即最具描述性、最突出的特征。換句話說,讓神經(jīng)網(wǎng)絡(luò)去發(fā)現(xiàn)各種類型圖像中的潛在模式。


因此,借助端到端學(xué)習(xí),你不再需要手動決定采用哪種傳統(tǒng)機器視覺技術(shù)來描述特征。機器為你做好了這一切?!哆B線》雜志如此寫道:


舉例來說,如果你想教會一個 [深度] 神經(jīng)網(wǎng)絡(luò)識別一只貓,你不必告訴它去尋找胡須、耳朵、毛或是眼睛。你只需展示給它成千上萬的貓的圖像,它自然會解決這一問題。如果它總是會將狐貍誤認為是貓,你也不用重寫代碼。你只需對它繼續(xù)進行訓(xùn)練。


下圖描述了特征提取(使用傳統(tǒng)計算機視覺)和端到端學(xué)習(xí)之間的這種區(qū)別:

微信圖片_20180320101435.jpg



以上就是背景介紹?,F(xiàn)在接著討論為什么傳統(tǒng)計算機視覺仍然必不可少,而且學(xué)習(xí)它仍大有裨益。


深度學(xué)習(xí)需要大量數(shù)據(jù)


首先,深度學(xué)習(xí)需要數(shù)據(jù),許許多多的數(shù)據(jù)。前文提到過的著名圖像分類模型的訓(xùn)練都基于龐大的數(shù)據(jù)集。排名前三的訓(xùn)練數(shù)據(jù)集分別是:


ImageNet——150 萬圖像,1000 個對象分類/類別;

COCO——250 萬圖像,91 個對象分類;

PASCAL VOC——50 萬圖像,20 個對象分類。


但是一個訓(xùn)練不良的模型在你的訓(xùn)練數(shù)據(jù)之外很可能表現(xiàn)糟糕,因為機器并沒有對于問題的洞察力,也就不能在沒看到數(shù)據(jù)的情況下進行概括歸納。而且對你來說查看訓(xùn)練模型內(nèi)部并進行手動調(diào)整又太過困難,因為一個深度學(xué)習(xí)模型內(nèi)部擁有數(shù)以百萬計的參數(shù)——每個參數(shù)在訓(xùn)練期間都會被調(diào)整。某種程度上說,一個深度學(xué)習(xí)模型就是一個黑箱。


傳統(tǒng)的計算機視覺完全透明,允許你更好地評估判斷你的解決方案是否在訓(xùn)練環(huán)境之外依然有效。你對問題的深入見解可以放進你的算法之中。并且如果任何地方出現(xiàn)故障,你也可以更輕易地弄清楚什么需要調(diào)整,在哪里調(diào)整。


深度學(xué)習(xí)有時做過了頭


這大概是我最喜歡的支持研究傳統(tǒng)計算機視覺技術(shù)的理由。


訓(xùn)練一個深度神經(jīng)網(wǎng)絡(luò)需要很長的時間。你需要專門的硬件(例如高性能 GPU)訓(xùn)練最新、最先進的圖像分類模型。你想在自己還不錯的筆記本上訓(xùn)練?去度個一周的假吧,等你回來的時候訓(xùn)練很可能仍未完成。


此外,如果你的訓(xùn)練模型表現(xiàn)不佳呢?你不得不返回原點,用不同的訓(xùn)練參數(shù)重做全部工作。這一過程可能會重復(fù)數(shù)百次。


但有時候所有這些完全沒必要。因為傳統(tǒng)計算機視覺技術(shù)可以比深度學(xué)習(xí)更有效率地解決問題,而且使用的代碼更少。例如,我曾經(jīng)參與的一個項目是檢查每個通過傳送帶的罐子里是否有一個紅勺子。現(xiàn)在你可以通過前文敘述的曠日持久的過程來訓(xùn)練一個深度神經(jīng)網(wǎng)絡(luò)去檢測勺子,或者你也可以寫一個簡單的以紅色為閾值的算法(將任何帶有一定范圍紅色的像素都標記為白色,所有其它的像素標記為黑色),然后計算有多少白色的像素。簡簡單單,一個小時就可以搞定!


掌握傳統(tǒng)的計算機視覺技術(shù)可能會為你節(jié)省大量的時間并減少不必要的煩惱。


傳統(tǒng)計算機視覺會提升你的深度學(xué)習(xí)技巧


理解傳統(tǒng)的計算機視覺實際上能幫你在深度學(xué)習(xí)上做得更好。


舉例來說,計算機視覺領(lǐng)域最為普遍使用的神經(jīng)網(wǎng)絡(luò)是卷積神經(jīng)網(wǎng)絡(luò)。但什么是卷積?卷積事實上是一種被廣泛使用的圖像處理技術(shù)(比如,索貝爾邊緣檢測)。了解這一點可以幫助你理解神經(jīng)網(wǎng)絡(luò)內(nèi)部究竟發(fā)生了什么,從而進行設(shè)計和微調(diào)以更好地解決你的問題。


還有一件事叫做預(yù)處理。你輸入給模型的數(shù)據(jù)往往要經(jīng)過這種處理,以便為接下來的訓(xùn)練做準備。這些預(yù)處理步驟主要是通過傳統(tǒng)的計算機視覺技術(shù)完成的。例如,如果你沒有足夠的訓(xùn)練數(shù)據(jù),你可以進行一個叫做數(shù)據(jù)增強的處理。數(shù)據(jù)增強是指對你訓(xùn)練數(shù)據(jù)集中的圖像進行隨機的旋轉(zhuǎn)、移動、裁剪等,從而創(chuàng)造出「新」圖像。通過執(zhí)行這些計算機視覺操作,可以極大地增加你的訓(xùn)練數(shù)據(jù)量。


結(jié)論


本文闡述了為什么深度學(xué)習(xí)還沒有取代傳統(tǒng)計算機視覺技術(shù),以及后者仍值得學(xué)習(xí)和傳授。首先,本文將目光放在了深度學(xué)習(xí)往往需要大量數(shù)據(jù)才能表現(xiàn)良好這一問題上。有時并不具備大量數(shù)據(jù),而傳統(tǒng)計算機視覺在這種情況下可作為一種替代方案。第二,深度學(xué)習(xí)針對特定的任務(wù)偶爾會做過頭。在這些任務(wù)中,標準的計算機視覺比起深度學(xué)習(xí)可以更為高效地解決問題,并且使用更少的代碼。第三,掌握傳統(tǒng)計算機視覺確實可以讓你在深度學(xué)習(xí)方面做得更好。這是因為你可以更好地理解深度學(xué)習(xí)的內(nèi)部狀況,并可執(zhí)行預(yù)處理步驟改善深度學(xué)習(xí)結(jié)果。


總而言之,深度學(xué)習(xí)只是一種計算機視覺的工具,而不是包治百病的良藥。不要因為流行就一味地使用它。傳統(tǒng)的計算機視覺技術(shù)仍然可以大顯身手,了解它們可以為你省去很多的時間和煩惱。


原文鏈接:http://zbigatron.com/has-deep-learning-superseded-traditional-computer-vision-techniques/



本文為機器之心編譯,轉(zhuǎn)載請聯(lián)系本公眾號獲得授權(quán)。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。