Conheça o YOLO26: IA de visão de próxima geração.
Ultralytics
IA de visão

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

Aprende sobre 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.

ABAbirami Vina
6 min read
Como o R-CNN realiza a detecção de objetos baseada em região

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 imagens médicas. Métodos de detecção de objetos anteriores, como o detector Viola-Jones e o Histograma de Gradientes Orientados (HOG) com Máquinas de Vetores de Suporte (SVM), dependiam de características criadas manualmente e janelas deslizantes. Esses métodos frequentemente tinham dificuldades para detectar objetos com precisão em cenas complexas com múltiplos objetos de vários formatos e tamanhos.

As Redes Neurais Convolucionais baseadas em regiões (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 características com uma Rede Neural Convolucional (CNN) pré-treinada, classifica objetos e refina as caixas delimitadoras. Embora isso possa parecer intimidador, ao 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!

Link to this sectionComo o R-CNN funciona?#

O processo de detecção de objetos do modelo R-CNN envolve três etapas principais: gerar propostas de região, extrair características e classificar objetos enquanto refina suas caixas delimitadoras. Vamos percorrer cada etapa.

Diagrama de como o R-CNN funciona

Fig 1. Como o R-CNN funciona.

Link to this sectionPropostas de região: A espinha dorsal do R-CNN#

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

Diagrama de como a busca seletiva funciona

Fig 2. Como a Busca Seletiva funciona.

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

Link to this sectionExtração de características da 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 com eficiência. Antes da deformação, 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, essas propostas de região são alimentadas em uma CNN como a AlexNet, que geralmente é pré-treinada em um conjunto de dados grande 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. Esses vetores de características condensam as informações essenciais das regiões. Eles transformam os dados brutos da imagem em um formato que o modelo pode usar para análises posteriores. Classificar e localizar objetos com precisão nos estágios seguintes depende dessa conversão crucial de informações visuais em dados significativos.

Extração de características de uma proposta de região usando AlexNet

Fig 3. Extrair características de uma proposta de região usando a AlexNet.

Link to this sectionClassificação de objetos: Identificando objetos detectados#

A terceira etapa é 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 por um classificador de aprendizado de máquina.

No caso do R-CNN, Máquinas de Vetores de Suporte (SVMs) são comumente usadas para esse propósito. Cada SVM é treinada 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 que contêm o objeto alvo.
  • Amostras negativas: Regiões sem o objeto.

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

Exemplo de regressão de BBox

Fig 4. Um exemplo de regressão de caixa delimitadora. (fonte: towardsdatascience.com)

Link to this sectionJuntando tudo: Refinando detecções com NMS#

Após as etapas de classificação e regressão de caixa delimitadora, o modelo frequentemente gera várias caixas delimitadoras 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 o NMS e mantém apenas as detecções com maior confiança.

O NMS funciona avaliando as pontuações de confiança (indicando quão provável é que um objeto detectado esteja realmente presente) de todas as caixas delimitadoras e suprimindo aquelas que se sobrepõem significativamente a caixas com pontuações mais altas.

Exemplo de NMS

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

Aqui está um detalhamento das etapas no NMS:

  • Ordenação: As caixas delimitadoras são classificadas por suas pontuações 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 Interseçã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.

Resumindo, 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) para manter apenas as detecções mais precisas.

Link to this sectionO R-CNN é um marco na detecção de objetos#

O R-CNN é um modelo emblemático 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 lutavam para 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 Fast R-CNN, Faster R-CNN e Mask R-CNN, que melhoraram ainda mais a eficiência e a precisão. Ao combinar aprendizado profundo com análise baseada em regiões, o R-CNN estabeleceu um novo padrão na área e abriu possibilidades para várias aplicações do mundo real.

Link to this sectionTransformando imagens médicas com R-CNN#

Um caso de uso interessante do R-CNN é em imagens médicas. 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 diagnóstica e ajuda radiologistas a identificar malignidades em 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.

Detecção de tumores cerebrais usando R-CNN

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

O modelo R-CNN pode ser aplicado a outras tarefas de imagens médicas além da detecção de tumores. Por exemplo, ele 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, provedores de saúde podem melhorar a confiabilidade e a velocidade dos diagnósticos médicos. Com a detecção de objetos otimizando o processo de diagnóstico, os pacientes podem se beneficiar de planos de tratamento oportunos e precisos.

Link to this sectionLimitaçõ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 propostas de região e classificações em etapas distintas pode levar a um desempenho menos eficiente.

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

Comparação de R-CNN, Fast R-CNN, Faster R-CNN e Mask R-CNN

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 maior precisão e velocidade com recursos avançados para muitas tarefas de visão computacional.

Link to this sectionPrincipais pontos#

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 ideias novas na área. Embora modelos mais recentes como Faster R-CNN e YOLO tenham surgido para corrigir as falhas do RCNN, sua contribuição é um enorme 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 muitas indústrias. O futuro da detecção de objetos parece empolgante!

Quer continuar explorando sobre IA? Faça parte da comunidade da Ultralytics! Explore nosso repositório no GitHub para ver nossas mais recentes 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!

Explore solutions

Real-time AI that works with your team

IA em robótica

Potencialize máquinas mais inteligentes com modelos Ultralytics YOLO. A IA de visão em robótica impulsiona a navegação autônoma, percepção, rastreamento de objetos e controle em tempo real.

Sabe mais
Real-time AI that works with your team

IA na Logística

Otimize a logística com modelos Ultralytics YOLO. A IA de visão permite a inspeção de pacotes, triagem, rastreamento de veículos e monitoramento de segurança em armazéns em tempo real.

Sabe mais
Real-time AI that works with your team

IA no varejo

Reinvente o varejo com modelos Ultralytics YOLO. A IA de visão impulsiona o rastreamento de inventário, monitoramento de prateleiras, gerenciamento de filas e percepções mais inteligentes sobre o cliente.

Sabe mais
Real-time AI that works with your team

IA na Saúde

Constrói soluções de saúde com modelos Ultralytics YOLO. A visão AI na saúde impulsiona imagens médicas mais rápidas, diagnósticos mais inteligentes e monitorização do paciente.

Sabe mais
Real-time AI that works with your team

IA na Fabricação

Otimize a fabricação com modelos Ultralytics YOLO. A IA de visão impulsiona o controle de qualidade, detecção de defeitos, conformidade com EPI e automação de linhas de montagem.

Sabe mais
Real-time AI that works with your operation

IA no Setor Automóvel

Aplica visão computacional no setor automóvel com modelos Ultralytics YOLO. A visão AI eleva a segurança rodoviária, a assistência ao condutor e a automação de veículos para estradas mais inteligentes.

Sabe mais
Real-time AI tailored to your operation

IA na Agricultura

Leva a visão AI para a agricultura inteligente com os modelos Ultralytics YOLO. Potencia a monitorização de culturas, o seguimento de gado e a agricultura de precisão para colheitas maiores e mais inteligentes.

Sabe mais
Real-time AI that works with your team

IA em robótica

Potencialize máquinas mais inteligentes com modelos Ultralytics YOLO. A IA de visão em robótica impulsiona a navegação autônoma, percepção, rastreamento de objetos e controle em tempo real.

Sabe mais
Real-time AI that works with your team

IA na Logística

Otimize a logística com modelos Ultralytics YOLO. A IA de visão permite a inspeção de pacotes, triagem, rastreamento de veículos e monitoramento de segurança em armazéns em tempo real.

Sabe mais
Real-time AI that works with your team

IA no varejo

Reinvente o varejo com modelos Ultralytics YOLO. A IA de visão impulsiona o rastreamento de inventário, monitoramento de prateleiras, gerenciamento de filas e percepções mais inteligentes sobre o cliente.

Sabe mais
Real-time AI that works with your team

IA na Saúde

Constrói soluções de saúde com modelos Ultralytics YOLO. A visão AI na saúde impulsiona imagens médicas mais rápidas, diagnósticos mais inteligentes e monitorização do paciente.

Sabe mais
Real-time AI that works with your team

IA na Fabricação

Otimize a fabricação com modelos Ultralytics YOLO. A IA de visão impulsiona o controle de qualidade, detecção de defeitos, conformidade com EPI e automação de linhas de montagem.

Sabe mais
Real-time AI that works with your operation

IA no Setor Automóvel

Aplica visão computacional no setor automóvel com modelos Ultralytics YOLO. A visão AI eleva a segurança rodoviária, a assistência ao condutor e a automação de veículos para estradas mais inteligentes.

Sabe mais
Real-time AI tailored to your operation

IA na Agricultura

Leva a visão AI para a agricultura inteligente com os modelos Ultralytics YOLO. Potencia a monitorização de culturas, o seguimento de gado e a agricultura de precisão para colheitas maiores e mais inteligentes.

Sabe mais
Real-time AI that works with your team

IA em robótica

Potencialize máquinas mais inteligentes com modelos Ultralytics YOLO. A IA de visão em robótica impulsiona a navegação autônoma, percepção, rastreamento de objetos e controle em tempo real.

Sabe mais
Real-time AI that works with your team

IA na Logística

Otimize a logística com modelos Ultralytics YOLO. A IA de visão permite a inspeção de pacotes, triagem, rastreamento de veículos e monitoramento de segurança em armazéns em tempo real.

Sabe mais
Real-time AI that works with your team

IA no varejo

Reinvente o varejo com modelos Ultralytics YOLO. A IA de visão impulsiona o rastreamento de inventário, monitoramento de prateleiras, gerenciamento de filas e percepções mais inteligentes sobre o cliente.

Sabe mais
Real-time AI that works with your team

IA na Saúde

Constrói soluções de saúde com modelos Ultralytics YOLO. A visão AI na saúde impulsiona imagens médicas mais rápidas, diagnósticos mais inteligentes e monitorização do paciente.

Sabe mais
Real-time AI that works with your team

IA na Fabricação

Otimize a fabricação com modelos Ultralytics YOLO. A IA de visão impulsiona o controle de qualidade, detecção de defeitos, conformidade com EPI e automação de linhas de montagem.

Sabe mais
Real-time AI that works with your operation

IA no Setor Automóvel

Aplica visão computacional no setor automóvel com modelos Ultralytics YOLO. A visão AI eleva a segurança rodoviária, a assistência ao condutor e a automação de veículos para estradas mais inteligentes.

Sabe mais
Real-time AI tailored to your operation

IA na Agricultura

Leva a visão AI para a agricultura inteligente com os modelos Ultralytics YOLO. Potencia a monitorização de culturas, o seguimento de gado e a agricultura de precisão para colheitas maiores e mais inteligentes.

Sabe mais

Vamos construir o futuro da IA juntos!

Começa a tua jornada com o futuro da aprendizagem automática