نصائح : 深度学习指导 , 目标检测、目标跟踪、语义分割等 , 小型数据集详询 QQ3419923783
| اسم | مجموعة بيانات القطار | اختبار مجموعة البيانات | حجم الاختبار | رسم خريطة | وقت الاستنتاج (MS) | params (M) | رابط النموذج |
|---|---|---|---|---|---|---|---|
| mobilenetv2-yolov4 | VOC Trainval (07+12) | اختبار VOC (07) | 416 | 0.851 | 11.29 | 46.34 | args |
Mobilenetv3-yolov4 تصل! (تحتاج فقط إلى تغيير Model_type في config/yolov4_config.py)
يضيف هذا الريبو بعض طرق الاهتمام المفيدة في العمود الفقري. الصور التالية توضح مثل هذا الشيء:


هذا الريبو سهل الاستخدام وسهل القراءة وغير معقد للتحسين مقارنة مع الآخرين !!!
قم بتشغيل البرنامج النصي للتثبيت لتثبيت جميع التبعيات. تحتاج إلى توفير مسار تثبيت conda (على سبيل المثال/anaconda3) واسم بيئة كوندا التي تم إنشاؤها (هنا YOLOv4-pytorch ).
pip3 install -r requirements.txt --userملاحظة: تم اختبار البرنامج النصي للتثبيت على نظام Ubuntu 18.04 و Window 10. في حالة المشكلات ، تحقق من تعليمات التثبيت التفصيلية.
git clone github.com/argusswift/YOLOv4-pytorch.git قم بتحديث "PROJECT_PATH" في 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" في config/yolov4_config.py.weight/ في YOLOV4 ووضع ملف الوزن فيه. قم بتشغيل الأمر التالي لبدء التدريب وشاهد التفاصيل في config/yolov4_config.py ويجب عليك تعيين Data_type هو Voc أو Coco عند تشغيل برنامج التدريب.
CUDA_VISIBLE_DEVICES=0 nohup python -u train.py --weight_path weight/yolov4.weights --gpu_id 0 > nohup.log 2>&1 & أيضا * يدعم لاستئناف التدريب إضافة --resume ، سيتم last.pt بشكل تلقائي باستخدام commad
CUDA_VISIBLE_DEVICES=0 nohup python -u train.py --weight_path weight/last.pt --gpu_id 0 > nohup.log 2>&1 & قم بتعديل مسار Detecte IMG: data_test =/path/to/your/test_data # صورك الخاصة
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 يمكن رؤية الصور في output/ . يمكنك رؤية صور مثل التالية:

يُعدِّل:
CUDA_VISIBLE_DEVICES=0 python3 video_test.py --weight_path best.pt --gpu_id 0 --video_path video.mp4 --output_dir --output_dirقم بتعديل مسار مجموعة البيانات: data_path =/path/to/your/test_data # صورك الخاصة
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
إذا كنت تريد رؤية الصورة أعلاه ، فيجب عليك استخدام أوامر متابعة:
# 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 قم بتعديل مسار مجموعة البيانات: data_path =/path/to/your/test_data # صورك الخاصة
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 في val_voc.py وسترى خرائط الحرارة ظهرت من إخراج الشبكة
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 يمكن رؤية خرائط الحرارة في output/ مثل هذا:
