Nota: Reimplementei o RCNN mais rápido neste projeto quando comecei a aprender Pytorch. Então eu uso Pytorch em todos os meus projetos. Ainda me lembro que custou uma semana para descobrir como criar o código CUDA como uma camada pytorch :). Mas, na verdade, isso não é uma boa implementação e eu não consegui o mesmo mapa que o código CAFFE original.
Este projeto não é mais mantido e pode não ser compatível com o mais novo Pytorch (após 0,4.0). Então eu sugiro:
Esta é uma implementação Pytorch de RCNN mais rápido. Este projeto é baseado principalmente em py-gast-rcnn e tffrcnn.
Para detalhes sobre o R-CNN, consulte o artigo mais rápido R-CNN: Rumo a detecção de objetos em tempo real com redes de propostas de região de Shaoqing Ren, Kaiming He, Ross Girshick, Jian Sun.
Instale os requisitos (você pode usar PIP ou Anaconda):
conda install pip pyyaml sympy h5py cython numpy scipy
conda install -c menpo opencv3
pip install easydict
Clone o repositório R-CNN mais rápido
git clone [email protected]:longcw/faster_rcnn_pytorch.gitConstrua os módulos de Cython para NMS e a camada ROI_POOLING
cd faster_rcnn_pytorch/faster_rcnn
./make.sh Faça o download do modelo treinado vggnet_fast_rcnn_iter_70000.h5 (atualizado) e defina o caminho do modelo em demo.py
Run Demo python demo.py
Siga este projeto (TFFRCNN) para baixar e preparar o treinamento, a validação, os dados de teste e o modelo VGG16 pré-treinado no ImageNet.
Como o programa carregando os dados em faster_rcnn_pytorch/data POR PADRÃO, você pode definir o caminho dos dados como a seguir.
cd faster_rcnn_pytorch
mkdir data
cd data
ln -s $VOCdevkit VOCdevkit2007 Em seguida, você pode definir alguns hiper-parâmetros em train.py e parâmetros de treinamento no arquivo .yml .
Agora eu tenho um mapa de 0,661 no VOC07, enquanto o artigo de origem obteve um mapa de 0,699. Pode ser necessário ajustar a função de perda definida em faster_rcnn/faster_rcnn.py sozinho.
Com o auxílio da giz de cera, podemos acessar o poder de visualização do Tensorboard para qualquer estrutura de aprendizado profundo.
Para usar o Tensorboard, instale o Crayon (https://github.com/torrvision/crayon) e defina use_tensorboard = True em faster_rcnn/train.py .
Defina o caminho do modelo treinado em test.py
cd faster_rcnn_pytorch
mkdir output
python test.pyLicença: MIT Licença (MIT)