作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客
本文网址:https://blog.csdn.net/HiWangWenBing/article/details/122288423
目录
前言:
步骤1:采集自己的自定义数据集的图片数据
步骤2:为自己的自定义图片数据集打标签
步骤3:把json格式的标签文件转换成yolo-v5所需格式的标签文件
3.1 Yolo Text格式:(Cx, Cy, W, H) , 且需要归一化后的数据格式
3.2 转换工具:基于现有的工具进行转换
3.3 转换后图片与标签,按照YOLO的方式进行组织
第4步骤:为数据创建YOLO的配置文件
在实际项目中,有时候,没有开源的数据集可用,或者开源的数据集与我们自己业务需要的数据集不同,因此,我们需要自定义我们的数据集,为我们自己的数据集打标签。
不同的公开数据集有不同的数据集格式,YOLO对数据集也有自身的要求,不同版本,也有不同格式要求。本文探讨如何为YOLO V5制作自己的自定义数据集。
制作过程如下:
(1)方法1:人工拍照片,每一张照片就是数据集中的一张图片。
(2)方法2:拍视频,把视频转换成一张张图片(通过工具,截取视频帧,转换成原始图片)
(3)方法3:数据增强,基于已有的图片数据,通过数据集增强处理,生成新的图片。
备注:
(1)使用labelme工具,选择合适的图片,为他们进行目标框和分类的标注
具体操作方法如下:
[人工智能-深度学习-68]:数据集 - 如何使用labelme给自定义图片打标签_文火冰糖(王文兵)的博客-CSDN博客
(2)输出:labelme工具生成的标签文件是Json格式的。
这种格式的标签,可视化好,易读,但文本信息比较多,如下图所示:
{
"version": "4.6.0",
"flags": {},
"shapes": [
{
"label": "circal",
"points": [
[
280.66666666666663,
721.6666666666666
],
[
424.66666666666663,
868.3333333333334
]
],
"group_id": null,
"shape_type": "rectangle",
"flags": {}
}
],
"imagePath": "173_1384.jpg",
"imageData":
"imageHeight": 1282,
"imageWidth": 720
}
Json格式:(x1, y1, x2, y2) ,实际坐标数据格式。这与yolo-v3所期望的格式并不相同。
通过图片的尺寸信息和实际坐标数据,就可以对标签数据进行转换。
5 0.229438 0.16684 0.000854 0.001
5 0.202522 0.183007 0.000977 0.001333
XXX/train/
-----/train/images/
-----/train/labels/
XXX/valid/
-----/valid/images/
-----/valid/labels/
XXX/test/ # 可选
-----/test/images/
-----/test/labels/
三个数据的比例 = train:valid:test = 9 :3:1, 基本上是3 :1的阶梯
按照如下的案例:创建数据集的配置文件,并放在数据的根目录中:
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客
本文网址:https://blog.csdn.net/HiWangWenBing/article/details/122288423