Full compatible drone library to automate computer vision algorithms on parrot drones.
Project description
DroneVision
Drone Vision (DroneVis) is a full compatible drone library to automate computer vision algorithms on parrot drones. You can read a detailed documentation of Drone Vision docs.
DroneVis is a cutting-edge drone software library that has been specifically designed for use with the AR. Drone 2.0. It has been extensively tested both indoors and outdoors, and offers a wide range of features including adaptability in connecting to the drone, advanced computer vision algorithms, and a user-friendly interface. This makes it easy for users to take full advantage of the drone's capabilities and control it with simple commands.All of the implemented real-time data, inference, and detection achieve a minimum fps >= 4.5
on an Intel core 8 CPU.
Features
- Unified state-of-the art computer vision algoritms
- Full control over the drone
- PEP8 compliant (unified code style)
- Documented functions and classes
- Tests, high code coverage and type hints
- Clean code
- Multiple implementations for the same models
- Logger with timestamps
- Two UI for easier usage (GUI, CLI)
Drone Control | Computer Vision Models | Usage | Implementation |
---|---|---|---|
Right, Left | Faster R-CNN | Detection/Recognition | PyTorch |
Up, Down | CenterNet | Detection/Recognition | MxNet |
Forward, Backward | YOLO | Detection/Recognition | MxNet |
Takeoff, Land | YOLOv5 | Detection/Recognition | PyTorch |
Reset, Emergency | SSD | Detection/Recognition | PyTorch |
Rotate Left/Right | CSRNet | Crowd Counting | PyTorch |
Hover, Caliberate | BlazeFace | Face Detection | MediaPipe |
Camera Stream | BlazePose | Pose Estimation | MediaPipe |
Hand Gesture Control | BlazePose | Segmenation | Mediapipe |
How to Install
You start controling your drone now with just two commands:
pip install dronevis # install the library
dronevis-gui # run library GUI
Press the start
button to start a demo drone simulation, and run your favourite algorithms with the stream
button.
You can control your drone with our CLI
:
dronevis
:warning: If you are a Windows: models implemented with Mxnet library are buggy.
Getting Started
Dronevis is built with multiple modes for customizibility. You can view all the options for either runnning our GUI
or CLI
as follows:
dronevis --help
The default mode for running either the CLI or the GUI is the demo
mode. You can alter the mode by providing "real" to --drone
argument.
dronevis --drone=real # cli real drone mode
or for GUI,
dronevis-gui --drone=real # gui real drone mode
Documentation
Dronevis is developed with an extensive documentation for easier user contributions. You can check our full documentation in here to go more in-depth of how the library is structure and how to contribute your favourite model.
Citing the Project
To cite this repository:
@software{drone-vis,
author = {Ahmed Heakl, Abdallah-Elbarkokry, Fatma Youssef, Youssief Anas},
title = {Dronevis: Full compatible drone library to automate computer vision algorithms on parrot drones},
year = {2023},
url = {github.com/ahmedheakl/drone-vis},
version = {1.0.0}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.