YOLO5Face算法解读

论文:YOLO5Face: Why Reinventing a Face Detector

链接:https://arxiv.org/abs/2105.12931v1

机构:深圳神目科技&LinkSprite Technologies(美国)

开源代码:https://github.com/deepcam-cn/yolov5-face

目录

1、算法概述

作者在yolov5通用目标检测器的基础上做了针对性改进,使得利用yolov5的主体框架来检测人脸。对yolov5的关键性修改如下:

  • (1)、在 YOLOv5 网络中加了一个关键点 regression head。损失函数用 Wing loss。
  • (2)、用 Stem 块结构取代 YOLOv5 的 Focus 层。增加了网络的泛化能力,并降低了计算的复杂性,同时性能也没有下降。
  • (3)、对 SPP 块进行了改变,使用一个更小的 kernel(内核)。促使 YOLOv5 更适合于人脸检测,并提高检测精度。
  • (4)、增加一个 stride 为 64 的 P6 输出块。可以增加检测大型人脸的能力。
  • (5)、作者发现,一些用于一般目标检测的数据增强方法并不适合用于人脸检测,包括 up-down flipping 和 Mosaic。去除 up-down flipping 性能会改善。当使用小图像时,Mosaic 增强法会降低性能。然而,当小脸被忽略时,它的效果很好。随机剪裁有助于提高性能。
  • (6)、设计两个基于 ShuffleNetV2 的超轻量级模型。其骨干网与 CSP 网络大不相同。这些模型超级小,同时实现了嵌入式或移动设备的 SOTA 性能。
    整体网络结构如下:

    其中图中红色部分为作者基于yolov5结构做的修改。
    Stem用于替换原来yolov5结构中的focus层,其结构如下:

2、实验结果

作者用WiderFace人脸库训练,用FDDB数据库作为测试。和现在最近的人脸检测器比对,其结果如下:

3、算法特点

Yolov5检测算法,它是通用目标检测算法,人脸检测是其中一个特殊情况,人脸检测有其特殊性,比如长宽比1:1,可以增加关键点辅助训练等。

相关推荐
PAK向日葵4 小时前
【算法导论】PDD 0817笔试题题解
算法·面试
TY-20255 小时前
【CV 目标检测】Fast RCNN模型①——与R-CNN区别
人工智能·目标检测·目标跟踪·cnn
地平线开发者6 小时前
ReID/OSNet 算法模型量化转换实践
算法·自动驾驶
地平线开发者6 小时前
开发者说|EmbodiedGen:为具身智能打造可交互3D世界生成引擎
算法·自动驾驶
星星火柴9367 小时前
关于“双指针法“的总结
数据结构·c++·笔记·学习·算法
艾莉丝努力练剑8 小时前
【洛谷刷题】用C语言和C++做一些入门题,练习洛谷IDE模式:分支机构(一)
c语言·开发语言·数据结构·c++·学习·算法
C++、Java和Python的菜鸟10 小时前
第六章 统计初步
算法·机器学习·概率论
Cx330❀10 小时前
【数据结构初阶】--排序(五):计数排序,排序算法复杂度对比和稳定性分析
c语言·数据结构·经验分享·笔记·算法·排序算法
散11210 小时前
01数据结构-Prim算法
数据结构·算法·图论
起个昵称吧10 小时前
线程相关编程、线程间通信、互斥锁
linux·算法