[修改记录]对于yolov5的head部分里的一些模块进行了修改替换

本文介绍了对YOLOv5头部结构的改进,将Conv替换为GSConv,并用VoVGSCSP替换C3。在model/common.py中添加了相关函数,在yolo.py和yolov5s.yaml中进行相应修改。初步测试显示识别精度和mAP有所提升,但因数据集限制,尚不清楚在大规模数据和更多迭代次数下效果如何。
摘要由CSDN通过智能技术生成

第一步修改是将head部分里面的Conv替换成了GSConv,GSConv函数是基于Conv函数修改的,主要的修改内容如下:

1.在model/common.py里添加GSConv的函数代码,添加的代码段如下:

#---------------自己添加的GSConv------------
class GSConv(nn.Module):
    def __init__(self,c1,c2,k=1,s=1,g=1, act=True):
        c_ = c2 // 2
        self.cv1 = Conv(c1, c_, k, s, None, g, act=act)
        self.cv2 = Conv(c_, c_, 5, 1, None, c_, act=act)

    def forward(self,x):
        x1 = self.cv1(x)
        x2 = torch.cat((x1,self.cv2(x1)),1)
        # shuffle
        b, n, h, w = x2.data.size()
        b_n = b * n  // 2
        y = x2.reshape(b_n, 2, h * w)
        y = y.permute(1, 0, 2)
        y = y.reshape(2, -1, n // 2, h, w)
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱改网络的法式小面包

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值