python3+dlib人臉識別及情緒分析

2021-02-20 python

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/

4、如果想要使用人臉模型特徵標定的話,還需要一個人臉面部形狀預測器,這個可以通過自己的照片進行訓練,也可以使用dlib作者給出的一個訓練好的預測器:         

首先是利用dlib進行人臉識別:

然後實例化一個 shape_predictor 對象,使用dlib作者訓練好人臉特徵檢測器,進行人臉的特徵點標定。

標定的時候使用opencv的circle方法,在特徵點的坐標上面添加水印,內容就是特徵點的序號和位置。

到此,68個特徵點的信息就獲取到了,下面就需要跟根據這個68個特徵點的坐標信息,進行綜合 計算,作為每個表情的判斷指標。

根據上面說到的我的判斷指標,先計算嘴巴的張開比例,由於人離攝像頭距離的遠近,導致人臉識別框的大小不一,故選擇比例來作為判斷指標。

在選擇指標的標準數值之前,先對多個開心的人臉照片進行分析。計算開心時的嘴巴張卡比例的平均。

下面是截取對人眉毛的數據處理方法,對左邊眉毛上面的5個特徵點進行線性擬合,擬合出一個一次函數直線,用擬合直線的斜率近似代表眉毛的傾斜程度。

我計算了25個人臉的開心表情的嘴巴張開比例、嘴巴寬度、眼睛張開程度、眉毛傾斜程度,導入excel表格生成折線圖:

通過折線圖能很明顯的看出什麼參數可以使用,什麼參數的可信度不高,什麼參數在那個範圍內可以作為一個指標。

同樣的方法,計算人憤怒、驚訝、自然時的數據折線圖。

通過對多個不同表情數據的分析,得出每個指標的參考值,可以寫出簡單的表情分類標準:

識別之後:

原始碼:

作者:Andrew_qian

源自:www.cnblogs.com/qsyll0916/p/8893790.html

聲明:文章著作權歸作者所有,如有侵權,請聯繫小編刪除

相關焦點

  • dlib應用之人臉識別
    一win10環境安裝使用dlib庫進行人臉識別,首先要安裝dlib。dlib庫的安裝有依賴庫,包括VS和Cmake。圖1 VS2019安裝安裝dlib:pip3 install dlib安裝opencv-python:pip3 install
  • 用dlib實現人臉識別的技巧
    一點區分 對於大部分人來說,區分人臉檢測和人臉識別完全不是問題。但是網上有很多教程有無無意地把人臉檢測說成是人臉識別,誤導群眾,造成一些人認為二者是相同的。其實,人臉檢測解決的問題是確定一張圖上有木有人臉,而人臉識別解決的問題是這個臉是誰的。可以說人臉檢測是是人識別的前期工作。今天我們要做的是人臉識別。
  • 使用Python+OpenCV+Dlib實現人臉檢測與人臉特徵關鍵點識別
    我們可以將這些信息作為一個預處理步驟來完成,例如捕捉照片中人物的人臉(手動或通過機器學習),創建效果來「增強」我們的圖像(類似於Snapchat等應用程式中的效果),對人臉進行情感分析等等。今天我們將通過引入DLib和從圖像中提取面部特徵來將其提升到一個新的水平。
  • Python3.8+Win10環境下dlib的安裝
    背景嘗試使用圖片處理的開源工具,依賴dlib才能運行,正常的win10環境下dlib的wheel文件能找到只有python3.5、3.6,也有人開源了python3.7下的wheel,由於環境是python3.8,所以只能夠下載源碼,通過python setup.py install
  • 人臉識別簡介(使用Python代碼)
    小編沒有iPhone XS,所以就在這裡推薦一篇人臉識別入門佳作吧~人臉識別是計算機視覺的一個子領域,它的應用範圍非常廣泛,現在已經成為世界各地的企業爭相競逐的新技術之一。考慮到市場的盈利現狀,未來這項技術還會有更大的需求空間,所以作為機器學習的學習者,自己動手去從頭開始構建一個人臉識別工具很有價值。
  • 【附完整代碼:AI實戰】動手編寫人臉識別
    人臉識別在現實生活中有非常廣泛的應用,例如iPhone X的識別人臉解鎖屏幕、人臉識別考勤機、人臉識別開門禁、刷臉坐高鐵,還有識別人臉虛擬化妝
  • 基於騰訊雲人臉識別做一款聖誕帽應用
    識別人臉,在人臉框上增加有透明度的聖誕帽即可。現下,我們可以用opencv, dlib完成這些事情,當然,從開發速率來說,我們也可以藉助雲廠商的人臉識別技術和擴展性來完成這款應用。今天我們就來一起玩玩用python + 騰訊雲人臉識別做個簡單的添加聖誕帽的程序。 首先,一起的前提是擁有一個騰訊雲帳號。
  • 10行代碼實現python人臉識別
    ↑ 關注 + 星標 ~ 有趣的不像個技術號什麼是人臉識別人臉識別,是基於人的臉部特徵信息進行身份識別的一種生物識別技術。用攝像機或攝像頭採集含有人臉的圖像或視頻流,並自動在圖像中檢測和跟蹤人臉,進而對檢測到的人臉進行臉部識別的一系列相關技術,通常也叫做人像識別、面部識別。目前的人臉識別技術已經非常成熟了,還發展成3D人臉識別。
  • 畢業設計| 樹莓派3B+與opencv3+PyQt5實現人臉識別門禁系統
    id=9d025059ad0326d9511ea4fc2bea321b&type=note注意:opencv-python庫、opencv-contrib-python庫這兩個庫的版本要一致。opencv-contrib-python庫是opencv-python庫的升級版,人臉識別的算法在裡面。
  • 人臉檢測關鍵點新增至81個,比Dlib更精準、更貼邊
    人臉關鍵點檢測是人臉識別和分析領域中的關鍵一步,它是諸如自動人臉識別、表情分析、三維人臉重建及三維動畫等其它人臉相關問題的前提和突破口。雖然人臉的結構是確定的,由眉毛、眼睛、鼻子和嘴等部位組成,近似是一個剛體,但由於姿態和表情的變化,不同人的外觀差異,光照,遮擋的影響,準確的檢測處於各種條件下的人臉也是一件相對困難的事情。傳統人臉關鍵點檢測資料庫為室內環境下採集的資料庫,而現階段人臉關鍵點檢測資料庫通常為複雜環境下採集的資料庫。
  • 『AI理論學』深度人臉識別流程介紹
    由上圖可知人臉識別項目可以分為5個主要步驟:1,首先輸入一張照片;2,對照片檢測出人臉並分類出是否為活體;3,對檢測到的活體人臉進行對齊和裁切人臉;4,對對齊和裁切後人臉進行特徵提取,表徵為特徵碼;5,對表徵後成對特徵碼進行比對
  • 人臉識別算法分析原理
    人臉識別算法的原理:系統輸入一般是一張或者一系列含有未確定身份的人臉圖像,以及人臉資料庫中的若干已知身份的人臉圖象或者相應的編碼,而其輸出則是一系列相似度得分,表明待識別的人臉的身份。人臉識別算法分析1.
  • 用Jetson Nano構建一個價值60美元的人臉識別系統
    安裝Linux和Python庫以進行人臉識別一旦完成了Linux的初始設置,就需要安裝幾個我們將在人臉識別系統中使用的庫。在Jetson Nano桌面上,打開一個LXTerminal窗口並運行以下命令。
  • 用Python玩人臉合成,你也能有一張明星臉(附代碼)
    運用機器學習的方法,我們同樣可以實現人臉「融合」。當然這裡說的人臉融合指的是將兩個人的人臉照片進行融合,至於融合的比例,要按照自己的喜好來定。人臉融合的效果我們先看視頻。變臉視頻,一睹為快下面小編就帶領大家從以下的幾個方面來打造一款向上圖所示的人臉識別軟體。
  • 人臉識別中的人臉表情識別技術
    隨著人臉識別技術的發展,如今在識別中應用到對人臉的表情進行識別,可以應用在人機互動、安全、機器人製造、醫療、通信和汽車領域等。那麼,暢視智能來告訴人臉識別技術的人臉表情識別要如何進行?圖像獲取:通過人臉識別攝像頭等圖像捕捉工具獲取靜態人臉圖像或動態圖像序列。
  • OpenCV人臉識別之一:數據收集和預處理
    本系列人臉識別文章用的是opencv2,最新版的opencv3.2的代碼請參考文章:《OpenCV之識別自己的臉——C++源碼放送》;《人臉識別源碼運行指南》(小編附在文末)前段時間對人臉檢測進行了一些嘗試:人臉檢測(C++/Python)(http://www.jianshu.com/p/504c081d7397)但是檢測和識別是不同的,檢測解決的問題是圖片中有沒有人臉;而識別解決的問題是
  • 使用OpenCv和Dlib進行打哈欠檢測
    安裝OpenCv和Dlib庫OpenCv的安裝如下:pip install opencv-pythonDlib的安裝如下:pip install cmakepip install dlib導入Opencv,Dlib和Numpy庫設置dat文件我們將.dat文件放置到工作目錄中,它是一個可以識別面部特徵並提供信息的模型
  • 百度飛槳口罩人臉檢測與識別模型再升級,視頻教學帶你實戰
    類似的應用可以部署在大型場館出入口,學校,醫院,交通通道出入口,人臉識別閘機,機器人上,支持的方案有:安卓方案(如 RK3399 的人臉識別機,機器人),Ubuntu 邊緣計算,WindowsPC+攝像頭,識別率 80%~90%。如果對於人臉識別機場景,精度要求會比較高,模型應用時需要對清晰度、距離、圖像大小等因素進行調整後部署。
  • 81個關鍵點,幫你緊密追蹤女神的臉,比Dlib還多了13點 | 有代碼
    鬼慄子 發自 凹非寺量子位 報導 | 公眾號 QbitAI為什麼要追蹤人臉?大概,是想要實現什麼大膽的想法吧。比如,帶個帽子:△ 來自Tommy Palladino,並非Niko成果介紹一下先來仔細看一看這隻斯嘉麗,臉上81個關鍵點的分布:0-67是dlib既有的68個臉部關鍵點;68-80是程序猿新增的13個前額關鍵點。
  • 人臉識別系統實現與原理
    本書全面、系統地介紹「刷臉」背後的技術,包括人臉檢測、人臉識別、人臉檢索相關的算法原理和實現技術。本書中講解的算法具有高度的可操作性和實用性。通過學習本書,研究人員、工程師能夠在3~5個月內,系統了解、掌握人臉檢測、人臉識別、人臉檢索相關的原理和技術。本書內容新穎、層次清晰,適合高校教師、研究人員、研究生、高年級本科生、人臉識別愛好者使用。