zoukankan      html  css  js  c++  java
  • yolov3

    爱笑的加油怪

      昨天配置了YOLOv3的环境,今天用官方文档内的coco128数据集跑一下:

      **本次YOLOv3的使用基本上跟调用api一样,就是把数据集格式处理好后使用大佬们写好的py文件,本人实力有限,实在是看不太懂源码。****
    **

    img

     YOLOv3运行所使用的数据集是有严格的格式要求的,具体可以参考官方文档(有其他版本的YOLOv3实现,这里仅展示我使用的ultralytics/yolov3):

    img

     以这张图为例,对应图片的txt文件内要有五个参数:类数(从0开始计,第一类为0,第二类为1...),X_center,Y_center(图片中心的XY坐标),Width,Height(宽高)。

      附上coco128的数据集格式对比:

    首先是coco128目录下,images和labels子文件夹,一个存放图片,一个存放标签

    img

    两个文件夹下存放的.jpg文件和.txt文件名字要对应

    img

    txt文件内就是刚才说的格式:

    img

      明白数据集结构之后,再回到代码中:

    img

    这三个文件是我们需要使用的,train.py是训练,test.py是测试,detect.py是用模型预测。图中没有画框的yolov3.pt就是我们训练后的模型文件,这个是官方源码中自带的,我们训练后的模型文件并不在这儿。

    img

    这个地方改成自己的yaml文件(原来是coco.yaml)

    首次运行可能会给你报错:

    OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.

    这个时候在train.py开头加上这句:

    img

    官方文档中给的运行示例都是用命令行实现的,我这里也不用pycharm跑了,打开Anaconda Powershell Prompt:

    切换到这个项目的目录下之后,运行代码:

    python train.py --img 640 --batch 16 --epochs 5 --data coco128.yaml --weights yolov3.pt
    

    img

    这里报错,大致意思就是我的显存不够(6G),带不动,现在还没租服务器,也没法换电脑,那就改运行参数:

    python train.py --img 320 --batch 8 --epochs 5 --data coco128.yaml --weights yolov3.pt
    

    img和batch各砍掉一半:

    img

    运行成功,最后这段告诉了我们模型存储的位置:runs rainexp4weights**,存了last.pt和best.pt,runs文件在yolov3这个项目里,exp4是因为我之前已经训练了三次模型:
    **

    img

    我们从网上下载一个图,使用训练好的模型做一下预测吧,coco128数据集有80个类,我们选择“斑马”类来预测一下:

    python detect.py --source data/images --weights yolov3.pt --conf 0.25
    

    source后写下图片地址,weights后写使用模型的地址,这里注意模型地址是相对地址,它以yolov3这个项目的地址为起点,所以直接从runs开始写,conf设置权重

    img

    运行后的结果:

    img

    图像:

    img

     以上就是YOLOv3的coco128数据集测试。

  • 相关阅读:
    【Webpack】432- 关于webpack4的14个知识点
    【Nuxtjs】431- 简述Nuxt.js
    【JS】430- 前端异常处理方案汇总
    【Web技术】429- TCP为啥要3次握手和4次挥手?
    【Nodejs】428- 消息队列助你成为高薪 Node.js 工程师
    【Web技术】427- 图解浏览器的基本工作原理
    【Vuejs】426- vue动态定义图片路径
    linux命令英文缩写的含义(方便记忆)
    VM虚拟机安装centos详细图文教程
    Android 你应该知道的学习资源 进阶之路贵在坚持
  • 原文地址:https://www.cnblogs.com/2506236179zhw/p/14706917.html
Copyright © 2011-2022 走看看