Ultralytics YOLO27:
IA para visão

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

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

ABAbirami Vina9 min read
Como o R-CNN executa a deteção de objetos baseada em regiões

A deteção de objetos é uma tarefa de visão computacional capaz de reconhecer e localizar objetos em imagens ou vídeos para aplicações como condução autónoma, vigilância e imagiologia médica. Os primeiros métodos de deteção de objetos, como o detetor Viola-Jones e o Histograma de Gradientes Orientados (HOG) com Máquinas de Vetores de Suporte (SVM), dependiam de características concebidas manualmente e janelas deslizantes. Estes métodos tinham frequentemente dificuldades em detetar objetos com precisão em cenas complexas com vários objetos de diferentes formas e tamanhos.

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

Criada por Ross Girshick e pela sua equipa, a arquitetura do modelo R-CNN gera propostas de regiões, extrai características com uma Rede Neuronal Convolucional (CNN) pré-treinada, classifica objetos e aperfeiçoa as caixas delimitadoras. Embora isto possa parecer complexo, no final deste artigo terás uma compreensão clara de como funciona o R-CNN e por que razão é tão importante. Vejamos!

Como funciona o R-CNN?#

O processo de deteção de objetos do modelo R-CNN envolve três passos principais: gerar propostas de regiões, extrair características e classificar objetos enquanto aperfeiçoa as respetivas caixas delimitadoras. Vamos analisar cada passo.

Diagrama de como funciona o R-CNN

Fig. 1 Como funciona o R-CNN.

Propostas de regiões: a base do R-CNN#

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

Diagrama de como funciona a pesquisa seletiva

Fig. 2 Como funciona a Pesquisa Seletiva.

Estas propostas de regiões ajudam a identificar todos os locais possíveis onde um objeto pode estar presente. Nos passos seguintes, o modelo consegue processar eficientemente as áreas mais relevantes, concentrando-se nestas áreas específicas em vez de analisar a imagem inteira. A utilização de propostas de regiões equilibra a abrangência com a eficiência computacional.

Extração de características da imagem: captar os detalhes#

O passo seguinte no processo de deteção de objetos do modelo R-CNN consiste em extrair características das propostas de regiões. Cada proposta de região é redimensionada para um tamanho consistente esperado pela CNN, por exemplo, 224x224 píxeis. 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 aumentado para incluir 16 píxeis de contexto adicional à volta da região, fornecendo mais informação circundante para uma melhor extração de características.

Depois de redimensionadas, estas propostas de regiões são introduzidas numa CNN como a AlexNet, 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 dimensionalidade que captam detalhes importantes, como contornos, texturas e padrões. Estes vetores de características condensam a informação essencial das regiões. Transformam os dados brutos da imagem num formato que o modelo pode utilizar para análises posteriores. A classificação e localização precisas dos objetos nas etapas seguintes dependem desta conversão crucial da informação visual em dados significativos.

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

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

Classificação de objetos: identificar objetos detetados#

O terceiro passo consiste em classificar os objetos dentro destas regiões. Isto significa determinar a categoria ou classe de cada objeto encontrado nas propostas. Em seguida, os vetores de características extraídos são transmitidos a um classificador de aprendizagem automática.

No caso do R-CNN, as Máquinas de Vetores de Suporte (SVM) são habitualmente utilizadas para este fim. 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 que verifica cada proposta de região à procura desse objeto específico.

Durante o treino, os classificadores recebem dados anotados 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 objetos detetados, ajustando as caixas delimitadoras inicialmente propostas para corresponderem melhor aos limites reais dos objetos. O modelo R-CNN consegue identificar e localizar objetos com precisão ao combinar a classificação com a regressão de caixas delimitadoras.

Exemplo de regressão de caixas delimitadoras

Fig. 4. Um exemplo de regressão de caixas delimitadoras. (fonte: towardsdatascience.com)

Juntando tudo: aperfeiçoar as deteções com NMS#

Após os passos de classificação e regressão de caixas delimitadoras, o modelo gera frequentemente várias caixas delimitadoras sobrepostas para o mesmo objeto. A Supressão de Não Máximos (NMS) é aplicada para aperfeiçoar estas deteções, mantendo as caixas mais precisas. O modelo elimina caixas redundantes e sobrepostas através da aplicação de NMS e mantém apenas as deteções com maior confiança.

A NMS funciona avaliando as pontuações de confiança (que indicam a probabilidade de um objeto detetado estar realmente presente) de todas as caixas delimitadoras e suprimindo as que se sobrepõem significativamente a caixas com pontuações mais elevadas.

Exemplo de supressão de não máximos

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

Eis uma explicação dos passos da NMS:

  • Ordenação: as caixas delimitadoras são ordenadas pelas respetivas 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 a ela, com base na Interseção sobre União (IoU), são removidas.
  • Iteração: este processo repete-se para a caixa seguinte com a pontuação mais elevada e continua até todas as caixas terem sido processadas.

Em conjunto, o modelo R-CNN deteta objetos gerando propostas de regiões, extraindo características com uma CNN, classificando objetos e aperfeiçoando as respetivas posições através da regressão de caixas delimitadoras, e utilizando a Supressão de Não Máximos (NMS) para manter apenas as deteções mais precisas.

R-CNN: um marco na deteção de objetos#

O R-CNN é um modelo marcante na história da deteção de objetos porque introduziu uma nova abordagem que melhorou significativamente a precisão e o desempenho. Antes do R-CNN, os modelos de deteção de objetos tinham dificuldades em equilibrar velocidade e precisão. O método do R-CNN, que gera propostas de regiões e utiliza CNNs para a extração de características, permite localizar e identificar com precisão 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 aprendizagem profunda 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 no mundo real.

Transformar a imagiologia médica com o R-CNN#

Uma utilização interessante do R-CNN é na 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 RM e TC. A utilização do modelo R-CNN em imagiologia médica melhora a precisão dos diagnósticos e ajuda os radiologistas a identificar malignidades 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 no prognóstico de doenças como o cancro.

Deteção de tumores cerebrais com R-CNN

Fig. 6 Deteção de tumores cerebrais com RCNN.

O modelo R-CNN pode ser aplicado a outras tarefas de imagiologia médica além da deteção de tumores. Por exemplo, pode identificar fraturas, detetar doenças da retina em exames oculares e analisar imagens dos pulmões para detetar problemas como pneumonia e COVID-19. Independentemente do problema médico, a deteção precoce pode conduzir a melhores resultados para os pacientes. 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 fiabilidade e a rapidez dos diagnósticos médicos. Com a deteção de objetos a agilizar o processo de diagnóstico, os pacientes podem beneficiar de planos de tratamento atempados e precisos.

Limitações do R-CNN e os seus sucessores#

Apesar de impressionante, o R-CNN tem algumas desvantagens, como a elevada complexidade computacional e tempos de inferência lentos. Estas desvantagens tornam o modelo R-CNN inadequado para aplicações em tempo real. A separação das propostas de regiões e da classificação em passos distintos pode resultar num desempenho menos eficiente.

Ao longo dos anos, surgiram vários modelos de deteção de objetos que resolveram estas questões. O Fast R-CNN combina as propostas de regiões e a extração de características da CNN num único passo, acelerando o processo. O Faster R-CNN introduz uma Rede de Propostas de Regiões (RPN) para simplificar a geração de propostas, enquanto o Mask R-CNN acrescenta segmentação ao nível dos píxeis para obter deteções mais detalhadas.

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

Fig. 7. Comparação entre R-CNN, Fast R-CNN, Faster R-CNN e Mask R-CNN.

Por volta da mesma altura que o Faster R-CNN, a série YOLO (Só Olhas Uma Vez) começou a impulsionar a deteção de objetos em tempo real. Os modelos YOLO preveem caixas delimitadoras e probabilidades de classe numa única passagem pela rede. Por exemplo, o Ultralytics YOLOv8 oferece maior precisão e velocidade, com funcionalidades avançadas para várias tarefas de visão computacional.

Principais conclusões#

O RCNN mudou o paradigma da visão computacional, demonstrando como a aprendizagem profunda pode transformar a deteção de objetos. O seu sucesso inspirou muitas ideias novas na área. Embora modelos mais recentes, como o Faster R-CNN e o YOLO, tenham surgido para corrigir as falhas do RCNN, o seu contributo constitui um marco enorme que é importante recordar.

À medida que a investigação prossegue, veremos modelos de deteção de objetos ainda melhores e mais rápidos. Estes avanços não só melhorarão a forma como as máquinas compreendem o mundo, como também conduzirão ao progresso em muitos setores. O futuro da deteção de objetos parece promissor!

Queres continuar a explorar a IA? Faz parte da comunidade da Ultralytics! Explora o nosso repositório do GitHub para conheceres as nossas mais recentes inovações em inteligência artificial. Descobre as nossas soluções de IA para vários setores, como a agricultura e a indústria transformadora. Junta-te a nós para aprender e avançar!

Explore solutions

Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em insights em tempo real para agricultura, aquicultura, monitoramento ambiental, conservação e análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Leva a IA de visão para o monitoramento aéreo com os modelos do Ultralytics YOLO. Potencializa drones, fluxos de trabalho aeroespaciais, conservação ambiental e indústrias geoespaciais com soluções de visão computacional.
Saiba mais

Protege cada local com os modelos do Ultralytics YOLO. A IA de visão alimenta monitoramento de perímetro, detecção de ameaças, reconhecimento de placas e segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Dê mais inteligência às suas máquinas com os modelos Ultralytics YOLO. A IA de visão na robótica permite a navegação autónoma, a perceção, o rastreamento de objetos e o controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Simplifique a logística com os modelos Ultralytics YOLO. A IA de visão permite a inspeção de encomendas, a triagem, o rastreamento de veículos e a monitorização da segurança dos armazéns em tempo real.
Saiba mais
Visão computacional no retalho

Visão computacional no retalho

Reinvente o retalho com os modelos Ultralytics YOLO. A IA de visão permite o rastreamento do inventário, a monitorização de prateleiras, a gestão de filas e informações mais inteligentes sobre os clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Cria soluções de saúde com modelos Ultralytics YOLO. A Vision AI na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitorização de pacientes.
Saiba mais
Visão computacional na produção

Visão computacional na produção

Otimiza a produção com modelos Ultralytics YOLO. A Vision AI impulsiona o controlo de qualidade, a deteção de defeitos, a conformidade com EPI e a automatização das linhas de montagem.
Saiba mais
Visão computacional no setor automóvel

Visão computacional no setor automóvel

Aplique visão computacional no setor automóvel com modelos Ultralytics YOLO. A IA de visão melhora a segurança rodoviária, a assistência ao condutor e a automatização de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão para a agricultura inteligente com modelos Ultralytics YOLO. Potencie a monitorização das culturas, o acompanhamento do gado e a agricultura de precisão para obter colheitas maiores e mais inteligentes.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em insights em tempo real para agricultura, aquicultura, monitoramento ambiental, conservação e análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Leva a IA de visão para o monitoramento aéreo com os modelos do Ultralytics YOLO. Potencializa drones, fluxos de trabalho aeroespaciais, conservação ambiental e indústrias geoespaciais com soluções de visão computacional.
Saiba mais

Protege cada local com os modelos do Ultralytics YOLO. A IA de visão alimenta monitoramento de perímetro, detecção de ameaças, reconhecimento de placas e segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Dê mais inteligência às suas máquinas com os modelos Ultralytics YOLO. A IA de visão na robótica permite a navegação autónoma, a perceção, o rastreamento de objetos e o controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Simplifique a logística com os modelos Ultralytics YOLO. A IA de visão permite a inspeção de encomendas, a triagem, o rastreamento de veículos e a monitorização da segurança dos armazéns em tempo real.
Saiba mais
Visão computacional no retalho

Visão computacional no retalho

Reinvente o retalho com os modelos Ultralytics YOLO. A IA de visão permite o rastreamento do inventário, a monitorização de prateleiras, a gestão de filas e informações mais inteligentes sobre os clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Cria soluções de saúde com modelos Ultralytics YOLO. A Vision AI na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitorização de pacientes.
Saiba mais
Visão computacional na produção

Visão computacional na produção

Otimiza a produção com modelos Ultralytics YOLO. A Vision AI impulsiona o controlo de qualidade, a deteção de defeitos, a conformidade com EPI e a automatização das linhas de montagem.
Saiba mais
Visão computacional no setor automóvel

Visão computacional no setor automóvel

Aplique visão computacional no setor automóvel com modelos Ultralytics YOLO. A IA de visão melhora a segurança rodoviária, a assistência ao condutor e a automatização de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão para a agricultura inteligente com modelos Ultralytics YOLO. Potencie a monitorização das culturas, o acompanhamento do gado e a agricultura de precisão para obter colheitas maiores e mais inteligentes.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em insights em tempo real para agricultura, aquicultura, monitoramento ambiental, conservação e análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Leva a IA de visão para o monitoramento aéreo com os modelos do Ultralytics YOLO. Potencializa drones, fluxos de trabalho aeroespaciais, conservação ambiental e indústrias geoespaciais com soluções de visão computacional.
Saiba mais

Protege cada local com os modelos do Ultralytics YOLO. A IA de visão alimenta monitoramento de perímetro, detecção de ameaças, reconhecimento de placas e segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Dê mais inteligência às suas máquinas com os modelos Ultralytics YOLO. A IA de visão na robótica permite a navegação autónoma, a perceção, o rastreamento de objetos e o controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Simplifique a logística com os modelos Ultralytics YOLO. A IA de visão permite a inspeção de encomendas, a triagem, o rastreamento de veículos e a monitorização da segurança dos armazéns em tempo real.
Saiba mais
Visão computacional no retalho

Visão computacional no retalho

Reinvente o retalho com os modelos Ultralytics YOLO. A IA de visão permite o rastreamento do inventário, a monitorização de prateleiras, a gestão de filas e informações mais inteligentes sobre os clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Cria soluções de saúde com modelos Ultralytics YOLO. A Vision AI na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitorização de pacientes.
Saiba mais
Visão computacional na produção

Visão computacional na produção

Otimiza a produção com modelos Ultralytics YOLO. A Vision AI impulsiona o controlo de qualidade, a deteção de defeitos, a conformidade com EPI e a automatização das linhas de montagem.
Saiba mais
Visão computacional no setor automóvel

Visão computacional no setor automóvel

Aplique visão computacional no setor automóvel com modelos Ultralytics YOLO. A IA de visão melhora a segurança rodoviária, a assistência ao condutor e a automatização de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão para a agricultura inteligente com modelos Ultralytics YOLO. Potencie a monitorização das culturas, o acompanhamento do gado e a agricultura de precisão para obter colheitas maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

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