MathWorks Excellence in Innovation Project 214 Solution
MATLAB-ROS2-Python implementation of the system architecture in the following paper:
H. E. Dursun, E. C. Güven, B. Avcı, T. Kumbasar, 2023. Recognizing and Tracking Person of Interest: A Real-Time Efficient Deep Learning based Method for Quadcopters, International Conference on Recent Advances in Air and Space Technologies, Istanbul, Turkey.
https://ieeexplore.ieee.org/document/10197971
A Real-Time Efficient Deep Learning based Method for Quadcopters
Welcome to the GitHub repository for our project, which extends the work presented in our conference paper titled "Recognizing and Tracking Person of Interest: A Real-Time Efficient Deep Learning based Method for Quadcopters." This repository serves as a comprehensive resource for anyone interested in exploring our project and contributing to its development.
In this project, we aim to address the challenge of recognizing and tracking a person of interest using quadcopters. Our goal is to develop a real-time, efficient deep learning-based method that enables quadcopters to autonomously detect and track individuals in various scenarios. By leveraging the power of MATLAB and Simulink, we strive to provide a solution with industry relevance and societal impact.
The recognition and tracking of a person of interest is a crucial task in applications such as search and rescue, security, and surveillance. This thesis presents a distributed system architecture that leverages ROS2 (Robot Operating System 2) and deep learning techniques to develop a real-time efficient method for recognizing and tracking a person of interest using a quadcopter. The system utilizes a deep learning model to recognize persons in snapshots from the quadcopter's camera and generates reference velocity signals for the drone's flight control system to track the person of interest. The proposed architecture is evaluated in cluttered and complex environments, demonstrating its effectiveness in real-world scenarios.
- Real-time Person Recognition: We employ advanced deep learning techniques to accurately identify individuals in real-time.
- Efficient Tracking Algorithm: Our project focuses on developing an efficient tracking algorithm that enables quadcopters to maintain visual contact with the person of interest.
- Robust Performance: We aim to create a solution that can handle various environmental conditions, such as changes in lighting, occlusions, and complex backgrounds.
- Integration with Quadcopter Systems: Our method is designed to be easily integrated with existing quadcopter systems, facilitating practical implementation and deployment.
ROS2 Foxy Matlab R2022b with Deep Learning Toolbox Python 3.8.13 with required libraries (specified in the code)
To get started with our project, please refer to the following steps:
- Clone the repository to your local machine using the command:
https://github.com/enescanguven/tello_ros.git
and follow instructions to download Ros2 and DJI Tello package and run. - Clone the repository to your local machine using the command:
https://github.com/batuhanaavci/faster_rcnn_face_recog_drone.git
- Install MATLAB and Simulink, ensuring that you have the necessary toolboxes and dependencies mentioned in the documentation.
- Navigate to the relevant directories within the
tracking_control
folder to explore the source code for tracking algorithm and run followings in terminal.source /opt/ros/foxy/setup.bash python3 tracking.py
- For the matlab recognition part real-time inference and matlab-ros2 communication, navigate to
face_recognition/real-time
folder and run theros-detect-node.m
matlab file.
To train your own model, please refer to the following steps:
- Collect the data set in accordance with the information provided in
face_recognition/training
- Train your model following the instructions given in
face_recognition/training/yolov.mlx
- Export your new model to file system and move it to the
face_recognition/real-time
folder - Edit the
face_recognition/real-time/ros_detect_node.m
file with you new DL models name. - Finally run the code.
We appreciate contributions from the community to improve our project.
This project is licensed under the [MIT License](
For any questions, suggestions, or feedback, please contact us at:
- Name: Batuhan Avci
- Email: [email protected]
- Tello User Manual 1.4
- SDK 1.3 for Tello, see the errata below
- SDK 2.0 for Tello EDU, see the errata below
- Tello EDU Mission Pad Guide (SDK 2.0) for Tello EDU
- Tello Pilots Developer Forum is a good developer community
- Recognizing and Tracking Person of Interest: A Real-Time Efficient Deep Learning based Method for Quadcopters