大部分都是网上粘的,只是记录一下方便自己查找
置信度
在YOLO中,置信度是一个介于0和1之间的数值,表示模型对检测到的目标的确信程度。如果置信度接近1,那么模型相信该框中包含了目标对象。如果置信度接近0,模型认为该框中可能没有目标。所以,置信度可以看作是一个概率值,表示目标的存在概率。
在YOLO中,置信度代表了算法对于其预测结果的自信程度。简单地说,就是算法觉得“这个框里真的有一个物体”的概率。
开始
在当前目录下
1 | pip install ultralytics |
训练.yaml配置
1 | # 这里的path需要指向你项目中数据集的目录 |
数据集标注信息(txt)
- 类别ID:对应.yaml中的names,代表对象的类别
- 中心X、Y坐标:对象边界框中心的水平、垂直方向坐标(比例)
- 边界框宽、高度:这个值是相对于整个图像的比例
若一个图片的txt标注文件中某一行为:1 0.5 0.5 0.2 0.3则代表:
- 类别:1
- 边界框中心坐标对应图像水平、垂直的各50%处(中心)
- 边界框宽度为图像宽度的20%,高度为图像高度的30%
训练对应的各参数说明
最好在运行时通过命令行或.train函数添加参数实现,不在default.yaml中修改
预测大概步骤
先从头创建新模型并训练
YOLOv8训练参数详解(全面详细、重点突出、大白话阐述小白也能看懂)-CSDN博客
可以使用命令行格式或python代码格式
1
2
3
4from ultralytics import YOLO
model=YOLO('[模型,.pt or .yaml]')
result=model.trian(data='自己的.yaml',epochs=[训练轮数],lr0=[初始学习率]))使用训练好的模型进行预测
1
2model= YOLO('runs/detect/v8s01/weights/best.pt')
result=model.predict(source='[要预测的图的路径]')
训练自带的coco128数据集
1 | from ultralytics import YOLO |
查看coco128.yaml:
1 | path: ../datasets/coco128 # dataset root dir |
在数据集中随便找张图和其标注信息:
训练完毕后用训练后的模型预测这张图:
1 | result=model.predict(source='F:\\python\\ultralytics-main\\ultralytics-main\\ultralytics\\models\\yolo\\detect\\datasets\\coco128\\images\\train2017\\000000000009.jpg',save=True) |
可得:
注意:
用命令行得到的数据在文件根目录的runs文件夹下,而python代码得到的数据在ultralytics/runs下