YOLO Vision 2026:

Mapeamento de Objetos com VisionEye usando Ultralytics YOLO26 🚀#

O que é o Mapeamento de Objetos VisionEye?#

Ultralytics YOLO26 VisionEye oferece a capacidade para computadores identificarem e localizarem objetos com precisão, simulando a precisão de observação do olho humano. Essa funcionalidade permite que computadores discernam e se concentrem em objetos específicos, de forma muito parecida com a maneira que o olho humano observa detalhes a partir de um ponto de vista particular.

VisionEye object mapping with YOLO tracking

Mapeia objetos com YOLO26#

O VisionEye fixa um único ponto de observação no quadro e traça um raio dele para cada objeto rastreado, para que possas visualizar como uma cena se parece a partir de um ponto de vista. Define vision_point para as coordenadas de pixel do observador, depois executa a solução sobre o teu vídeo com a Python API ou a CLI.

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]"

Argumentos do VisionEye#

Aqui tens uma tabela com os argumentos do VisionEye:

ArgumentoTipoPredefiniçãoDescrição
modelstrNoneCaminho para um ficheiro de modelo YOLO da Ultralytics.
vision_pointtuple[int, int](20, 20)O ponto onde a visão irá rastrear objetos e desenhar caminhos usando a VisionEye Solution.
line_widthint2Espessura da linha para as caixas, pontos-chave e contagens que a solução desenha.
verboseboolTrueAtiva o registro por quadro da solução contendo formato de entrada, contagens de classes e velocidade de processamento. A chamada de rastreamento em si é sempre silenciosa.

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

ArgumentoTipoPredefiniçãoDescrição
trackerstr'botsort.yaml'Especifica o algoritmo de rastreamento a utilizar. Opções integradas: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Define o limiar de confiança para as deteções; valores mais baixos permitem que mais objetos sejam rastreados, mas podem incluir falsos positivos.
ioufloat0.7Define o limiar de Intersection over Union (IoU) para filtrar deteções sobrepostas.
classeslistNoneFiltra resultados por índice de classe. Por exemplo, classes=[0, 2, 3] rastreia apenas as classes especificadas.
devicestrNoneEspecifica o dispositivo para inferência (por exemplo, cpu, cuda:0 ou 0). Permite aos utilizadores selecionar 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:

ArgumentoTipoPredefiniçãoDescrição
showboolFalseSe True, exibe as imagens ou vídeos anotados em uma janela. Útil para feedback visual imediato durante o desenvolvimento ou teste.
show_confboolTrueExibe a pontuação de confiança para cada detecção ao lado do rótulo. Fornece uma visão sobre a certeza do modelo para cada detecção.
show_labelsboolTrueExibe rótulos para cada detecção na saída visual. Fornece compreensão imediata dos objetos detectados.

Como o VisionEye funciona#

O VisionEye funciona estabelecendo um ponto de visão fixo no quadro e desenhando linhas a partir deste ponto para os objetos detectados. Isto simula como a visão humana foca em múltiplos objetos a partir de um único ponto de vista. A solução usa o object tracking para manter a identificação consistente de objetos entre 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 na classe VisionEye realiza várias operações principais:

  1. Extrai rastreamentos (caixas delimitadoras, classes e máscaras) da imagem de entrada
  2. Cria um anotador para desenhar caixas delimitadoras e rótulos
  3. Para cada objeto detectado, desenha um rótulo 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

Essa abordagem é particularmente útil para aplicações que exigem consciência espacial e visualização de 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 VisionEye possui inúmeras aplicações práticas em vários setores:

  • Segurança e Vigilância: Monitore múltiplos objetos de interesse a partir de uma posição fixa de câmera
  • Análise de Varejo: Rastreie padrões de movimentação de clientes em relação a displays de loja
  • Análise Esportiva: Analise o posicionamento e a movimentação dos jogadores a partir da perspectiva de um treinador
  • Veículos Autônomos: Visualize como um veículo "enxerga" e prioriza objetos em seu ambiente
  • Interação Humano-Computador: Crie interfaces mais intuitivas que respondem às relações espaciais

Ao combinar o VisionEye com outras soluções da Ultralytics como distance calculation ou speed estimation, podes construir sistemas abrangentes que não apenas rastreiam objetos mas também entendem as suas relações espaciais e comportamentos.

FAQ#

  • Para começar a usar o VisionEye Object Mapping 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 o object detection com o VisionEye. Eis um exemplo simples para te ajudar a começar:

    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
  • O Ultralytics YOLO26 é conhecido pela sua velocidade, accuracy e facilidade de integração, tornando-o uma escolha de topo para mapeamento e rastreio de objetos. As principais vantagens incluem:

    1. Desempenho de Ponta: Oferece alta precisão na detecção de objetos em tempo real.
    2. Flexibilidade: Suporta deteção, rastreio e cálculo de distância num único pipeline.
    3. Comunidade e Suporte: Documentação extensa e comunidade ativa no GitHub para solução de problemas e melhorias.
    4. Facilidade de Uso: A API intuitiva simplifica tarefas complexas, permitindo implementação e iteração rápidas.

    Para mais informações sobre aplicações e benefícios, consulta a Ultralytics YOLO26 documentation.

  • O Ultralytics YOLO26 pode integrar-se perfeitamente com várias ferramentas de machine learning como Comet e ClearML, melhorando o rastreio de experiências, a colaboração e a reprodutibilidade. Segue os guias detalhados sobre how to use YOLOv5 with Comet e integrate YOLO26 with ClearML para começar.

    Para maior exploração e exemplos de integração, consulta o nosso Ultralytics Integrations Guide.

Comentários