文章的挑战:
先验值与物体区域之间的重叠度较低,导致样本池受到限制,而辨别信息的匮乏则进一步加剧了识别问题。
论文内容概括:
提出了CFINet网络,是一种基于粗-细管道和特征模仿学习的两阶段框架,专门用于小物体检测。
网络具体内容:
1.引入了从粗到细的RPN(CRPN),通过动态锚选择策略和级联回归,确保为小对象提供足够且高质量的建议。
2.给传统的检测头配备了一个“特征模仿(FI)”分支,以便于以模仿的方式对困惑模型的大小有限的实例进行区域表示。
3.设计了辅助模仿损失,与Faster RCNN集成。
传统的检测网络方法:
首先当前流行的检测器是利用基于重叠的策略和基于距离的策略来选择训练对象的正确值;降低定义正样本的阈值。
有几种方法提出缩小小物体与大物体之间表征距离的方法,大部分都依赖于生成对抗网络或相似性学习。在被认为具有视觉真实性的达吾提的引导下,解析还原尺寸受限实例的特征。
论文思路:
提出了一种基于粗到细通道和人特征模仿学习两阶段小目标检测器CFINet:
1.借鉴了级联RPN中的多级提案生成方案,设计了粗到细RPN(CRPN):首先采用动态锚选择策略挖掘潜在的先验进行粗回归,然后由区域建议网络对这些细化的锚进行分类和回归。
2.扩展了传统的分类回归设置,增加了一个辅助的特征模仿(FI)分支:利用高质量实例区域特征来指导哪些预测不确定\被误判的对象的学习。
3.设计了一个基于监督对比学习(SCL)的损失函数来优化整个过程。
主要贡献:
1.我们建立了一个名为CRPN的从粗到细的建议生成通道,用于执行从锚点到建议的程序,其中基于区域的锚点挖掘策略和级联回归技术为小实例提供了高质量的建议。
2.在高质量实例的监督下,引入了辅助特征模仿(FI)分支,以丰富使模型感到困惑的低质量实例的表征,并通过基于SCL的定制损失函数对这一新颖分支进行优化。
3.在SODA-D和SODA-A数据集上的实验结果表明,模型检测这些规模极其有限的实例方面具有优势。
国内外研究现状:
一、锚点完善和区域建议:
"完善锚点"和"区域建议"都是为了生成一组更精确的候选区域,确保在后续的目标检测过程中,能够准确识别并定位图像中的目标。
锚点:是一些预定义的边界框,它们在图像的不同位置和不同尺度上进行采样,以捕捉可能的目标,完善锚点的过程是对这些预定义的锚点进行调整和优化,使它们更准确地匹配图像中实际目标的大小和位置。
区域建议:区域建议(Region Proposals)是一种方法,用来从图像中生成一组可能包含目标物体的候选区域。这些候选区域通常是通过某种算法(如Selective Search、RPN等)生成的,并且数量较少,但更有可能包含目标物体。
两阶段:
- RPN首次在Faster RCNN中引入,应用于在全卷积网络中生成提案。
1) RPN网络主要包括以下几个步骤:
a.特征提取:使用预训练的卷积神经网络作为特征提取器,提取输入图像的特征图。
B.锚点生成:在特征图上生成多个不同大小和比例的锚点框,这些锚点框覆盖了特征图上的不同位置。
C.区域提议:使用卷积层对特征图进行进一步处理,生成每个位置的分数,这些分数表示该位置是否包含目标以及目标的类别。
D.非极大值抑制(NMS):对生成的候选框进行筛选,去除重叠度过高的框,只保留得分最高的几个框。
E.对筛选后的候选框进行调整,以获得更精确的目标边界。
- 建议对预定义的锚点进行迭代回归(2016年)。
- GA-RPN:抛弃了统一锚定策略,将锚点生成分为两个步骤:
- 首先是确定可能包含物体的位置,然后在这些位置上预测锚标尺(anchor scales):anchor中的ratio和scale,其中ratio是长宽之比,scale是边长。(https://blog.csdn.net/weixin_42756682/article/details/125137585),通过使用multi-stage anchor-to-proposal strategy(多级锚点到提案策略):一种通过多个阶段逐步调整和优化锚点,最终生成高质量候选区域的方法。
- multi-stage anchor-to-proposal strategy:解释为 RPN(Region Proposal Network)生成初始候选区域,然后通过 RoI Pooling 对这些区域进一步优化。之后,这些优化后的区域会经过更精细的分类和边界回归,最终确定目标物体的位置和类别。
- 首先是确定可能包含物体的位置,然后在这些位置上预测锚标尺(anchor scales):anchor中的ratio和scale,其中ratio是长宽之比,scale是边长。(https://blog.csdn.net/weixin_42756682/article/details/125137585),通过使用multi-stage anchor-to-proposal strategy(多级锚点到提案策略):一种通过多个阶段逐步调整和优化锚点,最终生成高质量候选区域的方法。
- Cascade RPN可以生成高质量的提案。
二、小物体检测的特征模仿(Feature imitation):
通过挖掘小型和大型物体之间的内在关联来增强小型/微型实例的语义表征。
- 基于生成对抗范式(the generative adversarial paradigm):
- Perceptual GAN:设计了一种生成器,经过优化后可生成高质量的小实例表示,以骗过随后的判别器。
- Bai等人设计了一种新颖的管道(pipeline):通常是一种创新的或改进的模型架构、训练方法或数据处理流程。
- Noh等人进一步引入了对小物体超分辨率过程中的精准监控。
- Wu和Kim等人都利用相似性学习,迫使小范围行人的特征接近于大范围行人的特征,而大范围行人的特征是通过附加模型获得的。
- 超分辨率分支(super-resolution branch):通常指的是一种网络结构或处理流程,用于提高图像的分辨率。包括的步骤:1.从低分辨率图像中提取特征;2.学习映射;3.上采样;4.细节增强;5.损失函数;6.后处理。
- 离线特征库(offline feature bank):离线特征库是指预计算并存储的一组特征向量或特征表示,这些特征通常是从数据集中提取出来的,并且在训练或推理过程中可以直接访问和使用,不需要实时计算(可以理解为预提取)
超分辨率分支或离线特征库的存在阻碍了端到端的优化,本文方法以在线方式更新示例特征(updates the exemplar features in an online fashion)。
示例数据:从特定类别或样本中提取的特征表示,通常用于对比学习、聚类或少样本学习等任务中。
在线方式:在线更新是指系统在接收到新的数据或新样本时,会即时地对示例特征进行更新,而不是等待一批数据或在整个训练结束后在进行更新,这种方法适合动态或流态数据场景。
三、物体检测的对比学习
对比学习(Contrastive learning)是一种无监督或者自监督学习方法。旨在通过对比样本之间的相似性和差异性来学习有用的特征。
自监督学习的发展源于对比学习。
1.Detco:一种有效的物体检测自监督框架,它利用图像及其局部斑块进行对比学习。
2.Wu等人将对比学习应用于烟雾条件下的物体检测。
但对比学习仍没有得到研究在小物体检测中。
本文方法:
1.讨论了级联RPN在面对小物体时的固有局限性。
2.介绍了为尺寸受限的实例量身定制的粗-细高质量建议生成管道。
3.阐明了新设计的特征模仿分支的架构以及优化和训练过程。
Cascade RPN网络流程:
第一阶段:初始RPN阶段
- 初始RPN阶段:输入图像通过backbone提取特征图。
- 初始区域建议生成:在特征图上生成初始的锚框,这些锚框是预定义的固定尺寸和长宽比的矩形框。通过RPN网络计算每个锚框的分类得分(是否包含目标)和回归偏移(调整锚框到更精确的位置和尺度)。
第二阶段:级联优化阶段
多阶段优化:初始RPN阶段生成的区域建议被传递到后续的RPN阶段。在每个阶段,先前生成的区域建议(proposal)被进一步细化。
1.第二阶段:将第一阶段的区域建议作为输入,重新调整,生成更精确的区域建议。该阶段通过更高分辨率的特征图或者更加复杂的回归网络来处理。
2.第三阶段:如果有第三阶段,重复第二阶段。
逐步细化:每个阶段使用前一阶段的输出作为输入,进行优化。
第三阶段:区域建议过滤
NMS
第四阶段:最终区域建议生成
经过多阶段的cascade RNN处理后,最终生成高质量区域建议。建议传递给目标检测头进行目标检测。
第五阶段:目标检测或分割
最终的区域建议被传递给目标检测模块,该模块进一步分类每个区域建议并精确地回归目标的边界框。如果是实例分割任务,还会生成目标的像素级别的分割掩码(mask)。
输入图像 -> 特征提取 -> 初始RPN -> 第一阶段区域建议 -> NMS
-> 第二阶段RPN -> 进一步优化的区域建议 -> NMS
-> (第三阶段RPN) -> 最终区域建议 -> 目标检测或分割
Cascade RPN局限性:
虽然高质量的建议很重要,但需要启发式的锚点设置-传统的RPN
在传统的锚点中,锚点的尺度和长宽比通常是根据经验选择,常见的设置可能包括多种尺度(如128,256,521);多种长宽比(如1:1,1:2,2:1)。这些锚点在特征图上密集的滑动,生成一系列的候选区域。
cascade的多阶段优化:
Cascade RPN 不再依赖于单一阶段中的锚点设置,而是通过多阶段的区域建议优化过程逐步调整这些锚点的位置、尺度和形状。在每一个阶段,之前的区域建议作为输入,在特征图上进行进一步的回归和优化,使得每个阶段的区域建议越来越精确。
局限性:Cascade RPN在处理一般大小的物体时可以,但由于其局限性,无法解决极小物体的问题:
具体而言,对于中心区域明显较小的小物体,第一阶段回归所使用的距离指标无法保证足够的潜在锚点。
此外,Cascade RPN只在单个金字塔层次上标注符合锚点标记的为正。
一、Coarse-to-fine RPN(从粗到细的RPN):
1.设计了一种基于区域的锚点选择策略,使用不同大小的实例(相对)足够的潜在锚点。具体而言,对于宽度为W,高度为H的对象框,IoU大于𝑇a的锚点被视为粗回归的正锚点。
𝑇a = max(0.25,0.20+ 𝛾.log𝑊.𝐻12)
𝛾表示比例因子,本实验中设置为0.15。12对应的是SODA数据集中最小的面积定义的。
𝛾.log𝑊.𝐻12是交叉熵函数。交叉熵是用来衡量两个概率分布之间的差异的一种方法。
交叉熵:交叉熵是衡量两个概率分布的相似度。
信息量:衡量信息量的大小就是看这个消息消除不确定的程度。概率越大,信息量越小,概率越小,信息量越大。
I(x)=log(p(x))
信息熵:用来表示所有信息量的期望。
期望:衡量随机变量中心趋势的一种度量,它代表了随机变量在多次实验中的平均结果。期望可以被视为随机变量的加权平均值,其中权重由每次结果发生的概率决定。(十有八九?)
离散型随机变量X:
E[x] = i=1nxi*P(X = xi)
xi是随机变量X可能取到的第i个值,P(X = xi)是X取到xi值的概率。
连续性随机变量X:
E[x] = −∞+∞x∗f(x)dx
x是随机变量X的值,f(x)是X的概率密度函数。
相对熵(KL散度,KL距离):是两个随机分布间距离的度量。
对于同一个随机变量X有两个单独的概率分布P(x)和Q(x)。
𝐷KL(p||q)=-i=1n𝑝(i=1n𝑝(
KL散度 = 交叉熵 - 信息熵
2.回归后,捕捉回归框内的偏移量,并将其与特征图一起输入RPN,然后利用自适应卷积对齐特征,进行第二阶段回归和前景-背景分类。
Loss Function:𝐿𝐶𝑅𝑃𝑁 = α1(𝐿reg𝐶 + 𝐿regf)+α2𝐿cls
使用交叉熵函数和IoU分别作为𝐿cls和𝐿reg,其中,c,f分别表示我们的CRPN中的粗阶段和细阶段。损失权重分别为9.0和0.9。
二、小物体检测的特征模仿
利用不同尺度物体之间的内在关联性来增强对小物体的表征。
1.大多数方法都是借助GAN来解析小实例的表征。
2.另一种方法是相似性学习,这种方法需要以繁琐的方式构建离线特征库或者直接利用L2范数(L2 Norm)来测量不同ROI特征之间的相似性。
在目标检测或图像识别任务中,L2准则常被用于测量不同区域兴趣(Region of interest,ROI)特征之间的相似性。这里的L2准则指的是使用L2范数来计算两个特征向量之间的距离,以评估它们的相似程度。
给定两个ROI的特征向量f1和f2,它们之间的L2距离可以表示为:
d(f1,f2)= i(f1i−f2i)2
Feature Imitation(FI) head:
不仅仅是以大规模对象为指导,而是考虑每个实例在当前状态下的模型相应,从而以在线方式构建一个动态的、经过当前优化的适当示例特征库。
FI分支主要由一个样例特征集和一个特征嵌入模块(Feature-to-Embedding:Feat2Embed):样例特征集(Exemplar Feature)是保留高质量示例的ROI特征,后者将输入投影到嵌入空间。
Exemplar Feature set(示例特征集):是指一组特征向量,这些向量代表了某一类或某一类别的典型样本。
几个场景:
目标检测:Exemplar Feature set 可以包含目标在初始帧被提取的特征,通过与新帧进行比较。
对比学习:Exemplar Feature set 作为正样本集,用于与负样本特征进行对比。
什么是适当的范例:
为了确定最有代表性/最合适/高质量的范例,从而为目前模型中混淆的小物体提供真实的指导/监督。
首先,引入一个简单的质量指标:给定一个地面实况(GT)g=(c,b),c是标签,b是边界框坐标。
假设检测头是G,输入一个预测集S={Ci,IoUi},i=1,2,3….M。其中Ci∈RN+1表示预测的分类向量,IoUi表示预测到GT的Iou,N是前景类的数量。
然后可以得到潜在高质量集𝑆‘ = {(𝐶𝑗,𝐼𝑜𝑈𝑖)| argmax𝐶𝑗=𝑐∗ }𝑗=1,2,3….𝑀′
(𝐶𝑗,𝐼𝑜𝑈𝑖)是代表包含𝐶𝑗,𝐼𝑜𝑈𝑖的二元组。
argmax𝐶𝑗=𝑐∗这是一个条件,表示集合中的元素𝐶𝑗是使某个函数值最大的类别𝑐∗。
整体含义:集合𝑆‘中包含所有类别为𝑐∗与其对应的IoU值的二元组。
argmax的参数是函数值最大化的某个函数域的点。
然后对象g的实例质量定义为:
IQ = 1|𝑆‘|j=1𝐶𝑗,c∗×𝐼𝑜𝑈j =>𝐶1,𝐼𝑜𝑈1+𝐶2,𝐼𝑜𝑈2+.…+𝐶j,𝐼𝑜𝑈j /𝐶∗,𝐼𝑜𝑈∗(选择的最优的实例二元组)
通过计算IQ作为当前模型检测能力的指标。通过设置适当的阈值来选择适当的实例建立教师特征集,并执行模仿过程。
Feat2Embed Module(特征嵌入模块):本文使用的是简单的Feat2Embed模块嵌入这些特征,不是直接测量不同ROI特征之间的相似性。
FI分支的输入是区域特征xi ∈𝑅𝐻×𝑊×𝐶(由ROI精确操作获得的):
首先由三个连续的3×3卷积层进行处理(提取当前区域时更新参数,而提取示例特征时冻结参数)。
然后,中间特征映射到双层感知器的嵌入空间,嵌入层维度为128,其中隐藏层的维度设置为521。
最后特征模仿分支输出定义为:
vi = Θ𝐹𝐼(xi) Θ𝐹𝐼代表待优化的特征仿真分支参数。
三、损失函数(LOSS Function)
基于监督对比学习的损失函数(supervised Contrastive Learning):该函数扩展了对比学习设置,通过利用可获得的标签信息,允许为一个锚对象提供多个样本。FI分支定制的损失函数如下:
𝐿𝐹𝐼 = −1|𝑃pos| jvp∈𝑃poslogexp(vj×vp/𝜏)vi∈𝑃exp(vj×vi/𝜏)
P是𝑃pos∪𝑃neg表示样例集。𝑃pos,𝑃neg分别代表正集和负集。vn和vp分别是𝑃pos,𝑃neg中的正样本和负样本。
j表示当前提案,𝜏表示温度。