楊 毅,顏 歷,王生進,喬 飛
(1.清華大學 電子工程系,北京 100084;2. 英特爾(中國)有限公司,北京 100013)
隨著電子信息技術日新月異,電子信息教學領域也面臨著全新的挑戰(zhàn),需要培養(yǎng)具有全方位視野和超強能力的新一代工程師及領導者。
媒體與認知是清華大學電子信息學科在課程體系改革過程中提出的一門重要的必修課程。結(jié)合清華大學電子工程系在該領域研究的基礎、優(yōu)勢和創(chuàng)新性成果,我們有針對性地將已有科研成果轉(zhuǎn)化為教學內(nèi)容,建設了一套全新的涵蓋人機感知交互、媒體信息處理、虛擬現(xiàn)實及信號處理領域的前沿教學平臺,并采用集體創(chuàng)新培養(yǎng)和個人研究探索相結(jié)合的方式,最終達到理工與人文、技術與藝術、感知與思考的高度融合,使學生成為具有國際一流水平的、兼具科研創(chuàng)新能力和未來探索精神的領軍型人才。
通過參考國內(nèi)外諸多科研院所及名企與智能感知技術相關的項目內(nèi)容,結(jié)合本系在該領域研究的基礎優(yōu)勢和創(chuàng)新性成果,本課程建設了多種基于人工智能技術的項目。經(jīng)由對該項目的學習和研究研發(fā),學生能夠獲得智能感知技術的基礎理論知識和開發(fā)能力,力爭成為具有國際領先水平的智能感知技術專業(yè)人才[1-2]。
英特爾的RealSense設備[3]是一種能通過采集視覺、深度、音頻等多種媒體信息獲得手勢、語音等表征意圖的智能感知設備,可以廣泛應用于自然互動、沉浸式協(xié)作與創(chuàng)作等創(chuàng)新應用,能夠幫助開發(fā)人員在游戲、娛樂和內(nèi)容創(chuàng)建交互方面實現(xiàn)新的突破。
基于Realsense的微信表情輸入項目通過Realsense體感攝像頭采集輸入視頻,調(diào)用SDK中的C++接口,實現(xiàn)在Windows電腦版微信中根據(jù)人面部表情自動識別并輸入如圖1所示的6種表情的功能。
圖1 需要識別的6種表情
系統(tǒng)框架如圖2所示。
首先,通過Realsense攝像頭采集輸入視頻;然后調(diào)用Realsense SDK識別出14種低層次的面部表情特征,如微笑、張嘴、閉眼、伸舌頭、揚眉毛、嘟嘴等。
圖2 基于Realsense的表情識別系統(tǒng)流程
其次,基于表情初級特征建立與微信表情的映射關系并引入開關和鎖變量,避免表情的重復識別和誤識別。
最后,通過控制鍵盤的方式與微信連接,實現(xiàn)在Windows電腦版微信中根據(jù)人面部表情自動識別并輸入表情的功能。
本項目主要使用Realsense算法模塊中的面部跟蹤和識別模塊(face tracking and recognition)。該模塊提供人臉檢測、78個面部關鍵點的檢測和定位、14種初級表情屬性的識別以及人臉跟蹤、人臉識別等功能,可以同時檢測和跟蹤4張人臉。項目主要使用SDK的表情識別部分,該部分可以對14種表情屬性給出0~100的置信度打分。14種初級表情屬性定義見表1。根據(jù)實測的14種屬性的靈敏度和誤報情況,確立合適的閾值和表情映射關系。
在表情識別中,為了避免對同一個表情的重復識別,或在不需要識別的時候發(fā)生誤識別,產(chǎn)生錯誤判斷,可進行如下兩種處理:
(1)加入開關功能。按下鍵盤上的“向右”方向鍵,開啟表情識別功能;再次按下該鍵,停止表情識別。
(2)引入鎖變量。引入整型變量expression_LOCK記錄上一幀識別的表情編號(0:未識別到有效表情;1~6:對應6種微信表情);只有當前幀識別到的表情與expression_LOCK不同時,才產(chǎn)生有效輸出,相同時不產(chǎn)生重復輸出。
表1 初級表情屬性定義
基于這兩種方法,重復識別的問題可以避免;當開關持續(xù)打開時,表情變化過程中的誤識別無法完全避免,但也有效減少。
在調(diào)用微信接口時,主要通過C++頭文件
人臉識別[4]是當前最活躍的人工智能領域應用之一。傳統(tǒng)的表情識別方法主要有活動外觀模型(active appearance model,AAM)、Gabor小波變換[5-6]等。這些方法的共同點就是使用一組人工設計的特征,在一定程度上損失了原有的特征信息,或者假設屬性之間相互獨立,往往與實際應用環(huán)境下不相符合。深度學習算法舍棄了依靠人工精心設計的顯示特征提取方法,通過逐層構建一個多層的深度神經(jīng)網(wǎng)絡,讓機器自主地從樣本數(shù)據(jù)中學習到表征這些樣本的更加本質(zhì)的特征,從而使得學習到的特征更具有推廣性和表征能力。
圖3 人臉表情實現(xiàn)微信表情輸入的實例
近年來,卷積神經(jīng)網(wǎng)絡[7](convolutional neural network,CNN)利用局部感受野的原理,在ImageNet大規(guī)模視覺識別挑戰(zhàn)賽(ImageNet large scale visual recognition challenge, ILSVRC)中大大提升了人臉表情識別準確率,連續(xù)刷新了圖像分類和目標定位任務的識別率記錄。
本項目構建并訓練了一個含有3層卷積結(jié)構的卷積神經(jīng)網(wǎng)絡,通過取消每個卷積層中的偏置項增快訓練速度。軟硬件環(huán)境為modern Linux OS,256GB memory,32 cores CPU,1 NVIDIA TITAN X (Pascal),Caffe & Keras Deep Learning Framework。
首先使用開源的caffe框架[8]實現(xiàn)的 MTCNN完成對原始圖片的alignment任務。該網(wǎng)絡是一個三階級聯(lián)的網(wǎng)絡,流程圖如圖4所示,隨后使用Data Augmentation方法擴充訓練數(shù)據(jù)量,從而提升模型精度;對每張圖片隨機采取平移、縮放、旋轉(zhuǎn)、剪切等操作,每一張圖片都隨機生成3張新的圖片。
圖4 原始圖片alignment方法
本項目的CNN網(wǎng)絡總共含有3個卷積層,每個卷積層分別有64、128、256個5*5的filters,所有的激活函數(shù)均采用ReLU。每個卷積層都放棄偏置項,這能夠加快網(wǎng)絡的訓練。每個卷積層后面都有一個max pooling層,pool核的大小為2*2;之后又連接了一層含有300個神經(jīng)元的全連接層,最后有一層長度為8的softmax層用于分類,輸入格式為96*96*1的灰度圖像矩陣。
本項目使用的損失函數(shù)是cross-entropy loss,所用的優(yōu)化器是隨機梯度下降(SGD),初始學習率設為0.5,并采用annealing方法在訓練過程中調(diào)整學習率,這會使loss更穩(wěn)定地收斂。weight decay參數(shù)為1e-5, momentum參數(shù)為0.9。在全連接層前面還使用了概率為0.5的dropout,可以防止過擬合。訓練過程采用批訓練,batch-size為64,一共訓練 20個 epoch。
在訓練過程中,隨機選取10%的圖片作為驗證集。隨著epoch的增加, loss收斂到0.3左右,訓練和交叉驗證準確率變化如圖5所示,模型最終在驗證集上的準確率為81.4%。
分析發(fā)現(xiàn)此模型對happy和neutral的識別能力最好,對于sad、surprise和angry識別效果最差;模型傾向于將angry當成disgust,把sadness和surprise當成fear,把fear當成sadness。最終此模型的測試結(jié)果為公開訓練集的準確率88.47%,自采訓練集的準確率65.83%。
圖5 訓練和交叉驗證準確率
本文主要介紹了媒體與認知課程的自主研發(fā)項目“基于Realsense的微信表情輸入項目”和“基于深度學習的人臉表情識別項目”,實現(xiàn)了用人臉表情輸入微信表情及用卷積神經(jīng)網(wǎng)絡完成人臉表情識別兩個完整的開發(fā)平臺。下一步,我們將在這些項目平臺中引入其他更先進的算法和數(shù)據(jù),進行更加深入的研究探索。
[1]清華大學電子工程系. 院系簡介[EB/OL]. [2018-03-01]. http://www.ee.tsinghua.edu.cn/publish/ee/3684/index.html.
[2]楊毅, 徐淑正, 喬飛, 等. 媒體認知實驗教學改革研究與探索[J]. 計算機教育, 2015 (9): 107-109.
[3]Intel Corporation. Intel? RealSense? Technology [EB/OL]. [2018-03-01]. http://www.intel.com/content/www/us/en/architectureand-technology/realsense-overview.html.
[4]Szegedy C, Liu W, Jia Y, et al. Going deeper with convolutions[C]//2015 IEEE Conference on Computer Vision and Pattern Recognition(CVPR). Washington D C: IEEE, 2015: 1-9.
[5]COOTES T F, EDWARDS G J, TAYLOR C J. Active appearance models[J]. IEEE Transaction Pattern Analysis and Machine Intelligence, 2001, 23(6): 681-685.
[6]GU W, XIANG C, Venkatesh Y V, et al. Facial expression recognition using radial encoding of local Gabor features and classifier synthesis[J]. Pattern Recognition, 2012, 45(1): 80-91.
[7]Deng J. A large-scale hierarchical image database[C]// 2009 IEEE Computer Society Conference on Computer Vision and Pattern Recognition(CVPR).Washington D C: IEEE, 2009: 1-8.
[8]Jia Y Q. Caffe: Deep learning framework by BAIR[EB/OL]. [2018-03-01]. http://caffe.berkeleyvision.org/.