Fast R-CNN
O Fast R-CNN é a evolução do r-cnn, criado para resolver o gargalo extremo de lentidão ao processar imagens, introduzindo o compartilhamento de computação convolucional e a técnica de RoI Pooling.
Como o Fast R-CNN resolveu os problemas do R-CNN
No R-CNN original, a rede passava independentemente por ~2.000 regiões propostas, o que era muito redundante e lento. O Fast R-CNN mudou esse paradigma:
-
Compartilhamento de Features: Em vez de recortar a imagem 2.000 vezes, a imagem inteira é passada pela CNN uma única vez para produzir um único feature map gigante.
-
Projeção da Proposta: O algoritmo de Selective Search ainda propõe as ~2.000 regiões, mas agora essas coordenadas são projetadas diretamente em cima do feature map já calculado, e não na imagem original.
-
RoI Pooling: Para cada região no feature map (que tem tamanhos variados), aplica-se a camada de Region of Interest Pooling, que converte a região para um tamanho fixo (essencial para as camadas densas finais). Nota: O RoI Pooling seria depois melhorado pelo roi-align no Mask R-CNN devido a problemas de arredondamento.
-
Rede Multi-task: As SVMs lentas foram substituídas por uma camada Softmax, permitindo que a classificação e o refinamento do bounding box fossem treinados juntos na mesma rede. Isso é feito otimizando uma função de perda (Loss) conjunta (Multi-task Loss):
Eq. 1: Função de perda multitarefa unificando classificação e regressão.
Onde:
- : distribuição de probabilidade calculada pela Softmax sobre as categorias da rede.
- : rótulo real (ground truth) da classe ( representa fundo/background).
- : offsets (ajustes) preditos pelo regressor de bounding box para a classe .
- : offsets reais (ground truth) da bounding box.
- : hiperparâmetro de balanceamento entre classificação e localização.
- : função indicadora que ativa a perda de regressão apenas se a proposta for um objeto real (ignorando fundos).
Vantagens e a Nova Limitação
- Treinamento End-to-End: Classificador e regressor agora são treinados simultaneamente.
- Muito mais rápido: Cerca de 200x mais rápido que o R-CNN clássico em tempo de inferência (processando uma imagem em ~2 segundos).
⚠️ O Gargalo Remanescente: A única coisa que ainda impedia o Fast R-CNN de rodar em tempo real era a dependência do Selective Search para propor regiões (que rodava na CPU). Esse problema foi resolvido posteriormente pelo faster-r-cnn.
Achados do paper original (Girshick, 2015)
O artigo não propõe apenas a arquitetura — ele testa decisões de design que valem como princípios reutilizáveis:
- Treinar todas as camadas convolucionais importa em redes muito profundas: congelar as camadas conv do VGG16 (imitando o SPP-net, que não propagava gradiente através do Spatial Pyramid Pooling) derruba o mAP de 66.9% para 61.4%. Atualizar a partir da
conv3_1já captura quase todo o ganho. - Softmax substitui as SVMs sem perda: o classificador softmax treinado ponta a ponta iguala ou supera (+0.1 a +0.8 mAP) o pipeline SVM pós-hoc com hard negative mining — eliminando o treinamento multi-estágio do r-cnn.
- Multi-task loss melhora até a classificação pura: treinar classificação e regressão de bounding box juntos melhora o mAP mesmo quando a regressão é desligada no teste (+0.8 a +1.1 pontos) — as tarefas se reforçam pela representação compartilhada.
- Escala única basta para redes profundas: pirâmides de imagem em 5 escalas adicionam ganho marginal de mAP com grande custo computacional; a rede aprende invariância de escala diretamente dos dados (s = 600px).
- Truncated SVD comprime as FCs quase de graça: fatorar as matrizes das camadas fully connected reduz mais de 30% do tempo de detecção com queda de apenas 0.3 ponto de mAP — pois as FCs respondem por ~45% do tempo de inferência quando há ~2000 RoIs.
- Mais propostas ≠ melhor detecção: subir de 1k para 10k propostas por imagem faz o mAP subir e depois cair; propostas esparsas (Selective Search) superam caixas densas (45k/imagem), que derrubam o mAP para ~53%. ⚠️ O paper mostra ainda que Average Recall não se correlaciona com mAP quando se varia o número de propostas — proxy metrics devem ser usados com cuidado.
Referências e ferramentas
- Girshick, R. “Fast R-CNN” (2015). arXiv:1504.08083 — paper original; o estudo de design da seção 5 é exemplar de ablation study.
Relacionadas: r-cnn · faster-r-cnn · roi-align · ablation-study