labelme+YOLOXใง่ชไฝใใผใฟใปใใใฎๅญฆ็ฟ๏ผ
ๅๅ่จไบใฎ็ตใใใงใYOLOXใฎ่จไบๆธใใใใชใใปใปใปใใจ่จใฃใฆใใพใใใใไปๅใฏใใฎYOLOXใๅฎ้ใซๅใใใฆใฟใใใจๆใใพใ๏ผ
ใใ ใใCOCOใใผใฟใปใใใไฝฟใฃใฆYOLOXใๅญฆ็ฟใใ ใจใฟใใชใใฃใฆใๅณๆฐใชใใฎใงใ่ชไฝใใผใฟใปใใใ็จใใฆYOLOXใฎๅญฆ็ฟใ่กใฃใฆใฟใใใจๆใใพใ๏ผ
็ฐๅข
ๅๅใฎ่จไบใงไฝๆใใDocker็ฐๅขๅ ใงๅญฆ็ฟใใฆใใใใใจๆใใพใ๏ผ
็ปๅใใผใฟใซใฉใใซไปใใ่กใ
YOLOXใๅญฆ็ฟใใใใใใซใฏใใผใฟใปใใใๅฟ
่ฆใจใชใใพใใไปๅใฏใใผใฟใปใใใ่ชๅใงไฝๆใใใจใใใใๅงใใฆใใใพใใ
ไปฅ้ใฎไฝๆฅญใฏใ็ปๅใใผใฟใใใงใซๅญๅจใใ๏ผใใงใซๆฎๅฝฑๆธใฟ๏ผใงใใใจไปฎๅฎใใฆ้ฒใใฆใใใพใใ
ไปๅใฏใขใใใผใทใงใณใซใใๅฉ็จใใใlabelmeใจใใใใผใซใ็จใใฆใขใใใผใทใงใณใใพใใ
labelmeใฎใคใณในใใผใซ
labelmeใฏใญใผใซใซใฎ็ฐๅขใซใคใณในใใผใซใใพใใ
pip install labelme
Successfully installedใจ่กจ็คบใใใใฐใคใณในใใผใซใฏๅฎไบใงใ๏ผ
labelmeใฎ่ตทๅ
labelmeใๅฉ็จใใ้ใฏใใฟใผใใใซใซใฆ
labelme
ใจๅ
ฅๅใใใใจใงใGUIใ็ซใกไธใใใพใใใใใชๆใใงใใญใ

ใขใใใผใทใงใณใ้ๅงใใใซใฏใๅทฆใฎใกใใฅใผใใผใใOpenDirใ้ธๆใใ็ปๅใไฟๅญใใใฆใใใใฉใซใใ้ธๆใใพใใ
ใใฉใซใใ้ธๆใใใจใไฟๅญใใใฆใใ็ปๅใ่กจ็คบใใใใจๆใใพใใ
็ญ่
็ฐๅขใงใฏใไปไบ็ซใฎๆคๅบใ่กใฃใฆใฟใใใจๆใใพใใ

ใขใใใผใทใงใณ
ไปๅใฏ็ฉไฝๆคๅบใชใฎใง้ทๆนๅฝขใฎใขใใใผใทใงใณใซใชใใพใใ
็ปๅไธใงๅณใฏใชใใฏใใใจใกใใฅใผใ่กจ็คบใใใพใใใใใฎไธญใใCreate Rectangleใ้ธๆใใพใใ
ใซใผใฝใซใๅๅญใซๅคๅใใใใๆคๅบใใใ็ฉไฝใฎๅทฆไธใใฏใชใใฏใใพใใใใใจ้ทๆนๅฝขใๆ็ปใใใใจๆใใฎใงใๆคๅบใใใ็ฉไฝใใในใฆๅฒใใใใใซใใฆในใๅใใใใใไธๅบฆใฏใชใใฏใใพใใ

ใใใจๆฐใใชใฆใฃใณใใฆใ่กจ็คบใใใพใใใใฎใฆใฃใณใใฆใฏไปๅฒใฃใๅฏพ่ฑกใฎใฉใใซใ้ธๆใใ็ป้ขใงใใใฉใใซใใพใ ็ป้ฒใใฆใใชใๅ ดๅใฏใEnter object labelใซๅฏพ่ฑกใฎใฉใใซๅใๅ
ฅๅใใใงใซๅญๅจใใๅ ดๅใฏไธใใ้ธๆใokใใฏใชใใฏใใพใใ
ใใใงใขใใใผใทใงใณใฏๅฎไบใงใ๏ผใปใใฎ็ปๅใซๅฏพใใฆใๅๆงใซ่กใใพใใใ๏ผ๏ผ้ ใ็ฎ๏ผ
ใขใใใผใทใงใณใ็ตใใใฐใๅญฆ็ฟใซๅฉ็จใใใใผใฟใจๆค่จผใซๅฉ็จใใใใผใฟใๅฅใ
ใฎใใฉใซใใซๆ ผ็ดใใฆไฟๅญใใฆใใใพใใ

ใพใใๅฉ็จใใใฏใฉในใ่จ่ผใใtextใใผใฟใไฝๆใใฆใใใพใใใใ
__ignore__
class1
class2
class3
ใขใใใผใทใงใณใใผใฟใฎๅคๆ
็ถใใฆใใผใฟใปใใใฎๅคๆใ่กใใพใใใพใใฏๅคๆใฎ้ใซๅฟ
่ฆใจใชใpycocotoolsใฎใคใณในใใผใซใใๅงใใพใใใใ
ใใกใใฏwindowsใซใคใณในใใผใซใใพใใ
pip install pycocotools
ใใใคใณในใใผใซใฎ้ใซไปฅไธใฎใใใชใจใฉใผใ็บ็ใใๅ ดๅใฏใ
error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
ใซใขใฏใปในใใใคใณในใใผใซใฉใผใใใฆใณใญใผใใใพใใ
็ถใใฆ ใซๅพใใชใใๆบๅใ้ฒใใฆใใ ใใ๏ผๅ่ตทๅใใฆใใ ใใใจๅบใใจๆใใฎใงใๅฟ ใๅ่ตทๅใใใฆไธใใใ๏ผใปใใใขใใใ็ตใใใพใใใปใปใป๏ผ
ใคใณในใใผใซใ็ตใใใฐใ็ถใใฆ ใใฏใญใผใณใใพใใ
git clone https://github.com/wkentaro/labelme
ใฏใญใผใณใ็ตใใใจใใใใใๅคๆใซ็งปใใพใใ
ๅคๆใซใฏlabelme2coco.pyใจใใใใฎใไฝฟใใพใใlabelme2coco.pyใฏ/labelme/examples/instance_segmentationใซๅ
ฅใฃใฆใใพใใฎใงใใใใพใง็งปๅใใพใใใ๏ผ
็งปๅๅ
ใซไฝๆใใใใผใฟ้กใ็งปๅใใใพใใใใใชๆใใงใใญใ

ใงใฏๅคๆใใฆใใใพใใใ๏ผๅคๆใฏ
python labelme2coco.py [ใใผใฟใปใใใฎใใฉใซใ] [ไฟๅญๅ] --labels classes.txt
ใฎใใใซๆธใใใจใใงใใพใใ
็ญ่
ใฎ็ฐๅขใงใใจใ
python labelme2coco.py 01.train train_dataset --labels classes.txt
python labelme2coco.py 02.val val_dataset --labels classes.txt
ใฎใใใซใชใใพใใ
ๆฌกใซ็ๆใใใใใผใฟใปใใใYOLOX็จใซๅคๆดใใพใใ
ใพใใฏใใใซใใฉใซใใไฝๆใใพใใ
mkdir -p dataset/train2017/
mkdir -p dataset/val2017/
mkdir -p dataset/annotations
็ถใใฆ็ๆใใใๅญฆ็ฟใใผใฟใปใใใฎไธญใซใใ็ปๅ(JPEGImagesใฎไธญใฎ็ปๅ)ใdataset/train2017/ใซ็งปๅใใพใใ
ๅๆงใซๆค่จผใใผใฟใปใใใฎไธญใซใใ็ปๅใdataset/val2017/ใธ็งปๅใใพใใ
ๆๅพใซๅใใผใฟใปใใใใฉใซใใฎไธญใซใใannotations.jsonใtrain_annotations.jsonใval_annotations.jsonใซๅคๆดใใdataset/annotationsใซๆ ผ็ดใใพใใ
ใใใพใงใงใใฉใซใๆงๆใฏๆฌกใฎใใใซใชใฃใฆใใพใใ
dataset
โโโ train2017
โ โโโ ็ปๅ.jpg ... (ๅญฆ็ฟ็จ็ปๅ็พค)
โโโ val2017
โ โโโ ็ปๅ.jpg ... (่ฉไพก็จ็ปๅ่ป)
โโโ annotations
ใใโโโ train_annotations.json
ใใโโโ val_annotations.json
ๆๅพใซใขใใใผใทใงใณใใผใฟใฎไฟฎๆญฃใ่กใใพใใ
datasetใใฉใซใๅ
ใซfix_annot.pyใใกใคใซใไฝๆใใไปฅไธใ่จ่ฟฐใใพใใ
import os
import glob
annot_list = glob.glob(os.path.join('./annotations/','*.json'))
for path in annot_list:
with open(path , 'r' ,encoding = 'utf-8') as f:
jf = json.load(f)
for data in jf['images']:
data['file_name'] = data['file_name'].split('\\')[-1]
with open(path , 'w' ,encoding = 'utf-8') as f:
json.dump(jf , f)
ใใใงใใผใฟใปใใใฏๅฎๆใงใ๏ผ
YOLOXใฎใคใณในใใผใซ
็ถใใฆYOLOXใฎใคใณในใใผใซใ่กใใพใใใใใใใฏDockerใงไฝๆฅญใใฆใใใพใใ
YOLOXใฎGithubใตใคใ
ใใใคใณในใใผใซๆนๆณใ็ขบ่ชใใกใใฃใจๅคๆดใปใปใปใ
git clone https://github.com/Megvii-BaseDetection/YOLOX
cd YOLOX
pip3 install -U pip && pip3 install -r requirements.txt
pip3 install -v -e . # or python3 setup.py develop
pip3 install cython; pip3 install 'git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI'
ใใฎใณใใณใใงไธ้ใๅ ฅใใพใ๏ผ
ๅญฆ็ฟๅฎ็พฉใใกใคใซใฎไฝๆ
ไปๅใฏๅฐใใชใขใใซใYOLOX-Sใขใใซใงๅฎ่ฃ
ใใฆใใใพใ๏ผ
YOLOXใฏๅญฆ็ฟใฎ้ใซๅญฆ็ฟๅ
ๅฎนใๅฎ็พฉใใใใกใคใซใๅฟ
่ฆใจใใพใใ
YOLOXใฎๅญฆ็ฟๅฎ็พฉใใกใคใซใฏYOLOX/yolox/exp/yolox_base.pyใ่ฆชใฏใฉในใจใใๆง็ฏใใใพใใ
ใพใใฏyolox_base.pyใ็ขบ่ชใใฆใฟใพใใใใ
self.num_classes = 80
self.depth = 1.00
self.width = 1.00
self.act = 'silu'
# ---------------- dataloader config ---------------- #
# set worker to 4 for shorter dataloader init time
self.data_num_workers = 4
self.input_size = (640, 640) # (height, width)
# Actual multiscale ranges: [640-5*32, 640+5*32].
# To disable multiscale training, set the
# self.multiscale_range to 0.
self.multiscale_range = 5
# You can uncomment this line to specify a multiscale range
# self.random_size = (14, 26)
self.data_dir = None
self.train_ann = "instances_train2017.json"
self.val_ann = "instances_val2017.json"
# --------------- transform config ----------------- #
self.mosaic_prob = 1.0
self.mixup_prob = 1.0
self.hsv_prob = 1.0
self.flip_prob = 0.5
self.degrees = 10.0
self.translate = 0.1
self.mosaic_scale = (0.1, 2)
self.mixup_scale = (0.5, 1.5)
self.shear = 2.0
self.enable_mixup = True
# -------------- training config --------------------- #
self.warmup_epochs = 5
self.max_epoch = 300
self.warmup_lr = 0
self.basic_lr_per_img = 0.01 / 64.0
self.scheduler = "yoloxwarmcos"
self.no_aug_epochs = 15
self.min_lr_ratio = 0.05
self.ema = True
self.weight_decay = 5e-4
self.momentum = 0.9
self.print_interval = 10
self.eval_interval = 10
self.exp_name = os.path.split(os.path.realpath(__file__))[1].split(".")[0]
# ----------------- testing config ------------------ #
self.test_size = (640, 640)
self.test_conf = 0.01
self.nmsthre = 0.65
dataloader configใซใฏๅญฆ็ฟใใผใฟใฎ้
็ฝฎๅ ดๆใไฝฟ็จใใCPUๆฐใ็ปๅใตใคใบใชใฉใๅฎ็พฉใใใฆใใพใใ
transform configใซใฏๅญฆ็ฟๆใฎใใผใฟๆกๅผตใฎๆนๆณใๅฎ็พฉใใใฆใใพใใ
training configใซใฏๅญฆ็ฟๆใฎๆฆ็ฅใๆธใใใฆใใพใใ๏ผๆๅคงEpochๆฐใๅญฆ็ฟ็ใชใฉ๏ผ
testing configใซใฏใในใๆใฎ่จญๅฎใ่จ่ผใใใฆใใพใใ
ไปๅใฏdataloader configใฎใฟๅคๆดใใฆใใใพใใ
็ฌ่ชใฎใขใใซ่จญๅฎใไฝใๅใซใใฒใชๅฝขใฎ่จญๅฎใใณใใผใใพใใใใ
ใฒใชๅฝขใฎ่จญๅฎใฏYOLOX/exp/defaultใซไฟๅญใใใฆใใพใใ

ใใฎไธญใใไปๅใฏyolox_s.pyใYOLOX็ดไธใซใณใใผใใพใใ
ใงใฏใณใใผใใใใกใคใซใ็ทจ้ใใฆใใใพใใ
ไปฅไธใฎใณใผใๅ
ใฎใณใกใณใใๅ่ใซใใชใใ่จญๅฎใๅคๆดใใฆใใ ใใ๏ผ
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
# Copyright (c) Megvii, Inc. and its affiliates.
import os
from yolox.exp import Exp as MyExp
class Exp(MyExp):
def __init__(self):
super(Exp, self).__init__()
self.depth = 0.33
self.width = 0.50
self.exp_name = os.path.split(os.path.realpath(__file__))[1].split(".")[0]
## ใใผใฟใปใใใฎๅ ดๆใๅฎ็พฉ(./datasets/ใใฉใซใใซ้
็ฝฎใใๅ ดๅใฏไปฅไธใฎใใใซใชใ)
self.data_dir = "./datasets/dataset"
self.train_ann = "train_annotations.json"
self.val_ann = "val_annotations.json"
## ใฏใฉในๆฐใฎๅคๆด
self.num_classes = 3
## ่ฉไพก้้ใๅคๆด๏ผๅๆใงใฏ10epochใใจใซใใ่ฉไพกใๅใใชใ๏ผ
self.eval_interval = 1
ใใใๅฎๆใใใฐใใใใใๅญฆ็ฟใงใ๏ผ
YOLOXใฎๅญฆ็ฟ
ใงใฏๅญฆ็ฟใใฆใใใพใใใ๏ผ
ๅญฆ็ฟใซใฏYOLOX/tools/train.pyใๅฟ
่ฆใชใฎใงใYOLOXใฎ็ดไธใซใณใใผใใฆใใใพใใใใ
cp ./tools/train.py ./
ใพใๅญฆ็ฟๆธใฟใขใใซใๅฉ็จใใ้ใฏใๅ
ใซใใฆใณใญใผใใใฆใใใพใใ
GithubใฎBenchmarkใฎใจใใใใใใฆใณใญใผใใงใใพใใ
YOLOX-sใไฝฟใๅ ดๅใฏไปฅไธใฎใณใใณใใงใๅคงไธๅคซใงใ๏ผ
wget https://github.com/Megvii-BaseDetection/YOLOX/releases/download/0.1.1rc0/yolox_s.pth
ๅญฆ็ฟใฏไปฅไธใฎใณใใณใใง่กใใพใ๏ผ
python train.py -f yolox_s.py -d 1 -b 16 --fp16 -o -c ./yolox_s.pth --cache
ๅผๆฐใฎ่ชฌๆใฏ
-
-f๏ผ่จญๅฎใใกใคใซใฎใใน -
-d๏ผๅฉ็จใใGPUใฎๆฐ -
-b๏ผใใใใตใคใบ -
-o๏ผๅญฆ็ฟๅใซๅฉ็จใใGPUใกใขใชใไบ็ดใใ -
-c๏ผๅญฆ็ฟๆธใฟใขใใซใฎใใน -
--fp16๏ผ็ณใฟ่พผใฟๅฑคใชใฉใฎ่จ็ฎใfloat16ใง่กใใ็ฒพๅบฆใฏ่ฅๅนฒ่ฝใกใใใๅญฆ็ฟใ้ซ้ใซใชใ -
--cache๏ผๅญฆ็ฟๆธใฟใใผใฟใYOLOXใ้ซ้ใซ่ชญใฟๅบใใๅฝขใซๅคๅฝขใใใๅญฆ็ฟใใผใฟใๅคๆดใใ้ใฏใใผใฟใปใใใใฉใซใๅ ใซ็ๆใใใใญใฃใใทใฅใใผใฟใๅ้คใใชใใจใใใผใฟใๅคๆดใใใชใใฎใงๆณจๆใๅฟ ่ฆใ
ใใOpenCVใฎใจใฉใผใๅบๅใใใๅ ดๅใฏ
apt-get install -y libgl1-mesa-dev
apt-get install -y libglib2.0-0
ใๅฎ่กใใฆใฟใฆใใ ใใใ
็กไบๅญฆ็ฟใ้ๅงใใ
2022-01-09 14:46:09 | INFO | yolox.core.trainer:126 - args: Namespace(batch_size=16, cache=True, ckpt='./yolox_s.pth', devices=1, dist_backend='nccl', dist_url=None, exp_file='yolox_s.py', experiment_name='yolox_s', fp16=True, machine_rank=0, name=None, num_machines=1, occupy=True, opts=[], resume=False, start_epoch=None)
2022-01-09 14:46:09 | INFO | yolox.core.trainer:127 - exp value:
โโโโโโโโโโโโโโโโโโโโคโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ keys โ values โ
โโโโโโโโโโโโโโโโโโโโชโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโก
โ seed โ None โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ output_dir โ './YOLOX_outputs' โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ print_interval โ 10 โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ eval_interval โ 1 โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ num_classes โ 3 โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ depth โ 0.33 โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ width โ 0.5 โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ act โ 'silu' โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ data_num_workers โ 4 โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ input_size โ (640, 640) โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ multiscale_range โ 5 โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ data_dir โ './datasets/dataset/images' โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ train_ann โ './datasets/dataset/annotations/train_annotations.json' โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ val_ann โ './dataset/dataset/annotations/val_annotations.json' โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ mosaic_prob โ 1.0 โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ mixup_prob โ 1.0 โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ hsv_prob โ 1.0 โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ flip_prob โ 0.5 โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ degrees โ 10.0 โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ translate โ 0.1 โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ mosaic_scale โ (0.1, 2) โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ mixup_scale โ (0.5, 1.5) โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ shear โ 2.0 โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ enable_mixup โ True โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ warmup_epochs โ 5 โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ max_epoch โ 300 โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ warmup_lr โ 0 โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ basic_lr_per_img โ 0.00015625 โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ scheduler โ 'yoloxwarmcos' โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ no_aug_epochs โ 15 โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ min_lr_ratio โ 0.05 โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ema โ True โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ weight_decay โ 0.0005 โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ momentum โ 0.9 โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ exp_name โ 'yolox_s' โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ test_size โ (640, 640) โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ test_conf โ 0.01 โ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ nmsthre โ 0.65 โ
โโโโโโโโโโโโโโโโโโโโงโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ใฎใใใช็ป้ขใๅบใใฐๆๅใงใ๏ผใใจใฏๆฐ้ทใซๅพ ใกใพใใใใปใปใปใ
ๆจ่ซใใ๏ผ
ใงใฏใๅพ
ใกใใญใฎๆจ่ซใฟใคใ ใงใ๏ผ
YOLOXใใฉใซใๅ
ใซYOLOX_outputs/yolox_sใไฝๆใใใฆใใใจๆใใพใใ๏ผyolox_s้จๅใฏ่จญๅฎใใกใคใซใฎๅๅใซใใฃใฆๅคๅใใพใใไพ๏ผ่จญๅฎใใกใคใซใylx_s.pyใซใใฆใใใจใYOLOX_outputs/ylx_sใซใชใใพใใ๏ผ
ใใฎไธญใใbest_ckpt.pthใYOLOX็ดไธใซใณใใผใใพใใ
cp ./YOLOX_outputs/yolox_s/best_ckpt.pth/ ./
ใงใฏๆจ่ซใใฆใฟใพใใใ๏ผ
cp tools/demo.py ./
python demo.py image -f [่จญๅฎใใกใคใซ].py --device gpu --fp16 --path [ๆคๆป็ปๅใพใงใฎใใน] -c ./best_ckpt.pth --save_result

ใปใปใปใ็ฒพๅบฆใฏใใใชใใงใใญใปใปใปใๅญฆ็ฟใฎๆใใ่ฆใฆใใใจๆฉใ
ใซ้ๅญฆ็ฟใใฆใใๅพๅใซใใฃใใฎใงใ22ๆใฎ็ปๅใงใฏใ ใใงใใใปใปใปใ
ๅคๅYOLOX-Sใฏใใฎใใผใฟใปใใใซๅฏพใใฆๅคงใใใใใขใใซใ ใฃใใฎใงใใใใNanoใจใไฝฟใใฐใใใฃใใฎใใช๏ผ
ใใจใใใฎ็ปๅใ่ฆใฆใใใใจใใใ้ใใ่กจ็คบใใใใฉใใซใใใใใใใจใซใชใฃใฆใพใใ๏ผcarใฃใฆๅบใฆใพใใญ๏ผ
ใใใฏCOCOใใผใฟใปใใใฎใฉใใซใๅฉ็จใใใฆใใใใจใๅๅ ใงใใ
ใงใฏๆๅพใซใใใไฟฎๆญฃใใพใใใใ
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
# Copyright (c) Megvii, Inc. and its affiliates.
import argparse
import os
import time
from loguru import logger
import cv2
import torch
from yolox.data.data_augment import ValTransform
#from yolox.data.datasets import COCO_CLASSES #ใใใใณใกใณใใขใฆใ
from yolox.exp import get_exp
from yolox.utils import fuse_model, get_model_info, postprocess, vis
COCO_CLASSES = ('class1','class2','class3') #ใใใซ่ฟฝ่จ

ๅคๅใใพใใใญ๏ผ๏ผ่ฆๅใใฆใฆใใฟใพใใใปใปใปใใๆๅ ใฎ็ปๅใง็ขบ่ชใใฆใใใใใฐใจๆใใพใ๏ผ๏ผ
ใพใจใ
ไปๅใฏlabelmeใจYOLOXใง่ชไฝใใผใฟใปใใใฎๅญฆ็ฟใซใใฃใฌใณใธใใพใใ๏ผ
YOLOv5ใฏไฝฟใใใใใใใใใใใชไบบใๅฉ็จใใฆใใพใใใYOLOXใฏYOLOv5ใจๆฏในใใจไฝฟใใซใใใฎใงใพใ ใพใ ๆฅๆฌ่ช่จไบใๅฐใชใใคใกใผใธใงใใ
ใใฎ่จไบใ็ๆงใฎ้็บใฎไธๅฉใซใชใใฐๅนธใใงใ๏ผ
ใงใฏใพใ๏ผๆฌกใฏCenterNetใฎๅฎ่ฃ ่จไบใๆธใใใใชใปใปใป
Discussion
ๅใใพใใฆใOPampใใใ
็งใyoloxใงๅฎ่ฃ ใใฆใใใฎใงใใใ่ชๅใฏWindowsใฎVoTTใงใใผใฟใปใใใ่ชไฝใใฆใๅญฆ็ฟใใใพใใใ
็งใใฎๅ้ใฏใใพใ็ต้จใๆต ใใใฎใงใใฆใๅฐใ็ธ่ซใจใใใพใใใใขใใใคในใๆฌฒใใใใงใใๅญฆ็ฟๅพใฎ
ๆจ่ซใงใ่ชๅใ่จญๅฎใใใขใใใผใทใงใณๅๅใๅ จใ้ใฃใฆ(ใปใจใใฉใฎใใผใฟใ)ๅบใใใงใใใขใใใผใทใงใณใฎใฟใฐใฎๅๅใ ใใฏใในใฆ่กจ็คบใซๆๅใใฆใใใฎใงใใใไพใใฐ่ชไฝใใผใฟใปใใใใชใณใดใฎ็ปๅใ"apple"ใใชใฌใณใธใฎ็ปๅใ"orange"ใจVoTTใงๅ20ๆไฝๆใใyoloxใงๅญฆ็ฟใใใใจใใพใใใใใจ็งใฎๅ ดๅใชใณใดใ"orange"ใใชใฌใณใธใ"apple"ใจๅบใใใงใใ็งใฎๅ ดๅ
python tools/train.py -f yolox_ใใใ.py -d 1 -b 16 --fp16 -o -c model/yolox_tiny.pth
ใง่ตฐใใใพใใใๅฎ้ใฎๅญฆ็ฟใฏใฏใฉในๆฐ=4 ๅ20ๆใใคใงใใ
ไธๅฟyolox_โโโ.pyใฎ่ฟฝๅ ๆใฏไปฅไธใงใใใใจใYOLOX\yolox\data\datasets\coco_classes.pyใฎๅๅใฏใชใชใธใใซใซๅคใใพใใใ
self.num_classes = 4 #ไปๅใฏใฏใฉใน=4ใฎๆคๅบใฎใใ4
self.max_epoch = 50
self.data_num_workers = 4
self.eval_interval = 1
็นใซใจใฉใผใงๆญขใพใใจใใใใจใฏใชใใงใใๅญฆ็ฟใ่ถณใใชใใฎใงใใใใ๏ผใใใใๅ จใ้ใซ่กจ็คบใใใใ

ใใใฎใฏไฝใไธๅ ทๅใชใฎใใใใจใใใจใใใชใใงใใใไธๅบฆๆๆฐใๆธใใใฆใใใใใใใในใใซใใฆใฟใในใใงใใใใ๏ผใ(ๆทปไปใชใฎใงใใใใใฎwarningใๆฐใซใชใใพใใ)
้ทๆใงๆฌๅฝใซใใใใชใใใใ่ฟไบใๅพ ใกใใฆใใใพใใ
ใณใกใณใใใใใจใใใใใพใใ
ใฉใใซใๅคๅใใใฎใฏๅธธใซไธๅฎใงใใฎใใใซใชใๆใใงใใ๏ผ
ไพใงๆใใฆใใใ ใใใชใณใดใซOrangeใใชใฌใณใธใซAppleใฎใใใซๅธธใซใใฎๅฒใๅฝใฆใซใชใฃใฆใใๆใใงใใใใ๏ผ
ใใใใฎใใใชๅ ดๅใงใใใใ
COCO_CLASSES = ('class1','class2','class3')ใฎ้ ็ชใ้ใๅฏ่ฝๆงใใใใพใใๅญฆ็ฟๆใซๅฒใๆฏใฃใ็ชๅทใจๅใใใใซ่จ่ผ
("Apple", "Orange")ใซใใฆใใใ ใใจๆฒปใใใจๆใใพใ๏ผใใถใใงใใใปใปใป๏ผไธๆนใงใใฉใณใใ ใซใฉใใซใๅคใใๅ ดๅใงใฏใใฎใปใใฎๅๅ ใใใใใใงใ๏ผ
ใ่ฟไบๅคงๅคใใใใจใใใใใพใใ
ๅทฆๆงใงใใไธๅฟใฏใฉใน2ใพใงๆธใใใฆๅ400ๆ็จๅบฆVoTTใงไฝใฃใฆๅญฆ็ฟใใใใใงใใใๆทปไปใฎใใใซๅ จใใขใใณใใซใฉใใชใณใฐใใไธไฝใชใใปใปใปใจๆฉใใงใใใพใใใ
ใใใจใcoco_classesใงใใใใใใซใใฃใฆใใในใผใใๅคใใฃใฆใใพใใชใใใใฃใจใฏใฉในใๅขใใใฆใใพใใจใใในใฆ็ฐใชใฃใ่กจ็คบใซใชใใปใปใปใใใๅฝฑ้ฟใใฆใใใจใใใใจใฏ่ใใซใใใจๆใใฎใงใใใใใไปๅใฏ่ฉฆใใฆใฟใพใใ
ใใใใจใใใใใพใใ