Meet YOLO26: next-gen vision AI.

Link to this sectionContagem de objetos usando Ultralytics YOLO26#

Link to this sectionO que é contagem de objetos?#

Open Object Counting In Colab

A contagem de objetos com Ultralytics YOLO26 envolve a identificação e contagem precisas de objetos específicos em vídeos e fluxos de câmera. O YOLO26 se destaca em aplicações de tempo real, fornecendo uma contagem de objetos eficiente e precisa para vários cenários, como análise de multidões e vigilância, graças aos seus algoritmos de ponta e capacidades de deep learning.



Watch: How to Perform Real-Time Object Counting with Ultralytics YOLO26 🚀

Link to this sectionVantagens da contagem de objetos#

  • Otimização de recursos: A contagem de objetos facilita o gerenciamento eficiente de recursos ao fornecer contagens precisas, otimizando a alocação de recursos em aplicações como gestão de inventário.
  • Segurança aprimorada: A contagem de objetos melhora a segurança e a vigilância ao rastrear e contar entidades com precisão, auxiliando na detecção de ameaças proativa.
  • Tomada de decisão informada: A contagem de objetos oferece insights valiosos para a tomada de decisão, otimizando processos no varejo, gestão de tráfego e vários outros domínios.

Link to this sectionAplicações no mundo real#

LogísticaAquicultura
Contagem de pacotes em esteira usando Ultralytics YOLO26Contagem de peixes no mar usando Ultralytics YOLO26
Contagem de pacotes em esteira usando Ultralytics YOLO26Contagem de peixes no mar usando Ultralytics YOLO26
Contagem de objetos usando Ultralytics YOLO
# Run a counting example
yolo solutions count show=True

# Pass a source video
yolo solutions count source="path/to/video.mp4"

# Pass region coordinates
yolo solutions count region="[(20, 400), (1080, 400), (1080, 360), (20, 360)]"

O argumento region aceita dois pontos (para uma linha) ou um polígono com três ou mais pontos. Defina as coordenadas na ordem em que devem ser conectadas para que o contador saiba exatamente onde ocorrem as entradas e saídas.

Link to this sectionArgumentos do ObjectCounter#

Aqui está uma tabela com os argumentos do ObjectCounter:

ArgumentoTipoPredefiniçãoDescrição
modelstrNoneCaminho para um ficheiro de modelo YOLO da Ultralytics.
show_inboolTrueFlag para controlar se os números de entrada devem ser exibidos no stream de vídeo.
show_outboolTrueFlag para controlar se os números de saída devem ser exibidos no stream de vídeo.
regionlist'[(20, 400), (1260, 400)]'Lista de pontos que definem a região de contagem.

A solução ObjectCounter permite o uso de vários argumentos de track:

ArgumentoTipoPredefiniçãoDescrição
trackerstr'botsort.yaml'Especifica o algoritmo de rastreio a usar, p. ex., bytetrack.yaml ou botsort.yaml.
conffloat0.1Define 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.
verboseboolTrueControla a exibição dos resultados de rastreio, fornecendo uma saída visual dos objetos rastreados.
devicestrNoneEspecifica o dispositivo para inferência (p. ex., 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, os argumentos de visualização listados abaixo são suportados:

ArgumentoTipoPredefiniçãoDescrição
showboolFalseSe True, exibe as imagens ou vídeos anotados numa 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. Proporciona personalização visual para maior clareza.
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.

Link to this sectionFAQ#

Link to this sectionComo conto objetos em um vídeo usando Ultralytics YOLO26?#

Para contar objetos em um vídeo usando Ultralytics YOLO26, podes seguir estes passos:

  1. Importa as bibliotecas necessárias (cv2, ultralytics).
  2. Define a região de contagem (por exemplo, um polígono, linha, etc.).
  3. Configura a captura de vídeo e inicializa o contador de objetos.
  4. Processa cada quadro para rastrear objetos e contá-los dentro da região definida.

Aqui está um exemplo simples para contagem em uma região:

import cv2

from ultralytics import solutions

def count_objects_in_region(video_path, output_video_path, model_path):
    """Count objects in a specific region within a video."""
    cap = cv2.VideoCapture(video_path)
    assert cap.isOpened(), "Error reading video file"
    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(output_video_path, cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

    region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)]
    counter = solutions.ObjectCounter(show=True, region=region_points, model=model_path)

    while cap.isOpened():
        success, im0 = cap.read()
        if not success:
            print("Video frame is empty or processing is complete.")
            break
        results = counter(im0)
        video_writer.write(results.plot_im)

    cap.release()
    video_writer.release()
    cv2.destroyAllWindows()

count_objects_in_region("path/to/video.mp4", "output_video.avi", "yolo26n.pt")

Para configurações e opções mais avançadas, confira a solução RegionCounter para contar objetos em múltiplas regiões simultaneamente.

Link to this sectionQuais são as vantagens de usar o Ultralytics YOLO26 para contagem de objetos?#

Usar o Ultralytics YOLO26 para contagem de objetos oferece várias vantagens:

  1. Otimização de recursos: Facilita o gerenciamento eficiente de recursos ao fornecer contagens precisas, ajudando a otimizar a alocação de recursos em indústrias como gestão de inventário.
  2. Segurança aprimorada: Melhora a segurança e a vigilância ao rastrear e contar entidades com precisão, auxiliando na detecção proativa de ameaças e em sistemas de segurança.
  3. Tomada de decisão informada: Oferece insights valiosos para a tomada de decisão, otimizando processos em domínios como varejo, gestão de tráfego e mais.
  4. Processamento em tempo real: A arquitetura do YOLO26 permite inferência em tempo real, tornando-o adequado para fluxos de vídeo ao vivo e aplicações sensíveis ao tempo.

Para exemplos de implementação e aplicações práticas, explore a solução TrackZone para rastrear objetos em zonas específicas.

Link to this sectionComo posso contar classes específicas de objetos usando o Ultralytics YOLO26?#

Para contar classes específicas de objetos usando o Ultralytics YOLO26, precisas especificar as classes nas quais tens interesse durante a fase de rastreamento. Abaixo está um exemplo em Python:

import cv2

from ultralytics import solutions

def count_specific_classes(video_path, output_video_path, model_path, classes_to_count):
    """Count specific classes of objects in a video."""
    cap = cv2.VideoCapture(video_path)
    assert cap.isOpened(), "Error reading video file"
    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(output_video_path, cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

    line_points = [(20, 400), (1080, 400)]
    counter = solutions.ObjectCounter(show=True, region=line_points, model=model_path, classes=classes_to_count)

    while cap.isOpened():
        success, im0 = cap.read()
        if not success:
            print("Video frame is empty or processing is complete.")
            break
        results = counter(im0)
        video_writer.write(results.plot_im)

    cap.release()
    video_writer.release()
    cv2.destroyAllWindows()

count_specific_classes("path/to/video.mp4", "output_specific_classes.avi", "yolo26n.pt", [0, 2])

Neste exemplo, classes_to_count=[0, 2] significa que ele conta objetos das classes 0 e 2 (por exemplo, pessoa e carro no conjunto de dados COCO). Podes encontrar mais informações sobre índices de classe na documentação do conjunto de dados COCO.

Link to this sectionPor que devo usar o YOLO26 em vez de outros modelos de detecção de objetos para aplicações em tempo real?#

O Ultralytics YOLO26 oferece várias vantagens sobre outros modelos de detecção de objetos como Faster R-CNN, SSD e versões anteriores do YOLO:

  1. Velocidade e Eficiência: O YOLO26 oferece capacidades de processamento em tempo real, tornando-o ideal para aplicações que requerem inferência de alta velocidade, como vigilância e condução autônoma.
  2. Precisão: Ele fornece precisão de última geração para tarefas de detecção e rastreamento de objetos, reduzindo o número de falsos positivos e melhorando a confiabilidade geral do sistema.
  3. Facilidade de Integração: O YOLO26 oferece integração perfeita com várias plataformas e dispositivos, incluindo dispositivos móveis e dispositivos de borda, o que é crucial para aplicações modernas de IA.
  4. Flexibilidade: Suporta várias tarefas como detecção de objetos, segmentação e rastreamento com modelos configuráveis para atender a requisitos específicos de casos de uso.

Confira a Documentação do YOLO26 da Ultralytics para um mergulho mais profundo em seus recursos e comparações de desempenho.

Link to this sectionPosso usar o YOLO26 para aplicações avançadas como análise de multidões e gestão de tráfego?#

Sim, o Ultralytics YOLO26 é perfeitamente adequado para aplicações avançadas como análise de multidões e gestão de tráfego devido às suas capacidades de detecção em tempo real, escalabilidade e flexibilidade de integração. Seus recursos avançados permitem rastreamento, contagem e classificação de objetos de alta precisão em ambientes dinâmicos. Exemplos de casos de uso incluem:

  • Análise de multidões: Monitore e gerencie grandes aglomerações, garantindo a segurança e otimizando o fluxo de pessoas com contagem baseada em região.
  • Gestão de tráfego: Rastreie e conte veículos, analise padrões de tráfego e gerencie congestionamentos em tempo real com capacidades de estimativa de velocidade.
  • Análise de Varejo: Analise padrões de movimento de clientes e interações com produtos para otimizar layouts de lojas e melhorar a experiência do cliente.
  • Automação Industrial: Conte produtos em esteiras e monitore linhas de produção para controle de qualidade e melhorias de eficiência.

Para aplicações mais especializadas, explore as Soluções Ultralytics para um conjunto abrangente de ferramentas projetadas para desafios de visão computacional do mundo real.

Comentários