mirror of https://github.com/WongKinYiu/yolov7.git
|
||
---|---|---|
cfg | ||
classify | ||
data | ||
models | ||
segment | ||
utils | ||
LICENSE | ||
README.md | ||
benchmarks.py | ||
detect.py | ||
export.py | ||
hubconf.py | ||
requirements.txt | ||
setup.cfg | ||
train.py | ||
val.py |
README.md
yolov7
Implementation of "YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors"
This implimentation is based on yolov5 and yolov6. Add we develop anchor-free instance segmentation method based on it.
All of installation, data preparation, and usage are as same as yolov5.
Training
python train.py --data coco.yaml --batch 16 --weights '' --cfg cfg/yolov7.yaml --epochs 300 --name yolov7 --img 640 --hyp hyp.scratch.yaml --min-items 0
Results
# Parameters 43.6M
# FLOPs 130.5G
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.52337
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.69474
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.57145
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.35552
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.57647
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.68696
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.39157
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.64665
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.69551
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.52992
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.75572
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.84032
# with albumentations augmentation
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.52602
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.69719
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.57324
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.35780
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.57522
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.69049
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.39305
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.64791
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.69741
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.53221
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.75239
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.84376
# with more epochs
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.52989
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.70163
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.57513
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.35752
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.58699
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.68926
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.39273
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.65231
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.70280
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.53508
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.75737
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.84931
e-yolov7-u6.pt
# Parameters 60.1M
# FLOPs 205.5G
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.54829
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.71969
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.59989
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.38114
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.59976
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.70246
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.39829
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.66562
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.71531
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.56469
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.76751
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.85099
# with more epochs
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.55321
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.72459
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.60368
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.38612
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.60574
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.71153
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.40252
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.66729
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.71640
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.56248
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.76765
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.85777
yolov7s-u6.pt
# Parameters 11.0M
# FLOPs 28.1G
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.45065
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.61845
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.48858
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.25672
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.50195
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.61164
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.35714
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.59113
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.64177
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.45170
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.70305
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.80112
yolov7n-u6.pt
# Parameters 3.1M
# FLOPs 8.7G
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.37552
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.53346
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.40622
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.18732
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.41693
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.52760
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.31750
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.53218
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.58693
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.36744
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.65818
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.76867
yolov7-seg-u6.pt
# Parameters 45.9M
# FLOPs 172.6G
*bbox
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.52332
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.69683
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.56735
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.35811
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.57671
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.67685
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.39169
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.64861
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.69663
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.53233
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.75280
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.84877
*segm
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.42951
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.66490
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.45787
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.24210
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.47863
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.60455
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.33861
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.53972
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.57251
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.36747
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.63136
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.76749
# with
*bbox
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.53079
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.70017
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.57765
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.37847
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.58750
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.68885
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.39413
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.65266
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.70371
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.55093
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.76042
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.84041
*segm
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.42962
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.66844
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.45623
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.24914
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.48010
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.60676
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.33721
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.53520
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.56815
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.37271
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.62679
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.74914
deep-elan-u6
# Parameters 84.1M
# FLOPs 237.7G
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.53778
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.70964
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.58448
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.37880
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.59343
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.69477
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.39657
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.65883
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.70614
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.54954
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.76459
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.84824