O que é a R-CNN? Uma breve panorâmica

Abirami Vina

6 min. de leitura

7 de junho de 2024

Saiba mais sobre o RCNN e o seu impacto na deteção de objectos. Iremos abordar os seus principais componentes, aplicações e papel no avanço de técnicas como o Fast RCNN e o YOLO.

A deteção de objectos é uma tarefa de visão por computador que permite reconhecer e localizar objectos em imagens ou vídeos para aplicações como a condução autónoma, a vigilância e a imagiologia médica. Os métodos anteriores de deteção de objectos, como o detetor Viola-Jones e o Histograma de Gradientes Orientados (HOG) com Máquinas de Vectores de Suporte (SVM), baseavam-se em caraterísticas artesanais e janelas deslizantes. Estes métodos tinham frequentemente dificuldades em detetar com precisão objectos em cenas complexas com múltiplos objectos de várias formas e tamanhos.

As redes neurais convolucionais baseadas em regiões (R-CNN) mudaram a forma como lidamos com a deteção de objectos. Trata-se de um marco importante na história da visão por computador. Para compreender como surgiram modelos como o YOLOv8 , precisamos de compreender primeiro modelos como o R-CNN. 

Criada por Ross Girshick e a sua equipa, a arquitetura do modelo R-CNN gera propostas de regiões, extrai caraterísticas com uma Rede Neuronal Convolucional (CNN) pré-treinada, classifica objectos e aperfeiçoa caixas delimitadoras. Embora isso possa parecer assustador, no final deste artigo, terá uma compreensão clara de como a R-CNN funciona e porque é tão impactante. Vamos dar uma olhadela!

Como é que a R-CNN funciona?

O processo de deteção de objectos do modelo R-CNN envolve três passos principais: geração de propostas de regiões, extração de caraterísticas e classificação de objectos enquanto se refinam as suas caixas delimitadoras. Vamos percorrer cada passo.

__wf_reserved_inherit
Figura 1. Como funciona a R-CNN.

Propostas de regiões: A espinha dorsal do RCNN

No primeiro passo, o modelo R-CNN analisa a imagem para criar várias propostas de regiões. As propostas de regiões são áreas potenciais que podem conter objectos. Métodos como a Pesquisa Selectiva são utilizados para analisar vários aspectos da imagem, como a cor, a textura e a forma, dividindo-a em diferentes partes. A Pesquisa selectiva começa por dividir a imagem em partes mais pequenas e, em seguida, junta outras semelhantes para formar áreas de interesse maiores. Este processo continua até serem geradas cerca de 2.000 propostas de regiões.

__wf_reserved_inherit
Figura 2. Como funciona a pesquisa selectiva.

Estas propostas de regiões ajudam a identificar todos os pontos possíveis onde um objeto pode estar presente. Nos passos seguintes, o modelo pode processar eficazmente as áreas mais relevantes, concentrando-se nestas áreas específicas e não em toda a imagem. A utilização de propostas de regiões equilibra o rigor com a eficiência computacional.

Extração de caraterísticas de imagem: Capturar os pormenores

O passo seguinte no processo de deteção de objectos do modelo R-CNN consiste em extrair caraterísticas das propostas de regiões. 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 da deformação, o tamanho de cada proposta de região é ligeiramente expandido para incluir 16 pixels de contexto adicional à volta da região, de modo a fornecer mais informações circundantes para uma melhor extração de caraterísticas.

Uma vez redimensionadas, estas propostas de regiões são introduzidas numa CNN como a AlexNet, que é normalmente pré-treinada num grande conjunto de dados como o ImageNet. A CNN processa cada região para extrair vectores de caraterísticas de elevada dimensão que captam detalhes importantes, como arestas, texturas e padrões. Estes vectores de caraterísticas condensam as informações essenciais das regiões. Transformam os dados brutos da imagem num formato que o modelo pode utilizar para análise posterior. A classificação e localização exactas dos objectos nas fases seguintes dependem desta conversão crucial da informação visual em dados significativos.

__wf_reserved_inherit
Figura 3. Extrair caraterísticas de uma proposta de região utilizando AlexNet.

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

O terceiro passo é classificar os objectos dentro destas regiões. Isto significa determinar a categoria ou classe de cada objeto encontrado nas propostas. Os vectores de caraterísticas extraídos são então passados por um classificador de aprendizagem automática.

No caso da R-CNN, as máquinas de vectores de suporte (SVM) são normalmente utilizadas para este fim. Cada SVM é treinada para reconhecer uma classe de objeto específica, analisando os vectores de caraterí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 que verifica cada proposta de região para esse objeto específico.

Durante a formação, 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 estas amostras. A regressão de caixas delimitadoras aperfeiçoa ainda mais a posição e o tamanho dos objectos detectados, ajustando as caixas delimitadoras inicialmente propostas para melhor corresponderem aos limites reais dos objectos. O modelo R-CNN pode identificar e localizar objectos com precisão, combinando a classificação e a regressão da caixa delimitadora.

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

Juntar tudo: Aperfeiçoar as detecções com o NMS

Após os passos de classificação e regressão da caixa delimitadora, o modelo gera frequentemente várias caixas delimitadoras sobrepostas para o mesmo objeto. A Supressão Não Máxima (NMS) é aplicada para refinar estas detecções, mantendo as caixas mais precisas. O modelo elimina as caixas redundantes e sobrepostas através da aplicação da NMS e mantém apenas as detecções mais fiáveis. 

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 as que se sobrepõem significativamente a caixas com pontuações mais elevadas. 

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

Segue-se uma descrição das etapas do NMS:

  • Ordenação: As caixas delimitadoras são ordenadas pelas suas pontuações de confiança por ordem decrescente.
  • Seleção: A caixa com a pontuação mais elevada é selecionada e todas as caixas que se sobrepõem significativamente (com base na Intersecção sobre a União, IoU) com ela são removidas.
  • Iteração: Este processo repete-se para a caixa seguinte com maior pontuação e continua até que todas as caixas tenham sido processadas.

Em suma, o modelo R-CNN detecta objectos gerando propostas de regiões, extraindo caraterísticas com uma CNN, classificando objectos e refinando as suas posições com regressão de caixas delimitadoras e utilizando a Supressão Não Máxima (NMS), mantendo apenas as detecções mais precisas.

A R-CNN é um marco na deteção de objectos

O R-CNN é um modelo de referência na história da deteção de objectos porque introduziu uma nova abordagem que melhorou consideravelmente a precisão e o desempenho. Antes da R-CNN, os modelos de deteção de objectos esforçavam-se por equilibrar velocidade e precisão. O método da R-CNN para gerar propostas de regiões e utilizar CNNs para extração de caraterísticas permite a localização e identificação precisas de objectos nas imagens. 

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

Transformar a imagiologia médica com R-CNN

Um caso de utilização interessante das R-CNN é a imagiologia médica. Os modelos R-CNN têm sido utilizados para detetar e classificar diferentes tipos de tumores, como tumores cerebrais, em exames médicos como ressonâncias magnéticas e tomografias computorizadas. A utilização do modelo R-CNN na imagiologia médica melhora a precisão do diagnóstico e ajuda os radiologistas a identificar doenças malignas numa fase inicial. A capacidade do R-CNN para detetar até tumores pequenos e em fase inicial pode fazer uma diferença significativa no tratamento e prognóstico de doenças como o cancro.

__wf_reserved_inherit
Fig. 6. Deteção de tumores cerebrais utilizando a RCNN.

O modelo R-CNN pode ser aplicado a outras tarefas de imagiologia médica, para além da deteção de tumores. Por exemplo, pode identificar fracturas, detetar doenças da retina em exames aos olhos e analisar imagens dos pulmões para detetar doenças como a pneumonia e a COVID-19. Independentemente do problema médico, a deteção precoce pode levar a melhores resultados para os pacientes. Ao aplicar a precisão da R-CNN na identificação e localização de anomalias, os prestadores de cuidados de saúde podem melhorar a fiabilidade e a rapidez dos diagnósticos médicos. Com a deteção de objectos a simplificar o processo de diagnóstico, os pacientes podem beneficiar de planos de tratamento atempados e precisos.

Limitações da R-CNN e dos seus sucessores

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

Ao longo dos anos, surgiram vários modelos de deteção de objectos que abordaram estas questões. O Fast R-CNN combina propostas de regiões e extração de caraterísticas CNN num único passo, 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 ao nível do pixel para detecções mais detalhadas.

__wf_reserved_inherit
Figura 7. Comparação entre R-CNN, R-CNN rápida, R-CNN mais rápida e R-CNN com máscara.

Na mesma altura que a Faster R-CNN, a série YOLO (You Only Look Once) começou a avançar na deteção de objectos em tempo real. Os modelos YOLO prevêem caixas delimitadoras e probabilidades de classe numa ú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.

Principais conclusões

O RCNN mudou o jogo na visão computacional, mostrando como a aprendizagem profunda pode alterar a deteção de objectos. O seu sucesso inspirou muitas ideias novas neste domínio. Apesar de modelos mais recentes como o Faster R-CNN e o YOLO terem surgido para corrigir as falhas do RCNN, a sua contribuição é um marco enorme que é importante recordar.

À medida que a investigação continua, veremos modelos de deteção de objectos ainda melhores e mais rápidos. Estes avanços não só melhorarão a forma como as máquinas compreendem o mundo, mas também conduzirão a progressos em muitos sectores. O futuro da deteção de objectos parece excitante!

Quer continuar a explorar a 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 juntos o futuro
da IA!

Comece a sua viagem com o futuro da aprendizagem automática

Comece gratuitamente
Ligação copiada para a área de transferência