Contagem de objectos em diferentes regiões utilizando Ultralytics YOLO 🚀
O que é a contagem de objectos nas regiões?
A contagem de objectos em regiões com Ultralytics YOLO11 envolve a determinação precisa do número de objectos em áreas especificadas utilizando visão computacional avançada. Esta abordagem é valiosa para otimizar processos, aumentar a segurança e melhorar a eficiência em várias aplicações.
Ver: Contagem de objectos em diferentes regiões utilizando Ultralytics YOLO11 | Ultralytics Soluções 🚀
Vantagens da contagem de objectos nas regiões?
- Precisão e exatidão: A contagem de objectos em regiões com visão computacional avançada assegura contagens precisas e exatas, minimizando os erros frequentemente associados à contagem manual.
- Melhoria da eficiência: A contagem automatizada de objectos aumenta a eficiência operacional, fornecendo resultados em tempo real e simplificando os processos em diferentes aplicações.
- Versatilidade e aplicação: A versatilidade da contagem de objectos nas regiões torna-a aplicável em vários domínios, desde a produção e vigilância até à monitorização do tráfego, contribuindo para a sua utilidade e eficácia generalizadas.
Aplicações no mundo real
Retalho | Ruas do mercado |
---|---|
![]() |
![]() |
Contagem de pessoas em diferentes regiões utilizando Ultralytics YOLO11 | Contagem de multidões em diferentes regiões utilizando Ultralytics YOLO11 |
Contagem de regiões utilizando o Ultralytics YOLO
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="yolo11n.pt", # model for counting in regions i.e yolo11s.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 windows
Ultralytics Exemplo de código
O módulo de contagem de regiões Ultralytics está disponível na nossa secção de exemplos. Pode explorar este exemplo para personalização do código e modificá-lo para se adequar ao seu caso de utilização específico.
RegionCounter
Argumentos
Aqui está uma tabela com os RegionCounter
argumentos:
Argumento | Tipo | Predefinição | Descrição |
---|---|---|---|
model |
str |
None |
Caminho para o ficheiro do modelo Ultralytics YOLO . |
region |
list |
[(20, 400), (1260, 400)] |
Lista de pontos que definem a região de contagem. |
O RegionCounter
permite a utilização de parâmetros de seguimento de objectos:
Argumento | Tipo | Predefinição | Descrição |
---|---|---|---|
tracker |
str |
'botsort.yaml' |
Especifica o algoritmo de seguimento a utilizar, por exemplo, bytetrack.yaml ou botsort.yaml . |
conf |
float |
0.3 |
Define o limiar de confiança para as detecções; valores mais baixos permitem o seguimento de mais objectos, mas podem incluir falsos positivos. |
iou |
float |
0.5 |
Define o limiar de Intersecção sobre União (IoU) para filtrar detecções sobrepostas. |
classes |
list |
None |
Filtra os resultados por índice de classe. Por exemplo, classes=[0, 2, 3] só rastreia as classes especificadas. |
verbose |
bool |
True |
Controla a apresentação dos resultados do seguimento, fornecendo uma saída visual dos objectos seguidos. |
device |
str |
None |
Especifica o dispositivo para inferência (por exemplo, cpu , cuda:0 ou 0 ). Permite aos utilizadores selecionar entre CPU, um GPU específico, ou outros dispositivos de computação para a execução do modelo. |
Além disso, são suportadas as seguintes definições de visualização:
Argumento | Tipo | Predefinição | Descrição |
---|---|---|---|
show |
bool |
False |
Se True apresenta as imagens ou vídeos anotados numa janela. Útil para feedback visual imediato durante o desenvolvimento ou teste. |
line_width |
None or int |
None |
Especifica a largura da linha das caixas delimitadoras. Se None A largura da linha é ajustada automaticamente com base no tamanho da imagem. Proporciona uma personalização visual para maior clareza. |
FAQ
O que é a contagem de objectos em regiões específicas utilizando Ultralytics YOLO11 ?
A contagem de objectos em regiões específicas com Ultralytics YOLO11 envolve a deteção e contagem do número de objectos em áreas definidas utilizando visão computacional avançada. Este método preciso aumenta a eficiência e a precisão em várias aplicações, como fabrico, vigilância e monitorização do tráfego.
Como é que executo o script de contagem de objectos baseado na região com Ultralytics YOLO11 ?
Siga estes passos para executar a contagem de objectos em Ultralytics YOLO11 :
-
Clone o repositório Ultralytics e navegue até ao diretório:
-
Executar o script de contagem de regiões:
Para mais opções, visite a secção Contagem de regiões de execução.
Por que razão devo utilizar Ultralytics YOLO11 para a contagem de objectos em regiões?
A utilização de Ultralytics YOLO11 para a contagem de objectos em regiões oferece várias vantagens:
- Processamento em tempo real: A arquitetura do YOLO11 permite uma inferência rápida, tornando-o ideal para aplicações que requerem resultados de contagem imediatos.
- Definição flexível de regiões: A solução permite-lhe definir várias regiões personalizadas como polígonos, rectângulos ou linhas para se adequar às suas necessidades específicas de monitorização.
- Suporte multi-classe: Conte diferentes tipos de objectos simultaneamente nas mesmas regiões, fornecendo análises abrangentes.
- Capacidades de integração: Integre-se facilmente com os sistemas existentes através da APIPython Ultralytics ou da interface de linha de comando.
Explore mais benefícios na secção Vantagens.
Quais são algumas das aplicações reais da contagem de objectos em regiões?
A contagem de objectos com Ultralytics YOLO11 pode ser aplicada a inúmeros cenários do mundo real:
- Análise de retalho: Contar os clientes em diferentes secções da loja para otimizar a disposição e o pessoal.
- Gestão do tráfego: Monitorizar o fluxo de veículos em segmentos rodoviários ou intersecções específicas.
- Fabrico: Monitorizar os produtos que passam por diferentes zonas de produção.
- Operações de armazém: Contar artigos de inventário em áreas de armazenamento designadas.
- Segurança pública: Monitorizar a densidade da multidão em zonas específicas durante os eventos.
Explore mais exemplos na secção Aplicações do mundo real e a solução TrackZone para capacidades adicionais de monitorização baseada em zonas.