Scale-Aware Face Detection

本文介绍了《Scale-Aware Face Detection》中的人脸检测方法,包括Scale Proposal Network (SPN) 和Single Scale RPN (SS-RPN)两个阶段。SPN预测人脸可能存在的尺度,而SS-RPN则在相应尺度上进行人脸检测。使用了5个人脸关键点来定义新的bounding box,并通过高斯分布弱化标注误差的影响。这种方法在人脸较少时表现出良好的速度优势。
部署运行你感兴趣的模型镜像

2017CVPR 文章链接: 《Scale-Aware Face Detection》

对于人脸检测,通常我们需要采用各种手段小心的处理多尺度的问题。事实上,对于很多待检测图像,其只在某个尺度上才有人脸存在。如果我们可以“提前预知”哪些尺度上存在人脸,就可以针对性的进行检测从而减少计算量。

1. 方法介绍

整个检测分为两个阶段:

  • stage1,输入缩小的图片进入Scale Proposal Network (SPN) 来预测在哪个尺度上存在人脸。
  • stage2,将图片按照尺度预测结果进行缩放,然后送入Single Scale RPN (SS-RPN)检测人脸。

2. 要点介绍

(1)Scale Proposal Network (SPN)

如上图,SPN网络为全卷积网络,可以接受任意大小的输入,并在最后通过Global Max Pooling来获得固定的 \(1 \times1 \times n\)大小的概率输出。 \(n\) 表示 \(n\)种不同的尺度,其为精心设计的 等比数列,定义如下:

假设最大和最小检测人脸分别为 \(l_{max}\) 和 \(l_{min}\),并定义指数范围为\(s_n = \log_2l_{max}\) 和 \(s_0 = \log_2l_{min}\)。 则相邻尺度的间隔为: \(d = (s_n-s_0)/n\)。

于是,最后第 \(i\) 个输出对应的人脸尺度范围为:

\([2^{s_0+(i-1)d},2^{s_0+id})\)

(2)Ground truth preparation

训练SPN所用的label该如何生成?

首先需要注意的一点是,标注bounding box存在很强的主观性,这也就意味着标记的人脸尺寸很可能不准。为了弱化这种主观偏差,这里采用5个人脸关键点来定义新的bounding box:

其中,\(o_x,\ o_y, \ o_s\) 为所有样本共享的offset参数。

有了人脸尺寸后,我们不是简单地将label置为非0即1(出现该尺寸则label置为1,否则置为0),因为这样很容易受噪声影响。 同样为了弱化这种影响,这里采用相对平滑的高斯分布来分配label。

其中的方差因子 \(\sigma\) 与ground truth的误差分布以及检测器窗口大小有关,文中实验设置为 \(\sigma = 0.4\)。

当有多个尺度的人脸时,最终的label是取多个高斯分布在对应位置的最大值而不是加和。总之思想类似于下图:

(3)Scaling strategy generation

怎样对SPN的输出进行后处理?

如上图,采用滑动窗口对SPN的输出进行平滑处理,窗口大小为检测器处理范围的一半; 然后采用一维NMS寻找极值点。

3. 分析

  • (1)在FDDB上表现中等

因为一旦尺度估计有问题,后续几乎无法弥补。

  • (2)人脸较少时,速度不错

所以,这种策略可以用在一些特殊场景下,算作一种不错的自适应策略。

您可能感兴趣的与本文相关的镜像

Linly-Talker

Linly-Talker

AI应用

Linly-Talker是一款创新的数字人对话系统,它融合了最新的人工智能技术,包括大型语言模型(LLM)、自动语音识别(ASR)、文本到语音转换(TTS)和语音克隆技术

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值