0% found this document useful (0 votes)
91 views

Report C++ Project Face Detection

This document describes an experiential learning project on face detection using C++ submitted by 9 students to the Department of Computer Science and Engineering at C.V. Raman Global University. The project was guided by Anjana Mishra and uses OpenCV and Haar classifiers to detect faces in images and video in real-time. The students implemented the face detection system using Visual C++ and explored its advantages, limitations, and potential future applications.

Uploaded by

Pratik Sahu
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
91 views

Report C++ Project Face Detection

This document describes an experiential learning project on face detection using C++ submitted by 9 students to the Department of Computer Science and Engineering at C.V. Raman Global University. The project was guided by Anjana Mishra and uses OpenCV and Haar classifiers to detect faces in images and video in real-time. The students implemented the face detection system using Visual C++ and explored its advantages, limitations, and potential future applications.

Uploaded by

Pratik Sahu
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

Department of Computer Science and Engineering

C.V. Raman Global University

Programming using C++


[CSE21303]

Experiential Learning Project

Face Detection using C++

GUIDED BY:
Anjana Mishra
Asst. Professor
Dept. of Computer Science and Information Technology
SUBMITTED BY:

NAME REGISTRATION NO.


BISWAJEET SAMAL 2101020512
SUJIT KUMAR SETHI 2101020692
RAJESH KUMAR GOUDA 2101020511
SHUBHAJIT DAS 2101020728
RASIT MALLICK 2101020529
PRATIK KUMAR SAHU 2101020712
SATYA PRAKASH SAHU 2101020718
DIVYA 2101020743
PUJA MAHAPATRA 2101020516
SHREYA SUMAN 2101020761
CONTENTS

1. Declaration
2. Acknowledgement
3. Introduction
4. Objective
5. Tools and Tech Used
6. Prerequisite
7. Implementation
8. Output
9. Future Plans
10. Limitations
11. Advantages
12. Why We Choose this Project
13. Conclusion
14. References
DECLARATION:

We hereby declare that this project work entitled ‘Face detection using C++’ has
been prepared by us under the guidance of Anjana Mishra, Department of
Computer Science and Engineering, CGU in the regular examinations prescribed
by the college.
We also declare that this project is the outcome of our own effort and has not
been submitted by any other university for the award of any degree.

ACKNOWLEDGEMENT

We would like to acknowledge all those without whom this project would not
have been successful. Firstly, we would wish to thank our Computer Science
faculty, Prof. Anjana Mishra who guided us throughout the project and gave her
immense support. She made us understand how to successfully complete this
project and without her, the project would not have been complete.

This project has been a source to learn and bring our theoretical knowledge to the
real-life world. So, we would really acknowledge her help and guidance for this
project.
We would also like to thank our families who have always been there whenever
needed.
Once again, thanks to everyone for making this project successful.
INTRODUCTION
What is Face Detection?
Face detection is an AI-based computer technology that can identify and locate the
presence of human faces in digital photos and videos. It can be regarded as a
special case of object-class detection, where the task is to find the locations and
specify the sizes of all the objects that belong to a given class – in this case, faces
– within a specific image or images.

Due to the advancements in face detection technology, it is now possible to detect


faces in an image or video, regardless of head pose, lighting conditions, and skin
color.

Why is Face Detection important?


Face detection is the first step in various other applications, including face
tracking, face analysis and face recognition.

In the context of face analysis, face detection tells the face analysis algorithms
which parts of an image (or video) to focus on when identifying age, recognizing
gender, and analyzing emotions based on facial expressions.

And when it comes to facial recognition, face detection is necessary for the
algorithms to know which parts of an image (or video) to use to generate the
faceprints that are compared with previously stored faceprints to establish whether
or not there is a match.

OBJECTIVE
There are few objectives to design face detection system. Whenever we implement
a new system it is developed to remove the shortcomings of the existing system.
The computerized mechanism has the more edge than the manual system. The
existing system is based on manual system which takes a lot of time to get
performance of the work. The proposed system is a web application and maintains
a centralized repository of all related information. The system allows one to easily
access the software and detect what he wants
The objective of face detection are :

▪ To design real time face detection system.


▪ To utilize the face detection system based on Haar Classifier.
▪ To develop face detection system using Visual C++ 8 edition.
TOOLS & TECHS USED

Requirements
▪ VSCode/VisualStudio
▪ C++ compiler
▪ OpenCV
▪ A Video file
VSCode
Visual Studio Code is a streamlined code editor with support for development
operations like debugging, task running, and version control. It aims to provide
just the tools a developer needs for a quick code-build-debug cycle and leaves
more complex workflows to fuller featured IDEs, such as Visual Studio IDE.

OpenCV
Face detection using Haar cascades is a machine learning based approach where
a cascade function is trained with a set of input data. OpenCV already contains
many pre-trained classifiers for face, eyes, smiles, etc. Today we will be using the
face classifier. You can experiment with other classifiers as well.

Prerequisite: -

Requirements for running the program:


• OpenCV must be installed on the local machine.
• Paths to the HaarCascade Classifier files must be given before the
execution of the program. These files can be found in the OpenCV
directory.
• Environment setup is to be done in local system to link Visual Studio with
OpenCV library.
Implementation: -

• Open Visual Studio to create a new project.


• Place Classcade classifier module in File explorer to import it in the code
intially.
• CommandLineParser() Initializes command line parser object using
parameters meaning to breaks down input into recognized strings of
characters for further analysis.
• Further capture.open(camera_device) instructs to open webcam to read and
capture frames.
• waitKey(10) function is used to add delay of 10 millisec until next frame
so we can operate in real time.
• Then a vector is created to use as frame to detect faces rectangle(frame,
faces[i], Scalar(255, 0, 255), 3).
• Lastly, imshow() method is used to display frames.

OUTPUT
Advantages of Face Detection

• Face Detection improves surveillance efforts and helps hunt criminals and
terrorists
• Face Detection and Face Recognition Technology is straightforward to
integrate, and most solutions are compatible with the bulk of security
software
• Face Detection enables the automation of the identification process, which
saves time and improves accuracy
• Instead of pesky one-time passwords, you'll authorize transactions by
watching your smartphone or computer. Biometric online banking is
another of the advantages of face Recognition
• The advantage of Face Recognition in retail is that it could make the
shopping experience faster and more convenient. New “Face Pay”
technologies can shorten the long checkout lines with slow payments
• Better Worker Attendance Systems- Every employee has got to pass face-
scanning devices to see certain work. From here until checkout, you will be
charged for your time. Employees don't have to authenticate their identities
or punch in using plastic cards, thus the process is quick.
• It enhances surveillance and aids in the capture of terrorists and criminals.
Since there is nothing for hackers to take.
• AI-powered systems exhibit problem-solving, strategy, memory,
observation, management, and reasoning characteristics akin to human
abilities.
• Automating the identification process with face detection increases
accuracy and reduces processing time.
Future Plans

The world is using facial recognition technology and enjoying its benefits. Why
should India be left out? There is a huge scope of this technology in India and it
can help improve the country in various aspects. The technology and its
applications can be applied across different segments of the country.
• Preventing fraud at ATMs in India. A database of all customers with
ATM cards in India can be created and facial recognition systems can
be installed. So, whenever the user will enter an ATM his photograph
will be taken to permit access after it is matched with a stored photo
from the database.
• Reporting duplicate voters in India.
• Passport and visa verification can also be done using this technology.
• Also, driving license verification can be done using the same approach.
• In defense ministry, airports, and all other important places the
technology can be used to ensure better surveillance and security.
• It can also be used during examinations such as Civil Services Exam,
SSC, IIT, MBBS, and others to identify the candidates.
• This system can be deployed for verification and attendance tracking at
various government offices and corporates.
• For access control verification and identification of authentic users it
can also be installed in bank lockers and vaults.
• For the identification of criminals the system can be used by the police
force also.
• It will remove all its limitations and eager to develop this software.
Limitations of Face Detection

• Poor Image Quality Limits Facial Recognition's Effectiveness


Image quality affects how well facial-recognition algorithms work. The image
quality of scanning video is quite low compared with that of a digital camera.
Even high-definition video is, at best, 1080p (progressive scan); usually, it is
720p. These values are equivalent to about 2MP and 0.9MP, respectively, while
an inexpensive digital camera attains 15MP. The difference is quite noticeable.

• Small Image Sizes Make Facial Recognition More Difficult


When a face-detection algorithm finds a face in an image or in a still from video
capture, the relative size of that face compared with the enrolled image size
affects how well the face will be recognized. An already small image size,
coupled with a target distance from the camera, means that the detected face is
only 100 to 200 pixels on a side. Further, having to scan an image for varying
face sizes is a processor-intensive activity. Most algorithms allow the
specification of a face-size range to help eliminate false positives on detection
and speed up image processing.

• Different Face Angles Can Throw Off Facial Recognition's


Reliability
The relative angle of the target’s face influences the recognition score
profoundly. When a face is enrolled in the recognition software, usually multiple
angles are used (profile, frontal, and 45-degree are common). Anything less than
a frontal view affects the algorithm’s capability to generate a template for the
face. The more direct the image (both enrolled and probe image) and the higher
its resolution, the higher the score of any resulting matches.

• Data Processing and Storage Can Limit Facial Recognition


Tech
Even though the high-definition video is quite low in resolution when compared
with digital camera images, it still occupies significant amounts of disk space.
Processing every frame of video is an enormous undertaking, so usually, only a
fraction (10 percent to 25 percent) is actually run through a recognition system.
Why we choose this project :-

•Compatible with Modern Era.


•Basic programme for Recognition (Recognition is not possible without
Detection).
• Security Maintenance and Media Empowering.
• Needed for visual applications in Robotics.

Conclusion :-

Face Detection has been successfully implemented using technique of Haar


Cascade classifier on desktop using Visual Studio. We learnt application of
OpenCV which provides a real-time optimized Computer Vision library and uses
of Haar feature-based cascade classifiers which is an effective object detection
method proposed by Paul Viola and Michael Jones. It works on features
extraction such as distance between eyes and detect faces , also keeps a count on
number of faces. It is a robust technique that can be applied in various
application such as supporting model execution for Machine Learning (ML) and
Deep Learning.

References :-

• https://docs.opencv.org/3.4/da/d60/tutorial_face_main.html
• https://www.geeksforgeeks.org/opencv-c-program-face-detection/
• https://opencv.org/
• https://visualstudio.microsoft.com/
• https://docs.opencv.org/3.4/db/d28/tutorial_cascade_classifier.html

You might also like