|
|
@@ -89,53 +89,53 @@ python train.py --cuda -d coco --root path/to/COCO -m yolov1 -bs 16 --max_epoch
|
|
|
|
|
|
#### Redesigned YOLOv1~v2:
|
|
|
|
|
|
-| Model | Backbone | Scale | Epoch | AP<sup>val<br>0.5:0.95 | AP<sup>val<br>0.5 | FLOPs<br><sup>(G) | Params<br><sup>(M) | Weight |
|
|
|
-|---------------|--------------------|-------|-------|------------------------|-------------------|-------------------|--------------------|--------|
|
|
|
-| YOLOv1 | ResNet-18 | 640 | 150 | 27.9 | 47.5 | 37.8 | 21.3 | [ckpt](https://github.com/yjh0410/PyTorch_YOLO_Tutorial/releases/download/yolo_tutorial_ckpt/yolov1_coco.pth) |
|
|
|
-| YOLOv2 | DarkNet-19 | 640 | 150 | 32.7 | 50.9 | 53.9 | 30.9 | [ckpt](https://github.com/yjh0410/PyTorch_YOLO_Tutorial/releases/download/yolo_tutorial_ckpt/yolov2_coco.pth) |
|
|
|
+| Model | Backbone | Batch | Scale | Epoch | AP<sup>val<br>0.5:0.95 | AP<sup>val<br>0.5 | FLOPs<br><sup>(G) | Params<br><sup>(M) | Weight |
|
|
|
+|--------|------------|-------|-------|-------|------------------------|-------------------|-------------------|--------------------|--------|
|
|
|
+| YOLOv1 | ResNet-18 | 1xb16 | 640 | 150 | 27.9 | 47.5 | 37.8 | 21.3 | [ckpt](https://github.com/yjh0410/PyTorch_YOLO_Tutorial/releases/download/yolo_tutorial_ckpt/yolov1_coco.pth) |
|
|
|
+| YOLOv2 | DarkNet-19 | 1xb16 | 640 | 150 | 32.7 | 50.9 | 53.9 | 30.9 | [ckpt](https://github.com/yjh0410/PyTorch_YOLO_Tutorial/releases/download/yolo_tutorial_ckpt/yolov2_coco.pth) |
|
|
|
|
|
|
#### YOLOv3:
|
|
|
|
|
|
-| Model | Backbone | Scale | Epoch | AP<sup>val<br>0.5:0.95 | AP<sup>val<br>0.5 | FLOPs<br><sup>(G) | Params<br><sup>(M) | Weight |
|
|
|
-|---------------|--------------------|-------|-------|------------------------|-------------------|-------------------|--------------------|--------|
|
|
|
-| YOLOv3-Tiny | DarkNet-Tiny | 640 | 250 | 25.4 | 43.4 | 7.0 | 2.3 | [ckpt](https://github.com/yjh0410/PyTorch_YOLO_Tutorial/releases/download/yolo_tutorial_ckpt/yolov3_t_coco.pth) |
|
|
|
-| YOLOv3 | DarkNet-53 | 640 | 250 | 42.9 | 63.5 | 167.4 | 54.9 | [ckpt](https://github.com/yjh0410/PyTorch_YOLO_Tutorial/releases/download/yolo_tutorial_ckpt/yolov3_coco.pth) |
|
|
|
+| Model | Backbone | Batch | Scale | Epoch | AP<sup>val<br>0.5:0.95 | AP<sup>val<br>0.5 | FLOPs<br><sup>(G) | Params<br><sup>(M) | Weight |
|
|
|
+|-------------|--------------|-------|-------|-------|------------------------|-------------------|-------------------|--------------------|--------|
|
|
|
+| YOLOv3-Tiny | DarkNet-Tiny | 1xb16 | 640 | 250 | 25.4 | 43.4 | 7.0 | 2.3 | [ckpt](https://github.com/yjh0410/PyTorch_YOLO_Tutorial/releases/download/yolo_tutorial_ckpt/yolov3_t_coco.pth) |
|
|
|
+| YOLOv3 | DarkNet-53 | 1xb16 | 640 | 250 | 42.9 | 63.5 | 167.4 | 54.9 | [ckpt](https://github.com/yjh0410/PyTorch_YOLO_Tutorial/releases/download/yolo_tutorial_ckpt/yolov3_coco.pth) |
|
|
|
|
|
|
#### YOLOv4:
|
|
|
|
|
|
-| Model | Backbone | Scale | Epoch | AP<sup>val<br>0.5:0.95 | AP<sup>val<br>0.5 | FLOPs<br><sup>(G) | Params<br><sup>(M) | Weight |
|
|
|
-|---------------|--------------------|-------|-------|------------------------|-------------------|-------------------|--------------------|--------|
|
|
|
-| YOLOv4-Tiny | CSPDarkNet-Tiny | 640 | 250 | 31.0 | 49.1 | 8.1 | 2.9 | [ckpt](https://github.com/yjh0410/PyTorch_YOLO_Tutorial/releases/download/yolo_tutorial_ckpt/yolov4_t_coco.pth) |
|
|
|
-| YOLOv4 | CSPDarkNet-53 | 640 | 250 | 46.6 | 65.8 | 162.7 | 61.5 | [ckpt](https://github.com/yjh0410/PyTorch_YOLO_Tutorial/releases/download/yolo_tutorial_ckpt/yolov4_coco.pth) |
|
|
|
+| Model | Backbone | Batch | Scale | Epoch | AP<sup>val<br>0.5:0.95 | AP<sup>val<br>0.5 | FLOPs<br><sup>(G) | Params<br><sup>(M) | Weight |
|
|
|
+|-------------|-----------------|-------|-------|-------|------------------------|-------------------|-------------------|--------------------|--------|
|
|
|
+| YOLOv4-Tiny | CSPDarkNet-Tiny | 1xb16 | 640 | 250 | 31.0 | 49.1 | 8.1 | 2.9 | [ckpt](https://github.com/yjh0410/PyTorch_YOLO_Tutorial/releases/download/yolo_tutorial_ckpt/yolov4_t_coco.pth) |
|
|
|
+| YOLOv4 | CSPDarkNet-53 | 1xb16 | 640 | 250 | 46.6 | 65.8 | 162.7 | 61.5 | [ckpt](https://github.com/yjh0410/PyTorch_YOLO_Tutorial/releases/download/yolo_tutorial_ckpt/yolov4_coco.pth) |
|
|
|
|
|
|
#### YOLOv5:
|
|
|
|
|
|
-| Model | Backbone | Scale | Epoch | AP<sup>val<br>0.5:0.95 | AP<sup>val<br>0.5 | FLOPs<br><sup>(G) | Params<br><sup>(M) | Weight |
|
|
|
-|-----------|--------------|-------|-------|------------------------|-------------------|-------------------|--------------------|--------|
|
|
|
-| YOLOv5-N | CSPDarkNet-N | 640 | 250 | 29.8 | 47.1 | 7.7 | 2.4 | [ckpt](https://github.com/yjh0410/PyTorch_YOLO_Tutorial/releases/download/yolo_tutorial_ckpt/yolov5_n_coco.pth) |
|
|
|
-| YOLOv5-S | CSPDarkNet-S | 640 | 250 | 37.8 | 56.5 | 27.1 | 9.0 | [ckpt](https://github.com/yjh0410/PyTorch_YOLO_Tutorial/releases/download/yolo_tutorial_ckpt/yolov5_s_coco.pth) |
|
|
|
-| YOLOv5-M | CSPDarkNet-M | 640 | 250 | 43.5 | 62.5 | 74.3 | 25.4 | [ckpt](https://github.com/yjh0410/PyTorch_YOLO_Tutorial/releases/download/yolo_tutorial_ckpt/yolov5_m_coco.pth) |
|
|
|
-| YOLOv5-L | CSPDarkNet-L | 640 | 250 | 46.7 | 65.5 | 155.6 | 54.2 | [ckpt](https://github.com/yjh0410/PyTorch_YOLO_Tutorial/releases/download/yolo_tutorial_ckpt/yolov5_l_coco.pth) |
|
|
|
+| Model | Backbone | Batch | Scale | Epoch | AP<sup>val<br>0.5:0.95 | AP<sup>val<br>0.5 | FLOPs<br><sup>(G) | Params<br><sup>(M) | Weight |
|
|
|
+|-----------|--------------|-------|-------|-------|------------------------|-------------------|-------------------|--------------------|--------|
|
|
|
+| YOLOv5-N | CSPDarkNet-N | 1xb16 | 640 | 250 | 29.8 | 47.1 | 7.7 | 2.4 | [ckpt](https://github.com/yjh0410/PyTorch_YOLO_Tutorial/releases/download/yolo_tutorial_ckpt/yolov5_n_coco.pth) |
|
|
|
+| YOLOv5-S | CSPDarkNet-S | 1xb16 | 640 | 250 | 37.8 | 56.5 | 27.1 | 9.0 | [ckpt](https://github.com/yjh0410/PyTorch_YOLO_Tutorial/releases/download/yolo_tutorial_ckpt/yolov5_s_coco.pth) |
|
|
|
+| YOLOv5-M | CSPDarkNet-M | 1xb16 | 640 | 250 | 43.5 | 62.5 | 74.3 | 25.4 | [ckpt](https://github.com/yjh0410/PyTorch_YOLO_Tutorial/releases/download/yolo_tutorial_ckpt/yolov5_m_coco.pth) |
|
|
|
+| YOLOv5-L | CSPDarkNet-L | 1xb16 | 640 | 250 | 46.7 | 65.5 | 155.6 | 54.2 | [ckpt](https://github.com/yjh0410/PyTorch_YOLO_Tutorial/releases/download/yolo_tutorial_ckpt/yolov5_l_coco.pth) |
|
|
|
|
|
|
*For **YOLOv5-M** and **YOLOv5-L**, increasing the batch size may improve performance. Due to my computing resources, I can only set the batch size to 16.*
|
|
|
|
|
|
#### YOLOX:
|
|
|
|
|
|
-| Model | Backbone | Scale | Epoch | AP<sup>val<br>0.5:0.95 | AP<sup>val<br>0.5 | FLOPs<br><sup>(G) | Params<br><sup>(M) | Weight |
|
|
|
-|---------|---------------|-------|-------|------------------------|-------------------|-------------------|--------------------|--------|
|
|
|
-| YOLOX-N | CSPDarkNet-N | 640 | 300 | 30.4 | 48.9 | 7.5 | 2.3 | [ckpt](https://github.com/yjh0410/PyTorch_YOLO_Tutorial/releases/download/yolo_tutorial_ckpt/yolox_n_coco.pth) |
|
|
|
-| YOLOX-S | CSPDarkNet-S | 640 | 300 | 39.0 | 58.8 | 26.8 | 8.9 | [ckpt](https://github.com/yjh0410/PyTorch_YOLO_Tutorial/releases/download/yolo_tutorial_ckpt/yolox_s_coco.pth) |
|
|
|
-| YOLOX-M | CSPDarkNet-M | 640 | 300 | 44.6 | 63.8 | 74.3 | 25.4 | [ckpt](https://github.com/yjh0410/PyTorch_YOLO_Tutorial/releases/download/yolo_tutorial_ckpt/yolox_m_coco.pth) |
|
|
|
-| YOLOX-L | CSPDarkNet-L | 640 | 300 | 46.9 | 65.9 | 155.4 | 54.2 | [ckpt](https://github.com/yjh0410/PyTorch_YOLO_Tutorial/releases/download/yolo_tutorial_ckpt/yolox_l_coco.pth) |
|
|
|
+| Model | Backbone | Batch | Scale | Epoch | AP<sup>val<br>0.5:0.95 | AP<sup>val<br>0.5 | FLOPs<br><sup>(G) | Params<br><sup>(M) | Weight |
|
|
|
+|---------|---------------|-------|-------|-------|------------------------|-------------------|-------------------|--------------------|--------|
|
|
|
+| YOLOX-N | CSPDarkNet-N | 8xb8 | 640 | 300 | 30.4 | 48.9 | 7.5 | 2.3 | [ckpt](https://github.com/yjh0410/PyTorch_YOLO_Tutorial/releases/download/yolo_tutorial_ckpt/yolox_n_coco.pth) |
|
|
|
+| YOLOX-S | CSPDarkNet-S | 8xb8 | 300 | 39.0 | 58.8 | 26.8 | 8.9 | [ckpt](https://github.com/yjh0410/PyTorch_YOLO_Tutorial/releases/download/yolo_tutorial_ckpt/yolox_s_coco.pth) |
|
|
|
+| YOLOX-M | CSPDarkNet-M | 1xb16 | 300 | 44.6 | 63.8 | 74.3 | 25.4 | [ckpt](https://github.com/yjh0410/PyTorch_YOLO_Tutorial/releases/download/yolo_tutorial_ckpt/yolox_m_coco.pth) |
|
|
|
+| YOLOX-L | CSPDarkNet-L | 1xb16 | 640 | 300 | 46.9 | 65.9 | 155.4 | 54.2 | [ckpt](https://github.com/yjh0410/PyTorch_YOLO_Tutorial/releases/download/yolo_tutorial_ckpt/yolox_l_coco.pth) |
|
|
|
|
|
|
*For **YOLOX-M** and **YOLOX-L**, increasing the batch size may improve performance. Due to my computing resources, I can only set the batch size to 16.*
|
|
|
|
|
|
#### YOLOv7:
|
|
|
|
|
|
-| Model | Backbone | Scale | Epoch | AP<sup>val<br>0.5:0.95 | AP<sup>val<br>0.5 | FLOPs<br><sup>(G) | Params<br><sup>(M) | Weight |
|
|
|
-|-------------|---------------|-------|-------|------------------------|-------------------|-------------------|--------------------|--------|
|
|
|
-| YOLOv7-Tiny | ELANNet-Tiny | 640 | 300 | 38.0 | 56.8 | 22.6 | 7.9 | [ckpt](https://github.com/yjh0410/PyTorch_YOLO_Tutorial/releases/download/yolo_tutorial_ckpt/yolov7_tiny_coco.pth) |
|
|
|
-| YOLOv7 | ELANNet-Large | 640 | 300 | 48.0 | 67.5 | 144.6 | 44.0 | [ckpt](https://github.com/yjh0410/PyTorch_YOLO_Tutorial/releases/download/yolo_tutorial_ckpt/yolov7_large_coco.pth) |
|
|
|
+| Model | Backbone | Batch | Scale | Epoch | AP<sup>val<br>0.5:0.95 | AP<sup>val<br>0.5 | FLOPs<br><sup>(G) | Params<br><sup>(M) | Weight |
|
|
|
+|-------------|---------------|-------|-------|-------|------------------------|-------------------|-------------------|--------------------|--------|
|
|
|
+| YOLOv7-Tiny | ELANNet-Tiny | 1xb16 | 640 | 300 | 38.0 | 56.8 | 22.6 | 7.9 | [ckpt](https://github.com/yjh0410/PyTorch_YOLO_Tutorial/releases/download/yolo_tutorial_ckpt/yolov7_tiny_coco.pth) |
|
|
|
+| YOLOv7 | ELANNet-Large | 1xb16 | 640 | 300 | 48.0 | 67.5 | 144.6 | 44.0 | [ckpt](https://github.com/yjh0410/PyTorch_YOLO_Tutorial/releases/download/yolo_tutorial_ckpt/yolov7_large_coco.pth) |
|
|
|
|
|
|
* While YOLOv7 incorporates several technical details, such as anchor box, SimOTA, AuxiliaryHead, and RepConv, I found it too challenging to fully reproduce. Instead, I created a simpler version of YOLOv7 using an anchor-free structure and SimOTA. As a result, my reproduction had poor performance due to the absence of the other technical details. However, since it was only intended as a tutorial, I am not too concerned about this gap.*
|
|
|
|
|
|
@@ -154,15 +154,6 @@ python train.py --cuda -d coco --root path/to/COCO -m yolov1 -bs 16 --max_epoch
|
|
|
- We use `YOLOv5-style Mosaic augmentation` and `YOLOX-style Mixup augmentation` wihout rotation.
|
|
|
- Due to my limited computing resources, I can not train `YOLOvx-X` with the setting of `batch size=128`.
|
|
|
|
|
|
-#### LOWDet: An Empirical Study of Designing Lightweight Object Detector
|
|
|
-
|
|
|
-| Model | Scale | AP<sup>val<br>0.5:0.95 | AP<sup>val<br>0.5 | FLOPs<br><sup>(G) | Params<br><sup>(M) | Weight |
|
|
|
-|--------|-------|------------------------|-------------------|-------------------|--------------------|--------|
|
|
|
-| LOWDet | 320 | | | 1.05 | 1.72 | |
|
|
|
-| LOWDet | 416 | | | 1.78 | 1.72 | |
|
|
|
-| LOWDet | 512 | | | 2.70 | 1.72 | |
|
|
|
-| LOWDet | 640 | | | 4.21 | 1.72 | |
|
|
|
-
|
|
|
#### Redesigned RT-DETR:
|
|
|
|
|
|
| Model | Scale | Batch | AP<sup>val<br>0.5:0.95 | AP<sup>val<br>0.5 | FLOPs<br><sup>(G) | Params<br><sup>(M) | Weight |
|