RT-DTER创新改进系列:SlideLoss的加权函数来关注难易样本之间的不平衡问题,解决样本不平衡,提升模型鲁棒性!
RT-DTER创新改进系列SlideLoss的加权函数来关注难易样本之间的不平衡问题解决样本不平衡提升模型鲁棒性购买相关资料后畅享一对一答疑畅享超多免费持续更新且可大幅度提升文章档次的纯干货工具这个融合策略的核心思想是将一个专注于实时性的检测模型RT-DTER与一个专门为时序一致性设计的损失函数SlideLoss相结合以期在视频目标检测任务中同时实现高速度、高精度和高时序稳定性。前言为什么要融合—— 解决的问题融合的动机源于视频目标检测中固有的挑战以及单个技术的局限性。1. 核心问题视频检测 vs. 图像检测图像检测将视频的每一帧视为独立的图片进行检测。优点是可以直接利用强大的图像检测模型缺点是完全忽略了帧与帧之间的时序关联信息。视频检测的现实挑战运动模糊目标快速移动导致图像模糊。遮挡目标被其他物体或场景部分遮挡。外观突变光照变化、视角变化导致目标外观剧烈改变。视频抖动摄像头不稳定带来的噪声。在以上情况下单纯依赖单帧外观信息的图像检测器很容易出现漏检、误检、ID跳变等问题。2. RT-DTER 的贡献与局限它是什么RT-DTER 是一个典型的实时视频目标检测器。它的设计重点在于推理速度通过一些轻量级的结构如时序特征聚合模块来利用邻近帧的信息以保证在视频流上能达到实时处理。它的优势快。它解决了“能不能实时跑起来”的问题。它的局限为了追求速度其时序建模能力可能不够强大或精细。它可能只是简单地聚合几帧特征但对于如何保证检测结果在时间轴上的平滑性和一致性可能缺乏显式的、强有力的约束。它的损失函数可能更侧重于单帧的定位和分类精度。3. SlideLoss 的贡献与局限它是什么SlideLoss 是一种专门为时序一致性设计的损失函数。它的核心思想不是在空间维度上而是在时间维度上“滑动”一个窗口计算这个窗口内预测结果的稳定性。它的工作原理对于一个视频片段它计算连续几帧如t-1, t, t1对同一个目标的预测结果如边界框坐标。然后它设计一种损失项来惩罚这些预测在时间上的剧烈波动。例如鼓励相邻帧的边界框中心点和尺寸变化平缓。这种损失直接作用于模型训练过程“教会”模型不仅要预测得准还要预测得稳。它的优势稳。它显式地解决了时序一致性问题能有效减少抖动、闪烁和ID切换。它的局限它只是一个损失函数不是一个完整的检测模型。它需要与一个主干检测模型如RT-DTER结合使用才能发挥作用。融合的写作切入点总结RT-DTER 提供了一个快速的检测骨架但可能在“稳”上有所欠缺SlideLoss 提供了一个让检测结果变“稳”的指导原则但自身不能检测。将它们融合是典型的“强强联合”、“取长补短”目标是打造一个既快又稳的视频检测系统。全文翻译如下YOLO-FaceV2一种尺度与遮挡感知的人脸检测器摘要近年来基于深度学习的人脸检测算法取得了巨大进展。这些算法通常可分为两类即像Faster R-CNN这样的两阶段检测器和像YOLO这样的单阶段检测器。由于在准确性和速度之间取得了更好的平衡单阶段检测器已在许多应用中得到广泛使用。本文中我们提出了一种基于单阶段检测器YOLOv5的实时人脸检测器名为YOLO-FaceV2。我们设计了一个名为RFE的感受野增强模块来增强小人脸感受野并使用NWD损失来弥补IoU对小目标位置偏差的敏感性。针对人脸遮挡我们提出了一个名为SEAM的注意力模块并引入排斥损失Repulsion Loss来解决它。此外我们使用一个名为Slide的加权函数来解决难易样本之间的不平衡问题并利用有效感受野的信息来设计锚框。在WiderFace数据集上的实验结果表明我们的人脸检测器在简单Easy、中等Medium和困难Hard子集上的性能均优于YOLO及其变体。源代码位于 https://github.com/Krasjet-Yu/YOLO-FaceV2关键词–人脸检测YOLO尺度感知损失函数不平衡问题1 引言人脸检测是许多人脸相关应用如人脸识别、人脸验证和人脸属性分析等中的关键步骤。近年来随着深度卷积神经网络的蓬勃发展人脸检测器的性能得到了极大提升。许多基于深度学习的高性能人脸检测算法被提出。通常这些算法可以分为两个分支。一个分支是典型的基于深度学习的人脸检测算法[1, 2, 3]它们使用神经网络的级联方式作为特征提取器和分类器以从粗到细的方式检测人脸。尽管取得了巨大成功但需要注意的是级联检测器存在一些缺点例如训练困难且检测速度慢。另一个分支是从通用目标检测算法[4, 5, 6]改进而来。通用目标检测器考虑了更常见的物体特征和更广泛的物体特性。因此特定任务的检测器可以共享这些信息然后通过特殊设计来增强其显著特性。一些流行的人脸检测器包括YOLO [7, 8, 9, 10]、Faster R-CNN [5]和RetinaNet [6]都属于此类。本文中受YOLOv5 [11]、TridentNet [12]和FAN [13]中的注意力网络启发我们提出了一种新颖的人脸检测器在单阶段人脸检测中达到了最先进水平。尽管深度卷积网络显著改善了人脸检测但在现实场景中检测尺度、姿态、遮挡、表情、外观和光照变化大的面部仍然是一个巨大的挑战。在我们之前的工作中我们提出了YOLO-Face [14]这是一种基于YOLOv3 [9]的改进人脸检测器主要关注尺度变化问题设计了适合人脸的锚框比例并使用了更精确的回归损失函数。在WiderFace [15]验证集上的Easy、Medium和Hard子集的mAP分别达到了 (0.899)、 (0.872) 和 (0.693)。自那时起各种新检测器被提出人脸检测性能得到了显著提高。然而对于小目标单阶段检测器必须以更细的粒度划分搜索空间因此容易导致正负样本不平衡的问题[16]。此外复杂场景中的人脸遮挡[13]显著影响人脸检测器的准确性。旨在解决变化的人脸尺度、难易样本不平衡和人脸遮挡问题我们提出了一种基于YOLOv5的人脸检测方法称为YOLO-FaceV2。通过仔细分析人脸检测器遇到的困难以及YOLOv5检测器的不足我们实施了以下解决方案。多尺度融合在许多场景中图像中通常存在不同尺度的人脸这对人脸检测器全部检测它们来说非常困难。因此解决不同尺度的人脸是人脸算法的一项非常重要的任务。目前解决尺度变化问题的主要方法是构建金字塔来融合人脸的多尺度特征[17, 18, 19, 20]。例如在YOLOv5中FPN [20]融合了P3、P4和P5层的特征。然而对于小尺度目标信息在经过多层卷积后很容易丢失即使是在较浅的P3层保留的像素信息也非常少。因此增加特征图的分辨率无疑有利于小目标的检测。注意力机制在许多复杂场景中经常发生人脸遮挡这是人脸检测器精度下降的主要原因之一。为了解决这个问题一些研究人员尝试使用注意力机制进行人脸特征提取。FAN [13]提出了一种锚点级注意力。他们建议解决方案是保持未遮挡区域的响应值并通过注意力机制补偿被遮挡区域减少的响应值。然而它没有充分利用通道间的信息。难样本在单阶段检测器中许多边界框没有被迭代地过滤掉。因此单阶段检测器中简单样本的数量非常大。在训练期间它们的累积贡献主导了模型的更新导致模型过拟合[16]。这被称为样本不平衡问题。为了解决这个问题Lin等人提出了Focal Loss动态地为困难样本分配更多权重[6]。类似于Focal Loss梯度调和机制GHM[21]抑制来自正负简单样本的梯度以更关注困难样本。Cao等人提出的Prime Sample Attention (PISA) [22] 根据不同的标准对正负样本分配权重。然而当前的难样本挖掘方法需要设置过多的超参数这在实践中非常不便。锚框设计如[23]所指出的CNN特征图中的一个区域有两种类型的感受野理论感受野theoretical receptive field和实际感受野actual receptive field。实验表明并非感受野中的所有像素都同等响应而是服从高斯分布。这使得基于理论感受野的锚框尺寸大于其实际尺寸这使得边界框的回归更加困难。Zhang等人在 (S^{3}FD)[24]中基于有效感受野effective receptive field设计了锚框尺寸。而FaceBoxes [25]设计了多尺度锚框以丰富感受野并将锚框在不同层离散化以处理各种尺度的人脸。因此锚框的尺度和比例设计非常重要可能极大地有益于模型的准确性和收敛过程。回归损失回归损失用于衡量预测边界框与真实边界框之间的差异。目标检测器中常用的回归损失函数有L1/L2损失、smooth L1损失、IoU损失及其变体[26; 27; 28; 29]。YOLOv5采用IoU损失作为其目标回归函数。然而IoU的敏感性对于不同尺度的目标差异很大。容易理解的是对于小目标轻微的位置偏差会导致IoU显著下降。Wang等人[30]提出了一种基于Wasserstein距离的小目标评估方法以有效减轻小目标的影响。然而他们的方法对于大目标效果不那么显著。在本文中为了解决上述问题我们基于YOLOv5设计了一种新的人脸检测器。我们的目标是找到一个最优的组合检测器有效解决小人脸、大尺度变化、遮挡场景以及难易样本不平衡的问题。首先我们融合FPN的P2层信息以获得更多像素级信息并补偿小人脸的信息。然而这样做的同时由于输出特征图的感受野变小大中目标的检测精度会略有下降。为了改善这种情况我们为P5层设计了感受野增强RFE模块该模块通过使用扩张卷积dilated convolution来增加感受野。其次受FAN和ConvMixer [31]的启发我们重新设计了一个多头注意力网络以补偿被遮挡人脸响应值的损失。此外我们还引入了排斥损失Repulsion Loss[32]来提高类内遮挡的召回率。第三为了挖掘难样本受ATSS [33]启发我们设计了具有自适应阈值的Slide加权函数使模型在训练过程中更关注难样本。第四为了使锚框更适合回归我们根据有效感受野和人脸比例重新设计了锚框尺寸和比例。第五我们借鉴了归一化Wasserstein距离度量Normalized Wasserstein Distance[30]并将其引入回归损失函数以平衡IoU在预测小人脸方面的不足。总而言之我们提出了一种新的人脸检测器YOLO-FaceV2其突出贡献如下对于检测多尺度人脸感受野和分辨率是关键因素。因此我们设计了一个感受野增强模块称为RFE来学习特征图的不同感受野并增强特征金字塔表示。我们将人脸遮挡分为两类即不同人脸之间的遮挡以及人脸被其他物体遮挡。前者使得检测精度对NMS阈值非常敏感导致漏检。我们将排斥损失应用于人脸检测惩罚预测框向其他真实目标偏移并要求每个预测框远离具有不同指定目标的其他预测框从而使检测结果对NMS不那么敏感。后者导致特征消失从而导致定位不准确我们设计了注意力模块SEAM来增强人脸特征的学习。为了解决难易样本之间的不平衡问题我们根据IoU对简单样本和困难样本进行加权。为了减少超参数调整我们将所有候选正样本与真实框ground-truth的IoU平均值设置为正负样本的分界线。我们设计了一个名为Slide的加权函数给困难样本更高的权重这有助于模型学习更困难的特征。该函数的细节将在第3-5节中介绍。本文的其余部分安排如下第2节回顾了该领域的相关文献第3节详细描述了模型结构以及主要的改进点包括感受野增强模块、注意力模块、自适应样本加权函数、锚框设计、排斥损失和归一化高斯Wasserstein距离NWD损失第4节描述了实验及相应的结果分析包括消融实验和与其他模型的比较第5节总结了我们的工作并对未来研究提出了一些建议。2 相关工作人脸检测。人脸检测是计算机视觉领域几十年的研究热点。在深度学习早期人脸检测算法通常使用神经网络自动提取图像特征进行分类。CascadeCNN [1]提出了一种级联结构包含三个阶段精心设计的深度卷积网络以从粗到细的方式预测人脸和关键点位置。MTCNN [2]开发了类似的级联架构以联合对齐人脸关键点和检测人脸位置。PCN [3]使用角度预测网络来校正人脸并提高人脸检测精度。但早期的基于深度学习的人脸检测算法存在一些缺点如训练繁琐、容易陷入局部最优、检测速度慢、检测精度低等。当前的人脸检测算法主要通过继承通用目标检测算法如SSD [4]、Faster R-CNN [5]、RetinaNet [6]等的优点进行改进。CMS-RCNN [34]使用Faster R-CNN作为主干网络并引入上下文信息contextual information和多尺度特征来检测人脸。Zhang等人[25]基于SSD结构设计了一个轻量级网络名为FaceBoxes通过32倍下采样快速缩小特征尺寸并使用多尺度网络模块在网络的宽度和深度维度上增强特征。SRN [35]在通用目标检测算法RefineDet [36]和RetinaNet [6]上改进而来通过引入两阶段分类和回归实现了高性能并设计了一个多分支模块来增强感受野的效果。尺度不变性Scale-invariance。作为人脸检测中最具挑战性的问题之一复杂场景中人脸尺度的大变化对检测器的准确性有重要影响。多尺度检测能力主要依赖于尺度不变性特征许多工作致力于更准确有效地提取特征来解决这个问题[13, 24, 37, 38]。对于小目标检测使用更少的下采样层和扩张卷积可以显著提高检测性能[39, 40]。解决这个问题的另一种方法是使用更多的锚框。锚框可以提供良好的先验信息因此使用更密集的锚框和相应的匹配策略可以有效提高候选区域object proposals的质量[24, 25, 37, 40]。多尺度训练有助于构建图像金字塔并增加样本多样性这是提高多尺度目标检测性能的一种简单而有效的方法。另一方面感受野会增加语义信息也会相应变得更丰富然而空间信息可能会相应丢失。一个自然的想法是将深层语义信息与浅层特征融合例如[20, 41, 42]。此外SNIP [43]和TridentNet [12]也为解决多尺度问题提供了新思路这将在后续章节详细讨论。遮挡问题Occlusion problem。拥挤的人脸以及随之而来的遮挡问题导致部分数据缺失以及关于被遮挡人脸的信息缺乏因为一些区域不可见或边界模糊这很容易导致漏检和低召回率。一些工作已经证明上下文信息有助于人脸检测以缓解遮挡问题。SSH [37]使用简单的卷积层方法通过扩大候选区域周围的窗口来整合上下文信息。FAN [13]提出了一种锚点级注意力通过突出显示人脸区域的特征来检测被遮挡的人脸。PyramidBox [44]设计了一个上下文敏感的预测模块其中他们将SSH中上下文模块的卷积层替换为DSSD的残差预测模块。RetinaFace [45]在五个特征金字塔层级上应用独立的上下文模块以增加感受野并增强刚性上下文建模能力。上述方法在遮挡问题上取得了良好的效果。因此利用上下文信息来提高遮挡区域的有效性是一个值得进一步探索的可行方向。难易样本不平衡Imbalance of easy and hard samples。对于单阶段人脸检测简单样本的数量非常大它们在损失变化中占主导地位导致模型只能学习简单样本的特征而忽略困难样本的学习。为了解决这个问题OHEM [46]算法根据样本损失选择困难样本并将困难样本的损失应用于随机梯度下降训练中。针对OHEM算法忽略简单样本的问题Focal Loss [6]通过对所有样本加权来更好地利用所有样本并获得更高的准确性。SRN [35]也遵循了这一思想。Faceboxes [25]根据样本的IoU损失对样本进行排序并将正负样本的比例控制在小于1:3。虽然上述方法可以有效解决样本不平衡问题但它们也人为地引入了一些超参数增加了调整的难度。因此我们设计了一个具有自适应参数的样本平衡函数。3 YOLO-FaceV23.1 网络架构YOLOv5是一个优秀的通用目标检测器。我们将YOLOv5引入人脸检测领域并尝试解决小人脸和人脸遮挡等问题。我们的YOLO-FaceV2检测器的架构如图1所示。它由三部分组成骨干结构backbone、颈部neck和头部heads。我们采用CSPDarknet53作为骨干网络并在P5层用RFE模块替换Bottleneck以融合多尺度特征。在颈部部分我们保留了SPP [47]和PAN [48]的结构。此外为了提高目标位置感知能力我们还将P2层集成到PAN中。头部用于对目标进行分类和位置回归。我们还在头部添加了一个特殊分支以增强模型的遮挡检测能力。在图1(a)中左侧的红色部分是检测器的骨干网络由CSP块和CBS块组成。它主要用于提取输入图像的特征。在P5层添加了RFE模块以扩大有效感受野并增强多尺度融合能力。在图1(b)中右侧的蓝色和黄色部分称为颈部层由SPP和PAN组成。我们额外融合了P2层的特征以提高更精确目标定位的能力。在图1©中我们在颈部层的输出部分之后引入了分离增强注意力模块(SEAM)以增强被遮挡人脸的响应能力。图 1: YOLO-FaceV2 的网络架构。(a) 骨干网络一个前馈的 CSP-Darknet53 架构提取多尺度特征图。为了扩大感受野P5 中的 CSP 块被感受野增强模块 (RFE) 替换如蓝色虚线框所示。(b) 颈部空间金字塔池化 (SPP) 分离出最重要的上下文特征并增加感受野路径聚合网络 (PAN) 为不同的检测器层级聚合来自不同骨干层级的参数。为了补偿分辨率增加带来的感受野损失P2 层被融合进 PAN如 (a) 和 (b) 之间所示。© 分离增强注意力模块 (SEAM) 利用特征图之间的关系来召回被遮挡的特征如红色虚线框所示。3.2 尺度感知的 RFE 模块由于不同大小的感受野意味着捕获长距离依赖关系的能力不同我们设计了RFE模块通过使用扩张卷积来充分利用特征图中感受野的优势。受TridentNet启发我们使用四个不同扩张率dilated rate的分支来捕获多尺度信息和不同范围的依赖关系。所有分支共享权重唯一的区别是它们不同的感受野。一方面这减少了参数量从而降低了潜在过拟合的风险。另一方面它可以充分利用每个样本。所提出的RFE模块可分为两部分基于扩张卷积的多分支以及聚集和加权层如图2所示。多分支部分分别采用 (1)、(2) 和 (3) 作为不同扩张卷积的扩张率均使用固定的卷积核大小 (3)x(3)。此外我们添加了一个残差连接以防止训练过程中出现梯度爆炸和消失问题。聚集和加权层用于聚集来自不同分支的信息并对每个分支的特征进行加权。加权操作用于平衡不同分支的表示。为了更清晰我们将YOLOv5中C3模块的瓶颈bottleneck替换为RFE模块以增加特征图的感受野从而提高多尺度目标检测和识别的准确性如图2所示。图 2: 修改后的 CSP 块和 RFE 模块。对于 P5 中的 CSP 块我们用 RFE 替换瓶颈bottleneck。右图显示了 RFE 的详细架构。它由 1x1 卷积、具有不同扩张率的 3x3 卷积和平均池化层组成。3.3 遮挡感知的排斥损失Occlusion-Aware Repulsion Loss类内遮挡可能导致人脸A包含人脸B的特征从而导致更高的误检率。引入排斥损失可以通过排斥效应有效缓解这个问题。排斥损失分为两部分RepGT 和 RepBox。RepGT损失的作用是使当前边界框尽可能远离周围的真实框ground truth box。这里的周围真实框指的是除边界框本身要回归的目标人脸外与该人脸IoU最大的人脸标签。RepGT损失函数的公式如下公式中的P是人脸预测框(G^{P}{\text{Rep}}) 是周围IoU最大的真实框。P与 (G^{P}{\text{Rep}}) 之间的重叠定义为与真实框的交集Intersection over Ground truth, IoG(\text{IoG}(P,G)\frac{\text{area}(P\cap G)}{\text{area}(G)}) 且 (\text{IoG}(B,G)\in[0,1])。(\text{Smooth}_{ln}) 在 ((0, 1)) 区间内连续可微。函数中(\sigma\in[0,1)) 是一个平滑参数用于调整排斥损失对离群值的敏感性。RepBox损失的目的是使预测框尽可能远离周围的预测框并减少它们之间的IOU从而避免属于两个人脸的其中一个预测框被NMS抑制。我们将预测框分成多个组。假设有g个人脸划分形式如公式3所示。同一组内的预测框回归到同一个人脸标签不同组之间的预测框对应不同的人脸标签。然后对于不同组之间的预测框 (p_{i}) 和 (p_{j})我们希望 (p_{i}) 和 (p_{j}) 之间的重叠区域越小越好。RepBox也使用 (Smooth_{ln}) 作为优化函数。整体损失函数如下3.4 遮挡感知的注意力网络Occlusion-Aware Attention Network类间遮挡会导致对齐误差、局部混叠和特征缺失。我们添加了多头注意力网络即SEAM模块见图3其中我们有三个目的实现多尺度人脸检测强调图像中的人脸区域相对地弱化背景区域。SEAM的第一部分是带有残差连接的深度可分离卷积depth separable convolution。深度可分离卷积是按深度操作的即逐通道分离卷积。虽然深度可分离卷积可以学习不同通道的重要性并减少参数量但它忽略了通道间的信息关系。为了弥补这一损失不同深度卷积的输出随后通过逐点1x1卷积进行组合。然后使用一个两层的全连接网络来融合每个通道的信息使网络能够加强所有通道之间的联系。希望该模型能够通过在前一步学习到的被遮挡人脸与未遮挡人脸之间的关系来弥补前述遮挡场景下的损失。然后通过指数函数处理全连接层学习到的输出逻辑值logits将其值范围从[0, 1]扩展到[1, e]。这种指数归一化提供了一种单调的映射关系使结果对位置误差更具容忍性。最后SEAM模块的输出被用作注意力权重乘以原始特征使模型能够更有效地处理人脸遮挡。图 3: SEAM 示意图。左边是 SEAM 的架构右边部分是 CSMM通道和空间混合模块的结构。CSMM 利用不同的图像块patch处理多尺度特征并使用深度可分离卷积来学习空间维度和通道的相关性。3.5 样本加权函数Sample weighting function样本不平衡问题即在大多数情况下简单样本数量相当大而困难样本相对稀疏已经引起了广泛关注。在我们的工作中我们设计了一个Slide损失函数它看起来像一个“滑梯”slide来解决这个问题。简单样本和困难样本的区分基于预测框与真实框groundtruth box的IoU大小。为了减少超参数我们将所有边界框的IoU值的平均值作为阈值 (\mu)小于 (\mu) 的视为负样本大于 (\mu) 的视为正样本。然而边界附近的样本常常因为分类不明确而遭受较大的损失。我们希望模型能够学习优化这些样本并更充分地利用这些样本来训练网络。尽管如此此类样本的数量相对较少。因此我们尝试给困难样本分配更高的权重。我们首先通过参数 (\mu) 将样本分为正样本和负样本。然后我们通过一个名为Slide的加权函数来强调边界处的样本如图4所示。Slide加权函数可表示为公式5。图 4: 我们提出了一种新颖的损失函数我们称之为 Slide Loss它自适应地学习正负样本阈值参数 (\mu)。在 (\mu) 附近设置高权重增加了难以分类样本的相对损失将更多注意力集中在困难、被错误分类的样本上。3.6 锚框设计策略Anchor Design Strategy锚框设计策略在人脸检测中至关重要。在我们的模型中三个检测头detection head中的每一个都与特定的锚框尺度相关联。锚框的设计包括宽高比和尺寸它们是根据P2、P3和P4的步长stride设计的见表1。对于宽高比我们基于WiderFace训练集的真实人脸比例计算统计值。在人脸检测中根据统计数据我们将宽高比设置为1:1.2。对于锚框尺寸我们根据每层的感受野进行设计这可以通过卷积层和池化层的数量来计算。然而并非理论感受野中的每个像素对最终输出的贡献都相同。通常中心像素比外围像素具有更大的影响力如图5(a)所示。换句话说只有一小部分区域对输出值有有效影响。实际效果可以等效为一个有效感受野。根据这一假设为了匹配有效感受野锚框应显著小于理论感受野参见表 1: 三个检测层和九个锚框尺度。层 (Layer)步长 (Stride)比例 (Ratio)锚框尺寸 (Anchor)P241.2[16, 20.16, 25.40]P381.2[32, 40.32, 50.80]P4161.2[64, 80.63, 101.59]图 5: (a) 有效感受野整个黑框是理论感受野 (TRF)具有高斯分布的白圈是有效感受野 (ERF)。该图来自[23]。(b) 一个具体例子整个框是由 TRF 设置的原始锚框蓝框是由红圈即 ERF估计的新锚框。图5(b)中的具体例子。因此我们重新设计了初始锚框尺寸如表1所示。3.7 归一化高斯 Wasserstein 距离 (Normalized Gaussian Wasserstein Distance)归一化 Wasserstein 距离Normalized Wasserstein Distance, NWD是一种新的小目标检测评估方法。首先将边界框建模为一个二维高斯分布并通过它们对应的高斯分布计算预测目标与真实目标之间的相似度即根据公式6计算它们之间的归一化Wasserstein距离。对于检测到的目标无论它们是否重叠都可以通过分布相似性来衡量。NWD对目标的尺度不敏感因此更适合衡量小目标之间的相似度。在我们的回归损失函数中我们添加了NWD损失以弥补IoU损失在小目标检测方面的不足。但我们仍然保留IoU损失因为它适用于大目标检测。其中C是与数据集密切相关的常数(W_{2}^{2}\left(\mathcal{N}{a},\mathcal{N}{b}\right)) 是距离度量(N_{a}) 和 (N_{b}) 是由 (A\left(cx_{a},cy_{a},w_{a},h_{a}\right)) 和 (B\left(cx_{b},cy_{b},w_{b},h_{b}\right)) 建模的高斯分布。4 实验在这一部分我们对我们提出的方法进行了全面的消融实验ablation study包括我们的注意力模块、多尺度融合金字塔结构和损失函数设计的有效性。然后我们将我们提出的检测器与其他最先进SOTA的人脸检测器的性能进行了比较。4.1 数据集我们在WiderFace数据集上评估了我们的模型该数据集包含32203张图像涵盖超过40万张人脸。它由三部分组成40%用于训练集10%用于验证集50%用于测试集。训练集和验证集的结果可以从WiderFace官方网站获得。根据难度数据集可分为三部分简单Easy、中等Medium和困难Hard。其中困难子集最具挑战性其性能能更好地反映人脸检测器的有效性。我们在WiderFace训练集上训练我们的模型并在验证集和测试集上对其进行评估。4.2 训练我们使用YOLOv5作为基线方法通过PyTorch实现。我们使用的优化器是带动量momentum的SGD。初始学习率设置为1e-2最终学习率为1e-3权重衰减weight decay设置为5e-3。在前3个预热warming-up周期中使用动量0.8。之后动量为0.937。NMS的IoU阈值设置为0.5。我们在具有4个CPU工作进程workers的1080ti GPU上训练模型。微调fine-tuning使用100次迭代iterations批大小batch size为16张图像。4.3 消融实验Ablation Study在本节中我们在WiderFace数据集上对每个模块进行了全面的实验以评估它们对模型性能的影响。然后逐个组合这些模块并进行分析。此外还评估了所有的损失函数。4.3.1 SEAM 模块我们提出的SEAM模块是注意力网络。通过使用该模块我们通过增强未遮挡人脸的响应来补偿被遮挡人脸的响应损失。结果如表2第二行所示。我们可以看到在Easy、Medium和Hard子集验证集上精度分别提高了0.88、0.82和1.06。4.3.2 多尺度特征融合首先我们在PAN的基础上融合P2层特征使融合后的特征图包含更多小目标的信息。根据表2第三行可以观察到Hard子集增加了 (0.57)。为了弥补颈部层输出特征图感受野有限导致大中目标检测精度下降的不足我们应用了设计的感受野增强模块并分别使用了扩张率为1、2和3的扩张卷积来提高长距离依赖的效果。效果如表2第四行所示。精度分别提高了0.5、0.6和2.17。4.3.3 Slide 损失Slide损失函数的主要目的是使模型更关注困难样本。根据表中第五行的结果Slide函数在Medium和Hard子集上略微提升了模型的性能。4.3.4 锚框设计锚框的比例和尺寸与有效感受野密切相关。不同的模型具有不同的有效感受野。根据有效感受野和人脸形状特征设计锚框的性能影响如表2第六行所示。在Easy、Medium和Hard数据集上分别提升了0.24、0.75、0.9。正如我们所预期的适当设计的锚框可以召回更多的小人脸目标。4.3.5 NWD 损失我们首先尝试用NWD代替IOU作为回归损失。然而结果并未改善。因此我们选择保留IoU损失并通过调整它们之间的比例关系来提高我们模型对小目标检测的鲁棒性。因为实验结果表明对于大中目标IoU衡量的效果优于NWD而NWD可以有效提高小目标的检测精度。结果见表3表 3: IoU损失与NWD损失不同组合比例在WiderFace验证集上的比较训练20个周期。IoU损失权重NWD损失权重Easy (%)Medium (%)Hard (%)1094.492.7482.910181.1384.475.770.50.594.6292.8783.310.40.691.1390.3880.110.60.492.8791.3980.914.3.6 RepGT 和 RepBox 的平衡受行人检测中遮挡解决方案的启发我们将排斥损失Repulsion Loss添加到人脸检测中并分析了不同的人脸遮挡阈值以使该损失函数适用于人脸检测。根据表中第八行的结果排斥损失函数在Easy、Medium和Hard子集上分别将模型精度提高了0.71、0.63和0.5。**表 2: WiderFace 验证数据集上的消融研究结果 (mAP, %)。组合 (Combination)Easy (%)Medium (%)Hard (%)参数量 (Params (M))计算量 (Flops (G))Baseline (YOLOv5 adapted)94.6593.0083.307.06316.4SEAM95.5393.8284.367.46417.1PANP2Slide93.6792.1483.876.10117.1RFE95.0693.6085.475.09717.1Anchor Redesign95.1393.4183.67-17.1Repulsion Loss (RPLoss)94.8993.7584.20--NWD Loss(alone, see Table 3 row 3)94.6292.8783.31--SEAMRFESlideNWD Loss95.2793.6383.80--SEAMRFESlide95.0693.6485.575.20117.9SEAMPANP2RFESlide95.3493.8585.66--SEAMPANP2RFESlideRepulsion Loss96.2294.7985.82--SEAMPANP2RFESlideRepulsion LossNWD Loss(Final YOLO-FaceV2)96.3094.9985.94--Reported Final Performance (Table 4)98.7897.3987.75-18.24.4 与现有人脸检测器的比较**表 4: 我们的 YOLO-FaceV2 与现有人脸检测器在 WiderFace 验证数据集上的比较 (mAP, %)。主干检测器 (Method)具体检测器 (Detector)Easy (%)Medium (%)Hard (%)Faster R-CNNCMS-RCNN [34]0.8990.8740.624HR (未明确引用)0.9250.9100.806Face R-CNN (未明确引用)0.9370.9210.831FDNet (未明确引用)0.9590.9450.879SSDSFD [40]0.9370.9250.859SSH [37]0.9310.9210.845PyramidBox [44]0.9610.9500.889DSFD [40]0.9660.9570.904SFDet (未明确引用)0.9540.9450.888RetinaNetFAN [13]0.9520.9400.900SRN [35]0.9640.9520.901DFS (未明确引用)0.9690.9590.912RetinaFace [45]0.9690.9610.918RefineFace (未明确引用)0.9710.9620.920YOLOYOLO-FaceV1 [14]0.8990.8720.693YOLO5Face (未明确引用)0.9630.9560.913YOLO-FaceV2 (Ours)0.9870.9720.877我们主要与近期提出的各种优秀人脸检测器进行比较。表4根据基于不同通用检测器如fast RCNN、SSD、Yolo等的人脸检测器进行分类。表中的数据来自WiderFace官方网站。我们YOLO-FaceV2人脸检测器以及竞争对手的精确率-召回率PR曲线如图6所示。图 6: WiderFace 验证数据集上的检测结果。(a): ‘Easy’ 数据集的结果 (b): ‘Medium’ 数据集的结果 ©: ‘Hard’ 数据集的结果5 结论本文旨在解决变化的人脸尺度、难易样本不平衡和人脸遮挡问题提出了一种基于YOLOv5的人脸检测方法YOLO-FaceV2。针对变化的人脸尺度问题我们将P2层融合到特征金字塔中以提高小目标的分辨率设计RFE模块以增强感受野并使用NWD损失来提高模型对小目标检测的鲁棒性。我们引入Slide函数来缓解难易样本不平衡问题。对于人脸遮挡我们使用SEAM模块和排斥损失来解决它。此外我们利用有效感受野的信息来设计锚框。最终我们在WiderFace验证集的Easy和Medium子集上取得了接近或超过SOTA的性能。写在最后学术因方向、个人实验和写作能力以及具体创新内容的不同而无法做到一通百通关注UPAi学术叫叫兽在所有B站资料中留下联系方式以便在科研之余为家人们答疑解惑本up主获得过国奖发表多篇SCI擅长目标检测领域拥有多项竞赛经历拥有软件著作权核心期刊等经历。因为经历过所以更懂小白的痛苦因为经历过所以更具有指向性的指导祝所有科研工作者都能够在自己的领域上更上一层楼以下为给大家庭小伙伴们免费更新过的绘图代码均配有详细教程超小白也可一键操作! 后续更多提升文章档次的资料的更新请大家庭的小伙伴关注UPAi学术叫叫兽