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

O que é a segmentação de instâncias? Um guia rápido

Junta-te a nós para vermos mais de perto o que é a segmentação de instâncias, como funciona, a sua utilização em várias aplicações de visão por computador e o impacto que pode ter.

As aplicações de visão computacional estão a tornar-se mais comuns no nosso quotidiano, desde as câmaras de trânsito que monitorizam as condições das estradas até aos sistemas de self-checkout nas lojas. Ao permitir que as máquinas compreendam os dados visuais de uma forma semelhante à dos humanos, a IA de visão está a ter um impacto numa série de indústrias.

Muitas destas aplicações dependem da deteção de objectos, uma tarefa de visão por computador que coloca caixas delimitadoras em torno de objectos-chave nas imagens. Embora esta abordagem funcione frequentemente bem, algumas soluções de análise de imagem necessitam de uma precisão ainda maior.

Por exemplo, a imagiologia médica requer mais do que apenas a deteção de um tumor - é crucial delinear a sua forma exacta. Da mesma forma, na robótica, as máquinas precisam de reconhecer os contornos exactos de um objeto para o agarrar corretamente. Para enfrentar estes desafios, a segmentação de instâncias oferece uma solução mais precisa.

A segmentação de instâncias é uma tarefa de visão por computador concebida para suportar casos de utilização em que a deteção de objectos não é suficiente - fornece precisão ao nível do pixel. Modelos de visão por computador como o Ultralytics YOLO11 podem ser utilizados para aplicar facilmente a segmentação de instâncias a imagens e vídeos. 

Fig. 1. Exemplo de utilização do YOLO11 para a segmentação de exemplos.

Neste guia, vamos explicar como funciona a segmentação de instâncias, as suas aplicações e como Ultralytics YOLO11 pode ser treinado de forma personalizada para tarefas de segmentação específicas.

O que é a segmentação de instâncias?

Imagina que há uma fotografia de grupo com pessoas próximas umas das outras. A deteção de objectos pode ajudar a desenhar caixas à volta de cada pessoa, mas isso não te diz a sua forma exacta. 

A segmentação de instâncias, por outro lado, é semelhante a traçar cuidadosamente à volta de cada pessoa para que possas ver o seu contorno completo, mesmo que se sobreponham. Em vez de apenas marcar onde algo está com uma caixa, identifica a forma exacta de cada objeto ao nível do pixel, facilitando a compreensão de imagens complexas.

O resultado é uma máscara detalhada que preenche a forma de um objeto, identificando exatamente quais os pixels que lhe pertencem. Este nível de precisão é útil em muitas aplicações do mundo real, onde é importante compreender a forma exacta e os limites dos objectos.

Figura 2. Mostra o suporte do YOLO11para a segmentação de instâncias.

Segmentação de instâncias vs segmentação semântica

Ao explorares a segmentação de instâncias, poderás deparar-te com o conceito de segmentação semântica.

Ambas as técnicas ajudam os computadores a compreender as imagens ao nível do pixel, mas servem objectivos diferentes. A segmentação semântica marca cada pixel com base na sua categoria, agrupando todos os objectos do mesmo tipo. Por exemplo, numa imagem com vários carros, a segmentação semântica marcaria todos eles como "carro" sem distinguir entre veículos individuais.

A segmentação de instâncias, por outro lado, dá um passo em frente, identificando cada objeto separadamente. Atribui etiquetas únicas a instâncias individuais e cria máscaras precisas à volta das suas formas. Assim, na mesma imagem, a segmentação de instâncias não rotularia apenas tudo como "carro", mas reconheceria e delinearia cada carro individualmente.

A principal diferença entre as duas é que a segmentação semântica agrupa os objectos por categoria, enquanto a segmentação por instância distingue cada objeto como uma entidade única com limites claros. A escolha da tarefa a utilizar depende da aplicação específica - se é suficiente saber o que está numa imagem ou se é importante distinguir entre objectos individuais.

Fig. 3. Segmentação de instâncias vs segmentação semântica (direita e esquerda, respetivamente).

Modelos populares de segmentação de instâncias

Atualmente, existem vários modelos de segmentação de instâncias disponíveis para a comunidade Vision AI. Alguns são mais rápidos, outros são mais precisos e outros são mais fáceis de utilizar. 

Estas opções, embora úteis, podem levar à questão de saber qual é a opção correta a utilizar para uma tarefa específica. Entre as opções, os modelos Ultralytics YOLO são bastante populares porque se concentram na velocidade e na precisão. 

Além disso, estes modelos evoluíram significativamente ao longo dos anos. Por exemplo, Ultralytics YOLOv5 simplificou a implementação utilizando estruturas como o PyTorch, tornando a IA de visão avançada acessível a um público mais vasto sem exigir conhecimentos técnicos profundos.

Aproveita esse sucesso, Ultralytics YOLOv8 introduziu um suporte melhorado para tarefas de visão computacional, como a segmentação de instâncias, a estimativa de pose e a classificação de imagens. 

Agora, YOLO11 leva o desempenho a um novo nível. Atinge uma precisão média superior (mAP) no conjunto de dados COCO com menos 22% de parâmetros do que YOLOv8m, o que significa que pode reconhecer objectos com mais precisão utilizando menos recursos.

Figura 4. Comparação de desempenho YOLO11.

Resumindo, YOLO11 oferece uma precisão de ponta sem comprometer a eficiência, o que o torna um divisor de águas no terreno.

Compreender como funciona a segmentação de instâncias

De seguida, vamos explorar como funciona normalmente a segmentação de instâncias. Os modelos mais antigos de visão por computador utilizam uma abordagem em duas etapas. 

Primeiro, detecta os objectos desenhando caixas delimitadoras à sua volta. Depois, gera uma máscara ao nível do pixel para delinear a forma exacta de cada objeto. Um exemplo bem conhecido é o Mask R-CNN, que se baseia em modelos de deteção de objectos, adicionando um passo de previsão de máscara. Embora este método seja eficaz, pode ser lento porque processa a imagem em várias etapas, o que torna as aplicações em tempo real mais difíceis.

Entretanto, modelos como o YOLO11 processam imagens de uma só vez, prevendo simultaneamente caixas delimitadoras de objectos e máscaras de segmentação de instâncias. Esta abordagem simplificada torna-a muito mais rápida, mantendo ao mesmo tempo uma elevada precisão. Como resultado, é particularmente útil para aplicações em tempo real, como a condução autónoma, a análise de vídeo e a robótica, onde a velocidade e a precisão são cruciais.

Formação personalizada YOLO11 para segmentação de exemplos

YOLO11 vem como um modelo pré-treinado. Foi treinado no conjunto de dados COCO-Seg, que abrange objectos do quotidiano para segmentação de exemplos. No entanto, o pacote Ultralytics Python suporta formação personalizada, o que é essencial para aplicações especializadas em que é necessário segmentar objectos únicos.

Porque é que a formação personalizada ou a afinação de um modelo é importante? A formação personalizada tira partido da aprendizagem por transferência, baseando-se nos conhecimentos já incorporados em modelos pré-treinados. Em vez de começar do zero, adapta um modelo existente a novas tarefas utilizando conjuntos de dados mais pequenos e menos recursos informáticos, mantendo uma elevada precisão.

Como personalizar o treino YOLO11

Segue-se uma análise mais detalhada dos passos envolvidos no ajuste fino YOLO11 para a segmentação de exemplos: 

  • Preparação de dados: Recolhe e anota imagens com base na tua aplicação específica. Ultralytics oferece suporte para vários conjuntos de dados de imagens, mas também podes treinar utilizando o teu próprio conjunto de dados, preparando imagens e anotações no formato YOLO necessário.
  • Utiliza um modelo pré-treinado: Em vez de começar do zero, utiliza um modelo pré-treinado Ultralytics YOLO11 .
  • Treina o modelo: Ajusta as definições vitais de treino, como o tamanho do lote (imagens processadas por iteração), o tamanho da imagem (resolução de entrada alvo) e as épocas (ciclos de treino totais) e treina o modelo.
  • Avaliação do desempenho: Após a conclusão do treino do modelo, pode testar a precisão do modelo utilizando métricas de desempenho como o mAP. O pacotePython Ultralytics também fornece funções incorporadas para a avaliação do modelo.

Aplicações de segmentação de instâncias permitidas pelo YOLO11

A segmentação de instâncias pode ser utilizada para resolver desafios do mundo real, ajudando as máquinas a ver e a compreender os objectos com maior precisão. Desde a melhoria da automação até à proteção do ambiente, desempenha um papel fundamental em muitos campos. Vamos analisar alguns exemplos de onde ela está causando impacto.

Segurança e monitorização de estaleiros de construção com YOLO11

A segmentação de instâncias pode ser uma parte crítica para garantir a segurança e a eficiência nos locais de construção. Por exemplo, pode ser utilizada para monitorizar maquinaria pesada. 

YOLO11 pode ser ajustado para segmentar e identificar com precisão diferentes tipos de equipamento, como gruas, escavadoras e bulldozers, e seguir as suas posições em tempo real. Isto permite que os gestores de obra se certifiquem de que a maquinaria funciona estritamente dentro das áreas designadas e não invade zonas onde estão presentes trabalhadores ou onde existem perigos. 

Além disso, a integração destas soluções com sistemas de alerta em tempo real permite a adoção rápida de medidas corretivas. Além disso, as informações recolhidas podem ajudar a otimizar a disposição do local e o fluxo de trabalho, reduzindo ainda mais os riscos e aumentando a produtividade.

Fig. 5. Monitorização de maquinaria pesada utilizando YOLO11.

Monitorização de animais com segmentação e YOLO11

A monitorização do comportamento animal ajuda os investigadores, agricultores e conservacionistas a cuidar melhor dos animais em diferentes ambientes. A segmentação de instâncias desempenha um papel útil nestes sistemas, identificando e segmentando animais individuais em quintas, jardins zoológicos e habitats naturais. Ao contrário da deteção de objectos tradicional que utiliza caixas delimitadoras, a segmentação de instâncias fornece uma delimitação ao nível do pixel de cada animal, o que é particularmente útil quando os animais estão muito próximos.

A segmentação detalhada facilita um acompanhamento mais preciso dos movimentos e comportamentos. Os animais sobrepostos ou agrupados podem ser reconhecidos de forma distinta e proporcionar uma análise mais precisa das interações, avaliações de saúde e padrões de atividade. De um modo geral, uma visão mais profunda do comportamento animal melhora as práticas de gestão e cuidados com os animais.

Fig. 6. Monitoriza o gado utilizando a segmentação de instâncias.

YOLO11 em análise desportiva e acompanhamento de jogadores

O acompanhamento preciso de jogadores e eventos é uma parte importante da análise desportiva. Os métodos tradicionais de seguimento dependem da marcação manual, que pode não captar interações detalhadas. A visão por computador pode ser utilizada para segmentar detalhes como cada jogador, bola e evento chave ao nível do pixel para obter informações detalhadas.

Por exemplo, a segmentação de instâncias pode ajudar a detetar eventos como faltas ou incidentes fora da bola, separando claramente cada jogador e objeto. Esta monitorização granular possibilitada por modelos como o YOLO11 oferece aos analistas informações mais claras para estudar padrões de movimento, posicionamento espacial e interações com elevada precisão. Uma das principais vantagens destas informações é que ajudam as equipas a aperfeiçoar as suas estratégias e a melhorar o desempenho geral.

Prós e contras da segmentação de instâncias

Aqui estão alguns dos principais benefícios que a segmentação de instâncias pode trazer para vários sectores:

  • Automatização melhorada: Ao automatizar tarefas como o controlo de qualidade e a monitorização da segurança, a segmentação de instâncias reduz a necessidade de intervenção manual e minimiza o erro humano.
  • Melhor compreensão da cena: Ao delinear com precisão cada objeto, a segmentação de instâncias contribui para uma compreensão mais profunda de cenas complexas, apoiando uma tomada de decisões mais informada.
  • Pós-processamento eficiente: A saída ao nível do pixel simplifica tarefas como remoção de fundo, contagem de objectos e análise espacial, reduzindo a necessidade de passos de processamento adicionais.

Embora estes benefícios realcem o impacto da segmentação de instâncias em diferentes casos de utilização, é também essencial considerar os desafios envolvidos na sua implementação. 

Eis algumas das principais limitações da segmentação de instâncias:

  • Desafios com a transparência: A segmentação de objectos transparentes ou reflectores, como o vidro e a água, é difícil, levando a limites imprecisos.
  • Custos gerais de manutenção: Para manter os modelos precisos e relevantes, são necessárias actualizações e afinações contínuas à medida que as condições ambientais e os conjuntos de dados mudam.
  • Elevado esforço de anotação: O treino de modelos de segmentação de instâncias requer anotações detalhadas ao nível do pixel, o que aumenta significativamente o tempo e o custo envolvidos na preparação dos dados.

Principais conclusões

A segmentação de instâncias permite distinguir objectos individuais com precisão, mesmo quando estes se sobrepõem. Ao captar os limites dos objectos ao nível do pixel, proporciona uma compreensão mais profunda dos dados visuais em comparação com as tarefas tradicionais de visão por computador, como a deteção de objectos.

Os recentes avanços na visão computacional tornaram a segmentação de instâncias mais rápida e fácil de usar. Em particular, os modelos de visão por computador como o Ultralytics YOLO11 simplificam o processo, permitindo a segmentação em tempo real com uma configuração mínima, tornando-o mais acessível a várias indústrias e aplicações.

Tens curiosidade sobre a IA? Visita o nosso repositório GitHub e liga-te à nossa comunidade para continuares a explorar. Aprende sobre inovações como a IA em carros autónomos e a IA de visão na agricultura nas nossas páginas de soluções. Vê as nossas opções de licenciamento e começa a trabalhar num projeto de visão computacional!

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