Skip to content

Tutorial

RangerOnMars edited this page Nov 30, 2022 · 8 revisions

大概是一些本仓库的正确使用姿势捏.

1.安装

安装本仓库的方式与安装YOLOX的方式类似:

pip install -r requirements.txt
python3 setup.py develop

2.准备数据集

目前只改写了COCO的DataLoader,所以暂时只支持COCO格式的数据集捏.
推荐一下战队友情仓库tup-robomaster/tools,仓库里有些炼丹常用脚本,欢迎Star⭐,脚本使用指南可以参考该仓库的Wiki页面.
使用该仓库里的sjtu2coco-armor.py脚本,可以轻松将上交格式的装甲板数据集转为COCO格式. 格式转换完成后在datasets目录下新建文件夹,将你转换完成的数据集扔进去.数据集结构看起来应该像这样:
└── TUP-Armor-Dataset ##你的数据集名称
├── annotations ##你的json标注文件
└── images ##你的数据集图像

之后修改yolox\exp\yolox_base.py,将对应的地方修改为你数据集对应的文件名和目录

        #你的数据集目录
        self.data_dir = "TUP-Armor-Dataset"
        #你的训练集json文件
        self.train_ann = "instances_train2017.json"
        #你的验证集json文件
        self.val_ann = "instances_val2017.json"

此外,记得将这几项也改成与你数据集相匹配的数目

        #我们将类别和颜色解耦以增大数据集数量,类别数*颜色数=总分类数
        self.num_classes = 8    #类别类型数
        self.num_colors = 4     #颜色类型数
        self.num_apexes = 4     #目标关键点数量数

3.训练

python tools/train.py -d 1 -b 24 -n nano-poly --fp16

P.S.读取网络架构部分一直想写成类似NanoDet那种文件读取,但鉴于懒狗本质加本赛季任务重,暂时没有修改,如果有有缘人改了可以提个PR捏

4.Demo

使用前需要修改yolox\data\datasets\coco_classes.py,将里面的内容改成你所有的类名:

#!/usr/bin/env python3
# -*- coding:utf-8 -*-
# Copyright (c) Megvii, Inc. and its affiliates.

COCO_CLASSES = (
"BG",
"B1",
"B2",
"B3",
"B4",
"B5",
"BO",
"BB",
"RG",
"R1",
"R2",
"R3",
"R4",
"R5",
"RO",
"RB",
"NG",
"N1",
"N2",
"N3",
"N4",
"N5",
"NO",
"NB",
"PG",
"P1",
"P2",
"P3",
"P4",
"P5",
"PO",
"PB"
)

之后开跑就完事了

python tools/demo.py video --path /home/rangeronmars/RM/Demo/TUP-AutoAim-NN-Demo/sample01.mp4 -n shufflev2-PAFPN --fp16 --conf 0.7 --device gpu

5.导出

目前仅支持导出onnx格式,如需其他格式请自行修改.

python tools/export_onnx.py -n nano-poly

Clone this wiki locally