七、yolov8图像标注和模型训练(目标检测)

环境配置方法:点这里

环境配置完毕后,需要进行标注工作和训练任务,以下分两个部分进行。

图片标注

1、按照以下的格式,将图片放入images中。(不限制文件夹路径)

2、然后下载labelme标注工具,链接;如果没有下载到或者没有积分,可以联系我发给你。labelme标注工具的使用可以参考:链接

3、目标检测的话,需要选择创建rectangle。然后就可以直接画矩形框。

3、然后我们把图片分成两个标签进行标注,一种是bad,一种是good。

jsons转txt格式

python 复制代码
import json
import os




def convert(img_size, box):
    dw = 1. / (img_size[0])
    dh = 1. / (img_size[1])
    x = (box[0] + box[2]) / 2.0 - 1
    y = (box[1] + box[3]) / 2.0 - 1
    w = box[2] - box[0]
    h = box[3] - box[1]
    x = abs(x * dw)
    w = abs(w * dw)
    y = abs(y * dh)
    h = abs(h * dh)
    return (x, y, w, h)


def decode_json(json_floder_path, json_name, txt_floder_path, classes):
    txt_name = txt_floder_path + '\\' + json_name[0:-5] + '.txt'
    txt_file = open(txt_name, 'w')

    json_path = os.path.join(json_floder_path, json_name)
    data = json.load(open(json_path, 'r', encoding='gb2312'))

    img_w = data['imageWidth']
    img_h = data['imageHeight']

    for i in data['shapes']:

        label_name = i['label']
        if (i['shape_type'] == 'rectangle'):
            x1 = int(i['points'][0][0])
            y1 = int(i['points'][0][1])
            x2 = int(i['points'][1][0])
            y2 = int(i['points'][1][1])

            bb = (x1, y1, x2, y2)
            bbox = convert((img_w, img_h), bb)
            txt_file.write(str(classes[label_name]) + " " + " ".join([str(a) for a in bbox]) + '\n')

print('json to txt over!')


if __name__ == "__main__":

    json_floder_path = 'E:\\WDX\\CODE\\python\\TOOL\\FPC\\jsons'
    txt_floder_path = 'E:\\WDX\\CODE\\python\\TOOL\\FPC\\labels'
    classes = {'bad': 0, 'good': 1}  # 多少类就写多少
    json_names = os.listdir(json_floder_path)
    for json_name in json_names:
        decode_json(json_floder_path, json_name, txt_floder_path, classes)

模型训练

1、在datasets文件夹下创建文件夹FPC-det,将images文件夹和labels文件夹放在其中。

2、然后在下面文件夹中增加ymal文件(可复制其他的,改一下里面路径就可以)

3、在detect文件夹下找到train文件,打开修改以下内容。

4、另外找到default.ymal文件,修改epochs,batch和workers根据显卡,自己调整。

5、然后右击train.py文件,运行。

6、训练完成,会生成best.pt;至此,检测模型训练完成

相关推荐
向哆哆12 天前
高精度织物缺陷检测数据集(适用YOLO系列/1000+标注)(已标注+划分/可直接训练)
yolo·目标检测
前网易架构师-高司机13 天前
带标注的驾驶员安全带识别数据集,识别率99.5%,可识别有无系安全带,支持yolo,coco json,pascal voc xml格式
xml·yolo·数据集·交通·安全带
yuzhuanhei13 天前
YOLO26实操记录(自用)
人工智能·计算机视觉·目标跟踪
码农三叔13 天前
(3-2-01)视觉感知:目标检测与分类
人工智能·目标检测·分类·机器人·人机交互·人形机器人
向哆哆13 天前
粉尘环境分类检测千张图数据集(适用YOLO系列)(已标注+划分/可直接训练)
yolo·分类·数据挖掘
琅琊榜首202013 天前
移动端AI挂机新范式:YOLOv8+NCNN实现无Root视觉自动化
人工智能·yolo·自动化
沃达德软件14 天前
模糊图像复原技术解析
图像处理·人工智能·深度学习·目标检测·机器学习·计算机视觉·目标跟踪
智驱力人工智能14 天前
地铁隧道轨道障碍物实时检测方案 守护城市地下动脉的工程实践 轨道障碍物检测 高铁站区轨道障碍物AI预警 铁路轨道异物识别系统价格
人工智能·算法·yolo·目标检测·计算机视觉·边缘计算
智驱力人工智能14 天前
机场鸟类活动智能监测 守护航空安全的精准工程实践 飞鸟检测 机场鸟击预防AI预警系统方案 机场停机坪鸟类干扰实时监测机场航站楼鸟击预警
人工智能·opencv·算法·安全·yolo·目标检测·边缘计算
椒颜皮皮虾྅14 天前
OpenVINO C# API 中文README.md
人工智能·深度学习·目标检测·计算机视觉·c#·边缘计算·openvino