Oodp Project Report
Oodp Project Report
PROJECT REPORT
Submitted by
SIDDARTH RA2311027020050
Under the guidance of
Mrs. AISHWARYA
(Assistant Professor, Department of Computer Science
and Engineering)
II SEMESTER/I YEAR
1
SRM INSTITUTE OF SCIENCE AND TECHNOLOGY
(Deemed to be University U/S 3 of UGC Act, 1956)
BONAFIDE CERTIFICATE
Certified that this project report titled FACE RECOGNITION SYSTEM is the bonafide
work of SYED SHAHABUDEEN (RA2311027020043), NAVEED FARHAN
(RA2311027020047) and SIDDARTH (RA2311027020050), who carried out the
project work under my supervision. This project work confirms to 21CSC101T
/Object Oriented Design and Programmig, II Semester, I year, 2024.
SIGNATURE
Mrs.AISHWARYA
Assistant Professor
Computer Science and Engineering,
SRM Institute of Science and Technology,
Ramapuram, Chennai.
2
SRM INSTITUTE OF SCIENCE AND TECHNOLOGY
RAMAPURAM, CHENNAI
DECLARATION
We hereby declare that the entire work contained in this project report titled
“FACE RECOGNITION SYSTEM” has been carried out by SYED SHAHABUDEEN (REG
NO:RA2311027020043), NAVEED FARHAN (REG NO: RA2311027020047), SIDDARTH (REG
3
INTRODUCTION
Imagine a program that can identify your friends in a video call, or unlock
your phone with a simple glance! This is the power of face recognition
technology.
In this C++ project, you'll be venturing into the exciting realm of computer
vision by building a face recognition system. You'll use powerful libraries
like OpenCV to accomplish this feat.
As you progress through this project, you'll delve into algorithms that make
this magic happen. You'll be working with concepts like:
This project is a gateway to the fascinating world of computer vision and its
applications. Are you ready to take on this challenge and build your own
face recognition system?
4
PROBLEM STATEMENT
In the era of digital security, there is a growing need for robust and efficient
biometric authentication systems. Traditional methods like passwords and
PINs are vulnerable to security breaches and do not provide the level of
assurance required for sensitive applications. Face recognition technology
offers a non-intrusive and user-friendly solution but comes with its own set
of challenges, such as varying lighting conditions, different facial
expressions, and obstructions.
Requirements:
● The system must use a live video feed from a webcam to detect and
recognize faces in real-time.
● Implement an efficient algorithm for face detection that can quickly
locate faces within the video feed.
● Utilize a robust face recognition algorithm that can handle variations
in facial expression, lighting, and minor obstructions.
● The system should have a high accuracy rate for face recognition, with
minimal false positives and negatives.
● Develop a user-friendly interface for the system that allows for easy
enrollment of new faces into the database.
● Ensure the system operates efficiently, with a quick response time
that does not hinder the user experience.
● Incorporate security measures to prevent unauthorized access and
5
tampering with the face database.
Challenges:
This problem statement sets the stage for developing a sophisticated face
recognition system that could be used in a variety of applications, from
security systems to user authentication protocols. Good luck with your
project!
OBJECTIVE
This objective encapsulates the ambition to create a system that is not only
6
technologically advanced but also user-centric and adaptable to various
real-world scenarios. It’s designed to push the boundaries of what’s
possible with face recognition technology.
7
3. Accessibility: It opens up new possibilities for accessibility, allowing
individuals with physical disabilities to access services and devices
more easily.
4. Smart Home Integration: The system can be a key component in
smart home technology, enabling personalized settings and security
based on the recognized individual.
5. Retail and Marketing: In the retail sector, face recognition can offer
personalized shopping experiences and targeted advertising.
6. Healthcare: In healthcare, it can ensure patient privacy and security
by accurately identifying individuals for access to medical records and
facilities.
7. Law Enforcement: It can aid law enforcement by quickly identifying
individuals in crowds or at crime scenes.
8. Banking and Finance: The banking sector can use it to enhance the
security of transactions and customer interactions.
9. Research and Development: The system’s development will
contribute to the field of computer vision and machine learning,
pushing forward the boundaries of what’s achievable.
10. Cross-Platform Compatibility: Designed in C++, the system can
be made compatible with various operating systems and hardware,
increasing its applicability.
The scope of this project is not only technologically intriguing but also
socially impactful, as it can revolutionize the way we interact with our
devices and each other. It’s a step towards a more secure and personalized
future.
EXISTING SYSTEM
8
The existing systems for face recognition in C++ are quite diverse and have
evolved significantly over time. Here’s an overview of some of the current
systems and technologies:
DeepFace by Facebook:
FaceNet by Google:
9
● Accuracy: Scores 99.25% on the LFW dataset and 95.12% on the YFD
dataset.
PROPOSED SYSTEM
The proposed system for a face recognition system using C++ aims to
incorporate the latest advancements in technology to enhance accuracy,
speed, and adaptability. Here’s an outline of the proposed system:
MODULES DESCRIPTION
11
A face recognition system can be divided into several modules, each
responsible for a specific part of the process. Here’s a description of the
typical modules you might find in a C++ face recognition system:
2. Preprocessing Module:
12
○ Noise Reduction: Applies filters to remove noise from images.
5. Database Module:
13
sets.
○ Machine Learning Algorithms: Employs algorithms like
Support Vector Machines (SVM) for classification.
7. Post-Processing Module:
Creating UML diagrams for a face recognition system involves several types
of diagrams to represent different aspects of the system. Here are
descriptions of some key UML diagrams that would be part of such a
project:
1. Class Diagram:
14
● Purpose: Represents the static structure of the system by showing
system classes, their attributes, methods, and the relationships
between the classes.
● Components: Includes classes like Camera, ImageProcessor,
FaceDetector, FeatureExtractor, DatabaseManager, and
UserInterface.
3. Sequence Diagram:
4. Activity Diagram:
5. Component Diagram:
6. Deployment Diagram:
These diagrams would be created using UML tools and would provide a
comprehensive visual representation of the face recognition system’s
architecture, interactions, and processes. They are essential for planning,
designing, and documenting the system.
17
void detectAndDraw( Mat& img, CascadeClassifier& cascade,
CascadeClassifier& nestedCascade,
double scale)
{
vector<Rect> faces, faces2;
Mat gray, smallImg;
18
rectangle( img, cvPoint(cvRound(r.x*scale),
cvRound(r.y*scale)),
cvPoint(cvRound((r.x + r.width-1)*scale),
cvRound((r.y + r.height-1)*scale)), color, 3, 8,
0);
if( nestedCascade.empty() )
continue;
smallImgROI = smallImg( r );
CONCLUSION
20