PIoU Loss: Towards Accurate Oriented Object Detection in Complex Environments

论文下载地址
代码地址

摘要

使用定向包围框(OBB)的目标检测可以通过减少与背景区域的重叠来更好地定位旋转的对象。现有的目标检测方法主要是建立在水平边框检测器上,通过引入一个额外的角度维度,该角度维度通过距离损失进行优化。然而,由于距离损失仅最小化了OBB的角度误差,并且它与IoU的相关性较弱,因此它对高纵横比的物体不敏感。因此,一种新的损失,Pixels-IoU (PIoU) Loss被公式化,以利用角度和IoU进行精确的OBB回归。PIoU损失是从IoU度量逐像素的形式导出的,简单且适用于水平和定向边界框。为了证明其有效性,我们评估了anchor-based和anchor-free框架的PIoU损失。实验结果表明,PIoU损耗可以显著提高OBB探测器的性能,特别是在高纵横比和复杂背景的物体上。此外,以前的评估数据集不包括物体具有高纵横比的区域,因此引入了一个新的数据集,Retail50K,以鼓励社区将OBB探测器用于更复杂的环境。

INTRODUCTION

目标检测是计算机视觉中的一项基本任务,并且近年来已经提出了使用卷积神经网络的许多检测器[34、25、21、17]。尽管这些探测器具有最先进的性能,但它们对旋转且密集拥挤的物体具有固有的局限性。例如,旋转或透视变换的对象的边界框(BB)通常包含大量可能误导分类器的背景。当边界框具有较高的重叠区域时,很难分离密集的对象。由于这些限制,研究人员扩展了带有定向包围盒(OBB)的现有探测器。特别是,与用(cx,cy,w,h)表示的BB相反,OBB由(cx,cy,w,h,θ)组成,其中(cx,cy),(w,h)和θ分别是OBB的中心点,大小和旋转。结果,OBB可以紧凑地包围目标对象,以便可以更好地检测和分类旋转和密集拥挤的对象。

PIoU与SmoothL1 loss的对比
现有的基于OBB的方法主要是通过基于参数元组(cx,cy,w,h,c)的距离损失[24、18、19、6、41、43]引入优化的附加角度尺寸,在基于锚点的框架上构建的θ)。虽然OBB主要用于航空影像中的简单旋转目标检测[18、50、31、26、23、1、39],但在更复杂和近距离环境中的检测性能受到限制。原因之一是这些方法中的距离损失,例如SmoothL1 Loss [34],主要集中在最小化角度误差而不是全局IoU上。结果,它对具有高纵横比的目标不敏感。直观的解释是,即使角度距离可能很小,远离中心(cx,cy)的对象部分也没有正确地封闭。例如,[19,6]采用回归分支来提取旋转敏感特征,从而可以使用变压器对OBB的角度误差进行建模。但是,如图1(a)所示,预测框的IoU(绿色)和地面实况的IoU(红色)非常不同,而它们的损失却相同。

为了解决上述问题,我们引入了一种新的损失函数,称为像素损失(IoU),以增加OBB回归的角度和IoU精度。特别是,如图1(b)所示,与标准距离损耗相比,PioU损耗直接反映了IoU及其局部最优值。其背后的基本原理是IoU损耗通常比距离损耗获得更好的性能[45,35]。但是,OBB之间的IoU计算比BB更复杂,因为相交的OBB的形状可以是小于8个边的任何多边形。因此,提出了PIoU(一种连续且可导出的函数),以将OBB的五个参数共同关联起来,以检查位置(内部或外部IoU)和每个像素的贡献。通过累积内部重叠像素的贡献,可以轻松计算PIoU损耗。为了证明其有效性,在实验中,在基于锚和无锚的框架上评估了PIoU的损失。

为了克服现有基于OBB的方法的局限性,我们鼓励社区采用更强大的OBB探测器,从传统的航空影像向更复杂的领域过渡。我们收集了一个新的基准数据集Retail50K,以反映检测高宽比,重度遮挡和复杂背景的定向目标所面临的挑战。实验表明,所提出的具有PIoU损失的框架不仅在航空影像方面具有良好的性能,而且还可以有效应对Retail50K中的新挑战。

这项工作的贡献概括如下:(1)我们提出了一种新颖的损失函数PIoU损失,以提高在高纵横比和复杂背景等高挑战性条件下定向对象检测的性能。 (2)我们引入了一个新的数据集Retail50K,以刺激计算机视觉社区创新和改造现有的OBB检测器,以应对更复杂的环境。 (3)我们的实验表明,提出的PIoU损耗可以有效地改善不同数据集中基于锚和无锚的OBB检测器的性能。

RELATED WORK

定向目标检测器

现有的定向物体检测器大多是通过引入额外的角度尺寸而从通用水平边界框检测器扩展而来的。例如,[24]提出了一种基于一级SSD[25]的旋转不变检测器。 [18]引入了基于两级Faster RCNN [34]的旋转检测器。 [6]设计了一个RoI变压器来学习从BB到OBB的转换,然后提取旋转不变的特征。 [12]制定了一个生成概率模型来提取OBB建议。对于每个建议,通过搜索局部最大似然来确定位置,大小和方向。提取OBB的其他可能方法包括:将检测到的mask拟合[3,10]和使用无锚模型回归OBB [49],这是文献中的两个新概念。尽管这些方法在航空图像上具有令人鼓舞的性能,但它们并不适合于具有高纵横比和复杂环境的定向对象。出于这个原因,我们假设在挑战性条件下获得改进需要一种新的损失。为了进行比较评估,我们在实验中同时实现了基于锚和无锚的框架。稍后我们将展示这些模型在配备PIoU损失后如何在零售和航空数据中产生更好的结果。

回归损失

对于边界框回归,积极使用的损失函数为均方误差[29](MSE,L2损失,目标变量与预测变量之间的平方距离之和),平均绝对误差[38](MAE,L1损失,绝对值之和)目标变量和预测变量之间的差异),分位数损失[2](MAE的扩展,预测间隔而不是仅预测点),胡贝尔损失[13](基本上是绝对误差,当误差较小时会变成平方)。 Cosh损失(预测误差的双曲余弦的对数)[30]。实际上,常用的检测器[32、25、34]的损耗从上面的基本函数开始扩展。但是,我们不能直接使用它们,因为OBB描述符中还涉及其他角度尺寸。

除了基本功能外,还有几篇作品介绍了水平边界框的IoU损耗。例如,[45]提出了一个IoU损失,该损失使整个预测单元的四个边界回归。 [35]通过引入联盟损失(GIoU损失)的广义相交进行边界框回归,扩展了[45]的思想。 GIoU的主要目的是消除两个多边形没有交集的情况。 [37]介绍了一种基于一组IoU上限的新颖的边界框回归损失。然而,当使用定向包围盒时,那些方法变得更加复杂,因此难以实施,而所提出的PioU损耗则更加简单并且适用于水平和定向盒。应该注意的是,提出的PIoU损耗与[48]不同,在IoU中,IoU是基于轴对齐和多边形相交来计算的,我们的方法更为简单,即,IoU是通过累积内部重叠像素的贡献来直接计算的。此外,提出的PIoU损耗也不同于Mask RCNN中的Mask Loss [10]。掩模损失是通过每个像素的S型平均二进制交叉熵(也称为Sigmoid交叉熵损失)来计算的。与此不同的是,我们建议的损失是基于正IoU计算的,以保留两个框之间的交集和并集区域。在每个区域中,根据像素的空间信息对像素的贡献进行建模和累积。因此,PioU丢失更为普遍,并且对OBB重叠很敏感。
本文提出的PIoU

Pixels-IoU (PIoU) Loss

在本节中,我们将详细介绍PIoU损失。 对于由(cx,cy,w,h,θ)编码的给定OBB b,理想的损耗函数应有效地引导网络使IoU最大化,从而使b的误差最小。 为了实现这个目标,我们首先解释IoU方法。 一般而言,IoU函数应准确计算OBB的面积以及与另一个框的交集。 由于OBB和相交区域是由图像空间中的像素构成的,因此它们的区域可以由内部像素的数量来近似。 具体而言,如图3所示,tij(紫色点)是中垂直线与其垂直线与像素pij(绿色点)之间的交点。 结果,OBB中心c(红点)pij和tij构成了一个三角形。 每个三角形边的长度由dwij,dhij和dij表示。 为了判断pij和b之间的相对位置(内部还是外部),我们定义二进制约束如下:
在这里插入图片描述
其中dij表示像素(i,j)与OBB中心(cx,cy)之间的L2-范数距离,dw和dh分别表示沿水平方向和垂直方向的距离d:
在这里插入图片描述
IoU函数
令Bbb’表示同时覆盖b和b’的最小水平边界框。 然后,我们可以使用Bbb’中所有像素的统计信息来计算两个OBB b和b’之间的交集区域Sb∩b’和联合区域Sb∪b’:
在这里插入图片描述
b和b’的最终IoU可以通过将Sb∩b’和Sb∪b’相除来计算。 但是,我们观察到公式1不是连续的可微函数。 结果,反向传播(BP)无法利用基于IoU的损耗进行训练。 为了解决这个问题,我们将公式1近似作为F(pij | b)取两个内核的乘积:
在这里插入图片描述
其中,k是控制目标像素pij的灵敏度的可调因子。 等式的关键思想。 图8是使用等式中的核函数来获得像素pi,j的贡献。 公司9.由于采用的核是通过pij和b之间的相对位置(图3中的三角形的距离和角度)来计算的,因此相交区域Sb∩b’和联合区Sb∪b’对OBB都固有地敏感旋转和大小。 在图3中,我们发现F(pij | b)是连续且可微的。 更重要的是,它的功能类似于方程式的特征。 在图1中,使得当像素pij位于内部时,F(pij | b)接近1.0,否则当F(pij | b)〜0时。 跟随公式8中,b和b’之间的交集区域Sb∩b’和联合区域Sb∪b’近似为:
在这里插入图片描述
在实践中,要降低等式的计算复杂度。 在图11中,可以用一个更简单的形式来近似Sb∪b’:
在这里插入图片描述
其中(w,h)和(w’,h’)分别是OBB b和b’的大小。 我们在5.2节中的实验表明公式12可以有效地降低 公式10的复杂度,同时保留整体检测性能。 使用这些术语,我们建议的Pixels-IoU(PIoU)计算如下:
在这里插入图片描述
令b表示预测框,b’表示真实框。 如果预测框b基于正锚且b’是匹配的地面真相框,则对(b,b’)被视为正数。(如果锚点与地面真相框匹配,如果它们之间的IoU大0.5)。我们用M表示所有正对的集合。 为了使b和b’之间的PIoU最大化,建议的PIoU损耗可通过以下公式计算:
在这里插入图片描述
从理论上讲, 如果b和b’之间没有交点,则公式14仍然有效。 这是因为根据公式9在这种情况下,PIoU(b,b’)> 0和梯度仍然存在。 此外,提出的PIoU还可以用于水平边界框回归。 具体地,我们可以简单地在公式5中设置θ= 0。我们通过实验验证了PIoU在水平包围盒回归中的可用性。

Experiments

我们用不同参数,主干的基于锚和无锚的OBB检测器(RefineDet,CenterNet)评估建议的PIoU损失。 我们还将在不同的基准数据集(即DOTA [39],HRSC2016 [26],PASCAL VOC [7])和建议的Retail50K数据集中将提出的方法与其他最新的OBB检测方法进行比较。 培训和测试任务是在台式机上完成的,该台式机具有Intel®Core™i7-6850K CPU @ 3.60GHzs,已安装64 GB内存,GeForce GTX 1080TI GPU(全局11 GB内存)和Ubuntu 16.04 LTS。 使用此机器,批次大小分别设置为8和1,以进行训练和测试。

Anchor-based OBB Detector:对于基于锚的对象检测,我们通过使用提出的PIoU方法更新其损失来训练RefineDet [46]。由于检测器通过分类损失和回归损失进行了优化,因此我们可以轻松地用PIoU损失Lpiou替换回归样本,同时保留原始Softmax损失Lcls进行分类。我们使用ResNet [11]和VGG [36]作为主干模型。对于0≤k<6,通过将水平锚旋转kπ/ 6来生成定向锚。我们采用[25]中引入的数据增强策略,除了裁剪之外,还包括旋转(即以[0,π/ 6]中采样的随机角度旋转图像)。在训练阶段,将输入图像调整为512×512。我们在2个GPU上采用了小批量训练,每个GPU上有8张图像。采用SGD优化模型,将动量设置为0.9,重量衰减设置为0.0005。对所有评估的模型进行120个时期的训练,初始学习率为0.001,然后在60个时期再除以10,然后在90个时期再次除以10。其他实验设置与[46]中的相同。

Anchor-free OBB Detector:为了扩展用于检测OBB的无锚框架,我们通过在其总体训练目标中添加L1-Loss回归的角度尺寸来修改CenterNet [49]。为了评估提出的损失函数,可以采用类似于基于锚的方法,用PIoU损失Lpiou代替回归模型,同时保持其他分类损失Lcls不变。请注意,CenterNet使用热图来定位对象的中心。因此,在计算PIoU损耗时,我们不会向后传播对象中心的梯度。我们使用DLA [44]和ResNet [11]作为主干模型。数据扩充策略与RefineDet-OBB的策略相同(如前所示)。在训练阶段,将输入图像调整为512×512。我们在2个GPU上采用了小批量训练,每个GPU上有16张图像。采用ADAM优化模型。对所有评估模型进行120个时期的训练,初始学习率为0.0005,然后在60个时期将其除以10,然后在90个时期再次除以10。其他设置与[49]中的设置相同。

消融实验部分建议看原文~
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Conclusion

我们引入了一个简单但有效的损失函数PIoU,以利用角度和IoU进行精确的OBB回归。 PIoU损耗是从IoU度量导出的,具有像素级形式,这很简单,适用于水平和定向边界框。 为了证明其有效性,我们评估了基于锚和无锚框架的PIoU损失。 实验结果表明,PioU损耗可以显着提高OBB检测器的精度,特别是在高纵横比的物体上。 我们还引入了一个新的具有挑战性的数据集Retail50K,以探索现有OBB检测器的局限性,并在使用PIoU损耗后验证其性能。 将来,我们会将PIoU扩展到3D旋转物体检测。 我们的初步结果表明,对于中等水平的汽车,行人和骑车人的AP,PioU可以分别将KITTI val数据集[8]上的PointPillars [16]提升0.65、0.64和2.0。

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值