A segmentação de instâncias é uma técnica sofisticada de visão por computador que amplia as capacidades de deteção de objectos, não só identificando a presença e localização de objectos numa imagem, mas também delineando os limites exactos de cada instância de objeto individual. Isto significa que a segmentação de instâncias pode distinguir entre vários objectos da mesma classe que estão próximos uns dos outros ou sobrepostos, fornecendo uma máscara ao nível do pixel para cada objeto. Este nível de detalhe é crucial para aplicações que requerem uma compreensão precisa da cena, como a condução autónoma, a imagiologia médica e a manipulação robótica.
Principais diferenças em relação a termos relacionados
Embora a segmentação de instâncias esteja relacionada com outras tarefas de visão por computador, oferece capacidades únicas:
- Deteção de objectos: A deteção de objectos identifica a presença e a localização de objectos numa imagem, normalmente utilizando caixas delimitadoras. No entanto, não fornece informações sobre a forma ou a extensão dos objectos. A segmentação de instâncias vai mais longe, delineando os limites precisos de cada objeto.
- Segmentação semântica: A segmentação semântica classifica cada pixel de uma imagem numa classe específica, essencialmente colorindo todos os pixels pertencentes à mesma classe com a mesma cor. No entanto, não distingue entre diferentes instâncias da mesma classe. Por exemplo, todos os carros de uma imagem seriam rotulados como "carro", mas os carros individuais não seriam diferenciados.
- Segmentação panóptica: A segmentação pan óptica combina a segmentação semântica e a segmentação de instâncias, fornecendo tanto a classificação ao nível do pixel como a diferenciação de instâncias de objectos individuais. Enquanto a segmentação panóptica oferece uma compreensão abrangente da cena, a segmentação de instâncias concentra-se especificamente na distinção de instâncias de objectos individuais.
Aplicações no mundo real
A segmentação de instâncias é utilizada numa variedade de aplicações do mundo real em que a delimitação precisa de objectos é essencial:
- Condução autónoma: Nos carros de condução autónoma, a segmentação de instâncias ajuda a identificar e distinguir entre veículos individuais, peões e outros objectos na estrada. Isto é crucial para tomar decisões de condução precisas, como manter uma distância segura de outros carros ou evitar colisões com peões. Por exemplo, o sistema pode distinguir entre vários carros num engarrafamento, permitindo que o veículo navegue em cenários complexos com segurança.
- Imagens médicas: A segmentação de instâncias é utilizada para identificar e segmentar células, órgãos ou tumores individuais em imagens médicas, como exames de ressonância magnética ou tomografia computadorizada. Esta precisão é vital para um diagnóstico exato, planeamento do tratamento e monitorização da progressão da doença. Por exemplo, segmentar tumores individuais num exame ao cérebro pode ajudar os médicos a planear a radioterapia ou a remoção cirúrgica com maior precisão. Explora mais sobre a IA nos cuidados de saúde.
Informações técnicas
Os modelos de segmentação de instâncias baseiam-se normalmente em arquitecturas de deteção de objectos, como as Redes Neuronais Convolucionais (CNN). Uma abordagem popular é usar um detetor de dois estágios, em que o primeiro estágio propõe regiões de interesse (caixas delimitadoras) e o segundo estágio refina essas regiões para produzir máscaras no nível do pixel. A Mask R-CNN é um exemplo bem conhecido desta abordagem, que estende o modelo de deteção de objectos Faster R-CNN ao adicionar um ramo para prever máscaras de segmentação em cada Região de Interesse (RoI).
Ferramentas e estruturas
Várias ferramentas e estruturas suportam a segmentação de instâncias, tornando-a acessível a investigadores e programadores:
- TensorFlow e PyTorch: Estas estruturas populares de aprendizagem automática fornecem os blocos de construção para a implementação de modelos de segmentação de instâncias. Oferecem flexibilidade e controlo sobre a arquitetura do modelo e o processo de formação. Sabe mais sobre TensorFlow e PyTorch.
- Ultralytics YOLO: Os modelos Ultralytics YOLO , reconhecidos pela deteção de objectos em tempo real, também suportam tarefas de segmentação de instâncias. Estes modelos oferecem um equilíbrio entre rapidez e precisão, o que os torna adequados para aplicações em tempo real.
- Ultralytics HUB: Esta plataforma simplifica o processo de formação e implementação de modelos de segmentação de instâncias, permitindo que os utilizadores se concentrem na sua aplicação específica sem se perderem nos detalhes técnicos da implementação do modelo. Explora como podes tirar partido disto com o Ultralytics HUB.
Ao fornecer máscaras detalhadas ao nível do pixel para cada instância de objeto, a segmentação de instâncias melhora a capacidade dos sistemas de IA para compreender e interagir com o mundo visual, impulsionando avanços em vários campos.