KR102546327B1 - Edge device comparing face images using clustering technique and face authentication system having the same - Google Patents

Edge device comparing face images using clustering technique and face authentication system having the same Download PDF

Info

Publication number
KR102546327B1
KR102546327B1 KR1020200189528A KR20200189528A KR102546327B1 KR 102546327 B1 KR102546327 B1 KR 102546327B1 KR 1020200189528 A KR1020200189528 A KR 1020200189528A KR 20200189528 A KR20200189528 A KR 20200189528A KR 102546327 B1 KR102546327 B1 KR 102546327B1
Authority
KR
South Korea
Prior art keywords
unit
user
face
clusters
feature vector
Prior art date
Application number
KR1020200189528A
Other languages
Korean (ko)
Other versions
KR20220096778A (en
Inventor
정아영
임보영
Original Assignee
주식회사 포스코디엑스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 포스코디엑스 filed Critical 주식회사 포스코디엑스
Priority to KR1020200189528A priority Critical patent/KR102546327B1/en
Publication of KR20220096778A publication Critical patent/KR20220096778A/en
Application granted granted Critical
Publication of KR102546327B1 publication Critical patent/KR102546327B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/469Contour-based spatial representations, e.g. vector-coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/50Maintenance of biometric data or enrolment thereof

Abstract

본 발명의 일 측면에 따른 클러스터링 기법을 이용하여 얼굴이미지를 비교하는 얼굴인증 시스템은 복수의 사용자 이미지들을 얼굴인증모델에 입력하여 복수개의 사용자 특징벡터들을 추출하는 사용자 얼굴 인식부, K개의 클러스터들 각각에 대한 중심값을 기초로 복수개의 사용자 특징벡터들을 군집화하는 특징벡터 클러스터링부, 타겟 얼굴 이미지를 얼굴인증모델에 입력하여 타겟 특징벡터를 추출하는 타켓 얼굴 인식부, 및 타겟 특징벡터를 K개의 클러스터들 중 하나에 속한 사용자 특징벡터들과 비교하여 정당 사용자 여부를 인증하는 인증부를 포함한다.A face authentication system for comparing face images using a clustering technique according to an aspect of the present invention includes a user face recognition unit that extracts a plurality of user feature vectors by inputting a plurality of user images to a face authentication model, and each of K clusters. A feature vector clustering unit for clustering a plurality of user feature vectors based on the central value for , a target face recognition unit for extracting a target feature vector by inputting a target face image to a face authentication model, and K clusters for target feature vectors. and an authentication unit that authenticates whether or not the user is a legitimate user by comparing the feature vectors belonging to one of the user feature vectors.

Description

클러스터링 기법을 이용하여 얼굴이미지를 비교하는 에지 디바이스 및 이를 포함한 얼굴인증 시스템{EDGE DEVICE COMPARING FACE IMAGES USING CLUSTERING TECHNIQUE AND FACE AUTHENTICATION SYSTEM HAVING THE SAME}Edge device comparing face images using clustering technique and face authentication system including same

본 발명은 에지 디바이스 및 이를 포함한 얼굴인증 시스템에 관한 것이다.The present invention relates to an edge device and a face authentication system including the same.

얼굴인증(face authentication) 기술이란 생체인식(Biometrics) 분야 중의 하나로써 사람마다 얼굴에 담겨있는 고유한 특징 정보를 이용하여 기계가 자동으로 사람을 식별하고 인증하는 기술을 의미하는 것으로서, 비밀번호 등에 의한 기존의 인증방식에 비해 보안성이 뛰어나 최근 다양한 분야에서 널리 이용되고 있다. Face authentication technology is one of the fields of biometrics, which means a technology that automatically identifies and authenticates a person by using the unique feature information contained in each person's face. It has excellent security compared to other authentication methods and is widely used in various fields.

일반적인 얼굴인증 시스템은 출입 게이트 등에 설치된 디바이스에서 촬영된 얼굴이미지를 서버로 전송하고, 서버가 얼굴인식 및 얼굴인식에 따른 사용자 인증을 수행하고 인증결과를 디바이스로 전송함으로써 출입 게이트의 개방여부를 결정한다.A general face authentication system transmits a face image captured by a device installed at an entrance gate to a server, the server performs face recognition and user authentication according to the face recognition, and transmits the authentication result to the device to determine whether the gate is open. .

일반적인 얼굴인증 시스템은 미리 등록된 기준 이미지와 디바이스에서 촬영된 타겟 사용자 이미지와 비교하여 해당 타겟 사용자에 대한 인증을 수행하게 된다. 이때, 미리 등록된 기준 이미지의 수가 증가할수록, 타겟 사용자 이미지와 비교하는 기준 이미지가 기하급수적으로 많아지므로, 인증 처리 속도가 떨어지는 문제가 있다.A typical face authentication system compares a pre-registered reference image with a target user image captured by a device to perform authentication for a corresponding target user. At this time, as the number of pre-registered reference images increases, the number of reference images to be compared with the target user image increases exponentially. Therefore, there is a problem in that authentication processing speed decreases.

본 발명은 상술한 문제점을 해결하기 위한 것으로서, 인증 처리 속도를 향상시킬 수 있는 에지 디바이스 및 이를 포함하는 얼굴인증 시스템을 제공하는 것을 기술적 과제로 한다.SUMMARY OF THE INVENTION The present invention is to solve the above problems, and has as a technical task to provide an edge device capable of improving authentication processing speed and a face authentication system including the same.

본 발명의 일 측면에 따른 클러스터링 기법을 이용하여 얼굴이미지를 비교하는 얼굴인증 시스템은 복수의 사용자 이미지들을 얼굴인증모델에 입력하여 복수개의 사용자 특징벡터들을 추출하는 사용자 얼굴 인식부, K개의 클러스터들 각각에 대한 중심값을 기초로 복수개의 사용자 특징벡터들을 군집화하는 특징벡터 클러스터링부, 타겟 얼굴 이미지를 얼굴인증모델에 입력하여 타겟 특징벡터를 추출하는 타켓 얼굴 인식부, 및 타겟 특징벡터를 K개의 클러스터들 중 하나에 속한 사용자 특징벡터들과 비교하여 정당 사용자 여부를 인증하는 인증부를 포함한다.A face authentication system for comparing face images using a clustering technique according to an aspect of the present invention includes a user face recognition unit that extracts a plurality of user feature vectors by inputting a plurality of user images to a face authentication model, and each of K clusters. A feature vector clustering unit for clustering a plurality of user feature vectors based on the central value for , a target face recognition unit for extracting a target feature vector by inputting a target face image to a face authentication model, and K clusters for target feature vectors. and an authentication unit that authenticates whether or not the user is a legitimate user by comparing the feature vectors belonging to one of the user feature vectors.

본 발명의 다른 측면에 따른 클러스터링 기법을 이용하여 얼굴이미지를 비교하는 에지 디바이스는 인증대상이 되는 타겟 사용자의 촬영 이미지를 획득하는 촬영부, 촬영 이미지를 기초로 생성된 입력 이미지를 얼굴인증모델에 입력하여 타겟 특징벡터들을 추출하는 타겟 얼굴인식부, 및 타겟 특징벡터를 복수의 사용자들 각각의 얼굴이미지로부터 추출된 특징벡터들, 각 특징벡터의 클러스터 식별정보, 및 각 사용자의 식별정보를 갖는 복수개의 어레이로 구성된 어레이 파일과 비교하여 상기 타겟 사용자를 인증하는 인증부를 포함한다.An edge device for comparing face images using a clustering technique according to another aspect of the present invention includes a photographing unit acquiring a photographed image of a target user to be authenticated, and inputting an input image generated based on the photographed image to a face authentication model. A target face recognition unit for extracting target feature vectors, and a plurality of target feature vectors having feature vectors extracted from face images of each of a plurality of users, cluster identification information of each feature vector, and identification information of each user. and an authentication unit for authenticating the target user by comparing the array file with an array file.

본 발명에 따르면, 사용자 특징벡터들을 복수의 클러스터들로 군집화하고, 타겟 특징벡터를 유사도가 높은 클러스터에 속하는 사용자 특징벡터들과만 비교할 수 있다. 이에 따라, 본 발명은 비교 횟수가 크게 감소하여 인증처리 속도를 향상시킬 수 있다.According to the present invention, user feature vectors may be clustered into a plurality of clusters, and target feature vectors may be compared only with user feature vectors belonging to clusters having a high degree of similarity. Accordingly, the present invention can greatly reduce the number of comparisons and improve the authentication processing speed.

도 1은 본 발명의 일 실시예에 따른 얼굴인증 시스템의 구성을 개략적으로 보여주는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 얼굴인식 서버의 구성을 개략적으로 보여주는 블록도이다.
도 3은 도 2의 특징벡터 클러스터링부의 구성을 개략적으로 보여주는 블록도이다.
도 4는 본 발명의 일 실시예에 따른 에지 디바이스의 구성을 개략적으로 보여주는 블록도이다.
도 5는 본 발명의 일 실시예에 따른 얼굴인식 시스템에서 사용자 특징벡터들을 군집화하는 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 얼굴인식 시스템에서 타겟 사용자를 인증하는 방법을 설명하기 위한 흐름도이다.
1 is a block diagram schematically showing the configuration of a face authentication system according to an embodiment of the present invention.
2 is a block diagram schematically showing the configuration of a face recognition server according to an embodiment of the present invention.
FIG. 3 is a block diagram schematically showing the configuration of the feature vector clustering unit of FIG. 2 .
4 is a block diagram schematically showing the configuration of an edge device according to an embodiment of the present invention.
5 is a flowchart illustrating a method of clustering user feature vectors in a face recognition system according to an embodiment of the present invention.
6 is a flowchart illustrating a method of authenticating a target user in a face recognition system according to an embodiment of the present invention.

이하, 첨부되는 도면을 참고하여 본 발명의 실시예들에 대해 상세히 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 명세서에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.The meaning of terms described in this specification should be understood as follows.

단수의 표현은 문맥상 명백하게 다르게 정의하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다.Singular expressions should be understood to include plural expressions unless the context clearly defines otherwise, and terms such as “first” and “second” are used to distinguish one component from another, The scope of rights should not be limited by these terms.

"포함하다" 또는 "가지다" 등의 용어는 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.It should be understood that terms such as "comprise" or "having" do not preclude the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.

"적어도 하나"의 용어는 하나 이상의 관련 항목으로부터 제시 가능한 모든 조합을 포함하는 것으로 이해되어야 한다. 예를 들어, "제1 항목, 제2 항목 및 제 3항목 중에서 적어도 하나"의 의미는 제1 항목, 제2 항목 또는 제3 항목 각각 뿐만 아니라 제1 항목, 제2 항목 및 제3 항목 중에서 2개 이상으로부터 제시될 수 있는 모든 항목의 조합을 의미한다.The term “at least one” should be understood to include all possible combinations from one or more related items. For example, "at least one of the first item, the second item, and the third item" means not only the first item, the second item, or the third item, but also two of the first item, the second item, and the third item. It means a combination of all items that can be presented from one or more.

이하, 첨부되는 도면을 참고하여 본 발명의 실시예들에 대해 상세히 설명하도록 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 얼굴인증 시스템의 구성을 개략적으로 보여주는 블록도이고, 도 2는 본 발명의 일 실시예에 따른 얼굴인식 서버의 구성을 개략적으로 보여주는 블록도이며, 도 3은 도 2의 특징벡터 클러스터링부의 구성을 개략적으로 보여주는 블록도이다. 1 is a block diagram schematically showing the configuration of a face authentication system according to an embodiment of the present invention, FIG. 2 is a block diagram schematically showing the configuration of a face recognition server according to an embodiment of the present invention, FIG. is a block diagram schematically showing the configuration of the feature vector clustering unit in FIG. 2 .

도 1 내지 도 3을 참조하면, 본 발명의 일 실시예에 따른 얼굴인증 시스템(100)은 얼굴인식 서버(110) 및 복수개의 에지 디바이스(120)들을 포함한다.Referring to FIGS. 1 to 3 , a face authentication system 100 according to an embodiment of the present invention includes a face recognition server 110 and a plurality of edge devices 120 .

얼굴인식 서버(110)는 얼굴인식모델을 생성하고, 생성된 얼굴인식모델을 이용하여 사용자 단말기(130)로부터 입력되는 사용자의 얼굴정보로부터 추출된 특징벡터를 이용하여 타겟 사용자의 인증을 위한 어레이 파일(Array File)을 생성한다. 그리고, 얼굴인식 서버(110)는 생성된 어레이 파일을 에지 디바이스(120)로 전송함으로써 에지 디바이스(120)가 타겟 사용자를 인증할 수 있도록 한다.The face recognition server 110 creates a face recognition model, and using the generated face recognition model, an array file for authentication of a target user using a feature vector extracted from the user's face information input from the user terminal 130. (Array File) is created. Then, the face recognition server 110 transmits the generated array file to the edge device 120 so that the edge device 120 can authenticate the target user.

이를 위해, 얼굴인식 서버(110)는 도 2에 도시된 바와 같이 에지 디바이스 관리부(210), 사용자 등록부(220), 사용자 데이터 베이스(222), 입력 이미지 생성부(225), 사용자 얼굴 인식부(230), 얼굴인식모델(235), 특징벡터 클러스터링부(240), 어레이 파일 생성부(245), 출입권한정보 관리부(250), 인터페이스부(270), 얼굴인식모델 트레이닝부(280)를 포함할 수 있다.To this end, the face recognition server 110 includes an edge device management unit 210, a user registration unit 220, a user database 222, an input image generator 225, and a user face recognition unit (as shown in FIG. 2). 230), face recognition model 235, feature vector clustering unit 240, array file generation unit 245, access authority information management unit 250, interface unit 270, face recognition model training unit 280 included. can do.

에지 디바이스 관리부(210)는 각 장소에 설치되어 있는 복수개의 에지 디바이스(120)들의 정보를 에지 디바이스 데이터베이스(219)에 등록한다. 일 실시예에 있어서, 에지 디바이스 관리부(210)는 각 에지 디바이스(120)의 식별정보를 각 에지 디바이스가 설치된 장소와 매핑시켜 에지 디바이스 데이터베이스(219)에 저장할 수 있다. 여기서 에지 디바이스(120)의 식별정보는 제조사 및 시리얼 번호 등을 포함할 수 있다.The edge device management unit 210 registers information on the plurality of edge devices 120 installed in each place in the edge device database 219 . In an embodiment, the edge device management unit 210 may store identification information of each edge device 120 in the edge device database 219 by mapping the location where each edge device is installed. Here, the identification information of the edge device 120 may include a manufacturer and serial number.

한편, 에지 디바이스 관리부(210)는 인터페이스부(270)를 통해 미리 정해진 기간마다 에지 디바이스(120)로부터 인증기록을 수신하고, 수신된 출입기록을 에지 디바이스 정보 데이터베이스(242)에 저장할 수 있다.Meanwhile, the edge device management unit 210 may receive authentication records from the edge device 120 at predetermined intervals through the interface unit 270 and store the received access records in the edge device information database 242.

사용자 등록부(220)는 등록을 희망하는 사용자의 사용자 단말기(130)로부터 하나 이상의 사용자 이미지를 수신한다. 사용자 등록부(220)는 사용자 이미지가 수신되면 해당 사용자가 사용자 이미지와 동일인인지 여부를 확인하고, 동일인인 것으로 판단되면 해당 사용자에게 부여되어 있는 출입권한정보를 획득하여 사용자 이미지와 함께 사용자 데이터 베이스(222)에 등록한다.The user registration unit 220 receives one or more user images from the user terminal 130 of a user who wishes to register. When the user image is received, the user registration unit 220 checks whether the corresponding user is the same person as the user image, and if it is determined that the user image is the same person, obtains information on access rights granted to the corresponding user, and stores the user database 222 together with the user image. ) to register.

입력 이미지 생성부(225)는 사용자 등록부(220)에 의해 입력된 사용자 이미지로부터 얼굴인식에 이용될 입력 이미지를 생성한다. 입력 이미지 생성부(225)는 각각의 사용자 이미지에 대해, 사용자 이미지 상에서 미리 정해진 픽셀크기의 윈도우를 이동시켜가면서 획득되는 복수개의 이미지를 입력 이미지로 생성할 수 있다. 입력 이미지 생성부(225)는 생성된 복수개의 입력 이미지를 얼굴인식부(230)로 입력할 수 있다.The input image generation unit 225 generates an input image to be used for face recognition from the user image input by the user registration unit 220 . The input image generation unit 225 may generate a plurality of images obtained by moving a window having a predetermined pixel size on the user image as an input image for each user image. The input image generation unit 225 may input the generated plurality of input images to the face recognition unit 230 .

사용자 얼굴 인식부(230)는 얼굴인식모델 트레이닝부(280)에 의해 트레이닝된 얼굴인식모델(235)에 입력 이미지 생성부(225)에 의해 생성된 복수개의 입력 이미지를 입력함으로써 얼굴영역이 포함된 사용자 얼굴이미지를 획득한다. 사용자 얼굴 인식부(230)는 획득된 사용자 얼굴이미지로부터 사용자 특징벡터를 추출한다.The user's face recognition unit 230 inputs a plurality of input images generated by the input image generation unit 225 to the face recognition model 235 trained by the face recognition model training unit 280 so that the face region is included. Acquire the user's face image. The user face recognition unit 230 extracts a user feature vector from the obtained user face image.

일 실시예에 있어서 얼굴인식모델(230)은 입력 이미지로부터 얼굴이미지를 추출하는 얼굴이미지 추출부(237), 및 얼굴이미지로부터 특징벡터를 추출하는 특징벡터 추출부(239)를 포함할 수 있다.In an embodiment, the face recognition model 230 may include a face image extractor 237 that extracts a face image from an input image, and a feature vector extractor 239 that extracts a feature vector from the face image.

본 발명에 따른 얼굴이미지 추출부(237)는 컨벌루션 신경망(Convolutional Neural Network: CNN)을 기반으로 구성되어 입력 이미지로부터 얼굴영역이 포함된 얼굴이미지를 추출한다. 이러한 얼굴이미지 추출부(237)는 제1 얼굴탐지부, 제2 얼굴탐지부, 제3 얼굴탐지부, 및 얼굴 이미지 정렬부를 포함할 수 있다.The face image extraction unit 237 according to the present invention is configured based on a convolutional neural network (CNN) and extracts a face image including a face region from an input image. The face image extraction unit 237 may include a first face detection unit, a second face detection unit, a third face detection unit, and a face image alignment unit.

제1 얼굴탐지부는 얼굴인식부(230)에 의해 입력되는 입력 이미지에 컨벌루션 연산을 적용함으로써 각 입력 이미지들의 피쳐를 추출하고, 추출된 피쳐를 기초로 해당 입력 이미지 상에서 얼굴영역을 1차적으로 추출할 수 있다. 이를 위해, 제1 얼굴탐지부는 n개의 컨벌루션 연산부, 샘플링부, 제1 및 제2 차원감소부, 및 제1 확률값 연산부를 포함할 수 있다.The first face detection unit extracts features of each input image by applying a convolution operation to the input image input by the face recognition unit 230, and primarily extracts a face region from the corresponding input image based on the extracted feature. can To this end, the first face detection unit may include n convolution operation units, a sampling unit, first and second dimension reduction units, and a first probability value operation unit.

일 실시예에 있어서, 제1 얼굴탐지부는 3개의 컨벌루션 연산부를 포함할 수 있다. 설명의 편의를 위해 제1 얼굴탐지부가 3개의 컨벌루션 연산부를 포함하는 것으로 설명하지만, 이는 하나의 예일 뿐 제1 얼굴탐지부는 4개 이상의 컨벌루션 연산부를 포함하거나 1개 또는 2개의 컨벌루션 연산부를 포함할 수도 있을 것이다.In one embodiment, the first face detection unit may include three convolution operation units. For convenience of explanation, it is described that the first face detection unit includes three convolution operation units, but this is only an example, and the first face detection unit may include four or more convolution operation units, or one or two convolution operation units. There will be.

n개의 컨벌루션 연산부 각각은 입력되는 이미지에 컨벌루션 필터를 적용하여 피쳐맵을 생성하고, 생성된 피쳐맵에 활성화 함수를 적용함으로써 피쳐맵에 비선형적 특성을 반영한다. 이때, 제1 내지 제3 컨벌루션 연산부에 적용되는 컨벌루션 필터는 서로 상이한 필터일 수 있다.Each of the n convolution operation units generates a feature map by applying a convolution filter to an input image, and reflects nonlinear characteristics to the feature map by applying an activation function to the generated feature map. In this case, the convolution filters applied to the first to third convolution operation units may be different from each other.

일 실시예에 있어서, 제1 내지 제3 컨벌루션 연산부에서 이용되는 활성화함수는 피쳐맵의 픽셀값들 중 양의 값은 그대로 출력하고 음의 값은 미리 정해진 크기만큼 감소된 값으로 출력하는 활성화 함수일 수 있다. 여기서, 활성화 함수란 복수의 입력정보에 가중치를 부여하여 결합해 완성된 결과값을 출력하는 함수를 의미한다.In one embodiment, the activation function used in the first to third convolution operation units may be an activation function that outputs positive values of pixel values of the feature map as they are and outputs negative values as values reduced by a predetermined size. there is. Here, the activation function means a function that outputs a completed result value by assigning a weight to a plurality of input information and combining them.

샘플링부는 제1 컨벌루션 연산부로부터 출력되는 피쳐맵에 샘플링 필터를 적용하여 피쳐맵으로부터 특징값을 추출한다. 일 실시예에 있어서, 샘플링부는 피쳐맵 상에서 샘플링 필터에 상응하는 영역에 포함된 픽셀값들 중 최대값을 피쳐맵의 특징값으로 추출할 수 있다. 이러한 실시예에 따르는 경우 샘플링부는 맥스 풀링(Max Pooling) 레이어로 구현될 수 있고, 맥스 풀링 레이어를 통해 피쳐맵의 차원이 감소된다. 샘플링부는 차원이 감소된 피쳐맵을 제2 컨벌루션 연산부로 입력한다.The sampling unit extracts feature values from the feature map by applying a sampling filter to the feature map output from the first convolution operation unit. In an embodiment, the sampling unit may extract, as a feature value of the feature map, a maximum value among pixel values included in a region corresponding to a sampling filter on the feature map. According to this embodiment, the sampling unit may be implemented as a max pooling layer, and the dimensionality of the feature map is reduced through the max pooling layer. The sampling unit inputs the dimension-reduced feature map to the second convolution operation unit.

제1 차원감소부는 제3 컨벌루션 연산부에서 출력되는 피쳐맵에 제1 차원감소 필터를 적용함으로써 제3 컨벌루션 연산부에서 출력되는 피쳐맵의 차원을 감소시킨다. 일 실시예에 있어서 제1 차원감소 필터는 피쳐맵을 2차원으로 감소시킬 수 있는 필터로 설정될 수 있다.The first dimension reduction unit reduces the dimensionality of the feature map output from the third convolution operation unit by applying a first dimension reduction filter to the feature map output from the third convolution operation unit. In one embodiment, the first dimensionality reduction filter may be set as a filter capable of reducing a feature map to two dimensions.

제1 확률값 연산부는 제1 차원감소부에 의해서 출력되는 2차원의 출력 데이터에 미리 정해진 분류함수를 적용함으로써 해당 입력 이미지에 얼굴영역이 포함되어 있는지 여부에 대한 제1 확률값을 계산한다. 일 실시예에 있어서, 제1 확률값 연산부는 산출된 제1 확률값이 제1 문턱값 이상이면 입력 이미지에 얼굴영역이 포함되어 있는 것으로 판단할 수 있다.The first probability calculation unit calculates a first probability value as to whether or not the face region is included in the corresponding input image by applying a predetermined classification function to the 2-dimensional output data output by the first dimension reduction unit. In an embodiment, the first probability value calculation unit may determine that the face region is included in the input image when the calculated first probability value is greater than or equal to the first threshold value.

제2 차원감소부는 제1 확률값 연산부에 의해 산출된 제1 확률값이 제1 문턱값 이상인 경우 제3 컨벌루션 연산부에서 출력되는 피쳐맵에 제2 차원감소 필터를 적용함으로써 제3 컨벌루션 연산부에서 출력되는 피쳐맵의 차원을 감소시킨다. 일 실시예에 있어서 제2 차원감소 필터는 피쳐맵을 4차원으로 감소시킬 수 있는 필터로 설정될 수 있고, 제2 차원 감소부는 4차원으로 출력되는 4개의 값을 해당 입력 이미지 상에서의 얼굴영역 좌표로 결정한다. 이때, 얼굴영역의 좌표는 얼굴이 포함된 영역을 사각형 형태의 바운딩 박스(Bounding Box)로 표시하였을 때 좌측 상단 꼭지점의 좌표와 우측 하단 꼭지점의 좌표로 정의되거나, 우측상단 꼭지점의 좌표와 좌측 하단 꼭지점의 좌표로 정의될 수 있다.The second dimensionality reduction unit applies a second dimensionality reduction filter to the feature map output from the third convolution operation unit when the first probability value calculated by the first probability value operation unit is equal to or greater than the first threshold, and thereby the feature map output from the third convolution operation unit. reduces the dimension of In an embodiment, the second dimension reduction filter may be set as a filter capable of reducing a feature map to a 4-dimensional dimension, and the 2-dimensional reduction unit converts four values output in 4 dimensions to coordinates of the face region on a corresponding input image. to decide At this time, the coordinates of the face area are defined as the coordinates of the upper left vertex and the lower right vertex when the area including the face is displayed as a rectangular bounding box, or the coordinates of the upper right vertex and the lower left vertex It can be defined as the coordinates of

제2 얼굴탐지부는 제1 얼굴탐지부에 의해 얼굴영역이 포함된 것으로 판단된 입력 이미지들 및 해당 입력 이미지들 상에서의 얼굴영역의 좌표를 입력 받고, 해당 입력 이미지들 상에서 얼굴영역의 좌표에 해당하는 제1 서브 입력 이미지들에 컨벌루션 연산을 적용함으로써 제1 서브 입력 이미지들의 피쳐를 추출하고, 추출된 피쳐를 기초로 제1 서브 입력 이미지들 상에서 얼굴영역을 2차적으로 추출한다.The second face detection unit receives input images determined to include the face area by the first face detection unit and the coordinates of the face area on the corresponding input images, and receives input images corresponding to the coordinates of the face area on the corresponding input images. A feature of the first sub-input images is extracted by applying a convolution operation to the first sub-input images, and a face region is secondarily extracted from the first sub-input images based on the extracted feature.

이를 위해, 제2 얼굴탐지부는 n개의 컨벌루션 연산부, 제2 내지 제3 샘플링부, 제1 차원증가부, 제3 및 제4 차원감소부, 및 제2 확률값 연산부를 포함한다.To this end, the second face detection unit includes n convolution operation units, second to third sampling units, a first dimension increasing unit, third and fourth dimension reducing units, and a second probability value calculating unit.

일 실시예에 있어서, 제2 얼굴탐지부는 3개의 컨벌루션 연산부를 포함할 수 있다. 설명의 편의를 위해 제2 얼굴탐지부가 3개의 컨벌루션 연산부를 포함하는 것으로 설명하지만, 이는 하나의 예일 뿐 제2 얼굴탐지부는 제1 얼굴탐지부에 포함된 컨벌루션 연산부의 개수 이상의 컨벌루션 연산부를 포함할 수 있다.In one embodiment, the second face detection unit may include three convolution operation units. For convenience of explanation, it is described that the second face detection unit includes three convolution operation units, but this is only an example. The second face detection unit may include more than the number of convolution operation units included in the first face detection unit. there is.

제4 내지 제6 컨벌루션 연산부 각각은 입력되는 이미지에 컨벌루션 필터를 적용하여 피쳐맵을 생성하고, 생성된 피쳐맵에 활성화 함수를 적용함으로써 피쳐맵에 비선형적 특성을 반영한다. 일 실시예에 있어서, 제4 내지 제6 컨벌루션 연산부가 이용하는 활성화 함수는 피쳐맵의 픽셀값들 중 양의 값은 그대로 출력하고 음의 값은 미리 정해진 크기만큼 감소된 값으로 출력하는 활성화 함수일 수 있다.Each of the fourth to sixth convolution operation units generates a feature map by applying a convolution filter to an input image, and reflects nonlinear characteristics to the feature map by applying an activation function to the generated feature map. In one embodiment, the activation function used by the fourth to sixth convolution operators may be an activation function that outputs positive values of the pixel values of the feature map as they are and outputs negative values as values reduced by a predetermined size. .

제2 샘플링부는 제4 컨벌루션 연산부로부터 출력되는 피쳐맵에 샘플링 필터를 적용하여 해당 피쳐맵에서 특징값을 추출하고, 제3 샘플링부는 제5 컨벌루션 연산부로부터 출력되는 피쳐맵에 샘플링 필터를 적용하여 해당 피쳐맵에서 특징값을 추출한다. 일 실시예에 있어서, 제2 및 제3 샘플링부는 각각의 피쳐맵 상에서 샘플링 필터에 상응하는 영역에 포함된 픽셀값들 중 최대값을 피쳐맵의 특징값으로 추출할 수 있다. 이러한 실시예에 따르는 경우 제2 및 제3 샘플링부는 맥스풀링 레이어로 구현될 수 있고, 맥스풀링 레이어를 통해 각 피쳐맵의 차원이 감소된다.The second sampling unit applies a sampling filter to the feature map output from the fourth convolution operation unit to extract feature values from the corresponding feature map, and the third sampling unit applies the sampling filter to the feature map output from the fifth convolution operation unit to extract the corresponding feature. Extract feature values from the map. In an embodiment, the second and third sampling units may extract a maximum value among pixel values included in a region corresponding to a sampling filter on each feature map as a feature value of the feature map. According to this embodiment, the second and third sampling units may be implemented as a max pooling layer, and the dimension of each feature map is reduced through the max pooling layer.

제1 차원증가부는 제6 컨벌루션 연산부에서 출력되는 피쳐맵이 미리 정해진 크기의 차원을 갖도록 복수개의 노드들을 이용하여 피쳐맵의 차원을 증가시킨다. 일 실시예에 있어서, 제1 차원증가부는 제6 컨벌루션 연산부에서 출력되는 피쳐맵이 128*128의 크기를 갖거나 256*256의 크기를 갖도록 차원을 증가시킬 수 있다.The first dimension increasing unit increases the dimensionality of the feature map output from the sixth convolution operator by using a plurality of nodes so that the feature map has a dimension of a predetermined size. In one embodiment, the first dimension increasing unit may increase the dimension of the feature map output from the sixth convolution operation unit to have a size of 128*128 or 256*256.

제1 차원 증가부는 차원이 증가된 피쳐맵에 활성화 함수를 적용함으로써 차원이 증가된 피쳐맵에 비선형적 특정을 반영한다. 일 실시예에 있어서, 제1 차원 증가부는 피쳐맵의 픽셀값들 중 양의 값은 그대로 출력하고 음의 값은 미리 정해진 크기만큼 감소된 값으로 출력하는 활성화함수를 적용하여 피쳐맵에 비선형적 특성을 반영할 수 있다.The first dimension increasing unit applies an activation function to the dimensionally increased feature map to reflect nonlinear characteristics to the dimensionally increased feature map. In one embodiment, the first dimension increaser applies an activation function that outputs positive values of pixel values of the feature map as they are and outputs negative values as values reduced by a predetermined size, thereby providing nonlinear characteristics to the feature map. can reflect

제3 차원감소부는 제1 차원 증가부에서 출력되는 피쳐맵에 제3 차원감소 필터를 적용함으로써 제1 차원 증가부에서 출력되는 피쳐맵의 차원을 감소시킨다. 일 실시예에 있어서 제3 차원감소 필터는 피쳐맵을 2차원으로 감소시킬 수 있는 필터로 설정될 수 있다.The third dimension reduction unit reduces the dimensionality of the feature map output from the first dimension augmentation unit by applying a third dimension reduction filter to the feature map output from the first dimension augmentation unit. In one embodiment, the 3rd dimension reduction filter may be set as a filter capable of reducing a feature map to 2D.

제2 확률값 연산부는 제3 차원 감소부에 의해서 출력되는 2차원의 출력 데이터에 미리 정해진 분류함수를 적용함으로써 해당 제1 서브 입력 이미지에 얼굴영역이 포함되어 있는지 여부에 대한 제2 확률값을 계산한다. 일 실시예에 있어서, 제2 확률값 연산부는 산출된 제2 확률값이 제1 문턱값보다 큰 제2 문턱값 이상이면 해당 제1 서브 입력이미지에 얼굴영역이 포함된 것으로 판단할 수 있다.The second probability calculation unit calculates a second probability value for whether or not the face region is included in the corresponding first sub-input image by applying a predetermined classification function to the 2-dimensional output data output by the 3-dimensional reduction unit. In an embodiment, the second probability calculator may determine that the face region is included in the first sub input image when the calculated second probability value is greater than or equal to a second threshold value greater than the first threshold value.

제4 차원 감소부는 제2 확률값 연산부에 의해 산출된 제2 확률값이 제2 문턱값 이상인 경우 제1 차원 증가부에서 출력되는 피쳐맵에 제4 차원감소 필터를 적용함으로써 제1 차원 증가부에서 출력되는 피쳐맵의 차원을 감소시킨다. 일 실시예에 있어서 제4 차원감소 필터는 피쳐맵을 4차원으로 감소시킬 수 있는 필터로 설정될 수 있고, 제4 차원 감소부는 4차원으로 출력되는 4개의 값을 해당 제1 서브 입력 이미지 상에서의 얼굴영역 좌표로 결정한다. 이때, 얼굴영역의 좌표는 얼굴이 포함된 영역을 사각형 형태의 바운딩 박스로 표시하였을 때 좌측 상단 꼭지점의 좌표와 우측 하단 꼭지점의 좌표로 정의되거나, 우측상단 꼭지점의 좌표와 좌측 하단 꼭지점의 좌표로 정의될 수 있다.The fourth-dimensional reducer applies a fourth-dimensional reduction filter to the feature map output from the first-dimensional increaser when the second probability value calculated by the second probability value calculation unit is equal to or greater than the second threshold, thereby outputting the output from the first-dimensional increaser. Reduce the dimensionality of feature maps. In an embodiment, the 4th dimension reduction filter may be set as a filter capable of reducing the feature map to 4D, and the 4th dimension reduction unit converts the 4 values output in 4D to the corresponding first sub input image. It is determined by the coordinates of the face area. At this time, the coordinates of the face area are defined as the coordinates of the upper left vertex and the lower right vertex when the area including the face is displayed as a rectangular bounding box, or the coordinates of the upper right vertex and the lower left vertex. It can be.

제3 얼굴탐지부는 제2 얼굴탐지부에 의해 얼굴영역이 포함된 것으로 판단된 제1 서브 입력 이미지들 및 해당 제1 서브 입력 이미지들 상에서의 얼굴영역의 좌표를 입력 받고, 해당 제1 서브 입력 이미지들 상에서 얼굴영역의 좌표에 해당하는 제2 서브 입력 이미지들에 컨벌루션 연산을 적용함으로써 제2 서브 입력 이미지들의 피쳐를 추출하고, 추출된 피쳐를 기초로 제2 서브 입력 이미지들 상에서 얼굴영역을 3차적으로 추출한다.The third face detection unit receives the coordinates of the face area on the first sub-input images determined to include the face area by the second face detection unit and the corresponding first sub-input images, and receives the corresponding first sub-input image A feature of the second sub-input images is extracted by applying a convolution operation to the second sub-input images corresponding to the coordinates of the face area on the , and the face area is formed on the second sub-input images in a third order based on the extracted feature. extract with

이를 위해, 제3 얼굴탐지부는 n+1개의 컨벌루션 연산부, 제4 내지 제6 샘플링부, 제2 차원증가부, 제5 내지 제6 차원감소부, 및 제3 확률값 연산부를 포함한다.To this end, the third face detection unit includes n+1 convolution operation units, fourth to sixth sampling units, a second dimension increasing unit, a fifth to sixth dimension reducing unit, and a third probability value calculating unit.

일 실시예에 있어서, 제3 얼굴탐지부는 4개의 컨벌루션 연산부를 포함할 수 있다. 설명의 편의를 위해 제3 얼굴탐지부가 4개의 컨벌루션 연산부를 포함하는 것으로 설명하지만, 이는 하나의 예일 뿐 제3 얼굴탐지부는 제2 얼굴탐지부에 포함된 컨벌루션 연산부의 개수 이상의 컨벌루션 연산부를 포함한다면 그 개수에는 제한이 없을 수 있다.In one embodiment, the third face detection unit may include four convolution operation units. For convenience of explanation, it is described that the third face detection unit includes four convolution operation units, but this is only an example if the third face detection unit includes more than the number of convolution operation units included in the second face detection unit. The number may be unlimited.

제7 내지 제10 컨벌루션 연산부 각각은 입력되는 이미지에 컨벌루션 필터를 적용하여 피쳐맵을 생성하고, 생성된 피쳐맵에 활성화 함수를 적용함으로써 피쳐맵에 비선형적 특성을 반영한다. 일 실시예에 있어서, 제7 내지 제10 컨벌루션 연산부가 이용하는 활성화 함수는 피쳐맵의 픽셀값들 중 양의 값은 그대로 출력하고 음의 값은 미리 정해진 크기만큼 감소된 값으로 출력하는 활성화 함수일 수 있다.Each of the seventh to tenth convolution operation units generates a feature map by applying a convolution filter to an input image, and applies an activation function to the generated feature map to reflect nonlinear characteristics to the feature map. In one embodiment, the activation function used by the seventh to tenth convolution operators may be an activation function that outputs positive values of the pixel values of the feature map as they are and outputs negative values as values reduced by a predetermined size. .

제4 샘플링부는 제7 컨벌루션 연산부로부터 출력되는 피쳐맵에 샘플링 필터를 적용하여 해당 피쳐맵에서 특징값을 추출하고, 제5 샘플링부는 제8 컨벌루션 연산부로부터 출력되는 피쳐맵에 샘플링 필터를 적용하여 해당 피쳐맵에서 특징값을 추출하며, 제6 샘플링부는 제9 컨벌루션 연산부로부터 출력되는 피쳐맵에 샘플링 필터를 적용하여 해당 피쳐맵에서 특징값을 추출한다. 일 실시예에 있어서, 제4 내지 제6 샘플링부는 각각의 피쳐맵 상에서 샘플링 필터에 상응하는 영역에 포함된 픽셀값들 중 최대값을 피쳐맵의 특징값으로 추출할 수 있다. 이러한 실시예에 따르는 경우 제4 내지 제6 샘플링부는 맥스풀링 레이어로 구현될 수 있고, 맥스풀링 레이어를 통해 각 피쳐맵의 차원이 감소된다.The fourth sampling unit applies a sampling filter to the feature map output from the seventh convolution operation unit to extract feature values from the corresponding feature map, and the fifth sampling unit applies the sampling filter to the feature map output from the eighth convolution operation unit to extract the corresponding feature. Feature values are extracted from the map, and the sixth sampling unit extracts feature values from the corresponding feature map by applying a sampling filter to the feature map output from the ninth convolution operation unit. In one embodiment, the fourth to sixth sampling units may extract a maximum value among pixel values included in a region corresponding to a sampling filter on each feature map as a feature value of the feature map. According to this embodiment, the fourth to sixth sampling units may be implemented as a max pooling layer, and the dimension of each feature map is reduced through the max pooling layer.

제2 차원 증가부는 제10 컨벌루션 연산부에서 출력되는 피쳐맵이 미리 정해진 크기의 차원을 갖도록 복수개의 노드들을 이용하여 피쳐맵의 차원을 증가시킨다. 일 실시예에 있어서, 제2 차원 증가부는 제10 컨벌루션 연산부에서 출력되는 피쳐맵이 128*128의 크기를 갖거나 256*256의 크기를 갖도록 차원을 증가시킬 수 있다.The second dimension increaser increases the dimension of the feature map output from the tenth convolution operator by using a plurality of nodes so that the feature map has a dimension of a predetermined size. In one embodiment, the second dimension increaser may increase the dimensionality of the feature map output from the tenth convolution operator to have a size of 128*128 or 256*256.

제2 차원 증가부는 차원이 증가된 피쳐맵에 활성화 함수를 적용함으로써 차원이 증가된 피쳐맵에 비선형적 특정을 반영한다. 일 실시예에 있어서, 제2 차원 증가부는 피쳐맵의 픽셀값들 중 양의 값은 그대로 출력하고 음의 값은 미리 정해진 크기만큼 감소된 값으로 출력하는 활성화 함수를 적용하여 피쳐맵에 비선형적 특성을 반영할 수 있다.The second dimension increasing unit applies an activation function to the dimensionally increased feature map to reflect nonlinear characteristics to the dimensionally increased feature map. In one embodiment, the second dimension increaser applies an activation function that outputs positive values of pixel values of the feature map as they are and outputs negative values as values reduced by a predetermined size, thereby providing nonlinear characteristics to the feature map. can reflect

제5 차원 감소부는 제2 차원 증가부에서 출력되는 피쳐맵에 제5 차원감소 필터를 적용함으로써 제2 차원 증가부에서 출력되는 피쳐맵의 차원을 감소시킨다. 일 실시예에 있어서 제5 차원감소 필터는 피쳐맵을 2차원으로 감소시킬 수 있는 필터로 설정될 수 있다.The fifth dimension reducer reduces the dimensionality of the feature map output from the second dimension increaser by applying a fifth dimension reduction filter to the feature map output from the second dimension increaser. In one embodiment, the fifth dimension reduction filter may be set as a filter capable of reducing a feature map to two dimensions.

제3 확률값 연산부는 제5 차원 감소부에 의해서 출력되는 2차원의 출력 데이터에 미리 정해진 분류함수를 적용함으로써 해당 제2 서브 입력 이미지에 얼굴영역이 포함되어 있는지 여부에 대한 제3 확률값을 계산한다. 일 실시예에 있어서, 제3 확률값 연산부는 산출된 제3 확률값이 제2 문턱값보다 큰 제3 문턱값 이상이면 해당 제2 서브 입력이미지에 얼굴영역이 포함된 것으로 판단한다.The third probability value calculation unit calculates a third probability value for whether or not the face region is included in the corresponding second sub-input image by applying a predetermined classification function to the 2-dimensional output data output by the 5-dimensional reduction unit. In an embodiment, the third probability calculation unit determines that the second sub input image includes the face region when the calculated third probability value is greater than or equal to a third threshold value greater than the second threshold value.

제6 차원 감소부는 제3 확률값 연산부에 의해 산출된 제3 확률값이 제3 문턱값 이상인 경우 제2 차원 증가부에서 출력되는 피쳐맵에 제6 차원감소 필터를 적용함으로써 제2 차원 증가부에서 출력되는 피쳐맵의 차원을 감소시킨다. 일 실시예에 있어서 제6 차원감소 필터는 피쳐맵을 4차원으로 감소시킬 수 있는 필터로 설정될 수 있고, 제6 차원 감소부는 4차원으로 출력되는 4개의 값을 해당 제2 서브 입력 이미지 상에서의 얼굴영역 좌표로 결정한다. 이때, 얼굴영역의 좌표는 얼굴이 포함된 영역을 사각형 형태의 바운딩 박스로 표시하였을 때 좌측 상단 꼭지점의 좌표와 우측 하단 꼭지점의 좌표로 정의되거나, 우측상단 꼭지점의 좌표와 좌측 하단 꼭지점의 좌표로 정의될 수 있다.The sixth dimension reduction unit applies a sixth dimension reduction filter to the feature map output from the second dimension increase unit when the third probability value calculated by the third probability value calculation unit is equal to or greater than the third threshold value, thereby outputting the output from the second dimension increase unit. Reduce the dimensionality of feature maps. In an embodiment, the 6th dimension reduction filter may be set as a filter capable of reducing a feature map to 4D, and the 6th dimension reduction unit converts four values output in 4D to a corresponding second sub input image. It is determined by the coordinates of the face area. At this time, the coordinates of the face area are defined as the coordinates of the upper left vertex and the lower right vertex when the area including the face is displayed as a rectangular bounding box, or the coordinates of the upper right vertex and the lower left vertex. It can be.

제6 차원 감소부는 산출된 얼굴영역 좌표를 이용하여 얼굴영역이 포함된 것으로 판단된 제2 서브 입력 이미지 상에서 얼굴 이미지를 추출한다.The sixth dimension reducer extracts a face image from the second sub input image determined to include the face region using the calculated coordinates of the face region.

제7 차원 감소부는 제3 확률값 연산부에 의해 산출된 제3 확률값이 제3 문턱값 이상인 경우 제2 차원 증가부에서 출력되는 피쳐맵에 제7 차원감소 필터를 적용함으로써 제2 차원 증가부에서 출력되는 피쳐맵의 차원을 감소시킨다. 일 실시예에 있어서 제7 차원감소 필터는 피쳐맵을 10차원으로 감소시킬 수 있는 필터로 설정될 수 있고, 제7 차원 감소부는 10차원으로 출력되는 10개의 값을 해당 제2 서브 입력 이미지 상에서의 랜드마크 좌표로 결정한다. 이때, 랜드마크 좌표는 제2 서브 입력 이미지 상에서의 2개의 눈의 좌표, 코의 좌표, 2개의 입의 좌표를 의미하고, 2개의 입의 좌표는 입의 좌측 꼬리에 대한 좌표 및 입의 우측 꼬리에 대한 좌표를 의미한다.The 7th-dimensional reducer applies a 7th-dimensional reduction filter to the feature map output from the 2nd-dimensional increaser when the third probability value calculated by the 3rd probability value calculator is equal to or greater than the third threshold, thereby outputting the output from the 2nd-dimensional increaser. Reduce the dimensionality of feature maps. In an embodiment, the 7th dimension reduction filter may be set as a filter capable of reducing a feature map to 10 dimensions, and the 7th dimension reduction unit converts 10 values output in 10 dimensions to a corresponding second sub input image. Determined by landmark coordinates. At this time, the landmark coordinates mean the coordinates of the two eyes, the coordinates of the nose, and the coordinates of the two mouths on the second sub-input image, and the coordinates of the two mouths are the coordinates of the left tail of the mouth and the right tail of the mouth. means the coordinates for

이와 같이, 본 발명에 따르면 얼굴이미지 추출부(237)가 제1 내지 제3 얼굴탐지부로 구현되고, 제1 얼굴탐지부는 제2 얼굴탐지부에 비해 얕은(Shallow) 뎁스의 네트워크로 구성되고, 제2 얼굴탐지부는 제3 얼굴탐지부에 비해 얕은 뎁스의 네트워크로 구성됨으로써 얼굴이미지 추출부가 전체적으로 Shallow-to-Deep구조로 단계적인 형태로 형성되도록 한다. 이를 통해, 얼굴이미지 추출의 정확도를 향상시킴과 동시에 복잡도를 감소시킴으로써 얼굴인식 속도 측면에서 이득을 취할 수 있게 된다.As such, according to the present invention, the face image extraction unit 237 is implemented as first to third face detection units, and the first face detection unit is composed of a shallower depth network than the second face detection unit. The second face detection unit is composed of a network with a shallower depth than the third face detection unit, so that the face image extraction unit is formed in a stepwise form in a shallow-to-deep structure as a whole. Through this, it is possible to obtain a benefit in terms of face recognition speed by improving the accuracy of face image extraction and reducing complexity at the same time.

얼굴 이미지 정렬부는 제3 얼굴탐지부에서 출력된 랜드마크 좌표를 이용하여 얼굴이미지를 정렬한다. 구체적으로, 얼굴 이미지 정렬부는 추출된 얼굴이미지에 대한 랜드마크 좌표를 이용하여 얼굴이미지에 대해 회전, 평행이동, 확대 및 축소 중 적어도 하나를 수행하여 얼굴이미지를 정렬한다.The face image alignment unit aligns the face images using the landmark coordinates output from the third face detection unit. Specifically, the face image aligning unit aligns the face image by performing at least one of rotation, translation, enlargement, and reduction of the face image using landmark coordinates of the extracted face image.

본 발명에서 얼굴 이미지 정렬부를 이용하여 얼굴이미지를 정렬하는 이유는 특징벡터 추출부(239)에 입력으로 제공될 얼굴이미지에 일관성을 부여함으로써 얼굴인식 성능을 향상시키기 위함이다.The reason for aligning the face images using the face image aligning unit in the present invention is to improve the face recognition performance by giving consistency to the facial images to be provided as input to the feature vector extracting unit 239 .

일 실시예에 있어서, 얼굴 이미지 정렬부는 제3 얼굴탐지부에 의해 추출된 얼굴이미지를 특징벡터 추출부(239)에서 이용되는 얼굴이미지와 동일한 해상도로 리사이징(Resizing)할 수 있다. 그리고, 얼굴 이미지 정렬부는 특징벡터 추출부(239)에서 이용되는 해상도의 얼굴이미지에 대한 기준 랜드마크 좌표를 기준으로 제3 얼굴탐지부에 의해 산출된 랜드마크 좌표를 이동시킴으로써 얼굴이미지를 회전, 평행이동, 확대 또는 축소시킬 수 있다.In an embodiment, the face image arranging unit may resize the face image extracted by the third face detection unit to have the same resolution as the face image used in the feature vector extraction unit 239 . Then, the face image alignment unit rotates and parallelizes the face image by moving the landmark coordinates calculated by the third face detection unit based on the reference landmark coordinates of the face image of the resolution used in the feature vector extraction unit 239. It can be moved, enlarged or reduced.

특징벡터 추출부(239)는 얼굴이미지 추출부(237)로부터 얼굴이미지가 입력되면, 해당 얼굴이미지에 포함된 얼굴로부터 특징벡터를 추출한다. 이를 위하여, 특징벡터 추출부(239)는 복수개의 얼굴이미지 처리부 및 특징벡터 생성부를 포함한다.When a face image is input from the face image extractor 237, the feature vector extractor 239 extracts a feature vector from a face included in the corresponding face image. To this end, the feature vector extraction unit 239 includes a plurality of face image processing units and a feature vector generation unit.

복수개의 얼굴이미지 처리부는 입력 데이터를 영상 처리하여 출력 데이터를 생성한다. 이때, 복수개의 얼굴이미지 처리부 중 1 번째 얼굴이미지 처리부에는 입력 이미지로써 얼굴이미지 추출부(237)로부터 출력되는 얼굴이미지가 입력되고, g+1번째 얼굴이미지 처리부에는 입력 이미지로써 g번재 얼굴이미지 처리부의 출력 데이터가 입력된다. A plurality of face image processors image-process input data to generate output data. At this time, the face image output from the face image extraction unit 237 is input as an input image to the first face image processing unit among the plurality of face image processing units, and the g+1th face image processing unit receives the input image from the g-th face image processing unit. Output data is input.

복수개의 얼굴이미지 처리부의 기능 및 세부구성은 동일하므로 이하에서는 복수개의 얼굴이미지 처리부들 중 하나의 얼굴이미지 처리부에 대해 예시적으로 설명한다.Since the functions and detailed configurations of the plurality of face image processing units are the same, one face image processing unit among the plurality of face image processing units will be exemplarily described below.

얼굴이미지 처리부는 입력 데이터(얼굴이미지 또는 이전 얼굴이미지 처리부의 출력 데이터임)에 대해 컨벌루션 연산을 수행하여 피쳐맵을 생성하는 제1 유닛, 제1 유닛에 의해 생성된 피쳐맵에 가중치를 부여하는 제2 유닛, 및 연산부으로 구성된다.The face image processing unit first unit generates a feature map by performing a convolution operation on input data (a face image or output data of a previous face image processing unit), and a second unit assigns weights to the feature map generated by the first unit. It consists of 2 units, and an arithmetic unit.

제1 유닛은 정규화부, 제1 컨벌루션 연산부 및 비선형화부를 포함한다.The first unit includes a normalization unit, a first convolution operation unit and a non-linearization unit.

정규화부는 얼굴이미지 추출부로부터 입력되는 얼굴이미지들을 배치(Batch)단위로 정규화한다. 배치란 한번에 처리할 얼굴이미지들의 개수단위를 의미한다. 정규화부가 배치단위로 정규화를 수행하는 이유는 배치 단위로 정규화를 수행하게 되면 각 얼굴 이미지에 대한 평균 및 분산이 배치 전체에 대한 평균 및 분산과 다를 수 있는데 이러한 특징이 일종의 노이즈로 작용하게 되어 전체적인 성능이 향상될 수 있기 때문이다.The normalization unit normalizes the face images input from the face image extraction unit in batch units. A batch means a unit of the number of face images to be processed at one time. The reason why the normalizer performs normalization in batches is that when normalization is performed in batches, the average and variance for each face image may be different from the average and variance for the entire batch, and these features act as a kind of noise, resulting in overall performance because it can be improved.

또한, 배치 정규화를 통해 네트워크의 각 층마다 입력의 분포(Distribution)가 일관성 없이 바뀌는 내부 공분산 이동(Internal Covariance Shift) 현상에 의해 학습의 복잡성이 증가하고 그라디언트 소멸 또는 폭발(Gradient Vanishing or Exploding)이 일어나는 것을 방지할 수 있게 되기 때문이다. In addition, through batch normalization, the internal covariance shift phenomenon in which the distribution of inputs in each layer of the network changes inconsistently increases the complexity of learning and causes gradient vanishing or exploding. because it can be prevented.

제1 컨벌루션 연산부는 정규화부에 의해 정규화된 얼굴이미지에 대해 제1 컨벌루션 필터를 적용하여 제1 피쳐맵을 생성한다. 일 실시예에 있어서, 제1 컨벌루션 연산부는 3*3 픽셀크기를 갖고 스트라이드(Stride)의 값이 1인 제1 컨벌루션 필터를 얼굴이미지에 적용하여 제1 피쳐맵을 생성할 수 있다. 이와 같이, 본 발명에 따른 제1 컨벌루션 연산부는 3*3 픽셀크기를 갖고 스트라이드 값이 1인 제1 컨벌루션 필터를 얼굴이미지에 적용하기 때문에 제1 피쳐맵의 해상도를 높게 보존할 수 있게 된다.The first convolution operation unit generates a first feature map by applying a first convolution filter to the face image normalized by the normalization unit. In one embodiment, the first convolution operation unit may generate a first feature map by applying a first convolution filter having a pixel size of 3*3 and having a stride value of 1 to the face image. As described above, since the first convolution operation unit according to the present invention applies a first convolution filter having a pixel size of 3*3 and a stride value of 1 to the face image, the resolution of the first feature map can be kept high.

비선형화부는 제1 피쳐맵에 활성화 함수를 적용함으로써 제1 피쳐맵에 비선형적 특성을 부여한다. 일 실시예에 있어서, 비선형화부는 제1 피쳐맵의 픽셀값들 중 양의 픽셀값을 동일하게 출력하고 음의 픽셀값은 그 크기를 감소시켜 출력하는 활성화 함수를 제1 피쳐맵에 적용함으로써 제1 피쳐맵에 비선형적 특성을 부여할 수 있다. The non-linearization unit imparts non-linear characteristics to the first feature map by applying an activation function to the first feature map. In an embodiment, the non-linearization unit applies an activation function to the first feature map that outputs positive pixel values equally among pixel values of the first feature map and outputs negative pixel values by reducing their size. 1 Nonlinear characteristics can be assigned to feature maps.

비선형화부가 제1 컨벌루션 연산부에 의해 생성된 제1 피쳐맵에 비선형적 특성을 부여하는 것으로 설명하였다. 하지만, 변형된 실시예에 있어서 정규화부는 제1 컨벌루션 연산부에 의해 생성된 제1 피쳐맵들을 배치단위로 추가로 정규화할 수도 있다. 이러한 실시예에 따르는 경우 정규화부는 정규화된 제1 피쳐맵을 비선형화부로 제공하고, 비선형화부는 정규화된 제1 피쳐맵에 활성화 함수를 적용함으로써 정규화된 제1 피쳐맵에 비선형적 특성을 부여할 수 있다.It has been described that the nonlinearization unit imparts nonlinear characteristics to the first feature map generated by the first convolution operation unit. However, in a modified embodiment, the normalizer may further normalize the first feature maps generated by the first convolution operator in batch units. According to this embodiment, the normalization unit may provide the normalized first feature map to the non-linearization unit, and the non-linearization unit may apply an activation function to the normalized first feature map to impart nonlinear characteristics to the normalized first feature map. there is.

한편, 상술한 실시예에 있어서 제1 유닛은 제1 컨벌루션 연산부만을 포함하는 것으로 설명하였다. 하지만, 변형된 실시예에 있어서 제1 유닛은 제2 컨벌루션 연산부를 더 포함할 수 있다.Meanwhile, in the above-described embodiment, the first unit has been described as including only the first convolution operation unit. However, in a modified embodiment, the first unit may further include a second convolution operator.

구체적으로, 제2 컨벌루션 연산부는 비선형화부에 의해 비선형적 특성이 부여된 제1 피쳐맵에 제2 컨벌루션 필터를 적용하여 제2 피쳐맵을 생성한다. 일 실시예에 있어서, 제2 컨벌루션 필터는 제1 컨벌루션 필터와 다른 필터일 수 있다. 제2 컨벌루션 필터는 제1 컨벌루션 필터의 크기는 동일하지만 다른 스트라이드 값을 갖는 필터일 수 있다. 일 예로, 제2 컨벌루션 필터는 3*3 픽셀크기를 갖고 스트라이드(Stride)의 값이 2인 필터일 수 있다.Specifically, the second convolution operation unit generates a second feature map by applying a second convolution filter to the first feature map to which non-linear characteristics are assigned by the non-linearization unit. In one embodiment, the second convolution filter may be a filter different from the first convolution filter. The second convolution filter may be a filter having the same size as the first convolution filter but a different stride value. For example, the second convolution filter may be a filter having a pixel size of 3*3 and a stride value of 2.

이러한 실시예에 따르는 경우 정규화부는 제2 컨벌루션 연산부에 의해 생성된 제2 피쳐맵들을 배치단위로 추가로 정규화할 수도 있을 것이다. According to this embodiment, the normalizer may further normalize the second feature maps generated by the second convolution operator in batch units.

한편, 제1 유닛은 사전정규화부를 더 포함할 수 있다. 사전정규화부는 얼굴이미지 추출부(237)로부터 입력되는 얼굴이미지에 포함된 각 픽셀들의 픽셀값을 정규화할 수 있다. 일 예로, 사전정규화부는 얼굴이미지의 각 픽셀값에서 127.5를 감산한 후, 감산 결과값을 128로 제산함으로써 얼굴이미지를 정규화할 수 있다. 사전정규화부는 사전 정규화된 입력 얼굴이미지를 정규화부로 제공할 수 있다.Meanwhile, the first unit may further include a pre-normalization unit. The pre-normalization unit may normalize pixel values of pixels included in the face image input from the face image extractor 237 . For example, the pre-normalization unit may normalize the face image by subtracting 127.5 from each pixel value of the face image and then dividing the resultant value by 128. The pre-normalization unit may provide the pre-normalized input face image to the normalization unit.

제2 유닛은 제1 유닛에 의해 생성된 제2 피쳐맵에 가중치를 부여한다. 본 발명에서 제2 유닛을 통해 제2 피쳐맵에 가중치를 부여하는 이유는 컨벌루션 연산의 경우 입력 이미지의 모든 채널을 컨벌루션 필터와 곱한 후 합산하는 과정에서 중요한 채널과 중요하지 않은 채널들이 모두 얽히게 되므로 데이터의 민감도(Sensitivity)가 저하되므로, 제2 피쳐맵에 각 채널 별로 그 중요도에 따라 가중치를 부여하기 위한 것이다.The second unit weights the second feature map generated by the first unit. In the present invention, the reason why the second feature map is weighted through the second unit is that in the case of convolution operation, in the process of multiplying all channels of the input image by the convolution filter and summing them, both important and unimportant channels become entangled, so that data This is to assign a weight to the second feature map according to its importance for each channel, since the sensitivity of is lowered.

제2 유닛은 샘플링부, 가중치 반영부, 및 업스케일링부를 포함한다.The second unit includes a sampling unit, a weight reflection unit, and an upscaling unit.

먼저, 샘플링부는 제1 유닛으로부터 입력되는 제2 피쳐맵을 서브 샘플링하여 차원을 감소시킨다. 일 실시예에 있어서, 샘플링부는 제2 피쳐맵에 글로벌 풀링(Global Pooling) 필터를 적용함으로써 제2 피쳐맵의 차원을 감소시킬 수 있다. 일 예로, 제2 피쳐맵의 차원이 H*W*C인 경우 샘플링부는 제2 피쳐맵의 서브 샘플링을 통해 제2 피쳐맵의 차원을 1*1*C로 감소시킬 수 있다.First, the sampling unit reduces the dimension by subsampling the second feature map input from the first unit. In an embodiment, the sampling unit may reduce the dimensionality of the second feature map by applying a global pooling filter to the second feature map. For example, when the dimension of the second feature map is H*W*C, the sampling unit may reduce the dimension of the second feature map to 1*1*C through subsampling of the second feature map.

가중치 반영부는 샘플링부에 의해 차원이 감소된 제2 피쳐맵에 가중치를 부여한다. 이를 위해, 가중치 반영부는 차원 감소부, 제1 비선형화부, 차원 증가부, 및 제2 비선형화부를 포함할 수 있다.The weight reflection unit assigns a weight to the second feature map whose dimension is reduced by the sampling unit. To this end, the weight reflection unit may include a dimension reduction unit, a first non-linearization unit, a dimension increase unit, and a second non-linearization unit.

차원 감소부는 서브 샘플링된 제2 피쳐맵을 하나의 레이어로 연결함으로써 서브 샘플링된 제2 피쳐맵의 차원을 감소시킨다. 일 예로, 샘플링부로부터 출력되는 제2 피쳐맵의 차원이 1*1*C인 경우 차원 감소부는 제2 피쳐맵의 차원을 1*1*C/r로 감소시킨다. 여기서, r은 감소율을 의미하는 것으로서, 추출하기 원하는 특징벡터의 개수에 따라 결정될 수 있다.The dimension reducer reduces the dimension of the subsampled second feature map by connecting the subsampled second feature map into one layer. For example, when the dimension of the second feature map output from the sampling unit is 1*1*C, the dimension reduction unit reduces the dimension of the second feature map to 1*1*C/r. Here, r denotes a reduction rate and may be determined according to the number of feature vectors to be extracted.

제1 비선형화부는 차원 감소부에 의해 차원이 감소된 제2 피쳐맵에 제1 활성화함수를 적용함으로써 차원이 감소된 제2 피쳐맵에 비선형적 특성을 부여한다. 일 실시예에 있어서, 제1 비선형화부는 제2 피쳐맵의 픽셀값들 중 양의 픽셀값은 그대로 출력하고 음의 픽셀값은 0으로 출력하는 제1 활성화함수를 적용함으로써 차원이 감소된 제2 피쳐맵에 비선형적 특성을 부여할 수 있다.The first nonlinearizer applies a first activation function to the second feature map whose dimensionality is reduced by the dimensionality reducer, thereby imparting nonlinear characteristics to the second feature map whose dimensionality is reduced. In an embodiment, the first non-linearization unit applies a first activation function that outputs positive pixel values as they are and outputs negative pixel values as 0 among pixel values of the second feature map, thereby reducing the second dimension. Nonlinear characteristics can be assigned to feature maps.

차원 증가부는 제1 비선형화부에 의해 비선형적 특성이 부여된 제2 피쳐맵의 차원을 증가시킨다. 일 예로, 비선형적 특성이 부여된 제2 피쳐맵의 차원이 1*1*c/r인 경우 차원 증가부는 제2 피쳐맵의 차원을 다시 1*1*C로 증가시킨다.The dimension increasing unit increases the dimension of the second feature map to which the nonlinear characteristics are imparted by the first nonlinearization unit. For example, when the dimension of the second feature map to which the nonlinear characteristics are assigned is 1*1*c/r, the dimension increasing unit increases the dimension of the second feature map to 1*1*C.

제2 비선형화부는 차원 증가부에 의해 차원이 증가된 제2 피쳐맵에 제2 활성화함수를 적용함으로써 차원이 증가된 제2 피쳐맵에 비선형적 특성을 다시 부여한다. 일 실시예에 있어서, 제2 활성화함수는 제1 활성화함수와 다른 함수일 수 있다. 예컨대, 제2 비선형화부는 차원이 증가된 제2 피쳐맵의 픽셀값들 중 양의 픽셀값은 미리 정해진 값으로 수렴하도록 하고 음의 픽셀값은 0으로 출력하는 제2 활성화함수를 적용함으로써 차원이 증가된 제2 피쳐맵에 비선형적 특성을 부여할 수 있다.The second nonlinearization unit applies a second activation function to the second feature map whose dimension is increased by the dimension increasing unit, thereby imparting nonlinear characteristics to the second feature map whose dimension is increased. In one embodiment, the second activation function may be a function different from the first activation function. For example, the second nonlinearization unit applies a second activation function that causes positive pixel values to converge to a predetermined value and outputs negative pixel values as 0 among the pixel values of the second feature map with increased dimensionality. Nonlinear characteristics may be assigned to the increased second feature map.

이와 같이, 본 발명에 따른 가중치 반영부는 차원감소부, 제1 비선형화부, 차원증가부, 및 제2 비선형화부를 통해 제2 피쳐맵에 가중치를 부여하고, 차원감소부와 차원증가부를 통해 병목구간을 만들어 게이팅 메커니즘을 한정함으로써 모델 복잡도를 제한하고 일반화를 지원할 수 있게 된다.As described above, the weight reflection unit according to the present invention assigns weights to the second feature map through the dimension reduction unit, the first nonlinearization unit, the dimension increase unit, and the second nonlinearization unit, and the bottleneck section through the dimensionality reduction unit and the dimension increase unit. By defining the gating mechanism by creating , it is possible to limit the model complexity and support generalization.

업스케일링부는 가중치 반영부에 의해 가중치가 부여된 제2 피쳐맵을 제2 유닛에 입력된 얼굴이미지와 동일한 차원으로 업스케일링한다. 일 실시예에 있어서, 제2 유닛에 입력된 얼굴이미지의 차원이 H*W*C인 경우 업스케일링부는 가중치가 부여된 제2 피쳐맵의 차원을 H*W*C로 업스케일링한다.The upscaling unit upscales the second feature map, weighted by the weight reflection unit, to the same dimension as the face image input to the second unit. In one embodiment, when the dimension of the face image input to the second unit is H*W*C, the upscaling unit upscales the dimension of the weighted second feature map to H*W*C.

연산부는 제2 유닛을 통해 출력되는 업스케일링된 제2 피쳐맵을 제1 유닛에 입력된 얼굴이미지와 합산한다. 본 발명에서 연산부를 통해 제2 유닛에서 출력된 업스케일링된 제2 피쳐맵을 제1 유닛에 입력된 얼굴이미지와 합산하는 이유는 컨벌루션 신경망에서 깊이가 깊어지는 경우 특징이 흐려지는 문제(Vanish Problem)를 방지하기 위한 것이다.The calculation unit sums the upscaled second feature map output through the second unit with the face image input to the first unit. In the present invention, the reason for summing the upscaled second feature map output from the second unit through the operation unit with the face image input to the first unit is to prevent the vanish problem when the depth of the convolutional neural network is increased. It is to do.

특징벡터 생성부는 복수개의 얼굴이미지 처리부들 중 마지막 얼굴 이미지 처리부로부터 출력되는 피쳐맵을 하나의 레이어로 병합하여 차원을 감소시킴으로써 미리 정해진 개수의 특징벡터를 생성한다. 일 실시예에 있어서, 특징벡터 생성부는 얼굴이미지 처리부로부터 출력되는 피쳐맵으로부터 128개 이상의 특징벡터를 출력할 수 있다. 예컨대, 특징벡터 생성부는 얼굴 이미지 처리부로부터 출력되는 피쳐맵으로부터 512개의 특징벡터를 출력할 수 있다.The feature vector generator generates a predetermined number of feature vectors by merging feature maps output from the last face image processor among the plurality of face image processors into one layer and reducing the dimension. In one embodiment, the feature vector generation unit may output 128 or more feature vectors from the feature map output from the face image processing unit. For example, the feature vector generation unit may output 512 feature vectors from the feature map output from the face image processing unit.

특징벡터 클러스터링부(240)는 사용자 얼굴인식부(230)에 의해 추출된 복수개의 사용자 특징벡터들을 K개의 클러스터들로 군집화한다. 이를 위하여, 특징벡터 클러스터링부(240)는 도 3에 도시된 바와 같이 초기 중심값 선택부(241), 군집화부(242), 중심값 갱신부(243) 및 재군집화 결정부(244)를 포함한다.The feature vector clustering unit 240 clusters the plurality of user feature vectors extracted by the user face recognition unit 230 into K clusters. To this end, the feature vector clustering unit 240 includes an initial central value selection unit 241, a clustering unit 242, a central value updating unit 243, and a re-clustering determination unit 244, as shown in FIG. do.

초기 중심값 선택부(241)는 K개의 클러스터들 각각에 대한 초기 중심값을 선택한다. 클러스터들의 개수는 관리자에 의하여 미리 설정될 수 있다. 초기 중심값은 미리 정한 범위 내에서 무작위로 선택될 수 있다. 즉, 초기 중심값 선택부(241)는 미리 정한 범위 내에서 K개의 중심값을 무작위로 선택할 수 있다.The initial center value selector 241 selects an initial center value for each of the K clusters. The number of clusters may be preset by an administrator. The initial center value may be randomly selected within a predetermined range. That is, the initial center value selector 241 may randomly select K center values within a predetermined range.

군집화부(242)는 사용자 얼굴인식부(230)에 의해 추출된 복수개의 사용자 특징벡터들을 K개의 클러스터들 각각의 중심값을 기초로 군집화한다. 구체적으로, 군집화부(242)는 복수개의 사용자 특징벡터들 각각에 대하여 가장 가까운 또는 가장 유사도가 높은 클러스터를 탐색한다. 이를 위하여, 군집화부(242)는 K개의 클러스터들의 중심값들 각각과 사용자 특징벡터 간의 유사도를 산출한다. The clustering unit 242 clusters the plurality of user feature vectors extracted by the user face recognition unit 230 based on the center value of each of the K clusters. Specifically, the clustering unit 242 searches for a cluster having the closest or highest similarity to each of a plurality of user feature vectors. To this end, the clustering unit 242 calculates a similarity between each of the central values of the K clusters and the user feature vector.

일 실시예에 있어서, 군집화부(242)는 K개의 클러스터들의 중심값들 각각과 사용자 특징벡터 간의 코사인 거리(cosine distance)를 이용하여 유사도를 산출할 수 있다. 코사인 거리는 아래 수학식 1을 통해 산출될 수 있다. In an embodiment, the clustering unit 242 may calculate a similarity by using a cosine distance between each of the central values of the K clusters and the user feature vector. The cosine distance may be calculated through Equation 1 below.

Figure 112020144084030-pat00001
Figure 112020144084030-pat00001

상기 dcos는 x과 y의 코사인 거리를 나타내며, x는 사용자 특징벡터를 나타내고, y는 클러스터의 중심값을 나타낸다.The d cos denotes the cosine distance of x and y, x denotes the user feature vector, and y denotes the center value of the cluster.

군집화부(242)는 K개의 클러스터들 중 가장 유사도가 높은 클러스터를 결정하고, 결정된 클러스터에 사용자 특징벡터가 속하도록 할 수 있다. 군집화부(242)는 가장 유사도가 높은 중심값을 가진 클러스터를 유사도가 높은 클러스터로 결정할 수 있다. 일 예로, 군집화부(242)는 사용자 특징벡터에 결정된 클러스터에 상응하는 클러스터 식별정보를 할당할 수 있다.The clustering unit 242 may determine a cluster having the highest similarity among the K clusters and allow the user feature vector to belong to the determined cluster. The clustering unit 242 may determine a cluster having a central value having the highest similarity as a cluster having a high similarity. For example, the clustering unit 242 may allocate cluster identification information corresponding to the determined cluster to the user feature vector.

중심값 갱신부(243)는 군집화부(242)에 의하여 군집화된 K개의 클러스터들 각각에 대한 중심값을 갱신한다. 구체적으로, 중심값 갱신부(243)는 군집화된 K개의 클러스터들 각각에 속한 사용자 특징벡터들을 기초로 중심값을 갱신할 수 있다. 일 실시예에 있어서, 중심값 갱신부(243)는 해당 클러스터에 속한 사용자 특징벡터들의 중심점을 해당 클러스터의 중심값으로 갱신할 수 있다. The center value updating unit 243 updates the center value of each of the K clusters clustered by the clustering unit 242 . Specifically, the center value updater 243 may update the center value based on user feature vectors belonging to each of the clustered K clusters. In an embodiment, the center value updating unit 243 may update the center point of user feature vectors belonging to the corresponding cluster to the center value of the corresponding cluster.

재군집화 결정부(244)는 기존 클러스터들과 새로 군집화된 클러스터들을 비교하여, 재군집화 여부를 결정한다. 재군집화 결정부(244)는 기존 클러스터들과 새로 군집화된 클러스터들이 상이하면, 군집화부(242)에 의하여 다시 군집화가 수행되도록 한다. 이에, 군집화부(242)는 복수개의 사용자 특징벡터들을 K개의 클러스터들 각각의 갱신된 중심값을 기초로 재군집한다. The re-clustering determination unit 244 compares existing clusters with newly clustered clusters and determines whether to re-cluster. The re-clustering determiner 244 causes clustering to be performed again by the clustering unit 242 if the existing clusters are different from the newly clustered clusters. Accordingly, the clustering unit 242 re-clusters the plurality of user feature vectors based on the updated center value of each of the K clusters.

반면, 재군집화 결정부(244)는 기존 클러스터들과 새로 군집화된 클러스터들이 동일하면, 군집화를 중지한다. On the other hand, the re-clustering determiner 244 stops clustering if existing clusters and newly clustered clusters are the same.

본 발명에 따른 특징벡터 클러스터링부(240)는 각 클러스터에 속하는 사용자 특징벡터들의 평균 벡터와 분산이 최소가 될 때까지 군집화를 반복 수행할 수 있다. 특징벡터 클러스터링부(240)는 기존 클러스터들과 새로 군집화된 클러스터들이 동일하면, 각 클러스터에 속하는 사용자 특징벡터들의 평균 벡터와 분산이 최소라고 판단하고, 군집화를 정지할 수 있다. The feature vector clustering unit 240 according to the present invention may repeatedly perform clustering until the mean vector and variance of user feature vectors belonging to each cluster are minimized. If the existing clusters and the newly clustered clusters are the same, the feature vector clustering unit 240 may determine that the average vector and variance of user feature vectors belonging to each cluster are minimum, and stop clustering.

다시 도 2를 참조하면, 어레이 파일 생성부(245)는 사용자 얼굴인식부(230)에 의하여 복수의 사용자들 각각의 얼굴이미지로부터 추출된 사용자 특징벡터들 및 각 사용자 특징벡터의 클러스터 식별정보를 이용하여 각 사용자 별로 어레이(Array)를 생성하고, 생성된 어레이들을 하나의 파일로 머지하여 어레이 파일을 생성한다. 여기서, 클러스터 식별정보는 특징벡터 클러스터링부(240)에 의하여 군집화된 최종 클러스터들에 대한 정보일 수 있다. 구체적으로, 클러스터 식별정보는 K개의 클러스터들 중 해당 사용자 특징벡터와 유사한 사용자 특징벡터들로 이루어진 클러스터에 대한 식별값을 포함할 수 있다. Referring back to FIG. 2 , the array file generator 245 uses the user feature vectors extracted from the face images of each of the plurality of users by the user face recognition unit 230 and the cluster identification information of each user feature vector. Then, an array is created for each user, and an array file is created by merging the created arrays into one file. Here, the cluster identification information may be information on final clusters clustered by the feature vector clustering unit 240 . Specifically, the cluster identification information may include an identification value for a cluster composed of user feature vectors similar to the corresponding user feature vector among K clusters.

어레이 파일 생성부(245)는 생성된 어레이 파일을 어레이 파일 데이터베이스(미도시)에 저장할 수 있다. The array file generator 245 may store the generated array file in an array file database (not shown).

일 실시예에 있어서, 어레이 파일 생성부(245)에 의해 생성되는 어레이는 각 사용자의 얼굴이미지로부터 획득된 복수개의 사용자 특징벡터들, 각 사용자 특징벡터의 클러스터 식별정보와 각 사용자의 키(Key)값으로 구성될 수 있다. 이때, 사용자의 키 값은 각 사용자의 식별정보 및 각 사용자의 출입권한정보를 포함한다. 각 사용자의 식별정보는 상술한 바와 같이 각 사용자의 아이다, 성명, 전화번호, 또는 직원번호 등으로 정의될 수 있고, 각 사용자의 출입권한정보는 각 사용자가 출입할 수 있는 각 층에 대한 정보를 포함할 수 있다.In one embodiment, the array generated by the array file generator 245 includes a plurality of user feature vectors obtained from each user's face image, cluster identification information of each user feature vector, and each user's key. It can consist of values. At this time, the user's key value includes each user's identification information and each user's access authority information. As described above, the identification information of each user can be defined as each user's ID, name, phone number, or employee number, and the access authority information of each user includes information on each floor that each user can access. can include

출입권한정보 관리부(250)는 각 사용자 별로 부여되어 있는 출입권한정보를 변경하거나 새로운 출입권한정보를 추가한다. 일 실시예에 있어서, 출입권한 정보 관리부(250)는 각 사용자 별로 출입권한정보를 별개로 부여하거나 각 사용자가 속한 조직 단위로 출입권한정보를 부여할 수 있다.The access right information management unit 250 changes access right information assigned to each user or adds new access right information. In one embodiment, the access authority information management unit 250 may grant access authority information separately for each user or may grant access authority information in organizational units to which each user belongs.

한편, 본 발명의 일 실시예에 따른 얼굴인식서버(110)는 스케쥴러(260)를 더 포함할 수 있다. 스케쥴러(260)는 미리 정해진 기간이 도래하거나 미리 정해진 이벤트가 발생할 때마다 일괄적으로 신규 사용자를 등록하는 기능을 수행한다. 예컨대, 사용자 등록부(210)가 사용자로부터 등록요청이 발생하는 경우 신규 사용자의 등록절차를 수행하는 것으로 설명하였지만, 얼굴인식서버(110)가 스케쥴러(260)를 포함하는 경우 미리 정해진 시간 단위로 또는 미리 정해진 이벤트가 발생하면 스케쥴러(260)가 사용자 등록부(220), 입력 이미지 생성부(225), 및 사용자 얼굴인식부(230)의 동작을 개시시킴으로써 신규 사용자 등록절차가 자동으로 수행되도록 할 수 있다.Meanwhile, the face recognition server 110 according to an embodiment of the present invention may further include a scheduler 260. The scheduler 260 performs a function of registering new users collectively whenever a predetermined period arrives or a predetermined event occurs. For example, although it has been described that the user registration unit 210 performs a registration procedure for a new user when a registration request is generated from a user, when the face recognition server 110 includes the scheduler 260, it is performed in units of predetermined time or in advance. When a predetermined event occurs, the scheduler 260 initiates the operation of the user registration unit 220, the input image generation unit 225, and the user's face recognition unit 230 so that a new user registration procedure can be automatically performed.

인터페이스부(270)는 얼굴인식모델, 어레이 파일 및 클러스터 정보를 미리 정해진 방식으로 암호화하여 각 에지 디바이스(120)로 전송한다. 여기서, 클러스터 정보는 K개의 최종 클러스터들 각각에 대한 중심값 정보를 포함할 수 있다. 일 실시예에 있어서, 인터페이스부(270)는 공개키 기반의 암호화 알고리즘을 이용하여 얼굴인식모델, 어레이 파일 및 클러스터 정보를 암호화하여 각 에지 디바이스(120)로 전송할 수 있다.The interface unit 270 encrypts the face recognition model, array file, and cluster information in a predetermined manner and transmits them to each edge device 120 . Here, the cluster information may include center value information for each of the K final clusters. In one embodiment, the interface unit 270 may encrypt the face recognition model, array file, and cluster information using a public key-based encryption algorithm and transmit them to each edge device 120 .

한편, 인터페이스부(270)는 암호화된 어레이 파일을 에지 디바이스(120)와 약속된 프로토콜에 따라 에지 디바이스(120)로 전송할 수 있다. 또한, 인터페이스부(270)는 각 에지 디바이스(120)로부터 미리 정해진 기간 마다 인증기록을 수신하여 에지 디바이스(120)로 제공할 수 있다.Meanwhile, the interface unit 270 may transmit the encrypted array file to the edge device 120 according to an agreed protocol with the edge device 120 . In addition, the interface unit 270 may receive an authentication record from each edge device 120 at predetermined intervals and provide it to the edge device 120 .

얼굴인식모델 트레이닝부(280)는 컨벌루션 신경망을 기초로 얼굴인식모델(235)을 생성하고, 생성된 얼굴인식모델(235)을 트레이닝시킨다. 구체적으로, 얼굴인식모델 트레이닝부(280)는 얼굴인식모델(235)을 구성하는 컨벌루션 신경망을 지속적으로 트레이닝시킴으로써 최적의 얼굴인식모델을 생성한다.The face recognition model training unit 280 generates a face recognition model 235 based on a convolutional neural network and trains the face recognition model 235 . Specifically, the face recognition model training unit 280 generates an optimal face recognition model by continuously training the convolutional neural network constituting the face recognition model 235 .

이를 위해, 얼굴인식모델 트레이닝부(280)는 얼굴이미지 추출부(237)를 트레이닝시키는 얼굴이미지 추출 트레이닝부(282), 특징벡터 추출부(239)를 트레이닝시키는 특징벡터 추출 트레이닝부(284), 및 특징벡터 추출부(239)의 오차를 감소시키는 오차감소부(286)를 포함한다.To this end, the face recognition model training unit 280 includes a face image extraction training unit 282 that trains the face image extraction unit 237, a feature vector extraction training unit 284 that trains the feature vector extraction unit 239, and an error reduction unit 286 reducing an error of the feature vector extraction unit 239 .

얼굴이미지 추출 트레이닝부(282)는 얼굴이미지 추출부(237)를 학습 이미지를 이용하여 트레이닝시킨다. 특징벡터 추출 트레이닝부(284)는 특징벡터 추출부(239)를 학습 이미지를 이용하여 트레이닝시킨다. The face image extraction training unit 282 trains the face image extraction unit 237 using a learning image. The feature vector extraction training unit 284 trains the feature vector extraction unit 239 using the learning image.

얼굴이미지 추출 트레이닝부(282)는 얼굴이미지 추출부(237)를 구성하는 제1 내지 제3 얼굴탐지부를 학습 이미지를 이용하여 트레이닝시킨다. 구체적으로, 얼굴이미지 추출 트레이닝부(282)는 제1 내지 제3 얼굴탐지부에 미리 정해진 크기를 갖는 복수개의 학습 이미지를 입력하여 학습 이미지에서 얼굴영역이 포함될 확률값 및 얼굴영역 좌표를 산출하고, 산출된 확률값 및 얼굴영역 좌표를 역전파(Back Propagation) 알고리즘에 따라 제1 내지 제3 얼굴탐지부에 피드백함으로써 제1 내지 제3 얼굴탐지부에 적용된 컨벌루션 필터들의 필터계수 및 가중치를 갱신한다.The face image extraction training unit 282 trains the first to third face detection units constituting the face image extraction unit 237 using the learning image. Specifically, the face image extraction training unit 282 inputs a plurality of training images having a predetermined size to the first to third face detection units, calculates a probability value to include a face region in the learning image and face region coordinates, and calculates Filter coefficients and weights of the convolution filters applied to the first to third face detection units are updated by feeding back the obtained probability values and face region coordinates to the first to third face detection units according to a back propagation algorithm.

특징벡터 추출 트레이닝부(284)는 특징벡터 추출부(239)를 학습 이미지를 이용하여 트레이닝시킨다. 구체적으로, 특징벡터 추출 트레이닝부(505)는 특징벡터 추출부(239)에 복수개의 학습 이미지를 미리 정해진 배치단위로 입력함으로써 각 학습이미지로부터 특징벡터를 추출한다.The feature vector extraction training unit 284 trains the feature vector extraction unit 239 using the learning image. Specifically, the feature vector extraction training unit 505 extracts a feature vector from each training image by inputting a plurality of training images to the feature vector extraction unit 239 in a predetermined batch unit.

특징벡터 추출 트레이닝부(284)는 추출된 특징벡터들을 미리 정해진 분류함수에 적용함으로써 해당 학습 이미지가 특정 클래스에 포함될 확률값을 예측하고, 예측된 확률값(이하, '예측값'이라 함)과 실제값간의 오차를 연산하여 그 결과를 역전파 알고리즘을 이용하여 특징벡터 추출부(284)에 피드백함으로써 특징벡터 추출부(239)에 적용된 컨벌루션 필터들의 필터계수 및 가중치를 갱신한다.The feature vector extraction training unit 284 predicts a probability value that the training image will be included in a specific class by applying the extracted feature vectors to a predetermined classification function, and between the predicted probability value (hereinafter referred to as 'predicted value') and the actual value. The filter coefficients and weights of the convolution filters applied to the feature vector extractor 239 are updated by calculating the error and feeding back the result to the feature vector extractor 284 using the backpropagation algorithm.

오차감소부(286)는 특징벡터 추출 트레이닝부(284)가 특징벡터 추출부(239)를 트레이닝시키는 과정에서 특징벡터 추출부(239)를 통해 추출된 특징벡터들에 기초한 예측값과 실제값간의 오차를 감소시킨다. 구체적으로, 오차감소부(286)는 특징벡터 추출부(239)가 학습 이미지로부터 추출한 특징벡터들을 기초로 예측값과 실제값간의 오차를 계산하고, 오차가 감소될 수 있도록 각 학습 이미지를 2차원 각도 평면상에 배치하고 배치결과에 따른 확률값을 이용하여 특징벡터 추출 트레이닝부(284)가 특징벡터 추출부(239)를 트레이닝시킬 수 있도록 한다.The error reduction unit 286 determines the error between the predicted value based on the feature vectors extracted through the feature vector extraction unit 239 and the actual value in the process of the feature vector extraction training unit 284 training the feature vector extraction unit 239. reduces Specifically, the error reduction unit 286 calculates the error between the predicted value and the actual value based on the feature vectors extracted from the training image by the feature vector extraction unit 239, and converts each training image into a two-dimensional angle so that the error can be reduced. It is arranged on a plane, and the feature vector extraction training unit 284 trains the feature vector extraction unit 239 using a probability value according to the arrangement result.

본 발명에 따른 얼굴인식모델 트레이닝부(280)가 오차감소부(286)를 통해 오차감소가 되도록 특징벡터 추출부(239)를 학습시키는 이유는 동일인임에도 불구하고 얼굴이 촬영된 조명이나 환경이 변화하는 경우 동일인임을 구분해 내지 못하는 것과 같은 오차가 발생하기 때문에, 이러한 오차감소부(286)를 통해 얼굴인식의 오차가 감소될 수 있는 특징벡터가 추출되도록 특징벡터 추출부(239)를 트레이닝 시키기 위한 것이다.The reason why the face recognition model training unit 280 according to the present invention trains the feature vector extraction unit 239 to reduce the error through the error reduction unit 286 is that the lighting or environment in which the face is photographed changes even though the face is the same person. In this case, an error such as not being able to distinguish the same person occurs, so that the feature vector extraction unit 239 is trained to extract a feature vector that can reduce the face recognition error through the error reduction unit 286 will be.

본 발명의 일 실시예에 따른 오차감소부(286)는 얼굴이미지 배치부(287) 및 확률산출부(289)를 포함한다.The error reduction unit 286 according to an embodiment of the present invention includes a face image arrangement unit 287 and a probability calculation unit 289.

얼굴이미지 배치부(287)는 학습 이미지에 대해 특징벡터 추출부(239)가 추출한 복수개의 특징벡터들을 기초로 각 학습 이미지들을 2차원 각도 평면 상에 배치한다. 구체적으로, 얼굴이미지 배치부(287)는 서로 다른 클래스에 포함되는 학습 이미지들간의 코사인 유사도를 산출하고, 코사인 유사도에 따라 각 학습 이미지들 간의 이격각도인 기준각도를 산출함으로써 학습 이미지들을 2차원 각도 평면상에 배치하게 된다.The face image arrangement unit 287 arranges each training image on a two-dimensional angle plane based on the plurality of feature vectors extracted by the feature vector extraction unit 239 for the training image. Specifically, the face image arranging unit 287 calculates the cosine similarity between the learning images included in different classes, and calculates the reference angle, which is the separation angle between the respective learning images, according to the cosine similarity, thereby converting the learning images to a two-dimensional angle. be placed on a flat surface.

본 발명에서 얼굴이미지 배치부(287)가 각 학습 이미지들의 특징벡터를 기초로 산출되는 각 학습 이미지들 간의 거리에 따라 학습 이미지를 벡터공간에 배치하게 되면 각 학습 이미지들 간에 중첩되는 영역이 발생할 수 밖에 없어, 학습시 동일인과 타인을 명확하게 구분하기가 어렵다는 한계가 있다.In the present invention, when the face image arranging unit 287 arranges the training images in a vector space according to the distance between each training images calculated based on the feature vector of each training image, an overlapping area may occur between the training images. However, there is a limitation in that it is difficult to clearly distinguish between the same person and another person during learning.

따라서, 본 발명에서는 얼굴이미지 배치부(287)가 서로 다른 클래스에 포함되는 학습 이미지들 사이의 각도를 코사인 유사도를 통해 산출하고, 산출된 각도를 기초로 각 학습 이미지를 2차원 각도 평면상에 배치하는 것이다.Therefore, in the present invention, the face image placement unit 287 calculates angles between training images included in different classes through cosine similarity, and arranges each training image on a two-dimensional angle plane based on the calculated angles. is to do

확률 산출부(289)는, 2차원 각도 평면 상에서 얼굴이미지 배치부(287)에 의해 산출된 기준각도에 가산될 마진각도를 가변시키고, 가변되는 마진각도 별로 각 학습 이미지들이 해당 클래스에 포함될 확률을 산출한다.The probability calculating unit 289 varies the margin angle to be added to the reference angle calculated by the face image arranging unit 287 on the two-dimensional angular plane, and the probability that each training image is included in the corresponding class for each variable margin angle yield

구체적으로, 확률 산출부(525)는 각 학습 이미지 간의 기준각도(θ1, θ2)에 가산되는 마진각도(P1, P2)를 가변시키면서 서로 중첩되는 특성을 갖는 학습 이미지들이 2차원 각도 평면 상에서 이격되도록 한다. 일 실시예에 있어서, 마진각도(P1, P2)는 0보다 크고 90도 보다 작은 범위 내에서 학습률(Learning Rate)에 따라 결정될 수 있다.Specifically, the probability calculation unit 525 varies the margin angles P1 and P2 added to the reference angles θ1 and θ2 between each training image so that training images having overlapping characteristics are spaced apart on a two-dimensional angular plane. do. In one embodiment, the margin angles P1 and P2 may be determined according to a learning rate within a range greater than 0 and less than 90 degrees.

예컨대, 학습률이 증가하면 마진각도도 그에 따라 증가하고 학습률이 감소하면 마진각도도 그에 따라 감소하도록 설정될 수 있다. 이때, 확률 산출부(525)는 마진각도를 미리 정해진 기준 단위만큼 가변시킬 수 있다.For example, if the learning rate increases, the margin angle may increase accordingly, and if the learning rate decreases, the margin angle may decrease accordingly. At this time, the probability calculation unit 525 may vary the margin angle by a predetermined reference unit.

확률산출부(289)에 의해 마진각도가 기준각도에 가산되면 벡터공간 내에서 서로 중첩되는 특징을 가졌던 학습 이미지들이 서로 이격되도록 배치된다는 것을 알 수 있다.When the margin angle is added to the reference angle by the probability calculation unit 289, it can be seen that training images having overlapping characteristics are spaced apart from each other in the vector space.

확률산출부(289)는 기준각도에 가산되는 마진각도 별로 각 학습 이미지들이 해당 클래스에 포함될 확률을 산출하고, 산출된 확률값을 특징벡터 추출 트레이닝부(284)로 제공함으로써 특징벡터 추출 트레이닝부(284)가 확률산출부(289)에 의해 산출된 확률값을 기초로 특징벡터 추출부(239)를 학습시킬 수 있도록 한다. 즉, 특징벡터 추출 트레이닝부(284)는 확률산출부(289)에 의해 산출된 확률값을 기초로 특징벡터 추출부(239)에 적용된 컨벌루션 필터들의 계수 및 가중치 중 적어도 하나를 갱신함으로써 특징벡터 추출부(239)를 학습시키게 된다.The probability calculation unit 289 calculates the probability that each training image will be included in the corresponding class for each margin angle added to the reference angle, and provides the calculated probability value to the feature vector extraction training unit 284, so that the feature vector extraction training unit 284 ) enables the feature vector extraction unit 239 to learn based on the probability value calculated by the probability calculation unit 289. That is, the feature vector extraction training unit 284 updates at least one of the coefficients and weights of the convolution filters applied to the feature vector extraction unit 239 based on the probability value calculated by the probability calculation unit 289 to thereby update the feature vector extraction unit. (239) will be learned.

일 실시예에 있어서, 확률 산출부(289)는 아래의 수학식 2를 이용하여 각 마진각도별로 각 학습 이미지들이 해당 클래스에 포함될 확률을 산출할 수 있다.In an embodiment, the probability calculator 289 may calculate a probability that each training image is included in a corresponding class for each margin angle using Equation 2 below.

Figure 112020144084030-pat00002
Figure 112020144084030-pat00002

수학식 2에서 x는 기준각도를 나타내고 p는 상기 마진각도를 나타내며, n은 클래스의 개수를 나타낸다.In Equation 2, x represents the reference angle, p represents the margin angle, and n represents the number of classes.

일 실시예에 있어서, 확률 산출부(289)는 확률 산출부(289)에 의해 산출된 확률값을 기초로 특징벡터 추출 트레이닝부(284)에 의해 트레이닝된 특징벡터 추출부(239)에 미리 정해진 테스트 얼굴이미지를 적용했을 때 예측값과 실제값간의 오차가 기준치 이하가 될 때까지 마진각도를 계속하여 가변시킬 수 있다.In one embodiment, the probability calculation unit 289 performs a predetermined test on the feature vector extraction unit 239 trained by the feature vector extraction training unit 284 based on the probability value calculated by the probability calculation unit 289. When the face image is applied, the margin angle can be continuously varied until the error between the predicted value and the actual value is less than the reference value.

즉, 확률 산출부(289)는 트레이닝된 특징벡터 추출부(239)에 미리 정해진 테스트 얼굴이미지를 적용했을 때 산출되는 예측값과 실제값간의 오차가 기준치 이하가 되는 시점의 마진각도를 최종 마진각도로 결정한다. 이때, 예측값과 실제값간의 오차는 크로스 엔트로피(Cross Entropy) 함수를 이용하여 산출할 수 있다.That is, the probability calculation unit 289 sets the margin angle at the time when the error between the predicted value and the actual value calculated when a predetermined test face image is applied to the trained feature vector extraction unit 239 is equal to or less than the reference value as the final margin angle. Decide. In this case, the error between the predicted value and the actual value can be calculated using a cross entropy function.

상술한 바와 같은 오차감소부(286)를 통해 오차감소가 수행되면 서로 다른 환경이나 다른 조명에서 촬영된 경우라 하더라도 동일인을 정확하게 분류해 낼 수 있게 된다. If the error reduction is performed through the error reduction unit 286 as described above, it is possible to accurately classify the same person even when they are photographed in different environments or under different lighting.

상술한 실시예에 있어서, 얼굴인식모델 트레이닝부(280)는 알고리즘 형태의 소프트웨어로 구현되어 얼굴인식서버(110)에 탑재될 수 있다.In the above-described embodiment, the face recognition model training unit 280 may be implemented as software in the form of an algorithm and installed in the face recognition server 110 .

다시 도 1을 참조하면, 에지 디바이스(120)는 특정 장소 마다 배치되어 얼굴인식서버(110)에 의해 배포되는 얼굴인식모델(235)을 이용하여 해당 장소로의 출입을 희망하는 타겟 사용자의 얼굴을 인식하고, 인식결과를 기초로 타겟 사용자의 출입을 인증하는 기능을 수행한다.Referring back to FIG. 1 , the edge device 120 uses the face recognition model 235 distributed by the face recognition server 110 at each specific place to detect the face of a target user who wishes to enter or exit the place. and performs a function of authenticating the access of the target user based on the recognition result.

본 발명에서, 얼굴인식서버(110)가 타겟 사용자의 얼굴인식 및 인증을 수행하지 않고 에지 디바이스(120)가 타겟 사용자의 얼굴인식 및 인증을 수행하도록 한 이유는 타겟 사용자의 얼굴인식 및 인증을 얼굴인식서버(110)에서 수행하는 경우 얼굴인식서버(110) 또는 네트워크에서 장애가 발생되면 얼굴인식 및 인증이 수행될 수 없을 뿐만 아니라 사용자의 수가 증가함에 따라 고가의 얼굴인식서버(110)의 증설이 요구되기 때문이다.In the present invention, the reason why the face recognition server 110 does not perform face recognition and authentication of the target user and the edge device 120 performs face recognition and authentication of the target user is to perform face recognition and authentication of the target user. When performed in the recognition server 110, if a failure occurs in the face recognition server 110 or the network, face recognition and authentication cannot be performed, and as the number of users increases, the expansion of the expensive face recognition server 110 is required. because it becomes

이에 따라 본 발명은 에지 컴퓨팅(Edge Computing) 방식을 적용하여 에지 디바이스(120)에서 타겟 사용자의 얼굴인식 및 인증을 수행하도록 함으로써 안면인식서버(110) 또는 네트워크에 장애가 발생하더라도 정상적으로 얼굴인식 서비스를 제공할 수 있어 서비스 제공 신뢰도를 향상시킬 수 있고, 사용자의 수가 증가하더라도 고가의 얼굴인식서버(110)를 증설할 필요가 없어 얼굴인식시스템(100) 구축비용을 절감할 수 있게 된다.Accordingly, the present invention applies an edge computing method to perform facial recognition and authentication of a target user in the edge device 120, thereby providing a face recognition service normally even if a failure occurs in the face recognition server 110 or the network It is possible to improve service provision reliability, and even if the number of users increases, it is not necessary to increase the expensive face recognition server 110, so the cost of building the face recognition system 100 can be reduced.

이하, 본 발명에 따른 에지 디바이스(120)의 구성을 도 4을 참조하여 보다 구체적으로 설명한다.Hereinafter, the configuration of the edge device 120 according to the present invention will be described in more detail with reference to FIG. 4 .

도 4는 본 발명의 일 실시예에 따른 에지 디바이스의 구성을 개략적으로 보여주는 블록도이다. 4 is a block diagram schematically showing the configuration of an edge device according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 일 실시예에 따른 에지 디바이스(120)는 촬영부(1210), 입력 이미지 생성부(1250), 타겟 얼굴인식부(1300), 인증부(1310), 얼굴인식모델(1320), 업데이트부(1330), 메모리(1340), 및 인터페이스부(1350)를 포함한다.Referring to FIG. 4 , the edge device 120 according to an embodiment of the present invention includes a photographing unit 1210, an input image generating unit 1250, a target face recognition unit 1300, an authentication unit 1310, and a face recognition unit. It includes a model 1320, an update unit 1330, a memory 1340, and an interface unit 1350.

촬영부(1210)는 인증대상이 되는 타겟 사용자가 접근하면, 타겟 사용자를 촬영하여 촬영 이미지를 생성한다. 촬영부(1210)는 생성된 촬영이미지를 입력 이미지 생성부(1250)로 전송한다.When a target user to be authenticated approaches, the photographing unit 1210 photographs the target user and creates a photographed image. The capturing unit 1210 transmits the generated captured image to the input image generating unit 1250 .

입력 이미지 생성부(1250)는 촬영부(1210)로부터 전송된 타겟 사용자의 촬영 이미지로부터 얼굴인식에 이용될 입력 이미지를 생성한다. 구체적으로 입력 이미지 생성부(1250)는 하나의 타겟 사용자의 촬영이미지를 미리 정해진 단계까지 다운샘플링하거나 업샘플링함으로써 하나의 타겟 사용자의 촬영이미지로부터 해상도가 서로 다른 복수개의 타겟 사용자의 이미지들을 생성한다.The input image generating unit 1250 generates an input image to be used for face recognition from a photographed image of a target user transmitted from the photographing unit 1210 . In detail, the input image generation unit 1250 generates a plurality of target user images having different resolutions from the captured image of one target user by downsampling or upsampling the captured image of one target user to a predetermined level.

해상도가 서로 다른 복수개의 타겟 사용자 이미지가 생성되면, 입력 이미지 생성부(1250)는 각각의 타겟 사용자 이미지에 대해, 타겟 사용자 이미지 상에서 미리 정해진 픽셀크기의 윈도우를 이동시켜가면서 획득되는 복수개의 이미지를 입력 이미지로 생성한다. 입력 이미지 생성부(1250)는 생성된 입력 이미지를 타겟 얼굴인식부(1300)로 입력한다.When a plurality of target user images having different resolutions are generated, the input image generating unit 1250 inputs a plurality of images obtained by moving a window having a predetermined pixel size on the target user image for each target user image. create an image The input image generator 1250 inputs the generated input image to the target face recognition unit 1300 .

타겟 얼굴인식부(1300)는 입력 이미지 생성부(1250)로부터 타겟 사용자의 입력 이미지가 수신되면 수신된 타겟 사용자의 입력 이미지를 얼굴인식서버(110)로부터 배포된 얼굴인식모델(1320)에 입력하여 타겟 얼굴이미지를 추출하고, 추출된 타겟 얼굴이미지로부터 타겟 특징벡터를 추출한다.When the target user's input image is received from the input image generator 1250, the target face recognition unit 1300 inputs the received input image of the target user into the face recognition model 1320 distributed from the face recognition server 110, A target face image is extracted, and a target feature vector is extracted from the extracted target face image.

또한, 얼굴인식모델(1320)은 미리 정해진 주기마다 업데이트될 수 있다. 일 예로, 에지 디바이스(120)는 얼굴인식서버(110)에 의해 얼굴인식모델(1320)이 업데이트될 때마다 얼굴인식서버(110)로부터 새로운 얼굴인식모델(1320)을 배포받음으로써 기 배포된 얼굴인식모델(1320)을 새로운 얼굴인식모델(1320)로 업데이트할 수 있다.Also, the face recognition model 1320 may be updated at predetermined intervals. For example, the edge device 120 receives a new face recognition model 1320 from the face recognition server 110 whenever the face recognition model 1320 is updated by the face recognition server 110, and thus the previously distributed face The recognition model 1320 may be updated to a new face recognition model 1320 .

인증부(1310)는 타겟 얼굴인식부(1300)에 의해 획득된 타겟 특징벡터와 얼굴인식서버(110)로부터 수신된 어레이 파일을 비교하여 타겟 사용자를 인증한다. 구체적으로, 인증부(1310)는 타겟 특징벡터를 복수의 사용자들 각각의 얼굴이미지로부터 추출된 사용자 특징벡터들, 각 사용자 특징벡터의 클러스터 식별정보, 및 각 사용자의 식별정보를 갖는 복수개의 어레이로 구성된 어레이 파일과 비교하여 타겟 사용자를 인증할 수 있다.The authentication unit 1310 compares the target feature vector obtained by the target face recognition unit 1300 with the array file received from the face recognition server 110 to authenticate the target user. Specifically, the authentication unit 1310 converts the target feature vector into a plurality of arrays having user feature vectors extracted from face images of each of a plurality of users, cluster identification information of each user feature vector, and identification information of each user. Compared to the configured array file, the target user can be authenticated.

인증부(1310)는 K개의 클러스터들 중 타겟 특징벡터와 가장 가까운 또는 유사도가 높은 클러스터를 탐색한다. 이를 위하여, 인증부(1310)는 K개의 클러스터들의 중심값들 각각과 타겟 특징벡터 간의 거리를 산출한다.The authentication unit 1310 searches for a cluster having the closest or high similarity to the target feature vector among the K clusters. To this end, the authenticator 1310 calculates a distance between each of the central values of the K clusters and the target feature vector.

일 실시예에 있어서, 인증부(1310)는 K개의 클러스터들의 중심값들 각각과 타겟 특징벡터 간의 코사인 거리(cosine distance)를 산출할 수 있다. 코사인 거리는 상기 수학식 1을 통해 산출될 수 있다. In an embodiment, the authenticator 1310 may calculate a cosine distance between each of the central values of the K clusters and the target feature vector. The cosine distance may be calculated through Equation 1 above.

인증부(1310)는 K개의 클러스터들 중 가장 유사도가 높은 클러스터를 결정한다. 인증부(1310)는 가장 유사도가 높은 중심값을 가진 클러스터를 유사도가 높은 클러스터로 결정할 수 있다.The authentication unit 1310 determines a cluster having the highest similarity among the K clusters. The authenticator 1310 may determine a cluster having a central value having the highest similarity as a cluster having a high similarity.

인증부(1310)는 복수의 어레이들 중 유사도가 높은 클러스터에 상응하는 식별정보를 포함하는 어레이들과 타겟 특징벡터를 비교하여 타겟 사용자를 인증할 수 있다. 즉, 인증부(1310)는 타겟 특징벡터를 타겟 특징벡터와 가장 가까운 클러스터에 속하는 사용자 특징벡터들과 비교하여 타겟 사용자를 인증할 수 있다. The authentication unit 1310 may authenticate a target user by comparing arrays including identification information corresponding to a cluster having a high similarity among a plurality of arrays with a target feature vector. That is, the authentication unit 1310 may authenticate the target user by comparing the target feature vector with user feature vectors belonging to a cluster closest to the target feature vector.

인증부(1310)는 타겟 특징벡터와 어레이들 각각에 포함된 사용자 특징벡터들을 비교하여 유사도를 산출하고, 산출된 유사도가 기준 임계값과 비교하여 타겟 사용자가 해당 장소에 출입이 가능한 등록 사용자인지 여부를 인증한다. 일 실시예에 있어서, 인증부(1310)는 타겟 특징벡터, 및 타겟 특징벡터와 가장 가까운 클러스터에 속하는 사용자 특징벡터들을 내적 연산하여 유사도를 산출할 수 있다. 인증부(1310)는 산출된 유사도가 기준 임계값 이상이면 타겟 사용자를 해당 장소에 출입이 가능한 등록 사용자로 인증할 수 있다.The authentication unit 1310 compares the target feature vector with the user feature vectors included in each of the arrays to calculate a similarity, and compares the calculated similarity with a reference threshold to determine whether the target user is a registered user who can enter and exit the corresponding place. authenticate In an embodiment, the authenticator 1310 may calculate a similarity by performing a dot product operation on a target feature vector and user feature vectors belonging to a cluster closest to the target feature vector. The authentication unit 1310 may authenticate the target user as a registered user who is allowed to enter the corresponding place if the calculated similarity is greater than or equal to a reference threshold.

한편, 인증부(1310)는 가장 큰 유사도를 가진 클러스터에 매핑되어 있는 사용자를 타겟 사용자와 가장 유사한 사용자로 결정할 수 있다. 인증부(1310)는 가장 큰 유사도가 기준 임계값 이상이면, 타겟 사용자를 해당 클러스터에 매핑되어 있는 사용자로 최종 인증한다.Meanwhile, the authentication unit 1310 may determine a user mapped to a cluster having the greatest similarity as a user most similar to the target user. The authentication unit 1310 finally authenticates the target user as a user mapped to the corresponding cluster when the highest similarity is equal to or greater than the reference threshold.

얼굴인식모델(1320)은 얼굴인식서버(110)에 의해 생성되어 배포된 것으로서, 얼굴인식모델(1320)은 얼굴인식서버(110)에 의해 얼굴인식모델(235)이 트레이닝되어 갱신될 때마다 갱신된 얼굴인식모델(235)로 대체된다. 이때, 얼굴인식모델(1320)은 인터페이스부(1350)를 통해 얼굴인식서버(110)로부터 수신될 수 있다.The face recognition model 1320 is generated and distributed by the face recognition server 110, and the face recognition model 1320 is updated whenever the face recognition model 235 is trained and updated by the face recognition server 110. replaced with the face recognition model 235. At this time, the face recognition model 1320 may be received from the face recognition server 110 through the interface unit 1350 .

업데이트부(1330)는 미리 정해진 업데이트 주기마다 최적 기준이미지로부터 추출된 특징벡터들을 포함하는 복수개의 어레이로 구성된 신규 어레이 파일을 얼굴인식서버(110)로부터 수신하고, 기존 어레이 파일을 신규 어레이 파일로 변경한다.The update unit 1330 receives, from the face recognition server 110, a new array file composed of a plurality of arrays including feature vectors extracted from the optimal reference image at each predetermined update period, and changes the existing array file into a new array file. do.

업데이트부(1330)는 인터페이스부(1350)를 통해 얼굴인식서버(110)로부터 최적 기준이미지를 포함하는 어레이 파일 또는 기준 임계값이 수신되면 이를 제1 메모리(1342)에 업로드하여 인증부(1310)가 이를 이용하여 타겟 사용자를 인증할 수 있도록 한다. 특히, 본 발명에 따른 업데이트부(1330)는 어레이 파일 또는 기준 임계값을 동적으로 로딩할 수 있다.When an array file including an optimal reference image or a reference threshold value is received from the face recognition server 110 through the interface unit 1350, the update unit 1330 uploads it to the first memory 1342, and the authentication unit 1310 uses this to authenticate the target user. In particular, the update unit 1330 according to the present invention may dynamically load an array file or a reference threshold value.

구체적으로, 어레이 파일 업데이트부(1330)는 제1 메모리(1342)에 어레이 파일이 로딩되어 있을 때, 얼굴인식서버(110)로부터 신규 어레이 파일이 수신되는 경우 신규 어레이 파일을 제2 메모리(1344)에 로딩하고, 제2 메모리(1344)에 신규 레이 파일의 로딩이 완료되면 제1 메모리(1342)에 로딩되어 있는 어레이 파일을 제2 메모리(1344)에 로딩되어 있는 신규 어레이 파일로 대체한다.Specifically, when an array file is loaded in the first memory 1342, the array file update unit 1330, when a new array file is received from the face recognition server 110, transfers the new array file to the second memory 1344. and, when the loading of the new ray file into the second memory 1344 is completed, the array file loaded into the first memory 1342 is replaced with the new array file loaded into the second memory 1344.

업데이트부(1330)가 상술한 바와 같이 어레이 파일을 동적 로딩하는 이유는 인증부(1310)가 타겟 사용자에 대한 인증처리를 수행함과 동시에 업데이트부(1330)가 신규 어레이 파일을 업데이트할 수 있도록 함으로써 에지 디바이스(120)가 새롭게 업데이트된 어레이 파일을 기초로 실시간으로 얼굴인식이 수행될 수 있도록 하기 위함이다.The reason why the update unit 1330 dynamically loads the array file as described above is that the authentication unit 1310 performs the authentication process for the target user and at the same time allows the update unit 1330 to update a new array file. This is so that the device 120 can perform face recognition in real time based on the newly updated array file.

제1 메모리(1342)에는 인증부(1310)에 의해 이용되는 어레이 파일이 로딩되고, 제2 메모리(1344)에는 새롭게 수신된 신규 어레이 파일이 로딩된다. 제2 메모리(1344)에 신규 어레이 파일의 로딩이 완료되면 어레이 파일 업데이트부(1330)에 의해 제1 메모리(1342)에 기록된 어레이 파일이 신규 어레이 파일로 대체되게 된다.An array file used by the authentication unit 1310 is loaded into the first memory 1342, and a newly received new array file is loaded into the second memory 1344. When loading of the new array file into the second memory 1344 is completed, the array file recorded in the first memory 1342 is replaced by the new array file by the array file update unit 1330 .

인터페이스부(1350)는 에지 디바이스(120)와 얼굴인식서버(110)간의 데이터 송수신을 매개한다. 구체적으로, 인터페이스부(1350)는 얼굴인식서버(110)로부터 얼굴인식모델(1320)을 수신한다. 인터페이스부(1350)는 얼굴인식서버(110)로부터 어레이 파일을 수신하여 어레이 파일 업데이트부(1330)를 통해 제1 메모리(1342) 또는 제2 메모리(1344)에 로딩한다. 또한, 인터페이스부(1350)는 인증부(1330)에 의한 인증기록을 얼굴인식서버(110)로 주기적으로 전송한다. The interface unit 1350 mediates data transmission and reception between the edge device 120 and the face recognition server 110 . Specifically, the interface unit 1350 receives the face recognition model 1320 from the face recognition server 110 . The interface unit 1350 receives the array file from the face recognition server 110 and loads it into the first memory 1342 or the second memory 1344 through the array file update unit 1330 . In addition, the interface unit 1350 periodically transmits the authentication record by the authentication unit 1330 to the face recognition server 110 .

일 실시예에 있어서, 어레이 파일, 얼굴인식모델(1320), 및 클러스터 정보는 인터페이스부(1350)를 통해 미리 정해진 주기마다 업데이트될 수 있다.In one embodiment, the array file, face recognition model 1320, and cluster information may be updated through the interface unit 1350 at predetermined intervals.

상술한 바와 같이, 본 발명에 따르면 에지 디바이스(120)에는 얼굴인식을 위한 얼굴인식모델(1320), 어레이 파일, 기준임계치만 저장될 뿐 사용자의 얼굴이미지나 개인정보가 저장되지 않기 때문에 에지 디바이스(120)가 해킹되더라도 사용자의 개인정보가 유출될 염려가 없어 보안이 강화된다.As described above, according to the present invention, the edge device 120 stores only the face recognition model 1320 for face recognition, an array file, and a reference threshold, and no user's face image or personal information is stored in the edge device 120 ( 120) is hacked, the user's personal information is not leaked, so security is strengthened.

다시 도 1을 참조하면, 사용자 단말기(130)는 사용자를 신규 등록하기 위한 사용자 이미지를 사용자의 식별정보와 함께 얼굴인식서버(110)로 전송한다. 일 실시예에 있어서, 사용자 단말기(130)에는 얼굴인식서버(110)와 연동할 수 있는 얼굴등록 에이전트(미도시)가 탑재되어 있고, 사용자는 사용자 단말기(130) 상에서 얼굴등록 에이전트를 실행시킴으로써 사용자의 얼굴을 촬영한 이미지나 기 촬영된 이미지를 사용자 식별정보와 함께 얼굴인식서버(110)로 전송할 수 있다.Referring back to FIG. 1 , the user terminal 130 transmits a user image for newly registering a user to the face recognition server 110 together with user identification information. In one embodiment, the user terminal 130 is equipped with a face registration agent (not shown) capable of interoperating with the face recognition server 110, and the user executes the face registration agent on the user terminal 130 so that the user A photographed image of the face or a previously photographed image may be transmitted to the face recognition server 110 together with user identification information.

일 실시예에 있어서, 사용자 단말기(130)는 각 사용자 별로 복수개의 사용자 이미지를 등록하도록 요청할 수 있다. 이때, 각 사용자 별로 등록 요청되는 복수개의 이미지는 서로 다른 환경에서 촬영된 사진이거나 서로 다른 조명하에서 촬영된 사진일 수 있다.In one embodiment, the user terminal 130 may request to register a plurality of user images for each user. In this case, the plurality of images requested to be registered for each user may be photos taken in different environments or photos taken under different lighting.

사용자 단말기(130)는 얼굴인식서버(110)로 사용자 이미지를 전송하여 사용자 등록을 요청할 수 있는 것이라면 그 종류에 제한 없이 어떤 것이든 이용 가능하다. 예컨대, 사용자 단말기(130)는 스마트폰, 노트북, 데스크탑 또는 테플릿 PC등으로 구현될 수 있다.As long as the user terminal 130 can request user registration by transmitting a user image to the face recognition server 110, any type can be used without limitation. For example, the user terminal 130 may be implemented as a smart phone, a laptop computer, a desktop computer, or a tablet PC.

본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 타겟 특징벡터를 복수개의 클러스터들 중 하나에 속하는 사용자 특징벡터들과 비교하여 정당 사용자 여부를 인증하는 것을 특징으로 한다. 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 복수의 사용자 얼굴이미지로부터 추출된 사용자 특징벡터들을 유사한 사용자 특징벡터들끼리 군집화한다. 이때, 동일한 클러스터에 속하는 사용자 특징벡터들은 서로 유사하고, 상이한 클러스터에 속하는 사용자 특징벡터들은 이질적이라고 볼 수 있다. The face recognition system 100 according to an embodiment of the present invention compares a target feature vector with user feature vectors belonging to one of a plurality of clusters to authenticate whether a user is legitimate. The face recognition system 100 according to an embodiment of the present invention clusters user feature vectors extracted from a plurality of user face images with similar user feature vectors. In this case, user feature vectors belonging to the same cluster may be similar to each other, and user feature vectors belonging to different clusters may be regarded as heterogeneous.

본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 복수의 클러스터들 각각의 중심값을 중심으로 군집화를 수행하고, 각 클러스터에 속하는 사용자 특징벡터들의 평균 벡터와 분산이 최소가 될 때까지 중심값을 갱신하면서 군집화를 반복 수행할 수 있다. 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 사용자 특징벡터들을 복수의 클러스터들 중 하나에 할당할 때 코사인 거리를 이용하여 사용자 특징벡터들 각각과 유사도가 높은 클러스터를 찾아갈 수 있도록 한다. 이때, 유사도는 코사인 거리를 통해 산출될 수 있다. 코사인 거리는 유클리드 거리와 비교하여 연산 속도가 빠르므로, 사용자 특징벡터들을 빠르게 군집화할 수 있다. The face recognition system 100 according to an embodiment of the present invention performs clustering based on the central value of each of a plurality of clusters, until the average vector and variance of user feature vectors belonging to each cluster are minimized. Clustering can be repeated while updating values. When the face recognition system 100 according to an embodiment of the present invention assigns user feature vectors to one of a plurality of clusters, a cluster having a high similarity to each of the user feature vectors can be found using a cosine distance. . In this case, the degree of similarity may be calculated through a cosine distance. Since the cosine distance has a faster calculation speed than the Euclidean distance, user feature vectors can be quickly clustered.

한편, 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 타겟 특징벡터를 모든 사용자 특징벡터들과 비교하지 않고, 유사도가 높은 클러스터에 속하는 사용자 특징벡터들과만 비교할 수 있다. 기존의 얼굴인식 시스템(100)은 타겟 특징벡터를 모든 사용자 특징벡터들과 비교하여 타겟 사용자를 인증한다. 기존의 얼굴인식 시스템(100)은 타겟 특징벡터의 수와 사용자 특징벡터의 수가 증가하면, 비교 횟수가 급격하게 늘어나 인증처리 속도가 떨어질 수 있다. 예컨대, 타겟 특징벡터의 수가 M개이고, 사용자 특징벡터의 수가 N개이면, 기존의 얼굴인식 시스템(100)은 비교 횟수가 M*N이 되어, 인증처리에 따른 시간 복잡도가 O(M*N)이 된다. Meanwhile, the face recognition system 100 according to an embodiment of the present invention may not compare a target feature vector with all user feature vectors, but only user feature vectors belonging to a cluster with a high degree of similarity. The existing face recognition system 100 compares a target feature vector with all user feature vectors to authenticate a target user. In the conventional face recognition system 100, when the number of target feature vectors and the number of user feature vectors increase, the number of comparisons increases rapidly, and authentication processing speed may drop. For example, if the number of target feature vectors is M and the number of user feature vectors is N, in the existing face recognition system 100, the number of comparisons is M*N, and the time complexity according to the authentication process is O(M*N) becomes

반면, 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 타겟 특징벡터와 유사도가 높은 클러스터에 속하는 사용자 특징벡터들을 한번의 내적 연산을 통해 유사도를 산출할 수 있다. 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 먼저 타겟 특징벡터와 K개의 클러스터들 각각의 중심값과 비교하여 가장 유사도가 높은 클러스터를 결정하고, 결정된 클러스터에 속하는 사용자 특징벡터들과 타겟 특징벡터를 한번의 내적 연산하여 유사도를 산출할 수 있다. 이에, 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 비교 횟수가 K+M/K이 되어, 인증처리에 따른 시간 복잡도가 O(K+M/K)이 된다. 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 기존 얼굴인식 시스템과 비교하여 시간 복잡도가 크게 감소하므로, 인증처리 속도가 크게 향상될 수 있다.On the other hand, the face recognition system 100 according to an embodiment of the present invention may calculate a similarity of user feature vectors belonging to a cluster having a high similarity to a target feature vector through a single dot product operation. The face recognition system 100 according to an embodiment of the present invention first compares the target feature vector with the center value of each of the K clusters to determine a cluster having the highest similarity, and determines the user feature vectors belonging to the determined cluster and the target feature vector. The degree of similarity can be calculated by performing a dot product operation on the feature vector once. Accordingly, in the face recognition system 100 according to an embodiment of the present invention, the number of comparisons becomes K+M/K, and the time complexity according to the authentication process becomes O(K+M/K). Since the time complexity of the face recognition system 100 according to an embodiment of the present invention is greatly reduced compared to existing face recognition systems, the authentication processing speed can be greatly improved.

도 5는 본 발명의 일 실시예에 따른 얼굴인식 시스템에서 사용자 특징벡터들을 군집화하는 방법을 설명하기 위한 흐름도이다.5 is a flowchart illustrating a method of clustering user feature vectors in a face recognition system according to an embodiment of the present invention.

도 5를 참조하면, 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 복수의 사용자 이미지들 각각으로부터 사용자 특징벡터를 추출한다(S501). Referring to FIG. 5 , the face recognition system 100 according to an embodiment of the present invention extracts a user feature vector from each of a plurality of user images (S501).

본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 사용자 이미지로부터 얼굴인식에 이용될 입력 이미지를 생성하고, 생성된 복수개의 입력 이미지를 얼굴인식모델에 입력한다. 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 얼굴인식모델을 통해 얼굴영역이 포함된 얼굴이미지를 획득하고, 획득된 얼굴이미지로부터 사용자 특징벡터를 추출할 수 있다. The face recognition system 100 according to an embodiment of the present invention generates an input image to be used for face recognition from a user image, and inputs a plurality of generated input images to a face recognition model. The face recognition system 100 according to an embodiment of the present invention may acquire a face image including a face region through a face recognition model, and extract a user feature vector from the acquired face image.

다음, 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 K개의 클러스터들 각각에 대한 초기 중심값을 선택한다(S502). 일 실시예에 있어서, 초기 중심값 선택부(241)는 미리 정한 범위 내에서 K개의 중심값을 무작위로 선택할 수 있다.Next, the face recognition system 100 according to an embodiment of the present invention selects an initial center value for each of the K clusters (S502). In one embodiment, the initial center value selector 241 may randomly select K center values within a predetermined range.

다음, 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 복수개의 사용자 특징벡터들을 K개의 클러스터들 각각의 초기 중심값을 기초로 군집화한다(S503). Next, the face recognition system 100 according to an embodiment of the present invention clusters a plurality of user feature vectors based on the initial center value of each of the K clusters (S503).

본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 복수개의 사용자 특징벡터들 각각에 대하여 가장 가까운 또는 가장 유사도가 높은 클러스터를 탐색할 수 있다. 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 K개의 클러스터들의 초기 중심값들 각각과 사용자 특징벡터 간의 유사도를 산출할 수 있다. The face recognition system 100 according to an embodiment of the present invention may search for a cluster having the closest or highest similarity to each of a plurality of user feature vectors. The face recognition system 100 according to an embodiment of the present invention may calculate a similarity between each of the initial central values of the K clusters and the user feature vector.

일 실시예에 있어서, 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 K개의 클러스터들의 초기 중심값들 각각과 사용자 특징벡터 간의 코사인 거리(cosine distance)를 이용하여 유사도를 산출할 수 있다.In an embodiment, the face recognition system 100 according to an embodiment of the present invention may calculate similarity using a cosine distance between each of the initial center values of K clusters and a user feature vector. .

본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 K개의 클러스터들 중 가장 유사도가 높은 클러스터를 결정하고, 결정된 클러스터에 사용자 특징벡터가 속하도록 할 수 있다. 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 가장 유사도가 높은 중심값을 가진 클러스터를 유사도가 높은 클러스터로 결정할 수 있다. 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 사용자 특징벡터에 결정된 클러스터에 상응하는 클러스터 식별정보를 할당할 수 있다.The face recognition system 100 according to an embodiment of the present invention may determine a cluster having the highest similarity among K clusters, and allow a user feature vector to belong to the determined cluster. The face recognition system 100 according to an embodiment of the present invention may determine a cluster having a central value having the highest similarity as a cluster having a high similarity. The face recognition system 100 according to an embodiment of the present invention may allocate cluster identification information corresponding to the determined cluster to the user feature vector.

다음, 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 K개의 클러스터들 각각의 초기 중심값을 갱신한다(S504). Next, the face recognition system 100 according to an embodiment of the present invention updates the initial center value of each of the K clusters (S504).

본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 군집화된 K개의 클러스터들 각각에 대한 초기 중심값을 갱신할 수 있다. 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 군집화된 K개의 클러스터들 각각에 속한 사용자 특징벡터들을 기초로 초기 중심값을 갱신할 수 있다. 일 실시예에 있어서, 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 해당 클러스터에 속한 사용자 특징벡터들의 중심점을 해당 클러스터의 중심값으로 갱신할 수 있다. The face recognition system 100 according to an embodiment of the present invention may update an initial center value for each of the K clusters. The face recognition system 100 according to an embodiment of the present invention may update an initial center value based on user feature vectors belonging to each of the clustered K clusters. In an embodiment, the face recognition system 100 according to an embodiment of the present invention may update the central point of user feature vectors belonging to a corresponding cluster to a central value of the corresponding cluster.

다음, 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 복수개의 사용자 특징벡터들을 K개의 클러스터들 각각의 갱신된 중심값을 기초로 다시 군집화한다(S505). Next, the face recognition system 100 according to an embodiment of the present invention clusters the plurality of user feature vectors again based on the updated center value of each of the K clusters (S505).

본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 K개의 클러스터들의 갱신된 중심값들 각각과 사용자 특징벡터 간의 유사도를 산출할 수 있다. The face recognition system 100 according to an embodiment of the present invention may calculate a similarity between each of the updated central values of the K clusters and the user feature vector.

일 실시예에 있어서, 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 K개의 클러스터들의 갱신된 중심값들 각각과 사용자 특징벡터 간의 코사인 거리(cosine distance)를 이용하여 유사도를 산출할 수 있다.In an embodiment, the face recognition system 100 according to an embodiment of the present invention may calculate similarity using a cosine distance between each of the updated center values of K clusters and a user feature vector. there is.

본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 가장 유사도가 높은 중심값을 가진 클러스터를 유사도가 높은 클러스터로 결정할 수 있다. 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 사용자 특징벡터에 결정된 클러스터에 상응하는 클러스터 식별정보를 다시 할당할 수 있다.The face recognition system 100 according to an embodiment of the present invention may determine a cluster having a central value having the highest similarity as a cluster having a high similarity. The face recognition system 100 according to an embodiment of the present invention may reassign cluster identification information corresponding to the determined cluster to the user feature vector.

다음, 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 기존 클러스터들과 새로 군집화된 클러스터들을 비교하고(S506), 서로 상이하면, S504 및 S505를 다시 수행한다. 한편, 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 기존 클러스터들과 새로 군집화된 클러스터들이 동일하면, 군집화를 중지한다. Next, the face recognition system 100 according to an embodiment of the present invention compares existing clusters with newly clustered clusters (S506), and if they are different, performs S504 and S505 again. Meanwhile, the face recognition system 100 according to an embodiment of the present invention stops clustering when existing clusters and newly clustered clusters are the same.

도 6은 본 발명의 일 실시예에 따른 얼굴인식 시스템에서 타겟 사용자를 인증하는 방법을 설명하기 위한 흐름도이다. 6 is a flowchart illustrating a method of authenticating a target user in a face recognition system according to an embodiment of the present invention.

도 6을 참조하면, 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 타겟 얼굴 이미지가 입력되면(S601), 타겟 얼굴 이미지로부터 타겟 특징벡터를 추출한다(S602).Referring to FIG. 6 , when a target face image is input (S601), the face recognition system 100 according to an embodiment of the present invention extracts a target feature vector from the target face image (S602).

본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 타겟 얼굴 이미지로부터 입력 이미지를 생성하고, 생성된 입력 이미지를 얼굴인식모델에 입력한다. 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 얼굴인식모델을 통해 얼굴영역이 포함된 얼굴이미지를 획득하고, 획득된 얼굴이미지로부터 타겟 특징벡터를 추출할 수 있다. The face recognition system 100 according to an embodiment of the present invention generates an input image from a target face image and inputs the generated input image to a face recognition model. The face recognition system 100 according to an embodiment of the present invention may acquire a face image including a face region through a face recognition model, and extract a target feature vector from the acquired face image.

다음, 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 K개의 클러스터들 중 타겟 특징벡터와 유사한 클러스터를 결정한다(S603). Next, the face recognition system 100 according to an embodiment of the present invention determines a cluster similar to the target feature vector among the K clusters (S603).

본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 K개의 클러스터들 중 타겟 특징벡터와 가장 가까운 또는 유사도가 높은 클러스터를 탐색한다. 이를 위하여, 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 K개의 클러스터들의 중심값들 각각과 타겟 특징벡터 간의 거리를 산출한다.The face recognition system 100 according to an embodiment of the present invention searches for a cluster that is closest to or has a high similarity to a target feature vector among K clusters. To this end, the face recognition system 100 according to an embodiment of the present invention calculates a distance between each of the central values of the K clusters and the target feature vector.

일 실시예에 있어서, 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 K개의 클러스터들의 중심값들 각각과 타겟 특징벡터 간의 코사인 거리(cosine distance)를 산출할 수 있다. In an embodiment, the face recognition system 100 according to an embodiment of the present invention may calculate a cosine distance between each of the central values of the K clusters and the target feature vector.

본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 K개의 클러스터들 중 가장 유사도가 높은 클러스터를 결정한다. 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 가장 유사도가 높은 중심값을 가진 클러스터를 유사도가 높은 클러스터로 결정할 수 있다.The face recognition system 100 according to an embodiment of the present invention determines a cluster having the highest similarity among K clusters. The face recognition system 100 according to an embodiment of the present invention may determine a cluster having a central value having the highest similarity as a cluster having a high similarity.

다음, 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 타겟 특징벡터를 유사도가 높은 클러스터에 속하는 사용자 특징벡터들과 비교한다(S604).Next, the face recognition system 100 according to an embodiment of the present invention compares the target feature vector with user feature vectors belonging to a cluster having a high degree of similarity (S604).

본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 복수의 어레이들 중 유사도가 높은 클러스터에 상응하는 식별정보를 포함하는 어레이들과 타겟 특징벡터를 비교한다. The face recognition system 100 according to an embodiment of the present invention compares a target feature vector with arrays including identification information corresponding to a cluster having a high degree of similarity among a plurality of arrays.

본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 타겟 특징벡터와 유사도가 높은 클러스터에 속하는 사용자 특징벡터들을 비교하여 유사도를 산출한다. 일 실시예에 있어서, 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 타겟 특징벡터와 사용자 특징벡터들 간의 유클리드 거리(Euclidean distance) 또는 코사인 거리(Cosine distance)를 통해 유사도를 산출할 수 있다.The face recognition system 100 according to an embodiment of the present invention compares user feature vectors belonging to a cluster having a high degree of similarity with a target feature vector to calculate a degree of similarity. In an embodiment, the face recognition system 100 according to an embodiment of the present invention may calculate a similarity through a Euclidean distance or a cosine distance between a target feature vector and a user feature vector. there is.

다음, 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 타겟 특징벡터와 사용자 특징벡터들 간의 유사도가 기준 임계값 이상이면(S605), 타겟 사용자를 정당 사용자로 인증한다(S606).Next, the face recognition system 100 according to an embodiment of the present invention authenticates the target user as a legitimate user when the similarity between the target feature vector and the user feature vectors is equal to or greater than a reference threshold (S605).

본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 가장 큰 유사도를 가진 사용자 특징벡터에 대응되는 사용자를 타겟 사용자와 가장 유사한 사용자로 결정한다. 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 가장 큰 유사도가 기준 임계값 이상이면, 타겟 사용자를 해당 사용자로 최종 인증한다.The face recognition system 100 according to an embodiment of the present invention determines the user corresponding to the user feature vector having the greatest degree of similarity as the most similar user to the target user. The face recognition system 100 according to an embodiment of the present invention finally authenticates the target user as the corresponding user when the highest degree of similarity is equal to or greater than a reference threshold.

한편, 본 발명의 일 실시예에 따른 얼굴인식 시스템(100)은 가장 큰 유사도가 기준 임계값 미만이면, 타겟 사용자에 대한 인증을 거절한다(S607).On the other hand, the face recognition system 100 according to an embodiment of the present invention rejects the authentication of the target user when the highest similarity is less than the reference threshold (S607).

본 발명이 속하는 기술분야의 당업자는 상술한 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.Those skilled in the art to which the present invention pertains will be able to understand that the above-described present invention may be embodied in other specific forms without changing its technical spirit or essential features.

예컨대, 도 2에 도시된 얼굴인식서버의 구성 및 도 4에 도시된 에지 디바이스의 구성은 프로그램 형태로 구현될 수도 있을 것이다. 본 발명에 따른 얼굴인식서버의 구성 및 에지 디바이스의 구성이 프로그램으로 구현되는 경우, 도 2 및 도 4에 도시된 각 구성들이 코드로 구현되고, 특정 기능을 구현하기 위한 코드들이 하나의 프로그램으로 구현되거나, 복수개의 프로그램을 분할되어 구현될 수도 있을 것이다.For example, the configuration of the face recognition server shown in FIG. 2 and the configuration of the edge device shown in FIG. 4 may be implemented in the form of a program. When the configuration of the face recognition server and the configuration of the edge device according to the present invention are implemented as a program, each configuration shown in FIGS. 2 and 4 is implemented as a code, and codes for implementing specific functions are implemented as a program Alternatively, a plurality of programs may be divided and implemented.

본 명이 속하는 기술분야의 당업자는 상술한 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다.Those skilled in the art to which the present invention pertains will be able to understand that the above-described present invention may be embodied in other specific forms without changing its technical spirit or essential features.

그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Therefore, it should be understood that the embodiments described above are illustrative in all respects and not limiting. The scope of the present invention is indicated by the following claims rather than the detailed description above, and all changes or modifications derived from the meaning and scope of the claims and equivalent concepts should be construed as being included in the scope of the present invention. do.

100: 얼굴인식 시스템 110: 얼굴인식서버
120: 에지 디바이스 130: 사용자 단말기
210: 에지디바이스 관리부 220: 사용자 등록부
225: 입력 이미지 생성부 230: 사용자 얼굴인식부
235: 얼굴인식모델 240: 특징벡터 클러스터링부
245: 어레이 파일 생성부 280: 얼굴인식모델 트레이닝부
100: face recognition system 110: face recognition server
120: edge device 130: user terminal
210: Edge device management unit 220: User registration unit
225: input image generation unit 230: user face recognition unit
235: face recognition model 240: feature vector clustering unit
245: array file generation unit 280: face recognition model training unit

Claims (13)

복수의 사용자 이미지들을 얼굴인증모델에 입력하여 복수개의 사용자 특징벡터들을 추출하는 사용자 얼굴 인식부;
K개의 클러스터들 각각에 대한 중심값을 기초로 상기 복수개의 사용자 특징벡터들을 군집화하는 특징벡터 클러스터링부;
타겟 얼굴 이미지를 상기 얼굴인증모델에 입력하여 타겟 특징벡터를 추출하는 타켓 얼굴 인식부; 및
상기 타겟 특징벡터를 상기 K개의 클러스터들 중 하나에 속한 사용자 특징벡터들과 비교하여 정당 사용자 여부를 인증하는 인증부를 포함하고,
상기 K개의 클러스터들 각각은 서로 다른 사용자들의 사용자 특징벡터들을 포함하고,
상기 인증부는 상기 타겟 특징벡터와 상기 K개의 클러스터들 각각의 중심값들 간의 거리를 산출하고, 거리가 가장 작은 중심값을 가지는 클러스터를 유사 클러스터로 결정하며, 상기 유사 클러스터에 속하는 사용자 특징벡터들 각각과 상기 타겟 특징벡터 간의 유사도를 산출하고, 상기 산출된 유사도들 중 가장 큰 유사도가 임계값 이상이면 정당 사용자로 인증하고, 상기 가장 큰 유사도가 임계값 미만이면, 인증을 거절하는 것을 특징으로 하는 클러스터링 기법을 이용하여 얼굴이미지를 비교하는 얼굴인증 시스템.
a user face recognition unit inputting a plurality of user images to a face authentication model and extracting a plurality of user feature vectors;
a feature vector clustering unit clustering the plurality of user feature vectors based on a central value of each of the K clusters;
a target face recognition unit inputting a target face image to the face authentication model and extracting a target feature vector; and
An authentication unit that compares the target feature vector with user feature vectors belonging to one of the K clusters and authenticates whether or not the user is legitimate;
Each of the K clusters includes user feature vectors of different users,
The authenticator calculates the distance between the target feature vector and the central values of each of the K clusters, determines a cluster having the smallest distance as the similar cluster, and determines each of the user feature vectors belonging to the similar cluster. Clustering characterized by calculating a similarity between the target feature vector and the calculated similarity, authenticating as a legitimate user if the greatest similarity among the calculated similarities is greater than or equal to a threshold, and rejecting authentication if the greatest similarity is less than the threshold. A face recognition system that compares face images using a technique.
제1항에 있어서, 상기 특징벡터 클러스터링부는,
상기 복수개의 사용자 특징벡터들을 상기 K개의 클러스터들 각각의 중심값을 기초로 군집화하는 군집화부; 및
상기 군집화된 K개의 클러스터들 각각에 속한 사용자 특징벡터들을 이용하여 중심값을 갱신하는 중심값 갱신부를 포함하는 것을 특징으로 하는 클러스터링 기법을 이용하여 얼굴이미지를 비교하는 얼굴인증 시스템.
The method of claim 1, wherein the feature vector clustering unit,
a clustering unit which clusters the plurality of user feature vectors based on the center value of each of the K clusters; and
and a center value updating unit for updating a center value using user feature vectors belonging to each of the clustered K clusters.
제2항에 있어서,
상기 군집화부는 기존의 클러스터들과 새로 군집화된 클러스터들이 상이하면, 상기 복수개의 사용자 특징벡터들을 상기 K개의 클러스터들 각각의 갱신된 중심값을 기초로 재군집화하는 것을 특징으로 하는 클러스터링 기법을 이용하여 얼굴이미지를 비교하는 얼굴인증 시스템.
According to claim 2,
The clustering unit re-clusters the plurality of user feature vectors based on the updated center value of each of the K clusters when the existing clusters and newly clustered clusters are different, using a clustering technique. A face recognition system that compares images.
제2항에 있어서,
상기 군집화부는 기존의 클러스터들과 새로 군집화된 클러스터들이 동일하면, 상기 군집화된 클러스터들을 상기 인증부에 전달하는 클러스터링 기법을 이용하여 얼굴이미지를 비교하는 얼굴인증 시스템.
According to claim 2,
The face authentication system of claim 1 , wherein the clustering unit compares face images by using a clustering technique that transmits the clustered clusters to the authentication unit if existing clusters and newly clustered clusters are the same.
제2항에 있어서,
상기 군집화부는 사용자 특징벡터와 상기 K개의 클러스터들 각각의 중심값들 간의 거리를 산출하고, 상기 사용자 특징벡터가 거리가 가장 작은 중심값을 가지는 클러스터에 속하도록 군집화하는 것을 특징으로 하는 클러스터링 기법을 이용하여 얼굴이미지를 비교하는 얼굴인증 시스템.
According to claim 2,
The clustering unit calculates the distance between the user feature vector and the central values of each of the K clusters, and clusters the user feature vector so that it belongs to the cluster having the smallest distance. A face recognition system that compares face images by using
제5항에 있어서,
상기 군집화부는 상기 K개의 클러스터들의 중심값들 각각과 상기 사용자 특징벡터 간의 코사인 거리(cosine distance)를 산출하는 것을 특징으로 하는 클러스터링 기법을 이용하여 얼굴이미지를 비교하는 얼굴인증 시스템.
According to claim 5,
The face authentication system for comparing face images using a clustering technique, characterized in that the clustering unit calculates a cosine distance between each of the central values of the K clusters and the user feature vector.
삭제delete 제1항에 있어서,
상기 인증부는 상기 타겟 특징벡터와 상기 K개의 클러스터들 각각의 중심값들 간의 코사인 거리를 산출하는 것을 특징으로 하는 클러스터링 기법을 이용하여 얼굴이미지를 비교하는 얼굴인증 시스템.
According to claim 1,
The face authentication system for comparing face images using a clustering technique, characterized in that the authentication unit calculates a cosine distance between the target feature vector and center values of each of the K clusters.
제1항에 있어서,
상기 인증부는 상기 유사 클러스터에 속하는 사용자 특징벡터들 각각과 상기 타겟 특징벡터 간의 코사인 거리를 산출하며, 상기 산출된 값이 임계값 이상이면 정당 사용자로 인증하는 것을 특징으로 하는 클러스터링 기법을 이용하여 얼굴이미지를 비교하는 얼굴인증 시스템.
According to claim 1,
The authentication unit calculates a cosine distance between each of the user feature vectors belonging to the similar cluster and the target feature vector, and if the calculated value is greater than or equal to a threshold value, the face image is authenticated as a legitimate user. A face recognition system that compares
인증대상이 되는 타겟 사용자의 촬영 이미지를 획득하는 촬영부;
상기 촬영 이미지를 기초로 생성된 입력 이미지를 얼굴인증모델에 입력하여 타겟 특징벡터들을 추출하는 타겟 얼굴인식부;
상기 타겟 특징벡터를 복수의 사용자들 각각의 얼굴이미지로부터 추출된 사용자 특징벡터들, 각 사용자 특징벡터의 클러스터 식별정보, 및 각 사용자의 식별정보를 갖는 복수개의 어레이로 구성된 어레이 파일과 비교하여 상기 타겟 사용자를 인증하는 인증부; 및
얼굴인식 서버로부터 상기 어레이 파일, 얼굴인식모델 및 K개의 클러스터들 각각의 중심값 정보를 수신하는 인터페이스부를 포함하고,
상기 인증부는 상기 타겟 특징벡터와 상기 K개의 클러스터들 각각의 중심값들 간의 거리를 산출하고, 거리가 가장 작은 중심값을 가지는 클러스터를 유사 클러스터로 결정하며, 상기 유사 클러스터에 상응하는 식별정보를 포함하는 복수의 어레이들 각각과 상기 타겟 특징벡터 간의 유사도를 산출하고, 상기 산출된 유사도들 중 가장 큰 유사도가 임계값 이상이면 상기 타겟 사용자를 정당 사용자로 인증하고, 상기 가장 큰 유사도가 임계값 미만이면, 상기 타겟 사용자에 대한 인증을 거절하는 것을 특징으로 하는 클러스터링 기법을 이용하여 얼굴이미지를 비교하는 에지 디바이스.
a photographing unit acquiring a photographed image of a target user to be authenticated;
a target face recognition unit extracting target feature vectors by inputting an input image generated based on the captured image to a face authentication model;
The target feature vector is compared with an array file composed of a plurality of arrays having user feature vectors extracted from face images of each of a plurality of users, cluster identification information of each user feature vector, and identification information of each user, and the target feature vector is compared. Authentication unit for authenticating the user; and
An interface unit for receiving center value information of each of the array file, face recognition model, and K clusters from a face recognition server;
The authentication unit calculates the distance between the target feature vector and the central values of each of the K clusters, determines a cluster having the smallest central value as a similar cluster, and includes identification information corresponding to the similar cluster. Calculate a similarity between each of a plurality of arrays and the target feature vector, and if the highest similarity among the calculated similarities is greater than or equal to a threshold value, the target user is authenticated as a legitimate user, and if the highest similarity value is less than the threshold value , Edge device for comparing face images using a clustering technique, characterized in that for rejecting the authentication of the target user.
제10항에 있어서,
상기 클러스터 식별정보는 상기 K개의 클러스터들 중 해당 사용자 특징벡터와 유사한 사용자 특징벡터들로 이루어진 클러스터에 대한 식별값을 포함하는 것을 특징으로 하는 클러스터링 기법을 이용하여 얼굴이미지를 비교하는 에지 디바이스.
According to claim 10,
The cluster identification information includes an identification value for a cluster consisting of user feature vectors similar to the corresponding user feature vector among the K clusters.
삭제delete 삭제delete
KR1020200189528A 2020-12-31 2020-12-31 Edge device comparing face images using clustering technique and face authentication system having the same KR102546327B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200189528A KR102546327B1 (en) 2020-12-31 2020-12-31 Edge device comparing face images using clustering technique and face authentication system having the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200189528A KR102546327B1 (en) 2020-12-31 2020-12-31 Edge device comparing face images using clustering technique and face authentication system having the same

Publications (2)

Publication Number Publication Date
KR20220096778A KR20220096778A (en) 2022-07-07
KR102546327B1 true KR102546327B1 (en) 2023-06-20

Family

ID=82397777

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200189528A KR102546327B1 (en) 2020-12-31 2020-12-31 Edge device comparing face images using clustering technique and face authentication system having the same

Country Status (1)

Country Link
KR (1) KR102546327B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116792370B (en) * 2023-08-29 2023-11-21 德州华海石油机械股份有限公司 TPB intelligent safety alarm method and system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100842310B1 (en) * 2007-06-21 2008-06-30 (주)엔써즈 Method and system for clustering moving picture date according to the sameness with each other
JP2019525214A (en) * 2016-06-30 2019-09-05 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited voice recognition

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100435440B1 (en) * 2002-03-18 2004-06-10 정희석 Variable sized- Clustering apparatus and method for better discrimination of the inter-speaker variation, Speaker Verification apparatus and method based on new VQ/HMM technique
KR20080067793A (en) * 2007-01-17 2008-07-22 전준철 Real-time face recognition based on subspace and lvq classifier
KR20160011916A (en) * 2014-07-23 2016-02-02 삼성전자주식회사 Method and apparatus of identifying user using face recognition
KR102184490B1 (en) * 2018-12-24 2020-11-30 주식회사 포스코아이씨티 Edge Device for Face Recognition

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100842310B1 (en) * 2007-06-21 2008-06-30 (주)엔써즈 Method and system for clustering moving picture date according to the sameness with each other
JP2019525214A (en) * 2016-06-30 2019-09-05 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited voice recognition

Also Published As

Publication number Publication date
KR20220096778A (en) 2022-07-07

Similar Documents

Publication Publication Date Title
KR102137329B1 (en) Face Recognition System for Extracting Feature Vector Using Face Recognition Model Based on Deep Learning
WO2020207189A1 (en) Method and device for identity authentication, storage medium, and computer device
KR102161359B1 (en) Apparatus for Extracting Face Image Based on Deep Learning
WO2021232832A1 (en) Data processing method, training method for federated learning and related apparatus, and device
KR102294574B1 (en) Face Recognition System For Real Image Judgment Using Face Recognition Model Based on Deep Learning
US7822237B2 (en) Image matching apparatus, image matching method, and image matching program
KR102184490B1 (en) Edge Device for Face Recognition
US11837061B2 (en) Techniques to provide and process video data of automatic teller machine video streams to perform suspicious activity detection
CN106030654A (en) Face authentication system
WO2022033220A1 (en) Face liveness detection method, system and apparatus, computer device, and storage medium
KR102308122B1 (en) Server And System for Face Recognition Using The Certification Result
WO2022188697A1 (en) Biological feature extraction method and apparatus, device, medium, and program product
KR102184493B1 (en) System for Face Recognition Based On AI
WO2021047482A1 (en) Method and system for performing steganographic technique
Hore et al. A real time dactylology based feature extractrion for selective image encryption and artificial neural network
US20220327189A1 (en) Personalized biometric anti-spoofing protection using machine learning and enrollment data
KR102546327B1 (en) Edge device comparing face images using clustering technique and face authentication system having the same
KR102312152B1 (en) Face Recognition Server For Reflecting Space-Time Environment and Face Recognition System Having The Same
US20220277579A1 (en) Clustered dynamic graph convolutional neural network (cnn) for biometric three-dimensional (3d) hand recognition
KR20220043905A (en) Face recognition system for training face recognition model using frequency components
Saračevič et al. Possibilities of applying the triangulation method in the biometric identification process
KR102137328B1 (en) Face Recognition Service Providing System for Training Face Recognition Model Using Error Reduction Algorithm
US20220383663A1 (en) Method for obtaining data from an image of an object of a user that has a biometric characteristic of the user
Arora et al. Cryptography and Tay-Grey wolf optimization based multimodal biometrics for effective security
KR20220043842A (en) Edge device for recognizing a face wearing a mask and system for recognizing a face wearing a mask

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant