coco128.yaml定义1)训练图像目录的路径(或带有训练图像列表的* .txt文件的路径),2)与我们的验证图像相同的路径,3)类数,4)类列表名称:
#train和Val的数据集(图像目录或* .txt与图像路径文件) train: …/coco128/images/train2017/ VAL: …/coco128/images/train2017/ #class number nc:80 #类名称 名称: [“人”,“自行车”,“汽车”,“摩托车”,“飞机”,“公共汽车”,“火车”,“卡车”,“船”,“交通灯”, “消防栓” ”,“停车标志”,“停车计时器”,“长凳”,“鸟”,“猫”,“狗”,“马”,“绵羊”,“牛”, “大象”,“熊”,“斑马”',‘长颈鹿’,'背包,‘雨伞’,‘手袋’,‘领带’,‘手提箱’,‘飞盘’, ‘滑雪板’,‘滑雪板’,‘运动球’,‘风筝’,‘棒球棒’,“棒球手套”,“滑板”,“冲浪板”, “网球拍”,“瓶”,“酒杯”,“杯”,“叉”,“刀”,“勺子”,“碗”,“香蕉” ,“苹果”, “三明治”,“橙色”,“西兰花”,“胡萝卜”,“热狗”,“比萨饼”,“甜甜圈”,“蛋糕”,“椅子”,“沙发”, “盆栽”,“床”,“餐桌” ”,“厕所”,“电视”,“笔记本电脑”,“鼠标”,“遥控器”,“键盘”, “手机”,“微波炉”,“烤箱”,“烤面包机”,“水槽”,“冰箱” ,“书”,“时钟”,“花瓶”,“剪刀”, “泰迪熊”,“吹风机”,“牙刷”]
如果使用自己建立的数据集 要修改的参数有
train:换成你自己的训练集地址
val:换成自己的val地址
nc: 换成你自己定义的类别的数量
类名称:换成自己定义的类别的名称
2.2创建标签
使用Labelbox和CVAT工具进行图像标记,将标签导出为darknet格式,×.txt每张图像一个文件(如果图像中没有对象,则不需要×.txt文件)。txt文件内容有:
每个对象一行
每行都是class x_center y_center width height格式
框坐标必须采用归一化的xywh格式(从0到1)。如果boxes以像素为单位,划分x_center和width关于图像宽度,y_center和height关于图像高度。
类别定义利用序号,一般从0开始。
每个图像的标签文件应该可以通过在其路径名中简单地替换/images/ *.jpg为/labels/*.txt来定位。
例如
数据集/图像/ train2017 / 000000109622.jpg #图像
数据集/标签/ train2017 /000000109622.txt #标签
具有5个人(所属类别定义为0)的标签文件
2.3组织目录
数据集/coco128放在/yolov5项目的旁边,数据集/coco128下包含两个文件夹。
一个为/coco128/images,另一个为/coco128/labels,里面分别存放数据集图片和数据集标注信息。
2.4选择模型
从./models文件夹中,选择模型。yolov5提供了五个模型,这里我们以yolov5s.yaml为例子,双击打开,更新其中参数适应2.1中定义的类别。这里一般不用动更新nc就可以了。就是匹配你自己数据集的类别就可以了,其他的参数一般不做优化不需要动。
#parameters nc: 80 #number of classes