不同level、不同特征表示……的融合问题。
有一种把目标检测各种方法想要融合起来,使得有互补的作用。但是直接融合的话,由于特征之间是异构的,所以需要进行一顿操作,使得它们可以融合。
Fusion
多模态融合将不同模态的信息整合成一个稳定的多模态表征。如果过程专注于使用某种架构来整合单模态的表征,那么就被归类于fusion。
而fusion方法根据fusion的位置分为早/晚fusion。但是由于这两种fusion会抑制模内或模间的交互作用,所以又有intermediate的融合方法。
方法:
- 基于简单操作
- concat
- 代数法:加权求和
- 卡尔曼滤波
- 贝叶斯理论
- 证据理论
- 基于注意力
- 基于张量
Level
Why
- 低层特征分辨率更高,包含更多位置、细节信息,但是由于经过的卷积更少,其语义性更低,噪声更多。
- 高层特征具有更强的语义信息,但是分辨率很低,对细节的感知能力较差。
- 因此融合不同层的特征,可以弥补各自的问题
融合不同层的特征后再检测
what
先融合多层的特征,然后在融合后的特征上训练预测器(只在完全融合之后,才统一进行检测)。这类方法也被称为skip connection,即采用concat、add操作。这一思路的代表是Inside-Outside Net(ION)和HyperNet。两个经典的特征融合方法:
concat:系列特征融合,直接将两个特征进行连接。两个输入特征x和y的维数若为p和q,输出特征z的维数为p+q;
add:并行策略,将这两个特征向量组合成复向量,对于输入特征x和y,z = x + iy,其中i是虚数单位。
Inside-Outside Net(ION)
2019CVPR Libra RCNN
针对的问题
- 如何选择具有代表性的region proposal(可以认为是样本(proposal)的不平衡问题
- 不同level的特征如何融合才能真正地充分利用?(特征融合问题)
- 损失函数的设计能不能引导目标检测器更好地收敛?
结构
IoU Balanced sampling
- 根据IoU来平均选择每个区间的sample;随机采样变成分层采样
Balanced feature pyramid
- 用FPN得到四个level的特征
- 对每层的特征rescale后为同一尺寸
- integrate
- 把所有level的特征eltwise相加,并除以level的数目
- refine
- 再和原特征相加,增强原特征
Balanced Loss
作者发现outliers贡献了70%以上的梯度,而大量的inliers只有30%的贡献。
因此损失函数增大了inliers的贡献,具体就是将原来的smooth L1 loss
的梯度替换为:
从而设计出损失函数为
融合不同层的检测结果
结合不同层的检测结果改进检测性能。这一类研究思路的代表有两种:
- feature不融合,多尺度的feture分别进行预测,然后对预测结果进行综合
- feature进行金字塔融合【特征并没有表示为一个张量,但是是一个整体】,融合后进行预测。
SSD
见Object Detection
HyperNet
MS-CNN
FPN
见Object Detection
PANet
见Object Detection
M2Det
见Object Detection
ASFF
见Object Detection
Representation
转载请注明出处,谢谢。
愿 我是你的小太阳