Faster R-CNN é um modelo de aprendizado profundo para detecção e localização de objetos, introduzido em junho de 2015 como uma evolução da família R-CNN. Ele gera propostas de regiões diretamente dentro de uma arquitetura de rede neural, eliminando a necessidade de busca seletiva externa e permitindo treinamento de ponta a ponta. Esse design melhora significativamente tanto a velocidade quanto a precisão, tornando-o um método fundamental em visão computacional.
A família R-CNN, desenvolvida por pesquisadores como Ross Girshick e Kaiming He, aborda a tarefa de identificar objetos em imagens produzindo caixas delimitadoras e rótulos de classe. O Faster R-CNN se baseia em seus predecessores, R-CNN (novembro de 2013) e Fast R-CNN (abril de 2015), ao integrar a etapa de propostas à rede, uma inovação-chave que reduz a sobrecarga computacional e melhora o desempenho em tempo real.
Arquitetura
O Faster R-CNN consiste em dois componentes principais: uma espinha dorsal convolucional (por exemplo, VGG ou ResNet) que extrai mapas de características da imagem de entrada, e uma Rede de Proposta de Regiões (RPN) que opera nesses mapas de características para gerar regiões candidatas de objetos. A RPN usa um conjunto de caixas de âncora de várias escalas e proporções de aspecto para prever pontuações de objetividade e refinamentos de caixas delimitadoras. As regiões propostas são então processadas por uma cabeça de detecção, que normalmente inclui pooling de ROI e camadas totalmente conectadas para classificação e regressão de caixas delimitadoras.
Ao contrário das versões anteriores que dependiam de busca seletiva (um algoritmo de agrupamento hierárquico) para gerar regiões de interesse, o Faster R-CNN aprende a propor regiões diretamente dos mapas de características, tornando todo o pipeline diferenciável e treinável de ponta a ponta.
Evolução do R-CNN
A família R-CNN progrediu por várias versões, cada uma abordando limitações de sua predecessora:
- R-CNN (novembro de 2013): Usava busca seletiva para gerar até 2000 regiões candidatas e, em seguida, executava uma CNN independentemente em cada região. Isso era computacionalmente caro devido a cálculos redundantes.
- Fast R-CNN (abril de 2015): Executava a CNN uma vez em toda a imagem e introduziu o pooling de ROI para extrair características de cada região, melhorando muito a velocidade. Ainda dependia de busca seletiva para propostas.
- Faster R-CNN (junho de 2015): Substituiu a busca seletiva por uma Rede de Proposta de Regiões aprendida, tornando o sistema totalmente neural e mais rápido.
- Mask R-CNN (março de 2017): Estendeu o Faster R-CNN para segmentação de instâncias adicionando um ramo para máscaras em nível de pixel e substituiu o pooling de ROI por ROIAlign para lidar com alinhamento de pixels fracionários.
- Cascade R-CNN (dezembro de 2017): Treinado com limiares de Intersecção sobre União (IoU) progressivamente crescentes para melhorar a precisão de localização.
- Mesh R-CNN (junho de 2019): Adicionou a capacidade de gerar malhas 3D a partir de imagens 2D.
Esses desenvolvimentos expandiram a aplicabilidade do R-CNN a tarefas como rastreamento de objetos a partir de câmeras de drones, localização de texto e integração em produtos como o Google Lens.
Treinamento e Desempenho
O Faster R-CNN é treinado usando uma perda de múltiplas tarefas que combina perda de classificação (por exemplo, entropia cruzada) e perda de regressão (por exemplo, L1 suave) para refinamento de caixas delimitadoras. A RPN e a cabeça de detecção podem ser treinadas em conjunto, frequentemente usando otimização alternada ou treinamento de ponta a ponta com uma perda unificada. O modelo se beneficia de espinhas dorsais pré-treinadas em grandes conjuntos de dados como ImageNet, seguido de ajuste fino em conjuntos de dados-alvo como COCO ou PASCAL VOC.
Em termos de desempenho, o Faster R-CNN alcança resultados de última geração em conjuntos de dados de referência, com melhorias significativas de velocidade em relação aos seus predecessores. Por exemplo, no PASCAL VOC 2007, atingiu uma precisão média (mAP) de cerca de 73,2% enquanto rodava a 5 quadros por segundo em uma GPU, um ganho substancial sobre o Fast R-CNN.
Aplicações e Impacto
O Faster R-CNN se tornou uma pedra angular na detecção de objetos, influenciando muitas arquiteturas subsequentes. Seu mecanismo de proposta de regiões foi adotado em vários domínios, incluindo direção autônoma (por exemplo, Waymo e Tesla), imagem médica e robótica. A capacidade do modelo de detectar objetos em tempo real permitiu aplicações em vigilância por vídeo, realidade aumentada e busca de imagens.
Além disso, a família R-CNN foi estendida a outras tarefas, como segmentação de instâncias (Mask R-CNN) e reconstrução 3D (Mesh R-CNN). O Mask R-CNN também é uma das sete tarefas no Benchmark de Treinamento MLPerf, uma competição para acelerar o treinamento de redes neurais, destacando sua importância prática.