YOLOR Zi Ding Yi Shu Ju Ji Xun Lian Mo Xing
Gan Xie Da Lao WongKinYiuDa Lao De Kai Yuan ,Qi Guan Yu PytorchBan De YOLO v4He Scaled-YOLOv4Ye Shi Xiang Dang Bu Cuo !
Wo Men Jiang Cong Xia Mian Ji Ge Bu Fen Xiang Xi Jie Shao Ru He Ji Yu Zi Ding Yi De Shu Ju Ji Xun Lian Zi Ji De YOLORMo Xing ,Bing Ji Yu TensorRTTi Gong C++Ban Ben De TensorRT YOLORDe Bu Shu Fang An .
- An Zhuang YOLORDe De Yi Lai Huan Jing
- Chuang Jian Zi Ji De YOLORMu Biao Jian Ce De Shu Ju Ji
- Zhun Bei YOLORDe Yu Xun Lian Mo Xing
- YOLORDe Mo Xing Xun Lian
- YOLORMo Xing De Tui Duan (Ji Yu Tu Xiang He Shi Pin )
- Ji Yu YOLORDe TensorRT C++ Dai Ma Shi Xian
1.An Zhuang YOLORDe Yi Lai Huan Jing
Ji Yu DockerChuang Jian YOLORDe Jing Xiang ,Zhe Ye Shi Zuo Zhe Tui Jian De Fang Shi ,Zhe Li Jia She Du Zhe Yi Jing An Zhuang Hao Liao DockerHe nvidia-docker2,Gai Fang Shi Jin Zai LinuxXia Gong Zuo ,Yin Wei nvidia-docker2Jin Zai LinuxXia Gong Zuo ,Ru Guo Ni Shi windowsXi Tong Jian Yi Ni Tong Guo Xu Ni Ji De Fang Shi Huo Zhi Jie Zai windows hostXia An Zhuang Xia Shu Huan Jing
docker pull nvcr.io/nvidia/pytorch:20.11-py3
nvidia-docker run --name yolor -it -v your_coco_path/:/coco/ -v your_code_path/:/yolor --shm-size=64g nvcr.io/nvidia/pytorch:20.11-py3
# sudo nvidia-docker run --name yolor -it --shm-size=64g nvcr.io/nvidia/pytorch:20.11-py3
# Zai Rong Qi Nei apt install required packages
apt update
apt install -y zip htop screen libgl1-mesa-glx
# Zai Rong Qi Nei pip install required packages
pip install seaborn thop
pip install nvidia-pyindex
pip install onnx-graphsurgeon
# install mish-cuda if you want to use mish activation
# https://github.com/thomasbrandon/mish-cuda
# https://github.com/JunnYu/mish-cuda
cd /
git clone https://github.com/JunnYu/mish-cuda
cd mish-cuda
python setup.py build install
# install pytorch_wavelets if you want to use dwt down-sampling module
# https://github.com/fbcotter/pytorch_wavelets
cd /
git clone https://github.com/fbcotter/pytorch_wavelets
cd pytorch_wavelets
pip install .
# go to code folderls
cd /yolor
2.Chuang Jian Zi Ji De YOLORMu Biao Jian Ce Shu Ju Ji
YOLORZhi Chi YOLOv5Lei Xing De Biao Zhu Shu Ju Gou Jian ,Ru Guo Ni Shou Xi YOLOv5De Xun Lian Ji De Gou Zao Guo Cheng ,Gai Bu Fen Ke Yi Zhi Jie Tiao Guo ,Zhe Li Wo Men Ti Gong Liao Gou Jian Shu Ju Ji De Dai Ma ,Jiang Shu Ju Ji Cun Fang Zai ./datasetsXia :
+-images # Xun Lian Tu Xiang ,Mei Ge Wen Jian Jia Xia Cun Fang Liao Ju Ti De Xun Lian Tu Xiang
| +-train
| +-val
+-labels # label,Mei Ge Wen Jian Jia Xia Cun Fang Liao Ju Ti De txtBiao Zhu Wen Jian ,Ge Shi Man Zu YOLOv5
+-train
+-val
Wo Men Ti Gong Liao VOCBiao Zhu Shu Ju Ge Shi Zhuan Huan Wei YOLOv5Biao Zhu De Ju Ti Dai Ma ,Cun Fang Zai ./datasetsXia ,Guan Yu YOLOv5De Biao Zhu Xi Jie Ke Yi Can Kao :https://github.com/DataXujing/YOLO-v5
3.Zhun Bei YOLORDe Yu Xun Lian Mo Xing
- 1.Xiu Gai Mo Xing De Pei Zhi Wen Jian
i. Xun Lian Shu Ju De Pei Zhi ./data/score.yaml
val: ./datasets/score/images/val/
# number of classes
nc: 3
# class names
names: ['QP', 'NY', 'QG']
ii.Mo Xing Jie Gou De Pei Zhi
Wo Men Yi Xun Lian YOLOR-P6,Xu Yao Xiu Gai Mo Xing De Pei Zhi Wen Jian ,Qi Xiu Gai Fang Shi Lei Si Yu darkentBan De YOLOv3,Qi Zhu Yao Xiu Gai De Can Shu Zai Mo Xing De headBu Fen ,Xiang Xi De Can Kao ./cfg/yolor_p6_score.cfg,Qi Zhu Yao Xiu Gai Bu Fen Wo Yi Jing Biao Zhu Chu Lai ,Ru Xia :
# 203
[implicit_add]
filters=256
# 204
[implicit_add]
filters=384
# 205
[implicit_add]
filters=512
# 206
[implicit_add]
filters=640
# 207 #<------------(number_class + 5) *3
[implicit_mul]
filters=24
# 208 #<------------(number_class + 5) *3
[implicit_mul]
filters=24
# 209 #<------------(number_class + 5) *3
[implicit_mul]
filters=24
# 210 #<------------(number_class + 5) *3
[implicit_mul]
filters=24
# ============ Head ============ #
# YOLO-3
[route]
layers = 163
[convolutional]
batch_normalize=1
size=3
stride=1
pad=1
filters=256
activation=silu
[shift_channels]
from=203
# <---------------- filters: (number_class + 5) *3
[convolutional]
size=1
stride=1
pad=1
filters=24
activation=linear
[control_channels]
from=207
# <---------------classess: 3
[yolo]
mask = 0,1,2
anchors = 19,27, 44,40, 38,94, 96,68, 86,152, 180,137, 140,301, 303,264, 238,542, 436,615, 739,380, 925,792
classes=3
num=12
jitter=.3
ignore_thresh = .7
truth_thresh = 1
random=1
scale_x_y = 1.05
iou_thresh=0.213
cls_normalizer=1.0
iou_normalizer=0.07
iou_loss=ciou
nms_kind=greedynms
beta_nms=0.6
# YOLO-4
[route]
layers = 176
[convolutional]
batch_normalize=1
size=3
stride=1
pad=1
filters=384
activation=silu
[shift_channels]
from=204
# <---------------- filters: (number_class + 5) *3
[convolutional]
size=1
stride=1
pad=1
filters=24
activation=linear
[control_channels]
from=208
# <--------------- classes: 3
[yolo]
mask = 3,4,5
anchors = 19,27, 44,40, 38,94, 96,68, 86,152, 180,137, 140,301, 303,264, 238,542, 436,615, 739,380, 925,792
classes=3
num=12
jitter=.3
ignore_thresh = .7
truth_thresh = 1
random=1
scale_x_y = 1.05
iou_thresh=0.213
cls_normalizer=1.0
iou_normalizer=0.07
iou_loss=ciou
nms_kind=greedynms
beta_nms=0.6
# YOLO-5
[route]
layers = 189
[convolutional]
batch_normalize=1
size=3
stride=1
pad=1
filters=512
activation=silu
[shift_channels]
from=205
# <---------------- filters: (number_class + 5) *3
[convolutional]
size=1
stride=1
pad=1
filters=24
activation=linear
[control_channels]
from=209
# <------------------classes: 3
[yolo]
mask = 6,7,8
anchors = 19,27, 44,40, 38,94, 96,68, 86,152, 180,137, 140,301, 303,264, 238,542, 436,615, 739,380, 925,792
classes=3
num=12
jitter=.3
ignore_thresh = .7
truth_thresh = 1
random=1
scale_x_y = 1.05
iou_thresh=0.213
cls_normalizer=1.0
iou_normalizer=0.07
iou_loss=ciou
nms_kind=greedynms
beta_nms=0.6
# YOLO-6
[route]
layers = 202
[convolutional]
batch_normalize=1
size=3
stride=1
pad=1
filters=640
activation=silu
[shift_channels]
from=206
# <---------------- filters: (number_class + 5) *3
[convolutional]
size=1
stride=1
pad=1
filters=24
activation=linear
[control_channels]
from=210
# <-------------classes: 3
[yolo]
mask = 9,10,11
anchors = 19,27, 44,40, 38,94, 96,68, 86,152, 180,137, 140,301, 303,264, 238,542, 436,615, 739,380, 925,792
classes=3
num=12
jitter=.3
ignore_thresh = .7
truth_thresh = 1
random=1
scale_x_y = 1.05
iou_thresh=0.213
cls_normalizer=1.0
iou_normalizer=0.07
iou_loss=ciou
nms_kind=greedynms
beta_nms=0.6
# ============ End of Head ============ #
- 2.Yu Xun Lian Mo Xing De Xia Zai
To reproduce the results in the paper, please use this branch.
| Model | Test Size | APtest | AP50test | AP75test | APStest | APMtest | APLtest | batch1 throughput |
|---|---|---|---|---|---|---|---|---|
| YOLOR-P6 | 1280 | 52.6% | 70.6% | 57.6% | 34.7% | 56.6% | 64.2% | 49 fps |
| YOLOR-W6 | 1280 | 54.1% | 72.0% | 59.2% | 36.3% | 57.9% | 66.1% | 47 fps |
| YOLOR-E6 | 1280 | 54.8% | 72.7% | 60.0% | 36.9% | 58.7% | 66.9% | 37 fps |
| YOLOR-D6 | 1280 | 55.4% | 73.3% | 60.6% | 38.0% | 59.2% | 67.1% | 30 fps |
| YOLOv4-P5 | 896 | 51.8% | 70.3% | 56.6% | 33.4% | 55.7% | 63.4% | 41 fps |
| YOLOv4-P6 | 1280 | 54.5% | 72.6% | 59.8% | 36.6% | 58.2% | 65.5% | 30 fps |
| YOLOv4-P7 | 1536 | 55.5% | 73.4% | 60.8% | 38.4% | 59.4% | 67.7% | 16 fps |
| Model | Test Size | APval | AP50val | AP75val | APSval | APMval | APLval | FLOPs | weights |
|---|---|---|---|---|---|---|---|---|---|
| YOLOR-P6 | 1280 | 52.5% | 70.6% | 57.4% | 37.4% | 57.3% | 65.2% | 326G | yolor-p6.pt |
| YOLOR-W6 | 1280 | 54.0% | 72.1% | 59.1% | 38.1% | 58.8% | 67.0% | 454G | yolor-w6.pt |
| YOLOR-E6 | 1280 | 54.6% | 72.5% | 59.8% | 39.9% | 59.0% | 67.9% | 684G | yolor-e6.pt |
| YOLOR-D6 | 1280 | 55.4% | 73.5% | 60.6% | 40.4% | 60.1% | 68.7% | 937G | yolor-d6.pt |
| YOLOR-S | 640 | 40.7% | 59.8% | 44.2% | 24.3% | 45.7% | 53.6% | 21G | |
| YOLOR-SDWT | 640 | 40.6% | 59.4% | 43.8% | 23.4% | 45.8% | 53.4% | 21G | |
| YOLOR-S2DWT | 640 | 39.9% | 58.7% | 43.3% | 21.7% | 44.9% | 53.4% | 20G | |
| YOLOR-S3S2D | 640 | 39.3% | 58.2% | 42.4% | 21.3% | 44.6% | 52.6% | 18G | |
| YOLOR-S3DWT | 640 | 39.4% | 58.3% | 42.5% | 21.7% | 44.3% | 53.0% | 18G | |
| YOLOR-S4S2D | 640 | 36.9% | 55.3% | 39.7% | 18.1% | 41.9% | 50.4% | 16G | weights |
| YOLOR-S4DWT | 640 | 37.0% | 55.3% | 39.9% | 18.4% | 41.9% | 51.0% | 16G | weights |
Xu Yao Zhu Yi De Shi Shang Shu Biao Ge Zhong De Yu Xun Lian Mo Xing Xia Zai Di Zhi Dui Ying Liao Zuo Zhe paperZhong De Jie Guo ,Bu Neng Jia Zai Zai Ben Xiang Mu De Xun Lian Zhong ,Ru Guo Shi Yong Ben Xiang Mu Xu Yao Zai Xun Lian Shi Jia Zai Yu Xun Lian Mo Xing Xia Zai Ru Xia Lian Jie :
https://drive.google.com/uc?export=download&id=1Tdn3yqpZ79X7R1Ql0zNlNScB1Dv9Fp76
# YOLOR-W6
https://drive.google.com/uc?export=download&id=1UflcHlN5ERPdhahMivQYCbWWw7d2wY7U
#YOLOR-CSP
https://drive.google.com/file/d/1ZEqGy4kmZyD-Cj3tEFJcLSZenZBDGiyg/view?usp=sharing
# YOLOR-CSP*
https://drive.google.com/file/d/1OJKgIasELZYxkIjFoiqyn555bcmixUP2/view?usp=sharing
# YOLOR-CSP-X
https://drive.google.com/file/d/1L29rfIPNH1n910qQClGftknWpTBgAv6c/view?usp=sharing
# YOLOR-CSP-X*
https://drive.google.com/file/d/1NbMG3ivuBQ4S8kEhFJ0FIqOQXevGje_w/view?usp=sharing
4.Mo Xing Xun Lian
Xun Lian De Zhu Yao Can Shu :
- img: Shu Ru Tu Xiang De size
- batch: Xun Lian De batch size
- epochs: Xun Lian De Zhou Qi
- data: yamlPei Zhi Wen Jian Lu Jing
- cfg: Mo Xing De Pei Zhi Wen Jian
- weights: Yu Xun Lian Mo Xing De Jia Zai Lu Jing
- name: result names
- hyp: Xun Lian De Chao Can Shu
# Wei Liao Yan Zheng Guo Cheng De Ke Xing Xing ,Wo Men Jin Xun Lian Liao 50Ge epoch!!!
Cha Kan Mo Xing De Xun Lian Guo Cheng :
Xun Lian Jie Guo :
5.Mo Xing Tui Duan
Wei Liao Fang Bian Ce Shi He Bu Shu ,Ji Yu detect.pyWo Men Shi Xian Liao Tu Xiang He Shi Pin De Ce Shi Dai Ma ,Fen Bie Cun Fang Zai test_img.pyHe test_video.py,Qi Diao Yong Fang Shi Wei :
python test_img.py
# Shi Pin Tui Duan
python test_video.py
demo:
6.TensorRT C++Shi Xian
1.Mo Xing Zhuan ONNX
TODO: Yin SILUJi Huo Han Shu Zai PytorchZhong Mu Qian Wu Fa Zhuan Huan Dao ONNX,Zai ONNXZhuan Huan De Guo Cheng Zhong Jiu Chu Xian Liao Wen Ti ,Wo Men Hui Zai Shao Hou Hua Shi Jian Jie Jue Gai Wen Ti .