人脸检测是计算机视觉的重要任务。它的目标是找出图片中所有人脸的位置。这项技术应用广泛。手机解锁需要人脸检测。相机自动对焦需要人脸检测。安全监控需要人脸检测。研究人脸检测的论文很多。这些论文推动了技术发展。了解这些论文对学习很有帮助。
早期的人脸检测方法基于手工特征。Viola和Jones在2001年提出了一个经典方法。他们的论文很重要。这个方法速度快。它能在当时普通的电脑上运行。这个方法使用了一种叫“积分图”的工具。积分图能快速计算矩形区域的像素和。这个方法还使用了“Haar特征”。Haar特征描述了图像中明暗区域的变化。这个方法还采用了“AdaBoost算法”。AdaBoost算法能挑选出有用的特征。最后这个方法用了“级联分类器”。级联分类器像一道多层的过滤网。简单的分类器在前。复杂的分类器在后。大部分没有人脸的窗口被快速reject掉。只有少数窗口需要仔细检查。这个框架影响深远。很多后续工作都受它启发。
随着数据量增大和计算能力提升,基于深度学习的方法成为主流。卷积神经网络非常强大。它能自动学习图像的特征。2015年,一种叫FasterR-CNN的论文出现了。它本来是做通用物体检测的。但它对人脸检测也很有用。它提出了“区域提议网络”。这个网络能预测可能存在物体的区域。这种方法检测精度高。但它的速度有时不够快。人脸检测常常要求实时处理。手机拍照不能等太久。
研究人员开始设计专门针对人脸的检测器。2016年的论文“MTCNN”很有名。MTCNN是“多任务卷积神经网络”的缩写。它采用了三个阶段的金字塔网络。第一个阶段快速生成大量候选窗口。第二个阶段refine这些窗口。第三个阶段更精确地定位人脸并标出关键点。关键点指眼睛、鼻子、嘴巴的位置。MTCNN在精度和速度间取得了不错平衡。它的代码也公开了。很多研究者用它作为基础。
人脸检测面临很多挑战。人脸的表情会变化。人会笑,会皱眉。人脸的姿态会变化。人脸可能转向侧面,可能低头。遮挡是一个大问题。人脸可能被眼镜、口罩、头发挡住。光照条件影响很大。强光下可能过曝。暗光下可能太黑。人脸大小差异很大。近处的人脸大。远处的人脸很小。密集人群检测更难。人脸可能挤在一起。
为了解决尺度问题,研究人员想了办法。特征金字塔网络是一个好想法。这个想法出现在多篇论文中。低层网络特征分辨率高。它适合检测小人脸。高层网络特征语义信息强。它适合检测大人脸。把不同层的特征结合起来效果更好。这样一张网络就能看到各种尺度。
锚框是另一个重要概念。锚框是一些预设的框。它们有不同的大小和长宽比。网络的任务是调整这些锚框。让它更紧密地框住人脸。锚框设计得好。检测器就更容易训练。
后来出现了“无锚框”的方法。这些方法认为锚框设计很麻烦。锚框的大小和比例需要人工设定。无锚框方法直接预测人脸的角点或中心点。它们也取得了很好的效果。选择锚框方法还是无锚框方法取决于具体任务。
损失函数指导网络如何学习。分类损失告诉网络有没有人脸。回归损失告诉网络框的位置准不准。对于密集人脸,损失函数需要特别处理。不能让一个框只关注最近的人脸。论文经常讨论“困难样本挖掘”。难分的样本对网络提升帮助大。重点训练这些样本效率更高。
数据集是训练的基础。公开数据集推动领域进步。WiderFace数据集很常用。它包含各种尺度、姿态、遮挡的人脸。它有上万张图片。标注了数十万个人脸。研究者在这个数据集上比赛。好的方法精度高。另一个数据集是FDDB。它用于评估检测器的性能。
模型轻量化是实际应用的需求。检测器要放到手机里。手机的计算资源有限。模型必须小,必须快。一种方法是设计轻量网络。MobileNet使用了深度可分离卷积。它减少了计算量。ShuffleNet通过通道混洗来传递信息。这些网络backbone可以用于人脸检测。模型剪枝也能减小模型。剪枝去掉不重要的连接。知识蒸馏让小模型学大模型的行为。量化将模型参数从浮点数变成整数。整数运算更快更省电。
人脸检测不只是框出人脸。它常常和关键点检测一起做。关键点就是人脸的特征点。五点关键点包括两个眼睛中心、鼻尖、两个嘴角。六十八点关键点描述了更精细轮廓。关键点有助于判断人脸姿态。关键点对后续步骤有用。比如人脸识别、表情分析、美颜特效。
一些最新的论文关注更难的场景。他们研究在极端光照下检测人脸。他们研究对视频进行稳定检测。他们研究检测非常模糊的人脸。他们研究在保证精度的前提下让模型更快。这些论文不断推进技术的边界。
读论文要关注几个部分。摘要说明文章做了什么。引言介绍问题和现有方法。方法部分详细讲网络结构、损失函数、训练技巧。实验部分展示结果和比较。图表帮助理解。结论总结工作。
实践非常重要。只看论文不够。下载开源代码自己运行。用自己的图片测试。调整参数观察变化。尝试复现论文结果。动手能加深理解。
人脸检测技术还在发展。新的论文不断出现。关注顶级会议。CVPR、ICCV、ECCV的论文质量高。关注arXiv网站。上面有很多最新预印本。坚持阅读。保持思考。将想法付诸实现。技术进步就是这样一点点积累的。