Verificação verde
Link copiado para a área de transferência

O que é a Máscara R-CNN e como funciona?

Aprende como a Máscara R-CNN pode ser utilizada para segmentar com precisão objectos em imagens e vídeos para várias aplicações em diferentes sectores.

Inovações como robôs em armazéns, carros autónomos que circulam em segurança por ruas movimentadas, drones que controlam colheitas e sistemas de IA que inspeccionam produtos em fábricas estão a tornar-se mais comuns à medida que a adoção da IA aumenta. Uma tecnologia chave que impulsiona estas inovações é a visão por computador, um ramo da IA que permite às máquinas compreender e interpretar dados visuais.

Por exemplo, a deteção de objectos é uma tarefa de visão por computador que ajuda a identificar e localizar objectos em imagens utilizando caixas delimitadoras. Embora as caixas delimitadoras ofereçam informações úteis, apenas fornecem uma estimativa aproximada da posição de um objeto e não conseguem captar a sua forma ou limites exactos. Isto torna-as menos eficazes em aplicações que requerem uma identificação precisa.

Para resolver este problema, os investigadores desenvolveram modelos de segmentação que captam os contornos exactos dos objectos, fornecendo detalhes ao nível do pixel para uma deteção e análise mais precisas.

O Mask R-CNN é um desses modelos. Introduzido em 2017 pela Facebook AI Research (FAIR), baseia-se em modelos anteriores como R-CNN, Fast R-CNN e Faster R-CNN. Como um marco importante na história da visão computacional, o Mask R-CNN abriu caminho para modelos mais avançados, como o Ultralytics YOLO11.

Neste artigo, vamos explorar o que é a Máscara R-CNN, como funciona, as suas aplicações e que melhorias surgiram depois dela, levando ao YOLO11.

Uma visão geral da Mask R-CNN

A Mask R-CNN, que significa Mask Region-based Convolutional Neural Network, é um modelo de aprendizagem profunda concebido para tarefas de visão computacional como a deteção de objectos e a segmentação de instâncias. 

A segmentação de instâncias vai além da deteção de objectos tradicional, não só identificando objectos numa imagem, mas também delineando com precisão cada um deles. Atribui uma etiqueta única a cada objeto detectado e capta a sua forma exacta ao nível do pixel. Esta abordagem detalhada permite distinguir claramente entre objectos sobrepostos e tratar com precisão formas complexas.

O Mask R-CNN baseia-se no Faster R-CNN, que detecta e rotula objectos mas não define as suas formas exactas. O Mask R-CNN melhora este aspeto ao identificar os pixels exactos que compõem cada objeto, permitindo uma análise de imagem muito mais detalhada e precisa.

Figura 1. Comparação da deteção de objectos e da segmentação de instâncias.

Vê a arquitetura da Mask R-CNN e o seu funcionamento

A máscara R-CNN adopta uma abordagem passo-a-passo para detetar e segmentar objectos com precisão. Começa por extrair as principais caraterísticas utilizando uma rede neural profunda (um modelo de várias camadas que aprende com os dados), depois identifica potenciais áreas de objectos com uma rede de proposta de região (um componente que sugere prováveis regiões de objectos) e, por fim, refina estas áreas criando máscaras de segmentação detalhadas (contornos precisos de objectos) que captam a forma exacta de cada objeto.

A seguir, vamos percorrer cada passo para teres uma ideia melhor de como funciona a Máscara R-CNN.

Figura 2. Uma visão geral da arquitetura da Mask R-CNN.

Começar com a extração de caraterísticas

O primeiro passo na arquitetura da Máscara R-CNN é decompor a imagem nas suas partes principais para que o modelo possa compreender o que está nela. Pensa nisto como quando olhas para uma fotografia e reparas naturalmente em detalhes como formas, cores e margens. O modelo faz algo semelhante utilizando uma rede neural profunda denominada "espinha dorsal" (frequentemente ResNet-50 ou ResNet-101), que actua como os seus olhos para analisar a imagem e detetar os principais detalhes.

Uma vez que os objectos nas imagens podem ser muito pequenos ou muito grandes, a Mask R-CNN utiliza uma rede de pirâmide de caraterísticas. Isto é como ter diferentes lupas que permitem ao modelo ver tanto os detalhes finos como a imagem maior, assegurando que os objectos de todos os tamanhos são notados.

Uma vez extraídas estas caraterísticas importantes, o modelo passa a localizar os potenciais objectos na imagem, preparando o terreno para uma análise posterior.

Sugerir áreas potenciais na imagem com objectos

Depois de a imagem ter sido processada para as caraterísticas principais, a Rede de Propostas de Regiões assume o controlo. Esta parte do modelo analisa a imagem e sugere áreas que provavelmente conterão objectos.

Faz isso gerando várias localizações possíveis de objetos, chamadas âncoras. Depois, a rede avalia estas âncoras e seleciona as mais promissoras para análise posterior. Desta forma, o modelo concentra-se apenas nas áreas com maior probabilidade de serem interessantes, em vez de verificar todos os pontos da imagem.

Fig. 3. Um exemplo de uma rede de propostas de regiões.

Melhorar as caraterísticas extraídas 

Com as áreas-chave identificadas, o passo seguinte é refinar os detalhes extraídos destas regiões. Os modelos anteriores utilizavam um método designado por ROI Pooling (Pooling de regiões de interesse) para extrair caraterísticas de cada área, mas esta técnica conduzia por vezes a ligeiros desalinhamentos quando redimensionava as regiões, tornando-a menos eficaz - especialmente para objectos mais pequenos ou sobrepostos.

A Máscara R-CNN melhora isso usando uma técnica conhecida como Alinhamento de ROI (Alinhamento da região de interesse). Em vez de arredondar as coordenadas, como faz o Pooling de ROI, o Alinhamento de ROI usa interpolação bilinear para estimar os valores de pixel com mais precisão. A interpolação bilinear é um método que calcula um novo valor de pixel calculando a média dos valores dos seus quatro vizinhos mais próximos, o que cria transições mais suaves. Isto mantém as caraterísticas corretamente alinhadas com a imagem original, resultando numa deteção e segmentação de objectos mais precisa.

Por exemplo, num jogo de futebol, dois jogadores próximos podem ser confundidos um com o outro porque as suas caixas delimitadoras se sobrepõem. O ROI Align ajuda a separá-los, mantendo as suas formas distintas. 

Fig. 4. A máscara R-CNN utiliza o alinhamento de ROI.

Classificar objectos e prever as suas máscaras

Assim que o Alinhamento de ROI processa a imagem, o passo seguinte é classificar os objectos e afinar as suas localizações. O modelo analisa cada região extraída e decide que objeto contém. Atribui uma pontuação de probabilidade a diferentes categorias e escolhe a melhor correspondência.

Ao mesmo tempo, ajusta as caixas delimitadoras para melhor se adaptarem aos objectos. As caixas iniciais podem não estar colocadas de forma ideal, por isso ajuda a melhorar a precisão, certificando-se de que cada caixa rodeia firmemente o objeto detectado.

Finalmente, a Mask R-CNN dá um passo extra: gera uma máscara de segmentação detalhada para cada objeto em paralelo.

Máscara R-CNN e suas aplicações em tempo real

Quando este modelo foi lançado, foi recebido com grande entusiasmo pela comunidade de IA e foi rapidamente utilizado em várias aplicações. A sua capacidade de detetar e segmentar objectos em tempo real transformou-o num revolucionário em diferentes indústrias.

Por exemplo, localizar animais em vias de extinção na natureza é uma tarefa difícil. Muitas espécies deslocam-se através de florestas densas, o que torna difícil para os conservacionistas seguir o seu rasto. Os métodos tradicionais recorrem a armadilhas fotográficas, drones e imagens de satélite, mas a análise manual de todos estes dados consome muito tempo. Os erros de identificação e os avistamentos perdidos podem atrasar os esforços de conservação.

Ao reconhecer caraterísticas únicas como riscas de tigre, manchas de girafa ou a forma das orelhas de um elefante, a Mask R-CNN consegue detetar e segmentar animais em imagens e vídeos com maior precisão. Mesmo quando os animais estão parcialmente ocultos por árvores ou próximos uns dos outros, o modelo consegue separá-los e identificar cada um individualmente, tornando a monitorização da vida selvagem mais rápida e fiável.

Figura 5. Detecta e segmenta animais utilizando a Mask R-CNN.

Limitações da máscara R-CNN

Apesar da sua importância histórica na deteção e segmentação de objectos, a Máscara R-CNN também apresenta algumas desvantagens importantes. Apresentamos de seguida alguns desafios relacionados com a Máscara R-CNN:

  • Alta demanda computacional: Depende de GPUs potentes, o que pode tornar a sua execução dispendiosa e lenta quando processa grandes quantidades de dados.

  • Velocidade de processamento mais lenta: O seu processo em várias fases torna-o mais lento em comparação com modelos em tempo real mais rápidos como o YOLO, o que pode não ser ideal para tarefas sensíveis ao tempo.

  • Depende de dados de alta qualidade: O modelo funciona melhor com imagens claras e bem rotuladas. Imagens desfocadas ou mal iluminadas podem reduzir significativamente a sua precisão.
  • Implementação complexa: A arquitetura em várias fases pode ser difícil de configurar e otimizar, especialmente quando se lida com grandes conjuntos de dados ou recursos limitados.

Da máscara R-CNN ao Ultralytics YOLO11

A máscara R-CNN era excelente para tarefas de segmentação, mas muitas indústrias estavam a tentar adotar a visão por computador, dando prioridade à velocidade e ao desempenho em tempo real. Este requisito levou os investigadores a desenvolver modelos de uma fase que detectam objectos numa única passagem, melhorando consideravelmente a eficiência.

Ao contrário do processo de várias etapas da Mask R-CNN, os modelos de visão computacional de uma etapa, como o YOLO (You Only Look Once), concentram-se em tarefas de visão computacional em tempo real. Em vez de tratar a deteção e a segmentação separadamente, os modelos YOLO podem analisar uma imagem de uma só vez. Isto torna-os ideais para aplicações como a condução autónoma, cuidados de saúde, fabrico e robótica, onde a tomada rápida de decisões é crucial.

Em particular, YOLO11 dá um passo em frente, sendo simultaneamente rápido e preciso. Utiliza menos 22% de parâmetros do que YOLOv8m , mas ainda assim atinge uma precisão média superior (mAP) no conjunto de dados COCO, o que significa que detecta objectos com maior precisão. A sua velocidade de processamento melhorada torna-o uma boa escolha para aplicações em tempo real em que cada milissegundo é importante.

Fig. 6. Desempenho do YOLO11em comparação com outros modelos.

Principais conclusões

Olhando para trás na história da visão por computador, a Mask R-CNN é reconhecida como um grande avanço na deteção e segmentação de objectos. Apresenta resultados muito precisos, mesmo em cenários complexos, graças ao seu processo detalhado em várias etapas. 

No entanto, este mesmo processo torna-o mais lento em comparação com modelos em tempo real como o YOLO. À medida que a necessidade de velocidade e eficiência aumenta, muitas aplicações utilizam agora modelos de uma fase, como o Ultralytics YOLO11, que oferecem uma deteção de objectos rápida e precisa. Embora o Mask R-CNN seja importante no que diz respeito à compreensão da evolução da visão computacional, a tendência para soluções em tempo real destaca a crescente demanda por soluções de visão computacional mais rápidas e eficientes.

Junta-te à nossa comunidade em crescimento! Explora o nosso repositório GitHub para saberes mais sobre IA. Estás pronto para iniciar os teus próprios projectos de visão computacional? Vê as nossas opções de licenciamento. Descobre a IA na agricultura e a IA de visão nos cuidados de saúde visitando as nossas páginas de soluções! 

Logótipo do FacebookLogótipo do TwitterLogótipo do LinkedInSímbolo de ligação de cópia

Ler mais nesta categoria

Vamos construir juntos o futuro
da IA!

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