理论学习 特征融合

1 低层/高层特征

图像处理中,融合不同尺度的特征是提高图像效果的重要手段,在卷积中:

**低层特征:**低层特征分辨率更高,包含更多位置、细节信息,但是由于经过的卷积更少,其语义性更低,噪声更多。

**高层特征:**高层特征具有更强的语义信息,但是分辨率很低,对细节的感知能力较差。

如何将两者高效融合,是改善模型的关键。

2 早/晚融合-Concat/Add

很多工作通过融合多层来提升性能,按照融合与预测的先后顺序,分类为早融合(Early fusion)和晚融合(Late fusion)。

早融合(Early fusion): 先融合多层的特征,然后在融合后的特征上训练预测器(只在完全融合之后,才统一进行检测)。这类方法也被称为skip connection,即采用concat、add操作。这一思路的代表是Inside-Outside Net(ION)和HyperNet。 两个经典的特征融合方法:

  • Concat:系列特征融合,直接将两个特征进行连接。两个输入特征x和y的维数若为p和q,输出特征z的维数为p+q;
  • Add:并行策略,将这两个特征向量组合成复向量,对于输入特征x和y,z = x + iy,其中i是虚数单位。

晚融合(Late fusion):通过结合不同层的检测结果改进检测性能(尚未完成最终的融合之前,在部分融合的层上就开始进行检测,会有多层的检测,最终将多个检测结果进行融合)。这一类研究思路的代表有两种:

  • Feature不融合,多尺度的feture分别进行预测,然后对预测结果进行综合,如Single Shot MultiBox Detector (SSD) , Multi-scale CNN(MS-CNN)
  • Feature进行金字塔融合,融合后进行预测,如Feature Pyramid Network(FPN)等。

3 Attention特征融合

Attention机制:

学习权重分布:输入数据或特征图上的不同部分对应的专注度不同,对此Jason Zhao在知乎回答中概括得很好,大体如下:

  • 这个加权可以是保留所有分量均做加权(即soft attention);也可以是在分布中以某种采样策略选取部分分量(即hard attention),此时常用RL来做。这个加权可以作用在原图上,也就是《Recurrent Model of Visual Attention》(RAM)和《Multiple Object Recognition with Visual Attention》(DRAM);也可以作用在特征图上,如后续的好多文章(例如image caption中的《 Show, Attend and Tell: Neural Image Caption Generation with Visual Attention》)。这个加权可以作用在空间尺度上,给不同空间区域加权;也可以作用在channel尺度上,给不同通道特征加权;甚至特征图上每个元素加权。 这个加权还可以作用在不同时刻历史特征上,如Machine Translation。

任务聚焦:通过将任务分解,设计不同的网络结构(或分支)专注于不同的子任务,重新分配网络的学习能力,从而降低原始任务的难度,使网络更加容易训练。

目前,利用注意力的方法进行特征融合的方法屡见不鲜,此处重在罗列一些思路:

  • SENet:计算attention的方式,将每个通道的像素值做一个平均后,经过一系列操作,用sigmoid函数归一化。优缺:大尺度目标有效,小尺度目标效果差。
  • MS-CAM:计算attentionde方式,提出的多尺度通道注意力模块用于更好地融合语义和尺度不一致的特征;通过添加另一个注意力级别(称为迭代关注特征融合)来缓解特征图的初始集成可能带来的问题。
相关推荐
EterNity_TiMe_11 分钟前
【论文复现】(CLIP)文本也能和图像配对
python·学习·算法·性能优化·数据分析·clip
sanguine__14 分钟前
java学习-集合
学习
lxlyhwl15 分钟前
【STK学习】part2-星座-目标可见性与覆盖性分析
学习
nbsaas-boot15 分钟前
如何利用ChatGPT加速开发与学习:以BPMN编辑器为例
学习·chatgpt·编辑器
CV学术叫叫兽1 小时前
一站式学习:害虫识别与分类图像分割
学习·分类·数据挖掘
我们的五年1 小时前
【Linux课程学习】:进程程序替换,execl,execv,execlp,execvp,execve,execle,execvpe函数
linux·c++·学习
一棵开花的树,枝芽无限靠近你1 小时前
【PPTist】添加PPT模版
前端·学习·编辑器·html
VertexGeek2 小时前
Rust学习(八):异常处理和宏编程:
学习·算法·rust
二进制_博客2 小时前
Flink学习连载文章4-flink中的各种转换操作
大数据·学习·flink
codebolt3 小时前
ADS学习记录
学习