Uploaded by ranjithprabhuj31072

aiiiiiii record (1)

advertisement
“GENDER CLASSIFICATION FROM FACIAL IMAGES USING
RESNET”
SHREE DEVI COLLEGE OF INFORMATION SCIENCE
(Affiliated to Mangalore University)
Ballalbagh, Mangalore – 575003
A PROJECT REPORT ON
GENDER CLASSIFICATION FROM FACIAL IMAGES USING
RESNET
Submitted in Partial fulfillment of requirement for the award of
ADVANCED DIPLOMA IN
ARTIFICIAL INTELLIGENCE, BIG DATA ANALYTICS AND CYBER
SECURITY
2022-2023
SUBMITTED BY
ABHAI K
[REG – NO: ADO51S22A007]
ACHUTH SURESH [REG – NO: ADO51S22A008]
JOHNS MATHEW
[REG – NO: ADO51S22A012]
UNDER THE GUIDANCE OF
MR.VAIDESH
SHREE DEVI COLLEGE OF INFORMATION SCIENCE, MANGALORE
SHREE DEVI COLLEGE OF INFORMATION SCIENCE MANGALORE
CERTIFICATE
This is to certify that the project work entitled as “GENDER CLASSIFICATION
FROM FACIAL IMAGES USING RESNET” has been successfully carried out
By
ABHAI K
[REG – NO: ADO51S22A007]
ACHUTH SURESH [REG – NO: ADO51S22A008]
JOHNS MATHEW
[REG – NO: ADO51S22A012]
Student of 3rd year BCA. This dissertation is submitted in partial fulfillment for the
award of Advanced diploma in Artificial Intelligence, Big Data analytics and
Cyber Security by Mangalore University during the academic year of 2022-2023.
Internal Guide
(Mr. vaidesh)
Principal
(Mr.Triloknath)
Submitted for the Vice-Voice examination held on
Internal Examiner
External Examiner
DECLARATION
I hereby declare that the project work entitled “Gender Classification from Facial Images
Using ResNet”
is a genuine work in the partial fulfillment of the requirement for the curriculum of
3rd year, Advanced diploma in Artificial Intelligence ,Big Data analytics and Cyber
security , prescribed by the Mangalore University, Mangalore. It is an authentic
project record of work carried out by during the period of
April 2022 – JUNE 2023 under the guidance of Vaidesh.
It is also declared that the matter embodied in the project work
is original and has
not been submitted by us to any other university wholly or partly.
ABHAI K
[REG – NO: ADO51S22A007]
ACHUTH SURESH [REG – NO: ADO51S22A008]
JOHNS MATHEW
[REG – NO: ADO51S22A012]
Place: Mangalore
Date:
i
ACKNOWLEDGEMENT
The satisfaction and euphoria that accompany the successful completion of any
work would be but incomplete without mentioning the people who made it
possible, whose constant guidance and encouragement served as beacon light and
crowned our efforts with success.
We express our sincere gratitude to H. Triloknath, Principal & HOD , Shree
Devi College of Information Science , Mangalore for providing the required
facilities and are thankful for his help and instructions rendered to us during our
project work, and without whom this project would have been impossible.
Thanks to Shree Devi College for giving us an opportunity to take up this
project, as the knowledge gained by working on a project is very valuable.
We would be failing in our duty if we do not thank our parents, our friends
and the almighty on which we have relied on for help and encouragement
throughout our ADVANCED DIPLOMA course and especially during our project
work.
ABHAI K
ACHUTH SURESH
JOHNS MATHEW
ii
ABSTRACT
Artificial intelligence has found its use in various fields during the course of its development, especially in
recent years with the enormous increase in available data. Its main task is to assist making better, faster
and more reliable decisions. Artificial intelligence, machine learning and deep learning are increasingly
finding their application in many fields. This project “Gender Classification from Facial Images using
ResNet” is a Deep Learning Convolution Neural Network method that is used to classify gender based on
image. This model has the task to help with a classification problem that distinguishes men and women
based on their facial features.
Face is one of the most important biometric traits. By analysing a face we get a lot of information such as
age, gender, ethnicity, identity, expression, etc. A gender classification system captures the face of a person
from a given image to tell the gender (male/female) of the given person. A successful gender classification
approach can boost the performance of many other applications including face recognition and smart
human-computer interface. The project “Gender Classification from Facial Images using ResNet” captures
the facial image of the person from an uploaded video or a real time video captured from web camera and
displays the gender of the person as the result.
iii
TABLE OF CONTENTS
SERIAL
NO.
DESCRIPTION
PAGE
NO.
I
DECLARATION
i
II
ACKNOWLEDGEMENT
ii
III
ABSTRACT
iii
1
INTRODUCTION
3
1.1 : Introduction
3
1.2 : Problem Statement
1.3 : Scope and Relevance of the Project
3
1.4 : Objectives
4
2
LITERATURE REVIEW
3
METHODOLOGY
5-10
3.1 : System Analysis
3.1.1 : Introduction
12
3.1.2 : Existing System
13
3.1.2.1 : Limitations of Existing System
3.1.3 : Proposed System
3.1.3.1 : Advantages of Proposed System
3.1.4 : Feasibility Study
13
13
14
14-15
15
3.1.4.1 : Technical Feasibility
15-16
3.1.4.2 : Operational Feasibility
3.1.4.3 : Economic Feasibility
3.1.5 : Software Engineering Paradigm Applied
16
16-17
3.2 : System Design
3.2.1 : Introduction
3.2.2 : Database Design
18
18-20
21-22
3.2.3 : Entity Relationship Model
3.2.4 : Process Design – Dataflow Diagrams
3.2.5 : Object Oriented Design – UML Diagrams
3.2.5.1 : Activity Diagram
3.2.5.2 : Class Diagram
3.2.5.3 : Use Case Diagram
23-25
26-28
26
27-28
28
3.2.6 : Block Diagram
29
3.2.7 : Architecture Diagram
30
3.2.8 : Modular Design
31
3.2.8.1 : Modules Description
31-32
3.2.9 : Input Design
33
3.2.10 : Output Design
3.3 : System Environment
3.3.1 : Introduction
34
3.3.2 : Software Requirements Specifications
34
3.3.3 : Hardware Requirements Specifications
35
3.3.4 : Tools , Platform
36-38
3.3.4.1 : Front End Tool
3.3.4.2 : Back End Tool
38-41
3.3.4.3 : Operating System
41-42
3.4 : System Implementation
3.4.1 : Introduction
43
3.4.2 : Coding
3.4.2.1 : Coding Standards
44
3.4.2.2 : Sample Codes
45-57
3.4.2.3 : Code Validation and Code Optimization
57-58
3.4.3 : Unit Testing
3.4.3.1 : Test Plan and Test Cases
58-59
59
4
RESULTS AND DISCUSSIONS
60-61
5
CONCLUSION
62-63
6
REFERENCES
64-65
7
BIBLIOGRAPHY
66-67
8
APPENDIX
68-88
9
GLOSSARY
89-91
Gender Classification from Facial Images Using ResNet
GENDER CLASSIFICATION FROM FACIAL
IMAGES USING RESNET
[Type here]
Gender Classification from Facial Images Using ResNet
CHAPTER 1
INTRODUCTION
2
Gender Classification from Facial Images Using ResNet
1.1 INTRODUCTION
Face is the most prominent biometric of human that is gaining popularity and is being used widely in many
applications as a security mechanism. Face based authentication systems have been developed which not
only have scope in industry but also in academic levels. It is easy for humans to classify male and female
but for machines it becomes a difficult task. Machines work on features and algorithms that are fed to it for
differentiation between male and female. There exist some differences between male and female facial
features which might help machines to discriminate between them. Image processing has provided one such
platform where we can train the machines for gender classification. The scope for facial images is growing
day by day and now Machine Learning is playing a vital role in the classification tasks.
1.2 PROBLEM STATEMENT
Face is amongst the biometrics that require no attention or physical contact. Gender classification is very
important as day to day social interactions depend on the correct perception of gender. As the surveillance
systems have evolved it becomes necessary for them to be equipped with proper system for gender
identification. The systems developed for gender classification need to be time constraint, reliable and fast
enough.
1.3 SCOPE AND RELEVANCE OF THE PROJECT
Gender classification plays an important role in many scenarios. As one of the demographic classification
attributes, gender information belongs to soft biometrics that provides ancillary information of an
individual’s identity information. Moreover, it can improve the performance of face recognition. Thus, it is
widely used in many applications to provide smart services in human-computer interaction, such as visual
surveillance, intelligent interface, and intelligent advertising.
[Type here]
Gender Classification from Facial Images Using ResNet
1.4 OBJECTIVES
Automatic gender classification is receiving increasing attention, since gender carries rich and distinguished
information concerning male and female social activities. The aim of gender classification is to recognize
the gender of a person based on the characteristics that differentiate between masculinity and femininity.
In the area of artificial intelligence, gender classification is considered to be one of the most important
applications of pattern recognition method. The progress of gender classification research has driven many
potential applications. For instance, a computer system with gender recognition functions has a wide range
of applications in fundamental and applied research areas including: human-computer interaction (HCI),
the security and surveillance industry, demographic research, commercial development, and mobile
application and video games. The main objective of gender classification system is to develop an automated
mechanism that will enhance the performance of gender recognition in terms of accuracy and efficiency.
4
Gender Classification from Facial Images Using ResNet
CHAPTER 2
LITERATURE REVIEW
[Type here]
Gender Classification from Facial Images Using ResNet
Prediction of the Age and Gender Based on Human Face Images Based on Deep
Learning Algorithm
In this paper the authors have proposed a system to suggest nutritional food to people based on age and
gender predicted from their face image. Face age and gender recognition are a very important aspect of face
analysis that has piqued the interest of researchers in areas such as demographic information collection,
surveillance, human-computer interaction, marketing intelligence, and security. The designed methodology
pre-processes the input image before performing feature extraction using the deep convolution neural
network (DCNN) strategy. The network is designed to extract D-dimensional characteristics from the
source face image, followed by the feature selection strategy. Hybrid particle swarm optimization (HPSO)
technique, an optimization method inspired by the cooperative nature of a group of birds or swarm, is
employed for choosing the face’s distinctive and identifiable traits. Furthermore, Support vector machine
(SVM) is used to classify a person’s age and gender. It constructs an ideal hyperplane in multidimensional
space, which aids in the categorization of images into two classes in gender categorization and eight classes
in age categorization. The results of HPSO are then mapped into the multidimensional space. The maximum
marginal hyperplane (MMH) helps in distinguishing the classes.
Deep Learning in Image Classification using Residual Network (ResNet) Variants for
Detection of Colorectal Cancer
Colorectal cancer is a type of cancer that transpires in the colon of the large intestine. It is quite prevalent
to befall nowadays. Colorectal cancer can be efficiently handled if known earlier about the level of
development of abnormal cells, a cell that is suspected of developing into cancer cells. In medicinal practice,
the most conventional approach applied to detect the disease is by histopathological examination of tissue
specimen. Deep learning has been outperformed conventional methods on the large-scale dataset.
Researchers invented numerous networks to attain tremendous precision and decrease parameters, such as
VGGnet in 2014, GoogLeNet in 2015, ResNet in 2016 and DenseNet in 2017. In this research, the authors
have presented a deep learning approach to identify the colon gland (benign and malignant). ResNet
architecture is selected for the proposed technique. ResNets have been confirmed that the residual mapping
6
Gender Classification from Facial Images Using ResNet
and shortcut connections lead to better results compared to very deep plain networks and the training is
easier as well. There are two ResNet architectural models being used, particularly ResNet-18 and ResNet50, with three dataset distribution models designed to test accuracy, sensitivity, and specificity values. It
was found that ResNet-50 has higher accuracy than ResNet-18.
Image Classification Using Transfer Learning and Deep Learning
Image classification problem in computer vision can be modelled conventionally, using machine learning,
deep neural networks and in particular convolutional neural network which are designed to work in
isolation. If a model for classification is built from scratch by training it on a small data set, it is likely to
get overfitted. Also, if the model is trained on large data set, it will consume huge compute resources, as
well as, require days or weeks to train the model. Transfer learning allows to transfer the knowledge gained
by previously learned task and apply it to similar another task. To overcome the problem of isolated learning
paradigm, this paper presents model for binary image classification on image dataset using pretrained model
VGG16. The training and testing datasets consist of two types of flower images: daisy and dandelion. The
implemented model consists of two parts: convolutional base and classifier. The convolutional base is used
to extract the features which is implemented using application module of Keras trained on ImageNet
dataset. Using the extracted features, the classifier is trained to classify input image.
Gender Classification of Human Faces
This paper addresses the issue of combining pre-processing methods—dimensionality reduction using
Principal Component Analysis (PCA) and Locally Linear Embedding (LLE)—with Support Vector
Machine (SVM) classification for gender classification. A processed version of the MPI head database is
used as stimulus set. First, summary statistics of the head database are studied. Subsequently the optimal
parameters for LLE and the SVM are sought heuristically. These values are then used to compare the
original face database with its processed counterpart and to assess the behaviour of a SVM with respect to
changes in illumination and perspective of the face images. Overall, PCA was superior in classification
performance and allowed linear separability.
[Type here]
Gender Classification from Facial Images Using ResNet
Pre-trained Image Processing Transformer
The paper focuses on a developed pre-trained model called Image Processing Transformer (IPT) that uses
the well-known ImageNet benchmark for generating a large amount of corrupted image pairs. The IPT
model is then trained on these images with multi-heads and multi-tails. Constructive learning is introduced
to equip the system to adapt to different image processing tasks. The pre-trained model can then be used to
perform the desired task efficiently after fine-tuning. IPT is believed to outperform the current state-of-theart methods on various low-level benchmarks.
High-Performance Large-Scale Image Recognition Without Normalization
Batch normalization is a key component of most image classification models. In this paper the authors have
developed a model that overcomes three significant practical disadvantages of batch normalization such as
expensive computational primitive which incurs memory overhead and increases the time required to
evaluate the gradient in some networks, discrepancy between the behaviour of the model during training
and at inference time introducing hidden hyper-parameters that have to be tuned and most importantly, the
dependence between training examples in the minibatch. The proposed system develop an adaptive gradient
clipping technique which overcomes these instabilities, and design a significantly improved class of
Normalizer-Free ResNets where smaller models match the test accuracy of an EfficientNet-B7 on ImageNet
while being up to 8.7× faster to train, and largest models attain a new state-of-the-art top-1 accuracy of
86.5%. In addition, Normalizer-Free models attain significantly better performance than their batch
normalized counterparts when fine-tuning on ImageNet after large-scale pre-training on a dataset of 300
million labelled images, with our best models obtaining an accuracy of 89.2%.
8
Gender Classification from Facial Images Using ResNet
Big Self-Supervised Models Advance Medical Image Classification
Learning from limited labelled data is a fundamental problem in machine learning, which is crucial for
medical image analysis because annotating medical images is time-consuming and expensive. This paper
studies self-supervised learning for medical image analysis and conducts a fair comparison between selfsupervised and supervised pretraining on two distinct medical image classification tasks: dermatology skin
condition classification from digital camera images, multi-label chest X-ray classification among five
pathologies based on the CheXpert dataset by introducing a novel Multi-Instance Contrastive Learning
(MICLe) method that uses multiple images of the underlying pathology per patient case, when available,
to construct more informative positive pairs for self-supervised learning. The self-supervised models turn
out to be more robust and generalize better than baselines, when subjected to shifted test sets, without finetuning which is desirable for deployment in a real-world clinical setting.
ResMLP: Feedforward Networks for Image Classification with Data-Efficient
Training
The paper presents ResMLP, an architecture built entirely upon multi-layer perceptron for image
classification. It is a simple residual network that alternates a linear layer in which image patches interact,
independently and identically across channels, and a two-layer feed-forward network in which channels
interact independently per patch. ResMLP when trained with a modern training strategy using heavy dataaugmentation and optionally distillation, attains surprisingly good accuracy/complexity trade-offs on
ImageNet. ResMLP models are the trained in a self-supervised setup, to further remove priors from
employing a labelled dataset. The model is finally adapted to machine translation that achieve surprisingly
good results in image classification.
[Type here]
Gender Classification from Facial Images Using ResNet
An On-chip Photonic Deep Neural Network for Image Classification
Deep neural networks with applications from computer vision to medical diagnosis are commonly
implemented using clock-based processors, in which computation speed is mainly limited by the clock
frequency and memory access time. The lack of scalable on-chip optical non-linearity and loss of photonic
devices limit the scalability of optical deep networks. This paper represents an integrated end to end
photonic deep neural network (PDNN) that performs sub-nanosecond image classification through direct
processing of the optical waves impinging on the on-chip pixel arrays as they propagate through layers of
neurons. In each neuron, linear computation is performed optically and non-linear activation function is
realized electronically allowing a faster classification time and better accuracy.
Gender Classification from Facial Images using PCA and SVM
In this thesis the researcher presented a work using PCA and SVM for gender classification from facial
images. In this thesis the first step in gender classification is detection of face from the input image. Skin
colour-based method is used for face detection. Segmentation of colour defines the obtained colour is skin
colour or non-skin colour. The brightness compensation algorithm is applied to adjust the brightness level
in the input image. The RGB components are extracted from the input image, average value of RGB is
obtained, and scaling factor of the colour images is obtained. These scaling values define the new image
which is brightness compensated image. The brightness compensated image is then used for skin colour
detection which further under goes morphological operation for pre-processing. After pre-processing
features are extracted using PCA where the dimensionality reduction is carried out. The SVM classifier
achieves accuracy of 86% for polynomial kernel and 93% for RBF kernel.
10
Gender Classification from Facial Images Using ResNet
CHAPTER 3
METHODOLOGY
[Type here]
Gender Classification from Facial Images Using ResNet
3.1 SYSTEM ANALYSIS
3.1.1 INTRODUCTION
System analysis is the study of existing system to learn what they accomplish, how they work and what
whole they have processing in future activities. The first step in the system study is to identify particular
problem to be solved or the tasks to be accomplished and setting the system goals to be achieved. After
defining the problem, the goals of the project are revealed which has to be fulfilled, in order to complete it
successfully.
System analysis refers to the process of gathering information, diagnosing problems and using the
information to recommend changes or improvements to the current systems. It involves a detailed study of
the system like the input needed, how it works, what are its faults, requirements of the users, user
expectation of the system etc. The system analyst collects all this information by adopting several methods
like interview, questionnaire, record reviews, observation etc.
System analysis is part of the system development process. It can be summarized as the process of gathering
all of the information that is needed to determine if any improvements need to be made to the existing
system or if the system as a whole need to be replaced.
The system analysis is conducted with the following objectives in mind:
• Identify the customer’s needs.
• Evaluate the system concept for feasibility.
• Perform economic and technical analysis.
• Establish cost and schedule constraints.
• Create a system definition that forms a foundation for subsequent work.
12
Gender Classification from Facial Images Using ResNet
3.1.2 EXISTING SYSTEM
Gender classification is significant in several contexts. Gender information is a part of soft biometrics,
which provides extra information about a person’s identification. Furthermore, it can increase facial
recognition performance, which is considered one of the most useful biometric features and has more
benefits than other biometric systems. For humans, it is easy to visually distinguish between male and
female. In case of machines, we have to train them by providing proper dataset to identify and recognise
the difference between males and females. In the present era, we have no own systems for gender
classification. If a proper automated gender classification system is developed, it can be applied to many
systems around the globe especially those including human-computer interaction.
3.1.2.1 LIMITATIONS OF EXISTING SYSTEM
As of now, there is no existing system that distinguishes between male and female from facial images. The
gender of a person is known from the relevant documents such as identity card and the system identify the
gender based on the information provided by the user manually. It is not efficient and can sometimes be
inaccurate due to false information provided by the user.
3.1.3 PROPOSED SYSTEM
The aim of proposed system is to develop a system that tries to eliminate the limitations of the existing
system and will be less time consuming providing better accuracy. Here Convolutional neural network
(CNN) is an accurate method to classify between males and females. CNNs is divided into two important
parts, feature extraction layer (convolutional layer and pooling layer) and fully connected layer. CNN
method is commonly used for image data classification. The proposed system uses ResNet architecture
which has shown better accuracy rather than conventional methods.
[Type here]
Gender Classification from Facial Images Using ResNet
3.1.3.1 ADVANTAGES OF PROPOSED SYSTEM
The proposed system identifies the gender of a person from facial images. The system is able to recognize
the gender from real time videos and also uploaded videos. Since the proposed system has a good accuracy
rate, the process of gender identification is efficient. A person need not have to provide their gender
manually. There is less chance of faulty information since the system automatically identifies the gender.
3.1.4 FEASIBILITY STUDY
A feasibility analysis evaluates the candidate systems and determines the best system that needs
performance requirements. The purpose of feasibility study is to investigate the present system, evaluate
the possible application of computer-based methods, select a tentative system, evaluate the cost and
effectiveness of the proposed system, evaluate the impact of proposed system on existing system and as
certain the need for new system. Feasibility is carried out to see if the system is technically, economically
and operationally feasible. All projects are feasible when given unlimited resources and infinite time. It is
both necessary and prudent to evaluate the feasibility of the project at the earliest possible time. An estimate
is made of whether the identified user may be satisfied using current hardware and software technologies.
The study will decide if the proposed system will be cost effective from the business point of view and if it
can be developed in the existing budgetary constraints. The objective of a feasibility study is to test the
technical, social and economic feasibility of developing a computer system. This is done by investigating
the existing system and generating ideas about a new system. The computer system must be evaluated from
a technical viewpoint first, and if technically feasible, their impact on the organization and the staff must
be accessed. If a compatible, social and technical system can be devised, then it must be tested for economic
feasibility. There are eight steps involved in a feasibility study:
1. Form a project team and appoint a project leader.
2. Prepare system flow chart.
3. Enumerate potential candidate system.
14
Gender Classification from Facial Images Using ResNet
4. Describe and identify characteristics of candidate system.
5. Determine and evaluate performance and cost effectiveness of each candidate system.
6. Weight the system performance and cost.
7. Select the best candidate system.
8. Report project directive management.
3.1.4.1 TECHNICAL FEASIBILITY
Technical feasibility is the most important of all types of feasibility analysis. Technical feasibility deals
with hardware as well as software requirements. An idea from the outline design to system requirements in
terms of input/output files and procedures is drawn and types of hardware and software and the methods
required for running the system are analysed. Technical study is a study of hardware and software
requirement. All the technical issue related to the proposed system is dealt during feasibility stage of
preliminary investigation produced the following results: While considering the problems of existing
systems it is sufficient to implement the new system. The proposed system can be implemented to solve
issues in the existing system. It includes the evaluation of how it meets the proposed system. The assessment
of technical feasibility must be based on the outline of the system requirements in terms of inputs, outputs,
files, programs and procedures. This can be quantified in terms of volumes of data, trends, frequency of
updating, etc.
3.1.4.2 OPERATIONAL FEASIBILITY
Operational feasibility relates to human organizational and political aspects. The issues considered are the
job changes that will be brought about, the organizational structures that will be distributed and the new
skills that will be required. Methods of processing and presentation are all according to the needs of clients
since they can meet all user requirements here. The proposed system will not cause any problem, any
circumstances and will work according to the specifications mentioned. Hence the proposed system is
[Type here]
Gender Classification from Facial Images Using ResNet
operationally feasible. People are inherently resistant to change and computer has been known to facilitate
changes. The system operation is the longest phase in the development life cycle of a system. So operational
feasibility should be given much importance. This system has a user-friendly interface. Thus, it is easy to
handle.
3.1.4.3 ECONOMIC FEASIBILITY
Economic analysis is the most frequently used method for evaluating the effectiveness of software, more
commonly known as the cost/benefit analysis. The procedure is to determine the benefits and savings that
are expected from a candidate and compare them with costs. If the benefits outweigh cost, the decision is
made to design and implement the system, otherwise further alternatives have to be made. Here it is seen
that no new hardware or software is needed for the development of the system.
3.1.5 SOFTWARE ENGINEERING PARADIGM APPLIED
The Waterfall Model was the first Process Model to be introduced. It is also referred to as a linear-sequential
life cycle model. It is very simple to understand and use. In a waterfall model, each phase must be completed
before the next phase can begin and there is no overlapping in the phases.
The Waterfall model is the earliest SDLC approach that was used for software development.
The waterfall Model illustrates the software development process in a linear sequential flow. This means
that any phase in the development process begins only if the previous phase is complete. In this waterfall
model, the phases do not overlap.
16
Gender Classification from Facial Images Using ResNet
DIFFERENT PHASES OF WATERFALL MODEL
[Type here]
Gender Classification from Facial Images Using ResNet
3.2 SYSTEM DESIGN
3.2.1 INTRODUCTION
The design phase is the second phase in the system development life cycle. In this phase computer
information system is designed in detail from the system specification generated during the study phase.
The principle activities performed during the design phase are allocation of functions, identification of
testing requirements, output screen and report design, input design and file design. In design phase, the
analyst has the task of developing a detailed design of the system including layouts for all inputs, file and
outputs.
The system design develops the architectural detail required to build a system or product. As in the case of
any systematic approach, this software too has undergone the best possible design phase fine tuning all
efficiency, performance, and accuracy levels. The first step in system designing is to determine how the
output is to be produced and in what format. Samples of the output and input are also presented. In the
second step, input data and master files are to be designed to meet requirement of the proposed output. The
processing phases are handled through program construction and testing, including a list of the programs
needed to meet the system’s objectives and complete documentation.
3.2.2 DATABASE DESIGN
Database design is the process of producing a detailed data model of a database. This logical data model
contains all the needed logical and physical design choices and physical storage parameters needed to
generate a design in a Data Definition Language, which can then be used to create a database. The term
database design can be used to describe many different parts of the design of an overall database system.
Principally, and most correctly, it can be thought of as the logical design of the base data structures used to
store the data. In the relational model these are the tables and views. In an object database the entities and
relationships map directly to object classes and named relationships. However, the term database design
18
Gender Classification from Facial Images Using ResNet
could also be used to apply to the overall process of designing, not just the base data structures, but also the
forms and queries used as part of the overall database application within the database management system.
NORMALIZATION
The process of normalization is concerned with the transformation of the conceptual schema to a computer
represent able form. Normalization reduces the redundancies and anomalies.
THE FIRST NORMAL FORM
First normal form does not allow multi valued and composite valued attributes. It states that the domain of
an attribute must include only atomic values and that value of any attribute in a table must be single value
from the domain of that attribute.
THE SECOND NORMAL FORM
In second normal form, for relation where primary key contains multiple attributes, on key attribute should
not be functionally dependent on a part of the primary key.
THE THIRD NORMAL FORM
In third normal form, relation should not have a non-key attribute functionally determined by non-key
attribute. That is there should be no transitive dependency of a non-key attribute on the primary key.
[Type here]
Gender Classification from Facial Images Using ResNet
DATABASE NAME: gender
1. TABLE NAME: genderclasification_registerr
PRIMARY KEY: id
FIELDNAME
DATATYPE
SIZE
DESCRIPTION
id
Int
20
User ID
name
varchar
150
User’s Name
age
varchar
150
User’s Age
email
varchar
150
User’s email
phone
varchar
150
User’s Phone Number
password
varchar
150
Password
2. TABLE NAME: genderclasification_imagess
PRIMARY KEY: id
FIELDNAME
DATATYPE
SIZE
DESCRIPTION
id
bigint
20
Video ID
name
varchar
200
Test Video
20
Gender Classification from Facial Images Using ResNet
3.2.3 ENTITY RELATIONSHIP MODEL
An entity-relationship diagram (ERD) is a data modelling technique that graphically illustrates an
information system’s entities and the relationships between those entities. An ERD is a conceptual and
representational model of data used to represent the entity framework infrastructure. Conceptual ER
Diagram Symbols:
 Entities: Entities are objects or concepts that represent important data.
 Relationship: Relationship is meaningful between or among entities.
 Attribute: Attribute are characteristics of either an entity, a many-to-many relationship, or a, one-to-one
relationship.
[Type here]
Gender Classification from Facial Images Using ResNet
• Connecting lines: Solid lines that connect attributes to show the relationships of entities in the diagram.
The entity relationship diagram of gender classification system is given below.
ER DIAGRAM
name
id
age
Gender Classification
System
User
has
email
password
phone
22
Gender Classification from Facial Images Using ResNet
3.2.4 PROCESS DESIGN – DATAFLOW DIAGRAMS
A data flow diagram (DFD) is a graphical representation of the “flow” of data through an information
system, modelling its process aspects. Often, they are a preliminary step used to create an overview of the
system which can later be elaborated. DFDs can also be used for the visualization of data processing. A
DFD shows what kinds of information will be input to and output from the system, where the data will
come from and go to, and where the data will be stored. It does not show information about the timing of
processes, or information about whether processes will operate in sequence or in parallel.
Data flows
Data flows show the passage of data in the system are represented by the lines joining system components.
An arrow indicates the direction of flow and the line is labelled by name of data flow.
Basic data flow diagram symbols are: • A rectangle defines a source or destination of the data.
• An arrow identifies data flow, data in motion. It is a pipeline through which information flows.
[Type here]
Gender Classification from Facial Images Using ResNet
• A circle or bubble represents a process at transforms incoming data flows into outgoing data flows.
• An open rectangle is a data store.
Note that a DFD describe what data flow (logical) rather than they are processed, so it does not depend on
hardware, software and data structure or file organisation.
Four steps are commonly used to construct a DFD
1. Process should be named and numbered for easy reference.
2. The direction of flow is from top to bottom and from left to right.
3. When a process is explored into low level details they are numbered.
4. The name of data stores, sources and destinations are written in capital letters.
24
Gender Classification from Facial Images Using ResNet
LEVEL 0
Gender
Request
User
Classification
Response
System
LEVEL 1
REGISTRATION
GENDERCLASSIFICATION_REGISTERR
USER
USER
PROCESS
Email +
Password
LOGIN
Invalid
credentials
UPLOAD
TEST VIDEO
[Type here]
Insert
Data
GENDERCLASSIFICATION_IMAGESS
Gender Classification from Facial Images Using ResNet
3.2.5 OBJECT ORIENTED DESIGN – UML DIAGRAMS
3.2.5.1 ACTIVITY DIAGRAM
This diagram denotes the structural flow of the activities in the form of flow chart with decision boxes
enhanced and hence is also used for troubleshooting like raising exceptions when a particular action is done
and the alternative to be done when something abnormal is done. There can be only one activity diagram
for the entire system including all the activities that a system can perform. The activity diagram of the
gender classification system is given below:
Login
Invalid
valid
Upload Test Video
View Results
Logout
26
Gender Classification from Facial Images Using ResNet
3.2.5.2 CLASS DIAGRAM
The class diagram is a static diagram. It represents the static view of an application. Class diagram is not
only used for visualizing, describing and documenting different aspects of a system but also for
constructing executable code of the software application. The class diagram describes the attributes and
operations of a class and also the constraints imposed on the system. The class diagrams are widely used
in the modelling of object oriented systems because they are the only UML diagrams which can be
mapped directly with object oriented languages. The class diagram shows a collection of classes,
interfaces, associations, collaborations and constraints. It is also known as a structural diagram.
The UML diagrams like activity diagram, sequence diagram can only give the sequence flow of the
application but class diagram is a bit different. So it is the most popular UML diagram in the coder
community.
The purpose of the class diagram can be summarized as:
•
Analysis and design of the static view of an application.
•
Describe responsibilities of a system.
•
Base for component and deployment diagrams.
•
Forward and reverse engineering.
The class diagram of the gender classification system is given in the next page.
[Type here]
Gender Classification from Facial Images Using ResNet
genderclassification_registerr






Id
Name
Email
Age
Password
Phone


Register()
Login()
3.2.5.3 USE CASE DIAGRAM
A use case diagram in the unified modelling language (UML) is a type of behavioural diagram defined by
and created from a use-case analysis. The main purpose of a use case diagram is to show what system
functions are performed for which actor. A use case describes a sequence of actions that provide something
of measurable value to an actor and is drawn as a horizontal ellipse. An actor is a person, organization, or
external system that plays a role in one or more interactions with the system. A rectangle is drawn around
the use cases, called the system boundary box.
Login
Upload Test
Video
User
View
Results
28
Gender Classification from Facial Images Using ResNet
3.2.6 BLOCK DIAGRAM
A block diagram is a graphical representation of a system – it provides a functional view of a system. Block
diagrams give us a better understanding of a system’s functions and help create interconnections within it.
Block diagrams derive their name from the rectangular elements found in this type of diagram. They are
used to describe hardware and software systems as well as to represent processes. Block diagrams are
described and defined according to their function and structure as well as their relationship with other
blocks.
Residual Network (ResNet) is a Convolutional Neural Network (CNN) architecture. The block diagram of
CNN is given below.
[Type here]
Gender Classification from Facial Images Using ResNet
3.2.7 ARCHITECTURE DIAGRAM
An architecture diagram is a graphical representation of a set of concepts, that are part of an architecture,
including their principles, elements and components.
Architecture is a coherent set of concepts for a structure. These concepts are often visualized at four levels
of abstraction. These are:

Conceptual Level - showing an overview of concepts.

Logical Level - showing a logical design of one or more concepts, containing at least the key
elements of concepts and showing the principles of the concepts (i.e, how the concepts work).

Physical Level - showing a component design depicting the elements.

Implementational Level - showing the vendors and products with which the components will be
implemented.
Gender classification system uses ResNet50. The architecture of ResNet50 is given below:
30
Gender Classification from Facial Images Using ResNet
3.2.8 MODULAR DESIGN
3.2.8.1 MODULES DESCRIPTION
User

Register

Login

Upload Test Video

View Result

Logout
3.2.9 INPUT DESIGN
Input design is the part of the overall systems, which requires very careful attention. The main objectives
of the input design are:

To produce a cost-effective method of input.

To achieve highest level of accuracy.

To ensure that the input is acceptable to and understand by the user staff.
The activities to be carried out as part of the overall input processors are as follows:

Data recording.

Data transcription.

Data conversion.

Data verification.

Data control.

Data transmission.

Data validation.

Data correction.
[Type here]
Gender Classification from Facial Images Using ResNet
One of the early activities of the input design is to determine the nature of the input data. In addition to
identify the input types, the analyst needs to consider their impacts on the system as a whole and on
other systems.
The analyst should consider the following points when designing the input:

Nature of the input processing.

Flexibility and thoroughness of validation rules.

Handling of priorities with the input procedure.

Use of composite input documents to reduce the number of different ones.

Relation with the other system and files.
Careful stages of input after the input medium have been chose involves attention to error handling,
batching, and validation procedures.
In the case of this system the error handling has analysed as two major categories.

User errors.

System errors.
User errors occur when a user wrongly presses a key or an unsuitable key for a particular operation. These
kinds of errors are generally non rectifiable but at least can be avoided to greater extend with care and clear
attention given when entering data.
System errors occur due to performance of system, hardware malfunctioning etc. These kinds of errors are
normally avoided by good maintenance; proper operation and correct procedural follow up. Control and
batching comprised of various batching techniques that are used for easy and efficient computing that is,
clubbing the necessary program with appropriate functions, usage of needful files and avoiding the usage
of unnecessary variables etc.
The input designs of the system are shown in the appendix page.
32
Gender Classification from Facial Images Using ResNet
3.2.10 OUTPUT DESIGN
A quality output is one, which meets the requirements of end user and presents the information clearly. In
any system result of processing are communicated to the user and to the other system through outputs. In
the output design it is determined how the information is to be displayed for immediate need. It is the most
important and direct source information to the user. Efficient and intelligent output design improves the
system’s relationships with the user and helps in decision making.
The objective of the output design is to convey the information of all the past activities, current status and
to emphasis important events. The output generally refers to the results and information that is generated
from the system. Outputs from computers are required primarily to communicate the results of processing
to the users.
At the beginning of the output design various types of outputs such as external, internal, operational, and
interactive and turnaround are defined. Then the format, content, location, frequency, volume and sequence
of the outputs are specified. The content of the output must be defined in detail. The system analysis has
two specific objectives at this stage.
• To interpret and communicate the results of the computer part of a system to the users in a form, which
they can understand, and which meets their requirements.
• To communicate the output design specifications to programmers in a way in which it is unambiguous,
comprehensive and capable of being translated into a programming language.
[Type here]
Gender Classification from Facial Images Using ResNet
3.3 SYSTEM ENVIRONMENT
3.3.1 INTRODUCTION
Hardware and software requirements for the installation and smooth functioning of this project could be
configured based on the requirements needed by the component of the operating environment that works
as front-end system. Here we suggest minimum configuration for the both hardware and software
components. It includes two phases:
 Software Requirements
 Hardware Requirements
3.3.2 SOFTWARE REQUIREMENT SPECIFICATIONS
The system requirement specification is a technical specification of requirement for the product. The goal
of the system requirement definition is to completely specify the technical requirements for the software
product in a concise and unambiguous manner. A software requirements specification (SRS) is a description
of a software system to be developed. It lays out functional and non-functional requirements, and may
include a set of use cases that describe user interactions that the software must provide. Software
requirements:

Operating System: Windows 10 – 64 bit or above

Front End: HTML, CSS3, Bootstrap

Back End: Python 3.6.5, Django, MySQL

Web Browser: Internet Explorer/ Google Chrome
34
Gender Classification from Facial Images Using ResNet
3.3.3 HARDWARE REQUIREMENTS SPECIFICATIONS
This describes the logical and physical characteristics of each interface between the software product and
hardware components of the system. Hardware requirements:

Input Device: Mouse, Keyboard, Web Camera

Output Device: Monitor

Memory: 4 GB or more (RAM)

Processor: Intel 3 or above

Hard Disk: 500 GB

Display: 800 × 500
3.3.4 TOOLS, PLATFORM
XAMPP
XAMPP is one of the widely used cross-platform web servers, which helps developers to create and test
their programs on a local webserver. It was developed by the Apache Friends, and its native source code
can be revised or modified by the audience. It consists of Apache HTTP Server, MariaDB, and
interpreter for the different programming languages like PHP and Perl. It is available in 11 languages and
supported by different platforms such as the IA-32 package of Windows & x64 package of macOS and
Linux. XAMPP is an abbreviation where X stands for Cross-Platform, A stands for Apache, M stands
for MYSQL, and the Ps stand for PHP and Perl, respectively. It is an open-source package of web solutions
that includes Apache distribution for many servers and command-line executables along with modules such
as Apache server, MariaDB, PHP, and Perl.
XAMPP helps a local host or server to test its website and clients via computers and laptops before releasing
it to the main server. It is a platform that furnishes a suitable environment to test and verify the working of
projects based on Apache, Perl, MySQL database, and PHP through the system of the host itself. Among
these technologies, Perl is a programming language used for web development, PHP is a backend scripting
[Type here]
Gender Classification from Facial Images Using ResNet
language, and MariaDB is the most vividly used database developed by MySQL. The proposed system uses
XAMPP 1.8.3.
Anaconda
Anaconda Python is a free, open-source platform that allows you to write and execute code in the
programming language Python. It is by continuum.io, a company that specializes in Python development.
The Anaconda platform is the most popular way to learn and use Python for scientific computing, data
science, and machine learning. It is used by over thirty million people worldwide and is available for
Windows, macOS, and Linux. Gender classification system uses the version Anaconda 5.2.0.
3.3.4.1 FRONT END TOOL
HTML
HTML stands for Hyper Text Markup Language, which is the most widely used language on Web to
develop web pages. HTML was created by Berners-Lee in late 1991 but "HTML 2.0" was the first standard
HTML specification which was published in 1995. HTML 4.01 was a major version of HTML and it was
published in late 1999. Though HTML 4.01 version is widely used but currently we are having HTML-5
version which is an extension to HTML 4.01, and this version was published in 2012.
Originally, HTML was developed with the intent of defining the structure of documents like headings,
paragraphs, lists, and so forth to facilitate the sharing of scientific information between researchers. Now,
HTML is being widely used to format web pages with the help of different tags available in HTML
language.
36
Gender Classification from Facial Images Using ResNet
CSS3
Cascading Style Sheets (CSS) is a style sheet language used for describing the look and formatting of a
document written in a markup language. CSS3 is a latest standard of css earlier versions (CSS2). The main
difference between css2 and css3 is follows −

Media Queries

Namespaces

Selectors Level 3

Color
CSS3 modules
CSS3 is collaboration of CSS2 specifications and new specifications, we can call this collaboration
is module. Some of the modules are shown below −
[Type here]

Selectors

Box Model

Backgrounds

Image Values and Replaced Content

Text Effects

2D Transformations

3D Transformations

Animations

Multiple Column Layout

User Interface
Gender Classification from Facial Images Using ResNet
BootStrap
Bootstrap is a free, open source front-end development framework for the creation of websites and web
apps. Designed to enable responsive development of mobile-first websites, Bootstrap provides a collection
of syntax for template designs.
As a framework, Bootstrap includes the basics for responsive web development, so developers only need
to insert the code into a pre-defined grid system. The Bootstrap framework is built on Hypertext Markup
Language (HTML), cascading style sheets (CSS) and JavaScript. Web developers using Bootstrap can
build websites much faster without spending time worrying about basic commands and functions.
Bootstrap makes responsive web design a reality. It makes it possible for a web page or app to detect the
visitor's screen size and orientation and automatically adapt the display accordingly. The mobile-first
approach assumes smartphones, tablets and task-specific mobile apps are employees' primary tools for
getting work done. Bootstrap addresses the requirements of those technologies in design and
includes UI components, layouts, JavaScript tools and the implementation framework. The software is
available precompiled or as source code.
3.3.4.2 BACK END TOOL
Python
Python is an interpreted, object-oriented, high-level programming language with dynamic semantics. Its
high-level built in data structures, combined with dynamic typing and dynamic binding, make it very
attractive for Rapid Application Development, as well as for use as a scripting or glue language to connect
existing components together. Python's simple, easy to learn syntax emphasizes readability and therefore
reduces the cost of program maintenance. Python supports modules and packages, which encourages
program modularity and code reuse. The Python interpreter and the extensive standard library are available
in source or binary form without charge for all major platforms, and can be freely distributed.
38
Gender Classification from Facial Images Using ResNet
Python 3.6.5
Python 3.6 provides support for DTrace and SystemTap, brings a secrets module to the standard library,
introduces new string and number formats, and adds type annotations for variables. It also gives us easier
methods to customize the creation of subclasses.
Django
Django is a high-level Python web framework that enables rapid development of secure and maintainable
websites. Built by experienced developers, Django takes care of much of the hassle of web development,
so you can focus on writing your app without needing to reinvent the wheel. It is free and open source, has
a thriving and active community, great documentation, and many options for free and paid-for support.
Django helps you write software that is:

Complete
Django follows the "Batteries included" philosophy and provides almost everything developers might
want to do "out of the box". Because everything you need is part of the one "product", it all works
seamlessly together, follows consistent design principles, and has extensive and up-to-date
documentation.

Versatile
Django can be (and has been) used to build almost any type of website — from content management
systems and wikis, through to social networks and news sites. It can work with any client-side
framework, and can deliver content in almost any format (including HTML, RSS feeds, JSON, and
XML).
[Type here]
Gender Classification from Facial Images Using ResNet

Secure
Django helps developers avoid many common security mistakes by providing a framework that has
been engineered to "do the right things" to protect the website automatically. For example, Django
provides a secure way to manage user accounts and passwords, avoiding common mistakes like putting
session information in cookies where it is vulnerable (instead cookies just contain a key, and the actual
data is stored in the database) or directly storing passwords rather than a password hash.
 Scalable
Django uses a component-based "shared-nothing" architecture (each part of the architecture is
independent of the others, and can hence be replaced or changed if needed). Having a clear separation
between the different parts means that it can scale for increased traffic by adding hardware at any leve l:
caching servers, database servers, or application servers. Some of the busiest sites have successfully
scaled Django to meet their demands (e.g. Instagram and Disqus, to name just two).

Maintainable
Django code is written using design principles and patterns that encourage the creation of maintainable
and reusable code. In particular, it makes use of the Don't Repeat Yourself (DRY) principle so there is
no unnecessary duplication, reducing the amount of code. Django also promotes the grouping of related
functionality into reusable "applications" and, at a lower level, groups related code into modules.

Portable
Django is written in Python, which runs on many platforms. That means that you are not tied to any
particular server platform, and can run your applications on many flavors of Linux, Windows, and
macOS. Furthermore, Django is well-supported by many web hosting providers, who often provide
specific infrastructure and documentation for hosting Django sites.
40
Gender Classification from Facial Images Using ResNet
MySQL
It aims to make data management self-tuning, self-organizing, and self-maintaining with the development
of SQL Server Always On technologies, to provide near-zero downtime. SQL Server 2008 also includes
support for structured and semi-structured data, including digital media formats for pictures, audio, video
and other multimedia data. In current versions, such multimedia data can be stored as BLOBs (binary large
objects), but they are generic bit streams. Intrinsic awareness of multimedia data will allow specialized
functions to be performed on them. According to Paul Flessner, senior Vice President, Server Applications,
Microsoft Corp., SQL Server 2008 can be a data storage backend for different varieties of data as well as
perform search, query, analysis, sharing, and synchronization across all data types.
Other new data types include specialized date and time types and a spatial data type for location dependent
data. Better support for unstructured and semi-structured data is provided using the new FILESTREAM
data type, which can be used to reference any file stored on the file system. Structured data and metadata
about the file are stored in SQL Server database, whereas the unstructured component is stored in the file
system. Such files can be accessed both via Win32 file handling APIs 38 as well as via SQL Server using
T-SQL; doing the latter accesses the file data as a BLOB. Backing up and restoring the database backs up
or restores the referenced files as well. SQL Server 2008 also natively supports hierarchical data, and
includes T-SQL constructs to directly deal with them, without using recursive queries.
3.3.4.3 OPERATING SYSTEM
Windows 10
Windows 10 is a major release of the Windows NT operating system developed by Microsoft. It is the
successor to Windows 8.1, released nearly two years earlier, and was released to manufacturing on July 15,
2015, and broadly released for the general public on July 29, 2015. Windows 10 was made available for
download via MSDN and Technet, as a free upgrade for retail copies of Windows 8 and Windows 8.1 users
via the Windows Store, and to Windows 7 users via Windows Update. Windows 10 receives new builds on
an ongoing basis, which are available at no additional cost to users, in addition to additional test builds of
[Type here]
Gender Classification from Facial Images Using ResNet
Windows 10, which are available to Windows Insiders. Devices in enterprise environments can receive
these updates at a slower pace, or use long-term support milestones that only receive critical updates, such
as security patches, over their ten-year lifespan of extended support.
Windows 10 received mostly positive reviews upon its original release. Critics praised Microsoft's decision
to provide a desktop-oriented interface in line with previous versions of Windows, contrasting the tabletoriented approach of Windows 8, although Windows 10's touch-oriented user interface mode was criticized
for containing regressions upon the touch-oriented interface of its predecessor. Critics also praised the
improvements to Windows 10's bundled software over Windows 8.1, Xbox Live integration, as well as the
functionality and capabilities of the Cortana personal assistant and the replacement of Internet Explorer
with Microsoft Edge. However, media outlets have been critical of the changes to operating system
behaviours, including mandatory update installation, privacy concerns over data collection performed by
the OS for Microsoft and its partners, and adware-esque tactics used to promote the operating system on its
release.
42
Gender Classification from Facial Images Using ResNet
3.4 SYSTEM IMPLEMENTATION
3.4.1 INTRODUCTION
Implementation is an activity that is contained throughout the development phase. It is a process of bringing
a developed system into operational use and turning it over to the user. The new system and its components
are to be tested in a structured and planned manner. A successful system should be delivered and users
should have confidence that the system would work efficiently and effectively. The more complex the
system being implemented the more involved will be the system analysis and design effort required for
implementation. The major activities in implementation plan are cost estimation, schedule and milestone
determination, project staffing, quality control plans, and controlling and monitoring plans. The
implementation plan involves the following:

Testing to confirm effectiveness.

Detection and correction of errors.
Implementation means converting a new design into operation. During implementation there has to be a
strong interaction between the developer and the users. This is the phase where the new system is given full
chance to prove its worth and to minimize the reluctance to change. The proposed system may be entirely
new, replacing an existing one or it may be a modification to the existing system. In either case, proper
implementation is necessary to provide a reliable system to meet organizational requirements.
3.4.2 CODING
A code is an ordered collection symbols to provide unique identification of data. The following are
characters of a good code generation. Characteristics of good coding are:

Uniqueness

Meaningfulness

Stability
[Type here]
Gender Classification from Facial Images Using ResNet

Uniform Size and Format

Simplicity

Conciseness

Versatility
The goal of the coding or programming phase is to translate the design of the system produced during the
design phase into code in a given programming language, which can be executed by a computer and that
performs the computation specified by the design. The coding phase affects both testing and maintenance
profoundly. As we saw earlier, the time spent in coding is a small percentage of the total software cost,
while testing and maintenance consume the major percentage. Thus it should be clear the goal during coding
should not be to reduce the implementation cost, but the goal should be to reduce the cost of later phases,
even if it means that the cost of this phase has to increase. In other words, the goal during this phase is not
to simplify the job of the programmer. Rather the goal should be to simplify the job of the tester and the
maintainer.
3.4.2.1 CODING STANDARDS
Once the system was tested, the implementation phase started. Crucial phase in the system development
life cycle is successful implementation of new system design. Implementation simply means converting
new system design into operation. This is the moment of truth the first question that strikes in everyone’s
mind that whether the system will be able to give all the desired result as accepted from system. Prior to
starting the project implementation process project must have successfully completed the project evaluation
process and the project has been approved for implementation. The project evaluation process includes
performing a needs analysis and architecture review. The implementation phase of the software design
consists of different tasks to be done sequentially for obtaining the desired result.
44
Gender Classification from Facial Images Using ResNet
3.4.2.2 SAMPLE CODES
manage.py
#!/usr/bin/env python
"""Django's command-line utility for administrative tasks."""
import os
import sys
def main():
"""Run administrative tasks."""
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'genderclassification.settings')
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
) from exc
execute_from_command_line(sys.argv)
if
name
[Type here]
== ' main ':
Gender Classification from Facial Images Using ResNet
main()
views.py
from django.http import HttpResponse,HttpResponseRedirect
from django.shortcuts import render
from django.shortcuts import redirect
from django.urls import reverse
from django.core.files.storage import FileSystemStorage
import datetime
from .models import *
import os
def first(request):
return render(request,'index.html')
def index(request):
return render(request,'index.html')
def register(request):
return render(request,'register.html')
def registration(request):
if request.method=="POST":
name=request.POST.get('name')
46
Gender Classification from Facial Images Using ResNet
age=request.POST.get('age')
email=request.POST.get('email')
phone=request.POST.get('phone')
password=request.POST.get('password')
reg=registerr(name=name,age=age,email=email,phone=phone,password=password)
reg.save()
return render(request,'index.html',{'status': 'Register Successfully'})
def login(request):
return render(request,'login.html')
def addlogin(request):
email = request.POST.get('email')
password = request.POST.get('password')
if registerr.objects.filter(email=email,password=password).exists():
var=registerr.objects.get(email=email, password=password)
request.session['user_id']=var.id
return render(request,'index.html')
else:
return render(request, 'login.html', {'status': 'invalid email or password'})
def logout(request):
[Type here]
Gender Classification from Facial Images Using ResNet
session_keys = list(request.session.keys())
for key in session_keys:
del request.session[key]
return redirect(first)
def classify(request):
return render(request,'classify.html')
def addimg(request):
if request.method=="POST":
image = request.FILES['image']
try:
os.remove("media/input/test.mp4")
except:
pass
fs = FileSystemStorage()
#image = fs.save(image.name,image)
image = fs.save("input/test.mp4",image)
os.system("python test_video.py")
cus=imagess(image=image)
cus.save()
48
Gender Classification from Facial Images Using ResNet
return render(request,'index.html')
def webcam(request):
os.system("python test_webcam.py")
##return render(request,'camera.html')
return redirect(index)
001_initial.py
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='registerr',
fields=[
('id',
models.BigAutoField(auto_created=True,
verbose_name='ID')),
('name', models.CharField(max_length=150)),
('age', models.CharField(max_length=150)),
('email', models.CharField(max_length=150)),
[Type here]
primary_key=True,
serialize=False,
Gender Classification from Facial Images Using ResNet
('phone', models.CharField(max_length=150)),
('password', models.CharField(max_length=150)),
],
),
]
0002_imagess.py
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('genderclassification', '0001_initial'),
]
operations = [
migrations.CreateModel(
name='imagess',
fields=[
('id',
models.BigAutoField(auto_created=True,
primary_key=True,
serialize=False,
verbose_name='ID')),
('image', models.FileField(max_length=200, upload_to='')),
],
),
]
50
Gender Classification from Facial Images Using ResNet
testvideo.py
import cv2
import numpy as np
from keras.preprocessing.image import img_to_array
import os
path=""
video = cv2.VideoCapture("media/input/test.mp4")
if (video.isOpened() == False):
print("Error reading video file")
#gender labels...
gender_class = ["man", "woman"]
#loading face detection model
prototxtPath = os.path.sep.join([path+"face_model", "deploy.prototxt"])
weightsPath = os.path.sep.join([path+"face_model","res10_300x300_ssd_iter_140000.caffemodel"])
faceNet = cv2.dnn.readNet(prototxtPath, weightsPath)
#loading gender model
gender_model = load_model(path+"gender.hdf5")
def preprocess_img(image):
image = cv2.resize(image, (96,96))
image = image.astype("float") / 255.0
[Type here]
Gender Classification from Facial Images Using ResNet
image = img_to_array(image)
image = np.expand_dims(image, axis=0)
return image
while True:
ret, image = video.read()
if ret:
output = np.copy(image)
#image = cv2.resize(image, (480,640))
#image = image.astype("float") / 255.0
#image = img_to_array(image)
#image = np.expand_dims(image, axis=0)
print(image.shape)
#detecting faces in a frame...
(h, w) = image.shape[:2]
blob = cv2.dnn.blobFromImage(image, 1.0, (300, 300),(104.0, 177.0, 123.0))
faceNet.setInput(blob)
detections = faceNet.forward()
#processing detected faces..
for i in range(0, detections.shape[2]):
confidence = detections[0, 0, i, 2]
if confidence > 0.5:
52
Gender Classification from Facial Images Using ResNet
box = detections[0, 0, i, 3:7] * np.array([w, h, w, h])
(startX, startY, endX, endY) = box.astype("int")
face = image[startY:endY, startX:endX]
try:
#preprocessing detected face..
face=preprocess_img(face)
except:
pass
###gender classification
gender_pred = gender_model.predict(face)[0]
print("Predicted gender index:",gender_pred)
gender_index=np.argmax(gender_pred)
gender = gender_class[gender_index]
text = "Gender: {} ".format(gender)
y = startY - 10 if startY - 10 > 10 else startY + 10
cv2.rectangle(output, (startX, startY), (endX, endY),
(0, 0, 255), 2)
cv2.putText(output, text, (startX, y),cv2.FONT_HERSHEY_SIMPLEX, 0.45,
(0, 0, 255), 2)
cv2.imshow("Gender", output)
cv2.waitKey(1)
[Type here]
Gender Classification from Facial Images Using ResNet
if cv2.waitKey(1) & 0xFF == ord('s'):
break
else:
break
cv2.destroyAllWindows()
test_webcam.py
import cv2
import numpy as np
from keras.preprocessing.image import img_to_array
from keras.models import load_model
import os
path=""
video = cv2.VideoCapture(0)
if (video.isOpened() == False):
print("Error reading video file")
#gender labels...
gender_class = ["man", "woman"]
#loading face detection model
prototxtPath = os.path.sep.join([path+"face_model", "deploy.prototxt"])
weightsPath = os.path.sep.join([path+"face_model","res10_300x300_ssd_iter_140000.caffemodel"])
faceNet = cv2.dnn.readNet(prototxtPath, weightsPath)
54
Gender Classification from Facial Images Using ResNet
#loading gender model
gender_model = load_model(path+"gender.hdf5")
def preprocess_img(image):
image = cv2.resize(image, (96,96))
image = image.astype("float") / 255.0
image = img_to_array(image)
image = np.expand_dims(image, axis=0)
return image
while True:
ret, image = video.read()
if ret:
output = np.copy(image)
#image = cv2.resize(image, (480,640))
#image = image.astype("float") / 255.0
#image = img_to_array(image)
#image = np.expand_dims(image, axis=0)
print(image.shape)
#detecting faces in a frame...
(h, w) = image.shape[:2]
blob = cv2.dnn.blobFromImage(image, 1.0, (300, 300),(104.0, 177.0, 123.0))
faceNet.setInput(blob)
[Type here]
Gender Classification from Facial Images Using ResNet
detections = faceNet.forward()
#processing detected faces..
for i in range(0, detections.shape[2]):
confidence = detections[0, 0, i, 2]
if confidence > 0.5:
box = detections[0, 0, i, 3:7] * np.array([w, h, w, h])
(startX, startY, endX, endY) = box.astype("int")
face = image[startY:endY, startX:endX]
try:
#preprocessing detected face..
face=preprocess_img(face)
except:
pass
###gender classification
gender_pred = gender_model.predict(face)[0]
print("Predicted gender index:",gender_pred)
gender_index=np.argmax(gender_pred)
gender = gender_class[gender_index]
text = "Gender: {} ".format(gender)
y = startY - 10 if startY - 10 > 10 else startY + 10
cv2.rectangle(output, (startX, startY), (endX, endY),
56
Gender Classification from Facial Images Using ResNet
(0, 0, 255), 2)
cv2.putText(output, text, (startX, y),cv2.FONT_HERSHEY_SIMPLEX,
0.45, (0, 0, 255), 2)
cv2.imshow("Gender", output)
cv2.waitKey(1)
if cv2.waitKey(1) & 0xFF == ord('s'):
break
else:
break
cv2.destroyAllWindows()
3.4.2.3 CODE VALIDATION AND CODE OPTIMIZATION
Validation is the process of evaluating software at the end of the software development to ensure
compliance with software requirements. Testing is a common method for validation. Validation succeeds
when the software functions in a manner that can be reasonably expected by the customer. Form data
validation comes in a couple different forms. Data can be validated at the field level when it is entered by
the user, and it can be validated at the form level (i.e, all fields) when the form is submitted or printed.
These types of validation have different, complimentary purposes and for a complete form design it’s a
good practice to use a combination of the two methods.

Field level validation: The purpose of Field Level Validation is to verify that the input to a single
field is entered correctly. For example, for an e-mail field, the job of the validation script is to make
sure the entered text matches the standard email format, i.e., two sets of strings separated by an “@”
symbol and also to check whether there is a dot(.) separating the domain name. The most common
way to implement a text pattern test like this is to use a regular expression. Most of the time
validation scripts are used to match input text against a pattern using a regular expression.
[Type here]
Gender Classification from Facial Images Using ResNet

Form level validation: Form level validation is used to ensure all the required form data is filled
in, and or to make sure that any data dependencies between fields are met before the form is
submitted.
3.4.3 UNIT TESTING
Unit testing is a level of software testing where individual units/ components of a software are tested. The
purpose is to validate that each unit of the software performs as designed. A unit is the smallest testable
part of any software. It usually has one or a few inputs and usually a single output. In procedural
programming, a unit may be an individual program, function, procedure, etc. In object oriented
programming, the smallest unit is a method, which may belong to a base/ super class, abstract class or
derived/ child class. (Some treat a module of an application as a unit. This is to be discouraged as there will
probably be many individual units within that module.) Unit testing frameworks, drivers, stubs, and mock
objects are used to assist in unit testing. It is performed by using the White Box Testing method. Unit
Testing is the first level of software testing and is performed prior to Integration Testing. It is normally
performed by software developers themselves or their peers. In rare cases, it may also be performed by
independent software testers.
Unit Testing Benefits:
• Unit testing increases confidence in changing/ maintaining code. If good unit tests are written and if they
are run every time any code is changed, we will be able to promptly catch any defects introduced due to the
change. Also, if codes are already made less interdependent to make unit testing possible, the unintended
impact of changes to any code is less.
• Codes are more reusable. In order to make unit testing possible, codes need to be modular. This means
that codes are easier to reuse.
• Development is faster. Writing tests takes time but the time is compensated by the less amount of time it
takes to run the tests. Unit tests are more reliable than ‘developer tests’. Development is faster in the long
58
Gender Classification from Facial Images Using ResNet
run too. The effort required to find and fix defects found during unit testing is very less in comparison to
the effort required to fix defects found during system testing or acceptance testing.
• The cost of fixing a defect detected during unit testing is lesser in comparison to that of defects detected
at higher levels. Compare the cost (time, effort, destruction, humiliation) of a defect detected during
acceptance testing or when the software is live.
• Debugging is easy. When a test fails, only the latest changes need to be debugged. With testing at higher
levels, changes made over the span of several days/weeks/months need to be scanned.
• Codes are more reliable.
3.4.3.1 TEST PLAN & TEST CASES
A specific set of steps and data along with expected results for a particular test objective. A test case should
only test one limited subset of a future or functionality. Test case documents for each functionality/testing
area of our project is written, reviewed and maintained separately. Test cases that check error conditions
are written separately from the functional test cases and should have steps to verify the error messages.
[Type here]
Gender Classification from Facial Images Using ResNet
CHAPTER 4
RESULTS AND DISCUSSION
60
Gender Classification from Facial Images Using ResNet
RESULTS AND DISCUSSIONS
The proposed system is implemented on a dataset consisting a total of 58,662 facial images. Of these the
training dataset consist of 47,013 facial images. In the training dataset, there are 23,247 images of female
and 23,766 images of male. The testing dataset includes 11,649 face images. In the testing dataset there
are 5841 images of female and 5808 images of male. The face images are frontal face images with both
smiling and non-smiling expressions. Some of the face images are also side view images. The model
trained using resNet after fitting has the following output.
loss: 0.9776
acc: 0.9109
val_loss: 1.2345
val_acc: 0.8781
The model has an accuracy of 91%. The accuracy can further be increased by including more images in
the training dataset.
[Type here]
Gender Classification from Facial Images Using ResNet
CHAPTER 5
CONCLUSION
62
Gender Classification from Facial Images Using ResNet
CONCLUSION
Thus, it is concluded that in this project “Gender Classification from Facial Images using ResNet ” ResNet
can be effectively used for gender identification. A real time image or an uploaded video can be processed
very quickly to provide precise results. A web application is integrated into the model, from where you can
upload a video or capture from web camera and see the analysed results on User Interface. System will
read the image uploaded by the user, augment it and will use the saved custom model to identify the gender
and thus display the result in a user-friendly language. In gender classification or recognition, only few
works have been reported. ResNet can be used to build an efficient system for gender classification that
has wide range of applications in human-machine interactions, security, law enforcement, demographics
studies, psychiatry, education and telecommunication, etc.
[Type here]
Gender Classification from Facial Images Using ResNet
CHAPTER 6
REFERENCES
64
Gender Classification from Facial Images Using ResNet
REFERENCES
1. S. Haseena,1 S. Saroja, R. Madavan, Alagar Karthick, Bhaskar Pant, Melkamu Kifetew,
“Prediction of the Age and Gender Based on Human Face Images Based on Deep Learning
Algorithm”, Hindawi Computational and Mathematical Methods in Medicine Volume 2022.
2. Devvi Sarwindaa, Radifa Hilya Paradisaa, Alhadi Bustamama, Pinkie Anggia ,“Deep Learning in
Image Classification using Residual Network (ResNet) Variants for Detection of Colorectal
Cancer”, 5th International Conference on Computer Science and Computational Intelligence 2020.
3. Chitra Desai, “Image Classification Using Transfer Learning and Deep Learning”, International
Journal of Engineering And Computer Science Volume 10 Issue 9 September 2021.
4. Arnulf B. A. Graf and Felix A. Wichmann, “Gender Classification of Human Faces”, Max Planck
Institute for Biological Cybernetics Spemannstrasse 2020.
5. Hanting Chen, Yunhe Wang, Tianyu Guo, Chang Xu, Yiping Deng, Zhenhua Liu, Siwei Ma,
Chunjing Xu, Chao Xu, Wen Gao, “ Pre-Trained Image Processing Transformer”, Proceedings of
the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2021.
6. Andy Brock, Soham De, Samuel L Smith, Karen Simonyan, “High-Performance Large-Scale Image
Recognition Without Normalization”, Proceedings of the 38th International Conference on Machine
Learning, 2021.
7. Shekoofeh Azizi, Basil Mustafa, Fiona Ryan, Zachary Beaver, Jan Freyberg,Jonathan Deaton,
Aaron Loh, Alan Karthikesalingam, Simon Kornblith, Ting Chen, Vivek Natarajan, Mohammad
Norouzi, “Big Self-Supervised Models Advance Medical Image Classification”, Proceedings of the
IEEE/CVF International Conference on Computer Vision (ICCV), 2021.
8. “ResMLP: Feedforward Networks for Image Classification with Data-Efficient Training”, IEEE
Transactions on Pattern Analysis and Machine Intelligence Volume: 45, Issue: 4, 01 April 2023.
9. Farshid Ashtiani, Alexander J. Geers & Firooz Aflatouni, “An on-chip photonic deep neural
network for image classification”, Nature volume 606, 01 June 2022.
10. Chandrakamal Sinha, “Gender classification from facial images using PCA and SVM”, Department
of Biotechnology and Medical Engineering, NIT, Rourkela, 2013.
[Type here]
Gender Classification from Facial Images Using ResNet
BIBLOGRAPHY
66
Gender Classification from Facial Images Using ResNet
BIBLIOGRAPHY

Marvin Gore & John Stubbe -Elements Of System Analysis, Fourth Edition, Galgotia Book Source.

K K Aggarwal, Yogesh Singh - Software Engineering,Third Edition, New Age International
Publications.

Roger S Pressman - Software Engineering: A Practitioner's Approach, Sixth Edition, McGraw-Hill
Higher Education.

Ian Sommerville - Software Engineering, Seventh Edition, Pearson Education

Ramez Elmasri and Shamkant B.Bavathe - DATABASE SYSTEMS , Sixth Edition, Pearson
Education.

David Flanagan – JavaScript: The definitive guide, First Edition, O’Reilly Media.

Ramesh Bangia – Learning SQL, First Edition.

datagen.tech.com

Deep Learning (Adaptive Computation and Machine Learning series) by Ian Goodfellow, Yoshua
Bengio, Aaron Courville, Francis Bach.

Deep Learning for Natural Language Processing: Applications of Deep Neural Networks to
Machine Learning Tasks by Pearson Learn IT.

Deep Learning with Python by Francois Chollet.

Think Python: How to Think Like a Computer Scientist by Allen B Downey.

Python Crash Course, 2nd Edition: A Hands-On, Project-Based Introduction to Programming by
Eric Matthes.

Python for Beginners: A Crash Course Guide to Learn Python in 1 Week by Timothy C Needham.

www.hackr.io.com

www.edX.org.com

www.w3schools.com

Django for Beginners: Build websites with Python and Django by Willian Vincent.

Two Scoops of Django: Best Practices for Django 1.8 by Audrey Roy Greenfield.

www.geeksforgeeks.com

https://viso.ai.com

Learning Bootstrap by Ulrich Soosou.

Bootstrap : Responsive Web Development by Jack Spurlock.
[Type here]
Gender Classification from Facial Images Using ResNet
APPENDIX
68
Gender Classification from Facial Images Using ResNet
INPUT DESIGNS
REGISTER
LOGIN
UPLOAD
[Type here]
Gender Classification from Facial Images Using ResNet
70
Gender Classification from Facial Images Using ResNet
OUTPUT DESIGNS
[Type here]
Gender Classification from Facial Images Using ResNet
TRAINING AND FITTING THE MODEL
import pandas as pd
import matplotlib.pyplot as plt
import cv2
from tensorflow.python.keras.applications import ResNet50
from tensorflow.python.keras.models import Sequential
from tensorflow.keras.optimizers import Adam
from keras.applications.resnet50 import ResNet50
from keras.models import Model
import keras
from keras.layers import Dense, Dropout, InputLayer, GlobalAveragePooling2D, LeakyReLU,Flatten
from keras.models import Sequential
from keras import optimizers
from keras.applications.resnet50 import preprocess_input
from keras.preprocessing.image import ImageDataGenerator
data_generator = ImageDataGenerator(preprocessing_function=preprocess_input)
train_generator = data_generator.flow_from_directory(
'dataset/Training',
target_size=(200,150),
batch_size=64,
class_mode='categorical')
validation_generator = data_generator.flow_from_directory(
'dataset/Validation',
target_size=(200,150),
batch_size=64,
class_mode='categorical')
# Load the ResNet50 model without the top layer
resnet50 = ResNet50(input_shape=(200, 150, 3), include_top=False, weights='imagenet')
72
Gender Classification from Facial Images Using ResNet
# Freeze the layers of the ResNet50 model
for layer in resnet50.layers:
layer.trainable = False
# Add a new top layer for binary classification
x = resnet50.output
x = Flatten()(x)
x = Dense(256, activation='relu')(x)
x = Dropout(0.5)(x)
predictions = Dense(2, activation='sigmoid')(x)
model = Model(inputs=resnet50.input, outputs=predictions)
# Compile the model with Adam optimizer and binary crossentropy loss
model.compile(loss = 'binary_crossentropy', optimizer = 'adam', metrics = ['accuracy'])
fit_history = model.fit_generator(
train_generator,
steps_per_epoch=5,
epochs = 5,
validation_data=validation_generator,
validation_steps=10
model.save('gender.hdf5')
[Type here]
Gender Classification from Facial Images Using ResNet
SYSTEM TESTING
INTRODUCTION
Once source code can be generated, software must be tested to uncover (and correct) as many errors as
possible before delivery to customer. Our goal is to design a series of test cases that have a high likelihood
of finding errors. To uncover the errors software techniques are used. These techniques provide systematic
guidance for designing test that exercise the internal logic of software components, and exercise the input
and output domains of the program to uncover errors in program function, behaviour and performance.
Software is tested from two different perspectives:
• Internal program logic is exercised using - white box/ test case design techniques.
• Software requirements are exercised using – black box/ test case design techniques.
In both cases, the intent is to find the maximum number of errors with the minimum amount of effort and
time.
INTEGRATION TESTING
The purpose of integration testing is to verify functional, performance and reliability requirements placed
on major design items. These “design items”, a group of units, are exercised through their interfaces using
black box testing, success and error cases being simulated via appropriate parameter and data inputs.
Simulated usage of shared data areas and inter-process communication is tested, and individual subsystems
are exercised through their input interfaces. Test cases are constructed to test whether all the components
within assemblages interact correctly, for example across procedure calls or procedure activations, and this
is done after testing individual modules, i.e. unit testing. The overall idea is a “building block” approach,
in which verified assemblages are added to a verified base which is then used to support the integration
testing of further assemblages. Some different types of integration testing are big bang, top-down and
bottom-up. Other integration patterns are: Collaboration Integration, Backbone Integration, Layer
Integration, Client/Server integration, distributed service Integration and High-frequency Integration.
74
Gender Classification from Facial Images Using ResNet
BIG BANG
In this approach, all or most of the modules are coupled together to form a complete software system or
major part of the system and then used for integration testing. The big bang method is very effective for
saving time in the integration testing process. However, if the test cases and their results are not recorded
properly, the entire integration process will be more complicated and may prevent the testing team from
achieving the goal of Integration testing. A type of Big Bang Integration testing is called Usage Model
Testing can be used in both software and hardware integration testing. The basis behind this type of
integration testing is to run user-like environments. In doing the testing in this manner, the environment is
proofed, while the individual components are proofed indirectly through their use. Usage Model testing
takes on optimistic approach to testing, because it expects to have few problems with the individual
components. The strategy relies heavily on the component developers to do the isolated unit testing for their
product. The goal of the strategy is to avoid redoing the testing done by the developers, and instead fleshout problems caused by the interaction of the components in the environment. For integration testing, Usage
Model testing can be more efficient and provides better test than traditional focused functional integration
testing. To be more efficient and accurate, care must be used in defining the user-like workloads for creating
realistic scenarios in exercising the environment. This gives confident that the integrated environment wi ll
work as expected for the target customers.
TOP-DOWN AND BOTTOM-UP
Bottom-up testing is an approach to integrated testing where the lowest level components are tested first,
then used to facilitate the testing of higher-level components. This process is repeated until the component
at the top of the hierarchy is tested. All the bottom or low-level modules, procedures or functions are
integrated and then tested. After the integration testing of lower level integrated modules, the next level of
modules will be formed and can be used for integration testing. This approach is helpful only when all or
most of the modules of the same development level are ready. This method also helps to determine the
levels of software developed and makes it easier to report testing progress in the form of percentage. Top
down testing is an approach to integrated testing where the top integrated modules are tested, and branch
[Type here]
Gender Classification from Facial Images Using ResNet
of the module is tested step by step until the end of the related module. Sandwich Testing is an approach to
combine top down testing with bottom up testing. The main advantage of the bottom-up approach is that
bugs are more easily found. With top-down, it is easier to find a missing branch link.
SYSTEM TESTING
System Testing is the type of software testing that is performed on a complete integrated system to evaluate
the compliance of the system with the corresponding requirements. In system testing, integration testing
passed components are taken as input. The goal of integration testing is to detect any irregularity between
the units that are integrated together. System testing detects defects within both the integrated units and the
whole system. The result of system testing is the observed behaviour of a component or a system when it
is tested. System Testing is carried out on the whole system in the context of either system requirement
specifications or functional requirement specification or in the context of both. System testing tests the
design and behaviour of the system and the expectations of the customer. It is performed to test the system
beyond the bounds mentioned in the software requirement specification (SRS). System Testing is basically
performed by a testing team that is independent of the development team that helps to best the quality of
the system impartial. It has both functional and non-functional testing. System Testing is a Black-box
testing. System Testing is performed after the integration testing and before the acceptance testing.
76
Gender Classification from Facial Images Using ResNet
SYSTEM MAINTENANCE
INTRODUCTION
The results obtained from the evaluation process help the organization to determine whether its information
systems are effective and efficient or otherwise. The process of monitoring, evaluating, and modifying of
existing information systems to make required or desirable improvements may be termed as System
Maintenance. System maintenance is an ongoing activity, which covers a wide variety of activities,
including removing program and design errors, updating documentation and test data and updating user
support. For the purpose of convenience, maintenance may be categorized into three classes, namely:
i)
Corrective Maintenance: This type of maintenance implies removing errors in a program, which
might have crept in the system due to faulty design or wrong assumptions. Thus, in corrective
maintenance, processing or performance failures are repaired.
ii)
Adaptive Maintenance: In adaptive maintenance, program functions are changed to enable the
information system to satisfy the information needs of the user. This type of maintenance may
become necessary because of organizational changes which may include:
a) Change in the organizational procedures.
b) Change in organizational objectives, goals.
c) Change in forms.
d) Change in information needs of managers.
e) Change in system controls and security needs, etc.
iii)
Perfective Maintenance: Perfective maintenance means adding new programs or modifying the
existing programs to enhance the performance of the information system. This type of maintenance
undertaken to respond to user’s additional needs which may be due to the changes within or outside of the
organization. Outside changes are primarily environmental changes, which may in the absence of system
[Type here]
Gender Classification from Facial Images Using ResNet
maintenance, render the information system ineffective and inefficient. These environmental changes
include:
a) Changes in governmental policies, laws, etc.
b) Economic and competitive conditions.
c) New-technology.
MAINTENANCE
The maintenance phase of the software cycle is the time in which a software product performs useful work.
After a system is successfully implemented, it should be maintained in proper manner. System maintenance
is an important aspect in the software development life cycle. The need for system maintenance is to make
it adaptable to the changes in the system environment. They may be social technical and other environment
changes which affect a system which is implemented. Software product enhancement may involve
providing new functional capabilities, improving user displace and mode of interaction, upgrading the
performance characteristics of the system. Only through proper system maintenance procedures, system
can be adapted to cope up with this change. Software maintenance is of course far than “Finding mistakes”.
We may define maintenance by describing four activities that are undertaken to after a program is released.
The first maintenance activity occurs became it is unreasonable to assume that software texting will
uncover errors in a large software system. During the use of any large program, errors will occur and report
to the developer. The process that includes the diagnosis and correction of one or more errors is called
corrective measures.
The second activity that contributes to a definition of maintenance occurs because of the rapid change that
is encountered in every aspect of computing. Therefore maintenance is an activity that modifies software
to properly interface with a changing environment id both necessary and common place.
78
Gender Classification from Facial Images Using ResNet
Third activity that may apply to a definition of maintenance occurs when a software package is successful.
As the software is used, recommendations for new capabilities, modifications to existing functions and
general enhancements are received from users. To satisfy requests in this category, perfective maintenance
is performed. This activity accounts for the majority of all efforts expended on software maintenance.
The fourth maintenance activity occurs when software is changed to improve future maintainability or
reliability, to provide a better basis for future enhancements. Often called preventive maintenance, this
activity is characterized by reverse engineering and reengineering techniques.
[Type here]
Gender Classification from Facial Images Using ResNet
SYSTEM SECURITY MEASURES
INTRODUCTION
Security applied to computing devices such as computers and smartphones, as well as computer networks
such as private and public networks, including the whole Internet. The field covers all the processes and
mechanisms by which digital equipment, information and services are protected from unintended or
unauthorized access, change or destruction, and is of growing importance in line with the increasing
reliance on computer systems of most societies worldwide. Computer security includes measures taken to
ensure the integrity of files stored on a computer or server as well as measures taken to prevent unauthorized
access to stored data, by securing the physical perimeter of the computer equipment, authentication of users
or computer accounts accessing the data, and providing a transmission. The variety of threats combined
with the rapid development of new threats has made cyber insecurity and the removal of information
assurance the 'status quo'. As long as man continues to use the computer, man will also takes interest in
manipulating, modifying, creating and bypassing 'rules' and 'security standards.'
OPERATING SYSTEM LEVEL SECURITY
Operating system security (OS security) is the process of ensuring OS integrity, confidentiality and
availability. OS security refers to specified steps or measures used to protect the OS from threats, viruses,
worms, malware or remote hacker intrusions. OS security encompasses all preventive-control techniques,
which safeguard any computer assets capable of being stolen, edited or deleted if OS security is
compromised. OS security encompasses many different techniques and methods which ensure safety from
threats and attacks. OS security allows different applications and programs to perform required tasks and
stop unauthorized interference. OS security may be approached in many ways, including adherence to the
following:
•
Performing regular OS patch updates  Installing updated antivirus engines and software.
•
Scrutinizing all incoming and outgoing network traffic through a firewall.
•
Creating secure accounts with required privileges only (i.e., user management).
80
Gender Classification from Facial Images Using ResNet
SYSTEM LEVEL SECURITY
System-level security refers to the architecture, policy and processes that ensure data and system security
on individual computer systems. It facilitates the security of standalone and/or network computer
systems/servers from events and processes that can exploit or violate its security or stature. System-level
security is part of a multi-layered security approach in which information security (IS) is implemented on
an IT infrastructure's different components, layers or levels. Systemlevel security is typically implemented
on end-user computer and server nodes. It ensures that system access is granted only to legitimate and
trusted individuals and applications. The key objective behind system-level security is to keep system
secure, regardless of security policies and processes at other levels. If other layers or levels are breached,
the system must have the ability to protect itself. Methods used to implement system-level security are
user/ID login credentials, antivirus and system-level firewall applications.
[Type here]
Gender Classification from Facial Images Using ResNet
SYSTEM PLANNING AND SCHEDULING
INTRODUCTION
Advanced Planning and Scheduling improves the synchronization of manufacturing processes and provides
greater visibility to increase utilization and on-time delivery while reducing inventory levels and waste. Its
advanced math enables manufacturers to quickly analyse and calculate achievable production schedules
while considering multiple constraints and business rules. Planners can generate and evaluate what-if
scenarios to achieve the best results.
PLANNING A SOFTWARE PROJECT
Steps involved in planning a system:
1. Plan schedule management
The groundwork for a good project schedule is to establish the procedures, company policies, and
documentation guidelines that will govern your project. The plan for schedule management outlines
resources available for the project and the contingencies that may arise. It also lists project stakeholders,
itemizes individuals who must approve the schedule, and lists others who need to receive a copy.
2. Define the project activities
This can be as simple as creating a list of tasks that must be completed in order to deliver your project.
In the case of complex projects, it may be helpful to organize these tasks in the form of at, a chart
visualizing tasks and their sub-tasks and to stay organized at work.
3.
Determine dependencies
Once you have all the project activities listed, think through each one carefully to identify which tasks
rely on others to be completed. If you’re building a house, for example, you can’t put the roof on until
the frame is completed. It’s important to correctly define all your dependencies so you can schedule
accurately and avoid project delays.
82
Gender Classification from Facial Images Using ResNet
4. Sequence activities.
After you’ve established project dependencies among your activities, you can sequence them. At this
point, you aren’t assigning any time to your activities in terms of work hours or due dates. Instead,
you’re focusing on the order in which all project activities should be done so that the most efficient
flow is created.
5. Estimate resources
Each activity in your project will require resources in the form of personnel, subcontractor costs, tools
(physical and/or digital tools like software programs), and workspace. Make sure to consider other
resources that are specific to your industry or project. Estimate the resources needed for each project
activity.
6. Estimate durations
This step is pretty obvious but very important. How long will each project activity take?
Underestimating will, of course, put you behind schedule and ultimately frustrate your customer.
Overestimating could leave team members or other resources sitting idle as they wait for antecedent
tasks to be completed. The best way to estimate duration is to use data from similar previous jobs. If
you don’t have any data to work from and there’s no industry standard to which you can refer, an
estimate based on the average of the best, worst, and most likely scenarios.
7. Develop the project schedule
At this point, you should have all the information you need to develop your project schedule. Taking
into consideration the duration and resource requirements of each activity, as well as their dependencies
and proper sequence, you can assign start dates and due dates for each activity. There are multiple
models and formulas for developing the project schedule, including critical path, critical chain, and
resource levelling among others. Each of those methods is worthy of an article in itself, so we won’t
cover them here. Take the time to find a method that works well for you. For example, Don’t ignore the
calendar! Check vacation requests from team members. Don’t forget to include factors like national
[Type here]
Gender Classification from Facial Images Using ResNet
holidays, corporate functions, stakeholder events, and other occasions that may affect your schedule. If
the whole company shuts down for a holiday week, you’ll need to add that time to your due dates and
manage customer expectations accordingly.
8.
Monitor and control
Unlike the rest of the project scheduling steps, Step 8 is ongoing. As a project manager, you’ll be
monitoring and controlling your project schedule for the duration of the project. This step involves
running reports and assessing the progress of a project against the schedule, managing performance,
and communicating with the team. When schedule changes must be made, you ensure they are carried
out and communicated according to the plan laid out in Step 1. Throughout the project, you will ensure
that each activity is on schedule and determine whether corrective action needs to be taken if delays
occur.
84
Gender Classification from Facial Images Using ResNet
GANTT CHART
JAN 1-5
JAN 6-20
JAN 21FEB 10
FEB 11-25
FEB 26 MAR 7
MAR 8-16
MAR 17-22
Initial
investigation
Study of existing
system
Design
Coding
Testing
Implementation
Documentation
PERT CHART
Another planning and controlling tool is the Program Evaluation Review Technique(PERT).This tool can also be
referred to as the Critical Path Method(CPM).PERT can identifies the critical path for the project. The critical path
is the sequence of tasks where there is no slack time. This only applies if there are tasks that can be completed in
parallel.
[Type here]
Gender Classification from Facial Images Using ResNet
TASK NAME
ACTIVITY DESCRIPTION
A
Recognition of need
B
Feasibility study
C
Analysis
D
Design
E
Coding
F
Testing
G
Operate & Maintenance
H
Write Documentation
The nodes represent the tasks involved as depicted in the above table.
A
B
C
D
E
F
G
H
Fig 9.2 Pert chart
86
Gender Classification from Facial Images Using ResNet
SYSTEM COST ESTIMATION
INTRODUCTION
Cost estimation in project management is the process of forecasting the financial and other resources needed
to complete a project within a defined scope. Cost estimation accounts for each element required for the
project—from materials to labor—and calculates a total amount that determines a project’s budget. An
initial cost estimate can determine whether an organization green lights a project, and if the project moves
forward, the estimate can be a factor in defining the project’s scope. If the cost estimation comes in too
high, an organization may decide to pare down the project to fit what they can afford (it is also required to
begin securing funding for the project). Once the project is in motion, the cost estimate is used to manage
all of its affiliated costs in order to keep the project on budget.
Elements of cost estimation in project There are two key types of costs addressed by the cost estimation
process:
1. Direct costs: Costs associated with a single area, such as a department or the project itself. Examples
of direct costs include fixed labor, materials, and equipment.
2. Indirect costs: Costs incurred by the organization at large, such as utilities and quality control.
LOC BASED ESTIMATION
The LOC (Line of Code) is a product size metric in software engineering. Here, the number of lines in the
code are counted and based on the number of lines the cost is calculated. Basing on the size of the project
in FP, you can estimate or calculate the numbers of LOC by multiplying the average number of LOC/ FP
for a given language (AVC) by the total number of function points of the project. Here, the number of lines
in the code are counted and based on the number of lines the cost is calculated. There is no definite clear
picture of how to count number of lines because the length and complexity of the code is different in
different languages. It only depends on the length but not on complexity and functionality.
[Type here]
Gender Classification from Facial Images Using ResNet
FUTURE ENHANCEMENT AND SCOPE OF FURTHER DEVELOPMENT
INTRODUCTION
As a whole, the project “Gender Classification from Facial Images Using ResNet” was well planned and
designed. Since the system is new, further modification can be easily done if time and cost are suitable for
it. The performance of the system is proved to be efficient. The system provides flexibility for incorporating
new features, which may be necessary in future.
MERITS OF THE SYSTEM

New System for gender recognition.

User friendly.

Supports both uploading video from local storage and capturing video real time.
LIMITATIONS OF THE SYSTEM

Accuracy depends on dataset used to build the model.

Uses Internet connectivity.

Low quality input can cause the accuracy of the output.
FUTURE ENHANCEMENT OF THE SYSTEM
In the future, it is intended that larger datasets will also be trained using the models presented in the project.
It is also expected that neural network models based on ResNet(Residual Networks), would also be trained
and compared with the existing models. Further research steps will include experimenting with various
preprocessing and CNN configurations, data augmentation techniques, as well as using additional image
datasets.
88
Gender Classification from Facial Images Using ResNet
GLOSSARY
[Type here]
Gender Classification from Facial Images Using ResNet
GLOSSARY

Adapt - make (something) suitable for a new use or purpose.

Ancillary - providing necessary support to the primary activities or operation of an organization,
system, etc

Anomaly - something that deviates from what is standard, normal, or expected.

Befall - happen to.

Biometric - involving the automated recognition of individuals by means of unique physical
characteristics, typically for the purposes of security.

Coherent - logical and consistent.

Comprehensive - including or dealing with all or nearly all elements or aspects of something.

Convolutional Neural Network - A convolutional neural network (CNN or ConvNet) is a
network architecture for deep learning that learns directly from data.

Demographic - relating to the structure of populations.

Discrepancy - an illogical or surprising lack of compatibility or similarity between two or more
facts.

Enormous - very large in size, quantity, or extent.

Ethnicity - the quality or fact of belonging to a population group or subgroup made up of people
who share a common cultural background or descent.

Exceptions - a person or thing that is excluded from a general statement or does not follow a rule.

Feasibility - the state or degree of being easily or conveniently done.

HCI - Human-computer interaction (HCI) is a multidisciplinary field of study focusing on the
design of computer technology and, in particular, the interaction between humans (the users) and
computers.

Heuristic - proceeding to a solution by trial and error or by rules that are only loosely defined.

Impinge - have an effect, especially a negative one.

Intelligent advertising - marketing information transmitted through intelligent devices.
90
Gender Classification from Facial Images Using ResNet

Intelligent interface - A point of communication between a human and a computer that displays
qualities that mimic traits observed in human communication such as the use of natural languages.

Intrinsic - belonging naturally; essential.

Novel - of a new and unusual kind; different from anything seen or known before.

Paradigm - a pattern or model.

Piqued - interest or curiosity.

Prudent - acting with or showing care and thought for the future.

Redundancy - the state of being not or no longer needed or useful.

Scalable - able to be changed in size or scale.

Surveillance Systems - a closed-circuit television system used to maintain close observation of a
person or group.

Tentative - not certain or fixed; provisional.

Time constraint - defines various factors that limit projects in terms of time.

Trait - a distinguishing quality or characteristic, typically one belonging to a person.

Transpires - come to be known; be revealed.

Unambiguous - not open to more than one interpretation.

Versatile - able to adapt or be adapted to many different functions or activities.

Vulnerable - exposed to the possibility of being harmed.
[Type here]
Download