This repository hosts the code used in the master thesis titled 'Cooperative Tracking of Animals Using Multi-View Aerial Images' by Abdulrahman Abdulsalam.
The ssd.pytorch folder contains the code used to train a Single Shot Detector (implemented in PyTorch) as an animal detector. The SSD code was cloned from amdegroot/ssd.pytorch, debugged, updated, and adjusted according to the need. Due to the large size, the resulted weights were uploaded to a separate link
The test_ws folder contains the ROS workspace we created to conduct the flight test in a simulation environment. The workspace was built with help from the example code available on the ROS documentation website. The workspace contains the code that implements the four modules, detection, tracking, sensors and control.
The code used to implement the UKF tracker was cloned from the e-book rlabbe/Kalman-and-Bayesian-Filters-in-Python and adjusted to suite our application. It is embedded in test_ws/src/tracking_pkg_3 and works as a ROS node.
The test_ws/src/detection_pkg_3 is basically the SSD inference code refactored to work as a ROS node. The test_ws/src/sensor_pkg_3 implements the sensor model and the test_ws/src/control_pkg contains a single control node. The master AirSim node lies in test_ws/src/airsim_ros_pkgs. The rest are helping folders for the SSD code.