識(shí)別面部表情和情緒是人類社交初期階段的一項(xiàng)基本且非常重要的技能。人類可以觀察一個(gè)人的面部,并且快速識(shí)別常見的情緒:怒、喜、驚、厭、悲、恐。將這一技能傳達(dá)給機(jī)器是一項(xiàng)復(fù)雜的任務(wù)。研究人員通過幾十年的工程設(shè)計(jì),試圖編寫出能夠準(zhǔn)確識(shí)別一個(gè)特征的計(jì)算機(jī)程序,但不得不反復(fù)重新開始,以識(shí)別出只有細(xì)微差別的特征。 如果不對(duì)機(jī)器進(jìn)行編程,而是教會(huì)機(jī)器精確識(shí)別情緒,這樣會(huì)如何呢?
深度學(xué)習(xí)技能對(duì)于降低計(jì)算機(jī)視覺識(shí)別和分類的錯(cuò)誤率展現(xiàn)出了巨大的優(yōu)勢(shì)。在嵌入式系統(tǒng)中實(shí)施深度神經(jīng)網(wǎng)絡(luò)(見圖1)有助于機(jī)器通過視覺解析面部表情,并達(dá)到類似人類的準(zhǔn)確度。
圖1. 深度神經(jīng)網(wǎng)絡(luò)的簡(jiǎn)單例子
神經(jīng)網(wǎng)絡(luò)可通過訓(xùn)練而識(shí)別出模式,而且如果它擁有輸入輸出層以及至少一個(gè)隱含的中間層,則被認(rèn)為具有“深度”識(shí)別能力。每個(gè)節(jié)點(diǎn)從上一層中的多個(gè)節(jié)點(diǎn)的加權(quán)輸入值而計(jì)算出來(lái)。這些加權(quán)值可經(jīng)過調(diào)整而執(zhí)行特別的圖像識(shí)別任務(wù)。這稱為神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程。
例如,為了訓(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ì)視覺的深度神經(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ì),可在嵌入式視覺處理器上實(shí)施,例如帶有可編程CNN引擎的Synopsys DesignWare? EV6x嵌入式視覺處理器。嵌入式視覺處理器是平衡性能和小面積及更低功耗關(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映射工具中,而嵌入式視覺處理器的CNN引擎可以經(jīng)過配置而隨時(shí)用于執(zhí)行面部分析。
從攝像頭和圖像傳感器捕捉的圖像或視頻幀被送入嵌入式視覺處理器。在照明條件或者面部姿態(tài)有顯著變化的識(shí)別場(chǎng)景中,CNN比較難以處理,因此,圖像的預(yù)處理可以使面部更加統(tǒng)一。先進(jìn)的嵌入式視覺處理器和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嵌入式視覺處理器可采用28nm工藝技術(shù)以800MHz的速率運(yùn)行,同時(shí)提供高達(dá)880 MAC的性能。
一旦CNN經(jīng)過配置和訓(xùn)練而具備檢測(cè)情感的能力,它就可以更輕松地進(jìn)行重新配置,進(jìn)而處理面部分析任務(wù),例如確定年齡范圍、識(shí)別性別或種族,并且識(shí)別發(fā)型或是否戴眼鏡。
總結(jié)
嵌入式視覺處理器上運(yùn)行的CNN開辟了視覺處理的新領(lǐng)域。很快,我們周圍能夠解析情感的電子設(shè)備將很常見,例如檢測(cè)開心情緒的玩具,以及能夠通過識(shí)別面部表情而確定學(xué)生理解情況的電子教師。深度學(xué)習(xí)、嵌入式視覺處理和高性能CNN的結(jié)合將很快將這一愿景變?yōu)楝F(xiàn)實(shí)。
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4733瀏覽量
100420 -
計(jì)算機(jī)視覺
+關(guān)注
關(guān)注
8文章
1694瀏覽量
45901 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5463瀏覽量
120891 -
cnn
+關(guān)注
關(guān)注
3文章
350瀏覽量
22132
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論