Примечание: в этом проекте я заново внедрил RCNN, когда начал изучать Pytorch. Затем я использую Pytorch во всех своих проектах. Я до сих пор помню, что мне стоило одна неделя выяснить, как создать код CUDA в качестве слоя Pytorch :). Но на самом деле это не хорошая реализация, и я не достиг той же карты, что и исходный код Caffe.
Этот проект больше не поддерживается и может не совместим с новым пирогом (после 0,4,0). Итак, я предлагаю:
Это реализация Pytorch более быстрого RCNN. Этот проект в основном основан на PY-FAST-RCNN и TFFRCNN.
Для получения подробной информации о R-CNN, пожалуйста, обратитесь к бумаге быстрее R-CNN: к обнаружению объектов в реальном времени с сети предложений региона Шаоцином Реном, Kaiming HE, Ross Girshick, Jian Sun.
Установите требования (вы можете использовать PIP или Anaconda):
conda install pip pyyaml sympy h5py cython numpy scipy
conda install -c menpo opencv3
pip install easydict
Клонировать более быстрый репозиторий R-CNN
git clone [email protected]:longcw/faster_rcnn_pytorch.gitСоздайте модули цинтона для NMS и слоя roi_pooling
cd faster_rcnn_pytorch/faster_rcnn
./make.sh Загрузите обученную модель vggnet_fast_rcnn_iter_70000.h5 (обновлена) и установите путь модели в demo.py
Запустить демонстрацию python demo.py
Следуйте этому проекту (TFFRCNN), чтобы загрузить и подготовить обучение, валидацию, тестовые данные и модель VGG16, предварительно обученную на ImageNet.
Поскольку программа, загружающая данные в faster_rcnn_pytorch/data по умолчанию, вы можете установить путь данных следующим образом.
cd faster_rcnn_pytorch
mkdir data
cd data
ln -s $VOCdevkit VOCdevkit2007 Затем вы можете установить некоторые гиперпараметры в train.py и параметры обучения в файле .yml .
Теперь я получил карту 0,661 на VOC07, в то время как оригинальная бумага получила карту 0,699. Возможно, вам потребуется настроить функцию потери, определенную в faster_rcnn/faster_rcnn.py самостоятельно.
С помощью Crayon мы можем получить доступ к силе визуализации Tensorboard для любой структуры глубокого обучения.
Чтобы использовать Tensorboard, установите Crayon (https://github.com/torrvision/crayon) и установите use_tensorboard = True in faster_rcnn/train.py .
Установите путь обученной модели в test.py
cd faster_rcnn_pytorch
mkdir output
python test.pyЛицензия: лицензия MIT (MIT)