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,可以增加关键点辅助训练等。

相关推荐
土司大王3 小时前
LeetCode hot100——对称二叉树
算法·leetcode·职场和发展
sali-tec3 小时前
C# 基于OpenCv的视觉工作流-章106-差值追踪
图像处理·人工智能·opencv·算法·计算机视觉
Navigator_Z3 小时前
LeetCode //C - 1208. Get Equal Substrings Within Budget
c语言·算法·leetcode
手写码匠3 小时前
Dify 多 Agent 工具权限与安全沙箱实战:让智能体“有能力,但不越权“
人工智能·深度学习·算法·aigc
黎阳之光4 小时前
打破堆场感知黑盒:黎阳之光视频孪生,构建港口码头网格化透明管控新体系
大数据·人工智能·算法·安全·数字孪生
大模型码小白4 小时前
AI 对话流性能调优:万级消息的虚拟滚动落地
java·大数据·前端·javascript·人工智能·算法·机器学习
sel_95 小时前
【多轮对话论文导读(三)】多轮对话与Agent论文阅读笔记:用户模拟、轨迹生成与长期记忆
论文阅读·人工智能·笔记·深度学习·算法·机器学习
Asize5 小时前
438. 找到字符串中所有字母异位词
算法
YOLO数据集集合5 小时前
垃圾目标检测数据集 |垃圾检测 智慧环卫 城市管理 生活垃圾堆检测 生活垃圾 垃圾场 9023期
人工智能·目标检测·视觉检测·生活·垃圾检测·垃圾
Asize5 小时前
283. 移动零
算法