Mapeamento de objetos com VisionEye View usando Ultralytics YOLO26#
O que é o mapeamento de objetos do VisionEye?#
Ultralytics YOLO26 VisionEye permite que computadores identifiquem e localizem objetos, simulando a precisão da visão humana. Essa funcionalidade permite que os computadores reconheçam e foquem em objetos específicos, assim como o olho humano observa detalhes de um determinado ponto de vista.
Mapeie objetos com YOLO26#
O VisionEye fixa um único ponto de observação no quadro e traça um raio desse ponto até cada objeto rastreado, permitindo visualizar como a cena parece a partir de um ponto de vista. Defina vision_point com as coordenadas em pixels do observador e execute a solução no vídeo usando a API do Python ou a CLI.
# Monitor objects position with visioneye
yolo solutions visioneye show=True
# Pass a source video
yolo solutions visioneye source="path/to/video.mp4"
# Monitor the specific classes
yolo solutions visioneye classes="[0, 5]"Argumentos de VisionEye#
Aqui está uma tabela com os argumentos de VisionEye:
| Argumento | Tipo | Padrão | Descrição |
|---|---|---|---|
model | str | None | Caminho para um arquivo de modelo Ultralytics YOLO. |
vision_point | tuple[int, int] | (20, 20) | O ponto onde a visão irá acompanhar objetos e desenhar trajetórias com a solução VisionEye. |
line_width | int | 2 | Espessura das linhas das caixas, dos pontos-chave e das contagens desenhados pela solução. |
verbose | bool | True | Ativa o registro por quadro da solução, com o formato da entrada, as contagens por classe e a velocidade de processamento. A chamada de rastreamento em si é sempre silenciosa. |
Você também pode usar vários argumentos track na solução VisionEye:
| Argumento | Tipo | Padrão | Descrição |
|---|---|---|---|
tracker | str | 'tracktrack.yaml' | Especifica o algoritmo de rastreamento a utilizar. Opções integradas: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.25 | Define o limiar de confiança das deteções; valores mais baixos permitem rastrear mais objetos, mas podem incluir falsos positivos. |
iou | float | 0.7 | Define o limiar de interseção sobre união (IoU) para filtrar deteções sobrepostas. |
classes | list | None | Filtra os resultados pelo índice da classe. Por exemplo, classes=[0, 2, 3] rastreia apenas as classes especificadas. |
device | str | None | Especifica o dispositivo para a inferência (por exemplo, cpu, cuda:0 ou 0). Permite escolher entre CPU, uma GPU específica ou outros dispositivos de computação para executar o modelo. |
imgsz | int or tuple | 640 | Tamanho da imagem de destino para a inferência: um número inteiro para uma imagem quadrada ou um par (height, width). As dimensões são ajustadas ao stride do modelo. |
max_det | int | 300 | Número máximo de deteções mantidas por fotograma antes do rastreamento, limitando os objetos que uma solução processa em cenas densas. |
quantize | int or str | None | Precisão de inferência: 16 (FP16) ou 32/unset (FP32) para modelos PyTorch e TorchScript fora da CPU; os outros formatos usam a precisão selecionada pelo artefato e pelo ambiente de execução. Substitui o argumento obsoleto half. |
Além disso, há suporte para alguns argumentos de visualização, listados abaixo:
| Argumento | Tipo | Padrão | Descrição |
|---|---|---|---|
show | bool | False | Se True, exibe as imagens ou os vídeos anotados em uma janela. Útil para obter feedback visual imediato durante o desenvolvimento ou os testes. |
show_conf | bool | True | Exibe a pontuação de confiança de cada detecção junto ao rótulo. Mostra o grau de certeza do modelo em cada detecção. |
show_labels | bool | True | Exibe os rótulos de cada detecção na saída visual. Permite identificar imediatamente os objetos detectados. |
Como o VisionEye funciona#
O VisionEye funciona estabelecendo um ponto de visão fixo no quadro e desenhando linhas desse ponto até os objetos detectados. Isso simula como a visão humana foca em vários objetos a partir de um único ponto de vista. A solução usa o rastreamento de objetos para manter a identificação consistente dos objetos entre os quadros, criando uma representação visual da relação espacial entre o observador (ponto de visão) e os objetos na cena.
O método process da classe VisionEye executa várias operações importantes:
- Extrai rastros (caixas delimitadoras, classes e IDs de rastreamento) da imagem de entrada
- Cria um anotador para desenhar caixas delimitadoras e rótulos
- Para cada objeto detectado, desenha um rótulo de caixa e cria uma linha de visão a partir do ponto de visão
- Retorna a imagem anotada com estatísticas de rastreamento
Essa abordagem é especialmente útil em aplicações que exigem percepção espacial e visualização das relações entre objetos, como sistemas de vigilância, navegação autônoma e instalações interativas.
Aplicações do VisionEye#
O mapeamento de objetos do VisionEye tem inúmeras aplicações práticas em vários setores:
- Segurança e vigilância: monitore vários objetos de interesse a partir de uma posição fixa da câmera
- Análise do varejo: rastreie padrões de movimentação dos clientes em relação às exposições da loja
- Análise esportiva: analise o posicionamento e a movimentação dos jogadores da perspectiva do treinador
- Veículos autônomos: visualize como um veículo "vê" e prioriza os objetos ao seu redor
- Interação humano-computador: crie interfaces mais intuitivas que respondam às relações espaciais
Ao combinar o VisionEye com outras soluções da Ultralytics, como cálculo de distância ou estimativa de velocidade, você pode criar sistemas abrangentes que não apenas rastreiam objetos, mas também compreendem suas relações espaciais e seus comportamentos.
Perguntas frequentes#
Para começar a usar o mapeamento de objetos do VisionEye com Ultralytics YOLO26, primeiro você precisa instalar o pacote Ultralytics YOLO via pip. Em seguida, pode usar o código de exemplo fornecido na documentação para configurar a detecção de objetos com o VisionEye. Veja um exemplo simples para começar:
import cv2 from ultralytics import solutions cap = cv2.VideoCapture("path/to/video.mp4") assert cap.isOpened(), "Error reading video file" # Gravador de vídeo 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("vision-eye-mapping.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h)) # Inicializa o objeto vision eye visioneye = solutions.VisionEye( show=True, # # Apresenta o resultado model="yolo26n.pt", # usa qualquer modelo compatível com a Ultralytics, por exemplo, yolo26s.pt classes=[0, 2], # gera a visualização visioneye para classes específicas ) # Processa o vídeo while cap.isOpened(): success, im0 = cap.read() if not success: print("Video frame is empty or video processing has been successfully completed.") break results = visioneye(im0) print(results) # acessa a saída video_writer.write(results.plot_im) # grava o arquivo de vídeo cap.release() video_writer.release() cv2.destroyAllWindows() # fecha todas as janelas abertasUltralytics YOLO26 é conhecido por sua velocidade, precisão e facilidade de integração, o que o torna uma excelente opção para mapeamento e rastreamento de objetos. Entre as principais vantagens estão:
- Desempenho de ponta: oferece alta precisão na detecção de objetos em tempo real.
- Flexibilidade: oferece suporte à detecção, ao rastreamento e ao cálculo de distância em um único pipeline.
- Comunidade e suporte: documentação abrangente e comunidade ativa no GitHub para solução de problemas e aprimoramentos.
- Facilidade de uso: a API intuitiva simplifica tarefas complexas, permitindo implantação e iteração rápidas.
Para saber mais sobre aplicações e benefícios, consulte a documentação do Ultralytics YOLO26.
Ultralytics YOLO26 pode se integrar perfeitamente a várias ferramentas de aprendizado de máquina, como Comet e ClearML, aprimorando o acompanhamento de experimentos, a colaboração e a reprodutibilidade. Siga os guias detalhados sobre como integrar YOLO26 com Comet e como integrar YOLO26 com ClearML para começar.
Para conhecer mais exemplos de exploração e integração, consulte nosso Guia de integrações da Ultralytics.