Descubra o poder da segmentação de imagens com o Ultralytics YOLO. Explore a precisão ao nível do pixel, os tipos, as aplicações e os casos de utilização de IA no mundo real.
A segmentação de imagens é uma técnica fundamental na visão computacional (CV) que envolve a partição de uma uma imagem digital em vários subgrupos de pixéis, normalmente designados por segmentos de imagem. O objetivo principal é simplificar a representação de uma imagem em algo mais significativo e mais fácil de analisar. Ao contrário da deteção de objectos, que localiza os objectos dentro de uma retangular, a segmentação de imagens fornece um mapa preciso, ao nível dos pixels, da forma de um objeto. Este processo atribui uma etiqueta a cada pixel de uma imagem, permitindo modelos de inteligência artificial (IA) para compreender os limites e contornos exactos das entidades numa cena.
Em muitos fluxos de trabalho modernos de aprendizagem automática (ML), saber a localização aproximada de um objeto é insuficiente. As aplicações que requerem interação com o mundo físico físico - como um robô a agarrar uma embalagem ou um carro a navegar numa estrada sinuosa - exigem uma compreensão granular da geometria. A segmentação de imagens colmata esta lacuna, convertendo dados visuais em bruto num conjunto de regiões classificadas. Esta capacidade é alimentada por arquitecturas avançadas de arquitecturas avançadas de aprendizagem profunda (DL), nomeadamente Redes Neuronais Convolucionais (CNN), que extraem caraterísticas espaciais para diferenciar entre objectos em primeiro plano e o fundo.
Compreender a tarefa de segmentação específica é crucial para selecionar a arquitetura de modelo correta. As três principais categorias são:
A capacidade de delinear limites precisos torna a segmentação indispensável em vários sectores:
As estruturas modernas simplificaram a implementação de tarefas de segmentação. Enquanto os detectores de duas fases mais antigos, como o Mask R-CNN eram precisos mas lentos, os modelos de fase única revolucionaram o campo, oferecendo inferência em tempo real. O Ultralytics YOLO11 por exemplo, suporta nativamente a segmentação de instâncias. Olhando para o futuro, YOLO26 está a ser desenvolvido para otimizar ainda mais estas capacidades com processamento de ponta a ponta.
Os programadores podem utilizar bibliotecas padrão como OpenCV para pré-processamento e visualização, enquanto usam o PyTorch para o trabalho pesado de inferência de modelos.
Aqui está um exemplo conciso de como efetuar a segmentação de instâncias utilizando um modelo YOLO11 pré-treinado em Python:
from ultralytics import YOLO
# Load a pre-trained YOLO11 segmentation model
model = YOLO("yolo11n-seg.pt")
# Run inference on an image (can be a local path or URL)
results = model("https://ultralytics.com/images/bus.jpg")
# Display the resulting image with segmentation masks overlaid
results[0].show()
Este fragmento de código trata automaticamente das tarefas complexas de extração de caraterísticas, regressão de caixas delimitadoras e geração de máscaras permitindo que os programadores se concentrem na integração dos resultados da segmentação nas suas aplicações maiores.