We may earn an affiliate commission when you visit our partners.
酒井 潤 (Jun Sakai) and Sara Freixas

As you may know, robot technology is now very advanced. As an engineer working in one of the top IT companies in Silicon Valley for over 12 years, I feel that the trend to replace humans with robots will continue for quite a long time

In this course, we will be going to learn the following, using a toy drone that can fly indoors.

-Drone operation using Python

-Face recognition with OpenCV using the drone camera

-Web framework and web camera

-Automatic tracking

-Drone flight game (shake your smartphone)

Read more

As you may know, robot technology is now very advanced. As an engineer working in one of the top IT companies in Silicon Valley for over 12 years, I feel that the trend to replace humans with robots will continue for quite a long time

In this course, we will be going to learn the following, using a toy drone that can fly indoors.

-Drone operation using Python

-Face recognition with OpenCV using the drone camera

-Web framework and web camera

-Automatic tracking

-Drone flight game (shake your smartphone)

Starting off with a toy drone will be a great way to start off your robot programming experience while you get used to Python. This is also an easy and fun way for your children to start coding. Now, let's get started with drone programming and be ahead of the robot technology trend.

Enroll now

What's inside

Learning objectives

  • Remote automatic drone operation using python
  • Face recognition programming using opencv
  • How to implement a web camera app using flask's web framework
  • Automatic tracking using face recognition with drone camera

Syllabus

Introduction to the course
Why Python and Drone programming?
What you need for this course
Notes before going into this course
Read more
Prior knowledge
Operate your drone with an app
Block programming your drone
Play drone games using scratch
Environment settings
Setup Python Development Environment on Mac
Setup Python Development Environment on Windows
Source code for this course
Download the source codes
OpenCV
Install OpenCV on Mac
Install OpenCV on Windows
Use OpenCV for face recognition
Face recognition with an image
Face recognition with video
Remote control your drone
Tello document and SDK
Takeoff and Landing
Receiving response from the drone
Manage the drone to fly
Manage the drone speed
Manage the drone to rotate
Manage the drone to flip
Program the drone to patrol
Creating the drone app framework
Installing packages
Config
Setting Flask
jQuery and jQuery mobile
Creating the Index page
Extending the layouts
Using POST to send commands to the back end
Adding command buttons
Singleton
Tracking with face recognition using your drone cam
Manage drone with WEBUI
Live stream from your drone camera
Stream video on the web cam
Face recognition with drone camera
Tracking with drone camera
Snapshot from the drone cam
Creating a Drone Game
Shake Game Overview
Creating the course class
Display the course
Fly the drone on the course
Receive shake event from your smart phone
Smartphone Shake Game
Updating your codes

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Provides a gentle introduction to drone programming using a toy drone, making it accessible for beginners and children to learn coding concepts in a fun and engaging way
Employs Python, a widely-used language, for drone operation, face recognition, and web framework development, allowing learners to leverage their existing Python knowledge in a robotics context
Integrates OpenCV for face recognition, enabling learners to explore computer vision applications with drone cameras, opening doors to exciting projects in autonomous tracking and interactive drone experiences
Utilizes Flask, jQuery, and jQuery Mobile to create a web-based interface for drone control, offering web developers a practical application of their skills in robotics and embedded systems
Covers drone control, speed management, rotation, and automated patrol programming, providing learners with a comprehensive understanding of drone behavior and autonomous navigation
Employs older libraries such as jQuery and jQuery Mobile, which may require learners to adapt their knowledge to more modern web development practices and frameworks

Save this course

Save Drone Programming with Python - Face Recognition & Tracking to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Drone Programming with Python - Face Recognition & Tracking with these activities:
Review Python Fundamentals
Strengthen your understanding of Python syntax, data structures, and control flow. This will make understanding the drone control scripts much easier.
Browse courses on Python Basics
Show steps
  • Review basic Python syntax and data types.
  • Practice writing simple Python scripts.
  • Work through online Python tutorials.
Brush up on OpenCV Basics
Familiarize yourself with basic image processing techniques using OpenCV. This will help you grasp the face recognition and tracking concepts more quickly.
Browse courses on OpenCV
Show steps
  • Review OpenCV documentation and tutorials.
  • Experiment with basic image manipulation functions.
  • Practice loading, displaying, and saving images.
Read 'Programming Drones with Python'
Supplement your learning with a dedicated book on drone programming. This will provide a broader context and deeper understanding of the concepts covered in the course.
Show steps
  • Obtain a copy of 'Programming Drones with Python'.
  • Read the chapters relevant to drone control and image processing.
  • Experiment with the code examples provided in the book.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Practice Face Detection with OpenCV
Reinforce your understanding of face detection by implementing it yourself. This hands-on practice will solidify your knowledge of OpenCV and face recognition algorithms.
Show steps
  • Find sample code for face detection using OpenCV.
  • Modify the code to work with different video sources.
  • Experiment with different face detection parameters.
Build a Simple Drone Control App
Apply your knowledge by building a basic drone control application. This project will integrate Python, OpenCV, and drone SDKs, providing a practical learning experience.
Show steps
  • Design the user interface for your drone control app.
  • Implement the drone control functions using the drone SDK.
  • Integrate OpenCV for basic video streaming.
  • Test and debug your drone control app.
Write a Blog Post on Drone Face Tracking
Deepen your understanding by explaining the concepts of drone face tracking in a blog post. This will force you to organize your thoughts and communicate your knowledge effectively.
Show steps
  • Research the different methods for drone face tracking.
  • Outline the key concepts and steps involved.
  • Write a clear and concise blog post explaining the process.
  • Include code snippets and examples to illustrate your points.
Contribute to a Drone-Related Open Source Project
Enhance your skills by contributing to an open-source project related to drone programming. This will expose you to real-world coding practices and collaborative development.
Show steps
  • Find an open-source project related to drone programming.
  • Identify a bug or feature that you can contribute to.
  • Submit a pull request with your changes.
  • Respond to feedback and revise your code as needed.

Career center

Learners who complete Drone Programming with Python - Face Recognition & Tracking will develop knowledge and skills that may be useful to these careers:
Drone Software Engineer
A drone software engineer is responsible for creating and maintaining the software that controls drone operation. This includes developing drone control systems, integrating sensors, and implementing algorithms for autonomous flight. This course directly focuses on remote automatic drone operation using Python, including face recognition and tracking. The course offers hands-on experience crucial for a drone software engineer. Furthermore, the concepts in this course offer opportunities to gain practical experience in controlling and programming drones, a key skill in the field.
Robotics Engineer
A robotics engineer designs, develops, and tests robots for various applications, and this course provides a great introduction. This role often involves programming, integrating different hardware components, and implementing algorithms for robot control and perception. The course's focus on drone operation using Python, face recognition, and automatic tracking are directly relevant to the work of a robotics engineer. A student taking this course will learn the fundamentals of drone programming and apply face recognition and web technologies using Python to control robots. This course is useful for anyone beginning their robotics career, including learning how to handle remote operations, use video feeds, and implement tracking behaviors.
Embedded Systems Engineer
Embedded systems engineers work on designing, developing, and testing embedded systems, which are computer systems integrated within devices like drones. This role involves programming microcontrollers, interfacing with hardware, and developing real-time software. The drone programming, and control systems skills taught by the course are directly relevant to this role. The course will help build a foundation for managing remote operations, processing real-time data from the drone’s sensors using Python, and using web interfaces to control hardware. An embedded system engineer would find the real-world experience of integrating software with a physical drone very useful.
Computer Vision Engineer
A computer vision engineer develops algorithms and systems that enable computers to interpret and understand visual information. Skills in the course like face recognition with OpenCV, and the implementation of tracking with a drone camera are directly applicable to this job. This role involves processing images and video feeds, implementing object detection and tracking, and building applications that use visual input. The course will provide experience in these areas using a real world application like a drone. A computer vision engineer will benefit from the course's hands-on approach to face recognition, video processing, and real-time tracking techniques with an emphasis on using cameras.
Software Developer
Software developers design and create software applications, and the course offers a way to learn or improve programming skills in Python, with a focus on controlling drones. This job involves tasks such as writing code, debugging, and testing software. This course provides an opportunity to apply coding skills in a robotics context, emphasizing web-based programming, object-oriented programming, and managing a live video feed. A software developer will also improve their ability to implement software for real-time applications and remote control.
Autonomous Vehicle Engineer
An autonomous vehicle engineer develops software and systems that enable vehicles to operate without human intervention, and this course provides an introduction to these concepts with a drone. The job often involves path planning, object detection, and control systems, some of which are covered in the course. Specifically, the course provides relevant experience in implementing face recognition and tracking, and controlling a robotic vehicle using a web interface. This course may be helpful in introducing tracking and remote control of an autonomous vehicle, as it can be applied to other vehicles beyond drones.
Web Application Developer
A web application developer focuses on creating interactive and responsive web applications, and this course offers experience with relevant web-programming practices. This role involves coding using web frameworks, managing back-end logic, and ensuring a good user experience. The course's use of Flask for web framework development, jQuery, and implementation of web camera feeds can directly translate to a web application developer's work. This course may be helpful in seeing how to stream video and use web interfaces to control real world hardware, which is an important skill for full stack web developers.
Automation Engineer
An automation engineer designs, develops, and implements automated systems. The work involves programming, system integration, and ensuring efficient operation of automated processes. The course's focus on automatic tracking, drone operation via Python, and use of web frameworks provides practical experience in automation that may be helpful in this field. An automation engineer can use the course to improve skills in Python, and remote control systems using web interfaces and cameras. The course's hands-on experience of remotely using a drone can help to translate to other automation processes.
Research Scientist
A research scientist investigates new scientific principles, or technologies, and this course may be helpful for those who wish to apply such research to robotics. This job involves designing experiments, collecting and analyzing data, and publishing findings. The course provides experience with using OpenCV, and implementing face recognition and tracking techniques, and collecting data from a camera feed. This course may be useful for getting hands-on experience, and collecting data for research in robotics, computer vision, or autonomous systems. While a research scientist typically needs a doctorate, this course can be helpful for building foundational skills.
Hobbyist
A hobbyist pursues activities for leisure and enjoyment, and this course may be interesting for hobbyists who are interested in robotics, drones, and programming. This course provides a fun introduction to drone programming with Python. The curriculum of building drone applications using face recognition and web frameworks may be appealing to those with a variety of technical interests, leading to creative projects. A hobbyist may find the hands-on approach to programming a drone using python to be a fun and interesting project.
Educator
An educator teaches students in a variety of academic settings. This course may be helpful for those educators who want to teach or develop curriculum in robotics or computer science. The course's focus on drone programming with Python, face recognition, and web frameworks may be useful for educators who wish to introduce their students to these topics. An educator who has taken this course may be better equipped to teach these subjects to their students, with the first-hand experience of building drone applications.
Project Manager
A project manager oversees the planning, execution, and completion of specific projects. While this course does not directly teach project management, it may be helpful for understanding the technologies involved in robotics projects, especially if the project involves drone programming or computer vision. Familiarity with the tasks of programming drones, and implementing face recognition, can assist in managing technical teams. This course may be useful for those who oversee projects related to robotics, giving a project manager crucial exposure to the technical details of a project.
Technical Sales Specialist
A technical sales specialist sells sophisticated products or services, requiring deep technical knowledge and the ability to explain complex topics to customers. The course's focus on drone operation using Python, face recognition, and automatic tracking may be useful. A technical sales specialist that has taken this course may have direct experience in the technologies they are selling, which can make them more effective. This course may help a sales specialist better understand a product that involves drone technology.
Technical Consultant
A technical consultant provides expert advice to clients on IT and technology-related matters. A consultant who has taken this course may be able to provide more helpful and specific advice for those developing or working with drones or robotics. A consultant may provide advice on topics covered in the course such as drone programming, face recognition using OpenCV, and other robotics and web technologies. This course may be helpful for understanding the technology and specific challenges faced when implementing robotics.
Data Analyst
Data analysts interpret data to identify trends and insights that can improve business operations, and this course may be helpful for getting better context on the data generated by visual equipment, such as drones. This job involves analyzing data sets, generating reports, and creating visualizations. While the course does not teach data analysis techniques directly, it may be helpful for understanding the data that can be collected with a drone. A data analyst who has taken this course will better understand how to work with visual data feeds, and the kind of information they can capture.

Reading list

We've selected one books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Drone Programming with Python - Face Recognition & Tracking.
Provides a comprehensive guide to drone programming using Python. It covers various aspects of drone control, image processing, and computer vision, which are directly relevant to the course. While not required, it serves as a valuable resource for deepening your understanding and exploring advanced topics. It is useful as additional reading.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser