kadirnar / Minimal-Yolov6

YOLOv6: Single-stage Object Detection

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

YOLOv6: Single-stage Object Detection

Yolite

Installation

git clone --recurse-submodules https://github.com/kadirnar/YOLOv6.git
cd YOLOv6
pip install -r requirements.txt

Inference

detection_model = Yolov6(
    model_path="yolov6s.pt",
    source="assert/highway.jpg",
    img_size=1280,
    conf_thres=0.3,
    device="cpu",
)
detection_model.inference()

Training

Single GPU

python YOLOv6/tools/train.py --batch 32 --conf configs/yolov6s.py --data data/coco.yaml --device 0
                                         configs/yolov6n.py

Multi GPUs (DDP mode recommended)

python -m torch.distributed.launch --nproc_per_node 8 YOLOv6/tools/train.py --batch 256 --conf configs/yolov6s.py --data data/coco.yaml --device 0,1,2,3,4,5,6,7
                                                                                        configs/yolov6n.py
  • conf: select config file to specify network/optimizer/hyperparameters
  • data: prepare COCO dataset and specify dataset paths in data.yaml

Evaluation

Reproduce mAP on COCO val2017 dataset

python YOLOv6/tools/eval.py --data data/coco.yaml  --batch 32 --weights yolov6s.pt --task val
                                                                 yolov6n.pt

Deployment

Tutorials

Benchmark

Model Size mAPval
0.5:0.95
SpeedV100
fp16 b32
(ms)
SpeedV100
fp32 b32
(ms)
SpeedT4
trt fp16 b1
(fps)
SpeedT4
trt fp16 b32
(fps)
Params
(M)
Flops
(G)
YOLOv6-n 416
640
30.8
35.0
0.3
0.5
0.4
0.7
1100
788
2716
1242
4.3
4.3
4.7
11.1
YOLOv6-tiny 640 41.3 0.9 1.5 425 602 15.0 36.7
YOLOv6-s 640 43.1 1.0 1.7 373 520 17.2 44.2
  • Comparisons of the mAP and speed of different object detectors are tested on COCO val2017 dataset.
  • Refer to Test speed tutorial to reproduce the speed results of YOLOv6.
  • Params and Flops of YOLOv6 are estimated on deployed model.
  • Speed results of other methods are tested in our environment using official codebase and model if not found from the corresponding official release.

About

YOLOv6: Single-stage Object Detection

License:MIT License


Languages

Language:Python 100.0%