Contagem de objetos em diferentes regiões usando Ultralytics YOLO 🚀
O que é contagem de objetos em regiões?
A contagem de objetos em regiões com o Ultralytics YOLO26 envolve a determinação precisa do número de objetos dentro de áreas especificadas usando visão computacional avançada. Essa abordagem é valiosa para otimizar processos, aumentar a segurança e melhorar a eficiência em diversas aplicações.
Watch: Object Counting in Different Regions using Ultralytics YOLO26 | Ultralytics Solutions 🚀
Vantagens da contagem de objetos em regiões
- Precisão e exatidão: A contagem de objetos em regiões com visão computacional avançada garante contagens precisas e exatas, minimizando erros frequentemente associados à contagem manual.
- Melhoria de eficiência: A contagem automatizada de objetos aumenta a eficiência operacional, fornecendo resultados em tempo real e agilizando processos em diferentes aplicações.
- Versatilidade e aplicação: A versatilidade da contagem de objetos em regiões torna-a aplicável em diversos domínios, desde manufatura e vigilância até monitoramento de tráfego, contribuindo para sua ampla utilidade e eficácia.
Aplicações no Mundo Real
| Varejo | Ruas de comércio |
|---|---|
![]() | ![]() |
| Contagem de pessoas em diferentes regiões usando Ultralytics YOLO26 | Contagem de multidões em diferentes regiões usando Ultralytics YOLO26 |
Exemplos de Uso
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
# Pass region as list
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)]
# Pass region as dictionary
region_points = {
"region-01": [(50, 50), (250, 50), (250, 250), (50, 250)],
"region-02": [(640, 640), (780, 640), (780, 720), (640, 720)],
}
# 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("region_counting.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Initialize region counter object
regioncounter = solutions.RegionCounter(
show=True, # display the frame
region=region_points, # pass region points
model="yolo26n.pt", # model for counting in regions, e.g., yolo26s.pt
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = regioncounter(im0)
# print(results) # access the output
video_writer.write(results.plot_im)
cap.release()
video_writer.release()
cv2.destroyAllWindows() # destroy all opened windowsO módulo de contagem de regiões da Ultralytics está disponível em nossa seção de exemplos. Você pode explorar este exemplo para personalização de código e modificá-lo para atender ao seu caso de uso específico.
Argumentos do RegionCounter
Aqui está uma tabela com os argumentos do RegionCounter:
| Argumento | Tipo | Predefinição | Descrição |
|---|---|---|---|
model | str | None | Caminho para um arquivo de modelo Ultralytics YOLO. |
region | list | '[(20, 400), (1260, 400)]' | Lista de pontos definindo a região de contagem. |
A solução RegionCounter permite o uso de parâmetros de rastreamento de objetos:
| Argumento | Tipo | Predefinição | Descrição |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Especifica o algoritmo de rastreamento a ser usado, por exemplo, bytetrack.yaml ou botsort.yaml. |
conf | float | 0.1 | Define o limite de confiança para as detecções; valores mais baixos permitem que mais objetos sejam rastreados, mas podem incluir falsos positivos. |
iou | float | 0.7 | Define o limite de Intersection over Union (IoU) para filtrar detecções sobrepostas. |
classes | list | None | Filtra resultados pelo índice da classe. Por exemplo, classes=[0, 2, 3] rastreia apenas as classes especificadas. |
verbose | bool | True | Controla a exibição dos resultados de rastreamento, fornecendo uma saída visual dos objetos rastreados. |
device | str | None | Especifica o dispositivo para inferência (por exemplo, cpu, cuda:0 ou 0). Permite que os usuários selecionem entre CPU, uma GPU específica ou outros dispositivos de computação para a execução do modelo. |
Além disso, as seguintes configurações de visualização são suportadas:
| 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. Oferece personalização visual para clareza. |
show_conf | bool | True | Exibe a pontuação de confiança para cada deteção ao lado do rótulo. Dá uma noção da certeza do modelo para cada deteção. |
show_labels | bool | True | Exibe rótulos para cada deteção na saída visual. Proporciona uma compreensão imediata dos objetos detetados. |
FAQ
O que é a contagem de objetos em regiões especificadas usando Ultralytics YOLO26?
A contagem de objetos em regiões especificadas com o Ultralytics YOLO26 envolve detectar e contabilizar o número de objetos dentro de áreas definidas usando visão computacional avançada. Este método preciso aumenta a eficiência e a precisão em várias aplicações como manufatura, vigilância e monitoramento de tráfego.
Como executo o script de contagem de objetos baseado em regiões com o Ultralytics YOLO26?
Siga estes passos para executar a contagem de objetos no Ultralytics YOLO26:
-
Clone o repositório da Ultralytics e navegue até o diretório:
git clone https://github.com/ultralytics/ultralytics cd ultralytics/examples/YOLOv8-Region-Counter -
Execute o script de contagem de regiões:
python yolov8_region_counter.py --source "path/to/video.mp4" --save-img
Para mais opções, visite a seção Exemplos de Uso.
Por que devo usar o Ultralytics YOLO26 para contagem de objetos em regiões?
Usar o Ultralytics YOLO26 para contagem de objetos em regiões oferece várias vantagens:
- Processamento em tempo real: A arquitetura do YOLO26 permite uma inferência rápida, tornando-o ideal para aplicações que exigem resultados de contagem imediatos.
- Definição flexível de regiões: A solução permite definir múltiplas regiões personalizadas como polígonos, retângulos ou linhas para atender às suas necessidades específicas de monitoramento.
- Suporte a várias classes: Conte diferentes tipos de objetos simultaneamente dentro das mesmas regiões, fornecendo análises abrangentes.
- Capacidades de integração: Integre facilmente com sistemas existentes por meio da API Python ou da interface de linha de comando da Ultralytics.
Explore benefícios mais profundos na seção Vantagens.
Quais são algumas aplicações no mundo real da contagem de objetos em regiões?
A contagem de objetos com Ultralytics YOLO26 pode ser aplicada a inúmeros cenários do mundo real:
- Análise de varejo: Conte clientes em diferentes seções da loja para otimizar o layout e a equipe.
- Gestão de tráfego: Monitore o fluxo de veículos em segmentos rodoviários ou cruzamentos específicos.
- Manufatura: Rastreie produtos que se movem através de diferentes zonas de produção.
- Operações de armazém: Conte itens de estoque em áreas de armazenamento designadas.
- Segurança pública: Monitore a densidade de multidões em zonas específicas durante eventos.
Explore mais exemplos na seção Aplicações no Mundo Real e a solução TrackZone para recursos adicionais de monitoramento baseado em zonas.

