一、介紹
我想做的是基于人臉識別的表情(情緒)分析。看到網上也是有很多的開源庫提供使用,為開發提供了很大的方便。我選擇目前用的比較多的dlib庫進行人臉識別與特征標定。使用python也縮短了開發周期。
官網對于dlib的介紹是:Dlib包含廣泛的機器學習算法。所有的設計都是高度模塊化的,快速執行,并且通過一個干凈而現代的C ++ API,使用起來非常簡單。它用于各種應用,包括機器人技術,嵌入式設備,手機和大型高性能計算環境。
雖然應用都比較高大上,但是自己在PC上做個情緒分析的小軟件還是挺有意思的。
按照自己的想法與思路設計識別方式。目前也比較火的keras好像就是根據嘴型的變化作為情緒分析的一個指標。
而我的想法是利用嘴的張開比例,眼睛的睜開程度,眉毛的傾斜角度作為情緒分析的三個指標。但是由于人與人長相的差異較大,五官的也是千差萬別,再加上我的計算方法也比較簡單。所以識別效率并不是很高。
識別規則:
1、嘴巴張開距離占面部識別框寬度的比例越大,說明情緒越激動,可能是非常開心,也可能是極度憤怒。
2、眉毛上揚,17-21 或者 22-26 號特征點距離面部識別框頂部與識別框高度的比值越小,說明眉毛上揚越厲害,可表示驚訝、開心。眉毛的傾斜角度,開心時眉毛一般是上揚,憤怒時皺眉,同時眉毛下壓的比較厲害。
3、瞇眼睛,人在開懷大笑的時候會不自覺的瞇起眼睛,憤怒或者驚訝的時候會瞪大眼睛。
系統缺點:不能捕捉細微表情的變化,只能大致的判斷出人的情緒,開心、憤怒、驚訝、自然。
系統優點:結構簡單,易于上手。
應用領域:微笑抓拍,捕捉瞬間的美好、緩解兒童自閉癥、交互式游戲開發。
由于人感情的復雜性,這些表情確實不能完完全全的代表一個人內心深處的情緒波動,如要提高判斷的準確性,則需要心率檢測、語音處理等綜合評價。
二、開發環境搭建:
1、安裝VS2015,因為最新版的dlib-19.10需要這個版本的vscode
2、安裝opencv(whl方式安裝):
從pythonlibs下載需要的版本whl文件,比如(opencv_python?3.3.0+contrib?cp36?cp36m?win_amd64.whl)
然后在本地使用pip install 安裝。 注意文件位置下安裝(如:C:/download/xxx.whl)
3、安裝dlib(whl方式安裝):
在這里下載dlib的各種版本的whl文件,然后在根目錄下打開cmd直接安裝即可。
但是為了學習使用dlib中的各種python實例程序,還是需要下載一個dlib的壓縮包。
直接訪問dlib官網即可下載:http://dlib.net/ml.html
dlib各種版本的whl文件:https://pypi.python.org/simple/dlib/
新聞熱點
疑難解答