<img src="https://user-images.githubusercontent.com/52796111/235324370-646b53c8-7540-4555-8097-63b4ead2d4fc.png" align="right" width="30%"/>
![CI](https://github.com/ahmedheakl/drone-vis/workflows/test/badge.svg)
[![Documentation Status](https://readthedocs.org/projects/drone-vis/badge/?version=latest)](https://drone-vis.readthedocs.io/) ![coverage report](https://codecov.io/github/ahmedheakl/drone-vis/branch/master/graph/badge.svg)
[![codestyle](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
![Version](https://badge.fury.io/py/dronevis.svg)
# 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](https://drone-vis.readthedocs.io/en/latest).
**DroneVis** is a cutting-edge drone software library that has been specifically designed for use with the AR. Drone. 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 3 user-friendly interfaces. 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
- Three UI for easier usage (GUI, CLI, Gesture Recognition)
### Computer Vision Models
You provide a wide variety of 20+ computer vision and recommends users to the best models in terms of accuracy and speed, whilst giving users the chance to use any model of their choice.
<p align="center">
<img src="https://github.com/ahmedheakl/drone-vis/blob/master/imgs/dronevis-models-comparison.png?raw=true">
</p>
### Drone Control
- Right ➡️, Left :arrow_left:
- Up ⬆️, Down :arrow_down:
- Forward ▶️, Backward ◀️
- Takeoff 🚀, Land 🛬
- Reset 🔄, Emergency 🚨
- Rotate Left ↩️ /Right :arrow_right_hook:
- Hover 🔍, Calibrate 🔧
- Camera Stream 📹/Record ⏺️
- Hand Gesture Control 🖌️
## How to Install
<details>
<summary>Install PyTorch</summary>
You should consider installing the version of <a href="https://pytorch.org/get-started/previous-versions/">Pytorch</a> that corresponds to your cuda version.
</details>
You start controling your drone now with just two commands:
```bash
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.
<p align="center">
<img src="https://github.com/ahmedheakl/drone-vis/blob/master/imgs/dronevis-gui.jpeg" width=700>
</p>
You can control your drone with our ``CLI``:
```bash
dronevis
```
<p align="center">
<img src="https://github.com/ahmedheakl/drone-vis/blob/master/imgs/dronevis-cli.png" width=400>
</p>
## 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:
```bash
dronevis --help
```
<p align="center">
<img src="https://github.com/ahmedheakl/drone-vis/blob/master/imgs/dronevis-cli-help.png" width=500>
</p>
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.
```bash
dronevis --drone=real # cli real drone mode
```
or for GUI,
```bash
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](drone-vis.readthedocs.io/en/latest) 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:
```bibtex
@software{drone-vis,
author = {Ahmed Heakl, Fatma Youssef, Abdallah-Elbarkokry},
title = {Dronevis: Full compatible drone library to automate computer vision algorithms on parrot drones},
year = {2023},
url = {github.com/ahmedheakl/drone-vis},
version = {1.3.0}
}
```
Raw data
{
"_id": null,
"home_page": "",
"name": "dronevis",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "drone,computer vision,human tracking,object recognition,YOLO,human counting,face detection,mediapipe,pytorch,sockets,thread",
"author": "",
"author_email": "Ahmed Heakl <ahmed.heakl@ejust.edu.eg>",
"download_url": "https://files.pythonhosted.org/packages/29/67/c9eddda0147b592657805c9382a3f8d7253dbcf0288fbba33cb675bd2ab7/dronevis-1.3.0.tar.gz",
"platform": null,
"description": "<img src=\"https://user-images.githubusercontent.com/52796111/235324370-646b53c8-7540-4555-8097-63b4ead2d4fc.png\" align=\"right\" width=\"30%\"/>\n\n![CI](https://github.com/ahmedheakl/drone-vis/workflows/test/badge.svg)\n[![Documentation Status](https://readthedocs.org/projects/drone-vis/badge/?version=latest)](https://drone-vis.readthedocs.io/) ![coverage report](https://codecov.io/github/ahmedheakl/drone-vis/branch/master/graph/badge.svg)\n[![codestyle](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n![Version](https://badge.fury.io/py/dronevis.svg)\n# DroneVision\n\nDrone 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](https://drone-vis.readthedocs.io/en/latest).\n\n**DroneVis** is a cutting-edge drone software library that has been specifically designed for use with the AR. Drone. 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 3 user-friendly interfaces. 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.\n\n## Features\n- Unified state-of-the art computer vision algoritms\n- Full control over the drone\n- PEP8 compliant (unified code style)\n- Documented functions and classes\n- Tests, high code coverage and type hints\n- Clean code\n- Multiple implementations for the same models\n- Logger with timestamps\n- Three UI for easier usage (GUI, CLI, Gesture Recognition)\n\n### Computer Vision Models\n\nYou provide a wide variety of 20+ computer vision and recommends users to the best models in terms of accuracy and speed, whilst giving users the chance to use any model of their choice.\n\n<p align=\"center\">\n <img src=\"https://github.com/ahmedheakl/drone-vis/blob/master/imgs/dronevis-models-comparison.png?raw=true\">\n</p>\n\n### Drone Control\n\n- Right \u27a1\ufe0f, Left :arrow_left:\n- Up \u2b06\ufe0f, Down :arrow_down:\n- Forward \u25b6\ufe0f, Backward \u25c0\ufe0f\n- Takeoff \ud83d\ude80, Land \ud83d\udeec\n- Reset \ud83d\udd04, Emergency \ud83d\udea8\n- Rotate Left \u21a9\ufe0f /Right :arrow_right_hook:\n- Hover \ud83d\udd0d, Calibrate \ud83d\udd27\n- Camera Stream \ud83d\udcf9/Record \u23fa\ufe0f\n- Hand Gesture Control \ud83d\udd8c\ufe0f\n\n\n## How to Install \n\n<details>\n <summary>Install PyTorch</summary>\n You should consider installing the version of <a href=\"https://pytorch.org/get-started/previous-versions/\">Pytorch</a> that corresponds to your cuda version.\n</details>\n\nYou start controling your drone now with just two commands:\n\n```bash\npip install dronevis # install the library \ndronevis-gui # run library GUI\n```\n\nPress the ``start`` button to start a demo drone simulation, and run your favourite algorithms with the ``stream`` button.\n\n<p align=\"center\">\n<img src=\"https://github.com/ahmedheakl/drone-vis/blob/master/imgs/dronevis-gui.jpeg\" width=700>\n</p>\n\nYou can control your drone with our ``CLI``:\n```bash\ndronevis\n```\n\n<p align=\"center\">\n<img src=\"https://github.com/ahmedheakl/drone-vis/blob/master/imgs/dronevis-cli.png\" width=400>\n</p>\n\n## Getting Started \n\nDronevis is built with multiple modes for customizibility. You can view all the options for either runnning our ``GUI`` or ``CLI`` as follows: \n\n```bash\ndronevis --help\n```\n\n<p align=\"center\">\n<img src=\"https://github.com/ahmedheakl/drone-vis/blob/master/imgs/dronevis-cli-help.png\" width=500>\n</p>\n\nThe 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.\n\n```bash\ndronevis --drone=real # cli real drone mode\n```\n\nor for GUI,\n\n```bash\ndronevis-gui --drone=real # gui real drone mode\n```\n\n## Documentation \n\nDronevis is developed with an extensive documentation for easier user contributions. You can check our full documentation in [here](drone-vis.readthedocs.io/en/latest) to go more in-depth of **how the library is structure** and **how to contribute your favourite model**. \n\n\n\n## Citing the Project\n\nTo cite this repository:\n\n```bibtex\n@software{drone-vis,\n author = {Ahmed Heakl, Fatma Youssef, Abdallah-Elbarkokry},\n title = {Dronevis: Full compatible drone library to automate computer vision algorithms on parrot drones},\n year = {2023},\n url = {github.com/ahmedheakl/drone-vis},\n version = {1.3.0}\n}\n```\n",
"bugtrack_url": null,
"license": "",
"summary": "Full compatible drone library to automate computer vision algorithms on parrot drones.",
"version": "1.3.0",
"project_urls": {
"repository": "https://github.com/ahmedheakl/drone-vis"
},
"split_keywords": [
"drone",
"computer vision",
"human tracking",
"object recognition",
"yolo",
"human counting",
"face detection",
"mediapipe",
"pytorch",
"sockets",
"thread"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "2ecf4603381ee13dae5ed6d890894474cc43d4ff8147b9d1511370b9f02aafe5",
"md5": "da669475dca2685b30f02d60d989dd63",
"sha256": "3e3b726550120240209bbdcbbfdea80f370b4d03d664e1c1c76d01bea1a9829b"
},
"downloads": -1,
"filename": "dronevis-1.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "da669475dca2685b30f02d60d989dd63",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 96226,
"upload_time": "2023-10-20T22:14:42",
"upload_time_iso_8601": "2023-10-20T22:14:42.696814Z",
"url": "https://files.pythonhosted.org/packages/2e/cf/4603381ee13dae5ed6d890894474cc43d4ff8147b9d1511370b9f02aafe5/dronevis-1.3.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2967c9eddda0147b592657805c9382a3f8d7253dbcf0288fbba33cb675bd2ab7",
"md5": "714ddbf2875c946c6e96dc8ac626f983",
"sha256": "13e8d05b2cc2b72c30a2c02ccf00992e27ef011db714ef3804b548fe50ff3086"
},
"downloads": -1,
"filename": "dronevis-1.3.0.tar.gz",
"has_sig": false,
"md5_digest": "714ddbf2875c946c6e96dc8ac626f983",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 74373,
"upload_time": "2023-10-20T22:14:44",
"upload_time_iso_8601": "2023-10-20T22:14:44.412964Z",
"url": "https://files.pythonhosted.org/packages/29/67/c9eddda0147b592657805c9382a3f8d7253dbcf0288fbba33cb675bd2ab7/dronevis-1.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-10-20 22:14:44",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ahmedheakl",
"github_project": "drone-vis",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"requirements": [],
"lcname": "dronevis"
}