Update README

This commit is contained in:
Jakob Lechner 2025-08-02 04:26:14 +02:00
parent 40ce7946d5
commit 5e388f7fdc

View file

@ -1,40 +1,21 @@
# People Counter with YOLOv8, ByteTrack, and Prometheus # People Counter with YOLOv8, ByteTrack, and Prometheus
This project implements a real-time people counting system based on object detection and tracking using [YOLOv8](https://github.com/ultralytics/ultralytics) and [ByteTrack](https://github.com/ifzhang/ByteTrack). It supports **RTSP input**, **in/out counting** using a vertical line, and exposes **Prometheus metrics** for integration with monitoring systems. This project implements a real-time people counting system based on object detection and tracking using [YOLOv8](https://github.com/ultralytics/ultralytics) and [ByteTrack](https://github.com/ifzhang/ByteTrack). It supports **MJPEG input**, **in/out counting** using either a vertical or a horizontal line, and exposes **Prometheus metrics** for integration with monitoring systems.
## 🚀 Features ## 🚀 Features
- 🎥 RTSP camera stream input - 🎥 MJPEG camera stream input
- 🧠 YOLOv8 person detection - 🧠 YOLOv8 person detection
- 🔁 ByteTrack object tracking - 🔁 ByteTrack object tracking
- In/Out counting via virtual vertical line - In/Out counting via virtual line
- 📊 Prometheus metrics at `http://localhost:9100/` - 📊 Prometheus metrics at `http://localhost:9100/`
- 🌐 Streamlit UI for live video and statistics - 🌐 Web UI for live video and statistics
## Start mediamtx ## Start MJPEG stream from webcam
``` mjpg_streamer -i "input_uvc.so -d /dev/video0 -r 1280x720 -f 30" -o "output_http.so -p 8080"
mediamtx
```
## Stream webcam
```
ffmpeg \
-vaapi_device /dev/dri/renderD128 \
-y \
-f v4l2 \
-framerate 30 \
-video_size 1280x720 \
-input_format mjpeg \
-i /dev/video0 \
-vf 'format=nv12,hwupload' \
-c:v h264_vaapi \
-f rtsp \
rtsp://localhost:8554/cam
```
## Run application ## Run application
``` ```
streamlit run streamlit_app.py uvicorn main:app --host 0.0.0.0 --port 8000
``` ```