前言
Hello大家好,今天給大家分享一下如何基于深度學(xué)習(xí)模型訓(xùn)練實(shí)現(xiàn)圓檢測(cè)與圓心位置預(yù)測(cè),主要是通過(guò)對(duì)YOLOv8姿態(tài)評(píng)估模型在自定義的數(shù)據(jù)集上訓(xùn)練,生成一個(gè)自定義的圓檢測(cè)與圓心定位預(yù)測(cè)模型
01制作數(shù)據(jù)集
本人從網(wǎng)絡(luò)上隨便找到了個(gè)工業(yè)工件,然后寫代碼合成了一些數(shù)據(jù),總計(jì)數(shù)據(jù)有360張圖像、其中336張作為訓(xùn)練集、24張作為驗(yàn)證集。
其中YOLOv的數(shù)據(jù)格式如下:
解釋一下:
Class-index 表示對(duì)象類型索引,從0開始 后面的四個(gè)分別是對(duì)象的中心位置與寬高 xc、yc、width、height Px1,py1表示第一個(gè)關(guān)鍵點(diǎn)坐標(biāo)、p1v表示師傅可見,默認(rèn)填2即可。
02模型訓(xùn)練
跟訓(xùn)練YOLOv8對(duì)象檢測(cè)模型類似,直接運(yùn)行下面的命令行即可:
yolo train model=yolov8n-pose.pt data=circle_dataset.yaml epochs=15 imgsz=640 batch=1
03模型導(dǎo)出預(yù)測(cè)
訓(xùn)練完成以后模型預(yù)測(cè)推理測(cè)試 使用下面的命令行:
yolo predict model=D:pythonmy_yolov8_train_demo unspose rain3weightsest.pt source=D:ird_testack12.png
導(dǎo)出模型為ONNX格式,使用下面命令行即可
yolo export model=D:pythonmy_yolov8_train_demo unspose rain3weightsest.pt format=onnx
04部署推理
基于ONNX格式模型,采用ONNXRUNTIME推理結(jié)果
ORT相關(guān)的推理演示代碼如下:
defort_circle_demo(): #initializetheonnxruntimesessionbyloadingmodelinCUDAsupport model_dir="D:/python/my_yolov8_train_demo/circle_detect.onnx" session=onnxruntime.InferenceSession(model_dir,providers=['CUDAExecutionProvider']) #就改這里, 把RTSP的地址配到這邊就好啦,然后直接運(yùn)行,其它任何地方都不準(zhǔn)改! #切記把 onnx文件放到跟這個(gè)python文件同一個(gè)文件夾中! frame=cv.imread("D:/bird_test/back1/3.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("CircleDetectionDemo",frame) cv.waitKey(0) cv.destroyAllWindows() if__name__=="__main__": ort_circle_demo()
-
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1223瀏覽量
25276 -
命令行
+關(guān)注
關(guān)注
0文章
80瀏覽量
10529 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5554瀏覽量
122479 -
模型訓(xùn)練
+關(guān)注
關(guān)注
0文章
20瀏覽量
1436
原文標(biāo)題:【YOLOv8新玩法】姿態(tài)評(píng)估解鎖找圓心位置
文章出處:【微信號(hào):CVSCHOOL,微信公眾號(hào):OpenCV學(xué)堂】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
如何才能高效地進(jìn)行深度學(xué)習(xí)模型訓(xùn)練?

全網(wǎng)唯一一套labview深度學(xué)習(xí)教程:tensorflow+目標(biāo)檢測(cè):龍哥教你學(xué)視覺—LabVIEW深度學(xué)習(xí)教程
labview深度學(xué)習(xí)應(yīng)用于缺陷檢測(cè)
深度學(xué)習(xí)在預(yù)測(cè)和健康管理中的應(yīng)用
深度學(xué)習(xí)模型是如何創(chuàng)建的?
深度學(xué)習(xí)技術(shù)的開發(fā)與應(yīng)用
基于深度學(xué)習(xí)模型的點(diǎn)云目標(biāo)檢測(cè)及ROS實(shí)現(xiàn)
基于預(yù)訓(xùn)練模型和長(zhǎng)短期記憶網(wǎng)絡(luò)的深度學(xué)習(xí)模型

深度學(xué)習(xí)框架區(qū)分訓(xùn)練還是推理嗎
視覺深度學(xué)習(xí)遷移學(xué)習(xí)訓(xùn)練框架Torchvision介紹

深度學(xué)習(xí)如何訓(xùn)練出好的模型

如何基于深度學(xué)習(xí)模型訓(xùn)練實(shí)現(xiàn)工件切割點(diǎn)位置預(yù)測(cè)

評(píng)論