Remarque: j'ai réimplémenté RCNN plus rapide dans ce projet lorsque j'ai commencé à apprendre Pytorch. Ensuite, j'utilise Pytorch dans tous mes projets. Je me souviens encore que cela a coûté une semaine pour moi de comprendre comment construire le code CUDA en tant que couche pytorch :). Mais en fait, ce n'est pas une bonne implémentation et je n'ai pas obtenu la même carte que le code CAFE d'origine.
Ce projet n'est plus maintenu et peut ne pas être compatible avec le plus récent Pytorch (après 0,4.0). Alors je suggère:
Il s'agit d'une implémentation Pytorch de RCNN plus rapide. Ce projet est principalement basé sur PY-Faster-RCNN et TFFRCNN.
Pour plus de détails sur R-CNN, veuillez vous référer au document plus rapide R-CNN: Vers la détection d'objets en temps réel avec les réseaux de proposition de région par Shaoqing Ren, Kaiming He, Ross Girshick, Jian Sun.
Installez les exigences (vous pouvez utiliser PIP ou Anaconda):
conda install pip pyyaml sympy h5py cython numpy scipy
conda install -c menpo opencv3
pip install easydict
Clone le référentiel R-CNN plus rapide
git clone [email protected]:longcw/faster_rcnn_pytorch.gitConstruisez les modules Cython pour NMS et la couche ROI_POOLING
cd faster_rcnn_pytorch/faster_rcnn
./make.sh Téléchargez le modèle formé vggnet_fast_rcnn_iter_70000.h5 (mis à jour) et définissez le chemin du modèle dans demo.py
Exécuter Demo python demo.py
Suivez ce projet (TFFRCNN) pour télécharger et préparer la formation, la validation, les données de test et le modèle VGG16 pré-formé sur ImageNet.
Étant donné que le programme charge des données dans faster_rcnn_pytorch/data par défaut, vous pouvez définir le chemin de données comme suit.
cd faster_rcnn_pytorch
mkdir data
cd data
ln -s $VOCdevkit VOCdevkit2007 Ensuite, vous pouvez définir des hyper-paramètres dans train.py et des paramètres de formation dans le fichier .yml .
Maintenant, j'ai obtenu une carte de 0,661 sur VOC07 tandis que le papier d'origine a obtenu une carte de 0,699. Vous devrez peut-être régler la fonction de perte définie dans faster_rcnn/faster_rcnn.py par vous-même.
À l'aide de Crayon, nous pouvons accéder à la puissance de visualisation de Tensorboard pour tout cadre d'apprentissage en profondeur.
Pour utiliser le Tensorboard, installez Crayon (https://github.com/torrVision/crayon) et définissez use_tensorboard = True in faster_rcnn/train.py .
Définissez le chemin du modèle formé dans test.py
cd faster_rcnn_pytorch
mkdir output
python test.pyLicence: Licence MIT (MIT)