Yolo Vision Shenzhen
Shenzhen
Junte-se agora

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

Abirami Vina

Leitura de 6 min

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 detect 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 abordamos a deteção de objectos. Trata-se de um marco importante na história da visão computacional. Para compreender como modelos como o YOLOv8 surgiram, precisamos de compreender primeiro modelos como as 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õ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.

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

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

O terceiro passo é classify 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 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)

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áximaNMS) é 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. 

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. 

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 bounding boxes são ordenadas por seus scores de confiança em 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 se repete para a próxima caixa 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áximaNMS), 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 utilização interessante das R-CNN é a imagiologia médica. Os modelos R-CNN têm sido utilizados para detect e classify diferentes tipos de tumores, como os tumores cerebrais, em exames médicos como a ressonância magnética e a tomografia computorizada. 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 detect até tumores pequenos e em fase inicial pode fazer uma diferença significativa no tratamento e prognóstico de doenças como o cancro.

Fig 6. Detecção de tumores cerebrais usando 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, detect 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.

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.

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 da 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 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 a explorar a IA? Faça parte dacomunidade 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