• YOLOv7模型训练


    环境

    • ubuntu 18.04 64bit

    • torch 1.7.1+cu101

    数据集准备

    这里以前面我们进行 YOLOv5 模型训练 时用到的口罩数据集为例,这个数据集来自网站 roboflow.com,再次安利一下这个站点,真的非常棒,不止有详尽的博客教程,还有很多的开放数据集,而且支持的数据格式也很丰富,绝对值得经常去逛一逛。

    b20cc8e15f182083d9da056a03278461.png

    口罩数据集下载地址:https://public.roboflow.com/object-detection/mask-wearing/4,这里也在百度网盘上存一份,需要的自取

    链接:https://pan.baidu.com/s/1JvniT205zX79wASqiKtt5Q
    提取码:9feh

    数据集下载后解压,将文件夹重命名为 mask,并放到 yolov7 的根目录下(这里可以随意,只要前后的路径匹配上就可以了),完整的目录结构如下

    e9b38a180fd777ffa8cf3ba6e381e70a.png

    可以发现,其实 yolov7yolov5 数据集格式是一模一样的,通过标注工具 labelimg 也可以得出同样的结论

    d4ac281f17ce82e942dbbb1ab2c602f3.png

    训练

    模型训练开始之前,我们需要修改部分配置文件

    首先是数据集中的 data.yaml

    1. train: mask/train/images
    2. val: mask/valid/images
    3. nc: 2
    4. names: ['mask''no-mask']

    其次,是修改 yolov7 中的配置文件 cfg/training/yolov7.yaml,主要是 nc 这个字段

    nc: 2  # number of classes

    然后,就可以进行训练了,执行

    python train.py --data mask/data.yaml --cfg cfg/training/yolov7.yaml --weights '' --name yolov7 --hyp data/hyp.scratch.p5.yaml

    6d9b4237e165a3e21489293f5fccab42.png

    模型测试

    最后,我们来测试下模型的效果

    python detect.py --source mask/test/images/shutterstock_1627199179_jpg.rf.350e69105dd1458572a590c3e3ef2538.jpg --weight runs/train/yolov7/weights/best.pt

    23e2f75408e1e228691110ad968e935b.jpeg

    python detect.py --source mask/test/images/the-first-day-of-wuhan-s-closure-some-people-fled-some-panicked_jpg.rf.51ed69bf8d327d93b429a08581f6dea0.jpg --weight runs/train/yolov7/weights/best.pt

    359e3375dbc6cdd8175545fa558217d3.jpeg

  • 相关阅读:
    如何在idea中新建第一个java小程序
    RocketMQ 的消费者类型详解与最佳实践
    字节前端实习一面
    深度学习入门(6) - 3DV 三维视觉
    游戏海外运营需要准备什么?
    Node.js——http模块和导出共享
    1.Spring的简单使用
    探索以太坊 Layer 2 解决方案的后起之秀——Starknet
    Java 11 新特性
    Flutter 小技巧之 MediaQuery 和 build 优化你不知道的秘密
  • 原文地址:https://blog.csdn.net/djstavaV/article/details/126132814