Segmentação de Instância e Rastreamento usando Ultralytics YOLO26 🚀
O que é Segmentação de Instância?
Segmentação de instância é uma tarefa de visão computacional que envolve identificar e contornar objetos individuais em uma imagem no nível de pixel. Ao contrário da segmentação semântica, que apenas classifica pixels por categoria, a segmentação de instância rotula de forma única e delineia precisamente cada instância de objeto, tornando-a crucial para aplicações que exigem compreensão espacial detalhada, como imagens médicas, direção autônoma e automação industrial.
O Ultralytics YOLO26 oferece recursos poderosos de segmentação de instância que permitem a detecção precisa de limites de objetos, mantendo a velocidade e a eficiência pelas quais os modelos YOLO são conhecidos.
Existem dois tipos de rastreamento de segmentação de instância disponíveis no pacote Ultralytics:
-
Segmentação de Instância com Objetos de Classe: Cada objeto de classe recebe uma cor única para uma clara separação visual.
-
Segmentação de Instância com Rastreamento de Objetos: Cada rastreio é representado por uma cor distinta, facilitando a identificação e o acompanhamento fácil através dos quadros de vídeo.
Watch: Instance Segmentation with Object Tracking using Ultralytics YOLO26
Amostras
| Segmentação de Instância | Segmentação de Instância + Rastreamento de Objetos |
|---|---|
![]() | |
| Segmentação de Instância Ultralytics 😍 | Segmentação de Instância Ultralytics com Rastreamento de Objetos 🔥 |
# Instance segmentation using Ultralytics YOLO26
yolo solutions isegment show=True
# Pass a source video
yolo solutions isegment source="path/to/video.mp4"
# Monitor the specific classes
yolo solutions isegment classes="[0, 5]"Argumentos do InstanceSegmentation
Aqui está uma tabela com os argumentos do InstanceSegmentation:
| Argumento | Tipo | Predefinição | Descrição |
|---|---|---|---|
model | str | None | Caminho para um arquivo de modelo Ultralytics YOLO. |
region | list | '[(20, 400), (1260, 400)]' | Lista de pontos definindo a região de contagem. |
Você também pode aproveitar os argumentos de track dentro da solução InstanceSegmentation:
| Argumento | Tipo | Predefinição | Descrição |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Especifica o algoritmo de rastreamento a ser usado, por exemplo, bytetrack.yaml ou botsort.yaml. |
conf | float | 0.1 | Define o limite de confiança para as detecções; valores mais baixos permitem que mais objetos sejam rastreados, mas podem incluir falsos positivos. |
iou | float | 0.7 | Define o limite de Intersection over Union (IoU) para filtrar detecções sobrepostas. |
classes | list | None | Filtra resultados pelo índice da classe. Por exemplo, classes=[0, 2, 3] rastreia apenas as classes especificadas. |
verbose | bool | True | Controla a exibição dos resultados de rastreamento, fornecendo uma saída visual dos objetos rastreados. |
device | str | None | Especifica o dispositivo para inferência (por exemplo, cpu, cuda:0 ou 0). Permite que os usuários selecionem entre CPU, uma GPU específica ou outros dispositivos de computação para a execução do modelo. |
Além disso, os seguintes argumentos de visualização estão disponíveis:
| Argumento | Tipo | Predefinição | Descrição |
|---|---|---|---|
show | bool | False | Se True, exibe as imagens ou vídeos anotados numa janela. Útil para feedback visual imediato durante o desenvolvimento ou teste. |
line_width | int or None | None | Especifica a largura da linha das caixas delimitadoras. Se None, a largura da linha é ajustada automaticamente com base no tamanho da imagem. Oferece personalização visual para clareza. |
show_conf | bool | True | Exibe a pontuação de confiança para cada deteção ao lado do rótulo. Dá uma noção da certeza do modelo para cada deteção. |
show_labels | bool | True | Exibe rótulos para cada deteção na saída visual. Proporciona uma compreensão imediata dos objetos detetados. |
Aplicações da Segmentação de Instância
A segmentação de instância com YOLO26 tem inúmeras aplicações no mundo real em vários setores:
Gestão de Resíduos e Reciclagem
O YOLO26 pode ser usado em instalações de gestão de resíduos para identificar e classificar diferentes tipos de materiais. O modelo pode segmentar resíduos plásticos, papelão, metal e outros recicláveis com alta precisão, permitindo que sistemas de triagem automatizados processem resíduos de forma mais eficiente. Isso é particularmente valioso, considerando que apenas cerca de 10% das 7 bilhões de toneladas de resíduos plásticos gerados globalmente são reciclados.
Veículos Autônomos
Em carros autônomos, a segmentação de instância ajuda a identificar e rastrear pedestres, veículos, sinais de trânsito e outros elementos da estrada no nível do pixel. Essa compreensão precisa do ambiente é crucial para a navegação e decisões de segurança. O desempenho em tempo real do YOLO26 o torna ideal para essas aplicações sensíveis ao tempo.
Imagens Médicas
A segmentação de instância pode identificar e contornar tumores, órgãos ou estruturas celulares em exames médicos. A capacidade do YOLO26 de delinear precisamente os limites dos objetos torna-o valioso para diagnósticos médicos e planejamento de tratamentos.
Monitoramento de Canteiros de Obras
Em canteiros de obras, a segmentação de instância pode rastrear máquinas pesadas, trabalhadores e materiais. Isso ajuda a garantir a segurança monitorando as posições dos equipamentos e detectando quando os trabalhadores entram em áreas perigosas, enquanto também otimiza o fluxo de trabalho e a alocação de recursos.
Nota
Para qualquer dúvida, fique à vontade para postar suas perguntas na Seção de Issues do Ultralytics ou na seção de discussão mencionada abaixo.
FAQ
Como realizo a segmentação de instância usando Ultralytics YOLO26?
Para realizar a segmentação de instância usando Ultralytics YOLO26, inicialize o modelo YOLO com uma versão de segmentação do YOLO26 e processe quadros de vídeo através dele. Aqui está um exemplo de código simplificado:
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
# Video writer
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("instance-segmentation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Init InstanceSegmentation
isegment = solutions.InstanceSegmentation(
show=True, # display the output
model="yolo26n-seg.pt", # model="yolo26n-seg.pt" for object segmentation using YOLO26.
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = isegment(im0)
video_writer.write(results.plot_im)
cap.release()
video_writer.release()
cv2.destroyAllWindows()Saiba mais sobre segmentação de instância no guia do Ultralytics YOLO26.
Qual é a diferença entre segmentação de instância e rastreamento de objetos no Ultralytics YOLO26?
A segmentação de instância identifica e contorna objetos individuais dentro de uma imagem, dando a cada objeto um rótulo e máscara únicos. O rastreamento de objetos estende isso ao atribuir IDs consistentes aos objetos através dos quadros de vídeo, facilitando o acompanhamento contínuo dos mesmos objetos ao longo do tempo. Quando combinados, como na implementação do YOLO26, você obtém capacidades poderosas para analisar o movimento e o comportamento de objetos em vídeos, mantendo informações precisas de limites.
Por que devo usar o Ultralytics YOLO26 para segmentação de instância e rastreamento em vez de outros modelos como Mask R-CNN ou Faster R-CNN?
O Ultralytics YOLO26 oferece desempenho em tempo real, precisão superior e facilidade de uso em comparação com outros modelos como Mask R-CNN ou Faster R-CNN. O YOLO26 processa imagens em uma única passagem (detecção de um estágio), tornando-o significativamente mais rápido enquanto mantém alta precisão. Ele também oferece integração perfeita com a Plataforma Ultralytics, permitindo que usuários gerenciem modelos, conjuntos de dados e pipelines de treinamento de forma eficiente. Para aplicações que exigem tanto velocidade quanto precisão, o YOLO26 oferece um equilíbrio ideal.
Existem conjuntos de dados fornecidos pela Ultralytics adequados para treinar modelos YOLO26 para segmentação de instância e rastreamento?
Sim, a Ultralytics oferece vários conjuntos de dados adequados para treinar modelos YOLO26 para segmentação de instância, incluindo COCO-Seg, COCO8-Seg (um subconjunto menor para testes rápidos), Package-Seg e Crack-Seg. Esses conjuntos de dados vêm com anotações de nível de pixel necessárias para tarefas de segmentação de instância. Para aplicações mais especializadas, você também pode criar conjuntos de dados personalizados seguindo o formato Ultralytics. Informações completas sobre conjuntos de dados e instruções de uso podem ser encontradas na documentação de Datasets da Ultralytics.
