Skip to content

RobCaamano/Uav-Detection-And-Tracking

Repository files navigation

Uav Detection And Tracking

TF2 Object Detection TF2 Model Zoo

Sections

About

The UAV Detection and Tracking project aims to identify and monitor unmanned aerial vehicles (UAVs) using advanced object detection and tracking techniques. It utilizes TensorFlow2 Object Detection API with a finetune of TensorFlow's 'faster_rcnn_resnet101_v1_800x1333_coco17_gpu-8' model.

  • Fine-Tuned Object Detection Model: Utilizes a fine-tuned version of the TensorFlow Faster R-CNN ResNet101 model, optimized for detecting UAVs.

  • End-to-End Pipeline: Includes tools for model preparation, video frame extraction, data conversion, and tracking.

  • Tracking and Visualization: Implements a Kalman filter for trajectory tracking and generates visualizations to show the UAV’s path.

Files

  • download_model.py: Used to fetch the pre-trained model from the TensorFlow model zoo.

  • vids_to_frames: Extracts frames from video and saves them in a given directory using OpenCV.

  • XML_To_TFRecord.py: Converts XML annotation files into TensorFlow’s TFRecord format, which is required for training and validation of the detection model.

  • model_main_tf2.py: Contains a slightly modified TensorFlow 2 training loop tailored for fine-tuning the object detection model. Manages the training process, including model checkpointing and evaluation.

  • UAV_FasterRCNN.py: Used for inference with the fine-tuned Faster R-CNN model. Performs object detection on new video frames, identifying UAVs and generating bounding boxes around detected objects.

  • kalman_filter.py: Implements the Kalman filter algorithm to track the trajectory of detected UAVs. Processes the detection results and compiles them into a video with a line tracing the UAV’s movement, providing a visualization of its path.

Demo Videos with Kalman Filter

Both videos are available in this repo's /kf_vids directory.

Demo #1

output1_mp4.mp4

Demo # 2

output2_mp4.mp4

Demo Images

More samples are available in this repo's ./detections directory.

Demo #1 Demo #2

Training Metrics

This project includes performance metrics to evaluate the effectiveness and accuracy of the UAV detection and tracking system. These metrics are visualized through a series of plots, displaying key metrics such as classification loss, localization loss, and learning rate.

Releases

No releases published

Packages

No packages published

Languages