All Projects → durner → Yolo Autonomous Drone

durner / Yolo Autonomous Drone

YOLO Autonomous Drone - Deep Learning Person Detection: The YOLO Drone localizes and follows people with the help of the YOLO Deep Network

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Yolo Autonomous Drone

Tensorflow Yolo V3
Implementation of YOLO v3 object detector in Tensorflow (TF-Slim)
Stars: ✭ 862 (+1386.21%)
Mutual labels:  yolo
Tensornets
High level network definitions with pre-trained weights in TensorFlow
Stars: ✭ 982 (+1593.1%)
Mutual labels:  yolo
Yolo 9000
YOLO9000: Better, Faster, Stronger - Real-Time Object Detection. 9000 classes!
Stars: ✭ 1,057 (+1722.41%)
Mutual labels:  yolo
Yolo Coreml Mpsnngraph
Tiny YOLO for iOS implemented using CoreML but also using the new MPS graph API.
Stars: ✭ 866 (+1393.1%)
Mutual labels:  yolo
Yolo Vehicle Counter
This project aims to count every vehicle (motorcycle, bus, car, cycle, truck, train) detected in the input video using YOLOv3 object-detection algorithm.
Stars: ✭ 28 (-51.72%)
Mutual labels:  yolo
Gender Age Classification
gender/age classification
Stars: ✭ 39 (-32.76%)
Mutual labels:  yolo
Pytorch Yolo2
Convert https://pjreddie.com/darknet/yolo/ into pytorch
Stars: ✭ 941 (+1522.41%)
Mutual labels:  yolo
Eyantra drone
Metapackage to control the edrone via services and topics -https://www.youtube.com/watch?v=M-RYyMyRl9g
Stars: ✭ 57 (-1.72%)
Mutual labels:  drone
Yolov2.pytorch
YOLOv2 algorithm reimplementation with pytorch
Stars: ✭ 31 (-46.55%)
Mutual labels:  yolo
Fmt firmware
Embedded Code of FMT Autopilot
Stars: ✭ 49 (-15.52%)
Mutual labels:  drone
Pytorch Caffe Darknet Convert
convert between pytorch, caffe prototxt/weights and darknet cfg/weights
Stars: ✭ 867 (+1394.83%)
Mutual labels:  yolo
People Counter
This project counts number of people coming in and going out of structures such as building, stores,etc. based on tripline crossing.
Stars: ✭ 20 (-65.52%)
Mutual labels:  yolo
Yolo Object Detection Tensorflow
YOLO: Real-Time Object Detection using Tensorflow and easy to use
Stars: ✭ 45 (-22.41%)
Mutual labels:  yolo
Swarms
The ultimate node.js library for controlling Bitcraze Crazyflie 2.0 drones
Stars: ✭ 11 (-81.03%)
Mutual labels:  drone
Drone Slack
Drone plugin for sending Slack notifications
Stars: ✭ 52 (-10.34%)
Mutual labels:  drone
Mavigator
Virtual cockpit for UAVs
Stars: ✭ 8 (-86.21%)
Mutual labels:  drone
Telloterm
A functioning desktop testbed for flying the Ryze Tello drone via the Go tello package.
Stars: ✭ 37 (-36.21%)
Mutual labels:  drone
Easytello
An easy to use library to support DJI Tello scripting in Python 3
Stars: ✭ 58 (+0%)
Mutual labels:  drone
Imagenet
Trial on kaggle imagenet object localization by yolo v3 in google cloud
Stars: ✭ 56 (-3.45%)
Mutual labels:  yolo
Yolo tensorflow
🚖 Object Detection (YOLOv1) implentation in tensorflow, with training, testing and video features.
Stars: ✭ 45 (-22.41%)
Mutual labels:  yolo

YOLO Autonomous Drone - Deep Learning Person Detection

The YOLO Drone localizes and follows people with the help of the YOLO Deep Network. Often, more than just one person might be in the picture of the drone’s camera so a standard deep learning people/body recognition cannot deliver sufficient results. This is why we chose the color of the shirt worn by the respective person to be a second criterion. Hence, we require the "operator" of the drone to wear a shirt with a distinct yellow color. This turns out to be a suitable solution to the aforementioned problem.

Requirements

To run this project Keras and Theano are needed for the deeplearning part. Furthermore, a working libardrone must be installed. For shirt detection opencv must be installed on the system.

Requirements list (+ all dependencies!) (python2.7):

YOLO Network

For the YOLO network we tweaked the original implementation of https://github.com/sunshineatnoon/Darknet.keras. To run the Network with pretrained weights we suggest to use http://pjreddie.com/media/files/yolo-tiny.weights.

Run the project

If you have all requirements as defined above you can simple run the project by entering:

$ python drone.py

This contains the main file of the drone. Please make sure that you have an active connection to the drone via wifi.

Switching between interfaces

If you want to switch between autonomous and manual flight you can simply change the main definition of drone.py by flipping the manual argument

def main():
    drone = YOLODrone(manual=False)
    drone.start()

Autonomous Interface

Detection 1 Detection 2

As already described, the drone is looking for persons. The interface marks persons / groups of persons with red boxes. Additionally, a yellow t-shirt determines the real operator of the drone which is also highlighted in the interface. If more than one person wears a yellow shirt in the picture, the drone chooses the red box (person) that has the highest amount of yellow in them and continues to follow this particular person.

Manual Interface

If you don't press any key the drone will hover at its position. Use following keys to control the drone.

Key Function
t takeoff
(space) land
w move forward
s move backward
d move right
a move left
8 move up
2 move down
e turn right
q turn left
c stop flight

Contributers

Upstream Repository

The current master of this project can be found at https://github.com/durner/yolo-autonomous-drone

Files

  • drone.py : Main file of the project. Includes the manual interface, the glue code to the autonomous interface between YOLO Network and Actuators. All multithreading and OpenCV pre-processing is handled.
  • PID.py : simple PID controller interface to easily control the movements of the drone (incl. smoothing of the movements).
  • YOLO.py : Set up of the YOLO Deep network in python. The subfolder utils include further needed files for the YOLO net.
  • actuators.py : With the help of the localized operator the actuators calculate how the drone needs to move to center the operator and follow him. Uses PID controllers for calculating the movements.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].