OGMN: Occlusion-guided Multi-task Network for Object Detection in UAV Images

OGMN: Occlusion-guided Multi-task Network for Object Detection in UAV Images用于无人机图像目标检测的遮挡引导多任务网络

摘要

物体之间的遮挡是无人机图像中物体检测中被忽视的挑战之一。由于无人机的高度和角度可变,无人机图像中的遮挡比自然场景中的遮挡更频繁。与自然场景图像的遮挡相比,无人机图像的遮挡存在特征混淆问题和局部聚集特性。我们发现,提取定位物体之间的遮挡有利于检测器解决这一挑战。根据这一发现,引入了遮挡定位任务该任务与目标检测任务一起构成了我们的遮挡引导多任务网络(OGMN)。OGMN包含遮挡的定位和两个遮挡引导的多任务交互。详细地**,提出了一种遮挡估计模块(OEM)来精确定位遮挡**。然后,OGMN利用遮挡定位结果来实现具有两个多任务交互的遮挡引导检测

介绍

无人机场景中,遮挡的发生率比CityPersons数据集等自然场景中的多十倍左右。这种高频遮挡对探测器来说是一个巨大的挑战,但在无人机图像目标检测中却被忽视了。与自然场景不同,无人机图像中的遮挡可以概括如下:(1)局部聚焦:遮挡在无人机图像中聚集,而不是在自然图像中零星分布。物体的不均匀分布和局部拥挤是无人机图像特有的问题。遮挡与这些问题同时发生,因此遮挡也具有局部聚集的特征,如图2的红框区域所示。

在这里插入图片描述

(2)特征混淆。通用检测器倾向于学习判别特征,但遮挡对象的判别特征很可能在空间位置上被其他遮挡对象遮挡。从相机的拍摄角度来看,自然场景图像大多从物体的侧视图获取,遥感图像大多从对象的俯视图获取,而无人机图像介于两者之间。因此,无人机图像中的物体特征包括物体的侧面特征和物体的顶部特征,这些特征是丰富而复杂的。所有这些因素使得现有的检测器更难提取这些遮挡对象区域的语义特征信息。类似于特征混淆问题,我们将这种问题命名为遮挡对象的特征混淆。基于这些遮挡特性,我们提出了一种新的遮挡引导多任务网络,以提高无人机图像的检测性能。

如图3所示,
在这里插入图片描述

通用检测器根据编码器输出预测检测结果,编码器的输出缺乏遮挡感知。但是,解决遮挡挑战需要检测器能够感知遮挡,这与该图像分类工作中的定位遮挡类似。这种感知的困难在于,现有的物体检测工作没有这样的遮挡定位实现。因此,迫切需要一种能够定位遮挡的检测器。受多任务范式的启发,我们首次将遮挡定位任务引入检测器,以形成一种新的遮挡引导多任务网络(OGMN)该网络将遮挡定位和对象检测相结合

第一步的实现使模型能够感知遮挡,但没有完全利用它进行检测。遮挡定位任务的引入使模型能够感知遮挡,但它并没有完全用于检测。因此,能否充分有效地利用遮挡定位结果也是一个问题。受这项工作中多任务交互的启发,OGMN设计了两种新的遮挡引导的多任务交互,以在检测中利用遮挡定位结果。从本质上讲,我们的OGMN由三种技术组成

首先,为了预测遮挡位置信息,提出了一种新的遮挡估计模块和相应的训练真值生成方法,如图3所示,我们将OEM作为遮挡定位解析器嵌入到通用检测器中,以形成一个新的多任务网络,用于遮挡定位任务和对象检测任务

其次,我们设计了两个任务的解码器之间的多任务交互,以解决遮挡对象的特征混淆问题。我们提出了一种检测解码器遮挡去耦头(ODH)来代替原来的检测头。ODH将来自OEM的遮挡定位结果解耦为编码器输出特征,以生成用于检测任务解耦特征

最后,为了追求更好的检测性能,我们为检测过程提出了一种两阶段渐进细化过程(TPP),以解决遮挡的局部聚集特性

TPP检测原始图像,并选择遮挡对象与遮挡定位结果聚合的几个子区域。因此,模型细化检测这些遮挡子区域并输出精细检测结果,这些精细检测结果与原始图像的检测结果合并以形成最终检测结果。此外,TPP的子区域选择是训练阶段隐含的数据扩充,使模型对遮挡对象更具鲁棒性

贡献

(1)首次系统分析了无人机图像目标检测中导致检测性能较差的遮挡挑战,并将其归纳为特征混淆问题和局部聚集特征。我们提出了一个遮挡引导多任务网络(OGMN)来应对这一挑战。

(2)为了定位遮挡,我们将遮挡定位任务引入到检测器中,并提出一个新的遮挡估计模块(OEM)来精确估计遮挡位置信息,并提出一种用于训练阶段的遮挡图真实值生成方法。

(3)为了充分利用遮挡定位结果,我们提出了一种用于遮挡引导的多任务交互的遮挡解耦头(ODH)和两阶段渐进细化过程(TPP),他们实现了更高的检测精度和更稳健的检测性能。

总结

为了定位遮挡,将遮挡定位任务引入到检测器中,提出了一个新的遮挡估计模块(OEM)来精确估计遮挡位置信息,并提出一种用于训练阶段的遮挡图真实值生成方法。

ODH(用于遮挡引导的多任务交互的遮挡解耦头)和TPP(两阶段渐进细化过程)

相关工作

遮挡估计和定位

遮挡对自然图像中的计算机视觉有重大影响。原因是被包围和部分遮挡的对象很常见。训练丧失功能和闭塞定位是解决闭塞挑战的两个主流。用于改善训练损失功能,(wang)试图通过设计新的损失函数来削弱遮挡的效果。他们用物体的吸引和排斥来模拟现实世界场景中行人之间的遮挡。然而,实验结果表明,它对行人遮挡是令人满意的,但不能适应无人机摄影对象的遮挡。另一种思维当时,遮挡定位对于解决遮挡物体感知能力差的问题具有重要意义。(Kortylewski)设计网络来定位图像分类中的遮挡。尽管这些作品在自然图像中定位良好,但它们使用了合成网。CompositionNets的许多组件都需要手动设计,而CompositionNets中的每个组件都对网络有很大影响。对于无人机图像的目标检测,由于无人机图像遮挡的复杂性,这些自然场景遮挡方案无法迁移到无人机图像检测器中。尽管这些作品在自然图像中定位良好,但它们使用了合成网。本文提出了一种基于卷积神经网络的遮挡定位网络,将遮挡定位作为额外的解码器。为了更好地收敛网络,本文提出了一种用于训练的遮挡图真值生成方法

目标检测的解耦任务

分类任务和定位任务的解耦是目标检测解耦任务的核心。解耦的原因是对象定位分支和对象分类分支之间存在较大的偏差。绝大多数检测器使用结合了分类和定位任务的兄弟头(用于分类和定位的共享头)。IoU-Net首次发现兄弟姐妹的头部存在分类和定位任务相互干扰的问题。因此,IoU-Net在头部添加了一个分支,以预测检测边界框及其相应的ground truth框的IoU。(Song)观察到,共享头部对两个任务对齐具有空间错位,分类依赖于显著特征,而边界盒定位依赖于边界特征,因此它们产生了两个解纠缠的建议,以将分类和定位任务与空间维度解耦。(Wu)直接将共享头拆分成两个分支以实现解耦,并提出卷积层更适合定位分支,而全连接层更适合分类分支。(Ge)结合上述工作的方法,提出了YOLOX的去耦头。然而,**上述工作的缺点是,它们只对编码器输出进行解耦,而没有考虑遮挡引起的对象特征混淆。**受此启发,本文提出了一种遮挡解耦头,考虑了分类和定位分支之间的不一致性,并涵盖了遮挡语义信息的融合。

方法

如图4所示,我们提出的**遮挡引导多任务网络(OGMN)**由以下三个关键技术组成:遮挡估计模块(OEM)、遮挡解耦头(ODH)和两阶段渐进细化过程(TPP)。OGMN是基于多任务范式设计的,包括遮挡定位和两个遮挡引导的多任务交互。原始设备制造商在无人机图像中定位遮挡,并输出遮挡引导多任务交互的遮挡定位结果。ODH将遮挡定位结果解耦为分类和定位任务,以及通过对遮挡框进行加权来挖掘遮挡样本。OGMN设计了一个两阶段渐进细化过程(TPP),以自适应地找出遮挡子区域,对原始图像进行粗检测,并对遮挡子对象进行精细检测,然后将粗检测和精细检测结果与非最大值抑制进行合并。

遮挡引导的多任务网络

为了解决无人机图像对象检测中的遮挡挑战以提高检测性能,我们采用了遮挡引导的多任务学习范式来设计我们遮挡引导检测网络(OGMN),包括遮挡定位和两个遮挡引导多任务交互。
OGMN的目标是获得遮挡对象的多尺度特征和遮挡空间位置。与(Sun)中的讨论类似,遮挡对象可以描述为遮挡区域与非遮挡区域的组合。因此,具有K个遮挡区域和n-k个非遮挡区域的遮挡对象表示为:
B = ( l 1 o c c , . . . . . l k o c c , l k + 1 u n o c c , l n u n o c c ) B=(l_1^{occ},.....l_k^{occ},l_{k+1}^{unocc},l_n^{unocc}) B=(l1occ.....lkocclk+1unocclnunocc)

l i o c c l_i^{occ} liocc是第i个遮挡区域, l i u n o c c l_i^{unocc} liunocc是第i个非遮挡区域。

遮挡位置的信息被描述为 F o c c F_{occ} Focc遮挡位置取决于B。因此,遮挡引导检测器可以参考遮挡对象的遮挡位置信息来实现对遮挡对象的检测。根据贝叶斯定律,检测结果可以描述为 P ( B ∣ F o c c , F i ) P(B|F_{occ},F_i) P(BFocc,Fi)用于由输入图像的编码器提取的多尺度特征 F i F_i Fi
p ( B ∣ F o c c , F i ) = p ( F o c c ∣ B . F i ) ∗ p ( B ∣ F i ) p ( F o c c ) p(B|F_{occ},F_i)=\frac{p(F_{occ}|B.F_i)*p(B|F_i)}{p(F_{occ})} p(BFocc,Fi)=p(Focc)p(FoccB.Fi)p(BFi)

p ( F o c c ∣ B , F i ) p(F_{occ}|B,F_i) p(FoccB,Fi)在给定编码器的特征 F i F_i Fi和遮挡的检测的情况下获得遮挡位置信息的概率 p ( B ∣ F i ) p(B|F_i) p(BFi)在给定编码器特征的情况下获得遮挡对象的概率 F i F_i Fi

假设输入图像中的遮挡对象,则检测结果是具有最大后验概率的位置:
B ∗ = arg ⁡ max ⁡ B ( p ( B ∣ F occ , F i ) ) = arg ⁡ max ⁡ B ( p ( ∣ F occ ∣ B × p ( B ∣ F i ) ) B^* = \underset{B}{\arg\max}(p(B|F_{\text{occ}},F_i)) \\ = \underset{B}{\arg\max}(p(|F_{\text{occ}|B} \times p(B|F_i)) B=Bargmax(p(BFocc,Fi))=Bargmax(p(FoccB×p(BFi))
因此,检测取决于似然模糊 p ( F o c c ∣ B , F i ) p(F_{occ}|B,F_i) p(FoccB,Fi)和空间先验 p ( B ∣ F i ) p(B|F_i) p(BFi)。在本文中,我们提出了一个遮挡引导的多任务网络来对这两个因素进行建模,定位遮挡可以对似然模型 p ( F o c c ∣ B , F i ) p(F_{occ}|B,F_i) p(FoccB,Fi)进行建模。空间先验 p ( B ∣ F i ) p(B|F_i) p(BFi)可以被建模为对象检测过程。

实现遮挡定位是OGMN的核心OGMN的策略可以概括为使用遮挡定位结果来指导检测。遮挡定位的实现是该策略实现的前提,准确可靠的遮挡定位结果是整个策略有效性的保证。但是现有的目标检测工作并没有实现一种遮挡定位的方法。因此,提出了一种新的遮挡估计模块,并将其嵌入到检测器中,以形成一个既考虑遮挡定位任务又考虑目标检测任务的新的多任务网络。在这项工作中,新的遮挡定位和对象检测是OGMN中的两个相关任务,它们可以共享互补信息,并充当彼此的正则化子,有可能提高各自的性能**。由于遮挡定位任务的特征与对象检测所需的特征部分相同,因此它们可以共享一个编码器进行特征提取**。由于这一点,与两个任务的每个任务一个编码器相比,网络中的参数数量和由此产生的内存占用大大减少。对于网络架构,整个网络架构由一个共享特征提取编码器和两个独立的任务解码器组成,这是一个多任务网络范式,如图3所示:

在这里插入图片描述

多任务交互是提高模型性能的有效方法。我们网络中的解码阶段为两个不同的任务使用两个单独的任务专用头,这满足了两个任务的独立输出,但缺乏充分的交互。为了充分利用遮挡定位结果,ODH和TPP被设计为两个遮挡引导的多任务交互,以在检测中利用遮挡定位的结果来实现更好的检测性能,ODH和TPP的设计是基于无人机图像的遮挡特性。为了解决遮挡对象的特征混淆问题,我们设计了ODH来代替原来的通用检测头。根据遮挡的局部聚焦特性,我们提出了一种两阶段渐进细化过程来改进检测过程。

遮挡估计模块(OEM)
遮挡估计模块网络

遮挡估计任务是OGMN的核心,OGMN需要准确的遮挡定位结果来指导检测。现有的物体检测工作没有实现这一要求的方法。因此,迫切需要一种能够充分表达遮挡定位任务的新型遮挡定位网络。本文根据无人机图像的遮挡小尺度特性,设计了一种具有无人机图像遮挡估计器功能的遮挡定位解码网络。为此,设计了一种新型的遮挡估计模块。

OEM网络包括多个上采样,这样做是为了更准确地估计遮挡。原因是无人机图像中的大多数物体都是小规模物体,它们之间的遮挡较小,此外编码器在多次下采样后输出特征。为了准确定位遮挡,OEM使用PixelShuffle对特征图进行上采样以提高分辨率CSP块可以很好地与当前位置和周围位置的特征交互,因此该块用于在每次上采样后利用局部上下文信息,总之上采样和卷积交互的交替是OEM的设计标准。图4显示了OEM网络的更多细节。来自编码器的部分多尺度特征图被输入到OEM,并输出具有遮挡空间信息的遮挡置信图。因此,图像的每个像素位置都被赋予遮挡置信度值,该值构成像素级遮挡定位结果
在这里插入图片描述

因此,给定来自网络中编码器的多尺度特征图片 F i F_i Fi,并将第p个序列中的PixelShuffle和CSP表示为 U p ( ∗ ) U_p(*) Up() C p ( ∗ ) C_p(*) Cp(),OEM的遮挡置信度图可以被表示为:
M i o c c = π p = 0 p C p ( U p ( F i ) ) M_i^{occ} = \pi_{p=0}^pC_p(U_p(F_i)) Miocc=πp=0pCp(Up(Fi))

其中P表示重复串联的模块数量。

遮挡定位真值的生成

在OEM能够充分表达定位任务之后,确定OEM是否能够输出准确的遮挡定位结果的另一个关键是生成训练真值标签。具有足够拟合潜力的网络精确输出的关键是参与网络训练的真值标签。根据该原则,网络中的OEM在训练过程中受到监督。但是,可用的无人机图像对象检测数据集没有用遮挡位置进行标记,也没有为OEM训练提供真实标签。因此,我们需要为OEM的监督训练设计一种新的真值标签生成方法,并设计一种由ground truth真值盒生成的遮挡图真值标签的新生成方法。

如图5左侧所示,只有object ground truth的重叠区域用高斯核进行模糊处理,以使遮挡图更符合真实的遮挡分布。然而,在用这种生成方法训练OEM后,输出遮挡置信度图中包含的语义信息与对象检测所需的语义信息相差太大。这种差异使得网络在训练中很难平衡这两项任务。这导致整个网络的收敛性较差。为了更好地收敛网络,回归更精确的遮挡语义信息,本文提出了一种突出遮挡的生成方法,以生成有效的遮挡图真值标签进行训练

在这里插入图片描述

如图5右侧所示,我们提出的生成方法通过突出object ground truth内的遮挡区域来最大限度减少差异,这增强了两个任务的相关性,并实现了网络的更好收敛。

OGMN的训练损失函数对应于多任务网络的结构,该结构由两个任务的训练损失组成。给定N个输入图像,其中第N个输入图像为,真实遮挡图为 T n T_n Tn遮挡估计任务 L o c c L_{occ} Locc的损失函数基于均方误差,如下所示:
L o c c = 1 N ∑ n = 1 N ( O ( E ( I n ) ) − T n ) 2 L_{occ} = \frac{1}{N}\sum_{n=1}^N(O(E(I_n))-T_n)^2 Locc=N1n=1N(O(E(In))Tn)2

E ( ∗ ) E(*) E() O ( ∗ ) O(*) O()其中分别表示OGMN中的编码器和遮挡定位解码器。

遮挡解耦头

OEM的设计成功地引入了遮挡定位任务,检测模型可以感知遮挡。尽管OEM能够准确地估计遮挡定位结果,但这些结果仍然没有直接和充分地用于对象检测任务。解码器阶段充分的任务交互是提高每个任务性能的重要方法,而该模型仍然缺乏多任务交互。由于遮挡定位是首次引入,因此在现有工作中不存在对象检测和遮挡定位任务的多任务交互。因此,我们需要在遮挡定位结果的指导下,在两个任务解码器之间设计一种新的多任务交互。同样,由于检测头中的分类和定位之间的不一致性,两个任务解码器之间的新的多任务交互需要使用解耦策略进行设计。

在ODH中,所提出的解耦方法将遮挡定位结果独立地融合到分类和回归网络中。解耦的优点是可以提取两个任务所需的差异特征。此外,通过实验发现,简单的分类网络性能不好。ODH引入了大卷积核来增加感受野,两个任务的网络分支在通道维度上独立堆叠图像特征图和遮挡特征图,然后通过1*1卷积减少通道数,并使用大的内核卷积模块增强它们各自的融合特征。我们将编码器输出的多尺度特征表示为 F i F_i Fi,解耦方法可以描述为以下函数。其中 C a t ( ∗ ) C o n v 1 × 1 ( ∗ ) Cat(*) Conv_{1 \times 1}(*) Cat()Conv1×1()分别表示特征的级联、具有批量归一化层的1x1卷积和ReLU激活,而LK(*)是大的核卷积。

{ F i c l s = L K ( C o n v 1 ∗ 1 ( C a t ( F i e n c o d e r , O ( F i ) ) ) ) F i l o c = C o n v 1 ∗ 1 ( C a t ( F i e n c o d e r , O ( F i ) ) ) \left\{ \begin{aligned} &F_i^{cls} = LK(Conv_{1*1}(Cat(F_i^{encoder},O(F_i)))) \\ &F_i^{loc} = Conv_{1*1}(Cat(F_i^{encoder},O(F_i))) \end{aligned} \right. {Ficls=LK(Conv11(Cat(Fiencoder,O(Fi))))Filoc=Conv11(Cat(Fiencoder,O(Fi)))

O ( ∗ ) O(*) O()表示OGMN中的遮挡定位解码器。

作为补充,ODH提出了遮挡盒加权的采样策略来挖掘遮挡困难样本,(Lin)都专注于困难样本挖掘,也通过对困难样本框进行加权。但他们发现困难样本的方式是通过训练损失。这无法选择遮挡采样。因此,本文提出从原始设备制造商回归的遮挡置信图图表示为 m a p o c c map_{occ} mapocc,其中包含像素级遮挡置信度分数。所提出的遮挡硬样本挖掘是实例级的,而不是像素级的。为了将像素级置信度转换为实例级,我们将预测的框坐标和遮挡置信度图相结合,并计算像素级置信得分之和作为实例的置信度。遮挡硬样本挖掘的使用伴随着损失函数的加权。对象检测任务分类损失 L c l s L_{cls} Lcls定位损失 L l o c L_{loc} Lloc描述如下:
{ L c l s = 1 N ∑ n = 1 N L n = − 1 N ( ∑ n = 1 N ( w n o c c ∑ c = 1 C ) y n c l o g p n c ) L l o c = ∑ n N ( w n o c c ∑ k ∈ ( x , y , h , w ) ) s m o o t h L 1 ( t n k − v n k ) ) \left\{ \begin{aligned} &L^{cls} =\frac{1}{N} \sum_{n=1}^NL_n = -\frac{1}{N}(\sum_{n=1}^N(w_n^{occ}\sum_{c=1}^C)y_n^clogp_n^c)\\ &L^{loc} = \sum_{n}^N(w_n^{occ}\sum_{k \in (x,y,h,w)})smooth_{L_1}(t_n^k-v_n^k)) \end{aligned} \right. Lcls=N1n=1NLn=N1(n=1N(wnoccc=1C)ynclogpnc)Lloc=nN(wnocck(x,y,h,w))smoothL1(tnkvnk))
其中
w n o c c = { 2   s u m ( t n , M n o c c > = T h r o c c ) 1   s u m ( t n , M n o c c < T h r o c c ) w_n^{occ} = \left\{ \begin{aligned} &2 \ sum(t_n,M_n^{occ} >= Thr_{occ})\\ &1 \ sum(t_n,M_n^{occ} < Thr_{occ}) \end{aligned} \right. wnocc={2 sum(tn,Mnocc>=Throcc)1 sum(tn,Mnocc<Throcc)
其中C表示类别的数量,并且 y n c y_n^c ync是一个符号函数,如果样本n的真类别等于c,则取值为1,否则取值为0。 p n c p_n^c pnc表示样本n属于预测类别c的概率。 v n k ∈ ( t n x , t n y , t n w , t n h , t n k ∈ ( t n x , t n y , t n w , t n h ) ) v_n^k \in (t_n^x,t_n^y,t_n^w,t_n^h , t_n^k \in (t_n^x,t_n^y,t_n^w,t_n^h)) vnk(tnx,tny,tnw,tnh,tnk(tnx,tny,tnw,tnh))表示GT的框坐标和样本n的预测框坐标。表示对应于样本n的预测框 t n t_n tn M n o c c M_n^{occ} Mnocc中的遮挡置信度得分的总和。 T h r o c c Thr_{occ} Throcc是选择遮挡对象的阈值。

总训练损失函数是两个具有平衡权重的任务的总和,用于平衡每个任务,如下所示:

L t o t a l = λ o c c L o c c + λ c l s L c l s + λ l o c L l o c L_{total} = \lambda _{occ}L_{occ} + \lambda _{cls}L_{cls}+ \lambda _{loc}L_{loc} Ltotal=λoccLocc+λclsLcls+λlocLloc
λ o c c , λ c l s , λ l o c \lambda_{occ},\lambda_{cls},\lambda_{loc} λocc,λcls,λloc表示遮挡定位任务、分类任务的权重参数,和目标检测任务中的定位任务。 L o c c L_{occ} Locc是遮挡定位任务损失函数, L c l s L_{cls} Lcls L L_{} L是检测损失函数。
loc

两阶段渐进细化过程

尽管ODH是两个任务解码器之间的遮挡引导交互,但仍然缺乏交互遮挡定位任务和检测过程。对于无人机图像目标检测中的检测过程,这些工作中的图像裁剪策略(2020)是改进检测过程的另一种方法,该策略可以有效的裁剪出目标的聚集区域。但现有的工作是以数据为导向的,他们忽略了遮挡对象是难以检测的事实。因此,需要在遮挡定位任务和检测过程之间进行遮挡引导的图像裁剪,我们根据遮挡的局部聚焦特性提出了一种两阶段渐进细化过程(TPP),如图6所示。

在这里插入图片描述

与现有工作相比,我们的TPP用遮挡对象的指导代替了整体数据的指导,这与(2016)中的硬样本类似。TPP粗略地检测原始图像,精细地检测裁剪的遮挡区域,构成检测过程的两阶段渐进细化过程。

TPP的优点是它是一个由遮挡对象引导的精细检测过程。详细地说,OGMN的检测结果来自两个阶段,包括源图像的粗略检测结果和遮挡子区域的精细检测结果。检测器首先预测下采样源图像的粗略结果,主要是显著对象的边界框、类别和置信度。在裁剪与由遮挡置信图自适应地选择的遮挡子区域相对应的子图像之后,检测器精细地检测这些子图像以输出更准确地结果。精细 检测阶段是提高遮挡对象等硬样本检测的关键。NMS将两个阶段的结果合并以输出最终检测结果。值得一提的是,OGMN对遮挡对象更具鲁棒性,因为遮挡子区域的选择是基于遮挡定位结果的,并且大多数遮挡对象都在这些区域中,因此可以对遮挡对象进行精细检测,此过程对于提高遮挡对象模型的稳健性非常有帮助。

算法1中记录了详细检测中遮挡子区域的自适应选择。

在这里插入图片描述

我们将原始输入图像表示为I,最终检测结果为 R f i n a l R_{final} Rfinal,检测结果近似于:
R f i n a l = N M S [ D ( E ( I ) , O ( E ( I ) ) ) , ∪ q = 0 Q D ( E ( I q ) , O ( E ( I q ) ) ) ] R_{final} = NMS[D(E(I),O(E(I))), \\ \cup _{q=0}^QD(E(I_q),O(E(I_q)))] Rfinal=NMS[D(E(I),O(E(I))),q=0QD(E(Iq),O(E(Iq)))]

E ( ∗ ) E(*) E()表示网络中用于提取多尺度特征图的编码器,D(8)和O(*)分别表示对象检测编码器和遮挡定位编码器。 I 0 , . . . . I N I_0,....I_N I0,....IN表示用算法1选择的遮挡子图像 I 0 , . . . , I Q = S e l e c t ( D ( E ( I ) ) , I ) I_0,...,I_Q = Select(D(E(I)),I) I0,...,IQ=Select(D(E(I)),I)

子区域的大小由图像中对象的比例差确定。数据集的统计数据显示,无人机图像中较大的物体是较小物体的四倍多。因此,为了尽可能多地消除图像中对象的比例差异,将子区域的大小的最小值确定为图像大小的四分之一。

同时,为了确保分割的子图像能够覆盖大部分遮挡对象,子区域大小的最大值不固定。如算法1所述,使用k均值聚类算法生成的子区域已经保证覆盖感知到的遮挡对象,并且基于这些子区域坐标,根据最小值约束来矫正子区域的大小。这样可以确保子区域覆盖感知到的遮挡对象,同时消除图像中对象之间的比例差异。

隐式训练数据扩充被纳入我们提出的两阶段渐进细化过程中。在测试阶段,遮挡子区域的精细检测结果与原始图像的检测结果相融合,而在训练阶段,则用于优化模型。这种隐式训练数据增强类似于通用数据增强技术,如均匀裁剪和随机裁剪。但这些通用技术都是以数据为导向的,缺乏对遮挡的感知。而我们的方法在训练阶段通过隐式训练数据增强,很好地感知到遮挡,并引导模型关注遮挡对象。这使得模型对于遮挡硬样本更加稳健。我们的TPP中的隐式训练数据扩充可以描述如下:

​ 通过算法1利用遮挡定位结果来选择遮挡子区域。在训练阶段,这些区域被裁剪出来并调整大小到合适的比例,作为新的训练数据,并与源图像I一起形成整个训练数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/421335.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Redis 之五:Redis 的主从复制

概念 主从复制&#xff0c;是指将一台 Redis 服务器的数据&#xff0c;复制到其他的Redis服务器。前者称为主节点(master)&#xff0c;后者称为从节点(slave)&#xff1b;数据的复制是单向的&#xff0c;只能由主节点到从节点。 默认情况下&#xff0c;每台Redis服务器都是主节…

(二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布

前言 本节内容会介绍如何使用Docker Pipeline插件实现docker项目的pipeline流水线项目的可持续化集成发布,在开始本节内容之前,我们要先搭建好docker环境,以及镜像本地存储仓库docker harbor,关于docker和docker harbor的安装,可查看作者往期博客内容。 正文 ①安装Doc…

【AIGC】“光影交织的恋曲:绝美情侣在蓝天下的深情互动“

外貌特征 (Physical Appearance)&#xff1a;给远景镜头&#xff0c;这对情侣拥有出众的容貌和气质。男子身材挺拔&#xff0c;五官立体鲜明&#xff0c;阳光洒在他俊朗的脸庞上&#xff0c;更显英气逼人&#xff1b;女子则拥有一头柔顺亮丽的秀发&#xff0c;明亮的眼睛如同星…

动态规划课堂3-----简单多状态问题(买卖股票最佳时机)

目录 引入&#xff1a; 例题1&#xff1a;按摩师&#xff08;打家劫舍I&#xff09; 例题2&#xff1a;打家劫舍II 例题3&#xff1a;删除并获得点数 例题4&#xff1a;粉刷房子 例题5&#xff1a;买卖股票的最佳时机含冷冻 结语&#xff1a; 引入&#xff1a; 相信看到…

指针篇章-(1)

指针&#xff08;1&#xff09;学习流程 —————————————————————————————————————————————————————————————————————————————————————————————————————————————…

QML中表格中数据获取

1.在生成的动态表格中获取某格数据的内容 import QtQuick 2.15 import QtQuick.Window 2.15import QtQuick.Controls 2.0 import Qt.labs.qmlmodels 1.0 import QtQuick.Layouts 1.15Window {width: 640height: 480visible: truetitle: qsTr("Hello World")TableMod…

探索Redis 6.0的新特性

Redis&#xff08;Remote Dictionary Server&#xff09;是一个开源的内存中数据结构存储系统&#xff0c;通常被用作缓存、消息队列和实时数据处理等场景。它的简单性、高性能以及丰富的数据结构支持使其成为了众多开发者和企业的首选。在Redis 6.0版本中&#xff0c;引入了一…

ubuntu22.04 成功编译llvm和clang 3.4.0,及 bitcode 函数名示例,备忘

1, 获取llvm 仓库 从github上获取&#xff1a; $ git clone --recursive https://github.com/llvm/llvm-project.git 2, 检出 llvmorg-3.4.0 tag 针对llvm 3.4.0版本&#xff0c;检出 $ cd llvm-project $ git tag $ git checkout llvmorg-3.4.0 3, 配置并编译llvm 使用 M…

矩阵爆破逆向之条件断点的妙用

不知道你是否使用过IDA的条件断点呢&#xff1f;在IDA进阶使用中&#xff0c;它的很多功能都有大作用&#xff0c;比如&#xff1a;ida-trace来跟踪调用流程。同时IDA的断点功能也十分强大&#xff0c;配合IDA-python的输出语句能够大杀特杀&#xff01; 那么本文就介绍一下这…

Siemens-NXUG二次开发-获取prt中体与类型、实体面与类型、实体边与类型、边上点的Tag标识[Python UF][20240302]

Siemens-NXUG二次开发-获取prt中体与类型、实体面与类型、实体边与类型、边上点的Tag标识[Python UF][20240302] 1.python uf函数1.1 NXOpen.UF.Obj.CycleObjsInPart1.2 NXOpen.UF.Obj.AskTypeAndSubtype1.3 NXOpen.UF.Modeling.AskBodyFaces1.4 NXOpen.UF.Modeling.AskFaceEdg…

韦东山嵌入式Liunx入门驱动开发四

文章目录 一、异常与中断的概念及处理流程1-1 中断的引入1-2 栈(1) CPU实现a ab的过程(2) 进程与线程 1-3 Linux系统对中断处理的演进1-4 Linux 中断系统中的重要数据结构(1) irq_desc 结构体(2) irqaction 结构体(3) irq_data 结构体(4) irq_domain 结构体(5) irq_domain 结构…

mac苹果电脑c盘满了如何清理内存?2024最新操作教程分享

苹果电脑用户经常会遇到麻烦:内置存储器(即C盘)空间不断缩小&#xff0c;电脑运行缓慢。在这种情况下&#xff0c;苹果电脑c盘满了怎么清理&#xff1f;如何有效清理和优化存储空间&#xff0c;提高计算机性能&#xff1f;成了一个重要的问题。今天&#xff0c;我想给大家详细介…

Unity 切换场景

场景切换前必须要将场景拖动到Build中 同步加载场景 using System.Collections; using System.Collections.Generic; //using UnityEditor.SearchService; using UnityEngine; // 场景管理 需要导入该类 using UnityEngine.SceneManagement;public class c3 : MonoBehaviour {…

XUbuntu22.04之如何找到.so库所在的软件包?(二百一十六)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

如何添加极狐GitLab Runner 信任域名证书

本文作者 徐晓伟 极狐Gitlab Runner 信任实例域名证书&#xff0c;用于注册注册极狐 GitLab Runner。 问题 参见 极狐gitlab-runner-host.md 说明 解决方案是使用颁发给域名 gitlab.test.helm.xuxiaowei.cn 的证书&#xff0c;可以使用自己的域名去各大云厂商免费申请&#…

Linux系统中的高级多线程编程技术

在Linux系统中&#xff0c;多线程编程是一种常见的并发编程模型&#xff0c;通过利用多线程可以实现程序的并发执行&#xff0c;提高系统的性能和响应速度。在Linux系统中&#xff0c;开发人员通常使用 pthread 库来进行多线程编程&#xff0c;同时需要掌握线程同步技术以避免并…

Mybatis批量更新对象数据的两种方法

说明&#xff1a;遇到一次需要批量修改对象的场景。传递一个对象集合&#xff0c;需要根据对象ID批量修改数据库数据&#xff0c;使用的是MyBatis框架。查了一些资料&#xff0c;总结出两种实现方式。 创建Demo 首先&#xff0c;创建一个简单的Demo&#xff1b; &#xff08…

Kotlin MutliPatform Demo NoteApp

简单用Kotlin实现个记录app&#xff0c;主要实现本地数据保存。支持多端运行 使用的库: voyagernapiercoroutinesktorserializationkotlinx-datetimekoinmultiplatform-settingssqldelightMVI 项目: MyNote

go并发模式之----工作池/协程池模式

常见模式之四&#xff1a;工作池/协程池模式 定义 顾名思义&#xff0c;就是有固定数量的工人&#xff08;协程&#xff09;&#xff0c;去执行批量的任务 使用场景 适用于需要限制并发执行任务数量的情况 创建一个固定大小的 goroutine 池&#xff0c;将任务分发给池中的 g…

学习:GPT-4技术报告2023.3

原文链接&#xff1a;GPT-4的 (openai.com) 摘要&#xff1a; 我们创建了 GPT-4&#xff0c;这是 OpenAI 在扩展深度学习方面的最新里程碑。GPT-4 是一个大型多模态模型&#xff08;接受图像和文本输入&#xff0c;发出文本输出&#xff09;&#xff0c;虽然在许多现实世界场…