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