Sintonize na YOLO Vision 2025!
25 de setembro de 2025
10:00 — 18:00 BST
Evento híbrido
Yolo Vision 2024

O que é R-CNN? Uma visão geral rápida

Abirami Vina

Leitura de 6 min

7 de junho de 2024

Aprenda sobre o RCNN e seu impacto na detecção de objetos. Abordaremos seus principais componentes, aplicações e papel no avanço de técnicas como Fast RCNN e YOLO.

A detecção de objetos é uma tarefa de visão computacional que pode reconhecer e localizar objetos em imagens ou vídeos para aplicações como direção autônoma, vigilância e imagem médica. Métodos anteriores de detecção de objetos, como o detector Viola-Jones e o Histograma de Gradientes Orientados (HOG) com Máquinas de Vetores de Suporte (SVM), dependiam de recursos artesanais e janelas deslizantes. Esses métodos frequentemente lutavam para detectar com precisão objetos em cenas complexas com vários objetos de várias formas e tamanhos.

As Redes Neurais Convolucionais Baseadas em Região (R-CNN) mudaram a forma como abordamos a detecção de objetos. É um marco importante na história da visão computacional. Para entender como modelos como o YOLOv8 surgiram, precisamos primeiro entender modelos como o R-CNN. 

Criado por Ross Girshick e sua equipe, a arquitetura do modelo R-CNN gera propostas de região, extrai recursos com uma Rede Neural Convolucional (CNN) pré-treinada, classifica objetos e refina caixas delimitadoras. Embora isso possa parecer assustador, no final deste artigo, você terá uma compreensão clara de como o R-CNN funciona e por que ele é tão impactante. Vamos dar uma olhada!

Como funciona o R-CNN?

O processo de detecção de objetos do modelo R-CNN envolve três etapas principais: geração de propostas de região, extração de características e classificação de objetos, refinando suas caixas delimitadoras. Vamos percorrer cada etapa.

Fig. 1. Como o R-CNN funciona.

Propostas de região: A espinha dorsal do RCNN

Na primeira etapa, o modelo R-CNN escaneia a imagem para criar inúmeras propostas de região. As propostas de região são áreas potenciais que podem conter objetos. Métodos como o Selective Search são usados para analisar vários aspectos da imagem, como cor, textura e forma, dividindo-a em diferentes partes. O Selective Search começa dividindo a imagem em partes menores e, em seguida, mesclando as semelhantes para formar áreas de interesse maiores. Este processo continua até que cerca de 2.000 propostas de região sejam geradas.

Fig 2. Como funciona a Selective Search.

Essas propostas de região ajudam a identificar todos os locais possíveis onde um objeto pode estar presente. Nas etapas seguintes, o modelo pode processar com eficiência as áreas mais relevantes, concentrando-se nessas áreas específicas em vez de toda a imagem. O uso de propostas de região equilibra a precisão com a eficiência computacional.

Extração de características de imagem: Capturando os detalhes

A próxima etapa no processo de detecção de objetos do modelo R-CNN é extrair características das propostas de região. Cada proposta de região é redimensionada para um tamanho consistente que a CNN espera (por exemplo, 224x224 pixels). O redimensionamento ajuda a CNN a processar cada proposta de forma eficiente. Antes do warping, o tamanho de cada proposta de região é ligeiramente expandido para incluir 16 pixels de contexto adicional ao redor da região para fornecer mais informações circundantes para uma melhor extração de características.

Uma vez redimensionadas, estas propostas de região são alimentadas numa CNN como a AlexNet, que é geralmente pré-treinada num grande conjunto de dados como o ImageNet. A CNN processa cada região para extrair vetores de características de alta dimensão que capturam detalhes importantes, como bordas, texturas e padrões. Estes vetores de características condensam a informação essencial das regiões. Eles transformam os dados de imagem brutos num formato que o modelo pode usar para análise posterior. A classificação e localização precisas de objetos nas próximas etapas dependem desta conversão crucial de informação visual em dados significativos.

Fig 3. Extrair recursos de uma proposta de região usando AlexNet.

Classificação de objetos: Identificação de objetos detectados

O terceiro passo é classificar os objetos dentro dessas regiões. Isso significa determinar a categoria ou classe de cada objeto encontrado dentro das propostas. Os vetores de características extraídos são então passados através de um classificador de aprendizado de máquina.

No caso do R-CNN, as Máquinas de Vetores de Suporte (SVMs) são comumente usadas para este propósito. Cada SVM é treinado para reconhecer uma classe de objeto específica, analisando os vetores de características e decidindo se uma determinada região contém uma instância dessa classe. Essencialmente, para cada categoria de objeto, existe um classificador dedicado verificando cada proposta de região para aquele objeto específico.

Durante o treinamento, os classificadores recebem dados rotulados com amostras positivas e negativas:

  • Amostras positivas: Regiões contendo o objeto alvo.
  • Amostras negativas: Regiões sem o objeto.

Os classificadores aprendem a distinguir entre essas amostras. A regressão da caixa delimitadora refina ainda mais a posição e o tamanho dos objetos detectados, ajustando as caixas delimitadoras inicialmente propostas para melhor corresponder aos limites reais do objeto. O modelo R-CNN pode identificar e localizar com precisão objetos combinando classificação e regressão de caixa delimitadora.

Fig 4. Um exemplo de regressão de bounding box. (fonte: towardsdatascience.com)

Juntando tudo: Refinando detecções com NMS

Após as etapas de classificação e regressão de bounding box, o modelo geralmente gera múltiplas bounding boxes sobrepostas para o mesmo objeto. A Supressão Não Máxima (NMS) é aplicada para refinar essas detecções, mantendo as caixas mais precisas. O modelo elimina caixas redundantes e sobrepostas aplicando NMS e mantém apenas as detecções mais confiantes. 

O NMS funciona avaliando as pontuações de confiança (indicando a probabilidade de um objeto detectado estar realmente presente) de todas as caixas delimitadoras e suprimindo aquelas que se sobrepõem significativamente às caixas com pontuações mais altas. 

Fig 5. Um exemplo de supressão não máxima. (fonte: towardsdatascience.com)

Aqui está uma análise das etapas do NMS:

  • Ordenação: As bounding boxes são ordenadas por seus scores de confiança em ordem decrescente.
  • Seleção: A caixa com a pontuação mais alta é selecionada e todas as caixas que se sobrepõem significativamente (com base na Intersecção sobre União, IoU) a ela são removidas.
  • Iteração: Este processo se repete para a próxima caixa com maior pontuação e continua até que todas as caixas tenham sido processadas.

Para juntar tudo, o modelo R-CNN detecta objetos gerando propostas de região, extraindo características com uma CNN, classificando objetos e refinando suas posições com regressão de caixa delimitadora e usando a Supressão Não Máxima (NMS), mantendo apenas as detecções mais precisas.

R-CNN é um marco na detecção de objetos

O R-CNN é um modelo marcante na história da detecção de objetos porque introduziu uma nova abordagem que melhorou muito a precisão e o desempenho. Antes do R-CNN, os modelos de detecção de objetos tinham dificuldades em equilibrar velocidade e precisão. O método do R-CNN de gerar propostas de região e usar CNNs para extração de características permite a localização e identificação precisas de objetos dentro de imagens. 

O R-CNN abriu caminho para modelos como o Fast R-CNN, Faster R-CNN e Mask R-CNN, que aprimoraram ainda mais a eficiência e a precisão. Ao combinar o aprendizado profundo com a análise baseada em região, o R-CNN estabeleceu um novo padrão no campo e abriu possibilidades para várias aplicações no mundo real.

Transformando imagens médicas com R-CNN

Um caso de uso interessante de R-CNN é em imagens médicas. Os modelos R-CNN têm sido usados para detectar e classificar diferentes tipos de tumores, como tumores cerebrais, em exames médicos como ressonâncias magnéticas e tomografias computadorizadas. O uso do modelo R-CNN em imagens médicas melhora a precisão do diagnóstico e ajuda os radiologistas a identificar malignidades em um estágio inicial. A capacidade do R-CNN de detectar até mesmo tumores pequenos e em estágio inicial pode fazer uma diferença significativa no tratamento e prognóstico de doenças como o câncer.

Fig 6. Detecção de tumores cerebrais usando RCNN.

O modelo R-CNN pode ser aplicado a outras tarefas de imagem médica, além da detecção de tumores. Por exemplo, pode identificar fraturas, detectar doenças da retina em exames oculares e analisar imagens pulmonares para condições como pneumonia e COVID-19. Independentemente do problema médico, a detecção precoce pode levar a melhores resultados para o paciente. Ao aplicar a precisão do R-CNN na identificação e localização de anomalias, os prestadores de cuidados de saúde podem melhorar a confiabilidade e a velocidade dos diagnósticos médicos. Com a detecção de objetos agilizando o processo de diagnóstico, os pacientes podem se beneficiar de planos de tratamento oportunos e precisos.

As limitações do R-CNN e seus sucessores

Embora impressionante, o R-CNN tem certas desvantagens, como alta complexidade computacional e tempos de inferência lentos. Essas desvantagens tornam o modelo R-CNN inadequado para aplicações em tempo real. Separar as propostas de região e as classificações em etapas distintas pode levar a um desempenho menos eficiente.

Ao longo dos anos, vários modelos de detecção de objetos surgiram que abordaram essas preocupações. O Fast R-CNN combina propostas de região e extração de recursos CNN em uma única etapa, acelerando o processo. O Faster R-CNN introduz uma Rede de Proposta de Região (RPN) para agilizar a geração de propostas, enquanto o Mask R-CNN adiciona segmentação em nível de pixel para detecções mais detalhadas.

Fig 7. Comparando R-CNN, fast R-CNN, faster R-CNN e mask R-CNN.

Quase ao mesmo tempo que o Faster R-CNN, a série YOLO (You Only Look Once) começou a avançar na detecção de objetos em tempo real. Os modelos YOLO preveem caixas delimitadoras e probabilidades de classe em uma única passagem pela rede. Por exemplo, o Ultralytics YOLOv8 oferece precisão e velocidade aprimoradas com recursos avançados para muitas tarefas de visão computacional.

Principais conclusões

O RCNN mudou o jogo na visão computacional, mostrando como o aprendizado profundo pode mudar a detecção de objetos. Seu sucesso inspirou muitas novas ideias no campo. Mesmo que modelos mais recentes como o Faster R-CNN e o YOLO tenham surgido para corrigir as falhas do RCNN, sua contribuição é um grande marco que é importante lembrar.

À medida que a pesquisa continua, veremos modelos de detecção de objetos ainda melhores e mais rápidos. Esses avanços não apenas melhorarão a forma como as máquinas entendem o mundo, mas também levarão ao progresso em muitos setores. O futuro da detecção de objetos parece promissor!

Quer continuar explorando sobre IA? Faça parte da comunidade Ultralytics! Explore nosso repositório GitHub para ver nossas últimas inovações em inteligência artificial. Confira nossas soluções de IA que abrangem vários setores, como agricultura e manufatura. Junte-se a nós para aprender e avançar!

Vamos construir o futuro
da IA juntos!

Comece sua jornada com o futuro do aprendizado de máquina

Comece gratuitamente
Link copiado para a área de transferência