前言
hello大家好,今天给大家分享一下如何基于深度学习模型训练实现圆检测与圆心位置预测,主要是通过对yolov8姿态评估模型在自定义的数据集上训练,生成一个自定义的圆检测与圆心定位预测模型
01制作数据集
本人从网络上随便找到了个工业工件,然后写代码合成了一些数据,总计数据有360张图像、其中336张作为训练集、24张作为验证集。
其中yolov的数据格式如下:
解释一下:
class-index 表示对象类型索引,从0开始后面的四个分别是对象的中心位置与宽高 xc、yc、width、heightpx1,py1表示第一个关键点坐标、p1v表示师傅可见,默认填2即可。
02模型训练
跟训练yolov8对象检测模型类似,直接运行下面的命令行即可:
yolo train model=yolov8n-pose.pt data=circle_dataset.yaml epochs=15 imgsz=640 batch=1
03模型导出预测
训练完成以后模型预测推理测试 使用下面的命令行:
yolo predict model=d:pythonmy_yolov8_train_demounspose rain3weightsest.pt source=d:ird_testack12.png
导出模型为onnx格式,使用下面命令行即可
yolo export model=d:pythonmy_yolov8_train_demounspose rain3weightsest.pt format=onnx
04部署推理
基于onnx格式模型,采用onnxruntime推理结果
ort相关的推理演示代码如下:
def ort_circle_demo(): # initialize the onnxruntime session by loading model in cuda support model_dir = d:/python/my_yolov8_train_demo/circle_detect.onnx session = onnxruntime.inferencesession(model_dir, providers=['cudaexecutionprovider']) # 就改这里, 把rtsp的地址配到这边就好啦,然后直接运行,其它任何地方都不准改! # 切记把 onnx文件放到跟这个python文件同一个文件夹中! 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) # onnxruntime inference ort_inputs = {session.get_inputs()[0].name: image} res = session.run(none, ort_inputs)[0] # matrix transpose from 1x8x8400 => 8400x8 out_prob = np.squeeze(res, 0).t result_kypts, confidences, boxes = wrap_detection(bgr, out_prob) for (kpts, confidence, box) in zip(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(circle detection demo, frame) cv.waitkey(0) cv.destroyallwindows()if __name__ == __main__: ort_circle_demo()
非洲支持中国反对西方背后的真实原因
RFID系统数据安全问题怎样来解决
我国存储器市场三足鼎立 未来前景引人瞩目
电容的组成及作用
RS-485:处理空闲总线条件的两种常见方法
如何基于深度学习模型训练实现圆检测与圆心位置预测
便携式土壤重金属检测仪是开展土壤重金属检测的重要仪器
PLC和变频器在中央空调节能改造中的应用
在选择合适的PCB制造商时 您必须要考虑的问题
两种基本嵌入式系统开发方式的相关技术和经济风险
Redmi Note10系列亮点前瞻
华为智慧屏V65尊爵版能实现四方同时进行视频通话,现售价7999元
可预测驾驶员行为的驾驶辅助系统
施耐德电气与伙伴签订携手共赢的战略协议
两种主要的比特币启发式介绍
德国Sick推出基于LiDAR的自由行驶车辆分析系统
广西移动预计2020年将建成5G基站近万个
浅析变频器布线规则
丘钛科技抢攻市占 杀价竞争抢夺生物识别市场
移动阅读优势逐渐凸显,2020年中国市场规模有望突破百亿元