Đếm số lượng người qua lại chạy trên Raspi
huutrinh68 10/11/2021 aicomputer vision
Trong project này
- Mục đích là để đếm số lượng người trong cửa hàng, tòa nhà một cách realtime.
- Gửi thông báo tới cho nhân viên quản lý
- Tính năng chạy với threading để cho hiệu năng tốt hơn
# Lý thuyết
# SSD detector
- Trong project này sẽ dùng SSD detector (Single Shot Detector) với kiến trúc mạng MobileNet. SSD cho biết có những object nào trong bức ảnh.
- So sánh với R-CNN thì SSD khá là nhanh
- Kiến trúc mạng MobileNet là một kiến trúc DNN được thiết kế dành riêng cho những thiết bị phần cứng có hiệu năng nhỏ như mobile, ipcamera, hay là máy in etc...
# Centroid tracker
- Centroid tracker là một trong những tracker chạy ổn định
- Centroid chính là điểm trung tâm của bouding boxes
- Nó cũng chính là centroid của object mà SSD trả về
- Nó được gán cho một ID duy nhất và được tracking qua các frame liên tục
# Chuẩn bị
# Pull source code
$ git clone https://github.com/saimj7/People-Counting-in-Real-Time.git app
1
# Install dependencies library
$ cd app
$ sudo apt-get install cmake
$ pip install -r requirements.txt
1
2
3
2
3
# Start x-server
Phần setting này để chạy được ứng dụng GUI từ docker container trên WSL2 của Windows. Nếu không trong docker container trên WSL2 thì có thể bỏ qua phần này
- Cài đặt docker cho windows
- Cài đặt docker trên WSL2
- Cài đặt x-server trên windows
- Khi start thì check hết vào các options ở màn hình setting cuối
- Sau khi start x-server xong thì cần tạo một biến môi trường cho DISPLAY
$ export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
1
# Chạy chương trình
$ cd app
$ python3 run.py --prototxt mobilenet_ssd/MobileNetSSD_deploy.prototxt --model mobilenet_ssd/MobileNetSSD_deploy.caffemodel --input videos/example_02.mp4
1
2
2
# Reference link
- Still not support run fastmot on CPU (opens new window)
- Run on CPU (opens new window)
- FastMOT (opens new window)
- Multiple Object Tracking (opens new window)
- Deepsort, Kalman Filter, Centroid Tracking (opens new window)
- Mobilnetssd + yolov3 comparsion (opens new window)
- Kalman filter + mobilenetssdv2 (opens new window)
- Yolov3 + deepsort (opens new window)
- Detection + tracking (opens new window)
- Tensorflow 2 Object Counting (opens new window)
- Single-Multiple-Custom-Object-Detection-and-Tracking (opens new window)
- Opencv only (opens new window)
- Opencv only (opens new window)
- Raspi + tpu + deepsort (opens new window)
- Yolov3 mobilnetssd yolov5s comparison (opens new window)