一、前言

mediapipe模块还提供了面部468个特征点的检测,所以拿来试试做一个面部表情的检测。

这次要实现两个目标:

1.面部检测

2.微笑表情检测

二、算法原理

1.面部检测

依旧是采用谷歌的mediapipe模块来获取面部的468个特征点。然后根据需要提取出我们想要的特征点坐标。

※确定468个特征点分别是脸部的哪个位置,实在是个比较繁琐的工作。

2.微笑表情检测

微笑表情的话,其实网上有很多范例,但是大多都是基于嘴巴裂开的程度以及眼睛眉毛的位置变化来检测。虽然也可以实现,但是感觉精度并不是很高。

于是本人淡定的对着镜子揣摩了几天,有了以下思路:

①微笑的时候,嘴巴并不会张开,眉毛眼睛也并不会动。

②无论微笑或者大笑,只要你笑,你的法令纹必然会出现。(很残酷的事实)

基于以上两点,我决定通过提取法令纹部位的像素值,然后检测法令纹是否出现来判定是否在笑,再通过嘴部张开的程度来判定是大笑或者微笑。

以古帅的脸为例,就是要采集左边两个红点连线以及右边两个红点连线上的像素值,并且判断像素值大小的标准偏差。偏差越大说明法令纹越深,于是可以判定为笑。然后再通过上下嘴唇的高度差来判定嘴巴张开的大小。嘴巴张开很大就表示在大笑,嘴巴没有张开表示在微笑。

※如果对每一帧的检测结果都作为最终结果的话,会导致输出很不稳定(微弱的光强变化都有可能引起结果差异),所以我通过每10帧图像里面哪个结果多就作为最终输出。比如10帧图像里面微笑最多,则最终输出结果为微笑。

三、效果视频

效果还不错,完美的检测到三个表情。(由于本人太丑,就只有面部轮廓图,其余全部屏蔽掉)

※顺便吐槽一下反人类的美颜,在高级美颜的加持下,人在微笑的时候法令纹竟然会消失。。。这不科学

【DeepVisionZero】面部表情识别--微笑

四、总结

如果测试环境固定的话精度还不错,但是如果想要在任意环境下也达到高精度,就需要依赖深度学习,但是深度学习又需要大量数据来训练,等以后有时间再做。

五、源码

https://www.deepvisionzero.com/download

※图像处理第5弹

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

个人网站:https://www.deepvisionzero.com

微信公众号:DeepVisionZero

↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

【原创】图像处理第5弹:面部表情识别--微笑相关推荐

  1. 面部表情识别3:Android实现表情识别(含源码,可实时检测)

    面部表情识别3:Android实现表情识别(含源码,可实时检测) 目录 面部表情识别3:Android实现表情识别(含源码,可实时检测) 1.面部表情识别方法 2.人脸检测方法 3.面部表情识别模型训 ...

  2. 面部表情识别---学习笔记

    FER:面部表情识别 数据集: 表情产生的方式: posed:摆拍 spontaneous(自然) 收集条件 lab:实验室收集 web(网页抓取) movie(电影截图) 一个深度面部表情识别系统 ...

  3. 【Pytorch】基于卷积神经网络实现的面部表情识别

    作者:何翔 学院:计算机学院 学号:04191315 班级:软件1903 转载请标注本文链接: https://blog.csdn.net/HXBest/article/details/1219812 ...

  4. PyTorch实现基于卷积神经网络的面部表情识别

    基于卷积神经网络的面部表情识别(Pytorch实现)----台大李宏毅机器学习作业3(HW3) 一.项目说明 给定数据集train.csv,要求使用卷积神经网络CNN,根据每个样本的面部图片判断出其表 ...

  5. python提取人物特征_基于图像人物面部表情识别的特征提取优化方法与流程

    本发明涉及一种基于图像人物面部表情识别的特征提取优化方法,主要利用基于统计特征提取的二维主成分分析法和改进的粒子群算法优化图像矩阵的解,属于图像处理.模式识别和计算机视觉交叉技术应用领域. 背景技术: ...

  6. 人脸识别微笑检测(基于卷积神经网络CNN)

    目录 一.卷积神经网络概述 二.图片预处理 三.划分数据集 四.CNN提取人脸识别笑脸和非笑脸 参考资料 一.卷积神经网络概述 卷积神经网络(Convolutional Neural Networks ...

  7. 【论文阅读】面部表情识别综述(2018年)(Deep Facial Expression Recognition: A Survey)

    论文地址:https://ieeexplore.ieee.org/abstract/document/9039580 百度网盘地址:https://pan.baidu.com/s/1A8NKT_wz4 ...

  8. 微信长按图片无法弹出识别二维码选项解决方案

    1.首先页面中有两个二维码的兄弟别忙活了,一个页面中只可以识别其中一个二维码,两个的话需提示用户双击放大二维码进行二维码识别. 2.网页内有一张图片进行二维码识别时长按没有反应(长按图片无法弹出识别二 ...

  9. 面部表情识别2:Pytorch实现表情识别(含表情识别数据集和训练代码)

    面部表情识别2:Pytorch实现表情识别(含表情识别数据集和训练代码) 目录 面部表情识别2:Pytorch实现表情识别(含表情识别数据集和训练代码) 1.面部表情识别方法 2.面部表情识别数据集 ...

最新文章

  1. 企业网络推广网站排名首页但确保用户体验也是企业网络推广的关键
  2. springcloud-06-feign的使用
  3. 计算机网络系统集成策略实现摘要,计算机网络集成策略实现探析
  4. 大型网站架构演化历程
  5. PHP从远程mysql下载文件_PHP下载远程文件到指定目录
  6. 清除浮动造成的影响的解决方案总结
  7. windows下git bash中文乱码解决办法
  8. 移动物联卡资费标准是如何的
  9. 点击流日志分析项目实战开发流程
  10. curl 命令测试post请求
  11. YUV格式简介、YUV444、YUV422、YUV420
  12. 机器学习(3)——有监督学习
  13. 医院信息化建设,产品规划要求​
  14. 一个高考落榜生的奋斗历程
  15. 在 Linux 中安装 Firefox
  16. 利率浮动幅度bp什么意思,浮动利率bps换算百分比
  17. leakcanary内存泄露检测工具报错 Dumping memory, app will freeze. Brrr
  18. 最好的礼物是忠言,最好的修养是宽恕。
  19. 【Games104】 如果构建游戏世界
  20. MacOS开发-用命令行压缩文件

热门文章

  1. 观察 | 家长焦虑,教培着急,暑期“培训热”今年还会持续吗?
  2. 傅一平:运营商的大数据变现实践
  3. 什么是nvm,nvm详解
  4. Forethought Future Cup - Elimination Round G. Zoning Restrictions 最大流(最小割)
  5. no such file or directory, open
  6. @Profile注解详解
  7. spark scala 求整列的总和值
  8. 成都盛铭轩:如何增加店铺流量
  9. 头条App项目测试实战(二)App手工测试流程以及需求分析与评审
  10. 如何正确使用数据可视化图表?