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

    文章

    2704

    浏览量

    47685
  • OpenCV
    +关注

    关注

    29

    文章

    611

    浏览量

    40774
  • 数据集
    +关注

    关注

    4

    文章

    1178

    浏览量

    24351
  • 深度学习
    +关注

    关注

    73

    文章

    5237

    浏览量

    119908

原文标题:【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

    labview调用深度学习tensorflow模型非常简单,附上源码和模型

    本帖最后由 wcl86 于 2021-9-9 10:39 编辑 `labview调用深度学习tensorflow模型非常简单,效果如下,附上源码和训练过的
    发表于 06-03 16:38

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

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

    深度融合模型的特点

    深度融合模型的特点,背景深度学习模型训练完成之后,部署并应用在生产环境的这一步至关重要,毕竟
    发表于 07-16 06:08

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

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

    基于深度学习和3D图像处理的精密加工件外观缺陷检测系统

    四:丰富的2D/3D图像软硬件接口,配合被测金属五金加工件的形状、轮廓精度拥有丰富的成像硬件、运动机构以及执行机构的选择。 基于深度学习和3D图像处理的精密加
    发表于 03-08 13:59

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

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

    什么是深度学习?使用FPGA进行深度学习的好处?

    类型,但经常使用称为准确性的一种。假设将 10 张猫的图像输入到预训练模型中,其中 9 张被确定为“猫”。在这一上,该模型可以说具有 90% 的准确率。一般来说,你可以通过
    发表于 02-17 16:56

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

    作为模型的初始化词向量。但是,随机词向量存在不具备语乂和语法信息的缺点;预训练词向量存在¨一词-乂”的缺点,无法为模型提供具备上下文依赖的词向量。针对该问题,提岀了一种基于预训练
    发表于 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 1667次阅读

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

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

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

    Torchvision是基于Pytorch的视觉深度学习迁移学习训练框架,当前支持的图像分类、对象检测、实例分割、语义分割、姿态评估模型的迁
    的头像 发表于 09-22 09:49 450次阅读
    视觉<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 660次阅读
    <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 683次阅读
    如何基于<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>