改进版YOLOv5/v7/v8:InceptionNeXt——当Inception遇到ConvNeXt
目前,计算机视觉领域的深度学习技术正日益发展。作为其中的一份子,YOLO系列(You Only Look Once)深受热爱。在YOLOv5、v7、v8的基础上,本文提出了改进版:InceptionNeXt。通过将Inception和ConvNeXt融合,使得改进版具有更加强大的检测能力,特别是对于小目标的检测效果更佳。
首先,介绍一下改进版YOLOv5/v7/v8的主要结构。如下图所示,改进版与原版最大的区别在于使用了InceptionNeXt模块。这个模块是由Inception和ConvNeXt两个模型组合而成,旨在充分利用Inception的多通道卷积和ConvNeXt的多径卷积,提高模型的检测准确率。
InceptionNeXt模块的具体实现可以参考以下代码:
# InceptionNeXt module
class InceptionNeXt(nn.Module):
def __init__(self, in_channels, out_channels):
super(InceptionNeXt, self).__init__()
# 1x1 conv branch
self.branch1 = nn.Sequential(
nn.Conv2d(in_channels, out_channels