CenterFace模型框架详解 轻量级anchor-free人脸检测器

论文地址:https://arxiv.org/ftp/arxiv/papers/1911/1911.03599.pdf

github地址:https://github.com/Star-Clouds/centerface

CenterFace是一个适用于内存和计算能力有限的边缘设备的轻量级人脸检测器,其大小只有7.3M。关于CenterFace论文的解读这里不再过多介绍,可以参考其他博客。本篇文章主要介绍CenterFace模型思想和框架的一些理解。

模型思想

CenterFace模型借鉴了CenterNet的思想(Object as points),通过人脸中心点来检测人脸,然后再根据人脸中心点来回归人脸框的大小和五个标志点。因此,人脸检测和对齐转化为标准的关键点估计问题,我们将图像传入网络,得到一个热力图,热力图峰值点即为人脸中心,根据每个峰值处的图像特征回归预测人脸大小和标志点。

 

CenterFace模型框架详解 轻量级anchor-free人脸检测器_第1张图片

上图即为一个人脸热力图,我们可以看到人脸中心点的位置颜色更红,代表此处峰值更高。我们找到一个峰值最高的点即为人脸中心点。

CenterFace为基于anchor-free的一种方法,与anchor-based方法相比有许多优点。

CenterFace模型框架详解 轻量级anchor-free人脸检测器_第2张图片

上图来自CenterNet论文,由于两个项目思想一致,对于我们理解CenterFace也有帮助。

传统的基于anchor的检测方法,通常选择与标记框IoU大于0.7的作为positive,相反,IoU小于0.3的则标记为negative,如上图a。这样设定好box之后,在训练过程中使positive和negative的box比例为1:3来减少negative box的比例(例如SSD没有使用focal loss)。

而在CenterNet中,每个中心点对应一个目标的位置,不需要进行overlap的判断。那么怎么去减少negative center pointer的比例呢?CenterNet是采用Focal Loss的思想,在实际训练中,中心点的周围其他点(negative center pointer)的损失则是经过衰减后的损失,而目标的长和宽是经过对应当前中心点的w和h回归得到的。

模型架构

CenterFace模型框架详解 轻量级anchor-free人脸检测器_第3张图片

上图是CenterFace的模型架构,其采用了特征金字塔网络,主干网络采用了轻量级网络mobileNetV2。

FPN由自下而上和自上而下两部分组成,自下而上的就是使用传统的卷积网络做特征提取,也就是主干网络(这里使用的是mobileNetV2),随着卷积的深入,空间分辨率减少,空间信息丢失,但是高级语义信息增加(空间信息是指人脸位于图片中的位置,高级语义信息是指人脸信息)。也就是说,在自下而上进行下采样的过程中,我们能越来越清晰地提取到图片中的人脸信息,但是人脸在整张图片中的位置信息却丢失了。因此还要进行自上而下的上采样过程,在保证高级语义信息未丢失的情况下,将得到的feature map再一步步还原回去,得到各种size的feature map。但是由于经过了不断的下采样和上采样,人脸的位置信息已经丢失了,所以我们在重新构建出来的层(P5,P4,P3)和相应的feature map之间构建横向连接,以使得检测器可以更好地预测人脸位置。这也是FPN的特点所在。

不同size的feature map是为了检测不同size的人脸。当人脸很小时,我们就用大尺寸的feature map去检测,当人脸很大时,我们就用小尺寸的feature map去检测。很好理解,人脸很小,你再用小尺寸(低分辨率)的feature map,肯定更难看清人脸了。

后续处理:对一个输入图像,我们的目的是产生该图像的热图。一个预测Y=1对应一个人脸中心,Y=0对应背景。面部分类的训练遵循CenterNet论文(Object as points)。对于每一个groud truth,我们采用高斯核来表示groud truth,从而计算等效热力图。

将下采样后的图像重新映射到原图像,调整下采样后的图像的中心位置,这里要计算一个中心点偏移量,采用L1 Loss。

box regression:真实人脸框被指定为G=(x1,y1,x2,y2),目标是将网络输出bounding box的位置(h,w)映射到特征图的中心点位置(x,y)

CenterFace模型框架详解 轻量级anchor-free人脸检测器_第4张图片

人脸框回归就是计算和真实人脸框之间的损失(这里用的是交叉熵损失吗?)。个人理解上面公式的意思是:将图像进行下采样,步长R=4,相当于把图像缩小了4倍,那么相应的真实人脸框也对应缩小四倍。

标志点回归:采用基于中心位置的目标归一化方法

 

就先写到这里吧,以后有想法再更新。

2021年4月9日09:18:43

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(CV,机器学习,计算机视觉,人工智能,python)