KR102103557B1 - Method for face recognition, apparatus for face recognition and computer program for the same - Google Patents

Method for face recognition, apparatus for face recognition and computer program for the same Download PDF

Info

Publication number
KR102103557B1
KR102103557B1 KR1020190052417A KR20190052417A KR102103557B1 KR 102103557 B1 KR102103557 B1 KR 102103557B1 KR 1020190052417 A KR1020190052417 A KR 1020190052417A KR 20190052417 A KR20190052417 A KR 20190052417A KR 102103557 B1 KR102103557 B1 KR 102103557B1
Authority
KR
South Korea
Prior art keywords
face
feature vector
stored
recognition
facial feature
Prior art date
Application number
KR1020190052417A
Other languages
Korean (ko)
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 KR1020190052417A priority Critical patent/KR102103557B1/en
Application granted granted Critical
Publication of KR102103557B1 publication Critical patent/KR102103557B1/en

Links

Images

Classifications

    • 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
    • G06V40/168Feature extraction; Face representation
    • G06K9/00268
    • G06K9/00288
    • G06K9/481
    • 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
    • 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
    • G06V40/172Classification, e.g. identification

Abstract

The present invention relates to a face recognition method, a face recognition apparatus, and a computer program therefor. According to an embodiment of the present invention, disclosed are the face recognition method, the face recognition apparatus, and the computer program therefor. In the face recognition method, face recognition of a recognition target included in an input image frame is executed and face discrimination processing based on a face feature vector stored in a memory cache and face discrimination processing based on a face feature vector stored in a face database are interlocked to be executed so that excessive database transactions are prevented when processing real-time repetitive face recognition and the real-time face recognizing speed and accuracy can be increased.

Description

얼굴 인식 방법, 얼굴 인식 장치, 이를 위한 컴퓨터 프로그램 {Method for face recognition, apparatus for face recognition and computer program for the same}Method for face recognition, apparatus for face recognition and computer program for the same}

본 발명은 얼굴 인식 방법, 얼굴 인식 장치, 이를 위한 컴퓨터 프로그램에 관한 것으로서, 입력된 영상 프레임에 포함된 인식 대상자의 얼굴 인식을 실행하되, 메모리 캐시에 저장한 얼굴 특징 벡터에 기초한 얼굴 판별 처리와 얼굴 데이터베이스에 저장한 얼굴 특징 벡터에 기초한 얼굴 판별 처리를 연동하여 실행함으로써, 실시간 반복적인 얼굴 인식 처리 시에 과도한 데이터베이스 트랜잭션을 방지하고 실시간 얼굴 인식 속도 및 정확성을 향상하도록 구성된 얼굴 인식 방법, 얼굴 인식 장치, 이를 위한 컴퓨터 프로그램에 관한 것이다. The present invention relates to a face recognition method, a face recognition device, and a computer program therefor, which performs face recognition of a recognition target included in the input image frame, and performs face recognition processing and face based on a face feature vector stored in a memory cache. A face recognition method, a face recognition device configured to prevent excessive database transactions and improve real-time face recognition speed and accuracy in real-time repetitive face recognition processing by interlocking and executing face recognition processing based on face feature vectors stored in a database. It relates to a computer program for this.

출입을 위한 보안 인증 또는 인물 정보 수집 등 다양한 목적으로 얼굴 인식이 이뤄지고 있다. Face recognition is performed for various purposes, such as security authentication for access or collecting personal information.

일예로, 얼굴 인식은 얼굴 인식 프로그램이 설치된 얼굴 인식 장치에서 실행되며, 카메라를 통해 입력된 영상 프레임으로부터 인식 대상자의 얼굴 특징 벡터를 추출하고, 얼굴 인식 장치에서 액세스 가능한 얼굴 데이터베이스에 저장된 얼굴 특징 벡터와 추출된 얼굴 특징 벡터를 비교하여 얼굴 판별 처리를 하는 방식으로 실행된다. As an example, face recognition is performed on a face recognition device having a face recognition program installed, extracts a face feature vector of a recognition target from an image frame input through a camera, and a face feature vector stored in a face database accessible from the face recognition device. It is executed by comparing the extracted facial feature vectors and performing face discrimination processing.

얼굴 인식은 하나의 영상 프레임을 이용하여 실행될 수도 있으며, 복수의 영상 프레임이 포함된 동영상 프레임을 이용하여 실행될 수도 있다. Face recognition may be performed using one image frame, or may be performed using a video frame including a plurality of image frames.

일예로, 동영상 프레임을 이용하여 실시간 얼굴 인식 처리를 하기 위해서는 최소 20 FPS(Frame Per Second) 이상 입력되는 동영상 프레임에 대해서 전송 속도, 얼굴 영역 검출, 얼굴 랜드마크 검출, 얼굴 특징 벡터 추출, 얼굴 특징 벡터 비교까지 일련의 고속 연산처리를 위한 많은 컴퓨팅 자원의 소모가 발생된다. For example, in order to perform real-time face recognition processing using a video frame, for a video frame input at least 20 frames per second (FPS), transmission speed, face area detection, face landmark detection, face feature vector extraction, face feature vector Until comparison, a lot of computing resources are consumed for a series of high-speed operation processing.

그런데, 종래의 얼굴 인식 장치는 얼굴 데이터베이스에 저장된 얼굴 특징 벡터를 이용하여 얼굴 인식을 실행하므로, 얼굴 데이터베이스에 액세스하는 처리 속도의 한계로 인해 다수의 영상 프레임을 고속으로 처리하는데 한계가 있었다. However, the conventional face recognition apparatus performs face recognition using a face feature vector stored in the face database, and thus has a limitation in processing a plurality of image frames at high speed due to a limitation in processing speed of accessing the face database.

특히, 정확한 얼굴 판별 처리를 위해서는 하나의 영상 프레임보다는 복수의 영상 프레임이 포함된 동영상 프레임을 이용한 얼굴 인식 처리가 바람직하지만, 하나의 개별 영상 프레임마다 하드디스크 또는 SSD(Solid State Drive)와 같은 비휘발성 저장장치에 저장된 얼굴 데이터베이스에 액세스하여 얼굴 판별 처리를 하는 종래 방식으로는 고속 고정밀도의 얼굴 인식 처리를 구현하는데 한계가 있었다. In particular, for accurate face recognition processing, face recognition processing using a video frame including a plurality of video frames is preferable rather than one video frame, but for each individual video frame, non-volatile, such as a hard disk or solid state drive (SSD) In the conventional method of accessing the face database stored in the storage device and performing face identification processing, there is a limitation in implementing high-speed high-precision face recognition processing.

대한민국 공개특허 10-2008-0046490 (2008년05월27일 공개)Republic of Korea Patent Publication 10-2008-0046490 (released on May 27, 2008) 대한민국 등록특허 10-0486738 (2005년04월22일 등록)Republic of Korea Registered Patent 10-0486738 (Registered on April 22, 2005) 대한민국 공개특허 특1999-0050271 (1999년07월05일 공개)Republic of Korea Patent Special 1999-0050271 (released on July 5, 1999)

본 발명은 상기와 같은 종래의 문제점을 감안하여 안출한 것으로서, 입력된 영상 프레임에 포함된 인식 대상자의 얼굴 인식을 실행하되, 메모리 캐시에 저장한 얼굴 특징 벡터에 기초한 얼굴 판별 처리와 얼굴 데이터베이스에 저장한 얼굴 특징 벡터에 기초한 얼굴 판별 처리를 연동하여 실행함으로써, 실시간 반복적인 얼굴 인식 처리 시에 과도한 데이터베이스 트랜잭션을 방지하고 실시간 얼굴 인식 속도 및 정확성을 향상하도록 구성된 얼굴 인식 방법, 얼굴 인식 장치, 이를 위한 컴퓨터 프로그램을 제공하는 것을 목적으로 한다.The present invention has been devised in view of the above-described conventional problems, and performs face recognition of the recognition target included in the input image frame, but stores the face recognition process and the face database based on the face feature vector stored in the memory cache. Face recognition method, face recognition device, and computer therefor configured to prevent excessive database transactions and improve real-time face recognition speed and accuracy in real-time repetitive face recognition processing by interlocking and executing face recognition processing based on one face feature vector The aim is to provide a program.

상기 기술적 과제를 해결하기 위한 본 발명의 일측면에 따르면, 얼굴 데이터베이스를 비휘발성 저장장치에 저장하며 메인 메모리와 프로세서, 메모리 캐시를 구비한 얼굴 인식 장치에서 실행하는 얼굴 인식 방법으로서, 1) 미리 학습된 인공신경망을 이용하여, 얼굴 인식을 위해 입력된 영상 프레임에 포함된 인식 대상자의 얼굴 특징 벡터를 추출하는 단계; 2) 제1 판별 기준에 기초하여, 상기 인식 대상자의 얼굴 특징 벡터를 상기 메모리 캐시에 저장된 등록 설정자의 얼굴 특징 벡터와 비교하여 동일인의 얼굴 특징 벡터가 있는지 여부를 판별하는 단계; 및 3) 상기 메모리 캐시에 동일인의 얼굴 특징 벡터가 없는 것으로 판별한 경우, 제2 판별 기준에 기초하여, 상기 인식 대상자의 얼굴 특징 벡터를 상기 얼굴 데이터베이스에 저장된 등록 설정자의 얼굴 특징 벡터와 비교하여 동일인의 얼굴 특징 벡터가 있는지 여부를 판별하는 단계;를 포함하며, 상기 메모리 캐시에 얼굴 특징 벡터가 저장된 등록 설정자는, 상기 얼굴 데이터베이스에 얼굴 특징 벡터가 저장된 등록 설정자의 적어도 일부를 구성하며, 상기 메모리 캐시에 저장된 얼굴 특징 벡터 중의 적어도 일부는, 상기 얼굴 데이터베이스에 저장된 동일인의 얼굴 특징 벡터가 추출된 영상 프레임보다 더욱 최근 입력된 영상 프레임에서 추출한 것이며, 상기 제2 판별 기준은, 상기 제1 판별 기준보다 더욱 완화된 판별 조건을 적용하도록 구성된 것을 특징으로 하는 얼굴 인식 방법이 개시된다.According to an aspect of the present invention for solving the above technical problem, as a face recognition method for storing a face database in a non-volatile storage device and executing it in a face recognition device having a main memory, a processor, and a memory cache, 1) learning in advance Extracting the facial feature vector of the recognition target included in the input image frame for face recognition using the artificial neural network; 2) based on a first discrimination criterion, comparing the facial feature vector of the recognition target with the facial feature vector of the registration setter stored in the memory cache to determine whether there is a facial feature vector of the same person; And 3) when it is determined that the facial feature vector of the same person does not exist in the memory cache, the facial feature vector of the recognition target is compared with the facial feature vector of the registration setter stored in the face database based on the second discrimination criterion. And determining whether there is a facial feature vector of the, and the registration setter storing the facial feature vector in the memory cache comprises at least a part of a registration setter storing the facial feature vector in the face database, and the memory cache. At least a part of the facial feature vectors stored in the extracted facial feature vector of the same person stored in the face database is extracted from a more recently input image frame than the extracted image frame, and the second discrimination criterion is more than the first discrimination criterion. Specially configured to apply relaxed discrimination conditions The face recognition method is disclosed.

바람직하게 본 발명은, 상기 1)단계 이전에, p1) 미리 학습된 인공신경망을 이용하여, 얼굴 등록을 위해 입력된 영상 프레임에 포함된 등록 설정자의 얼굴 특징 벡터를 추출하는 단계; 및 p2) 상기 등록 설정자의 얼굴 특징 벡터를 상기 얼굴 데이터베이스에 저장하는 단계;를 더욱 포함한다. Preferably, in the present invention, prior to the step 1), p1) using a pre-trained artificial neural network, extracting a face feature vector of a registration setter included in an image frame input for face registration; And p2) storing the face feature vector of the registration setter in the face database.

바람직하게 본 발명은, 4) 상기 2)단계의 판별 결과 및 3)단계의 판별 결과 중의 적어도 어느 하나에 기반하여 상기 인식 대상자에 대한 얼굴 인식 판별 결과를 제공하는 단계;를 더욱 포함한다. Preferably, the present invention further comprises: 4) providing a face recognition discrimination result for the recognition target based on at least one of the discrimination result of step 2) and the discrimination result of step 3).

바람직하게 본 발명은, 5) 상기 3)단계의 실행 결과, 상기 얼굴 데이터베이스에 저장된 등록 설정자의 얼굴 특징 벡터 중에 상기 인식 대상자와 동일인의 얼굴 특징 벡터가 있는 것으로 판별한 경우, 해당 인식 대상자의 얼굴 특징 벡터를 상기 메모리 캐시에 해당 등록 설정자의 얼굴 특징 벡터로서 저장하는 단계- 상기 메모리 캐시에 저장하는 얼굴 특징 벡터는, 얼굴 인식을 위해 입력된 영상 프레임에 포함된 인식 대상자의 얼굴 특징 벡터임-;를 더욱 포함한다. Preferably, in the present invention, when it is determined that there is a face feature vector of the same person as the recognition target among the face feature vectors of the registration setter stored in the face database, as a result of the execution of step 3), the face feature of the recognition subject Storing a vector in the memory cache as a face feature vector of a corresponding registration setter-a face feature vector stored in the memory cache is a face feature vector of a recognition target included in an image frame input for face recognition; Including more.

바람직하게, 상기 1)단계에서 입력되는 상기 영상 프레임은 인식 대상자를 촬영한 동영상을 구성하는 복수의 영상 프레임이며, 상기 1)단계 내지 3)단계는 상기 복수의 영상 프레임을 구성하는 각각의 영상 프레임에 대해 실행하며, 41) 복수의 영상 프레임을 구성하는 각각의 영상 프레임에 대해, 상기 2)단계의 판별 결과 및 3)단계의 판별 결과 중의 적어도 어느 하나를 상기 인식 대상자에 대한 얼굴 인식 판별 결과로서 각각 산출하는 단계; 및 42) 각각의 영상 프레임에 대해 산출한 얼굴 인식 판별 결과에 기초하여, 상기 복수의 영상 프레임에 대해 가장 높은 빈도(頻度)로 판별 결과가 산출된 인물이 상기 인식 대상자와 동일인인 것으로 판별하여 상기 얼굴 인식 판별 결과로서 제공하는 단계;를 더욱 포함한다. Preferably, the video frame input in step 1) is a plurality of video frames constituting a video image of a subject, and steps 1) to 3) are each video frame constituting the plurality of video frames. 41) for each image frame constituting a plurality of image frames, at least one of the result of the determination in step 2) and the result of the determination in step 3) is used as a result of face recognition determination for the subject to be recognized. Calculating each; And 42) based on the result of face recognition discrimination calculated for each image frame, it is determined that the person whose discrimination result is calculated with the highest frequency for the plurality of image frames is the same as the recognition target. And providing it as a result of face recognition discrimination.

바람직하게, 상기 인공신경망은 딥 컨볼루션 신경망(Deep Convolutional Neural Network)이며, 상기 학습은 삼중 손실(triplet loss) 기반의 학습일 수 있다. Preferably, the artificial neural network is a deep convolutional neural network, and the learning may be triple loss based learning.

바람직하게, 상기 얼굴 특징 벡터는 n 차원의 수치 벡터로 정의되며, 상기 2)단계 또는 3)단계의 판별은, 비교 대상이 되는 두 개의 얼굴 특징 벡터에 대해 벡터 공간 내에서의 벡터 상호간 거리를 연산하고, 상기 연산 결과값이 미리 설정한 임계치 이하인 경우에 비교 대상이 되는 두 개의 얼굴 특징 벡터가 동일인의 얼굴 특징 벡터인 것으로 판별한다. Preferably, the facial feature vector is defined as an n-dimensional numerical vector, and the determination of steps 2) or 3) computes the distance between the vectors in the vector space for the two facial feature vectors to be compared. Then, when the calculation result value is equal to or less than a preset threshold, it is determined that the two facial feature vectors to be compared are the facial feature vectors of the same person.

본 발명의 또다른 일측면에 따르면, 하나 이상의 명령을 저장하는 메인 메모리; 상기 메인 메모리에 저장된 상기 하나 이상의 명령을 실행하는 프로세서; 얼굴 데이터베이스를 저장하는 비휘발성 저장장치; 및 상기 메인 메모리와 프로세서 사이에 구비된 메모리 캐시를 포함하고, 상기 프로세서는, 미리 학습된 인공신경망을 이용하여, 얼굴 인식을 위해 입력된 영상 프레임에 포함된 인식 대상자의 얼굴 특징 벡터를 추출하며, 제1 판별 기준에 기초하여, 상기 인식 대상자의 얼굴 특징 벡터를 상기 메모리 캐시에 저장된 등록 설정자의 얼굴 특징 벡터와 비교하여 동일인의 얼굴 특징 벡터가 있는지 여부를 판별하며, 상기 메모리 캐시에 동일인의 얼굴 특징 벡터가 없는 것으로 판별한 경우, 제2 판별 기준에 기초하여, 상기 인식 대상자의 얼굴 특징 벡터를 상기 얼굴 데이터베이스에 저장된 등록 설정자의 얼굴 특징 벡터와 비교하여 동일인의 얼굴 특징 벡터가 있는지 여부를 판별하되, 상기 메모리 캐시에 얼굴 특징 벡터가 저장된 등록 설정자는, 상기 얼굴 데이터베이스에 얼굴 특징 벡터가 저장된 등록 설정자의 적어도 일부를 구성하며, 상기 메모리 캐시에 저장된 얼굴 특징 벡터 중의 적어도 일부는, 상기 얼굴 데이터베이스에 저장된 동일인의 얼굴 특징 벡터가 추출된 영상 프레임보다 더욱 최근 입력된 영상 프레임에서 추출한 것이며, 상기 제2 판별 기준은, 상기 제1 판별 기준보다 더욱 완화된 판별 조건을 적용하도록 구성된 것을 특징으로 하는 얼굴 인식 장치가 개시된다.According to another aspect of the invention, the main memory for storing one or more instructions; A processor executing the one or more instructions stored in the main memory; A non-volatile storage device for storing the face database; And a memory cache provided between the main memory and the processor, wherein the processor extracts the facial feature vector of the recognition target included in the input image frame for face recognition using a pre-trained artificial neural network, Based on the first discrimination criterion, the facial feature vector of the subject to be recognized is compared with the facial feature vector of the registration setter stored in the memory cache to determine whether there is the facial feature vector of the same person, and the facial feature of the same person in the memory cache. If it is determined that there is no vector, based on the second discrimination criterion, the facial feature vector of the subject to be recognized is compared with the facial feature vector of the registration setter stored in the face database to determine whether there is a facial feature vector of the same person, The registration setter whose face feature vector is stored in the memory cache is Consist of at least a part of a registration setter in which a facial feature vector is stored in a database, and at least some of the facial feature vectors stored in the memory cache are more recently input images than an image frame in which the facial feature vector of the same person stored in the facial database is extracted. Disclosed is a frame recognition device, wherein the second discrimination criterion is configured to apply a discrimination condition that is more relaxed than the first discrimination criterion.

본 발명의 또다른 일측면에 따르면, 얼굴 데이터베이스를 비휘발성 저장장치에 저장하며 메인 메모리와 프로세서, 메모리 캐시를 구비한 얼굴 인식 장치와 결합되어 얼굴 인식 방법을 실행하도록 매체에 저장된 컴퓨터 프로그램으로서, 상기 얼굴 인식 방법은, 미리 학습된 인공신경망을 이용하여, 얼굴 인식을 위해 입력된 영상 프레임에 포함된 인식 대상자의 얼굴 특징 벡터를 추출하는 단계; 제1 판별 기준에 기초하여, 상기 인식 대상자의 얼굴 특징 벡터를 상기 메모리 캐시에 저장된 등록 설정자의 얼굴 특징 벡터와 비교하여 동일인의 얼굴 특징 벡터가 있는지 여부를 판별하는 단계; 및 상기 메모리 캐시에 동일인의 얼굴 특징 벡터가 없는 것으로 판별한 경우, 제2 판별 기준에 기초하여, 상기 인식 대상자의 얼굴 특징 벡터를 상기 얼굴 데이터베이스에 저장된 등록 설정자의 얼굴 특징 벡터와 비교하여 동일인의 얼굴 특징 벡터가 있는지 여부를 판별하는 단계;를 포함하며, 상기 메모리 캐시에 얼굴 특징 벡터가 저장된 등록 설정자는, 상기 얼굴 데이터베이스에 얼굴 특징 벡터가 저장된 등록 설정자의 적어도 일부를 구성하며, 상기 메모리 캐시에 저장된 얼굴 특징 벡터 중의 적어도 일부는, 상기 얼굴 데이터베이스에 저장된 동일인의 얼굴 특징 벡터가 추출된 영상 프레임보다 더욱 최근 입력된 영상 프레임에서 추출한 것이며, 상기 제2 판별 기준은, 상기 제1 판별 기준보다 더욱 완화된 판별 조건을 적용하도록 구성된 것을 특징으로 하는 컴퓨터 프로그램이 개시된다.According to another aspect of the present invention, a computer program stored in a medium to store a face database in a non-volatile storage device and to perform a face recognition method in combination with a face recognition device having a main memory, a processor, and a memory cache, wherein: The face recognition method includes: extracting a facial feature vector of a recognition target included in an image frame input for face recognition using a pre-trained artificial neural network; Determining whether there is a facial feature vector of the same person by comparing the facial feature vector of the recognition target with the facial feature vector of the registration setter stored in the memory cache, based on the first determination criterion; And when it is determined that the facial feature vector of the same person does not exist in the memory cache, the facial feature vector of the recognition target is compared with the facial feature vector of the registration setter stored in the face database based on the second discrimination criterion. And determining whether there is a feature vector, and the registration setter storing the facial feature vector in the memory cache constitutes at least a part of the registration setter storing the facial feature vector in the face database, and is stored in the memory cache. At least some of the facial feature vectors are extracted from the image frames input more recently than the extracted image frames of the same person's facial feature vectors stored in the face database, and the second discrimination criterion is more relaxed than the first discrimination criterion. Characterized by being configured to apply discrimination conditions The computer program is disclosed that.

이와 같은 본 발명은, 메모리 캐시에 저장한 얼굴 특징 벡터에 기초한 얼굴 판별 처리와 얼굴 데이터베이스에 저장한 얼굴 특징 벡터에 기초한 얼굴 판별 처리를 연동하여 실행함으로써, 실시간 반복적인 얼굴 인식 처리 시에 과도한 데이터베이스 트랜잭션을 방지하는 장점이 있다. In the present invention, excessive database transactions are performed during real-time repetitive face recognition processing by interlocking face recognition processing based on the facial feature vectors stored in the memory cache and face recognition processing based on the facial feature vectors stored in the face database. It has the advantage of preventing.

특히, 본 발명은 메모리 캐시 및 데이터베이스에 대한 액세스 속도의 차이를 감안하여, 메모리 캐시에 저장된 얼굴 특징 벡터에 적용하는 얼굴 판별 기준과 얼굴 데이터베이스에 저장된 얼굴 특징 벡터에 적용하는 얼굴 판별 기준을 서로 다르게 설정함으로써, 실시간 얼굴 인식 속도 및 정확성을 향상하는 장점이 있다. In particular, according to the present invention, in consideration of the difference in the access speed to the memory cache and the database, the face detection criteria applied to the face feature vectors stored in the memory cache and the face detection criteria applied to the face feature vectors stored in the face database are set differently. By doing so, there is an advantage of improving the real-time face recognition speed and accuracy.

도 1은 본 발명의 일실시예에 따른 얼굴 인식 장치의 구성도,
도 2 내지 도 5는 본 발명의 일실시예에 따른 얼굴 인식 방법의 흐름도,
도 6은 본 발명의 일실시예에 따른 얼굴 인식 방법을 설명하기 위한 모식도,
도 7은 본 발명의 일실시예에 따른 얼굴 데이터베이스를 설명하기 위한 모식도이다.
1 is a configuration diagram of a face recognition apparatus according to an embodiment of the present invention,
2 to 5 are flowcharts of a face recognition method according to an embodiment of the present invention,
6 is a schematic view for explaining a face recognition method according to an embodiment of the present invention,
7 is a schematic diagram for explaining a face database according to an embodiment of the present invention.

본 발명은 그 기술적 사상 또는 주요한 특징으로부터 벗어남이 없이 다른 여러가지 형태로 실시될 수 있다. 따라서, 본 발명의 실시예들은 모든 점에서 단순한 예시에 지나지 않으며 한정적으로 해석되어서는 안 된다.The present invention can be implemented in various other forms without departing from its technical spirit or main characteristics. Therefore, the embodiments of the present invention are merely illustrative in all respects and should not be interpreted as limiting.

제1, 제2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. Terms such as first and second are used only for the purpose of distinguishing one component from other components. For example, the first component may be referred to as a second component without departing from the scope of the present invention, and similarly, the second component may be referred to as a first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다. When an element is said to be "connected" or "connected" to another element, it may be directly connected to or connected to the other element, but other elements may exist in the middle.

본 출원에서 사용한 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구비하다", "가지다" 등의 용어는 명세서에 기재된 구성요소 또는 이들의 조합이 존재하는 것을 표현하려는 것이지, 다른 구성요소 또는 특징이 존재 또는 부가될 가능성을 미리 배제하는 것은 아니다. The singular expression used in the present application includes the plural expression unless the context clearly indicates otherwise. In this application, the terms "comprises", "haves", "have", etc. are intended to express the presence of a component or a combination thereof described in the specification, and the possibility that another component or feature is present or added. It is not excluded in advance.

이하 도면을 참조하여 본 발명의 실시예를 설명한다. Hereinafter, embodiments of the present invention will be described with reference to the drawings.

도 1은 본 발명의 일실시예에 따른 얼굴 인식 장치의 구성도이다. 1 is a configuration diagram of a face recognition apparatus according to an embodiment of the present invention.

본 실시예의 얼굴 인식 장치(100)는 하나 이상의 명령을 저장하는 메인 메모리(2)와, 상기 메인 메모리(2)에 저장된 상기 하나 이상의 명령을 실행하는 프로세서(4)와, 얼굴 데이터베이스(52)를 저장하는 비휘발성 저장장치(5)와, 상기 메인 메모리(2)와 프로세서(4) 사이에 구비된 메모리 캐시(8)를 포함한다. The face recognition apparatus 100 of this embodiment includes a main memory 2 storing one or more commands, a processor 4 executing the one or more commands stored in the main memory 2, and a face database 52. It includes a non-volatile storage device (5) for storing, and a memory cache (8) provided between the main memory (2) and the processor (4).

또한, 본 실시예의 얼굴 인식 장치(100)는 등록 설정자 또는 인식 대상자를 촬영하여 영상 프레임을 생성하는 카메라(20)를 구비할 수 있다. 상기 카메라(20)는 동영상 프레임 또는 정영상 프레임을 생성할 수 있다. In addition, the face recognition apparatus 100 of the present embodiment may include a camera 20 that generates an image frame by photographing a registration setter or a recognition target. The camera 20 may generate a video frame or a regular video frame.

등록 설정자는 예를 들어, 출입 보안 인증을 위해 미리 얼굴 특징 벡터가 관리자를 통해 설정 등록된 사람이며, 인식 대상자는 출입을 시도하는 과정에서 보안 인증을 위해 얼굴 인식을 시도하는 사람이다. The registration setter is, for example, a person whose face feature vector is set and registered through an administrator in advance for access security authentication, and the recognition target is a person who attempts face recognition for security authentication in the process of attempting access.

비휘발성 저장장치(5)와 카메라(20)는 입출력 인터페이스(6)를 통해 프로세서(4) 또는 메모리 캐시(8), 메인 메모리(2)와 데이터를 상호 전송할 수 있다. The nonvolatile storage device 5 and the camera 20 may mutually transfer data to and from the processor 4 or the memory cache 8 and the main memory 2 through the input / output interface 6.

메모리 캐시(8)는 메인 메모리(2)와 프로세서(4, CPU) 사이에서 데이터와 명령어를 일시적으로 저장하는 소형의 고속 기억 장치로서 CPU 캐시라고도 한다. 일반적으로 메인 메모리(2)에 사용되는 기억 소자는 동적 램(DRAM)으로 그 액세스 시간은 100~150ns이고, 메모리 캐시(8)에 사용되는 기억 소자는 정적 램(SRAM)으로 액세스 시간은 수~수십 ns이므로, 메인 메모리(2)의 1/5에서 1/10 정도의 고속 액세스가 가능하다. The memory cache 8 is a small high-speed storage device that temporarily stores data and instructions between the main memory 2 and the processors 4 and CPU, and is also called a CPU cache. In general, the memory element used in the main memory 2 is dynamic RAM (DRAM), its access time is 100 to 150 ns, and the memory element used for the memory cache 8 is static RAM (SRAM), and the access time is several to ~. Since it is tens of ns, high-speed access of about 1/5 to 1/10 of the main memory 2 is possible.

일반적으로, 메모리 캐시(8)는 레지스터와 같이 프로세서(4, CPU) 내부에 위치하며, 프로세서(4, CPU) 코어와 입출력 버스를 통해 정보를 주고받는다. 또한, 메모리 캐시(8)는 명령어를 저장하는 인스트럭션 캐시(Instruction Cache)와 데이터를 저장하는 데이터 캐시(Data Cache)로 구분되며, L1 캐시, L2 캐시 등 여러 레벨으로 분할해서 세부 계층화하여 구성될 수도 있다. In general, the memory cache 8 is located inside the processor 4 and CPU as a register, and exchanges information through the processor 4 and CPU core and the input / output bus. In addition, the memory cache 8 is divided into an instruction cache for storing instructions and a data cache for storing data, and can be configured by dividing it into several levels such as L1 cache and L2 cache, and layering them in detail. have.

메인 메모리(2)는 프로세서(4) 외부에 존재하며, 일예로 프로세서(4)와 노스 브릿지(North Bridge)를 통한 데이터 버스를 통해 통신한다. The main memory 2 is external to the processor 4 and communicates with the processor 4 via a data bus through the North Bridge, for example.

프로세서(4) 내부에 있는 캐시 컨트롤러(Cache Controller, 미도시)는 시간적 지역성(Temporal Locality) 및 공간적 지역성(Spatial Locality)의 원리를 적용하여 메모리 캐시(8)에 적재될 내용을 관리한다. 일예로, 프로세서(4)는, 새로운 데이터를 읽어들여서 메모리 캐시(8)에 적재하려고 하는데 여유 공간이 없는 경우에 가장 오래된 데이터를 삭제하고 적재를 수행하여 시간적 지역성의 원리를 적용하고, 한번 적재를 시도할 때 블록 단위로 데이터를 가져와서 공간적 지역성의 원리를 적용하여 메모리 캐시(8)에 적재될 내용을 관리한다.The cache controller (not shown) inside the processor 4 manages the contents to be loaded into the memory cache 8 by applying the principles of Temporal Locality and Spatial Locality. As an example, the processor 4 reads new data and loads it into the memory cache 8, but when there is no free space, deletes the oldest data and performs the loading, applying the principle of temporal locality, and loading it once. When attempting, data is fetched in block units and the principle of spatial locality is applied to manage the contents to be loaded in the memory cache 8.

얼굴 데이터베이스(52)는 하드디스크 또는 SSD(Solid State Drive)와 같은 비휘발성 저장장치(5)에 저장하는데, 데이터베이스 트랜잭션 시에 얼굴 데이터베이스(52)의 데이터를 비휘발성 저장장치(5)에서 메인 메모리(2)로 가져와 이를 처리한 후 그 결과를 다시 얼굴 데이터베이스(52)가 저장된 비휘발성 저장장치(5)로 보내는 작업이 필요하다. 비휘발성 저장장치(5)와 메인 메모리(2) 상호 간의 데이터 이동은 블록(block) 단위로 수행될 수 있다. The face database 52 is stored in a non-volatile storage device 5 such as a hard disk or a solid state drive (SSD). When a database transaction is performed, data of the face database 52 is stored in the main memory in the non-volatile storage device 5. It is necessary to take (2), process the result, and send the result back to the nonvolatile storage device 5 in which the face database 52 is stored. Data movement between the nonvolatile storage 5 and the main memory 2 may be performed in block units.

일예로, 비휘발성 저장장치(5)로서 하드디스크가 사용되는 경우, 하드디스크에 있는 블록을 디스크 블록이라고 하며, 메인 메모리(2)에 있는 블록은 버퍼 블록이라고 한다. 하드디스크와 메인 메모리(2) 상호 간의 데이터 이동은 input, output의 두 연산으로 수행된다. input 연산은 디스크 블록에 저장되어 있는 데이터를 메인 메모리 버퍼 블록으로 이동시키는 연산이며, output 연산은 메인 메모리 버퍼 블록에 있는 데이터를 디스크 블록으로 이동시키는 연산이다. As an example, when a hard disk is used as the nonvolatile storage device 5, a block in the hard disk is called a disk block, and a block in the main memory 2 is called a buffer block. Data movement between the hard disk and the main memory 2 is performed by two operations, input and output. The input operation is an operation for moving data stored in a disk block to a main memory buffer block, and an output operation is an operation for moving data in the main memory buffer block to a disk block.

프로그램(10)에서 트랜잭션의 수행을 지시하면 메인 메모리 버퍼 블록에 있는 데이터를 프로그램(10)의 변수로 가져오고 데이터를 처리한 결과를 저장하고 있는 변수 값을 메인 메모리 버퍼 블록으로 옮기는 처리가 실행된다. 메인 메모리 버퍼 블록과 프로그램 변수 간의 데이터 이동은 read, write의 두 연산으로 수행된다. read 연산은 메인 메모리 버퍼 블록에 저장되어 있는 데이터를 프로그램의 변수로 읽어오는 연산이며, write 연산은 프로그램(10)의 변수 값을 메인 메모리 버퍼 블록에 있는 데이터로 기록하는 연산이다. When the program 10 instructs the execution of the transaction, the process of bringing the data in the main memory buffer block into the variable of the program 10 and moving the variable value storing the result of processing the data into the main memory buffer block is executed. . Data movement between the main memory buffer block and program variables is performed by two operations: read and write. The read operation is an operation that reads data stored in the main memory buffer block as a program variable, and the write operation is an operation that records the variable value of the program 10 as data in the main memory buffer block.

그런데, 비휘발성 저장장치(5)와 메인 메모리(2) 상호 간의 데이터 이동에는 상대적으로 많은 시간이 소요된다. 또한, 비휘발성 저장장치(5)는 장치 자체의 특성 상 메인 메모리(2)에 비해서도 더욱 많은 액세스 시간이 소요된다. However, a relatively large amount of time is required to move data between the nonvolatile storage device 5 and the main memory 2. In addition, the nonvolatile storage device 5 requires more access time than the main memory 2 due to the characteristics of the device itself.

이를 감안하여, 본 실시예의 얼굴 인식 장치(100)는, 얼굴 데이터베이스(52)에 저장한 얼굴 특징 벡터를 이용한 얼굴 판별이 정상적으로 이뤄진 등록 설정자에 대해서는 해당 등록 설정자의 얼굴 특징 벡터를 액세스 속도가 더욱 빠른 메모리 캐시(8)에 저장하고(후술하는 5)단계에 해당), 이후 얼굴 판별 처리 시에는 해당 등록 설정자에 대해 메모리 캐시(8)에 저장된 얼굴 특징 벡터를 우선적으로 이용하여 얼굴 판별이 가능하도록 한다(후술하는 2)단계에 해당). In view of this, the face recognition apparatus 100 of the present embodiment accesses the face feature vector of the corresponding registered setter for the registered setter whose face is normally identified using the facial feature vector stored in the face database 52, the access speed is faster. It is stored in the memory cache 8 (corresponding to step 5 described later), and in the subsequent face discrimination process, the face feature vector stored in the memory cache 8 is preferentially used for the corresponding registration setter to enable face discrimination. (Corresponds to step 2).

한편, 본 실시예의 얼굴 인식 장치(100)는, 메모리 캐시(8)에 저장된 얼굴 특징 벡터로 얼굴 판별이 불가 시에는 얼굴 데이터베이스(52)에 저장한 얼굴 특징 벡터를 이용한 얼굴 판별이 이뤄지도록 함으로써(후술하는 3)단계에 해당), 실시간 반복적인 얼굴 인식 처리 시에 과도한 데이터베이스 트랜잭션을 방지하도록 구성된다. On the other hand, the face recognition apparatus 100 of the present embodiment, by making the face recognition using the face feature vector stored in the face database 52 when face recognition is not possible with the face feature vector stored in the memory cache 8 ( Corresponding to step 3) described later), it is configured to prevent excessive database transactions during real-time repetitive face recognition processing.

또한, 본 실시예의 얼굴 인식 장치(100)는, 메모리 캐시(8)에 저장하는 얼굴 특징 벡터로서 얼굴 데이터베이스(52)에 최초 저장된 얼굴 특징 벡터를 계속 이용하는 것이 아니라, 얼굴 인식을 위해 새로이 입력된 영상 프레임에서 추출한 인식 대상자의 얼굴 특징 벡터, 즉 더욱 최근에 추출한 얼굴 특징 벡터를 메모리 캐시(8)에 저장하고 얼굴 판별에 이용한다. 이를 통해, 등록 설정자의 최초 등록 시의 얼굴 특징 벡터를 계속 이용하는 것이 아니라 얼굴 인식을 위해 새로 입력된 영상 프레임에서 추출된 더욱 최근의 얼굴 특징 벡터를 얼굴 판별에 이용하도록 함으로써, 가장 최근의 얼굴을 이용하여 얼굴 인식의 정확도를 높이는 장점이 있다. In addition, the face recognition apparatus 100 of the present embodiment does not continuously use the face feature vector initially stored in the face database 52 as a face feature vector stored in the memory cache 8, but newly input image for face recognition The facial feature vector of the recognition target extracted from the frame, that is, the facial feature vector extracted more recently, is stored in the memory cache 8 and used for face identification. Through this, rather than continuing to use the facial feature vector at the time of the initial registration of the registration setter, the most recent face is used by allowing the more recent facial feature vector extracted from the newly input image frame for face recognition to be used for face recognition. It has the advantage of increasing the accuracy of face recognition.

특히, 본 실시예의 얼굴 인식 장치(100)는 고속 액세스가 가능한 메모리 캐시(8)에 저장된 얼굴 특징 벡터에 기초한 얼굴 판별 처리 시에 적용하는 제1 판별 기준은 더 엄격한 판별 조건을 적용하도록 하고, 상대적으로 저속으로 액세스되는 얼굴 데이터베이스(52)에 저장된 얼굴 특징 벡터에 기초한 얼굴 판별 처리 시에 적용하는 상기 제2 판별 기준은 더 완화된 판별 조건을 적용하도록 구성된다. In particular, the first recognition criterion applied in the face recognition processing based on the face feature vector stored in the memory cache 8 capable of high-speed access is applied to the face recognition apparatus 100 of the present embodiment to apply a more stringent discrimination condition, and The second discrimination criterion applied in the face discrimination process based on the facial feature vector stored in the face database 52 accessed at a low speed is configured to apply a more relaxed discrimination condition.

이러한 구성을 통해, 상대적으로 최근에 입력 및 추출된 얼굴 특징 벡터를 저장한 메모리 캐시(8)에 기초한 얼굴 판별 처리 시에는 더욱 엄격한 판별 조건을 적용하도록 하여, 고속 처리와 판별 정확도를 더욱 높일 수 있도록 한다. 또한, 상대적으로 시간이 경과한 얼굴 특징 벡터를 저장한 얼굴 데이터베이스(52)에 기초한 얼굴 판별 처리 시에는 더 완화된 판별 조건을 적용하도록 하여 얼굴의 잦은 변화에 대한 판별의 유연성을 부여한다. 즉, 시간의 경과에 따라 동일인의 얼굴에 다소 변화가 발생하는 경우 메모리 캐시(8)에 기초한 얼굴 판별 처리 시에 동일인 판별이 이뤄지지 못하더라도, 얼굴 데이터베이스(52)에 기초한 얼굴 판별 처리 시에는 동일인 판별이 이뤄질 수 있도록 기준의 유연성을 부여한다. Through such a configuration, more stringent discrimination conditions are applied to face discrimination processing based on the memory cache 8 storing the facial feature vectors that have been input and extracted relatively recently, so that high-speed processing and discrimination accuracy can be further increased. do. In addition, in the face discrimination process based on the face database 52 that stores the face feature vector that has been relatively elapsed, a more relaxed discrimination condition is applied to provide flexibility in discriminating against frequent changes in the face. That is, even if the face of the same person changes somewhat with the passage of time, even if the same person cannot be identified in the face determination processing based on the memory cache 8, the same person is determined in the face determination processing based on the face database 52 Gives the flexibility of the standards to make this happen.

일반적으로, 더 엄격한 판별 조건을 적용하는 경우 오탐률은 낮아지지만 얼굴의 잦은 변화에 정확성이 떨어질 수 있으며, 더 완화된 판별 조건을 적용하는 경우 얼굴의 잦은 변화에 대한 유연한 판별에는 유리하지만 오탐률이 높아질 수 있는데, 본 실시예의 얼굴 인식 장치(100)는 상기 구성을 통해 이러한 한계점을 극복할 수 있다. In general, when a stricter discrimination condition is applied, the false positive rate is lowered, but accuracy may be reduced to frequent changes in the face. When a more relaxed discrimination condition is applied, the false positive rate is advantageous for flexible discrimination of the frequent changes in the face. It can be increased, the face recognition apparatus 100 of the present embodiment can overcome this limitation through the above configuration.

한편, 얼굴 데이터베이스(52)는 한 명 이상의 등록 설정자의 얼굴 특징 벡터를 저장하며, 바람직하게는, 상기 얼굴 데이터베이스(52)에 저장하는 복수의 얼굴 특징 벡터를 구분하여 인식하기 위해 각각의 얼굴 특징 벡터에 대해 벡터키값을 매칭 저장한다. 벡터키값은 각각의 얼굴 특징 벡터에 상응하는 등록 설정자를 식별하기 위한 값으로서, 일예로 등록 설정자의 이름, ID 등이 될 수 있으며, 등록 설정자의 얼굴 특징 벡터를 상기 얼굴 데이터베이스(52)에 저장 시(후술하는 p2)단계)에 관리자에 의해 입력되어 얼굴 특징 벡터와 매칭 저장될 수 있다. Meanwhile, the face database 52 stores face feature vectors of one or more registration setters, and preferably, each face feature vector to distinguish and recognize a plurality of face feature vectors stored in the face database 52. The vector key value is stored for matching. The vector key value is a value for identifying a registration setter corresponding to each face feature vector, and may be, for example, the name of a registration setter, an ID, etc., and when the facial feature vector of the registration setter is stored in the face database 52 It may be input by the administrator in (step p2) to be described later and may be stored matching with the facial feature vector.

메모리 캐시(8)는 한 명 이상의 등록 설정자의 얼굴 특징 벡터를 저장하되, 상기 메모리 캐시(8)에 얼굴 특징 벡터가 저장된 등록 설정자는, 상기 얼굴 데이터베이스(52)에 얼굴 특징 벡터가 저장된 등록 설정자의 적어도 일부를 구성한다. 즉, 메모리 캐시(8)에는 얼굴 데이터베이스(52)에 얼굴 특징 벡터가 이미 저장된 등록 설정자의 얼굴 특징 벡터가 저장된다. The memory cache 8 stores the facial feature vectors of one or more registration setters, but the registration setters in which the facial feature vectors are stored in the memory cache 8 are registered registers in which the facial feature vectors are stored in the face database 52. At least a part. That is, the facial feature vector of the registration setter in which the facial feature vector is already stored in the face database 52 is stored in the memory cache 8.

다만, 메모리 캐시(8)에 저장된 얼굴 특징 벡터는 반드시 상기 얼굴 데이터베이스(52)에 저장된 얼굴 특징 벡터와 동일한 것은 아니다. However, the facial feature vector stored in the memory cache 8 is not necessarily the same as the facial feature vector stored in the face database 52.

일예로, 상기 메모리 캐시(8)에 저장된 얼굴 특징 벡터 중의 적어도 일부는, 상기 얼굴 데이터베이스(52)에 저장된 동일인의 얼굴 특징 벡터가 추출된 영상 프레임보다 더욱 최근 입력된 영상 프레임에서 추출한 것이다. For example, at least some of the facial feature vectors stored in the memory cache 8 are extracted from an image frame that is more recently input than the extracted image frames of the same person's facial feature vectors stored in the face database 52.

즉, 등록 설정자에 대한 얼굴 판별 직후에, 얼굴 데이터베이스(52)에 저장된 얼굴 특징 벡터를 메모리 캐시(8)에 저장하는 것이 아니라, 최근 입력된 영상 프레임(예, 보안 인증을 위해 새로이 입력된 영상 프레임)에서 추출한 얼굴 특징 벡터가 상기 메모리 캐시(8)에 저장된다. 즉, 메모리 캐시(8)에 저장된 얼굴 특징 벡터가 얼굴 데이터베이스(52)에 저장된 동일인의 얼굴 특징 벡터가 추출된 영상 프레임보다 더욱 최근 입력된 영상 프레임에서 추출한 것이 된다. That is, immediately after determining the face of the registration setter, the face feature vector stored in the face database 52 is not stored in the memory cache 8, but a recently input image frame (eg, a newly input image frame for security authentication) The facial feature vectors extracted from) are stored in the memory cache 8. That is, the facial feature vector stored in the memory cache 8 is extracted from the image frame input more recently than the extracted image frame of the same person's facial feature vector stored in the face database 52.

그런데, 후술하는 6)단계의 갱신 처리가 이뤄진 직후에는 상기 메모리 캐시(8)에 저장한 얼굴 특징 벡터로 상기 얼굴 데이터베이스(52)에 저장된 동일인의 얼굴 특징 벡터를 갱신하므로, 이러한 갱신 직후에는 상기 얼굴 데이터베이스(52)에 저장된 얼굴 특징 벡터와 메모리 캐시(8)에 저장된 얼굴 특징 벡터가 동일한 상태가 된다. However, immediately after the update process of step 6) described below is performed, the facial feature vector of the same person stored in the face database 52 is updated with the facial feature vector stored in the memory cache 8, and thus the face The facial feature vector stored in the database 52 and the facial feature vector stored in the memory cache 8 are in the same state.

메모리 캐시(8)는 특히 상기 얼굴 데이터베이스(52)에 저장한 복수의 얼굴 특징 벡터 중에서 동일인 판별이 정상적으로 이뤄진 얼굴 특징 벡터를 저장한다. In particular, the memory cache 8 stores a facial feature vector in which the same identification is normally performed among a plurality of facial feature vectors stored in the face database 52.

또한, 메모리 캐시(8)에 저장하는 복수의 얼굴 특징 벡터를 구분하여 인식하기 위해 각각의 얼굴 특징 벡터에 대해 벡터키값을 매칭 저장한다. Further, in order to distinguish and recognize a plurality of facial feature vectors stored in the memory cache 8, vector key values are matched and stored for each facial feature vector.

바람직하게, 상기 비휘발성 저장장치(5)는 등록 설정자의 개인 정보 데이터베이스(54)를 저장한다. 개인 정보 데이터베이스(54)에 저장되는 개인 정보는 예를 들어, 등록 설정자의 부서/직급/전화번호/기타 정보 등이 될 수 있다. Preferably, the non-volatile storage 5 stores the personal information database 54 of the registration setter. The personal information stored in the personal information database 54 may be, for example, the department / position / phone number / other information of the registration setter.

상기 개인 정보 데이터베이스(54)는 상기 얼굴 데이터베이스(52)에 저장한 각각의 얼굴 특징 벡터에 상응하는 등록 설정자의 개인 정보를 저장하되, 각각의 등록 설정자의 개인 정보와 상기 벡터키값을 매칭 저장한다. The personal information database 54 stores personal information of a registration setter corresponding to each face feature vector stored in the face database 52, but matches and stores personal information of each registration setter and the vector key value.

상기 벡터키값을 통해, 본 실시예의 얼굴 인식 장치(100)는 상기 얼굴 데이터베이스(52) 또는 메모리 캐시(8)에 저장한 얼굴 특징 벡터에 관한 정보를 사용자에게 제공 시에 벡터키값을 매개로 하여 상기 개인 정보 데이터베이스(54)에 저장된 등록 설정자의 개인 정보를 매칭 제공할 수 있다. 일예로, 본 실시예의 얼굴 인식 장치(100)는 쿼리문을 이용하여 특정 벡터키값을 갖는 얼굴 특징 벡터 또는 개인 정보를 검색하거나 구분하여 제공할 수 있다. Through the vector key value, the face recognition apparatus 100 of the present embodiment uses the vector key value as a parameter when providing information about the face feature vector stored in the face database 52 or the memory cache 8 to the user. The personal information of the registration setter stored in the personal information database 54 may be matched and provided. For example, the face recognition apparatus 100 of the present embodiment may search for or provide face feature vectors or personal information having a specific vector key value using a query statement.

본 실시예의 얼굴 인식 장치(100)는, 상기 메인 메모리(2)에 로딩된 프로그램(10)에 의해 프로세서(4)가 각 단계별 기능을 실행함으로써 후술하는 본 실시예의 얼굴 인식 방법을 수행한다. The face recognition apparatus 100 of the present embodiment performs the face recognition method of the present embodiment described later by the processor 4 executing each step function by the program 10 loaded in the main memory 2.

상기 프로그램(10)은 본 실시예의 얼굴 인식 방법의 각 단계를 실행하기 위한 기능을 정의하며, 특히 얼굴 특징 벡터를 추출하기 위한 딥러닝 기반의 학습 기능과, 얼굴 등록을 위해 입력된 영상 프레임에 포함된 등록 설정자의 얼굴 특징 벡터를 추출하고 얼굴 데이터베이스(52)에 저장하는 기능과, 얼굴 인식을 위해 입력된 영상 프레임에 포함된 인식 대상자의 얼굴 특징 벡터를 추출하고 기 저장한 등록 설정자의 얼굴 특징 벡터와 비교 판별하기 위한 기능 등을 정의한다. The program 10 defines a function for executing each step of the face recognition method of the present embodiment, and is included in an image frame input for face registration and a deep learning-based learning function for extracting a facial feature vector. The function of extracting the face feature vector of the registered registration setter and storing it in the face database 52, and the face feature vector of the registered target set included in the input image frame for face recognition and pre-stored. Defines functions for comparison and discrimination.

본 실시예의 프로그램(10)은 얼굴 인식 장치(100)의 메인 메모리(2)에 로딩되어 실행될 수도 있으며, 일부 기능에 관해서는 유선 또는 무선 네트워크를 통해 연동하는 서버(미도시)에서 제공하는 API(Application Programming Interface)를 통해 서버에서 제공하는 특정 기능을 제공받을 수도 있다. The program 10 of this embodiment may be loaded and executed in the main memory 2 of the face recognition device 100, and for some functions, an API provided by a server (not shown) interworking through a wired or wireless network (not shown) Application Programming Interface) can also provide specific functions provided by the server.

도 2 내지 도 5는 본 발명의 일실시예에 따른 얼굴 인식 방법의 흐름도, 도 6은 본 발명의 일실시예에 따른 얼굴 인식 방법을 설명하기 위한 모식도, 도 7은 본 발명의 일실시예에 따른 얼굴 데이터베이스를 설명하기 위한 모식도이다. 2 to 5 is a flow chart of a face recognition method according to an embodiment of the present invention, Figure 6 is a schematic diagram for explaining a face recognition method according to an embodiment of the present invention, Figure 7 is an embodiment of the present invention It is a schematic diagram for explaining the face database.

p1)단계에서 얼굴 인식 장치(100)는, 미리 학습된 인공신경망을 이용하여, 얼굴 등록을 위해 입력된 영상 프레임에 포함된 등록 설정자의 얼굴 특징 벡터를 추출한다. 영상 프레임은 카메라(20)에서 생성 및 입력될 수 있다. In step p1), the face recognition apparatus 100 extracts the face feature vector of the registration setter included in the image frame input for face registration, using a previously learned artificial neural network. The image frame may be generated and input by the camera 20.

얼굴 특징 벡터의 추출을 위해, 입력된 영상 프레임 영역 내에서 얼굴 영역 검출, 얼굴 랜드마크 검출 등의 처리가 선행적으로 이뤄질 수 있다. 얼굴 영역 검출, 얼굴 랜드마크 검출은 다수의 공지 기술이 제안된 바 있으며, 일예로 얼굴 랜드마크는 얼굴 랜드 마크 추정(face landmark estimation) 등의 알고리즘을 이용하여 검출할 수 있으며, 얼굴 특징 벡터의 비교를 위한 인공신경망과 별도의 DNN(Deep Neural Network)을 통해 검출 모델을 생성할 수 있다. 다만, 본 실시예에서는 특정 기술로 제한하지는 않는다. In order to extract the facial feature vector, processing such as face region detection and face landmark detection may be performed in the input image frame region. Face area detection and face landmark detection have been proposed by a number of known technologies. For example, face landmarks can be detected using algorithms such as face landmark estimation, and comparison of facial feature vectors A detection model may be generated through an artificial neural network for and a separate deep neural network (DNN). However, this embodiment is not limited to a specific technology.

바람직한 일예로, 상기 인공신경망은 딥 컨볼루션 신경망(Deep Convolutional Neural Network)이며, 상기 학습은 삼중 손실(triplet loss) 기반의 학습이다. In a preferred embodiment, the artificial neural network is a deep convolutional neural network, and the learning is triple loss based learning.

삼중 손실(triplet loss) 기반의 학습은 논문 "FaceNet: A Unified Embedding for Face Recognition and Clustering"(Florian Schroff 외 2인, Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition 2015, 2015.06.17.)을 포함한 다수 논문 등을 통해 공지된 기술이다. The triple loss based learning is the paper "FaceNet: A Unified Embedding for Face Recognition and Clustering" (Florian Schroff et al. 2, Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition 2015, 2015.06.17.) It is a known technology through a number of papers, including.

삼중 손실(triplet loss) 기반의 학습은, (a) 트레이닝용 아는 사람의 얼굴 사진, (b) 동일한 아는 사람의 다른 사진, (c) 전혀 다른 사람의 사진으로 구성된 3개의 사진을 인공신경망에 입력하고 학습을 실행하되, (a)와 (b) 사진에 대해 생성한 측정값은 서로 좀 더 가깝게 하고 (b)와 (c) 사진에 대해 생성한 측정값은 좀더 멀어지도록 신경망을 조금 조정하는 방식으로 다수의 사진 그룹에 대해 학습을 반복적으로 실행하여, 입력된 영상 프레임에 대해 인공신경망이 n 개(일반적으로 128개)의 측정값을 신뢰성 있게 생성하는 방법을 학습하도록 하는 학습 방식이다. 이러한 학습을 거친 인공신경망은 얼굴이 포함된 영상 프레임에 대해 n 차원의 수치 벡터를 얼굴 특징 벡터로 생성한다. 얼굴 특징 벡터의 차원수는 인공신경망 모델 설정에 따라 변경 가능하다. Triple loss-based learning involves (a) training a person's face picture, (b) the same person's other picture, and (c) a completely different person's picture. How to adjust the neural network a little so that the measurements created for (a) and (b) photos are closer to each other and the measurements created for (b) and (c) photos are farther away. This is a learning method that repeatedly learns multiple groups of pictures to learn how the artificial neural network reliably generates n (generally 128) measurements for the input image frame. The artificial neural network that has undergone such learning generates an n-dimensional numeric vector as a facial feature vector for an image frame including a face. The number of dimensions of the facial feature vector can be changed according to the artificial neural network model settings.

바람직한 일예로, 본 실시예의 얼굴 인식 장치(100)는, 딥 컨볼루션 신경망(Deep Convolutional Neural Network)에 삼중 손실(triplet loss) 기반의 학습을 실행하여 인공신경망 모델을 구축하며, 구축된 인공신경망을 통해 n 차원의 수치 벡터로 정의되는 얼굴 특징 벡터를 각각의 입력 프레임으로부터 추출할 수 있다. As a preferred example, the facial recognition apparatus 100 of the present embodiment builds an artificial neural network model by executing triple loss-based learning on a deep convolutional neural network, and builds the constructed artificial neural network. Through this, a facial feature vector defined as an n-dimensional numerical vector can be extracted from each input frame.

다만, 본 실시예의 얼굴 인식 장치(100)는 n 차원의 수치 벡터로 정의되는 얼굴 특징 벡터를 각각의 입력 프레임으로부터 추출할 수 있다면 다른 방식의 모델을 사용하는 것을 배제하지 않는다. However, the face recognition apparatus 100 of the present embodiment does not exclude the use of a different model if face feature vectors defined as n-dimensional numeric vectors can be extracted from each input frame.

한편, 본 실시예의 얼굴 인식 장치(100)는 하나의 얼굴 영상 프레임을 이용하여 얼굴 특징 벡터를 추출할 수도 있으며, 동시에 입력된 여러개의 얼굴을 이용하여 동시에 다수의 얼굴 특징 벡터를 추출할 수도 있다. Meanwhile, the facial recognition apparatus 100 of the present embodiment may extract a facial feature vector using a single face image frame, or simultaneously extract a plurality of facial feature vectors using multiple inputted faces.

p2)단계에서 얼굴 인식 장치(100)는, 상기 등록 설정자의 얼굴 특징 벡터를 상기 얼굴 데이터베이스(52)에 저장한다. In step p2), the face recognition apparatus 100 stores the face feature vector of the registration setter in the face database 52.

얼굴 인식 장치(100)는, 상기 얼굴 데이터베이스(52)에 저장하는 복수의 얼굴 특징 벡터를 구분하여 인식하기 위해 각각의 얼굴 특징 벡터에 대해 벡터키값을 매칭 저장한다. The face recognition apparatus 100 matches and stores a vector key value for each face feature vector in order to distinguish and recognize a plurality of face feature vectors stored in the face database 52.

일예로, 상기 얼굴 데이터베이스(52)에서 각각의 얼굴 특징 벡터에 매칭 저장한 벡터키값은 각각의 얼굴 특징 벡터의 저장 순서에 기초하여 부여된 인덱스(예, 0,1,2,3,....,m)와 더욱 매칭 저장될 수 있다. 인덱스는 특정 벡터키값 또는 얼굴 특징 벡터의 순서 내지 위치를 검색하는데 이용될 수 있다. For example, in the face database 52, a vector key value matched and stored in each face feature vector is an index (eg, 0, 1, 2, 3, ...) based on the storage order of each face feature vector. ., m) and more matching can be stored. The index may be used to search the order or position of a specific vector key value or face feature vector.

복수의 얼굴 특징 벡터는 한 명의 등록 설정자에 대해 촬영된 복수의 영상으로부터 추출될 수도 있고, 여러명의 등록 설정자에 대해 촬영된 복수의 영상으로부터 추출될 수도 있다. The plurality of facial feature vectors may be extracted from a plurality of images photographed for one registration setter or may be extracted from a plurality of images photographed for multiple registration setters.

1)단계에서 얼굴 인식 장치(100)는, 미리 학습된 인공신경망을 이용하여, 얼굴 인식을 위해 입력된 영상 프레임에 포함된 인식 대상자의 얼굴 특징 벡터를 추출한다. In step 1), the face recognition apparatus 100 extracts the facial feature vector of the recognition target included in the image frame input for face recognition, using a previously learned artificial neural network.

2)단계에서 얼굴 인식 장치(100)는, 제1 판별 기준에 기초하여, 상기 인식 대상자의 얼굴 특징 벡터를 상기 메모리 캐시(8)에 저장된 등록 설정자의 얼굴 특징 벡터와 비교하여 동일인의 얼굴 특징 벡터가 있는지 여부를 판별한다. In step 2), the face recognition apparatus 100 compares the face feature vector of the subject to be recognized with the face feature vector of the registration setter stored in the memory cache 8 based on the first discrimination criterion. It is determined whether there is.

일예로, 상기 2)단계의 판별은, 비교 대상이 되는 두 개의 얼굴 특징 벡터에 대해 벡터 공간 내에서의 벡터 상호간 거리를 연산하고, 상기 연산 결과값이 미리 설정한 임계치 이하인 경우에 비교 대상이 되는 두 개의 얼굴 특징 벡터가 동일인의 얼굴 특징 벡터인 것으로 판별이 이뤄질 수 있다.As an example, the determination of step 2) calculates a distance between vectors in a vector space for two facial feature vectors to be compared, and becomes a comparison target when the result of the calculation is below a preset threshold. It can be determined that the two facial feature vectors are the same facial feature vector.

상기 임계치는 스레시홀드(threshold) 값으로 볼 수 있으며, 일예로 0~1 사이의 소수 자리로 설정될 수 있으며, 0.3 이하로 낮게 설정(제1 임계치)하여 인물 판별의 정확도 조건을 엄격하게 적용 하거나, 0.5~0.7 사이의 어느 값을 설정(제2 임계치)하여 인물 판별의 정확도 조건을 상대적으로 완화하여 적용할 수 있다. The threshold value can be viewed as a threshold value, for example, can be set to a decimal place between 0 and 1, and set to a value lower than 0.3 (the first threshold) to strictly apply the accuracy condition of person identification. Or, by setting a value between 0.5 and 0.7 (the second threshold), the accuracy condition of person discrimination can be relatively relaxed and applied.

일예로, 벡터 공간 내에서의 벡터 상호간 거리는 L2 노름(Norm) 연산에 의해 연산 결과값을 얻을 수 있다. L2 노름(Norm) 연산은 유클리드 공간 내에서 벡터와 원점 간의 거리를 구하거나 벡터 상호 간의 거리를 구할 수 있다. L2 노름(Norm) 연산에 대해서는 다수 공지 자료를 통해 이해될 수 있으므로, 상세 설명은 생략한다. For example, the distance between the vectors in the vector space can be calculated by L2 Norm. The L2 norm operation can obtain a distance between a vector and an origin in Euclidean space or a distance between vectors. Since L2 norm operation can be understood through a number of publicly known materials, detailed descriptions thereof will be omitted.

상기 2)단계에서 메모리 캐시(8)에 저장된 복수의 얼굴 특징 벡터 중 인식 대상자의 얼굴 특징 벡터와 벡터 상호간 거리를 연산한 상기 연산 결과값이 미리 설정한 임계치 이하인 것으로 판별되는 얼굴 특징 벡터가 2 이상인 경우에는, 벡터 상호간 거리가 더 작게 산출된 얼굴 특징 벡터를 인식 대상자와 동일인의 얼굴 특징 벡터인 것으로 판별한다. Of the plurality of face feature vectors stored in the memory cache 8 in step 2), the face feature vector determined by calculating the distance between the face feature vector and the vector of the recognition target is less than or equal to a preset threshold, or more than 2 face feature vectors In the case, it is determined that the facial feature vector having a smaller distance between the vectors is a facial feature vector of the same person as the recognition target.

다른 관점에서, 상기 2)단계의 판별은, 상기 메모리 캐시(8)에 저장된 각각의 얼굴 특징 벡터와 상기 인식 대상자의 얼굴 특징 벡터에 대해 벡터 공간 내에서의 벡터 상호간 거리를 각각 연산하고, 가장 작은 연산 결과값이 산출된 얼굴 특징 벡터를 찾으며, 상기 가장 작은 연산 결과값이 미리 설정한 임계치 이하인 경우에 상기 가장 작은 연산 결과값이 산출된 얼굴 특징 벡터에 매칭 저장된 벡터키값을 상기 인식 대상자와 동일인의 벡터키값으로 판별하는 방식으로 실행된다. In another aspect, the determination of step 2) calculates the distance between vectors in the vector space for each face feature vector stored in the memory cache 8 and the face feature vector of the recognition target, respectively, and is the smallest. Finds the facial feature vector on which the calculation result is calculated, and when the smallest calculation result value is below a preset threshold, the vector key value stored in the facial feature vector on which the smallest calculation result value is calculated is equal to the recognition target. It is executed by a method of discriminating with a vector key value.

3)단계에서 얼굴 인식 장치(100)는, 상기 메모리 캐시(8)에 저장된 얼굴 특징 벡터 중에 상기 인식 대상자와 동일인의 얼굴 특징 벡터가 없는 것으로 판별한 경우, 제2 판별 기준에 기초하여, 상기 인식 대상자의 얼굴 특징 벡터를 상기 얼굴 데이터베이스(52)에 저장된 얼굴 특징 벡터와 비교하여 동일인의 얼굴 특징 벡터가 있는지 여부를 판별한다. In step 3), when the face recognition apparatus 100 determines that there is no face feature vector of the same person as the recognition target among the face feature vectors stored in the memory cache 8, based on the second determination criterion, the recognition The subject's facial feature vector is compared with the facial feature vector stored in the face database 52 to determine whether there is a facial feature vector of the same person.

상기 3)단계의 판별도 상기 2)단계의 판별과 동일한 방식으로 이뤄질 수 있다. The discrimination in step 3) can also be made in the same way as in the discrimination in step 2).

상기 3)단계에서 얼굴 데이터베이스(52)에 저장된 복수의 얼굴 특징 벡터 중 인식 대상자의 얼굴 특징 벡터와 벡터 상호간 거리를 연산한 상기 연산 결과값이 미리 설정한 임계치 이하인 것으로 판별되는 얼굴 특징 벡터가 2 이상인 경우에는, 벡터 상호간 거리가 더 작게 산출된 얼굴 특징 벡터를 인식 대상자와 동일인의 얼굴 특징 벡터인 것으로 판별한다. Of the plurality of facial feature vectors stored in the face database 52 in step 3), the facial feature vector determined by calculating the distance between the facial feature vector and the vector of the recognition target is less than or equal to a preset threshold, or 2 or more. In the case, it is determined that the facial feature vector having a smaller distance between the vectors is a facial feature vector of the same person as the recognition target.

다른 관점에서, 상기 3)단계의 판별은, 상기 얼굴 데이터베이스(52)에 저장된 각각의 얼굴 특징 벡터와 상기 인식 대상자의 얼굴 특징 벡터에 대해 벡터 공간 내에서의 벡터 상호간 거리를 각각 연산하고, 가장 작은 연산 결과값이 산출된 얼굴 특징 벡터를 찾으며, 상기 가장 작은 연산 결과값이 미리 설정한 임계치 이하인 경우에 상기 가장 작은 연산 결과값이 산출된 얼굴 특징 벡터에 매칭 저장된 벡터키값을 상기 인식 대상자와 동일인의 벡터키값으로 판별하는 방식으로 실행된다.  In another aspect, the determination of step 3) calculates each distance between vectors in the vector space for each facial feature vector stored in the face database 52 and the facial feature vector of the recognition target, and the smallest. Finds the facial feature vector on which the calculation result is calculated, and when the smallest calculation result value is below a preset threshold, the vector key value stored in the facial feature vector on which the smallest calculation result value is calculated is equal to the recognition target. It is executed by a method of discriminating with a vector key value.

한편, 본 실시예의 얼굴 인식 장치(100)는, 상기 제2 판별 기준이 상기 제1 판별 기준보다 더 완화된 판별 조건을 적용하도록 구성된다.  On the other hand, the face recognition apparatus 100 of the present embodiment is configured to apply a determination condition in which the second determination criterion is more relaxed than the first determination criterion.

특히, 본 실시예의 얼굴 인식 장치(100)에서, 상기 제1 판별 기준은 비교 대상이 되는 두 개의 얼굴 특징 벡터에 대해 벡터 공간 내에서의 벡터 상호간 거리를 연산을 한 연산 결과값이 제1 임계치 이하인지 여부를 판별하도록 구성된다. Particularly, in the face recognition apparatus 100 of the present embodiment, the first determination criterion is that a result value of calculating distances between vectors in a vector space for two facial feature vectors to be compared is less than or equal to a first threshold value. It is configured to determine whether or not.

또한, 상기 제2 판별 기준은 비교 대상이 되는 두 개의 얼굴 특징 벡터에 대해 벡터 공간 내에서의 벡터 상호간 거리를 연산을 한 연산 결과값이 제2 임계치 이하인지 여부를 판별하도록 구성된다. In addition, the second determination criterion is configured to determine whether an operation result value obtained by calculating a distance between vectors in a vector space for two facial feature vectors to be compared is less than or equal to a second threshold.

상기와 같은 제1 및 제2 판별 기준에 있어서, 본 실시예의 얼굴 인식 장치(100)는, 상기 제2 임계치가 상기 제1 임계치보다 더 큰 값을 갖도록 구성된다. In the first and second discrimination criteria as described above, the face recognition apparatus 100 of the present embodiment is configured such that the second threshold has a larger value than the first threshold.

4)단계에서 얼굴 인식 장치(100)는, 상기 2)단계의 판별 결과 및 3)단계의 판별 결과 중의 적어도 어느 하나에 기반하여 상기 인식 대상자에 대한 얼굴 인식 판별 결과를 제공한다. In step 4), the face recognition apparatus 100 provides a face recognition discrimination result for the recognition target based on at least one of the discrimination result of step 2) and the discrimination result of step 3).

일예로, 상기 2)단계의 판별 결과 상기 인식 대상자와 동일인에 대한 얼굴 인식 판별 결과가 나온 경우에는 이를 판별 결과로 제공하며, 상기 2)단계에서 동일인 판별 결과가 나오지 않고 3)단계에서 동일인 판별 결과가 나온 경우에는 이를 판별 결과로 제공한다. For example, in the case of the result of the determination in step 2), when the result of the face recognition discrimination for the person to be recognized and the same person are provided, the result is determined, and the result of the same person determination in step 3) does not appear in step 2). If comes out, this is provided as a discrimination result.

5)단계에서 얼굴 인식 장치(100)는, 상기 3)단계의 실행 결과, 상기 얼굴 데이터베이스(52)에 저장된 등록 설정자의 얼굴 특징 벡터 중에 상기 인식 대상자와 동일인의 얼굴 특징 벡터가 있는 것으로 판별한 경우, 해당 인식 대상자의 얼굴 특징 벡터를 상기 메모리 캐시(8)에 해당 등록 설정자의 얼굴 특징 벡터로서 저장한다. In step 5), when the face recognition apparatus 100 determines that there is a face feature vector of the same person as the recognition target among the face feature vectors of the registration setters stored in the face database 52, as a result of the execution of step 3). , The facial feature vector of the subject to be recognized is stored in the memory cache 8 as the facial feature vector of the corresponding registration setter.

이때, 상기 메모리 캐시(8)에 저장하는 얼굴 특징 벡터는, 얼굴 데이터베이스(52)에 저장된 것이 아니며 얼굴 인식을 위해 입력된 영상 프레임에 포함된 인식 대상자의 얼굴 특징 벡터이다. At this time, the face feature vector stored in the memory cache 8 is not stored in the face database 52 but is a face feature vector of a recognition target included in an image frame input for face recognition.

또한, 이때, 상기 메모리 캐시(8)에 저장하는 복수의 얼굴 특징 벡터를 구분하여 인식하기 위해 각각의 얼굴 특징 벡터에 대해 상기 얼굴 데이터베이스(52)에 매칭 저장된 벡터키값을 매칭 저장한다. In addition, at this time, in order to distinguish and recognize a plurality of facial feature vectors stored in the memory cache 8, the vector key values stored and matched in the facial database 52 are matched and stored for each facial feature vector.

6)단계에서 얼굴 인식 장치(100)는, 미리 설정된 갱신 조건에 따라, 상기 메모리 캐시(8)에 저장한 얼굴 특징 벡터로 상기 얼굴 데이터베이스(52)에 저장된 동일인의 얼굴 특징 벡터를 갱신한다. In step 6), the face recognition apparatus 100 updates the facial feature vector of the same person stored in the facial database 52 with the facial feature vector stored in the memory cache 8 according to a preset update condition.

이러한 갱신을 통해 얼굴 데이터베이스(52)에 저장된 얼굴 특징 벡터도 지속적으로 최근 추출된 얼굴 특징 벡터로 갱신될 수 있다. Through this update, the facial feature vectors stored in the face database 52 may also be continuously updated with the recently extracted facial feature vectors.

미리 설정된 갱신 조건의 예로는, 갱신 주기, 갱신 일자, 갱신 명령 등이 될 수 있다. Examples of the preset update condition may be an update cycle, an update date, an update command, and the like.

한편, 본 실시예의 얼굴 인식 장치(100)는, 얼굴 인식을 위해 하나의 영상 프레임(정영상 프레임)을 입력받아 상술한 얼굴 인식 처리를 실행할 수 있지만, 더욱 바람직하게는 인식 대상자를 촬영한 동영상을 구성하는 복수의 영상 프레임을 입력받아 상술항 얼굴 인식 처리를 실행할 수 있다. On the other hand, the face recognition apparatus 100 of the present embodiment may receive a single image frame (normal image frame) for face recognition and execute the above-described face recognition processing, but more preferably, constitute a video image of a person to be recognized. A plurality of image frames to be received may be input to perform the face recognition processing described above.

이 경우, 상기 1)단계에서 입력되는 상기 영상 프레임은 인식 대상자를 촬영한 동영상을 구성하는 복수의 영상 프레임이며, 상기 1)단계 내지 3)단계는 상기 복수의 영상 프레임을 구성하는 각각의 영상 프레임에 대해 실행한다. In this case, the image frames input in step 1) are a plurality of image frames constituting a video image of a person to be recognized, and steps 1) to 3) are respective image frames constituting the plurality of image frames. About to run.

또한 최종적인 얼굴 인식을 위해, 41)단계에서 얼굴 인식 장치(100)는, 복수의 영상 프레임을 구성하는 각각의 영상 프레임에 대해, 상기 2)단계의 판별 결과 및 3)단계의 판별 결과 중의 적어도 어느 하나를 상기 인식 대상자에 대한 얼굴 인식 판별 결과로서 각각 산출한다. In addition, for the final face recognition, in step 41), the face recognition apparatus 100 includes at least one of the determination result of step 2) and the determination result of step 3) for each image frame constituting a plurality of image frames. Any one is calculated as a result of face recognition discrimination for the recognition target, respectively.

42)단계에서 얼굴 인식 장치(100)는, 각각의 영상 프레임에 대해 산출한 얼굴 인식 판별 결과에 기초하여, 상기 복수의 영상 프레임에 대해 가장 높은 빈도(頻度)로 판별 결과가 산출된 인물이 상기 인식 대상자와 동일인인 것으로 판별하여 상기 얼굴 인식 판별 결과로서 제공한다. In step 42), the face recognition apparatus 100 is based on the face recognition determination result calculated for each image frame, and the person whose determination result is calculated with the highest frequency for the plurality of image frames is described above. It is determined that it is the same person as the recognition target and is provided as the result of the face recognition determination.

예를 들어, 한 명의 인식 대상자의 동영상에 포함된 총 20개의 영상 프레임에 기반하여 얼굴 판별을 하는 경우, 10개의 영상 프레임에 기초하여 인식 대상자가 AAA로 판별되고, 5개의 영상 프레임에 기초하여 동일 인식 대상자가 BBB로 판별되고, 5개의 영상 프레임에서는 판별 결과가 도출되지 않았다면, 최종적으로 상기 인식 대상자는 AAA로 판별할 수 있다. For example, when face recognition is performed based on a total of 20 video frames included in a video of one recognition target, the recognition target is determined as AAA based on 10 video frames, and the same is based on 5 video frames If the recognition target is determined to be BBB, and the discrimination result is not derived from the 5 image frames, the recognition target can be finally determined to be AAA.

본 발명의 실시예 들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램과 이를 기록한 컴퓨터 판독가능 매체를 포함한다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD, USB 드라이브와 같은 광기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.Embodiments of the present invention include a program for performing various computer-implemented operations and a computer-readable medium recording the same. The computer-readable medium may include program instructions, data files, data structures, or the like alone or in combination. The media may be specially designed and constructed for the present invention, or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs, DVDs, and USB drives, magnetic-optical media such as floppy disks, and ROM, RAM, Hardware devices specifically configured to store and execute program instructions, such as flash memory, are included. Examples of program instructions include high-level language code that can be executed by a computer using an interpreter, etc., as well as machine language codes produced by a compiler.

2: 메인 메모리
4: 프로세서
5: 비휘발성 저장장치
6: 입출력 인터페이스
8: 메모리 캐시
52: 얼굴 데이터베이스
54: 개인 정보 데이터베이스
20: 카메라
100: 얼굴 인식 장치
2: Main memory
4: Processor
5: Non-volatile storage
6: I / O interface
8: Memory cache
52: Face Database
54: Personal Information Database
20: Camera
100: face recognition device

Claims (17)

얼굴 데이터베이스를 비휘발성 저장장치에 저장하며 메인 메모리와 프로세서, 메모리 캐시를 구비한 얼굴 인식 장치에서 실행하는 얼굴 인식 방법으로서,
1) 미리 학습된 인공신경망을 이용하여, 얼굴 인식을 위해 입력된 영상 프레임에 포함된 인식 대상자의 얼굴 특징 벡터를 추출하는 단계- 상기 얼굴 인식을 위해 입력된 영상 프레임은 인식 대상자를 촬영한 동영상을 구성하는 복수의 영상 프레임이며, 상기 얼굴 특징 벡터의 추출은 상기 복수의 영상 프레임을 구성하는 각각의 영상 프레임에 대해 실행함-;
2) 상기 복수의 영상 프레임을 구성하는 각각의 영상 프레임에 대해, 제1 판별 기준에 기초하여, 상기 인식 대상자의 얼굴 특징 벡터를 상기 메모리 캐시에 저장된 등록 설정자의 얼굴 특징 벡터와 비교하여 동일인의 얼굴 특징 벡터가 있는지 여부를 판별하는 단계;
3) 상기 복수의 영상 프레임을 구성하는 각각의 영상 프레임에 대해, 상기 메모리 캐시에 동일인의 얼굴 특징 벡터가 없는 것으로 판별한 경우, 제2 판별 기준에 기초하여, 상기 인식 대상자의 얼굴 특징 벡터를 상기 얼굴 데이터베이스에 저장된 등록 설정자의 얼굴 특징 벡터와 비교하여 동일인의 얼굴 특징 벡터가 있는지 여부를 판별하는 단계;
41) 복수의 영상 프레임을 구성하는 각각의 영상 프레임에 대해, 상기 2)단계의 판별 결과 및 3)단계의 판별 결과 중의 적어도 어느 하나를 상기 인식 대상자에 대한 얼굴 인식 판별 결과로서 각각 산출하는 단계; 및
42) 각각의 영상 프레임에 대해 산출한 얼굴 인식 판별 결과에 기초하여, 상기 복수의 영상 프레임에 대해 가장 높은 빈도(頻度)로 판별 결과가 산출된 인물이 상기 인식 대상자와 동일인인 것으로 판별하여 상기 얼굴 인식을 위해 입력된 영상 프레임에 대한 얼굴 인식 판별 결과로서 제공하는 단계; 및
5) 상기 42)단계의 실행 결과, 상기 얼굴 데이터베이스에 저장된 등록 설정자의 얼굴 특징 벡터 중에 상기 인식 대상자와 동일인의 얼굴 특징 벡터가 있는 것으로 판별한 경우, 해당 인식 대상자의 얼굴 특징 벡터를 상기 메모리 캐시에 해당 등록 설정자의 얼굴 특징 벡터로서 저장하는 단계- 상기 메모리 캐시에 저장하는 얼굴 특징 벡터는, 얼굴 인식을 위해 입력된 영상 프레임에 포함된 인식 대상자의 얼굴 특징 벡터임-;를 포함하며,
상기 메모리 캐시에 얼굴 특징 벡터가 저장된 등록 설정자는, 상기 얼굴 데이터베이스에 얼굴 특징 벡터가 저장된 등록 설정자의 적어도 일부를 구성하며,
상기 메모리 캐시에 저장된 얼굴 특징 벡터 중의 적어도 일부는, 상기 얼굴 데이터베이스에 저장된 동일인의 얼굴 특징 벡터가 추출된 영상 프레임보다 더욱 최근 입력된 영상 프레임에서 추출한 것이며,
상기 메모리 캐시보다 상대적으로 저속으로 액세스되는 상기 얼굴 데이터베이스에 저장된 얼굴 특징 벡터에 기초한 얼굴 판별 처리 시에 적용하는 상기 제2 판별 기준은, 상기 메모리 캐시에 저장된 얼굴 특징 벡터에 기초한 얼굴 판별 처리 시에 적용하는 상기 제1 판별 기준보다 더욱 완화된 판별 조건을 적용하도록 구성된 것을 특징으로 하는 얼굴 인식 방법.
As a face recognition method for storing a face database in a non-volatile storage device and executing it in a face recognition device having a main memory, a processor, and a memory cache,
1) extracting the facial feature vector of the recognition target included in the image frame input for face recognition using a pre-trained artificial neural network-the input image frame for the face recognition is a video recording the recognition target A plurality of image frames constituting, extraction of the face feature vector is performed for each image frame constituting the plurality of image frames;
2) For each image frame constituting the plurality of image frames, based on a first discrimination criterion, the face feature vector of the recognition target is compared with the face feature vector of the registration setter stored in the memory cache, and the face of the same person Determining whether there is a feature vector;
3) For each image frame constituting the plurality of image frames, when it is determined that the facial feature vector of the same person does not exist in the memory cache, based on the second discrimination criterion, the face feature vector of the recognition target is recalled. Determining whether there is a facial feature vector of the same person by comparing with the facial feature vector of the registration setter stored in the facial database;
41) calculating, for each image frame constituting a plurality of image frames, at least one of the determination result of step 2) and the determination result of step 3) as a face recognition determination result for the recognition target, respectively; And
42) Based on the face recognition discrimination result calculated for each image frame, it is determined that the person whose discrimination result is calculated with the highest frequency for the plurality of image frames is the same as the recognition target, and the face Providing as a result of face recognition discrimination on the input image frame for recognition; And
5) As a result of the execution of step 42), when it is determined that the face feature vector of the same person as the recognition target is among the face feature vectors of the registration setter stored in the face database, the face feature vector of the recognition subject is stored in the memory cache. And storing as a face feature vector of the registration setter, the face feature vector stored in the memory cache is a face feature vector of a recognition target included in an image frame input for face recognition;
The registration setter storing the facial feature vector in the memory cache constitutes at least a part of the registration setter storing the facial feature vector in the face database,
At least some of the facial feature vectors stored in the memory cache are extracted from the image frames input more recently than the extracted image frames of the same person's facial feature vectors stored in the face database,
The second criterion applied to face recognition processing based on the face feature vector stored in the face database, which is accessed at a relatively slower speed than the memory cache, is applied during face determination processing based on the face feature vector stored in the memory cache. A facial recognition method, characterized in that configured to apply a more relaxed discrimination condition than the first discrimination criterion.
제1항에 있어서,
상기 1)단계 이전에,
p1) 미리 학습된 인공신경망을 이용하여, 얼굴 등록을 위해 입력된 영상 프레임에 포함된 등록 설정자의 얼굴 특징 벡터를 추출하는 단계; 및
p2) 상기 등록 설정자의 얼굴 특징 벡터를 상기 얼굴 데이터베이스에 저장하는 단계;를 더욱 포함하는 것을 특징으로 하는 얼굴 인식 방법.
According to claim 1,
Before step 1),
p1) extracting the facial feature vector of the registration setter included in the input image frame for face registration, using a pre-trained artificial neural network; And
p2) storing the face feature vector of the registration setter in the face database; and further comprising a face recognition method.
제2항에 있어서,
상기 얼굴 데이터베이스에 저장하는 복수의 얼굴 특징 벡터를 구분하여 인식하기 위해 각각의 얼굴 특징 벡터에 대해 벡터키값을 매칭 저장하는 것을 특징으로 하는 얼굴 인식 방법.
According to claim 2,
A face recognition method comprising matching and storing a vector key value for each face feature vector in order to distinguish and recognize a plurality of face feature vectors stored in the face database.
제3항에 있어서,
상기 메모리 캐시에 얼굴 특징 벡터를 저장 시에 상기 벡터키값을 매칭 저장하는 것을 특징으로 하는 얼굴 인식 방법.
According to claim 3,
A face recognition method characterized by matching the vector key value when storing the face feature vector in the memory cache.
제3항에 있어서,
상기 비휘발성 저장장치는 개인 정보 데이터베이스를 더욱 저장하며,
상기 개인 정보 데이터베이스는 상기 얼굴 데이터베이스에 저장한 각각의 얼굴 특징 벡터에 상응하는 등록 설정자의 개인 정보를 저장하되, 각각의 등록 설정자의 개인 정보와 상기 벡터키값을 매칭 저장하는 것을 특징으로 하는 얼굴 인식 방법.
According to claim 3,
The non-volatile storage device further stores a personal information database,
The personal information database stores personal information of a registration setter corresponding to each facial feature vector stored in the face database, but matches and stores personal information of each registration setter and the vector key value. .
삭제delete 삭제delete 제1항에 있어서,
6) 미리 설정된 갱신 조건에 따라, 상기 메모리 캐시에 저장한 얼굴 특징 벡터로 상기 얼굴 데이터베이스에 저장된 동일인의 얼굴 특징 벡터를 갱신하는 단계;를 더욱 포함하여 구성된 것을 특징으로 하는 얼굴 인식 방법.
According to claim 1,
6) updating the facial feature vector of the same person stored in the face database with the facial feature vector stored in the memory cache according to a preset update condition.
삭제delete 제1항에 있어서,
상기 인공신경망은 딥 컨볼루션 신경망(Deep Convolutional Neural Network)이며, 상기 학습은 삼중 손실(triplet loss) 기반의 학습인 것을 특징으로 하는 얼굴 인식 방법.
According to claim 1,
The artificial neural network is a Deep Convolutional Neural Network, and the learning is a face loss method based on triple loss.
제1항에 있어서,
상기 얼굴 특징 벡터는 n 차원의 수치 벡터로 정의되며,
상기 2)단계 또는 3)단계의 판별은, 비교 대상이 되는 두 개의 얼굴 특징 벡터에 대해 벡터 공간 내에서의 벡터 상호간 거리를 연산하고, 상기 연산 결과값이 미리 설정한 임계치 이하인 경우에 비교 대상이 되는 두 개의 얼굴 특징 벡터가 동일인의 얼굴 특징 벡터인 것으로 판별하는 것을 특징으로 하는 얼굴 인식 방법.
According to claim 1,
The facial feature vector is defined as an n-dimensional numerical vector,
In the determination of steps 2) or 3), the distance between the vectors in the vector space is calculated for two facial feature vectors to be compared, and when the calculation result is less than a preset threshold, the comparison target is A face recognition method characterized by determining that the two face feature vectors are the same face feature vectors.
제11항에 있어서,
상기 제1 판별 기준은 비교 대상이 되는 두 개의 얼굴 특징 벡터에 대해 벡터 공간 내에서의 벡터 상호간 거리를 연산을 한 연산 결과값이 제1 임계치 이하인지 여부를 판별하는 것이며,
상기 제2 판별 기준은 비교 대상이 되는 두 개의 얼굴 특징 벡터에 대해 벡터 공간 내에서의 벡터 상호간 거리를 연산을 한 연산 결과값이 제2 임계치 이하인지 여부를 판별하는 것이며,
상기 제2 임계치가 상기 제1 임계치보다 더 큰 값을 갖도록 구성된 것을 특징으로 하는 얼굴 인식 방법.
The method of claim 11,
The first discrimination criterion is to determine whether a result value of calculating a distance between vectors in a vector space for two facial feature vectors to be compared is less than or equal to a first threshold,
The second discrimination criterion is to determine whether an operation result value of a distance between vectors in a vector space for two facial feature vectors to be compared is equal to or less than a second threshold,
And the second threshold is configured to have a larger value than the first threshold.
제11항에 있어서,
벡터 공간 내에서의 벡터 상호간 거리는 L2 노름(Norm) 연산에 의해 연산 결과값을 얻는 것을 특징으로 하는 얼굴 인식 방법.
The method of claim 11,
The distance between the vectors in the vector space is a face recognition method characterized by obtaining an operation result value by L2 norm calculation.
제11항에 있어서,
상기 2)단계에서 메모리 캐시에 저장된 얼굴 특징 벡터 중 벡터 상호간 거리를 연산한 상기 연산 결과값이 미리 설정한 임계치 이하인 것으로 판별되는 얼굴 특징 벡터가 2 이상인 경우에는, 벡터 상호간 거리가 더 작게 산출된 얼굴 특징 벡터를 인식 대상자와 동일인의 얼굴 특징 벡터인 것으로 판별하며,
상기 3)단계에서 얼굴 데이터베이스에 저장된 얼굴 특징 벡터 중 벡터 상호간 거리를 연산한 상기 연산 결과값이 미리 설정한 임계치 이하인 것으로 판별되는 얼굴 특징 벡터가 2 이상인 경우에는, 벡터 상호간 거리가 더 작게 산출된 얼굴 특징 벡터를 인식 대상자와 동일인의 얼굴 특징 벡터인 것으로 판별하는 것을 특징으로 하는 얼굴 인식 방법.
The method of claim 11,
In the step 2), if the face feature vector that is determined to be equal to or less than a preset threshold is calculated as a result of calculating the distance between vectors among face feature vectors stored in the memory cache, the distance between the vectors is calculated to be smaller. It is determined that the feature vector is the facial feature vector of the same person as the recognition target,
In the step 3), if the face feature vector is determined to be equal to or less than a preset threshold among the face feature vectors stored in the face database, the distance between the vectors is calculated to be smaller. A face recognition method characterized in that the feature vector is determined to be a face feature vector of the same person as the recognition target.
제11항에 있어서,
상기 3)단계의 판별은,
상기 얼굴 데이터베이스에 저장된 각각의 얼굴 특징 벡터와 상기 인식 대상자의 얼굴 특징 벡터에 대해 벡터 공간 내에서의 벡터 상호간 거리를 각각 연산하고,
가장 작은 연산 결과값이 산출된 얼굴 특징 벡터를 찾으며,
상기 가장 작은 연산 결과값이 미리 설정한 임계치 이하인 경우에 상기 가장 작은 연산 결과값이 산출된 얼굴 특징 벡터에 매칭 저장된 벡터키값을 상기 인식 대상자와 동일인의 벡터키값으로 판별하는 것을 특징으로 하는 얼굴 인식 방법.
The method of claim 11,
The determination of step 3) above,
The distance between the vectors in the vector space is calculated for each facial feature vector stored in the face database and the facial feature vector of the recognition target, respectively.
Find the feature vector with the smallest calculation result,
A face recognition method characterized in that when the smallest calculation result value is below a preset threshold, the stored vector key value matching the smallest calculation result value is calculated as the vector key value of the same person as the recognition target. .
하나 이상의 명령을 저장하는 메인 메모리;
상기 메인 메모리에 저장된 상기 하나 이상의 명령을 실행하는 프로세서;
얼굴 데이터베이스를 저장하는 비휘발성 저장장치; 및
상기 메인 메모리와 프로세서 사이에 구비된 메모리 캐시를 포함하고,
상기 프로세서는,
미리 학습된 인공신경망을 이용하여, 얼굴 인식을 위해 입력된 영상 프레임에 포함된 인식 대상자의 얼굴 특징 벡터를 추출하며- 상기 얼굴 인식을 위해 입력된 영상 프레임은 인식 대상자를 촬영한 동영상을 구성하는 복수의 영상 프레임이며, 상기 얼굴 특징 벡터의 추출은 상기 복수의 영상 프레임을 구성하는 각각의 영상 프레임에 대해 실행함-;
상기 복수의 영상 프레임을 구성하는 각각의 영상 프레임에 대해, 제1 판별 기준에 기초하여, 상기 인식 대상자의 얼굴 특징 벡터를 상기 메모리 캐시에 저장된 등록 설정자의 얼굴 특징 벡터와 비교하여 동일인의 얼굴 특징 벡터가 있는지 여부를 판별하며;
상기 복수의 영상 프레임을 구성하는 각각의 영상 프레임에 대해, 상기 메모리 캐시에 동일인의 얼굴 특징 벡터가 없는 것으로 판별한 경우, 제2 판별 기준에 기초하여, 상기 인식 대상자의 얼굴 특징 벡터를 상기 얼굴 데이터베이스에 저장된 등록 설정자의 얼굴 특징 벡터와 비교하여 동일인의 얼굴 특징 벡터가 있는지 여부를 판별하며;
복수의 영상 프레임을 구성하는 각각의 영상 프레임에 대해, 상기 제1 판별 기준에 기초한 판별 결과 및 제2 판별 기준에 기초한 판별 결과 중의 적어도 어느 하나를 상기 인식 대상자에 대한 얼굴 인식 판별 결과로서 각각 산출하며;
각각의 영상 프레임에 대해 산출한 얼굴 인식 판별 결과에 기초하여, 상기 복수의 영상 프레임에 대해 가장 높은 빈도(頻度)로 판별 결과가 산출된 인물이 상기 인식 대상자와 동일인인 것으로 판별하여 상기 얼굴 인식을 위해 입력된 영상 프레임에 대한 얼굴 인식 판별 결과로서 제공하며;
상기 얼굴 인식을 위해 입력된 영상 프레임에 대한 얼굴 인식 판별의 실행 결과, 상기 얼굴 데이터베이스에 저장된 등록 설정자의 얼굴 특징 벡터 중에 상기 인식 대상자와 동일인의 얼굴 특징 벡터가 있는 것으로 판별한 경우, 해당 인식 대상자의 얼굴 특징 벡터를 상기 메모리 캐시에 해당 등록 설정자의 얼굴 특징 벡터로서 저장하되- 상기 메모리 캐시에 저장하는 얼굴 특징 벡터는, 얼굴 인식을 위해 입력된 영상 프레임에 포함된 인식 대상자의 얼굴 특징 벡터임-;
상기 메모리 캐시에 얼굴 특징 벡터가 저장된 등록 설정자는, 상기 얼굴 데이터베이스에 얼굴 특징 벡터가 저장된 등록 설정자의 적어도 일부를 구성하며,
상기 메모리 캐시에 저장된 얼굴 특징 벡터 중의 적어도 일부는, 상기 얼굴 데이터베이스에 저장된 동일인의 얼굴 특징 벡터가 추출된 영상 프레임보다 더욱 최근 입력된 영상 프레임에서 추출한 것이며,
상기 메모리 캐시보다 상대적으로 저속으로 액세스되는 상기 얼굴 데이터베이스에 저장된 얼굴 특징 벡터에 기초한 얼굴 판별 처리 시에 적용하는 상기 제2 판별 기준은, 상기 메모리 캐시에 저장된 얼굴 특징 벡터에 기초한 얼굴 판별 처리 시에 적용하는 상기 제1 판별 기준보다 더욱 완화된 판별 조건을 적용하도록 구성된 것을 특징으로 하는 얼굴 인식 장치.
Main memory for storing one or more instructions;
A processor executing the one or more instructions stored in the main memory;
A non-volatile storage device for storing the face database; And
It includes a memory cache provided between the main memory and the processor,
The processor,
Using the pre-trained artificial neural network, the facial feature vector of the recognition target included in the image frame input for face recognition is extracted-the image frame input for the face recognition comprises a plurality of videos constituting the subject Is an image frame, and extraction of the facial feature vector is performed for each image frame constituting the plurality of image frames;
For each image frame constituting the plurality of image frames, the facial feature vector of the same person is compared with the facial feature vector of the registration setter stored in the memory cache based on a first determination criterion. Determine whether or not there is;
For each image frame constituting the plurality of image frames, when it is determined that the facial feature vector of the same person does not exist in the memory cache, based on the second discrimination criterion, the facial feature vector of the subject to be recognized is the face database Determining whether there is a facial feature vector of the same person by comparing it with the facial feature vector of the registration setter stored in;
For each image frame constituting a plurality of image frames, at least one of a determination result based on the first discrimination criterion and a discrimination result based on the second discrimination criterion is respectively calculated as a face recognition discrimination result for the recognition target, ;
Based on the result of the face recognition determination calculated for each image frame, the face recognition is determined by determining that the person with the highest determination result is the same as the recognition target for the plurality of image frames Provide as a result of face recognition discrimination for the input image frame;
As a result of execution of face recognition discrimination on the image frame input for the face recognition, if it is determined that the face feature vector of the same person as the recognition target among the face feature vectors of the registration setter stored in the face database, Storing a facial feature vector in the memory cache as a face feature vector of a corresponding registration setter, wherein the facial feature vector stored in the memory cache is a facial feature vector of a recognition target included in an image frame input for face recognition;
The registration setter storing the facial feature vector in the memory cache constitutes at least a part of the registration setter storing the facial feature vector in the face database,
At least some of the facial feature vectors stored in the memory cache are extracted from the image frames input more recently than the extracted image frames of the same person's facial feature vectors stored in the face database,
The second criterion applied to face recognition processing based on the face feature vector stored in the face database, which is accessed at a relatively slower speed than the memory cache, is applied during face determination processing based on the face feature vector stored in the memory cache. A facial recognition apparatus configured to apply a discrimination condition that is more relaxed than the first discrimination criterion.
얼굴 데이터베이스를 비휘발성 저장장치에 저장하며 메인 메모리와 프로세서, 메모리 캐시를 구비한 얼굴 인식 장치와 결합되어 얼굴 인식 방법을 실행하도록 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램으로서,
상기 얼굴 인식 방법은,
1) 미리 학습된 인공신경망을 이용하여, 얼굴 인식을 위해 입력된 영상 프레임에 포함된 인식 대상자의 얼굴 특징 벡터를 추출하는 단계- 상기 얼굴 인식을 위해 입력된 영상 프레임은 인식 대상자를 촬영한 동영상을 구성하는 복수의 영상 프레임이며, 상기 얼굴 특징 벡터의 추출은 상기 복수의 영상 프레임을 구성하는 각각의 영상 프레임에 대해 실행함-;
2) 상기 복수의 영상 프레임을 구성하는 각각의 영상 프레임에 대해, 제1 판별 기준에 기초하여, 상기 인식 대상자의 얼굴 특징 벡터를 상기 메모리 캐시에 저장된 등록 설정자의 얼굴 특징 벡터와 비교하여 동일인의 얼굴 특징 벡터가 있는지 여부를 판별하는 단계;
3) 상기 복수의 영상 프레임을 구성하는 각각의 영상 프레임에 대해, 상기 메모리 캐시에 동일인의 얼굴 특징 벡터가 없는 것으로 판별한 경우, 제2 판별 기준에 기초하여, 상기 인식 대상자의 얼굴 특징 벡터를 상기 얼굴 데이터베이스에 저장된 등록 설정자의 얼굴 특징 벡터와 비교하여 동일인의 얼굴 특징 벡터가 있는지 여부를 판별하는 단계;
41) 복수의 영상 프레임을 구성하는 각각의 영상 프레임에 대해, 상기 2)단계의 판별 결과 및 3)단계의 판별 결과 중의 적어도 어느 하나를 상기 인식 대상자에 대한 얼굴 인식 판별 결과로서 각각 산출하는 단계; 및
42) 각각의 영상 프레임에 대해 산출한 얼굴 인식 판별 결과에 기초하여, 상기 복수의 영상 프레임에 대해 가장 높은 빈도(頻度)로 판별 결과가 산출된 인물이 상기 인식 대상자와 동일인인 것으로 판별하여 상기 얼굴 인식을 위해 입력된 영상 프레임에 대한 얼굴 인식 판별 결과로서 제공하는 단계; 및
5) 상기 42)단계의 실행 결과, 상기 얼굴 데이터베이스에 저장된 등록 설정자의 얼굴 특징 벡터 중에 상기 인식 대상자와 동일인의 얼굴 특징 벡터가 있는 것으로 판별한 경우, 해당 인식 대상자의 얼굴 특징 벡터를 상기 메모리 캐시에 해당 등록 설정자의 얼굴 특징 벡터로서 저장하는 단계- 상기 메모리 캐시에 저장하는 얼굴 특징 벡터는, 얼굴 인식을 위해 입력된 영상 프레임에 포함된 인식 대상자의 얼굴 특징 벡터임-;를 포함하며,
상기 메모리 캐시에 얼굴 특징 벡터가 저장된 등록 설정자는, 상기 얼굴 데이터베이스에 얼굴 특징 벡터가 저장된 등록 설정자의 적어도 일부를 구성하며,
상기 메모리 캐시에 저장된 얼굴 특징 벡터 중의 적어도 일부는, 상기 얼굴 데이터베이스에 저장된 동일인의 얼굴 특징 벡터가 추출된 영상 프레임보다 더욱 최근 입력된 영상 프레임에서 추출한 것이며,
상기 메모리 캐시보다 상대적으로 저속으로 액세스되는 상기 얼굴 데이터베이스에 저장된 얼굴 특징 벡터에 기초한 얼굴 판별 처리 시에 적용하는 상기 제2 판별 기준은, 상기 메모리 캐시에 저장된 얼굴 특징 벡터에 기초한 얼굴 판별 처리 시에 적용하는 상기 제1 판별 기준보다 더욱 완화된 판별 조건을 적용하도록 구성된 것을 특징으로 하는 컴퓨터 판독 가능 매체에 저장된 컴퓨터 프로그램.
A computer program stored in a computer-readable medium to store a face database in a non-volatile storage device and to perform a face recognition method in combination with a face recognition device having a main memory, a processor, and a memory cache,
The face recognition method,
1) extracting the facial feature vector of the recognition target included in the image frame input for face recognition using a pre-trained artificial neural network-the input image frame for the face recognition is a video recording the recognition target A plurality of image frames constituting, extraction of the face feature vector is performed for each image frame constituting the plurality of image frames;
2) For each image frame constituting the plurality of image frames, based on a first discrimination criterion, the face feature vector of the recognition target is compared with the face feature vector of the registration setter stored in the memory cache, and the face of the same person Determining whether there is a feature vector;
3) For each image frame constituting the plurality of image frames, when it is determined that the facial feature vector of the same person does not exist in the memory cache, based on the second discrimination criterion, the face feature vector of the recognition target is recalled. Determining whether there is a facial feature vector of the same person by comparing with the facial feature vector of the registration setter stored in the facial database;
41) calculating, for each image frame constituting a plurality of image frames, at least one of the determination result of step 2) and the determination result of step 3) as a face recognition determination result for the recognition target, respectively; And
42) Based on the face recognition discrimination result calculated for each image frame, it is determined that the person whose discrimination result is calculated with the highest frequency for the plurality of image frames is the same as the recognition target, and the face Providing as a result of face recognition discrimination on the input image frame for recognition; And
5) As a result of the execution of step 42), when it is determined that the face feature vector of the same person as the recognition target is among the face feature vectors of the registration setter stored in the face database, the face feature vector of the recognition subject is stored in the memory cache. And storing as a face feature vector of the registration setter, the face feature vector stored in the memory cache is a face feature vector of a recognition target included in an image frame input for face recognition;
The registration setter storing the facial feature vector in the memory cache constitutes at least a part of the registration setter storing the facial feature vector in the face database,
At least some of the facial feature vectors stored in the memory cache are extracted from the image frames input more recently than the extracted image frames of the same person's facial feature vectors stored in the face database,
The second criterion applied to face recognition processing based on the face feature vector stored in the face database, which is accessed at a relatively slower speed than the memory cache, is applied during face determination processing based on the face feature vector stored in the memory cache. A computer program stored in a computer-readable medium, characterized in that configured to apply a discrimination condition more relaxed than the first discrimination criterion.
KR1020190052417A 2019-05-03 2019-05-03 Method for face recognition, apparatus for face recognition and computer program for the same KR102103557B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190052417A KR102103557B1 (en) 2019-05-03 2019-05-03 Method for face recognition, apparatus for face recognition and computer program for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190052417A KR102103557B1 (en) 2019-05-03 2019-05-03 Method for face recognition, apparatus for face recognition and computer program for the same

Publications (1)

Publication Number Publication Date
KR102103557B1 true KR102103557B1 (en) 2020-04-22

Family

ID=70472851

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190052417A KR102103557B1 (en) 2019-05-03 2019-05-03 Method for face recognition, apparatus for face recognition and computer program for the same

Country Status (1)

Country Link
KR (1) KR102103557B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102244180B1 (en) * 2020-09-21 2021-04-23 한국기술교육대학교 산학협력단 Face recognition access control system and method based on automatic face registration and renewal
CN113033344A (en) * 2021-03-10 2021-06-25 咪咕文化科技有限公司 Image processing method and device and electronic equipment
KR20230030251A (en) * 2021-08-25 2023-03-06 연세대학교 산학협력단 Privacy preserved monitoring system based on re-identification of anonymized individual face
KR102657374B1 (en) * 2023-11-23 2024-04-16 주식회사 엠큐리티 Artificial intelligence-based security guard management and prediction system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990050271A (en) 1997-12-16 1999-07-05 구자홍 Method and apparatus for automatic detection of criminal face using face recognition
KR100486738B1 (en) 2002-10-15 2005-05-03 삼성전자주식회사 Method and apparatus for extracting feature vector for use in face recognition and retrieval
KR20080046490A (en) 2006-11-22 2008-05-27 한국전자통신연구원 Method for identifying face using montage and apparatus thereof
KR20080097798A (en) * 2007-05-03 2008-11-06 삼성전자주식회사 System and method for face recognition based on adaptive learning
JP2009075999A (en) * 2007-09-25 2009-04-09 Casio Comput Co Ltd Image recognition device, method, and program
US20160350334A1 (en) * 2015-05-29 2016-12-01 Accenture Global Services Limited Object recognition cache

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990050271A (en) 1997-12-16 1999-07-05 구자홍 Method and apparatus for automatic detection of criminal face using face recognition
KR100486738B1 (en) 2002-10-15 2005-05-03 삼성전자주식회사 Method and apparatus for extracting feature vector for use in face recognition and retrieval
KR20080046490A (en) 2006-11-22 2008-05-27 한국전자통신연구원 Method for identifying face using montage and apparatus thereof
KR20080097798A (en) * 2007-05-03 2008-11-06 삼성전자주식회사 System and method for face recognition based on adaptive learning
JP2009075999A (en) * 2007-09-25 2009-04-09 Casio Comput Co Ltd Image recognition device, method, and program
US20160350334A1 (en) * 2015-05-29 2016-12-01 Accenture Global Services Limited Object recognition cache

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102244180B1 (en) * 2020-09-21 2021-04-23 한국기술교육대학교 산학협력단 Face recognition access control system and method based on automatic face registration and renewal
CN113033344A (en) * 2021-03-10 2021-06-25 咪咕文化科技有限公司 Image processing method and device and electronic equipment
CN113033344B (en) * 2021-03-10 2024-04-12 咪咕文化科技有限公司 Image processing method and device and electronic equipment
KR20230030251A (en) * 2021-08-25 2023-03-06 연세대학교 산학협력단 Privacy preserved monitoring system based on re-identification of anonymized individual face
KR102609607B1 (en) 2021-08-25 2023-12-01 연세대학교 산학협력단 Privacy preserved monitoring system based on re-identification of anonymized individual face
KR102657374B1 (en) * 2023-11-23 2024-04-16 주식회사 엠큐리티 Artificial intelligence-based security guard management and prediction system

Similar Documents

Publication Publication Date Title
US11727720B2 (en) Face verification method and apparatus
CN108038176B (en) Method and device for establishing passerby library, electronic equipment and medium
KR102103557B1 (en) Method for face recognition, apparatus for face recognition and computer program for the same
KR102128533B1 (en) Keypoint managing apparatus for enhancing product recognition using machine learning
WO2018121018A1 (en) Picture identification method and device, server and storage medium
JP6155306B2 (en) Face recognition method, apparatus, program, and computer-readable recording medium
CN103093187B (en) Verification System
CN112364827B (en) Face recognition method, device, computer equipment and storage medium
KR102078249B1 (en) Method for face authentication, apparatus for face authentication and computer program for the same
KR102415504B1 (en) Updating method and apparatus of registration database for user authentication
JP6941966B2 (en) Person authentication device
US20190251245A1 (en) Method and apparatus with selective combined authentication
CN102857693A (en) Image processing apparatus and control method therefor, as well as storage medium
US20190180128A1 (en) Device and method to register user
CN111382666A (en) Device and method with user authentication
JP5787686B2 (en) Face recognition device and face recognition method
Zhai et al. Occlusion-aware correlation particle filter target tracking based on RGBD data
WO2022033068A1 (en) Image management method and apparatus, and terminal device and system
TWI325568B (en) A method for face varification
US10997398B2 (en) Information processing apparatus, authentication system, method of controlling same, and medium
WO2018137226A1 (en) Fingerprint extraction method and device
WO2023019927A1 (en) Facial recognition method and apparatus, storage medium, and electronic device
KR101240901B1 (en) Face recognition method, apparatus, and computer-readable recording medium for executing the method
US20230401892A1 (en) Information processing apparatus, information processing method, and storage medium
JP2023161956A (en) Object tracking device, object tracking method, and program

Legal Events

Date Code Title Description
AMND Amendment
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant