从零开始手EBET易博app把手教你训练yolov5

  新闻资讯     |      2023-08-16 07:29

  YOLOv5是一个在COCO数据集上预训练的物体检测架构和模型系列,它代表了Ultralytics对未来视觉AI方法的开源研究,其中包含了经过数千小时的研究和开发而形成的经验教训和最佳实践。YOLOv5是YOLO系列的一个衍生,您也可以看作是基于YOLOv3、YOLOv4的改进作品。YOLOv5没有相应的论文说明,但是作者在Github上积极地开放源代码,通过对源码分析,我们也能很快地了解YOLOv5的网络架构和工作原理。

  Yolov5的输入端采用了和Yolov4一样的Mosaic数据增强的方式。

  在Yolo算法中,针对不同的数据集,都会有初始设定长宽的锚框。在网络训练中,网络在初始锚框的基础上输出预测框,进而和真实框groundtruth进行比对,计算两者差距,再反向更新,迭代网络参数。

  这里官方的例子使用的是coco128.yaml,这是一个小型教程数据集,由COCO train2017 中的前128张图像组成。在此示例中,这些相同的128张图像用于训练和验证。coco128.yaml定义1)训练图像目录的路径(或带有训练图像列表的* .txt文件的路径),2)与我们的验证图像相同的路径,3)类数,4)类名称:

  train:换成你自己的训练集地址 val:换成自己的val地址 nc: 换成你自己定义的类别的数量 类名称:换成自己定义的类别的名称

  每张图像一个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来定位。 例如

  EBET易博真人

  yolov5提供了五个模型,这里我们以yolov5s.yaml为例子,双击打开,更新其中参数适应之前定义的类别。这里一般不用动更新nc就可以了。就是匹配你自己数据集的类别就可以了,其他的参数一般不做优化不需要动。