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

深度學(xué)習(xí)和傳統(tǒng)計算機視覺技術(shù)在新興領(lǐng)域的比較
面部表情識別的技術(shù)實現(xiàn)
面部表情識別:心理學(xué)與計算機科學(xué)的交匯點
計算機視覺中的九種深度學(xué)習(xí)技術(shù)

評論