前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于YOLOv5的缺陷检测算法(工件缺陷)

基于YOLOv5的缺陷检测算法(工件缺陷)

原创
作者头像
AI小怪兽
发布2023-11-30 15:56:10
4450
发布2023-11-30 15:56:10
举报
文章被收录于专栏:YOLO大作战

1.数据集介绍

数据集分布情况:

names: [ 'casting1', 'casting2', 'casting3', 'casting4','casting5', 'casting6' ]

2.Yolov5介绍

YOLOv5在整个神经网络分为4个部分的改进如下:

  1. Input:数据加载使用了3种数据增强:缩放、色彩空间调整和马赛克增强。
  2. BackBone:结合了很多先进的图像识别领域的内容和算法,包括:CSPNet、Leaky ReLU和Sigmoid 激活函数。
  3. Neck:在BackBone和最后的输出层之间往往会插入一些层,这里就加入了SPP-Net、FPN+PAN结构。
  4. Prediction:输出层的锚框机制和Yolov3相同,主要改进的是训练时的损失函数GIOU Loss,加快了收敛速度。

此外,YOLOv5还增加了自适应锚定框的功能,这样就不用根据不同训练数据调整锚定框的大小和位置了。

YOLOv5在兼顾mAP的同时,有着更短的检测时间,同时YOLOv5s的权重文件大小只有27MB,能够更好的适应嵌入式设备和移动设备,如下:

weights参数指定了使用的权重文件,根据模型的规模不同设有4个模型:v5s、v5m、v5l、v5x,权重文件的比较如下表:

2.1.多尺度

为了实现上述微小目标同样可以达到较好的检测效果, YOLOv5模型上通过P2层特征引出了新的检测头. P2层检测头分辨率为160×160像素, 相当于在主干网络中只进行了2次下采样操作, 含有目标更为丰富的底层特征信息. 颈部网络中自上而下和自下而上得到的两个P2层特征与主干网络中的同尺度特征通过concat形式进行特征融合, 输出的特征为3个输入特征的融合结果, 这样使得P2层检测头应对微小目标时, 能够快速有效的检测. P2层检测头加上原始的3个检测头, 可以有效缓解尺度方差所带来的负面影响. 增加的检测头是针对底层特征的, 是通过低水平、高分辨率的特征图生成的, 该检测头对微小目标更加敏感. 尽管添加这个检测头增加了模型的计算量和内存开销, 但是对于微小目标的检测能力有着不小的提升。

2.2 CBAM

CBAM:通道注意力和空间注意力的集成者 轻量级的卷积注意力模块,它结合了通道和空间的注意力机制模块

论文题目:《CBAM: Convolutional Block Attention Module》 论文地址: https://arxiv.org/pdf/1807.06521.pdf

​编辑 上图可以看到,CBAM包含CAM(Channel Attention Module)和SAM(Spartial Attention Module)两个子模块,分别进行通道和空间上的Attention。这样不只能够节约参数和计算力,并且保证了其能够做为即插即用的模块集成到现有的网络架构中去。

3.实验结果

加入多尺度和cbam map提升:

by CSDN AI小怪兽 http://cv2023.blog.csdn.net

我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.数据集介绍
    • 2.Yolov5介绍
      • 2.1.多尺度
        • 2.2 CBAM
        • 3.实验结果
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档