人脸关键点检测

2d人脸关键点检测目前已经属于解决的比较好的问题了。也是落地的相对比较好的项目之一。
学术上广泛使用的数据集是300W 以及300VW, 为68个关键点。商业化应用的是各厂商自己标注的大规模数据集,肯定表现要更好。

source :github
预训练模型:

  • 百度网盘 (code rt7p)
  • google drive

tensorflow2.0 版本的已经release, 新tensorflow 对于学习更加友好,结构更清晰,如果仍然需要在tf1下工作,切换到tf1 分支,根据readme进行即可。

本文主要给大家一个思路,如何做一个表现相对稳定的人脸关键点检测算法。效果可以见下图demo。

demos

神仙姐姐和你的热巴
|||

video 视频链接
some samples, from 300W:

结构

该文的实现,主要是使用wing loss,多任务学习以及基于头部姿态以及眼睛和嘴巴姿态的数据增强。

模型只使用了300w 和300vw的数据,没有额外的数据以及标注。

  • 在300w数据集中,包括现实采集的数据普遍存在一个问题!正脸较多,睁眼以及闭嘴的数据较多,超过80%,这是典型的数据不平衡问题
  • 解决办法是在数据预处理阶段,对数据进行平衡,本文使用的方法是根据关键点计算眼睛和嘴巴的状态,和头部的姿态,并估计出所占数据集的比例,通过过采样的方式,扩充整个数据集。使得训练出的模型能够对不同的姿态,以及脸部的状态能有比较好的泛化能力。
  • wing loss 能够更好针对脸部关键点的拟合问题,因为脸部关键点一般不存在离群点,对于loss比较小的采用比较强的惩罚会更加促进模型的拟合。

Train

主要的原理就是上个章节所叙述,具体实现可以去看代码。

  • 1.下载数据,
    下载300w和300vw的数据,并将300vw的视频解析为300w同样的格式,一张图片对应一个pts文件。更改make_txt.py中data_dir 指向的目录,run
    python make_json.py
    会产生train.json 和val.json

  • 2 run python train.py

visualization

python vis.py --model ./model/keypoints

ps

  1. 一般人脸关键点检测是人脸检测的后续步骤,检测算法可以参考
    dsfd-tensorflow
    faceboxes

  2. 后续计划整理一个更加完整的工程并持续维护,主要包括人脸检测以及人脸关键点。包括准确和性能trade off 的模型。同时也欢迎有新的意见,问题,或者有什么提升的手段都可以交流,
    just mail me

    人脸关键点检测 face keypoint detect相关推荐

    1. python人脸关键点识别_用Face++实现人脸关键点检测

      最近看了一篇很有意思的文章 http://matthewearl.github.io/2015/07/28/switching-eds-with-python/ ,本来想自己复现一下,后来发现自己太菜 ...

    2. Mediapipe人脸关键点检测

      Mediapipe人脸关键点检测 Mediapipe介绍 环境部署 人脸关键点检测 模型调用与配置 输出结果解析 绘制面网 视频演示 Mediapipe介绍 MediaPipe是由google制作的开 ...

    3. [人脸关键点检测] PFLD:简单、快速、超高精度人脸关键检测

      转载请注明作者和出处: http://blog.csdn.net/john_bh/ 论文链接:PFLD: A Practical Facial Landmark Detector 作者及团队: 天津大 ...

    4. 【机器视觉案例】(11) 眨眼计数器,人脸关键点检测,附python完整代码

      各位同学好,今天和大家分享一下如何使用 mediapipe+opencv 实现眨眼计数器.先放张图看效果. 下图左侧为视频图像,右侧为平滑后的人眼开合比曲线.以左眼为例,若眼眶上下边界的距离与左右边界 ...

    5. 「每周CV论文推荐」 初学深度学习人脸关键点检测必读文章

      人脸关键点检测是人脸图像中重要的基石,今天给大家介绍入门深度学习人脸关键点检测必读的文章. 作者&编辑 | 言有三 1 DCNN Cascade 听这个名字就知道是一个很早期的,使用Casca ...

    6. python人脸识别、人脸关键点检测、性别检测

      python人脸识别.人脸关键点检测.性别检测 文章目录 根据人脸预测年龄性别和情绪 (python + keras)(三) 一款入门级的人脸.视频.文字检测以及识别的项目. age-gender-e ...

    7. CNN人脸关键点检测

      CNN人脸关键点检测 参考文献<Deep Convolutional Network Cascade for Facial Point Detection>\ 摘要 提出一种利用精心设计的 ...

    8. 使用OpenCV进行人脸关键点检测

      使用OpenCV进行人脸关键点检测 1 双脸效果 2 单脸效果

    9. 人脸识别,人脸关键点检测算法

      from http://blog.csdn.net/sloanqin/article/details/48193119 1 Face++:http://www.faceplusplus.com.cn/ ...

    10. 【CV秋季划】人脸关键点检测,人脸识别视频更新

      本次给大家带来的是有三AI-CV秋季划-人脸算法组的视频,包括人脸关键点检测,人脸识别两期的内容,如果你还不知道有三AI-CV秋季划-人脸算法组是什么,可以看下面的视频和图文. 点击边框调出视频工具条 ...

    最新文章

    1. WWDC2014:留给微软的时间不多了!
    2. Python+selenium 自动化-mac下安装配置chrome驱动方法
    3. 浅说深度学习(2):简史
    4. mysql查询字段信息
    5. wsdl2java工具生成客户端代码
    6. 怎么用ps整合html图片,如何用PS把两张图片合并在一起?
    7. 债券久期为什么难理解
    8. linaro 网站资源
    9. 群晖Docker容器“failed to initialize logging driver“解决办法
    10. 论文阅读笔记《Dynamic Few-Shot Visual Learning without Forgetting》
    11. 【CSS+HTML】实现鼠标失去鼠标焦点动画
    12. converting to execution character set: Illegal byte sequence
    13. 淘宝中所说的sku是什么
    14. 文件损坏如何修复?简单的方法
    15. 文章《Deep Image Homography Estimation》
    16. 用 Python 爬取糗事百科
    17. 线性常系数齐次递推关系与特征多项式
    18. 研一学习笔记-小白NLP入门学习笔记
    19. Jetpack Compose - Box
    20. Revit中建筑柱和结构柱的区分以及梁的搭建之学习记录

    热门文章

    1. 关于打印机驱动无法装载的问题
    2. 从编程角度阐述有限元最佳入门方法:以Abaqus 和OpenSees 为例
    3. MPLAB使用PICKit3.5烧录程序说明
    4. _stdcall的作用
    5. 常用的linux技巧,Linux Shell常用技巧(十二)-第二部分
    6. 微信小程序UI设计(二)之view组件
    7. 开启WIN10的卓越性能模式
    8. 谷歌插件安装(不翻墙方式)
    9. 最容易理解的ConViT: Improving Vision Transformerswith Soft Convolutional Inductive Biases
    10. 硬盘录播服务器,高清录播主机录播服务器HT-7500_航天广电录播系统设备