Sign In to Follow Application
View All Documents & Correspondence

Method And System For Efficient Large Scale Face Recognition By Clustering Face Image Gallery

Abstract: Time, space and computation efficient face recognition while retaining maximum accuracy is a challenge as data base size expands. Embodiments herein provide a method and system for efficient face recognition by clustering face image gallery. The method uses only key features, typically limited to only few rather than a standard 128 features vector, to create clusters prior to training ML model per cluster for face recognition. Further, during testing phase, the method comprises utilizing the same set of key features to identify mapping fuzzy clusters for the input image. Thus the computation time for creating clusters during training or for identifying mapping fuzzy clusters during testing phase is reduced significantly due to large scale reduction in the feature dimensionality. However, while training and testing the whole 128-dimensional feature vector of the face image is considered for face recognition, which enables retaining accuracy of face recognition to maximum possible extent.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
11 October 2019
Publication Number
22/2022
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
ip@legasis.in
Parent Application
Patent Number
Legal Status
Grant Date
2024-03-15
Renewal Date

Applicants

Tata Consultancy Services Limited
Nirmal Building, 9th Floor, Nariman Point, Mumbai - 400021, Maharashtra, India

Inventors

1. SINGH, Divya
Tata Consultancy Services Limited, Sahyadri Park , Plot No. 2, 3, RGIP, Phase III, Hinjawadi-Maan, Pune - 411057, Maharashtra, India
2. DAS, Apurba
Tata Consultancy Services Limited, Sahyadri Park , Plot No. 2, 3, RGIP, Phase III, Hinjawadi-Maan, Pune - 411057, Maharashtra, India

Specification

Claims:
1. A processor implemented method for face recognition by clustering a face image gallery, the method comprising:
creating, by the processor, multi-dimensional feature matrices for a plurality of face images in the face image gallery, wherein each face image among the plurality of face images is represented as a multi-dimensional feature matrix comprising a plurality of features of a face present in each face image (202);
identifying, by the processor, a set of key features, from the plurality of features, that have maximum variation when compared across all multi-dimensional feature matrices corresponding to the plurality of face image database (204), wherein identifying the set of key features comprises:
normalizing the plurality of features of each face image by subtracting a standard deviation from value of each feature among the plurality of features of each face image;
determining a variance of each feature by comparing each feature with corresponding feature of remaining face images among the plurality of face images; and
selecting a predefined number of highest varying features from the plurality of features as the set of key features from the determined variance;
generating, by the processor, a set of fuzzy clusters by clustering the created multi-dimensional matrices corresponding to the plurality of face images based on a cluster distance criteria applied on the identified set of key features and corresponding values of the identified set of features of each of the multi-dimensional feature matrix (206), wherein each face image represented by the multi-dimensional face matrix is tagged to one or more fuzzy clusters among the set of fuzzy clusters using a cluster number and a membership function indicating closeness of the face image to the one or more fuzzy clusters;
generating, by the processor, a Machine Learning (ML) model for each fuzzy cluster for the face recognition (208), wherein the ML model among a plurality of ML models generated for the set of fuzzy clusters is trained for multiclass classification by learning pattern within a corresponding fuzzy cluster using a set of face images clustered into the corresponding fuzzy cluster, wherein each face image represent a single class; and
distributing, by the processor, each fuzzy cluster into distributed data sets of a distributed computing environment enabling parallel computing (210).

2. The method as claimed in claim 1, further comprises performing, by the processor, the face recognition on an input image on-the-fly using the trained ML model and the set of fuzzy clusters (212) by:
detecting and cropping all faces in the input image;
extracting the plurality of features of each cropped face;
selecting, from the extracted plurality of features of each cropped face, key features corresponding to the set of key features;
identifying, for each cropped face, one or more mapping fuzzy clusters among the set of fuzzy clusters based on the clustering distance criteria, the selected key features and corresponding values of the selected key features of each cropped face, wherein one or more mapping fuzzy clusters are fuzzy clusters among the set of fuzzy clusters for which membership function of a cropped face is above a membership threshold;
identifying, for each cropped face, one or more ML models corresponding to the one or more mapping fuzzy clusters of each cropped face; and
simultaneously performing the face recognition of each cropped face using the one or more ML models identified for each cropped face by limiting a search space of the one or more ML models for the face recognition to the one or more mapping fuzzy cluster identified for each cropped space.

3. The method as claimed in claim 1, wherein the clustering is based on Fuzzy K-means clustering and utilizes Manhattan distance as a measure of similarity to determine the closest fuzzy cluster to which each multi-dimensional feature matrix of the face belongs.

4. The method as claimed in claim 1, wherein the face image gallery is created by detecting and cropping faces from a plurality of images obtained from a plurality of image sources using face detection and cropping techniques.

5. The method as claimed in claim 1, wherein the predefined number of highest varying features is an optimal value derived based on experimental results that provides optimal combination of accuracy and computation time required for the face recognition.

6. A system (100) for face recognition by clustering a face image gallery, the system (100) comprising:
a memory (102) storing instructions;
one or more Input/Output (I/O) interfaces (106); and
processor (104) coupled to the memory (102) via the one or more I/O interfaces (106), wherein the processor (104) is configured by the instructions to:
create multi-dimensional feature matrices for a plurality of face images in the face image gallery, wherein each face image among the plurality of face images is represented as a multi-dimensional feature matrix comprising a plurality of features of a face present in each face image;
identify a set of key features, from the plurality of features, that have maximum variation when compared across all multi-dimensional feature matrices corresponding to the plurality of face image database, wherein identifying the set of key features comprises:
normalizing the plurality of features of each face image by subtracting a standard deviation from value of each feature among the plurality of features of each face image;
determining a variance of each feature by comparing each feature with corresponding feature of remaining face images among the plurality of face images; and
selecting a predefined number of highest varying features from the plurality of features as the set of key features from the determined variance;
generate a set of fuzzy clusters by clustering the created multi-dimensional matrices corresponding to the plurality of face images based on a cluster distance criteria applied on the identified set of key features and corresponding values of the identified set of features of each multi-dimensional feature matrix, wherein each face image represented by the multi-dimensional face matrix is tagged to one or more fuzzy clusters among the set of fuzzy clusters using a cluster number and a membership function indicating closeness of the face image to the one or more fuzzy clusters;
generate a Machine Learning (ML) model for each fuzzy cluster for the face recognition, wherein the ML model among a plurality of ML models generated for the set of fuzzy clusters is trained for multiclass classification by learning pattern within a corresponding fuzzy cluster using a set of face images clustered into the corresponding fuzzy cluster, wherein each face image represent a single class; and
distribute each fuzzy cluster into data sets of a distributed computing environment enabling parallel computing.

7. The system (100) as claimed in claim 6, wherein the processor (104) is further configured to perform the face recognition on an input image on-the-fly using the trained ML model and the set of fuzzy clusters by:
detecting and cropping all faces in the input image;

extracting the plurality of features of each cropped face;
selecting, from the extracted plurality of features of each cropped face, key features corresponding to the set of key features;
identifying, for each cropped face, one or more mapping fuzzy clusters among the set of fuzzy clusters based on the clustering distance criteria, the selected key features and corresponding values of the selected key features of each cropped face, wherein one or more mapping fuzzy clusters are fuzzy clusters among the set of fuzzy clusters for which membership function of a cropped face is above a membership threshold;
identifying, for each cropped face, one or more ML models corresponding to the one or more mapping fuzzy clusters of each cropped face; and
simultaneously performing the face recognition of each cropped face using the one or more ML models identified for each cropped face by limiting a search space of the one or more ML models for the face recognition to the one or more mapping fuzzy cluster identified for each cropped space.
8. The system (100) as claimed in claim 6, wherein the processor (104) is configured to perform the clustering based on Fuzzy K-means clustering by utilizing Manhattan distance as a measure of similarity to determine the closest fuzzy cluster to which each multi-dimensional feature matrix of the face belongs.

9. The system (100) as claimed in claim 6, wherein the processor (104) is configured to create the face image gallery by detecting and cropping faces from a plurality of images obtained from a plurality of image sources using face detection and cropping techniques.

10. The system (100) as claimed in claim 6, wherein the predefined number of highest varying features is an optimal value derived based on experimental results that provides optimal combination of accuracy and computation time required for the face recognition.
, Description:FORM 2

THE PATENTS ACT, 1970
(39 of 1970)
&
THE PATENT RULES, 2003

COMPLETE SPECIFICATION
(See Section 10 and Rule 13)

Title of invention:

Title:
METHOD AND SYSTEM FOR EFFICIENT LARGE SCALE FACE RECOGNITION BY CLUSTERING FACE IMAGE GALLERY

Applicant:
Tata Consultancy Services Limited
A company Incorporated in India under the Companies Act, 1956
Having address:
Nirmal Building, 9th Floor,
Nariman Point, Mumbai 400021,
Maharashtra, India

The following specification particularly describes the invention and the manner in which it is to be performed.
TECHNICAL FIELD
[001] The embodiments herein generally relate to the field of face recognition and, more particularly, to efficient face recognition by clustering face image gallery.

BACKGROUND
[002] Face recognition has become very important field of research in recent times. A huge amount of effort and time have been put in the Research and Development of face recognition technology for faster and accurate face recognition. Faster and accurate face recognition is critical considering multitude of application of face recognition enabling intelligent automation in application in field of surveillance, retail, health care and so on. Specifically, in real time application, the accuracy and speed of recognition both need to be high.
[003] In face recognition technology, a face is represented as a multi-dimensional, typically 128-dimensional, feature vector. Recognition of a face of interest in such multidimensional data space with database comprising very large volume of faces is a challenge when time, space and computation efficiency need to be considered simultaneously. To address the concerns for accurate and faster face recognition for very high volume databases, attempts have been proposed by an existing works. An existing work on ‘symmetric uncertainty based search space reduction (SUSSR) methodology’ proposes approach of feature reduction, search space reduction and classification. In an attempt to reduce feature space they filter out significant features of images in data base and cluster the limited feature images into fuzzy clusters. However, after clustering the existing approach remove/eliminates all data points other than significant key features while training ML models for classification, effectively the existing approach described compromises on accuracy during face recognition. Thus, the existing approach descried above will solve the problem only in case of binary classification and in cases where there are lot of feature points per class. But in case of multiclass classification this existing technique will take more computation time. Further, for typical multi class classification problems, where each face represents a single class the above existing approach will possibly fail. Also the above existing approach utilizes a single SVM model for the clustered database reducing robustness of the approach in practical application where in on-the –fly variations will be present in the data to be analyzed.

SUMMARY
[004] Embodiments of the present disclosure present technological improvements as solutions to one or more of the above-mentioned technical problems recognized by the inventors in conventional systems. For example, in one embodiment, a method for efficient face recognition by clustering face image gallery is provided. The method comprises creating, by a processor, multi-dimensional feature matrices for a plurality of face images in the face image gallery. Each face image among the plurality of face images is represented as a multi-dimensional feature matrix comprising a plurality of features of a face present in each face image. Further, the method comprises identifying, by the processor, a set of key features, from the plurality of features that have maximum variation when compared across all multi-dimensional feature matrices corresponding to the plurality of face image database. Identifying the set of key features comprises: normalizing the plurality of features of each face image by subtracting a standard deviation from value of each feature among the plurality of features of each face image; determining a variance of each feature by comparing each feature with corresponding feature of remaining face images among the plurality of face images; and selecting a predefined number of highest varying features from the plurality of features as the set of key features from the determined variance. Further, the method comprises generating, by the processor, a set of fuzzy clusters by clustering the created multi-dimensional matrices corresponding to the plurality of face images based on a cluster distance criteria applied on the identified set of key features and corresponding values of the identified set of features of each multi-dimensional feature matrix. Each face image represented by the multi-dimensional face matrix is tagged to one or more fuzzy clusters among the set of fuzzy clusters using a cluster number and a membership function indicating closeness of the face image to the one or more fuzzy clusters. Further, the method comprises generating, by the processor, a Machine Learning (ML) model for each fuzzy cluster for the face recognition, wherein the ML model among a plurality of ML models generated for the set of fuzzy clusters is trained for multiclass classification by learning pattern within a corresponding fuzzy cluster using a set of face images clustered into the corresponding fuzzy cluster, wherein each face image represent a single class. Further, the method comprises distributing, by the processor, each fuzzy cluster into distributed data sets of a distributed computing environment.
[005] In another aspect, a system for efficient face recognition by clustering face image gallery is provided. The system comprises a memory storing instructions; one or more Input/Output (I/O) interfaces; and processor(s) coupled to the memory via the one or more I/O interfaces, wherein the processor(s) is configured by the instructions to create multi-dimensional feature matrices for a plurality of face images in the face image gallery, wherein each face image among the plurality of face images is represented as a multi-dimensional feature matrix comprising a plurality of features of a face present in each face image; identify a set of key features, from the plurality of features, that have maximum variation when compared across all multi-dimensional feature matrices corresponding to the plurality of face image database, wherein identifying the set of key features comprises: normalizing the plurality of features of each face image by subtracting a standard deviation from value of each feature among the plurality of features of each face image; determining a variance of each feature by comparing each feature with corresponding feature of remaining face images among the plurality of face images; and selecting a predefined number of highest varying features from the plurality of features as the set of key features from the determined variance; generate a set of fuzzy clusters by clustering the created multi-dimensional matrices corresponding to the plurality of face images based on a cluster distance criteria applied on the identified set of key features and corresponding values of the identified set of features of each multi-dimensional feature matrix, wherein each face image represented by the multi-dimensional face matrix is tagged to one or more fuzzy clusters among the set of fuzzy clusters using a cluster number and a membership function indicating closeness of the face image to the one or more fuzzy clusters; generate a Machine Learning (ML) model for each fuzzy cluster for the face recognition, wherein the ML model among a plurality of ML models generated for the set of fuzzy clusters is trained for multiclass classification by learning pattern within a corresponding fuzzy cluster using a set of face images clustered into the corresponding fuzzy cluster, wherein each face image represent a single class; and distribute each fuzzy cluster into distributed data sets of a distributed computing environment.
[006] In yet another aspect, there are provided one or more non-transitory machine readable information storage mediums comprising one or more instructions, which when executed by one or more hardware processors causes a method for efficient face recognition by clustering face image gallery The method comprises creating, by a processor, multi-dimensional feature matrices for a plurality of face images in the face image gallery. Each face image among the plurality of face images is represented as a multi-dimensional feature matrix comprising a plurality of features of a face present in each face image. Further, the method comprises identifying, by the processor, a set of key features, from the plurality of features that have maximum variation when compared across all multi-dimensional feature matrices corresponding to the plurality of face image database. Identifying the set of key features comprises: normalizing the plurality of features of each face image by subtracting a standard deviation from value of each feature among the plurality of features of each face image; determining a variance of each feature by comparing each feature with corresponding feature of remaining face images among the plurality of face images; and selecting a predefined number of highest varying features from the plurality of features as the set of key features from the determined variance. Further, the method comprises generating, by the processor, a set of fuzzy clusters by clustering the created multi-dimensional matrices corresponding to the plurality of face images based on a cluster distance criteria applied on the identified set of key features and corresponding values of the identified set of features of each multi-dimensional feature matrix. Each face image represented by the multi-dimensional face matrix is tagged to one or more fuzzy clusters among the set of fuzzy clusters using a cluster number and a membership function indicating closeness of the face image to the one or more fuzzy clusters. Further, the method comprises generating, by the processor, a Machine Learning (ML) model for each fuzzy cluster for the face recognition, wherein the ML model among a plurality of ML models generated for the set of fuzzy clusters is trained for multiclass classification by learning pattern within a corresponding fuzzy cluster using a set of face images clustered into the corresponding fuzzy cluster, wherein each face image represent a single class. Further, the method comprises distributing, by the processor, each fuzzy cluster into distributed data sets of a distributed computing environment.
[007] It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS
[008] The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate exemplary embodiments and, together with the description, serve to explain the disclosed principles:
[009] FIG. 1 is a functional block diagram of a system for efficient face recognition by clustering a face image gallery, in accordance with some embodiments of the present disclosure.
[0010] FIG. 2A and FIG. 2B is a flow diagram illustrating a method for efficient face recognition by clustering the face image gallery, using the system of FIG. 1, in accordance with some embodiments of the present disclosure.
[0011] FIG. 3 and FIG. 4 are example illustration of training and testing phase of the system implemented in a distributed computing environment, in accordance with some embodiments of the present disclosure.

DETAILED DESCRIPTION OF EMBODIMENTS
[0012] Exemplary embodiments are described with reference to the accompanying drawings. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. Wherever convenient, the same reference numbers are used throughout the drawings to refer to the same or like parts. While examples and features of disclosed principles are described herein, modifications, adaptations, and other implementations are possible without departing from the scope of the disclosed embodiments. It is intended that the following detailed description be considered as exemplary only, with the true scope being indicated by the following claims.
[0013] The embodiments herein provide a method and system for efficient face recognition by clustering a face image gallery. Unlike most of the existing approaches of face recognition that focus on single computing environment and hardly discuss about usage of distributed computing environment for faster, time efficient real time face recognition, this implementation of the method disclosed herein is in a distributed computing environment. The solutions proposed by the method to enable implementation in the distributed computing environment enables faster and parallel computing of face recognition. The distributed computing approach specifically is significant when large amount of database is present in search space, enabling faster processing for face recognition while still retaining the accuracy of face recognition.
[0014] Referring now to the drawings, and more particularly to FIGS. 1 through 4, where similar reference characters denote corresponding features consistently throughout the figures, there are shown preferred embodiments and these embodiments are described in the context of the following exemplary system and/or method.
[0015] FIG. 1 is a functional block diagram of a system for efficient face recognition by clustering a face image gallery, in accordance with some embodiments of the present disclosure.
[0016] In an embodiment, the system 100 includes a processor 104, communication interface device(s), alternatively referred as or input/output (I/O) interface(s) 106, and one or more data storage devices or memory 102 operatively coupled to the processor 104. In an embodiment, the system 100 may be implemented in a distributed computing environment, for example, a Haddoop™ environment enabling faster and parallel computing.
[0017] The processor 104, alternatively referred as processor(s), can be one or more hardware processors. In an embodiment, the one or more hardware processors can be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any devices that manipulate signals based on operational instructions. Among other capabilities, the processor 104 is configured to fetch and execute computer-readable instructions stored in a memory 102. In an embodiment, the system 100 can be implemented in a variety of computing systems, such as laptop computers, notebooks, hand-held devices, workstations, mainframe computers, servers, a network cloud and the like.
[0018] The I/O interface(s) 106 can include a variety of software and hardware interfaces, for example, a web interface, a graphical user interface, and the like and can facilitate multiple communications within a wide variety of networks N/W and protocol types, including wired networks, for example, LAN, cable, etc., and wireless networks, such as WLAN, cellular, or satellite. In an embodiment, the I/O interface device(s) can include one or more ports for connecting a number of devices to one another or to another server. The I/O interface 106 provides interface to receive a large volume of images from one or more external sources. In an embodiment, the received images can be stored by the system into a database 108 of the memory 102. Further, the system 100 is configured to create a face image gallery by detecting, cropping faces from the images. The face image gallery can also be stored in the data base 108.
[0019] The memory 102 may include any computer-readable medium known in the art including, for example, volatile memory, such as static random access memory (SRAM) and dynamic random access memory (DRAM), and/or non-volatile memory, such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes. The memory 102, herein may include and represent distributed database sets of the distributed computing environment, in which system 100 may be implemented.
[0020] Thus, the memory 102 may comprise information pertaining to input(s)/output(s) of each step performed by the processor(s) 104 of the system 100 and methods of the present disclosure.
[0021] FIG. 2A and FIG. 2B is a flow diagram illustrating a method 200 for efficient face recognition by clustering the face image gallery, using the system 100 of FIG. 1, in accordance with some embodiments of the present disclosure.
[0022] In an embodiment, the system 100 comprises one or more data storage devices or the memory 102 operatively coupled to the processor 104 and is configured to store instructions for execution of steps of the method 200 by the processor 104. The steps of the method 200 of the present disclosure will now be explained with reference to the components or blocks of the system 100 as depicted in FIG. 1 and the steps of flow diagram as depicted in FIG. 2A through FIG. 4. Although process steps, method steps, techniques or the like may be described in a sequential order, such processes, methods and techniques may be configured to work in alternate orders. In other words, any sequence or order of steps that may be described does not necessarily indicate a requirement that the steps to be performed in that order. The steps of processes described herein may be performed in any order practical. Further, some steps may be performed simultaneously.
[0023] Referring to the FIG. 3 and the steps of the method 200, at step 202, the processor 104 is configured to create multi-dimensional feature matrices for a plurality of face images in the face image gallery. Each face image among the plurality of face images is represented as a multi-dimensional feature matrix comprising a plurality of features of a face present in each face image. Typically, the feature vector is a standard 128-dimensional standard feature vector generated using feature extraction techniques known in the art.
[0024] The face image gallery is created by detecting and cropping faces from a plurality of images obtained from a plurality of image sources using face detection and cropping techniques. Thus, face image gallery provides a huge database of faces.
[0025] At step 204 of the method 200, the processor 104 is configured to identify a set of key features, from the plurality of features that have maximum variation when compared across all multi-dimensional feature matrices corresponding to the plurality of face image database. The set of key features is alternatively referred as set of significant key features throughout the description. Identifying the set of significant key features comprises steps of normalizing the plurality of features of each face image by subtracting a standard deviation from value of each feature among the plurality of features of each face image. Further, determining a variance of each feature by comparing each feature with corresponding feature of remaining face images among the plurality of face images. Thereafter, a predefined number or a first n number of highest varying features from the plurality of features as the set of significant key features are selected from the determined variance, wherein ‘n’ refers to the predefined number of features. The predefined number of highest varying features ‘n’ is an optimal value derived based on experimental results that provides optimal combination of accuracy and computation time required for the face recognition. The value of ‘n’ is determined based on experiments conducted. Since the method 200, utilizes fuzzy clustering, explained in the method step 206 below, and odd number of features are selected for applying these features in a Fuzzy K-Means Clustering technique to generate fuzzy clusters. In odd numbers, multiple variation like 3, 5, 7, 9 for ‘n’ where experimented and post trying all variations it was observed that using 3 decreased the accuracy of Fuzzy K-Means and while 7 provided good accuracy but added time in computation significantly in database. Selecting 5, provided an optimal value of significant key features or the key features that balanced both the situations by providing desired accuracy and not requiring addition in time computation.
[0026] Once the significant key features are identified, at step 206 of the method 200, the processor 104 is configured to generating a set of fuzzy clusters by clustering the created multi-dimensional matrices corresponding to the plurality of face images. The clustering is based on a cluster distance criteria applied on the identified set of significant key features and corresponding values of the identified set of significant features of each multi-dimensional feature matrix. The FIG. 3 depicts clusters A through M created from the face image gallery.
[0027] The method even though clusters the face image gallery based on only the significant key features, the clusters so formed retain all data point of each clustered face image by storing the entire multi –dimensional feature vector per face. Thus, the method does not compromise on accuracy of retaining the distinctness of each face. This is critical feature when large number of faces are to be tested that may have not so major face feature variation.
[0028] Fuzzy c-means (FCM) or Fuzzy K-means is a method of clustering which allows one piece of data to belong to two or more clusters. An example pseudo algorithm for fuzzy K-means used in the art is provided below:
1.Initialize U=[uij] matrix, U(0)
2. At k-step: calculate the centers vectors C(k)=[cj] with U(k)

(1)
3. Update U(k), U(k+1)
(2)
4. If all data points are assigned a cluster then STOP; otherwise return to step 2.
[0029] Here, the method 200, modifies the above standard algorithm by using Manhattan distance instead of above formula and the clustering is continued until all feature points are clustered unlike the condition in step 4 above.
[0030] Post clustering, each face image represented by the multi-dimensional face matrix is tagged to one or more fuzzy clusters among the set of fuzzy clusters using a cluster number and a membership function indicating closeness of the face image to the one or more fuzzy clusters.
[0031] Referring back to the step 208 of the method 200, the processor 104 is configured to generate a Machine Learning (ML) model for each fuzzy cluster for the face recognition. The ML model among a plurality of ML models generated for the set of fuzzy clusters is trained for multiclass classification by learning pattern within a corresponding fuzzy cluster using a set of face images clustered into the corresponding fuzzy cluster. The ML models (not shown) can be stored in the database 108 of the memory 102. In the multiclass problem solved by the system 100, each face image represents a single class. Thus, generating and training ML models per cluster enables achieving maximum accuracy of face recognition.
[0032] In an embodiment, the method 200 utilizes Support Vector Machines (SVM) algorithm. Once the clusters are formed, SVM is applied to each cluster individually and create trained SVM models for each cluster. The ML models, so created, are mutually exclusive of each other. The SVM is a machine learning approach used for classification and regression analysis. They analyze the large amount of data to identify patterns from them. An SVM generates parallel partitions by generating two parallel lines. For each category of data in a high-dimensional space and uses almost all attributes. It separates the space in a single pass to generate flat and linear partitions. Further, it divides the 2 categories by a clear gap that should be as wide as possible. Do this partitioning by a plane called hyperplane.
[0033] The steps for training the ML models comprise:
• Load the data set which, here would be all the points lying in a single cluster
• Load the features along with its labels.
• SVM learns patterns for each label.
• The learned patterns are stored in database 108 of the memory 102 in form of
ML models (which is called a pickle file).
[0034] Once the ML models are generated, at step 210 of the method 200, the processor 104 is configured to distribute each fuzzy cluster into distributed data sets of the distributed computing environment as depicted in the FIG. 3, enabling faster and parallel computing during testing phase of face recognition.
[0035] Once trained ML models are generated, the system 100 is ready for real time face recognition applications. At step 212 of the method 200, the processor 104 is configured to perform face recognition on an input image on-the-fly using the trained ML model and the set of fuzzy clusters. The face recognition steps comprise:
1. Detecting and cropping all faces in the input image;
2. Extracting the plurality of features of each cropped face;
3. Selecting, from the extracted plurality of features of each cropped face, key features corresponding to the set of significant key features ;
4. Identifying, for each cropped face, one or more mapping fuzzy clusters among the set of fuzzy clusters based on the clustering distance criteria, the selected key features and corresponding values of the selected key features of each cropped face, wherein one or more mapping fuzzy clusters are fuzzy clusters among the set of fuzzy clusters for which membership function of a cropped face is above a membership threshold;
5. Identifying, for each cropped face, one or more ML models corresponding to the one or more mapping fuzzy clusters of each cropped face; and
6. Simultaneously performing face recognition of each cropped face using the one or more ML models identified for each cropped face by limiting a search space of the one or more ML models for the face recognition to the one or more mapping fuzzy cluster identified for each cropped space. For example, as depicted in FIG. 4, search space is limited to cluster A and B, wherein the face is finally identified in cluster B.
[0036] Thus, while testing the ML model (Pickle) is loaded in memory and the test image features are compared by the SVM algorithm to find the point which has least distance with the test features. Here Euclidean Distance is used to find the distance between each individual points.
[0037] It is be to noted that the search space of the ML models is not restricted to a single closest fuzzy cluster but to one or more mapping fuzzy clusters to which the input test image has more proximity or has membership function above the membership threshold. This step of the method 200, enables to eliminate a mismatch that may randomly arise when search space is restricted to only closest cluster, unlike the existing approach utilizing clustering for search space reduction that limits search to only the closest cluster or clustering in order to remove points that may belong to multiple classes.
[0038] It can be noted that the method 200 uses only significant key features, typically limited to only 5 rather than the whole 128 features, to create clusters prior to training the ML models, as well as while identify mapping fuzzy clusters for the input image or the test image. Thus, the computation time for creating clusters during training or for identifying mapping fuzzy clusters during testing phase is reduced significantly due to large scale reduction in the feature dimensionality. However, while training and testing the whole 128-dimensional feature vector of the face image is considered for face recognition, which enables retaining accuracy of face recognition to maximum possible extent. Consideration of the whole feature set is critical to maintain high accuracy while handling large volume of databases. Further, since the method restricts the search space to only one or few mapping fuzzy clusters rather than the whole set of fuzzy clusters, in the search space during face recognition of the test image is drastically reduced.
[0039] This invention can be useful in surveillance environment where large amount of images are to be tested and output expected is at a faster rate. One example of the application usage would be Visa application office, wherein multiple Visa application requests come daily. Currently, the Visa office performs manual verification to check whether the requesting person is blacklisted or not, which is a time consuming process, since the blacklist can be huge. The method proposed automates the face recognition process with reduced time and retaining the accuracy. This effectively reduces customer response time providing enhance user experience.
[0040] The written description describes the subject matter herein to enable any person skilled in the art to make and use the embodiments. The scope of the subject matter embodiments is defined by the claims and may include other modifications that occur to those skilled in the art. Such other modifications are intended to be within the scope of the claims if they have similar elements that do not differ from the literal language of the claims or if they include equivalent elements with insubstantial differences from the literal language of the claims.
[0041] It is to be understood that the scope of the protection is extended to such a program and in addition to a computer-readable means having a message therein; such computer-readable storage means contain program-code means for implementation of one or more steps of the method, when the program runs on a server or mobile device or any suitable programmable device. The hardware device can be any kind of device which can be programmed including e.g. any kind of computer like a server or a personal computer, or the like, or any combination thereof. The device may also include means which could be e.g. hardware means like e.g. an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a combination of hardware and software means, e.g. an ASIC and an FPGA, or at least one microprocessor and at least one memory with software processing components located therein. Thus, the means can include both hardware means and software means. The method embodiments described herein could be implemented in hardware and software. The device may also include software means. Alternatively, the embodiments may be implemented on different hardware devices, e.g. using a plurality of CPUs.
[0042] The embodiments herein can comprise hardware and software elements. The embodiments that are implemented in software include but are not limited to, firmware, resident software, microcode, etc. The functions performed by various components described herein may be implemented in other components or combinations of other components. For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can comprise, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
[0043] The illustrated steps are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope of the disclosed embodiments. Also, the words “comprising,” “having,” “containing,” and “including,” and other similar forms are intended to be equivalent in meaning and be open ended in that an item or items following any one of these words is not meant to be an exhaustive listing of such item or items, or meant to be limited to only the listed item or items. It must also be noted that as used herein and in the appended claims, the singular forms “a,” “an,” and “the” include plural references unless the context clearly dictates otherwise.
[0044] Furthermore, one or more computer-readable storage media may be utilized in implementing embodiments consistent with the present disclosure. A computer-readable storage medium refers to any type of physical memory on which information or data readable by a processor may be stored. Thus, a computer-readable storage medium may store instructions for execution by one or more processors, including instructions for causing the processor(s) to perform steps or stages consistent with the embodiments described herein. The term “computer-readable medium” should be understood to include tangible items and exclude carrier waves and transient signals, i.e., be non-transitory. Examples include random access memory (RAM), read-only memory (ROM), volatile memory, nonvolatile memory, hard drives, CD ROMs, DVDs, flash drives, disks, and any other known physical storage media.
[0045] It is intended that the disclosure and examples be considered as exemplary only, with a true scope of disclosed embodiments being indicated by the following claims.

Documents

Application Documents

# Name Date
1 201921041199-STATEMENT OF UNDERTAKING (FORM 3) [11-10-2019(online)].pdf 2019-10-11
2 201921041199-REQUEST FOR EXAMINATION (FORM-18) [11-10-2019(online)].pdf 2019-10-11
3 201921041199-FORM 18 [11-10-2019(online)].pdf 2019-10-11
4 201921041199-FORM 1 [11-10-2019(online)].pdf 2019-10-11
5 201921041199-FIGURE OF ABSTRACT [11-10-2019(online)].jpg 2019-10-11
6 201921041199-DRAWINGS [11-10-2019(online)].pdf 2019-10-11
7 201921041199-COMPLETE SPECIFICATION [11-10-2019(online)].pdf 2019-10-11
8 Abstract1.jpg 2019-10-15
9 201921041199-Proof of Right (MANDATORY) [28-11-2019(online)].pdf 2019-11-28
10 201921041199-FORM-26 [07-02-2020(online)].pdf 2020-02-07
11 201921041199-FER.pdf 2022-06-07
12 201921041199-OTHERS [07-07-2022(online)].pdf 2022-07-07
13 201921041199-FER_SER_REPLY [07-07-2022(online)].pdf 2022-07-07
14 201921041199-COMPLETE SPECIFICATION [07-07-2022(online)].pdf 2022-07-07
15 201921041199-CLAIMS [07-07-2022(online)].pdf 2022-07-07
16 201921041199-ABSTRACT [07-07-2022(online)].pdf 2022-07-07
17 201921041199-PatentCertificate15-03-2024.pdf 2024-03-15
18 201921041199-IntimationOfGrant15-03-2024.pdf 2024-03-15

Search Strategy

1 SearchStrategyE_07-06-2022.pdf

ERegister / Renewals

3rd: 15 Jun 2024

From 11/10/2021 - To 11/10/2022

4th: 15 Jun 2024

From 11/10/2022 - To 11/10/2023

5th: 15 Jun 2024

From 11/10/2023 - To 11/10/2024

6th: 15 Jun 2024

From 11/10/2024 - To 11/10/2025

7th: 08 Oct 2025

From 11/10/2025 - To 11/10/2026