Skip to main content

Mapeamento de Objetos com Visão de VisionEye usando Ultralytics YOLO26 🚀

O que é o Mapeamento de Objetos VisionEye?

Ultralytics YOLO26 VisionEye oferece a capacidade para computadores identificarem e localizarem objetos, simulando a observação precisão do olho humano. Esta funcionalidade permite que computadores discernam e foquem em objetos específicos, tal como o olho humano observa detalhes a partir de um ponto de vista específico.

VisionEye object mapping with YOLO tracking

Mapeamento VisionEye usando Ultralytics YOLO
# 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]"

VisionEye Argumentos

Aqui está uma tabela com os VisionEye argumentos:

ArgumentoTipoPadrãoDescrição
modelstrNoneCaminho para um arquivo de modelo YOLO da Ultralytics.
vision_pointtuple[int, int](20, 20)O ponto onde a visão rastreará objetos e desenhará caminhos usando a Solução VisionEye.

Também podes utilizar vários track dentro da solução VisionEye :

ArgumentoTipoPadrãoDescrição
trackerstr'botsort.yaml'Especifica o algoritmo de rastreamento a ser usado, por exemplo, bytetrack.yaml ou botsort.yaml.
conffloat0.1Define o limite de confiança para detecções; valores mais baixos permitem que mais objetos sejam rastreados, mas podem incluir falsos positivos.
ioufloat0.7Define o Intersection over Union (IoU) limite para filtrar detecções sobrepostas.
classeslistNoneFiltra resultados pelo índice da classe. Por exemplo, classes=[0, 2, 3] rastreia apenas as classes especificadas.
verboseboolTrueControla a exibição dos resultados de rastreamento, fornecendo uma saída visual dos objetos rastreados.
devicestrNoneEspecifica o dispositivo para inferência (p. ex., cpu, cuda:0 ou 0). Permite que usuários selecionem entre CPU, uma GPU específica ou outros dispositivos de computação para a execução do modelo.

Além disso, alguns argumentos de visualização são suportados, conforme listado abaixo:

ArgumentoTipoPadrãoDescrição
showboolFalseSe True, exibe as imagens ou vídeos anotados em uma janela. Útil para feedback visual imediato durante o desenvolvimento ou teste.
line_widthint or NoneNoneEspecifica a largura da linha das caixas delimitadoras. Se None, a largura da linha é ajustada automaticamente com base no tamanho da imagem. Fornece personalização visual para maior clareza.
show_confboolTrueExibe a pontuação de confiança para cada detecção ao lado do rótulo. Dá uma visão da certeza do modelo para cada detecção.
show_labelsboolTrueExibe rótulos para cada detecção na saída visual. Fornece entendimento imediato dos objetos detectados.

Como o VisionEye funciona

O VisionEye funciona estabelecendo um ponto de visão fixo no frame e desenhando linhas deste ponto até aos objetos detectados. Isto simula a forma como a visão humana foca em múltiplos objetos a partir de um único ponto de vista. A solução usa múltiplos objetos para manter a identificação consistente de objetos entre frames, criando uma representação visual da relação espacial entre o observador (ponto de visão) e os objetos na cena.

O argumento process método na classe VisionEye realiza várias operações chave:

  1. Extrai rastreamentos (BBox, classes e máscaras) da imagem de entrada
  2. Cria um anotador para desenhar BBox e etiquetas
  3. Para cada objeto detectado, desenha uma etiqueta de caixa e cria uma linha de visão a partir do ponto de visão
  4. Retorna a imagem anotada com estatísticas de rastreamento

Esta abordagem é particularmente útil para aplicações que exigem consciência espacial e visualização da relação entre objetos, tais como sistemas de vigilância, navegação autônoma e instalações interativas.

Aplicações do VisionEye

O mapeamento de objetos VisionEye tem numerosas aplicações práticas em várias indústrias:

  • Segurança e Vigilância: Monitoriza múltiplos objetos de interesse a partir de uma posição de câmera fixa
  • Retail Analytics: Rastreia padrões de movimento de clientes em relação a expositores de lojas
  • Análise Esportiva: Analisa o posicionamento e movimento dos jogadores a partir da perspectiva de um treinador
  • Veículos Autônomos: Visualiza como um veículo "vê" e prioriza objetos no seu ambiente
  • Interação Humano-Computador: Cria interfaces mais intuitivas que respondem a relações espaciais

Ao combinar o VisionEye com outras soluções Ultralytics como cálculo de distância ou estimativa de velocidade, podes construir sistemas abrangentes que não apenas rastreiam objetos, mas também entendem as suas relações espaciais e comportamentos.

Nota

Para quaisquer dúvidas, sinta-se à vontade para postar suas perguntas na Seção de Issues da Ultralytics ou na seção de discussão mencionada abaixo.

FAQ

Como começo a usar o Mapeamento de Objetos VisionEye com Ultralytics YOLO26?

Para começar a usar o Mapeamento de Objetos VisionEye com Ultralytics YOLO26, primeiro, precisarás de instalar o pacote Ultralytics YOLO via pip. Depois, podes usar o código de exemplo fornecido na documentação para configurar object detection com VisionEye. Aqui tens um exemplo simples para começares:

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("vision-eye-mapping.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Init vision eye object
visioneye = solutions.VisionEye(
    show=True,  # display the output
    model="yolo26n.pt",  # use any model that Ultralytics supports, e.g., YOLOv10
    classes=[0, 2],  # generate visioneye view for specific classes
)

# Process video
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)  # access the output

    video_writer.write(results.plot_im)  # write the video file

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # destroy all opened windows

Porque devo usar o Ultralytics YOLO26 para mapeamento e rastreamento de objetos?

O Ultralytics YOLO26 é reconhecido pela sua velocidade, accuracy, e facilidade de integração, tornando-o uma escolha principal para mapeamento e rastreamento de objetos. As vantagens chave incluem:

  1. Desempenho de ponta: Entrega alta precisão na detecção de objetos em tempo real.
  2. Flexibilidade: Suporta várias tarefas como detecção, rastreamento e cálculo de distância.
  3. Comunidade e suporte: Documentação extensa e comunidade ativa no GitHub para resolução de problemas e melhorias.
  4. Facilidade de Uso: API intuitiva simplifica tarefas complexas, permitindo implementação e iteração rápidas.

Para mais informações sobre aplicações e benefícios, consulta o documentação do Ultralytics YOLO26.

Como posso integrar o VisionEye com outras machine learning ferramentas como Comet ou ClearML?

O Ultralytics YOLO26 pode integrar-se perfeitamente com várias ferramentas de aprendizado de máquina como Comet e ClearML, melhorando o rastreamento de experimentos, colaboração e reprodutibilidade. Segue os guias detalhados sobre como usar o YOLOv5 com Comet e integrar o YOLO26 com ClearML para começar.

Para exploração adicional e exemplos de integração, consulta o nosso Guia de Integrações Ultralytics.

Comentários