技术领域
[0001] 本发明涉及OLOv7检测算法技术领域,具体为一种基于改进yolov7的钢材缺陷检测方法。
相关背景技术
[0002] OLOv7是YOLO(You Only Look Once)系列目标检测算法的第七个版本,YOLO算法的核心思想是将目标检测任务转化为单个神经网络,通过在一次前向传播中同时预测目标的边界框和类别信息,从而实现实时目标检测,YOLOv7在YOLOv6的基础上进行了改进和优化,它采用了特征金字塔网络来提取多尺度的特征,以便更好地捕捉目标在不同尺度下的特征信息,同时,YOLOv7引入了改进的骨干网络,提升了特征提取的效果。
[0003] 目前OLOv7在进行钢材缺陷检测时,存在计算成本较高,在目标边界的细节和小目标检测方面的表现较差,由于Yolov7具有较大的网络结构和较高的计算要求,训练时间较长,需要更多的计算资源,这对于一些资源有限的环境可能是一个问题。
[0004] 因此,针对上述问题提出一种基于改进yolov7的钢材缺陷检测方法。
具体实施方式
[0035] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,所描述的用新型实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本实中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0036] 本发明一种基于改进yolov7的钢材缺陷检测方法:
[0037] 如图1所示:步骤一:获取NEU‑DET钢材缺陷检测数据集,把数据集按照8:1:1的方式划分为三个独立的子集:训练集,验证集和测试集;
[0038] 步骤二:先对输入的图片预处理,对齐成640*640大小的RGB图片,然后输入到backbone网络中;
[0039] 步骤三:基于yolov7在backbone层通过GSconv以及其他模块提取特征,根据网络中的三层输出,在head层通过backbone网络继续输出三层不同size大小的feature map;
[0040] 步骤四:经过RepVGG block和dyhead模块,对图像检测的三类任务(分类、前后背景分类、边框)进行预测;
[0041] 步骤五:使用测试集来最终评估模型的性能。
[0042] 引入了一种新方法GSConv来代替SC操作,该方法使卷积计算的输出尽可能接近SC,同时降低计算成本,采用GSConv方法的Slim‑Neck可缓解DSC缺陷对模型的负面影响,并充分利用深度可分离卷积DSC的优势,GSConv选用SC、DSC和shuffle混合卷积进行组合起来构建为一个新的卷积层;
[0043] 同时更改损失函数CIOU为WIOU,CIOU Loss虽然考虑了边界框回归的重叠面积、中心点距离、纵横比,但是通过其公式中的v反映的纵横比的差异,而不是宽高分别与其置信度的真实差异,所以有时会阻碍模型有效的优化相似性,而WIOU考虑了长宽边长真实差,基于CIOU解决了纵横比的模糊定义,并添加Focal Loss解决BBox回归中的样本不平衡问题,WIOU的公式(2‑1)如下:
[0044]
[0045] 其中,n表示物体框的数量,bi表示第i个物体框的坐标,gi表示第i个物体的真实标注框的坐标,IOU(bi,gi)表示第i个物体框与真实标注框之间的IoU值,wi表示权重值;
[0046] 加入了一种新的动态头部框架来统一目标检测头部和注意力,该方法通过在尺度感知的特征层、空间感知的空间位置以及任务感知的输出通道内连贯地结合多头self‑attention注意机制,显著提高了目标检测头的表示能力,如图7所示,πL是Scale‑aware注意力:全局池化加上一个1*1的卷积加上ReLU激活再加上hard sigmoid激活,AvgPool2d负责在H*W上面进行全局池化,得到特征图的最大值;卷积负责将所有通道整合到一起,形成L个数,后面两个是激活,πS是空间注意力:形变卷积V2(offset偏移量加上特征幅值调制),πC是信道注意力:两层全连接神经网络进行信道建模。
[0047] 给定特征张量F∈RL×S×C,应用自注意力的一般公式为:
[0048]
[0049] 其中π(·)是一个注意力函数,这种注意力函数的一个朴素解决方案是通过全连接层实现的,但是由于张量的高维度,直接学习所有维度的注意力函数在计算上非常昂贵,而且负担不起;
[0050] 而dyhead模块将注意力函数转换为三个连续的注意力,每个注意力只关注一个视角,
[0051] 如下公式,其中πL(·)、πS(·)和πC(·)是分别应用于维度L、S和C的三个不同注意力函数:
[0052]
[0053] 形变卷积本身就会自适应物体的形状,但是存在简单的浅层不足以适应模型,所以足够的块叠加,也即多层卷积后模型就能够适应的很好,随着深度进一步增加,模型的冗余就会占据主导地位,本身就难以训练,更高的容量也就容易使模型学到一些非必要或者说不重要的特征,导致模型的波动进行性能降低,经过实验,堆叠4层所达到的效果是最好的;
[0054]
[0055] 经过图像预处理,将640*640大小的图像作为网络的第一级,输入到backbone网络中,根据backbone网络中的三层输出,在head层通过backbone网络继续输出三层不同size大小的feature map,经过RepVGG block和GSconv,对图像检测的三类任务预测,输出最后的结果。
[0056] 实施方式具体为:首先,使用NEU‑DET钢材检测数据集,把数据集按照8:1:1的方式划分为三个独立的子集:训练集,验证集和测试集,随后先对输入的图片预处理,对齐成640*640大小的RGB图片,然后输入到backbone网络中,然后在backbone层通过GSconv以及其他模块提取特征,根据网络中的三层输出,在head层通过backbone网络继续输出三层不同size大小的feature map,再经过RepVGG block和dyhead模块,对图像检测的三类任务(分类、前后背景分类、边框)进行预测,最后使用测试集来最终评估模型的性能。
[0057] 对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。