PIoU Loss: Towards Accurate Oriented Object Detection in Complex Environments论文笔记

该论文提出了一种名为Pixels-IoU(PIoU)的损失函数,用于改进旋转边界框(OBB)的目标检测。PIoU损失直接优化IoU,解决了传统角度距离损失与IoU相关性不强的问题,尤其适用于高纵横比目标。实验在基于锚点和无锚点的框架上展示了PIoU损失的优越性,并在Retail50K数据集上取得了显著效果,证明了其在复杂环境下的鲁棒性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(一)Title

在这里插入图片描述
前言:作者改变前人在进行OBB回归时,使用水平anchor+angle 以及 distance Loss的范式,而是采用直接最大化IoU作为回归目标,为了计算的方便,作者这里使用Pixels是否在bounding box 内来计算IoU,作者称之为Pixels-IoU。从Method来看,需要对在bounding box内的点进行遍历,来计算两个bounding box的交集和并集。

(二)Summary

使用oriented bounding box(OBB)-带有方向的bounding box进行目标检测可以通过减少与背景区域的重叠来更好地定位目标。

现有的OBB方法大多建立在水平bounding box检测器上,通过引入一个由distance loss来优化的附加角度维度。

这样存在的问题是,由于distance loss只能最小化OBB的角度误差,它与IoU之间的关联并不是很密切尤其是对于高宽长比的目标不敏感

作者在文中提出了一种新的损失:Pixels-IoU (PIoU) Loss同时利用上了角度和IoU进行精确的OBB回归

PIoU损失是从IoU像素形式的变体,简单且适用于水平和带方向边界框

性能表现
我们评估了基于锚和无锚框架的PIoU损失。实验结果表明,PIoU损失可以显著提高OBB探测器的性能,特别是在高纵横比和复杂背景的物体上。

文章的主要贡献点

  • 提出了一种新的损失函数PIoU损失,以提高高长宽比以及复杂环境下的性能
  • 提出了一个新的OBB数据集:Retail50K
  • PIoU Loss在anchor free或者anchor based方法上都能够提升性能。

(三)Research Object

作者并不希望对angle进行distance regression,而是选择直接计算IoU Loss进行目标回归,在旋转框IoU的计算上作者采用像素IoU进行近似。

(四)Problem Statement

目前大多数检测OBB的框架是在水平anchor上增加一个angle预测分支,利用distance loss来优化angle,由于angle distance Loss和IoU之间的关系并不相关,因此,使用distance loss进行回归时,可能会出现我们对应的损失值是相同的,但是在IoU上的值却不同,因此,作者这里利用IoU来替代回归损失,直接训练IoU Loss使得网络能够更好地学习到高IoU的预测。
但是,旋转框IoU计算很复杂,两个bounding box的交集可能不超过7边形。因此,作者提出计算Pixels来代替真实的IoU值。在anchor-based方法以及anchor-free的方法上对PIoU进行了验证。

(五)Method

5.1 Pixels-IoU(PIoU) Loss

一个理想的Loss function应该有效地引导网络最大化IoU,从而使b的误差最小化,IoU的计算应该是使用相交的面积进行计算,不过,图像上的点都是像素点,这里PIoU使用的就是像素点来计算的IoU。

Notations

  • 带方向的bounding box b = ( c x , c y , w , h , θ ) \mathbf{b} = (c_x,c_y,w,h,\theta) b=(cx,cy,w,h,θ)
  • b ′ \mathbf{b^{'}} b Ground Truth Bounding box

推导PIoU的过程

给定下图,判断 p i , j \boldsymbol{p}_{i, j} pi,j是否在OBB b \boldsymbol{b} b中,OBB的中心点为 c \boldsymbol{c} c
在这里插入图片描述
p i , j \boldsymbol{p}_{i, j} pi,j沿着 h \boldsymbol{h} h轴做垂线,和 h \boldsymbol{h} h轴相交点为 t i , j \boldsymbol{t}_{i, j} ti,j,此时 c \boldsymbol{c} c p i , j \boldsymbol{p}_{i, j} pi,j以及 t i , j \boldsymbol{t}_{i, j} ti,j构成了直角三角形,其中各个边的长度如上图所示,为 d i , j w d_{i, j}^{w} di,jw, d i , j h d_{i, j}^{h} di,jh以及 d i , j d_{i, j} di,j,此时,我们可以利用下面的公式判断点 p i , j \boldsymbol{p}_{i, j} pi,j是否在bounding box b \boldsymbol{b} b中:
δ ( p i , j ∣ b ) = { 1 , d i , j w ≤ w 2 , d i , j h ≤ h 2 0 ,  otherwise  \delta\left(\boldsymbol{p}_{i, j} \mid \boldsymbol{b}\right)=\left\{\begin{array}{ll} 1, & d_{i, j}^{w} \leq \frac{w}{2}, d_{i, j}^{h} \leq \frac{h}{2} \\ 0, & \text { otherwise } \end{array}\right. δ(pi,jb)={ 1,0,di,jw2w,di,jh2h otherwise 
从上式的关系中,我们可以看出需要计算三角形3个边的长度:我们现在可以利用上的有:bounding box的label ( c x , c y , w , h , θ ) (c_x,c_y,w,h,\theta) (cx,cy,w,h,θ)以及点 p i , j \boldsymbol{p}_{i, j} pi,j的坐标 ( i , j ) (i,j) (i,j):根据这些信息,可以计算出3条边的长度分别为:
d i j = d ( i , j ) = ( c x − i ) 2 + ( c y − j ) 2 d i j w = ∣ d i j cos ⁡ β ∣ d i j h = ∣ d i j sin ⁡ β ∣ β = {

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值