0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何基于深度学习模型训练实现工件切割点位置预测

OpenCV学堂 来源:OpenCV学堂 2023-12-22 11:07 次阅读

前言

Hello大家好,今天给大家分享一下如何基于深度学习模型训练实现工件切割点位置预测,主要是通过对YOLOv8姿态评估模型在自定义的数据集上训练,生成一个工件切割分离点预测模型

01制作数据集

本人从网络上随便找到了个工业工件,然后写代码合成了一些数据,总计数据有360张图像、其中336张作为训练集、24张作为验证集。

其中YOLOv的数据格式如下:

b0d71af4-a00a-11ee-8b88-92fbcf53809c.png

解释一下:

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

b0e2ed2a-a00a-11ee-8b88-92fbcf53809c.png

b0f2e3c4-a00a-11ee-8b88-92fbcf53809c.png

b103b3b6-a00a-11ee-8b88-92fbcf53809c.png

b1112ece-a00a-11ee-8b88-92fbcf53809c.png

03模型导出预测

训练完成以后模型预测推理测试 使用下面的命令行:

yolo predict model=lines_pts_best.pt source=D:ird_testack12.png

导出模型为ONNX格式,使用下面命令行即可

yolo export model=lines_pts_best.pt format=onnx

b12d3092-a00a-11ee-8b88-92fbcf53809c.png

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

    文章

    3238

    浏览量

    48824
  • OpenCV
    +关注

    关注

    31

    文章

    635

    浏览量

    41343
  • 数据集
    +关注

    关注

    4

    文章

    1208

    浏览量

    24696
  • 深度学习
    +关注

    关注

    73

    文章

    5503

    浏览量

    121142

原文标题:【YOLOv8新玩法】姿态评估寻找链接切割点

文章出处:【微信号:CVSCHOOL,微信公众号:OpenCV学堂】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何才能高效地进行深度学习模型训练

    分布式深度学习框架中,包括数据/模型切分、本地单机优化算法训练、通信机制、和数据/模型聚合等模块。现有的算法一般采用随机置乱切分的数据分配方
    的头像 发表于 07-09 08:48 1.4w次阅读
    如何才能高效地进行<b class='flag-5'>深度</b><b class='flag-5'>学习</b><b class='flag-5'>模型</b><b class='flag-5'>训练</b>?

    labview实现深度学习,还在用python?

    如何使用labview实现深度学习应用。ok样本ng样本这些图片的特征是:ok与ok,ng与ng之间都有差异,传统的方法要实现,就需要复杂的算法编程
    发表于 07-23 20:33

    深度学习预测和健康管理中的应用

    深度学习预测和健康管理中的应用综述摘要深度学习预测和健康管理(PHM)引起了浓厚的兴趣,因为
    发表于 07-12 06:46

    深度学习模型是如何创建的?

    具有深度学习模型的嵌入式系统应用程序带来了巨大的好处。深度学习嵌入式系统已经改变了各个行业的企业和组织。
    发表于 10-27 06:34

    深度学习技术的开发与应用

    时间安排大纲具体内容实操案例三天关键1.强化学习的发展历程2.马尔可夫决策过程3.动态规划4.无模型预测学习5.无模型控制
    发表于 04-21 14:57

    基于深度学习模型云目标检测及ROS实现

    近年来,随着深度学习在图像视觉领域的发展,一类基于单纯的深度学习模型云目标检测方法被提出和应
    的头像 发表于 11-05 16:47 1.8w次阅读

    基于预训练模型和长短期记忆网络的深度学习模型

    作为模型的初始化词向量。但是,随机词向量存在不具备语乂和语法信息的缺点;预训练词向量存在¨一词-乂”的缺点,无法为模型提供具备上下文依赖的词向量。针对该问题,提岀了一种基于预训练
    发表于 04-20 14:29 19次下载
    基于预<b class='flag-5'>训练</b><b class='flag-5'>模型</b>和长短期记忆网络的<b class='flag-5'>深度</b><b class='flag-5'>学习</b><b class='flag-5'>模型</b>

    模型为什么是深度学习的未来?

    与传统机器学习相比,深度学习是从数据中学习,而大模型则是通过使用大量的模型
    的头像 发表于 02-16 11:32 2109次阅读

    深度学习框架区分训练还是推理吗

    模型,以便将来能够进行准确的预测。推理是指在训练完成后,使用已经训练好的模型进行新的预测。然而,
    的头像 发表于 08-17 16:03 1373次阅读

    视觉深度学习迁移学习训练框架Torchvision介绍

    Torchvision是基于Pytorch的视觉深度学习迁移学习训练框架,当前支持的图像分类、对象检测、实例分割、语义分割、姿态评估模型的迁
    的头像 发表于 09-22 09:49 900次阅读
    视觉<b class='flag-5'>深度</b><b class='flag-5'>学习</b>迁移<b class='flag-5'>学习</b><b class='flag-5'>训练</b>框架Torchvision介绍

    深度学习如何训练出好的模型

    算法工程、数据派THU深度学习在近年来得到了广泛的应用,从图像识别、语音识别到自然语言处理等领域都有了卓越的表现。但是,要训练出一个高效准确的深度
    的头像 发表于 12-07 12:38 1093次阅读
    <b class='flag-5'>深度</b><b class='flag-5'>学习</b>如何<b class='flag-5'>训练</b>出好的<b class='flag-5'>模型</b>

    如何基于深度学习模型训练实现圆检测与圆心位置预测

    Hello大家好,今天给大家分享一下如何基于深度学习模型训练实现圆检测与圆心位置
    的头像 发表于 12-21 10:50 1979次阅读
    如何基于<b class='flag-5'>深度</b><b class='flag-5'>学习</b><b class='flag-5'>模型</b><b class='flag-5'>训练</b><b class='flag-5'>实现</b>圆检测与圆心<b class='flag-5'>位置</b><b class='flag-5'>预测</b>

    深度学习模型训练过程详解

    深度学习模型训练是一个复杂且关键的过程,它涉及大量的数据、计算资源和精心设计的算法。训练一个深度
    的头像 发表于 07-01 16:13 1260次阅读

    深度学习的典型模型训练过程

    深度学习作为人工智能领域的一个重要分支,近年来在图像识别、语音识别、自然语言处理等多个领域取得了显著进展。其核心在于通过构建复杂的神经网络模型,从大规模数据中自动学习并提取特征,进而
    的头像 发表于 07-03 16:06 1446次阅读

    AI大模型深度学习的关系

    人类的学习过程,实现对复杂数据的学习和识别。AI大模型则是指模型的参数数量巨大,需要庞大的计算资源来进行
    的头像 发表于 10-23 15:25 702次阅读