WO2024147540A1 - Method and system for registering image embeddings for face recognition - Google Patents
Method and system for registering image embeddings for face recognition Download PDFInfo
- Publication number
- WO2024147540A1 WO2024147540A1 PCT/KR2023/021679 KR2023021679W WO2024147540A1 WO 2024147540 A1 WO2024147540 A1 WO 2024147540A1 KR 2023021679 W KR2023021679 W KR 2023021679W WO 2024147540 A1 WO2024147540 A1 WO 2024147540A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- embedding
- processor
- embeddings
- representative
- person
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 84
- 239000013598 vector Substances 0.000 claims description 27
- 230000001815 facial effect Effects 0.000 claims description 20
- 238000012360 testing method Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 14
- 230000008859 change Effects 0.000 claims description 8
- 238000013135 deep learning Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 4
- 238000004088 simulation Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 29
- 238000010586 diagram Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 10
- 239000000284 extract Substances 0.000 description 8
- 238000000605 extraction Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 3
- 238000013136 deep learning model Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 241000220259 Raphanus Species 0.000 description 1
- 235000006140 Raphanus sativus var sativus Nutrition 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Images
Classifications
-
- 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/50—Maintenance of biometric data or enrolment thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/56—Information retrieval; Database structures therefor; File system structures therefor of still image data having vectorial format
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/772—Determining representative reference patterns, e.g. averaging or distorting patterns; Generating dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/778—Active pattern-learning, e.g. online learning of image or video features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/778—Active pattern-learning, e.g. online learning of image or video features
- G06V10/7796—Active pattern-learning, e.g. online learning of image or video features based on specific statistical tests
-
- 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
-
- 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/168—Feature extraction; Face representation
-
- 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/172—Classification, e.g. identification
Definitions
- the description below relates to a method and system for registering image embeddings for face recognition.
- embeddings of face images of the person to be recognized can first be extracted and registered in a database along with the person's identifier. Afterwards, the first embedding for the input face image is compared with the second embeddings registered in the database, and an identifier with the second embedding with the highest similarity is output, thereby providing an identifier for the person recognized for the input face image. can be provided. In this case, only the second embedding whose similarity to the first embedding is greater than a certain threshold can be recognized, and if there is no second embedding whose similarity to the first embedding is greater than a certain threshold, it corresponds to the input face image. The person doing this may be recognized as someone who is not registered in the database.
- An embedding registration method of a computer device including at least one processor, comprising extracting an embedding from each of a plurality of face images of a person to be registered for face recognition, using the at least one processor, to generate an embedding set. ; Constructing, by the at least one processor, a representative embedding based on embeddings included in the embedding set; and registering, by the at least one processor, the configured representative embedding in a database in association with the identifier of the person.
- the step of generating the embedding set may be characterized by extracting a feature vector as an embedding from each of the plurality of face images and generating a set of feature vectors as an embedding set.
- the step of configuring the representative embedding comprises configuring the center point in the feature space of the feature vectors, which is determined by calculating the average or weighted average in the feature space of the feature vectors, as the representative embedding. You can do this.
- configuring the representative embeddings includes learning a deep learning-based classifier through feature vectors corresponding to the embeddings; and obtaining the weights of the last fully connected layer of the learned deep learning-based classifier as a weighted average center point in the feature space for the feature vectors.
- the embedding registration method provides the administrator with a function for selecting a specific face image among the plurality of face images or a specific feature among the features included in the embeddings by the at least one processor. Additional steps may be included.
- the step of configuring the representative embedding involves configuring the representative embedding through a weighted average of the embeddings included in the embedding set, using an embedding extracted from a specific face image selected through the function or an embedding selected through the function.
- the weighted average may be calculated by assigning weights to specific features.
- the embedding registration method includes receiving, by the at least one processor, a face image of a person whose face is to be recognized; extracting, by the at least one processor, a first embedding of the input face image; And further comprising, by the at least one processor, searching the database for a representative embedding whose reliability for distinguishing from the first embedding is greater than or equal to a preset threshold value, and extracting an identifier of a person stored in connection with the searched representative embedding. You can.
- the embedding registration method includes selecting, by the at least one processor, an additional face image; simulating, by the at least one processor, a change in performance when registering an embedding extracted from the selected additional face image in the database; providing, by the at least one processor, the simulation results to an administrator; and further registering, by the at least one processor, in response to a decision from the administrator to register the additional face image, in association with the identifier of the person, an embedding extracted from the additional face image in a database. can do.
- the embedding registration method includes recognizing, by the at least one processor, a test face image for the person using the database; When the test face image is not recognized, by the at least one processor, analyzing properties of the test face image and properties of each of the plurality of face images using a classifier that analyzes properties of a face; determining, by the at least one processor, attributes of an additional facial image for recognition of the test facial image based on the analyzed attributes; and providing, by the at least one processor, information about attributes of the determined additional face image to an administrator.
- a computer program stored on a computer-readable recording medium is provided in conjunction with a computer device to execute the method on the computer device.
- face recognition by constructing a representative embedding for the input data group of the person to be registered and registering it in the database, face recognition performance can be improved while reducing the amount of embedding data registered in the database.
- Figure 3 is a flowchart showing an example of an embedding registration method in one embodiment of the present invention.
- Figure 5 is a diagram illustrating an example of a process for extracting embeddings from a person image, according to an embodiment of the present invention.
- Figure 7 is a diagram showing an example of an average in a feature space according to an embodiment of the present invention.
- Figure 8 is a flowchart showing an example of a process for recommending additional data, according to an embodiment of the present invention.
- the embedding registration system may be implemented by at least one computer device.
- the computer program according to an embodiment of the present invention may be installed and driven in the computer device, and the computer device may perform the embedding registration method according to the embodiments of the present invention under the control of the driven computer program.
- the above-described computer program can be combined with a computer device and stored in a computer-readable recording medium to execute the embedding registration method on the computer.
- FIG. 1 is a diagram illustrating an example of a network environment according to an embodiment of the present invention.
- the network environment in FIG. 1 shows an example including a plurality of electronic devices 110, 120, 130, and 140, a plurality of servers 150 and 160, and a network 170.
- Figure 1 is an example for explaining the invention, and the number of electronic devices or servers is not limited as in Figure 1.
- the network environment in FIG. 1 only explains one example of environments applicable to the present embodiments, and the environment applicable to the present embodiments is not limited to the network environment in FIG. 1.
- the communication method is not limited, and may include not only a communication method utilizing a communication network that the network 170 may include (for example, a mobile communication network, wired Internet, wireless Internet, and a broadcast network), but also short-range wireless communication between devices.
- the network 170 may include a personal area network (PAN), a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), a wide area network (WAN), and a broadband network (BBN).
- PAN personal area network
- LAN local area network
- CAN campus area network
- MAN metropolitan area network
- WAN wide area network
- BBN broadband network
- the network 170 may include any one or more of network topologies including a bus network, star network, ring network, mesh network, star-bus network, tree or hierarchical network, etc. Not limited.
- Each of the servers 150 and 160 is a computer device or a plurality of computers that communicate with a plurality of electronic devices 110, 120, 130, 140 and a network 170 to provide commands, codes, files, content, services, etc. It can be implemented with devices.
- the server 150 may be a system that provides services to a plurality of electronic devices 110, 120, 130, and 140 connected through the network 170.
- FIG. 2 is a block diagram showing an example of a computer device according to an embodiment of the present invention.
- Each of the plurality of electronic devices 110, 120, 130, and 140 described above or each of the servers 150 and 160 may be implemented by the computer device 200 shown in FIG. 2.
- the processor 220 may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input/output operations. Commands may be provided to the processor 220 by the memory 210 or the communication interface 230. For example, processor 220 may be configured to execute received instructions according to program code stored in a recording device such as memory 210.
- the communication interface 230 may provide a function for the computer device 200 to communicate with other devices (eg, the storage devices described above) through the network 170. For example, a request, command, data, file, etc. generated by the processor 220 of the computer device 200 according to a program code stored in a recording device such as memory 210 is transmitted to the network ( 170) and can be transmitted to other devices. Conversely, signals, commands, data, files, etc. from other devices may be received by the computer device 200 through the communication interface 230 of the computer device 200 via the network 170. Signals, commands, data, etc. received through the communication interface 230 may be transmitted to the processor 220 or memory 210, and files, etc. may be stored in a storage medium (as described above) that the computer device 200 may further include. It can be stored as a permanent storage device).
- a storage medium as described above
- the input/output interface 240 may be a means for interfacing with the input/output device 250.
- input devices may include devices such as a microphone, keyboard, or mouse, and output devices may include devices such as displays and speakers.
- the input/output interface 240 may be a means for interfacing with a device that integrates input and output functions, such as a touch screen.
- At least one of the input/output devices 250 may be configured as one device with the computer device 200. For example, like a smart phone, a touch screen, microphone, speaker, etc. may be included in the computer device 200.
- computer device 200 may include fewer or more components than those of FIG. 2 . However, there is no need to clearly show most prior art components.
- the computer device 200 may be implemented to include at least some of the input/output devices 250 described above, or may further include other components such as a transceiver, a database, etc.
- FIG. 3 is a flowchart showing an example of an embedding registration method in one embodiment of the present invention.
- the embedding registration method according to this embodiment can be performed by the computer device 200 previously described with reference to FIG. 2.
- the processor 220 of the computer device 200 may be implemented to execute control instructions according to the code of an operating system included in the memory 210 or the code of at least one computer program.
- the processor 220 causes the computer device 200 to perform steps 310 to 330 included in the method of FIG. 3 according to control instructions provided by code stored in the computer device 200. can be controlled.
- the computer device 200 may generate an embedding set by extracting an embedding from each of a plurality of face images of a person to be registered for face recognition.
- the computer device 200 may extract a feature vector as an embedding from each of a plurality of face images and generate a set of feature vectors as an embedding set.
- the embedding may be a feature vector extracted from a person's face image. Extraction of these feature vectors can be done using a previously learned machine learning-based facial feature extraction model. Since the technology itself for extracting features from images using machine learning-based learning models is already well known, detailed explanations will be omitted.
- n face images are input for a person to be registered, n embeddings may be extracted to create an embedding set.
- the computer device 200 may construct a representative embedding based on the embeddings included in the embedding set. For example, the computer device 200 may configure the center point in the feature space of the feature vectors, which is determined by calculating the average or weighted average of the feature vectors, as a representative embedding. If a 512-dimensional feature vector is generated for each of n face images, data of size n ⁇ 512 is generated. On the other hand, when one central point in the feature space is configured as a representative embedding as in this embodiment, the required data can be reduced to data of 512 dimensions.
- the computer device 200 may obtain a weighted average center point through additional learning using a classifier for feature vectors.
- the computer device 200 can learn a deep learning-based classifier through feature vectors corresponding to embeddings included in the embedding set.
- the computer device 200 may obtain the weights of the last fully connected layer of the learned deep learning-based classifier as the weighted average center point in the feature space for the feature vectors.
- the results of L2 normalization of the weights may be used as a weighted average center point.
- weights may be given in embedding units (face image units) or feature units.
- the computer device 200 constructs a representative embedding through a weighted average of the embeddings included in the embedding set, and uses an embedding extracted from a specific face image among a plurality of face images or a specific feature among the features included in the embeddings. You can calculate a weighted average by assigning weights.
- the administrator may be provided with a function to select embedding or features for assigning weight.
- the computer device 200 may provide the administrator with a function for selecting a specific feature among features included in a specific face image or embeddings among a plurality of face images.
- the computer device 200 configures the representative embedding through a weighted average of the embeddings included in the embedding set, and assigns weight to the embedding extracted from a specific face image selected through a function provided to the administrator or to the administrator.
- the provided function allows you to calculate a weighted average by assigning weight to specific selected features.
- the computer device 200 may register the constructed representative embedding in a database in association with the identifier of the person wishing to register. For example, the computer device 200 may link the central point in the feature space with the person's identifier and register it in a database.
- representative embeddings such as these center points are used for face recognition, not only can the size of required data be reduced as described above, but face recognition performance can be improved through the reduced data. Additionally, depending on the embodiment, additional data in addition to the representative embedding may be used, and in this case, face recognition performance can be further improved. The improved face recognition performance will be explained in more detail later.
- Figure 4 is a diagram showing an example of a person and person images according to an embodiment of the present invention.
- Figure 4 shows an example in which a plurality of face images 412, 422, and 432 exist for each of a plurality of people (person A (411), person B (421), person C (431), and so on.
- a, b, and c which represent the number of face images for each of person A (411), person B (421), and person C (431), may be substantially natural numbers of 2 or more.
- FIG. 5 is a diagram illustrating an example of a process for extracting embeddings from a person image, according to an embodiment of the present invention.
- each of the plurality of face images 412 of person A 411 is input into the machine learning-based facial feature extraction model 510 to generate embeddings 520 for each of the plurality of face images 412.
- An example of extraction is shown.
- the computer device 200 may extract embeddings 520 for each of the plurality of face images 412 using the machine learning-based facial feature extraction model 510.
- each of the embeddings 520 was stored in conjunction with the identifier of person A 411 and used for face recognition.
- representative embeddings of these embeddings 520 can be configured and utilized. .
- Figure 9 is a flowchart showing an example of a process for selecting and registering an additional face image, according to an embodiment of the present invention.
- the additional facial image selection and registration process according to this embodiment may be included in the embedding registration method described with reference to FIG. 4 and performed by the computer device 200.
- the processor 220 of the computer device 200 may be implemented to execute control instructions according to the code of an operating system included in the memory 210 or the code of at least one computer program.
- the processor 220 causes the computer device 200 to perform steps 910 to 940 included in the process of FIG. 9 according to control instructions provided by code stored in the computer device 200. can be controlled.
- the computer device 200 may analyze the properties of the test face image and the properties of each of the plurality of face images using a classifier that analyzes the properties of the face. .
- a classifier that analyzes the properties of the face.
- the computer device 200 may search the database for a representative embedding whose reliability for distinguishing from the first embedding is greater than or equal to a preset threshold value and extract the identifier of the person stored in connection with the searched representative embedding. For example, the computer device 200 may compare the first embedding extracted from the input face image with each of the representative embeddings registered in the database and calculate the classification reliability for each of the representative embeddings. At this time, the computer device 200 can confirm a representative embedding whose classification reliability is greater than or equal to a preset boundary value, and can identify the person corresponding to the input face image by extracting the identifier of the person stored in connection with the confirmed representative embedding. There will be. If there is no representative embedding for which a classification reliability greater than a preset threshold value is obtained, the computer device 200 may classify the person corresponding to the input face image as a person not registered in the database.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Medical Informatics (AREA)
- Human Computer Interaction (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Mathematical Physics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
Abstract
Disclosed are a method and system for registering image embeddings for face recognition. The embedding registration method according to an embodiment may comprise the steps of: extracting embeddings respectively from a plurality of face images of a person to be registered for face recognition and generating a set of embeddings; constructing a representative embedding on the basis of the embeddings included in the set of embeddings; and registering the constructed representative embedding in a database in association with an identifier of the person.
Description
아래의 설명은 얼굴 인식을 위한 이미지의 임베딩을 등록하는 방법 및 시스템에 관한 것이다.The description below relates to a method and system for registering image embeddings for face recognition.
일반적인 얼굴 인식 방식에서는, 먼저 인식하고자 하는 사람의 얼굴 이미지들에 대한 임베딩(embedding)을 추출하여 해당 사람의 식별자와 함께 데이터베이스에 등록할 수 있다. 이후, 입력으로 들어온 얼굴 이미지에 대한 제1 임베딩을 데이터베이스에 등록된 제2 임베딩들과 비교하여 가장 유사도가 높은 제2 임베딩을 가지고 있는 식별자를 출력함으로써, 입력된 얼굴 이미지에 대해 인식된 사람의 식별자를 제공할 수 있다. 이 경우, 제1 임베딩과의 유사도가 특정 임계값 이상인 제2 임베딩만 인정될 수 있고, 제1 임베딩과의 유사도가 특정 임계값 이상인 제2 임베딩이 존재하지 않는 경우, 입력으로 들어온 얼굴 이미지에 대응하는 사람이 데이터베이스에 등록되지 않은 사람으로 인식될 수 있다.In a general face recognition method, embeddings of face images of the person to be recognized can first be extracted and registered in a database along with the person's identifier. Afterwards, the first embedding for the input face image is compared with the second embeddings registered in the database, and an identifier with the second embedding with the highest similarity is output, thereby providing an identifier for the person recognized for the input face image. can be provided. In this case, only the second embedding whose similarity to the first embedding is greater than a certain threshold can be recognized, and if there is no second embedding whose similarity to the first embedding is greater than a certain threshold, it corresponds to the input face image. The person doing this may be recognized as someone who is not registered in the database.
얼굴 인식에서 등록하고자 하는 사람의 입력 데이터군에 대한 대표 임베딩을 구성하여 데이터베이스에 등록할 수 있는 임베딩 등록 방법 및 시스템을 제공한다. We provide an embedding registration method and system that can configure a representative embedding for the input data group of a person to be registered in face recognition and register it in a database.
적어도 하나의 프로세서를 포함하는 컴퓨터 장치의 임베딩 등록 방법에 있어서, 상기 적어도 하나의 프로세서에 의해, 얼굴 인식을 위해 등록하고자 하는 인물의 복수의 얼굴 이미지들 각각으로부터 임베딩을 추출하여 임베딩 집합을 생성하는 단계; 상기 적어도 하나의 프로세서에 의해, 상기 임베딩 집합에 포함된 임베딩들에 기초하여 대표 임베딩을 구성하는 단계; 및 상기 적어도 하나의 프로세서에 의해, 상기 구성된 대표 임베딩을 상기 인물의 식별자와 연계하여 데이터베이스에 등록하는 단계를 포함하는 임베딩 등록 방법을 제공한다.An embedding registration method of a computer device including at least one processor, comprising extracting an embedding from each of a plurality of face images of a person to be registered for face recognition, using the at least one processor, to generate an embedding set. ; Constructing, by the at least one processor, a representative embedding based on embeddings included in the embedding set; and registering, by the at least one processor, the configured representative embedding in a database in association with the identifier of the person.
일측에 따르면, 상기 임베딩 집합을 생성하는 단계는, 상기 복수의 얼굴 이미지들 각각으로부터 특징 벡터(feature vector)를 임베딩으로서 추출하여 특징 벡터들의 집합을 임베딩 집합으로서 생성하는 것을 특징으로 할 수 있다.According to one side, the step of generating the embedding set may be characterized by extracting a feature vector as an embedding from each of the plurality of face images and generating a set of feature vectors as an embedding set.
다른 측면에 따르면, 상기 대표 임베딩을 구성하는 단계는, 상기 특징 벡터들의 특징 공간에서의 평균 또는 가중 평균을 계산하여 결정되는 상기 특징 벡터들의 상기 특징 공간에서의 중심점을 상기 대표 임베딩으로서 구성하는 것을 특징으로 할 수 있다.According to another aspect, the step of configuring the representative embedding comprises configuring the center point in the feature space of the feature vectors, which is determined by calculating the average or weighted average in the feature space of the feature vectors, as the representative embedding. You can do this.
또 다른 측면에 따르면, 상기 데이터베이스에 등록하는 단계는, 상기 특징 공간에서의 중심점을 상기 인물의 식별자와 연계하여 데이터베이스에 등록하는 것을 특징으로 할 수 있다.According to another aspect, the step of registering in the database may be characterized by registering the center point in the feature space in the database by linking it with the identifier of the person.
또 다른 측면에 따르면, 상기 대표 임베딩을 구성하는 단계는, 상기 임베딩들에 대응하는 특징 벡터들을 통해 딥러닝 기반 분류기를 학습하는 단계; 및 상기 학습된 딥러닝 기반 분류기의 마지막 완전 연결 레이어(fully connected layer)의 가중치들을 상기 특징 벡터들에 대한 특징 공간에서의 가중 평균된 중심점으로서 획득하는 단계를 포함하는 것을 특징으로 할 수 있다.According to another aspect, configuring the representative embeddings includes learning a deep learning-based classifier through feature vectors corresponding to the embeddings; and obtaining the weights of the last fully connected layer of the learned deep learning-based classifier as a weighted average center point in the feature space for the feature vectors.
또 다른 측면에 따르면, 상기 대표 임베딩을 구성하는 단계는, 상기 임베딩 집합에 포함된 임베딩들의 가중 평균을 통해 상기 대표 임베딩을 구성하되, 상기 복수의 얼굴 이미지들 중 특정 얼굴 이미지로부터 추출된 임베딩 또는 상기 임베딩들이 포함하는 특징들 중 특정 특징에 가중치를 부여하여 상기 가중 평균을 계산하는 것을 특징으로 할 수 있다.According to another aspect, the step of configuring the representative embedding comprises configuring the representative embedding through a weighted average of the embeddings included in the embedding set, wherein the representative embedding is extracted from a specific face image among the plurality of face images or the The weighted average may be calculated by assigning a weight to a specific feature among the features included in the embeddings.
또 다른 측면에 따르면, 상기 임베딩 등록 방법은 상기 적어도 하나의 프로세서에 의해, 상기 복수의 얼굴 이미지들 중 특정 얼굴 이미지 또는 상기 임베딩들이 포함하는 특징들 중 특정 특징을 선정하기 위한 기능을 관리자에게 제공하는 단계를 더 포함할 수 있다. 이때, 상기 대표 임베딩을 구성하는 단계는, 상기 임베딩 집합에 포함된 임베딩들의 가중 평균을 통해 상기 대표 임베딩을 구성하되, 상기 기능을 통해 선정된 특정 얼굴 이미지로부터 추출된 임베딩 또는 상기 기능을 통해 선정된 특정 특징에 가중치를 부여하여 상기 가중 평균을 계산하는 것을 특징으로 할 수 있다.According to another aspect, the embedding registration method provides the administrator with a function for selecting a specific face image among the plurality of face images or a specific feature among the features included in the embeddings by the at least one processor. Additional steps may be included. At this time, the step of configuring the representative embedding involves configuring the representative embedding through a weighted average of the embeddings included in the embedding set, using an embedding extracted from a specific face image selected through the function or an embedding selected through the function. The weighted average may be calculated by assigning weights to specific features.
또 다른 측면에 따르면, 상기 임베딩 등록 방법은 상기 적어도 하나의 프로세서에 의해, 얼굴에 대한 속성(attribute)을 분석하는 분류기를 이용하여 상기 복수의 얼굴 이미지로부터 속성에 대한 통계를 생성하는 단계; 상기 적어도 하나의 프로세서에 의해, 상기 생성된 통계를 관리자에게 제공하는 단계; 상기 적어도 하나의 프로세서에 의해, 상기 통계에 기반하여 상기 관리자로부터 입력되는 추가 얼굴 이미지로부터 추가 임베딩을 추출하는 단계; 및 상기 적어도 하나의 프로세서에 의해, 상기 추가 임베딩을 상기 인물의 식별자와 연계하여 데이터베이스에 더 등록하는 단계를 더 포함할 수 있다.According to another aspect, the embedding registration method includes generating statistics about attributes from the plurality of face images using a classifier that analyzes attributes about faces, by the at least one processor; providing, by the at least one processor, the generated statistics to an administrator; extracting, by the at least one processor, additional embeddings from additional face images input from the manager based on the statistics; and further registering the additional embedding in a database in association with the identifier of the person, by the at least one processor.
또 다른 측면에 따르면, 상기 임베딩 등록 방법은 상기 적어도 하나의 프로세서에 의해, 얼굴을 인식하고자 하는 인물의 얼굴 이미지를 입력받는 단계; 상기 적어도 하나의 프로세서에 의해, 상기 입력된 얼굴 이미지의 제1 임베딩을 추출하는 단계; 및 상기 적어도 하나의 프로세서에 의해, 상기 데이터베이스로부터 상기 제1 임베딩과의 구분 신뢰도가 기설정된 경계값 이상인 대표 임베딩을 검색하여 상기 검색된 대표 임베딩에 연계되어 저장된 인물의 식별자를 추출하는 단계를 더 포함할 수 있다.According to another aspect, the embedding registration method includes receiving, by the at least one processor, a face image of a person whose face is to be recognized; extracting, by the at least one processor, a first embedding of the input face image; And further comprising, by the at least one processor, searching the database for a representative embedding whose reliability for distinguishing from the first embedding is greater than or equal to a preset threshold value, and extracting an identifier of a person stored in connection with the searched representative embedding. You can.
또 다른 측면에 따르면, 상기 임베딩 등록 방법은 상기 적어도 하나의 프로세서에 의해, 추가 얼굴 이미지를 선별하는 단계; 상기 적어도 하나의 프로세서에 의해, 상기 선별된 추가 얼굴 이미지로부터 추출된 임베딩을 상기 데이터베이스에 등록하는 경우의 성능 변화를 시뮬레이션하는 단계; 상기 적어도 하나의 프로세서에 의해, 상기 시뮬레이션 결과를 관리자에게 제공하는 단계; 및 상기 적어도 하나의 프로세서에 의해, 상기 관리자로부터 상기 추가 얼굴 이미지를 등록하는 것으로 결정됨에 응답하여, 상기 추가 얼굴 이미지로부터 추출된 임베딩을 상기 인물의 식별자와 연계하여 데이터베이스에 더 등록하는 단계를 더 포함할 수 있다.According to another aspect, the embedding registration method includes selecting, by the at least one processor, an additional face image; simulating, by the at least one processor, a change in performance when registering an embedding extracted from the selected additional face image in the database; providing, by the at least one processor, the simulation results to an administrator; and further registering, by the at least one processor, in response to a decision from the administrator to register the additional face image, in association with the identifier of the person, an embedding extracted from the additional face image in a database. can do.
또 다른 측면에 따르면, 상기 추가 얼굴 이미지를 선별하는 단계는, 임베딩간의 유사도에 따라 상기 데이터베이스에서 특정 인물의 식별자가 추출됨에 따라 얼굴이 인식된 얼굴 이미지들 중 임베딩의 구분 신뢰도가 기설정된 경계값에 의해 결정되는 범위에 포함되는 얼굴 이미지를 상기 추가 얼굴 이미지로 선별하는 것을 특징으로 할 수 있다.According to another aspect, in the step of selecting the additional face image, the identifier of a specific person is extracted from the database according to the similarity between the embeddings, so that the reliability of distinguishing the embedding among the face images with the recognized face is within a preset boundary value. It may be characterized by selecting the face image included in the range determined by the additional face image.
또 다른 측면에 따르면, 상기 임베딩 등록 방법은 상기 적어도 하나의 프로세서에 의해, 상기 인물에 대한 테스트 얼굴 이미지를 상기 데이터베이스를 이용하여 인식하는 단계; 상기 적어도 하나의 프로세서에 의해, 상기 테스트 얼굴 이미지가 인식되지 않는 경우, 얼굴에 대한 속성을 분석하는 분류기를 이용하여 상기 테스트 얼굴 이미지의 속성 및 상기 복수의 얼굴 이미지들 각각의 속성을 분석하는 단계; 상기 적어도 하나의 프로세서에 의해, 상기 분석된 속성에 기초하여 상기 테스트 얼굴 이미지의 인식을 위한 추가 얼굴 이미지의 속성을 결정하는 단계; 및 상기 적어도 하나의 프로세서에 의해, 상기 결정된 추가 얼굴 이미지의 속성에 대한 정보를 관리자에게 제공하는 단계를 더 포함할 수 있다.According to another aspect, the embedding registration method includes recognizing, by the at least one processor, a test face image for the person using the database; When the test face image is not recognized, by the at least one processor, analyzing properties of the test face image and properties of each of the plurality of face images using a classifier that analyzes properties of a face; determining, by the at least one processor, attributes of an additional facial image for recognition of the test facial image based on the analyzed attributes; and providing, by the at least one processor, information about attributes of the determined additional face image to an administrator.
또 다른 측면에 따르면, 상기 임베딩 등록 방법은 상기 적어도 하나의 프로세서에 의해, 상기 인물에 대한 얼굴 이미지를 상기 데이터베이스를 이용하여 인식하는 단계; 및 상기 적어도 하나의 프로세서에 의해, 상기 얼굴 이미지로부터 추출된 임베딩의 구분 신뢰도가 기설정된 경계값에 의해 결정되는 범위에 포함되는 경우, 상기 얼굴 이미지로부터 추출된 임베딩을 이용하여 상기 인물의 식별자와 연계하여 상기 데이터베이스에 저장된 대표 임베딩을 업데이트하는 단계를 더 포함할 수 있다.According to another aspect, the embedding registration method includes recognizing, by the at least one processor, a facial image of the person using the database; and, by the at least one processor, when the classification reliability of the embedding extracted from the face image is within a range determined by a preset boundary value, linking with the identifier of the person using the embedding extracted from the face image. A step of updating the representative embedding stored in the database may be further included.
또 다른 측면에 따르면, 상기 임베딩 등록 방법은 상기 적어도 하나의 프로세서에 의해, 상기 데이터베이스에 등록된 인물들의 대표 임베딩이 업데이트됨에 따라 기존 대표 임베딩과 업데이트된 대표 임베딩간의 차이가 기설정된 임계값 이상인 경우, 또는 상기 데이터베이스에 등록된 인물들 중 기설정된 수 이상의 인물들의 대표 임베딩이 업데이트된 경우, 대표 임베딩의 업데이트에 의해 성능 변화를 관리자에게 알리는 단계를 더 포함할 수 있다.According to another aspect, the embedding registration method is such that when representative embeddings of people registered in the database are updated by the at least one processor, the difference between the existing representative embedding and the updated representative embedding is greater than or equal to a preset threshold, Alternatively, when the representative embeddings of a preset number or more of the persons registered in the database are updated, a step of notifying the manager of a change in performance due to the update of the representative embeddings may be further included.
컴퓨터 장치와 결합되어 상기 방법을 컴퓨터 장치에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램을 제공한다.A computer program stored on a computer-readable recording medium is provided in conjunction with a computer device to execute the method on the computer device.
상기 방법을 컴퓨터 장치에 실행시키기 위한 프로그램이 기록되어 있는 컴퓨터 판독 가능한 기록매체를 제공한다.Provided is a computer-readable recording medium on which a program for executing the above method on a computer device is recorded.
컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서에 의해, 얼굴 인식을 위해 등록하고자 하는 인물의 복수의 얼굴 이미지들 각각으로부터 임베딩을 추출하여 임베딩 집합을 생성하고, 상기 임베딩 집합에 포함된 임베딩들에 기초하여 대표 임베딩을 구성하고, 상기 구성된 대표 임베딩을 상기 인물의 식별자와 연계하여 데이터베이스에 등록하는 것을 특징으로 하는 컴퓨터 장치를 제공한다.At least one processor implemented to execute computer-readable instructions, wherein an embedding is extracted from each of a plurality of face images of a person to be registered for face recognition, and an embedding set is generated by the at least one processor. and configuring a representative embedding based on the embeddings included in the embedding set, and registering the constructed representative embedding in a database in association with the identifier of the person.
얼굴 인식에서 등록하고자 하는 사람의 입력 데이터군에 대한 대표 임베딩을 구성하여 데이터베이스에 등록함으로써, 데이터베이스에 등록되는 임베딩 데이터의 양을 줄이면서도 얼굴 인식 성능을 향상시킬 수 있다.In face recognition, by constructing a representative embedding for the input data group of the person to be registered and registering it in the database, face recognition performance can be improved while reducing the amount of embedding data registered in the database.
도 1은 본 발명의 일실시예에 따른 네트워크 환경의 예를 도시한 도면이다.1 is a diagram illustrating an example of a network environment according to an embodiment of the present invention.
도 2는 본 발명의 일실시예에 따른 컴퓨터 장치의 예를 도시한 블록도이다.Figure 2 is a block diagram showing an example of a computer device according to an embodiment of the present invention.
도 3은 본 발명의 일실시예에 있어서, 임베딩 등록 방법의 예를 도시한 흐름도이다.Figure 3 is a flowchart showing an example of an embedding registration method in one embodiment of the present invention.
도 4은 본 발명의 일실시예에 따른 인물과 인물 이미지들의 예를 도시한 도면이다.Figure 4 is a diagram showing an example of a person and person images according to an embodiment of the present invention.
도 5는 본 발명의 일실시예에 있어서, 인물 이미지로부터 임베딩을 추출하는 과정의 예를 도시한 도면이다.Figure 5 is a diagram illustrating an example of a process for extracting embeddings from a person image, according to an embodiment of the present invention.
도 6은 본 발명의 일실시예에 있어서, 대표 임베딩을 구성하는 예를 도시한 도면이다.Figure 6 is a diagram illustrating an example of configuring representative embedding in an embodiment of the present invention.
도 7은 본 발명의 일실시예에 있어서, 특징 공간에서의 평균의 예를 도시한 도면이다.Figure 7 is a diagram showing an example of an average in a feature space according to an embodiment of the present invention.
도 8은 본 발명의 일실시예에 있어서, 추가 데이터를 추천하는 과정의 예를 도시한 흐름도이다.Figure 8 is a flowchart showing an example of a process for recommending additional data, according to an embodiment of the present invention.
도 9는 본 발명의 일실시예에 있어서, 추가 얼굴 이미지를 선정 및 등록하는 과정의 예를 도시한 흐름도이다.Figure 9 is a flowchart showing an example of a process for selecting and registering an additional face image, according to an embodiment of the present invention.
도 10은 본 발명의 일실시예에 있어서, 인물에 대한 추가 얼굴 이미지의 속성을 결정하는 과정의 예를 도시한 도면이다.Figure 10 is a diagram illustrating an example of a process for determining attributes of an additional face image for a person, according to an embodiment of the present invention.
도 11은 본 발명의 일실시예에 있어서, 데이터베이스에 등록된 임베딩을 업데이트하는 과정의 예를 도시한 흐름도이다.Figure 11 is a flowchart illustrating an example of a process for updating embeddings registered in a database, according to an embodiment of the present invention.
도 12는 본 발명의 일실시예에 있어서, 얼굴 인식 과정의 예를 도시한 흐름도이다.Figure 12 is a flowchart showing an example of a face recognition process in one embodiment of the present invention.
도 13 및 도 14는 종래기술에 따른 얼굴 인식 방법의 성능과 본 발명의 일실시예에 따른 얼굴 인식 방법의 성능을 비교하기 위한 그래프들이다.Figures 13 and 14 are graphs for comparing the performance of a face recognition method according to the prior art and the performance of a face recognition method according to an embodiment of the present invention.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.
본 발명의 실시예들에 따른 임베딩 등록 시스템은 적어도 하나의 컴퓨터 장치에 의해 구현될 수 있다. 이때, 컴퓨터 장치에는 본 발명의 일실시예에 따른 컴퓨터 프로그램이 설치 및 구동될 수 있고, 컴퓨터 장치는 구동된 컴퓨터 프로그램의 제어에 따라 본 발명의 실시예들에 따른 임베딩 등록 방법을 수행할 수 있다. 상술한 컴퓨터 프로그램은 컴퓨터 장치와 결합되어 임베딩 등록 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장될 수 있다.The embedding registration system according to embodiments of the present invention may be implemented by at least one computer device. At this time, the computer program according to an embodiment of the present invention may be installed and driven in the computer device, and the computer device may perform the embedding registration method according to the embodiments of the present invention under the control of the driven computer program. . The above-described computer program can be combined with a computer device and stored in a computer-readable recording medium to execute the embedding registration method on the computer.
도 1은 본 발명의 일실시예에 따른 네트워크 환경의 예를 도시한 도면이다. 도 1의 네트워크 환경은 복수의 전자 기기들(110, 120, 130, 140), 복수의 서버들(150, 160) 및 네트워크(170)를 포함하는 예를 나타내고 있다. 이러한 도 1은 발명의 설명을 위한 일례로 전자 기기의 수나 서버의 수가 도 1과 같이 한정되는 것은 아니다. 또한, 도 1의 네트워크 환경은 본 실시예들에 적용 가능한 환경들 중 하나의 예를 설명하는 것일 뿐, 본 실시예들에 적용 가능한 환경이 도 1의 네트워크 환경으로 한정되는 것은 아니다.1 is a diagram illustrating an example of a network environment according to an embodiment of the present invention. The network environment in FIG. 1 shows an example including a plurality of electronic devices 110, 120, 130, and 140, a plurality of servers 150 and 160, and a network 170. Figure 1 is an example for explaining the invention, and the number of electronic devices or servers is not limited as in Figure 1. In addition, the network environment in FIG. 1 only explains one example of environments applicable to the present embodiments, and the environment applicable to the present embodiments is not limited to the network environment in FIG. 1.
복수의 전자 기기들(110, 120, 130, 140)은 컴퓨터 장치로 구현되는 고정형 단말이거나 이동형 단말일 수 있다. 복수의 전자 기기들(110, 120, 130, 140)의 예를 들면, 스마트폰(smart phone), 휴대폰, 네비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 태블릿 PC 등이 있다. 일례로 도 1에서는 전자 기기(110)의 예로 스마트폰의 형상을 나타내고 있으나, 본 발명의 실시예들에서 전자 기기(110)는 실질적으로 무선 또는 유선 통신 방식을 이용하여 네트워크(170)를 통해 다른 전자 기기들(120, 130, 140) 및/또는 서버(150, 160)와 통신할 수 있는 다양한 물리적인 컴퓨터 장치들 중 하나를 의미할 수 있다.The plurality of electronic devices 110, 120, 130, and 140 may be fixed terminals or mobile terminals implemented as computer devices. Examples of the plurality of electronic devices 110, 120, 130, and 140 include smart phones, mobile phones, navigation devices, computers, laptops, digital broadcasting terminals, PDAs (Personal Digital Assistants), and PMPs (Portable Multimedia Players). ), tablet PC, etc. For example, in FIG. 1, the shape of a smartphone is shown as an example of the electronic device 110. However, in embodiments of the present invention, the electronic device 110 actually communicates with other devices through the network 170 using a wireless or wired communication method. It may refer to one of various physical computer devices capable of communicating with electronic devices 120, 130, 140 and/or servers 150, 160.
통신 방식은 제한되지 않으며, 네트워크(170)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망)을 활용하는 통신 방식뿐만 아니라 기기들간의 근거리 무선 통신 역시 포함될 수 있다. 예를 들어, 네트워크(170)는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(170)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.The communication method is not limited, and may include not only a communication method utilizing a communication network that the network 170 may include (for example, a mobile communication network, wired Internet, wireless Internet, and a broadcast network), but also short-range wireless communication between devices. For example, the network 170 may include a personal area network (PAN), a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), a wide area network (WAN), and a broadband network (BBN). , may include one or more arbitrary networks such as the Internet. Additionally, the network 170 may include any one or more of network topologies including a bus network, star network, ring network, mesh network, star-bus network, tree or hierarchical network, etc. Not limited.
서버(150, 160) 각각은 복수의 전자 기기들(110, 120, 130, 140)과 네트워크(170)를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다. 예를 들어, 서버(150)는 네트워크(170)를 통해 접속한 복수의 전자 기기들(110, 120, 130, 140)로 서비스를 제공하는 시스템일 수 있다.Each of the servers 150 and 160 is a computer device or a plurality of computers that communicate with a plurality of electronic devices 110, 120, 130, 140 and a network 170 to provide commands, codes, files, content, services, etc. It can be implemented with devices. For example, the server 150 may be a system that provides services to a plurality of electronic devices 110, 120, 130, and 140 connected through the network 170.
도 2는 본 발명의 일실시예에 따른 컴퓨터 장치의 예를 도시한 블록도이다. 앞서 설명한 복수의 전자 기기들(110, 120, 130, 140) 각각이나 서버들(150, 160) 각각은 도 2를 통해 도시된 컴퓨터 장치(200)에 의해 구현될 수 있다.Figure 2 is a block diagram showing an example of a computer device according to an embodiment of the present invention. Each of the plurality of electronic devices 110, 120, 130, and 140 described above or each of the servers 150 and 160 may be implemented by the computer device 200 shown in FIG. 2.
이러한 컴퓨터 장치(200)는 도 2에 도시된 바와 같이, 메모리(210), 프로세서(220), 통신 인터페이스(230) 그리고 입출력 인터페이스(240)를 포함할 수 있다. 메모리(210)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 디스크 드라이브와 같은 비소멸성 대용량 기록장치는 메모리(210)와는 구분되는 별도의 영구 저장 장치로서 컴퓨터 장치(200)에 포함될 수도 있다. 또한, 메모리(210)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(210)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 메모리(210)로 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 인터페이스(230)를 통해 메모리(210)에 로딩될 수도 있다. 예를 들어, 소프트웨어 구성요소들은 네트워크(170)를 통해 수신되는 파일들에 의해 설치되는 컴퓨터 프로그램에 기반하여 컴퓨터 장치(200)의 메모리(210)에 로딩될 수 있다.As shown in FIG. 2, this computer device 200 may include a memory 210, a processor 220, a communication interface 230, and an input/output interface 240. The memory 210 is a computer-readable recording medium and may include a non-permanent mass storage device such as random access memory (RAM), read only memory (ROM), and a disk drive. Here, non-perishable large-capacity recording devices such as ROM and disk drives may be included in the computer device 200 as a separate permanent storage device that is distinct from the memory 210. Additionally, an operating system and at least one program code may be stored in the memory 210. These software components may be loaded into the memory 210 from a computer-readable recording medium separate from the memory 210. Such separate computer-readable recording media may include computer-readable recording media such as floppy drives, disks, tapes, DVD/CD-ROM drives, and memory cards. In another embodiment, software components may be loaded into the memory 210 through the communication interface 230 rather than a computer-readable recording medium. For example, software components may be loaded into memory 210 of computer device 200 based on computer programs installed by files received over network 170.
프로세서(220)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(210) 또는 통신 인터페이스(230)에 의해 프로세서(220)로 제공될 수 있다. 예를 들어 프로세서(220)는 메모리(210)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.The processor 220 may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input/output operations. Commands may be provided to the processor 220 by the memory 210 or the communication interface 230. For example, processor 220 may be configured to execute received instructions according to program code stored in a recording device such as memory 210.
통신 인터페이스(230)는 네트워크(170)를 통해 컴퓨터 장치(200)가 다른 장치(일례로, 앞서 설명한 저장 장치들)와 서로 통신하기 위한 기능을 제공할 수 있다. 일례로, 컴퓨터 장치(200)의 프로세서(220)가 메모리(210)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이나 명령, 데이터, 파일 등이 통신 인터페이스(230)의 제어에 따라 네트워크(170)를 통해 다른 장치들로 전달될 수 있다. 역으로, 다른 장치로부터의 신호나 명령, 데이터, 파일 등이 네트워크(170)를 거쳐 컴퓨터 장치(200)의 통신 인터페이스(230)를 통해 컴퓨터 장치(200)로 수신될 수 있다. 통신 인터페이스(230)를 통해 수신된 신호나 명령, 데이터 등은 프로세서(220)나 메모리(210)로 전달될 수 있고, 파일 등은 컴퓨터 장치(200)가 더 포함할 수 있는 저장 매체(상술한 영구 저장 장치)로 저장될 수 있다.The communication interface 230 may provide a function for the computer device 200 to communicate with other devices (eg, the storage devices described above) through the network 170. For example, a request, command, data, file, etc. generated by the processor 220 of the computer device 200 according to a program code stored in a recording device such as memory 210 is transmitted to the network ( 170) and can be transmitted to other devices. Conversely, signals, commands, data, files, etc. from other devices may be received by the computer device 200 through the communication interface 230 of the computer device 200 via the network 170. Signals, commands, data, etc. received through the communication interface 230 may be transmitted to the processor 220 or memory 210, and files, etc. may be stored in a storage medium (as described above) that the computer device 200 may further include. It can be stored as a permanent storage device).
입출력 인터페이스(240)는 입출력 장치(250)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 마이크, 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(240)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 입출력 장치(250) 중 적어도 하나는 컴퓨터 장치(200)와 하나의 장치로 구성될 수도 있다. 예를 들어, 스마트폰과 같이 터치스크린, 마이크, 스피커 등이 컴퓨터 장치(200)에 포함된 형태로 구현될 수 있다. The input/output interface 240 may be a means for interfacing with the input/output device 250. For example, input devices may include devices such as a microphone, keyboard, or mouse, and output devices may include devices such as displays and speakers. As another example, the input/output interface 240 may be a means for interfacing with a device that integrates input and output functions, such as a touch screen. At least one of the input/output devices 250 may be configured as one device with the computer device 200. For example, like a smart phone, a touch screen, microphone, speaker, etc. may be included in the computer device 200.
또한, 다른 실시예들에서 컴퓨터 장치(200)는 도 2의 구성요소들보다 더 적은 혹은 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 장치(200)는 상술한 입출력 장치(250) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.Additionally, in other embodiments, computer device 200 may include fewer or more components than those of FIG. 2 . However, there is no need to clearly show most prior art components. For example, the computer device 200 may be implemented to include at least some of the input/output devices 250 described above, or may further include other components such as a transceiver, a database, etc.
도 3은 본 발명의 일실시예에 있어서, 임베딩 등록 방법의 예를 도시한 흐름도이다. 본 실시예에 따른 임베딩 등록 방법은 앞서 도 2를 통해 설명한 컴퓨터 장치(200)에 의해 수행될 수 있다. 이때, 컴퓨터 장치(200)의 프로세서(220)는 메모리(210)가 포함하는 운영체제의 코드나 적어도 하나의 컴퓨터 프로그램의 코드에 따른 제어 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 프로세서(220)는 컴퓨터 장치(200)에 저장된 코드가 제공하는 제어 명령에 따라 컴퓨터 장치(200)가 도 3의 방법이 포함하는 단계들(310 내지 330)을 수행하도록 컴퓨터 장치(200)를 제어할 수 있다.Figure 3 is a flowchart showing an example of an embedding registration method in one embodiment of the present invention. The embedding registration method according to this embodiment can be performed by the computer device 200 previously described with reference to FIG. 2. At this time, the processor 220 of the computer device 200 may be implemented to execute control instructions according to the code of an operating system included in the memory 210 or the code of at least one computer program. Here, the processor 220 causes the computer device 200 to perform steps 310 to 330 included in the method of FIG. 3 according to control instructions provided by code stored in the computer device 200. can be controlled.
단계(310)에서 컴퓨터 장치(200)는 얼굴 인식을 위해 등록하고자 하는 인물의 복수의 얼굴 이미지들 각각으로부터 임베딩을 추출하여 임베딩 집합을 생성할 수 있다. 일례로, 컴퓨터 장치(200)는 복수의 얼굴 이미지들 각각으로부터 특징 벡터(feature vector)를 임베딩으로서 추출하여 특징 벡터들의 집합을 임베딩 집합으로서 생성할 수 있다. 다시 말해, 임베딩은 인물의 얼굴 이미지에서 추출되는 특징 벡터(feature vector)일 수 있다. 이러한 특징 벡터의 추출은 기 학습된 머신러닝 기반의 얼굴 특징 추출 모델을 이용하여 이루어질 수 있다. 머신러닝 기반의 학습 모델을 이용하여 이미지로부터 특징을 추출하는 기술 자체는 이미 잘 알려져 있기 때문에 구체적인 설명은 생략한다. 등록하고자 하는 인물에 대해 n개의 얼굴 이미지들이 입력된 경우, n개의 임베딩들이 추출되어 임베딩 집합이 생성될 수 있다.In step 310, the computer device 200 may generate an embedding set by extracting an embedding from each of a plurality of face images of a person to be registered for face recognition. For example, the computer device 200 may extract a feature vector as an embedding from each of a plurality of face images and generate a set of feature vectors as an embedding set. In other words, the embedding may be a feature vector extracted from a person's face image. Extraction of these feature vectors can be done using a previously learned machine learning-based facial feature extraction model. Since the technology itself for extracting features from images using machine learning-based learning models is already well known, detailed explanations will be omitted. When n face images are input for a person to be registered, n embeddings may be extracted to create an embedding set.
단계(320)에서 컴퓨터 장치(200)는 임베딩 집합에 포함된 임베딩들에 기초하여 대표 임베딩을 구성할 수 있다. 일례로, 컴퓨터 장치(200)는 특징 벡터들의 특징 공간에서의 평균 또는 가중 평균을 계산하여 결정되는 특징 벡터들의 상기 특징 공간에서의 중심점을 대표 임베딩으로서 구성할 수 있다. 만약 n개의 얼굴 이미지들 각각에 대해 512 차원의 특징 벡터가 생성되는 경우, nХ512 크기의 데이터가 발생하게 된다. 반면, 본 실시예에서와 같이 특징 공간에서의 하나의 중심점을 대표 임베딩으로 구성하는 경우, 요구되는 데이터가 512 차원 크기의 데이터로 축소될 수 있다.In step 320, the computer device 200 may construct a representative embedding based on the embeddings included in the embedding set. For example, the computer device 200 may configure the center point in the feature space of the feature vectors, which is determined by calculating the average or weighted average of the feature vectors, as a representative embedding. If a 512-dimensional feature vector is generated for each of n face images, data of size nХ512 is generated. On the other hand, when one central point in the feature space is configured as a representative embedding as in this embodiment, the required data can be reduced to data of 512 dimensions.
일실시예로, 컴퓨터 장치(200)는 특징 벡터들에 대한 분류기를 이용한 추가적인 학습을 통해 가중 평균된 중심점을 얻을 수 있다. 이 경우, 컴퓨터 장치(200)는 임베딩 집합에 포함된 임베딩들에 대응하는 특징 벡터들을 통해 딥러닝 기반 분류기를 학습할 수 있다. 이 경우, 컴퓨터 장치(200)는 학습된 딥러닝 기반 분류기의 마지막 완전 연결 레이어(fully connected layer)의 가중치들을 특징 벡터들에 대한 특징 공간에서의 가중 평균된 중심점으로서 획득할 수 있다. 실시예에 따라 가중치들을 L2 정규화(normalization)한 결과값들이 가중 평균된 중심점으로서 활용될 수도 있다.In one embodiment, the computer device 200 may obtain a weighted average center point through additional learning using a classifier for feature vectors. In this case, the computer device 200 can learn a deep learning-based classifier through feature vectors corresponding to embeddings included in the embedding set. In this case, the computer device 200 may obtain the weights of the last fully connected layer of the learned deep learning-based classifier as the weighted average center point in the feature space for the feature vectors. Depending on the embodiment, the results of L2 normalization of the weights may be used as a weighted average center point.
한편, 이후에 설명되는 바와 같이, 가중치는 임베딩 단위(얼굴 이미지 단위) 또는 특징 단위로 주어질 수 있다. 이를 위해, 컴퓨터 장치(200)는 임베딩 집합에 포함된 임베딩들의 가중 평균을 통해 대표 임베딩을 구성하되, 복수의 얼굴 이미지들 중 특정 얼굴 이미지로부터 추출된 임베딩 또는 임베딩들이 포함하는 특징들 중 특정 특징에 가중치를 부여하여 가중 평균을 계산할 수 있다. 이때, 가중치의 부여를 위한 임베딩 또는 특징을 선정할 수 있는 기능이 관리자에게 제공될 수 있다. 다시 말해, 컴퓨터 장치(200)는 복수의 얼굴 이미지들 중 특정 얼굴 이미지 또는 임베딩들이 포함하는 특징들 중 특정 특징을 선정하기 위한 기능을 관리자에게 제공할 수 있다. 이 경우, 컴퓨터 장치(200)는 임베딩 집합에 포함된 임베딩들의 가중 평균을 통해 상기 대표 임베딩을 구성하되, 관리자에게 제공된 기능을 통해 선정된 특정 얼굴 이미지로부터 추출된 임베딩에 가중치를 부여하거나 또는 관리자에게 제공된 기능을 통해 선정된 특정 특징에 가중치를 부여하여 가중 평균을 계산할 수 있다.Meanwhile, as will be explained later, weights may be given in embedding units (face image units) or feature units. To this end, the computer device 200 constructs a representative embedding through a weighted average of the embeddings included in the embedding set, and uses an embedding extracted from a specific face image among a plurality of face images or a specific feature among the features included in the embeddings. You can calculate a weighted average by assigning weights. At this time, the administrator may be provided with a function to select embedding or features for assigning weight. In other words, the computer device 200 may provide the administrator with a function for selecting a specific feature among features included in a specific face image or embeddings among a plurality of face images. In this case, the computer device 200 configures the representative embedding through a weighted average of the embeddings included in the embedding set, and assigns weight to the embedding extracted from a specific face image selected through a function provided to the administrator or to the administrator. The provided function allows you to calculate a weighted average by assigning weight to specific selected features.
단계(330)에서 컴퓨터 장치(200)는 구성된 대표 임베딩을 등록하고자 하는 사람의 식별자와 연계하여 데이터베이스에 등록할 수 있다. 일례로, 컴퓨터 장치(200)는 특징 공간에서의 중심점을 인물의 식별자와 연계하여 데이터베이스에 등록할 수 있다. 이러한 중심점과 같은 대표 임베딩을 얼굴 인식에 활용하는 경우, 앞서 설명한 바와 같이 요구되는 데이터의 크기를 줄일 수 있을 뿐만 아니라, 줄어든 데이터를 통해 얼굴 인식 성능을 향상시킬 수 있다. 또한, 실시예에 따라 대표 임베딩에 더해 추가 데이터를 활용할 수 있으며, 이 경우에 얼굴 인식 성능을 더욱 향상시킬 수 있다. 향상된 얼굴 인식 성능에 대해서는 이후 더욱 자세히 설명한다.In step 330, the computer device 200 may register the constructed representative embedding in a database in association with the identifier of the person wishing to register. For example, the computer device 200 may link the central point in the feature space with the person's identifier and register it in a database. When representative embeddings such as these center points are used for face recognition, not only can the size of required data be reduced as described above, but face recognition performance can be improved through the reduced data. Additionally, depending on the embodiment, additional data in addition to the representative embedding may be used, and in this case, face recognition performance can be further improved. The improved face recognition performance will be explained in more detail later.
도 4은 본 발명의 일실시예에 따른 인물과 인물 이미지들의 예를 도시한 도면이다. 도 4는 복수의 인물들(인물 A(411), 인물 B(421), 인물 C(431), 쪋) 각각에 대해 복수의 얼굴 이미지들(412, 422, 432)이 존재하는 예를 나타내고 있다. 이때, 인물 A(411), 인물 B(421) 및 인물 C(431) 각각에 대한 얼굴 이미지의 수를 나타내는 a, b 및 c는 실질적으로 2 이상의 자연수일 수 있다.Figure 4 is a diagram showing an example of a person and person images according to an embodiment of the present invention. Figure 4 shows an example in which a plurality of face images 412, 422, and 432 exist for each of a plurality of people (person A (411), person B (421), person C (431), and so on. . At this time, a, b, and c, which represent the number of face images for each of person A (411), person B (421), and person C (431), may be substantially natural numbers of 2 or more.
도 5는 본 발명의 일실시예에 있어서, 인물 이미지로부터 임베딩을 추출하는 과정의 예를 도시한 도면이다. 도 5에서 인물 A(411)의 복수의 얼굴 이미지들(412) 각각을 머신러닝 기반의 얼굴 특징 추출 모델(510)에 입력시켜 복수의 얼굴 이미지들(412) 각각에 대한 임베딩들(520)을 추출하는 예를 나타내고 있다. 다시 말해, 컴퓨터 장치(200)는 머신러닝 기반의 얼굴 특징 추출 모델(510)을 이용하여 복수의 얼굴 이미지들(412) 각각에 대한 임베딩들(520)을 추출할 수 있다. 기존에는 임베딩들(520) 각각이 인물 A(411)의 식별자와 연계하여 저장되고 얼굴 인식을 위해 활용되었으나, 본 발명의 실시예들에서는 이러한 임베딩들(520)의 대표 임베딩을 구성하여 활용할 수 있다.Figure 5 is a diagram illustrating an example of a process for extracting embeddings from a person image, according to an embodiment of the present invention. In FIG. 5, each of the plurality of face images 412 of person A 411 is input into the machine learning-based facial feature extraction model 510 to generate embeddings 520 for each of the plurality of face images 412. An example of extraction is shown. In other words, the computer device 200 may extract embeddings 520 for each of the plurality of face images 412 using the machine learning-based facial feature extraction model 510. Previously, each of the embeddings 520 was stored in conjunction with the identifier of person A 411 and used for face recognition. However, in embodiments of the present invention, representative embeddings of these embeddings 520 can be configured and utilized. .
도 6은 본 발명의 일실시예에 있어서, 대표 임베딩을 구성하는 예를 도시한 도면이다. 도 6은 인물 A(411)의 임베딩들(520)에 대한 평균 또는 가중 평균을 계산하여 대표 임베딩(610)을 구성하는 예를 나타내고 있다. 임베딩들(520) 각각은 복수의 특징들의 벡터로 구성될 수 있으며, 컴퓨터 장치(200)는 동일한 차원의 특징들의 평균 또는 가중 평균을 계산하여 대표 임베딩(610)의 각 차원의 값을 구할 수 있다. 컴퓨터 장치(200)는 구성된 대표 임베딩(610)을 인물 A(411)의 식별자(620)와 연계하여 데이터베이스(630)에 등록할 수 있다.Figure 6 is a diagram showing an example of configuring representative embedding in one embodiment of the present invention. Figure 6 shows an example of configuring a representative embedding 610 by calculating the average or weighted average of the embeddings 520 of person A (411). Each of the embeddings 520 may be composed of a vector of a plurality of features, and the computer device 200 may obtain the value of each dimension of the representative embedding 610 by calculating the average or weighted average of the features of the same dimension. . The computer device 200 may register the constructed representative embedding 610 in the database 630 by linking it with the identifier 620 of person A 411.
이때, 가중 평균을 위한 가중치는 임베딩 단위 또는 특징 단위로 부여될 수 있다. 임베딩 단위로 가중치를 부여하는 것은 선택된 얼굴 이미지로부터 추출된 임베딩의 복수의 특징들 각각에 가중치를 부여하는 것을 의미할 수 있으며, 특징 단위로 가중치를 부여하는 것은 임베딩들(520)이 포함하는 동일한 차원의 특징들 각각에 가중치를 부여하는 것을 의미할 수 있다. 다시 말해, 임베딩 단위로 가중치를 부여하는 것은 인물 A(411)의 얼굴 이미지들(412) 중 특정한 얼굴 이미지와 유사할수록 더 높은 유사도(구분 신뢰도)를 주어 얼굴 인식이 더 정밀하게 검출되도록 하겠다는 의미일 수 있다. 또한, 특징 단위로 가중치를 부여하는 것은 얼굴을 비교할 때 얼굴의 특정 부분이 유사할수록 더 높은 유사도(구분 신뢰도)를 주어 얼굴 인식을 진행하겠다는 의미일 수 있다.At this time, the weight for the weighted average may be given on an embedding unit or a feature unit. Assigning weight in units of embeddings may mean assigning weights to each of a plurality of features of the embedding extracted from the selected face image, and assigning weights in units of features may mean assigning weights to the same dimension included in the embeddings 520. This may mean assigning weight to each of the features. In other words, assigning weights in units of embedding means that the more similar it is to a specific face image among the face images 412 of person A 411, the higher the similarity (classification reliability) is given so that face recognition can be detected more precisely. You can. Additionally, assigning weights by feature may mean that when comparing faces, the more similar a specific part of the face is, the higher the similarity (classification reliability) will be given to proceed with face recognition.
여기서 구분 신뢰도는 딥러닝 학습 모델이 얼굴 이미지를 분류(일례로, 특징 인물로 분류)하는 정도를 의미할 수 있으며, 임베딩간에 계산되는 유사도에 대응할 수 있다. 얼굴 인식을 위해 임베딩간의 유사도를 계산하는 기술은 이미 잘 알려져 있기 때문에 자세한 설명은 생략한다.Here, segmentation reliability may refer to the degree to which a deep learning model classifies a face image (for example, classification into a characteristic person), and may correspond to the similarity calculated between embeddings. Since the technology for calculating similarity between embeddings for face recognition is already well known, detailed explanation is omitted.
도 7은 본 발명의 일실시예에 있어서, 특징 공간에서의 평균의 예를 도시한 도면이다. 도 7은 발명의 이해를 돕기 위해 2차원 특징 공간(800)상에 2차원으로 간략화된 임베딩들이 표시된 모습을 나타내고 있다. 제1 점선타원(810)은 제1 인물의 2차원 임베딩들을, 제2 점선타원(820)은 제2 인물의 2차원 임베딩들을, 제3 점선타원(830)은 제3 인물의 2차원 임베딩들을 나타내고 있다. 이때, 2차원 임베딩들은 2차원 특징 공간에서의 좌표에 대응할 수 있으며, 이러한 2차원 임베딩들의 평균은 2차원 특징 공간에서의 2차원 임베딩들의 중심점(centroid)에 대응할 수 있다. 다시 말해, 도 7에서 중심점들(811, 821, 831) 각각의 좌표가 제1 인물의 2차원 대표 임베딩, 제2 인물의 2차원 대표 임베딩 및 제3 인물의 2차원 대표 임베딩에 대응할 수 있다.Figure 7 is a diagram showing an example of an average in a feature space according to an embodiment of the present invention. Figure 7 shows two-dimensional simplified embeddings displayed on a two-dimensional feature space 800 to aid understanding of the invention. The first dotted oval 810 represents two-dimensional embeddings of the first person, the second dotted oval 820 represents two-dimensional embeddings of the second person, and the third dotted oval 830 represents two-dimensional embeddings of the third person. It is showing. At this time, the 2D embeddings may correspond to coordinates in the 2D feature space, and the average of these 2D embeddings may correspond to the centroid of the 2D embeddings in the 2D feature space. In other words, the coordinates of each of the central points 811, 821, and 831 in FIG. 7 may correspond to the 2D representative embedding of the first person, the 2D representative embedding of the second person, and the 2D representative embedding of the third person.
도 8은 본 발명의 일실시예에 있어서, 추가 데이터를 추천하는 과정의 예를 도시한 흐름도이다. 본 실시예에 따른 추가 데이터 추천 과정은 도 4를 통해 설명한 임베딩 등록 방법에 포함되어 컴퓨터 장치(200)에 의해 수행될 수 있다. 이때, 컴퓨터 장치(200)의 프로세서(220)는 메모리(210)가 포함하는 운영체제의 코드나 적어도 하나의 컴퓨터 프로그램의 코드에 따른 제어 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 프로세서(220)는 컴퓨터 장치(200)에 저장된 코드가 제공하는 제어 명령에 따라 컴퓨터 장치(200)가 도 8의 과정이 포함하는 단계들(810 내지 840)을 수행하도록 컴퓨터 장치(200)를 제어할 수 있다.Figure 8 is a flowchart showing an example of a process for recommending additional data, according to an embodiment of the present invention. The additional data recommendation process according to this embodiment may be included in the embedding registration method described with reference to FIG. 4 and performed by the computer device 200. At this time, the processor 220 of the computer device 200 may be implemented to execute control instructions according to the code of an operating system included in the memory 210 or the code of at least one computer program. Here, the processor 220 causes the computer device 200 to perform steps 810 to 840 included in the process of FIG. 8 according to control instructions provided by code stored in the computer device 200. can be controlled.
단계(810)에서 컴퓨터 장치(200)는 얼굴에 대한 속성(attribute)을 분석하는 분류기를 이용하여 복수의 얼굴 이미지로부터 속성에 대한 통계를 생성할 수 있다. 속성은 얼굴 이미지를 통해 분석되는 얼굴의 표정, 나이, 포즈, 마스크 착용 유무 등에 대한 속성값들을 포함할 수 있다.In step 810, the computer device 200 may generate statistics on attributes from a plurality of face images using a classifier that analyzes attributes of the face. Attributes may include attribute values for facial expression, age, pose, whether a mask is worn, etc., which are analyzed through facial images.
단계(820)에서 컴퓨터 장치(200)는 생성된 통계를 관리자에게 제공할 수 있다. 이러한 통계를 통해 관리자는 어떠한 속성의 얼굴 이미지가 부족한지를 파악할 수 있으며, 어떠한 속성을 갖는 추가 얼굴 이미지를 더 활용할 것인지 여부를 결정할 수 있게 된다.In step 820, the computer device 200 may provide the generated statistics to the administrator. Through these statistics, administrators can determine which attribute face images are lacking and decide whether to utilize additional facial images with certain attributes.
단계(830)에서 컴퓨터 장치(200)는 통계에 기반하여 관리자로부터 입력되는 추가 얼굴 이미지로부터 추가 임베딩을 추출할 수 있다. 추가 임베딩은 부족한 속성의 얼굴 이미지를 보완하기 위한 데이터로 활용될 수 있다.In step 830, the computer device 200 may extract additional embeddings from additional face images input from the administrator based on statistics. Additional embeddings can be used as data to supplement face images with insufficient attributes.
단계(840)에서 컴퓨터 장치(200)는 추가 임베딩을 인물의 식별자와 연계하여 데이터베이스에 더 등록할 수 있다. 이 경우, 대표 임베딩과 추가 임베딩 각각이 인물의 식별자와 연계하여 데이터베이스에 저장될 수 있다.In step 840, the computer device 200 may further register additional embeddings in the database by linking them to the person's identifier. In this case, each of the representative embeddings and additional embeddings may be stored in the database in association with the person's identifier.
실시예에 따라 컴퓨터 장치(200)는 추가 임베딩을 데이터베이스에 등록함에 따른 성능 변화에 대한 피드백을 관리자에게 제공할 수도 있다.Depending on the embodiment, the computer device 200 may provide the administrator with feedback on performance changes as additional embeddings are registered in the database.
한편, 앞서 임베딩 단위 또는 특징 단위로 가중치를 부여할 수 있음을 설명하였다. 이때, 가중치를 부여할 임베딩이나 특징은 컴퓨터 장치(200)에 의해 선정될 수도 있으나, 관리자에 의해 수동으로 선정될 수도 있다. 이를 위해, 가중치 부여를 위한 사용자 인터페이스가 관리자에게 제공될 수 있다. 이 경우, 사용자 인터페이스는 임베딩 단위의 선정을 위해, 관리자가 복수의 얼굴 이미지들 중 가중치를 부여하고자 하는 얼굴 이미지를 선정할 수 있는 기능을 포함할 수 있다. 또한, 특징 단위의 선정을 위해, 컴퓨터 장치(200)는 사용자 인터페이스를 통해 앞서 설명한 속성을 제시할 수 있다. 다시 말해, 컴퓨터 장치(200)는 사용자 인터페이스를 통해 얼굴에 대한 속성들 각각에 대해 가중치를 부여할 것인지 여부를 결정하기 위한 기능을 제공할 수 있다. 예를 들어, 컴퓨터 장치(200)는 특정 얼굴 이미지에 대한 속성으로 "1) 표정: 웃음, 2) 나이: 50대, 3) 포즈: [pan: 45eh, tilt: 0도], 4) 마스크: 무"와 같이 1) 내지 4)의 속성과 속성값들을 사용자 인터페이스를 통해 관리자에게 제시할 수 있다. 이 경우, 관리자는 가중치를 반영하고자 하는 속성 또는 가중치를 반영하지 않을 속성을 사용자 인터페이스를 통해 선택할 수 있다. 각 속성들은 임베딩의 특징들 중 적어도 하나의 특징들과 연계될 수 있으며, 관리자에 의해 선택된 속성에 따라 해당 속성에 연계된 특징들이 결정될 수 있다. 이 경우, 결정된 특징들에 가중치가 부여될 수 있다.Meanwhile, it was previously explained that weights can be assigned by embedding unit or feature unit. At this time, the embedding or feature to be weighted may be selected by the computer device 200, or may be manually selected by an administrator. To this end, a user interface for assigning weights may be provided to the administrator. In this case, the user interface may include a function that allows the administrator to select a face image to which weighting is to be assigned among a plurality of face images in order to select an embedding unit. Additionally, to select a feature unit, the computer device 200 may present the attributes described above through a user interface. In other words, the computer device 200 may provide a function for determining whether to assign weight to each attribute of a face through a user interface. For example, the computer device 200 may include “1) expression: smile, 2) age: 50s, 3) pose: [pan: 45eh, tilt: 0 degrees], 4) mask:” as attributes for a specific face image. Attributes and attribute values of 1) to 4), such as "radish", can be presented to the administrator through the user interface. In this case, the administrator can select the attribute for which the weight is to be reflected or the attribute for which the weight is not to be reflected through the user interface. Each attribute may be linked to at least one of the features of the embedding, and the features linked to the attribute may be determined according to the attribute selected by the administrator. In this case, weights may be assigned to the determined features.
또한, 이를 통해 가중치의 부여가 임베딩 단위와 특징 단위에 동시에 적용될 수도 있음을 쉽게 이해할 수 있을 것이다. 예를 들어, 관리자는 상술한 사용자 인터페이스를 통해 복수의 얼굴 이미지들 중 특정 이미지를 선택하고, 선택된 특정 이미지의 속성들 중 특정 속성을 선택하여 특정 임베딩의 특정 특징에 대해 가중치를 부여하는 것이 가능해진다. 보다 구체적인 예로, 관리자가 복수의 얼굴 이미지들 중 제1 얼굴 이미지에 가중치를 부여하도록 선택하는 경우를 고려할 수 있다. 이때, 제1 얼굴 이미지의 제1 속성(일례로, 왼쪽을 바라보고 있는 포즈)에 의해 편향(bias)이 발생할 것으로 판단되는 경우, 제1 속성에 연계된 특징들에는 가중치를 부여하지 않도록 설정하는 것이 가능해진다. 이를 통해 특정 속성에 따른 편향을 최소화할 수 있다.Additionally, through this, it will be easy to understand that weighting can be applied to both embedding units and feature units simultaneously. For example, through the above-described user interface, the administrator can select a specific image among a plurality of face images, select a specific attribute among the attributes of the selected specific image, and assign weight to a specific feature of a specific embedding. . As a more specific example, a case where an administrator selects to assign weight to a first face image among a plurality of face images may be considered. At this time, if it is determined that bias will occur due to the first attribute of the first face image (for example, a pose looking to the left), no weight is given to the features linked to the first attribute. It becomes possible. Through this, bias due to specific attributes can be minimized.
도 9는 본 발명의 일실시예에 있어서, 추가 얼굴 이미지를 선정 및 등록하는 과정의 예를 도시한 흐름도이다. 본 실시예에 따른 추가 얼굴 이미지 선정 및 등록 과정은 도 4를 통해 설명한 임베딩 등록 방법에 포함되어 컴퓨터 장치(200)에 의해 수행될 수 있다. 이때, 컴퓨터 장치(200)의 프로세서(220)는 메모리(210)가 포함하는 운영체제의 코드나 적어도 하나의 컴퓨터 프로그램의 코드에 따른 제어 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 프로세서(220)는 컴퓨터 장치(200)에 저장된 코드가 제공하는 제어 명령에 따라 컴퓨터 장치(200)가 도 9의 과정이 포함하는 단계들(910 내지 940)을 수행하도록 컴퓨터 장치(200)를 제어할 수 있다.Figure 9 is a flowchart showing an example of a process for selecting and registering an additional face image, according to an embodiment of the present invention. The additional facial image selection and registration process according to this embodiment may be included in the embedding registration method described with reference to FIG. 4 and performed by the computer device 200. At this time, the processor 220 of the computer device 200 may be implemented to execute control instructions according to the code of an operating system included in the memory 210 or the code of at least one computer program. Here, the processor 220 causes the computer device 200 to perform steps 910 to 940 included in the process of FIG. 9 according to control instructions provided by code stored in the computer device 200. can be controlled.
단계(910)에서 컴퓨터 장치(200)는 추가 얼굴 이미지를 선별할 수 있다. 추가 얼굴 이미지는 시스템 관리자에 의해 수동으로 선별되어 입력될 수도 있으나, 단계(910)에서와 같이 컴퓨터 장치(200)에 의해 자동으로 선별될 수도 있다. 일례로, 컴퓨터 장치(200)는 임베딩간의 유사도에 따라 데이터베이스에서 특정 인물의 식별자가 추출됨에 따라 얼굴이 인식된 얼굴 이미지들 중 임베딩의 구분 신뢰도가 기설정된 경계값에 의해 결정되는 범위에 포함되는 얼굴 이미지를 추가 얼굴 이미지로 선별할 수 있다.At step 910, computer device 200 may select additional facial images. Additional facial images may be manually selected and entered by a system administrator, or may be automatically selected by computer device 200, as in step 910. For example, the computer device 200 extracts the identifier of a specific person from the database according to the similarity between the embeddings, and the recognition reliability of the embedding among the face images is included in the range determined by the preset boundary value. Images can be selected for additional face images.
구분 신뢰도는 앞서 설명한 바와 같이 딥러닝 학습 모델이 얼굴 이미지를 분류(일례로, 특징 인물로 분류)하는 정도를 의미할 수 있으며, 임베딩간에 계산되는 유사도에 대응할 수 있다. 이때, 구분 신뢰도가 얼굴 분류를 위한 경계값에 가깝다는 것은 임베딩간의 유사도가 높지 않다는 것을 의미할 수 있다. 예를 들어, 제1 인물에 대한 제1 얼굴 이미지의 제1 임베딩과 제1 인물에 대해 등록된 제2 임베딩간의 유사도가 경계값(일례로, 0.5)보다 0.01 더 큰 경우, 제1 얼굴 이미지에 대응하는 인물이 제1 인물로 인식될 수는 있으나, 이러한 인식에 대한 구분 신뢰도는 높지 않다는 것을 알 수 있다. 이 경우, 제1 얼굴 이미지의 제1 임베딩을 데이터베이스에 저장하는 경우, 제1 얼굴 이미지와 유사한 얼굴 이미지들에 대한 구분 신뢰도를 높일 수 있다. 따라서, 컴퓨터 장치(200)는 기설정된 경계값에 의해 결정되는 범위(일례로, 0.5~0.55의 범위)에 구분 신뢰도가 포함되는 얼굴 이미지들을 추가 얼굴 이미지들의 후보로서 선별할 수 있다.As described above, segmentation reliability can refer to the degree to which a deep learning model classifies a face image (for example, classifying it into a feature person) and can correspond to the similarity calculated between embeddings. At this time, the fact that the segmentation reliability is close to the boundary value for face classification may mean that the similarity between embeddings is not high. For example, if the similarity between the first embedding of the first facial image for the first person and the second embedding registered for the first person is 0.01 greater than the threshold (e.g., 0.5), the first facial image Although the corresponding person may be recognized as the first person, it can be seen that the reliability of this recognition is not high. In this case, when the first embedding of the first face image is stored in the database, the reliability of distinguishing face images similar to the first face image can be increased. Accordingly, the computer device 200 may select face images whose classification reliability falls within a range determined by a preset boundary value (for example, a range of 0.5 to 0.55) as candidates for additional face images.
단계(920)에서 컴퓨터 장치(200)는 선별된 추가 얼굴 이미지로부터 추출된 임베딩을 데이터베이스에 등록하는 경우의 성능 변화를 시뮬레이션할 수 있다. 다시 말해, 단계(920)에서 선별된 추가 얼굴 이미지들의 임베딩들을 모두 등록하는 것이 아니라, 컴퓨터 장치(200)는 우선 추가 얼굴 이미지의 임베딩을 데이터베이스에 등록하는 경우의 성능 변화를 시뮬레이션할 수 있다.In step 920, the computer device 200 may simulate performance changes when registering embeddings extracted from selected additional face images in a database. In other words, rather than registering all the embeddings of the additional face images selected in step 920, the computer device 200 may first simulate the performance change when registering the embeddings of the additional face images in the database.
단계(930)에서 컴퓨터 장치(200)는 시뮬레이션 결과를 관리자에게 제공할 수 있다. 관리자는 이러한 시뮬레이션 결과에 따라 성능 변화를 감수하더라도 해당 추가 얼굴 이미지의 임베딩을 데이터베이스에 등록하는 것이 유리할지 여부를 결정할 수 있다.In step 930, the computer device 200 may provide simulation results to the manager. Based on these simulation results, the administrator can decide whether it would be advantageous to register the embedding of the additional face image in the database even if it requires performance changes.
단계(940)에서 컴퓨터 장치(200)는 관리자로부터 추가 얼굴 이미지를 등록하는 것으로 결정됨에 응답하여, 추가 얼굴 이미지로부터 추출된 임베딩을 인물의 식별자와 연계하여 데이터베이스에 더 등록할 수 있다. 이 경우, 대표 임베딩과 추가 얼굴 이미지로부터 추출된 임베딩 각각이 인물의 식별자와 연계하여 데이터베이스에 저장될 수 있다.In step 940, in response to the administrator's decision to register an additional face image, the computer device 200 may further register the embedding extracted from the additional face image in the database in association with the person's identifier. In this case, each of the representative embedding and the embedding extracted from the additional face image may be stored in the database in association with the person's identifier.
도 10은 본 발명의 일실시예에 있어서, 인물에 대한 추가 얼굴 이미지의 속성을 결정하는 과정의 예를 도시한 도면이다. 본 실시예에 따른 추가 얼굴 이미지 속성 결정 과정은 도 4를 통해 설명한 임베딩 등록 방법에 포함되어 컴퓨터 장치(200)에 의해 수행될 수 있다. 이때, 컴퓨터 장치(200)의 프로세서(220)는 메모리(210)가 포함하는 운영체제의 코드나 적어도 하나의 컴퓨터 프로그램의 코드에 따른 제어 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 프로세서(220)는 컴퓨터 장치(200)에 저장된 코드가 제공하는 제어 명령에 따라 컴퓨터 장치(200)가 도 10의 과정이 포함하는 단계들(1010 내지 1040)을 수행하도록 컴퓨터 장치(200)를 제어할 수 있다.Figure 10 is a diagram illustrating an example of a process for determining attributes of an additional face image for a person, according to an embodiment of the present invention. The process of determining additional facial image attributes according to this embodiment may be included in the embedding registration method described with reference to FIG. 4 and performed by the computer device 200. At this time, the processor 220 of the computer device 200 may be implemented to execute control instructions according to the code of an operating system included in the memory 210 or the code of at least one computer program. Here, the processor 220 causes the computer device 200 to perform steps 1010 to 1040 included in the process of FIG. 10 according to control instructions provided by code stored in the computer device 200. can be controlled.
단계(1010)에서 컴퓨터 장치(200)는 인물에 대한 테스트 얼굴 이미지를 데이터베이스를 이용하여 인식할 수 있다. 일례로, 컴퓨터 장치(200)는 테스트 얼굴 이미지의 제1 임베딩과 구분 신뢰도가 기설정된 경계값 이상인 임베딩(대표 임베딩 및/또는 추가 임베딩)을 검색하여 검색된 임베딩에 연계되어 저장된 인물의 식별자를 추출함으로써, 테스트 얼굴 이미지에 대응하는 인물을 데이터베이스를 통해 인식할 수 있다.In step 1010, the computer device 200 may recognize a test face image of a person using a database. For example, the computer device 200 searches for the first embedding of the test face image and an embedding (representative embedding and/or additional embedding) whose distinction reliability is greater than or equal to a preset boundary value and extracts the identifier of the person stored in connection with the searched embedding. , the person corresponding to the test face image can be recognized through the database.
단계(1020)에서 컴퓨터 장치(200)는 테스트 얼굴 이미지가 인식되지 않는 경우, 얼굴에 대한 속성을 분석하는 분류기를 이용하여 테스트 얼굴 이미지의 속성 및 복수의 얼굴 이미지들 각각의 속성을 분석할 수 있다. 다시 말해, 이미 데이터베이스에 등록된 인물에 대한 특정 테스트 얼굴 이미지가 해당 데이터를 이용하여 인식되지 않는 경우에는 데이터베이스에 등록된 임베딩(대표 임베딩 및/또는 추가 임베딩)이 불완전함을 의미할 수 있기 때문에, 추가 얼굴 이미지가 요구될 수 있다. In step 1020, if the test face image is not recognized, the computer device 200 may analyze the properties of the test face image and the properties of each of the plurality of face images using a classifier that analyzes the properties of the face. . In other words, if a specific test face image for a person already registered in the database is not recognized using that data, this may mean that the embeddings (representative embeddings and/or additional embeddings) registered in the database are incomplete. Additional facial images may be required.
단계(1030)에서 컴퓨터 장치(200)는 분석된 속성에 기초하여 테스트 얼굴 이미지의 인식을 위한 추가 얼굴 이미지의 속성을 결정할 수 있다. 다시 말해, 컴퓨터 장치(200)는 분석된 속성에 따라 테스트 얼굴 이미지의 인물이 인식되기 위해 어떠한 속성의 추가 얼굴 이미지가 필요하지 여부를 결정할 수 있다.In step 1030, the computer device 200 may determine properties of an additional face image for recognition of the test face image based on the analyzed properties. In other words, the computer device 200 may determine whether an additional face image of any attribute is needed for the person in the test face image to be recognized according to the analyzed attribute.
단계(1040)에서 컴퓨터 장치(200)는 결정된 추가 얼굴 이미지의 속성에 대한 정보를 관리자에게 제공할 수 있다. 이 경우, 관리자는 제공된 속성의 추가 얼굴 이미지를 컴퓨터 장치(200)에 입력할 수 있으며, 이를 통해 컴퓨터 장치(200)는 추가 얼굴 이미지의 임베딩을 추가 임베딩으로서 데이터베이스에 추가 등록하여 데이터베이스에 등록된 임베딩을 보완할 수 있다.In step 1040, the computer device 200 may provide information about the properties of the determined additional face image to the manager. In this case, the administrator can input an additional face image of the provided attribute into the computer device 200, through which the computer device 200 further registers the embedding of the additional face image in the database as an additional embedding, thereby adding the embedding registered in the database. can complement.
이러한 추가 얼굴 이미지의 임베딩을 등록하는 것은 새로운 인물을 등록할 때 추가적으로 필요한 속성의 얼굴 이미지를 결정하기 위해 사용될 수도 있고, 기존 인물에 대해 등록된 임베딩을 보완하기 위해 사용될 수도 있다. 새로운 인물을 등록하는 경우에는 새로운 인물의 복수의 얼굴 이미지들을 테스트 얼굴 이미지와 등록 얼굴 이미지로 분류하여 등록 얼굴 이미지를 이용하여 도 3의 실시예에 따른 임베딩 등록 방법과 같이 대표 임베딩을 등록한 후, 테스트 얼굴 이미지 각각에 대해 도 10과 같이 추가 얼굴 이미지 속성 결정 과정을 거쳐 어떤 속성의 얼굴 이미지가 부족한지(더 등록되어야 하는지)를 결정할 수 있다.Registering the embeddings of these additional face images may be used to determine face images with additional required attributes when registering a new person, or may be used to supplement the embeddings registered for an existing person. When registering a new person, a plurality of face images of the new person are classified into a test face image and a registered face image, a representative embedding is registered using the registered face image as in the embedding registration method according to the embodiment of FIG. 3, and then tested. For each face image, it is possible to determine which attribute of the face image is lacking (should be registered further) through an additional face image attribute determination process as shown in FIG. 10.
도 11은 본 발명의 일실시예에 있어서, 데이터베이스에 등록된 임베딩을 업데이트하는 과정의 예를 도시한 흐름도이다. 본 실시예에 따른 임베딩 업데이트 과정은 도 4를 통해 설명한 임베딩 등록 방법에 포함되어 컴퓨터 장치(200)에 의해 수행될 수 있다. 이때, 컴퓨터 장치(200)의 프로세서(220)는 메모리(210)가 포함하는 운영체제의 코드나 적어도 하나의 컴퓨터 프로그램의 코드에 따른 제어 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 프로세서(220)는 컴퓨터 장치(200)에 저장된 코드가 제공하는 제어 명령에 따라 컴퓨터 장치(200)가 도 11의 과정이 포함하는 단계들(1110 내지 1130)을 수행하도록 컴퓨터 장치(200)를 제어할 수 있다.Figure 11 is a flowchart illustrating an example of a process for updating embeddings registered in a database, according to an embodiment of the present invention. The embedding update process according to this embodiment may be included in the embedding registration method described with reference to FIG. 4 and performed by the computer device 200. At this time, the processor 220 of the computer device 200 may be implemented to execute control instructions according to the code of an operating system included in the memory 210 or the code of at least one computer program. Here, the processor 220 causes the computer device 200 to perform steps 1110 to 1130 included in the process of FIG. 11 according to control instructions provided by code stored in the computer device 200. can be controlled.
단계(1110)에서 컴퓨터 장치(200)는 인물에 대한 얼굴 이미지를 데이터베이스를 이용하여 인식할 수 있다. 일례로, 컴퓨터 장치(200)는 얼굴 이미지의 제1 임베딩과 구분 신뢰도가 기설정된 경계값 이상인 임베딩(대표 임베딩 및/또는 추가 임베딩)을 검색하여 검색된 임베딩에 연계되어 저장된 인물의 식별자를 추출함으로써, 얼굴 이미지에 대응하는 인물을 데이터베이스를 통해 인식할 수 있다.In step 1110, the computer device 200 may recognize a face image of a person using a database. For example, the computer device 200 searches for the first embedding of the face image and an embedding (representative embedding and/or additional embedding) whose separation reliability is greater than or equal to a preset threshold value, and extracts the identifier of the person stored in connection with the searched embedding, The person corresponding to the face image can be recognized through the database.
단계(1120)에서 컴퓨터 장치(200)는 얼굴 이미지로부터 추출된 임베딩의 구분 신뢰도가 기설정된 경계값에 의해 결정되는 범위에 포함되는 경우, 얼굴 이미지로부터 추출된 임베딩을 이용하여 인물의 식별자와 연계하여 데이터베이스에 저장된 대표 임베딩을 업데이트할 수 있다. 앞서 설명한 바와 같이 예를 들어, 제1 인물에 대한 제1 얼굴 이미지의 제1 임베딩과 제1 인물에 대해 등록된 제2 임베딩간의 유사도가 경계값(일례로, 0.5)보다 0.01 더 큰 경우, 제1 얼굴 이미지에 대응하는 인물이 제1 인물로 인식될 수는 있으나, 이러한 인식에 대한 구분 신뢰도는 높지 않다는 것을 알 수 있다. 이는 현재 데이터베이스에 등록된 임베딩의 업데이트에 대한 요구를 발생시킨다. In step 1120, if the classification reliability of the embedding extracted from the face image is within the range determined by the preset boundary value, the computer device 200 uses the embedding extracted from the face image to link it with the identifier of the person. Representative embeddings stored in the database can be updated. As described above, for example, if the similarity between the first embedding of the first face image for the first person and the second embedding registered for the first person is 0.01 greater than the boundary value (e.g., 0.5), the 1 It can be seen that the person corresponding to the face image can be recognized as the first person, but the classification reliability for this recognition is not high. This creates a request for updating the embedding currently registered in the database.
이처럼 컴퓨터 장치(200)는 기설정된 경계값에 의해 결정되는 범위(일례로, 경계값 + n의 범위, 경계값이 0.5이고, n이 0.05인 경우에는 0.5~0.55의 범위)에 구분 신뢰도가 포함되는 경우, 데이터베이스에 저장된 대표 임베딩을 업데이트할 수 있다. 일례로, 5개의 임베딩들의 평균값으로 대표 임베딩이 구성된 경우, 동일한 인물의 새로운 얼굴 이미지로부터 추출된 임베딩을 더 포함하는 6개의 임베딩들의 평균값으로 대표 임베딩을 업데이트할 수 있다. 여기서 새로운 얼굴 이미지는 단계(1110)에서 설명하는 얼굴 이미지에 대응할 수 있다.In this way, the computer device 200 includes the classification reliability in a range determined by a preset boundary value (for example, the range of boundary value + n, when the boundary value is 0.5 and n is 0.05, the range is 0.5 to 0.55). If so, the representative embedding stored in the database can be updated. For example, if the representative embedding is composed of the average value of 5 embeddings, the representative embedding can be updated with the average value of 6 embeddings that further include an embedding extracted from a new face image of the same person. Here, the new face image may correspond to the face image described in step 1110.
단계(1130)에서 컴퓨터 장치(200)는 데이터베이스에 등록된 인물들의 대표 임베딩이 업데이트됨에 따라 기존 대표 임베딩과 업데이트된 대표 임베딩간의 차이가 기설정된 임계값 이상인 경우, 또는 데이터베이스에 등록된 인물들 중 기설정된 수 이상의 인물들의 대표 임베딩이 업데이트된 경우, 대표 임베딩의 업데이트에 의해 성능 변화를 관리자에게 알릴 수 있다. 다시 말해, 컴퓨터 장치(200)는 업데이트로 인한 대표 임베딩의 변화가 임계값 이상인 경우 성능 변화를 관리자에게 알리거나, 또는 기설정된 수 이상의 인물들에 대해 등록된 대표 임베딩들이 업데이트된 경우에 성능 변화를 관리자에게 알릴 수 있다.In step 1130, the computer device 200 is updated when the representative embedding of the people registered in the database is updated and the difference between the existing representative embedding and the updated representative embedding is greater than or equal to a preset threshold, or the representative embedding of the people registered in the database is updated. If the representative embeddings of more than a set number of people are updated, the manager can be notified of performance changes by updating the representative embeddings. In other words, the computer device 200 notifies the administrator of a performance change when the change in representative embeddings due to an update is greater than a threshold, or when the representative embeddings registered for more than a preset number of people are updated, the computer device 200 reports a performance change. You can notify the administrator.
도 12는 본 발명의 일실시예에 있어서, 얼굴 인식 과정의 예를 도시한 흐름도이다. 본 실시예에 따른 얼굴 인식 과정은 임베딩 등록 이후에 컴퓨터 장치(200)에 의해 수행될 수 있다. 이때, 도 12의 얼굴 인식 과정을 수행하는 컴퓨터 장치(200)는 도 4의 임베딩 등록 과정을 수행하는 컴퓨터 장치(200)와 동일한 장치이거나 서로 상이한 장치일 수 있다. 컴퓨터 장치(200)의 프로세서(220)는 메모리(210)가 포함하는 운영체제의 코드나 적어도 하나의 컴퓨터 프로그램의 코드에 따른 제어 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 프로세서(220)는 컴퓨터 장치(200)에 저장된 코드가 제공하는 제어 명령에 따라 컴퓨터 장치(200)가 도 12의 얼굴 인식 과정이 포함하는 단계들(1210 내지 1230)을 수행하도록 컴퓨터 장치(200)를 제어할 수 있다.Figure 12 is a flowchart showing an example of a face recognition process in one embodiment of the present invention. The face recognition process according to this embodiment may be performed by the computer device 200 after embedding registration. At this time, the computer device 200 performing the face recognition process of FIG. 12 may be the same device as the computer device 200 performing the embedding registration process of FIG. 4 or may be a different device. The processor 220 of the computer device 200 may be implemented to execute control instructions according to the code of an operating system included in the memory 210 or the code of at least one computer program. Here, the processor 220 is a computer device (200) such that the computer device 200 performs steps 1210 to 1230 included in the face recognition process of FIG. 12 according to a control command provided by a code stored in the computer device 200. 200) can be controlled.
단계(1210)에서 컴퓨터 장치(200)는 얼굴을 인식하고자 하는 인물의 얼굴 이미지를 입력받을 수 있다. 도 4의 단계(310)에서 설명한 인물의 복수의 얼굴 이미지들이 해당 인물을 데이터베이스에 등록하기 위한 이미지들이었다면, 도 12의 단계(1210)에서 입력되는 얼굴 이미지는 데이터베이스에서 해당 얼굴 이미지에 대응하는 인물이 누구인지를 해당 인물의 식별자를 통해 찾기 위한 이미지일 수 있다.In step 1210, the computer device 200 may receive an input face image of a person whose face is to be recognized. If the plurality of face images of the person described in step 310 of FIG. 4 were images for registering the person in the database, the face image input in step 1210 of FIG. 12 is the person corresponding to the face image in the database. This may be an image used to find out who this person is through the person's identifier.
단계(1220)에서 컴퓨터 장치(200)는 입력된 얼굴 이미지의 제1 임베딩을 추출할 수 있다. 얼굴 이미지에서 제1 임베딩을 추출하는 과정은 앞서 임베딩들을 추출하는 과정과 동일할 수 있다.In step 1220, the computer device 200 may extract the first embedding of the input face image. The process of extracting the first embedding from the face image may be the same as the process of extracting the previous embeddings.
단계(1230)에서 컴퓨터 장치(200)는 데이터베이스로부터 제1 임베딩과의 구분 신뢰도가 기설정된 경계값 이상인 대표 임베딩을 검색하여 검색된 대표 임베딩에 연계되어 저장된 인물의 식별자를 추출할 수 있다. 일례로, 컴퓨터 장치(200)는 입력된 얼굴 이미지로부터 추출된 제1 임베딩을 데이터베이스에 등록된 대표 임베딩들 각각과 비교하여 대표 임베딩들 각각에 대한 구분 신뢰도를 계산할 수 있다. 이때, 컴퓨터 장치(200)는 구분 신뢰도가 기설정된 경계값 이상인 대표 임베딩을 확인할 수 있으며, 확인된 대표 임베딩과 연계되어 저장된 인물의 식별자를 추출함으로써, 입력된 얼굴 이미지에 대응하는 인물을 식별할 수 있게 된다. 만약, 기설정된 경계값 이상의 구분 신뢰도가 얻어지는 대표 임베딩이 없다면, 컴퓨터 장치(200)는 입력된 얼굴 이미지에 대응하는 인물을 해당 데이터베이스에 등록되지 않은 인물로 분류할 수 있다.In step 1230, the computer device 200 may search the database for a representative embedding whose reliability for distinguishing from the first embedding is greater than or equal to a preset threshold value and extract the identifier of the person stored in connection with the searched representative embedding. For example, the computer device 200 may compare the first embedding extracted from the input face image with each of the representative embeddings registered in the database and calculate the classification reliability for each of the representative embeddings. At this time, the computer device 200 can confirm a representative embedding whose classification reliability is greater than or equal to a preset boundary value, and can identify the person corresponding to the input face image by extracting the identifier of the person stored in connection with the confirmed representative embedding. There will be. If there is no representative embedding for which a classification reliability greater than a preset threshold value is obtained, the computer device 200 may classify the person corresponding to the input face image as a person not registered in the database.
도 13 및 도 14는 종래기술에 따른 얼굴 인식 방법의 성능과 본 발명의 일실시예에 따른 얼굴 인식 방법의 성능을 비교하기 위한 그래프들이다. 도 13 및 도 14의 각 그래프들은 얼굴 인식의 유사도를 나타내고 있다. 이때, 각 그래프들에서 "Positive"는 등록된 인물의 얼굴 이미지로 얼굴 인식을 시도한 경우를, "Negative"는 등록되지 않은 인물의 얼굴 이미지로 얼굴 인식을 시도한 경우를 각각 나타내고 있다.Figures 13 and 14 are graphs for comparing the performance of a face recognition method according to the prior art and the performance of a face recognition method according to an embodiment of the present invention. Each graph in FIGS. 13 and 14 shows similarity in face recognition. At this time, in each graph, "Positive" represents a case where face recognition was attempted using a face image of a registered person, and "Negative" represents a case where face recognition was attempted using a face image of an unregistered person.
도 13의 그래프는 인물의 복수의 얼굴 이미지들 각각의 임베딩들을 모두 데이터베이스에 등록한 경우의 히스토그램을 나타내고 있으며, 도 14는 임베딩들의 평균(가중 평균)에 따른 대표 임베딩을 데이터베이스에 등록한 경우의 히스토그램을 각각 나타내고 있다. 이때, 도 13의 그래프에서의 평균 정확성은 0.9174였고, 도 14의 그래프에서의 평균 정확성은 0.9258이었다. 이처럼, 본 발명의 실시예들에서와 같이 대표 임베딩을 데이터베이스에 등록하여 오히려 적은 데이터가 등록된 도 14의 케이스에서 평균 정확성이 0.008 정도가 증가하였다. 흥미로운 점은 도 13의 그래프와 도 14의 그래프를 비교할 때, "Positive"의 경우에 유사도가 작은 값을 갖는 경우도 증가하였지만, "Negative"의 경우에 유사도가 더 감소한다. 이러한 "Negative"의 경우의 유사도 감소에 따라 도 14의 케이스에서 평균 정확도가 증가한 것으로 예측된다.The graph in FIG. 13 shows a histogram when all embeddings of a plurality of face images of a person are registered in the database, and FIG. 14 shows a histogram when representative embeddings according to the average (weighted average) of the embeddings are registered in the database. It is showing. At this time, the average accuracy in the graph of FIG. 13 was 0.9174, and the average accuracy in the graph of FIG. 14 was 0.9258. In this way, as in the embodiments of the present invention, the average accuracy increased by about 0.008 in the case of Figure 14, where less data was registered by registering representative embeddings in the database. What is interesting is that when comparing the graph of FIG. 13 and the graph of FIG. 14, the number of cases with small similarity values increased in the case of “Positive”, but the similarity further decreased in the case of “Negative”. It is predicted that the average accuracy in the case of Figure 14 increases as the similarity decreases in the "Negative" case.
이처럼, 본 발명의 실시예들에 따르면, 얼굴 인식에서 등록하고자 하는 사람의 입력 데이터군에 대한 대표 임베딩을 구성하여 데이터베이스에 등록함으로써, 데이터베이스에 등록되는 임베딩 데이터의 양을 줄이면서도 얼굴 인식 성능을 향상시킬 수 있다.As such, according to embodiments of the present invention, representative embeddings for the input data group of a person to be registered in face recognition are configured and registered in the database, thereby improving face recognition performance while reducing the amount of embedding data registered in the database. You can do it.
이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The system or device described above may be implemented with hardware components or a combination of hardware components and software components. For example, devices and components described in embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), etc. , may be implemented using one or more general-purpose or special-purpose computers, such as a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. Additionally, a processing device may access, store, manipulate, process, and generate data in response to the execution of software. For ease of understanding, a single processing device may be described as being used; however, those skilled in the art will understand that a processing device includes multiple processing elements and/or multiple types of processing elements. It can be seen that it may include. For example, a processing device may include a plurality of processors or one processor and one controller. Additionally, other processing configurations, such as parallel processors, are possible.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of these, which may configure a processing unit to operate as desired, or may be processed independently or collectively. You can command the device. Software and/or data may be used on any type of machine, component, physical device, virtual equipment, computer storage medium or device to be interpreted by or to provide instructions or data to a processing device. It can be embodied in . Software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 애플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc., singly or in combination. The medium may continuously store a computer-executable program, or may temporarily store it for execution or download. In addition, the medium may be a variety of recording or storage means in the form of a single or several pieces of hardware combined. It is not limited to a medium directly connected to a computer system and may be distributed over a network. Examples of media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, And there may be something configured to store program instructions, including ROM, RAM, flash memory, etc. Additionally, examples of other media include recording or storage media managed by app stores that distribute applications, sites or servers that supply or distribute various other software, etc. Examples of program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with limited examples and drawings, various modifications and variations can be made by those skilled in the art from the above description. For example, the described techniques are performed in a different order than the described method, and/or components of the described system, structure, device, circuit, etc. are combined or combined in a different form than the described method, or other components are used. Alternatively, appropriate results may be achieved even if substituted or substituted by an equivalent.
그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments and equivalents of the claims also fall within the scope of the following claims.
Claims (20)
- 적어도 하나의 프로세서를 포함하는 컴퓨터 장치의 임베딩 등록 방법에 있어서,In an embedding registration method of a computer device including at least one processor,상기 적어도 하나의 프로세서에 의해, 얼굴 인식을 위해 등록하고자 하는 인물의 복수의 얼굴 이미지들 각각으로부터 임베딩을 추출하여 임베딩 집합을 생성하는 단계;generating an embedding set by extracting an embedding from each of a plurality of face images of a person to be registered for face recognition, by the at least one processor;상기 적어도 하나의 프로세서에 의해, 상기 임베딩 집합에 포함된 임베딩들에 기초하여 대표 임베딩을 구성하는 단계; 및Constructing, by the at least one processor, a representative embedding based on embeddings included in the embedding set; and상기 적어도 하나의 프로세서에 의해, 상기 구성된 대표 임베딩을 상기 인물의 식별자와 연계하여 데이터베이스에 등록하는 단계Registering the configured representative embedding in a database in association with the identifier of the person, by the at least one processor를 포함하는 임베딩 등록 방법.Embedding registration method including.
- 제1항에 있어서,According to paragraph 1,상기 임베딩 집합을 생성하는 단계는,The step of generating the embedding set is,상기 복수의 얼굴 이미지들 각각으로부터 특징 벡터(feature vector)를 임베딩으로서 추출하여 특징 벡터들의 집합을 임베딩 집합으로서 생성하는 것을 특징으로 하는 임베딩 등록 방법.An embedding registration method characterized by extracting a feature vector as an embedding from each of the plurality of face images and generating a set of feature vectors as an embedding set.
- 제2항에 있어서,According to paragraph 2,상기 대표 임베딩을 구성하는 단계는,The step of configuring the representative embedding is,상기 특징 벡터들의 특징 공간에서의 평균 또는 가중 평균을 계산하여 결정되는 상기 특징 벡터들의 상기 특징 공간에서의 중심점을 상기 대표 임베딩으로서 구성하는 것을 특징으로 하는 임베딩 등록 방법.An embedding registration method, characterized in that configuring a center point in the feature space of the feature vectors, which is determined by calculating an average or weighted average in the feature space of the feature vectors, as the representative embedding.
- 제3항에 있어서,According to paragraph 3,상기 데이터베이스에 등록하는 단계는,The step of registering in the database is,상기 특징 공간에서의 중심점을 상기 인물의 식별자와 연계하여 데이터베이스에 등록하는 것을 특징으로 하는 임베딩 등록 방법.An embedding registration method characterized by registering the central point in the feature space in a database by linking it with the identifier of the person.
- 제1항에 있어서,According to paragraph 1,상기 대표 임베딩을 구성하는 단계는,The step of configuring the representative embedding is,상기 임베딩들에 대응하는 특징 벡터들을 통해 딥러닝 기반 분류기를 학습하는 단계; 및Learning a deep learning-based classifier through feature vectors corresponding to the embeddings; and상기 학습된 딥러닝 기반 분류기의 마지막 완전 연결 레이어(fully connected layer)의 가중치들을 상기 특징 벡터들에 대한 특징 공간에서의 가중 평균된 중심점으로서 획득하는 단계Obtaining the weights of the last fully connected layer of the learned deep learning-based classifier as a weighted average center point in the feature space for the feature vectors.를 포함하는 것을 특징으로 하는 임베딩 등록 방법.An embedding registration method comprising:
- 제1항에 있어서,According to paragraph 1,상기 대표 임베딩을 구성하는 단계는,The step of configuring the representative embedding is,상기 임베딩 집합에 포함된 임베딩들의 가중 평균을 통해 상기 대표 임베딩을 구성하되, 상기 복수의 얼굴 이미지들 중 특정 얼굴 이미지로부터 추출된 임베딩 또는 상기 임베딩들이 포함하는 특징들 중 특정 특징에 가중치를 부여하여 상기 가중 평균을 계산하는 것을 특징으로 하는 임베딩 등록 방법.The representative embedding is constructed through a weighted average of the embeddings included in the embedding set, and a weight is given to an embedding extracted from a specific face image among the plurality of face images or a specific feature among the features included in the embeddings. An embedding registration method characterized by calculating a weighted average.
- 제1항에 있어서,According to paragraph 1,상기 적어도 하나의 프로세서에 의해, 상기 복수의 얼굴 이미지들 중 특정 얼굴 이미지 또는 상기 임베딩들이 포함하는 특징들 중 특정 특징을 선정하기 위한 기능을 관리자에게 제공하는 단계Providing, by the at least one processor, a function for selecting a specific face image among the plurality of face images or a specific feature among the features included in the embeddings to the manager.를 더 포함하고,It further includes,상기 대표 임베딩을 구성하는 단계는,The step of configuring the representative embedding is,상기 임베딩 집합에 포함된 임베딩들의 가중 평균을 통해 상기 대표 임베딩을 구성하되, 상기 기능을 통해 선정된 특정 얼굴 이미지로부터 추출된 임베딩 또는 상기 기능을 통해 선정된 특정 특징에 가중치를 부여하여 상기 가중 평균을 계산하는 것을 특징으로 하는 임베딩 등록 방법.The representative embedding is constructed through a weighted average of the embeddings included in the embedding set, and the weighted average is calculated by weighting an embedding extracted from a specific face image selected through the function or a specific feature selected through the function. An embedding registration method characterized by calculating.
- 제1항에 있어서,According to paragraph 1,상기 적어도 하나의 프로세서에 의해, 얼굴에 대한 속성(attribute)을 분석하는 분류기를 이용하여 상기 복수의 얼굴 이미지로부터 속성에 대한 통계를 생성하는 단계;generating statistics about attributes from the plurality of face images using a classifier that analyzes attributes about faces, by the at least one processor;상기 적어도 하나의 프로세서에 의해, 상기 생성된 통계를 관리자에게 제공하는 단계;providing, by the at least one processor, the generated statistics to an administrator;상기 적어도 하나의 프로세서에 의해, 상기 통계에 기반하여 상기 관리자로부터 입력되는 추가 얼굴 이미지로부터 추가 임베딩을 추출하는 단계; 및extracting, by the at least one processor, additional embeddings from additional face images input from the manager based on the statistics; and상기 적어도 하나의 프로세서에 의해, 상기 추가 임베딩을 상기 인물의 식별자와 연계하여 데이터베이스에 더 등록하는 단계further registering, by the at least one processor, the additional embedding in a database in association with the identifier of the person를 더 포함하는 임베딩 등록 방법.An embedding registration method further comprising:
- 제1항에 있어서,According to paragraph 1,상기 적어도 하나의 프로세서에 의해, 얼굴을 인식하고자 하는 인물의 얼굴 이미지를 입력받는 단계;receiving, by the at least one processor, a face image of a person whose face is to be recognized;상기 적어도 하나의 프로세서에 의해, 상기 입력된 얼굴 이미지의 제1 임베딩을 추출하는 단계; 및extracting, by the at least one processor, a first embedding of the input face image; and상기 적어도 하나의 프로세서에 의해, 상기 데이터베이스로부터 상기 제1 임베딩과의 구분 신뢰도가 기설정된 경계값 이상인 대표 임베딩을 검색하여 상기 검색된 대표 임베딩에 연계되어 저장된 인물의 식별자를 추출하는 단계Searching, by the at least one processor, from the database for a representative embedding whose reliability for distinguishing from the first embedding is greater than or equal to a preset threshold value, and extracting an identifier of a person stored in connection with the searched representative embedding.를 더 포함하는 임베딩 등록 방법.An embedding registration method further comprising:
- 제1항에 있어서,According to paragraph 1,상기 적어도 하나의 프로세서에 의해, 추가 얼굴 이미지를 선별하는 단계;selecting, by the at least one processor, additional facial images;상기 적어도 하나의 프로세서에 의해, 상기 선별된 추가 얼굴 이미지로부터 추출된 임베딩을 상기 데이터베이스에 등록하는 경우의 성능 변화를 시뮬레이션하는 단계;simulating, by the at least one processor, a change in performance when registering an embedding extracted from the selected additional face image in the database;상기 적어도 하나의 프로세서에 의해, 상기 시뮬레이션 결과를 관리자에게 제공하는 단계; 및providing, by the at least one processor, the simulation results to an administrator; and상기 적어도 하나의 프로세서에 의해, 상기 관리자로부터 상기 추가 얼굴 이미지를 등록하는 것으로 결정됨에 응답하여, 상기 추가 얼굴 이미지로부터 추출된 임베딩을 상기 인물의 식별자와 연계하여 데이터베이스에 더 등록하는 단계Further registering, by the at least one processor, in response to a decision from the administrator to register the additional face image, in association with the identifier of the person, an embedding extracted from the additional face image in a database.를 더 포함하는 임베딩 등록 방법.An embedding registration method further comprising:
- 제10항에 있어서,According to clause 10,상기 추가 얼굴 이미지를 선별하는 단계는,The step of selecting the additional face image is,임베딩간의 유사도에 따라 상기 데이터베이스에서 특정 인물의 식별자가 추출됨에 따라 얼굴이 인식된 얼굴 이미지들 중 임베딩의 구분 신뢰도가 기설정된 경계값에 의해 결정되는 범위에 포함되는 얼굴 이미지를 상기 추가 얼굴 이미지로 선별하는 것을 특징으로 하는 임베딩 등록 방법.As the identifier of a specific person is extracted from the database according to the similarity between embeddings, among the recognized face images, the face images whose classification reliability of the embedding is within the range determined by the preset boundary value are selected as the additional face images. An embedding registration method characterized by:
- 제1항에 있어서,According to paragraph 1,상기 적어도 하나의 프로세서에 의해, 상기 인물에 대한 테스트 얼굴 이미지를 상기 데이터베이스를 이용하여 인식하는 단계;Recognizing, by the at least one processor, a test face image of the person using the database;상기 적어도 하나의 프로세서에 의해, 상기 테스트 얼굴 이미지가 인식되지 않는 경우, 얼굴에 대한 속성을 분석하는 분류기를 이용하여 상기 테스트 얼굴 이미지의 속성 및 상기 복수의 얼굴 이미지들 각각의 속성을 분석하는 단계;When the test face image is not recognized, by the at least one processor, analyzing properties of the test face image and properties of each of the plurality of face images using a classifier that analyzes properties of a face;상기 적어도 하나의 프로세서에 의해, 상기 분석된 속성에 기초하여 상기 테스트 얼굴 이미지의 인식을 위한 추가 얼굴 이미지의 속성을 결정하는 단계;determining, by the at least one processor, attributes of an additional facial image for recognition of the test facial image based on the analyzed attributes;상기 적어도 하나의 프로세서에 의해, 상기 결정된 추가 얼굴 이미지의 속성에 대한 정보를 관리자에게 제공하는 단계providing, by the at least one processor, information about attributes of the determined additional facial image to an administrator.를 더 포함하는 임베딩 등록 방법.An embedding registration method further comprising:
- 제1항에 있어서,According to paragraph 1,상기 적어도 하나의 프로세서에 의해, 상기 인물에 대한 얼굴 이미지를 상기 데이터베이스를 이용하여 인식하는 단계; 및Recognizing, by the at least one processor, a facial image of the person using the database; and상기 적어도 하나의 프로세서에 의해, 상기 얼굴 이미지로부터 추출된 임베딩의 구분 신뢰도가 기설정된 경계값에 의해 결정되는 범위에 포함되는 경우, 상기 얼굴 이미지로부터 추출된 임베딩을 이용하여 상기 인물의 식별자와 연계하여 상기 데이터베이스에 저장된 대표 임베딩을 업데이트하는 단계When the classification reliability of the embedding extracted from the face image is within a range determined by a preset boundary value by the at least one processor, the embedding extracted from the face image is used to link it with the identifier of the person. Updating the representative embedding stored in the database를 더 포함하는 임베딩 등록 방법.An embedding registration method further comprising:
- 제1항에 있어서,According to paragraph 1,상기 적어도 하나의 프로세서에 의해, 상기 데이터베이스에 등록된 인물들의 대표 임베딩이 업데이트됨에 따라 기존 대표 임베딩과 업데이트된 대표 임베딩간의 차이가 기설정된 임계값 이상인 경우, 또는 상기 데이터베이스에 등록된 인물들 중 기설정된 수 이상의 인물들의 대표 임베딩이 업데이트된 경우, 대표 임베딩의 업데이트에 의해 성능 변화를 관리자에게 알리는 단계As the representative embeddings of the people registered in the database are updated by the at least one processor, when the difference between the existing representative embeddings and the updated representative embeddings is more than a preset threshold, or if the difference between the existing representative embeddings and the updated representative embeddings is more than a preset threshold, or When the representative embeddings of more than a number of people are updated, the step of notifying the manager of the performance change due to the update of the representative embeddings를 더 포함하는 임베딩 등록 방법.An embedding registration method further comprising:
- 컴퓨터 장치와 결합되어 제1항 내지 제14항 중 어느 한 항의 방법을 컴퓨터 장치에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.A computer program stored in a computer-readable recording medium in combination with a computer device to cause the computer device to execute the method of any one of claims 1 to 14.
- 제1항 내지 제14항 중 어느 한 항의 방법을 컴퓨터 장치에 실행시키기 위한 컴퓨터 프로그램이 기록되어 있는 컴퓨터 판독 가능한 기록매체.A computer-readable recording medium recording a computer program for executing the method of any one of claims 1 to 14 on a computer device.
- 컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서At least one processor implemented to execute computer readable instructions를 포함하고,Including,상기 적어도 하나의 프로세서에 의해,By the at least one processor,얼굴 인식을 위해 등록하고자 하는 인물의 복수의 얼굴 이미지들 각각으로부터 임베딩을 추출하여 임베딩 집합을 생성하고,Generate an embedding set by extracting embeddings from each of a plurality of face images of a person to be registered for face recognition,상기 임베딩 집합에 포함된 임베딩들에 기초하여 대표 임베딩을 구성하고,Constructing a representative embedding based on the embeddings included in the embedding set,상기 구성된 대표 임베딩을 상기 인물의 식별자와 연계하여 데이터베이스에 등록하는 것Registering the constructed representative embedding in a database by linking it with the identifier of the person.을 특징으로 하는 컴퓨터 장치.A computer device characterized by a.
- 제17항에 있어서,According to clause 17,상기 임베딩 집합을 생성하기 위해, 상기 적어도 하나의 프로세서에 의해, To generate the embedding set, by the at least one processor,상기 복수의 얼굴 이미지들 각각으로부터 특징 벡터(feature vector)를 임베딩으로서 추출하여 특징 벡터들의 집합을 임베딩 집합으로서 생성하는 것Extracting a feature vector as an embedding from each of the plurality of face images and generating a set of feature vectors as an embedding set.을 특징으로 하는 컴퓨터 장치.A computer device characterized by a.
- 제17항에 있어서,According to clause 17,상기 대표 임베딩을 구성하기 위해, 상기 적어도 하나의 프로세서에 의해, To construct the representative embedding, by the at least one processor,상기 임베딩들에 대응하는 특징 벡터들을 통해 딥러닝 기반 분류기를 학습하고,Learn a deep learning-based classifier through feature vectors corresponding to the embeddings,상기 학습된 딥러닝 기반 분류기의 마지막 완전 연결 레이어(fully connected layer)의 가중치들을 상기 특징 벡터들에 대한 특징 공간에서의 가중 평균된 중심점으로서 획득하는 것Obtaining the weights of the last fully connected layer of the learned deep learning-based classifier as a weighted average center point in the feature space for the feature vectors.을 특징으로 하는 컴퓨터 장치.A computer device characterized by a.
- 제17항에 있어서,According to clause 17,상기 대표 임베딩을 구성하기 위해, 상기 적어도 하나의 프로세서에 의해, To construct the representative embedding, by the at least one processor,상기 임베딩 집합에 포함된 임베딩들의 가중 평균을 통해 상기 대표 임베딩을 구성하되, 상기 복수의 얼굴 이미지들 중 특정 얼굴 이미지로부터 추출된 임베딩 또는 상기 임베딩들이 포함하는 특징들 중 특정 특징에 가중치를 부여하여 상기 가중 평균을 계산하는 것The representative embedding is constructed through a weighted average of the embeddings included in the embedding set, and a weight is given to an embedding extracted from a specific face image among the plurality of face images or a specific feature among the features included in the embeddings. Calculating a Weighted Average을 특징으로 하는 컴퓨터 장치.A computer device characterized by a.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2023-0001096 | 2023-01-04 | ||
KR1020230001096A KR20240109389A (en) | 2023-01-04 | 2023-01-04 | Method and system for registering embedding of image for face recognition |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024147540A1 true WO2024147540A1 (en) | 2024-07-11 |
Family
ID=91803874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2023/021679 WO2024147540A1 (en) | 2023-01-04 | 2023-12-27 | Method and system for registering image embeddings for face recognition |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20240109389A (en) |
WO (1) | WO2024147540A1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200075094A (en) * | 2018-12-10 | 2020-06-26 | 울산과학기술원 | Apparatus and method for generating object classifier |
KR20200140571A (en) * | 2019-06-07 | 2020-12-16 | 삼성전자주식회사 | Method and device for data recognition |
US11113510B1 (en) * | 2018-06-03 | 2021-09-07 | Apple Inc. | Virtual templates for facial recognition |
KR20220020729A (en) * | 2020-08-12 | 2022-02-21 | 주식회사 카카오 | Apparatus for recognizing faces using a large number of facial features and a learning control method thereof |
KR20220096778A (en) * | 2020-12-31 | 2022-07-07 | 주식회사 포스코아이씨티 | Edge device comparing face images using clustering technique and face authentication system having the same |
-
2023
- 2023-01-04 KR KR1020230001096A patent/KR20240109389A/en unknown
- 2023-12-27 WO PCT/KR2023/021679 patent/WO2024147540A1/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11113510B1 (en) * | 2018-06-03 | 2021-09-07 | Apple Inc. | Virtual templates for facial recognition |
KR20200075094A (en) * | 2018-12-10 | 2020-06-26 | 울산과학기술원 | Apparatus and method for generating object classifier |
KR20200140571A (en) * | 2019-06-07 | 2020-12-16 | 삼성전자주식회사 | Method and device for data recognition |
KR20220020729A (en) * | 2020-08-12 | 2022-02-21 | 주식회사 카카오 | Apparatus for recognizing faces using a large number of facial features and a learning control method thereof |
KR20220096778A (en) * | 2020-12-31 | 2022-07-07 | 주식회사 포스코아이씨티 | Edge device comparing face images using clustering technique and face authentication system having the same |
Also Published As
Publication number | Publication date |
---|---|
KR20240109389A (en) | 2024-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022050473A1 (en) | Apparatus and method for estimating camera pose | |
WO2017057921A1 (en) | Method and system for automatically classifying data expressed by a plurality of factors with values of text word and symbol sequence by using deep learning | |
WO2018212494A1 (en) | Method and device for identifying object | |
WO2018074716A1 (en) | Method and system for recommending query by using search context | |
WO2017164478A1 (en) | Method and apparatus for recognizing micro-expressions through deep learning analysis of micro-facial dynamics | |
JP6751684B2 (en) | Similar image search device | |
WO2020166883A1 (en) | Method and system for editing video on basis of context obtained using artificial intelligence | |
WO2018174314A1 (en) | Method and system for producing story video | |
WO2021029523A1 (en) | Techniques for learning effective musical features for generative and retrieval-based applications | |
WO2012108623A1 (en) | Method, system and computer-readable recording medium for adding a new image and information on the new image to an image database | |
CN114722937B (en) | Abnormal data detection method and device, electronic equipment and storage medium | |
WO2022163985A1 (en) | Method and system for lightening artificial intelligence inference model | |
CN115082740B (en) | Target detection model training method, target detection device and electronic equipment | |
JP2017111731A (en) | Information processing system, information processing method, and program | |
WO2011055930A2 (en) | Method, terminal device, and computer-readable recording medium for setting an initial value for a graph cut | |
WO2023063486A1 (en) | Method for creating machine learning model, and device thereof | |
WO2022139327A1 (en) | Method and apparatus for detecting unsupported utterances in natural language understanding | |
WO2019135425A1 (en) | Open source software license verification method and system | |
CN111507400A (en) | Application classification method and device, electronic equipment and storage medium | |
WO2024147540A1 (en) | Method and system for registering image embeddings for face recognition | |
WO2016208817A1 (en) | Apparatus and method for interfacing key input | |
CN112380849A (en) | Method and device for generating interest point extraction model and extracting interest points | |
WO2024111730A1 (en) | Ai-based object re-identification apparatus and method therefor | |
WO2023000782A1 (en) | Method and apparatus for acquiring video hotspot, readable medium, and electronic device | |
CN110852082A (en) | Synonym determination method and device |
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: 23915000 Country of ref document: EP Kind code of ref document: A1 |