Search code examples
pythonopencvmachine-learningobject-detection

Methods for real time object detection and tracking without neural network


For a bachelors thesis, I need to count people using a video camera, and this as correct as possible. For this problem I make use of Python together with OpenCV. I know the neural networks like a CNN is the best solution to try and do this. Now the problem here is that for my thesis, I should not use Neural Networks.

I have been researching this topic quite often, but I keep finding object detection and tracking with Neural Network models on Tensorflow and Keras (Yolo, Mobilenet). The only 'old school' methods that I have found is: background subtraction with mean width and height of a person and a method using HOG with SVM. Are there any other algorithms I can use? (like knn or random forest instead of SVM)

Another question I still have and can't find a real answer too is how to use this in a video instead of an image. Do you split up the video frame by frame and then detect the person? Or is there another approach for this that I haven't found yet? I feel like doing the object recognition and detection for each frame will be pretty intensive for the machine it's running on.

Will it also be possible to detect multiple people in one frame?

I really hope somebody can help me with this matter, as I have been stuck on this part of my thesis for quite some time now. I want to make some progress again! Many thanks in advance!


Solution

    1. The first method - HAAR cascades as features + AdaBoost as classifier. Faster but worst - LBP instead HAAR.

    2. HOG + linear SVM. And more: CoHOG, DPM,...

    3. ICF (integral channel features) + forest.

    This is all the most important.

    Edit 1: And you can use more features (colors, symmetry features) and reduction technique: PCA, PLS etc. For example linear SVM is very fast but not robust for noise. Some researchers used reduction for feature vector size and gave the better results. A good paper "Vehicle Detection using Partial Least Squares": https://anikem.github.io/papers/Kembhavi_VehicleDetection_PAMI2011.pdf But DNNs showed much better results.