注释水平目标H2rbox(分支注释损失水平目标)「注释分析」

论文题目:H2RBOX: HORIZONTAL BOX ANNOTATION IS ALL YOU NEED FOR ORIENTED OBJECT DETECTION摘要从航空图像到自动驾驶,定向目标检测出现在许多应用中,而许多现有的检测基准仅使用水平边界框进行标注,这也比细粒度旋转框的成本低,导致现成的训练语料库与不断增长的定向目标检测需求之间存在差距
本文提出了一种简单而有效的定向对象检测方法H2RBox,该方法仅使用水平框注释进行弱监督训练,它缩小了上述差距,并且即使与使用旋转框训练的对象相比,也显示出具有竞争力的性能
该方法的核心是弱监督和自监督学习,它通过学习两个不同视图的一致性来预测物体的角度
据我们所知,H2RBox是第一个基于水平框注释的定向对象检测器
与另一种方法相比,即水平盒监督实例分割与我们的定向对象检测后适应,我们的方法不受掩码预测质量的影响,并且在包含大量密集对象和异常值的复杂场景中可以执行得更稳健
实验结果表明,与水平盒监督实例分割方法相比,H2RBox具有显著的性能和速度优势,并且对内存的要求更低
而与旋转盒监督定向目标检测器相比,我们的方法表现出非常接近的性能和速度
源代码可在基于pytorch的MMRotate和基于jittor的JDet中获得
1介绍除了相对成熟的水平目标检测领域外,定向目标检测也受到了广泛关注,特别是对于复杂场景,需要细粒边界框(如旋转/四边形边界框),例如航空图像、场景文本、零售场景等
尽管面向对象检测越来越受欢迎,但许多现有的数据集都用水平框(HBox)注释,这可能不兼容(至少在表面上)用于训练面向的检测器
因此,对现有的水平注释数据集执行了劳动密集型的重新注释
例如,DIOR- r和SKU110K- r 分别是航空图像数据集DIOR (192K实例)和零售场景SKU110K (1733k实例)的旋转框(RBox)注释
一个有吸引力的问题出现了,如果一个人可以实现弱监督学习定向对象检测只使用(更容易获得的)HBox注解而不是RBox注解
在我们的实验中,一个潜在的和经过验证的技术是hbox监督的实例分割,涉及BoxInst ,BoxLevelSet 等
基于分割掩码方法,本文将上述过程称为HBox-Mask-RBox样式的方法,即BoxInst-RBox和BoxLevelSet-RBox
然而,它实际上涉及一个潜在的更具挑战性的任务,即实例分割,其质量对背景噪声很敏感,对后续的RBox检测步骤影响很大,特别是在复杂场景(图1(a))和对象拥挤(图1(b))的情况下
此外,涉及分割通常需要更多的计算成本,整个过程可能很耗时(见表1-2)
在本文中,我们提出了一种简单而有效的方法,称为HBox-to-RBox (H2RBox),其性能接近RBox注释监督方法,仅使用HBox注释,甚至在相当多的情况下优于我们的实验
我们方法的核心是弱监督和自监督学习,它通过学习两个不同视图之间的强制一致性来预测对象的角度
具体来说,我们在WS分支(见图2左)中基于FCOS的回归子网络中预测了5个偏移量,从而最终解码输出为rbox
由于我们只有水平框注释,所以在计算回归损失时,我们使用预测RBox的水平限定矩形
理想情况下,预测rbox和相应的ground truth (GT) rbox(未标记)具有高度重叠的水平限定矩形
在SS分支中(见图2右),我们将输入图像随机旋转一个角度,并通过回归子网络预测相应的RBox
然后,学习两个分支之间rbox的一致性,包括尺度一致性和空间位置一致性,以消除不希望出现的情况,保证WS分支的可靠性
我们的主要贡献如下:1)据我们所知,我们提出了第一个基于HBox注释的面向对象检测器
具体来说,设计了一个弱监督和自监督的角度学习范式,它缩小了HBox训练和RBox测试之间的差距,并且可以作为现有检测器的插件
2)我们通过几何方程证明,在我们设计的管道和一致性损失下,预测的RBox是正确的GT RBox,并且不依赖于未完全验证的/特别的假设,例如BoxInst中的颜色对亲和性或其他无法保证质量的中间结果,例如许多弱监督方法使用的特征映射
3)与潜在的替代方案(例如hbox -掩码- rbox,其实例分割部分由最先进的BoxInst完成)相比,我们的H2RBox在DOTA-v1.0数据集上的性能比mAP高出约14%(67.90%对53.59%),只需要其三分之一的计算资源(6.25 GB对19.93 GB),并且在推理方面快了大约12倍(31.6 fps对2.7 fps)
4)与完全RBox注释监督的旋转检测器FCOS相比,H2RBox在DOTA-v1.0和DIOR-R上分别仅落后0.91%(74.40%比75.31%)和1.01%(33.15%比34.16%)
此外,我们没有在推理阶段增加额外的计算,从而保持了相当的检测速度,大约是29.1 FPS与DOTA-v1.0上的29.5 FPS
2相关工作rbox监督的定向对象检测 视觉图像中的定向目标检测越来越受到不同领域的关注,例如航空图像,场景文本,零售等
早期的方法包括RRPN 、ROI-Transformer和ReDet 直接进行角度回归
为了解决由于角度周期性导致的损失不连续和回归不一致问题,后续工作将旋转边界框的参数化转化为二维高斯分布或将角度回归转化为分类
hbox监督的实例分割及其面向对象检测的潜力 纯粹使用hbox注释来训练旋转对象检测器的大胆想法很有吸引力,但在文献中仍然很少研究,这可以被视为面向对象检测的弱监督(WS)学习范式
一个相关且研究得更好的技术是HBox监督的实例分割,它尝试基于HBox注释对实例进行分割,用于WS训练
例如,SDI 依赖于MCG (Pont-Tuset)生成的区域建议并使用迭代训练过程来细化分割
BBTP 将hbox监督下的实例分割,制定为基于Mask R-CNN的多实例学习问题
BoxInst 在有效的RoI-free条件下使用带有box约束的颜色对亲和
BoxLevelSet 引入了一个能量函数来预测作为水平集的实例感知掩码
尽管我们可以从上述实例分割方法中通过一定的方法基于分割掩码获得最终的对象方向,例如通过找到最小的被限制矩形,但我们在实验中证明,这种HBox-Mask-RBox管道可能很复杂(分割甚至比旋转检测更难—见图1),并且在存在密集对象和背景噪声的情况下成本很高
因此,我们的目标是跳过分割步骤,并建立一个hbox到rbox的范式,这是我们所知的以前没有研究过的
3 .建议方法H2RBox的总体结构如图2所示,生成了两个增强视图,避免了训练过拟合的信息泄漏
有两个分支
其中一个分支用于弱监督(WS)学习,监督是来自训练数据的GT HBox,并计算由该分支预测的RBox得到的限定HBox与GT HBox之间的回归损失
另一个分支通过自监督(SS)学习进行训练,该学习涉及原始输入图像的两个增强视图,这有助于在两个视图之间获得一致的RBox预测,最后的损失是WS损失和SS损失的加权和
注意,测试阶段预测只与WS分支有关
3.1增强视图生成根据数据增强自监督学习的一般思想,给定输入图像,我们在保持视图1与输入图像一致的情况下,进行随机旋转生成视图2,如图2所示
然而,旋转变换会在几何上不可避免地引入人工黑色边框区域,并导致GT角信息泄露的风险
我们提供了两种可用的技术来解决这个问题:1)中心区域裁剪:裁剪图像中心的a√2/2 s ×√2/2 s区域a
2)反射填充:用反射填充填充黑色边缘区域
如果在视图2中使用了Center Region crop,则视图1也需要执行相同的操作并过滤相应的ground truth
相反,反射填充比中心区域裁剪效果更好,因为它保留了尽可能多的区域,同时保持了更高的图像分辨率
图3(a)和图3(b)比较了零填充和反射填充
请注意,黑色边界区域不参与SS分支的回归损失计算,因此通过反射填充填充未标记的前景对象并不重要
3.2弱监督(ws)分支将生成的两个视图(View 1和View 2)分别馈送到具有参数共享主干和颈部的两个分支,指定为ResNet 和FPN ,如图2所示
这里的WS分支由基于fcos的旋转对象检测器指定,用于训练和推理
该分支包含回归和分类子网络,用于预测RBox、类别和中心度
回想一下,我们不能使用预测的RBox直接计算最终回归,因为没有RBox注释,只有HBox
因此,我们首先将预测的RBox转换为相应的最小水平限定矩形,以计算导出的HBox和GT HBox注释之间的回归损失(我们将损失公式的细节推迟到第3.5节)
随着网络训练的更好,预测RBox和未标记的GT RBox之间会产生间接连接(水平限定矩形约束):无论物体如何旋转,它们对应的水平限定矩形总是高度重叠的
然而,如图4(a)所示,仅使用WS损失只能对目标进行局部定位,对于精确的旋转估计仍然不够有效
3.3自监管(ss)分支作为WS损失的补充,我们进一步引入SS损失
SS分支只包含一个用于预测旋转视图2中的RBox的回归子网络
给定View 2中采用的(随机)旋转变换R(度为∆θ),则View 1在WS分支中的位置(x, y)与View 2在SS分支中旋转R的位置(x∗,y∗)的关系为:其中(xc, yc)为旋转中心(即图像中心)
回想一下,SS分支黑色边框区域(图3)的标签设置为无效负样本,不参与下文设计的后续损失
具体来说,一个尺度损失Lwh解释了尺度一致性,以增强上述的间接联系:对于通过不同旋转从同一物体获得的增强物体,检测器预测一组相同尺度的rbox,这些预测的rbox与对应的GT rbox(未标记)具有高度重叠的水平边界矩形
用这种增强的间接连接,包括水平限定矩形,我们可以将预测结果限制在有限数量的可行情况下,解释如下:图5显示了基于上述增强间接连接的两种情况,并列出了四个变量(w, h, θ, ϕ)的四种不同表达式
由于角度的周期性,在角度定义内,这四个方程只有两个可行解,即绿色的GT RBox和橙色的对称RBox
也就是说,在这种强化的间接联系下,预测RBox与GT RBox之间的关系是重合的Bc(w, h, θ)或围绕物体的中心对称的b (w, h, π−θ)
从图4(a)中可以看出,使用Lwh后,仍然存在很多角度极不准确的不良情况
有趣的是,如果我们对这些糟糕的情况和它们的中心点做一个对称变换,结果会好很多
在生成视图时,可以得到一个几何先验,即两个视图之间的空间变换关系,在式1中表示为R
由此,我们可以得到两个分支之间的变换关系,记为T<Bws, Bss>:其中Bcws和Bsss分别表示WS分支预测的重合边界框和SS分支预测的对称边界框
这里S表示对称变换
以T<Bws, Bss>= {R, S}为例,表示Bsss = S(R·Bcws)
因此,消除对称情况的有效方法是让模型知道两个分支预测的rbox之间的关系只能是R,受上述分析的启发,利用空间位置损失来构建两个分支预测的rbox的空间变换关系R
具体来说,先对WS支路预测的RBox进行R变换,然后利用中心点损失Lxy、角度损失Lθ等几种损耗来衡量其与SS支路预测的RBox的位置一致性
实际上,空间位置一致性,特别是角度损失,提供了第5个角度约束方程(φ−θ =∆θ 6= 0),使得图5中的方程组具有非严格证明的唯一解(即预测的RBox是GT RBox),因为方程组是非线性的
最终的SS学习包括尺度一致性学习和空间位置一致性学习:图4(b)显示了使用SS损失的可视化,并进行了准确的预测
附录显示了不同约束组合的可行解的可视化
3.4标签重赋值器由于需要计算两个分支的预测结果的一致性,所以需要在SS分支中重新分配标签
具体来说,SS分支位置(x∗,y∗)上的标记,包括中心性(cn∗)、目标类别(c∗)和目标GT HBox (gtboxh∗),与WS分支位置(x, y)上的标记相同
此外,我们还需要将WS分支预测的rboxws(xws, yws, wws, hws, θws)作为SS分支的目标RBox来计算SS损失
我们提出了两种重新分配策略:1)一对一(O2O)分配:使用cn, c和gtboxh,将WS分支中位置(x, y)预测的rboxws用作SS分支(x∗,y∗)的目标RBox(见图3(a))
2)一对多(O2M)赋值:在SS支路位置(x∗,y∗),使用最接近gtboxh(x,y)中心点的rboxs作为目标RBox,如图3(b)所示
图3(c)显示了两种重新分配策略之间的差异
重新赋值后,我们需要对rboxws进行旋转变换,得到用于计算SS损失的rboxws∗(x∗ws, y∗ws, w∗ws, h∗ws, θ∗ws),根据公式3:(x∗ws, y∗ws) = (xws−xc, yws−yc)R> + (xc, yc), (w∗ws, h∗ws) = (wws, hws), θ∗ws = θws +∆θ(4)图3中可视化的标签赋值进一步表明SS损失有效地消除了对不期望情况的预测
不同检测器的标签重新分配可能需要不同的策略
关键是为两种视图的预测结果设计合适的匹配策略,使网络能够更好地学习到一致性
3.5结合ws和ss损失计算总损失由于WS分支是基于FCOS的旋转目标检测器,所以这部分的损失主要包括回归Lreg、分类lcl和中心Lcn
我们将WS分支中的WS损失定义如下:其中Lcls为焦点损失, Lcn为交叉熵损失,Lreg为IoU损失,Npos为阳性样本数
p和c表示由Sigmoid函数和目标类别计算的各类的概率分布
rboxws和gtboxh分别表示WS分支和水平GT盒中的预测RBox
Cn 0和Cn表示预测中心度和目标中心度
1{c(x,y)>0}是指示函数,当c(x,y)>0时为1,否则为0
r2h(·)函数将RBox转换为相应的水平限定矩形
我们默认设置了超参数µ1 = 1,µ2 = 1和µ3 = 1
则由SS分支预测的rboxss(x∗ws, y∗ws, w∗ws, h∗ws, θ∗ws)与rboxss(xss, yss, wss, hss, θ SS)之间的SS损损失为:其中Bws(- w∗ws, - h∗ws, w∗ws, h∗ws), B1ss(- wss, - hss, wss, hss)和B2ss(- hss, - wss, hss, wss)
我们默认设置γ1 = 0.15和γ2 = 1
Lwhθ考虑了边界问题(Y ang et al, 2021c)引起的损失不连续,如角度的周期性和边的互换性
总损失是WS损失和SS损失的加权和,其中我们默认设置λ = 0.4
4实验4.1数据集和实现细节DOTA-v1.0 是航空图像中面向目标检测的最大数据集之一,其中包含大规模密集场景和复杂背景等具有挑战性的情况
它包含15个类别,2806张图片,188282个实例,RBox和HBox都有注释,后者直接来源于前者
训练集、验证集、测试集的比例分别为1/2、1/6、1/3
对于训练和测试,我们遵循标准协议,将图像裁剪成1,024×1,024块,步幅为824
DIOR- r 是基于水平标注版本DIOR的RBoxes标注的航拍图像数据集
总共有23,463个图像和190,288个实例,涵盖20个对象类
DIOR-R在空间分辨率以及类间和类内的对象大小变化方面都具有很高的对象大小变化
不同的成像条件,天气,季节,图像质量是DIOR-R的主要挑战
此外,它具有较高的类间相似性和类内多样性
方法是在基于开源PyTorch的框架MMRotate下实现的,该框架是为旋转检测量身定制的
我们采用FCOS和ResNet50主干和FPN颈部作为基线方法和构建块,在此基础上我们开发了我们的方法(见图1)
为了实现弱监督的HBox- mask - rbox替代方案进行比较,我们使用了两种基于HBox注释的强实例分割方法:BoxInst和BoxLevelSet,其次是找到其最小紧凑周边矩形作为检测到的RBox,分别命名为boxxinstrbox和BoxLevelSet-RBox
所有模型都在GeForce RTX 3090 GPU上使用AdamW进行训练,除了BoxLevelSet,它需要具有更大内存的NVIDIA V100
初始学习率为10−4,每个mini-batch有2张图像,权重衰减为0.05
此外,我们对500次迭代采用学习率预热,并且在每个衰减步骤中学习率除以10
采用随机翻转避免过拟合,无其他技巧4.2主要结果我们比较了RBox和hbox监督的旋转检测器,默认AP为旋转检测文献中符合标准协议的AP50:95
DOTA-v1.0的结果 如表1所示,我们的方法在AP50方面分别显著优于BoxInst-RBox和BoxLevelSet-RBox,分别高出14.31%和11.46%
此外,我们的方法还具有更高的内存和推理效率
具体来说,与BoxInst相比,我们只需要不到其内存的三分之一(6.25 GB vs. 19.93 GB),速度优势约为12倍(31.6 fps vs. 2.7 fps)
与BoxLevelSet相比,我们的内存成本仅为其内存的四分之一(6.25 GB vs. 26.81 GB),并且推理速度快了7倍(31.6 fps vs. 4.7 fps)
事实上,-RBox方法的主要成本来自于在我们的实现中通过调用OpenCV函数来完成的寻找紧凑的RBox周围盒的昂贵后处理步骤
即使与rbox监督的方法相比,我们的方法也优于一些方法,如RepPoints和RetinaNet
在“1x”和“3x”训练计划下,我们的方法略微落后于基线方法,即FCOS(记住它是rbox监督的),分别为2.96%和1.81%
使用多尺度训练和测试后,差距仅为0.91% (75.31% vs. 74.40%)
DIOR-R结果 请注意,该数据集中的一些类别,包括烟囱,风车,机场,高尔夫球场,虽然对象不是完全水平的,但都被水平框强制注释,这可能会影响学习和最终结果
如表2所示,与DOTA-v1.0相比,DIOR-R对实例分割方法的挑战更小
这也许可以解释H2RBox和BoxInst-RBox在AP50上的性能接近的现象
对于高精度检测,即需要更准确分割的高AP75, H2RBox在AP75上比BoxLevelSet-RBox和BoxInst-RBox分别高出8.24%(32.6%对24.36%)和4.50%(32.6%对28.10%),并且具有更低的内存和更高的推理速度
同样,H2RBox的性能略低于rbox监督的FCOS,分别为33.15%和34.16%
4.3消融研究在H2RBox上进行了12个训练周期的消融研究
消除视图生成的边框效果 表3研究了不同的边框效果消除策略对视图生成的影响,包括填充和/或裁剪(见3.1节)
这些技术对于避免地真角信息泄漏是必不可少的,否则模型会出现过拟合,导致性能显著下降,如表第一行所示
请注意,与仅使用反射填充相比,当同时应用反射填充和裁剪时,AP从35.92%略微下降到33.60%
其原因可能是由于通过裁剪减少了输入图像的大小
因此,在所有其他实验中,我们总是单独使用反射填充
标签re-assignment 表4显示了一对一策略优于一对多策略,处理各向同性圆形对象类的策略
对于像Storage Tank (ST)和Roundabout (RA)这样的圆形物体,自监督损失由于对各向同性信息不敏感而不起作用
我们采用两种处理方法来处理这种圆形对象
S1:对于训练,我们屏蔽了循环类别的SS损失
S2:测试时,取圆形类别的水平限界矩形作为最终输出
从表5可以看出,当使用其中一种或两种策略时,性能都可以得到很大的提高,在ST上约提高15%,在RA上约提高25%
Self-supervised损失 表6显示,在不使用SS损耗的情况下,我们的方法在DOTA-v1.0和DIOR-R上的准确率分别只有12.63%和15.27%
相反,使用SS损耗导致整体性能大幅提升,分别达到35.92%和33.15%
图4(b)也可以看出,SS损失可以有效地帮助模型学习到正确的物体角度信息
5结论本文介绍了H2RBox,这是第一个(据我们所知)hbox监督的面向对象检测器
H2RBox通过自监督学习来学习旋转,其损失衡量了两个不同视角下预测角度的一致性
与其他hbox监督的实例分割方法相比,H2RBox实现了更高的检测精度,特别是对于复杂场景,但内存更低,速度更快
与完全rbox监督的算法相比,我们的方法仍然具有竞争力
注释水平目标H2rbox(分支注释损失水平目标)
(图片来源网络,侵删)

联系我们

在线咨询:点击这里给我发消息