ap不高,挺快,号称1000fps
https://github.com/ShiqiYu/libfacedetection
这个6ms,能检测近距离人脸,无关键点 mxnet
https://github.com/jacke121/faster-mobile-retinaface
后来又更新了:
https://github.com/1996scarlet/faster-mobile-retinaface
https://github.com/biubug6/Pytorch_Retinaface
mobile0.25,大概:
tx2
8路170多ms gpu 3.38g
4路,90ms
1路,68ms
pelee:
tx2
8路310多ms gpu3个多g
4路,150ms
带68个关键点:有训练代码
权重在out里,近距离还行,远了不能检测,检测一次46ms,关键点不是特别准。
https://github.com/ElvishElvis/68-Retinaface-Pytorch-version
改了测试代码,加了topk
https://github.com/jacke121/68-Retinaface-Pytorch-version
移动端快速人脸检测模型是基于RetinaFace的优化去掉stride8以及stride32和stride16的landmark 在CPU位Intel(R) Pentium(R) CPU G2020 @ 2.90GHz(2900 MHz)的设备中人脸检测可达到40ms/帧
https://github.com/qaz734913414/ncnn_faster-mobile-retinaface
号称比原版还好,resnet50
https://github.com/bleakie/RetinaDetector
fddb数据集:
https://drive.google.com/file/d/17t4WULUDgZgiSy5kpCax4aooyPaz3GQH/view
这个权重更小:出5个关键点,好 300*255 32 110ms
https://github.com/biubug6/Pytorch_Retinaface
这两个是resnet50,可以检测别的:
https://github.com/bleakie/RetinaDetection
https://github.com/deepinsight/insightface/tree/master/RetinaFace
这个13ms,但是误检率很高,无关键点。
https://github.com/jacke121/Ultra-Light-Fast-Generic-Face-Detector-1MB
cpu版,100ms,无关键点,严重侧脸也能检测:
https://github.com/Star-Clouds/centerface
c++
https://github.com/clancylian/retinaface
这个权重113m,出3个角度方向
https://github.com/supernotman/RetinaFace_Pytorch
人脸方向是个网络,90多m权重
https://github.com/natanielruiz/deep-head-pose
ImageNet ResNet50 (baidu cloud and dropbox).
ImageNet ResNet152 (baidu cloud and dropbox).
WIDER FACE数据集是由香港中文大学发布的大型人脸数据集,含32,203幅图像和393,703个高精度人脸包围框,该库中人脸包含尺度、姿态、表情、遮挡和光照等变化。
WIDER FACE 几乎是目前评估人脸检测算法最权威的数据集。
RetinaFace 是今年5月份出现的人脸检测算法,当时取得了state-of-the-art,作者也开源了代码,过去了两个月,目前仅以极其微弱的精度差屈居第二名,但因为第一名的AInnoFace算法(来自北京创新奇智公司)没有开源,所以目前RetinaFace可称得上是目前最强的开源人脸检测算法。
RetinaFace来自论文RetinaFace: Single-stage Dense Face Localisation in the Wild,作者来自帝国理工学院、InsightFace、Middlesex University London、FaceSoft。
相信很多朋友对InsightFace并不陌生,它是目前针对2D与3D人脸分析(含检测、识别、对齐、属性识别等)最知名和开发者最活跃的开源库。RetinaFace代码已经并入该库。
在6个子集中,RetinaFace取得1个第一名,2个并列第1名,3个以极其微弱精度差屈居于第二名。
RetinaFace使用特征金字塔网络架构:
retinaFace在2019.05月份宣告开源,给mtcnn算法带来不少冲击,目前来看,不论从检测准确率还是检测时间来看,retinaFace都比mtcnn算法好不少,今天小编对retinaFace和mtcnn进行简单的比较
目前来看,mtcnn算法只有一个缺点,就是当图像中的人脸数目比较多的时候,mtcnn人脸检测算法的的性能下降的比较快,而retinaFace算法不受人脸数量的限制,这是由于 mtcnn算法使用了图像金字塔算法,需要对图像进行多次缩放,导致前向运算次数比较多,严重拖慢了检测速度,而retinaFace是基于FPN的检测算法,无需进行图像金字塔,仅需要前向运算一次即可,好了说了那么多,下面跟着小编的步伐,从应用的角度比较一下。
其主要创新点在损失函数的设计。
下图说明了RetinaFace的核心思想:
在人脸检测多任务学习中,除了传统的人脸分类损失函数和包围框回归损失函数,作者额外标注了人脸 5 点信息,并以此引入人脸对齐的额外监督信息损失函数,还引入了self-supervised解码分支预测3D人脸信息分支。
集合了更多监督信息和自监督信息,是 RetinaFace 取得成功的关键。
很多时候,人脸检测是为了后续的识别,作者特意将检测结果送入人脸验证网络,在IJB-C test set上测试结果表明可以提高ArcFace的人脸验证精度(TAR=89.59% for FAR=1e-6)。
由上图可知,相对于MTCNN,在助力人脸验证上有一致性精度提高的表现。
更为难能可贵的是,使用轻量级骨干网络,RetinaFace算法在CPU上测试VGA图片可以达到实时。如下图:
感谢作者的开源,欢迎给大佬加星!
论文地址:
https://arxiv.org/pdf/1905.00641.pdf
代码地址:
https://github.com/deepinsight/insightface/tree/master/RetinaFace