时代在进步,yolo在进步,我还在踏步,v8我浅搞了一下detect和pose,记录一下,我还是要吐槽一下,为啥子这个模型就放在了这个文件深处,如图。
以下教程只应用于直接应用yolov8,不修改。我之前搞v7的环境,直接
pip install ultralytics
1. detect
在detect文件夹下新建一个dataset放图片(jpg)和yolo格式的标签(txt)训练集和测试集直接分好,再新建一个data.yaml,如图,放你自己的路径,类别。

放一个检测框的json转yolo的代码,改类别和文件夹路径
import os
import json
import numpy as np
# 类和索引
CLASSES=["fish"]
def convert(size,box):
'''''
input:
size:(width,height);
box:(x1,x2,y1,y2)
output:
(x,y,w,h)
'''
dw=1./size[0]
dh=1./size[1]
x=(box[0]+box[1])/2.0
y=(box[2]+box[3])/2.0
w=box[1]-box[0]
h=box[3]-box[2]
x=x*dw
w=w*dw
y=y*dh
h=h*dh
return (x,y,w,h)
# json -> txt
def json2txt(path_json,path_txt):
# print(path_json,"r")
with open(path_json,"r") as path_json:
jsonx=json.load(path_json)
width=int(jsonx["imageWidth"]) # 原图的宽
height=int(jsonx["imageHeight"]) # 原图的高
with open(path_txt,"w+") as ftxt:
# 遍历每一个bbox对象
for shape in jsonx["shapes"]:
obj_cls=str(shape["label"]) # 获取类别
cls_id=CLASSES.index(obj_cls) # 获取类别索引
points=np.array(shape["points"]) # 获取(x1,y1,x2,y2)

本文详细介绍了如何将yolo_v8中的json数据转换为txt格式,涉及detect和pose任务,以及如何使用ultralytics库进行训练和预测。同时提到了模型封装程度的问题和对改进的限制。

1万+

被折叠的 条评论
为什么被折叠?



