識(shí)別面部表情和情緒是人類社交初期階段的一項(xiàng)基本且非常重要的技能。人類可以觀察一個(gè)人的面部,并且快速識(shí)別常見的情緒:怒、喜、驚、厭、悲、恐。將這一技能傳達(dá)給機(jī)器是一項(xiàng)復(fù)雜的任務(wù)。研究人員通過(guò)幾十年的工程設(shè)計(jì),試圖編寫出能夠準(zhǔn)確識(shí)別一個(gè)特征的計(jì)算機(jī)程序,但不得不反復(fù)重新開始,以識(shí)別出只有細(xì)微差別的特征。 如果不對(duì)機(jī)器進(jìn)行編程,而是教會(huì)機(jī)器精確識(shí)別情緒,這樣會(huì)如何呢?
深度學(xué)習(xí)技能對(duì)于降低計(jì)算機(jī)視覺(jué)識(shí)別和分類的錯(cuò)誤率展現(xiàn)出了巨大的優(yōu)勢(shì)。在嵌入式系統(tǒng)中實(shí)施深度神經(jīng)網(wǎng)絡(luò)(見圖1)有助于機(jī)器通過(guò)視覺(jué)解析面部表情,并達(dá)到類似人類的準(zhǔn)確度。
圖1. 深度神經(jīng)網(wǎng)絡(luò)的簡(jiǎn)單例子
神經(jīng)網(wǎng)絡(luò)可通過(guò)訓(xùn)練而識(shí)別出模式,而且如果它擁有輸入輸出層以及至少一個(gè)隱含的中間層,則被認(rèn)為具有“深度”識(shí)別能力。每個(gè)節(jié)點(diǎn)從上一層中的多個(gè)節(jié)點(diǎn)的加權(quán)輸入值而計(jì)算出來(lái)。這些加權(quán)值可經(jīng)過(guò)調(diào)整而執(zhí)行特別的圖像識(shí)別任務(wù)。這稱為神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程。
例如,為了訓(xùn)練深入神經(jīng)網(wǎng)絡(luò)識(shí)別出面帶開心的照片,我們向其展示開心的圖片作為輸入層上的原始數(shù)據(jù)(圖像像素)。由于知道結(jié)果是開心,網(wǎng)絡(luò)會(huì)識(shí)別圖片中的模式,并調(diào)整節(jié)點(diǎn)權(quán)重,最大限度減少開心類別圖片的錯(cuò)誤。每個(gè)顯示出開心表情并帶有注釋的新圖片都有助于優(yōu)化圖片權(quán)重。憑借充足輸入信息的訓(xùn)練,網(wǎng)絡(luò)可以攝入不帶標(biāo)記的圖片,并且準(zhǔn)確地分析和識(shí)別與開心表情相對(duì)應(yīng)的模式。
深度神經(jīng)網(wǎng)絡(luò)需要大量的計(jì)算能力,用于計(jì)算所有這些互連節(jié)點(diǎn)的權(quán)重值。此外,數(shù)據(jù)內(nèi)存和高效的數(shù)據(jù)移動(dòng)也很重要。卷積神經(jīng)網(wǎng)絡(luò) (CNN)(見圖2所示)是當(dāng)前針對(duì)視覺(jué)的深度神經(jīng)網(wǎng)絡(luò)中實(shí)現(xiàn)效率最高的。CNN之所以效率更高,原因是這些網(wǎng)絡(luò)能夠重復(fù)使用圖片間的大量權(quán)重?cái)?shù)據(jù)。它們利用數(shù)據(jù)的二維輸入結(jié)構(gòu)減少重復(fù)計(jì)算。
圖2. 用于面部分析的卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)(或示意圖)舉例
實(shí)施用于面部分析的CNN需要兩個(gè)獨(dú)特且互相獨(dú)立的階段。第一個(gè)是訓(xùn)練階段。第二個(gè)是部署階段。
訓(xùn)練階段(見圖3所示)需要一個(gè)深度學(xué)習(xí)框架 – 例如Caffe或TensorFlow – 它采用CPU和GPU進(jìn)行訓(xùn)練計(jì)算,并提供框架使用知識(shí)。這些框架通常提供可用作起點(diǎn)的CNN圖形范例。深度學(xué)習(xí)框架可對(duì)圖形進(jìn)行微調(diào)。要實(shí)現(xiàn)盡可能最佳的精確度,可以增加、移除或修改層次。
圖3. CNN訓(xùn)練階段
在訓(xùn)練階段的一個(gè)最大挑戰(zhàn)是尋找標(biāo)記正確的數(shù)據(jù)集,以對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。深度網(wǎng)絡(luò)的精確度非常依賴訓(xùn)練數(shù)據(jù)的分布和質(zhì)量。面部分析需考慮的多個(gè)選項(xiàng)是來(lái)自面部表情識(shí)別挑戰(zhàn)賽 (FREC) 的情感標(biāo)注數(shù)據(jù)集和來(lái)自VicarVision (VV) 的多標(biāo)注私有數(shù)據(jù)集。
部署階段(見圖4所示)針對(duì)實(shí)時(shí)嵌入式設(shè)計(jì),可在嵌入式視覺(jué)處理器上實(shí)施,例如帶有可編程CNN引擎的Synopsys DesignWare? EV6x嵌入式視覺(jué)處理器。嵌入式視覺(jué)處理器是平衡性能和小面積及更低功耗關(guān)系的最佳選擇。
圖4. CNN部署階段
標(biāo)量單元和向量單元采用C和OpenCL C(用于實(shí)現(xiàn)向量化)進(jìn)行編程,而CNN引擎不必手動(dòng)編程。來(lái)自訓(xùn)練階段的最終圖形和權(quán)重(系數(shù))可以傳送到CNN映射工具中,而嵌入式視覺(jué)處理器的CNN引擎可以經(jīng)過(guò)配置而隨時(shí)用于執(zhí)行面部分析。
從攝像頭和圖像傳感器捕捉的圖像或視頻幀被送入嵌入式視覺(jué)處理器。在照明條件或者面部姿態(tài)有顯著變化的識(shí)別場(chǎng)景中,CNN比較難以處理,因此,圖像的預(yù)處理可以使面部更加統(tǒng)一。先進(jìn)的嵌入式視覺(jué)處理器和CNN和異構(gòu)架構(gòu)允許CNN引擎對(duì)圖像進(jìn)行分類,向量單元會(huì)對(duì)下一個(gè)圖像進(jìn)行預(yù)處理 – 光線校正、圖像縮放、平面旋轉(zhuǎn)等,而標(biāo)量單元?jiǎng)t處理決策(即如何處理CNN檢測(cè)結(jié)果)。
圖像分辨率、幀率、圖層數(shù)和預(yù)期精確度都要考慮所需的并行乘累加數(shù)量和性能要求。Synopsys帶有CNN的EV6x嵌入式視覺(jué)處理器可采用28nm工藝技術(shù)以800MHz的速率運(yùn)行,同時(shí)提供高達(dá)880 MAC的性能。
一旦CNN經(jīng)過(guò)配置和訓(xùn)練而具備檢測(cè)情感的能力,它就可以更輕松地進(jìn)行重新配置,進(jìn)而處理面部分析任務(wù),例如確定年齡范圍、識(shí)別性別或種族,并且識(shí)別發(fā)型或是否戴眼鏡。
總結(jié)
嵌入式視覺(jué)處理器上運(yùn)行的CNN開辟了視覺(jué)處理的新領(lǐng)域。很快,我們周圍能夠解析情感的電子設(shè)備將很常見,例如檢測(cè)開心情緒的玩具,以及能夠通過(guò)識(shí)別面部表情而確定學(xué)生理解情況的電子教師。深度學(xué)習(xí)、嵌入式視覺(jué)處理和高性能CNN的結(jié)合將很快將這一愿景變?yōu)楝F(xiàn)實(shí)。
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4765瀏覽量
100566 -
計(jì)算機(jī)視覺(jué)
+關(guān)注
關(guān)注
8文章
1696瀏覽量
45930 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5493瀏覽量
120999 -
cnn
+關(guān)注
關(guān)注
3文章
351瀏覽量
22178
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論