神經(jīng)網(wǎng)絡(luò)會成為機(jī)器視覺的未來趨勢嗎?
什么是神經(jīng)網(wǎng)絡(luò)?為什么它會成為工業(yè)圖像處理系統(tǒng)的熱點(diǎn)話題?因?yàn)樯窠?jīng)網(wǎng)絡(luò)不僅使開發(fā)人員從復(fù)雜的差異化標(biāo)準(zhǔn)界定程序中解脫出來,還能夠自主識別并學(xué)習(xí)這一標(biāo)準(zhǔn),并將這一“能力”應(yīng)用于精確的任務(wù)中。但神經(jīng)網(wǎng)絡(luò)并不能保持持續(xù)可靠地運(yùn)作,也無法主動實(shí)現(xiàn)與時俱進(jìn)的更新。它們必須先接受專業(yè)且深入的培訓(xùn)。本文詳細(xì)描述了應(yīng)該如何進(jìn)行這一培訓(xùn),所需的準(zhǔn)備工作以及與建立神經(jīng)網(wǎng)絡(luò)有關(guān)的各個開發(fā)步驟。
本文引用地址:http://m.butianyuan.cn/article/201807/383737.htm1 簡介
1.1 蘋果和梨
有人說蘋果和桔子根本不具備可比性,而如果談及機(jī)器視覺系統(tǒng)的話,蘋果和梨這一組合似乎也找不到任何共同點(diǎn)。即便如此,我們?nèi)匀患鼻械匦枰軌蚓_處理不同任務(wù)的系統(tǒng),類似能夠基于圖像數(shù)據(jù)區(qū)分兩種不同類型水果的任務(wù)。
一般來說,開發(fā)人員總是會陷入“區(qū)分兩種水果需要基于怎樣的標(biāo)準(zhǔn)”這樣一個怪圈??梢栽O(shè)想一個比較簡單的區(qū)分方法:蘋果是淡紅色的,而梨是綠色的。這樣一來,設(shè)定的標(biāo)準(zhǔn)之一即與顏色相關(guān)的信息。但請記住:有些蘋果也是綠色的,比如當(dāng)它們還未成熟時。因此如果將顏色視作唯一的區(qū)分標(biāo)準(zhǔn),那么不成熟的蘋果也會被誤認(rèn)為是梨。為確保更加精確的結(jié)果,增加一個衡量標(biāo)準(zhǔn)是很有必要的:比如形狀。蘋果通常更偏向于圓形,而梨則呈現(xiàn)比較細(xì)長的橢圓形。
圖1:通過基于相機(jī)的機(jī)器視覺系統(tǒng)可視化呈現(xiàn)蘋果和梨的分類結(jié)果。
在這個分類示例中,對物體進(jìn)行區(qū)分顯然是比較簡單的。制定這一區(qū)分標(biāo)準(zhǔn)(通常稱為“特征識別”)并不難。那么當(dāng)我們需要對不同種類的蘋果進(jìn)行分類時,又該怎么做呢?顏色和形狀在這種情況下已經(jīng)不足以成為區(qū)分不同蘋果的標(biāo)準(zhǔn)。在這個例子中,我們自定義(“手工定制”)的特征識別功能達(dá)到了極限。
針對不同對象的區(qū)分和分類越困難,對于開發(fā)人員來說,設(shè)計出一種能夠自動檢測出不同對象之間差別和特征的演算法就顯得愈加重要。
機(jī)器學(xué)習(xí)算法是前景非常廣闊的一種工具和解決方法,尤其是卷積神經(jīng)網(wǎng)絡(luò)(簡稱CNN)。卷積神經(jīng)網(wǎng)絡(luò)能夠自動學(xué)習(xí)區(qū)分不同對象所需的標(biāo)準(zhǔn)。這使得它們不僅能夠勝任最棘手的分類任務(wù),同時也適用于靈活性極高的各種應(yīng)用案例。
1.2 卷積神經(jīng)網(wǎng)絡(luò)(CNN):成功案例
卷積神經(jīng)網(wǎng)絡(luò)并不是一個最近才出現(xiàn)的新概念。早在1968年,加拿大神經(jīng)生物學(xué)家David Hubel與瑞典神經(jīng)生理學(xué)家Torsten Wiesel針對貓科動物視覺皮層進(jìn)行了合作研究。視覺皮層是大腦皮層中主要負(fù)責(zé)將視覺數(shù)據(jù)處理成可用信息的部分。因此他們的目標(biāo)是尋求如何從大腦接受到眼睛所采集的視覺圖像信息(比如“我看到一個蘋果”)中,獲得目標(biāo)對象有用信息方式的答案。這兩名研究人員給貓演示不同走向的光條,在這一過程中發(fā)現(xiàn)視覺皮層的不同細(xì)胞會根據(jù)光條的走向被激活并做出反應(yīng)。他們同時還發(fā)現(xiàn)復(fù)雜的光線圖案,比如眼睛的形狀,能夠激活視覺皮層更深層部位的細(xì)胞。
通過Hubel和Wiesel的努力,最終研發(fā)出一個能夠演繹細(xì)胞激活和轉(zhuǎn)發(fā)特定圖像信息過程的模型。這也為計算機(jī)輔助圖像分類建模奠定了基礎(chǔ)。
30年后,法國計算機(jī)科學(xué)家Yann LeCun再次為Hubel和Wiesel所取得的成就所激勵。他將視覺皮層功能的演繹疊加到一個演算中 -- 并從中成功創(chuàng)建出第一個卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用。
但即便如此,卷積神經(jīng)網(wǎng)絡(luò)在之后的很多年仍未能適用于實(shí)際操作和應(yīng)用。其中最主要的原因是卷積神經(jīng)網(wǎng)絡(luò)需要投入大量的計算能力。使用串行技術(shù)處理數(shù)據(jù)的CPU處理器需要對數(shù)據(jù)記錄挨個進(jìn)行分析,意味著在這一網(wǎng)絡(luò)能夠最終應(yīng)用于工作之前需要花費(fèi)多年時間。
直到圖形處理器單元(GPU)的出現(xiàn),能夠?qū)?shù)據(jù)實(shí)現(xiàn)并行處理,卷積神經(jīng)網(wǎng)絡(luò)才再一次被人們記起 -- 實(shí)際上近年來卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展已經(jīng)有了很大的起色。研究人員對卷積神經(jīng)網(wǎng)絡(luò)在筆記識別、醫(yī)療診斷、自動駕駛車輛預(yù)警系統(tǒng),機(jī)器人物體識別以及生物識別技術(shù)應(yīng)用方面取得的巨大成功感到欣慰。與其它競爭性學(xué)習(xí)技術(shù)相比,卷積神經(jīng)網(wǎng)絡(luò)在具有挑戰(zhàn)性的應(yīng)用中通常能夠產(chǎn)生更好的結(jié)果。包括Google、IBM、微軟和Facebook等大型企業(yè)所投資的數(shù)十億美元巨額資金無不表現(xiàn)出其對這一領(lǐng)域的極大興趣以及這一技術(shù)本身所具有的巨大潛力。
卷積神經(jīng)網(wǎng)絡(luò)不僅需要密集的處理器運(yùn)作;同樣對數(shù)據(jù)有極大需求。對卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行一次徹底培訓(xùn),需要輸入大量已經(jīng)分類的圖像數(shù)據(jù)。目前開發(fā)人員能夠自由訪問與此相關(guān)的數(shù)據(jù)庫。最常用的圖像數(shù)據(jù)庫之一是ImageNet1。 它包含超過1400萬幅分類圖像。同時還有一系列針對具體分類問題而存在的專門數(shù)據(jù)庫。比如,一個名為德國交通標(biāo)志識別基準(zhǔn)的數(shù)據(jù)庫中就保存了5萬余幅關(guān)于交通標(biāo)志的圖像。在這一例子中,卷積神經(jīng)網(wǎng)絡(luò)在2012年測試中取得了高達(dá)99.46%的成功率 -- 超過人工分類取得的98.84%。然而,在實(shí)踐過程中,開發(fā)人員通常會面臨高度專業(yè)化的分類問題,因此無法獲取自己的圖像數(shù)據(jù)庫。但幸運(yùn)的是,現(xiàn)在他們并不需要采集數(shù)百萬張圖像。一項被稱為“遷移學(xué)習(xí)”的技術(shù)小竅門能夠大大減少所需的圖像數(shù)量,有時甚至只需要幾百或幾千幅圖像。
軟件堆棧的主要部分都可以供開發(fā)人員自由使用。目前已經(jīng)開發(fā)出一系列適用于卷積神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)框架:包括Caffe,Torch和Theano在內(nèi)的眾多軟件庫都是專為這一課題而研發(fā)。2015年11月,Google甚至為此開放了內(nèi)部機(jī)器學(xué)習(xí)軟件TensorFlow,這一軟件是從圖像搜索到Google Photo等多種Google產(chǎn)品的基本組成部分。
卷積神經(jīng)網(wǎng)絡(luò)同時也開始在機(jī)器視覺應(yīng)用領(lǐng)域中發(fā)揮越來越大的作用。根據(jù)2016年嵌入式視覺聯(lián)盟進(jìn)行的嵌入式視覺開發(fā)者調(diào)查2,77%的受訪者表示目前正在或計劃將要利用神經(jīng)網(wǎng)絡(luò)來處理分類工作。這一趨勢正在上升:于2015年3進(jìn)行的同一項調(diào)查顯示,僅61%的受訪者有此打算。2016年進(jìn)行的該項調(diào)查還發(fā)現(xiàn),86%的卷積神經(jīng)網(wǎng)絡(luò)被用于分類算法。這一結(jié)果表明,除了像Google或Facebook這樣擁有龐大規(guī)模和豐富資源的大公司之外,普通的公司也能夠自主研發(fā)基于卷積神經(jīng)網(wǎng)絡(luò)的產(chǎn)品或服務(wù)。
2 卷積神經(jīng)網(wǎng)絡(luò)開發(fā)步驟
設(shè)想一下,作為工業(yè)級水果分選線的一部分,您確實(shí)需要將蘋果和梨子區(qū)分開,此外還需要根據(jù)其質(zhì)量將不同的水果自動分批。那么接下來將要經(jīng)過以下步驟:
1. 采集圖像數(shù)據(jù)
2. 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計
3. 執(zhí)行自學(xué)習(xí)算法
4. 對培訓(xùn)過的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行評估(并根據(jù)需要對步驟1、2、3進(jìn)行修改)
5. 訓(xùn)練有素的卷積神經(jīng)網(wǎng)絡(luò)部署
下述文字將對各步驟進(jìn)行詳細(xì)介紹。
2.1 采集圖像數(shù)據(jù)
機(jī)器學(xué)習(xí)的基本原理(或者準(zhǔn)確地說是“監(jiān)督式的機(jī)器學(xué)習(xí)”)涉及到如何利用大量示例教電腦識別待解決的問題。對于水果分選線來說,這將涉及到拍攝大量能夠顯示不同種類、品質(zhì)和大小的蘋果和梨的圖像。同時,還必須記錄下關(guān)于每幅圖像最精確詳盡的描述,這意味著所有三個屬性(見圖2)的具體值(“標(biāo)簽”)。這將創(chuàng)建一組輸入/輸出對,并通過電腦視覺處理,相當(dāng)于直接將其展示給“電腦的眼睛”,并由電腦指示哪幅圖像應(yīng)該對應(yīng)哪個回答(“Braeburn, Class I, Size M”)。
圖2:具有附加文本輸出的圖像數(shù)據(jù)。神經(jīng)網(wǎng)絡(luò)能夠利用這些輸入/輸出對學(xué)習(xí)區(qū)分。
在數(shù)據(jù)記錄過程中,非常重要的一點(diǎn)是需要在圖像上展示出需要測量的所有可能的屬性組合(在這種情況下指類型、品質(zhì)和大小)。通常來說,必須注意的是應(yīng)用程序的視覺變化(不僅是水果的類型,同時也包括不同的光源條件,圖像中水果的背景和位置等)在圖像樣本中也必須有所體現(xiàn)。從實(shí)際的角度來看,在最終的生產(chǎn)環(huán)境下、以完全相同的方式拍攝圖像是比較可取的做法。記錄每幅圖像中的水果類型、品質(zhì)和大小等屬性這一任務(wù)應(yīng)該由經(jīng)過培訓(xùn)的專家進(jìn)行:只有實(shí)際的水果銷售者,而不是系統(tǒng)程序員,才有資格正確評估商品的質(zhì)量。
數(shù)據(jù)采集過程中產(chǎn)生的另外一個極其重要的問題是所需圖像樣本的數(shù)量:可以想象,圖像差異越大,所需的樣本數(shù)量就越多。如介紹中所述,類似ImageNet的應(yīng)用程序可能在短時間內(nèi)就需要上百萬幅圖像。這樣的數(shù)據(jù)采集操作既不實(shí)際也不劃算,但是顯然還有其它的解決方式。與傳統(tǒng)的圖像處理系統(tǒng)一樣,可以在生產(chǎn)環(huán)境進(jìn)行更加嚴(yán)格的管控。此外,通過對已拍攝圖像的色調(diào),圖像偏斜和縮放進(jìn)行系統(tǒng)改變,所采集的數(shù)據(jù)量同樣能夠被人工擴(kuò)大(數(shù)據(jù)擴(kuò)增),并用于新的樣本中。當(dāng)然也可以通過眾包方式與服務(wù)合作伙伴合作,以實(shí)現(xiàn)經(jīng)濟(jì)可行的數(shù)據(jù)采集。
2.2 卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計
由于具備不同層次的各種功能,最頂尖的卷積神經(jīng)網(wǎng)絡(luò)技術(shù)得以脫穎而出。與老式的基礎(chǔ)多層感知器4不同,現(xiàn)有的網(wǎng)絡(luò)由一系列交替卷積層和匯聚層組成(見圖3)。
圖3:建立一個最頂尖的卷積神經(jīng)網(wǎng)絡(luò)。輸入(一幅圖像)可以通過輸出在一系列不同的層之間進(jìn)行處理。
卷積層通過進(jìn)行一項數(shù)學(xué)“卷積”操作將輸出圖像相鄰區(qū)域的像素值轉(zhuǎn)換為單個值。卷積運(yùn)算類似于特征檢測器,僅需查找圖像中的特定屬性(如識別水平定向邊緣)。匯聚層是在處理鏈中進(jìn)一步被建立起來的,它能夠總結(jié)用于較大圖像區(qū)域的特征檢測器的幅度。這些層形成了一個牢固的金字塔結(jié)構(gòu),產(chǎn)生了越來越多針對更大范圍的圖像區(qū)域進(jìn)行操作的專門的特征檢測器?;氐阶畛醯乃诌x線上來,可以設(shè)想網(wǎng)絡(luò)的第一層對應(yīng)的是具有梨特征的斑點(diǎn)圖案;而相對的上一層則證實(shí)特定蘋果類型的莖、陰影及上半部分的視覺一致性都能夠保證網(wǎng)絡(luò)最終計算出哪種水果類型、品質(zhì)和大小是可見的)。
圖4:經(jīng)過培訓(xùn)的網(wǎng)絡(luò)具有所謂的特征檢測器,使其能夠?qū)D像中的特定結(jié)構(gòu)做出相應(yīng)反應(yīng)。當(dāng)網(wǎng)絡(luò)的第一層更傾向于對具有梨特征的斑點(diǎn)圖案做出反應(yīng)時,更高層則能夠?qū)ηo干和陰影的視覺一致性做出反應(yīng)。
卷積神經(jīng)網(wǎng)絡(luò)的精確結(jié)構(gòu)實(shí)際上是由開發(fā)人員開發(fā)出的網(wǎng)絡(luò)的變形,如AlexNet5、VGG Net6或GoogLeNet7。在這一過程中通常需要進(jìn)行必要的調(diào)整,因?yàn)樘囟ǖ娜蝿?wù)在輸入圖像的分辨率或可用的計算能力方面會有特定的要求。這些網(wǎng)絡(luò)是通過上述開源深度學(xué)習(xí)框架被編程的,這些框架能夠提供包括卷積層在內(nèi)的所有核心元素以作為軟件功能之一。根據(jù)要求,這需要一定程度的專業(yè)知識。一個初步的可行性研究通??梢酝ㄟ^幾項定制內(nèi)容來實(shí)現(xiàn),而一個真正100%的最優(yōu)化解決方案則需要富有經(jīng)驗(yàn)的專家高強(qiáng)度的工作才能實(shí)現(xiàn)。
2.3 執(zhí)行自學(xué)習(xí)算法
一旦建立起卷積神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)和設(shè)計方案,就必須相應(yīng)地執(zhí)行一項所謂的自學(xué)習(xí)算法。以不同的變體形式,它將成為被部署的深度學(xué)習(xí)框架的一部分。這些算法均是基于反向傳播算法這一概念,其核心是一個(隨機(jī))優(yōu)化的過程。這些算法負(fù)責(zé)卷積神經(jīng)網(wǎng)絡(luò)自由參數(shù)(“權(quán)重”)的配置,以便網(wǎng)絡(luò)能夠適用于所提供的數(shù)據(jù)。因此,自學(xué)習(xí)算法通常用于卷積神經(jīng)網(wǎng)絡(luò)的“培訓(xùn)”。
執(zhí)行這種自學(xué)習(xí)算法是應(yīng)用程序解決方案整個開發(fā)過程中最消耗處理器的一個步驟:如果您需要使用數(shù)百萬幅示例圖像,那么您需要一個或多個更好的GPU服務(wù)器(更多詳情請參閱下一節(jié)),通常需要花費(fèi)幾天到幾周時間才能進(jìn)行數(shù)據(jù)的處理。只有一種方法能夠避免這一多余的復(fù)雜操作:即在您的應(yīng)用程序中使用遷移學(xué)習(xí)技巧。
與網(wǎng)絡(luò)的設(shè)計一樣,不同級別的質(zhì)量預(yù)期可能需要相應(yīng)不同級別的專業(yè)知識:每種可用的自學(xué)習(xí)算法也都具有能夠影響其性能的不同參數(shù)(如學(xué)習(xí)或衰減速率,批量大小等)。還有一些如Dropout,Batch和Layer Normalization procedure這樣的小技巧有助于使卷積神經(jīng)網(wǎng)絡(luò)最終能夠發(fā)展得更加強(qiáng)大和堅固。還有一點(diǎn)必須明確的是,沒有任何一種自學(xué)習(xí)算法具有完全的確定性;它們總是包含隨機(jī)組件。這意味著開發(fā)人員通常必須對中期結(jié)果進(jìn)行評估,并對算法的執(zhí)行進(jìn)行手動更改。
2.4 網(wǎng)絡(luò)評估
經(jīng)過自學(xué)習(xí)算法進(jìn)行培訓(xùn)的卷積神經(jīng)網(wǎng)絡(luò)必須進(jìn)行統(tǒng)計評估。為進(jìn)行這一評估,需要將一組已知內(nèi)容的樣本圖像與電腦計算值進(jìn)行對比。這將產(chǎn)生一個出錯率,表示由網(wǎng)絡(luò)正確識別出的圖像內(nèi)容屬性的百分比。如果結(jié)果不符合預(yù)設(shè)質(zhì)量要求--比如說,將5%的Braeburn蘋果識別為Granny Smiths是肯定不能接受的--那么就必須回到最初的三個開發(fā)步驟并對其進(jìn)行改進(jìn)。
原則上來說,需要滿足該評估所需的數(shù)據(jù)是隨時可用的,因?yàn)檫@些數(shù)據(jù)正是為了培訓(xùn)網(wǎng)絡(luò)而采集而來。關(guān)鍵是絕對不要使用在培訓(xùn)過程中已經(jīng)用的圖像來對網(wǎng)絡(luò)進(jìn)行測試。這樣做會自動導(dǎo)致對系統(tǒng)真實(shí)性能的低估,同時真正的錯誤只會在生產(chǎn)過程中才被發(fā)現(xiàn)。在特殊情況下,當(dāng)測試數(shù)據(jù)與培訓(xùn)數(shù)據(jù)完全一致時,網(wǎng)絡(luò)會記住這些圖像,并在評估過程中做出完美的表現(xiàn),但在新的圖像被輸入生產(chǎn)系統(tǒng)中時則會失敗。為避免這一問題的出現(xiàn),非常重要的一點(diǎn)是如何部署諸如交叉驗(yàn)證這樣的過程,從而在培訓(xùn)和評估階段將數(shù)據(jù)系統(tǒng)地分開。
2.5 訓(xùn)練有素的卷積神經(jīng)網(wǎng)絡(luò)部署
一旦最后一步取得了令人滿意的結(jié)果,那么接下來的步驟則是將培訓(xùn)后的網(wǎng)絡(luò)植入生產(chǎn)系統(tǒng)中。最普遍使用的深度學(xué)習(xí)框架提供了一系列豐富的工具,能夠?qū)⒕W(wǎng)絡(luò)不同的必要元素整合輸入軟件,以便它們能夠與系統(tǒng)其它組件相連接,比如與相機(jī)連接或?qū)z測到的圖像內(nèi)容做出的反應(yīng)進(jìn)行控制。
如果在卷積神經(jīng)網(wǎng)絡(luò)對圖像進(jìn)行評估的過程中對運(yùn)行性能有特定要求,則會產(chǎn)生額外的工作量。這通常是因培訓(xùn)網(wǎng)絡(luò)(GPU服務(wù)器)時與生產(chǎn)環(huán)境下的硬件設(shè)置的不同所導(dǎo)致。在某些情況下也有可能會被迫使用特殊的方法(如量化法)來減少已培訓(xùn)過的網(wǎng)絡(luò),以適應(yīng)目標(biāo)系統(tǒng)的需要。然而,通過完善的網(wǎng)絡(luò)設(shè)計能夠避免這種在技術(shù)上具有挑戰(zhàn)性的行為。
3 遷移學(xué)習(xí)
正如此前已經(jīng)提到的,如果單以其原始的模式來看,卷積神經(jīng)網(wǎng)絡(luò)對數(shù)據(jù)有極大的需求,在培訓(xùn)過程中同樣對處理器有著極高需求。好在(對于開發(fā)人員來說)總有一種能夠簡化一切的更好的方法,特別是眾所周知的遷移學(xué)習(xí)法。這也讓已經(jīng)使用大量通用圖像(如ImageNet數(shù)據(jù)庫中的圖像)進(jìn)行培訓(xùn)的網(wǎng)絡(luò)能夠與僅使用少量特定領(lǐng)域的圖像的具體應(yīng)用進(jìn)行適配。開發(fā)人員向一個網(wǎng)絡(luò),如AlexNet,VGG Net或GoogLeNet“展示”應(yīng)用程序特定的培訓(xùn)圖像,然后將結(jié)果值儲存在網(wǎng)絡(luò)最后一層以作為特征向量。這些向量代表的是以高度緊湊的方式展示給網(wǎng)絡(luò)的圖像,并且能夠通過標(biāo)準(zhǔn)的機(jī)器學(xué)習(xí)程序(如邏輯回歸、支持向量機(jī)或“簡單”多層感知器)進(jìn)行分類。通過這種方式,卷積神經(jīng)網(wǎng)絡(luò)能夠取代傳統(tǒng)的圖像處理工具,如Hough transformation、SIFT Feature,Harris Corner或Canny Edge detectors。近年來,科學(xué)研究的對比分析和許多實(shí)際應(yīng)用都清楚地表明,卷積神經(jīng)網(wǎng)絡(luò)中學(xué)習(xí)的特征向量比傳統(tǒng)的手工特征檢測器更加實(shí)用和具有操作性。
4 卷積神經(jīng)網(wǎng)絡(luò)處理器
如上所述,在卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展過程中,培訓(xùn)與應(yīng)用步驟之間的區(qū)別是顯而易見的。這兩個步驟對于硬件的需求是截然不同的。
培訓(xùn) - GPU
推理 - FPGA
圖5:圖形處理器單元(GPU)是卷積神經(jīng)網(wǎng)絡(luò)培訓(xùn)過程中的首選硬件。對于嵌入式視覺系統(tǒng)中的集成和應(yīng)用,現(xiàn)場可編程門陣列(FPGA)通常被用作培訓(xùn)后的網(wǎng)絡(luò)運(yùn)行所需的處理單元。
在可能的情況下,高性能GPU處理單元應(yīng)該被用于卷積神經(jīng)網(wǎng)絡(luò)的培訓(xùn)過程中。像NVIDIA這樣的制造商能夠提供專門為此任務(wù)而定制的DGX-1這樣的AI超級計算機(jī);而使用更加經(jīng)濟(jì)實(shí)惠的NVIDIA TitanX卡同樣也是可行的。NVIDIA公司報告指出,它們能夠以比普通CPU快80倍的速度對卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行培訓(xùn)。
一旦網(wǎng)絡(luò)接受了培訓(xùn),就將被傳輸至具有低硬件需求和處理單元的嵌入式視覺系統(tǒng)。對于處理單元來說,則推薦使用現(xiàn)場可編程門陣列(FPGA),因?yàn)樗鼈兡軌虿⑿懈咚偬幚韴D像數(shù)據(jù)。
因此,這種嵌入式視覺系統(tǒng)的關(guān)鍵部件是一臺能夠記錄要分類的圖像數(shù)據(jù)的相機(jī);一根傳輸該圖像數(shù)據(jù)的線材;以及用于對圖像數(shù)據(jù)進(jìn)行分類的卷積神經(jīng)網(wǎng)絡(luò)處理單元。
圖6:適用于卷積神經(jīng)網(wǎng)絡(luò)實(shí)際應(yīng)用的嵌入式視覺系統(tǒng)。嵌入式相機(jī)(Baslerdart BCON)通過柔性帶狀線材與具有FPGA(XilinxZynq)的處理單元相連接。圖像數(shù)據(jù)的分類在FPGA上運(yùn)行,因此可以進(jìn)行實(shí)時計算。
配置了FPGA的嵌入式視覺系統(tǒng)具備一系列能夠完美適用于卷積神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn):
FPGA能夠執(zhí)行卷積操作和網(wǎng)絡(luò)所需的其它數(shù)學(xué)運(yùn)算,以便對圖像進(jìn)行并行和高速分類任務(wù)。此設(shè)置提供實(shí)時圖像分析和分類功能。
相比GPU,F(xiàn)PGA所需功耗更小,因此更適合低功耗的嵌入式系統(tǒng)。微軟研究院最近發(fā)布的一份報告8顯示,F(xiàn)PGA能夠比GPU節(jié)省10倍功耗。
FPGA的大型片上存儲和帶寬使卷積神經(jīng)網(wǎng)絡(luò)能夠?qū)Ω叻直媛实膱D像進(jìn)行實(shí)時分類。
能夠與FPGA直接連接的相機(jī)(如Basler's dart BCON相機(jī))能夠?qū)?shù)據(jù)直接傳送到FPGA。這是處理器密集型應(yīng)用程序(如卷積神經(jīng)網(wǎng)絡(luò))的一個主要優(yōu)勢,因?yàn)橥ㄟ^USB傳輸?shù)臄?shù)據(jù)在到達(dá)FPGA之前必須通過不同的硬件組件(比如主機(jī)控制器)運(yùn)行。實(shí)現(xiàn)相機(jī)與FPGA的直接連接能夠保證更加高效的工作性能。
5 簡要概述
1. 當(dāng)負(fù)責(zé)解決傳統(tǒng)分類問題的開發(fā)人員還在焦頭爛額于手動制定的“屬性”或標(biāo)準(zhǔn)時,卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)能夠自行學(xué)習(xí)這些差異化標(biāo)準(zhǔn)。
2. 網(wǎng)絡(luò)通過使用一組已知內(nèi)容的圖像自動學(xué)習(xí)差異化標(biāo)準(zhǔn)。在所需圖像的數(shù)量以及處理能力方面,這是一個高度資源密集型的學(xué)習(xí)過程。
3. 然而,遷移學(xué)習(xí)的原理使得少量圖片和處理能力也可能實(shí)現(xiàn)生產(chǎn)就緒的解決方案。
4. 卷積神經(jīng)網(wǎng)絡(luò)非常適用于具有相機(jī)與FPGA直接連接的嵌入式視覺系統(tǒng)(如Basler BCON相機(jī))。
5. 根據(jù)2016年嵌入式視覺聯(lián)盟進(jìn)行的嵌入式視覺開發(fā)者調(diào)查9,77%的受訪者表示目前正在或計劃將要利用神經(jīng)網(wǎng)絡(luò)來處理機(jī)器視覺應(yīng)用程序中的分類工作。
作者簡介:
Peter Behringer
Basler公司產(chǎn)品市場經(jīng)理
Peter Behringer自2016年以來擔(dān)任產(chǎn)品市場經(jīng)理,負(fù)責(zé)Basler嵌入式相機(jī)在醫(yī)療和生命科學(xué)領(lǐng)域的市場。
在加入Basler之前,他獲得了呂貝克大學(xué)醫(yī)學(xué)工程的理學(xué)碩士學(xué)位。大學(xué)期間,他曾在Charité(柏林大學(xué)附屬夏里特醫(yī)院)以及哈佛醫(yī)學(xué)院外科手術(shù)輔助實(shí)驗(yàn)室等知名機(jī)構(gòu)實(shí)習(xí)。
Peter Behringer發(fā)表了大量主要針對醫(yī)學(xué)圖像處理的科學(xué)研究成果。
Dr. Florian Hoppe
Florian Hoppe是Twenty Billion Neurons GmbH(TwentyBN)的聯(lián)合創(chuàng)始人兼董事總經(jīng)理,其職責(zé)范圍包括業(yè)務(wù)發(fā)展部門等。Hoppe先生擁有計算機(jī)科學(xué)博士學(xué)位,同時是一名機(jī)器學(xué)習(xí)過程領(lǐng)域的杰出專家。在創(chuàng)立TwentyBN公司之前,他曾擔(dān)任IT部門顧問和經(jīng)理,并一直致力于創(chuàng)新軟件系統(tǒng)方面的研究。
評論