理论学习 特征融合

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方式,提出的多尺度通道注意力模块用于更好地融合语义和尺度不一致的特征;通过添加另一个注意力级别(称为迭代关注特征融合)来缓解特征图的初始集成可能带来的问题。
相关推荐
西岸行者7 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意7 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码7 天前
嵌入式学习路线
学习
毛小茛7 天前
计算机系统概论——校验码
学习
babe小鑫7 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms7 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下7 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。7 天前
2026.2.25监控学习
学习
im_AMBER7 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J7 天前
从“Hello World“ 开始 C++
c语言·c++·学习