人脸检测 RetinaFace

 

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

你可能感兴趣的:(视觉相关,深度学习)