Descrição
py-faster-rcnn é uma reimplementação em Python do framework de detecção de objetos Faster R-CNN, originalmente desenvolvido em MATLAB. Este projeto, hospedado no GitHub, visa fornecer uma versão funcional em Python para pesquisadores e desenvolvedores. Embora atinja uma precisão média (mAP) semelhante ao código oficial em MATLAB, é aproximadamente 10% mais lento no tempo de teste. Essa diferença de desempenho é atribuída a certas operações executadas na CPU dentro das camadas Python, resultando em aproximadamente 220ms por imagem para VGG16 em comparação com 200ms para a versão MATLAB.
A implementação é construída sobre um fork do Fast R-CNN e inclui recursos como treinamento conjunto aproximado, que é cerca de 1,5 vezes mais rápido que a otimização alternada para VGG16. O projeto foi inicialmente descrito em um relatório técnico do arXiv e posteriormente publicado no NIPS 2015. Ele é lançado sob a Licença MIT.
A instalação envolve clonar o repositório, compilar módulos Cython e compilar o Caffe com suporte à camada Python. Os usuários são aconselhados a garantir que sua compilação do Caffe inclua `WITH_PYTHON_LAYER := 1` e opcionalmente `USE_CUDNN := 1` em seu `Makefile.config`. O projeto fornece scripts para baixar detectores pré-computados e modelos pré-treinados do ImageNet para redes como ZF e VGG16. Um script de demonstração está disponível para exibir as capacidades de detecção no PASCAL VOC 2007.
Para treinamento e teste, os usuários podem empregar scripts para otimização alternada (`faster_rcnn_alt_opt.sh`) e treinamento conjunto aproximado (`faster_rcnn_end2end.sh`). Este último método treina a Rede de Proposta de Região (RPN) conjuntamente com a rede Fast R-CNN, levando a tempos de treinamento mais rápidos com precisão de detecção comparável. Artefatos de saída, incluindo modelos treinados e resultados de teste, são organizados no diretório `$FRCN_ROOT/output`.
É importante notar que o py-faster-rcnn foi descontinuado. O projeto recomenda que os usuários consultem o Detectron, que inclui uma implementação do Mask R-CNN. O código oficial Faster R-CNN em MATLAB está disponível para aqueles que visam reproduzir os resultados do artigo NIPS 2015.
Destaques de py-faster-rcnn
Implementação em Python do Faster R-CNN
Suporta arquiteturas de rede VGG16, ZF e VGG_CNN_M_1024
Inclui treinamento conjunto aproximado para desenvolvimento de modelo mais rápido
Fornece uma demonstração para detecção de objetos no PASCAL VOC 2007
Compatível com Caffe e pycaffe
Oferece scripts para treinamento e teste de detectores
Requer configurações específicas de compilação do Caffe para camadas Python
Lançado sob a Licença MIT
Descontinuado em favor do Detectron
Primeiros passos com py-faster-rcnn
Clonar repositório: Obtenha o código py-faster-rcnn do GitHub.
Compilar dependências: Compile módulos Cython e Caffe com suporte à camada Python.
Baixar modelos: Obtenha detectores pré-computados e modelos pré-treinados do ImageNet.
Executar demonstração: Execute o script de demonstração para uma rápida exibição de detecção de objetos.
Configurar treinamento: Configure os datasets PASCAL VOC ou COCO para treinamento.
Treinar modelo: Use os scripts fornecidos para otimização alternada ou treinamento conjunto de ponta a ponta.
Testar modelo: Avalie os modelos treinados usando os scripts experimentais.
Integrar: Utilize os modelos treinados para tarefas de detecção de objetos.
Casos de uso de py-faster-rcnn
- Detecção de Objetos
- Análise de Imagens
- Pesquisa em Visão Computacional
- Detecção em Tempo Real
- Avaliação de Datasets








