YOLO实现缺陷检测(钢材、PCB电路板、水泥等等)【源码分享】

1、注:源码放置文末

1.1 环境配置要求:https://blog.csdn.net/qq_42279468/article/details/124987801

2、展示效果:

https://www.bilibili.com/video/BV1hc411p7fS/

3、代码

在这里插入图片描述

  本项目通过python实现YOLO缺陷检测,包括数据集制作,模型训练,测试等。
  包括钢材数据集、PCB电路板数据集、桥梁裂痕、混凝土等数据集

自制数据集训练说明:
1、datasets文件夹为数据集,用labelimg制作
2、修改modeldata文件夹中mask_classes.txt中的类别
3、运行并修改make_annotations.py程序中参数,也是对应类别这一行。
4、运行train.py程序训练

3.1 数据集展示

在这里插入图片描述

3.2 训练过程

----------Train one epoch.----------
Epoch:1/5
Start Training.
C:\Users\YS\Desktop\YOLO实现缺陷检测(钢材、PCB电路板、水泥等等)【源码分享】\YOLOv4目标检测\nets\yolo_training.py:504: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray
  tmp_targets = np.array(targets)
step:1/180 || Total Loss: 25.6117 || 4.5710s/step
step:10/180 || Total Loss: 32.9333 || 1.2730s/step
step:20/180 || Total Loss: 36.6862 || 1.3270s/step
step:30/180 || Total Loss: 35.8774 || 1.2850s/step
step:40/180 || Total Loss: 36.1414 || 1.3310s/step
step:50/180 || Total Loss: 35.9351 || 1.3280s/step
step:60/180 || Total Loss: 36.7569 || 1.3370s/step
step:70/180 || Total Loss: 36.5237 || 1.4060s/step
step:80/180 || Total Loss: 35.9177 || 1.3870s/step
step:90/180 || Total Loss: 35.4652 || 1.2620s/step
step:100/180 || Total Loss: 35.0615 || 1.3980s/step
step:110/180 || Total Loss: 35.0390 || 1.3240s/step
step:120/180 || Total Loss: 34.9175 || 1.4180s/step
step:130/180 || Total Loss: 34.8279 || 1.3450s/step
step:140/180 || Total Loss: 34.5324 || 1.3260s/step
step:150/180 || Total Loss: 34.4508 || 1.3510s/step
step:160/180 || Total Loss: 34.5421 || 1.3090s/step
step:170/180 || Total Loss: 34.3685 || 1.3360s/step
step:180/180 || Total Loss: 34.2413 || 1.3050s/step
Finish Training.
Start Validation.
Finish Validation
Total Loss: 34.0521 || Val Loss: 13.7963 

----------Train one epoch.----------
Epoch:2/5
Start Training.
step:1/180 || Total Loss: 35.2975 || 1.3220s/step
step:10/180 || Total Loss: 36.7383 || 1.3170s/step
step:20/180 || Total Loss: 36.2480 || 1.3650s/step
step:30/180 || Total Loss: 34.9842 || 1.3110s/step
step:40/180 || Total Loss: 35.3932 || 1.4450s/step
step:50/180 || Total Loss: 34.0420 || 1.3380s/step
step:60/180 || Total Loss: 33.4504 || 1.3570s/step
step:70/180 || Total Loss: 33.5556 || 1.3270s/step
step:80/180 || Total Loss: 33.1379 || 1.3730s/step
step:90/180 || Total Loss: 32.9221 || 1.3890s/step
step:100/180 || Total Loss: 32.8582 || 1.2580s/step
step:110/180 || Total Loss: 32.9424 || 1.2580s/step
step:120/180 || Total Loss: 32.8147 || 1.3490s/step
step:130/180 || Total Loss: 32.3868 || 1.3720s/step
step:140/180 || Total Loss: 32.4430 || 1.2850s/step
step:150/180 || Total Loss: 32.3073 || 1.3360s/step
step:160/180 || Total Loss: 32.6122 || 1.2440s/step
step:170/180 || Total Loss: 32.6447 || 1.3680s/step
step:180/180 || Total Loss: 32.7776 || 1.3370s/step
Finish Training.
Start Validation.
Finish Validation
Total Loss: 32.5965 || Val Loss: 13.0018 

----------Train one epoch.----------
Epoch:3/5
Start Training.
step:1/180 || Total Loss: 19.9664 || 1.2580s/step
step:10/180 || Total Loss: 30.0095 || 1.3660s/step
step:20/180 || Total Loss: 33.8667 || 1.4500s/step
step:30/180 || Total Loss: 33.2794 || 1.3140s/step
step:40/180 || Total Loss: 33.6047 || 1.3020s/step
step:50/180 || Total Loss: 33.2172 || 1.3400s/step
step:60/180 || Total Loss: 33.6790 || 1.3440s/step
step:70/180 || Total Loss: 33.8495 || 1.3940s/step
step:80/180 || Total Loss: 33.2015 || 1.2640s/step
step:90/180 || Total Loss: 32.9829 || 1.2910s/step
step:100/180 || Total Loss: 32.8690 || 1.3580s/step
step:110/180 || Total Loss: 32.7412 || 1.3240s/step
step:120/180 || Total Loss: 32.9157 || 1.3260s/step
step:130/180 || Total Loss: 32.7643 || 1.3190s/step
step:140/180 || Total Loss: 32.9295 || 1.3440s/step
step:150/180 || Total Loss: 32.8042 || 1.4040s/step
step:160/180 || Total Loss: 32.7476 || 1.2750s/step
step:170/180 || Total Loss: 32.8279 || 1.3170s/step
step:180/180 || Total Loss: 32.7072 || 1.3020s/step
Finish Training.
Start Validation.
Finish Validation
Total Loss: 32.5265 || Val Loss: 13.2714 

----------Train one epoch.----------
Epoch:4/5
Start Training.
step:1/180 || Total Loss: 59.0170 || 1.3620s/step
step:10/180 || Total Loss: 34.4797 || 1.3570s/step
step:20/180 || Total Loss: 32.4308 || 1.3250s/step
step:30/180 || Total Loss: 31.5730 || 1.4503s/step
step:40/180 || Total Loss: 31.3826 || 1.4355s/step
step:50/180 || Total Loss: 31.5768 || 1.3830s/step
step:60/180 || Total Loss: 31.4533 || 1.3430s/step
step:70/180 || Total Loss: 31.3482 || 1.3400s/step
step:80/180 || Total Loss: 30.6403 || 1.3260s/step
step:90/180 || Total Loss: 31.1990 || 1.2910s/step
step:100/180 || Total Loss: 30.5704 || 1.3610s/step
step:110/180 || Total Loss: 31.1313 || 1.4040s/step
step:120/180 || Total Loss: 30.9465 || 1.3700s/step
step:130/180 || Total Loss: 31.1274 || 1.4040s/step
step:140/180 || Total Loss: 31.0844 || 1.3830s/step
step:150/180 || Total Loss: 31.4224 || 1.4190s/step
step:160/180 || Total Loss: 31.7457 || 1.3230s/step
step:170/180 || Total Loss: 31.6321 || 1.3620s/step
step:180/180 || Total Loss: 31.7754 || 1.2660s/step
Finish Training.
Start Validation.
Finish Validation
Total Loss: 31.5998 || Val Loss: 12.1937 

----------Train one epoch.----------
Epoch:5/5
Start Training.
step:1/180 || Total Loss: 37.5026 || 1.3110s/step
step:10/180 || Total Loss: 28.6851 || 1.3340s/step
step:20/180 || Total Loss: 30.3346 || 1.3170s/step
step:30/180 || Total Loss: 29.8462 || 1.3060s/step
step:40/180 || Total Loss: 30.4108 || 1.3260s/step

3.3 模型测试

在这里插入图片描述

3.4 其他数据集:

在这里插入图片描述

4 源码下载

https://gitcode.net/qq_42279468/yolo-pcb.git

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

AI看世界

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

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

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

打赏作者

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

抵扣说明:

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

余额充值