人脸检测CenterFace:轻量级anchor_free人脸检测器

Posted 超级无敌陈大佬的跟班

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了人脸检测CenterFace:轻量级anchor_free人脸检测器相关的知识,希望对你有一定的参考价值。

论文地址:https://arxiv.org/ftp/arxiv/papers/1911/1911.03599.pdf
github地址:https://github.com/Star-Clouds/centerface

前言:

CenterFace基本结构还是基于CenterNet网络修改得来的,与CenterNet一些小的区别点是

  • 1)主干网络改为mobilenetV2;
  • 2)loss函数的计算方式也有些小变动,边框的宽高回归加上了log进行约束
  • 3)边界框中心点回归也有L1 loss改进为smooth L1 loss
  • 4)另外增加人脸5个特征点landmark回归

网络结构

        因为CenterFace是轻量级的人脸检测器,所以其backbone用的是mobilenetV2,相比于Objects as Points采用的DLA 以及Hourglass,整体的backbone很小。网络结构可视化如下:

CenterFace网络结构

3. CenterFace损失函数定义

3.1 分类损失函数

        α = 2 and β = 4,这部分跟centerNet完全一致,各参数含义参见我CenterNet的博客,这里不重复敲公式了,

3.2 人脸框中心点偏移损失函数

        与centerNet不同的是,将L1_loss换成了了smooth L1_loss;

3.3 人脸框宽高回归损失函数

 

        G = (x1, y1, x2, y2)是ground-truth边界框的坐标,从公式中可以看出,这里是将边框位置缩放到feature map对应尺寸上进行宽高回归,并且使用了log函数进行约束(CenterNet没有使用log函数进行约束)。这里的损失函数同样也是使用smooth L1_loss。

3.4 人脸特征点坐标回归

        其中应该指的是边界框中心点坐标值,是人脸特征点的坐标值,从公式中可以看出特征点的回归是基于中心点坐标计算偏移量,并且除以对应的边界框宽高进行缩放

3.5 损失函数的总和

不同任务的Loss权重系数为:

 4. CenterFace网络性能分析

推理速度对比:

WIDER FACE val集结果:

WIDER FACE test集结果:

FDDB测试集的结果:

 推理耗时:

效果图:

以上是关于人脸检测CenterFace:轻量级anchor_free人脸检测器的主要内容,如果未能解决你的问题,请参考以下文章

Pytorch_net_深度学习的网络结构

JavaScript人脸检测的实现方法

本周优秀开源项目分享:基于yolov3的轻量级人脸检测增值税发票OCR识别 等8大项目

github优秀项目分享:基于yolov3的轻量级人脸检测增值税发票OCR识别 等8大项目

如何用 200 行 JavaScript 代码实现人脸检测?

目标检测 1 : 目标检测中的Anchor详解