You are on page 1of 26

Face recognition system using

Containers for Embedded Devices on a


customized Operating System

- Akash Dhus (71701962E)


- Asit Joshi (71701849M)
- Vivek Chavan (71702005D)
- Nihal Gujar (B1621119)

Project Guide: Mrs. Shanti Guru


Project Co-Guide: Mr. Vivek Patil
GROUP 11 BE PROJECT 2K19-20
Problem Statement:
Implement a face recognition system using containers for
embedded devices on a customized operating system.

Motivation:
• AI application is environment dependent
• Developers need to build dependencies
• Time consuming and cost inefficient
• Scalable and affordable infrastructure is needed
• Our system is a solution to this problem
Proposed Work:

• The docker system being highly stable is designed to deliver container images for
particular applications through a debian platform operating system and embedded
device which provides operating system platform independency, improved file
performance , optimal memory utilization , enhanced application performance
regardless of the base operating system on which it was built, easy portability and
deployment of the application from user to user.

Whole System Plan


Scope:

• Building a minimal operating system with a low


footprint
• Building a container and deployment of this container
on the operating system.
• Training a model for face recognition.
• Building a face recognition application.
• Deployment of the application in the container.
Architecture
Requirement analysis:
Hardware requirements :-
1. Development boards:
- Raspberry pi 3/4
2. HDMI supported monitor
3. Camera : Min 5 megapixel

Software requirements:-
4. GNU Linux
5. Docker
6. Tensorflow
7. Python 3.x
Why Docker?
• Uses containers to create virtual environments
• TensorFlow programs are run within this virtual environment 
• Simplifies the Developer Experience
• Ideal for developers and teams looking to get started and
experimenting with container-based applications.
• Docker Containers Are Everywhere: Linux, Windows, Data
center, Cloud, Serverless, etc.
What are containers and why do we need
them?
• A standardized unit of software
• Package Software into Standardized Units for Development,
Shipment and Deployment
• Leading companies rely on the container platform to build,
manage and secure all their applications
• A containerized application:
SDLC Model : Iterative development
process
• Initial and simplified
implementation
• Progressively gains more
complexity and a broader
feature set
• Incremental alterations are
made
• Rigorous validation of
requirements, and verification
(including testing) of each
version is done
Design:

Usecase Diagram
Activity
Diagram
Client Use
Case
Diagram
State
Machine
Diagram
Component
Diagram
Sequence Diagram
Building of Operating System
Components of an OS :

• Bootloader
• Kernel
• Rootfs
• Device tree
• Window Manager
• Desktop Environment
Tools used for building OS
• Buildroot
• Yocto
Implementing Docker and Container
In our system, steps to set up the docker environment and
building containers are:

1) Install a maintained version of Docker.

2) Install dependencies on container.

3) Build an image and run it as one container.

4) Deploy face recognition application on this container.


Algorithm Used for Application
MTCNN (Multi-task Cascaded Convolutional
Neural Networks) is an algorithm consisting of
3 stages, which detects the bounding boxes of
faces in an image along with their 5 Point Face
Landmarks
Identify, crop and align face
Generate Embeddings
What is embedding?

• Multidimensional numerical vector

• Represents the unique identity of the face.

Compare Embeddings

• Using the Euclidian Distance formula the distance is


measured.
Future Scope:

As a future enhancement, we can do the following things.


• Can automate the entire system
• Keeping more than one application in the docker
Conclusion:
• Rework of building dependencies for application is avoided and
reduced at certain level
• The same application can be deployed on another system
without repeating the process
• It will eventually help the developer to build application in an
efficient way
References :

• IEEE paper “Joint Face Detection and Alignment using Multi-task


Cascaded Convolutional Neural Networks” by K. Zhang and Z. Zhang
and Z. Li and Y. Qiao.

• IJCSNS, An Introduction to Docker and Analysis of its Performance by


Babak Bashari Rad, Harrison John Bhatti ,Mohammad Ahmadi

• The Docker Book: Containerization is the new virtualization by James


Turnbull

• https://www.pytorials.com/face-detection-matching-using-facenet/

You might also like