论文地址
相关解读:
[论文笔记] 人脸检测方向系列论文
arxiv2019_AFD_HP

文章要点

  RetinaNet + focal loss
  UnitBox的IOU loss
  SRN的 2-step bbox cls/reg
  PyramidBox的data-anchor-sampling
  S3FD的max-out label
  multi-scale inference

模块简介

Focal Loss

  目标检测分为one-stage/two-stage,focal loss的论文提出one-stage检测性能不如two-stage的原因之一是训练过程中的正、负、难、易样本不均,因此通过施加权重因子来平衡:
L F L = { − α ∗ ( 1 − p ) γ ∗ l o g ( p ) , y = 1 − ( 1 − α ) ∗ p γ ∗ l o g ( 1 − p ) , y = 0 L_{FL}=\begin{cases} -\alpha*(1-p)^\gamma*log(p), & y=1 \\ -(1-\alpha)*p^\gamma*log(1-p), & y=0 \end{cases} LFL​={−α∗(1−p)γ∗log(p),−(1−α)∗pγ∗log(1−p),​y=1y=0​
  参考FocalLoss你真的懂吗?,式中 α \alpha α用来平衡样本的正负不均(通常正样本少于负样本,值设置为>0.5,提高对正样本的关注度), γ \gamma γ降低易分样本的损失贡献程度。最终形成对模型的关注度大小关系为: 正 难 > 负 难 > 正 易 > 负 易 正难>负难>正易>负易 正难>负难>正易>负易。

  关于Focal Loss论文中提到的变种,可以见AmSoftmax作者的文章被忽略的Focal Loss变种。


  Focal Loss论文中提及了RetinaNet网络结构是为了测试新损失函数性能,在结构上面没有专门进行优化,但这种结构由于具有多尺度检测能力,在end2end模型中有很多应用。本文也是以RetinaNet作为Baseline,使用ResNet-152作为主干网络,使用FPN模块输出6个分支。

IOU loss

  人脸检测的结果包含人脸置信度(分类)、人脸位置(回归),前者使用交叉熵(改进后为Focal Loss),后者通常使用Smooth L1 Loss计算预测位置的数值误差。评估人脸检测框的指标一般使用IOU,这与Smooth L1并不等价,在训练时使损失值减小并不能保证预测框与GT往更重合的方向收敛。UnitBox论文中提出使用IOU Loss:
L I o U = − l n I n t e r s e c t i o n ( B p , B g t ) U n i o n ( B p , B g t ) L_{IoU}=-ln\frac{Intersection(B_p,B_{gt})}{Union(B_p,B_{gt})} LIoU​=−lnUnion(Bp​,Bgt​)Intersection(Bp​,Bgt​)​
  但IOU Loss也存在无法优化两框不相交、相交时如何相交等问题,因此又出现了GIOU、DIOU、CIOU等方法。见
  目标检测回归损失函数简介:SmoothL1/IoU/GIoU/DIoU/CIoU Loss
  GIOU、DIOU、CIOU

SRN

  RetinaNet中实现了多个尺度的输出,并用Focal Loss平衡的正负难易,但不同尺度中浅层较深层的检测更密集,因此对应的分支输出数量更多,携带信息更少,依然存在imbalance问题。

  参考Selective Refinement Network,SRN在主干网络上输出6个分支,并且采用two-step策略,前3个分支实现小人脸检测,后3个分支实现人脸位置定位。

  • classification的1st-step到2nd-step会通过阈值过滤部分目标,避免得到大量的fp;
  • regression则认为前3层的小人脸信息较少,难以实现准确的位置定位,同时浅层网络的主要任务是检测小人脸,不应该在该阶段就强化模型对位置信息的提取。
      最终输出可以划分为 Selective Two-step Classification(STC)、Selective Two-step Regression(STR),损失函数分别为:
    L S T C ( { p i } , { q i } ) = 1 N s 1 ∑ i ∈ Ω L F L ( p i , l i ∗ ) + 1 N s 2 ∑ i ∈ Φ L F L ( q i , l i ∗ ) L S T R ( { x i } , { t i } ) = 1 N s 1 ∑ i ∈ Ψ [ l i ∗ = 1 ] L r ( x i , g i ∗ ) + 1 N s 2 ∑ i ∈ Φ [ l i ∗ = 1 ] L r ( t i , g i ∗ ) L_{STC}(\lbrace p_i \rbrace,\lbrace q_i \rbrace)=\frac{1}{N_{s_1}}\sum_{i\in\Omega}L_{FL}(p_i,l_i^*)+\frac{1}{N_{s_2}}\sum_{i\in\Phi}L_{FL}(q_i,l_i^*) \\ L_{STR}(\lbrace x_i \rbrace,\lbrace t_i \rbrace)=\frac{1}{N_{s_1}}\sum_{i\in\Psi}[l_i^*=1]L_r(x_i,g_i^*)+\frac{1}{N_{s_2}}\sum_{i\in\Phi}[l_i^*=1]L_r(t_i,g_i^*) LSTC​({pi​},{qi​})=Ns1​​1​i∈Ω∑​LFL​(pi​,li∗​)+Ns2​​1​i∈Φ∑​LFL​(qi​,li∗​)LSTR​({xi​},{ti​})=Ns1​​1​i∈Ψ∑​[li∗​=1]Lr​(xi​,gi∗​)+Ns2​​1​i∈Φ∑​[li∗​=1]Lr​(ti​,gi∗​)

data-anchor-sampling

  数据增广方面使用随机扩充/裁剪/翻转/颜色抖动,并且以0.5的概率使用PyramidBox中的data-anchor-sampling进行图像处理。


  主要过程:

  • 从训练图像中选取一张人脸;
  • 根据人脸按 2 i 2^i 2i确定尺度最接近的 i i i值大小;
  • 从 { 0 , . . . , m i n ( 5 , i + 1 ) } \lbrace0,...,min(5,i+1)\rbrace {0,...,min(5,i+1)}中随机选取一个作为目标缩放尺度 S t a r g e t S_{target} Starget​;
  • 以 S t a r g e t S_{target} Starget​为中心,从 ( S t a r g e t / 2 , S t a r g e t ∗ 2 ) (S_{target}/2,S_{target}*2) (Starget​/2,Starget​∗2)连续域中随机选取一个值作为真正的缩放尺度,并对整张图像进行缩放;
  • 以缩放后图像中目标人脸为中心,截取一个640*640(依据网络的输入大小)的图像,如果超出边界以黑色像素填充。

max-out label

  通过anchor密集采样可以召回小目标,但会存在大量误检。因此对每个anchor的每个类别输出多个置信度,再取最大值作为每个类别的置信度。相当于多增加一些分类器分析特征信息,增加分析的鲁棒性。

multi-scale inference

  多尺度目标检测推理过程中的处理策略,将待检测的图像resize成多个尺度分别送入模型进行推理,将结果通过投票机制融合输出。

训练参数

参数名 设定值
参数初始化 xavier
优化算法 SGD
momentum 0.9
weight decay 0.0001
batch size 32
end_epoch 130
学习率初始化策略 前5个epoch从0.0003125到0.01
学习率衰减策略 100、120分别除以10

   Anchor Detail

IOU 负样本 丢弃 正样本
STC 0 ~ 0.3 0.3 ~ 0.7 > 0.7
STR 0 ~ 0.4 0.4 ~ 0.5 > 0.5

  

  

论文学习 AInnoFace:Accurate Face Detection for High Performance相关推荐

  1. 深度学习论文阅读目标检测篇(一):R-CNN《Rich feature hierarchies for accurate object detection and semantic...》

    深度学习论文阅读目标检测篇(一):R-CNN<Rich feature hierarchies for accurate object detection and semantic segmen ...

  2. 【论文学习】MKIoU Loss: Towards Accurate Oriented Object Detection in Aerial Images

    [论文学习]MKIoU Loss: Towards Accurate Oriented Object Detection in Aerial Images 在本文中,提出了一种近似 SkewIoU 的 ...

  3. softer-nms论文学习详解(Bounding Box Regression with Uncertainty for Accurate Object Detection)

    <Bounding Box Regression with Uncertainty for Accurate Object Detection> 论文地址: https://arxiv.o ...

  4. 目标检测经典论文——R-CNN论文翻译:Rich feature hierarchies for accurate object detection and semantic segmentation

    Rich feature hierarchies for accurate object detection and semantic segmentation--Tech report (v5) 用 ...

  5. 【论文精读】Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation(R-CNN)

    论文Title:Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation.发表于2014年. 本 ...

  6. 论文解读 | Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation

    论文地址:Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation GitHub地址: http ...

  7. 论文学习笔记《SWA Object Detection》

    这是一篇2020年年底挂在arxiv上的论文,主要思想很简单,就做了一件事情:采用周期性学习率迭代策略(余弦退火算法)额外再训练模型12个epoch,然后平均每个epoch训练得到的weights作为 ...

  8. 【论文学习】《A Overview of Spoof Speech Detection for Automatic Speaker Verification》

    <A Overview of Spoof Speech Detection for Automatic Speaker Verification>论文学习 文章目录 <A Overv ...

  9. End-to-End Object Detection with Transformers,DETR论文学习

    End-to-End Object Detection with Transformers,DETR论文学习 1. 引言 2. 本论文发表前的目标检测策略(非端到端的目标检测策略) 2.1 目标检测的 ...

最新文章

  1. MySQL具体解释(21)------------缓存參数优化
  2. 【手写系列】透彻理解Spring事务设计思想之手写实现
  3. 再谈 Application ProvidedAar
  4. P4357-[CQOI2016]K远点对【K-Dtree】
  5. 中科大 计算机网络8 协议层次和服务模型
  6. jQuery.html()方法ie下不能设置html代码的问题
  7. 【项目调研+论文阅读】基于BERT的中文命名实体识别方法[J] | day6
  8. oracle12c正在检查环境变量,oracle11g安装客户端检查先决条件失败
  9. 基于GEE平台实现湖泊水位与水体面积关系分析
  10. php tp5 plugins,thinkphp5(tp5)使用cli模式运行
  11. linux 删除文件的最后一行
  12. Python 批量转化doc文件为docx文件
  13. 非对称加密算法--RSA
  14. axure原型怎么让文字自动换行_Axure动态面板教程(快速入门+轮播图案例)
  15. 小黑小波比.极客学院.android自学笔记
  16. 【软件工程】 软件工程及开发模型
  17. 【监督学习】第三课(机器学习,折半算法,专家算法,感知机perceptron,Winnow,在线学习)
  18. 【泄漏类】android7.0 system_server发生global reference table overflow问题分析
  19. 电力系统【第八章:电力系统不对称故障的分析与计算】
  20. C++小型公司人员信息管理系统(多态)

热门文章

  1. 【练习八 结构体(强化)编程题4. 看电影】
  2. sqlitespy可以打开MySQL吗_SQLite 数据库访问
  3. HTML静态网页作业——基于html+css+javascript+jquery+bootstarp响应式成都家乡介绍网页...
  4. Python Set 与 dict
  5. C++实现空间中两个三角形位置关系(相交、平行)的判断
  6. 【背包DP】【2018.9.20普及组模拟】T3(WOJ 3975)保护羊村
  7. [11] 微信公众帐号开发教程第11篇-符号表情的发送(上)
  8. 大卫 异星觉醒 机器人_《异星觉醒》披着科幻外衣的老套惊悚片
  9. vue2中provide/inject的使用和响应式传值
  10. linux查找不到kde桌面,观点|KDE Plasma 5 —— 给尚未确定桌面环境的 Linux 用户指明道路...