【CV】10种轻量级人脸检测算法大PK | 代码集合开源
点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达
最近在微信公众号 AIZOO 里看到轻量级人脸检测算法大盘点的文章,里面还提供了Github源码地址,我就把它们逐个下载到本地Win10-CPU机器上,调试通过运行。
去年在Github下载过一个包含6种人脸检测的程序,分别是Pyramidbox,DSFD,S3FD,TinyFace,FaceBox,MTCNN,但是这些算法大多是重量级的网络模型,它在一幅图片上的人脸检测结果和运行耗时统计直方图如下。
运行效果如下图所示:
耗时效果统计对比:
可以看到PyramidBox,DSFD,S3FD,TinyFace这4个模型是非常耗时的,对于比赛刷榜,我们可以用这种很大的模型,但是在工业界非常不实用,假如要部署到 ARM 的嵌入式设备上,大概率直接卡死。
因此我就整理了最近一年之内的轻量级人脸检测算法的程序,独立编写一个包含多种轻量级人脸检测算法集合的程序。PyTorch是我最喜欢的深度学习框架,在部署模型的前向推理时,我更喜欢用Opencv的dnn模块。因而,我收集到的轻量级人脸检测算法的程序如果是基于PyTorch框架的,我就不会对代码做较大的改动,如果程序是基于Caffe, Tensorflow或者Darknet的,我会把程序改写成用Opencv的dnn模块做人脸检测。最后我整理了10种人脸检测算法,它们分别是:
Ultra-Light-Fast-Generic-Face-Detector,程序里简写为ultraface
LFFD:A Light and Fast Face Detector for Edge Devices,程序里简写为lffdface
CenterFace, 程序里简写为centerface
DBFace, 程序里简写位dbface
RetinaFace, 程序里简写为retinaface
MTCNN, 程序里简写为mtcnn
SSD, 程序里简写为ssdface
facebox,程序里简写为facebox
yoloface,程序里简写为yoloface
于仕琪老师提出的libfacedetection, 程序里简称为libface
此外,我编写的程序里还包含 PFLD: A Practical Facial Landmark Detector,它是一个简单、快速、超高精度人脸特征点检测算法。到此一共有10种人脸检测和1个人脸关键点检测的程序,我用面向对象的思想把每一种人脸检测算法写成一个类的形式,里面包含构造函数__init__和成员函数detect。最后,编写一个主函数,来做这10种人脸检测算法在同一幅图上的人脸检测结果和运行耗时的比较。我编写的这套程序在github上的地址是
https://github.com/hpc203/10kinds-light-face-detector-align-recognition
我分别测试了两幅图片,第一幅图片的检测结果和运行耗时统计直方图如下:
耗时对比如下图:
第2幅图片的检测结果和运行耗时统计直方图如下:
耗时对比如下图:
这两幅测试图片有鲜明代表性,一幅是只有2个人脸,另一幅是有好多个人脸的。ssdface和libface的运行速度最快,但是在有密集人脸的场景里,它们漏检了很多人脸。综合两幅图片的检测结果,考虑检测准确率和运行耗时的折中权衡,retinaface和lffdface是最优选择。retinaface运行耗时虽然比lffdface的要略长一点,但是retinaface的输出里有5个关键点。
在我的程序里还有提取人脸特征向量和计算人脸特征向量距离的模块,这两个模块再加上前面的人脸检测和关键点检测(做人脸对齐)的模块,这样就组成了人脸检测+人脸对齐+人脸识别,这时候你就可以构造一个实时的人脸识别系统。具体实现方式可以参见github代码里的README.md。程序有不足的地方,还请同行多多指教。
下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。
下载2:Python视觉实战项目52讲
在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。
下载3:OpenCV实战项目20讲
在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~
【CV】10种轻量级人脸检测算法大PK | 代码集合开源相关推荐
- 10种轻量级人脸检测算法大PK
几个月前,AIZOO曾经盘点过 最强六大开源轻量级人脸检测项目分析 | 附打包下载,nihate同学将它丰富到10种算法,并用Python.对他们进行了汇总整理,以及效果的对比. Github链接:h ...
- 10种轻量级人脸检测算法大PK | 代码集合开源
喜欢就关注 AIZOO 吧! 几个月前,AIZOO曾经盘点过 最强六大开源轻量级人脸检测项目分析 | 附打包下载,nihate同学将它丰富到10种算法,并用Python.对他们进行了汇总整理,以及效果 ...
- 10种轻量级人脸检测算法的比拼
关注并星标 从此不迷路 计算机视觉研究院 公众号ID|ComputerVisionGzq 学习群|扫码在主页获取加入方式 转自:https://blog.csdn.net/nihate/article ...
- 大盘点|轻量级人脸检测算法实现,快到没朋友的都在这里了~
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 整理:公众号@OpenCV中文网 本文仅做学术分享,如有侵权,请联系删除. 人脸检测是计算机视觉中的老 ...
- 人脸检测算法_目前最强!开源人脸检测算法:RetinaFace
加入极市专业CV交流群,与6000+来自腾讯,华为,百度,北大,清华,中科院等名企名校视觉开发者互动交流!更有机会与李开复老师等大牛群内互动! 同时提供每月大咖直播分享.真实项目需求对接.干货资讯汇总 ...
- 人脸检测算法_腾讯已开源高精度人脸检测算法DSFD
腾讯提出一种高精度双分支人脸检测器DSFD并开源.该算法曾在全球两大权威人脸检测数据集WIDERFACE和FDDB上均取得了第一. 任务介绍 人脸检测算法是在图像上检测出人脸的位置(通常以矩形框形式输 ...
- 人脸检测算法落地详解
人脸检测 Face Detection 目标:人脸检测的目的是找出一张图片中的所有人脸的位置信息 人脸检测是人脸其他应用的基础,只有获取到了是否有人脸和人脸的精确的位置信息,其它的应用才能继续开展,所 ...
- github优秀项目分享:基于yolov3的轻量级人脸检测、增值税发票OCR识别 等8大项目...
点击上方"机器学习与生成对抗网络",关注"星标" 获取有趣.好玩的前沿干货! 文章来源:七月在线实验室 01 yolo-face-with-landmark ...
- 一种改进的快速人脸检测算法
人脸检测是计算机视觉及相关领域的关键技术,在智能人机交互.视频会议.安全监控等方面都有着广阔的应用前景.目前人脸检测方法主要有基于知识的方法和基于统计学习的方法[1].其中,基于知识的检测算法首先抽取 ...
最新文章
- 谷歌、阿里们的杀手锏:3大领域,10大深度学习CTR模型演化图谱(附论文)
- SQLServer 2008 :error 40 出现连接错误
- 锤子Smartisan T1手机官方4.4.2系统内核版本号信息
- js Array Map and Set
- with 关键字实现递归查询
- linux安装mysql遇到的问题_Linux下安装MySQL5.7及遇到的问题解决方法
- 把别人的Tcl/Tk代码加入到Go语言里2 矩形
- 迫不及待,英特尔推特“官宣”GPU发布时间
- Qt中Q_OBJECT与生成的moc文件的作用
- 魅族使用华为鸿蒙,魅族官宣接入华为鸿蒙,以后我们还能用魅族自家的flyme系统吗?...
- 压缩感知(Compressed sensing)from wiki
- opencv python 鼠标响应操作
- java自动识别文件编码格式
- Stardict 81部中文词典下载
- Oracle效率提升
- ┊非主流图片┊非主流美女┊非主流照片
- find()和findIndex()区别和用法
- VVC spec中文翻译
- 单片机中断系统应用实例(两组实验+Proteus仿真+C源程序)
- 四年级计算机下册word教学设计,小学教学四年级教案下册计算机教案-20210723143637.docx-原创力文档...