葉繼陽 屠益軍
關(guān)鍵詞:自閉癥;OpenCV;情緒
中圖法分類號:TP312 文獻標識碼:A
1概述
情緒反映個體的認知心理狀態(tài),對行為表現(xiàn)具有調(diào)節(jié)效用,是診斷性評價和形成性評價的關(guān)鍵指標之一。自閉癥兒童的面部表情與正常兒童存在一定差異,目前學術(shù)界和教育界均沒有發(fā)布針對自閉癥兒童情感計算的面部表情圖像數(shù)據(jù)集,尤其缺少基于真實教育場景的自閉癥兒童面部表情圖像數(shù)據(jù)集。因此,開展面向自閉癥兒童的情緒智能感知已成為一個重要研究方向。本次研究開發(fā)了一套情緒識別數(shù)據(jù)分析系統(tǒng),該系統(tǒng)主要有三大功能:按指定幀數(shù)間隔截取視頻幀,并將圖像保存到指定位置;通過機器學習對圖片進行分類,識別截取的圖像中是否包含人臉,對包含人臉的圖像進行標注并保存,對不包含人臉的圖像則進行刪除;對保存位置的所有文件夾下的圖像進行情緒識別分析,主要識別憤怒、厭惡、恐懼、高興、平靜、傷心、驚喜七類最重要的情緒,最后以Excel形式輸出分析數(shù)據(jù)。
目前,在一些普通的應(yīng)用中,主要依靠訓(xùn)練好的深度學習模型進行人臉識別,國內(nèi)如曠視科技、華為、阿里巴巴和騰訊等云平臺都提供此功能。用戶直接調(diào)用平臺開放的公共接口就可以進行分類和預(yù)測。使用這種方式,不需要購置GPU等硬件設(shè)備,不需要花費大量的時間進行樣本數(shù)據(jù)訓(xùn)練,技術(shù)和開發(fā)難度小,成本較低。Face++是世界最大的人臉識別技術(shù)平臺,提供人臉檢測與情緒分析等功能,其情緒識別功能較為完善,所以本文選用Face++分析自閉癥兒童的臉部情緒。
2系統(tǒng)總體架構(gòu)
獲取自閉癥兒童臉部表情信息的渠道主要是:兒童在學習、表演、娛樂、生活時的視頻。首先借助OpenCV處理視頻流,然后通過Face++AI對臉部表情數(shù)據(jù)進行分析,可以挖掘其中的情緒信息。情緒識別系統(tǒng)采用Python進行開發(fā),計算機視覺庫則選用OpenCV。
3數(shù)據(jù)處理流程
情緒監(jiān)測系統(tǒng)中的數(shù)據(jù)處理流程如圖1所示。
4相關(guān)技術(shù)
4.1視頻采集
絕大多數(shù)的自閉癥兒童或多或少都有語言交流的障礙,他們與他人交流的意愿不強,與人交際存在困難,往往在與人交往時有逃避的心理。相較于參加群體活動,他們更喜歡獨自一人相處,因此社交障礙是自閉癥患兒面臨的最大問題。但是,這并不意味著他們沒有感情,因此,自閉癥兒童的臉部視頻采集需要在特殊的環(huán)境和場景(比如專門的機構(gòu)或者學校)下進行。
4.2抽取視頻幀
視頻的讀取操作通過OpenCV中的VideoCapture類來實現(xiàn);視頻的寫入操作是通過OpenCV中的VideoWriter類來實現(xiàn)。其中,VideoCapture類支持從視頻文件和攝像機中讀取視頻信息。
首先,要想獲取視頻信息需創(chuàng)建一個VideoCapture對象,VideoCapture對象的創(chuàng)建方式有以下三種:從文件中讀取視頻,對象創(chuàng)建以后,OpenCV將會打開文件并做好讀取準備,如果文件打開成功,則可以開始讀取視頻的幀;從攝像機中讀取視頻,在這種情況下,系統(tǒng)會給出一個標識符,用于表示想要訪問的攝像機及其與操作系統(tǒng)的握手方式;先創(chuàng)建一個捕獲對象,然后通過成員函數(shù)open()來設(shè)定打開的信息。
每幀都是一幅基于BRG格式的圖像,可以通過VideoCapture類中的read()函數(shù)來獲取新的幀,用grab()或retrive()方法讀取一組或者一個多頭攝像頭。由于情緒變化有一個過程,對視頻每秒抽取1幀圖像進行分析,足以滿足對自閉癥兒童臉部的情緒監(jiān)測要求。
4.3圖像預(yù)處理
對抽取的圖像中不包含人臉信息的圖像進行剔除,主要借助Dlib庫來實現(xiàn)。Dlib是一個機器學習的開源庫,其包含機器學習諸多算法,使用起來很便捷,直接包含頭文件即可使用,并且不依賴于其他庫。用Dlib庫來實現(xiàn)人臉識別,它已經(jīng)替我們做好了絕大部分工作,對其進行調(diào)用即可。Dlib庫含有人臉檢測器,具有訓(xùn)練好的人臉關(guān)鍵點檢測器。使用Dlib庫所帶的cvtColor()方法可以將彩色圖像轉(zhuǎn)換為灰度圖像,這個過程雖然丟失了顏色信息,但保留了紋理及輪廓等特征,可以有效減少存儲空間。處理效果如圖2所示。
4.4情緒檢測
針對需要檢測人臉的圖像,首先將這些圖像在本地進行Base64編碼,圖片數(shù)據(jù)被編碼成一系列字符串,然后將編碼后的圖像上傳到Face++平臺提供的通用接口即可。
目前,F(xiàn)ace++AI人臉檢測支持的圖片格式有PNG、JPG、JPEG,平臺支持對檢測到的人臉進行直接分析,以獲得人臉的關(guān)鍵點和各類屬性信息。此外,該平臺對上傳的圖片有一些基本的格式要求,比如圖片像素尺寸最小是48?48、圖片像素尺寸最大是4096?4096、圖片文件小于2MB等。
通過調(diào)用Face++AI的人臉檢測API,并在調(diào)用人臉檢測接口時帶上emotion參數(shù),即可對這張人臉圖片進行情緒識別。Face++平臺可識別的情緒主要包含7種,分別為憤怒、厭惡、恐懼、高興、傷心、驚訝和無情緒。
4.5情緒分析與存儲
Xlwt是一個支持使用Python語言對Excel表格操作的庫,不過目前只支持xls格式。最后,可通過調(diào)用循環(huán)語句將Face++平臺返回的json數(shù)據(jù)寫入Excel單元格,然后通過Excel的統(tǒng)計和分析功能形成圖標分析統(tǒng)計數(shù),以文件的形式保存在電腦上。
5結(jié)束語
在開發(fā)自閉癥兒童情緒識別系統(tǒng)的過程中,首先對采集的視頻資料進行抽幀,并對抽幀后的圖像進行分析,再對包含人臉的圖像進行base64格式編碼,最后調(diào)用Face++平臺的人臉識別接口,分析自閉癥兒童的臉部情緒,并利用Xlwt操作Excel電子表格文件。通過調(diào)用循環(huán)語句將Face++平臺返回的json數(shù)據(jù)寫入Excel單元格,然后通過Excel的統(tǒng)計和分析功形成圖標分析統(tǒng)計數(shù),以文件的形式保存在電腦上,再將檢測結(jié)果反饋給研究人員。今后,可結(jié)合更多的傳感設(shè)備來獲取對象的數(shù)據(jù),讓自閉癥兒童的情緒檢查更加準確。
作者簡介:
葉繼陽(1982—),本科,講師,主要研究方向:虛擬現(xiàn)實技術(shù)、人工智能技術(shù)。
屠益軍(1981—),本科,工程師,主要研究方向:計算機輔助技術(shù)在自閉癥治療中的應(yīng)用。