Skip to content

Object Counting in Different Regions using Ultralytics YOLOv8 🚀

What is Object Counting in Regions?

Object counting in regions with Ultralytics YOLOv8 involves precisely determining the number of objects within specified areas using advanced computer vision. This approach is valuable for optimizing processes, enhancing security, and improving efficiency in various applications.

Watch: Ultralytics YOLOv8 Object Counting in Multiple & Movable Regions

Advantages of Object Counting in Regions?

  • Precision and Accuracy: Object counting in regions with advanced computer vision ensures precise and accurate counts, minimizing errors often associated with manual counting.
  • Efficiency Improvement: Automated object counting enhances operational efficiency, providing real-time results and streamlining processes across different applications.
  • Versatility and Application: The versatility of object counting in regions makes it applicable across various domains, from manufacturing and surveillance to traffic monitoring, contributing to its widespread utility and effectiveness.

Real World Applications

Retail Market Streets
People Counting in Different Region using Ultralytics YOLOv8 Crowd Counting in Different Region using Ultralytics YOLOv8
People Counting in Different Region using Ultralytics YOLOv8 Crowd Counting in Different Region using Ultralytics YOLOv8

Steps to Run

Step 1: Install Required Libraries

Begin by cloning the Ultralytics repository, installing dependencies, and navigating to the local directory using the provided commands in Step 2.

# Clone Ultralytics repo
git clone

# Navigate to the local directory
cd ultralytics/examples/YOLOv8-Region-Counter

Step 2: Run Region Counting Using Ultralytics YOLOv8

Execute the following basic commands for inference.

Region is Movable

During video playback, you can interactively move the region within the video by clicking and dragging using the left mouse button.

# Save results
python --source "path/to/video.mp4" --save-img

# Run model on CPU
python --source "path/to/video.mp4" --device cpu

# Change model file
python --source "path/to/video.mp4" --weights "path/to/"

# Detect specific classes (e.g., first and third classes)
python --source "path/to/video.mp4" --classes 0 2

# View results without saving
python --source "path/to/video.mp4" --view-img

Optional Arguments

Name Type Default Description
--source str None Path to video file, for webcam 0
--line_thickness int 2 Bounding Box thickness
--save-img bool False Save the predicted video/image
--weights str Weights file path
--classes list None Detect specific classes i.e. --classes 0 2
--region-thickness int 2 Region Box thickness
--track-thickness int 2 Tracking line thickness

Created 2023-12-02, Updated 2024-06-10
Authors: glenn-jocher (4), Burhan-Q (1), RizwanMunawar (1)