Initial commit
This commit is contained in:
79
README.md
Normal file
79
README.md
Normal file
@@ -0,0 +1,79 @@
|
||||
YOLOv11 re-implementation using PyTorch
|
||||
|
||||
### fix
|
||||
* fix the label size [0,1] tensor, which have two dim not adjusted size of [1,]
|
||||
* if pic do not have object (if label is empty), the phenomenon occurs
|
||||
* find XXX to look
|
||||
|
||||
### Installation
|
||||
|
||||
```
|
||||
conda create -n YOLO python=3.10.10
|
||||
conda activate YOLO
|
||||
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
|
||||
pip install opencv-python
|
||||
pip install PyYAML
|
||||
pip install tqdm
|
||||
```
|
||||
|
||||
### Train
|
||||
|
||||
* Configure your dataset path in `main.py` for training
|
||||
* Run `bash main.sh $ --train` for training, `$` is number of GPUs
|
||||
* Run `nohup bash main.sh 1 --train --epochs 300 > train.log 2>&1 &` for training in background
|
||||
|
||||
### Test
|
||||
|
||||
* Configure your dataset path in `main.py` for testing
|
||||
* Run `python main.py --test` for testing
|
||||
|
||||
### Results
|
||||
|
||||
| Version | Epochs | Box mAP | Download |
|
||||
|:-------:|:------:|--------:|--------------------------------------------------------------------------------------:|
|
||||
| v11_n | 600 | 38.6 | [Model](https://github.com/jahongir7174/YOLOv11-pt/blob/master/weights/best.pt) |
|
||||
| v11_n* | - | 39.2 | [Model](https://github.com/jahongir7174/YOLOv11-pt/releases/download/v0.0.1/v11_n.pt) |
|
||||
| v11_s* | - | 46.5 | [Model](https://github.com/jahongir7174/YOLOv11-pt/releases/download/v0.0.1/v11_s.pt) |
|
||||
| v11_m* | - | 51.2 | [Model](https://github.com/jahongir7174/YOLOv11-pt/releases/download/v0.0.1/v11_m.pt) |
|
||||
| v11_l* | - | 53.0 | [Model](https://github.com/jahongir7174/YOLOv11-pt/releases/download/v0.0.1/v11_l.pt) |
|
||||
| v11_x* | - | 54.3 | [Model](https://github.com/jahongir7174/YOLOv11-pt/releases/download/v0.0.1/v11_x.pt) |
|
||||
|
||||
```
|
||||
Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.386
|
||||
Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=100 ] = 0.551
|
||||
Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=100 ] = 0.415
|
||||
Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.196
|
||||
Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.420
|
||||
Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.569
|
||||
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 1 ] = 0.321
|
||||
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets= 10 ] = 0.533
|
||||
Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.588
|
||||
Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=100 ] = 0.361
|
||||
Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=100 ] = 0.646
|
||||
Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=100 ] = 0.777
|
||||
```
|
||||
|
||||
* `*` means that it is from original repository, see reference
|
||||
* In the official YOLOv11 code, mask annotation information is used, which leads to higher performance
|
||||
|
||||
### Dataset structure
|
||||
|
||||
├── COCO
|
||||
├── images
|
||||
├── train2017
|
||||
├── 1111.jpg
|
||||
├── 2222.jpg
|
||||
├── val2017
|
||||
├── 1111.jpg
|
||||
├── 2222.jpg
|
||||
├── labels
|
||||
├── train2017
|
||||
├── 1111.txt
|
||||
├── 2222.txt
|
||||
├── val2017
|
||||
├── 1111.txt
|
||||
├── 2222.txt
|
||||
|
||||
#### Reference
|
||||
|
||||
* [YOLOv11-pt](https://github.com/jahongir7174/YOLOv11-pt)
|
Reference in New Issue
Block a user