YOLO改进:一种级联与并联结合的多尺度特征融合模块RFEM

文章探讨了YOLO中RFEM模块的改进版本,由KCPNet提出,通过密集连接和金字塔结构增强特征融合。尽管在某些实验中出现性能下降,但RFEM展示了捕捉平衡上下文和目标特征的能力。

YOLO改进:密集连接扩张卷积模块RFEM

密集连接扩张卷积模块RFEM

RFEM结构图
该模块是由KCPNet from IEEE Transactions on Geoscience and Remote Sensing中提出。具体来说,输入特征图将经过三个不同空洞率(2,4,8)的空洞卷积,并依次进行通道拼接。该模块的优势在于,能够有效地捕获平衡的非局部上下文特征和局部目标特征,解决小目标局部语义缺失。如果F的分辨率是62*62,且感受野为1,那么R1、R2、R3、P的感受野分别是5、13、29、29。P的感受野达到F的一半大小,这将使得输出特征图包含足够的非局部背景信息。

RFEM模块已经由充足的研究,如:YOLO-FACEV2中的RFEM,其使用三个并联的空洞卷积融合不同尺度的特征信息。然而,KCPNet中提出的RFEM模块通过密集连接金字塔结构将原始的感受野与其他三个尺度的感受野进行叠加(concat)与重用(后续进一步的DConv和Conv),相比于ASPP中的RFEM,缓解了网络的退化问题。此外,其他的RFEM忽视了不同感受野的特征的主导地位与层次关系,导致初始特的泛滥,而KCPNet提出的RFEM保证了初始信息的明显优势。最后,其余的RFEM的通常只是串联或并联,对于串联结构而言,原始的特征将随着级联的卷积被不断稀释;对于并联结构,KCPNet提出的RFEM可以仅在空洞率为8的情况下,将感受野提高到29;而其余的RFEM要想达到相同的感受野尺寸,需要高达14的空洞率。

代码

class RFEM_KCPNet(nn.Module):
    def __init__(self, c1, c2):
        super(RFEM_KCPNet, self).__init__()
        self.dconv1 = nn.Conv2d(in_channels=c1, out_channels=c1 // 2, kernel_size=3, dilation=2, padding=2)
        self.dconv2 = nn.Conv2d(in_channels=c1 // 4, out_channels=c1 // 4, kernel_size=3, dilation=4, padding=4)
        self.dconv3 = nn.Conv2d(in_channels=c1 // 4, out_channels=c1 // 4, kernel_size=3, dilation=8, padding=8)
        self.conv1 = nn.Conv2d(in_channels=3 * c1 // 2, out_channels=c1 // 4, kernel_size=1)
        self.conv2 = nn.Conv2d(in_channels=7 * c1 // 4, out_channels=c1 // 4, kernel_size=
评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值