“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]