Примечание. Этот проект больше не поддерживается и может не совместим с новейшим пирогом (после 0,4,0).
Это реализация пит -пирогации Yolov2. Этот проект в основном основан на Darkflow и Darknet.
Я использовал расширение цинтона для постобработки и multiprocessing.Pool . Тестирование изображения в VOC2007 стоит около 13 ~ 20 мс.
Для получения подробной информации о YOLO и YOLOV2, пожалуйста, обратитесь к их странице проекта и статье: YOLO9000: Лучше, быстрее, сильнее Джозеф Редмон и Али Фархади .
Примечание 1: Это все еще экспериментальный проект. Карта тестирования VOC07 составляет около 0,71 (обученная на VOC07+12 TrainVal, сообщает @Cory8249). См. Выпуск1 и Выпуск23 для получения более подробной информации о обучении.
ПРИМЕЧАНИЕ 2: Я рекомендую написать ваш собственный DataLoader с помощью TORCH.Uutils.data.dataset С момента multiprocessing.Pool.imap . Пример dataloader для Vocdataset: Voyes71.
Примечание 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
Запустить демонстрацию 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 (обновленная ссылка) и установите путь в 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 - список списковЛицензия: лицензия MIT (MIT)