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.
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.
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.
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.
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.
Resumindo, YOLO11 oferece uma precisão de ponta sem comprometer a eficiência, o que o torna um divisor de águas no terreno.
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.
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.
Segue-se uma análise mais detalhada dos passos envolvidos no ajuste fino YOLO11 para a segmentação de exemplos:
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.
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.
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.
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.
Aqui estão alguns dos principais benefícios que a segmentação de instâncias pode trazer para vários sectores:
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:
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!
Começa a tua viagem com o futuro da aprendizagem automática