Nota: Reimplementé RCNN más rápido en este proyecto cuando comencé a aprender Pytorch. Luego uso Pytorch en todos mis proyectos. Todavía recuerdo que me costó una semana descubrir cómo construir el código CUDA como una capa de Pytorch :). Pero en realidad, esta no es una buena implementación y no logré el mismo mapa que el código Caffe original.
Este proyecto ya no se mantiene y puede no compatible con el Pytorch más nuevo (después de 0.4.0). Entonces sugiero:
Esta es una implementación de Pytorch de RCNN más rápida. Este proyecto se basa principalmente en Py-Faster-RCNN y TFFRCNN.
Para obtener detalles sobre R-CNN, consulte el documento R-CNN más rápido: hacia la detección de objetos en tiempo real con las redes de propuestas de región por Shaoqing Ren, Kaiming HE, Ross Girshick, Jian Sun.
Instale los requisitos (puede usar PIP o Anaconda):
conda install pip pyyaml sympy h5py cython numpy scipy
conda install -c menpo opencv3
pip install easydict
Clon el repositorio R-CNN más rápido
git clone [email protected]:longcw/faster_rcnn_pytorch.gitConstruya los módulos Cython para NMS y la capa ROI_POOLING
cd faster_rcnn_pytorch/faster_rcnn
./make.sh Descargue el modelo entrenado VGGNET_FAST_RCNN_ITER_70000.H5 (actualizado) y configure la ruta del modelo en demo.py
Demo python demo.py
Siga este proyecto (TFFRCNN) para descargar y preparar la capacitación, validación, datos de prueba y el modelo VGG16 previamente entrenado en Imagenet.
Dado que el programa que carga los datos en faster_rcnn_pytorch/data de forma predeterminada, puede establecer la ruta de datos de lo siguiente.
cd faster_rcnn_pytorch
mkdir data
cd data
ln -s $VOCdevkit VOCdevkit2007 Luego puede establecer algunos hiperparametros en los parámetros train.py y entrenamiento en el archivo .yml .
Ahora obtuve un mapa de 0.661 en VOC07, mientras que el documento de origen obtuvo un mapa de 0.699. Es posible que deba ajustar la función de pérdida definida en faster_rcnn/faster_rcnn.py usted mismo.
Con la ayuda del crayón, podemos acceder al poder de visualización de Tensorboard para cualquier marco de aprendizaje profundo.
Para usar el TensorBoard, instale Crayon (https://github.com/torrvision/crayon) y establezca use_tensorboard = True en faster_rcnn/train.py .
Establezca la ruta del modelo entrenado en test.py
cd faster_rcnn_pytorch
mkdir output
python test.pyLicencia: Licencia MIT (MIT)