【OpenVI—论文解读系列】ICLR 2023 | 开源轻量人脸检测DamoFD

简介: 本文介绍我们被机器学习顶级国际会议ICLR 2023接收的论文 “DamoFD: Digging into Backbone Design on Face Detection"论文链接:https://openreview.net/pdf?id=NkJOhtNKX91开源代码:https://github.com/ly19965/EasyFace/tree/master/face_project/face_detection/DamoFD

一、背景

1. 人脸检测问题定义

      人脸检测算法是在一幅图片或者视频序列中检测出来人脸的位置,给出人脸的具体坐标,一般是矩形坐标,它是人脸关键点、属性、编辑、风格化、识别等模块的基础。学术界用来衡量人脸检测器性能的benchmark是[WiderFace](WIDER FACE: A Face Detection Benchmark),该数据集主要明确了人脸检测器面对的一些挑战,包括scale,pose,occlusion等。本文的研究问题是如何自动搜索轻量级人脸检测器的backbone?

image.png

图片来自Wider Face 官网


2. 轻量人脸检测器发展

Manual 轻量级人脸检测器设计: 早期的轻量级人脸检测器(FaceBoxes & BlazeFace)均采用Single-stage目标检测器的结构(SSD),并替换为自己手工设计的backbone模块(e.g., Faceboxes引入了Crelu,BlazeFace 引入了DW Conv )。这些方法的共同弊端是无法随着算力约束的变化而自动调整人脸检测器结构,限制了其应用场景。

2.png图片来自FaceBoxes 论文

Nas-Based 轻量级人脸检测器: 随着Neural Architecture Search(NAS)技术的兴起,研究人员开始利用Nas来自动化设计人脸检测器的结构, e.g., SPNas in BFBox, DARTS in ASFD,RegNet in SCRFD。SCRFD借鉴了RegNet的思想确定了检测器的搜索空间,并打造了sota性能的轻量级人脸检测器。下图为SCRFD得到的在backbone上的最优算力分配区间

3.png

图片来自SCRFD论文

二、方法

1. Motivation

      目前的Nas方法主要由两个模块组成,网络生成器和精度预测器。其中网络生成器用于生成候选的backbone结构,精度预测器用来对采样的backbone结构预测精度。由于检测和分类的任务目标不一致,前者更重视backbone stage-level (c2-c5)的表征,而后者更重视high-level(c5)的表征,这就导致了用于分类任务上的精度预测器擅长预测high-level的表征能力而无法预测stage-level的表征能力。因此,在人脸检测任务上,我们需要一个可以预测stage-level表征能力的精度预测器来更好的搜索face detection-friendly backbone。


2. Preliminaries

     首先我们介绍下与我们方法相关的背景知识:

4.png5.png


3. Method

     针对如何设计可以预测stage-level表征能力的精度预测器,我们从刻画network expressivity的角度出发,创新性地提出了SAR-score来无偏的刻画stage-wise network expressivity,同时基于数据集gt的先验分布,来确定不同stage的重要性,进一步提出了DDSAR-score 来刻画detection backbone的精度。


3.1 Adopt Theorem2 to charaterize stage-level network expressivity

1.png

3.2 Two issues ocuur

7.png8.png9.png

3.3 Stage-aware Expressivity Score

10.png

设计准则:
11.png

111.png

3.4 Filter Sensitivity Score

12.png

3.5 SAR-Score and DDSAR-Score

13.png

3.6 Serch Space and Evolutionary Architecture Search

14.png

15.png

三、结果

16.png

四、展望与应用

  • 减少对超参敏感性:我们在实验的过程中发现DDSAR搜索轻量级(500m)的检测结构时对超参不太敏感,很快就会得到不错的结构,但是搜2.5G, 10G和34G Flops下的检测结构时对超参比较敏感,需要对\alpha以及搜索空间进行调整。可能原因是我们的filter sensitity score 为了加速计算过程,只能近似反应对filter size的敏感性,后续可以从其他角度优化下上述的暴力枚举过程。
  • 增强方法在不同检测任务上的普适性: 我们的DDSAR-score是用来刻画检测器表达能力的score,理论上应该在不同检测任务上都应该做的很好。我们目前只考虑了数据集gt的分布,但是不同检测数据集还有数据质量,数据集规模的差异,可以围绕data-centric的思想来对数据集的质量, 数据增强等维度来进一步建立数据集和精度预测器之间的关系,从而实现在不同检测任务上都很有效。
  • 更精准的计算网络linear region的数量: 通过linear region的数量来刻画网络的表达能力在ML领域发表了很多paper,可以尝试下更精准的bound或者exact number fo linear region。

五、更多体验

想体验调用稳定、效果更好的API,详情见视觉开放智能平台(https://vision.aliyun.com/

 


相关文章
|
机器学习/深度学习 存储 并行计算
一篇就够:高性能推理引擎理论与实践 (TensorRT)
本文分享了关于 NVIDIA 推出的高性能的深度学习推理引擎 TensorRT 的背后理论知识和实践操作指南。
15303 9
一篇就够:高性能推理引擎理论与实践 (TensorRT)
|
前端开发 数据可视化 JavaScript
前端图形学实战: 100行代码实现几何画板的撤销重做等功能(vue3 + vite版)
前端图形学实战: 100行代码实现几何画板的撤销重做等功能(vue3 + vite版)
435 0
|
弹性计算 开发工具 git
2分钟在阿里云ECS控制台部署个人应用(图文示例)
作为一名程序员,我在部署托管于Github/Gitee的代码到阿里云ECS服务器时,经常遇到繁琐的手动配置问题。近期,阿里云ECS控制台推出了一键构建部署功能,简化了这一过程,支持Gitee和GitHub仓库,自动处理git、docker等安装配置,无需手动登录服务器执行命令,大大提升了部署效率。本文将详细介绍该功能的使用方法和适用场景。
2分钟在阿里云ECS控制台部署个人应用(图文示例)
|
索引
bisect_left,bisect_right,bisect的用法,区别以及源码分析
bisect_left,bisect_right,bisect的用法,区别和源码分析
1007 0
bisect_left,bisect_right,bisect的用法,区别以及源码分析
|
Java
Java“缺少返回语句”解决
在 Java 中,错误信息“缺少返回语句”表示方法应返回某种类型但未在所有路径中提供返回值,导致编译错误。解决方法包括:确保每个控制路径中有返回值;处理所有分支和异常情况;或将方法声明为 `void` 类型以避免返回值需求。
644 3
|
人工智能 小程序 前端开发
【一步步开发AI运动小程序】六、人体骨骼图绘制
随着AI技术的发展,阿里体育等公司推出的AI运动APP如“乐动力”、“天天跳绳”等,使云上运动会、线上健身等概念广受欢迎。本文将引导您从零开始,利用“云智AI运动识别小程序插件”,在小程序中实现类似功能,包括人体骨骼图的绘制原理及其实现代码,确保骨骼图与人体图像精准重合。下篇将继续介绍运动分析方法。
|
网络协议 Linux 开发者
Linux|最佳命令行下载加速器
Linux|最佳命令行下载加速器
Linux|最佳命令行下载加速器
|
开发框架 前端开发 JavaScript
利用Spire.Pdf实现PDF添加印章的操作
利用Spire.Pdf实现PDF添加印章的操作
|
决策智能 开发者
Multi-Agent实践第8期:轻松拖拽搭建多智能体应用
AgentScope Workstation令多智能体应用的搭建变得轻而易举,只需简单拖拽操作,每位用户都能快速打造出丰富多彩的应用。
|
算法框架/工具 计算机视觉 Docker
YOLOv5源码逐行超详细注释与解读(1)——项目目录结构解析
YOLOv5源码逐行超详细注释与解读(1)——项目目录结构解析
2959 1
YOLOv5源码逐行超详细注释与解读(1)——项目目录结构解析

热门文章

最新文章