Aprende sobre o RCNN e o seu impacto na deteção de objectos. Abordaremos os seus principais componentes, aplicações e papel no avanço de técnicas como o Fast RCNN e 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 características artesanais e janelas deslizantes. Estes métodos tinham frequentemente dificuldade em detetar com precisão objectos em cenas complexas com vários 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 computacional. Para entender como modelos como o YOLOv8 surgiram, precisamos primeiro de compreender modelos como as R-CNN.
Criada por Ross Girshick e a 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 objectos e aperfeiçoa caixas delimitadoras. Embora isso possa parecer assustador, no final deste artigo, terás uma compreensão clara de como a R-CNN funciona e porque é tão impactante. Vamos dar uma vista de olhos!
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 características e classificação de objectos enquanto refina as suas caixas delimitadoras. Vamos passar por cada passo.
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.
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 em vez de em toda a imagem. A utilização de propostas de regiões equilibra o rigor com a eficiência computacional.
O próximo passo no processo de deteção de objectos do modelo R-CNN é extrair caracterí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 distorçã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 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 características de elevada dimensão que captam detalhes importantes, como arestas, texturas e padrões. Estes vectores de características condensam a informação essencial das regiões. Transforma os dados brutos da imagem num formato que o modelo pode utilizar para análise posterior. A classificação precisa e a localização de objectos nas fases seguintes dependem desta conversão crucial da informação visual em dados significativos.
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 características extraídos são depois 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 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 para esse objeto específico.
Durante o treino, os classificadores recebem dados rotulados com amostras positivas e negativas:
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.
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.
Segue-se uma descrição das etapas do NMS:
Em suma, o modelo R-CNN detecta objectos gerando propostas de regiões, extraindo caracterí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.
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 de gerar propostas de regiões e utilizar CNNs para a extração de caracterí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.
Um caso de utilização interessante das R-CNN é a imagiologia médica. Os modelos R-CNN têm sido usados para detetar e classificar diferentes tipos de tumores, como tumores cerebrais, em exames médicos como ressonâncias magnéticas e tomografias computadorizadas. A utilização do modelo R-CNN em 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é mesmo 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, 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 o paciente. 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 velocidade 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, a R-CNN tem algumas desvantagens, 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 preocupações. O Fast R-CNN combina propostas de regiões e extração de caracterí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.
Por volta da mesma altura que o 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 modelo Ultralytics YOLOv8 oferece maior precisão e velocidade com funcionalidades avançadas para muitas tarefas de visão computacional.
O RCNN mudou o jogo na visão computacional, mostrando como a aprendizagem profunda pode mudar a deteção de objectos. O seu sucesso inspirou muitas ideias novas neste domínio. Embora modelos mais recentes como o Faster R-CNN e o YOLO tenham 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 ao progresso em muitas indústrias. O futuro da deteção de objectos parece excitante!
Queres continuar a explorar a IA? Torna-te parte dacomunidade Ultralytics ! Explora o nosso repositório GitHub para veres as nossas mais recentes inovações em inteligência artificial. Vê as nossas soluções de IA que abrangem vários sectores, como a agricultura e a indústria transformadora. Junta-te a nós para aprenderes e avançares!
Começa a tua viagem com o futuro da aprendizagem automática