หมายเหตุ: โครงการนี้ไม่ได้รับการดูแลอีกต่อไปและอาจไม่เข้ากันกับ 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 และฉบับที่ 23 สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการฝึกอบรม
หมายเหตุ 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.wocights.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 แยก Tars เหล่านี้ทั้งหมดออกเป็นไดเรกทอรีหนึ่งชื่อ 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 Pretrained (อัปเดตลิงก์) และตั้งค่าเส้นทางใน 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.pyForward Pass ต้องการให้คุณจัดหาข้อโต้แย้ง 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_rightgt_classes - รายการของอาร์เรย์ numpy ซึ่งแต่ละอาร์เรย์มีค่าจำนวนเต็มที่สอดคล้องกับคลาสของแต่ละกล่องขอบเขตที่มีให้ใน gt_boxesdontcare - รายการของรายการใบอนุญาต: ใบอนุญาต MIT (MIT)