Catatan: Proyek ini tidak lagi dipertahankan dan mungkin tidak kompatibel dengan pytorch terbaru (setelah 0.4.0).
Ini adalah implementasi Pytorch dari YOLOV2. Proyek ini terutama didasarkan pada Darkflow dan Darknet.
Saya menggunakan ekstensi Cython untuk postprocessing dan multiprocessing.Pool untuk preprocessing gambar. Menguji gambar di VOC2007 harganya sekitar 13 ~ 20ms.
Untuk detail tentang Yolo dan YOLOV2, silakan merujuk ke halaman proyek mereka dan makalah: Yolo9000: Lebih baik, lebih cepat, lebih kuat oleh Joseph Redmon dan Ali Farhadi .
Catatan 1: Ini masih merupakan proyek eksperimental. Peta tes VOC07 adalah sekitar 0,71 (dilatih pada VOC07+12 TrainVal, dilaporkan oleh @cory8249). Lihat masalah1 dan masalah23 untuk detail lebih lanjut tentang pelatihan.
Catatan 2: Saya sarankan untuk menulis Dataloader Anda sendiri menggunakan torch.utils.data.dataset karena multiprocessing.Pool.imap tidak akan berhenti bahkan tidak ada ruang memori yang cukup. Contoh dataloader untuk VocDataSet: Isue71.
Catatan 3: Tingkatkan ke Pytorch 0.4: #59
Kloning repositori ini
git clone [email protected]:longcw/yolo2-pytorch.git Bangun Lapisan Reorg ( tf.extract_image_patches )
cd yolo2-pytorch
./make.sh Unduh model terlatih yoloo-voc.weights.h5 (tautan diperbarui) dan atur jalur model di demo.py
Jalankan demo python demo.py
Anda dapat melatih YOLO2 pada dataset apa pun. Di sini kami melatihnya di VOC2007/2012.
Unduh pelatihan, validasi, data uji dan 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 Ekstrak semua tar ini ke dalam satu direktori bernama VOCdevkit
tar xvf VOCtrainval_06-Nov-2007.tar
tar xvf VOCtest_06-Nov-2007.tar
tar xvf VOCdevkit_08-Jun-2007.tarItu harus memiliki struktur dasar ini
$VOCdevkit / # development kit
$VOCdevkit /VOCcode/ # VOC utility code
$VOCdevkit /VOC2007 # image sets, annotations, etc.
# ... and several other directories ... Karena program memuat data di yolo2-pytorch/data secara default, Anda dapat mengatur jalur data sebagai berikut.
cd yolo2-pytorch
mkdir data
cd data
ln -s $VOCdevkit VOCdevkit2007 Unduh model darknet19 pretrained (tautan diperbarui) dan atur jalur di yolo2-pytorch/cfgs/exps/darknet19_exp1.py .
(Opsional) Pelatihan dengan Tensorboard.
Untuk menggunakan Tensorboard, atur use_tensorboard = True di yolo2-pytorch/cfgs/config.py dan instal tensorboardx (https://github.com/lanpa/tensorboard-pytorch). Log Tensorboard akan disimpan dalam training/runs .
Jalankan program pelatihan: python train.py .
Atur jalur yang trained_model di yolo2-pytorch/cfgs/config.py .
cd faster_rcnn_pytorch
mkdir output
python test.pyPass maju mengharuskan Anda menyediakan 4 argumen ke jaringan:
im_data - Data gambar.C x H x W , di mana C sesuai dengan saluran warna gambar dan H dan W masing -masing adalah tinggi dan lebar.imcv2_recolor yang disediakan di utils/im_transform.py untuk preprocess gambar Anda. Juga, pastikan bahwa gambar telah diubah ukurannya menjadi 416 x 416 pikselgt_boxes - Daftar array numpy , di mana masing -masing berukuran N x 4 , di mana N adalah jumlah fitur dalam gambar. Empat nilai di setiap baris harus sesuai dengan x_bottom_left , y_bottom_left , x_top_right , dan y_top_right .gt_classes - Daftar array numpy , di mana setiap array berisi nilai integer yang sesuai dengan kelas setiap kotak pembatas yang disediakan dalam gt_boxesdontcare - daftar daftarLisensi: Lisensi MIT (MIT)