OTT Face Recognition
Running Face recognition on an OTT device




Overview


In this project we explored the possibility of running Face Recognition neural networks on OTT devices. A trained Deep Neural Network with 13 ResNet layers was used to create "Face Embeddings". These embeddings were then used to recognize the faces in a database of known faces.

Any IP camera can be used to stream live video to an Android TV. We developed an Android app that receives the video stream, feeds images to the face recognition DNN to extract the face embeddings, and finds the closest face from a database of known faces.

The face recognition in a real application, involves many steps. The following block diagram summarizes how this was implemented in this Android TV app. A block diagram of Face Recognition Process There are many applications for the face recognition technology running on an OTT box. We explored 2 different application and created prototype implementation for both.

Home Security


In the first application, we developed a prototype home security application where a background Android app keeps receiving video streams from IP security cameras, running face recognition, and creating notifications when an unknown face is recognized. The following video demonstrates this.

Smart OTT Services


For the second application, we explored the ways this technology can be used to improve user experience when using OTT devices at home. For example, we could automatically pause the video when there is no audience (No face detected) and resume it when the faces are detected again. As another use case, we can switch the user profile when a different person is recognized as the only audience of the OTT box. The following video demonstrates the prototype Android TV app that we developed for these use cases and more.