Skip to content

Li-Ruiqi777/yolo-utils

Repository files navigation

使用说明

注意事项:

  • 以下所有脚本的执行路径都在此项目的根目录
  • 一些脚本中有些路径变量可能要修改

1.将待标注图片放到本地某文件夹下,如E:/Images

2.调用脚本scripts/dataset/bmp2jpg.py将所有图片转为jpg格式

3.调用脚本scripts/dataset/rename.py对所有图片重命名

4.打开eiseg软件进行标注(通过pip install eiseg可以直接下载),数据格式选择XML和COCO(选COCO后才能查看标注过的图片的label)

5.导入标签列表,选择exported_labels\rope_labels.txt

如果没有则手动在右侧标签列表添加标签,如下图所示:

alt text

并点击工具栏->标注->导出标签列表,将标签文件导出到./exported_labels文件夹下

alt text

6.创建VOC和YOLO格式的数据集的文件夹

python ./scripts/makedirs.py

执行后会得到如下目录结构:

├───VOC
│   ├───Annotations
│   └───JPEGImages
└───YOLO_Format
    ├───images
    │   ├───test
    │   ├───train
    │   └───val
    └───labels
        ├───test
        ├───train
        └───val

6.标注好后,将E:/Images/label/VOC/文件夹内的所有.xml文件放到./VOC/Annotations下,将所有.jpg图片放到./VOC/JPEGImages

7.调用脚本scripts/dataset/voc2yolo.py将VOC(xml)格式的标签的格式转为YOLO格式。需要注意的是,此脚本中的“classes”列表需要按照标注时候的顺序填写标签名称:

classes = ['broken', 'warp', 'scatter', 'rust', 'wear']

8.调用脚本scripts/dataset/split_data.py将数据集划分为训练集、验证集、测试集

9.修改data.yaml中的pathnames字段:

  • pathYOLO_Format文件夹的绝对路径
  • names:需要与用eiseg进行标注时,各个label的顺序一致

10.调用脚本scripts\train.py即可开始训练YOLOv8模型

11.调用脚本scripts\export.py导出onnx格式的模型

12.将onnx格式的模型转成TensorRT支持的engine格式

trtexec --onnx=${path_to_onnx} --saveEngine=${path_to_engine} --fp16

13.编译/deploy/detect/路径下的工程,修改main.cpp里的路径,即可进行测试

使用热力图

热力图的生成需要用到scripts/yolov8-heatmap.py脚本,直接运行就行了。 使用前需要安装对应的依赖:

pip install grad-cam==1.4.8 -i https://pypi.tuna.tsinghua.edu.cn/simple

About

some utils for training object detection

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages