Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
IA visual

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

Saiba como funciona o R-CNN, desde a pesquisa seletiva e a extração de características por CNN até à classificação por SVM e à NMS, e como abriu caminho ao Fast R-CNN e ao YOLO.

Abirami VinaAbirami Vina9 min de leitura
Como o R-CNN realiza a detecção de objetos baseada em regiões

A detecção de objetos é uma tarefa de visão computacional que reconhece e localiza objetos em imagens ou vídeos para aplicações como condução autônoma, vigilância e diagnóstico por imagem. 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 características criadas manualmente e janelas deslizantes. Esses métodos muitas vezes tinham dificuldade para detectar objetos com precisão em cenas complexas, com vários objetos de diferentes formas e tamanhos.

As redes neurais convolucionais baseadas em regiões (R-CNN) mudaram a forma como abordamos a detecção de objetos. Elas representam um marco importante na história da visão computacional. Para entender como surgiram modelos como o Ultralytics YOLOv8, primeiro precisamos entender modelos como o R-CNN.

Criada por Ross Girshick e sua equipe, a arquitetura do modelo R-CNN gera propostas de regiões, extrai características com uma rede neural convolucional (CNN) pré-treinada, classifica objetos e refina caixas delimitadoras. Embora isso possa parecer complicado, ao final deste artigo você terá uma compreensão clara de como o R-CNN funciona e por que ele é tão impactante.

Como funciona o R-CNN?#

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

Diagrama de funcionamento do R-CNN

Fig. 1. Como funciona o R-CNN.

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

Na primeira etapa, o modelo R-CNN examina 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 Selective Search analisam vários aspectos da imagem, como cor, textura e forma, dividindo-a em partes diferentes. O Selective Search começa dividindo a imagem em partes menores e, em seguida, mescla as partes semelhantes para formar áreas de interesse maiores. Esse processo continua até gerar cerca de 2.000 propostas de regiões.

Diagrama do funcionamento do Selective Search

Fig. 2. Como funciona o Selective Search.

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

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

A próxima etapa do processo de detecção de objetos do modelo R-CNN é extrair características das propostas de regiões. Cada proposta de região é redimensionada para um tamanho uniforme esperado pela CNN (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 ampliado para incluir 16 pixels de contexto adicional ao redor da região, fornecendo mais informações do entorno para uma extração de características melhor.

Depois de redimensionadas, essas propostas de regiões são inseridas em uma CNN como a AlexNet, que geralmente é pré-treinada em um 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. 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 em análises posteriores. A classificação e localização precisas dos objetos nas etapas seguintes dependem dessa conversão fundamental de informações visuais em dados significativos.

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

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

Classificação de objetos: identificando objetos detectados#

A terceira etapa consiste em classificar os objetos nessas regiões. Isso significa determinar a categoria ou classe de cada objeto encontrado nas propostas. Em seguida, os vetores de características extraídos são enviados a um classificador de aprendizado de máquina.

No R-CNN, Máquinas de Vetores de Suporte (SVMs) são comumente usadas para essa finalidade. Cada SVM é treinada para reconhecer uma classe específica de objeto, analisando os vetores de características e decidindo se uma determinada região contém uma instância dessa classe. Em essência, para cada categoria de objeto há um classificador dedicado que verifica cada proposta de região em busca daquele objeto específico.

Durante o treinamento, os classificadores recebem dados rotulados com exemplos positivos e negativos:

  • Exemplos positivos: regiões que contêm o objeto-alvo.
  • Exemplos negativos: regiões sem o objeto.

Os classificadores aprendem a distinguir esses exemplos. A regressão das caixas delimitadoras refina ainda mais a posição e o tamanho dos objetos detectados, ajustando as caixas delimitadoras propostas inicialmente 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 das caixas delimitadoras.

Exemplo de regressão de caixa delimitadora

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

Reunindo tudo: refinando as detecções com NMS#

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

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

Exemplo de supressão não máxima

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

Veja as etapas da NMS:

  • Ordenação: As caixas delimitadoras são ordenadas de forma decrescente pelas pontuações de confiança.
  • Seleção: A caixa com a pontuação mais alta é 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: Esse processo se repete para a próxima caixa com a pontuação mais alta e continua até que todas as caixas tenham sido processadas.

Em resumo, o modelo R-CNN detecta objetos gerando propostas de regiões, extraindo características com uma CNN, classificando objetos e refinando suas posições com regressão de caixas delimitadoras, além de usar NMS para manter 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 bastante a precisão e o desempenho. Antes do R-CNN, os modelos de detecção de objetos tinham dificuldade para equilibrar velocidade e precisão. O método do R-CNN, que gera propostas de regiões e usa CNNs para extrair características, permite localizar e identificar objetos com precisão nas imagens.

O R-CNN abriu caminho para modelos como Fast R-CNN, Faster R-CNN e Mask R-CNN, que aprimoraram 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 no mundo real.

Transformando a geração de imagens médicas com R-CNN#

Um caso de uso interessante do R-CNN é o diagnóstico por imagem. Modelos R-CNN foram 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 exames médicos melhora a precisão dos diagnósticos e ajuda radiologistas a identificar tumores malignos em estágios iniciais. 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 no 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 R-CNN.

O modelo R-CNN pode ser aplicado a outras tarefas de exames de imagem médica além da detecção de tumores. Por exemplo, pode identificar fraturas, detectar doenças da retina em exames oftalmológicos e analisar imagens dos pulmões em busca de doenças como pneumonia e COVID-19. Seja qual for o problema médico, a detecção precoce pode levar a melhores resultados para os pacientes. Ao aplicar a precisão do R-CNN na identificação e localização de anomalias, os profissionais 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.

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

Apesar de impressionante, o R-CNN tem algumas 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ões e a classificação em etapas distintas pode resultar em um desempenho menos eficiente.

Ao longo dos anos, surgiram vários modelos de detecção de objetos que abordaram essas limitações. O Fast R-CNN executa a CNN uma vez sobre a imagem inteira e agrupa os recursos de cada proposta de região a partir desse mapa de recursos compartilhado, acelerando o processo. O Faster R-CNN introduz uma rede de propostas de regiões (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.

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.

Na mesma época em que surgiu o Faster R-CNN, a série YOLO (Você Só Olha Uma Vez) começou a avançar a 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, e modelos mais recentes, como o Ultralytics YOLO26, vão além ao eliminar totalmente o NMS.

Principais conclusões#

O R-CNN foi um divisor de águas na visão computacional, mostrando como o aprendizado profundo poderia transformar a detecção de objetos. Seu sucesso inspirou muitas novas ideias na área. Embora modelos mais recentes, como Faster R-CNN e YOLO, tenham corrigido desde então as falhas do R-CNN, sua contribuição representa um marco enorme que merece ser lembrado.

À medida que as pesquisas avançam, veremos modelos de detecção de objetos ainda melhores e mais rápidos. Esses avanços não só melhorarão a forma como as máquinas entendem o mundo, mas também promoverão o progresso em muitos setores.

Quer continuar explorando a IA? Faça parte da comunidade da Ultralytics! Explore nosso repositório no GitHub para conferir nossas inovações mais recentes em inteligência artificial. Conheça nossas soluções de IA em diversos setores, como agricultura e manufatura. Junte-se a nós para aprender e avançar!

Escrito por

Abirami Vina
Abirami Vina

Criador de conteúdo · Ultralytics

Ao iniciar a carreira como engenheira de visão computacional, Abirami Vina construiu uma base sólida em IA de visão e machine learning. Ela é criadora de conteúdo da Ultralytics e fundadora e redatora-chefe da Scribe of AI, onde produz conteúdo técnico de alta qualidade para empresas focadas em IA. Movida pela paixão por tornar a IA compreensível e envolvente, seu trabalho aproxima a tecnologia de ponta do impacto no mundo real.

Comentários

Faça uma pergunta, compartilhe seus resultados ou ajude alguém.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

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

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automaçã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 à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina