Deep Learning in Practice III: Face Recognition

Get started with face recognition using MTCNN and FaceNet with Tensorflow and Keras

About the course

What you’ll learn

  • Recognize the fundamentals of face recognition systems.
  • Extract a face using MTCNN in Python.
  • Create the face embedding using FaceNet in Tensorflow and Keras.
  • Identify the identity of a person from his face.

Course Content

  • Introduction –> 2 lectures • 5min.
  • Face Recognition: Concepts and Theoretical Background –> 15 lectures • 52min.
  • Hands-on I: Create a face embedding using FaceNet in TF Keras –> 17 lectures • 32min.
  • Hands-on II: Recognize a face in an image –> 3 lectures • 12min.
  • Develop your face recognition system –> 0 lectures • 0min.

Deep Learning in Practice III: Face Recognition


  • Be familiar with Python programming language..

About the course

Welcome to the course on Deep Learning in Practice III on Face Recognition. I am Anis Koubaa, and I will be your instructor in this course.

This course is the third course in the series Deep Learning in Practice. It provides a fast and easy-to-follow introduction to face recognition with deep learning using MTCNN for face extraction and FaceNet for face recognition. My two previous courses deal with object classification and transfer learning with Tensorflow and Keras.

In this course, you will learn the whole loop of face recognition systems, which starts by extracting the face from an image and localize the face in an image by its bounding box, then we process the extracted face through a convolutional neural network, called FaceNet in our case, to create a fingerprint of the face, which we call face embedding. The face embedding can be stored in a database so that they are compared with other face embeddings to identify the person of interest.

In this course, you will have a step-by-step introduction to this whole loop and I will show you how you can develop a Python application that performs the aforementioned operations. Exciting, right?


Why the course is important?

This course is important due to the importance of face recognition systems in real-world applications. These systems are fast-growing and are used in several applications such as surveillance systems, face access systems, and biometric identification.

In this course, you will get introduced to face recognition systems both from a theoretical and practical perspective, which will allow you to develop your own projects using face recognition in Python.

The motivation behind the course is that there is a lack of resources to get quickly started with the topic. So taking this course, will save you tons of time looking for scattered references over the Internet and will get you much quicker into the field.


What’s worth?

This course provides fast yet comprehensive coverage of face recognition systems that would let you go from Zero to Hero.

I first start with presenting the fundamental concepts of face recognition systems and how deep learning models for face embedding are trained and produced.

Then, I provide a hands-on introduction to face recognition using MTCCN for face extraction and FaceNet for face recognition all with Python programming language. Tensorflow and Keras APIs will be used to load the FaceNet model. I provide a Jupiter notebook that you will use as a guide in the lecture to follow and write the code so that you apply as you learn.

At the end of this course, I guarantee that you will understand the whole loop of face recognition systems and you will be able to develop your application and integrate it into your project.



To take the most benefit from this course, you just need to know about Python programming.

Having a basic understanding of deep learning and TensorFlow would be a plus, but it is not mandatory.

In any case, you may refer to my two courses: Deep Learning in Practice I and II for a basic practical introduction to deep learning.


Welcome to the course and I wish you a pleasant learning experience.

Let’s get started.


About me

I am Anis Koubaa, and I am working as a Full Professor in Computer Science and Leader of Robotics and Internet-of-Things Lab at Prince Sultan University

I am the author of two best-seller courses on Deep Learning and also Robot Operating System (ROS),

and this course is the third course in the series Deep Learning in Practice, which deals with face recognition systems.

The series deep learning in practice intends to present advanced deep learning topics in a very easy manner to beginners users who would like to get started with hands-on projects in deep learning in a minimum amount of time.

The two previous courses were dealing with object classification and transfer learning projects.

Get Tutorial