cpptopywrapper contains all of the code for the object tracking pipeline for the AutoDrone team.
Clone the repository using git clone
git clone https://github.com/alexrog/cpptopywrapper.git
Use the package manager pip to install the required packages.
pip install -r requirements.txt
In the file inference.py
, there exists the function live_inference()
which gets the live camera feed and performs an inference on it. The output of the nanodet.inference(frame)
is of type BoundingBoxes
which is defined in BoundingBoxes.py
. The information contained in this class can be used to publish the bounding box to a ROS node. There is a function in the class called BoundingBoxes.ros_format()
. The variable ros_format
in inference.py
contains the output to be published to the ros node. Add the publisher inside the if
statement immediately after.
The initialize_model
function is used to initialize the nanodet model. The parameters to this model are the file path to the nanodet model and the device to be used for inferencing: CPU
or MYRIAD
.
To run the live inferencing, ensure you are in the root directory of cpptopywrapper
and run
python3 inference.py
Note: for live camera feed using imshow
X forwarding must be enabled on ssh or you should be on the drone directly.