Link to this sectionContagem de objetos usando Ultralytics YOLO26#
Link to this sectionO que é contagem de objetos?#
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ística | Aquicultura |
|---|---|
![]() | ![]() |
| Contagem de pacotes em esteira usando Ultralytics YOLO26 | Contagem de peixes no mar usando Ultralytics YOLO26 |
# 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:
| Argumento | Tipo | Predefinição | Descrição |
|---|---|---|---|
model | str | None | Caminho para um ficheiro de modelo YOLO da Ultralytics. |
show_in | bool | True | Flag para controlar se os números de entrada devem ser exibidos no stream de vídeo. |
show_out | bool | True | Flag para controlar se os números de saída devem ser exibidos no stream de vídeo. |
region | list | '[(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:
| Argumento | Tipo | Predefinição | Descrição |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Especifica o algoritmo de rastreio a usar, p. ex., bytetrack.yaml ou botsort.yaml. |
conf | float | 0.1 | Define o limiar de confiança para as deteções; valores mais baixos permitem que mais objetos sejam rastreados, mas podem incluir falsos positivos. |
iou | float | 0.7 | Define o limiar de Intersection over Union (IoU) para filtrar deteções sobrepostas. |
classes | list | None | Filtra resultados por índice de classe. Por exemplo, classes=[0, 2, 3] rastreia apenas as classes especificadas. |
verbose | bool | True | Controla a exibição dos resultados de rastreio, fornecendo uma saída visual dos objetos rastreados. |
device | str | None | Especifica 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:
| 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. Proporciona personalização visual para maior clareza. |
show_conf | bool | True | Exibe 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_labels | bool | True | Exibe 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:
- Importa as bibliotecas necessárias (
cv2,ultralytics). - Define a região de contagem (por exemplo, um polígono, linha, etc.).
- Configura a captura de vídeo e inicializa o contador de objetos.
- 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:
- 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.
- 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.
- 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.
- 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:
- 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.
- 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.
- 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.
- 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.

