Skip to content

Commit 9a33180

Browse files
author
Your Name
committed
yolov7 v1.0 released!
1 parent 012c9b4 commit 9a33180

File tree

1 file changed

+61
-38
lines changed

1 file changed

+61
-38
lines changed

readme.md

Lines changed: 61 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
<img src="https://s4.ax1x.com/2022/02/01/Hk2dtP.png">
55

6-
<h1>YOLOv7 - Framework Beyond Detection</h1>
6+
<h1>YOLOv7 - Make YOLO Great Again</h1>
77

88

99
[Documentation](https://github.com/jinfagang/yolov7)
@@ -13,8 +13,7 @@
1313
[Reporting Issues](https://github.com/jinfagang/yolov7/issues/new?assignees=&labels=&template=bug-report.yml)
1414

1515

16-
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/yolort)](https://pypi.org/project/yolort/)
17-
[![PyPI version](https://badge.fury.io/py/yolort.svg)](https://badge.fury.io/py/yolort)
16+
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/yolort)](https://pypi.org/project/alfred-py/)
1817
[![PyPI downloads](https://static.pepy.tech/personalized-badge/alfred-py?period=total&units=international_system&left_color=grey&right_color=blue&left_text=pypi%20downloads)](https://pepy.tech/project/yolort)
1918
[![Github downloads](https://img.shields.io/github/downloads/jinfagang/yolov7/total?color=blue&label=downloads&logo=github&logoColor=lightgrey)](https://img.shields.io/github/downloads/jinfagang/yolov7/total?color=blue&label=Downloads&logo=github&logoColor=lightgrey)
2019

@@ -23,24 +22,13 @@
2322
[![Slack](https://img.shields.io/badge/slack-chat-aff.svg?logo=slack)](https://join.slack.com/t/yolort/shared_invite/zt-mqwc7235-940aAh8IaKYeWclrJx10SA)
2423
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-pink.svg)](https://github.com/jinfagang/yolov7/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22)
2524

26-
2725
</div>
2826

2927

30-
> **`YOLO family variant with transformers!`**, Instance Segmentation in YOLO, DETR, AnchorDETR all supported!
31-
32-
update: we also provide a private version of yolov7, please visit: https://manaai.cn for more details. Our latest update will appear on mana first.
33-
34-
🔥🔥🔥 Just another yolo variant implemented based on **`detectron2`**. Be note that **YOLOv7 doesn't meant to be a successor of yolo family, 7 is just my magic and lucky number**. In our humble opinion, a good opensource project must have these features:
35-
36-
- It must be reproduceble;
37-
- It must be simple and understandable;
38-
- It must be build with the weapon of the edge;
39-
- It must have a good maintainance, listen to the voice from community;
28+
> In short: **YOLOv7 added instance segmentation to YOLO arch**. Also many transformer backbones, archs included. If you look carefully, you'll find our ultimate vision is to **make YOLO great again** by the power of **transformers**, as well as **multi-tasks training**. YOLOv7 achieves mAP 43, AP-s exceed MaskRCNN by 10 with a convnext-tiny backbone while simillar speed with YOLOX-s, more models listed below, it's more accurate and even more lighter!
4029
41-
However, we found many opensource detection framework such as YOLOv5, Efficientdet have their own weakness, for example, YOLOv5 is very good at reproduceable but really over-engineered, too many messy codes. What's more surprisingly, there were at least 20+ different version of re-implementation of YOLOv3-YOLOv4 in pytorch, 99.99% of them were totally **wrong**, either can u train your dataset nor make it mAP comparable with origin paper.(However, *doesn't mean this work is totally right, use at your own risk*.)
4230

43-
That's why we have this project! It's much more simpler to experiment different ARCH of YOLO build upon detectron2 with YOLOv7! Most importantly, more and more decent YOLO series model merged into this repo such as YOLOX (most decent in 2021). We also **welcome any trick/experiment PR on YOLOv7, help us build it better and stronger!!**. Please **star it and fork it right now!**.
31+
🔥🔥🔥 Just another yolo variant implemented based on **`detectron2`**. Be note that **YOLOv7 doesn't meant to be a successor of yolo family, 7 is just a magic and lucky number. Instead, YOLOv7 extend yolo into many other vision tasks, such as instance segmentation, one-stage keypoints detection etc.**.
4432

4533
The supported matrix in YOLOv7 are:
4634

@@ -65,15 +53,48 @@ The supported matrix in YOLOv7 are:
6553
- [x] YOLOX arch added, now you can train YOLOX model (**anchor free yolo**) as well;
6654
- [x] DETR: transformer based detection model and **onnx export supported, as well as TensorRT acceleration**;
6755
- [x] AnchorDETR: Faster converge version of detr, now supported!
68-
69-
what's more, there are some features awesome inside repo:
70-
7156
- [x] Almost all models can export to onnx;
7257
- [x] Supports TensorRT deployment for DETR and other transformer models;
7358
- [ ] It will integrate with [wanwu](https://github.com/jinfagang/wanwu_release), a torch-free deploy framework run fastest on your target platform.
7459

7560

76-
**Help wanted!** If you have spare time or if you have GPU card, then help YOLOv7 become more stronger! Here is the guidance of contribute:
61+
> ⚠️ Important note: **YOLOv7 on Github not the latest version, many features are closed-source but you can get it from https://manaai.cn**
62+
63+
Features are ready but not opensource yet:
64+
65+
- [x] Convnext training on YOLOX, higher accuracy than original YOLOX;
66+
- [x] GFL loss support;
67+
- [x] **MobileVit-V2** backbone available;
68+
- [x] CSPRep-Resnet: a repvgg style resnet used in PP-YOLOE but in pytorch rather than paddle;
69+
- [ ] VitDet support;
70+
- [ ] Simple-FPN support from VitDet;
71+
- [ ] PP-YOLOE head supported;
72+
73+
If you want get full version YOLOv7, either **become a contributor** or get from https://manaai.cn .
74+
75+
76+
## 🆕 News!
77+
78+
- ***2022.06.13***: New model **YOLOX-Convnext-tiny** got a ~~41.3~~ 43 mAP beats yolox-s, AP-small even higher!;
79+
- ***2022.06.09***: **GFL**, general focal loss supported;
80+
- ***2022.05.26***: Added **YOLOX-ConvNext** config;
81+
- ***2022.05.18***: DINO and DABDetr are about added, new records on coco up to 63.3 AP!
82+
- ***2022.05.09***: Big new function added! **We adopt YOLOX with Keypoints Head!**, model still under train, but you can check at code already;
83+
- ***2022.04.23***: We finished the int8 quantization on SparseInst! It works perfect! Download the onnx try it our by your self.
84+
- ***2022.04.15***: Now, we support the `SparseInst` onnx expport!
85+
- ***2022.03.25***: New instance seg supported! 40 FPS @ 37 mAP!! Which is fast;
86+
- ***2021.09.16***: First transformer based DETR model added, will explore more DETR series models;
87+
- ***2021.08.02***: **YOLOX** arch added, you can train YOLOX as well in this repo;
88+
- ***2021.07.25***: We found **YOLOv7-Res2net50** beat res50 and darknet53 at same speed level! 5% AP boost on custom dataset;
89+
- ***2021.07.04***: Added YOLOF and we can have a anchor free support as well, YOLOF achieves a better trade off on speed and accuracy;
90+
- ***2021.06.25***: this project first started.
91+
- more
92+
93+
94+
95+
## 🌹 Contribution Wanted
96+
97+
If you have spare time or if you have GPU card, then help YOLOv7 become more stronger! Here is the guidance of contribute:
7798

7899
1. **`Claim task`**: I have some ideas but do not have enough time to do it, if you want implement it, claim the task, **I will give u fully advise on how to do, and you can learn a lot from it**;
79100
2. **`Test mAP`**: When you finished new idea implementation, create a thread to report experiment mAP, if it work, then merge into our main master branch;
@@ -89,25 +110,13 @@ Here are some tasks need to be claimed:
89110
- [ ] Test with YOLOv7 or DETR arch;
90111
- [ ] DINO: 63.3mAP highest in 2022 on coco. https://github.com/IDEACVR/DINO
91112
- [ ] waiting for DINO opensource code.
92-
- [ ] ConvNext: https://github.com/facebookresearch/ConvNeXt, combined convolution and transformer.
113+
- [x] ConvNext: https://github.com/facebookresearch/ConvNeXt, combined convolution and transformer.
93114
- [ ] NASVit: https://github.com/facebookresearch/NASViT
94115
- [ ] MobileVIT: https://github.com/apple/ml-cvnets/blob/main/cvnets/models/classification/mobilevit.py
95116
- [ ] DAB-DETR: https://github.com/IDEA-opensource/DAB-DETR, WIP
117+
- [ ] https://github.com/jahongir7174/EfficientNetV2
96118

97-
## 🆕 News!
98-
99-
- ***2022.05.26***: Added **YOLOX-ConvNext** config;
100-
- ***2022.05.18***: DINO and DABDetr are about added, new records on coco up to 63.3 AP!
101-
- ***2022.05.09***: Big new function added! **We adopt YOLOX with Keypoints Head!**, model still under train, but you can check at code already;
102-
- ***2022.04.23***: We finished the int8 quantization on SparseInst! It works perfect! Download the onnx try it our by your self.
103-
- ***2022.04.15***: Now, we support the `SparseInst` onnx expport!
104-
- ***2022.03.25***: New instance seg supported! 40 FPS @ 37 mAP!! Which is fast;
105-
- ***2021.09.16***: First transformer based DETR model added, will explore more DETR series models;
106-
- ***2021.08.02***: **YOLOX** arch added, you can train YOLOX as well in this repo;
107-
- ***2021.07.25***: We found **YOLOv7-Res2net50** beat res50 and darknet53 at same speed level! 5% AP boost on custom dataset;
108-
- ***2021.07.04***: Added YOLOF and we can have a anchor free support as well, YOLOF achieves a better trade off on speed and accuracy;
109-
- ***2021.06.25***: this project first started.
110-
- more
119+
Just join our in-house contributor plan, you can share our newest code with your contribution!
111120

112121

113122
## 💁‍♂️ Results
@@ -118,7 +127,8 @@ Here are some tasks need to be claimed:
118127
![](https://z3.ax1x.com/2021/09/08/hHP7xe.png) | ![](https://z3.ax1x.com/2021/07/22/WDr5V0.png)
119128
![](https://s1.ax1x.com/2022/03/25/qN5zp6.png) | ![](https://s2.loli.net/2022/03/25/MBwq9YT7zC5Sd1A.png)
120129
![](https://s1.ax1x.com/2022/05/09/OJnXjI.png) | ![](https://s1.ax1x.com/2022/05/09/OJuuUU.png)
121-
130+
![](https://raw.githubusercontent.com/jinfagang/public_images/master/20220613110908.png) | ![](https://raw.githubusercontent.com/jinfagang/public_images/master/20220613111122.png)
131+
![](https://raw.githubusercontent.com/jinfagang/public_images/master/20220613111139.png) | ![](https://raw.githubusercontent.com/jinfagang/public_images/master/20220613111239.png)
122132

123133

124134

@@ -129,10 +139,10 @@ Here are some tasks need to be claimed:
129139
Special requirements (other version may also work, but these are tested, with best performance, including ONNX export best support):
130140

131141
- torch 1.11 (stable version)
132-
- onnx 1.12
142+
- onnx
133143
- onnx-simplifier 0.3.7
134144
- alfred-py latest
135-
- detectron2 0.5
145+
- detectron2 latest
136146

137147
If you using lower version torch, onnx exportation might not work as our expected.
138148

@@ -164,6 +174,19 @@ We are strongly recommend you send PR if you have any further development on thi
164174
| [SparseInst (G-IAM)](sparse_inst_r50vd_dcn_giam_aug.yaml) | [R-50-vd-DCN](https://github.com/rwightman/pytorch-image-models/releases/download/v0.1-weights/resnet50d_ra2-464e36ba.pth) | 640 | &#10003; | 37.7 | 38.1 | 39.3 | [model](https://drive.google.com/file/d/1clYPdCNrDNZLbmlAEJ7wjsrOLn1igOpT/view?usp=sharing)|
165175
| SparseInst Int8 onnx | [google drive](https://drive.google.com/file/d/1FYn_0p3RXzKaTGzTfdiJI1YhAexA_V3s/view?usp=sharing) |
166176

177+
178+
179+
## 🧙‍♂️ Models trained in YOLOv7
180+
181+
| model | backbone | input | aug | AP | AP50 | APs | FPS | weights |
182+
| :---- | :------ | :---: | :-: |:---: | :--: | :-: | :-: | :-----: |
183+
| [YoloFormer-Convnext-tiny](configs/coco/yolotr/yolotr_convnext.yaml) | [Convnext-tiny](https://dl.fbaipublicfiles.com/convnext/convnext_small_22k_224.pth) | 800 | &#10003; | 43 | 63.7 | 26.5 | 39.3 | [model](https://drive.google.com/file/d/1bTedWQaENvlFknqyQreBKA1HoAMOtHkn/view?usp=sharing)|
184+
| [YOLOX-s](configs/coco/yolox_s.yaml) | - | 800 | &#10003; | 40.5 | - | - | 39.3 | [model](https://drive.google.com/file/d/1clYPdCNrDNZLbmlAEJ7wjsrOLn1igOpT/view?usp=sharing)|
185+
186+
> note: We post AP-s here because we want to know how does small object performance in related model, it was notablely higher small-APs for transformer backbone based model! **Some of above model might not opensourced but we provide weights**.
187+
188+
189+
167190
## 🥰 Demo
168191

169192
Run a quick demo would be like:

0 commit comments

Comments
 (0)