WO2019209131A1 - Method of training a neural network for human facial recognition - Google Patents
Method of training a neural network for human facial recognition Download PDFInfo
- Publication number
- WO2019209131A1 WO2019209131A1 PCT/RU2018/000259 RU2018000259W WO2019209131A1 WO 2019209131 A1 WO2019209131 A1 WO 2019209131A1 RU 2018000259 W RU2018000259 W RU 2018000259W WO 2019209131 A1 WO2019209131 A1 WO 2019209131A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- training
- mini
- images
- neural network
- person
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
Definitions
- the invention relates to the field of facial biometry, in particular to the task of training neural networks for face recognition.
- a known face recognition method (WO2016119076).
- the document describes the convolutional neural network architecture for solving the face recognition problem. Architecture is taught using a combined identification and verification signal.
- the disadvantage is that the training method in accordance with the known invention does not provide a neural network that allows with high accuracy to recognize the faces of people.
- US20160180151 discloses a method for teaching a convolutional neural network to recognize faces and a method for obtaining training images of people's faces.
- the specified learning method involves the use of triplets.
- the network During operation, the network generates vector representations of facial images that are close in the Euclidean space for different images of one person and distant for images of two different people.
- the disadvantage of this method is the difficulty of obtaining training examples (triplets), which slows down the process of learning a neural network.
- a patent publication is known (US20150125049), which describes a method for classifying individuals using a deep convolutional neural network.
- this method the possibility of creating a three-dimensional image of a face from a two-dimensional image of a face is disclosed.
- the identity of the image of a two-dimensional face can be classified based on the provision of a three-dimensional image of a face in a deep neural network.
- the identity of the two-dimensional image of the face may contain a vector of features.
- the method discloses the possibility of classifying images of one person, as well as the ability to verify images of both one class and different classes.
- the disadvantage of this method is the difficulty of classifying and obtaining training examples, which slows down the learning process of a neural network.
- the known method of training does not allow you to get a neural network that provides high accuracy in recognizing people.
- a known recognition method (US20060204058), according to which face recognition is carried out on the basis of using a similarity measure between the feature vector obtained from the image supplied to the input and the feature vector obtained from the user image in the database. Also, according to this method, images of faces captured during face tracking are clustered, and the resulting clusters are used to train a face recognition system.
- the disadvantage of this method of training is that it does not provide training of the neural network for further high-precision recognition of people's faces.
- a known neural network for detecting and recognizing a deformed object (US5850470B).
- a well-known patent describes the structure of a face recognition system based on the use of neural networks trained in classification. To ensure in the known method a sufficient variety of face images in the training set, the algorithm converts the resulting image to create additional training examples, otherwise known as virtual training images. Two types of training images are used. The first training scheme consists of positive images (face / eye images), which are used for enhanced learning. The second training scheme consists of negative images (images not of the face / not the eyes) that are used for anti-enhanced learning. Weight parameters and thresholds are updated with enhanced / anti-reinforced training.
- the disadvantage of this method is the difficulty of obtaining training images of people's faces, which slows down the process of learning a neural network.
- the technical problem of the present invention is such a training of a neural network that will allow the recognition of people's faces with high accuracy.
- a mini-package is formed from images of people's faces by first including a set of images of people's faces from the database, and then adding for each person, at least one image of which is included in the mini-package, at least one image of its double from the list of doubles, if there is a double and if the image of this double is not yet included in the mini-package, and if there is no double or if the image of the double is already included in mini-package, adding at least one image of another person from the database.
- the proposed method ensures the achievement of a technical result in the form of improving educational examples for training neural networks in face recognition, improving the quality of training neural networks in facial recognition and, as a result, increasing the accuracy of recognizing people's faces, in particular very similar people's faces, using the resulting neural network.
- the proposed method provides an increase in the speed of learning a neural network.
- a neural network that is trained using training examples obtained by forming mini-packets (according to the proposed method) containing images related to two or more similar people, in particular to people from the database and to their doubles from the list of twins, is able to recognize people with very similar faces.
- the formation of a verification training signal i.e. comparing the images placed in one mini-package allows you to qualitatively train the neural network, and the more similar (but different) people will be on these images - the more complex cases of face recognition trained in this way the neural network will be able to process.
- the training of a neural network is completed when the quality of training reaches a given criterion.
- the criterion makes it possible to determine whether a neural network is trained at a given iteration.
- Providing an empty list of doubles at the beginning of training provides the ability to fill this list with a neural network in the learning process, which improves the quality of its training.
- the number of people whose images are added to the mini-package and the number of images of each person whose images are added to the mini-package are determined based on the hyperparameter of the learning algorithm.
- all images of each person in the database have an identifier.
- the identifier can be used when forming a mini-package.
- the presence of an identifier in the image allows the system to select images related to a specific person from the training base and place them in a mini-package.
- the system can select from the database the images related to the double of a particular person and also put them in the same mini-package.
- the presence of an identifier allows you to increase the speed and accuracy of training a neural network.
- people whose images are added to the mini-package from the database are randomly selected.
- the choice of images of people randomly provides more diverse training examples, so trained neural network will be able to recognize more complex examples of images in the future.
- FIG. 1 is a neural network training system according to one embodiment of the invention
- FIG. 2 is a schematic diagram of a mini-packet formation according to one embodiment of the invention.
- FIG. 3 is a search result for twins, according to one embodiment of the invention.
- a method for training a neural network in accordance with various embodiments of the present invention, can be implemented using, for example, known computer or multiprocessor systems. In other embodiments, the claimed method can be implemented using specialized software and hardware.
- the term “double” means a person whose face has a strong external resemblance to the face of another person.
- the specific similarity criterion is determined by the specific application.
- mini-package refers to a set of images of people, in particular a set of images of people's faces, selected from a training database (database). The mini-packet may contain one image of each selected person or several images of at least some of the selected people.
- FIG. 1 shows a training system for training neural networks, with which a method for training neural networks can be implemented in accordance with one embodiment of the present invention.
- the training system contains means 1 of forming a database and means 2 of forming a list of doubles, which are respectively associated with means 3 of forming a mini-package, which in turn are associated with means 4 of obtaining vector representations that also contain a classifier that provides classification results.
- Means 4 are associated with means 5 of forming an identification training signal and means 6 for searching for a double.
- means 4 are associated with means 7 for generating a verification training signal.
- the double search means 6 are associated with the double list forming means 2.
- the means 5 for generating an identification training signal and the means 7 for generating a verification training signal are associated with means 8 summing and weighing the identification and verification training signals that are associated with means 4 and are the output of the system.
- a training base (database) is required, the formation of which is provided by means 1.
- the training base contains a set of images of the faces of people grouped by people, that is, for each person in the database there is a certain number of images of his face.
- the database may contain one image of each person.
- the database may contain more than one image of some or all of the people whose images are presented in the database.
- Images of faces for the training base can be obtained by any method known to the specialist, for example, using a camera.
- a computer memory that can store images of people's faces can serve as a training base.
- it is possible to store images and use other means as a training base for example, camera memory, flash card memory, etc.
- An implementation option is also possible when images used to train a neural network are obtained from more than one training base.
- each person in particular, all images of each person in the training base have an identifier, and the images of a particular person have an identifier associated with the identifier of that particular person.
- the system can select an image of a specific person.
- a person’s identifier allows the system to select images related to that person from the training base and place them in a mini-package (the formation of a mini-package is described below).
- the identifier of a person’s double placed in the double list allows the system to select images related to the double of this person from the training database and also place them in the same mini-package (the formation of the list of doubles is described below).
- the list of twins is a list of identifiers of images of twins in relation to people whose images are in the training base. Moreover, for a given person from the training base, the list of doubles contains one double. In other embodiments, in which a high learning speed of the neural network is not required, for a given person from the training base, the list of twins contains more than one double. In preferred In the embodiment, the initial list of doubles is created empty, i.e. as identifiers of images of doubles indicate the value "-1", indicating the absence of a double. In the process of training a neural network, this list is filled out with the method proposed in the invention, which is described below. Moreover, in other implementations that require the highest possible speed of learning a neural network, the list of twins can be filled initially.
- a mini-package means 3 is as follows. Randomly select a certain number of people, in particular a certain number of images of persons belonging to the selected people, from the training base and put their images in a mini-package. At the same time, a certain number of images of people's faces are added to the mini-package using the list of doubles, so that each person added to the mini-package is a double of one of those people whose images were added to the mini-package earlier, starting from the first and shifting to one with the addition of images of each new person to the mini-package. If the image (s) of the double, in particular the identifier of the image related to the double, is not in the list of doubles for any person, i.e.
- the double was not found yet, or if the image (s) of the double were already in the current mini-package, then the next person (in particular, his images) is also added to the mini-package with the help of his random selection from the training base with the exception of people, images which are already added to the mini-package (in other words, the choice in the training base at this stage is made among those people who have not yet been added to the current mini-package).
- the number of people and the number of images of each person in the mini-package is determined by the hyperparameter of the learning algorithm. It is important to note that at the first iteration of training, a mini-package is formed only from images of people randomly selected from the training base, since the list of doubles is still empty.
- FIG. 2 illustrates a mini-packet formation scheme.
- Block A shown by a dashed line spanning block B and block C, contains identifiers of people whose images need to be placed in a mini-packet.
- Block B contains identifiers of a number of people who are randomly selected.
- block B contains the identifiers of two people, in particular the identifier 921 of the first person and the identifier 2312 of the second person.
- Block Contains identifiers of a certain number of people, which are doubles of people whose identifiers are added to block B.
- the mini-package in this embodiment has the ability to accommodate 24 images of people. Thus, the formation of mini- The package will occur as follows.
- the first three images of a person (0, 1, 2) with identifier 921 and the following two images of a person with identifier 2312 are placed in it, and the person with identifier 11123 is a double for person 921 according to the list of doubles, and therefore the images (in this case, five images ) this person is added to the mini-package following the images of the person with identifier 2312.
- the filling of the mini-package takes place according to the well-known principle, i.e.
- the person with identifier 22 is the double of the person with identifier 2312, and therefore his images fall into the mini-package following the images of the person with identifier 11123, and the person with identifier 333 is the double of the person with identifier 11123, etc. until the mini-packet is completely filled .
- the mini-package contains one or more images.
- a neural network processes a set of facial images from a mini-packet (Fig. 1) to obtain vector representations and classification values.
- the indicated vector representations and classification values are the results obtained at the output of the neural network.
- a vector representation is obtained for each image of a person’s face.
- a vector view shows the placement of images of people's faces in vector space.
- the resulting vector representations are passed through a classifier to obtain classification values.
- the classifier When training a neural network using an identification signal, the classifier provides classification values for each of the classes (containing images of one person), and also selects the maximum classification values as the result for each image. Also, the known output (correct) classification values are presented to the neural network in accordance with the known approaches to training neural networks, and based on the comparison of the correct value and the classification value received from the classifier, an identification training signal is generated in means 5.
- various other methods can be used, such as Softmax, L2-Softmax, Proxy Loss, Sampled Softmax.
- the obtained classification values are also used to search for twins using tools 6.
- obtaining classification values is computationally expensive and, if the values were found specifically only for searching for twins, this would greatly slow down the training of the neural network. But since these values have already been obtained during training using an identification signal, their repeated use for searching for doubles saves computation and speeds up network training time.
- Vector representations obtained by means of 4, means of 7 are compared in pairs with each other using any suitable method that generates a verification signal, in particular using one of the known methods, for example Triplet Loss or Margin Based Loss.
- the verification signal allows you to extract information useful for training, which consists in the difference in the vector representation between pairs of examples (images) of one mini-package.
- Useful information extracted from pairwise comparisons of such vector representations of faces is used in training the network to modify these vector representations so that similar persons belonging to different people in the vector representation are farther apart (according to the cosine metric of proximity between the vectors), than the faces of the same person, but obtained under different conditions.
- a verification training signal is generated.
- the proposed method for training a neural network using the visual similarity of people, in particular human faces helps to train the neural network to work with "complex" images, which means images of similar people's faces.
- a neural network trained on complex examples containing images of very similar people's faces when recognizing images of people's faces, allows you to use such vector representations of images that place images, belonging to one person is close to each other in vector space, and images belonging to different people are far from each other in vector space. Otherwise, i.e. when learning a neural network using examples containing very dissimilar people, it can be mistaken and for images of two similar people give such vector representations that will be close to each other, in particular closer than images belonging to one person, but received in significantly different conditions.
- the identification and verification training signals received by means of 5 and 7 are weighed with different weights and summed, and then the signals are sent to means 4, i.e. used in training a neural network by the backpropagation method.
- the identification signal teaches the neural network to distinguish between different people, and the verification signal, in addition to this, allows you to find similarities in different faces of one person. At this stage, one iteration of learning is completed.
- the quality of training of the neural network is evaluated, and if the quality of training has reached a given criterion, in particular, a criterion known from the prior art, then training is stopped, because the neural network is trained, if not, then they start another iteration of the training.
- the next iteration of training begins with means 3 with the formation of a mini-package again, i.e. from scratch, according to the proposed method, as described above.
- the figure 3 presents the search result for twins of the proposed method of training a neural network, according to one embodiment of the invention.
- On each line on the left are three photographs of one person, and on the right are three photographs of his double found in the training base using the proposed method for training a neural network.
- the proposed method solves the problem of searching for training examples for training neural networks, which subsequently provide high-precision recognition of faces, in particular, very similar people.
- the proposed method for training a neural network is characterized by a learning algorithm that increases the speed of learning, while practically not requiring additional memory to implement the proposed method.
- the neural network in other embodiments of the proposed method for training a neural network that does not need to be used for recognizing people's faces, it is possible to teach the neural network to recognize other features of a person’s appearance, for example, specific facial features, such as eyes, nose, etc.
- the term "double” will be understood as a person whose facial features are strongly similar to the same facial features of this person.
- the similarity criterion depends on the required learning outcome of the neural network.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
- Collating Specific Patterns (AREA)
Abstract
The invention relates to the field of facial biometrics, and more particularly to the task of training neural networks for facial recognition. Proposed is a method of training neural networks, according to which a database containing human facial images is made available and a list of look-alikes is made available. Next, a mini-packet of human facial images is generated by first including therein a set of human facial images from the database and then adding for each person having at least one image included in the mini-packet, at least one image of that person's look-alike from the list of look-alikes if a look-alike exists and if an image of said look-alike is not already included in the mini-packet, or, if no look-alike exists or if an image of a look-alike is already included in the mini-packet, adding at least one image of a different person from the database. The human facial images from the mini-packet are then fed to the input of a neural network. A verification training signal and an identification training signal are generated using the results obtained at the outlet of the neural network. The neural network is then trained using the verification and identification training signals. Each person is associated with another person as a look-alike using the aforesaid results, and the list of look-alikes is updated whenever a pair of look-alikes is obtained which is not present in the list of look-alikes. The above operations are repeated, starting with the generation of a mini-packet.
Description
СПОСОБ ОБУЧЕНИЯ НЕЙРОННОЙ СЕТИ РАСПОЗНАВАНИЮ ЛИЦ METHOD FOR TRAINING NEURAL NETWORK RECOGNITION OF PERSONS
ЛЮДЕЙ PEOPLE
ОБЛАСТЬ ТЕХНИКИ FIELD OF TECHNOLOGY
Изобретение относится к области лицевой биометрии, в частности к задаче обучения нейронных сетей распознаванию лиц. The invention relates to the field of facial biometry, in particular to the task of training neural networks for face recognition.
УРОВЕНЬ ТЕХНИКИ BACKGROUND
Известен способ распознавания лиц (WO2016119076). Документ описывает архитектуру свёрточной нейронной сети для решения задачи распознавания лиц. Архитектура обучается с помощью объединенного идентификационного и верификационного сигнала. A known face recognition method (WO2016119076). The document describes the convolutional neural network architecture for solving the face recognition problem. Architecture is taught using a combined identification and verification signal.
Недостатком является то, что способ обучения в соответствии с известным изобретением не обеспечивает получение нейронной сети, позволяющей с высокой точностью распознавать лица людей. The disadvantage is that the training method in accordance with the known invention does not provide a neural network that allows with high accuracy to recognize the faces of people.
Известна патентная публикация (US20160180151), в которой раскрыты способ обучения сверточной нейронной сети распознаванию лиц и способ получения обучающих изображений лиц людей. Указанный способ обучения включает использование триплетов. A patent publication is known (US20160180151), which discloses a method for teaching a convolutional neural network to recognize faces and a method for obtaining training images of people's faces. The specified learning method involves the use of triplets.
Во время работы сеть генерирует векторные представления изображений лиц, являющиеся близкими в Евклидовом пространстве для разных изображений одного человека и далёкими - для изображений двух разных людей. During operation, the network generates vector representations of facial images that are close in the Euclidean space for different images of one person and distant for images of two different people.
Недостатком известного способа является сложность получения обучающих примеров (триплетов), что замедляет процесс обучения нейронной сети. The disadvantage of this method is the difficulty of obtaining training examples (triplets), which slows down the process of learning a neural network.
Известна патентная публикация (US20150125049), в которой описан способ классификации лиц с использованием глубокой свёрточной нейронной сети. В данном способе раскрыта возможность создания трехмерного изображения лица из двумерного изображения лица. При этом идентичность изображения двумерного лица может быть классифицирована на основе предоставления трёхмерного изображения лица в глубокой нейронной сети. Идентичность двумерного изображения лица может содержать вектор признаков. Кроме того, в способе раскрывается возможность классификации изображений одного человека, а также возможность верификации изображений как одного класса, так и разных классов. A patent publication is known (US20150125049), which describes a method for classifying individuals using a deep convolutional neural network. In this method, the possibility of creating a three-dimensional image of a face from a two-dimensional image of a face is disclosed. Moreover, the identity of the image of a two-dimensional face can be classified based on the provision of a three-dimensional image of a face in a deep neural network. The identity of the two-dimensional image of the face may contain a vector of features. In addition, the method discloses the possibility of classifying images of one person, as well as the ability to verify images of both one class and different classes.
Недостатком известного способа является сложность классификации и получения обучающих примеров, что замедляет процесс обучения нейронной сети. Известный способ обучения не позволяет получить нейронную сеть, обеспечивающую высокую точность распознания людей.
Известен способ распознавания (US20060204058), согласно которому распознавание лиц осуществляется на основе использования меры схожести между вектором признаков, полученным из изображения, подаваемого на вход, и вектором признаков, полученным из изображения пользователя, имеющегося в базе. Также, согласно данному способу, изображения лиц, захваченные в процессе отслеживания лица, кластеризуются, а полученные при этом кластеры используются для обучения системы распознавания лиц. The disadvantage of this method is the difficulty of classifying and obtaining training examples, which slows down the learning process of a neural network. The known method of training does not allow you to get a neural network that provides high accuracy in recognizing people. A known recognition method (US20060204058), according to which face recognition is carried out on the basis of using a similarity measure between the feature vector obtained from the image supplied to the input and the feature vector obtained from the user image in the database. Also, according to this method, images of faces captured during face tracking are clustered, and the resulting clusters are used to train a face recognition system.
Недостатком известного способа обучения является то, что он не обеспечивает обучение нейронной сети для дальнейшего высокоточного распознавания лиц людей. The disadvantage of this method of training is that it does not provide training of the neural network for further high-precision recognition of people's faces.
Известна нейронная сеть для обнаружения и распознания деформированного объекта (US5850470B). В известном патенте описана структура системы распознавания лиц на основе применения нейронных сетей, обучаемых классификации. Для обеспечения в известном способе достаточного разнообразия изображений лиц в обучающем наборе алгоритм преобразует полученное изображение для создания дополнительных обучающих примеров, иначе известных как виртуальные обучающие образы. Используются два типа обучающих образов. Первая схема обучения состоит из положительных образов (образов лица/глаз), которые используются для усиленного обучения. Вторая схема обучения состоит из негативных образов (образов не лица / не глаз), которые используются для антиусиленного обучения. Весовые параметры и пороговые значения обновляются с помощью усиленного / антиусиленного обучения. A known neural network for detecting and recognizing a deformed object (US5850470B). A well-known patent describes the structure of a face recognition system based on the use of neural networks trained in classification. To ensure in the known method a sufficient variety of face images in the training set, the algorithm converts the resulting image to create additional training examples, otherwise known as virtual training images. Two types of training images are used. The first training scheme consists of positive images (face / eye images), which are used for enhanced learning. The second training scheme consists of negative images (images not of the face / not the eyes) that are used for anti-enhanced learning. Weight parameters and thresholds are updated with enhanced / anti-reinforced training.
Недостатком известного способа является сложность получения обучающих изображений лиц людей, что замедляет процесс обучения нейронной сети. The disadvantage of this method is the difficulty of obtaining training images of people's faces, which slows down the process of learning a neural network.
Таким образом, в уровне техники существует проблема создания способа такого обучения нейронной сети, которое позволит в дальнейшем распознавать людей с высокой точностью. Кроме того, известные способы поиска обучающих примеров имеют вычислительно сложный алгоритм, что замедляет процесс обучения нейронных сетей. Thus, in the prior art there is a problem of creating a method for such training of a neural network, which will allow in the future to recognize people with high accuracy. In addition, the known methods for searching for training examples have a computationally complex algorithm, which slows down the learning process of neural networks.
Ввиду имеющихся недостатков известных способов распознавания и идентификации технической проблемой настоящего изобретения является такое обучение нейронной сети, которое позволит с высокой точностью осуществлять распознавание лиц людей. In view of the existing disadvantages of the known methods of recognition and identification, the technical problem of the present invention is such a training of a neural network that will allow the recognition of people's faces with high accuracy.
РАСКРЫТИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ SUMMARY OF THE INVENTION
Техническая проблема решается благодаря тому, что, согласно предлагаемому способу обучения нейронной сети распознаванию лиц людей, обеспечивают наличие базы данных с изображениями лиц людей и обеспечивают наличие списка двойников. После этого формируют мини-пакет из изображений лиц людей путём сначала включения в него набора изображений лиц людей из базы данных, а затем добавления для каждого человека,
по меньшей мере одно изображение которого включено в мини-пакет, по меньшей мере одного изображения его двойника из списка двойников, при наличии двойника и если изображение этого двойника ещё не включено в мини-пакет, а при отсутствии двойника или если изображение двойника уже включено в мини-пакет, добавления по меньшей мере одного изображения другого человека из базы данных. Далее подают изображения лиц людей из мини-пакета на вход нейронной сети. Формируют верификационный и идентификационный обучающие сигналы с использованием результатов, полученных на выходе нейронной сети. После этого обучают нейронную сеть с использованием верификационного и идентификационного обучающего сигнала. При этом ставят в соответствие каждому человеку в качестве двойника другого человека с использованием указанных результатов с обновлением списка двойников при получении пары двойников, отсутствующей в списке двойников. Далее повторяют указанные операции начиная с формирования мини-пакета. The technical problem is solved due to the fact that, according to the proposed method of training a neural network for recognizing people's faces, they provide a database with images of people's faces and provide a list of twins. After that, a mini-package is formed from images of people's faces by first including a set of images of people's faces from the database, and then adding for each person, at least one image of which is included in the mini-package, at least one image of its double from the list of doubles, if there is a double and if the image of this double is not yet included in the mini-package, and if there is no double or if the image of the double is already included in mini-package, adding at least one image of another person from the database. Next, images of people's faces from the mini-packet are fed to the input of the neural network. Verification and identification training signals are generated using the results obtained at the output of the neural network. After that, the neural network is trained using a verification and identification training signal. At the same time, each person is put in correspondence with each other as a double of another person using the indicated results with updating the list of twins upon receipt of a pair of twins that is not in the list of twins. Next, the indicated operations are repeated starting from the formation of the mini-package.
Предлагаемый способ обеспечивает достижение технического результата в виде улучшения обучающих примеров для обучения нейронных сетей распознаванию лиц, повышения качества обучения нейронных сетей распознаванию лиц и, как следствие, увеличения точности распознавания лиц людей, в частности очень похожих лиц людей, с использованием полученной нейронной сети. Кроме того, предлагаемый способ обеспечивает повышение скорости обучения нейронной сети. The proposed method ensures the achievement of a technical result in the form of improving educational examples for training neural networks in face recognition, improving the quality of training neural networks in facial recognition and, as a result, increasing the accuracy of recognizing people's faces, in particular very similar people's faces, using the resulting neural network. In addition, the proposed method provides an increase in the speed of learning a neural network.
Нейронная сеть, которая обучена с использованием обучающих примеров, полученных путем формирования мини-пакетов (согласно предлагаемому способу), содержащих изображения, относящиеся к двум и более похожим людям, в частности к людям из базы данных и к их двойникам из списка двойников, способна распознавать людей с очень похожими лицами. Другими словами, формирование верификационного обучающего сигнала, т.е. сравнение изображений, помещенных в один мини-пакет, позволяет качественно обучить нейронную сеть, и чем более похожие (но разные) люди будут на этих изображениях— тем более сложные случаи распознавания лиц обученная таким образом нейронная сеть сможет обрабатывать. Увеличение схожести изображений лиц, попадающих в мини-пакет достигается за счет того, что во время обучения с каждой итерацией список двойников постепенно заполняют двойниками, и вместе с этим обновляют список путём замены уже имеющихся двойников на более схожих двойников из числа людей, изображения которых имеются в базе данных. При этом для нахождения двойников используются (переиспользуются) результаты, полученные для формирования идентификационного обучающего сигнала, что не требует дополнительных вычислительных и временных затрат. Кроме того, после каждой итерации заново
формируют мини-пакет, что позволяет наполнять мини-пакет с каждой итерацией изображениями людей с более схожими лицами, что повышает качество и ускоряет обучение нейронной сети. A neural network that is trained using training examples obtained by forming mini-packets (according to the proposed method) containing images related to two or more similar people, in particular to people from the database and to their doubles from the list of twins, is able to recognize people with very similar faces. In other words, the formation of a verification training signal, i.e. comparing the images placed in one mini-package allows you to qualitatively train the neural network, and the more similar (but different) people will be on these images - the more complex cases of face recognition trained in this way the neural network will be able to process. An increase in the similarity of images of persons falling into the mini-package is achieved due to the fact that during training with each iteration, the list of doubles is gradually filled with doubles, and at the same time, the list is updated by replacing existing doubles with more similar doubles from among people whose images are available in the database. In this case, to find twins, the results obtained for the formation of the identification training signal are used (reused), which does not require additional computational and time costs. In addition, after each iteration again form a mini-package, which allows filling a mini-package with each iteration of images of people with more similar faces, which improves the quality and accelerates the training of the neural network.
Согласно одному из вариантов реализации, заканчивают обучение нейронной сети, когда качество обучения достигнет заданного критерия. Критерий позволяет определить, обучена ли на данной итерации нейронная сеть. According to one implementation option, the training of a neural network is completed when the quality of training reaches a given criterion. The criterion makes it possible to determine whether a neural network is trained at a given iteration.
Согласно одному из вариантов реализации, обеспечивают наличие пустого списка двойников. Обеспечение пустого списка двойников в начале обучения обеспечивает возможность заполнения данного списка нейронной сетью в процессе обучения, что повышает качество ее обучения. According to one implementation option, provide an empty list of doubles. Providing an empty list of doubles at the beginning of training provides the ability to fill this list with a neural network in the learning process, which improves the quality of its training.
Согласно одному из вариантов реализации, количество человек, изображения которых добавляют в мини-пакет, и количество изображений каждого человека, изображения которого добавляют в мини-пакет, определяют на основе гиперпараметра алгоритма обучения. Данное решение позволяет определить необходимое количество человек, изображения которых добавляют в мини-пакет, и количество изображений каждого человека, изображения которого добавляют в мини-пакет, до начала обучения нейронной сети, что позволяет ускорить процесс обучения нейронной сети, а также повышает качество обучения и, как следствие, увеличивает точность распознавания людей. According to one embodiment, the number of people whose images are added to the mini-package and the number of images of each person whose images are added to the mini-package are determined based on the hyperparameter of the learning algorithm. This solution allows you to determine the required number of people whose images are added to the mini-package, and the number of images of each person whose images are added to the mini-package, before starting training the neural network, which allows you to speed up the learning process of the neural network, and also improves the quality of training and as a result, increases the accuracy of recognition of people.
Согласно одному из вариантов реализации, все изображения каждого человека в базе данных имеют идентификатор. Идентификатор возможно использовать при формировании мини-пакета. Наличие идентификатора у изображения позволяет системе выбрать из обучающей базы изображения, относящиеся к конкретному человеку, и поместить их в мини-пакет. Кроме того, записывая идентификатор двойника в список двойников, система может выбрать из базы данных изображения, относящиеся к двойнику конкретного человека, и также поместить их в тот же мини-пакет. Наличие идентификатора позволяет увеличить скорость и точность обучения нейронной сети. According to one implementation option, all images of each person in the database have an identifier. The identifier can be used when forming a mini-package. The presence of an identifier in the image allows the system to select images related to a specific person from the training base and place them in a mini-package. In addition, by writing the identifier of the double to the list of doubles, the system can select from the database the images related to the double of a particular person and also put them in the same mini-package. The presence of an identifier allows you to increase the speed and accuracy of training a neural network.
Согласно одному из вариантов реализации, людей, изображения которых добавляют в мини-пакет из базы данных, выбирают случайным образом. Выбор изображений людей случайным образом обеспечивает более разнообразные обучающие примеры, обученная таким образом нейронная сеть в дальнейшем сможет распознавать более сложные примеры изображений. According to one implementation option, people whose images are added to the mini-package from the database are randomly selected. The choice of images of people randomly provides more diverse training examples, so trained neural network will be able to recognize more complex examples of images in the future.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ BRIEF DESCRIPTION OF THE DRAWINGS
Сущность изобретения более подробно поясняется на неограничительных примерах его осуществления со ссылкой на прилагаемые чертежи, среди которых:
Фиг. 1 - система обучения нейронной сети, согласно одному из вариантов осуществления изобретения; The invention is explained in more detail on non-restrictive examples of its implementation with reference to the accompanying drawings, among which: FIG. 1 is a neural network training system according to one embodiment of the invention;
Фиг. 2 - схема формирования мини-пакета, согласно одному из вариантов осуществления изобретения; FIG. 2 is a schematic diagram of a mini-packet formation according to one embodiment of the invention;
Фиг. 3 - результат поиска двойников, согласно одному из вариантов осуществления изобретения. FIG. 3 is a search result for twins, according to one embodiment of the invention.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ DETAILED DESCRIPTION OF THE INVENTION
Способ обучения нейронной сети, в соответствии с различными вариантами реализации настоящего изобретения, может быть осуществлен с использованием, например, известных компьютерных или мультипроцессорных систем. В других вариантах реализации заявленный способ может быть реализован посредством специализированных программно-аппаратных средств. A method for training a neural network, in accordance with various embodiments of the present invention, can be implemented using, for example, known computer or multiprocessor systems. In other embodiments, the claimed method can be implemented using specialized software and hardware.
В настоящем описании под термином «двойник» понимается человек, лицо которого имеет сильное внешнее сходство с лицом другого человека. Конкретный критерий сходства определяется конкретным приложением. Также в настоящем описании под термином «мини-пакет» понимается набор изображений людей, в частности набор изображений лиц людей, отобранный из обучающей базы (базы данных). В мини-пакете может иметься по одному изображению каждого отобранного человека или по несколько изображений по меньшей мере некоторых из отобранных людей. In the present description, the term "double" means a person whose face has a strong external resemblance to the face of another person. The specific similarity criterion is determined by the specific application. Also in the present description, the term "mini-package" refers to a set of images of people, in particular a set of images of people's faces, selected from a training database (database). The mini-packet may contain one image of each selected person or several images of at least some of the selected people.
На фиг. 1 представлена обучающая система для обучения нейронных сетей, с помощью которой может быть реализован способ обучения нейронных сетей в соответствии с одним из вариантов осуществления настоящего изобретения. Обучающая система содержит средства 1 формирования базы данных и средства 2 формирования списка двойников, которые соответственно связаны со средствами 3 формирования мини- пакета, которые в свою очередь связаны со средствами 4 получения векторных представлений, также содержащих классификатор, обеспечивающий получение результатов классификации. Средства 4 связаны со средствами 5 формирования идентификационного обучающего сигнала и средствами 6 поиска двойника. Кроме того, средства 4 связаны со средствами 7 формирования верификационного обучающего сигнала. Средства 6 поиска двойника связаны со средствами 2 формирования списка двойников. При этом средства 5 формирования идентификационного обучающего сигнала и средства 7 формирования верификационного обучающего сигнала связаны со средствами 8
суммирования и взвешивания идентификационного и верификационного обучающих сигналов, которые связаны со средствами 4 и являются выходом системы. In FIG. 1 shows a training system for training neural networks, with which a method for training neural networks can be implemented in accordance with one embodiment of the present invention. The training system contains means 1 of forming a database and means 2 of forming a list of doubles, which are respectively associated with means 3 of forming a mini-package, which in turn are associated with means 4 of obtaining vector representations that also contain a classifier that provides classification results. Means 4 are associated with means 5 of forming an identification training signal and means 6 for searching for a double. In addition, means 4 are associated with means 7 for generating a verification training signal. The double search means 6 are associated with the double list forming means 2. Moreover, the means 5 for generating an identification training signal and the means 7 for generating a verification training signal are associated with means 8 summing and weighing the identification and verification training signals that are associated with means 4 and are the output of the system.
Более подробно последовательность операций процесса обучения нейронных сетей раскрыта ниже. In more detail, the sequence of operations of the learning process of neural networks is disclosed below.
Для обучения нейронной сети (фиг. 1) необходимо наличие обучающей базы (базы данных), формирование которой обеспечивают средства 1. Обучающая база содержит набор изображений лиц людей, сгруппированных по людям, то есть для каждого человека в базе имеется некоторое количество изображений его лица. В частном варианте осуществления в базе может иметься по одному изображению каждого человека. В других вариантах осуществления в базе может иметься более одного изображения некоторых или всех людей, изображения которых представлены в базе. Изображения лиц для обучающей базы могут быть получены любым известным специалисту способом, например с помощью фотокамеры. В качестве обучающей базы может служить память компьютера, которая обеспечивает хранение изображения лиц людей. В других вариантах реализации возможно хранение изображений и использование в качестве обучающей базы других средств, например памяти фотокамеры, памяти флэш-карты и др. Также возможен вариант реализации, когда изображения, с помощью которых обучают нейронную сеть, получены более чем из одной обучающей базы. To train the neural network (Fig. 1), a training base (database) is required, the formation of which is provided by means 1. The training base contains a set of images of the faces of people grouped by people, that is, for each person in the database there is a certain number of images of his face. In a private embodiment, the database may contain one image of each person. In other embodiments, the database may contain more than one image of some or all of the people whose images are presented in the database. Images of faces for the training base can be obtained by any method known to the specialist, for example, using a camera. A computer memory that can store images of people's faces can serve as a training base. In other embodiments, it is possible to store images and use other means as a training base, for example, camera memory, flash card memory, etc. An implementation option is also possible when images used to train a neural network are obtained from more than one training base.
Важно отметить, что каждый человек, в частности все изображения каждого человека в обучающей базе имеют идентификатор, причем изображения конкретного человека имеют идентификатор, связанный с идентификатором этого конкретного человека. С помощью идентификаторов во время обучения система может выбрать изображение конкретного человека. Другими словами, идентификатор человека позволяет системе выбрать из обучающей базы изображения, относящиеся к этому человеку, и поместить их в мини-пакет (формирование мини-пакета раскрыто ниже). Кроме того, идентификатор двойника человека, помещенный в список двойников, позволяет системе выбрать из обучающей базы изображения, относящиеся к двойнику этого человека, и также поместить их в тот же мини-пакет (формирование списка двойников раскрыто ниже). It is important to note that each person, in particular, all images of each person in the training base have an identifier, and the images of a particular person have an identifier associated with the identifier of that particular person. Using identifiers during training, the system can select an image of a specific person. In other words, a person’s identifier allows the system to select images related to that person from the training base and place them in a mini-package (the formation of a mini-package is described below). In addition, the identifier of a person’s double placed in the double list allows the system to select images related to the double of this person from the training database and also place them in the same mini-package (the formation of the list of doubles is described below).
Кроме того, для обучения нейронной сети необходим список двойников, формирование которого обеспечивают средства 2. Список двойников представляет собой список идентификаторов изображений двойников в отношении людей, изображения которых имеются в обучающей базе. При этом для данного человека из обучающей базы список двойников содержит одного двойника. В других вариантах реализации, в которых не требуется высокая скорость обучения нейронной сети, для данного человека из обучающей базы список двойников содержит более одного двойника. В предпочтительном
варианте реализации изначально список двойников создают пустым, т.е. в качестве идентификаторов изображений двойников указывают значение «-1», обозначающее отсутствие двойника. В процессе обучения нейронной сети этот список заполняют предложенным в изобретении способом, раскрытым ниже. При этом в других вариантах реализации, в которых требуется максимально высокая скорость обучения нейронной сети, список двойников может быть заполнен изначально. In addition, for training the neural network, a list of twins is required, the formation of which is ensured by means 2. The list of twins is a list of identifiers of images of twins in relation to people whose images are in the training base. Moreover, for a given person from the training base, the list of doubles contains one double. In other embodiments, in which a high learning speed of the neural network is not required, for a given person from the training base, the list of twins contains more than one double. In preferred In the embodiment, the initial list of doubles is created empty, i.e. as identifiers of images of doubles indicate the value "-1", indicating the absence of a double. In the process of training a neural network, this list is filled out with the method proposed in the invention, which is described below. Moreover, in other implementations that require the highest possible speed of learning a neural network, the list of twins can be filled initially.
Формирование мини-пакета средствами 3 происходит следующим образом. Выбирают случайным образом некоторое количество человек, в частности некоторое количество изображений лиц, принадлежащих выбранным людям, из обучающей базы и помещают их изображения в мини-пакет. При этом некоторое количество изображений лиц людей добавляют в мини-пакет с использованием списка двойников, таким образом, что каждый следующий добавленный в мини-пакет человек является двойником одного из тех людей, чьи изображения были добавлены в мини-пакет ранее, начиная с первого и смещаясь на одного с добавлением в мини-пакет изображений каждого нового человека. В случае, если изображения(-ий) двойника, в частности идентификатора изображения, относящегося к двойнику, для какого-либо человека нет в списке двойников, т.е. двойник ещё не был найден, или же изображения(-ие) двойника уже попали в текущий мини-пакет, то следующего человека (в частности его изображения) также добавляют в мини-пакет с помощью его случайного выбора из обучающей базы за исключением людей, изображения которых уже добавлены в мини-пакет (иными словами, выбор в обучающей базе на данном этапе осуществляют среди тех людей, которые ещё не были добавлены в текущий мини- пакет). При этом количество человек и количество изображений каждого человека в мини- пакете определяется гиперпараметром алгоритма обучения. Важно отметить, что на первой итерации обучения мини-пакет формируют только из изображений людей, выбранных случайными образом из обучающей базы, так как список двойников еще пуст. The formation of a mini-package means 3 is as follows. Randomly select a certain number of people, in particular a certain number of images of persons belonging to the selected people, from the training base and put their images in a mini-package. At the same time, a certain number of images of people's faces are added to the mini-package using the list of doubles, so that each person added to the mini-package is a double of one of those people whose images were added to the mini-package earlier, starting from the first and shifting to one with the addition of images of each new person to the mini-package. If the image (s) of the double, in particular the identifier of the image related to the double, is not in the list of doubles for any person, i.e. the double was not found yet, or if the image (s) of the double were already in the current mini-package, then the next person (in particular, his images) is also added to the mini-package with the help of his random selection from the training base with the exception of people, images which are already added to the mini-package (in other words, the choice in the training base at this stage is made among those people who have not yet been added to the current mini-package). In this case, the number of people and the number of images of each person in the mini-package is determined by the hyperparameter of the learning algorithm. It is important to note that at the first iteration of training, a mini-package is formed only from images of people randomly selected from the training base, since the list of doubles is still empty.
Например, согласно одному из вариантов осуществления изобретения, на фиг. 2 проиллюстрирована схема формирования мини-пакета. Блок А, показанный пунктирной линией, охватывающей блок Б и блок В, содержит идентификаторы людей, чьи изображения требуется поместить в мини-пакет. Блок Б содержит идентификаторы некоторого количества людей, которые выбраны случайно. В данном варианте реализации блок Б содержит идентификаторы двух человек, в частности идентификатор 921 первого человека и идентификатор 2312 второго человека. Блок Всодержит идентификаторы некоторого количества людей, которые представляют собой двойников людей, идентификаторы которых добавлены в блок Б. Мини-пакет в данном варианте реализации имеет возможность вместить 24 изображения людей. Таким образом, формирование мини-
пакета будет происходить следующим образом. Сначала в него помещают первые три изображения человека (0, 1, 2) с идентификатором 921 и следующие два изображения человека с идентификатором 2312, причем человек с идентификатором 11123 является двойником для человека 921 согласно списку двойников, и поэтому изображения (в данном случае пять изображений) этого человека добавляют в мини-пакет следующими за изображениями человека с идентификатором 2312. Далее заполнение мини-пакета происходит уже по известному принципу, т.е. человек с идентификатором 22 является двойником человека с идентификатором 2312, и поэтому его изображения попадают в мини-пакет следующими за изображениями человека с идентификатором 11123, а человек с идентификатором 333 является двойником человека с идентификатором 11123 и т. д. до полного заполнения мини-пакета. Для каждого из людей, чьи идентификаторы содержатся в блоке А, мини-пакет содержит одно или несколько изображений. For example, according to one embodiment of the invention, in FIG. 2 illustrates a mini-packet formation scheme. Block A, shown by a dashed line spanning block B and block C, contains identifiers of people whose images need to be placed in a mini-packet. Block B contains identifiers of a number of people who are randomly selected. In this embodiment, block B contains the identifiers of two people, in particular the identifier 921 of the first person and the identifier 2312 of the second person. Block Contains identifiers of a certain number of people, which are doubles of people whose identifiers are added to block B. The mini-package in this embodiment has the ability to accommodate 24 images of people. Thus, the formation of mini- The package will occur as follows. First, the first three images of a person (0, 1, 2) with identifier 921 and the following two images of a person with identifier 2312 are placed in it, and the person with identifier 11123 is a double for person 921 according to the list of doubles, and therefore the images (in this case, five images ) this person is added to the mini-package following the images of the person with identifier 2312. Next, the filling of the mini-package takes place according to the well-known principle, i.e. the person with identifier 22 is the double of the person with identifier 2312, and therefore his images fall into the mini-package following the images of the person with identifier 11123, and the person with identifier 333 is the double of the person with identifier 11123, etc. until the mini-packet is completely filled . For each of the people whose identifiers are contained in block A, the mini-package contains one or more images.
С помощью средств 4 нейронной сетью обрабатывают набор изображений лиц из мини-пакета (фиг. 1) с получением векторных представлений и значений классификации. Указанные векторные представления и значения классификации являются результатами, получаемыми на выходе нейронной сети. В частности, на выходе нейронной сети получают векторное представление для каждого изображения лица человека. Векторное представление показывает размещение изображений лиц людей в векторном пространстве. Полученные векторные представления пропускают через классификатор с получением значений классификации. Using means 4, a neural network processes a set of facial images from a mini-packet (Fig. 1) to obtain vector representations and classification values. The indicated vector representations and classification values are the results obtained at the output of the neural network. In particular, at the output of a neural network, a vector representation is obtained for each image of a person’s face. A vector view shows the placement of images of people's faces in vector space. The resulting vector representations are passed through a classifier to obtain classification values.
При обучении нейронной сети с помощью идентификационного сигнала классификатор выдает значения классификации для каждого из классов (содержащих изображения одного человека), а также выбирает максимальные значения классификации в качестве результата для каждого изображения. Также нейронной сети предъявляются известные заранее выходные (правильные) значения классификации в соответствии с известными подходами к обучению нейронных сетей, и на основе сравнения правильного значения и значения классификации, полученного от классификатора, в средствах 5 формируется идентификационный обучающий сигнал. В качестве метода формирования идентификационного сигнала можно использовать другие различные методы, такие как Softmax, L2-Softmax, Proxy Loss, Sampled Softmax. When training a neural network using an identification signal, the classifier provides classification values for each of the classes (containing images of one person), and also selects the maximum classification values as the result for each image. Also, the known output (correct) classification values are presented to the neural network in accordance with the known approaches to training neural networks, and based on the comparison of the correct value and the classification value received from the classifier, an identification training signal is generated in means 5. As a method of generating an identification signal, various other methods can be used, such as Softmax, L2-Softmax, Proxy Loss, Sampled Softmax.
Важно отметить, что полученные значения классификации используют также и для поиска двойников с помощью средств 6. Само по себе получение значений классификации вычислительно затратно и, если бы значения находились специально только для поиска двойников, это сильно бы замедляло обучение нейронной сети. Но так как эти значения уже получены при обучении с помощью идентификационного сигнала, их повторное
использование для поиска двойников экономит вычисления и ускоряет время обучения сети. В других вариантах реализации возможно проводить поиск двойников на основании значений классификации, полученных для формирования обучающих сигналов, отличных от идентификационных, однако в этом случае снижается качество обучения нейронной сети. It is important to note that the obtained classification values are also used to search for twins using tools 6. By itself, obtaining classification values is computationally expensive and, if the values were found specifically only for searching for twins, this would greatly slow down the training of the neural network. But since these values have already been obtained during training using an identification signal, their repeated use for searching for doubles saves computation and speeds up network training time. In other embodiments, it is possible to search for twins based on classification values obtained for generating training signals other than identification ones, however, in this case, the quality of training of a neural network is reduced.
Таким образом, с помощью повторного использования значений, выданных классификатором в отношении каждого из людей, изображения лиц которых были помещены в текущий мини-пакет, находится его двойник. Другими словами, для изображения лица какого-либо человека, пропускаемого через нейронную сеть, находится такое значение классификации нейронной сети, которое является максимально близким к нему среди всех значений классификации, относящихся к идентификаторам людей, которые не являются тем же человеком, изображение лица которого было подано в нейронную сеть. Идентификатор человека, связанного с этим найденным значением классификации, записывают в список двойников 2 в качестве идентификатора двойника. Этот процесс повторяют на каждой итерации обучения нейронной сети, так что список двойников сначала постепенно заполняют двойниками и вместе с этим обновляют уже имеющихся двойников, таким образом сохраняя актуальность списка двойников. Thus, by reusing the values issued by the classifier for each of the people whose face images were placed in the current mini-package, its double is found. In other words, for the image of a person’s face passing through a neural network, there is such a classification value of the neural network that is as close as possible to it among all classification values related to identifiers of people who are not the same person whose face image was fed into the neural network. The identifier of the person associated with this found classification value is recorded in double list 2 as a twin identifier. This process is repeated at each iteration of training the neural network, so that the list of twins is first gradually filled with twins and at the same time the existing twins are updated, thus maintaining the relevance of the list of twins.
Векторные представления, полученные средствами 4, средствами 7 сравнивают попарно между собой с помощью любого подходящего метода, формирующего верификационный сигнал, в частности с помощью одного из известных методов, например Triplet Loss или Margin Based Loss. Верификационный сигнал позволяет извлечь полезную для обучения информацию, заключающуюся в отличии в векторном представлении между парами примеров (изображений) одного мини-пакета. Полезную информацию, извлекаемую из попарных сравнений таких векторных представлений лиц, используют при обучении сети для модификации этих векторных представлений таким образом, чтобы похожие лица, принадлежащие разным людям, в векторном представлении были бы дальше друг от друга (согласно косинусной метрике близости межу векторами), чем лица одного и того же человека, но полученные в разных условиях. В результате этих сравнений формируется верификационный обучающий сигнал. Vector representations obtained by means of 4, means of 7 are compared in pairs with each other using any suitable method that generates a verification signal, in particular using one of the known methods, for example Triplet Loss or Margin Based Loss. The verification signal allows you to extract information useful for training, which consists in the difference in the vector representation between pairs of examples (images) of one mini-package. Useful information extracted from pairwise comparisons of such vector representations of faces is used in training the network to modify these vector representations so that similar persons belonging to different people in the vector representation are farther apart (according to the cosine metric of proximity between the vectors), than the faces of the same person, but obtained under different conditions. As a result of these comparisons, a verification training signal is generated.
Предложенный способ обучения нейронной сети, использующий визуальную схожесть людей, в частности лиц людей, способствует обучению нейронной сети работе со «сложными» изображениями, под которыми подразумеваются изображения похожих лиц людей. Нейронная сеть, обученная на сложных примерах, содержащих изображения очень похожих лиц людей, при распознавании изображений лиц людей позволяет использовать такие векторные представления изображений, которые размещают изображения,
принадлежащие одному человеку, близко друг к другу в векторном пространстве, а изображения, принадлежащие разным людям, - далеко друг от друга в векторном пространстве. В противном случае, т.е. при обучении нейронной сети на примерах, содержащих очень непохожих людей, она может ошибиться и для изображений двух похожих людей выдать такие векторные представления, которые будут близки друг к другу, в частности более близки, чем изображения, принадлежащие одному человеку, но полученные в значительно разных условиях. The proposed method for training a neural network using the visual similarity of people, in particular human faces, helps to train the neural network to work with "complex" images, which means images of similar people's faces. A neural network trained on complex examples containing images of very similar people's faces, when recognizing images of people's faces, allows you to use such vector representations of images that place images, belonging to one person is close to each other in vector space, and images belonging to different people are far from each other in vector space. Otherwise, i.e. when learning a neural network using examples containing very dissimilar people, it can be mistaken and for images of two similar people give such vector representations that will be close to each other, in particular closer than images belonging to one person, but received in significantly different conditions.
Далее средствами 8 идентификационный и верификационный обучающий сигналы, полученные средствами 5 и 7, взвешивают с разными весами и суммируют, а затем отправляют сигналы на средства 4, т.е. используют в обучении нейронной сети методом обратного распространения ошибки. Идентификационный сигнал обучает нейронную сеть различать различных людей, а верификационный сигнал— дополнительно к этому позволяет находить сходства в разных лицах одного человека. На данном этапе завершается одна итерация обучения. Further, by means of 8, the identification and verification training signals received by means of 5 and 7 are weighed with different weights and summed, and then the signals are sent to means 4, i.e. used in training a neural network by the backpropagation method. The identification signal teaches the neural network to distinguish between different people, and the verification signal, in addition to this, allows you to find similarities in different faces of one person. At this stage, one iteration of learning is completed.
После этого оценивают качество обучения нейронной сети, и если качество обучения достигло заданного критерия, в частности известного из уровня техники критерия, то обучение останавливают, т.к. нейронная сеть обучена, если же нет, то запускают ещё одну итерацию обучения. Следующая итерация обучения начинается со средств 3 с формирования мини-пакета заново, т.е. с нуля, согласно предлагаемому способу, как описано выше. After that, the quality of training of the neural network is evaluated, and if the quality of training has reached a given criterion, in particular, a criterion known from the prior art, then training is stopped, because the neural network is trained, if not, then they start another iteration of the training. The next iteration of training begins with means 3 with the formation of a mini-package again, i.e. from scratch, according to the proposed method, as described above.
На фигуре 3 представлен результат поиска двойников предложенным способом обучения нейронной сети, согласно одному из вариантов осуществления изобретения. В каждой строке слева помещены три фотографии одного человека, а справа— три фотографии его двойника, найденного в обучающей базе с помощью предложенного способа обучения нейронной сети. The figure 3 presents the search result for twins of the proposed method of training a neural network, according to one embodiment of the invention. On each line on the left are three photographs of one person, and on the right are three photographs of his double found in the training base using the proposed method for training a neural network.
Таким образом, предлагаемый способ решает проблему поиска обучающих примеров для обучения нейронных сетей, которые в дальнейшем обеспечивают высокоточное распознавание лиц, в частности очень похожих людей. Кроме того, предлагаемый способ обучения нейронной сети характеризуется алгоритмом обучения, который увеличивает скорость обучения, при этом практически не требуя дополнительной памяти для реализации предлагаемого способа. Thus, the proposed method solves the problem of searching for training examples for training neural networks, which subsequently provide high-precision recognition of faces, in particular, very similar people. In addition, the proposed method for training a neural network is characterized by a learning algorithm that increases the speed of learning, while practically not requiring additional memory to implement the proposed method.
Также следует отметить, что в других вариантах реализации предлагаемого способа обучения нейронной сети, которые не требуется использовать для распознавания лиц людей, возможно обучение нейронной сети распознаванию других особенностей внешности человека, например конкретных черт лица, таких, как глаза, нос и т.д. В данном
случае под термином «двойник» будет пониматься человек, какая-либо черта лица которого имеет сильное сходство с той же чертой лица данного человека. При этом критерий сходства зависит от требуемого результата обучения нейронной сети. It should also be noted that in other embodiments of the proposed method for training a neural network that does not need to be used for recognizing people's faces, it is possible to teach the neural network to recognize other features of a person’s appearance, for example, specific facial features, such as eyes, nose, etc. In this In this case, the term "double" will be understood as a person whose facial features are strongly similar to the same facial features of this person. In this case, the similarity criterion depends on the required learning outcome of the neural network.
Кроме того, вместо нейронной сети в других вариантах реализации, в которых не требуется высокая точность при дальнейшем распознавании людей, для поиска обучающих примеров возможно использование более простых моделей (например, Eigenfaces). In addition, instead of the neural network in other implementations that do not require high accuracy in the further recognition of people, simpler models (for example, Eigenfaces) can be used to search for training examples.
Настоящее изобретение не ограничено конкретными вариантами реализации, раскрытыми в описании в иллюстративных целях, и охватывает все возможные модификации и альтернативы, входящие в объем настоящего изобретения, определенный формулой изобретения.
The present invention is not limited to the specific embodiments disclosed in the description for illustrative purposes, and covers all possible modifications and alternatives that fall within the scope of the present invention defined by the claims.
Claims
1. Способ обучения нейронной сети распознаванию лиц людей, согласно которому 1. A method of training a neural network to recognize people's faces, according to which
обеспечивают наличие базы данных с изображениями лиц людей; provide a database with images of people's faces;
обеспечивают наличие списка двойников; provide a list of doubles;
формируют мини-пакет из изображений лиц людей путём сначала включения в него набора изображений лиц людей из базы данных, а затем добавления для каждого человека, по меньшей мере одно изображение которого включено в мини-пакет, по меньшей мере одного изображения его двойника из списка двойников, при наличии двойника и если изображение этого двойника ещё не включено в мини-пакет, а при отсутствии двойника или если изображение двойника уже включено в мини-пакет, добавления по меньшей мере одного изображения другого человека из базы данных; form a mini-package of images of people's faces by first including a set of images of people's faces from the database, and then adding for each person at least one image of which is included in the mini-package of at least one image of his double from the list of doubles , if there is a double and if the image of this double is not yet included in the mini-package, and if there is no double or if the image of the double is already included in the mini-package, add at least one image of another person from the database;
подают изображения лиц людей из мини-пакета на вход нейронной сети; submit images of people's faces from the mini-packet to the input of the neural network;
формируют верификационный и идентификационный обучающие сигналы с использованием результатов, полученных на выходе нейронной сети; generating verification and identification training signals using the results obtained at the output of the neural network;
обучают нейронную сеть с использованием верификационного и идентификационного обучающего сигнала; train a neural network using a verification and identification training signal;
ставят в соответствие каждому человеку в качестве двойника другого человека с использованием указанных результатов с обновлением списка двойников при получении пары двойников, отсутствующей в списке двойников; match each person as a double of another person using the indicated results with updating the list of doubles when receiving a pair of doubles that is not in the list of doubles;
повторяют указанные операции начиная с формирования мини-пакета. repeat the above operations from the formation of the mini-package.
2. Способ по п. 1, согласно которому заканчивают обучение нейронной сети, когда качество обучения достигнет заданного критерия. 2. The method according to p. 1, according to which the training of the neural network is completed when the quality of training reaches a given criterion.
3. Способ по любому из пп. 1-2, согласно которому обеспечивают наличие пустого списка двойников. 3. The method according to any one of paragraphs. 1-2, according to which they provide an empty list of doubles.
4. Способ по любому из пп. 1-3, согласно которому количество человек, изображения которых добавляют в мини-пакет, и количество изображений каждого человека, изображения которого добавляют в мини-пакет, определяют на основе гиперпараметра алгоритма обучения.
4. The method according to any one of paragraphs. 1-3, according to which the number of people whose images are added to the mini-package, and the number of images of each person whose images are added to the mini-package, is determined based on the hyperparameter of the learning algorithm.
5. Способ по п. 1, согласно которому все изображения каждого человека в базе данных имеют идентификатор. 5. The method according to p. 1, according to which all the images of each person in the database have an identifier.
6. Способ по п. 1, согласно которому людей, изображения которых добавляют в мини- пакет из базы данных, выбирают случайным образом.
6. The method according to claim 1, according to which people whose images are added to the mini-package from the database are randomly selected.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/RU2018/000259 WO2019209131A1 (en) | 2018-04-23 | 2018-04-23 | Method of training a neural network for human facial recognition |
KR1020207033668A KR20210033940A (en) | 2018-04-23 | 2018-04-23 | How to Train Neural Networks for Human Facial Recognition |
EA202092529A EA202092529A1 (en) | 2018-04-23 | 2018-04-23 | METHOD FOR TRAINING A NEURAL NETWORK FOR HUMAN FACE RECOGNITION |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/RU2018/000259 WO2019209131A1 (en) | 2018-04-23 | 2018-04-23 | Method of training a neural network for human facial recognition |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019209131A1 true WO2019209131A1 (en) | 2019-10-31 |
Family
ID=68295642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/RU2018/000259 WO2019209131A1 (en) | 2018-04-23 | 2018-04-23 | Method of training a neural network for human facial recognition |
Country Status (3)
Country | Link |
---|---|
KR (1) | KR20210033940A (en) |
EA (1) | EA202092529A1 (en) |
WO (1) | WO2019209131A1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111126563A (en) * | 2019-11-25 | 2020-05-08 | 中国科学院计算技术研究所 | Twin network-based space-time data target identification method and system |
CN111325736A (en) * | 2020-02-27 | 2020-06-23 | 成都航空职业技术学院 | Sight angle estimation method based on human eye difference image |
CN113065645A (en) * | 2021-04-30 | 2021-07-02 | 华为技术有限公司 | Twin attention network, image processing method and device |
CN114448664A (en) * | 2021-12-22 | 2022-05-06 | 深信服科技股份有限公司 | Phishing webpage identification method and device, computer equipment and storage medium |
CN117273747A (en) * | 2023-09-28 | 2023-12-22 | 广州佳新智能科技有限公司 | Payment method, device, storage medium and equipment based on face image recognition |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006343791A (en) * | 2005-06-07 | 2006-12-21 | Hitachi Ltd | Face image database preparation method |
CN106503669A (en) * | 2016-11-02 | 2017-03-15 | 重庆中科云丛科技有限公司 | A kind of based on the training of multitask deep learning network, recognition methods and system |
US20170140247A1 (en) * | 2015-11-16 | 2017-05-18 | Samsung Electronics Co., Ltd. | Method and apparatus for recognizing object, and method and apparatus for training recognition model |
-
2018
- 2018-04-23 EA EA202092529A patent/EA202092529A1/en unknown
- 2018-04-23 WO PCT/RU2018/000259 patent/WO2019209131A1/en active Application Filing
- 2018-04-23 KR KR1020207033668A patent/KR20210033940A/en not_active Application Discontinuation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006343791A (en) * | 2005-06-07 | 2006-12-21 | Hitachi Ltd | Face image database preparation method |
US20170140247A1 (en) * | 2015-11-16 | 2017-05-18 | Samsung Electronics Co., Ltd. | Method and apparatus for recognizing object, and method and apparatus for training recognition model |
CN106503669A (en) * | 2016-11-02 | 2017-03-15 | 重庆中科云丛科技有限公司 | A kind of based on the training of multitask deep learning network, recognition methods and system |
Non-Patent Citations (1)
Title |
---|
SHANG-HUNG LIN ET AL.: "Face Recognition/Detection by Probabilistic Decision-Based Neural Network", IEEE TRANSACTIONS ON NEURAL NETWORKS, vol. 8, no. 1, 1997, XP011039943 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111126563A (en) * | 2019-11-25 | 2020-05-08 | 中国科学院计算技术研究所 | Twin network-based space-time data target identification method and system |
CN111126563B (en) * | 2019-11-25 | 2023-09-29 | 中国科学院计算技术研究所 | Target identification method and system based on space-time data of twin network |
CN111325736A (en) * | 2020-02-27 | 2020-06-23 | 成都航空职业技术学院 | Sight angle estimation method based on human eye difference image |
CN111325736B (en) * | 2020-02-27 | 2024-02-27 | 成都航空职业技术学院 | Eye differential image-based sight angle estimation method |
CN113065645A (en) * | 2021-04-30 | 2021-07-02 | 华为技术有限公司 | Twin attention network, image processing method and device |
CN113065645B (en) * | 2021-04-30 | 2024-04-09 | 华为技术有限公司 | Twin attention network, image processing method and device |
CN114448664A (en) * | 2021-12-22 | 2022-05-06 | 深信服科技股份有限公司 | Phishing webpage identification method and device, computer equipment and storage medium |
CN114448664B (en) * | 2021-12-22 | 2024-01-02 | 深信服科技股份有限公司 | Method and device for identifying phishing webpage, computer equipment and storage medium |
CN117273747A (en) * | 2023-09-28 | 2023-12-22 | 广州佳新智能科技有限公司 | Payment method, device, storage medium and equipment based on face image recognition |
CN117273747B (en) * | 2023-09-28 | 2024-04-19 | 广州佳新智能科技有限公司 | Payment method, device, storage medium and equipment based on face image recognition |
Also Published As
Publication number | Publication date |
---|---|
EA202092529A1 (en) | 2021-02-02 |
KR20210033940A (en) | 2021-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019209131A1 (en) | Method of training a neural network for human facial recognition | |
Zheng et al. | Age estimation guided convolutional neural network for age-invariant face recognition | |
KR101252454B1 (en) | Apparatus and method for selecting representative fingerprint template | |
US20070122009A1 (en) | Face recognition method and apparatus | |
CN109858392B (en) | Automatic face image identification method before and after makeup | |
Hafemann et al. | Meta-learning for fast classifier adaptation to new users of signature verification systems | |
US20220358791A1 (en) | Identity information processing method and device based on fundus image | |
WO2018166273A1 (en) | Method and apparatus for matching high-dimensional image feature | |
CN114358205B (en) | Model training method, model training device, terminal device and storage medium | |
WO2013181695A1 (en) | Biometric verification | |
Banerjee et al. | Learning unseen emotions from gestures via semantically-conditioned zero-shot perception with adversarial autoencoders | |
Tan et al. | Face recognition using the weighted fractal neighbor distance | |
Markuš et al. | Learning local descriptors by optimizing the keypoint-correspondence criterion: applications to face matching, learning from unlabeled videos and 3D-shape retrieval | |
CN113469002B (en) | Identity recognition method based on blockchain interaction, biological multi-feature recognition and multi-source data fusion | |
Akinyemi et al. | An individualized face pairing model for age-invariant face recognition | |
CN113785304A (en) | Face recognition method and device | |
KR20220125422A (en) | Method and device of celebrity identification based on image classification | |
Ounachad et al. | Fuzzy hamming distance and perfect face ratios based face sketch recognition | |
Yashavanth et al. | Performance analysis of multimodal biometric system using LBP and PCA | |
EA041665B1 (en) | METHOD FOR TRAINING A NEURAL NETWORK FOR PEOPLE FACE RECOGNITION | |
CN110135253A (en) | A kind of finger vena identification method based on long-term recursive convolution neural network | |
Maiorana et al. | Use of polynomial classifiers for on-line signature recognition | |
CN114241588A (en) | Self-adaptive face comparison method and system | |
CN110084110B (en) | Near-infrared face image recognition method and device, electronic equipment and storage medium | |
CN110688972A (en) | System and method for improving face generation performance |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18916690 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18916690 Country of ref document: EP Kind code of ref document: A1 |