-
To find a possible queue vector which is basically a line or (y = mx + c) using People Detection as a subroutine and then answer this question : "How many people are standing in the queue".
-
Assumption Taken : "Whatever be the camera angle is the queue is always a planar surface in a 3D world".
-
Finds the bounding boxes around people using Yolo.
-
Of all those bounding boxes the code tries to find the best params(m, c) such that maximum people lie on or some delta(eps) along this line.
-
Takes 90% of all the points to remove outliers.
-
Finding params(m, c) is done by solving an optimisation problem that uses Convex-Hull as a subroutine.
For more details refer the Presentation that I made : Presentation
Yolo from here : https://github.com/ultralytics/yolov5
- To use the YOLO Algorithm to detect all the bounding boxes that are persons.
- Reading the Source Code of Darknet, learning about Yolo Layers and the implementation in Pytorch.
- Maybe Fine Tune the Model to only output bounding boxes around humans. Something like this : https://www.codeproject.com/Articles/5283660/AI-Queue-Length-Detection-Counting-the-Number-of-P
- You must have Conda installed, since it provides containerisation we dont have to worry about building and running on Different Platforms/ OSes.
- First run "bash setup_env.sh" -> This will create a
Queue_Detection
conda environment. - Run
conda activate Queue_Detection
to activate the newly made env. - Next run "bash setup.sh" -> This will install all the related dependencies.
- In case of error, read the *sh files and figure it out yourself.
- Yolov5s -
- Yolov5m -
- Yolov5l -
- Yolov5x -
- Yolov5x + TTA -
- Shanghai DataSet : https://www.kaggle.com/tthien/shanghaitech
Ques : Why are there different versions of the same paper ?
- V1 : https://arxiv.org/pdf/1506.02640v1.pdf
- V2 : Somrthing Here
- V3 : Something Here
- V4 : https://arxiv.org/pdf/1506.02640v4.pdf
- https://blog.paperspace.com/how-to-implement-a-yolo-object-detector-in-pytorch/
Picture 1 :
Picture 2 :
Picture 3 :
Picture 4 :
Picture 5 :