https://github.com/aleko-khomasuridze/tello_face_recognition
python program that utilizes DJI Tello's camera with OpenCV and Tello python module and adds a layer of face recognition to it
https://github.com/aleko-khomasuridze/tello_face_recognition
algorithms face-detection face-recognition opencv python tello-drone
Last synced: 2 months ago
JSON representation
python program that utilizes DJI Tello's camera with OpenCV and Tello python module and adds a layer of face recognition to it
- Host: GitHub
- URL: https://github.com/aleko-khomasuridze/tello_face_recognition
- Owner: aleko-khomasuridze
- Created: 2023-11-06T17:00:01.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-07-11T08:21:43.000Z (almost 2 years ago)
- Last Synced: 2025-01-02T17:49:57.294Z (over 1 year ago)
- Topics: algorithms, face-detection, face-recognition, opencv, python, tello-drone
- Language: Python
- Homepage:
- Size: 828 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
#TELLO FACE DETECTION

## Table of Contents
- [Introduction](#introduction)
- [Key Features](#key-features)
- [Getting Started](#getting-started)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Usage](#usage)
- [Customization](#customization)
- [Contributing](#contributing)
- [License](#license)
- [Acknowledgments](#acknowledgments)
## Introduction
This project combines real-time face detection and annotation using the OpenCV library with the control of a DJI Tello drone. The integrated system captures video from a specified camera, detects faces in each frame, and adds various annotations to the detected faces, such as outlines, crosshairs, and labels. Additionally, it provides drone control capabilities to react to face movements.
Key elements of the project include:
- Face detection using Haar Cascade classifiers.
- Annotation of detected faces with frames, labels, and center points.
- Visualization of the drone's battery status.
- Drone control based on face position (commented out by default for safety).
## Key Features
- Real-time face detection in video streams.
- Annotation of detected faces for visualization.
- Integration with DJI Tello drone for controlling its movement.
- Battery status display.
- Highly customizable to adapt to specific use cases.
## Getting Started
### Prerequisites
To run this project, you'll need the following prerequisites:
- Python 3.x
- OpenCV (cv2)
- NumPy
- DJITelloPy (for drone control)
### Installation
1. Clone the repository to your local machine:
```bash
git clone https://github.com/yourusername/face-detection-drone-control.git
```
2. Navigate to the project directory:
```bash
cd face-detection-drone-control
```
3. Install the required dependencies using pip:
```bash
pip install opencv-python numpy djitellopy
```
## Usage
1. Ensure that the DJI Tello drone is connected and powered on.
2. Make sure the Haar Cascade XML file ("haarcascade_frontalface_default.xml") is present in the specified directory.
3. Run the project:
```bash
python main.py
```
4. The system will start capturing video from the specified camera (camera index can be adjusted in the code).
## Customization
- To customize the behavior of the drone based on face position, uncomment and modify the relevant code section in the script.
- You can adjust the appearance of face annotations, labels, and frames by modifying the color and size parameters in the code.
- Explore the `faceDraw` class for more customization options.
## Contributing
Contributions to this project are welcome! Feel free to open issues, submit pull requests, or provide suggestions for improvements.
## License
This project is unlicensed and is considered to be in the public domain. You are free to use, modify, and distribute it without any legal restrictions. However, keep in mind that this means there are no warranties or guarantees associated with the project. Use it at your own discretion and responsibility.
## Acknowledgments
- Special thanks to Aleko Khomasuridze for the original code and idea.
```