|
---
|
|
comments: true
|
|
description: Object Counting in Different Region using Ultralytics YOLOv8
|
|
keywords: Ultralytics, YOLOv8, Object Detection, Object Counting, Object Tracking, Notebook, IPython Kernel, CLI, Python SDK
|
|
---
|
|
|
|
# Object Counting in Different Regions using Ultralytics YOLOv8 π
|
|
|
|
## What is Object Counting in Regions?
|
|
|
|
[Object counting](https://docs.ultralytics.com/guides/object-counting/) in regions with [Ultralytics YOLOv8](https://github.com/ultralytics/ultralytics/) 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.
|
|
|
|
<p align="center">
|
|
<br>
|
|
<iframe loading="lazy" width="720" height="405" src="https://www.youtube.com/embed/okItf1iHlV8"
|
|
title="YouTube video player" frameborder="0"
|
|
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
|
allowfullscreen>
|
|
</iframe>
|
|
<br>
|
|
<strong>Watch:</strong> Ultralytics YOLOv8 Object Counting in Multiple & Movable Regions
|
|
</p>
|
|
|
|
## 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 |
|
|
|
|
## 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.
|
|
|
|
```bash
|
|
# Clone Ultralytics repo
|
|
git clone https://github.com/ultralytics/ultralytics
|
|
|
|
# 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.
|
|
|
|
???+ tip "Region is Movable"
|
|
|
|
During video playback, you can interactively move the region within the video by clicking and dragging using the left mouse button.
|
|
|
|
```bash
|
|
# Save results
|
|
python yolov8_region_counter.py --source "path/to/video.mp4" --save-img
|
|
|
|
# Run model on CPU
|
|
python yolov8_region_counter.py --source "path/to/video.mp4" --device cpu
|
|
|
|
# Change model file
|
|
python yolov8_region_counter.py --source "path/to/video.mp4" --weights "path/to/model.pt"
|
|
|
|
# Detect specific classes (e.g., first and third classes)
|
|
python yolov8_region_counter.py --source "path/to/video.mp4" --classes 0 2
|
|
|
|
# View results without saving
|
|
python yolov8_region_counter.py --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` | `yolov8n.pt` | 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 |
|
|
|