2012年11月7日 星期三

臉部情緒辨識的原理與平台操作


1972年,Paul Ekman提出了基本情感,隨後Ekman1978年提出了臉部編碼系統。他根據人臉解剖學特點,將人臉的43塊肌肉劃分成若干個獨立又相互聯繫的運動單元(AU)。分析這些AU的特徵以及相關的臉部區域,就可以得出臉部表情的標準。舉例來說,像FACS(Facial Action Coding System)46個編碼,我們只要知道照片擁有哪幾個編碼就可以判斷表情和情緒。例如:難過的時候眉心上抬,額眉較低,生氣的時候是口唇緊閉,厭惡是鼻縱起和上唇上升,驚訝則是額眉心上抬,額眉梢上抬和上眼瞼上抬。臉部表情追蹤使用了兩種不同的影像收集七種基本情緒(開心、難過、生氣、厭惡、恐懼、普通和驚訝),第一種是序列影像,主要是以時間上的序列影像變化為資料庫來源,另一則是單張照片。可是,單憑一張照片在真實環境下很難辨別哪張照片是基本表情(neural expression)

許富淞講師以Bad of Words(BoW)即是一種判斷哪封信是廣告信件的方式為發想,以一個公開數據集(卡內基大學Cohn-Kanade(CK+) dataset)提供的照片資料庫為判斷的基準,設計了一套臉部表情辨識系統。 要建立一套臉部表情辨識系統,設計師必需要先有一個Code bookCode book的建立是利用AAM(Active Appearance Model, 主動式外觀模型)來取得其形狀和特徵(Features),每張照片都有68個點(每個點都有其座標,但此效果並不理想,因此許富淞講師將它改成點到點之間的距離。) 接著計算各個Code出現的次數,然後轉換成圖表化資料(單位不同時,需要正規化,在臉部辨識則是為了取得其機率。),最後再套用到臉部辨識後就可以判斷表情和情緒。如果要提高辨識,則要選擇適當且正確的資訊和關鍵字。這樣的好處是,我們可以用人工編碼,而缺點則是需要正確的關鍵字。許富淞講師所設計的系統和AU的不同之處是它是藉由已確定的資料來編碼。在此,許富淞講師提出了三種特徵,分別是Holistic FeatureLocal Feature和將Holistic FeatureLocal Feature加總的Combine Feature LibSVM(Library Support Vector Machine) 以特定的特徵做影像分類。RBF Kernel function是使用在照片無法明確切開時,將圖像轉換成3D4D等,以便處理照片分類。

除此之外,我們還比較了許富淞講師所寫的系統以及系辦購入的Emotion。不過因為外部因素影響很大,例如燈光、背景。所以,很難判斷到底哪一套系統的準確率較高。 雖然臉部辨識系統至今已被廣泛運用,像是可以應用於自閉症孩子的臉部表情捕捉,相關的應用還有Crazy talkOpera等等。可惜的是,不論以何種方式去建立一套臉部辨識系統,正確率都遲遲無法有效的提升。我想要如何解決此項問題是開發人員的一個很大的課題!不論是以何種方式開發,就像許富淞講師最後提及的一句話:「最重要的是,要在最真實的環境下自然地捕捉表情,而不是使用者刻意去配合某系統。」

沒有留言:

張貼留言