In this project, I utlized YOLOV8 Object Counting class to develop a real-time people counting system using the YOLOv8 object detection model, optimized for Intel's OpenVINO toolkit to enhance inferencing speed. This system effectively monitors the number of individuals entering and exiting a room, leveraging the optimized YOLOv8 model for accurate people detection under varied conditions.
By utilizing the OpenVINO runtime on Intel hardware, the system achieves significant improvements in processing speed, making it ideal for applications requiring real-time data, such as occupancy management and traffic flow control in public spaces and commercial settings.
References:
- YoloV8 Object counting documentation: https://docs.ultralytics.com/guides/object-counting/
- OpenVINO Jupyter Notebooks: https://github.com/openvinotoolkit/openvino_notebooks/
In this clip, you can see the difference (Inference time and FPS) between running yoloV8 natively with pyTorch vs optimized with OpenVINO using my personal laptop with 11th Gen Intel® Core™ i9-11900H @ 2.50GHz × 16
$ docker build . -t people-count
docker run -it --device=/dev/dri --device=/dev/video0 --privileged --group-add=$(stat -c "%g" /dev/dri/render* | head -n 1) -p 8888:8888 people-count
It will prompt the jupyter lab URL on the console, copy and paste it on your browser:
Or copy and paste one of these URLs:
http://localhost:8888/lab?token=<token>
Run the following commands to create a virtual env on your local system
python3 -m venv jup1
source jup1/bin/activate
pip install jupyterlab
Run jupyter notebook:
jupyter lab people-counting.ipynb