yjh0410 1 year ago
parent
commit
a17c55d3fd

+ 24 - 37
README.md

@@ -110,27 +110,13 @@ bash train.sh yolov3 coco path/to/coco 128 4 1699 path/to/yolov3.pth
 
 ## Test
 ```Shell
-python test.py -d coco \
-               --cuda \
-               -m yolov1 \
-               --img_size 640 \
-               --weight path/to/weight \
-               --root path/to/dataset/ \
-               --no_multi_labels \
-               --visual_threshold 0.35 \
-               --show
+python test.py --cuda --dataset coco --root path/to/coco --model yolov1 --weight path/to/yolov1.pth --img_size 640 --show 
 ```
 
 
 ## Evaluation
 ```Shell
-python eval.py -d coco \
-               --cuda \
-               -m yolov1 \
-               --img_size 640 \
-               --weight path/to/weight \
-               --root path/to/dataset/ \
-               --show
+python eval.py --cuda --dataset coco --root path/to/coco --model yolov1 --weight path/to/yolov1.pth --img_size 640
 ```
 
 ## Demo
@@ -139,12 +125,11 @@ I have provide some images in `data/demo/images/`, so you can run following comm
 ```Shell
 python demo.py --mode image \
                --path_to_img data/demo/images/ \
+               --dataset coco \
                --cuda \
                --img_size 640 \
                --model yolov2 \
-               --weight path/to/weight \
-               --dataset coco \
-               --num_classes 80 \
+               --weight path/to/yolov2_coco.pth \
                --show
 ```
 
@@ -152,12 +137,11 @@ If you want to try this command with voc pretrained model, you could refer to th
 ```Shell
 python demo.py --mode image \
                --path_to_img data/demo/images/ \
+               --dataset voc \
                --cuda \
                --img_size 640 \
                --model yolov2 \
-               --weight path/to/weight \
-               --dataset voc \
-               --num_classes 20 \
+               --weight path/to/yolov2_voc.pth \
                --show
 ```
 
@@ -167,10 +151,11 @@ If you want run a demo of streaming video detection, you need to set `--mode` to
 ```Shell
 python demo.py --mode video \
                --path_to_vid data/demo/videos/your_video \
+               --dataset coco \
                --cuda \
                --img_size 640 \
-               -m yolov2 \
-               --weight path/to/weight \
+               --model yolov2 \
+               --weight path/to/yolov2_coco.pth \
                --show \
                --gif
 ```
@@ -180,9 +165,10 @@ If you want run video detection with your camera, you need to set `--mode` to `c
 ```Shell
 python demo.py --mode camera \
                --cuda \
+               --dataset coco \
                --img_size 640 \
-               -m yolov2 \
-               --weight path/to/weight \
+               --model yolov2 \
+               --weight path/to/yolov2_coco.pth \
                --show \
                --gif
 ```
@@ -194,11 +180,12 @@ Command:
 
 ```Shell
 python demo.py --mode video \
-                --path_to_vid ./dataset/demo/videos/000006.mp4 \
+               --path_to_vid ./dataset/demo/videos/000006.mp4 \
                --cuda \
+               --dataset coco \
                --img_size 640 \
-               -m yolov2 \
-               --weight path/to/weight \
+               --model yolov2 \
+               --weight path/to/yolov2_coco.pth \
                --show \
                --gif
 ```
@@ -215,10 +202,10 @@ Our project also supports **multi-object tracking** tasks. We use the YOLO of th
 python track.py --mode image \
                 --path_to_img path/to/images/ \
                 --cuda \
-                -size 640 \
+                --img_size 640 \
                 -dt yolov2 \
                 -tk byte_tracker \
-                --weight path/to/coco_pretrained/ \
+                --weight path/to/yolov2_coco.pth \
                 --show \
                 --gif
 ```
@@ -229,10 +216,10 @@ python track.py --mode image \
 python track.py --mode video \
                 --path_to_img path/to/video/ \
                 --cuda \
-                -size 640 \
+                --img_size 640 \
                 -dt yolov2 \
                 -tk byte_tracker \
-                --weight path/to/coco_pretrained/ \
+                --weight path/to/yolov2_coco.pth \
                 --show \
                 --gif
 ```
@@ -242,10 +229,10 @@ python track.py --mode video \
 ```Shell
 python track.py --mode camera \
                 --cuda \
-                -size 640 \
+                --img_size 640 \
                 -dt yolov2 \
                 -tk byte_tracker \
-                --weight path/to/coco_pretrained/ \
+                --weight path/to/yolov2_coco.pth \
                 --show \
                 --gif
 ```
@@ -260,10 +247,10 @@ Command:
 ```Shell
 python track.py --mode video \
                 --path_to_img ./dataset/demo/videos/000006.mp4 \
-                -size 640 \
+                --img_size 640 \
                 -dt yolov2 \
                 -tk byte_tracker \
-                --weight path/to/coco_pretrained/ \
+                --weight path/to/yolov2_coco.pth \
                 --show \
                 --gif
 ```

+ 25 - 38
README_CN.md

@@ -114,15 +114,7 @@ bash train.sh yolov3 coco path/to/coco 128 4 1699 path/to/yolov3.pth
 使用者可以参考下面的给出的例子在相应的数据集上去测试训练好的模型,正常情况下,使用者将会看到检测结果的可视化图像。
 
 ```Shell
-python test.py -d coco \
-               --cuda \
-               -v yolov1 \
-               --img_size 640 \
-               --weight path/to/weight \
-               --root path/to/dataset/ \
-               --no_multi_labels \
-               --visual_threshold 0.35 \
-               --show
+python test.py --cuda --dataset coco --root path/to/coco --model yolov1 --weight path/to/yolov1.pth --img_size 640 --show 
 ```
 
 
@@ -130,13 +122,7 @@ python test.py -d coco \
 使用者可以参考下面的给出的例子在相应的数据集上去验证训练好的模型,正常情况下,使用者将会看到COCO风格的AP结果输出。
 
 ```Shell
-python eval.py -d coco \
-               --cuda \
-               -v yolov1 \
-               --img_size 640 \
-               --weight path/to/weight \
-               --root path/to/dataset/ \
-               --show
+python eval.py --cuda --dataset coco --root path/to/coco --model yolov1 --weight path/to/yolov1.pth --img_size 640
 ```
 
 如果使用者想测试模型在COCO test-dev数据集上的AP指标,可以遵循以下步骤:
@@ -152,12 +138,11 @@ python eval.py -d coco \
 ```Shell
 python demo.py --mode image \
                --path_to_img data/demo/images/ \
+               --dataset coco \
                --cuda \
                --img_size 640 \
                --model yolov2 \
-               --weight path/to/weight \
-               --dataset coco \
-               --num_classes 80 \
+               --weight path/to/yolov2_coco.pth \
                --show
 ```
 
@@ -166,23 +151,23 @@ python demo.py --mode image \
 ```Shell
 python demo.py --mode image \
                --path_to_img data/demo/images/ \
+               --dataset voc \
                --cuda \
                --img_size 640 \
                --model yolov2 \
-               --weight path/to/weight \
-               --dataset voc \
-               --num_classes 20 \
+               --weight path/to/yolov2_voc.pth \
                --show
 ```
 如果使用者想在本地的视频上去做测试,那么你需要将上述命令中的`--mode image`修改为`--mode video`,并给`--path_to_vid`传入视频所在的文件路径,例如:
 
 ```Shell
 python demo.py --mode video \
-               --path_to_img data/demo/videos/your_video \
+               --path_to_vid data/demo/videos/your_video \
+               --dataset coco \
                --cuda \
                --img_size 640 \
-               -m yolov2 \
-               --weight path/to/weight \
+               --model yolov2 \
+               --weight path/to/yolov2_coco.pth \
                --show \
                --gif
 ```
@@ -192,9 +177,10 @@ python demo.py --mode video \
 ```Shell
 python demo.py --mode camera \
                --cuda \
+               --dataset coco \
                --img_size 640 \
-               -m yolov2 \
-               --weight path/to/weight \
+               --model yolov2 \
+               --weight path/to/yolov2_coco.pth \
                --show \
                --gif
 ```
@@ -206,11 +192,12 @@ python demo.py --mode camera \
 
 ```Shell
 python demo.py --mode video \
-                --path_to_vid ./dataset/demo/videos/000006.mp4 \
+               --path_to_vid ./dataset/demo/videos/000006.mp4 \
                --cuda \
+               --dataset coco \
                --img_size 640 \
-               -m yolov2 \
-               --weight path/to/weight \
+               --model yolov2 \
+               --weight path/to/yolov2_coco.pth \
                --show \
                --gif
 ```
@@ -228,10 +215,10 @@ python demo.py --mode video \
 python track.py --mode image \
                 --path_to_img path/to/images/ \
                 --cuda \
-                -size 640 \
+                --img_size 640 \
                 -dt yolov2 \
                 -tk byte_tracker \
-                --weight path/to/coco_pretrained/ \
+                --weight path/to/yolov2_coco.pth \
                 --show \
                 --gif
 ```
@@ -242,10 +229,10 @@ python track.py --mode image \
 python track.py --mode video \
                 --path_to_img path/to/video/ \
                 --cuda \
-                -size 640 \
+                --img_size 640 \
                 -dt yolov2 \
                 -tk byte_tracker \
-                --weight path/to/coco_pretrained/ \
+                --weight path/to/yolov2_coco.pth \
                 --show \
                 --gif
 ```
@@ -255,10 +242,10 @@ python track.py --mode video \
 ```Shell
 python track.py --mode camera \
                 --cuda \
-                -size 640 \
+                --img_size 640 \
                 -dt yolov2 \
                 -tk byte_tracker \
-                --weight path/to/coco_pretrained/ \
+                --weight path/to/yolov2_coco.pth \
                 --show \
                 --gif
 ```
@@ -273,10 +260,10 @@ python track.py --mode camera \
 ```Shell
 python track.py --mode video \
                 --path_to_img ./dataset/demo/videos/000006.mp4 \
-                -size 640 \
+                --img_size 640 \
                 -dt yolov2 \
                 -tk byte_tracker \
-                --weight path/to/coco_pretrained/ \
+                --weight path/to/yolov2_coco.pth \
                 --show \
                 --gif
 ```

+ 1 - 1
demo.py

@@ -284,7 +284,7 @@ def run():
     class_indexs = data_cfg['class_indexs']
 
     # build model
-    model = build_model(args, model_cfg, device, args.num_classes, False)
+    model = build_model(args, model_cfg, device, num_classes, False)
 
     # load trained weight
     model = load_weight(model, args.weight, args.fuse_conv_bn)

+ 5 - 5
models/detectors/yolov1/README.md

@@ -26,27 +26,27 @@ python -m torch.distributed.run --nproc_per_node=8 train.py --cuda -dist -d coco
 ## Test YOLOv1
 Taking testing YOLOv1 on COCO-val as the example,
 ```Shell
-python test.py --cuda -d coco --root path/to/coco -m yolov1 --weight path/to/yolov1.pth -size 640 -vt 0.3 --show 
+python test.py --cuda -d coco --root path/to/coco -m yolov1 --weight path/to/yolov1_coco.pth -size 640 --show 
 ```
 
 ## Evaluate YOLOv1
 Taking evaluating YOLOv1 on COCO-val as the example,
 ```Shell
-python eval.py --cuda -d coco-val --root path/to/coco -m yolov1 --weight path/to/yolov1.pth 
+python eval.py --cuda -d coco --root path/to/coco -m yolov1 --weight path/to/yolov1_coco.pth 
 ```
 
 ## Demo
 ### Detect with Image
 ```Shell
-python demo.py --mode image --path_to_img path/to/image_dirs/ --cuda -m yolov1 --weight path/to/weight -size 640 -vt 0.3 --show
+python demo.py --mode image --path_to_img path/to/image_dirs/ --cuda -m yolov1 --weight path/to/yolov1_coco.pth -size 640 --show
 ```
 
 ### Detect with Video
 ```Shell
-python demo.py --mode video --path_to_vid path/to/video --cuda -m yolov1 --weight path/to/weight -size 640 -vt 0.3 --show --gif
+python demo.py --mode video --path_to_vid path/to/video --cuda -m yolov1 --weight path/to/yolov1_coco.pth -size 640 --show --gif
 ```
 
 ### Detect with Camera
 ```Shell
-python demo.py --mode camera --cuda -m yolov1 --weight path/to/weight -size 640 -vt 0.3 --show --gif
+python demo.py --mode camera --cuda -m yolov1 --weight path/to/yolov1_coco.pth -size 640 --show --gif
 ```

+ 5 - 5
models/detectors/yolov2/README.md

@@ -25,27 +25,27 @@ python -m torch.distributed.run --nproc_per_node=8 train.py --cuda -dist -d coco
 ## Test YOLOv2
 Taking testing YOLOv2 on COCO-val as the example,
 ```Shell
-python test.py --cuda -d coco --root path/to/coco -m yolov2 --weight path/to/yolov2.pth -size 640 -vt 0.3 --show 
+python test.py --cuda -d coco --root path/to/coco -m yolov2 --weight path/to/yolov2_coco.pth -size 640 --show 
 ```
 
 ## Evaluate YOLOv2
 Taking evaluating YOLOv2 on COCO-val as the example,
 ```Shell
-python eval.py --cuda -d coco-val --root path/to/coco -m yolov2 --weight path/to/yolov2.pth 
+python eval.py --cuda -d coco --root path/to/coco -m yolov2 --weight path/to/yolov2_coco.pth
 ```
 
 ## Demo
 ### Detect with Image
 ```Shell
-python demo.py --mode image --path_to_img path/to/image_dirs/ --cuda -m yolov2 --weight path/to/weight -size 640 -vt 0.3 --show
+python demo.py --mode image --path_to_img path/to/image_dirs/ --cuda -m yolov2 --weight path/to/yolov2_coco.pth -size 640 --show
 ```
 
 ### Detect with Video
 ```Shell
-python demo.py --mode video --path_to_vid path/to/video --cuda -m yolov2 --weight path/to/weight -size 640 -vt 0.3 --show --gif
+python demo.py --mode video --path_to_vid path/to/video --cuda -m yolov2 --weight path/to/yolov2_coco.pth -size 640 --show --gif
 ```
 
 ### Detect with Camera
 ```Shell
-python demo.py --mode camera --cuda -m yolov2 --weight path/to/weight -size 640 -vt 0.3 --show --gif
+python demo.py --mode camera --cuda -m yolov2 --weight path/to/yolov2_coco.pth -size 640 --show --gif
 ```

+ 5 - 5
models/detectors/yolov3/README.md

@@ -27,27 +27,27 @@ python -m torch.distributed.run --nproc_per_node=8 train.py --cuda -dist -d coco
 ## Test YOLOv3
 Taking testing YOLOv3 on COCO-val as the example,
 ```Shell
-python test.py --cuda -d coco --root path/to/coco -m yolov3 --weight path/to/yolov3.pth -size 640 -vt 0.4 --show 
+python test.py --cuda -d coco --root path/to/coco -m yolov3 --weight path/to/yolov3_coco.pth -size 640 --show 
 ```
 
 ## Evaluate YOLOv3
 Taking evaluating YOLOv3 on COCO-val as the example,
 ```Shell
-python eval.py --cuda -d coco-val --root path/to/coco -m yolov3 --weight path/to/yolov3.pth 
+python eval.py --cuda -d coco --root path/to/coco -m yolov3 --weight path/to/yolov3_coco.pth
 ```
 
 ## Demo
 ### Detect with Image
 ```Shell
-python demo.py --mode image --path_to_img path/to/image_dirs/ --cuda -m yolov3 --weight path/to/weight -size 640 -vt 0.4 --show
+python demo.py --mode image --path_to_img path/to/image_dirs/ --cuda -m yolov3 --weight path/to/yolov3_coco.pth -size 640 --show
 ```
 
 ### Detect with Video
 ```Shell
-python demo.py --mode video --path_to_vid path/to/video --cuda -m yolov3 --weight path/to/weight -size 640 -vt 0.4 --show --gif
+python demo.py --mode video --path_to_vid path/to/video --cuda -m yolov3 --weight path/to/yolov3_coco.pth -size 640 --show --gif
 ```
 
 ### Detect with Camera
 ```Shell
-python demo.py --mode camera --cuda -m yolov3 --weight path/to/weight -size 640 -vt 0.4 --show --gif
+python demo.py --mode camera --cuda -m yolov3 --weight path/to/yolov3_coco.pth -size 640 --show --gif
 ```

+ 1 - 2
models/detectors/yolov3/yolov3_backbone.py

@@ -149,7 +149,7 @@ if __name__ == '__main__':
     import time
     from thop import profile
     model, feats = build_backbone(model_name='darknet53', pretrained=True)
-    x = torch.randn(1, 3, 224, 224)
+    x = torch.randn(1, 3, 640, 640)
     t0 = time.time()
     outputs = model(x)
     t1 = time.time()
@@ -157,7 +157,6 @@ if __name__ == '__main__':
     for out in outputs:
         print(out.shape)
 
-    x = torch.randn(1, 3, 224, 224)
     print('==============================')
     flops, params = profile(model, inputs=(x, ), verbose=False)
     print('==============================')

+ 5 - 5
models/detectors/yolov4/README.md

@@ -27,27 +27,27 @@ python -m torch.distributed.run --nproc_per_node=8 train.py --cuda -dist -d coco
 ## Test YOLOv4
 Taking testing YOLOv4 on COCO-val as the example,
 ```Shell
-python test.py --cuda -d coco --root path/to/coco -m yolov4 --weight path/to/yolov4.pth -size 640 -vt 0.4 --show 
+python test.py --cuda -d coco --root path/to/coco -m yolov4 --weight path/to/yolov4_coco.pth -size 640 --show 
 ```
 
 ## Evaluate YOLOv4
 Taking evaluating YOLOv4 on COCO-val as the example,
 ```Shell
-python eval.py --cuda -d coco-val --root path/to/coco -m yolov4 --weight path/to/yolov4.pth 
+python eval.py --cuda -d coco --root path/to/coco -m yolov4 --weight path/to/yolov4_coco.pth
 ```
 
 ## Demo
 ### Detect with Image
 ```Shell
-python demo.py --mode image --path_to_img path/to/image_dirs/ --cuda -m yolov4 --weight path/to/weight -size 640 -vt 0.4 --show
+python demo.py --mode image --path_to_img path/to/image_dirs/ --cuda -m yolov4 --weight path/to/yolov4_coco.pth -size 640 --show
 ```
 
 ### Detect with Video
 ```Shell
-python demo.py --mode video --path_to_vid path/to/video --cuda -m yolov4 --weight path/to/weight -size 640 -vt 0.4 --show --gif
+python demo.py --mode video --path_to_vid path/to/video --cuda -m yolov4 --weight path/to/yolov4_coco.pth -size 640 --show --gif
 ```
 
 ### Detect with Camera
 ```Shell
-python demo.py --mode camera --cuda -m yolov4 --weight path/to/weight -size 640 -vt 0.4 --show --gif
+python demo.py --mode camera --cuda -m yolov4 --weight path/to/yolov4_coco.pth -size 640 --show --gif
 ```

+ 5 - 5
models/detectors/yolov5/README.md

@@ -31,27 +31,27 @@ python -m torch.distributed.run --nproc_per_node=8 train.py --cuda -dist -d coco
 ## Test YOLOv5
 Taking testing YOLOv5 on COCO-val as the example,
 ```Shell
-python test.py --cuda -d coco --root path/to/coco -m yolov5_s --weight path/to/yolov5.pth -size 640 -vt 0.4 --show 
+python test.py --cuda -d coco --root path/to/coco -m yolov5_s --weight path/to/yolov5_coco.pth -size 640 --show 
 ```
 
 ## Evaluate YOLOv5
 Taking evaluating YOLOv5 on COCO-val as the example,
 ```Shell
-python eval.py --cuda -d coco-val --root path/to/coco -m yolov5_s --weight path/to/yolov5.pth 
+python eval.py --cuda -d coco --root path/to/coco -m yolov5_s --weight path/to/yolov5_coco.pth 
 ```
 
 ## Demo
 ### Detect with Image
 ```Shell
-python demo.py --mode image --path_to_img path/to/image_dirs/ --cuda -m yolov5_s --weight path/to/weight -size 640 -vt 0.4 --show
+python demo.py --mode image --path_to_img path/to/image_dirs/ --cuda -m yolov5_s --weight path/to/yolov5_coco.pth  -size 640 --show
 ```
 
 ### Detect with Video
 ```Shell
-python demo.py --mode video --path_to_vid path/to/video --cuda -m yolov5_s --weight path/to/weight -size 640 -vt 0.4 --show --gif
+python demo.py --mode video --path_to_vid path/to/video --cuda -m yolov5_s --weight path/to/yolov5_coco.pth  -size 640 --show --gif
 ```
 
 ### Detect with Camera
 ```Shell
-python demo.py --mode camera --cuda -m yolov5_s --weight path/to/weight -size 640 -vt 0.4 --show --gif
+python demo.py --mode camera --cuda -m yolov5_s --weight path/to/weight -size 640 --show --gif
 ```