Rocket Tracker: follow and capture your rocket when launching.
The tracker detects the rocket on a live camera feed and adjust its stand to follow it.
/academic: Bachelor report and videos which compare trackers./libraries: Externel libraries used in the project. The references are in the folder./outputs: Images generated by the detector/tracker./src: Implementation of the tracker software./tools: Entry points to run the services./training: Models, config files, trained weights.
Install the following packages in order to run the tracker:
For all methods:
OpenCV(>= 3.4):pip install opencv-contrib-pythonnumpy:pip insall numpypyyaml(>= 5.1):pip install pyyaml
If using conda: conda create --name mantis -c anaconda opencv pyyaml numpy
If you have GPU, ensure CUDA/cuDNN are properly installed.
Additionally, if using conda: conda install cudatoolkit=CUDA_VERSION cudnn
For SiamRPN:
Please follow this link to install the requirements: Pysot installation
For ONNX:
ONNX runtime:pip install onnxruntime
Before using a detector, please download the weights and configure YOLO in the config.yaml file.
For configuring SiamRPN, the config files are in training/tracking/pysot/. You can add CUDA: False to the config file to disable the use of a GPU.
pipeline.py is the entry point of the tracker. Run python3 tools/pipeline.py with the following parameters:
-
--benchmark: use this option with any method to run a benchmark that returns the speed and the accuracy of the run. -
detect: detect a rocket on the provided images--images: path to the images to use in the detection (required).--method: specify the method of detection (default: Yolo). The options are [Yolo, tiny-Yolo].
-
track: track a rocket on a provided video feed.--video: the video feed. Can be a path to a video--method: specify the method of tracking (default: OpenTracker). The options are [MOSSE, KCF, SiamRPN, SiamRPN-onnx].--detection: specify the method of detection (default: Yolo). The options are [Yolo, tiny-Yolo].
Examples:
python3 tools/pipeline.py detect --images training/detection/dataset/test/*.jpg --method tiny-Yolopython3 tools/pipeline.py --benchmark track --video training/tracking/dataset/test/test2.mp4 --method SiamRPN
The generated images of the detection or the tracking can be found in the folder /outputs.
tools/export.py is an experimental tool to export the SiamRPN tracker to ONNX and TensorRT.
python3 tools/export.py onnx: export SiamRPN to ONNX models. Require onnx to be installed.python3 tools/export.py tensorrt: export ONNX models to TensorRT engines. Requires TensorRT to be installed.
OpenCV,numpy,pyyamlusing pipPytorch: https://forums.developer.nvidia.com/t/pytorch-for-jetson-version-1-7-0-now-available/72048ONNX runtime: https://developer.nvidia.com/blog/announcing-onnx-runtime-for-jetson/
Weights can be downloaded there: Model Zoo
Two models are available for YOLO and Tiny YOLO which correspond to the two trainings done with different datasets. Second is best.