精华内容
下载资源
问答
  • YOLOX训练自己数据集

    千次阅读 热门讨论 2021-07-23 21:36:35
    旷视的研究者将解耦头、数据增强、无锚点以及标签分类等目标检测领域的优秀进展与 YOLO 进行了巧妙地集成组合,提出了 YOLOX,不仅实现了超越 YOLOv3、YOLOv4 和 YOLOv5 的 AP,而且取得了极具竞争...自定义数据集 ...

    旷视的研究者将解耦头、数据增强、无锚点以及标签分类等目标检测领域的优秀进展与 YOLO 进行了巧妙地集成组合,提出了 YOLOX,不仅实现了超越 YOLOv3、YOLOv4 和 YOLOv5 的 AP,而且取得了极具竞争力的推理速度。

    • 论文地址:https://arxiv.org/abs/2107.08430
    • 项目地址:https://github.com/Megvii-BaseDetection/YOLOX

    安装环境 

            按照作者给出的步骤就行。

    自定义数据集

            官方文档

           1. 准好数据集,我用的是voc数据集,具体如图

            

            2.修改相关文件,这里有几个坑:

            1)在yolox/data/datasets/voc_classes.py修改自己数据集的分类

            2)yolox/data/datasets/voc.py中

            因为我只建了一个文件夹所以修改了下

            如果分类标签有大写的话修改一下这个,没有则可忽略

            int修改 为float否则会超出int范围,我的超出了。

            3)exps/example/yolox_voc/yolox_voc_s.py中

            

            否则会报找不到Exp这个类

                    

            修改分类数

                                    数据集文件

     3.剩余便可按文档开始训练,还有一点就是我用的pycharm远程连接服务器进行操作,路径就全部换成了绝对路径。

    展开全文
  • YOLOX训练自己数据集

    千次阅读 2021-07-26 21:05:37
    YOLOX训练自己数据集 YOLOV5系列和DarkNet系列数据转换为COCO格式

    引言

    • 近来,YOLOX横空出世,对工业界良好,速度和精度都诱人
    • 无奈用它训练自己的数据集,实在不好用
    • 于是今天有空就搞了一下,目前可以训练自己的数据集,但是也要把数据转换为COCO格式

    详细链接如下

    • YOLOX
    • 欢迎交流,目前被merge到主仓库了

    后续

    • 同时为了便于将YOLOV5系列和DarkNet系列训练集数据转换为YOLOX所用的COCO格式,周末整理了转换的仓库,欢迎大家使用和交流
    • YOLO2COCO
    展开全文
  • 本文以在colab上训练为例: !git clone https://github.com/roboflow-ai/YOLOX.git %cd YOLOX !pip3 install -U pip && pip3 install -r requirements.txt !pip3 install -v -e . !pip uninstall -y ...

    本文以在colab上训练为例:

    !git clone https://github.com/roboflow-ai/YOLOX.git
    %cd YOLOX
    !pip3 install -U pip && pip3 install -r requirements.txt
    !pip3 install -v -e .  
    !pip uninstall -y torch torchvision torchaudio
    # May need to change in the future if Colab no longer uses CUDA 11.0
    !pip install torch==1.7.1+cu110 torchvision==0.8.2+cu110 torchaudio==0.7.2 -f https://download.pytorch.org/whl/torch_stable.html

    colab上cuda是11.0,但是环境中配置的是10.2的cuda,为了成功安装apex,运行yolox,必须统一版本。

    apex的安装,可参考我 的文章:安装apex

    数据集的准备和yolov5一样,不赘述,目录这个样子的。

    data目录在你的项目目录下(也就是在你下载的YOLOX目录下)

    上面数据集的划分:网上一堆代码,split_train_val.py文件,在VOC2007目录下运行。

    import os
    import random
     
    trainval_percent = 1.0
    train_percent = 0.9
    xmlfilepath = 'Annotations'
    total_xml = os.listdir(xmlfilepath)
    num = len(total_xml)
    list = range(num)
    tv = int(num * trainval_percent)
    tr = int(num * train_percent)
    trainval = random.sample(list, tv)
    train = random.sample(trainval, tr)
     
    # ImageSets目录不存在,就创建
    if not os.path.exists('ImageSets/'):
        os.makedirs('ImageSets/')
    # ImageSets/Main目录不存在,就创建
    if not os.path.exists('ImageSets/Main/'):
        os.makedirs('ImageSets/Main/')
     
    ftrainval = open('ImageSets/Main/trainval.txt', 'w')
    ftest = open('ImageSets/Main/test.txt', 'w')
    ftrain = open('ImageSets/Main/train.txt', 'w')
    fval = open('ImageSets/Main/val.txt', 'w')
     
    for i in list:
        name = '/opt/PycharmProjects/yolov5/face_dataset/images/' + total_xml[i][:-4] + '.jpg' + '\n'
        if i in trainval:
            ftrainval.write(name)
            if i in train:
                ftrain.write(name)
            else:
                fval.write(name)
        else:
            ftest.write(name)
     
    ftrainval.close()
    ftrain.close()
    fval.close()
    ftest.close()

     下载YOLOx的权重文件

    
    !wget https://github.com/Megvii-BaseDetection/storage/releases/download/0.0.1/yolox_s.pth
    

    修改配置:修改yolox_base.py文件

     

     

     

     

     

     

     

     

     

     大概就改这些,具体修改文件截屏都有,不细说了,配置一个环境心累的一批。

    运行

    !python tools/train.py -f exps/example/yolox_voc/yolox_voc_s.py -d 1 -b 16 --fp16 -o -c yolox_s.pth

    问题点:

    1. 不要把train.py文件中的--resume文件手动设置为True,第一次训练的时候会报错
    展开全文
  • yolox 训练自己数据集 (COCO格式)

    千次阅读 2021-10-22 15:07:42
    1. 准备自己数据集 Animals_Coco ├─annotations ├─train2017 └─val2017 在annotations 文件夹下包含两个重要的文件instances_train2017.json,instances_val2017.json 在train2017和val2017 包含的是训练和...

    准备工作

    1. 准备自己的数据集

    Animals_Coco
    ├─annotations
    ├─train2017
    └─val2017

    在annotations 文件夹下包含两个重要的文件instances_train2017.json,instances_val2017.json
    在train2017和val2017 包含的是训练和验证的图片数据。

    2. YOLOX环境搭建

    下载 YOLOX,克隆不下来的话,也可以自己下载zip文件然后解压 。

    cd ~/code
    git clone https://github.com/Megvii-BaseDetection/YOLOX.git
    

    搭建环境

    conda create -n yolox  python=3.7 # 创建名称为yolox的新环境
    conda activate yolox # 进入环境
    cd YOLOX # 进入YOLOX文件夹
    pip3 install -U pip && pip3 install -r requirements.txt   # 安装代码依赖的库文件
    python3 setup.py develop  # 通过setup.py安装一些库文件
    

    安装 apex

    git clone https://github.com/NVIDIA/apex.git  # 将apex 下载到~/code/YOLOX/, 克隆不下来的话,也可以自己下载zip文件然后解压到YOLOX中
     cd apex
     sudo pip3 install -v --disable-pip-version-check --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./
    

    bug:

     pip.exceptions.InstallationError: Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-76g90y3m-build/
    

    解决方法:python3 setup.py install

    安装 pycocotools

    pip3 install cython
    pip3 install 'git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI'
    # 如果上一步下载失败,也可以尝试先将cocoapi下载并解压到YOLOX文件夹,然后执行本地安装命令
    pip3 install ~/code/YOLOX/cocoapi/PythonAPI
    

    3. 测试

    下载yolox_s.pth 放到 ~/code/YOLOX/preModels/ 文件夹

    测试

    # 单图cpu测试
    python tools/demo.py image -n yolox-s -c preModels/yolox_s.pth --path assets/dog.jpg --conf 0.25 --nms 0.45 --tsize 640 --save_result 
    
    # 单图GPU测试
    python tools/demo.py image -n yolox-s -c preModels/yolox_s.pth --path assets/dog.jpg --conf 0.25 --nms 0.45 --tsize 640 --save_result --device gpu
    # 或者 用指定 文件的方式 specify your detector's config
    # 区别: -n 指定 yolo 模型名字 | -f 指定  yolo  config 文件 ,这两种方式用其中一种即可
    python tools/demo.py image -f exps/default/yolox_s.py -c preModels/yolox_s.pth --path assets/dog.jpg --conf 0.25 --nms 0.45 --tsize 640 --save_result  --device gpu
    

    输出如下,表示运行成功

    python tools/demo.py image -n yolox-s -c preModels/yolox_s.pth --path assets/dog.jpg --conf 0.25 --nms 0.45 --tsize 640 --save_result --device 0
    
    2021-08-25 01:59:29.086 | INFO     | __main__:main:249 - Args: Namespace(camid=0, ckpt='preModels/yolox_s.pth', conf=0.25, demo='image', device='0', exp_file=None, experiment_name='yolox_s', fp16=False, fuse=False, legacy=False, name='yolox-s', nms=0.45, path='assets/dog.jpg', save_result=True, trt=False, tsize=640)
    
    2021-08-25 01:59:29.285 | INFO     | __main__:main:259 - Model Summary: Params: 8.97M, Gflops: 26.81
    2021-08-25 01:59:29.286 | INFO     | __main__:main:270 - loading checkpoint
    2021-08-25 01:59:29.427 | INFO     | __main__:main:274 - loaded checkpoint done.
    
    2021-08-25 01:59:29.619 | INFO     | __main__:inference:159 - Infer time: 0.1775s
    2021-08-25 01:59:29.621 | INFO     | __main__:image_demo:196 - Saving detection result in ./YOLOX_outputs/yolox_s/vis_res/2021_08_25_01_59_29/dog.jpg
    

    4. 训练自己的coco格式数据集

    1.将 yolox/data/datasets/coco_classes.py 中的 COCO_CLASSES 修改为自己数据集的类别。

    2.修改exps/example/custom/yolox_s.py。 这个文件是实验的配置文件,包含数据集地址,类别数,max_epoch等。更多参数及其默认值见yolox/exp/yolox_base.py。

    yolox_s.py 中的Exp 类继承自yolox_base.py中的Exp类,因此可以将yolox_base.py中需要修改的配置参数添加至yolox_s.py进行修改。

    tools/train.py 中的"–exp_file"参数值即yolox_s.py的文件路径。

    self.data_dir = "D:/Z_Data/Animals_Coco" # 修改数据集地址 self.data_dir
    self.train_ann = "instances_train2017.json"
    self.val_ann = "instances_val2017.json"
    self.num_classes = 2  # 修改类别 self.num_classes
    # 剩下的 self.max_epoch,self.data_num_workers,self.eval_interval 可自行选择修改
    

    3.修改 tools/train.py 中的参数配置

    # 设置 default="Animals_Coco", 训练后结果就会保存在 tools/YOLOX_outputs/Animals_Coco下
    parser.add_argument("-expn", "--experiment-name", type=str, default=None)
    
    # 设置 model_name,如果--exp_file参数为None,则通过此参数加载exps/default/中的默认的实验配置
    parser.add_argument("-n", "--name", type=str, default="yolox-s", help="model name")
    
    # 设置 batch_size
    parser.add_argument("-b", "--batch-size", type=int, default=64, help="batch size")
    
    # 设置gpu数量,因为我只有一张卡,所以设 default=0(如果只有一张卡的话,设置0或1都会启用gpu)
    parser.add_argument(
        "-d", "--devices", default=0, type=int, help="device for training"
    )
    
    # 设置你的数据配置的路径,default="../exps/example/custom/yolox_s.py"
    parser.add_argument(
        "-f",
        "--exp_file",
        default="../exps/example/custom/yolox_s.py",  # 如果出现报错 doesn't contains class named 'Exp', 将此处改为绝对路径即可。
        type=str,
        help="plz input your expriment description file",
    )
    
    # 设置预训练权重路径, default="../weights/yolox_s.pth"
    parser.add_argument("-c", "--ckpt", default="../weights/yolox_s.pth", type=str, help="checkpoint file")
    

    4.终端运行

    python tools/train.py  # 也可以在后面添加配置参数  -b 64 -d 4 等。
    

    如果要指定使用哪几颗GPU,可在 python 前添加环境变量 CUDA_VISIBLE_DEVICES。注意与 --devices 参数数量相匹配。示例

    CUDA_VISIBLE_DEVICES=1,2  python tools/train.py  -b 32 -d 2 
    

    5. 训练结果测试

    在训练完成后,可以对训练的YOLOX算法模型进行测试,测试文件保存在tools/文件夹下,测试可以运行demo.py和eval.py这两个文件。
    测试时需要修改配置参数--exp_file,保持与训练时的配置文件一致.

    展开全文
  • YOLOX训练自己数据集(超详细)

    千次阅读 2021-09-22 09:47:51
    二、YOLOX训练自己数据集 1、数据集预处理 2、修改代码 (1)、将yolox/data/datasets/voc_classes.py中的标签信息,进行修改。 (2)、修改类别数量 (3)、修改训练集信息 (4)、修改exps/exa...
  • 本课程将手把手地教大家使用labelImg标注和使用YOLOX训练自己数据集,完成一个多目标检测实战项目,可检测图像和视频中的足球和梅西两个目标类别。   本课程分别在Windows和Ubuntu系统上做项目演示。...
  • YOLOX训练自己数据集(voc)

    千次阅读 2021-07-29 10:51:48
    1.准备数据集 目录结构YOLOX/datasets/VOCdevkit/VOC2007/ JPEGImages(存放图片) Annotations(标注xml) ImageSets(makeTxt.py生成) labels(makeLabel.py生成) makeTxt.py # coding:utf-8 import os...
  • 【深度学习】YOLOX训练COCO数据集

    千次阅读 2021-08-16 18:33:09
    有小伙伴是训练coco数据集时,AP为0,实际上,我并没有遇到这个问题,我这里测试了下,是可以正常运行的,但有小伙伴问了,我这里就总结一下如何训练Coco数据集吧... 步骤如下 首先呢,保证Coco数据集格式正确...
  • Yolox训练VOC数据集

    2021-10-21 17:31:51
    使用旷视科技发布的Yolox训练自己的VOC数据集,标注文件与yolov3、yolov4、yolov5格式相同。 一、搭建Yolox代码环境 1.下载Yolox代码 Yolox代码链接:GitHub - Megvii-BaseDetection/YOLOX: YOLOX is a high-...
  • YOLOX训练自己数据集(VOC)

    千次阅读 2021-08-02 14:32:50
    代码 :GitHub 论文 :arxiv 准备数据集 将标注好的图片和xml放在同一个文件夹中; 将xml文件转为json文件;
  • YOLOX官方支持训练VOC和COCO数据集,但习惯了Yolov3~v5的txt加载数据集,尤其是训练自己数据集时,标签写入txt文本更方便些,但是YOLOX官方要你自己写,,,,于是乎,我写了个,特意分享出来,点赞上车。...
  • 这里记录一下将yolox用于训练自己数据集(coco格式),这里yolox的github地址 Environment conda create -n yolox python=3.8 conda activate yolox pip install torch==1.8 cd yolox pip install -r requirements...
  • Yolox 训练自己数据集

    千次阅读 热门讨论 2021-08-20 13:45:03
    Win10环境下Yolox训练自己数据集目录一、文章链接和源码二、数据准备(VOC格式)三、配置文件修改四、训练五、使用自己的模型完成检测任务1、文章链接和源码合理的创建标题,有助于目录的生成如何改变文本的样式...
  • YOLOX 是旷视提出的一个新的高性能检测器,从论文来看,backbone和neck相比前作变化不大,主要更改在于输入端的数据增强加入了mixup,预测层相比前作改为了解耦的方式。 本文将针对一个Finger识别项目,介绍ubuntu...
  • 基于VOC数据集yolox踩坑记录,包括环境配置,数据集的制作,模型训练和检测。 1.yolox训练配置 1.1300epoch的训练长度,其中,前5个epoch使用warmup学习率策略; 优化器使用标配的SGD; 1.2多尺度训练:448-832...
  • yolox据说是性能和精度超过yolov5全新设计anchor free的框架,目前框架还在火热更新中,本文将使用非常简单的步骤即可完成自己模型训练任务。 第一步:搭建自己yolox环境,yolox支持windows和linux大家按照官方...
  • YOLOX训练自己数据

    2021-07-28 20:21:28
    YOLOX是旷世开源的用于目标检测的算法,相比于YOLO(V3-V5)系列,在精度上有提升,速度上也具有一定的竞争优势。 介绍 YOLOX是YOLO的anchor-free版本,设计更简单但性能更好!旨在弥合研究和工业界之间的差距,更多...
  • YOLOX导入COCO数据集训练【Windows】1.环境搭建2.配置文件数据集训练结尾 1.环境搭建 这一步已经有大佬搭好台子了,具体可以参照下面的链接进行配置 https://www.bilibili.com/video/av547066582/ 2.配置文件 数据集...
  • 训练过程参考:深入浅出Yolox之自有数据集训练超详细教程 训练命令: python tools/train.py -f exps/example/yolox_voc/yolox_voc_s.py -d 0 -b 8 -c backup/yolox_s.pth 验证命令: python tools/eval.py -f exps...
  • 旷视的研究者将解耦头、数据增强、无锚点以及标签分类等目 标检测领域的优秀进展与 YOLO 进行了巧妙的集成组合,提出了 YOLOX,不仅实现了超越 YOLOv3、 YOLOv4 和 YOLOv5 的 AP,而且取得了极具竞争力的推理速度。 ...
  • YOLOX训练自己数据集(voc).docx
  • 最近被yolox爆屏,加上自己对于yolo系列有太多的情节之前还尝试过yolof,现在出现的yolox还有openvino推理,刚好自己会需要这部分内容,现在就尝试进行对其初步探索。 一、基础配置 cuda 10.1 二、环境搭建 1、安装...
  • 1.YOLOX 训练自己数据集 TensorRT加速 详细教程 https://github.com/Megvii-BaseDetection/YOLOX https://github.com/MegEngine/YOLOX https://github.com/DataXujing/YOLOX- ...
  • YOLOX训练自己的VOC标注的数据

    千次阅读 2021-07-26 11:25:22
    具体可参考github相关代码及论文说明,此处介绍如何利用YOLOX训练自己的VOC数据集。 github:https://github.com/Megvii-BaseDetection/YOLOX paper:https://arxiv.org/abs/2107.08430 1.环境配置 参考github上...
  • 零、yolox算法思想介绍 ...本文训练数据集使用的是coco2014,使用方法同2017版本。 COCO数据集的80个类别—YoloV3算法采用的数据集 person(人) bicycle(自行车) car(汽车) motorbike(摩托车) aeroplane(飞机) bus(公
  • 上个博客试着把yolox在win下的环境配置,然后就要试着训练自己数据集,我这里用的是VOC格式的数据集训练环境是win10 x64,CUDA11.0 cudnn 8.1 GPU 是GTX 3080,Anaconda 3.7,数据标注工具是LabelImg。 数据准备 1...
  • 深入浅出Yolox之自有数据集训练超详细教程

    千次阅读 热门讨论 2021-08-08 19:29:43
    因此大白以自有标注的人头数据集为案例,一步步和大家一起学习,整体的训练和测试全流程。 PS:大白将代码文件、网络权重、数据集划分代码和人头数据集,都整理汇总,可点击查看下载。 文章目录1 深入浅出Yolo核心...
  • YOLOX自定义数据集训练(抢先踩坑)

    千次阅读 多人点赞 2021-07-22 16:35:39
    昨天被YOLOX刷屏了,各大公众号强推:**性能超yolov5!!吊打一切yolo!!**看麻了我,标题还能再夸张点嘛?出于对前沿技术的渴望,还是要去学习学习,论文中改进了很多地方,这里就不再介绍,刷屏的文章中都已经...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 487
精华内容 194
关键字:

yolox训练自己的数据集