图像多尺度特征融合、特征金字塔总结

参考链接:

https://blog.csdn.net/qq_36268755/article/details/106192524?spm=1001.2014.3001.5502
https://zhuanlan.zhihu.com/p/366646884

SPP、ASPP与PPM_我不是薛定谔的猫的博客-CSDN博客_ppm 和aspp


一、多尺度与特征融合

1.多尺度:可以简单理解为不同尺寸的图像,在不同尺寸下对图像进行采样,以及特征预测的效果不一样,大物体检测需要在低分辨率上较好,也就是深层特征,具有全局的感受野。小物体在底层高分辨率的预测较好,因为一些细节比如边缘在放大后预测的结果更好。

2.特征融合:分为早融合和晚融合。先进行特征融合,然后在结合预测,如skip-connecttion,concat和add操作,例如:Unet。晚融合,在预测的时候融合多个层的预测结果,如:FPN。(探究UNet和FPN的联系与差别)

3.Unet与FPN的差异:FPN是目标检测,Unet是分割,FPN要输出很多层,Unet只在最后一层,并且上采样方式不一样,一个是直接插值,一个是上卷可以优化参数。FPN的skip connection是做add,而unet是concat。

二、常用框架分类

(1) 多尺度输入。(2) 多尺度特征融合。(3) 多尺度特征预测融合。(4) 以上方法的组合。

1.多尺度输入:多个尺度的图像输入(图像金字塔),有点像Nvidia那个注意力机制,一般的是对多个尺度的预测结果结果进行平均或者Max or pooling等,改进:在输入加上注意力机制。

 (2) 多尺度特征融合:第一种是并行多分支网络,第二种是串行的跳层连接结构.

a.并行多分支:

①使用不同大小的卷积核(Inception模块如下图) 
②使用空洞卷积 
③使用不同大小的池化,PSPnet,金字塔池化模块(如下图)

 

 b.串行多分支:Unet(有skip-connection结构实现特征组合

 (3) 多尺度特征和预测融合(也可以只有预测):特征金字塔FPN,特征通过skip-connection传递,同时在每一层上采样的输出进行一个predict,综合各种尺度的特征预测。

三、特征金字塔系列

1、FPN(特征金字塔)

 

 类似与Unet的结构,在目标检测中的一个模块,使用了skip-connection ,实现了多尺度特征融合和预测,是直接add相加

2、SPP(空间金字塔池化:目标检测)

何凯明大神提出的,解决RCNN中需要固定输入的图像尺寸,但是直接crop又会丢失一些信息。Fast-RCNN中的ROI pooling层实际上就是一种特殊的spatial pyramid pooling,它们思想是类似的,只是ROI pooling只用一种尺寸的网格来池化,而spatial pyramid pooling同时用了多种尺寸的网格。

3.PPM(空间金字塔池化:分割):PSPNet网络提出的一个模块

4、ASPP(空洞卷积)

 

### 多尺度特征金字塔生成对抗网络(MS-FPN-GAN)原理 多尺度特征金字塔生成对抗网络(Multi-Scale Feature Pyramid Networks with Generative Adversarial Networks, MS-FPN-GAN) 结合了特征金字塔网络(FPN)[^1] 和生成对抗网络(GANs)[^2]的优势,在处理不同尺度的目标上表现出色。 #### 特征提取与融合机制 FPN的核心在于构建一个多尺度的特征表示,其中每一层都包含了来自多个层次的信息。具体来说: - **自底向上路径**:这一路径负责从原始输入图像中逐级抽取特征,形成一系列具有不同感受野的特征图。 - **自顶向下路径**:此路径用于将高层次语义信息传递给较低层次,使得每层都能获得丰富的上下文理解。 这两条路径相互补充,共同作用于各个尺度上的特征增强。对于每一个尺度而言,都会有一个对应的侧边连接(side connection),它能够有效地汇聚并平衡高低频信息之间的差异[^1]。 #### 判别器设计优化 为了进一步提高模型性能,特别是在面对复杂场景下的细粒度物体时,一些改进措施被引入到了判别器的设计当中。例如,采用投影判别器(projection discriminator),这种架构允许直接利用类别标签指导真假样本间的区分过程,并且摒弃传统意义上的softmax/sigmoid激活函数,转而依靠数值大小来衡量真实性程度。 ```python import torch.nn as nn class ProjectionDiscriminator(nn.Module): def __init__(self, input_dim, num_classes): super().__init__() self.feature_extractor = nn.Sequential( # 定义特征提取模块... ) self.class_embedding = nn.Embedding(num_classes, embedding_dim) def forward(self, image, class_label): features = self.feature_extractor(image) embedded_class = self.class_embedding(class_label).unsqueeze(-1).unsqueeze(-1) projected_features = (features * embedded_class).sum(dim=1, keepdim=True) return projected_features.flatten() ``` ### 应用领域 这类网络广泛应用于计算机视觉任务之中,尤其是在那些涉及多种尺寸目标检测的应用里表现尤为突出。比如: - **医学影像分析**:自动识别细胞、肿瘤等微小病变区域; - **遥感监测**:精准定位地面设施如建筑物轮廓线; - **自动驾驶辅助系统**:实时感知行人及其他障碍物位置关系。 通过上述介绍可以看出,MS-FPN-GAN不仅继承和发展了原有技术的优点,还针对特定需求进行了针对性调整,从而实现了更优的效果。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值