Python+OpenCV+dlib实现人脸检测与表情识别

Posted 索炜达.猿创

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python+OpenCV+dlib实现人脸检测与表情识别相关的知识,希望对你有一定的参考价值。

点击查看:Python+OpenCV+dlib实现人脸检测与表情识别

文件大小:95M

操作系统:Windows10旗舰版

开发工具:Python3.8、OpenCV4.5、dlib

开发语言:.py

简要概述:

利用dlib库进行人脸识别与特征标定,并利用嘴巴的张开比例,眼睛的睁开程度,眉毛的倾斜程度作为表情分析的三个指标。方法较为简单,识别的效率不是很高,可以在此基础上进行改善。

识别规则:

  1. 嘴巴张开距离占面部识别框宽度的比例越大,说明情绪越激动,可能是非常开心,也可能是极度愤怒。

  2. 眉毛上扬,17-21 或者 22-26 号特征点距离面部识别框顶部与识别框高度的比值越小,说明眉毛上扬越厉害,可表示惊讶、开心。眉毛的倾斜角度,开心时眉毛一般是上扬,愤怒时皱眉,同时眉毛下压的比较厉害。

  3. 眯眼睛,人在开怀大笑的时候会不自觉的眯起眼睛,愤怒或者惊讶的时候会瞪大眼睛。

具体步骤:

首先打开摄像头,捕捉人脸。利用dlib中dlib.get_frontal_face_detector()识别人脸,利用dlib.shape_predictor(“shape_predictor_68_face_landmarks.dat”)预测人脸的68点。之后综合计算,作为每个表情的判断指标。由于人离摄像头距离的远近,导致人脸识别狂的大小不一,故选择比例作为判断指标。

演示视频:
在这里插入图片描述
在这里插入图片描述

以上是关于Python+OpenCV+dlib实现人脸检测与表情识别的主要内容,如果未能解决你的问题,请参考以下文章

Python+OpenCV+dlib实现人脸68个关键点检测并标注

CNN+OpenCV+dlib实现图片人脸检测

图片人脸检测——Dlib版

OpenCV vs Dlib 人脸检测比较分析

Dlib+Opencv库实现疲劳检测

Dlib 实现人脸的68点检测