Hinweis: Ich habe in diesem Projekt schnellere RCNN implementiert, als ich anfing, Pytorch zu lernen. Dann benutze ich Pytorch in all meinen Projekten. Ich erinnere mich noch daran, dass es eine Woche gekostet hat, um herauszufinden, wie man Cuda -Code als Pytorch -Schicht erstellt :). Aber tatsächlich ist dies keine gute Implementierung und ich habe nicht die gleiche Karte wie der ursprüngliche Caffe -Code erreicht.
Dieses Projekt ist nicht mehr beibehalten und ist möglicherweise nicht mit dem neuesten Pytorch (nach 0,4.0) kompatibel. Also schlage ich vor:
Dies ist eine Pytorch -Implementierung von schnellerem RCNN. Dieses Projekt basiert hauptsächlich auf py-fähigen RCNN und TFFRCNN.
Weitere Informationen zu R-CNN finden Sie in der Zeitung schneller R-CNN: In Richtung Echtzeit-Objekterkennung mit Region Vorschlägen von Shaoqing Ren, Kaiming He, Ross Girshick, Jian Sun.
Installieren Sie die Anforderungen (Sie können PIP oder Anaconda verwenden):
conda install pip pyyaml sympy h5py cython numpy scipy
conda install -c menpo opencv3
pip install easydict
Klonen Sie das schnellere R-CNN-Repository
git clone [email protected]:longcw/faster_rcnn_pytorch.gitErstellen Sie die Cython -Module für NMS und die ROI_Pooling -Schicht
cd faster_rcnn_pytorch/faster_rcnn
./make.sh Laden Sie das ausgebildete Modell VGGNet_Fast_RCNN_iter_70000.h5 (aktualisiert) herunter und legen Sie den Modellpfad in demo.py fest
Führen Sie Demo python demo.py aus
Folgen Sie diesem Projekt (TFFRCNN), um das Training, die Validierung, die Testdaten und das VGG16-Modell vorzubereiten und auf ImageNet vorzubereiten.
Da das Programm die Daten standardmäßig in faster_rcnn_pytorch/data in faster_rcnn_pytorch/daten lädt, können Sie den Datenpfad wie folgt festlegen.
cd faster_rcnn_pytorch
mkdir data
cd data
ln -s $VOCdevkit VOCdevkit2007 Anschließend können Sie einige Hyperparameter in train.py und Trainingsparametern in der .yml Datei einstellen.
Jetzt habe ich eine 0,661 -Karte auf VOC07 erhalten, während das Ursprungspapier eine Karte von 0,699 erhielt. Möglicherweise müssen Sie die Verlustfunktion einstellen, die selbst in faster_rcnn/faster_rcnn.py definiert ist.
Mit Hilfe von Buntstift können wir auf die Visualisierungskraft des Tensorboards für jeden Deep -Learning -Framework zugreifen.
Um das Tensorboard zu verwenden, installieren Sie Crayon (https://github.com/torrvision/crayon) und setzen Sie use_tensorboard = True in faster_rcnn/train.py .
Stellen Sie den Pfad des trainierten Modells in test.py .
cd faster_rcnn_pytorch
mkdir output
python test.pyLizenz: MIT Lizenz (MIT)