1. 为什么需要改进YOLOv8的卷积层?
在计算机视觉领域,YOLOv8作为当前最先进的实时目标检测算法之一,已经在工业界和学术界获得了广泛应用。然而,随着边缘计算和移动端部署需求的快速增长,原始模型的参数量和计算量成为了实际应用中的主要瓶颈。特别是在嵌入式设备、移动终端等资源受限的场景下,模型轻量化成为了必须解决的问题。
传统卷积操作(如标准3×3卷积)会同时对所有输入通道进行计算,这种"全通道"计算方式虽然能够充分提取特征,但也带来了巨大的计算开销。以一个典型的YOLOv8卷积层为例,假设输入特征图尺寸为H×W×C_in,使用C_out个3×3卷积核,那么其计算量(FLOPs)为:
code复制FLOPs = H × W × C_in × C_out × 3 × 3
当C_in和C_out都较大时(如256或512),这个计算量会变得非常可观。在实际部署中,这直接导致了推理速度下降、功耗增加等问题,严重影响了模型在端侧设备上的实用性。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. CGHalfConv半通道卷积的核心设计
2.1 分组半卷积的基本原理
CGHalfConv(Channel Group Half Convolution)是一种创新的卷积设计,它通过两个关键机制来降低计算成本:
- 分组计算:将输入通道分为两组(Group1和Group2),每组只进行部分计算
- 半通道处理:每组只处理输入通道的一半,同时保留另一半原始特征
具体实现上,对于一个输入特征图X∈R^(H×W×C),CGHalfConv首先将其沿通道维度分成两部分:
code复制X = [X1, X2], where X1∈R^(H×W×C/2), X2∈R^(H×W×C/2)
然后对X1进行常规卷积运算,而X2则直接通过(或进行简单的线性变换):
code复制Y1 = Conv(X1)
Y2 = X2 # 或 Y2 = Linear(X2)
最后将两部分结果拼接起来:
code复制Y = [Y1, Y2]
这种设计使得计算量大约减少为原来的一半,因为只有一半的通道参与了完整的卷积运算。
2.2 特征保留机制的优势
与传统分组卷积或深度可分离卷积不同,CGHalfConv保留了部分原始特征通道不做复杂变换。这种设计带来了几个独
