ملاحظة: لم يعد هذا المشروع يتم الحفاظ عليه وقد لا يكون متوافقًا مع أحدث Pytorch (بعد 0.4.0).
هذا هو تطبيق Pytorch من Yolov2. يعتمد هذا المشروع بشكل أساسي على Darkflow و Darknet.
لقد استخدمت امتداد Cython لما بعد المعالجة والمعالجة multiprocessing.Pool . اختبار صورة في VOC2007 يكلف حوالي 13 ~ 20ms.
للحصول على تفاصيل حول Yolo و Yolov2 ، يرجى الرجوع إلى صفحة المشروع والورقة: Yolo9000: أفضل ، أسرع ، أقوى من جوزيف ريدمون وعلي فرحادي .
ملاحظة 1: لا يزال هذا مشروعًا تجريبيًا. خريطة اختبار VOC07 حوالي 0.71 (تم تدريبها على VOC07+12 Trainval ، والتي أبلغ عنها @cory8249). انظر العدد 1 و ageze23 لمزيد من التفاصيل حول التدريب.
ملاحظة 2: أوصي بكتابة dataloader الخاصة بك باستخدام torch.utils.data.dataset منذ multiprocessing.Pool.imap . مثال على dataloader لـ vocdataset: العدد 71.
الملاحظة 3: الترقية إلى Pytorch 0.4: #59
استنساخ هذا المستودع
git clone [email protected]:longcw/yolo2-pytorch.git بناء طبقة reorg ( tf.extract_image_patches )
cd yolo2-pytorch
./make.sh قم بتنزيل النموذج المدرب yolo-voc.weights.h5 (الرابط المحدث) وضبط مسار النموذج في demo.py
تشغيل Demo python demo.py
يمكنك تدريب YOLO2 على أي مجموعة بيانات. هنا نقوم بتدريبه على Voc2007/2012.
قم بتنزيل التدريب والتحقق من الصحة وبيانات الاختبار و Vocdevkit
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
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCdevkit_08-Jun-2007.tar استخراج كل هذه القطرات في دليل واحد يدعى VOCdevkit
tar xvf VOCtrainval_06-Nov-2007.tar
tar xvf VOCtest_06-Nov-2007.tar
tar xvf VOCdevkit_08-Jun-2007.tarيجب أن يكون لهذا الهيكل الأساسي
$VOCdevkit / # development kit
$VOCdevkit /VOCcode/ # VOC utility code
$VOCdevkit /VOC2007 # image sets, annotations, etc.
# ... and several other directories ... نظرًا لأن البرنامج يقوم بتحميل البيانات في yolo2-pytorch/data افتراضيًا ، يمكنك تعيين مسار البيانات على النحو التالي.
cd yolo2-pytorch
mkdir data
cd data
ln -s $VOCdevkit VOCdevkit2007 قم بتنزيل نموذج DarkNet19 المسبق (تم تحديث الرابط) وقم بتعيين المسار في yolo2-pytorch/cfgs/exps/darknet19_exp1.py .
(اختياري) التدريب مع Tensorboard.
لاستخدام tensorboard ، قم بتعيين use_tensorboard = True في yolo2-pytorch/cfgs/config.py وتثبيت tensorboardx (https://github.com/lanpa/tensorboard-pytorch). سيتم حفظ سجل Tensorboard في training/runs .
تشغيل البرنامج التدريبي: python train.py .
قم بتعيين مسار trained_model في yolo2-pytorch/cfgs/config.py .
cd faster_rcnn_pytorch
mkdir output
python test.pyيتطلب التمرير الأمامي أن تقوم بتوفير 4 وسيطات للشبكة:
im_data - بيانات الصورة.C x H x W ، حيث C يتوافق مع قنوات الألوان للصورة و H و W هما الارتفاع والعرض على التوالي.imcv2_recolor المتوفرة في utils/im_transform.py لمعالجة صورتك المسبقة. تأكد أيضًا من تغيير حجم الصور إلى 416 x 416 بكسلgt_boxes - قائمة من المصفوفات numpy ، حيث يكون كل واحد حجم N x 4 ، حيث N هو عدد الميزات في الصورة. يجب أن تتوافق القيم الأربع في كل صف مع x_bottom_left و y_bottom_left و x_top_right و y_top_right .gt_classes - قائمة من المصفوفات numpy ، حيث تحتوي كل صفيف على قيمة عدد صحيح تتوافق مع فئة كل مربع gt_boxesdontcare - قائمة القوائمالترخيص: رخصة معهد ماساتشوستس للتكنولوجيا (معهد ماساتشوستس للتكنولوجيا)