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.
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!
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.

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.

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

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:
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.

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.

Segue-se uma descrição das etapas do NMS:
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.
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.
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.

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

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.
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!