Tipps: : , 目标检测、目标跟踪、语义分割等 , 小型数据集详询 小型数据集详询 QQ3419923783
| Name | Zugdatensatz | Datensatz testen | Testgröße | Karte | Inferenzzeit (MS) | Parameter (m) | Modelllink |
|---|---|---|---|---|---|---|---|
| mobilenetv2-yolov4 | VOC Trainval (07+12) | VOC -Test (07) | 416 | 0,851 | 11.29 | 46,34 | Args |
Mobilenetv3-yolov4 kommt an! (Sie müssen nur das model_type in config/yolov4_config.py) ändern.
Dieses Repo fügt einige nützliche Aufmerksamkeitsmethoden im Rückgrat hinzu. Die folgenden Bilder veranschaulichen solche:


Dieses Repo ist einfach zu bedienen, leicht zu lesen und unkompliziert zu verbessern im Vergleich zu anderen !!!
Führen Sie das Installationsskript aus, um alle Abhängigkeiten zu installieren. Sie müssen den Conda Install-Pfad (z. ~/Anaconda3) und den Namen für die erstellte Conda-Umgebung (hier YOLOv4-pytorch ) bereitstellen.
pip3 install -r requirements.txt --userHINWEIS: Das Installationsskript wurde auf einem Ubuntu 18.04- und Fenster 10 -System getestet. Überprüfen Sie bei Problemen die detaillierten Installationsanweisungen.
git clone github.com/argusswift/YOLOv4-pytorch.git Aktualisieren Sie das "PROJECT_PATH" in der config/yolov4_config.py.
# Download the data.
cd $HOME /data
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar
# Extract the data.
tar -xvf VOCtrainval_11-May-2012.tar
tar -xvf VOCtrainval_06-Nov-2007.tar
tar -xvf VOCtest_06-Nov-2007.tar # step1: download the following data and annotation
2017 Train images [118K/18GB]
2017 Val images [5K/1GB]
2017 Test images [41K/6GB]
2017 Train/Val annotations [241MB]
# step2: arrange the data to the following structure
COCO
---train
---test
---val
---annotations"DATA_PATH" in der config/yolov4_config.py.weight/ im Yolov4 und geben Sie die Gewichtsdatei ein. Führen Sie den folgenden Befehl aus, um das Training zu starten, und sehen Sie die Details in der config/yolov4_config.py und Sie sollten data_type IS VOC oder COCO festlegen, wenn Sie das Trainingsprogramm ausführen.
CUDA_VISIBLE_DEVICES=0 nohup python -u train.py --weight_path weight/yolov4.weights --gpu_id 0 > nohup.log 2>&1 & Auch * Es unterstützt es, das Training hinzuzufügen. Das Hinzufügen --resume , es wird last.pt automatisch geladen, indem es CommAD verwendet
CUDA_VISIBLE_DEVICES=0 nohup python -u train.py --weight_path weight/last.pt --gpu_id 0 > nohup.log 2>&1 & Ändern Sie Ihren Erkennungs -IMG -Pfad: data_test =/path/to/Your/test_data # Ihre eigenen Bilder
for VOC dataset:
CUDA_VISIBLE_DEVICES=0 python3 eval_voc.py --weight_path weight/best.pt --gpu_id 0 --visiual $DATA_TEST --eval --mode det
for COCO dataset:
CUDA_VISIBLE_DEVICES=0 python3 eval_coco.py --weight_path weight/best.pt --gpu_id 0 --visiual $DATA_TEST --eval --mode det Die Bilder sind im output/ zu sehen. Sie konnten Bilder wie folgt sehen:

Ändern:
CUDA_VISIBLE_DEVICES=0 python3 video_test.py --weight_path best.pt --gpu_id 0 --video_path video.mp4 --output_dir --output_dirÄndern Sie Ihren Datensatz -Pfad für den Evaluieren: data_path =/path/to/your/test_data # Ihre eigenen Bilder
for VOC dataset:
CUDA_VISIBLE_DEVICES=0 python3 eval_voc.py --weight_path weight/best.pt --gpu_id 0 --visiual $DATA_TEST --eval --mode val
Wenn Sie das Bild oben sehen möchten, sollten Sie Follow -Befehle verwenden:
# To get ground truths of your dataset
python3 utils/get_gt_txt.py
# To plot P-R curve and calculate mean average precision
python3 utils/get_map.py Ändern Sie Ihren Datensatz -Pfad für den Evaluieren: data_path =/path/to/your/test_data # Ihre eigenen Bilder
CUDA_VISIBLE_DEVICES=0 python3 eval_coco.py --weight_path weight/best.pt --gpu_id 0 --visiual $DATA_TEST --eval --mode val
type=bbox
Running per image evaluation... DONE (t=0.34s).
Accumulating evaluation results... DONE (t=0.08s).
Average Precision (AP) @[ IoU = 0.50:0.95 | area = all | maxDets = 100 ] = 0.438
Average Precision (AP) @[ IoU = 0.50 | area = all | maxDets = 100 ] = 0.607
Average Precision (AP) @[ IoU = 0.75 | area = all | maxDets = 100 ] = 0.469
Average Precision (AP) @[ IoU = 0.50:0.95 | area = small | maxDets = 100 ] = 0.253
Average Precision (AP) @[ IoU = 0.50:0.95 | area = medium | maxDets = 100 ] = 0.486
Average Precision (AP) @[ IoU = 0.50:0.95 | area = large | maxDets = 100 ] = 0.567
Average Recall (AR) @[ IoU = 0.50:0.95 | area = all | maxDets = 1 ] = 0.342
Average Recall (AR) @[ IoU = 0.50:0.95 | area = all | maxDets = 10 ] = 0.571
Average Recall (AR) @[ IoU = 0.50:0.95 | area = all | maxDets = 100 ] = 0.632
Average Recall (AR) @[ IoU = 0.50:0.95 | area = small | maxDets = 100 ] = 0.458
Average Recall (AR) @[ IoU = 0.50:0.95 | area = medium | maxDets = 100 ] = 0.691
Average Recall (AR) @[ IoU = 0.50:0.95 | area = large | maxDets = 100 ] = 0.790python3 utils/modelsize.pySet showatt = ture in val_voc.py und Sie werden sehen, dass die Heatmaps aus der Netzwerkausgabe entstanden sind
for VOC dataset:
CUDA_VISIBLE_DEVICES=0 python3 eval_voc.py --weight_path weight/best.pt --gpu_id 0 --visiual $DATA_TEST --eval
for COCO dataset:
CUDA_VISIBLE_DEVICES=0 python3 eval_coco.py --weight_path weight/best.pt --gpu_id 0 --visiual $DATA_TEST --eval Die Heatmaps sind im output/ wie folgt zu sehen:
