- Simultaneous Multiple Object Detection and Tracking System in Keras (Detection network based on YOLOv2 - reimplemented in keras)
- Single Object Tracking with FasterRCNN and YOLOv2/v3 as detection backends
- TinyTracker (Static Detection Priors from FasterRCNN or Yolov2/v3)[Single Object]:
- TinyHeatmapTracker (Static Detection Priors from FasterRCNN or Yolov2/v3)[Single Object]:
- MultiObjDetTracker (Trainable Detection Priors from Yolov2 reimplmented in Keras)[Multiple Objects]:
NOTE: Yolov2 reimplementation in Keras as standalone detector also available
- Tensorflow
- Keras
- OpenCV
- easydict (for py-faster-rcnn)
- cython (for py-faster-rcnn)
- imgaug
-
Run
git clone --recursive https://github.com/kshitiz38/object-tracking.git
- NOTE: If you didn't clone with the --recursive flag run manually the following code
git submodule update --init --recursive
- NOTE: If you didn't clone with the --recursive flag run manually the following code
-
Darknet
- Follow instructions at https://pjreddie.com/darknet/install/
cd darknet && make
- NOTE: I recommend disabling CUDNN in Makefile since it gives strange results depending on your version
- Follow instructions at https://pjreddie.com/darknet/install/
-
Faster RCNN
- Follow intructions at https://github.com/rbgirshick/py-faster-rcnn#installation-sufficient-for-the-demo
cd py-faster-rcnn cd lib && make && cd ../ cd caffe-fast-rcnn && mkdir build && cd build && cmake .. make all && make install
- Follow intructions at https://github.com/rbgirshick/py-faster-rcnn#installation-sufficient-for-the-demo
- For Single Object Tracking
- Modify Parameters in config.jon
- Convert Datasets to PASCAL VOC format if not already
- Run
python utility/tb_to_pascal.py' or 'python utility/tb_to_pascal.py
or write one for your own dataset
- Run
- Run
python trainer.py
- For Simultaneous Multiple Object Detection and Tracking
- Modify Parameters in
KerasYOLO.py
andMultiObjDetTracker.py
- Convert Datasets like above specify paths in
MultiObjDetTracker.py
already done for ImageNet Vid and MOT17 - Run
python trainer.py
- Modify Parameters in
- Call
single_object_tracking()
intrainer.py
for Single Object Detection with fixed detection priors from Other Detection backends - Call
simult_multi_obj_detection_tracking()
intrainer.py
for Simultaneous Multiple Object Detction and Tracking with Yolov2 Reimplemented in Keras
- Coming Soon!!
- Feel free to figure out yourself!! See
models_tracking
andmodels_detection
directories
- Add theory and model architectures explaination
- Add config.json file for parameters for MultiObjDetTracker and KerasYOLO
- Benchmark for ImagenetVid Challenge, MOT and VisualTB Datasets
- Add support for Detectron models as detection backend