Kalman tracking

https://github.com/m-dorgham/PedestrianTracking 1. Humans detection

I implemented two approaches for detecting people, the first is by using background subtraction and supporting it by a neural network trained to classify humans, I retrained Inception v3 model via tensorflow to classify humans vs. non-humans (the model is included in the project).

The second detection method is Yolo which gave very good detection results. 2. Human tracking

I used Unscented Kalman filter to keep track of the dynamics of the motion of each detected human, and used the Hungarian algorithm to solve the assignment problem. I used the tracking submodule from Smorodov's Multitarget-tracker but I modified the state change function and the initialization of the initial state.

https://www.youtube.com/watch?v=v2D3t0t7gWM dataset: Kinect Tracking Precision (KTP) dataset. Detection: Using Yolo. Tracking: Unscented kalman filter with the Hungarian algorithm.

multitarget
https://github.com/Smorodov/Multitarget-tracker Background substraction: built-in Vibe, SuBSENSE and LOBSTER; MOG2 from opencv; MOG, GMG and CNT from opencv_contrib Foreground segmentation: contours Matching: Hungrian algorithm or algorithm based on weighted bipartite graphs Tracking: Linear or Unscented Kalman filter for objects center or for object coordinates and size Use or not local tracker (LK optical flow) for smooth trajectories KCF, MIL, MedianFlow, GOTURN or MOSSE tracking for lost objects and collision resolving Haar face detector from OpenCV HOG and C4 pedestrian detectors SSD detector from OpenCV and models from chuanqi305/MobileNet-SSD YOLO and Tiny YOLO detectors from https://pjreddie.com/darknet/yolo/

links
KalmanFilter

Yolo

SORT tracking