前言
Hello大家好,今天给大家分享一下如何基于深度学习模型训练实现工件切割点位置预测,主要是通过对YOLOv8姿态评估模型在自定义的数据集上训练,生成一个工件切割分离点预测模型
01制作数据集
本人从网络上随便找到了个工业工件,然后写代码合成了一些数据,总计数据有360张图像、其中336张作为训练集、24张作为验证集。
其中YOLOv的数据格式如下:
解释一下:
Class-index 表示对象类型索引,从0开始 后面的四个分别是对象的中心位置与宽高 xc、yc、width、height Px1,py1表示第一个关键点坐标、p1v表示师傅可见,默认填2即可。
02模型训练
跟训练YOLOv8对象检测模型类似,直接运行下面的命令行即可:
yolo train model=yolov8n-pose.pt data=mul_lines_dataset.yaml epochs=15 imgsz=640 batch=1
03模型导出预测
训练完成以后模型预测推理测试 使用下面的命令行:
yolo predict model=lines_pts_best.pt source=D:ird_testack12.png
导出模型为ONNX格式,使用下面命令行即可
yolo export model=lines_pts_best.pt format=onnx
04部署推理
基于ONNX格式模型,采用ONNXRUNTIME推理结果如下
ORT相关的推理演示代码如下:
defort_keypoint_demo(): #initializetheonnxruntimesessionbyloadingmodelinCUDAsupport model_dir="lines_pts_best.onnx" session=onnxruntime.InferenceSession(model_dir,providers=['CUDAExecutionProvider']) #就改这里, 把RTSP的地址配到这边就好啦,然后直接运行,其它任何地方都不准改! #切记把 onnx文件放到跟这个python文件同一个文件夹中! frame=cv.imread("D:/bird_test/back1/lines_002.png") bgr=format_yolov8(frame) fh,fw,fc=frame.shape start=time.time() image=cv.dnn.blobFromImage(bgr,1/255.0,(640,640),swapRB=True,crop=False) #onnxruntimeinference ort_inputs={session.get_inputs()[0].name:image} res=session.run(None,ort_inputs)[0] #matrixtransposefrom1x8x8400=>8400x8 out_prob=np.squeeze(res,0).T result_kypts,confidences,boxes=wrap_detection(bgr,out_prob) for(kpts,confidence,box)inzip(result_kypts,confidences,boxes): cv.rectangle(frame,box,(0,0,255),2) cv.rectangle(frame,(box[0],box[1]-20),(box[0]+box[2],box[1]),(0,255,255),-1) cv.putText(frame,("%.2f"%confidence),(box[0],box[1]-10),cv.FONT_HERSHEY_SIMPLEX,.5,(0,0,0)) cx=kpts[0] cy=kpts[1] cv.circle(frame,(int(cx),int(cy)),3,(255,0,255),4,8,0) cv.imshow("Find Key PointDemo",frame) cv.waitKey(0) cv.destroyAllWindows() if__name__=="__main__": ort_keypoint_demo()
审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
模型
+关注
关注
1文章
2704浏览量
47685 -
OpenCV
+关注
关注
29文章
611浏览量
40774 -
数据集
+关注
关注
4文章
1178浏览量
24351 -
深度学习
+关注
关注
73文章
5237浏览量
119908
原文标题:【YOLOv8新玩法】姿态评估寻找链接切割点
文章出处:【微信号:CVSCHOOL,微信公众号:OpenCV学堂】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
labview实现深度学习,还在用python?
如何使用labview实现深度学习应用。ok样本ng样本这些图片的特征是:ok与ok,ng与ng之间都有差异,传统的方法要实现,就需要复杂的算法编程
发表于 07-23 20:33
labview调用深度学习tensorflow模型非常简单,附上源码和模型
本帖最后由 wcl86 于 2021-9-9 10:39 编辑
`labview调用深度学习tensorflow模型非常简单,效果如下,附上源码和训练过的
发表于 06-03 16:38
基于深度学习和3D图像处理的精密加工件外观缺陷检测系统
点四:丰富的2D/3D图像软硬件接口,配合被测金属五金加工件的形状、轮廓精度拥有丰富的成像硬件、运动机构以及执行机构的选择。 基于深度学习和3D图像处理的精密加
发表于 03-08 13:59
什么是深度学习?使用FPGA进行深度学习的好处?
类型,但经常使用称为准确性的一种。假设将 10 张猫的图像输入到预训练模型中,其中 9 张被确定为“猫”。在这一点上,该模型可以说具有 90% 的准确率。一般来说,你可以通过
发表于 02-17 16:56
基于预训练模型和长短期记忆网络的深度学习模型
作为模型的初始化词向量。但是,随机词向量存在不具备语乂和语法信息的缺点;预训练词向量存在¨一词-乂”的缺点,无法为模型提供具备上下文依赖的词向量。针对该问题,提岀了一种基于预训练
发表于 04-20 14:29
•19次下载
评论