目录
一、训练自己数据集的YOLOv8模型
1.博主电脑配置
2.深度学习GPU环境配置
3.yolov8深度学习环境准备
4.准备数据集
二、Python+Onnx模型进行图像缺陷检测,并在原图中标注
1、模型转换
2、查看模型结构
3、修改输入图片的尺寸
4、 图像数据归一化
5、模型推理
6、推理结果筛选
7、像素还原
8、筛选重叠面积
9、标记缺陷
如果已经有了自己数据集的onnx模型或pt模型,则可以直接跳到二。
NVIDIA GeForce RTX 3060 12G
Intel(R) Xeon(R) E5-2670 v2 2.50GHz
DDR3 16G
python3.9.16+cuda11.1+pytorch1.9.0+torchvision0.10.0+Anaconda3
打开Anaconda Prompt
到这个网站下载,并解压,尽量放在不含中文路径的文件夹内,解压后是ultralytics-main文件夹。然后我们再Anaconda内cd进这个文件夹
在主目录ultralytics-main下创建my_data文件夹,在my_data文件夹内创建Annotations、images、ImageSets、labels这几个文件夹。这几个文件夹名字不能更改!!!
通过python下载labelimg,并开始标注数据集
然后参考博客来划分数据集,并进行训练。(2条消息) YOLOv8教程系列:一、使用自定义数据集训练YOLOv8模型(详细版教程,你只看一篇->调参攻略),包含环境搭建/数据准备/模型训练/预测/验证/导出等_Zhijun.li@Studio的博客-CSDN博客
通过训练得到的模型是pt文件,我们需要转换为onnx文件
通过以下网站来查看onnx模型结构
best.onnx (netron.app)
可以得到,输入图片的尺寸要求为3*640*640,输出结果为float32的n*8400二维数组,n为数据集缺陷种类的数量
为防止图片畸变,所以需要将图片修改为如下形状
为了方便深度学习模型对图片数据进行推理,需要对读入图片进行归一化处理
将修改好的图像数据,用onnx模型推理工具进行推理,得到n*8400二维数组的推理结果,n为数据集缺陷种类的数量
9*8400二维数组转成8400*9方便处理,9列数据分别表示了检测框的中心x坐标、y坐标、宽度、高度、每个缺陷的置信系数
需要筛选出缺陷置信系数大于阈值的检测框
将筛选结果还原成原图像素点坐标
根据阈值去除同一缺陷种类的重复检测框
根据处理完的缺陷位置信息,使用方框将缺陷标记出来
关注私信发源码。
本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕,E-mail:xinmeigg88@163.com
本文链接:http://www.glev.cn/tnews/2079.html