YOLO5Face 阅读笔记
YOLO5Face: Why Reinventing a Face Detector(ECCV 2022)
可以直接在检测器后面添加 head 用于 landmark回归,可以和车牌检测联想起来
摘要
- 动机:不重新设计人脸检测器,而是在YOLOv5的基础上进行设计
- 方法:添加 5 个 landmark 回归头,使用 Wing loss 函数
YOLO5Face Face Detector
Network Architecture(网络架构)
- 网络架构图:由backbone、neck和head组成。在YOLOv5中,使用了一个新设计的骨干网,称为CSPNet。在neck,一个SPP和一个PAN被用来聚合特征。在head,使用回归和分类分支
Key Modification(主要修改)
- landmark 回归头:在 YOLOv5 网络中添加了一个 landmark 回归头。Wing损失被用作它的损失函数
- Stem 块:用 Stem 块结构取代了 YOLOv5 的focus 层。它增加了网络的泛化能力,并降低了计算的复杂性,同时性能也没有下降
- SPP 块:更改 SPP 块使用更小的 kernel,使YOLOv5更适合人脸检测,提高检测精度
- P6 输出块:增加了一个 stride 为 64 的 P6 输出块。它提升了检测大型人脸的能力
- 数据增强:一些通用对象检测的数据增强方法不适用于人脸检测,包括上下翻转和马赛克。而随机裁剪有助于提高性能
- 轻量级模型:在 ShuffleNetV2 的基础上设计了两个超轻量级的模型。ShuffleNetV2 与 CSP 网络差别很大,它的模型很小,实现了嵌入式或移动设备的SOTA性能
Landmark Regression(Landmark 回归)
- landmark 输出将被用于对齐人脸图像,然后再输入到人脸识别网络
- Wing loss:
- 使用 wing loss 的原因:与 L2、L1 或 Smooth-L1 函数相比,Wing loss 在接近零的小误差区域的响应得到了提升
- 定义:
w i n g ( x ) = { w ⋅ l n ( 1 + ∣ x ∣ / e ) , i f < w ∣ x ∣ − C , o t h e r w i s e ( 1 ) wing(x)= \left\{ \begin{aligned} &w·ln(1+|x|/e),&if\space <w\\ &|x|-C,&otherwise \end{aligned} \right. \space(1) wing(x)={ w⋅ln(1+∣x∣/e),∣x∣−C,