PIP-Net:面向高效人脸关键点检测.

人体姿态估计、手部姿态估计和人脸关键点检测,都可以看成是一种关键点定位任务。对于这一类任务,目前主流做法大致上可分为Heapmap-basedRegression-Based两派。

本文立足于人脸关键点检测任务,由于人脸近似于刚体这样的性质,要求网络保证所有关键点的排布尽量连续,全局形状尽量稳定,不要有太大的变形。作者在HeatmapRegression在全局形状保持能力上进行了实验,分析了两种方法优劣产生的原因。

通过对比可以发现,Regression方法存在着大量点位不够贴合,对于眨眼、咧嘴等细微动作反馈不到位的问题。尽管在平均误差指标上,Heatmap方法比起Regression方法有优势,但对于关键点的连续性、相对位置的稳定性,表现却是不如Regression方法的,尤其是在一些比较极端的视角或遮挡下,关键点之间出现了明显的不连续;而Regression依然能保持一个较好的整体形状,具有更好的鲁棒性。

Heatmap方法实际上是在空间维度上做特征匹配,是卷积核在特征图平面上“滑动”,更多地关注和利用的是局部信息,每一个关键点的计算是独立的。而Regression方法则不同,所有的关键点计算是同时完成的,共享了同一份特征信息。本文作者认为,这是影响定位点鲁棒性的关键。

作者在纯黑图片与非人脸图片上进行实验。Heatmap方法在纯黑图片上同样能输出具有正常轮廓的人脸形状,这说明模型确实记住了关键点之间的位置关系;但在非人脸图像上,Heatmap方法预测的关键点形状明显崩坏了不少,这表明特征匹配的特性会破坏形状的连续。Regression方法的结果在非人脸图像上依然能保持较好的人脸形状,这说明Regression具有更好的鲁棒性。

作者希望能同时从HeatmapRegression方法中获益,提出Pixel-in-Pixel (PIP)模块,特征图上的每一格都同时预测关键点的存在性得分和关键点相对于本格左上角的偏移。模型相当于同时在做HeatmapRegression,靠Heatmap特征匹配来确定关键点的粗略位置,再在小范围内依靠Regression补充出精确位置。

由于下采样得到的特征图分辨率是小于输入图片的,因此不可避免地会有一些关键点落在Heatmap的同一格里,这使得这些点在Regression时依赖了同一块区域特征,从而获得了形状的鲁棒。Heatmap在做特征匹配时有可能相邻的点匹配到了相隔较远的地方,于是作者又提出Neighbor Regression Module (NRM)模块,让原本每一格除了预测一个关键点,还要预测周围最近的关键点。

PIP+NRM实际上是对HeatmapRegression两种形式的统一。随着下采样率的提升,分辨率会越来越小,分类任务的难度会降低,回归任务的难度在提升。在极端情况下,输入图片可以被下采样成一个像素,在这个情况下,分类任务退化成了一个0-1分类问题,彻底丧失了空间信息;回归头变成了标准Regression方法的形式,在整张图片尺度上预测关键点坐标。在另一种极端情况下,输入图片不进行任何下采样,此时分类头退化成标准Heatmap方法的形式,而回归头失去了意义。