KR20210135315A - Method and device for facial recognition - Google Patents

Method and device for facial recognition Download PDF

Info

Publication number
KR20210135315A
KR20210135315A KR1020217032563A KR20217032563A KR20210135315A KR 20210135315 A KR20210135315 A KR 20210135315A KR 1020217032563 A KR1020217032563 A KR 1020217032563A KR 20217032563 A KR20217032563 A KR 20217032563A KR 20210135315 A KR20210135315 A KR 20210135315A
Authority
KR
South Korea
Prior art keywords
ecd
requestor
edge capture
capture device
array
Prior art date
Application number
KR1020217032563A
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
Priority claimed from US16/297,366 external-priority patent/US11017212B2/en
Application filed by 스톤 락 글로벌, 인크. filed Critical 스톤 락 글로벌, 인크.
Publication of KR20210135315A publication Critical patent/KR20210135315A/en

Links

Images

Classifications

    • G06K9/00281
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • G06K9/00288
    • G06K9/00597
    • G06K9/209
    • G06K9/4642
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/12Details of acquisition arrangements; Constructional details thereof
    • G06V10/14Optical characteristics of the device performing the acquisition or on the illumination arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/12Details of acquisition arrangements; Constructional details thereof
    • G06V10/14Optical characteristics of the device performing the acquisition or on the illumination arrangements
    • G06V10/147Details of sensors, e.g. sensor lenses
    • 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/50Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
    • 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
    • G06V40/171Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
    • 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
    • G06K2009/4666
    • 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/467Encoded features or binary features, e.g. local binary patterns [LBP]
    • 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/18Eye characteristics, e.g. of the iris

Abstract

본 개시의 측면은, 검출된 비가시광과 연관된 복수의 특징 값을 갖는 복수의 샘플링 포인트를 포함하는 샘플링된 프로파일을 생성하고, 각각 복수의 샘플링 포인트의 서브세트를 포함하는 하나 이상의 매크로블록을 식별하고, 하나 이상의 매크로블록의 각각에 대한 복수의 샘플링 포인트의 각각의 서브세트 내에서 로컬 패턴 값의 발생 횟수를 계산하고, 로컬 패턴 값의 발생 횟수 및 하나 이상의 매크로블록의 대응하는 크기에 기초하여 복수의 가중치를 계산함으로써 복수의 가중치를 포함하는 제1 어레이를 생성하고, 복수의 가중치의 각각에 고유 인덱스를 할당하고, 복수의 가중치의 순위를 매김으로써 고유 인덱스의 제2 어레이를 생성하고, 그리고 복수의 순위 거리를 포함하는 제3 어레이를 생성하기 위한 방법을 포함한다.Aspects of the present disclosure include generating a sampled profile comprising a plurality of sampling points having a plurality of feature values associated with detected invisible light, identifying one or more macroblocks each comprising a subset of the plurality of sampling points, and , calculate the number of occurrences of the local pattern value within each subset of the plurality of sampling points for each of the one or more macroblocks, and calculate the number of occurrences of the local pattern value based on the number of occurrences of the local pattern value and the corresponding size of the one or more macroblocks. generating a first array comprising a plurality of weights by calculating the weights, assigning each of the plurality of weights a unique index, ranking the plurality of weights to create a second array of unique indices, and and a method for generating a third array comprising a rank distance.

Description

안면 인식을 위한 방법 및 장치Method and device for facial recognition

본 출원은, 2013년 3월 15일자로 출원된 미국 가출원 제61/792,922호 및 2012년 9월 7일자로 출원된 미국 가출원 제61/698,347호의 우선권의 이익을 주장하는, 2013년 9월 9일자로 출원된 미국 특허 출원 제14/022,080호(이제 2017년 8월 22일자로 미국 특허 제9,740,917호로 허여됨)의 연속 출원인, 2017년 7월 13일자로 출원된 미국 특허 출원 제15/649,144호의 부분 연속 출원인, 2018년 8월 17일자로 출원된 미국 특허 출원 제16/104,826호의 부분 연속 출원인, 2019년 3월 8일자로 출원된 미국 특허 출원 제16/297,366호의 우선권의 이득을 주장하고, 그 내용은 그 전체가 본 명세서에 참조로 명시적으로 포함된다. This application is filed on September 9, 2013, claiming the benefit of priority to U.S. Provisional Application No. 61/792,922, filed March 15, 2013, and U.S. Provisional Application No. 61/698,347, filed September 7, 2012 Portion of U.S. Patent Application Serial No. 15/649,144, filed July 13, 2017 Serial Applicant, Partial Serial Applicant of U.S. Patent Application Serial No. 16/104,826, filed on August 17, 2018, claims the benefit of priority from U.S. Patent Application Serial No. 16/297,366, filed March 8, 2019, the content of which is expressly incorporated herein by reference in its entirety.

물리적인 및 전자적인 개인 재산을 보호하기 위해 더 강력한 신원 확인에 대한 필요성이 증가하고 있다. 예를 들어, 오직 인가된 요청자(authorized requester)에게만 액세스가 허용되도록 구내(premises), 차량 및 개인 재산에 대한 액세스를 제어하는 것이 중요하다. 요청자는 액세스 제어되는 자산(access controlled assets) 및/또는 기반 시설(infrastructure)에 대한 액세스를 요청하는 사용자/사람일 수 있다. 전통적인 예에서, 요청자는 키를 휴대하고 사용할 수 있으며, 이 키는 키의 요청자가 잠금 장치(lock)를 열고 입장하는 것을 허용하기 위해 잠금 장치에 맞게 설계된다. 그러나, 키에 대한 분실 또는 손상은 액세스를 불가능하게 할 수 있다. 다른 예에서, 요청자는 전자 열쇠(key fob)를 사용하여, 예컨대 도어를 제어하는 차량의 센서에 의해 검출되는 적외선("IR") 또는 무선 주파수("RF") 신호를 생성하도록 전자 열쇠에 있는 버튼을 누름으로써 차량의 도어를 원격으로 잠그거나 잠금 해제할 수도 있다. 이러한 차량 키리스 액세스 시스템은 요청자가 점화 시스템을 작동하는 것을 요구할 수도 있다. 다른 유사한 키리스 액세스 구현은, 슬롯 또는 카드 리더/검출기에 자기 카드 등을 삽입하고 제시하는 것, 또는 인가된 요청자가 제공된 키패드에 숫자 또는 영숫자 코드를 입력하는 것을 가능하게 하는 것을 수반할 수도 있다. 그러나, 이러한 통상적인 기술 각각에서는, 키/카드를 소지한 사람이 실제 인가된 요청자인지 결정하는 것은 매우 어렵다. 사기꾼이 유효한 키(valid key)를 훔치거나 복제하여, 구내, 차량 및/또는 개인 재산에 대한 비인가된 액세스를 얻을 수 있다.There is a growing need for stronger identity verification to protect both physical and electronic personal property. For example, it is important to control access to premises, vehicles and personal property so that only authorized requesters are allowed access. The requestor may be a user/person requesting access to access controlled assets and/or infrastructure. In a traditional example, the requestor may carry and use a key, which is designed to fit the lock to allow the requestor of the key to open and enter the lock. However, loss or damage to the key may render it inaccessible. In another example, the requestor uses an electronic key fob to generate an infrared (“IR”) or radio frequency (“RF”) signal that is detected by, for example, a sensor in a vehicle that controls a door. You can also remotely lock or unlock your vehicle's doors at the push of a button. Such vehicle keyless access systems may require the requestor to activate the ignition system. Other similar keyless access implementations may involve inserting and presenting a magnetic card or the like into a slot or card reader/detector, or enabling an authorized requestor to enter a numeric or alphanumeric code into a provided keypad. However, in each of these conventional techniques, it is very difficult to determine whether the person holding the key/card is the actual authorized requestor. A crook can steal or duplicate a valid key to gain unauthorized access to premises, vehicles and/or personal property.

전통적인 생체 인식(biometrics) 액세스 제어 시스템은 키/카드-기반 액세스 제어 시스템의 일부 단점을 완화할 수 있지만, 한계도 또한 존재할 수 있다. 홍채 검출 센서와 같은 전통적인 생체 인식 센서는, 특정 조명 조건에서 제한되어, 생체 인식 센서의 유효성뿐만 아니라 이를 적용할 수 있는 환경을 상당히 감소시킬 수 있다. 생체 인식 센서의 성능은 눈부심, 그림자 및 다른 아티팩트로 인해 직사광선에서 떨어질 수도 있다. 메가픽셀 카메라 기술의 등장에도, 각각의 얼굴의 특징부(feature)는, 주변 조명, 얼굴의 포지션, 얼굴에 대한 변화, 얼굴 뒤의 배경, 및 카메라의 품질에 의해 흐리게 될 수도 있다. 모션 블러, 불충분한 해상도, 환경적 영향, 조명, 배경 및 카메라 각도가 결탁해서 피사체 세부를 흐리게 하여, 이질적인 안면 인식(비디오 및 다른 프로브 이미지를, 정면 사진의 대규모 데이터베이스에 매칭시키는 것)을 어렵게 만든다.Traditional biometrics access control systems may alleviate some of the shortcomings of key/card-based access control systems, but limitations may also exist. Traditional biometric sensors, such as iris detection sensors, can be limited in certain lighting conditions, significantly reducing the effectiveness of the biometric sensor as well as the environment in which it can be applied. The performance of biometric sensors may also degrade in direct sunlight due to glare, shadows and other artifacts. Even with the advent of megapixel camera technology, the features of each face may be obscured by ambient lighting, the position of the face, changes to the face, the background behind the face, and the quality of the camera. Motion blur, insufficient resolution, environmental influences, lighting, background and camera angles collide to blur subject details, making it difficult to recognize heterogeneous faces (matching video and other probe images to large databases of frontal photos) .

또한 다른 요인이 전통적인 생체 인식 센서의 잘못된 수락률(false acceptance rate) 및/또는 잘못된 인식률(false recognition rate)을 증가시킬 수도 있다. 예를 들어, 생체 인식 센서는 또한 빛이 없을 때 필요한 데이터를 획득하는 데 어려움을 갖는다. 광원 쉐도잉 및 다른 강도 변화는, 안면 특징부로서 잘못 해석될 수 있는 대조를 얼굴에 생성할 수도 있고 그리고/또는 실제 안면 특징부의 측정을 약간 왜곡시킬 수도 있다. 부정확성의 다른 주요 원인은, 증가하는 인구에서 얼굴 사이의 유사한 측정된 특징부의 증가된 증가이다. 또한, 각각의 얼굴의 특징부를 캡처하는 것의 문제는, 낮은 유지보수 및/또는 낮은 복잡성의 안면 인식 시스템에 대한 요구로 인해 심각해질 수 있다. 그래서, 액세스 제어의 개선이 요구될 수 있다.Other factors may also increase the false acceptance rate and/or false recognition rate of traditional biometric sensors. For example, biometric sensors also have difficulty obtaining the necessary data in the absence of light. Light source shadowing and other intensity variations may create contrasts in the face that may be misinterpreted as facial features and/or may slightly distort measurements of actual facial features. Another major cause of inaccuracy is the increased increase in similar measured features between faces in a growing population. Further, the problem of capturing individual facial features can be exacerbated by the need for low maintenance and/or low complexity facial recognition systems. Thus, improvements in access control may be desired.

다음은 하나 이상의 측면의 기본적인 이해를 제공하기 위해 이러한 측면의 간략한 요약을 제시한다. 이 요약은 모든 고려되는 측면의 포괄적인 개요가 아니며, 모든 측면의 주요 또는 핵심 요소를 확인하지도, 임의의 또는 모든 측면의 범위를 기술하지도 않는 것으로 의도된다. 그 유일한 목적은, 이후에 제시되는 더욱 상세한 설명에 대한 서론으로서 간략한 형태로 하나 이상의 측면의 일부 개념을 제시하는 것이다.The following presents a brief summary of one or more aspects in order to provide a basic understanding of them. This summary is not an exhaustive overview of all contemplated aspects, and is intended to neither identify key or key elements of all aspects nor delineate the scope of any or all aspects. Its sole purpose is to present some concepts of one or more aspects in a simplified form as a prelude to the more detailed description that is presented later.

본 개시의 일부 측면은, 검출되는 비가시광(non-visible light)과 연관된 복수의 특징 값(characteristic value)을 갖는 복수의 샘플링 포인트를 포함하는 샘플링된 프로파일(sampled profile)을 생성하고, 각각 복수의 샘플링 포인트의 서브세트를 포함하는 하나 이상의 매크로블록을 식별하고, 로컬 패턴 값을 선택하고, 하나 이상의 매크로블록 각각에 대한 복수의 샘플링 포인트의 각각의 서브세트 내에서 로컬 패턴 값의 발생 횟수를 계산하고, 로컬 패턴 값의 발생 횟수 및 하나 이상의 매크로블록의 대응하는 크기에 기초하여 복수의 가중치(weighted value)를 계산함으로써 복수의 가중치를 포함하는 제1 어레이를 생성하고, 복수의 가중치의 각각에 고유 인덱스(unique index)를 할당하고, 복수의 가중치의 순위를 매김(Ranking)으로써 고유 인덱스의 제2 어레이를 생성하고, 그리고 복수의 순위 거리(Ranking distances)를 포함하는 제3 어레이를 생성하기 위한 방법을 포함한다.Some aspects of the present disclosure generate a sampled profile comprising a plurality of sampling points having a plurality of characteristic values associated with detected non-visible light, each of the plurality of identify one or more macroblocks comprising a subset of the sampling points, select a local pattern value, count the number of occurrences of the local pattern value within each subset of the plurality of sampling points for each of the one or more macroblocks, and , generating a first array including a plurality of weights by calculating a plurality of weighted values based on the number of occurrences of the local pattern value and corresponding sizes of one or more macroblocks, and a unique index for each of the plurality of weights A method for allocating a unique index, creating a second array of unique indices by ranking a plurality of weights, and creating a third array comprising a plurality of ranking distances. include

본 개시의 특정 측면은, 입사된 비가시광을 방출하도록 구성된 조명원, 반사된 비가시광 및 방사된 비가시광을 포함하는 검출된 비가시광을 검출하도록 구성된 광학 센서, 조명원 및 광학 센서에 작동 가능하게 결합된 하나 이상의 프로세스를 갖는 에지 캡처 장치(ECD)를 포함하고, 상기 하나 이상의 프로세스는, 검출된 비가시광과 연관된 복수의 특징 값을 갖는 복수의 샘플링 포인트를 포함하는 샘플링된 프로파일을 생성하고, 각각이 복수의 샘플링 포인트의 서브세트를 포함하는 하나 이상의 매크로블록을 식별하고, 로컬 패턴 값을 선택하고, 하나 이상의 매크로블록 각각에 대한 복수의 샘플링 포인트의 각각의 서브세트 내에서 로컬 패턴 값의 발생 횟수를 계산하고, 로컬 패턴 값의 발생 횟수 및 하나 이상의 매크로블록의 대응하는 크기에 기초하여 복수의 가중치를 계산함으로써 복수의 가중치를 포함하는 제1 어레이를 생성하고, 복수의 가중치 각각에 고유 인덱스를 할당하고, 복수의 가중치의 순위를 매김으로써 고유 인덱스의 제2 어레이를 생성하고, 그리고 복수의 순위 거리를 포함하는 제3 어레이를 생성함으로써 진입 지점(entry point)에 대한 액세스를 요청하는 요청자의 생체 인식 템플릿(biometric template)을 구성하도록 구성된다.Certain aspects of the present disclosure are operably to an illumination source configured to emit incident invisible light, an optical sensor configured to detect detected invisible light including reflected invisible light and emitted invisible light, an illumination source, and an optical sensor an edge capture device (ECD) having one or more processes coupled, the one or more processes generating a sampled profile comprising a plurality of sampling points having a plurality of feature values associated with detected invisible light, each identify one or more macroblocks comprising a subset of the plurality of sampling points, select a local pattern value, and number of occurrences of the local pattern value within each subset of the plurality of sampling points for each of the one or more macroblocks , creating a first array including a plurality of weights by calculating a plurality of weights based on the number of occurrences of the local pattern value and corresponding sizes of one or more macroblocks, and assigning a unique index to each of the plurality of weights biometric identification of a requestor requesting access to an entry point by generating a second array of unique indices by ranking the plurality of weights, and creating a third array including the plurality of ranking distances. configured to constitute a biometric template.

본 개시의 측면은, 하나 이상의 프로세스에 의해 실행될 때, 하나 이상의 프로세스가, 검출된 비가시광과 연관된 복수의 특징 값을 갖는 복수의 샘플링 포인트를 포함하는 샘플링된 프로파일을 생성하기 위한 코드, 각각이 복수의 샘플링 포인트의 서브세트를 포함하는 하나 이상의 매크로블록을 식별하기 위한 코드, 로컬 패턴 값을 선택하기 위한 코드, 하나 이상의 매크로블록 각각에 대한 복수의 샘플링 포인트의 각각의 서브세트 내에서 로컬 패턴 값의 발생 횟수를 계산하기 위한 코드, 로컬 패턴 값의 발생 횟수 및 하나 이상의 매크로블록의 대응하는 크기에 기초하여 복수의 가중치를 계산함으로써 복수의 가중치를 포함하는 제1 어레이를 생성하기 위한 코드, 복수의 가중치 각각에 고유 인덱스를 할당하기 위한 코드, 복수의 가중치의 순위를 매김으로써 고유 인덱스의 제2 어레이를 생성하기 위한 코드, 및 복수의 순위 거리를 포함하는 제3 어레이를 생성하기 위한 코드를 실행하게 하는, 코드를 그 내에 저장하고 있는 컴퓨터 판독 가능한 매체를 포함한다.Aspects of the present disclosure provide code for, when executed by one or more processes, the one or more processes to generate a sampled profile comprising a plurality of sampling points having a plurality of feature values associated with detected invisible light, each of the plurality of code for identifying one or more macroblocks comprising a subset of sampling points of Code for calculating the number of occurrences, code for generating a first array including the plurality of weights by calculating the plurality of weights based on the number of occurrences of the local pattern value and corresponding sizes of the one or more macroblocks, the plurality of weights code for assigning a unique index to each, code for creating a second array of unique indices by ranking a plurality of weights, and code for creating a third array comprising a plurality of rank distances , including a computer readable medium having code thereon.

본 개시의 측면은, 검출된 비가시광과 연관된 복수의 특징 값을 갖는 복수의 샘플링 포인트를 포함하는 샘플링된 프로파일을 생성하기 위한 수단, 각각이 복수의 샘플링 포인트의 서브세트를 포함하는 하나 이상의 매크로블록을 식별하기 위한 수단, 로컬 패턴 값을 선택하기 위한 수단, 하나 이상의 매크로블록 각각에 대한 복수의 샘플링 포인트의 각각의 서브세트 내에서 로컬 패턴 값의 발생 횟수를 계산하기 위한 수단, 로컬 패턴 값의 발생 횟수 및 하나 이상의 매크로블록의 대응하는 크기에 기초하여 복수의 가중치를 계산함으로써 복수의 가중치를 포함하는 제1 어레이를 생성하기 위한 수단, 복수의 가중치 각각에 고유 인덱스를 할당하기 위한 수단, 복수의 가중치의 순위를 매김으로써 고유 인덱스의 제2 어레이를 생성하기 위한 수단, 및 복수의 순위 거리를 포함하는 제3 어레이를 생성하기 위한 수단을 포함하는 시스템을 포함한다.Aspects of the present disclosure provide means for generating a sampled profile comprising a plurality of sampling points having a plurality of feature values associated with detected invisible light, each one or more macroblocks comprising a subset of the plurality of sampling points. means for identifying, means for selecting a local pattern value, means for counting the number of occurrences of the local pattern value within each subset of the plurality of sampling points for each of the one or more macroblocks, the occurrence of the local pattern value means for generating a first array comprising a plurality of weights by calculating a plurality of weights based on a number of times and a corresponding size of the one or more macroblocks; means for assigning a unique index to each of the plurality of weights; A system comprising: means for generating a second array of unique indices by ranking the s; and means for generating a third array comprising a plurality of rank distances.

본 개시의 측면은 액세스 제어되는 진입 지점(access-controlled entry point) 및 ECD를 갖는 기반 시설을 포함하며, ECD는, 요청자의 얼굴에 입사된 비가시광을 방출하고; 요청자의 얼굴로부터 반사된 비가시광 및 방사된 비가시광을 포함하는 검출된 비가시광을 검출하고; 검출된 비가시광과 연관된 복수의 특징 값을 갖는 복수의 샘플링 포인트를 포함하는 샘플링된 프로파일을 생성하고, 각각이 복수의 샘플링 포인트의 서브세트를 포함하는 하나 이상의 매크로블록을 식별하고, 로컬 패턴 값을 선택하고, 하나 이상의 매크로블록 각각에 대한 복수의 샘플링 포인트의 각각의 서브세트 내에서 로컬 패턴 값의 발생 횟수를 계산하고, 로컬 패턴 값의 발생 횟수 및 하나 이상의 매크로블록의 대응하는 크기에 기초하여 복수의 가중치를 계산함으로써 복수의 가중치를 포함하는 제1 어레이를 생성하고, 복수의 가중치 각각에 고유 인덱스를 할당하고, 복수의 가중치의 순위를 매김으로써 고유 인덱스의 제2 어레이를 생성하고, 그리고 복수의 순위 거리를 포함하는 제3 어레이를 생성함으로써 요청자의 생체 인식 템플릿을 생성하고; 인가된 사람의 복수의 생체 인식 템플릿을 저장하고; 인가된 사람의 복수의 생체 인식 템플릿과 요청자의 생체 인식 템플릿을 비교하고; 요청자의 생체 인식 템플릿과 인가된 사람의 복수의 생체 인식 템플릿 중 하나 사이의 매치(match)를 식별하는 것에 대한 응답으로 포지티브 매치 신호(positive match signal)를 생성하고; 그리고 요청자에게 진입 지점에 대한 액세스를 승인(grant)하기 위해 포지티브 매치 신호를 게이트웨이에 전송하도록 구성된다.Aspects of the present disclosure include an infrastructure having an access-controlled entry point and an ECD, wherein the ECD emits invisible light incident on a face of a requestor; detect detected invisible light including invisible light reflected from the requestor's face and emitted invisible light; generate a sampled profile comprising a plurality of sampling points having a plurality of feature values associated with the detected invisible light, identify one or more macroblocks each comprising a subset of the plurality of sampling points, and determine the local pattern values select, calculate the number of occurrences of the local pattern value within each subset of the plurality of sampling points for each of the one or more macroblocks, and calculate a plurality of occurrences of the local pattern value based on the number of occurrences of the local pattern value and the corresponding size of the one or more macroblocks. generating a first array comprising a plurality of weights by calculating the weights of generate the requestor's biometric template by generating a third array comprising the rank distance; store a plurality of biometric templates of the authorized person; compare the authorized person's plurality of biometric templates with the requestor's biometric templates; generate a positive match signal in response to identifying a match between the requestor's biometric template and one of the authorized person's plurality of biometric templates; and send a positive match signal to the gateway to grant the requestor access to the entry point.

본 개시의 측면의 특징인 것으로 생각되는 특징부는 첨부된 청구범위에 제시된다. 후속 설명에서, 명세서 및 도면 전체에 걸쳐 동일한 부분이 각각 동일한 도면번호로 표시된다. 도면의 구성(figures)은 반드시 축척에 따라 그려진 것은 아니고, 특정 구성은 명확성 및 간결성을 위해 과장되거나 일반화된 형태로 도시될 수도 있다. 그러나, 본 개시 자체뿐만 아니라, 바람직한 사용 모드, 추가 목적 및 이점은, 본 개시의 예시적인 측면의 하기의 상세한 설명을 참조하여 첨부 도면과 함께 읽을 때 가장 잘 이해될 것이다.
도 1은 본 개시의 일부 측면에 따른, 예시적인 동시적 실시간 신원 확인 및 인증 시스템이다.
도 2는 본 개시의 일부 측면에 따른, 동시적 실시간 신원 확인 및 인증 장치의 예의 사시도를 도시한다.
도 3은 본 개시의 일부 측면에 따른, 동시적 실시간 신원 확인 및 인증 장치의 예의 정면도를 도시한다.
도 4는 본 개시의 일부 측면에 따른, 예시적인 동시적 실시간 신원 확인 및 인증 장치의 예의 다른 사시도를 도시한다.
도 5는 본 개시의 일부 측면에 따른, 동시적 실시간 신원 확인 및 인증 장치의 예시적인 프로세싱 구성 요소의 블록도이다.
도 6은 본 개시의 일부 측면에 따른, 안면 인식 방법의 흐름도를 도시한다.
도 7a는 본 개시의 일부 측면에 따른, 사람에 대한 안면 이미지를 도시한다.
도 7b는 본 개시의 일부 측면에 따른, 동일한 사람에 대한 상이한 안면 이미지를 도시한다.
도 8은 본 개시의 일부 측면에 따른, 로컬 바이너리 패턴(LBP: local binary pattern) 특징부를 계산하기 위한 예시적인 프로세스를 도시한다.
도 9는 본 개시의 일부 측면에 따른, 로컬 터너리 패턴(LTP: local ternary pattern) 특징부를 계산하기 위한 예시적인 프로세스를 도시한다.
도 10은 본 개시의 일부 측면에 따른, 하나 이상의 얼굴 이미지 중에서 선택된 3개의 예시적인 주요 특징부의 포지션을 도시한다.
도 11은 본 개시의 일부 측면에 따른, 얼굴 데이터베이스를 테스트하기 위한 수신자 조작 특성(ROC:receiver operating characteristic) 곡선의 예를 도시한다.
도 12는 본 개시의 일부 측면에 따른, 비밀 보장(confidentiality)을 위한 생체 인식 비대칭 암호화의 예를 예시한다.
도 13은 본 개시의 일부 측면에 따른, 인증을 위한 생체 인식 비대칭 암호화의 다른 예를 예시한다.
도 14는 액세스 제어를 위한 하나 이상의 게이트웨이를 구현하기 위한 환경의 예의 개략도를 예시한다.
도 15는 본 개시의 측면에 따라 데이터를 관리하는 방법을 구현하기 위한 컴퓨터 시스템의 예를 예시한다.
도 16은 본 개시의 측면에 따른, 다양한 예시적인 시스템 구성 요소의 블록도를 예시한다.
도 17은 본 개시의 측면에 따른, 생체 인식 템플릿을 식별하기 위한 ECD의 예를 예시한다.
도 18은 본 개시의 측면에 따른, 도 17의 ECD의 구성 요소의 예를 예시한다.
도 19는 본 개시의 측면에 따른, 도 17의 ECD의 구성 요소의 다른 예를 예시한다.
도 20은 본 개시의 측면에 따른, 샘플링된 프로파일의 예를 예시한다.
도 21은 본 개시의 측면에 따른, 도 20의 샘플링된 프로파일의 측정 지점에 대한 LBP 동작의 예를 예시한다.
도 22는 서브행렬(sub-matrices)의 예를 예시한다.
도 23은 본 개시의 측면에 따른, 시퀀스 변환의 결과의 표의 예를 예시한다.
도 24는 본 개시의 측면에 따른, 시퀀스를 변환하기 위한 흐름도의 예를 예시한다.
도 25는 본 개시의 측면에 따른, 확인 계산의 표의 예를 예시한다.
도 26은 딥 러닝(deep learning)의 예를 예시한다.
도 27은 딥 러닝의 다른 예를 예시한다.
도 28은 생체 인식 템플릿을 식별하기 위한 방법의 흐름도를 예시한다.
Features believed to be characteristic of aspects of the present disclosure are set forth in the appended claims. In the following description, like parts are denoted by like reference numerals, respectively, throughout the specification and drawings. Figures in the drawings are not necessarily drawn to scale, and specific features may be shown in exaggerated or generalized form for clarity and brevity. However, the present disclosure itself, as well as preferred modes of use, additional objects and advantages, will be best understood when read in conjunction with the accompanying drawings in conjunction with the following detailed description of exemplary aspects of the disclosure.
1 is an exemplary simultaneous real-time identification and authentication system, in accordance with some aspects of the present disclosure.
2 illustrates a perspective view of an example of a simultaneous real-time identification and authentication apparatus, in accordance with some aspects of the present disclosure.
3 illustrates a front view of an example of a simultaneous real-time identification and authentication apparatus, in accordance with some aspects of the present disclosure.
4 depicts another perspective view of an example of an exemplary simultaneous real-time identification and authentication apparatus, in accordance with some aspects of the present disclosure.
5 is a block diagram of exemplary processing components of an apparatus for simultaneous real-time identification and authentication, in accordance with some aspects of the present disclosure.
6 illustrates a flow diagram of a method for facial recognition, in accordance with some aspects of the present disclosure.
7A illustrates a facial image of a person, in accordance with some aspects of the present disclosure.
7B shows different facial images for the same person, in accordance with some aspects of the present disclosure.
8 depicts an example process for calculating a local binary pattern (LBP) feature, in accordance with some aspects of the present disclosure.
9 illustrates an example process for calculating a local ternary pattern (LTP) feature, in accordance with some aspects of the present disclosure.
10 illustrates positions of three example key features selected from one or more facial images, in accordance with some aspects of the present disclosure.
11 shows an example of a receiver operating characteristic (ROC) curve for testing a facial database, in accordance with some aspects of the present disclosure.
12 illustrates an example of biometric asymmetric encryption for confidentiality, in accordance with some aspects of the present disclosure.
13 illustrates another example of biometric asymmetric encryption for authentication, in accordance with some aspects of the present disclosure.
14 illustrates a schematic diagram of an example of an environment for implementing one or more gateways for access control.
15 illustrates an example of a computer system for implementing a method for managing data in accordance with aspects of the present disclosure.
16 illustrates a block diagram of various example system components, in accordance with aspects of the present disclosure.
17 illustrates an example of an ECD for identifying a biometric template, in accordance with aspects of the present disclosure.
18 illustrates examples of components of the ECD of FIG. 17 , in accordance with aspects of the present disclosure.
19 illustrates another example of components of the ECD of FIG. 17 , in accordance with aspects of the present disclosure.
20 illustrates an example of a sampled profile, in accordance with aspects of the present disclosure.
21 illustrates an example of LBP operation for a measurement point of the sampled profile of FIG. 20 , in accordance with aspects of the present disclosure.
22 illustrates an example of sub-matrices.
23 illustrates an example of a table of results of sequence transformation, according to an aspect of the present disclosure.
24 illustrates an example of a flowchart for transforming a sequence, in accordance with aspects of the present disclosure.
25 illustrates an example of a table of validation calculations, in accordance with aspects of the present disclosure.
26 illustrates an example of deep learning.
27 illustrates another example of deep learning.
28 illustrates a flow diagram of a method for identifying a biometric template.

다음은 본 명세서에서 사용되는 선택된 용어의 정의를 포함한다. 정의는 용어의 범위 내에 속하고 구현을 위해 사용될 수 있는 구성 요소의 다양한 예 및/또는 형태를 포함한다. 예는 제한인 것으로 의도되지 않는다.The following includes definitions of selected terms as used herein. The definitions include various examples and/or forms of elements that fall within the scope of the term and that may be used for implementation. The examples are not intended to be limiting.

본 명세서에서 사용되는 "프로세서"는 신호를 처리하고 일반적인 컴퓨팅 및 산술 기능을 수행한다. 프로세서에 의해 처리되는 신호는 디지털 신호, 데이터 신호, 컴퓨터 명령, 프로세서 명령, 메시지, 비트, 비트 스트림, 또는 수신, 송신 및/또는 검출될 수 있는 다른 컴퓨팅을 포함할 수 있다.As used herein, a “processor” processes signals and performs general computing and arithmetic functions. Signals processed by the processor may include digital signals, data signals, computer instructions, processor instructions, messages, bits, bit streams, or other computing capable of being received, transmitted, and/or detected.

본 명세서에서 사용되는 "버스"는, 단일 또는 다수 시스템 내부에서 컴퓨터 구성 요소 사이에서 데이터를 전송하기 위해 통신 가능하게 결합된 상호연결된 아키텍처를 지칭한다. 버스는 특히 메모리 버스, 메모리 제어기, 주변 버스, 외부 버스, 크로스바 스위치 및/또는 로컬 버스일 수 있다. 또한, 버스는 특히 CAN(Controller Area Network), LIN(Local Interconnect Network)와 같은, 프로토콜을 사용하여 차량 내부에서 구성 요소를 상호 연결하는 차량 버스일 수 있다.A “bus,” as used herein, refers to an interconnected architecture communicatively coupled to transfer data between computer components within a single or multiple systems. The bus may be, inter alia, a memory bus, a memory controller, a peripheral bus, an external bus, a crossbar switch and/or a local bus. The bus can also be a vehicle bus that interconnects components inside the vehicle using protocols, such as, inter alia, Controller Area Network (CAN), Local Interconnect Network (LIN).

본 명세서에서 사용되는 "메모리"는 휘발성 메모리 및/또는 비휘발성 메모리를 포함할 수 있다. 비휘발성 메모리는, 예를 들어, ROM(read only memory), PROM(programmable read only memory), EPROM(erasable PROM) 및 EEPROM(electrically erasable PROM)를 포함할 수 있다. 휘발성 메모리는, 예를 들어, RAM(random access memory), 동기식 RAM(SRAM), 동적 RAM(DRAM), 동기식 DRAM(SDRAM), 더블 데이터 레이트 SDRAM(DDR SDRAM), 및/또는 다이렉트 RAM 버스 RAM(DRRAM)을 포함할 수 있다.As used herein, “memory” may include volatile memory and/or non-volatile memory. Non-volatile memory may include, for example, read only memory (ROM), programmable read only memory (PROM), erasable PROM (EPROM), and electrically erasable PROM (EEPROM). Volatile memory includes, for example, random access memory (RAM), synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), and/or direct RAM bus RAM ( DRRAM) may be included.

본 명세서에서 그리고 첨부된 청구항에서 사용되는 바와 같이, 단수 형태는 맥락이 명확하게 달리 지시하지 않는 한, 복수의 지시대상을 포함한다.As used herein and in the appended claims, the singular forms include plural referents unless the context clearly dictates otherwise.

범위는 본 명세서에서 "약", "실질적으로" 또는 "대략" 하나의 특정 값으로부터 및/또는 "약", "실질적으로" 또는 "대략" 다른 특정 값까지와 같이 표현될 수 있다. 이러한 범위가 표현될 때, 다른 구현은 하나의 특정 값으로부터 및/또는 다른 특정 값까지를 포함한다.Ranges may be expressed herein as from “about”, “substantially” or “approximately” one particular value and/or to “about”, “substantially” or “approximately” another particular value. When such ranges are expressed, other implementations include from the one particular value and/or to the other particular value.

"포함하는(comprising)" 또는 "함유하는(containing)" 또는 "포함하는(including)"은, 적어도 명명된 화합물, 요소, 입자 또는 방법 단계가 조성 또는 물품 또는 방법에 존재하지만, 다른 이러한 화합물, 재료, 입자, 방법 단계가 명명된 것과 동일한 기능을 갖더라도, 다른 화합물, 재료, 입자, 방법 단계의 존재를 배제하지 않는다는 것을 의미한다."comprising" or "containing" or "including" means that at least the named compound, element, particle or method step is present in the composition or article or method, but other such compounds; Even though a material, particle, or method step has the same function as named, it is not meant to exclude the presence of another compound, material, particle, or method step.

또한, 하나 이상의 방법 단계의 언급이 명시적으로 식별되는 그러한 단계 사이에 추가적인 방법 단계 또는 개재되는 방법 단계의 존재를 배제하지 않는다는 것이 이해되어야 한다. 마찬가지로, 장치 또는 시스템 내의 하나 이상의 구성 요소의 언급이 명시적으로 식별되는 구성 요소 사이에 추가적인 구성 요소 또는 개재되는 구성 요소의 존재를 배제하지 않는다는 것도 또한 이해되어야 한다.It should also be understood that reference to one or more method steps does not exclude the presence of additional method steps or intervening method steps between those steps explicitly identified. Likewise, it should also be understood that reference to one or more components within an apparatus or system does not exclude the presence of additional components or intervening components between the components explicitly identified.

생체 인식 식별 기술은 일반적으로 요청자가 소유한 특정 생리적 또는 행동적 특징의 진위를 결정함으로써 요청자 식별 프로세스를 수행하는 패턴 인식 기법을 지칭한다. 일부 예시에서, 다양한 이유로 인해 패스워드 및 PIN(personal identification number)을 포함하는 전통적인 방법에 비해 생체 인식 식별이 바람직할 수 있다. 예를 들어, 생체 인식 식별을 사용하는 경우, 식별될 사람(예컨대, 요청자)은 전통적으로 물리적으로 식별 지점(point-of-identification)에 있도록 요구된다. 추가적으로, 생체 인식 기술에 기초한 식별은, 패스워드를 기억하거나 토큰(즉, 액세스 제어되는 진입 지점에 대한 액세스를 얻기 위해 사용되는 보안 장치)을 휴대할 필요성을 제거한다.Biometric identification technology generally refers to a pattern recognition technique that performs the requestor identification process by determining the authenticity of certain physiological or behavioral characteristics possessed by the requestor. In some instances, biometric identification may be desirable over traditional methods involving passwords and personal identification numbers (PINs) for a variety of reasons. For example, when using biometric identification, the person to be identified (eg, the requestor) is traditionally required to be physically at a point-of-identification. Additionally, identification based on biometric technology eliminates the need to remember passwords or carry tokens (ie, security devices used to gain access to access-controlled entry points).

일 종류의 텍스처(texture) 기반 로컬 바이너리 패턴("LBP") 특징부는 바람직한 인식 결과를 생성하는 안면 정보를 설명한다. 개선된 로컬 테너리 패턴("LTP") 특징부는 종래의 LBP 방법에 비해 더 나은 개선일 수 있다. LBP 및 LTP 특징부는 빛과 표정의 변화에 민감하지 않을 수도 있고 계산적으로 효율적이지만, 이들은 또한 포지티브 히스토그램 및 네거티브 히스토그램 사이의 상관으로 인한 정보 중복(information redundancy)과 같은 단점을 갖는다.One kind of texture-based local binary pattern (“LBP”) feature describes facial information that produces desirable recognition results. The improved local tenery pattern (“LTP”) feature may be a better improvement over conventional LBP methods. Although LBP and LTP features may not be sensitive to changes in light and expression and are computationally efficient, they also have disadvantages such as information redundancy due to correlation between positive and negative histograms.

따라서, 인가된 요청자의 다양한 유형의 생체 인식 데이터를 활용함으로써, 가변 보안 등급(varying degrees of security)으로, 인가된 요청자에게 차량, 건물 등에 대한 키리스 액세스를 제공하기 위한 생체 인식 서명 데이터를 생성하기 위한 동시적 실시간 신원 확인 및 인증 기술을 고려하는 것이 바람직하다. 상술된 바와 같이, 본 개시의 일부 구현에서, 생체 인식 서명 데이터는 다양한 애플리케이션에 걸쳐 상호 교환될 수 있다. 이에 따라, 본 개시의 일부 예에서, 사람에 대한 동일한 생체 인식 서명 데이터가 하나 이상의 위치에서 그리고 하나 이상의 애플리케이션에 대해 그 사람을 인증하기 위해 사용될 수 있다. 추가적으로, 본 개시에서 생체 인식 시스템의 예는, 생체 인식 서명 데이터가 원하는 보안 수준에 기초하여 변경되는 것을 허용한다. 따라서, 특정 애플리케이션 및/또는 특정 요청자와 관련하여 사용될 수 있는 생체 인식 서명 데이터의 유형은 그 특정 애플리케이션 및/또는 요청자에 대해 요구되는 보안 수준에 따라 변할 수도 있다. 본 명세서에서 논의되는 일부 구현은 안면 생체 인식 데이터의 맥락에서 논의되지만, 기술 분야의 숙련자는 본 개시의 다양한 구현이 지문 데이터, 홍채 및 망막 스캔 데이터, 스피치 데이터, 안면 서모그램(facial thermogram), 손 모양(hand geometry) 데이터 등을 포함하지만, 이로 제한되지 않는 많은 유형의 생체 인식 데이터를 사용할 수 있다는 것을 이해할 것이다.Thus, by utilizing various types of biometric data of an authorized requestor, generating biometric signature data for providing keyless access to vehicles, buildings, etc. to authorized requestors, with varying degrees of security. It is desirable to consider simultaneous real-time identification and authentication techniques for As noted above, in some implementations of the present disclosure, biometric signature data may be interchanged across a variety of applications. Accordingly, in some examples of this disclosure, the same biometric signature data for a person may be used to authenticate that person at one or more locations and for one or more applications. Additionally, examples of biometric systems in this disclosure allow biometric signature data to be altered based on a desired level of security. Accordingly, the type of biometric signature data that may be used in connection with a particular application and/or requestor may vary depending on the level of security required for that particular application and/or requestor. While some implementations discussed herein are discussed in the context of facial biometric data, those skilled in the art will recognize that various implementations of the present disclosure can be used for fingerprint data, iris and retina scan data, speech data, facial thermograms, hand It will be appreciated that many types of biometric data may be used, including, but not limited to, hand geometry data and the like.

본 개시의 일부 구현에서, 의도된 수신자와 연관된 생체 인식 데이터(예컨대, 생체 인식 템플릿)는 생체 인식-기반 액세스 제어 시스템의 생체 인식 센서를 통해 획득될 수 있다. 이하에서 논의되는 바와 같이, 빛, 온도, 표적(target)으로부터 생체 인식 센서의 거리의 변화는, 생체 인식 센서를 통해 획득되는 생체 인식 데이터의 양 및 품질에 영향을 미칠 수 있다. 예를 들어, 빛 강도와 각도의 변화는 요청자의 얼굴에 그림자를 생성하여, 안면 인식을 더욱 어렵게 만들 수 있다. 요청자를 식별하기 위한 생체 인식 데이터가 모호해진 경우, 요청자를 적절하게 인증하기 위해 더 많은 템플릿이 필요할 수 있고, 따라서 필요한 생체 인식 데이터의 양을 증가시킬 수 있다. 이들 환경 요인의 바람직하지 않은 영향을 줄이기 위해, 생체 인식 센서는 근적외선[near infrared(IR)]이나 자외선(UV) 광을, 또는 원하는 강도의 IR과 UV 둘 다의 조합을 활용할 수 있다. 구현에서, 방법은 근적외선(near IR)을 사용한다. 안면 고유성(facial uniqueness)을 캡처할 때 주변 조명의 영향을 최소화시키기 위해 적외선 발광 다이오드(LED) 어레이가 안면 인식 장치 또는 생체 인식 센서에서 활용될 수 있다. 카메라 및 LED 어레이는, 액세스 제어를 요구하는 도어와 같이, 확인 및/또는 식별/분석을 요구하는 위치에 장착된 전용 에지 장치(예컨대, EDC 또는 페이스 플레이트) 내에 패키징된다.In some implementations of the present disclosure, biometric data (eg, biometric template) associated with an intended recipient may be obtained via a biometric sensor of a biometric-based access control system. As discussed below, changes in light, temperature, and distance of the biometric sensor from the target may affect the amount and quality of biometric data obtained through the biometric sensor. For example, changes in light intensity and angle can create shadows on the requester's face, making facial recognition more difficult. If the biometric data to identify the requestor is ambiguous, more templates may be needed to properly authenticate the requestor, thus increasing the amount of biometric data needed. To reduce the undesirable effects of these environmental factors, biometric sensors can utilize near infrared (IR) or ultraviolet (UV) light, or a combination of both IR and UV of the desired intensity. In an implementation, the method uses near IR. Infrared light emitting diode (LED) arrays can be utilized in facial recognition devices or biometric sensors to minimize the effects of ambient light when capturing facial uniqueness. The cameras and LED arrays are packaged in dedicated edge devices (eg EDCs or faceplates) mounted in locations that require identification and/or identification/analysis, such as doors requiring access control.

일부 구현에서, 액세스 제어 시스템은 안면 특징부를 식별하기 위해 IR 또는 새로운 IR 조명 및 검출을 활용할 수 있다. IR 또는 새로운 IR 조명은 얼굴의 진 피(dermis)에 침투할 수 있다. IR 또는 새로운 IR 조명은, 10 마이크로미터, 20 마이크로미터, 50 마이크로미터, 100 마이크로미터, 200 마이크로미터, 500 마이크로미터, 1 밀리미터, 2 밀리미터, 5 밀리미터, 및/또는 10 밀리미터만큼 진피에 침투할 수 있다. 다른 침투 깊이도 가능하다. 침투 깊이는 신체의 위치, 적외선 조명의 파장, 및/또는 적외선 조명의 강도에 따를 수 있다. 침투는, 가시광으로 보기 어려울 수 있는 피부의 특징[검버섯(age spot), 거미 정맥(spider vein), 과다색소침착, 주사피부염(rosacea), 여드름 및 포르피린(porphyrin)을 포함함]을 노출시킬 수 있다. 이러한 피하(subdermal) 특징부의 식별은 요청자의 고유한 식별을 조정/보완하는 데 사용될 수 있다. 요청자의 얼굴 상의 이들 특징부는, 이들이 요청자의 생활 동안 자연과 태양에 대한 요청자의 노출에 기초하기 때문에, 고유할 수 있다. 피하 특징부에 기초한 안면 인식은, 식별 분석을 위한 기회를 제공하기 위한 캡처 시에 얼굴의 고유성을 식별할 수 있다. 피하 특징부의 수는 태양에 대한 노출로 시간이 지남에 따라 그리고 매일 증가할 수도 있다.In some implementations, the access control system may utilize IR or new IR illumination and detection to identify facial features. IR or new IR illumination can penetrate the dermis of the face. IR or new IR illumination may penetrate the dermis by 10 micrometers, 20 micrometers, 50 micrometers, 100 micrometers, 200 micrometers, 500 micrometers, 1 millimeter, 2 millimeters, 5 millimeters, and/or 10 millimeters. can Other penetration depths are possible. The penetration depth may depend on the location of the body, the wavelength of the infrared illumination, and/or the intensity of the infrared illumination. Penetration can expose features of the skin that may be difficult to see with visible light, including age spots, spider veins, hyperpigmentation, rosacea, acne and porphyrins. have. The identification of these subdermal features can be used to adjust/complement the requestor's unique identification. These features on the requestor's face may be unique as they are based on the requestor's exposure to nature and the sun during the requestor's life. Facial recognition based on subcutaneous features can identify the uniqueness of a face upon capture to provide an opportunity for identification analysis. The number of subcutaneous features may increase over time and daily with exposure to the sun.

다른 예에서, 액세스 제어 시스템은 안면 특징부를 식별하기 위해 자외선 조명 및 검출을 활용할 수 있다. 자외선 조명이 얼굴의 진피에 침투할 수 있다. UV 조명은, 10 마이크로미터, 20 마이크로미터, 50 마이크로미터, 100 마이크로미터, 200 마이크로미터, 500 마이크로미터, 1 밀리미터, 2 밀리미터, 5 밀리미터, 및/또는 10 밀리미터만큼 진피에 침투할 수 있다. 다른 침투 깊이도 가능하다. 침투 깊이는 신체의 위치, 자외선 조명의 파장 및/또는 자외선 조명의 강도에 따를 수 있다. 침투는 가시광으로 보기 어려울 수 있는 피부의 특징(검버섯, 거미 정맥, 과다색소침착, 주사피부염, 여드름 및 포르피린를 포함함)을 노출시킬 수 있다. 이들 피하 특징부의 식별은 요청자의 고유한 식별을 조정/보완하는데 사용될 수 있다. 요청자의 얼굴 상의 이들 특징부는, 이들이 요청자의 생활 동안 자연과 태양에 대한 요청자의 노출에 기초하기 때문에, 고유할 수 있다. 피하 특징부에 기초한 안면 인식은, 식별 분석을 위한 기회를 제공하기 위한 캡처 시에 얼굴의 고유성을 식별할 수 있다. 피하 특징부의 수는 태양에 대한 노출로 시간이 지남에 따라 그리고 매일 증가할 수도 있다. 본 개시의 안면 인식 시스템은 피하 특징부의 양 및 특성에 기초하여 사람의 나이를 추정할 수 있다. 출입 제어 시스템은 또한 시간이 지남에 따라 이러한 특징부에서의 변화를 추적하여 개인의 신원을 확인하고, 피하 특징부의 해석에 기초하여 라이프스타일과 일상을 규명할 수 있다. 피하 안면 인식은 또한 표준적인 가시 파장 포토그래피 및 카메라 기술에 의해 캡처될 수 있는 안면 특징부에 대한 의존성을 제거하기 때문에 얼굴의 복제(예컨대, 생체 인식 템플릿의 복제)를 생성하는 어려움을 증가시킬 수 있다. 액세스 제어 시스템은 또한 액세스 제어 시스템에 얼굴의 인위적인 복제를 제공하는 능력을 추가로 제거하는 시간-시퀀스화 교차-편광 필터(time-sequenced cross-polarization filter)를 캡처 프로세스에 도입함으로써 자외선 캡처의 내용을 추가로 난독화할 수 있다.In another example, the access control system may utilize ultraviolet illumination and detection to identify facial features. Ultraviolet light can penetrate the dermis of the face. UV illumination may penetrate the dermis by 10 micrometers, 20 micrometers, 50 micrometers, 100 micrometers, 200 micrometers, 500 micrometers, 1 millimeter, 2 millimeters, 5 millimeters, and/or 10 millimeters. Other penetration depths are possible. The penetration depth may depend on the location of the body, the wavelength of the ultraviolet light and/or the intensity of the ultraviolet light. Penetration can expose features of the skin that may be difficult to see with visible light (including age spots, spider veins, hyperpigmentation, rosacea, acne, and porphyrins). The identification of these subcutaneous features can be used to adjust/complement the unique identification of the requestor. These features on the requestor's face may be unique as they are based on the requestor's exposure to nature and the sun during the requestor's life. Facial recognition based on subcutaneous features can identify the uniqueness of a face upon capture to provide an opportunity for identification analysis. The number of subcutaneous features may increase over time and daily with exposure to the sun. The facial recognition system of the present disclosure may estimate a person's age based on the amount and characteristics of the subcutaneous features. Access control systems can also track changes in these features over time to identify an individual, and characterize lifestyle and routine based on the interpretation of subcutaneous features. Subcutaneous facial recognition can also increase the difficulty of creating replicas of faces (e.g., replicas of biometric templates) because it removes the dependence on facial features that can be captured by standard visible wavelength photography and camera techniques. have. The access control system also controls the content of the UV capture by introducing a time-sequenced cross-polarization filter into the capture process that further removes the ability to provide the access control system with an artificial replica of a face. It can be further obfuscated.

본 개시에서 시스템의 이점은, 요청자에게 끊임 없는, PIN, 패스워드 및 다단계 인증을 대체하는 단일 자격인정 시스템(single credential system)을 허용하는 것을 포함한다. 적소에 이 아키텍처를 사용하면, 시스템의 요청자(들)는 단일 자격인정 솔루션에 의존할 수 있다. 본 개시의 시스템은 논리적인 및 물리적인 게이트웨이 둘 다를 지원할 수 있다. 본 개시의 일부 구현에서, 시스템은 가정에서 그리고 직장에서 보호를 제공할 수 있다.Advantages of the system in this disclosure include allowing the requestor to have a single credential system that replaces persistent, PIN, password and multi-factor authentication. Using this architecture in place, the requestor(s) of the system can rely on a single qualification solution. The system of the present disclosure may support both logical and physical gateways. In some implementations of the present disclosure, the system can provide protection at home and at work.

본 개시의 측면은 "레이어드 보강(layered reinforcement)"으로 지칭되는 방법을 포함할 수 있다. 이 방법은, 생체 인식 센서로부터 얼굴의 이미지를 취하는 것 및 이미지 상에 상이한 크기의 픽셀 박스의 몇 개의 레이어를 오버레이하는 것을 포함한다. 상이한 크기의 픽셀 박스의 이 레이어링(layering)은 얼굴의 고유성의 분석에 대한 큰 영향을 미친다. 얼굴에 대해 보다 고유한 영역이 확대된다. 얼굴 중에서 보다 일반적인 영역은 덜 강조된다. 결과적으로, 레이어드 보강은, 알고리즘 성능을 향상시키는 동시에, 생체 인식 센서 ECD가 배치되는 다수의 사이트에서 방법이 많은 수의 사용자를 다루는 것을 허용할 수 있다. 방법의 "레이어 보강"은, 이미지가 먼저 캡처되는 생체 인식 센서 ECD에서 로컬 ARM(Advanced Reduced Instruction Set Computing Machine)에 대한 동일한 수의 요청자의 프로세싱을 허용할 수 있고, 따라서 하드웨어 및 프로세싱 요구사항을 감소시키고, 그리고 네트워크 장애가 생체 인식 센서 ECD가 얼굴 확인을 프로세싱하는 것을 막을 수 없기 때문에, 방법의 정확성 및 신뢰성에 기여하게 된다.Aspects of the present disclosure may include a method referred to as "layered reinforcement." The method involves taking an image of a face from a biometric sensor and overlaying several layers of pixel boxes of different sizes on the image. This layering of pixel boxes of different sizes has a great impact on the analysis of facial uniqueness. A more distinct area for the face is magnified. The more general areas of the face are less emphasized. Consequently, layered reinforcement can allow the method to handle a large number of users at multiple sites where biometric sensor ECDs are deployed, while improving algorithm performance. The "layer enrichment" of the method can allow processing of the same number of requestors to the local Advanced Reduced Instruction Set Computing Machine (ARM) in the biometric sensor ECD where the image is captured first, thus reducing hardware and processing requirements and contributes to the accuracy and reliability of the method, as network failures cannot prevent the biometric sensor ECD from processing face identification.

본 발명의 이 실시예의 일부 측면은, 다음의 프로세스: 지배적 특징부의 바이너리 트리를 생성하기 위한 픽셀 박스 계층적 분석(즉, 가장 뚜렷한 특징부가 무엇인지 결정); 히트맵을 사용한 픽셀 박스 시간 도메인 분석(즉, 대상자 사이의 오버랩으로 인해 문제가 되는 특징부를 시간 경과에 따른 결정); 및 바이너리 트리 충돌[잘못된 긍정(false positive)을 유발할 수 있는 두 대상자에 대한 생체 인식 서명 데이터의 오버랩 플래깅 및 사전 조치 방식의 어드레싱]을 통해, 잘못된 부정(false negative) 및 잘못된 긍정 결과를 감소시킴으로써 성능을 증가시키기 위해 다양한 알고리즘에 의해 분석되는 데이터를 관리하기 위한 게이트웨이(아래에서 설명됨)의 사용을 포함한다.Some aspects of this embodiment of the invention include the following processes: pixel box hierarchical analysis to generate a binary tree of dominant features (ie, determining which features are the most distinct); pixel box time domain analysis using heatmaps (ie, determining over time the features in question due to overlap between subjects); and by reducing false negatives and false positives through binary tree collisions (overlap flagging and proactive addressing of biometric signature data for two subjects that could lead to false positives). Includes the use of gateways (discussed below) to manage data that is analyzed by various algorithms to increase performance.

본 개시의 시스템에 대한 이점은, 정확성이 잘못된 부정 및 잘못된 긍정 결과의 감소를 요구할 때 개선된 성능을 포함한다. 개선은 또한 비디오 감시 및 비교의 잠재적인 대체물로서 1:N 환경에서의 1:1 비교의 이점을 허용하여, 대규모 감시 시장에서 정확성을 크게 증가시킨다.Advantages for the systems of the present disclosure include improved performance when accuracy requires reduction of false negatives and false positives. The improvement also allows the benefit of 1:1 comparison in a 1:N environment as a potential replacement for video surveillance and comparison, greatly increasing accuracy in the large-scale surveillance market.

도 1을 참조하면, 예컨대 인가된 요청자에 의한 차량, 건물 등에 대한 액세스를 허용하는 데 사용하기 위한 동시적 실시간 신원 확인 및 인증을 위한 식별 시스템(100)의 예가 본 개시의 측면에 따라 예시된다.Referring to FIG. 1 , an example of an identification system 100 for simultaneous real-time identification and authentication for use, eg, to allow access to a vehicle, building, etc., by an authorized requestor is illustrated in accordance with aspects of the present disclosure.

도 1은 기술 분야의 숙련자가 이용 가능하게 하기 위해 본 개시의 측면을 설명하기 위한 의도임이 인식되어야 한다. 다른 구현이 활용될 수도 있고 본 개시의 범위를 벗어나지 않고 변경이 이루어질 수 있다.It should be appreciated that FIG. 1 is intended to illustrate aspects of the present disclosure to make available to those skilled in the art. Other implementations may be utilized and changes may be made without departing from the scope of the present disclosure.

식별 시스템(100)은, 적어도 하나의 생체 인식 센서(104), 프로세서(106), 메모리(108), 디스플레이(110) 및 입력/출력 메커니즘(112)을 포함하는, 동시적 실시간 신원 확인 및 인증 장치(102)를 포함한다. 식별 시스템(100)은, 공항 탑승 영역, 건물, 경기장, 데이터베이스, 잠긴 도어, 차량 또는 다른 액세스 제어되는 자산(asset)/기반 시설과 같은, 보안 구역, 장치 또는 정보에 대한 액세스를 보호하거나 제어하기 위해 사용될 수 있다.The identification system 100 includes at least one biometric sensor 104 , a processor 106 , a memory 108 , a display 110 , and an input/output mechanism 112 , including simultaneous real-time identification and authentication. device 102 . Identification system 100 is designed to protect or control access to secure areas, devices, or information, such as airport boarding areas, buildings, stadiums, databases, locked doors, vehicles, or other access-controlled assets/infrastructure. can be used for

생체 인식 센서(들)(104)는 카메라, 지문 판독기, 망막 스캐너, 안면 인식 스캐너, 체중 센서, 신장 센서, 체온 센서, 걸음걸이 센서, 심박 센서, 또는 사람의 생체 인식 특징을 감지할 수 있는 임의의 다른 센서 또는 장치를 포함할 수 있다. 도 2 내지 도 4에 도시된 바와 같이, 본 개시의 예시적인 구현에서, 생체 인식 센서(들)(104)는 카메라와 같은 광학 센서일 수 있다.The biometric sensor(s) 104 may be a camera, fingerprint reader, retina scanner, facial recognition scanner, weight sensor, height sensor, body temperature sensor, gait sensor, heart rate sensor, or any other capable of detecting a biometric characteristic of a person. may include other sensors or devices of 2-4 , in an exemplary implementation of the present disclosure, the biometric sensor(s) 104 may be an optical sensor, such as a camera.

일부 측면에서, 생체 인식 센서(들)(104)는 시각적 데이터를 캡처하는 광학 센서를 포함할 수 있다. 예를 들어, 생체 인식 센서(들)(104)는 사람의 안면 특징부과 같은, 요청자의 시각적 정보를 검출하는 카메라일 수 있다. 사람의 안면 특징부는, 사람 얼굴의 텍스처, 안색, 뼈 구조, 점(mole), 모반(birthmark), 윤곽, 채색(coloring)을 포함할 수 있다. 생체 인식 센서(들)(104)는 사람의 안면 특징부를 캡처하고 아래에서 논의되는 바와 같은 시각적 정보를 디지털 검출 정보로 변환할 수 있다.In some aspects, the biometric sensor(s) 104 may include an optical sensor that captures visual data. For example, the biometric sensor(s) 104 may be a camera that detects the requestor's visual information, such as a person's facial features. Facial features of a person may include texture, complexion, bone structure, moles, birthmarks, contours, and coloring of the person's face. The biometric sensor(s) 104 may capture facial features of a person and convert visual information, as discussed below, into digitally detected information.

프로세서(106)는 생체 인식 서명 데이터를 통해 사람을 식별하기 위해, 생체 인식 센서(들)(104)를 통해 감지된 정보를 사람의 알려진 특징과 비교하도록 구성될 수 있다. 프로세서(106)는 임의의 수의 프로세서, 제어기, 집적 회로, 프로그램가능 논리 장치, 또는 다른 컴퓨팅 장치를 포함할 수 있다. 프로세서(106)는 생체 인식 센서(들)(104)로부터 획득되는 감지된 정보와 저장된 생체 인식 서명 데이터의 비교를 허용하기 위해 장치(102)와 외부 장치(114) 또는 시스템 사이에서 정보가 교환되는 것을 가능하게 하는 유선 또는 무선 연결[예컨대, 네트워크(116)]을 통해 생체 인식 센서(들)(104) 및 시스템(100)의 다른 구성 요소와 통신 가능하게 결합될 수 있다.The processor 106 may be configured to compare information sensed via the biometric sensor(s) 104 with known characteristics of the person to identify the person via the biometric signature data. Processor 106 may include any number of processors, controllers, integrated circuits, programmable logic devices, or other computing devices. The processor 106 is configured to allow information exchanged between the device 102 and an external device 114 or system to allow comparison of stored biometric signature data with sensed information obtained from the biometric sensor(s) 104 . may be communicatively coupled with the biometric sensor(s) 104 and other components of the system 100 via a wired or wireless connection (eg, the network 116 ) that enables it.

프로세서(106)는 본 명세서에서 설명되는 기능 중 일부를 수행하기 위해, 메모리(108)에 저장된 컴퓨터 프로그램 및/또는 코드 세그먼트를 구현할 수 있다. 컴퓨터 프로그램은 장치(102)에서 논리 기능을 구현하기 위한 실행가능한 명령의 정렬된 목록을 포함할 수 있다. 컴퓨터 프로그램은, 명령 실행 시스템, 기구 또는 장치에 의해 또는 이와 관련하여 사용하기 위해 임의의 컴퓨터 판독 가능한 매체[예컨대, 메모리(108)]에 구현되어, 명령을 실행할 수 있다. 메모리(108)는 명령 실행 시스템, 기구 또는 장치에 의해 또는 이와 관련하여 사용하기 위해 프로그램을 포함, 저장, 통신, 전파 또는 전송할 수 있다. 메모리(108)의 예는 하나 이상의 와이어, 랜덤 액세스 메모리(RAM), 판독-전용 메모리(ROM), 삭제가능 프로그래밍가능 판독-전용 메모리(EPROM 또는 플래시 메모리), 휴대용 컴퓨터 디스켓, 또는 휴대용 컴팩트 디스크 판독-전용 메모리(CDROM)를 갖는 전기적인 연결을 포함할 수 있다. 메모리(108)는 장치(102)와 통합되거나, 독립형 메모리이거나, 또는 이 둘 모두의 조합일 수 있다. 메모리(108)는, 예를 들어 이동식 및 고정식 메모리 요소, 예컨대, RAM, ROM, 플래시, 자기, 광학, USB 메모리 장치 및/또는 다른 종래의 메모리 요소를 포함할 수 있다.Processor 106 may implement computer programs and/or code segments stored in memory 108 to perform some of the functions described herein. The computer program may include an ordered list of executable instructions for implementing logical functions in device 102 . A computer program may be embodied in any computer readable medium (eg, memory 108 ) for use by or in connection with an instruction execution system, apparatus, or apparatus to execute instructions. Memory 108 may contain, store, communicate, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. Examples of memory 108 include one or more wires, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), a portable computer diskette, or a portable compact disk read. - May contain electrical connections with dedicated memory (CDROM). Memory 108 may be integrated with device 102 , standalone memory, or a combination of both. Memory 108 may include, for example, removable and non-removable memory elements, such as RAM, ROM, flash, magnetic, optical, USB memory devices, and/or other conventional memory elements.

일부 측면에서, 메모리(108)는 다수의 사람의 알려진 특징, 및 위에서 언급된 컴퓨터 프로그램 및 코드 세그먼트와 같은 시스템(100)의 동작과 연관된 다양한 다른 데이터, 또는 장치(102) 및 다른 장치 요소에게 본 명세서에서 설명되는 측면을 수행하도록 명령하기 위한 다른 데이터를 저장할 수 있다. 메모리(108) 내에 저장된 다양한 데이터는, 예컨대 외부 장치(114) 또는 네트워크(116)를 통한 정보의 검색을 가능하게 하기 위해 하나 이상의 데이터베이스(도시되지 않음) 내에서 연관될 수 있다. 비록 도 1에 도시된 바와 같이 메모리(108)가 장치(102)에 통합되어 있지만, 메모리(108)가 장치(102)와 동일한 인클로저(enclosure)에 위치 설정된 독립형 메모리일 수 있거나, 또는 장치(102)에 의해 액세스 가능한 외부 메모리일 수 있음이 인식되어야 한다.In some aspects, memory 108 may store a number of known characteristics of a person, and various other data associated with the operation of system 100, such as the computer programs and code segments mentioned above, or visible to device 102 and other device elements. It may store other data for instructing to perform aspects described herein. The various data stored in memory 108 may be associated in one or more databases (not shown), such as to facilitate retrieval of information via external device 114 or network 116 . Although the memory 108 is integrated into the device 102 as shown in FIG. 1 , the memory 108 may be a standalone memory located in the same enclosure as the device 102 , or the device 102 . ) may be an external memory accessible by

일 측면에서, 디스플레이(110)는 시스템(100) 및 그의 기초적인 동작에 관한 다양한 정보를 디스플레이하도록 구성될 수 있다. 예를 들어, 통지 장치(도시되지 않음)는, 감지된 생체 인식 특징 또는 감지된 신호가 사람의 알려진 특성과 매칭하지 않음을 나타내기 위해 포함될 수 있고 그리고 가청 경보, 시각적 경보 및/또는 임의의 다른 통지 장치를 포함할 수 있다.In one aspect, the display 110 may be configured to display various information regarding the system 100 and its basic operation. For example, a notification device (not shown) may be included to indicate that a sensed biometric feature or sensed signal does not match a known characteristic of a person and may include an audible alert, a visual alert and/or any other A notification device may be included.

일 측면에서, 장치(102)는 또한 장치(102) 내부의 상이한 구성 요소 사이에서, 또는 네트워크(116)를 통해 다양한 외부 장치(114) 또는 시스템과 데이터 및 다른 정보의 교환을 가능하게 하기 위해 입력/출력 메커니즘(112)을 포함할 수 있다.In one aspect, device 102 also provides input to facilitate exchange of data and other information with various external devices 114 or systems, either between different components within device 102 , or via network 116 . /output mechanism 112 .

예를 들어, 이동식 SD(Secure Disk Digital) 카드, 미니 SD 카드, 마이크로 SD 카드 등을 수용하기 위한, SD 카드 슬롯, 미니 SD 카드 슬롯, 마이크로 SD 카드 슬롯 등이나, 또는 퍼스널 컴퓨터와 같은 다른 컴퓨팅 장치와 통신 가능하게 결합되는 USB 케이블과 결합하기 위한 USB 포트를 포함하는 다양한 I/O 포트가 고려될 수 있다. 일부 측면에서, 입력/출력 메커니즘(112)은 식별될 사람에 대한 식별 정보를 수신하기 위한 입력 장치(도시되지 않음)를 포함할 수 있다. 입력 장치는 티켓 판독기, 신용 카드 판독기, 신분증 판독기, 키패드, 터치-스크린 디스플레이 또는 임의의 다른 장치를 포함할 수 있다. 일부 다른 측면에서, 상술된 바와 같이, 입력/출력 메커니즘(112)은, 장치(102)가 네트워크(116), 예컨대 인터넷, 근거리 통신망, 광역 통신망, 애드 훅 또는 피어 투 피어 네트워크, 또는 직접 연결, 예컨대, USB, 파이어와이어(Firewire) 또는 BluetoothTM 연결 등을 통해 다른 전자 장치와 통신하는 것을 가능하게 하도록 구성될 수 있다. 일 예에서, 사람에 대한 알려진 특징은 네트워크(116)를 통해 원격 데이터베이스 또는 메모리에 저장되고 검색될 수 있다. 따라서, 입력/출력 메커니즘(112)은, 유선 데이터 전송 방법 또는 무선 데이터 전송 방법, 예컨대 WiFi(802.11), Wi-Max, BluetoothTM, ANT®, 초-광대역, 적외선, 셀룰러 전화, 라디오 주파수 등을 활용하여 네트워크(116)와 통신할 수 있다. 일 측면에서, 입력/출력 메커니즘(112)은 GSM(Global System for Mobile Communications), CDMA(Code Division Multiple Access), 또는 임의의 다른 공지된 표준으로 동작가능한 통신 네트워크를 통해 통신을 송신 및 수신하기 위한 셀룰러 트랜시버를 포함할 수 있다.SD card slot, mini SD card slot, micro SD card slot, etc., for accommodating a removable Secure Disk Digital (SD) card, mini SD card, micro SD card, etc., or other computing device such as a personal computer. A variety of I/O ports are contemplated, including a USB port for coupling with a USB cable communicatively coupled to the <RTI ID=0.0> In some aspects, the input/output mechanism 112 may include an input device (not shown) for receiving identification information about the person to be identified. The input device may include a ticket reader, credit card reader, identification card reader, keypad, touch-screen display, or any other device. In some other aspects, as described above, the input/output mechanism 112 allows the device 102 to connect to a network 116 , such as the Internet, a local area network, a wide area network, an ad-hook or peer-to-peer network, or a direct connection; For example, it may be configured to enable communication with another electronic device via a USB, Firewire or Bluetooth TM connection or the like. In one example, known characteristics of a person may be stored and retrieved from a remote database or memory via network 116 . Accordingly, the input/output mechanism 112 may be configured to use a wired data transmission method or a wireless data transmission method, such as WiFi (802.11), Wi-Max, Bluetooth , ANT®, ultra-wideband, infrared, cellular phone, radio frequency, etc. It can be used to communicate with the network 116 . In one aspect, the input/output mechanism 112 is for sending and receiving communications over a communications network operable with Global System for Mobile Communications (GSM), Code Division Multiple Access (CDMA), or any other known standard. It may include a cellular transceiver.

장치(102)는 또한 내부에 포함된 다양한 구성 요소에 전력을 제공하기 위한 전원(도시되지 않음)을 포함할 수 있다. 전원은, 배터리, 배터리 팩, 전력 도관, 연결기, 및 배터리, 배터리 연결기 또는 전력 케이블을 수용하도록 동작 가능한 리셉터클을 포함할 수 있다.Device 102 may also include a power source (not shown) to provide power to various components included therein. A power source may include a battery, a battery pack, a power conduit, a connector, and a receptacle operable to receive a battery, battery connector, or power cable.

일 측면에서, 장치(102)는, 장치(102)가 감지된 생체 인식 특징 및/또는 신호가 알려진 특징과 매칭함을 결정할 때까지, 사람이 특정 영역에 액세스하는 것을 방지하기 위해, 액세스 제어되는 진입 지점(도시되지 않음), 예컨대 게이트, 잠긴 도어 등에 설치 및 위치 설정될 수 있다. 일부 다른 측면에서, 도 2 내지 도 4에 도시된 바와 같이, 장치(102)는 독립형, 소형, 핸드헬드 및 휴대용 장치일 수 있다. 일 예에서, 인터넷 및/또는 인트라넷 상에 전자적으로 저장되고 액세스되는 민감한 문서 또는 정보를 보호하기 위해, 이러한 독립형, 소형, 핸드헬드 및 휴대용 장치가 사용할 수 있다. 일부 측면에서, 동시적 실시간 신원 확인 시설 액세스 유닛은 다양한 용도(예컨대, 오피스, 집, 스마트 폰, 컴퓨터, 시설)를 위한 상호교환 가능한 인증을 생성하기 위해 생체 인식 서명 데이터를 사용할 수 있다.In one aspect, the device 102 provides access-controlled access control to prevent a person from accessing a particular area until the device 102 determines that the sensed biometric characteristic and/or signal matches a known characteristic. It may be installed and positioned at an entry point (not shown), such as a gate, locked door, or the like. In some other aspects, as shown in FIGS. 2-4 , the device 102 may be a standalone, compact, handheld, and portable device. In one example, such stand-alone, small, handheld and portable devices may be used to protect sensitive documents or information stored and accessed electronically on the Internet and/or intranets. In some aspects, the simultaneous real-time identification facility access unit may use the biometric signature data to generate interchangeable authentication for a variety of uses (eg, office, home, smart phone, computer, facility).

도 5를 참조하면, 도 1의 프로세서(106)는, 보안 시설 또는 정보에 대한 인가된 요청자의 키리스 액세스로 동시적 실시간 또는 거의 실시간 신원 확인 및 인증을 제공하기 위해, 다른 특징부 중에서도, 검출 모듈(502) 및 인식 모듈(508)을 포함하도록 구성될 수 있다. 검출 모듈(502)은 요청자의 안면 특징부를 검출하기 위한 얼굴 검출 모듈(504)을 포함할 수 있다. 검출 모듈(502)은 요청자의 눈의 위치를 식별하기 위한 눈 검출 모듈(506)을 포함할 수 있다. 일부 구현에서, 검출 모듈(520)은 얼굴 검출 모듈(504) 및/또는 눈 검출 모듈(506) 중 하나 또는 둘 다를 포함할 수 있다. 일부 측면에서, 프로세서(106)는 센서(들)(104)로부터 입력(디지털 또는 아날로그)을 수신할 수 있다. Referring to FIG. 5 , the processor 106 of FIG. 1 is configured to provide, among other features, simultaneous real-time or near-real-time identification and authentication with an authorized requestor's keyless access to a secure facility or information, detecting, among other features. It may be configured to include a module 502 and a recognition module 508 . The detection module 502 may include a face detection module 504 for detecting a facial feature of the requestor. The detection module 502 may include an eye detection module 506 for identifying the location of the requestor's eye. In some implementations, the detection module 520 may include one or both of the face detection module 504 and/or the eye detection module 506 . In some aspects, the processor 106 may receive input (digital or analog) from the sensor(s) 104 .

도 6은, 많은 수의 안면 정보를 갖는 데이터베이스로부터 주요 특징부를 선택하고 그에 따라 상이한 얼굴을 구별할 수 있는 하나의 분류기(classifier)를 구축하는 예시적인 절차를 설명한다. LBP 및 LTP는 얼굴 정보의 전체 설명을 제공하기 위해 사용될 수 있고, 그런 후, 적응형 부스팅["아다부스트(adaboost)"] 학습 알고리즘의 사용으로, 주요 특징부를 선택할 수 있고 그리고 생체 인식 서명 데이터를 생성함으로써 상이한 얼굴을 구분하는 분류기를 구축할 수 있다. 이 생체 인식 서명 데이터는, 가변 등급의 액세스 및 보안(예컨대, 네트워크에 대한 액세스, 그러나 요청자 컴퓨터에 대한 보안 강화)으로 다양한 애플리케이션(예컨대, 컴퓨터, 빌딩 액세스, 스마트 폰, 자동차, 데이터 암호화)에 사용될 수 있는 범용 확인 및 인증을 생성하는 데 사용될 수 있다. 블록(602)에서, 얼굴 샘플 데이터베이스를 생성한다. 예를 들어, 프로세서(106) 및 인식 모듈(508)은 인식되지 않은 얼굴 샘플을 사용하여 얼굴 샘플 데이터베이스를 생성할 수 있다. 일 구현에서, 프로세서(106) 및 인식 모듈(508)은, 각각의 사람이 10개의 상이한 자세 및/또는 표정을 보여주는 1000명의 상이한 사람을 메모리(108)에 저장할 수 있다.6 illustrates an exemplary procedure for selecting key features from a database with a large number of facial information and building one classifier capable of distinguishing different faces accordingly. LBP and LTP can be used to provide a full description of facial information, and then, with the use of an adaptive boosting (“adaboost”) learning algorithm, can select key features and generate biometric signature data. By creating it, we can build a classifier that distinguishes different faces. This biometric signature data can be used in a variety of applications (eg computers, building access, smart phones, automobiles, data encryption) with variable degrees of access and security (eg access to the network, but enhanced security on the requestor computer). It can be used to create universal validations and certificates that can be used. At block 602, a face sample database is created. For example, the processor 106 and the recognition module 508 may use unrecognized face samples to generate a face sample database. In one implementation, the processor 106 and the recognition module 508 may store in the memory 108 1000 different people, each person showing 10 different postures and/or facial expressions.

블록(604)에서, LBP 및 LTP 특징부를 추출한다. 예를 들어, 검출 모듈(502) 및/또는 얼굴 검출 모듈(504)은, 상이한 블록로부터, 각각의 얼굴 샘플의 상이한 포지션에서 LBP 및 LTP 특징부를 추출할 수 있다.At block 604 , the LBP and LTP features are extracted. For example, the detection module 502 and/or the face detection module 504 may extract LBP and LTP features at different positions in each face sample, from different blocks.

블록(606)에서, 포지티브 샘플 및 네거티브 샘플을 계산한다. 예를 들어, 얼굴 검출 모듈(502), 얼굴 검출 모듈(504) 및 눈 검출 모듈(506) 중 적어도 하나는 한 사람으로부터의 임의의 2개의 상이한 이미지의 동일한 포지션에 대한 특징부 절대 값 거리를 계산하고 이 거리를 포지티브 샘플 특징부 데이터베이스로서 설정할 수 있다. 또한, 얼굴 검출 모듈(502) 및 얼굴 검출 모듈(504)은 상이한 사람으로부터의 임의의 2개의 상이한 이미지의 동일한 포지션에 대한 특징부 절대 값 거리를 공동으로 또는 개별적으로 계산하고 이 거리를 네거티브 샘플 특징부 데이터베이스로서 설정할 수 있다.At block 606 , positive and negative samples are calculated. For example, at least one of the face detection module 502 , the face detection module 504 , and the eye detection module 506 calculates a feature absolute value distance for the same position in any two different images from a person. and set this distance as a positive sample feature database. Further, the face detection module 502 and the face detection module 504 jointly or separately calculate the absolute value distance of the feature to the same position in any two different images from different persons and calculate this distance as the negative sample feature. It can be set as a sub-database.

블록(608)에서, 아다부스트 분류기를 구축한다. 예를 들어, 얼굴 검출 모듈(502) 및 얼굴 검출 모듈(504)은, 아다부스트를 이용하여 후보 특징부 데이터베이스로부터 가장 구별가능한 주요 특징부를 선택하고 얼굴 분류기를 생성할 수 있다.At block 608, an Adaboost classifier is built. For example, the face detection module 502 and the face detection module 504 may use Adaboost to select the most distinguishable key features from a database of candidate features and generate a face classifier.

블록(610)에서, 인식 결과를 생성한다. 예를 들어, 인식 모듈(508)은 인식 결과를 생성할 수 있다. 일단 매크로블록의 고정 데이터 세트가 있고 그리고 1 내지 255 범위의 특정 LPB가 결정되면, 그 특정 LBP를 충족하는 블록 내 픽셀의 수에 기초하여, 데이터 세트의 그 유닛에 값이 할당된다. 예를 들어, 20의 LBP 및 255의 유닛 번호 1의 10 x 10 매크로블록을 가정하면, 방법(600)은 스칼라 값에 대해 그 20의 LBP에 속하는 히스토그램의 픽셀의 수를 결정한다. 방법(600)은 스칼라 값을 계산하고, 그런 후, 제2 어레이에서 값을 정규화하여 다양한 크기의 매크로블록 내에서 값을 결정하는 문제를 해결한다. 알려진 방법에 기초한 스칼라 값은 매크로블록의 크기에 기초하고, 여기서 최대 값은 매크로블록의 크기에 따라 100 내지 1600일 수 있다. 이 제2 어레이의 스칼라 값은 이제, 이어지는 평가를 위해 데이터를 정규화하기 위해 그 매크로블록에서 이용할 수 있는 총 픽셀의 백분율이 될 수 있다. 정규화는 데이터가 매크로블록의 크기에 기초하여 왜곡되지 않게 한다. 개선된 방법 하에서의 정규화 후, 이 제2 어레이 내의 데이터 세트의 각각의 유닛은 동일한 가중치를 갖는다. 그런 후, 이 정규화된 데이터가 분류되어 1 내지 2165의 값이 설정 및 할당될 수 있고, 여기서 스케일은 분류의 최상위로 이동하는 가장 높은 정규화된 값을 반영한다. 예를 들어, 데이터 세트 2000이 어레이 내에서 가장 높은 값을 갖는 경우, 이는 더 낮은 값을 갖는 데이터 세트를 반영하는 내림차순 값과 함께 값 1이 할당될 것이다. 그런 후, 제2 정규화된 어레이는 제3 시뮬레이팅된 dna 시퀀싱 어레이로 변환될 수 있고, 여기서 포지션은, 이전 분류에서의 그의 값에 기초하여 이 제3 어레이 내에서 설정된다. 제3 어레이는 포지션을 평가하고, 시퀀스에서 데이터 세트가 나타나는 곳 사이의 차이(예컨대, 순위 거리)를 계산한다. 이 개선된 방법은, 단순히 스칼라 값이 아닌 얼굴 내 특성(trait)의 고유성에 기초하여, 스칼라 값과 반대로 특성을 분석한다.At block 610, a recognition result is generated. For example, the recognition module 508 may generate a recognition result. Once there is a fixed data set of macroblocks and a specific LPB ranging from 1 to 255 has been determined, a value is assigned to that unit of the data set based on the number of pixels in the block that satisfy that specific LBP. For example, assuming a 10 x 10 macroblock with an LBP of 20 and a unit number of 1 of 255, the method 600 determines, for a scalar value, the number of pixels in the histogram belonging to an LBP of 20. Method 600 solves the problem of determining values within macroblocks of various sizes by computing a scalar value and then normalizing the values in the second array. The scalar value based on the known method is based on the size of the macroblock, where the maximum value may be 100 to 1600 depending on the size of the macroblock. The scalar value of this second array can now be a percentage of the total pixels available in that macroblock to normalize the data for subsequent evaluation. Normalization ensures that the data is not distorted based on the size of the macroblock. After normalization under the improved method, each unit of the data set in this second array has the same weight. This normalized data is then classified so that values from 1 to 2165 can be set and assigned, where the scale reflects the highest normalized value moving to the top of the classification. For example, if data set 2000 has the highest value in the array, it will be assigned a value of 1 with descending values reflecting the data set with lower values. The second normalized array can then be transformed into a third simulated dna sequencing array, wherein a position is established within this third array based on its value in a previous classification. A third array evaluates the position and calculates the difference (eg, rank distance) between where the data sets appear in the sequence. This improved method is based on the uniqueness of a trait within a face rather than simply a scalar value, and analyzes the characteristic as opposed to the scalar value.

블록(620)에서, 얼굴 샘플을 테스트한다. 예를 들어, 검출 모듈(502)은 선택적으로 얼굴 샘플을 테스트할 수 있다.At block 620, the face sample is tested. For example, the detection module 502 may optionally test a face sample.

블록(622)에서, LBP 및 LTP 특징부를 추출한다. 예를 들어, 검출 모듈(502) 및/또는 얼굴 검출 모듈(504)은, 상이한 블록로부터, 각각의 얼굴 샘플의 상이한 포지션에서 LBP 및 LTP 특징부를 추출할 수 있다.At block 622 , the LBP and LTP features are extracted. For example, the detection module 502 and/or the face detection module 504 may extract LBP and LTP features at different positions in each face sample, from different blocks.

또한, 온라인 인식은 다음 단계를 포함한다Also, online recognition includes the following steps:

(1) 식별될 얼굴 샘플에 대해 상이한 포지션에서 상이한 블록의 오프라인 스테이지 추출된 주요 특징부를 계산한다.(1) Calculate offline stage extracted key features of different blocks at different positions for face samples to be identified.

(2) 단계 (1)에서 선택된 주요 특징부를 데이터베이스 내의 각각의 얼굴 샘플의 특징부로 계산하고, 이들이 동일한 사람에 속하는지 여부를 결정한다. 계산된 거리가 설정된 임계치보다 작으면, 이들이 동일한 사람인인 것으로 결정될 수 있고, 그렇지 않으면 이들이 동일한 사람이 아니라는 것이 결정될 수 있다.(2) Calculate the key features selected in step (1) as features of each face sample in the database, and determine whether they belong to the same person. If the calculated distance is less than a set threshold, it may be determined that they are the same person, otherwise it may be determined that they are not the same person.

도 8에 도시된 바와 같이, 예시적인 프로세스는 상이한 자세 및 상이한 표정을 갖는 얼굴 데이터베이스를 생성하는 것으로 시작된다. 예를 들어, 하나는 예를 들어 1000개의, 상이한 사람의 이미지를 포함할 수 있고, 각각의 사람은, 예컨대 10개의 이미지를 상이하게 보여준다. 도 7a는 동일한 사람의 상이한 얼굴 이미지를 도시하며, 도 7b는 상이한 사람의 상이한 얼굴 이미지를 나타낸다.As shown in FIG. 8 , the exemplary process begins with creating a database of faces having different postures and different facial expressions. For example, one may include, for example, 1000 images of different people, each person showing eg 10 images differently. Fig. 7a shows different face images of the same person, and Fig. 7b shows different face images of different people.

LBP 및 LTP는 얼굴을 설명하는 데 사용될 수 있다. 도 8은 LBP 특징부의 계산 프로세스를 도시하며, 도 9는 LTP 특징부의 계산 프로세스를 도시한다. 얼굴 정보를 설명하는 많은 특징부를 획득하기 위해, 얼굴 샘플의 상이한 포지션에서 상이한 블록 크기가 나뉠 수 있다. 예를 들어, 얼굴 크기는 100 x 100일 수 있고, 블록 크기는 w x h일 수 있고, w 및 h 값은 2 내지 100의 범위일 수 있으며, 결과적으로 7837개의 블록이 선택될 수 있다. 식별 시스템(100)은 상이한 블록 크기에서 LBP 및 LTP의 빈(bin) 특징부를 선택하여 이를 최종 후보 특징부 데이터베이스로 만들 수 있다.LBP and LTP can be used to describe a face. Fig. 8 shows the calculation process of the LBP feature, and Fig. 9 shows the calculation process of the LTP feature. In order to obtain many features that describe facial information, different block sizes can be divided at different positions of the face sample. For example, the face size may be 100 x 100, the block size may be w x h, the w and h values may range from 2 to 100, resulting in 7837 blocks selected. The identification system 100 may select LBPs and bin features of LTPs at different block sizes and make them into a database of final candidate features.

다음 단계는 포지티브 샘플 및 네거티브 샘플을 계산하는 것이다. 동일한 사람으로부터 상이한 이미지에 대해 동일한 포지션의 빈 특징부 절대 값 거리가 계산되고 포지티브 샘플로 설정될 수 있다. 추가적으로, 상이한 사람에 대한 동일한 포지션의 빈 특징부 절대 값 거리가 계산되고 네거티브 샘플로 설정될 수 있다. 예를 들어, 결과는 32356개의 포지티브 샘플 및 58747698개의 네거티브 샘플을 계산하는 것을 수반할 수 있다.The next step is to count positive and negative samples. The bin feature absolute value distance of the same position for different images from the same person can be calculated and set to a positive sample. Additionally, bin feature absolute value distances of the same position relative to different persons may be calculated and set to negative samples. For example, the result may involve calculating 32356 positive samples and 58747698 negative samples.

그런 후, 다수의 특징부 데이터베이스 중에서 모든 포지티브 샘플 및 네거티브 샘플을 구별할 수 있는 주요 빈 특징부가 학습 알고리즘을 이용하여 선택될 수 있다. 예를 들어, 특징부를 선택하고 분류기를 구축하기 위해 별개의 아다부스트의 학습 알고리즘을 선정할 수 있다.Then, among the multiple feature databases, key bin features capable of distinguishing all positive and negative samples can be selected using a learning algorithm. For example, we can choose a separate Adaboost learning algorithm to select features and build a classifier.

아다부스트를 사용하여 분류하는 예시적인 알고리즘은 다음의 컴퓨팅 단계(computational step)를 포함할 수 있다:An example algorithm for classifying using Adaboost may include the following computational steps:

1. 최대 네거티브 샘플 에러 레이트로서 f, 최소 포지티브 샘플 코렉트(correct) 레이트로서 d, 네거티브 샘플 에러 레이트의 타겟으로서 Ftar, 그리고 캐스케이드 분류기가 달성해야 할 포지티브 샘플 코렉트 레이트의 타겟으로서 Dtar가 주어진다. P, N은 개별적으로 포지티브 및 네거티브 데이터베이스이다.1. Given f as the maximum negative sample error rate, d as the minimum positive sample correct rate, F tar as the target of the negative sample error rate, and D tar as the target of the positive sample correct rate that the cascade classifier should achieve. P and N are positive and negative databases, respectively.

2. F0 = 1.0, D0 = 1.0, 그리고 i = 0으로 설정한다;2. Set F 0 = 1.0, D 0 = 1.0, and i = 0;

3. Fi > Ftar인 경우, i = i + 1, ni = 0, Fi = Fi-1 이고; Fi > fx Fi-1인 경우, ni = ni+1 이다.3. If F i > F tar , then i = i + 1, n i = 0, F i = F i-1 ; When F i > fx F i-1 , n i = n i+1 .

4. 아다부스트를 통해 데이터베이스 P 및 N 내에서 n 개의 특징부로 강한 분류기를 컴퓨팅한다; 현재 캐스케이드 분류기에 대해 Fi 및 Di 계산하고, 레이트가 dxDi-1 이상일 때까지 현재 강한 분류기의 임계 값을 조정하고, N은 비어있지 않은(nonempty) 세트이다.4. Compute a strong classifier with n features in databases P and N via adaboost; Calculate F i and D i for the current cascade classifier, adjust the threshold value of the current strong classifier until the rate is equal to or greater than dxD i-1, where N is a nonempty set.

5. Fi > Ftar 이면, 다른 네거티브 샘플 이미지에서 현재 획득된 캐스케이드 분류기를 분류하고, 잘못 결정된 이미지를 N에 넣는다.5. If F i > F tar , classify the currently acquired cascade classifier from other negative sample images, and put the erroneously determined image into N.

1) n 컴퓨팅 샘플(xi, yi),...,(xn, yn)이 주어지면, yi = 0, 1, xi는, 개별적으로, 네거티브 샘플 라벨 및 포지티브 샘플 라벨을 나타낸다.1) Given n computed samples (x i , y i ),...,(x n , y n ), y i = 0, 1, x i is, respectively, a negative sample label and a positive sample label. indicates.

2) 가중치 초기화2) Initialize weights

Figure pct00001
Figure pct00001

여기서, 포지티브 샘플의 수는 l이고, 네거티브 샘플의 수는 m이다.Here, the number of positive samples is l, and the number of negative samples is m.

3) t를 1에서 T까지 시도하고 아래의 단계를 반복적으로 실행한다:3) Try t from 1 to T and repeat the steps below:

a) 가중치 정규화

Figure pct00002
a) weight normalization
Figure pct00002

b) 각각의 특징부 fj 에 대해 약한 분류기 hj 를 컴퓨팅하고, 이 분류기의 에러 레이트

Figure pct00003
를 표시한다.b) compute a weak classifier h j for each feature f j , and the error rate of this classifier
Figure pct00003
to display

c) 마지막 단계로부터 컴퓨팅된 모든 약한 분류기 중에서 가장 낮은 에러 레이트

Figure pct00004
를 갖는 분류기 ht를 찾는다.c) the lowest error rate among all weak classifiers computed from the last step
Figure pct00004
Find a classifier h t with

d)

Figure pct00005
중에서, 가중치
Figure pct00006
를 업데이트 하고, x가 올바르게 분류되면,
Figure pct00007
이다. 그렇지 않으면,
Figure pct00008
이다.d)
Figure pct00005
Among them, weight
Figure pct00006
update , and if x is classified correctly,
Figure pct00007
am. Otherwise,
Figure pct00008
am.

마지막으로 강한 분류기가 얻어진다:

Figure pct00009
이면, h(x) = 1 이고, 그렇지 않으면, h(x) = 0 이다. 여기서
Figure pct00010
이다.Finally a strong classifier is obtained:
Figure pct00009
, then h(x) = 1, otherwise, h(x) = 0. here
Figure pct00010
am.

도 10은, 오프라인으로 선택된 특징부 및 분류기에 기초하여 100명의 사람의 얼굴 데이터베이스에 대해 온라인 테스트를 수행함으로써 얼굴 이미지 중 선택된 처음 3개의 주요 특징부의 포지션을 도시한다.10 shows the positions of the first three key features selected in a facial image by performing an online test on a database of 100 human faces based on offline selected features and classifiers.

도 11은 100명의 사람에 대한 인식 결과를 도시하며, X 축은 잘못된 수락률(false accept rate)을 나타내며, 이는 잘못 식별된 얼굴 샘플의 비율을 의미한다. Y 축은 확인률(verification rate)을 나타내며, 이는 올바르게 인식된 얼굴 샘플의 비율을 의미한다. 도 11에 도시된 바와 같이, 잘못된 수락률이 10-4 미만인 경우, 95 %인식률이 달성될 수 있다. 이 예에서 얼굴 인식은 얼굴 샘플의 견고성을 향상시킬 뿐만 아니라 그의 컴퓨테이션 복잡도(computational complexity)를 줄여, 얼굴 인식을 크게 향상시킨다.11 shows the recognition results for 100 people, and the X-axis represents a false accept rate, which means the percentage of face samples that are erroneously identified. The Y axis represents the verification rate, which means the percentage of correctly recognized face samples. 11 , when the false acceptance rate is less than 10 -4 , a 95% recognition rate can be achieved. Face recognition in this example not only improves the robustness of the face sample, but also reduces its computational complexity, which greatly improves face recognition.

도 5를 다시 참조하면, 일부 측면에서, 검출 모듈(502)은, 다른 특징부 중에서, 식별될 사람의 획득된 이미지를 처리하기 위해 얼굴 검출 모듈(504) 및 눈 검출 모듈(506)을 다음과 같이 사용하도록 구성될 수 있다.Referring back to FIG. 5 , in some aspects, the detection module 502 follows, among other features, the face detection module 504 and the eye detection module 506 to process the acquired image of the person to be identified. They can be configured to be used together.

얼굴 검출 모듈(504)face detection module (504)

입력: 획득된 정면 얼굴 이미지(회색 이미지), 얼굴 분류기Input: Acquired frontal face image (gray image), face classifier

출력: 얼굴 프레임 포지션 및 얼굴의 수Output: face frame position and number of faces

흐름:flow:

a. 획득된 정면 얼굴 이미지를 사용자-정의 크기로 축소a. Reducing the acquired frontal face image to a user-defined size

b. 축소된 이미지의 적분 이미지 계산b. Compute the integral image of the reduced image

c. 얼굴 분류기에 의해 정의되는 크기(예컨대, 20 x 20)에 기초하여 트래버스 윈도우(traverse window)를 초기화c. Initialize the traverse window based on the size (eg 20 x 20) defined by the face classifier

d. 적분 이미지의 트래버스 윈도우를 좌측에서 우측으로 이동한 다음, 사용자-정의 거리에 대응하는 각각의 이동 거리를 사용하여 위에서 아래로 이동한다. 그러나, 사용자-정의 거리가 0이면, 이동 거리를 트래버스 윈도우의 폭의 1/20으로 설정한다.d. Moves the traverse window of the integral image from left to right, and then moves from top to bottom using each move distance corresponding to a user-defined distance. However, if the user-defined distance is 0, set the travel distance to 1/20 the width of the traverse window.

e. 얼굴 분류기를 사용하여 트래버스 윈도우의 현재 포지션이 얼굴의 유효 부분을 정의하는지를 결정한다. 그렇다면, 결과로서 트래버스 윈도우의 현재의 직사각형 프레임 포지션을 저장한다.e. A face classifier is used to determine whether the current position of the traverse window defines a valid part of the face. If so, save the current rectangular frame position of the traverse window as a result.

f. 전체 적분 이미지를 트래버싱한 후, 트래버스 윈도우의 폭과 길이를 1.1배 증가시키고, 트래버스 윈도우의 크기가 이미지의 크기를 초과하거나 또는 결과를 저장하기 위해 할당된 버퍼가 모두 사용될 때까지, 단계 e를 반복한다.f. After traversing the entire integral image, increase the width and length of the traverse window by 1.1 times and repeat step e until the size of the traverse window exceeds the size of the image or the buffer allocated to store the result is exhausted. Repeat.

g. 얼굴 프레임 포지션 및 얼굴로 리턴한다.g. Return to the face frame position and face.

눈 검출 모듈(506)Eye detection module (506)

입력: 획득된 정면 얼굴 이미지(회색 이미지), 얼굴 프레임 포지션, 좌측 눈 및 우측 눈 둘 다에 대한 분류기, 좌측 눈 분류기, 우측 눈 분류기, 좌측 눈 거친(coarse) 검출 분류기, 우측 거친 눈 검출 분류기Input: Acquired frontal face image (gray image), face frame position, classifier for both left eye and right eye, left eye classifier, right eye classifier, left eye coarse detection classifier, right coarse eye detection classifier

출력: 양쪽 눈에 대한 프레임 포지션, 좌측 눈의 프레임 포지션, 우측 눈의 프레임 포지션Output: frame position for both eyes, frame position for left eye, frame position for right eye

흐름:flow:

a. 획득된 정면 얼굴 이미지로부터 얼굴 이미지 획득a. Acquiring a face image from the acquired frontal face image

b. 좌측 눈과 우측 눈 둘 다에 대한 사용자-정의 분류기가 이용가능한 경우, 대응하게 정의된 얼굴 검출 함수를 사용하여, 획득된 얼굴 이미지 중 좌측 눈과 우측 눈 둘 다를 검출한다. 그렇지 않으면, 경험에 기초하여 좌측 눈과 우측 눈 둘 다의 포지션을 추정한다.b. If a user-defined classifier for both the left eye and the right eye is available, a correspondingly defined face detection function is used to detect both the left eye and the right eye in the obtained face image. Otherwise, it estimates the position of both the left eye and the right eye based on experience.

c. 좌측/우측 눈에 대해 사용자-정의 좌측/우측 눈 거친 검출 분류기가 이용가능한 경우, 획득된 얼굴 이미지의 대응하는 절반에서 좌측/우측 눈을 검출한다. 또한, 거친 검출 결과에 기초하여, 검출되는 사람 대상자가 안경을 착용하고 있는지 여부를 결정한다. 안경이 존재하면, 획득된 얼굴 이미지를 검출하고 결과와 함께 리턴한다. 안경이 존재하지 않는 경우에, 거친 검출 결과에 기초하여 획득된 얼굴 이미지를 계속 검출하고, 안경의 존재를 고려하지 않고 검출 결과를 리턴한다. (안경-착용 대상자에 대한 사용자-정의 분류기가 이용가능하지 않은 경우, 안경의 존재를 고려하지 않고 획득된 얼굴 이미지를 검출한다.)c. If a user-defined left/right eye coarse detection classifier is available for the left/right eye, it detects the left/right eye in the corresponding half of the acquired face image. Further, based on the rough detection result, it is determined whether the detected human subject is wearing glasses. If glasses are present, it detects the acquired face image and returns it with the result. In the case where the glasses are not present, the face image obtained based on the coarse detection result is continuously detected, and the detection result is returned without considering the presence of the glasses. (If a user-defined classifier for the glasses-wearing subject is not available, the acquired face image is detected without considering the presence of glasses.)

d. 사용자-정의 거친 검출 분류기가 이용가능하지 않은 경우, 획득된 얼굴 이미지의 좌측/우측 절반을 직접 검출함으로써 안경이 존재하는지를 결정한다. 안경이 존재한다면, 획득된 얼굴 이미지를 검출하고 결과와 함께 리턴한다. 안경이 존재하지 않는 경우, 거친 검출 결과에 기초하여 획득된 얼굴 이미지를 계속 검출하고, 안경의 존재를 고려하지 않고 검출 결과를 리턴한다. (안경-착용 대상자에 대한 사용자-정의 분류기가 이용가능하지 않은 경우, 안경의 존재를 고려하지 않고 획득된 얼굴 이미지를 검출한다.)d. If a user-defined coarse detection classifier is not available, it determines whether glasses are present by directly detecting the left/right halves of the acquired facial image. If glasses are present, it detects the acquired face image and returns it with the result. If the glasses are not present, the face image obtained based on the coarse detection result is continuously detected, and the detection result is returned without considering the presence of the glasses. (If a user-defined classifier for the glasses-wearing subject is not available, the acquired face image is detected without considering the presence of glasses.)

e. 리턴e. return

일부 측면에서, 프로세서(106)는, 다음과 같이 다수의 인가된 사람의 알려진 특징 및/또는 정보에 대해 비교하기 위해 검출 모듈(502)로부터 획득된 적절한 안면 특징부를 추출하기 위해서, 예컨대 인식 모듈(508)을 추가로 사용할 수 있다.In some aspects, the processor 106 may be configured to extract appropriate facial features obtained from the detection module 502 for comparison against known features and/or information of multiple authorized persons, such as, for example, a recognition module ( 508) can be additionally used.

인식 모듈(508)Recognition module (508)

정규화normalization

입력: 정규화될 이미지(회색 이미지), 이미지 축에서 좌측 눈과 우측 눈 둘 다의 중심의 좌표(원점은 이미지의 좌측 상단 모서리에 위치됨). 파라미터의 의미: 1x는, 출력 이미지의 폭으로 나눈, 출력 이미지에서 좌측 눈(수평 방향)의 중심점의 x 좌표를 가리키고, 1y는 출력 이미지의 높이로 나눈, 출력 이미지에서 좌측 눈(수직 방향)의 중심점의 x 좌표를 가리킨다.Input: image to be normalized (grey image), coordinates of the centers of both left and right eyes on the image axis (the origin is located in the upper left corner of the image). Meaning of the parameter: 1x indicates the x-coordinate of the center point of the left eye (horizontal direction) in the output image, divided by the width of the output image, and 1y is the left eye (vertical direction) of the output image divided by the height of the output image. Points to the x-coordinate of the center point.

출력: 출력 이미지Output: output image

특징부 추출Feature extraction

입력: 정규화된 이미지(회색 이미지) 및 특징부 유형Input: normalized image (grey image) and feature type

출력: 출력 버퍼가 NULL이면, 특징부 차원도(feature dimensional degrees)를 리턴한다. 그렇지 않으면, 출력 버퍼의 크기가 특징부 차원도와 같다고 가정하고, 이미지의 특징부를 버퍼에 기록하고, 특징부 차원도를 리턴한다. 특정 특징부는 특정 이미지 크기와 연관된다. 예를 들어, #6 특징부는 100 x 100의 이미지 크기를 요구할 수 있다. 따라서, 입력 이미지가 대응하는 정의된 이미지 크기 요구사항에 실패하면, 0의 결과가 리턴될 수 있다.Output: If the output buffer is NULL, return feature dimensional degrees. Otherwise, it is assumed that the size of the output buffer is equal to the feature dimension diagram, writes the features of the image to the buffer, and returns the feature dimension diagram. A particular feature is associated with a particular image size. For example, feature #6 may require an image size of 100 x 100. Thus, if the input image fails the corresponding defined image size requirement, a result of zero may be returned.

특징부 비교Feature Comparison

입력: 비교될 2개의 특징부 및 비교 방법Input: 2 features to be compared and how to compare

출력: 비교 결과(부동 소수점)가 작을수록, 유사성이 높다.Output: The smaller the comparison result (floating point), the higher the similarity.

알고리즘 정보 획득Obtain Algorithm Information

함수: 요청자에게 알고리즘에 대한 파라미터를 올바르게 할당하도록 지시한다.Function: Instructs the requester to correctly assign parameters to the algorithm.

입력: 사용 상황에 기초한 알고리즘 유형Input: Algorithm type based on usage context

출력: 특징부 유형, 특징부 차원도, 정규화된 이미지 크기, 최소 거리, 제안된 범위 및 거리 유형을 포함하는 알고리즘의 파라미터 정보.Output: Parameter information of the algorithm including feature type, feature dimensionality diagram, normalized image size, minimum distance, suggested range and distance type.

위에서 설명된 시스템 및 방법 중 다수는, 시스템이 높은 정확도로 요청자를 식별 및 구별하는 것을 허용하는 생체 인식 서명 데이터("BSD") 파일을 생성하는 데 사용될 수 있다. 본 개시의 다양한 구현은 암호화/암호해독 키를 생성하기 위해 BSD 파일을 사용할 수 있고, 따라서 이러한 키의 보안을 증가시킬 수 있다. 본 개시의 예은, 생체 인식 센서를 활용함으로써, 사람의 생체 인식 측정이 사람의 개인 키로서 작용할 수 있는 방식으로, 하나 이상의 BSD 파일에 기초하여 비대칭 키를 생성할 수 있다. 또한, 본 개시의 구현은, 파일이 의도된 요청자의 그룹 또는 요청자가 아닌 누군가에 의해 암호해독되거나 액세스될 수 없도록 또는 기업과 같은 원래의 소유자가 더 이상 파일에 액세스할 수 없는 방식으로 암호화되는 방식으로 BSD 파일을 디지털 권한 관리(DRM) 보안에 통합할 수 있다. 이에 따라, BSD 파일을 사용하는 본 개시의 구현을 사용함으로써, 파일이 액세스되는 경우, 파일에 액세스한 요청자의 신원이 보장될 수 있다.Many of the systems and methods described above can be used to generate biometric signature data (“BSD”) files that allow the system to identify and differentiate a requestor with high fidelity. Various implementations of the present disclosure may use BSD files to generate encryption/decryption keys, thus increasing the security of such keys. Examples of this disclosure may generate an asymmetric key based on one or more BSD files in such a way that, by utilizing a biometric sensor, a person's biometric measurement may act as the person's private key. Additionally, implementations of the present disclosure may be implemented in such a way that the file is encrypted in such a way that it cannot be decrypted or accessed by anyone other than the requestor or group of the intended requestor, or in such a way that the original owner, such as an enterprise, can no longer access the file. BSD files can be integrated into digital rights management (DRM) security. Accordingly, by using an implementation of the present disclosure that uses a BSD file, the identity of the requestor who accessed the file can be ensured when the file is accessed.

BSD 파일은 A/D IR 및/또는 UV 센서로부터의 데이터의 알고리즘 분석함에 의해 생성될 수 있다. 이에 따라, 비대칭 쌍(즉, 아날로그 및/또는 디지털 값)의 개인 키를 구성할 때, 이들 요소 중 많은 것이 고려될 수 있다. 따라서, 본 개시의 일부 구현에서, 센서의 다수의 요소는, 암호해독을 위해 인식 이벤트에 관련된 실시간 데이터 또는 실시간 아날로그 데이터에 기여할 수 있고, 따라서 실시간 이벤트(즉, 의도된 사람의 실제 측정)가 인증을 작동시켰다는 것을 보장할 수 있다.BSD files can be generated by algorithmic analysis of data from A/D IR and/or UV sensors. Accordingly, many of these factors may be considered when constructing the private key of an asymmetric pair (ie, analog and/or digital values). Thus, in some implementations of the present disclosure, multiple elements of a sensor may contribute real-time data or real-time analog data related to a recognition event for decryption, such that the real-time event (ie, an actual measurement of the intended person) is authenticated. can be guaranteed to work.

도 12 및 도 13에 도시된 바와 같이, 본 개시의 일부 구현에 따라, 메시지가 다음과 같이 전송될 수 있다. 요청자는, 예컨대 컴퓨터에 등록하고 요청자에 대한 공개 키를 생성할 수 있다. 그런 후, 요청자는 키가 공개적으로 알려지도록 공개 키를 공개한다. 다른 사람, 시스템 또는 엔티티가 요청자의 공개 키를 사용하여 요청자에 대한 메시지를 암호화하고, 그 메시지를 요청자에게 전송할 수 있다. 요청자는 요청자와 연관된 하나 이상의 라이브 BSD 파일에 의해 생성된 자신의 개인 키를 사용하여 메시지를 암호해독할 수 있다. 이에 따라, 메시지를 암호해독하는 데 사용되는 개인 키가 요청자의 라이브 생체 인식 데이터에 의해 생성될 수 있기 때문에, 메시지의 전송자는 요청자가 실제로 메시지를 암호해독하는 사람인라는 것을 확인하게 된다. 암호화를 위한 이들 시스템 및 방법은 종래의 시스템 및 방법에 비해 상당한 이점을 제공한다. 예를 들어, 단순히 익명의 비대칭 코드를 매칭시키는 대신에, 암호화 프로세스에 BSD 파일을 사용함으로써 인증은 키 자체에 내재되어 있기 때문이다.12 and 13 , according to some implementations of the present disclosure, a message may be transmitted as follows. A requestor may, for example, register with a computer and generate a public key for the requestor. The requestor then publishes the public key so that the key is publicly known. Another person, system, or entity may use the requestor's public key to encrypt a message to the requestor and send the message to the requester. The requestor can decrypt the message using his or her private key generated by one or more live BSD files associated with the requestor. Accordingly, since the private key used to decrypt the message can be generated by the requester's live biometric data, the sender of the message confirms that the requestor is actually the person decrypting the message. These systems and methods for encryption provide significant advantages over conventional systems and methods. For example, by using a BSD file for the encryption process, instead of simply matching an anonymous asymmetric code, the authentication is inherent in the key itself.

본 개시의 다양한 구현은 또한 DRM을 개선할 수 있다. 예를 들어, DRM 규칙은 추가 콘텐츠가 파일에 추가되고 추가 규칙이 요구되게 허용할 수 있다. DRM 규칙은, XrML(extensible rights markup language), XMCL(extensible media commerce language), ODRL(open digital rights language) 등을 포함하지만 이에 제한되지 않는 해당 기술 분야에 알려진 많은 권한 관리 언어로 표현될 수 있다. 규칙은 허용되는 작업을 지정할 수 있다(예컨대, 암호해독, 암호화, 전송, 복사, 편집 등). 규칙은 또한 작업을 수행하도록 인가된 사람 및 이들 작업이 허용되는 조건을 지정할 수 있다. BSD 파일은 요청자가 규칙에 지정된 사람 중 한 명인지 결정하기 위해 요청자를 인증하는 데 사용될 수 있다.Various implementations of the present disclosure may also improve DRM. For example, DRM rules may allow additional content to be added to a file and additional rules required. DRM rules may be expressed in many rights management languages known in the art, including, but not limited to, extensible rights markup language (XrML), extensible media commerce language (XMCL), open digital rights language (ODRL), and the like. Rules can specify allowed actions (eg, decrypt, encrypt, transmit, copy, edit, etc.). Rules can also specify who is authorized to perform actions and the conditions under which these actions are allowed. The BSD file can be used to authenticate the requestor to determine if the requestor is one of the people specified in the rule.

생체 인식 암호화 및 인증을 위한 다양한 시스템 및 방법은 또한 회사 환경, 예컨대 직원이 개인 용도뿐만 아니라 사업 용도로 회사 장치를 사용하는 경우, 또는 예컨대, 직원이 개인용 장치를 사용하고 회사 디지털 자산이 개인용 장치에 전송되고 그리고 이 개인용 장치로부터 전송되는 경우에서 애플리케이션을 찾을 수 있다. 특정 디지털 서명을 갖는 문서에 규칙을 적용함으로써, 개인 및 사업 관심사 사이에 제어 가능한 세분화(segmentation)가 있을 수 있다. 양 당사자는 액세스 권한이 있는 부분에 액세스할 수 있지만, 액세스 권한이 없는 부분에는 액세스가 차단될 수 있다. 예를 들어, 가능한 애플리케이션은, 원격 액세스를 제공하는 것, 구매를 수행하는 것 및 조건적 보안을 포함하지만, 이에 제한되지 않는다.Various systems and methods for biometric encryption and authentication may also be used in a corporate environment, such as when an employee uses a company device for business as well as personal use, or, for example, when an employee uses a personal device and company digital assets are on the personal device. The application can be found in the case being sent and sent from this personal device. By applying rules to documents with specific digital signatures, there can be a controllable segmentation between personal and business interests. Both parties can access the part to which they have access, but access to the part to which they do not have access can be blocked. For example, possible applications include, but are not limited to, providing remote access, making a purchase, and conditional security.

원격 액세스의 경우, 본 개시의 다양한 구현은 요청자를 인증하는 데 사용되는 BSD 파일을 생성할 수 있으며, 따라서, 원격 장치로부터의, 임의의 원격 네트워크 연결, 즉 VPN 서버, 네트워크 이메일에 대한 보안 액세스, 및/또는 회사 소유 정보에 대한 보안 액세스를 제공할 수 있다.For remote access, various implementations of the present disclosure may create a BSD file that is used to authenticate the requestor, thus providing secure access to any remote network connection, i.e., VPN server, network email, from a remote device; and/or provide secure access to company-owned information.

추가적으로, 본 발명의 생체 인식 인증 기술은 인증된 온라인 구매/거래를 수행하는데 사용될 수 있다. 예를 들어, 지출 한도는 계정에 대한 요청자 또는 그룹 프로필에 기초할 수 있다. 요청자가 구매를 하기 위해, 시스템은, 요청자가 원하는 구매를 할 자격이 있음을 확인하기 위해, 그 요청자의 진정한 신원을 인증하는 데 본 개시의 생체 인식 인증 기술을 사용할 수 있다.Additionally, the biometric authentication technology of the present invention can be used to perform authenticated online purchases/transactions. For example, the spending limit may be based on a requestor or group profile for the account. In order for a requestor to make a purchase, the system may use the biometric authentication techniques of the present disclosure to authenticate the true identity of the requestor to verify that the requestor is entitled to make the desired purchase.

생체 인식 인증 기술은 또한, 다양한 디지털 파일에 조건적 보안을 제공하는 데 사용될 수 있다. 예를 들어, 민감한 정보를 포함하는 파일은, 요청자의 라이브 BSD 파일을 사용하여 인증될 수 있는 인가된 요청자에 의해서만 액세스될 수 있다.Biometric authentication techniques can also be used to provide conditional security to various digital files. For example, a file containing sensitive information can only be accessed by an authorized requestor who can be authenticated using the requestor's live BSD file.

디지털 시네마에 대한 생체 인식 암호화 및 인증 애플리케이션Biometric Encryption and Authentication Applications for Digital Cinema

본 명세서에서 설명되는 생체 인식 암호화 및 인증 기술은 디지털 시네마 산업에서 많은 애플리케이션을 발견한다. 영화, 특히 사전 DVD 릴리즈는 인기 상품이다. 제작 효율성과 배포 기회 둘 다를 극대화하기 위해, 영화는 여러 상이한 요청자 계층에 의해 액세스되고 취급되는 것이 필요하다. 해당 기술 분야의 숙련자는 디지털 시네마 산업에서 디지털 자산을 보호하기 위해 사용될 수 있는 기술이 거의 모든 산업에서 디지털 자산을 보호하는 데 사용될 수 있음을 인식한다. 따라서, 본 명세서에서 설명되는 원리는 디지털 시네마 산업의 애플리케이션으로 제한되지 않지만, 대신 유사한 목적을 위해 임의의 산업에 적용될 수 있다.The biometric encryption and authentication techniques described herein find many applications in the digital cinema industry. Movies, especially pre-DVD releases, are popular. In order to maximize both production efficiency and distribution opportunities, movies need to be accessed and handled by several different requestor classes. Those skilled in the art will recognize that technologies that can be used to secure digital assets in the digital cinema industry can be used to secure digital assets in virtually any industry. Accordingly, the principles described herein are not limited to applications in the digital cinema industry, but may instead be applied in any industry for similar purposes.

디지털 시네마 보안은 그 자체를, 제작에서 배포를 거쳐 소비에 이르는 엔드-투-엔드 프로세스로 보고 있다.Digital cinema security sees itself as an end-to-end process from production through distribution to consumption.

디지털 시네마 표준을 담당하는 기관인 SMPTE DC28은 디지털 시네마의 5가지 개별 영역을 식별했다: (1) 캡처; (2) 프로덕션; (3) 마스터(시네마, 홈, 비디오, 예고편, 시사회); (4) 배포[위성, 파이버(fiber), 패키징]; 및 (5) 전시(디지털 프로젝터 보안). SMPTE DC28에 의해 식별되는 각 영역에서, 영화는 도난에 취약하다. 도난을 방지하기 위해, 영화는 배포하기 전에 암호화될 수 있다. 그런 후, 영화는 전형적으로 상영 시간까지 암호화된 상태로 극장에 보관된다. 상영 시간에, 영화는 암호해독되고 압축해제된다. 이 암호해독/압축해제는 서버 또는 프로젝터에서 발생할 수 있다.SMPTE DC28, the body responsible for digital cinema standards, has identified five distinct areas of digital cinema: (1) capture; (2) production; (3) Master (Cinema, Home, Video, Trailer, Premiere); (4) distribution [satellite, fiber, packaging]; and (5) exhibits (digital projector security). In each area identified by SMPTE DC28, the film is vulnerable to theft. To prevent theft, movies may be encrypted prior to distribution. The movie is then stored in theaters, typically encrypted until run time. At run time, the movie is decrypted and decompressed. This decryption/decompression can happen on the server or on the projector.

예시적인 SMPTE DC28 프로세스에서, DC28.4는 시네마 전달 시스템의 조건적 액세스 부분을 표현할 수 있다. 모뎀 DRM 암호화 방법은 부당한 암호해독 시도를 충분히 견딜 수 있는 것으로 입증되었지만, 키를 보안하는 것이 문제가 된다. 캡처에서 전시, 배포에 이르기까지, 영화는 여러 번 암호화되고 암호해독된다. 이에 따라, 본 명세서에서 논의되는 다양한 다양한 생체 인식 암호화 및 인증 기술은 본 개시의 다양한 구현에 따라 암호화, 암호해독 및 인증 단계 중 하나 이상에 적용될 수 있다.In the example SMPTE DC28 process, DC28.4 may represent the conditional access portion of the cinema delivery system. Modem DRM encryption methods have proven to be sufficiently resistant to tampering with decryption attempts, but securing the key is problematic. From capture to exhibition to distribution, the film is encrypted and decrypted many times. Accordingly, the various various biometric encryption and authentication techniques discussed herein may be applied to one or more of the encryption, decryption, and authentication steps in accordance with various implementations of the present disclosure.

도 14를 참조하면, 데이터를 관리하기 위한 환경(1400)의 예는 유선 및/또는 무선 통신 링크를 통해 데이터를 라우팅하기 위해 제1 게이트웨이(1402a), 제2 게이트웨이(1402b) 및 제3 게이트웨이(1402c)에 의존할 수 있다. 제1 게이트웨이(1402a)는 컴퓨터 시스템에서 가상화된 소프트웨어-기반 게이트웨이로서 구현될 수 있다. 제2 게이트웨이(1402b)는 아래에서 설명되는 바와 같이 데이터를 라우팅하는 독립형 장치일 수 있다. 제3 게이트웨이(1402c)는 클라우드-기반 게이트웨이일 수 있다. 다른 아키텍처가 가능하다.Referring to FIG. 14 , an example of an environment 1400 for managing data includes a first gateway 1402a, a second gateway 1402b, and a third gateway for routing data over wired and/or wireless communication links. 1402c). The first gateway 1402a may be implemented as a virtualized software-based gateway in a computer system. The second gateway 1402b may be a standalone device that routes data as described below. The third gateway 1402c may be a cloud-based gateway. Other architectures are possible.

특정 구현에서, 게이트웨이(1402)는 아래에서 설명되는 바와 같이 생체 인식 센서로 그리고 생체 인식 센서로부터 데이터의 이동을 관리하는 것을 포함하는 몇몇 기능을 수행할 수 있고, 장치 사이에 바이너리 안면 데이터를 효율적으로 이동시키는 네트워크 솔루션을 제공하고, 함께(물리적 및 가상적) 클러스터링되는 경우, 보안 설계를 위한 고가용성 솔루션을 제공한다. 게이트웨이(1402)는 XML 파일 구조를 통해 자격인정 데이터(credentialing data)를 수신할 수 있다. XML 파일을 모니터링하고 적극적으로 소비함으로써, 게이트웨이(1402)는, 프로그래밍 언어, 운영 체제 및 데이터 소스의 연결 유형에 구애받지 않는 표준화된 범용 인터페이스를 활용하고, 동일한 방법 내에서 물리적 및 논리적 액세스 제어 요구사항을 지원하고, 상이한 시스템 유형으로부터 동시 연결을 지원하는 인터페이스를 제공하고, 그리고/또는 파일 교체를 통한 자격인정 시스템의 즉각적인 복구를 포함한, 자격인정의 라이브 또는 일괄 프로세싱을 지원할 수 있다.In certain implementations, gateway 1402 may perform several functions, including managing the movement of data to and from biometric sensors, as described below, and efficiently transfer binary facial data between devices. It provides a mobile network solution and, when clustered together (physical and virtual), a high availability solution for security design. The gateway 1402 may receive credentialing data through an XML file structure. By monitoring and actively consuming XML files, gateway 1402 utilizes a standardized universal interface that is independent of programming languages, operating systems, and connection types of data sources, and provides physical and logical access control requirements within the same way. support, provide an interface to support simultaneous connections from different system types, and/or support live or batch processing of credentialing, including instantaneous recovery of credential systems through file replacement.

특정 측면에서, 게이트웨어(1402)에 저장된 데이터는 자바스크립 오브젝트 노테이션 포멧에 기초하여 저장될 수도 있다.In certain aspects, data stored in the gateway 1402 may be stored based on a JavaScript object notation format.

환경(1400)은 하나 이상의 ECD(1404), 예컨대 ECD-a(1404a), ECD-b(1404b), ECD-c(1404c), ECD-d(1404d), ECD-e(1404e), 및 ECD-f(1404f)를 포함할 수 있다. 또한, ECD(1404)는 에지 캡처 장치로 참조될 수 있다. ECD(1404)는 환경(1400) 내의 다른 장치로 라우팅되도록 데이터를 게이트웨이(1402)로 전송할 수 있다. 예를 들어, ECD-a(1404a)는 생체 인식 템플릿 및/또는 사람의 신원 정보를 제3 게이트웨이(1402c)로 전송할 수 있다. 제3 게이트웨이(1402c)는 매칭 동작을 수행하기 위해 하나 이상의 생체 인식 템플릿을 ECD-a(1404a)로 전송할 수 있다.Environment 1400 may include one or more ECDs 1404 , such as ECD-a 1404a , ECD-b 1404b , ECD-c 1404c , ECD-d 1404d , ECD-e 1404e , and ECD -f (1404f). ECD 1404 may also be referred to as an edge capture device. ECD 1404 may send data to gateway 1402 to be routed to other devices in environment 1400 . For example, the ECD-a 1404a may send the biometric template and/or the person's identity information to the third gateway 1402c. The third gateway 1402c may send one or more biometric templates to the ECD-a 1404a to perform a matching operation.

도 14를 계속 참조하면, 특정 구현에서, 환경(1400)은 액세스 제어 서버(1406a), 엔터프라이즈 서버(1406b) 및 제3 자 서버(1406c)를 포함할 수 있다. 액세스 제어 서버(1406a)는 유선 또는 무선 통신 링크를 통해 하나 이상의 액세스 제어되는 진입 지점(1408)에 통신 가능하게 결합될 수 있다. 엔터프라이즈 서버(1406b)는 저장 장치(1410)에 통신 가능하게 결합될 수 있다. 저장 장치(1410)는 네트워크 드라이브, 로컬 하드 드라이브, 플래시 드라이브, 테이프 드라이브, 또는 다른 적절한 저장 매체일 수 있다.With continued reference to FIG. 14 , in a particular implementation, environment 1400 may include an access control server 1406a , an enterprise server 1406b , and a third party server 1406c . The access control server 1406a may be communicatively coupled to one or more access controlled entry points 1408 via a wired or wireless communication link. The enterprise server 1406b may be communicatively coupled to the storage device 1410 . The storage device 1410 may be a network drive, a local hard drive, a flash drive, a tape drive, or other suitable storage medium.

계속 도 14를 참조하면, 예를 들어 동작 동안, ECD-b(1404b)는 제1 요청자(1450a)의 생체 인식 템플릿을 수신할 수 있다. 제1 요청자(1450a)는 액세스 제어 서버(1406a)에 의해 제어되는 하나 이상의 액세스 제어되는 진입 지점(1408)에 액세스하기 위해 시도할 수 있다. 하나 이상의 액세스 제어되는 진입 지점(1408)은, 예를 들어 금고, 잠금 장치, 보안 도어, 보안 게이트, 장비 또는 기계, 컴퓨팅 장치, 디지털 저장 장치, 데이터베이스 또는 파일을 포함할 수 있다. 일부 예에서, 하나 이상의 액세스 제어되는 진입 지점(1408)은 창고, 사무실 건물, 제한 구역 등과 같은 기반 시설의 액세스 제어되는 도어 또는 게이트일 수 있다. 제1 요청자(1450a)의 생체 인식 템플릿은 제1 요청자(1450a)의 지문, 음성 패턴, 홍채 패턴, 안면 특징부, 서명 패턴, 귀의 모양, 망막 패턴, 걸음걸이, 손 모양 중 하나 이상을 포함할 수 있다.With continued reference to FIG. 14 , for example during operation, ECD-b 1404b may receive a biometric template of first requestor 1450a . The first requestor 1450a may attempt to access one or more access controlled entry points 1408 controlled by the access control server 1406a. One or more access-controlled entry points 1408 may include, for example, a safe, lock, security door, security gate, equipment or machine, computing device, digital storage device, database or file. In some examples, one or more access-controlled entry points 1408 may be access-controlled doors or gates of infrastructure, such as warehouses, office buildings, restricted areas, and the like. The biometric template of the first requestor 1450a may include one or more of a fingerprint, a voice pattern, an iris pattern, a facial feature, a signature pattern, an ear shape, a retina pattern, a gait, and a hand shape of the first requestor 1450a. can

특정 구현에서, ECD-b(1404b)는 제1 요청자(1450a)의 안면 특징부를 추출할 수 있고, 안면 특징부를 인가된 사람의 안면 특징부과 비교할 수 있다. 제1 요청자(1450a)의 안면 특징부가 인가된 사람의 안면 특징부 중 하나와 매치되면, ECD-b(1404b)는 제3 게이트웨이(1402c)에 제1 포지티브 매치 신호를 전송할 수 있다. 제3 게이트웨이(1402c)는 제1 포지티브 매치 신호를 액세스 제어 서버(1406a)로 라우팅할 수 있다. 제1 포지티브 매치 신호를 수신하면, 액세스 제어 서버(1406a)는 요청자(1450)가 액세스하도록 허용하기 위해 ECD-b(1404b)와 연관된 하나 이상의 액세스 제어되는 진입 지점(1408) 중 하나를 잠금 해제할 수 있다. 제1 요청자(1450a)의 안면 특징부가 인가된 사람의 안면 특징부 중 하나와 매치하지 않으면, 제1 요청자(1450a)는 ECD-b(1404b)와 연관된 진입 지점(1408)에 대한 액세스를 얻지 못할 수 있다.In certain implementations, ECD-b 1404b may extract facial features of first requestor 1450a and compare the facial features to facial features of the authorized person. If the facial feature of the first requestor 1450a matches one of the facial features of the authorized person, the ECD-b 1404b may send a first positive match signal to the third gateway 1402c. The third gateway 1402c may route the first positive match signal to the access control server 1406a. Upon receiving the first positive match signal, the access control server 1406a unlocks one of the one or more access controlled entry points 1408 associated with the ECD-b 1404b to allow the requestor 1450 access. can If the facial feature of the first requestor 1450a does not match one of the facial features of the authorized person, the first requestor 1450a will not be able to gain access to the entry point 1408 associated with the ECD-b 1404b. can

도 14를 계속 참조하면, 특정 예에서, ECD-d(1404d)는 제1 시간에서 제2 요청자(1450b)의 제2 포지티브 매치 신호를 그리고 제2 요청자(1450b)의 제2 시간에서 제3 포지티브 매치 신호를 제2 게이트웨이(1402b)에 전송할 수 있다. 제2 게이트웨이(1402b)는 제2 포지티브 매치 신호 및 제3 포지티브 매치 신호를 제1 게이트웨이(1402a)로 라우팅할 수 있고, 이는 제2 및 제3 포지티브 매치 신호를 엔터프라이즈 서버(1406b)로 라우팅할 수 있다. 엔터프라이즈 서버(1406b)는 제2 요청자(1450b)와 연관된 액세스 정보를 로그(log)하기 위해 제2 포지티브 매치 신호 및 제3 포지티브 매치 신호를 사용할 수 있다. 예를 들어, 엔터프라이즈 서버(1406b)는 근무일에 제2 요청자(1450b)의 도착 시간으로서 제1 시간을 그리고 출발 시간으로서 제2 시간을 저장 장치(1410)에 기록할 수 있다. 다른 예에서, 엔터프라이즈 서버(1406b)는 제2 요청자(1450b)에 의한 하나 이상의 액세스 제어되는 진입 지점(1408)에 대한 액세스의 수로서 제1 및 제2 시간을 기록할 수 있다. 엔터프라이즈 서버(1406b)는 또한, 제2 및 제3 포지티브 매치 신호의 정보에 기초하여, 제2 요청자(1450b)에 의해 액세스된 구내, 장비, 파일, 위치 및 정보를 로그할 수 있다.With continued reference to FIG. 14 , in the specific example, ECD-d 1404d draws a second positive match signal of second requestor 1450b at a first time and a third positive at a second time of second requestor 1450b . A match signal may be sent to the second gateway 1402b. The second gateway 1402b may route the second positive match signal and the third positive match signal to the first gateway 1402a, which may route the second and third positive match signals to the enterprise server 1406b. have. The enterprise server 1406b may use the second positive match signal and the third positive match signal to log access information associated with the second requestor 1450b. For example, the enterprise server 1406b may record the first time as the arrival time of the second requestor 1450b on the workday and the second time as the departure time to the storage device 1410 . In another example, the enterprise server 1406b may record the first and second times as the number of accesses to the one or more access-controlled entry points 1408 by the second requestor 1450b. The enterprise server 1406b may also log the premises, equipment, files, locations, and information accessed by the second requestor 1450b based on the information in the second and third positive match signals.

도 14를 계속 참조하면, 특정 구현에서, ECD-f(1404f)는 제3 요청자(1450c)의 제4 포지티브 매치 신호를 제1 게이트웨이(1402a)로 전송할 수 있다. 제1 게이트웨이(1402a)는 방화벽(1412)을 통해 제4 포지티브 매치 신호를 제3 자 서버(1406c)로 라우팅할 수 있다. 방화벽(1412)은 방화벽(1412)을 통해 전송되는 정보를 필터링하여 악의적인 요청자가 비인가된 액세스를 얻는 것을 방지할 수 있다. 제4 포지티브 매치 신호는, 제3 요청자(1450c)가 하나 이상의 액세스 제어되는 진입 지점(1408)에 대한 액세스를 획득했음을 제3자 서버(1406c)에 나타낼 수 있다. 예를 들어, 제4 포지티브 매치 신호는, 제3 요청자(1450c)가 제3자 서버(1406c)의 소유자에게 지불이 요구되는 소프트웨어에 액세스하였음을 제3자 서버(1406c)에 나타낼 수 있다.With continued reference to FIG. 14 , in a particular implementation, ECD-f 1404f may send a fourth positive match signal of third requestor 1450c to first gateway 1402a . The first gateway 1402a may route the fourth positive match signal through the firewall 1412 to the third party server 1406c. Firewall 1412 may filter information transmitted through firewall 1412 to prevent malicious requesters from gaining unauthorized access. The fourth positive match signal may indicate to the third-party server 1406c that the third requestor 1450c has obtained access to the one or more access-controlled entry points 1408 . For example, the fourth positive match signal may indicate to the third-party server 1406c that the third-party requestor 1450c has accessed software for which payment is required from the owner of the third-party server 1406c.

도 14를 계속 참조하면, 특정 예에서, 네트워크 관리자(1452)는, 워크스테이션(1414)을 통해, ECD(1404), 게이트웨이(1402), 액세스 제어 서버(1406a), 하나 이상의 액세스 제어되는 진입 지점(1408), 엔터프라이즈 서버(1406b), 저장 장치(1410), 및/또는 방화벽(1412)의 소프트웨어를 설치, 관리, 업데이트, 유지 및 /또는 제어할 수 있다. 워크스테이션(1414)은 유선 또는 무선 연결을 통해 제3 게이트웨이(1402c)에 통신 가능하게 결합된 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 핸드헬드 컴퓨터, 스마트 폰, 또는 다른 적절한 컴퓨터 장치일 수 있다. 네트워크 관리자(1452)는 목적지로 라우팅될 소프트웨어 커맨드를 워크스테이션(1414)으로부터 제3 게이트웨이(1402c)로 전송할 수 있다. 일부 예에서, 네트워크 관리자(1452)는 ECD(1404)에서 펌웨어를 업그레이드할 수 있다. 다른 예에서, 네트워크 관리자(1452)는 액세스 제어 서버(1406a)에 새로운 소프트웨어를 설치할 수 있다. 다른 예에서, 네트워크 관리자(1452)는 저장 장치(1410)에 대해 디스크 오류 확인 및 조각모음과 같은 유지관리 동작을 수행할 수 있다. 또 다른 예에서, 네트워크 관리자(1452)는 비상 시에 하나 이상의 액세스 제어되는 진입 지점(1408)을 잠그거나 개방할 수 있다.With continued reference to FIG. 14 , in a particular example, network manager 1452 , via workstation 1414 , ECD 1404 , gateway 1402 , access control server 1406a , one or more access-controlled entry points Install, manage, update, maintain, and/or control software of 1408 , enterprise server 1406b , storage 1410 , and/or firewall 1412 . Workstation 1414 may be a desktop computer, laptop computer, tablet computer, handheld computer, smart phone, or other suitable computing device communicatively coupled to third gateway 1402c via a wired or wireless connection. The network manager 1452 may send a software command to be routed to the destination from the workstation 1414 to the third gateway 1402c. In some examples, network manager 1452 may upgrade firmware in ECD 1404 . In another example, the network administrator 1452 may install new software on the access control server 1406a. In another example, the network manager 1452 may perform maintenance operations such as disk error checking and defragmentation on the storage device 1410 . In another example, network manager 1452 can lock or open one or more access controlled entry points 1408 in an emergency.

도 14를 참조하면, 일부 구현에서, 감독자와 같은 직원(1454)은 제2 게이트웨이(1402b)를 통해 정보에 액세스하기 위해 요청자 단말기(1416)를 활용할 수 있다. 요청자 단말기(1416)는 유선 또는 무선 연결을 통해 제2 게이트웨이(1402b)에 통신 가능하게 결합된 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 핸드헬드 컴퓨터, 스마트 폰, 또는 다른 적절한 컴퓨터 장치일 수 있다. 일부 예에서, 직원(1454)은 요청자 단말기(1416)를 사용하여 근무 시간, 도착 시간, 액세스 이력, 활용 빈도와 같은 정보를 다운로드할 수 있다.Referring to FIG. 14 , in some implementations, an employee 1454 , such as a supervisor, may utilize the requestor terminal 1416 to access information via the second gateway 1402b . The requestor terminal 1416 may be a desktop computer, laptop computer, tablet computer, handheld computer, smart phone, or other suitable computing device communicatively coupled to the second gateway 1402b via a wired or wireless connection. In some examples, the employee 1454 may use the requestor terminal 1416 to download information such as office hours, arrival times, access history, and frequency of use.

특정 예에서, 환경(1400) 내에서의 데이터 교환은 암호화될 수 있다. 게이트웨이(1402)와 ECD(1404) 사이에서의 데이터 송신은 독점 키 관리 프레임워크와 함께 고급(advanced) TLS v1.2 통신을 사용할 수 있다. TLS v1.2 통신을 통해 송신된 데이터는 원치 않는 당사자에의 데이터 노출의 위험을 제거하기 위해 완전히 암호화될 수 있다. 데이터의 암호화는, 키의 생성을 위한 시드(seed)로서 생체 인식 데이터의 사용을 통해 암호화된 키의 생성을 보호함으로써 추가로 보호될 수 있다. 이와 같이, 환경 내부에서 교환되는 데이터는 비인가된 요청자가 액세스하기 어려울 수 있다.In certain examples, data exchange within environment 1400 may be encrypted. Data transmission between gateway 1402 and ECD 1404 may use advanced TLS v1.2 communication with a proprietary key management framework. Data transmitted over TLS v1.2 communication can be fully encrypted to eliminate the risk of data exposure to unwanted parties. Encryption of data may be further protected by protecting the generation of an encrypted key through the use of biometric data as a seed for generation of the key. As such, data exchanged within the environment may be difficult to access by unauthorized requestors.

또한, 게이트웨이(1402)는, 데이터를 관리하고 요청자를 위한 블록체인(blockchain)을 생성하는 데 사용될 수 있다. 제1 게이트웨이(1402a), 제2 게이트웨이(1402b) 및 제3 게이트웨이(1402c)는 각각 블록체인 지갑(blockchain wallet)을 포함할 수 있다. 지갑은 임의의 장치 또는 애플리케이션을 인증하는 데 요구되는 요청자 개인의 자격인정서를 담고 있을 것이다. 지갑은, 사이버보안 모니터링을 제공하기 위해 그리고 안면 인식 장치와 지갑 사이의 상호 작용을 제공하기 위해 게이트웨이(1402)에 연결될 수 있다. 개인 블록체인에 링크된 ECD(1404)는 블록체인에서의 거래를 가능하게 할 수 있다. 블록체인 지갑, 블록체인 거래를 위한 원장(ledger) 및 게이트웨이(1402) 사이의 통신은 블록체인 프로토콜을 사용할 수 있다. 개인 블록체인은 또한, 은행 ATM(도시되지 않음)과 같이, 두 명 이상의 요청자를 확인하는 장치로도 확장될 수 있다. 게이트웨이(1402)는, 거래의 보안을 개선하고 각각의 ECD(1404) 내에 유지된 요청자의 수를 관리하기 위해, 공유 장치 사이에서 링크 바이너리 안면 데이터 및 블록체인 원장에 대한 링크를 이동시키기 위해 위치 추적을 활용할 것이다.Gateway 1402 may also be used to manage data and create a blockchain for requestors. The first gateway 1402a, the second gateway 1402b, and the third gateway 1402c may each include a blockchain wallet. The wallet will contain the requestor's individual credentials required to authenticate any device or application. The wallet may be coupled to the gateway 1402 to provide cybersecurity monitoring and to provide interaction between the facial recognition device and the wallet. An ECD 1404 linked to a private blockchain may enable transactions on the blockchain. Communication between the blockchain wallet, the ledger for blockchain transactions, and the gateway 1402 may use a blockchain protocol. Private blockchains can also be extended to devices that verify more than one requestor, such as a bank ATM (not shown). Gateway 1402 location tracking to move links to the link binary facial data and blockchain ledger between shared devices to improve the security of transactions and manage the number of requestors maintained within each ECD 1404 will utilize

본 개시의 측면은 하드웨어, 소프트웨어, 클라우드 네트워크, 또는 이들의 조합을 사용하여 구현될 수 있고, 하나 이상의 컴퓨터 시스템 또는 다른 프로세싱 시스템에서 구현될 수 있다. 본 개시의 측면에서, 특징부는 본 명세서에서 설명되는 기능을 수행할 수 있는 하나 이상의 컴퓨터 시스템에 관한 것이다. 이러한 컴퓨터 시스템(1500)의 예가 도 15에 도시되어 있다. 게이트웨이(1402), 서버(1406), 방화벽(1412), 워크스테이션(1414) 및/또는 요청자 단말기(1416) 중 하나 이상은 컴퓨터 시스템(1500)에 기초하여 구현될 수 있다.Aspects of the present disclosure may be implemented using hardware, software, cloud networks, or combinations thereof, and may be implemented in one or more computer systems or other processing systems. In aspects of the present disclosure, features relate to one or more computer systems capable of performing the functions described herein. An example of such a computer system 1500 is shown in FIG. 15 . One or more of gateway 1402 , server 1406 , firewall 1412 , workstation 1414 , and/or requestor terminal 1416 may be implemented based on computer system 1500 .

이제 도 15를 참조하면, 컴퓨터 시스템(1500)은 프로세서(1504)와 같은 하나 이상의 프로세서를 포함한다. 프로세서(1504)는 통신 기반 시설(1506)(예컨대, 통신 버스, 크로스-오버 바 또는 네트워크)에 통신 가능하게 결합된다. 다양한 소프트웨어 측면이 이 예시적인 컴퓨터 시스템의 관점에서 설명된다. 이 설명을 읽은 후, 다른 컴퓨터 시스템 및/또는 아키텍처를 사용하여 본 개시의 측면을 구현하는 방법이 관련 기술 분야(들)의 숙련자에게 명백해질 것이다.Referring now to FIG. 15 , computer system 1500 includes one or more processors, such as processor 1504 . The processor 1504 is communicatively coupled to a communications infrastructure 1506 (eg, a communications bus, cross-over bar, or network). Various software aspects are described in terms of this exemplary computer system. After reading this description, it will become apparent to those skilled in the relevant art(s) how to implement aspects of the present disclosure using other computer systems and/or architectures.

컴퓨터 시스템(1500)은 디스플레이 유닛(1530) 상에 디스플레이를 위해 통신 기반 시설(1506)로부터(또는 도시되지 않은 프레임 버퍼로부터) 그래픽, 텍스트 및 다른 데이터를 전달하는 디스플레이 인터페이스(1502)를 포함할 수 있다. 컴퓨터 시스템(1500)은 또한, 주 메모리(208), 바람직하게는 랜덤 액세스 메모리(RAM)를 포함하고, 또한 보조 메모리(1510)를 포함할 수 있다. 보조 메모리(1510)는, 예를 들어, 플로피 디스크 드라이브, 자기 테이프 드라이브, 광 디스크 드라이브, 범용 직렬 버스(USB) 플래시 드라이브 등을 표현하는 이동식 저장 드라이브(1514), 및/또는 하드 디스크 드라이브(1512)를 포함할 수 있다. 이동식 저장 드라이브(1514)는 잘 알려진 방식으로 이동식 저장 유닛(1518)으로부터 판독하고 그리고/또는 이에 기록한다. 이동식 저장 유닛(1518)은, 이동식 저장 드라이브(1514)에 의해 판독되고 이에 기록되는 플로피 디스크, 자기 테이프, 광 디스크, USB 플래시 드라이브 등을 표현한다. 인식되는 바와 같이, 이동식 저장 유닛(1518)은 컴퓨터 소프트웨어 및/또는 데이터가 내부에 저장되어 있는 컴퓨터 사용가능한 저장 매체를 포함한다.The computer system 1500 may include a display interface 1502 that communicates graphics, text, and other data from the communications infrastructure 1506 (or from a frame buffer not shown) for display on the display unit 1530 . have. Computer system 1500 also includes main memory 208 , preferably random access memory (RAM), and may also include secondary memory 1510 . Secondary memory 1510 may include, for example, a removable storage drive 1514 representing a floppy disk drive, a magnetic tape drive, an optical disk drive, a universal serial bus (USB) flash drive, and/or a hard disk drive 1512 . ) may be included. Removable storage drive 1514 reads from and/or writes to removable storage unit 1518 in a well known manner. Removable storage unit 1518 represents a floppy disk, magnetic tape, optical disk, USB flash drive, etc. that are read by and written to removable storage drive 1514 . As will be appreciated, removable storage unit 1518 includes computer usable storage media having computer software and/or data stored therein.

본 개시의 대안적인 측면은 보조 메모리(1510)를 포함할 수 있고, 컴퓨터 프로그램 또는 다른 명령이 컴퓨터 시스템(1500)에 로딩될 수 있도록 허용하기 위한 다른 유사한 장치를 포함할 수 있다. 이러한 장치는, 예를 들어 이동식 저장 유닛(1522) 및 인터페이스(1520)를 포함할 수 있다. 이러한 예는, 프로그램 카트리지 및 카트리지 인터페이스(예컨대, 비디오 게임 장치에서 발견됨), 이동식 메모리 칩[예컨대, 삭제가능 프로그램가능 판독 전용 메모리(EPROM), 또는 프로그램가능 판독 전용 메모리(PROM)] 및 연관된 소켓, 및 다른 이동식 저장 유닛(1522) 및 인터페이스(1520)를 포함할 수 있으며, 이들은 소프트웨어 및 데이터가 이동식 저장 유닛(1522)에서 컴퓨터 시스템(1500)으로 전송되게 허용한다.Alternative aspects of the present disclosure may include auxiliary memory 1510 and other similar devices for allowing computer programs or other instructions to be loaded into computer system 1500 . Such devices may include, for example, a removable storage unit 1522 and an interface 1520 . Examples of these include program cartridges and cartridge interfaces (such as those found in video game devices), removable memory chips (such as erasable programmable read-only memory (EPROM), or programmable read-only memory (PROM)) and associated sockets; and another removable storage unit 1522 and interface 1520 , which allow software and data to be transferred from the removable storage unit 1522 to the computer system 1500 .

컴퓨터 시스템(1500)은 또한 통신 인터페이스(1524)를 포함할 수 있다. 통신 인터페이스(1524)는 소프트웨어 및 데이터가 컴퓨터 시스템(1500)과 외부 장치 사이에서 전송되는 것을 허용한다. 통신 인터페이스(1524)의 예는 모뎀, 네트워크 인터페이스(예컨대, 이더넷 카드), 통신 포트, PCMCIA(Personal Computer Memory Card International Association) 슬롯 및 카드 등을 포함할 수 있다. 통신 인터페이스(1524)를 통해 전송되는 소프트웨어 및 데이터는, 통신 인터페이스(1524)에 의해 수신될 수 있는 전자, 전자기, 광학 또는 다른 신호일 수 있는 신호(1528)의 형태이다. 이들 신호(1528)는 통신 경로(예컨대, 채널)(1526)를 통해 통신 인터페이스(1524)에 제공된다. 이 경로(1526)는 신호(1528)를 반송하고, 와이어 또는 케이블, 광섬유, 전화선, 셀룰러 링크, RF 링크 및/또는 다른 통신 채널 중 하나 이상을 사용하여 구현될 수 있다. 본 문헌에서, 용어 "컴퓨터 프로그램 매체" 및 "컴퓨터 사용가능 매체"는 일반적으로 이동식 저장 드라이브(1518), 하드 디스크 드라이브(1512)에 설치된 하드 디스크, 및 신호(1528)과 같은 매체를 가리키는 데 사용된다. 이러한 컴퓨터 프로그램 제품은 컴퓨터 시스템(1500)에 소프트웨어를 제공한다. 본 개시의 측면은 이러한 컴퓨터 프로그램 제품에 관한 것이다.Computer system 1500 may also include a communication interface 1524 . Communication interface 1524 allows software and data to be transferred between computer system 1500 and external devices. Examples of the communication interface 1524 may include a modem, a network interface (eg, an Ethernet card), a communication port, a Personal Computer Memory Card International Association (PCMCIA) slot and card, and the like. Software and data transmitted over communication interface 1524 are in the form of signals 1528 , which may be electronic, electromagnetic, optical, or other signals that may be received by communication interface 1524 . These signals 1528 are provided to the communication interface 1524 via a communication path (eg, a channel) 1526 . This path 1526 carries the signal 1528 and may be implemented using one or more of wires or cables, fiber optics, telephone lines, cellular links, RF links, and/or other communication channels. In this document, the terms "computer program medium" and "computer usable medium" are generally used to refer to media such as removable storage drive 1518 , hard disk installed in hard disk drive 1512 , and signal 1528 . do. This computer program product provides software to the computer system 1500 . Aspects of the present disclosure relate to such computer program products.

컴퓨터 프로그램(또한, 컴퓨터 제어 로직으로 지칭됨)은 주 메모리(1508) 및/또는 보조 메모리(1510)에 저장된다. 컴퓨터 프로그램은 또한 통신 인터페이스(1524)를 통해 수신될 수 있다. 이러한 컴퓨터 프로그램은, 실행될 때, 컴퓨터 시스템(1500)이, 본 명세서에서 설명되는 바와 같이, 본 개시의 측면에 따른 특징부를 수행하는 것을 가능하게 한다. 특히, 컴퓨터 프로그램은, 실행될 때, 프로세서(1504)가 본 개시의 측면에 따른 특징부를 수행하는 것을 가능하게 한다. 따라서, 이러한 컴퓨터 프로그램은 컴퓨터 시스템(1500)의 제어기를 표현한다.Computer programs (also referred to as computer control logic) are stored in main memory 1508 and/or secondary memory 1510 . The computer program may also be received via communication interface 1524 . Such computer programs, when executed, enable computer system 1500 to perform features according to aspects of the present disclosure, as described herein. In particular, the computer program, when executed, enables the processor 1504 to perform features according to aspects of the present disclosure. Accordingly, this computer program represents the controller of computer system 1500 .

방법이 소프트웨어를 사용하여 구현되는 본 개시의 측면에서, 소프트웨어는 컴퓨터 프로그램 제품에 저장될 수 있고, 이동식 저장 드라이브(1514), 하드 드라이브(1512) 또는 통신 인터페이스(1520)를 사용하여 컴퓨터 시스템(1500)에 로딩될 수 있다. 제어 로직(소프트웨어)은, 프로세서(1504)에 의해 실행될 때, 프로세서(1504)가 본 명세서에서 설명된 기능을 수행하게 한다. 본 개시의 다른 측면에서, 시스템은 주로, 예를 들어 ASIC(application specific integrated circuits)와 같은 하드웨어 구성 요소를 사용하는 하드웨어로 구현된다. 본 명세서에서 설명된 기능을 수행하기 위한 하드웨어 상태 머신의 구현은 관련 기술 분야(들)의 숙련자에게 명백할 것이다.In aspects of the present disclosure in which a method is implemented using software, the software may be stored in a computer program product, and may be stored in a computer system 1500 using a removable storage drive 1514 , a hard drive 1512 , or a communication interface 1520 . ) can be loaded. Control logic (software), when executed by the processor 1504 , causes the processor 1504 to perform the functions described herein. In another aspect of the present disclosure, a system is implemented primarily in hardware using hardware components such as, for example, application specific integrated circuits (ASICs). Implementation of a hardware state machine to perform the functions described herein will be apparent to those skilled in the relevant art(s).

도 16은, 본 개시의 측면에 따른, 다양한 예시적인 시스템 구성 요소의 블록도를 예시한다. 도 16은 본 개시의 측면에 따라 사용가능한 통신 시스템(1600)을 도시한다. 통신 시스템(1600)은 한 명 이상의 접근자(1660, 1662) 및 하나 이상의 단말기(1642, 1666)를 포함한다. 일 측면에서, 본 개시의 측면에 따라 사용하기 위한 데이터는, 예를 들어, 단말기(1642, 1666), 예컨대 개인용 컴퓨터(PC), 미니 컴퓨터, 메인프레임 컴퓨터, 마이크로 컴퓨터, 전화 장치, 또는 무선 장치[예를 들어, 인터넷 또는 인트라넷과 같은 네트워크(1644), 및 커플링(1645, 1646, 1664)을 통해, 예컨대, 프로세서 및 데이터용 저장소 및/또는 데이터용 저장소에 대한 연결을 갖는 PC, 미니 컴퓨터, 메인 프레임 컴퓨터, 마이크로 컴퓨터 또는 다른 장치와 같은 서버(1643)에 결합된 핸드-헬드 무선 장치 또는 개인용 정보 단말기("PDA")]을 통해, 접근자(1660, 1662)에 의해 입력 및/또는 액세스된다. 커플링(1645, 1646, 1664)은, 예를 들어, 유선, 무선 및/또는 광섬유 링크를 포함한다. 다른 예시적인 변형에서, 본 개시의 측면에 따른 방법 및 시스템은 단일 단말기와 같은 독립형 환경에서 동작한다. 16 illustrates a block diagram of various example system components, in accordance with aspects of the present disclosure. 16 illustrates a communication system 1600 usable in accordance with aspects of the present disclosure. Communication system 1600 includes one or more accessors 1660 and 1662 and one or more terminals 1642 and 1666 . In one aspect, data for use in accordance with aspects of the present disclosure can be, for example, a terminal 1642 , 1666 , such as a personal computer (PC), minicomputer, mainframe computer, microcomputer, telephone device, or wireless device. [For example, a PC, mini computer having a connection to a processor and storage for data and/or storage for data via a network 1644, such as the Internet or an intranet, and couplings 1645, 1646, 1664 , via a hand-held wireless device or personal digital assistant (“PDA”) coupled to server 1643, such as a mainframe computer, microcomputer, or other device], inputted and/or by accessors 1660, 1662 is accessed Couplings 1645 , 1646 , 1664 include, for example, wired, wireless and/or fiber optic links. In another exemplary variant, methods and systems according to aspects of the present disclosure operate in a standalone environment, such as a single terminal.

이제 도 17을 참조하면, 액세스 제어를 수행하도록 구성된 ECD(1404)의 예는, 요청자(1450)가 ECD(1404)와 연관된 진입 지점(미도시)에 대한 액세스를 획득하도록 인가되었는지를 결정하기 위해, 요청자(1450)의 생체 인식 템플릿을 분석할 수 있다. ECD(1404)는 광학 센서(1702), 조명원(1704), 디스플레이(1706), 키패드(1708) 및 스캐너(1710)를 포함할 수 있다.Referring now to FIG. 17 , an example of an ECD 1404 configured to perform access control is used to determine whether a requestor 1450 is authorized to obtain access to an entry point (not shown) associated with the ECD 1404 . , the biometric template of the requestor 1450 may be analyzed. The ECD 1404 may include an optical sensor 1702 , an illumination source 1704 , a display 1706 , a keypad 1708 , and a scanner 1710 .

일부 구현에서, 광학 센서(1702)는 정지 이미지 또는 동영상을 캡처하도록 구성될 수 있다. 예를 들어, 광학 센서(1702)는 요청자(1450)의 지문, 홍채 패턴, 안면 특징부, 서명 패턴, 귀의 모양, 망막 패턴, 걸음걸이 및/또는 손 모양을 캡처할 수 있다. 일부 예에서, 광학 센서(1702)는 200 나노미터(예컨대, 소프트 UV) 내지 2000 나노미터[예컨대, 근적외선(NIR)] 범위의 파장을 갖는 전자기 방사선을 검출하도록 구성된 광대역 카메라일 수 있다. 특정 예에서, 광학 센서(1702)는 700 내지 900 나노미터의 방사선을 검출하도록 구성된다. 특정 구현에서, 광학 센서(1702)는 ECD(1404)에 접근하는 사람을 검출하도록 구성된 모션 센서를 포함할 수 있다.In some implementations, the optical sensor 1702 may be configured to capture still images or moving images. For example, optical sensor 1702 may capture requestor 1450's fingerprint, iris pattern, facial features, signature pattern, ear shape, retina pattern, gait, and/or hand shape. In some examples, the optical sensor 1702 may be a broadband camera configured to detect electromagnetic radiation having a wavelength in the range of 200 nanometers (eg, soft UV) to 2000 nanometers (eg, near infrared (NIR)). In a particular example, the optical sensor 1702 is configured to detect radiation between 700 and 900 nanometers. In certain implementations, the optical sensor 1702 can include a motion sensor configured to detect a person approaching the ECD 1404 .

특정 예에서, 광학 센서(1702)는, (미국 장애인법 요구 조건을 해결하면서) 사람 신장의 전체 범위에 걸쳐 얼굴을 캡처하기 위한 수직 영역 커버리지를 제공할뿐만 아니라, 일 인증으로 보안 영역에 액세스하는 두 명 이상의 사람을 처리하기 위해 액세스 지점의 전체 영역의 수평 커버리지를 제공하는 데 사용되는 (예컨대, 어안 렌즈와 같은) 광각 렌즈를 포함할 수 있다. 다른 예에서, 광학 센서(1702)는 고해상도(예컨대, 평방 인치당 메가픽셀) 전하 결합 장치(CCD) 어레이를 사용할 수 있다. 고해상도 어레이는 센서로부터 더 먼 거리에 있는 얼굴을 식별하는 기능을 제공할 수 있다. ECD(1404)는 대기열(queuing) 상황에서 요청자를 사전-식별하기 위해 증가된 식별 거리를 이용할 수 있다. 잠재적인 요청자는 그들이 대기열 영역에 들어갈 때 식별될 수 있고, 우선순위 목록에 배치되어 액세스 제어되는 진입 지점에서의 확인 및 대기열의 해방(discharge)이 가속될 수 있다. 액세스 지점에서의 식별 프로세스에서 개인을 사전 식별하고 우선순위를 지정하는 것은, 식별 및 인증 프로세스 동안 식별 시간을 줄임으로써 진입 지점에서의 높은 처리량이 가능하게 한다.In a particular example, the optical sensor 1702 provides vertical area coverage for capturing faces across the full extent of a person's height (while addressing Americans with Disabilities Act requirements), as well as providing access to secure areas with one authentication. wide-angle lenses (eg, fisheye lenses) used to provide horizontal coverage of the entire area of the access point to handle more than one person. In another example, the optical sensor 1702 may use a high resolution (eg, megapixels per square inch) charge coupled device (CCD) array. High-resolution arrays could provide the ability to identify faces at a greater distance from the sensor. The ECD 1404 may use the increased identification distance to pre-identify the requestor in a queuing situation. Potential requesters can be identified as they enter the queue area and placed on a priority list to accelerate identification and discharge of queues at access-controlled entry points. Pre-identifying and prioritizing individuals in the identification process at the access point enables high throughput at the point of entry by reducing the identification time during the identification and authentication process.

특정 구현에서, 조명원(1704)은 200 나노미터 내지 2000 나노미터 범위의 파장을 갖는 전자기 방사선을 방출할 수 있다. 특정 예에서, 조명원(1704)은 700 내지 900 나노미터 및/또는 200 내지 300 나노미터 사이의 비가시 방사선을 방출할 수 있다. 조명원(1704)은 생체 인식 분석(액세스 권한을 결정하기 위해 생체 인식 템플릿을 분석)에 사용되는 요청자(1450)의 신체적 특징부 및 패턴을 조명하기 위해 방사선을 방출할 수 있다. 방출된 방사선은 요청자(1450)의 신체의 일부에 부딪치고 신체의 일부에서 반사될 수 있다. 반사된 방사선은 생체 인식 분석을 위해 광학 센서(1702)에 의해 캡처될 수 있다.In certain implementations, the illumination source 1704 can emit electromagnetic radiation having a wavelength in the range of 200 nanometers to 2000 nanometers. In certain examples, the illumination source 1704 may emit invisible radiation between 700 and 900 nanometers and/or between 200 and 300 nanometers. The illumination source 1704 may emit radiation to illuminate the physical features and patterns of the requestor 1450 used in the biometric analysis (analysis of the biometric template to determine access rights). The emitted radiation may strike a part of the requestor 1450's body and be reflected off the body part. The reflected radiation may be captured by the optical sensor 1702 for biometric analysis.

일부 구현에서, 디스플레이(1706)는 유용한 정보를 요청자(1450)에게 제시할 수 있다. 예를 들어, 디스플레이(1706)는 광학 센서(1702)에 의해 캡처되는, 요청자(1450)의 얼굴(1730)의 하나 이상의 이미지를 보여줘, 생체 인식 분석 동안 요청자(1450)가 얼굴(1730)을 정렬하는 것을 보조할 수 있다. 다른 예에서, 디스플레이(1706)는 요청자(1450)에게, ECD(1404)와 연관된 진입 지점의 상태(예컨대, 잠김, 일시적으로 사용할 수 없음, 정상 작동, 유지보수 중)를 통지할 수 있다. 또 다른 예에서, 디스플레이(1706)는 시간, 날짜, 날씨, 현재 위치 등과 같은 정보를 디스플레이할 수 있다.In some implementations, display 1706 can present useful information to requestor 1450 . For example, display 1706 shows one or more images of face 1730 of requestor 1450 , captured by optical sensor 1702 , so that requestor 1450 aligns face 1730 during biometric analysis. can help you do In another example, the display 1706 can notify the requestor 1450 of the status of the entry point associated with the ECD 1404 (eg, locked, temporarily unavailable, operating normally, under maintenance). In another example, display 1706 may display information such as time, date, weather, current location, and the like.

계속 도 17을 참조하면, 키패드(1708)는 요청자(1450)가 숫자, 기호 및 알파벳을 ECD(1404)에 입력하는 것을 허용할 수 있다. 일 예에서, 요청자(1450)는 진입 지점에 대한 액세스를 얻기 위해 생체 인식 분석에 추가하여 패스워드를 입력할 수 있다.With continued reference to FIG. 17 , the keypad 1708 can allow the requestor 1450 to enter numbers, symbols, and alphabets into the ECD 1404 . In one example, the requestor 1450 may enter a password in addition to the biometric analysis to gain access to the entry point.

일부 구현에서, 스캐너(1710)는 무선 주파수 식별(RFID) 스캐너, 근접 카드(proximity card) 스캐너(예컨대, HIDTM 카드 스캐너), 연락처 카드 스캐너 또는 자기 카드 스캐너일 수 있다. 일 예에서, 스캐너(1710)는, 프로그램가능 또는 프로그램불가능 식별 시퀀스를 갖는 집적 회로 및 코일을 갖는 근접 카드(도시되지 않음)에 질문 신호를 전송할 수 있다. 질문 신호는 코일에 의해 "흡수"될 수 있으며, 집적 회로에 전원을 공급(energize)할 수 있다. 이에 응답하여, 전원 공급된 집적 회로는 식별 시퀀스를 포함하는 응답 신호를 코일을 통해 스캐너(1710)로 다시 전송한다. 차례로, 스캐너(1710)는 식별 시퀀스를 분석하여 액세스를 승인할지 여부를 결정한다. 식별 시퀀스는 하나 이상의 숫자, 알파벳, 기호 및/또는 이들의 조합일 수 있다.In some implementations, the scanner 1710 may be a radio frequency identification (RFID) scanner, a proximity card scanner (eg, a HID card scanner), a contact card scanner, or a magnetic card scanner. In one example, the scanner 1710 may send an interrogation signal to a proximity card (not shown) having an integrated circuit and coil with a programmable or non-programmable identification sequence. The interrogation signal may be “absorbed” by the coil and energize the integrated circuit. In response, the powered integrated circuit sends a response signal comprising the identification sequence back to the scanner 1710 via the coil. In turn, scanner 1710 analyzes the identification sequence to determine whether to grant access. The identification sequence may be one or more numbers, alphabets, symbols, and/or combinations thereof.

계속 도 17을 참조하면, 구현에서, 요청자(1450)는 동작 동안 ECD(1404)에 접근할 수 있다. 광학 센서(1702)는 요청자(1450)를 검출할 수 있다. 검출에 대한 응답으로, 조명원(1704)은 요청자(1450)를 향해 입사 NIR 방사선(1760)을 방출할 수 있다. 입사 NIR 방사선(1760)은 요청자(1450)의 얼굴(1730)에 부딪치고, 요청자(1450)의 얼굴(1730)로부터 반사될 수 있다. 일부 구현에서, 광학 센서(1702)는 얼굴(1730)의 표면으로부터 발생하는 검출된 NIR 방사선(1762)을 검출할 수 있다. 검출된 NIR 방사선(1762)은, 반사된 입사 NIR 방사선(1760) 및/또는 열적 가열(즉, 흑체 복사)으로 인해 요청자(1450)로부터 방출되는 NIR 방사선을 포함할 수 있다. 검출된 NIR 방사선(1762)의 강도 및 분포는 입사 NIR 방사선(1760)의 강도 및 각도, 얼굴(1730)의 윤곽, 광학 센서(1702)에 의한 검출 각도 및 다른 인자에 의존할 수 있다. ECD(1404)는, 요청자(1450)의 안면 템플릿("NIR 샘플링된 프로파일")을 구성하기 위해 검출된 NIR 방사선(1762)을 사용할 수 있다. ECD(1404)는 구성된 NIR 샘플링된 프로파일을 그 내에 저장된 기존 템플릿과 비교할 수 있다(세부사항은 아래에서 설명됨). ECD(1404)가 매치를 검출하면, ECD(1404)는 요청자(1450)가 진입 지점에 액세스는 것을 허용할 수 있다(상술된 것과 같음).With continued reference to FIG. 17 , in an implementation, the requestor 1450 may access the ECD 1404 during operation. The optical sensor 1702 can detect the requestor 1450 . In response to the detection, the illumination source 1704 may emit incident NIR radiation 1760 towards the requestor 1450 . Incident NIR radiation 1760 may strike face 1730 of requestor 1450 and be reflected from face 1730 of requestor 1450 . In some implementations, the optical sensor 1702 can detect detected NIR radiation 1762 originating from the surface of the face 1730 . The detected NIR radiation 1762 may include reflected incident NIR radiation 1760 and/or NIR radiation emitted from the requestor 1450 due to thermal heating (ie, blackbody radiation). The intensity and distribution of the detected NIR radiation 1762 may depend on the intensity and angle of the incident NIR radiation 1760 , the contour of the face 1730 , the angle of detection by the optical sensor 1702 , and other factors. The ECD 1404 can use the detected NIR radiation 1762 to construct a facial template (“NIR sampled profile”) of the requestor 1450 . ECD 1404 may compare the constructed NIR sampled profile to existing templates stored therein (details are described below). If ECD 1404 detects a match, ECD 1404 may allow requestor 1450 access to the entry point (as described above).

일부 예에서, NIR 방사선 검출을 통해 생성된 NIR 샘플링된 프로파일은 주변 조명의 변화에 내성이 있을 수 있다. 주변 조명이 변동함에 따라(예컨대, 휘도, 컬러, 컬러 온도, 조명 각도가 변함에 따라), NIR 방사선 검출을 사용하여 구성된 NIR 샘플링된 프로파일은, 잘못된 수락 또는 잘못된 거부를 방지하도록 충분히 일정하게 유지될 수 있다. 예를 들어, "밝은" 조건(예컨대, 1000 lux) 하에서 NIR 방사선 검출을 통해 구성되는 요청자(1450)의 NIR 샘플링된 프로파일은 "어두운" 조건(예컨대, 100 lux) 하에서 NIR 방사선 검출을 통해 구성되는 NIR 샘플링된 프로파일과 실질적으로 동일할 수 있다. 다른 예에서, 실질적으로 청색광(예컨대, CIE 좌표 x = 0.153, y = 0.100) 하에서 NIR 방사선 검출을 통해 구성되는 요청자(1450)의 NIR 샘플링된 프로파일은, 실질적으로 백색광(예컨대, CIE 좌표 x = 0.30, y = 0.33) 하에서 NIR 방사선 검출을 통해 구성되는 NIR 샘플링된 프로파일과 실질적으로 동일할 수 있다.In some examples, the NIR sampled profile generated via NIR radiation detection may be tolerant to changes in ambient illumination. As ambient illumination fluctuates (e.g., as luminance, color, color temperature, illumination angle change), the NIR sampled profile constructed using NIR radiation detection will remain sufficiently constant to prevent false acceptance or false rejection. can For example, the NIR sampled profile of the requestor 1450 constructed via NIR radiation detection under “bright” conditions (eg, 1000 lux) may be constructed via NIR radiation detection under “dark” conditions (eg, 100 lux). may be substantially identical to the NIR sampled profile. In another example, the NIR sampled profile of the requestor 1450 configured via NIR radiation detection under substantially blue light (eg, CIE coordinates x = 0.153, y = 0.100) is substantially white light (eg, CIE coordinates x = 0.30) , y = 0.33) may be substantially the same as the NIR sampled profile constructed through NIR radiation detection.

도 14 및 도 17을 계속 참조하면, 다른 구현에서, NIR 방사선 검출을 통해 생성된 NIR 샘플링된 프로파일은 소유자의 프라이버시를 향상시킬 수 있다. 예를 들어, 저장 장치(1410)는 직원의 NIR 샘플링된 프로파일 및 연관된 기밀 정보(예컨대, 생년월일, 이메일 계정, 패스워드)를 저장할 수 있다. 비인가된 사람이 NIR 샘플링된 프로파일 및 연관된 기밀 정보에 액세스하는 경우, NIR 샘플링된 프로파일에 기초하여 직원을 식별하는 것은 어려울 수 있기 때문에, 비인가된 사람은 훔친 기밀 정보를 악용할 수 없다. NIR 샘플링된 프로파일이, 예를 들어, 검출된 NIR 방사선을 사용하여 구성된다는 점을 감안할 때, 이들은, 사람의 NIR 샘플링된 프로파일이 동일한 사람의 얼굴의 시각적 이미지와 크게 다를 수 있으므로, 인식 불가능할 수 있다.With continued reference to FIGS. 14 and 17 , in another implementation, an NIR sampled profile generated via NIR radiation detection may enhance the privacy of the owner. For example, storage 1410 may store an employee's NIR sampled profile and associated confidential information (eg, date of birth, email account, password). If an unauthorized person has access to the NIR sampled profile and associated confidential information, it may be difficult to identify an employee based on the NIR sampled profile, so that the unauthorized person cannot exploit the stolen confidential information. Given that NIR sampled profiles are constructed using, for example, detected NIR radiation, they may not be recognizable as a person's NIR sampled profile may differ significantly from a visual image of the same person's face. .

다른 구현에서, 요청자(1450)는 동작 동안 ECD(1404)에 접근할 수 있다. 광학 센서(1702)는 요청자(1450)를 검출할 수 있다. 검출에 대한 응답으로, 조명원(1704)은 입사 UV 방사선(1760)(예컨대, 315 내지 390 나노미터의 파장을 갖는 전자기 방사선)을 요청자(1450)를 향해 방출할 수 있다. 입사 UV 방사선(1760)은 요청자(1450)의 얼굴(1730)에 부딪치고, 요청자(1450)의 얼굴(1730)로부터 반사될 수 있다. 특정 예에서, 입사 UV 방사선(1760)은 얼굴(1730)의 표면을 침투하고 얼굴(1730)의 피하 특징부(예컨대, 진피, 피하 조직, 근육, 결점)로부터 반사될 수 있다. 일부 구현에서, 광학 센서(1702)는 얼굴(1730)의 피하 특징부 및/또는 표면으로부터 발생하는 검출된 UV 방사선(1762)을 검출할 수 있다. 검출된 UV 방사선(1762)은 반사된 입사 UV 방사선(1760)을 포함할 수 있다. 검출된 UV 방사선(1762)의 강도 및 분포는 입사 UV 방사선(1760)의 강도 및 각도, 얼굴(1730)의 윤곽, 광학 센서(1702)에 의한 검출 각도 및 다른 인자에 의존할 수 있다. ECD(1404)는, 요청자(1450)의 안면 템플릿("UV 샘플링된 프로파일")을 구성하기 위해, 검출된 UV 방사선(1762)을 사용할 수 있다. ECD(1404)는 구성된 UV 샘플링된 프로파일을 그 내에 저장된 기존 템플릿과 비교할 수 있다(세부사항은 아래에서 설명됨). ECD(1404)가 매치를 검출하면, ECD(1404)는 요청자(1450)가 진입 지점에 액세스하는 것을 허용할 수 있다(상술된 바와 같음).In another implementation, the requestor 1450 can access the ECD 1404 during operation. The optical sensor 1702 can detect the requestor 1450 . In response to the detection, the illumination source 1704 may emit incident UV radiation 1760 (eg, electromagnetic radiation having a wavelength between 315-390 nanometers) towards the requestor 1450 . Incident UV radiation 1760 may strike face 1730 of requestor 1450 and be reflected from face 1730 of requestor 1450 . In a particular example, incident UV radiation 1760 may penetrate the surface of face 1730 and be reflected from subcutaneous features (eg, dermis, subcutaneous tissue, muscles, blemishes) of face 1730 . In some implementations, optical sensor 1702 can detect detected UV radiation 1762 originating from subcutaneous features and/or surfaces of face 1730 . The detected UV radiation 1762 may include reflected incident UV radiation 1760 . The intensity and distribution of the detected UV radiation 1762 may depend on the intensity and angle of the incident UV radiation 1760 , the contour of the face 1730 , the angle of detection by the optical sensor 1702 , and other factors. The ECD 1404 can use the detected UV radiation 1762 to construct a face template (“UV Sampled Profile”) of the requestor 1450 . ECD 1404 may compare the constructed UV sampled profile to existing templates stored therein (details are described below). If ECD 1404 detects a match, ECD 1404 may allow requestor 1450 to access the entry point (as described above).

일부 예에서, UV 방사선 검출을 통해 생성된 UV 샘플링된 프로파일은 주변 조명의 변화에 내성이 있을 수 있다. 주변 조명이 변동함에 따라(예컨대, 휘도, 컬러, 컬러 온도, 조명 각도가 변함에 따라), UV 방사선 검출을 사용하여 구성된 UV 샘플링된 프로파일은, 잘못된 수락 또는 잘못된 거부를 방지하도록 충분히 일정하게 유지될 수 있다. 예를 들어, "밝은" 조건(예컨대, 1000 lux) 하에서 UV 방사선 검출을 통해 구성되는 요청자(1450)의 UV 샘플링된 프로파일은 "어두운" 조건(예컨대, 100 lux) 하에서 UV 방사선 검출을 통해 구성되는 UV 샘플링된 프로파일과 실질적으로 동일할 수 있다. 다른 예에서, 실질적으로 청색광(예컨대, CIE 좌표 x = 0.153, y = 0.100) 하에서 UV 방사선 검출을 통해 구성되는 요청자(1450)의 UV 샘플링된 프로파일은, 실질적으로 백색광(예컨대, CIE 좌표 x = 0.30, y = 0.33) 하에서 NIR 방사선 검출을 통해 구성되는 UV 샘플링된 프로파일과 실질적으로 동일할 수 있다. In some examples, a UV sampled profile generated through detection of UV radiation may be tolerant to changes in ambient lighting. As ambient lighting fluctuates (e.g., as luminance, color, color temperature, illumination angle change), the UV sampled profile constructed using UV radiation detection can be kept constant enough to prevent false acceptance or false rejection. can For example, a UV sampled profile of requestor 1450 constructed via UV radiation detection under “bright” conditions (eg, 1000 lux) may be constructed via UV radiation detection under “dark” conditions (eg, 100 lux). It may be substantially identical to the UV sampled profile. In another example, the UV sampled profile of the requestor 1450 configured through detection of UV radiation under substantially blue light (eg, CIE coordinates x = 0.153, y = 0.100) is a UV sampled profile of substantially white light (eg, CIE coordinates x = 0.30) , y = 0.33) can be substantially identical to the UV sampled profile constructed through NIR radiation detection under

도 14 및 도 17을 계속 참조하면, 다른 구현에서, UV 방사선 검출을 통해 생성된 UV 샘플링된 프로파일은 소유자의 프라이버시를 향상시킬 수 있다. 예를 들어, 저장 장치(1410)는 직원의 UV 샘플링된 프로파일 및 연관된 기밀 정보(예컨대, 생년월일, 이메일 계정, 패스워드)를 저장할 수 있다. 비인가된 사람이 UV 샘플링된 프로파일 및 연관된 기밀 정보에 액세스를 얻은 경우, UV 샘플링된 프로파일에 기초하여 직원을 식별하는 것이 어려울 수 있기 때문에, 비인가된 사람은 도난당한 기밀 정보를 악용할 수 없다. UV 샘플링된 프로파일이, 예를 들어 검출된 UV 방사선을 사용하여 구성된다는 점을 감안하면, 이는, 사람의 UV 샘플링된 프로파일이 동일한 사람의 얼굴의 시각적 이미지와 크게 다를 수 있기 때문에, 인식 불가능할 수 있다. 샘플링된 프로파일은 3개의 어레이 내의 포지션의 일관성을 시각화하는 데이터 세트의 렌더링일 수 있다. 샘플링된 프로파일이 손상되면, 개인을 식별하는 데 사용되는 생체 인식 정보를 얻는 것이 더욱 어려울 수 있다.With continued reference to FIGS. 14 and 17 , in another implementation, a UV sampled profile generated through detection of UV radiation may enhance the privacy of the owner. For example, storage 1410 may store an employee's UV sampled profile and associated confidential information (eg, date of birth, email account, password). If an unauthorized person gains access to the UV sampled profile and associated confidential information, the unauthorized person cannot exploit the stolen confidential information because it may be difficult to identify an employee based on the UV sampled profile. Given that the UV sampled profile is constructed using, for example, detected UV radiation, this may be unrecognizable as a person's UV sampled profile may differ significantly from a visual image of the same person's face. . The sampled profile may be a rendering of a data set that visualizes the consistency of positions within the three arrays. If the sampled profile is compromised, it can be more difficult to obtain biometric information used to identify an individual.

일부 예에서, ECD(1404)는 요청자(1450)의 얼굴(1730)로부터 반사되는 검출된 가시광에 기초하여 가시광 샘플링된 프로파일을 생성할 수 있다.In some examples, ECD 1404 can generate a visible light sampled profile based on detected visible light reflected from face 1730 of requestor 1450 .

특정 구현에서, 요청자(1450)는, ECD(1404)와 연관된 진입 지점에 대한 액세스를 얻기 위해, 구성된 샘플링된 프로파일과 함께 사용될 패스워드, 개인 식별 번호(PIN) 및/또는 유효한 HIDTM 카드를 제공할 것을 요청받을 수 있다.In a particular implementation, the requestor 1450 may provide a password, a personal identification number (PIN) and/or a valid HID TM card to be used with the configured sampled profile to gain access to the entry point associated with the ECD 1404 . can be requested

다른 구현에서, ECD(1404)는 음성 인식을 수행하기 위해 마이크로폰(도 17에 도시되지 않음)을 포함할 수 있다.In another implementation, the ECD 1404 may include a microphone (not shown in FIG. 17 ) to perform voice recognition.

일부 예에서, 디스플레이(1706)는 광학 센서(1702)에 의해 이미지화되는 요청자(1450)의 얼굴(1730)을 보여줄 수 있다. 디스플레이(1706)는 광학 센서(1702)에 대해 요청자(1450)가 얼굴(1730)을 정렬하는 것을 보조하는 정렬 마크(도시되지 않음)를 포함할 수 있다. 이 정렬 프로세스는 오정렬로 인한 잘못된 수락 및 잘못된 거부를 최소화할 수 있다. 특정 구현에서, ECD(1404)는 재충전가능한 배터리에 의해 전원이 공급되는 포켓-크기 모바일 장치일 수 있다.In some examples, display 1706 can show face 1730 of requestor 1450 being imaged by optical sensor 1702 . Display 1706 may include alignment marks (not shown) to assist requestor 1450 in aligning face 1730 with respect to optical sensor 1702 . This sorting process can minimize false accepts and false rejects due to misalignment. In certain implementations, the ECD 1404 may be a pocket-sized mobile device powered by a rechargeable battery.

도 18을 참조하면, 일부 구현에서, ECD(1404)는, 본 개시에 설명된 바와 같이, 게이트웨이(1402) 및 다른 ECD(1404)과 통신하도록 구성된 통신 모듈(1852)을 갖는 프로세서(1802)를 포함할 수 있다. 통신 모듈(1852)은 예를 들어 프로세서(1802)에서 하드웨어로서, 프로세서(1802)에 의해 실행되는 소프트웨어 코드로서, 또는 이들의 조합으로 구현될 수 있다. 프로세서(1802)는 또한 데이터를 암호화 및/또는 암호해독하도록 구성된 보안 모듈(1854)을 포함할 수 있다. 보안 모듈(1854)은, 예를 들어, 프로세서(1802)에서 하드웨어로서, 프로세서(1802)에 의해 실행되는 소프트웨어 코드로서, 또는 이들의 조합으로 구현될 수 있다. 프로세서(1802)는 본 개시 전반에 걸쳐 설명되는 바와 같은 생체 인식 템플릿을 구성하고 비교하기 위한 알고리즘 모듈(1856)을 추가로 포함한다. 대안적으로, 게이트웨이와의 통신은 제어 패널의 프로세서에 의해 가능해질 수 있다. 알고리즘 모듈(1856)은, 예를 들어, 프로세서(1802)에서 하드웨어로서, 프로세서(1802)에 의해 실행되는 소프트웨어 코드로서, 또는 이들의 조합으로 구현될 수 있다. 프로세서(1802)는 분배식 프로세싱을 수행하기 위한 병렬 컴퓨테이션 모듈(1858)을 추가로 포함할 수 있다. 병렬 컴퓨테이션 모듈(1858)은, 예를 들어, 프로세서(1802)에서 하드웨어로서, 프로세서(1802)에 의해 실행되는 소프트웨어 코드로서, 또는 이들의 조합으로 구현될 수 있다. 프로세서(1802)는 하나 이상의 프로세스 또는 코어를 포함할 수 있고, 반도체 프로세서, 그래픽 프로세싱 유닛, 필드 프로그램가능 게이트 어레이, 프로그램가능 논리 장치, 프로세싱 클러스터, 주문형 집적 회로 또는 다른 적절한 아키텍처로 구현될 수 있다.Referring to FIG. 18 , in some implementations, an ECD 1404 includes a processor 1802 having a communication module 1852 configured to communicate with a gateway 1402 and another ECD 1404 , as described in this disclosure. may include The communication module 1852 may be implemented, for example, as hardware in the processor 1802 , as software code executed by the processor 1802 , or a combination thereof. The processor 1802 may also include a security module 1854 configured to encrypt and/or decrypt data. The security module 1854 may be implemented, for example, as hardware in the processor 1802 , as software code executed by the processor 1802 , or a combination thereof. The processor 1802 further includes an algorithm module 1856 for constructing and comparing biometric templates as described throughout this disclosure. Alternatively, communication with the gateway may be enabled by a processor in the control panel. The algorithm module 1856 may be implemented, for example, as hardware in the processor 1802 , as software code executed by the processor 1802 , or a combination thereof. The processor 1802 may further include a parallel computation module 1858 for performing distributed processing. The parallel computation module 1858 may be implemented, for example, as hardware in the processor 1802 , as software code executed by the processor 1802 , or a combination thereof. Processor 1802 may include one or more processors or cores, and may be implemented as a semiconductor processor, graphics processing unit, field programmable gate array, programmable logic device, processing cluster, application specific integrated circuit, or other suitable architecture.

ECD(1404)는 메모리(1804)를 포함한다. 메모리는 정적 또는 동적 메모리, 예컨대 플래시 메모리, 랜덤 액세스 메모리, 자기 메모리 또는 반도체 메모리일 수 있다. 메모리(1804)는 클라우드 저장소와 같은 외부 메모리를 포함할 수 있다. 메모리(1804)는 애플리케이션 및/또는 컴퓨터 실행가능 코드를 포함하거나 저장할 수 있다. ECD(1404)는 게이트웨이(1402) 및 다른 ECD(1404)와 통신하기 위한 모뎀(1808)을 추가로 포함하고, 통신 모듈(1852)과 협력하여 동작할 수 있다. ECD(1404)는 또한 RAM(1806), 예컨대 정적 또는 동적 랜덤 액세스 메모리(RAM)를 포함한다. ECD(1404)는 또한 디스플레이(1706), 광학 센서(1702), 키패드(1708) 및 스캐너(1710)에 통신 가능하게 결합된 입력/출력(I/O) 장치(1810)를 포함할 수 있다. ECD(1404) 내부의 구성 요소는 내부 버스(1812a)에 의해 상호 연결될 수 있다. 프로세서(1802), 메모리(1804), RAM(1806) 및 내부 버스(1812a)는 프로세싱 보드(1820) 상에 배치될 수 있다.ECD 1404 includes memory 1804 . The memory may be static or dynamic memory, such as flash memory, random access memory, magnetic memory or semiconductor memory. Memory 1804 may include external memory, such as cloud storage. Memory 1804 may contain or store applications and/or computer executable code. The ECD 1404 further includes a modem 1808 for communicating with the gateway 1402 and other ECDs 1404 , and may operate in concert with the communication module 1852 . ECD 1404 also includes RAM 1806 , such as static or dynamic random access memory (RAM). The ECD 1404 may also include an input/output (I/O) device 1810 communicatively coupled to a display 1706 , an optical sensor 1702 , a keypad 1708 , and a scanner 1710 . Components within ECD 1404 may be interconnected by an internal bus 1812a. Processor 1802 , memory 1804 , RAM 1806 , and internal bus 1812a may be disposed on processing board 1820 .

이제 도 19를 참조하면, ECD(1404)의 다른 예는 외부 버스(1812b)에 의해 상호 연결된 다수의 프로세싱 보드(1820)를 포함할 수 있다. 각각의 프로세싱 보드(1820)는 프로세서(1802), 메모리(1804), RAM(1806) 및 내부 버스(1812a)를 포함할 수 있다. 프로세싱 보드(1820) 중에 분배된 데이터는 외부 버스(1812b)를 통해 제어기(1814)에 의해 분배될 수 있다. 비제한적인 예에서, ECD(1404)는 [게이트웨이(1402)로부터] 잠재적인 요청자의 240,000개의 생체 인식 템플릿을 다운로드할 수 있다. 제어기(1814)는, 각각의 프로세싱 보드(1820)가 개개의 메모리(1804)에 30,000개의 생체 인식 템플릿을 저장할 수 있도록, 프로세싱 보드(1820) 사이에 240,000 개의 생체 인식 템플릿을 균등하게 또는 불균등하게 배포할 수 있다. 일부 구현에서, 각각의 프로세싱 보드(1820)는 동일하거나 상이한 수의 생체 인식 템플릿을 저장할 수 있다.Referring now to FIG. 19 , another example of an ECD 1404 may include multiple processing boards 1820 interconnected by an external bus 1812b. Each processing board 1820 may include a processor 1802 , memory 1804 , RAM 1806 , and an internal bus 1812a . Data distributed among processing board 1820 may be distributed by controller 1814 via external bus 1812b. In a non-limiting example, ECD 1404 may download 240,000 biometric templates of potential requestors (from gateway 1402 ). The controller 1814 distributes 240,000 biometric templates evenly or unevenly among the processing boards 1820 such that each processing board 1820 can store 30,000 biometric templates in individual memory 1804 . can do. In some implementations, each processing board 1820 may store the same or a different number of biometric templates.

도 19를 계속 참조하면, 예에서, 동작 중에, ECD(1404)는 검출된 NIR 방사선(1762)에 기초하여 요청자(1450)의 샘플링된 프로파일(예컨대, UV 또는 NIR)을 구성할 수 있다. 제어기(1814)는 구성된 샘플링된 프로파일의 사본을 각각의 프로세싱 보드(1820)에 배포할 수 있다. 일부 구현에서, 프로세싱 보드(1820)는, 복제된 샘플링된 프로파일을 로컬에 저장된 생체 인식 템플릿(예컨대, 각각의 프로세싱 보드(1820)에 저장된 30,000개)과 동시에 비교할 수 있다. 도 19에 도시된 ECD(1404)의 현재 예는 8개의 프로세싱 보드(1820)를 포함하지만, 다른 개수의 프로세싱 보드(1820)가 또한 사용될 수 있다. 예를 들어, ECD(1404)는 2개, 4개, 6개, 8개, 12개, 16개, 32개 또는 64개의 프로세싱 보드(1820)를 포함할 수 있다.19 , in an example, during operation, ECD 1404 can construct a sampled profile (eg, UV or NIR) of requestor 1450 based on detected NIR radiation 1762 . The controller 1814 may distribute a copy of the configured sampled profile to each processing board 1820 . In some implementations, the processing board 1820 may concurrently compare the replicated sampled profile with locally stored biometric templates (eg, 30,000 stored on each processing board 1820 ). The current example of the ECD 1404 shown in FIG. 19 includes eight processing boards 1820 , although other numbers of processing boards 1820 may also be used. For example, the ECD 1404 may include 2, 4, 6, 8, 12, 16, 32, or 64 processing boards 1820 .

구현에서, ECD(1404)는 상술된 분산식 컴퓨팅을 수행하기 위해 원격 프로세싱 보드(도시되지 않음)에 의존할 수 있다. 예를 들어, ECD(1404)는, 복제된 샘플링된 프로파일(또는 복제된 샘플링된 프로파일의 수치적 표현)을 알려진 생체 인식 템플릿에 매칭시키기 위한 알고리즘(아래에서 설명됨)을 공동으로 그리고 동시에 구현하기 위해, 복제된 샘플링된 프로파일을 원격 프로세싱 보드로 전송할 수 있다. 프로세싱 보드는 네트워크 내의 다른 ECD 내에 있을 수도 있다. 특정 예에서, ECD(1404)는 복제된 샘플링된 프로파일을 베오울프(Beowulf) 클러스터로 전송할 수 있다. 클러스터링 설계는 프로세스-간(inter-process) 및 프로세서-간(inter-processor) 프로토콜을 사용하여, 두 프로세서와 그 프로세서 내부의 프로세싱 코어 사이에 동일한 애플리케이션의 프로세싱 업무를 공유할 수 있다. 안면 인식의 경우, 안면 확인과 같은 프로세서-집약적인 동작은 허용되는 시간 기간 내에 동작을 완료하기 위해 다수의 프로세서 또는 다수의 코어를 활용할 수 있다. 일부 경우들에서, 이러한 유형의 동작에 대형 멀티-코어 프로세서가 사용될 수 있다. 다른 경우에서는, 높은 하드웨어 비용과 잠재적인 단일 실패 지점(single point of failure)의 가능성 없이, 단일 멀티-코어 프로세서와 동일한 성능을 달성하기 위해 여러 고급 RIISC 머신("ARM") 프로세서에 걸쳐 동작이 분산될 수 있다.In implementations, the ECD 1404 may rely on a remote processing board (not shown) to perform the distributed computing described above. For example, ECD 1404 may jointly and concurrently implement an algorithm (described below) for matching a replicated sampled profile (or a numerical representation of a replicated sampled profile) to a known biometric template. For this purpose, the replicated sampled profile can be sent to a remote processing board. The processing board may be in another ECD in the network. In a particular example, the ECD 1404 may send the replicated sampled profile to a Beowulf cluster. The clustering design may use inter-process and inter-processor protocols to share the processing tasks of the same application between two processors and the processing cores inside the processor. In the case of facial recognition, processor-intensive operations, such as facial verification, may utilize multiple processors or multiple cores to complete the operation within an allowed time period. In some cases, a large multi-core processor may be used for this type of operation. In other cases, operations are distributed across multiple advanced RIISC machine (“ARM”) processors to achieve the same performance as a single multi-core processor, without high hardware costs and the possibility of a potential single point of failure. can be

도 14를 다시 참조하면, 분산식 병렬 비교의 비제한적인 예에서, 제1 게이트웨이(1402a)는 엔터프라이즈 서버(1406b)로부터 잠재적 요청자(예컨대, 직원 및 계약자)의 600,000개의 생체 인식 템플릿을 다운로드할 수 있다. 제1 게이트웨이(1402a)는 100,000개의 생체 인식 템플릿을 ECD-e(1404e) 및 ECD-f(1404f)의 각각에 배포하고, 200,000개의 생체 인식 템플릿을 제2 게이트웨이(1402b) 및 제3 게이트웨이(1402c) 각각에 배포할 수 있다. 다음으로, 제2 게이트웨이(1402b)는 ECD-c(1404c) 및 ECD-d(1404d) 각각에 100,000개의 생체 인식 템플릿을 배포할 수 있고, 제3 게이트웨이(1402c)는 ECD-a(1404a) 및 ECD-b(1404b)의 각각에 100,000개의 생체 인식 템플릿을 분배할 수 있다. 결과적으로, 엔터프라이즈 서버(1406b)로부터 다운로드된 600,000개의 생체 인식 템플릿은 ECD(1404) 사이에 균등하게 배포될 수도 있다(즉, 각각 100,000개의 비오버랩 템플릿). 일부 구현에서, ECD-b(1404b)가 제1 요청자(1450a)의 샘플링된 프로파일(UV 또는 NIR)을 구성할 때, ECD-b(1404b)는 구성된 샘플링된 프로파일을 복제하고 복제된 샘플링된 프로파일을 ECD-a(1404a), ECD-c(1404c), ECD-d(1404d), ECD-e(1404e) 및 ECD-f(1404f)에 [하나 이상의 게이트웨이(1402)을 통해] 배포할 수 있다. ECD(1404)는 매치를 결정하기 위해 제1 요청자(1450a)의 복제된 샘플링된 프로파일을 로컬에 저장된 100,000 개의 템플릿과 비교할 수 있다. ECD-a(1404a), ECD-c(1404c), ECD-d(1404d), ECD-e(1404e) 및 ECD-f(1404f)는 비교의 결과를 [하나 이상의 게이트웨이(1402)을 통해] 다시 ECD-b(1404b)로 전송할 수 있다. ECD-b(1404b)는 결과를 수집하고, 제1 요청자(1450a)에 대한 액세스를 승인할지 여부를 결정할 수 있다. 다른 구현에서, 생체 인식 템플릿은 ECD(1404) 사이에 불균등하게 배포될 수 있다. Referring back to FIG. 14 , in a non-limiting example of a distributed parallel comparison, the first gateway 1402a may download 600,000 biometric templates of potential requestors (eg, employees and contractors) from the enterprise server 1406b. have. The first gateway 1402a distributes 100,000 biometric templates to ECD-e 1404e and ECD-f 1404f, respectively, and distributes 200,000 biometric templates to the second gateway 1402b and the third gateway 1402c ) can be distributed to each. Next, the second gateway 1402b may distribute 100,000 biometric templates to each of ECD-c 1404c and ECD-d 1404d, and the third gateway 1402c may distribute ECD-a 1404a and It is possible to dispense 100,000 biometric templates to each of the ECD-b 1404b. As a result, the 600,000 biometric templates downloaded from the enterprise server 1406b may be evenly distributed among the ECDs 1404 (ie, 100,000 non-overlapping templates each). In some implementations, when ECD-b 1404b constructs a sampled profile (UV or NIR) of first requestor 1450a, ECD-b 1404b duplicates the constructed sampled profile and replicates the replicated sampled profile. can be deployed (via one or more gateways 1402) to ECD-a 1404a, ECD-c 1404c, ECD-d 1404d, ECD-e 1404e, and ECD-f 1404f. . ECD 1404 may compare the replicated sampled profile of first requestor 1450a to 100,000 locally stored templates to determine a match. ECD-a 1404a, ECD-c 1404c, ECD-d 1404d, ECD-e 1404e, and ECD-f 1404f return the results of the comparison (via one or more gateways 1402) back. ECD-b 1404b may be transmitted. ECD-b 1404b may collect the results and determine whether to grant access to first requestor 1450a. In other implementations, the biometric template may be distributed unevenly among the ECDs 1404 .

이제 도 20을 참조하면, ECD(1404)는 요청자(1450)의 ECD(1730)로부터 검출된 방사선(1762)의 강도를 측정하는 것에 기초하여 샘플링된 프로파일(2000)을 생성할 수 있다. 샘플링된 프로파일(2000)은 하나 이상의 측정 지점(2002)의 기본 행렬(2010)을 포함할 수 있다. 측정 지점(2002)은 특정 측정 지점의 위치에서 검출된 방사선(1762)의 강도를 나타내는 값을 포함할 수 있다. 예를 들어, 측정 지점-a(2002a)는 요청자(1450)의 얼굴(1730) 주변의 구역(2004a)(예컨대, 검은 머리카락)에 대응하는 2의 강도 스케일 값을 나타낼 수 있다. 측정 지점-b(2002b)는 배경 컬러에 대응하는 50의 강도 스케일 값을 나타낼 수 있다. 측정 지점-c(2002c)는 요청자(1450)의 얼굴(1730) 상의 구역(2004c)(예컨대, 뺨)에 대응하는 21의 강도 스케일 값을 나타낼 수 있다. 특정 예에서, 강도 스케일은 0(반사 없음) 내지 100[ECD(1404)의 광학 센서(1702)에 의해 검출될 수 있는 최대 반사]의 범위일 수 있다. 일 구현에서, 강도 스케일은 측정 지점(2002)의 절대 강도(예컨대, 밝기)를 측정할 수 있다. 다른 예에서, 샘플링된 프로파일(2000)은, 상이한 파장(예컨대, UV, NIR, 적색, 녹색, 청색)의 검출된 방사선(1762)에 대한 측정 지점(2002)을 포함할 수 있다.Referring now to FIG. 20 , the ECD 1404 can generate a sampled profile 2000 based on measuring the intensity of radiation 1762 detected from the ECD 1730 of the requestor 1450 . The sampled profile 2000 may include a base matrix 2010 of one or more measurement points 2002 . The measurement point 2002 may include a value representing the intensity of the radiation 1762 detected at the location of the specific measurement point. For example, measurement point-a 2002a may represent an intensity scale value of 2 corresponding to region 2004a (eg, dark hair) around face 1730 of requestor 1450 . Measurement point-b 2002b may represent an intensity scale value of 50 corresponding to the background color. Measurement point-c 2002c may represent an intensity scale value of 21 corresponding to region 2004c (eg, cheeks) on face 1730 of requestor 1450 . In a particular example, the intensity scale may range from 0 (no reflection) to 100 (the maximum reflection that can be detected by the optical sensor 1702 of the ECD 1404 ). In one implementation, the intensity scale may measure the absolute intensity (eg, brightness) of the measurement point 2002 . In another example, sampled profile 2000 can include measurement points 2002 for detected radiation 1762 of different wavelengths (eg, UV, NIR, red, green, blue).

도 20의 샘플링된 프로파일(2000)이 요청자(1450)의 얼굴(1730)에 걸쳐 10 x 12 측정 지점(2002)의 기본 행렬(2010)을 도시하지만, 기본 행렬(2010)에 대해 다른 측정 지점 밀도가 가능할 수 있다. 예를 들어, ECD(1404)는 요청자(1450)의 얼굴(1730)에 걸쳐 100 x 100의 측정 지점을 사용하여 또 다른 샘플링된 프로파일을 생성할 수 있다. 다른 예에서, ECD(1404)는 500 x 500 측정 지점을 사용하여 샘플링된 프로파일을 생성할 수 있다. 다른 측정 지점 밀도가 또한 가능하며, 원하는 정확도, 컴퓨테이션 제약, 데이터 저장량 등에 의존할 수 있다. Although the sampled profile 2000 of FIG. 20 shows a base matrix 2010 of 10 x 12 measurement points 2002 across the face 1730 of the requestor 1450 , a different measurement point density for the base matrix 2010 . may be possible For example, the ECD 1404 may generate another sampled profile using 100×100 measurement points across the face 1730 of the requestor 1450 . In another example, the ECD 1404 can generate a sampled profile using 500 x 500 measurement points. Other measurement point densities are also possible and may depend on the desired accuracy, computational constraints, data storage, etc.

일부 구현에서, ECD(1404)는 배경을 나타내는 측정 지점(2002)을 제거할 수 있다.In some implementations, the ECD 1404 can remove the measurement point 2002 representing the background.

이제 도 21을 참조하면, 일 구현에서, ECD(1404)[또는 프로세서(1802)]는 기본 행렬(2010) 내의 측정 지점(2002) 중 하나 이상에 LBP 동작을 적용할 수 있다. 예를 들어, ECD(1404)는 41의 강도 값을 포함하는 측정 지점-d(2002d)에 대해 LBP를 수행할 수 있다. 측정 지점-d(2002d)에 대한 LBP 스트링은, 1의 스팬(span)을 기준으로, 01110100이다[즉, 측정 지점-d(2002)의, 1 셀(cell)의 거리를 갖는, 인접 이웃을 사용하여 LBP를 수행함]. ECD(1404)는 표(2100)에 도시된 바와 같이 나머지 측정 지점(2002r)에 대한 LBP 스트링의 수를 추적할 수 있다. 일부 예에서, ECD(1404)는, 표(2100)에 표시된 바와 같이, 측정 지점(2002) 중 24는 00000000의 LBP 스트링을 갖는 것으로, 3은 00000001의 LBP 스트링을 갖는 것으로, 11은 00000010의 LBP 스트링을 갖는 것으로, 그리고 0은 00000011의 LBP 스트링을 갖는 것 식으로 컴퓨팅할 수 있다. 표(2100)는 가능한 스트링(즉, 8 비트)에 대한 256개의 엔트리를 포함할 수 있다. 일부 예에서, 표(2100)는 "모두 백색" 스트링(11111111) 또는 "모두 흑색" 스트링(00000000)에 대한 엔트리를 제거함으로써, 255개의 엔트리를 포함할 수 있다. 일부 구현에서, 표(2100)의 데이터는 가능한 LBP 스트링에 대한 발생 횟수[예컨대, 측정 지점(2002)]를 나타내는 히스토그램으로 도시될 수 있다. Referring now to FIG. 21 , in one implementation, ECD 1404 (or processor 1802 ) may apply an LBP operation to one or more of measurement points 2002 in base matrix 2010 . For example, ECD 1404 may perform LBP on measurement point-d 2002d comprising an intensity value of 41 . The LBP string for measurement point-d(2002d) is 01110100 based on a span of 1. to perform LBP]. ECD 1404 may track the number of LBP strings for the remaining measurement points 2002r as shown in table 2100 . In some examples, ECD 1404 indicates that 24 of measurement points 2002 have an LBP string of 00000000, 3 have an LBP string of 00000001, and 11 are LBP of 00000010, as indicated in table 2100 , as indicated in table 2100 . You can compute with a string, and 0 has an LBP string of 00000011, and so on. Table 2100 may contain 256 entries for possible strings (ie, 8 bits). In some examples, table 2100 may include 255 entries, by removing entries for "all white" string 11111111 or "all black" string (00000000). In some implementations, the data in table 2100 may be plotted as a histogram representing the number of occurrences (eg, measurement point 2002 ) for a possible LBP string.

일부 구현에서, 표(2100)의 LBP 스트링의 분포에 기초하여, ECD(1404)는 하나 이상의 고유한 특징부를 결정할 수 있다. 하나 이상의 고유한 특징부는, LBP 스트링 00000001, 01110100 및 11111100과 같이, 임계 빈도(예컨대, 5)보다 적게 발생하는 0이 아닌 LBP 스트링일 수 있다. 다른 구현에서, 하나 이상의 고유한 특징부는 LBP 스트링 01110100과 같이, 최소로 발생하는 0이 아닌 LBP 스트링일 수 있다. 일부 예에서, ECD(1404)는 하나 이상의 고유한 특징부를 갖는 측정 지점(2002)의 위치를 추적할 수 있다. 예를 들어, ECD(1404)는 LBP 스트링의 좌표를 추적할 수 있다. 일부 구현에서, 하나 이상의 고유한 특징부는 가장 많이 발생하는 0이 아닌 LBP 스트링일 수 있다.In some implementations, based on the distribution of the LBP strings in table 2100 , ECD 1404 can determine one or more unique features. The one or more unique features may be non-zero LBP strings that occur less than a threshold frequency (eg, 5), such as the LBP strings 00000001, 01110100, and 11111100. In another implementation, the one or more unique features may be a minimally occurring non-zero LBP string, such as the LBP string 01110100. In some examples, the ECD 1404 can track the location of the measurement point 2002 with one or more unique features. For example, the ECD 1404 may track the coordinates of the LBP string. In some implementations, the one or more unique features may be the most-occurring non-zero LBP strings.

이제 도 22를 참조하면, 특정 구현에서, ECD(1404)는 기본 행렬(2010)을 하나 이상의 서브-행렬로 분할할 수 있다. 각각의 서브-행렬은 측정 지점의 매크로블록을 포함할 수 있다. 예를 들어, ECD(1404)는 기본 행렬(2010)을 5 x 5 서브-행렬(2202), 3 x 3 서브-행렬(2204) 및 6 x 6 서브-행렬(2206)로 분할할 수 있다. 5 x 5 서브-행렬(2202) 내의 측정 지점(2002)에 대한 LBP 스트링을 컴퓨팅할 때, ECD(1402)는 3의 스팬을 사용하여 5 x 5 서브-행렬(2202) 내의 측정 지점(2002)의 LBP 스트링을 계산할 수 있다(즉, 3 셀 떨어진 이웃을 사용하여 LBP 스트링을 계산함). 마찬가지로, 3 x 3 서브-행렬(2204) 내의 측정 지점(2002)에 대한 LBP 스트링을 컴퓨팅할 때, ECD(1402)는 2의 스팬을 사용하여 3 x 3 서브-행렬(2204) 내의 측정 지점(2002)의 LBP 스트링을 계산할 수 있다. 6 x 6 서브 행렬(2206) 내의 측정 지점(2002)에 대한 LBP 스트링을 컴퓨팅할 때, ECD(1402)는 4의 스팬을 사용하여 6 x 6 서브 행렬(2206) 내의 측정 지점(2002)의 LBP 스트링을 계산할 수 있다. ECD(1402)에 의해 결정된 바와 같이, 기본 행렬, 서브-행렬 및 스팬에 대해 다른 크기가 가능하다.Referring now to FIG. 22 , in a particular implementation, the ECD 1404 may partition the base matrix 2010 into one or more sub-matrices. Each sub-matrix may contain a macroblock of measurement points. For example, the ECD 1404 can partition the base matrix 2010 into a 5×5 sub-matrix 2202 , a 3×3 sub-matrix 2204 , and a 6×6 sub-matrix 2206 . When computing the LBP string for the measurement points 2002 in the 5 x 5 sub-matrix 2202, the ECD 1402 uses a span of 3 to calculate the measurement points 2002 in the 5 x 5 sub-matrix 2202. We can compute the LBP string of Similarly, when computing the LBP string for measurement points 2002 in 3 x 3 sub-matrix 2204, ECD 1402 uses a span of 2 to measure points in 3 x 3 sub-matrix 2204 ( 2002) can be calculated. When computing the LBP string for the measurement points 2002 in the 6 x 6 sub-matrix 2206 , the ECD 1402 uses a span of 4 to determine the LBP of the measurement points 2002 in the 6 x 6 sub-matrix 2206 . Strings can be counted. Other sizes are possible for the base matrix, sub-matrix and span, as determined by ECD 1402 .

일 예에서, 100 x 100 기본 행렬은 6개의 상이한 크기의 서브-행렬로 분할될 수 있다: 10 x 10, 15 x 15, 20 x 20, 30 x 30, 35 x 35, 및 40 x 40. 이러한 각각의 서브-행렬 내부에서, LBP 스트링은 계산되는 측정 지점 주변에서 상이한 스팬으로 계산되어, 상이한 커버리지 영역에서 셀을 둘러싸는 영역의 텍스처/슬로프를 특징화할 수 있다. 각각의 서브-행렬 크기에 대해, 계산될 측정 지점(2002)으로부터 각각의 이웃 셀까지 픽셀의 스팬은 3, 9, 15, 21, 27 및 33일 수 있다. 다른 예에서, 200 x 200 기본 행렬은 10 x 10, 20 x 20, 35 x 35, 50 x 50, 65 x 65, 80 x 80 및 100 x 100 크기를 갖는 6개의 상이한 서브-행렬을 포함할 수 있다. 각각의 서브-행렬 크기에 대해, 계산될 측정 지점(2002)으로부터 각각의 이웃 셀까지 픽셀의 스팬은 3, 5, 7, 10, 25 및 40일 수 있다. 일부 경우에, 서브-행렬은 오버랩될 수 있다. 특정 구현에서, ECD(1404)는 LTP 컴퓨테이션을 측정 지점(2002) 상에 적용할 수 있다.In one example, a 100 x 100 base matrix can be partitioned into six different sized sub-matrices: 10 x 10, 15 x 15, 20 x 20, 30 x 30, 35 x 35, and 40 x 40. Inside each sub-matrix, LBP strings can be computed with different spans around the calculated measurement points to characterize the texture/slope of the area surrounding the cell in different coverage areas. For each sub-matrix size, the span of pixels from the measurement point 2002 to be calculated to each neighboring cell may be 3, 9, 15, 21, 27 and 33. In another example, a 200 x 200 base matrix may include 6 different sub-matrices having sizes of 10 x 10, 20 x 20, 35 x 35, 50 x 50, 65 x 65, 80 x 80 and 100 x 100 have. For each sub-matrix size, the span of pixels from the measurement point 2002 to be computed to each neighboring cell may be 3, 5, 7, 10, 25 and 40. In some cases, the sub-matrices may overlap. In a particular implementation, the ECD 1404 may apply an LTP computation on the measurement point 2002 .

이제 도 23을 참조하면, 특정 예에서, ECD(1404)는, 샘플링된 프로파일로부터 유도된 바이너리 특징부의 목록을, 확장가능하고 각각의 요청자(1450)의 고유한 특성에 맞춰질 수 있는 데이터 시퀀스로 변환할 수 있으며, 동시에 여전히 오브젝트 비교 및 매칭/확인의 방법론을 제공할 수 있다. 바이너리 특징부는, 서브-행렬/매크로블록의 크기, 샘플링된 프로파일 상에서 서브-행렬/매크로블록의 위치, 및 바이너리 특징부에 할당되는 ULBP(Uniform Local Binary Pattern)의 3가지 특징을 포함할 수 있다. 매크로블록은 요청자(1450)의 얼굴(1730)의 이미지의 "서브-이미지"일 수 있다. 예를 들어, 크기 10의 매크로블록은 얼굴(1730)의 이미지의 10 x 10[즉, 100개의 측정 지점(2002)] 서브-이미지이다. 비제한적인 예에서, 이미지상의 매크로블록의 위치는, 매크로블록의 상단, 좌측 코너에 위치된, 매크로블록 내 제1 픽셀의 포지션에 의해 정의될 수 있다. 이 픽셀의 포지션은, 얼굴 이미지의 좌측 경계로부터의 거리(x-차원)와 얼굴 이미지의 상단 경계로부터의 거리(y-차원)의 2개 값에 의해 정의된다. 최종 특징은, 얼굴(1730)의 좌측 상단에서 시작하는 픽셀의 에지 및 텍스처 특징에 대한 스칼라 값을 설정하기 위한 수학적 방법론인 ULBP 이다. 매크로블록 내부의 각각의 픽셀에 대해, ULBP 계산이 수행된다. 계산된 ULBP가 그 바이너리 특징부에 대해 정의된 ULBP와 매치하면, 바이너리 특징부의 값은 1씩 증가한다. 따라서, 바이너리 특징부의 최대 값은 정의된 매크로블록의 크기(10x10은 100)이고, 최소값은 0이다. 매크로블록은 상이한 ULBP 정의를 갖는 2 이상의 바이너리 특징부에서 사용될 수 있다. 또한, 매크로블록의 위치는 상이한 매크로블록 크기 및 ULBP 정의를 갖는 2 이상의 바이너리 특징부에서 사용될 수 있다.Referring now to FIG. 23 , in a particular example, the ECD 1404 converts a list of binary features derived from a sampled profile into a data sequence that is extensible and can be tailored to the unique characteristics of each requestor 1450 . while still providing a methodology for object comparison and matching/verification. The binary feature may include three characteristics: the size of the sub-matrix/macroblock, the position of the sub-matrix/macroblock on the sampled profile, and a Uniform Local Binary Pattern (ULBP) assigned to the binary feature. The macroblock may be a “sub-image” of the image of the face 1730 of the requestor 1450 . For example, a macroblock of size 10 is a 10×10 (ie, 100 measurement points 2002) sub-image of the image of face 1730 . In a non-limiting example, the position of the macroblock on the image may be defined by the position of the first pixel within the macroblock, located at the top, left corner of the macroblock. The position of this pixel is defined by two values: the distance from the left border of the face image (x-dimension) and the distance from the top border of the face image (y-dimension). The final feature is ULBP, which is a mathematical methodology for setting scalar values for edge and texture features of pixels starting from the upper left corner of the face 1730 . For each pixel inside the macroblock, a ULBP calculation is performed. If the calculated ULBP matches the ULBP defined for that binary feature, the value of the binary feature is incremented by one. Thus, the maximum value of the binary feature is the size of the defined macroblock (10x10 is 100), and the minimum value is 0. A macroblock may be used in two or more binary features with different ULBP definitions. Also, the location of a macroblock may be used in two or more binary features with different macroblock sizes and ULBP definitions.

도 23을 계속 참조하면, 표(2300)는, 10 x 10, 35 x 35, 20 x 20, 30 x 30, 15 x 15, 40 x 40 및 15 x 15의 크기 갖는 매크로블록에 대한 시퀀스 변환 프로세스의 결과의 예를 예시할 수 있다. 생체 인식 템플릿을 생성하기 위해 3개의 어레이가 사용될 수 있다. 제1 어레이는 정규화된 어레이 내의 스칼라 값일 수 있다. 제2 어레이는, 이예에서, 가장 높은 값을 갖는 바이너리 특징부(2000)가 포지션 1에서 제2 어레이의 최상부로 이동하도록 분류될 수 있다. 제3 어레이는 스칼라 값 대신 분류에서 바이너리 특징부(2000)의 포지션의 차이를 비교한다. 바이너리 특징부(2000)에 대한 어레이 내의 포지션이 동일하게 유지되는 경우, 결과는 포지션에서의 최소 변경 가능성을 표현하며 따라서 인증 방법에서의 중요도에 대해 가장 높은 값을 표현하는 0의 값을 반영할 것이다. 23 , a table 2300 shows a sequence conversion process for macroblocks having sizes of 10 x 10, 35 x 35, 20 x 20, 30 x 30, 15 x 15, 40 x 40 and 15 x 15. Examples of the results of Three arrays can be used to create a biometric template. The first array may be a scalar value in a normalized array. The second array may be sorted such that, in this example, the binary feature 2000 with the highest value moves from position 1 to the top of the second array. A third array compares differences in positions of binary features 2000 in the classification instead of scalar values. If the position in the array for the binary feature 2000 remains the same, the result will reflect a value of zero representing the least likelihood of change in the position and thus the highest value for importance in the authentication method. .

이제 도 24를 참조로, 시퀀스를 변환하는 방법(2400)은 식별을 위해 사용되는 가장 고유한 특징부를 식별할 수 있다. Referring now to FIG. 24 , a method 2400 of transforming a sequence may identify a most unique feature used for identification.

블록(2402)에서, 얼굴의 샘플링된 프로파일을 획득한다. 예를 들어, 프로세서(1802) 및/또는 통신 모듈(1825)은 얼굴(1730)의 샘플링된 프로파일을 획득할 수 있다.At block 2402, a sampled profile of the face is obtained. For example, the processor 1802 and/or the communication module 1825 may obtain a sampled profile of the face 1730 .

블록(2404)에서, 각각의 매크로블록/ULBP 결합에 고유 인덱스를 할당한다. 예를 들어, 알고리즘 모듈(1856)은, 각각의 매크로블록/ULBP 결합(예컨대, 매크로블록 30 x 30)에 고유 인덱스(예컨대, 4)를 할당할 수 있고, 스칼라 값이 아닌 얼굴 내의 특성의 고유성에 기초하여 분석할 수 있다.At block 2404, each macroblock/ULBP combination is assigned a unique index. For example, the algorithm module 1856 may assign a unique index (eg, 4) to each macroblock/ULBP combination (eg, macroblock 30×30), the uniqueness of a feature within a face that is not a scalar value. can be analyzed based on

블록(2406)에서, 스키마(schema)에 의해 참조되는 마스터 스키마에서 각각의 매크로블록/ULBP 결합에 대한 스칼라 값의 제1 어레이를 구성한다. 예를 들어, 알고리즘 모듈(1856)은 스키마에 의해 참조되는 마스터 스키마에서 각각의 매크로블록/ULBP 결합에 대한 스칼라 값의 제1 어레이를 구성할 수 있다. 제1 어레이는 그 매크로블록 내에서 그 ULBP에 속하는 픽셀의 수를 포함한다. 픽셀의 LBP를 분석할 때, ECD(1404)는 정상적인 LBP 계산을 수행할 수 있고, 0 내지 255의 값인 히스토그램을 얻을 수 있고, 결과가 가장 높은 값(픽셀을 취하고 그 주위의 8개의 픽셀을 취한 다음, 각각의 픽셀이 상이한 바이너리 값을 갖는 표준적인 LBP 공식)이면, 결과는 1의 값을 받는다. 일부 다른 LBP가 그 픽셀보다 높으면 0의 값을 갖는다.In block 2406, construct a first array of scalar values for each macroblock/ULBP combination in the master schema referenced by the schema. For example, the algorithm module 1856 may construct a first array of scalar values for each macroblock/ULBP combination in the master schema referenced by the schema. The first array contains the number of pixels belonging to that ULBP within the macroblock. When analyzing the LBP of a pixel, the ECD 1404 can perform a normal LBP calculation, obtain a histogram with values between 0 and 255, with the result being the highest value (taking the pixel and taking the 8 pixels around it). Then, if each pixel is a standard LBP formula (with a different binary value), the result is given a value of 1. It has a value of 0 if some other LBP is higher than that pixel.

블록(2408)에서, 매크로블록의 크기에 의해 각각의 스칼라 값을 가중한다. 예를 들어, 알고리즘 모듈(1856)은 매크로블록의 크기(예컨대, 30 x 30)에 의해 각각의 스칼라 값(예컨대, 380)을 가중할 수 있다.At block 2408, each scalar value is weighted by the size of the macroblock. For example, the algorithm module 1856 may weight each scalar value (eg, 380) by the size (eg, 30×30) of the macroblock.

블록(2410)에서 스칼라 값의 제1 어레이를 내림차순으로 분류한다. 예를 들어, 알고리즘 모듈(1856)은, 예를 들어 1에서 2156까지, 내림차순으로 스칼라 값의 제1 어레이의 요소를 분류할 수 있다.In block 2410, the first array of scalar values is sorted in descending order. For example, the algorithm module 1856 may sort the elements of the first array of scalar values in descending order, eg, from 1 to 2156.

블록(2412)에서, 연관된 인덱스를 시퀀스로 변환한다. 예를 들어, 알고리즘 모듈(1856)은 연관된 인덱스를 스칼라 값 대신 데이터 세트의 시퀀스 또는 분류 순서로 변환할 수 있다.At block 2412, transform the associated index into a sequence. For example, the algorithm module 1856 may convert the associated index into a sequence or classification order of the data set instead of a scalar value.

블록(2414)에서, 시퀀스를 시퀀스 어레이의 시작으로부터 1차 인덱스의 거리(mm 측정이 아닌 어레이 포지션의 차이)인, 각각의 고유 인덱스에 대한 스칼라 값을 갖는 제2 어레이로 변환한다. 예를 들어, 알고리즘 모듈(1856)은, 시퀀스를, 현재 2165개의 요소를 갖는 시퀀스 어레이의 시작으로부터 1차 인덱스의 포지션인, 각각의 고유 인덱스에 대한 스칼라 값을 갖는 제2 어레이로 변환할 수 있지만, 각 개인에 대한 데이터에 의존하여 확장될 수 있다.At block 2414, transform the sequence into a second array with a scalar value for each unique index, which is the distance (difference in array position, not in mm measurements) of the primary index from the start of the sequence array. For example, the algorithm module 1856 may transform the sequence into a second array with a scalar value for each unique index, which is the position of the primary index from the start of the sequence array, which currently has 2165 elements, but , can be extended depending on the data for each individual.

도 25를 참조하면, 특정 구현에서, 안면 인식을 정확하게 수행하는 데 요구되는 최소 데이터 세트를 설정하기 위해 전체 데이터 세트에 대해 딥 러닝이 수행될 수 있다. 딥 러닝의 결과는 전체 데이터 세트의 분률(fraction)(예컨대, 1 %, 2 %, 5 %, 10 %, 20 %, 50 %)인 바이너리 특징부의 감소된 데이터 세트일 수 있다. 이 데이터 세트의 각각의 데이터 요소는 전체 LBP 기본 행렬 내부의 단일 값 및 특정 크기 및 위치의 서브-행렬에 의해 정의될 수 있다. 각각의 데이터 요소에는 고유한 숫자 식별자가 할당될 수 있다. 등록 프로세스의 경우, 이 정적 데이터 세트가 각각의 요청자에 대해 사용된다. 각각의 요청자가 자신의 얼굴을 계속 확인하면, 확인 데이터가 수집되고, 딥 러닝을 통해, 각각의 요청자에 대해 새로운 바이너리 특징부의 세트가 생성될 수 있다. 확인 알고리즘에 대한 시퀀스의 도입은, 바이너리 특징부의 이 개별화된 세트의 도입을 허용할 수 있으며, 여전히 상이한 세트 사이의 비교를 허용할 수 있다. 2개의 시퀀스의 매칭은 2개의 어레이의 차이(예컨대, 데이터 세트의 포지션의 차이)를 계산함으로써 달성될 수 있다. 합이 커질수록 매치 품질은 낮아진다. 완벽한 오브젝트 매치는 실질적으로 0의 합을 가질 수 있다.Referring to FIG. 25 , in a specific implementation, deep learning may be performed on the entire data set to establish a minimum data set required to accurately perform facial recognition. The result of deep learning may be a reduced data set of binary features that is a fraction of the entire data set (eg, 1 %, 2 %, 5 %, 10 %, 20 %, 50 %). Each data element of this data set may be defined by a single value within the entire LBP base matrix and a sub-matrix of a particular size and location. Each data element may be assigned a unique numeric identifier. For the registration process, this static data set is used for each requestor. As each requestor continues to verify his or her face, verification data is collected and, through deep learning, a new set of binary features can be generated for each requestor. The introduction of sequences to the validation algorithm may allow the introduction of this individualized set of binary features and still allow comparisons between different sets. Matching of two sequences can be accomplished by calculating the difference between the two arrays (eg, the difference in positions of the data sets). The higher the sum, the lower the match quality. A perfect object match can substantially have a sum of zero.

도 25를 계속 참조하면, 표(2500)는 확인 계산의 예를 예시한다. 시퀀스를 생성하는 첫 번째 단계는 스칼라 값의 크기에 따라 스칼라 어레이를 분류하는 것일 수 있다. 분류는 내림차순으로 수행될 수 있다. 가장 큰 값을 가진 바이너리 특징부 고유 식별이 분류의 최상부에 있다. 이러한 방식으로 분류함으로써, 가장 큰 고유성(가장 큰 스칼라 크기)을 제공하는 바이너리 특징부가 어레이의 최상부에 있다. 분류 후에, 새로운 정렬 포지션은, 그 제3 어레이로 전송되고 새로운 어레이 상의 위치는 바이너리 특징부 고유 식별에 기초한다. 바이너리 특징부 고유 식별자는 분류될 때 2000이며, 포지션 1로 이동한다. 제3 어레이에서, 2000 포지션은 1의 값을 받을 것이다. 이 어레이는 오브젝트에 대한 고유 시퀀스일 수 있고, 오브젝트 확인 및/또는 매칭에 대한 새로운 기초가 된다. With continued reference to FIG. 25 , table 2500 illustrates an example of a validation calculation. The first step in generating the sequence may be to classify the scalar array according to the size of the scalar value. The classification may be performed in descending order. The binary feature unique identification with the largest value is at the top of the classification. By classifying in this way, the binary features that provide the greatest uniqueness (largest scalar size) are at the top of the array. After sorting, the new alignment position is transferred to that third array and the position on the new array is based on the binary feature unique identification. The binary feature unique identifier is 2000 when sorted, and moves to position 1. In the third array, 2000 positions will receive a value of 1. This array can be a unique sequence for an object, and is a new basis for object identification and/or matching.

시퀀스 매칭 알고리즘은, 시퀀스의 시작부에서 각각의 바이너리 특징부 고유 식별의 거리에 의해 매치의 품질을 결정한다. 거리는 시퀀스 어레이 내의 바이너리 특징부 고유 식별의 인덱스 값이며, 여기서 인덱스 값은 순차적으로 할당된다. 이 매칭 계산을 효율적으로 완료하기 위해, 시퀀스 시작부터 각각의 바이너리 특징부의 거리를 포함하는 또 다른 어레이가 생성된다. 예로서, 분류 후에, 1(one)의 고유 식별을 갖는 바이너리 특징부가 분류된 시퀀스의 포지션 10(ten)에 있다. 0이 인덱싱된 새로운 어레이에서, 포지션 1은 10의 값을 가질 것이다. 이러한 방식으로 어레이를 구조화함으로써, 이러한 배열 중 두 어레이 간의 매치를 수행하는 알고리즘은 원래의 알고리즘과 동일한다. 매칭 인덱스를 갖는 값의 차이의 절대 값이 집계되어, 어레이 매치에 대한 단일 값을 생성한다. 더 낮은 값은 더 가까운 매치와 같다. 완벽한 매치는 실질적으로 0 값일 수 있다.The sequence matching algorithm determines the quality of a match by the distance of each binary feature unique identification from the beginning of the sequence. The distance is the index value of the binary feature unique identification within the sequence array, where the index values are assigned sequentially. To efficiently complete this matching calculation, another array is created containing the distance of each binary feature from the beginning of the sequence. As an example, after classification, a binary feature with a unique identification of one is at position ten of the sorted sequence. In a new array indexed by 0, position 1 will have a value of 10. By structuring the array in this way, the algorithm for performing a match between two of these arrays is identical to the original algorithm. The absolute value of the difference of values with matching indexes is aggregated to produce a single value for the array match. A lower value equals a closer match. A perfect match may be a substantially zero value.

시퀀스 어레이를 도입함으로써, 매칭 알고리즘이 확장될 수 있다. 시퀀스 어레이는 제2 어레이이고 스칼라 어레이는 제1 어레이(블록 크기에 대해 정규화됨)이다. 확장가능함(extensible)은, 바이너리 특징부의 고정된 목록이 이제, 매칭 오브젝트의 프로세스를 최적화하는 동시에 매칭 프로세스 무결성을 또한 개선하기 위해 요구되는 대로, 확장 및 축소될 수 있음을 나타낼 수 있다. 이 구현에서, 시퀀스 어레이는, 에지 장치의 환경 및 인가된 특정 개별 얼굴에 기초한 2개의 별도의 딥 러닝 기능에 기초하여 동적으로 조정될 수 있다. 제1 기능은, 바이너리 특징부의 개별 목록의 전개 이전에 일부 또는 모든 오브젝트 매칭 시도에 적용되는 바이너리 특징부의 디폴트 목록을 지속적으로 최적화하려고 노력할 수 있다. 제2 기능은, 개별 오브젝트에 대한 이미지 데이터를 집계하고, 시간이 지남에 따라 얼굴에 대한 바이너리 특징부의 최적화된 목록을 전개할 수 있다. 바이너리 특징부의 개별화된 목록이 인입 오브젝트 이미지 데이터에 대한 병렬 오브젝트 매칭 특성을 통해 바이너리 특징부의 디폴트 목록의 매칭 성능을 초과하면, 바이너리 특징부의 디폴트 목록은 라이브 오브젝트 매칭 기능으로 그 오브젝트에 대한 바이너리 특징부의 개별화된 목록으로 대체될 수 있다.By introducing a sequence array, the matching algorithm can be extended. The sequence array is the second array and the scalar array is the first array (normalized to block size). Extensible may indicate that the fixed list of binary features can now be expanded and contracted as desired to optimize the process of the matching object while also improving the matching process integrity. In this implementation, the sequence array can be dynamically adjusted based on two separate deep learning functions based on the environment of the edge device and the specific individual face applied. A first function may continually try to optimize a default list of binary features that is applied to some or all object matching attempts prior to deployment of the individual list of binary features. A second function may aggregate image data for individual objects and develop an optimized list of binary features for faces over time. If the personalized list of binary features exceeds the matching performance of the default list of binary features via the parallel object matching feature to incoming object image data, then the default list of binary features is personalized with the live object matching function for that object. can be replaced by a list.

특정 구현에서, 두 프로세스 모두에 대한 딥 러닝 엔진은 라이브 오브젝트/얼굴 매칭 기능과 병렬로 샘플 데이터를 수신할 수 있다. 이미지 데이터가 수신될 때, 여기에는 바이너리 특징부의 2개의 목록이 적용될 수 있다. 제1 목록은 축소된 바이너리 특징부의 디폴트 또는 개별화된 목록일 수 있다. (예컨대, 10 x 10 매크로블록의 100개 중 가장 중요한 3개의 블록). 이 목록의 애플리케이션의 출력은 라이브 매칭 프로세스에서 사용될 수 있다. 제2 목록은 각각의 ULBP에 대한 가능한 이미지 포지션에 적용되는 모든 가능한 매크로블록 크기(예컨대, 10 x 10 매크로블록 내의 모든 100개)를 포함하는 바이너리 특징부의 전체 목록일 수 있다. 바이너리 특징부의 완전한 목록은, 예를 들어, 바이너리 특징부의 디폴트 또는 개별화된 목록의 크기의 20배일 수 있다. 딥 러닝 엔진은 시스템 내로 수신된 각각의 오브젝트 이미지에 대한 바이너리 특징부의 완전한 목록에서 유도되는 시퀀스를 수신할 수 있다. 바이너리 특징부 딥 러닝 프로세스의 디폴트 목록의 경우, 이미지는 훈련 및 입증 세트로 카테고리화될 수 있다. 학습 중인 오브젝트와 상이한 오브젝트를 포함하는, 독립적인 디폴트 테스트 세트가 생성될 수 있다. 바이너리 특징부의 개별화된 목록의 경우, 바이너리 특징부의 디폴트 또는 기존 개별화된 목록에 의해 식별되는 각각의 오브젝트는 훈련, 입증 및 테스트 세트에 배치될 것이다. 모든 다른 오브젝트의 목록은 확인 및 테스트 세트에 배치될 수 있다. In certain implementations, the deep learning engine for both processes may receive sample data in parallel with the live object/face matching function. When image data is received, two lists of binary features may be applied to it. The first list may be a default or customized list of reduced binary features. (eg, the 3 most significant blocks out of 100 of 10 x 10 macroblocks). The output of the applications in this list can be used in the live matching process. The second list may be a full list of binary features including all possible macroblock sizes (eg, all 100 in 10 x 10 macroblocks) that apply to possible image positions for each ULBP. The complete list of binary features may be, for example, 20 times the size of the default or customized list of binary features. The deep learning engine may receive a sequence derived from a complete list of binary features for each object image received into the system. For the default list of binary feature deep learning processes, images can be categorized into training and validation sets. An independent set of default tests can be created, including objects different from the object being trained. For a personalized list of binary features, each object identified by the default or existing personalized list of binary features will be placed into a training, validation and test set. A list of all other objects can be placed in the validation and test set.

바이너리 특징부의 디폴트 오브젝트 목록과 바이너리 특징부의 각각의 개별 목록에 대한 딥 러닝 훈련 세션은 오브젝트 검출 시스템으로부터의 각각의 새로운 라이브 엔트리에 대해 실행될 수 있다. A deep learning training session for a default object list of binary features and each individual list of binary features may be run for each new live entry from the object detection system.

일단 눈 검출 알고리즘이 눈의 위치를 찾으면, 데이터의 얼굴 행렬이 안면 인식 알고리즘으로 전송된다. 딥 러닝 알고리즘이 바이너리 특징부의 특정 목록을 전개했다면, 시스템의 모든 사용자에 대한 이들 바이너리 특징부의 집계 목록이 생성되어 시퀀스를 생성하는 데 사용될 수 있다. 그렇지 않으면, 바이너리 특징부의 디폴트 세트를 사용하여 시퀀스가 생성될 수 있다. 시퀀스는, 매칭 프로세스가 시퀀스의 동일성을 결정할 수 있는 확인 알고리즘으로 전송될 수 있다. 신원이 설정되면, 바이너리 특징부의 전체 목록(전체 LBP 히스토그램을 갖는 모든 서브-행렬)이 생성되고 딥 러닝 알고리즘의 그 신원 데이터 세트로 전송될 수 있다. 딥 러닝 알고리즘은 그 신원에 대해 이용가능한 데이터 세트를 처리하고(세트는 각각의 확인에 따라 계속 증가할 수 있음) 그 신원에 대한 수정된 최적 데이터 세트를 생성할 수 있다. 최적화된 데이터 세트는 시퀀스로 변환되어 그 사용자에 대한 다음 확인 프로세스에 사용될 수 있다. 동시에, 다음 얼굴 행렬을 변환하기 위해 필요한 경우, 바이너리 특징부의 집계 세트가 업데이트될 수 있다. 확인 프로세스는 장치의 로컬 클러스터 내에 있지만, 딥 러닝 알고리즘은 로컬 및 글로벌 클러스터 둘 다에서 백그라운드 업무로서 발생할 수 있다.Once the eye detection algorithm locates the eye, a face matrix of data is sent to the face recognition algorithm. Once the deep learning algorithm has developed a specific list of binary features, an aggregated list of these binary features for all users of the system can be generated and used to generate sequences. Otherwise, the sequence may be generated using a default set of binary features. The sequence may be sent to a verification algorithm where the matching process may determine the sequence's identity. Once the identity is established, a full list of binary features (all sub-matrices with full LBP histograms) can be generated and sent to that identity data set of the deep learning algorithm. A deep learning algorithm may process the available data sets for that identity (the set may continue to grow with each verification) and generate a modified optimal data set for that identity. The optimized data set can be converted into a sequence and used in the next verification process for that user. At the same time, the aggregated set of binary features can be updated as needed to transform the next face matrix. While the verification process is within a local cluster of devices, deep learning algorithms can occur as background tasks in both local and global clusters.

훈련 세션의 결과가 바이너리 특징부의 목록을 정제(refine)함에 따라, 개별 목록은 라이브 확인/매칭 프로세스에서 업데이트될 수 있다. 그 결과는, 전체 오브젝트 모집단과 각각의 오브젝트의 특정한 고유한 특성 둘 다를 자동으로 조정할 수 있는 매칭 시스템일 수 있다. 오브젝트 데이터의 진화는 작은 솔루션(<1,000)과 동일한 정밀도를 가질 수 있는 100,000개가 넘는 오브젝트의 대규모 오브젝트 매칭 솔루션을 허용할 것이다.As the results of the training session refine the list of binary features, the individual lists can be updated in the live verification/matching process. The result may be a matching system that can automatically adjust both the entire population of objects and the specific unique characteristics of each object. The evolution of object data will allow large-scale object matching solutions of over 100,000 objects that can have the same precision as small solutions (<1,000).

이제 도 26을 참조하면, 딥 러닝 프로세스(2600)의 예는 식별 프로세스를 정제하기 위해 피드백 루프 및 머신 러닝에 의존할 수 있다.Referring now to FIG. 26 , an example of a deep learning process 2600 may rely on a feedback loop and machine learning to refine the identification process.

블록(2602)에서, 이미지 행렬을 획득한다. 예를 들어, 프로세서(1802) 및/또는 통신 모듈(1825)은 얼굴(1730)의 샘플링된 프로파일을 획득할 수 있다.At block 2602, an image matrix is obtained. For example, the processor 1802 and/or the communication module 1825 may obtain a sampled profile of the face 1730 .

블록(2604)에서, 얼굴 특정 매크로블록/ULBP가 이용가능한지를 결정한다. 예를 들어, 알고리즘 모듈(1856)은 얼굴 특정 매크로블록/ULBP가 이용가능한지를 결정할 수 있다.At block 2604 , it is determined whether face specific macroblocks/ULBPs are available. For example, the algorithm module 1856 may determine whether a face specific macroblock/ULBP is available.

블록(2606)에서, 바이너리 특징부의 커스텀 목록이 이용가능하지 않다면, 이미지를 바이너리 특징부의 얼굴 일반 검출 목록(face generic detection list)으로 변환한다. 예를 들어, 알고리즘 모듈(1856)은, 커스텀 목록이 이용 가능하지 않다면, 이미지를 바이너리 특징부의 얼굴 일반/디폴트 검출 목록으로 변환할 수 있다.At block 2606 , if a custom list of binary features is not available, convert the image to a face generic detection list of binary features. For example, the algorithm module 1856 may convert the image to a face generic/default detection list of binary features if a custom list is not available.

블록(2608)에서, 얼굴 검출 디폴트 시퀀스를 획득한다. 예를 들어, 알고리즘 모듈(1856)은 매크로블록이 이용 가능하지 않다면, 얼굴 검출 디폴트 시퀀스를 획득할 수 있다.At block 2608, a face detection default sequence is obtained. For example, the algorithm module 1856 can obtain a face detection default sequence if no macroblock is available.

블록(2610)에서, 바이너리 특징부의 커스텀 목록이 이용 가능하면, 이미지를 바이너리 특징부의 얼굴 검출 특정 목록으로 변환한다. 예를 들어, 알고리즘 모듈(1856)은, [원래 2156 일 수 있거나 또는 그 개인에 기초한 모든 새로운 것(예컨대, 그 특정 개인에게 더욱 뚜렷한 10개의 추가 10 x 10)일 수 있는] 바이너리 특징부의 커스텀 목록이 이용가능한 경우, 이미지를 바이너리 특징부의 얼굴 검출 특정 목록으로 변환할 수 있다.At block 2610 , if a custom list of binary features is available, convert the image to a face detection specific list of binary features. For example, the algorithm module 1856 provides a custom list of binary features (which may be the original 2156 or all new based on that individual (eg, 10 additional 10 x 10 more distinct to that particular individual). If this is available, it can transform the image into a face detection specific list of binary features.

블록(2612)에서, 얼굴 검출을 수행한다. 예를 들어, 알고리즘 모듈(1856)이 얼굴 검출을 수행할 수 있다.At block 2612, face detection is performed. For example, the algorithm module 1856 may perform face detection.

블록(2614)에서, 눈 검출 및 위치 찾기를 수행한다. 예를 들어, 알고리즘 모듈(1856)이 눈 검출 및 위치 찾기를 수행할 수 있다.At block 2614 , eye detection and locating is performed. For example, the algorithm module 1856 may perform eye detection and localization.

블록(2616)에서, 이미지를 바이너리 특징부의 전체 목록으로 변환한다. 예를 들어, 알고리즘 모듈(1856)은 이미지를 바이너리 특징부의 전체 목록으로 변환할 수 있다. (단지 57개가 아니라, 10 x 10의 모두 100개의 매크로블록, 그리고 모든 값 포함). 텐서 플로우(tensor flow)는 GoogleTM에 의해 제공되는 딥 러닝 엔진 프레임워크이다. 텐서 플로우에 대한 방정식 및 알고리즘은 해당 기술 분야에 잘 알려져 있다.At block 2616, transform the image into a full list of binary features. For example, the algorithm module 1856 can transform the image into a full list of binary features. (not just 57, but all 100 macroblocks of 10 x 10, plus all values). Tensor flow is a deep learning engine framework provided by Google TM . Equations and algorithms for TensorFlow are well known in the art.

블록(2618)에서, 텐서 플로우 딥 러닝을 사용하여 바이너리 특징부의 얼굴 검출 목록을 전개한다. 예를 들어, 알고리즘 모듈(1856)이 텐서 플로우 딥 러닝을 사용하여 바이너리 특징부의 얼굴 검출 목록을 전개할 수 있다.At block 2618 , TensorFlow deep learning is used to develop a face detection list of binary features. For example, the algorithm module 1856 can develop a face detection list of binary features using TensorFlow deep learning.

블록(2620)에서, 얼굴 검출 정제 시퀀스를 피드백한다. 예를 들어, 알고리즘 모듈(1856)은 얼굴 검출 정제 시퀀스를 피드백할 수 있다. 특징부의 목록을 정제하기 위해, ECD(1404)는 전체 특징부 세트를 취하고, 얼굴에 대한 모든 데이터를 수집하고, 디폴트 세트를 대체하는 새로운 정제된 세트를 유도할 수 있다. 2개 세트 내에서 바이너리 특징부의 포지션 사이의 거리 계산이 메트릭(metrics)으로서 사용될 수 있다. 각각의 모든 특징부는 매번 동일한 포지션일 수 있다. 얼굴 데이터가 나아질수록, 얼굴 대 얼굴 비교는 작아질 것이고, 이 얼굴과 다른 모든 얼굴의 차이는 커질 것이다.At block 2620, the face detection refinement sequence is fed back. For example, the algorithm module 1856 may feed back a face detection refinement sequence. To refine the list of features, ECD 1404 may take the entire feature set, collect all data for the face, and derive a new refined set that replaces the default set. The calculation of the distance between the positions of the binary features within the two sets may be used as metrics. Each and every feature may be in the same position every time. The better the face data, the smaller the face-to-face comparison will be, and the bigger the difference between this face and all other faces will be.

이제 도 27을 참조하면, 도 26에 도시된 딥 러닝 프로세스(2600)의 예는 식별 프로세스를 정제하기 위해 피드백 루프 및 머신 러닝에 의존할 수 있다. 특히 클라우드 상의 중앙 서버(단일 중앙 서버에서 동작하는 텐서 플로우 단일 애플리케이션)에 저장되는 경우 해킹 대상이 되는 딥 러닝 데이터의 중앙집중화 프로세스 대신, 본 개시는 분산식 아키텍처에서 텐서 플로우을 사용하여, 하나의 중앙 서버에 저장되기 보다 모든 개별 장치 상에서 개인 정보가 보호되는 각각의 판독기에서 평가할 수 있다.Referring now to FIG. 27 , the example deep learning process 2600 shown in FIG. 26 may rely on a feedback loop and machine learning to refine the identification process. In particular, instead of the centralized process of deep learning data, which is a target of hacking when stored in a central server on the cloud (TensorFlow single application running on a single central server), the present disclosure uses TensorFlow in a distributed architecture, one central server Rather than being stored in , it can be evaluated at each reader, which protects privacy on every individual device.

블록(2614)에서, 눈 검출 및 위치 찾기를 수행한다. 예를 들어, 알고리즘 모듈(1856)은 눈 검출 및 위치찾기를 수행할 수 있다.At block 2614 , eye detection and locating is performed. For example, the algorithm module 1856 may perform eye detection and localization.

블록(2702)에서, 바이너리 특징부의 얼굴 검출 특정 목록을 획득한다. 예를 들어, 알고리즘 모듈(1856)은 매크로블록이 이용 가능한 경우 바이너리 특징부의 얼굴 검출 특정 목록을 획득할 수 있다.At block 2702 , a face detection specific list of binary features is obtained. For example, the algorithm module 1856 can obtain a face detection specific list of binary features when macroblocks are available.

블록(2704)에서, 바이너리 특징부의 안면 인식 디폴트 목록을 획득한다. 예를 들어, 알고리즘 모듈(1856)은, 그 개인에 대한 바이너리 특징부의 특정 목록이 이용가능하지 않은 경우, 이미지를 바이너리 특징부의 얼굴 일반 검출 목록으로 이미지를 변환할 수 있다.At block 2704, obtain a facial recognition default list of binary features. For example, the algorithm module 1856 may convert the image to a face generic detection list of binary features if a specific list of binary features for that individual is not available.

블록(2706)에서, 바이너리 특징부의 얼굴 특정 목록이 이용가능한지 결정한다. 예를 들어, 알고리즘 모듈(1856)은 바이너리 특징부의 얼굴 특정 목록이 이용가능한지 결정할 수 있다. 바이너리 특징부의 커스텀 목록은 원래의 2156을 포함할 수 있거나 그 개인을 기초로 하는 모든 새로운 것일 수 있다(예컨대, 그 특정 개인에 대해 더 뚜렷한 10개의 추가 10 x 10).At block 2706 , it is determined whether a face specific list of binary features is available. For example, the algorithm module 1856 can determine whether a face-specific list of binary features is available. The custom list of binary features may contain the original 2156 or be all new based on that individual (eg, 10 additional 10 x 10 more distinct for that particular individual).

블록(2708)에서, 바이너리 특징부의 특정 목록이 이용가능하지 않다면, 이미지를 바이너리 특징부의 얼굴 일반 목록으로 변환한다. 예를 들어, 알고리즘 모듈(1856)은 바이너리 특징부의 얼굴 특정 목록이 이용 가능하지 않은 경우 이미지를 바이너리 특징부의 얼굴 일반 목록으로 변환할 수 있다.At block 2708 , if the specific list of binary features is not available, convert the image to a face generic list of binary features. For example, the algorithm module 1856 can convert the image to a face generic list of binary features when a face specific list of binary features is not available.

블록(2710)에서, 바이너리 특징부의 얼굴 특정 목록이 이용가능하면, 이미지를 바이너리 특징부의 얼굴 특정 목록으로 변환한다. 예를 들어, 알고리즘 모듈(1856)은, 바이너리 특징부의 얼굴 특정 목록이 이용 가능한 경우, 이미지를 바이너리 특징부의 얼굴 특정 목록으로 변환할 수 있다.At block 2710, if a face-specific list of binary features is available, convert the image to a face-specific list of binary features. For example, the algorithm module 1856 may convert the image to a face-specific list of binary features if a face-specific list of binary features is available.

블록(2712)에서, 바이너리 특징부의 목록을 시퀀스로 변환한다. 예를 들어, 알고리즘 모듈(1856)은 바이너리 특징부의 목록을 시퀀스로 변환할 수 있다.At block 2712, transform the list of binary features into a sequence. For example, the algorithm module 1856 can convert a list of binary features into a sequence.

블록(2714)에서 확인을 수행한다. 예를 들어, 알고리즘 모듈(1856)은 확인을 수행할 수 있다.At block 2714, a verification is performed. For example, the algorithm module 1856 may perform the verification.

블록(2716)에서, 이미지를 바이너리 특징부의 전체 목록으로 변환한다. 예를 들어, 알고리즘 모듈(1856)은 이미지를 바이너리 특징부의 전체 목록으로 변환할 수 있다.At block 2716, transform the image into a full list of binary features. For example, the algorithm module 1856 can transform the image into a full list of binary features.

블록(2718)에서, 텐서 플로우 딥 러닝을 사용하여 바이너리 특징부의 얼굴 특정 목록을 전개한다. 예를 들어, 알고리즘 모듈(1856)은 텐서 플로우 딥 러닝을 사용하여 바이너리 특징부의 얼굴 특정 목록을 전개할 수 있다. (LBP에서 전형적인 57개가 아니라, 10 x 10의 모두 100개의 매크로블록, 그리고 모든 값을 포함함). 텐서 플로우는 GoogleTM 에 의해 제공되는 딥 러닝 엔진 프레임워크이다. 텐서 플로우에 대한 방정식 및 알고리즘은 해당 기술 분야에 잘 알려져 있다.At block 2718 , TensorFlow deep learning is used to develop a face-specific list of binary features. For example, the algorithm module 1856 can develop a face-specific list of binary features using TensorFlow deep learning. (Not the typical 57 in LBP, but all 100 macroblocks of 10 x 10, including all values). TensorFlow is a deep learning engine framework provided by Google TM . Equations and algorithms for TensorFlow are well known in the art.

일부 예에서, 게이트웨이(1402) 및/또는 ECD(1404)는 확인 프로세스 동안 "일관성-충돌"을 식별하고 감소시키기 위해 사전 조치 알고리즘을 포함할 수 있다. "일관성-충돌"은, 한 명 이상의 요청자가 확인에서 실수(즉, 잘못된 수락 또는 잘못된 거부)를 유발하는 고유한 안면 데이터를 가질 때 발생할 수 있다. 게이트웨이(1402) 및/또는 ECD(1404)는 아래에서 설명되는 본 개시의 2개의 방법을 사용하여 사전 조치식으로 잠재적인 "일관성-충돌"을 찾을 수 있다.In some examples, gateway 1402 and/or ECD 1404 may include proactive algorithms to identify and reduce “consistency-conflicts” during the validation process. A "consistency-conflict" can occur when more than one requestor has unique facial data that causes a mistake in the verification (ie, false accept or false reject). Gateway 1402 and/or ECD 1404 can proactively look for potential “consistency-conflicts” using the two methods of the present disclosure described below.

'레이어드 보강' 알고리즘은 요청자가 안면 데이터에 대한 바이너리 트리 구조를 생성하도록 허용할 수 있다. 바이너리 데이터는, 데이터 포인트의 고유성에 기초하여 데이터 포인트의 계층(예컨대, LBP 스트링)을 생성할 수 있다. 고유성이 클수록 트리 상에서 더 높아진다. 모든 확인 트랜잭션(verification transaction)은 ECD(1404)로부터 게이트웨이(1402)로 바이너리 안면 데이터의 전송을 초래할 수 있다. 게이트웨이(1402)가 바이너리 안면 데이터를 수신한 때, 저장된 다른 요청자(1450)의 데이터에 대해, 새로운 데이터의 바이너리 트리 구조의 고유성을 다시 체크하기 시작할 수 있다. 잠재적인 충돌을 식별할 때, 게이트웨이(1402)는 두 명의 식별된 요청자(1450) 사이의 확인 트랜잭션을 게이트웨이(1404)로 단계적으로 상승(escalate)시키도록 ECD(1404)에 통지할 수 있다. 게이트웨이(1404)가 단계적으로 상승된 트랜잭션을 수신할 때, 데이터에 대해 2개의 고급 알고리즘(즉, 사전조치 충돌 식별 알고리즘 및 시간-도메인 트렌딩 알고리즘)을 수행할 수 있다. 바이너리 트리는 가장 뚜렷한 특징부를 취하고 가장 뚜렷한 것과 가장 덜 뚜렷한 것에 기초하여 계층을 설정할 수 있다. 우선순위화 트리(Prioritized tree)는 2165가 아닌 20에 기초하여 분석을 줄이고, 시간 및 컴퓨팅/프로세싱을 절약할 수 있다. 가장 뚜렷한 특징부로부터의 트리의 분기에 기초하여, ECD(1404)가 모든 2165 특징부를 거치지 않고, 이것이 그 사람인지 아닌지를 결정하는 것을 허용한다. 임계치는 경험적일 수 있고 테스트로부터 유도될 수 있다.A 'layered enrichment' algorithm may allow the requestor to create a binary tree structure for facial data. Binary data may create a hierarchy of data points (eg, LBP strings) based on the uniqueness of the data points. The greater the uniqueness, the higher it is in the tree. Every verification transaction may result in the transfer of binary facial data from ECD 1404 to gateway 1402 . When the gateway 1402 receives the binary facial data, it may start checking again the uniqueness of the binary tree structure of the new data against the stored data of the other requestor 1450 . Upon identifying a potential conflict, gateway 1402 may notify ECD 1404 to escalate a confirmation transaction between two identified requestors 1450 to gateway 1404 . When gateway 1404 receives the escalated transaction, it may perform two advanced algorithms on the data (ie, a proactive conflict identification algorithm and a time-domain trending algorithm). A binary tree can take the most distinct features and establish a hierarchy based on the most distinct and the least distinct. A Prioritized tree can reduce analysis based on 20 instead of 2165, saving time and computing/processing. Based on the branching of the tree from the most distinct feature, it allows the ECD 1404 to determine whether it is the person or not, without going through all 2165 features. The threshold may be empirical and may be derived from testing.

제1 고급 알고리즘인, 사전조치 충돌 식별 알고리즘은 바이너리 트리 데이터를 취해 바이너리 트리에서의 위치에 기초하여 안면 데이터를 분석할 수 있다. 바이너리 트리 데이터에 가중치가 부여될 수 있다. 바이너리 데이터의 가중화가 데이터의 충분한 차별화(differentiation)를 산출하지 않는 경우, 게이트웨이(1402)는 적절한 차별화 데이터를 찾기 위해 확인 프로세스를 확장할 수 있다.A first advanced algorithm, a proactive conflict identification algorithm, may take binary tree data and analyze the facial data based on its location in the binary tree. Binary tree data may be weighted. If the weighting of the binary data does not yield sufficient differentiation of the data, the gateway 1402 may extend the verification process to find the appropriate differentiation data.

일부 구현에서, 요청자의 안면 특징은 지속적으로 변할 수 있다. 요청자(1450)의 얼굴(1730)과 같은 얼굴의 생체 인식 데이터가 정적으로 유지되는 경우, 얼굴의 식별은 궁극적으로 잘못된 거부를 일으킬 수 있으며, 얼굴(1730)의 재등록을 필요로 할 수 있다. 생체 인식 데이터에 대한 동적 조정이 지속적으로 적용될 수 있고, 알고리즘은 제안된 변화가 생체 인식 데이터에 상이한 얼굴을 도입하여 얼굴(17303)에 대한 잘못된 수락을 초래하지 않는지를 결정할 수 있다. 생체 인식 데이터가 반복될 때마다, 알고리즘은 요청자(1450)의 그 다음 성공적인 식별을 보장하기 위해 보유할 생체 인식 데이터의 양 및 요청자(1450)의 장기적인 식별을 보장하기 위해 변경할 양을 결정해야 한다. 결정은, 선형성을 보장하기 위해 변화가 회귀되는 시간-영역 분석 및 변화의 영역이 합리적인지를 결정하기 위한 안면 구역 분석의 조합에 의해 이루어질 수 있다.In some implementations, the requestor's facial characteristics may change continuously. If biometric data of a face, such as face 1730 of requestor 1450 , remains static, identification of the face may ultimately lead to false rejections and may require re-registration of face 1730 . Dynamic adjustments to the biometric data may be continuously applied, and the algorithm may determine if the proposed change does not introduce a different face in the biometric data resulting in false acceptance of face 17303 . Each iteration of the biometric data, the algorithm must determine the amount of biometric data to retain to ensure the next successful identification of the requestor 1450 and the amount to change to ensure long-term identification of the requestor 1450 . The determination may be made by a combination of time-domain analysis over which changes are regressed to ensure linearity and facial zone analysis to determine if the domain of change is reasonable.

이 동적 데이터 능력의 사용은, 두 번째 알고리즘인 시간-도메인 트렌딩 알고리즘으로 이어진다. 게이트웨이(1402)는 요청자(1450)의 바이너리 데이터의 이력을 유지하고, 요청자(1450)의 바이너리 데이터의 이력을 얼굴(1730) 및 이들 특징부가 변하는 속도와 비교할 때 어떤 특징부가 변하고 있는지 평가하기 위해 데이터의 시간-도메인 기반 분석을 수행할 수 있다. 게이트웨이(1402)는 얼굴의 진화를 추적할 수 있고 이 데이터를 사용하여 요청자(1450)의 얼굴(1730)에서 식별된 고유한 차이를 외삽하고 보강하여, 핵심 특징부 또는 기준 특징부를 설정하고 후에 강조하고 얼굴(1730)에 대한 이들 핵심 특징부의 변화율을 평가할 수 있다. 그런 후, 게이트웨이(1402)는, 시간-도메인 기반 분석을 사용하여, 이들 변화가 얼굴(1730)의 자연적 변화를 제안하도록 일정 시간 기간에 걸쳐서 발생하는지, 추가적인 분석을 보증하는 얼굴(1730)의 인위적인 변화인지, 또는 얼굴(1730)과 요청자(1450)의 바이너리 데이터의 이력이 미스매치인지를 결정하다. 게이트웨이(1402)는 고유한 차이를 식별할 수 있고, 확인 요청에서 식별된 차이가 시간 경과에 따른 추세와 일치하는지 확인할 수 있다. 일부 구현에서, 게이트웨이(1402)는 시간-도메인 트렌딩 알고리즘에서 요청자(1450)의 라이프스타일 및 일상적 루틴을 고려할 수 있다. 예를 들어, 요청자(1450)가 야외 활동을 즐기는 경우, 알고리즘은 여름철 동안의 증가된 태닝을 고려할 수 있다. 시간-도메인 트렌딩 알고리즘과 결합된 사전조치 충돌 식별 알고리즘은 본 발명의 이 실시예의 방법이 큰 모집단 '1 : N' 솔루션에서 높은 성능을 유지하는 것을 허용한다.The use of this dynamic data capability leads to the second algorithm, the time-domain trending algorithm. Gateway 1402 maintains a history of requestor 1450's binary data, and compares the history of requestor 1450's binary data to face 1730 and the rate at which these features change to evaluate which features are changing. time-domain based analysis of The gateway 1402 can track the evolution of the face and use this data to extrapolate and augment the unique differences identified in the face 1730 of the requestor 1450 to establish key or reference features and later highlight them. and evaluate the rate of change of these key features for face 1730 . The gateway 1402 then uses time-domain based analysis to determine whether these changes occur over a period of time to suggest natural changes in the face 1730 , assuring further analysis of the artificial intelligence of the face 1730 . It is determined whether it is a change or whether the history of the binary data of the face 1730 and the requestor 1450 does not match. Gateway 1402 may identify unique differences and verify that the differences identified in the confirmation request are consistent with trends over time. In some implementations, gateway 1402 may take into account the lifestyle and routine routines of requestor 1450 in a time-domain trending algorithm. For example, if requestor 1450 enjoys outdoor activities, the algorithm may consider increased tanning during the summer months. The proactive conflict identification algorithm combined with the time-domain trending algorithm allows the method of this embodiment of the present invention to maintain high performance in large population '1:N' solutions.

일부 구현에서, 시간-도메인 트렌딩 알고리즘은 생체 인식 데이터의 시간 경과에 따른 변화를 시간 경과에 따른 변화를 특징짓는 하나 이상의 방정식(예컨대, 커브 피팅 알고리즘)으로 감소시킬 수 있다. 시간 경과에 따른 하나 이상의 방정식의 선형성은 변화의 무결성을 결정할 수 있다. 변화의 특정 영역이 이산 함수로 표현된다면, 변화는 잠재적 위협(예컨대, 가장, 부정확한 매치)으로 표시될 수 있다.  변화는 또한 얼굴 상의 픽셀 박스의 물리적 위치에 기초하여 평가될 수도 있다. 위치는 얼굴의 그 영역의 변화의 확률에 기초하여 가중치가 부여될 수 있다. 낮은 확률 변화 영역에서의 중대한 변화는 잠재적인 위협으로 표시될 것이다.In some implementations, the time-domain trending algorithm may reduce the change over time of the biometric data to one or more equations (eg, a curve fitting algorithm) that characterize the change over time. The linearity of one or more equations over time may determine the integrity of the change. If a particular domain of change is expressed as a discrete function, then the change can be represented as a potential threat (eg, spurious, incorrect match). The change may also be evaluated based on the physical location of the pixel box on the face. Positions may be weighted based on the probability of a change in that region of the face. Significant changes in the area of low probability change will be marked as potential threats.

이제 도 28을 참조하면, 상기 도면을 참조하여, 일부 구현에서, 생체 인식 템플릿을 구성하는 방법(2800)이 ECD(1404)에 의해 수행될 수 있다.Referring now to FIG. 28 , with reference to the figure, in some implementations, a method 2800 of constructing a biometric template may be performed by the ECD 1404 .

선택적인 구현에서, 방법(2800)은 등록 프로세스를 수행할 수 있다. 등록 프로세스는 얼굴(1730)의 복수의 이미지(예컨대, 5, 10, 15, 20, 30, 50)를 캡처하는 ECD(1404)를 포함할 수 있다. ECD(1404)는 상술된 바와 같이 복수의 이미지를 생체 인식 데이터로 변환할 수 있다.In an optional implementation, method 2800 may perform a registration process. The registration process can include the ECD 1404 capturing a plurality of images (eg, 5, 10, 15, 20, 30, 50) of the face 1730 . The ECD 1404 may convert the plurality of images into biometric data as described above.

블록(2802)에서, 입사된 비가시광을 방출한다. 예를 들어, 조명원(1704)은 입사된 비가시광을 방출할 수 있다. 비가시광은 근적외선(near IR) 또는 UV를 포함할 수 있다. 일부 구현에서, 조명원(1704)은 가시광을 방출할 수 있다.At block 2802, the incident invisible light is emitted. For example, the illumination source 1704 may emit incident invisible light. Invisible light may include near IR or UV. In some implementations, the illumination source 1704 can emit visible light.

블록(2804)에서, 검출된 비가시광을 검출하고, 검출된 비가시광은 반사된 비가시광 및 방사된 비가시광을 포함한다. 예를 들어, 광학 센서(1702)는 검출된 비가시광을 검출할 수 있고, 검출된 비가시광은 반사된 비가시광 및 방사된 비가시광을 포함한다. 일부 구현에서, 광학 센서(1702)는 요청자(1450)의 얼굴(1730)로부터 반사되는 IR 광 및/또는 요청자(1450)의 열로 인해 방사되는 IR 광을 검출할 수 있다.At block 2804, detected invisible light is detected, wherein the detected invisible light includes reflected invisible light and emitted invisible light. For example, the optical sensor 1702 may detect detected invisible light, wherein the detected invisible light includes reflected invisible light and emitted invisible light. In some implementations, optical sensor 1702 can detect IR light reflected from face 1730 of requestor 1450 and/or IR light emitted due to heat of requestor 1450 .

블록(2806)에서, 검출된 비가시광과 연관된 복수의 특징 값을 갖는 복수의 샘플링 포인트를 포함하는 샘플링된 프로파일을 생성한다. 예를 들어, 알고리즘 모듈(1856)은, 검출된 비가시광과 연관된 복수의 특징 값을 갖는 복수의 샘플링 포인트를 포함하는, 샘플링된 프로파일(2000)과 같은, 샘플링된 프로파일을 생성할 수 있다.At block 2806 , a sampled profile is generated that includes a plurality of sampling points having a plurality of feature values associated with the detected invisible light. For example, the algorithm module 1856 can generate a sampled profile, such as sampled profile 2000 , that includes a plurality of sampling points having a plurality of feature values associated with the detected invisible light.

블록(2808)에서, 각각 복수의 샘플링 포인트의 서브세트를 포함하는 하나 이상의 매크로블록을 식별한다. 예를 들어, 알고리즘 모듈(1856)은 각각 복수의 샘플링 포인트의 서브세트를 포함하는 하나 이상의 매크로블록을 식별할 수 있다. 하나 이상의 매크로블록은 10 x 10 매크로블록, 15 x 15 매크로블록, 20 x 20 매크로블록, 30 x 30 매크로블록, 35 x 35 매크로블록 및 40 x 40 매크로블록일 수 있다. 다른 크기도 가능하다. 일부 구현에서, ECD(1404)는 2165개의 연관된 차원을 갖는 2165개의 매크로블록을 식별할 수 있다.At block 2808 , one or more macroblocks each comprising a subset of a plurality of sampling points are identified. For example, the algorithm module 1856 can identify one or more macroblocks each comprising a subset of a plurality of sampling points. The one or more macroblocks may be 10×10 macroblocks, 15×15 macroblocks, 20×20 macroblocks, 30×30 macroblocks, 35×35 macroblocks, and 40×40 macroblocks. Other sizes are also possible. In some implementations, ECD 1404 can identify 2165 macroblocks with 2165 associated dimensions.

블록(2810)에서, 로컬 패턴 값을 선택한다. 예를 들어, 알고리즘 모듈(1856)은 20의 로컬 바이너리 패턴 값을 선택할 수 있다. 다른 예에서, 알고리즘 모듈(1856)은 로컬 터너리 패턴 값을 선택할 수 있다.At block 2810, a local pattern value is selected. For example, the algorithm module 1856 may select a local binary pattern value of 20. In another example, the algorithm module 1856 may select a local ternary pattern value.

블록(2812)에서, 하나 이상의 매크로블록의 각각에 대한 복수의 샘플링 포인트의 각각의 서브세트 내에서 로컬 패턴 값의 발생 횟수를 계산한다. 예를 들어, 알고리즘 모듈(1856)은 하나 이상의 매크로블록의 각각에 대한 복수의 샘플링 포인트의 각각의 서브세트 내에서 로컬 패턴 값의 발생 횟수를 계산할 수 있다.At block 2812, count the number of occurrences of the local pattern value within each subset of the plurality of sampling points for each of the one or more macroblocks. For example, the algorithm module 1856 can calculate the number of occurrences of the local pattern value within each subset of the plurality of sampling points for each of the one or more macroblocks.

블록(2814)에서, 로컬 패턴 값의 발생 횟수 및 하나 이상의 매크로블록의 대응하는 크기에 기초하여 복수의 가중치를 계산함으로써 복수의 가중치를 포함하는 제1 어레이를 생성한다. 예를 들어, 알고리즘 모듈(1856)은 표(2300)에 표시된 가중치(즉, [0.30 0.54 0.15 0.42 0.62 0.46 0.53])를 포함하는 제1 어레이를 생성할 수 있다.At block 2814, a first array comprising the plurality of weights is generated by calculating the plurality of weights based on the number of occurrences of the local pattern value and the corresponding sizes of the one or more macroblocks. For example, the algorithm module 1856 may generate a first array including the weights indicated in the table 2300 (ie, [0.30 0.54 0.15 0.42 0.62 0.46 0.53]).

블록(2816)에서, 복수의 가중치 각각에 고유 인덱스를 할당한다. 예를 들어, 알고리즘 모듈(1856)은 표(2300)에 표시된 복수의 가중치 각각에 고유 인덱스(즉, 1, 2, 3, 4, 5, 6 및 7)를 할당할 수 있다. 고유 인덱스 1이 0.30, 2 내지 0.54, 3 내지 0.15…등의 가중치에 할당된다.At block 2816, a unique index is assigned to each of the plurality of weights. For example, the algorithm module 1856 may assign a unique index (ie, 1, 2, 3, 4, 5, 6, and 7) to each of the plurality of weights indicated in the table 2300 . Unique index 1 is 0.30, 2 to 0.54, 3 to 0.15... are assigned to weights such as

블록(2818)에서, 복수의 가중치의 순위를 매김으로써 고유 인덱스의 제2 어레이를 생성한다. 예를 들어, 알고리즘 모듈(1856)은, 표(2300)에서의 시퀀스 5, 2, 7, 6, 4, 1, 3과 같이, 복수의 가중치의 순위를 매김으로써, 고유 인덱스의 제2 어레이를 생성할 수 있다. 일부 구현에서, 제2 어레이/시퀀스는 최고에서 최저까지의 가중치의 순위(ranking)를 나타낼 수 있다. 시퀀스의 첫 번째 숫자는 5이며, 이는 5의 고유 인덱스와 연관된 가중치(즉, 0.62)가 제1 어레이의 요소 중에서 가장 높기 때문이다.At block 2818, a second array of unique indices is generated by ranking the plurality of weights. For example, the algorithm module 1856 may rank the second array of unique indices by ranking the plurality of weights, such as sequence 5, 2, 7, 6, 4, 1, 3 in table 2300 . can create In some implementations, the second array/sequence may indicate a ranking of weights from highest to lowest. The first number in the sequence is 5 because the weight associated with the unique index of 5 (ie, 0.62) is the highest among the elements in the first array.

블록(2820)에서, 복수의 순위 거리(ranking distance)를 포함하는 제3 어레이를 생성한다. 예를 들어, 알고리즘 모듈(1856)은 표(2300)에 저장된 어레이 [5 1 6 4 0 3 2]와 같이, 복수의 순위 거리를 포함하는 제3 어레이를 생성할 수 있다. 순위 거리는 가장 높은 가중치(예컨대, 0.62 - 순위 1)와 현재 가중치(예컨대, 0.30 - 순위 6)의 순위 사이의 수치 차이를 나타낼 수 있다. 따라서, 0.62와 0.30 사이의 랭킹 거리는 5(즉, 6 - 1)일 수 있다.At block 2820 , a third array including a plurality of ranking distances is generated. For example, the algorithm module 1856 may generate a third array including a plurality of rank distances, such as the array [5 1 6 4 0 3 2] stored in the table 2300 . The rank distance may represent a numerical difference between the ranks of the highest weight (eg, 0.62 - rank 1) and the current weight (eg, 0.30 - rank 6). Thus, the ranking distance between 0.62 and 0.30 may be 5 (ie, 6 - 1).

일부 선택적인 구현에서, 확인 프로세스 동안, 샘플링된 프로파일에 기초한 생체 인식 데이터("요청자 생체 인식 데이터")는 등록 프로세스 동안 캡처된 복수의 이미지의 생체 인식 데이터("등록 생체 인식 데이터")와 비교될 수 있다. 매칭 백분율이 임계 백분율(예컨대, 20, 30, 40, 50, 60, 70, 또는 80)을 초과하면, ECD(1404) 및/또는 게이트웨이(1402) 중 하나는 요청자 생체 인식 데이터가 포지티브 매치이고 확인이 성공인 것으로 결정할 수 있다.In some optional implementations, during the verification process, biometric data based on the sampled profile (“requester biometric data”) may be compared with biometric data of a plurality of images captured during the enrollment process (“enrollment biometric data”). can If the match percentage exceeds a threshold percentage (eg, 20, 30, 40, 50, 60, 70, or 80), one of the ECD 1404 and/or gateway 1402 confirms that the requestor biometric data is a positive match It can be determined that this is a success.

특정 측면에서, ECD(1404) 및/또는 게이트웨이(1402) 중 하나는, 예를 들어 선탠, 노화, 부상, 기분 변화, 체중 변화, 수염 변화, 화장품 사용, 액세서리 또는 기타 원인에 기인한 얼굴(1703)의 임의의 변화를 수용하기 위해 시간 경과에 따른 등록 생체 인식 데이터를 조정할 수 있다. 각각의 확인 동안, ECD(1404) 및/또는 게이트웨이(1402) 중 하나는, 등록 생체 인식 데이터의 일부(예컨대, 20 %, 30 %, 40 %, 50 %)를 조정할 수 있다. 생체 인식 데이터의 다른 부분은 변경되지 않은 상태로 유지될 수 있다.In certain aspects, the ECD 1404 and/or one of the gateways 1402 may determine the face 1703 due to, for example, tanning, aging, injury, mood changes, weight changes, beard changes, cosmetic use, accessories, or other causes. ) can be adjusted over time to accommodate any change in enrollment biometric data. During each verification, one of the ECD 1404 and/or gateway 1402 may adjust a portion of the enrollment biometric data (eg, 20%, 30%, 40%, 50%). Other portions of the biometric data may remain unchanged.

상기 개시된 및 다른 특징 및 기능, 또는 그의 대안 또는 변형의 다양한 구현이 바람직하게는 해당 기술 분야의 숙련자에 의해 다수의 다른 상이한 시스템 또는 애플리케이션에 결합될 수 있음을 인식될 것이다. 또한, 본 명세서에서 현재 예상하지 못한 또는 기대하지 못한 다양한 대안, 수정, 변형 또는 개선이 해당 기술 분야의 숙련자에 의해 후속적으로 이뤄질 수 있고, 이는 또한 후속 청구범위에 의해 포함되도록 의도된다.It will be appreciated that various implementations of the above-disclosed and other features and functions, or alternatives or variations thereof, may be incorporated into many other different systems or applications, preferably by those skilled in the art. In addition, various alternatives, modifications, variations or improvements not presently anticipated or anticipated herein may subsequently be made by those skilled in the art, and are also intended to be encompassed by the appended claims.

첨부된 도면과 관련하여 상술된 상기 상세한 설명은 예를 설명하고, 청구범위의 범위 내에 있거나 구현될 수 있는 예만을 표현하는 것은 아니다. 이 설명에서 사용될 때, 용어 "예시적인"은 "다른 예에 비해 유리"하거나 "바람직한" 것이 아니라, "예, 예증 또는 예시로서 기능하는 것"을 의미한다. 상세한 설명은 설명된 기술의 이해를 제공할 목적으로 특정 세부사항을 포함한다. 그러나 이들 기술은 이러한 특정 세부사항 없이 실시될 수 있다. 예를 들어, 변경이 본 개시의 범위를 벗어남이 없이 설명된 요소의 기능 및 배열에서 이뤄질 수 있다. 또한, 다양한 예는 다양한 절차 또는 구성 요소를 적절히 생략, 치환, 또는 추가할 수 있다. 예컨대, 설명된 방법은 설명된 것과 상이한 순서로 수행될 수 있고, 다양한 단계가 추가, 생략, 또는 조합될 수 있다. 또한, 일부 예에 대해 설명된 특징은 다른 예에서 조합될 수 있다. 일부 예에서, 잘 알려진 구조 및 기구는 설명된 예의 개념을 불명료하게 하는 것을 회피하기 위해 블록 다이어그램 형태로 도시된다.The above detailed description set forth above in connection with the appended drawings describes examples and does not represent the only examples that may be implemented or are within the scope of the claims. As used in this description, the term “exemplary” means “serving as an example, illustration, or illustration,” rather than “be advantageous over other examples” or “preferred”. The detailed description includes specific details for the purpose of providing an understanding of the described technology. However, these techniques may be practiced without these specific details. For example, changes may be made in the function and arrangement of the elements described without departing from the scope of the present disclosure. In addition, various examples may omit, substitute, or add various procedures or components as appropriate. For example, methods described may be performed in an order different from that described, and various steps may be added, omitted, or combined. Also, features described for some examples may be combined in other examples. In some instances, well-known structures and mechanisms are shown in block diagram form in order to avoid obscuring the concepts of the described examples.

정보 및 신호는 다양한 서로 다른 기술 및 기법 중 임의의 것을 사용하여 표현될 수 있다. 예를 들어, 상기 설명 전반에 걸쳐 참조될 수 있는 데이터, 명령, 커맨드, 정보, 신호, 비트, 기호 및 칩은 전압, 전류, 전자기파, 자기장 또는 자기 입자, 광 필드 또는 광 입자, 컴퓨터-판독 가능한 매체 상에 저장된 컴퓨터-실행가능 코드 또는 명령 또는 이들의 임의의 조합으로 표현될 수 있다.Information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced throughout the above description may include voltage, current, electromagnetic wave, magnetic field or magnetic particle, light field or optical particle, computer-readable It may be represented as computer-executable code or instructions stored on a medium, or any combination thereof.

본 명세서의 개시와 관련하여 설명된 다양한 예시적인 블록 및 구성 요소는, 본 명세서에 설명된 기능을 수행하도록 설계된 프로세서, 디지털 신호 프로세서(DSP), ASIC, FPGA 또는 다른 프로그래밍 가능한 로직 장치, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 구성 요소, 또는 이들의 임의의 조합과 같은, 그러나 이에 제한되지는 않는, 특별하게-프로그래밍된 장치로 구현되거나 또는 수행될 수 있다. 특별하게 프로그래밍된 프로세서는 마이크로프로세서일 수 있지만, 대안적으로, 프로세서는 임의의 통상적인 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수 있다. 또한, 특별하게-프로그래밍된 프로세서는 컴퓨팅 장치의 결합, 예컨대 DSP와 마이크로프로세서의 결합, 다수의 마이크로프로세서, DSP 코어와 결합된 하나 이상의 마이크로프로세스, 또는 임의의 다른 이러한 구성으로서 구현될 수 있다.The various illustrative blocks and components described in connection with the disclosure herein may include a processor, digital signal processor (DSP), ASIC, FPGA or other programmable logic device, discrete gate or It may be implemented or implemented in a specially-programmed device such as, but not limited to, transistor logic, discrete hardware components, or any combination thereof. A specially programmed processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. Additionally, a specially-programmed processor may be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors in combination with a DSP core, or any other such configuration.

본 명세서에서 설명된 기능은 하드웨어, 프로세서에 의해 실행되는 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 프로세서에 의해 실행되는 소프트웨어로 구현되면, 기능은 비일시적인 컴퓨터-판독 가능한 매체 상에 하나 이상의 명령 또는 코드로서 저장되거나 이를 통해 전송될 수 있다. 다른 예 및 구현은 본 개시 및 첨부된 청구범위의 범위 및 기술 사상 내에 존재한다. 예를 들어, 소프트웨어의 속성으로 인해, 위에서 설명된 기능은, 특별하게 프로그래밍된 프로세서, 하드웨어, 펌웨어, 하드와이어링, 또는 이들의 임의의 조합에 의해 실행되는 소프트웨어를 사용하여 구현될 수 있다. 기능을 구현하는 특징부는 또한 기능의 부분이 서로 다른 물리적 위치에서 구현되도록 분산되는 것을 포함하여 물리적으로 다양한 포지션에 위치될 수 있다. 또한, 청구범위를 포함하여 본 명세서에서 사용된 바와 같이, "중 적어도 하나(at least one of)"에 의해 시작되는 아이템의 목록에서 사용되는 것과 같은 "또는(or)"은, 예를 들어, "A, B, 또는 C 중 적어도 하나"의 목록이 A 또는 B 또는 C 또는 AB 또는 AC 또는 BC 또는 ABC(즉, A 및 B 및 C)를 의미하도록 선언적인(disjunctive) 목록을 나타낸다.The functions described herein may be implemented in hardware, software executed by a processor, firmware, or any combination thereof. If implemented in software executed by a processor, the functions may be stored on or transmitted over as one or more instructions or code on a non-transitory computer-readable medium. Other examples and implementations are within the scope and spirit of this disclosure and the appended claims. For example, due to the nature of software, the functions described above may be implemented using software executed by a specially programmed processor, hardware, firmware, hardwiring, or any combination thereof. Features implementing a function may also be physically located in various positions, including being distributed such that portions of the function are implemented in different physical locations. Also, as used herein, including in the claims, "or" as used in a list of items beginning with "at least one of" means, for example, A list of “at least one of A, B, or C” refers to a list that is disjunctive to mean A or B or C or AB or AC or BC or ABC (ie, A and B and C).

컴퓨터 판독 가능 매체는 한 장소에서 다른 장소로 컴퓨터 프로그램의 전달을 가능하게 하는 임의의 매체를 포함하는 통신 매체 및 컴퓨터 저장 매체를 둘 다 포함한다. 저장 매체는 범용 또는 특수 목적 컴퓨터에 의해 액세스될 수 있는 임의의 이용 가능한 매체일 수 있다. 제한이 아닌 예로서, 컴퓨터-판독 가능한 매체는, 명령 또는 데이터 구조의 형태로 원하는 프로그램 코드 수단을 저장 또는 반송하는데 사용될 수 있고, 범용 또는 특수 목적 컴퓨터, 또는 범용 또는 특수 목적 프로세서에 의해 액세스될 수 있는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 스토리지, 자기 디스크 스토리지 또는 다른 자기 저장 장치, 또는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 연결수단(connection)이 컴퓨터-판독 가능한 매체로 적절히 지칭된다. 예컨대, 소프트웨어가 동축 케이블, 광섬유 케이블, 꼬임 쌍선, 디지털 가입자 회선(DSL: digital subscriber line), 또는 적외선, 라디오 및 마이크로파와 같은 무선 기술을 이용하여 웹사이트, 서버 또는 다른 원격 소스로부터 전송된다면, 동축 케이블, 광섬유 케이블, 꼬임 쌍선, DSL, 또는 적외선, 라디오 및 마이크로파와 같은 무선 기술이 매체의 정의에 포함된다. 본 명세서에서 사용된 바와 같이, 디스크(disk) 및 디스크(disc)는 컴팩트 디스크(disc)(CD), 레이저 디스크(disc), 광학 디스크(disc), 디지털 다기능 디스크(digital versatile disc)(DVD), 플로피 디스크(disk) 및 블루-레이 디스크(disc)를 포함하며, 여기서 디스크(disk)는 보통 데이터를 자기적으로 재생하지만, 디스크(disc)는 레이저를 이용하여 광학적으로 데이터를 재생한다. 상기의 조합이 또한 컴퓨터-판독 가능한 매체의 범위 내에 포함된다.Computer-readable media includes both computer storage media and communication media including any medium that enables transfer of a computer program from one place to another. A storage medium may be any available medium that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, computer-readable media can be used to store or carry desired program code means in the form of instructions or data structures and can be accessed by a general or special purpose computer, or a general or special purpose processor. RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage device, or any other medium. Also, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio and microwave, coaxial Cables, fiber optic cables, twisted pair, DSL, or wireless technologies such as infrared, radio and microwave are included in the definition of a medium. As used herein, disk and disk are compact disk (CD), laser disk (disc), optical disk (disc), digital versatile disk (DVD). , floppy disks and Blu-ray disks, where disks usually reproduce data magnetically, while disks optically reproduce data using lasers. Combinations of the above are also included within the scope of computer-readable media.

Claims (20)

에지 캡처 장치(ECD)이며;
요청자를 향해 입사된 비가시광을 방출하도록 구성된 조명원;
검출된 비가시광을 검출하도록 구성된 광학 센서;
조명원 및 광학 센서와 작동 가능하게 결합된 처리 회로를 포함하고,
상기 처리 회로는:
검출된 비가시광의 복수의 강도를 갖는 복수의 샘플링 포인트를 포함하는 샘플링된 프로파일을 생성하고,
각각 복수의 샘플링 포인트의 좌표와 서브세트를 포함하는 하나 이상의 매크로블록을 식별하고,
하나 이상의 매크로블록의 각각에 대해 복수의 샘플링 포인트의 각각의 서브세트 내에서 로컬 패턴 값의 발생 횟수를 계산하고,
각각 로컬 패턴 값의 대응하는 발생 횟수를 하나 이상의 매크로블록의 대응하는 매크로블록의 크기로 나눔으로써 계산되는 복수의 가중치를 포함하는 제1 어레이를 생성하고,
복수의 가중치의 각각에 고유 인덱스를 할당하고,
연관된 가중치에 기초하여 고유 인덱스의 순위를 매김으로써 고유 인덱스의 제2 어레이를 생성하고,
복수의 가중치 중 가장 높은 가중치와 복수의 가중치 중 각각의 가중치 사이의 복수의 순위 거리를 포함하는 제3 어레이를 생성하고, 그리고
제3 어레이 및 좌표에 기초하여 요청자의 생체 인식 템플릿을 구성하도록
구성되는,
에지 캡처 장치(ECD).
an edge capture device (ECD);
an illumination source configured to emit invisible light incident towards the requestor;
an optical sensor configured to detect the detected invisible light;
a processing circuit operatively coupled to an illumination source and an optical sensor;
The processing circuit is:
generating a sampled profile comprising a plurality of sampling points having a plurality of intensities of the detected invisible light;
identify one or more macroblocks each comprising coordinates and a subset of the plurality of sampling points;
calculate the number of occurrences of the local pattern value within each subset of the plurality of sampling points for each of the one or more macroblocks;
create a first array comprising a plurality of weights each calculated by dividing a corresponding number of occurrences of a local pattern value by a size of a corresponding macroblock of the one or more macroblocks;
assigning a unique index to each of the plurality of weights;
create a second array of unique indexes by ranking the unique indexes based on the associated weights;
generate a third array comprising a plurality of rank distances between a highest weight of the plurality of weights and each weight of the plurality of weights; and
configure the requestor's biometric template based on the third array and coordinates;
composed,
Edge Capture Device (ECD).
제1 항에 있어서,
요청자의 근접 카드에 질문 신호를 전송하고; 그리고
근접 카드와 연관된 식별 시퀀스를 포함하는 응답 신호를 수신하도록 구성된 스캐너를 추가로 포함하는,
에지 캡처 장치(ECD).
According to claim 1,
sending an interrogation signal to the requestor's proximity card; and
further comprising a scanner configured to receive a response signal comprising an identification sequence associated with the proximity card;
Edge Capture Device (ECD).
제1 항에 있어서,
요청자에 의해 입력된 패스워드를 수신하도록 구성된 키패드를 추가로 포함하고; 처리 회로는 요청자에 의해 입력된 패스워드가 복수의 인가된 패스워드 중 어느 하나와 매치하는지를 결정하도록 구성되는,
에지 캡처 장치(ECD).
According to claim 1,
further comprising a keypad configured to receive a password entered by the requestor; the processing circuitry is configured to determine whether the password entered by the requestor matches any one of the plurality of authorized passwords;
Edge Capture Device (ECD).
제1 항에 있어서,
요청자에 의해 입력된 음성을 수신하도록 구성된 마이크로폰을 추가로 포함하고, 처리 회로는 입력된 음성이 복수의 인가된 음성 중 어느 하나와 매치하는지를 결정하는,
에지 캡처 장치(ECD).
According to claim 1,
further comprising a microphone configured to receive voice input by the requestor, wherein the processing circuitry determines whether the input voice matches any one of a plurality of authorized voices;
Edge Capture Device (ECD).
제1 항에 있어서,
조명원은 자외선 또는 적외선 중 적어도 하나를 방출하도록 추가로 구성되는,
에지 캡처 장치(ECD).
According to claim 1,
the illumination source is further configured to emit at least one of ultraviolet light or infrared light;
Edge Capture Device (ECD).
제1 항에 있어서,
생체 인식 템플릿을 원격 게이트웨이로 전송하도록 구성된 모뎀을 추가로 포함하는,
에지 캡처 장치(ECD).
According to claim 1,
further comprising a modem configured to transmit the biometric template to the remote gateway;
Edge Capture Device (ECD).
제1 항에 있어서,
처리 회로는:
버스;
각각 프로세서 및 메모리를 갖는 복수의 프로세싱 보드; 및
생체 인식 템플릿의 사본을 복수의 프로세싱 보드에 배포하도록 구성된 제어기를 추가로 포함하고,
복수의 프로세싱 보드는 생체 인식 템플릿의 사본을 메모리에 저장된 인가된 생체 인식 템플릿과 동시에 비교하는,
에지 캡처 장치(ECD).
According to claim 1,
The processing circuit is:
Bus;
a plurality of processing boards each having a processor and a memory; and
further comprising a controller configured to distribute copies of the biometric template to the plurality of processing boards;
the plurality of processing boards are configured to simultaneously compare the copy of the biometric template with the authorized biometric template stored in the memory;
Edge Capture Device (ECD).
제1 항에 있어서,
광학 센서는 광각 렌즈를 포함하는,
에지 캡처 장치(ECD).
According to claim 1,
The optical sensor comprises a wide-angle lens,
Edge Capture Device (ECD).
제1 항에 있어서,
광학 센서는 요청자의 적어도 하나의 눈을 검출하도록 추가로 구성되는,
에지 캡처 장치(ECD).
According to claim 1,
the optical sensor is further configured to detect at least one eye of the requestor;
Edge Capture Device (ECD).
제1 항에 있어서,
광학 센서는 요청자로부터 반사된 적외선, 반사된 자외선, 또는 방사된 적외선 중 적어도 하나를 검출하도록 추가로 구성되는,
에지 캡처 장치(ECD).
According to claim 1,
the optical sensor is further configured to detect at least one of reflected infrared light, reflected ultraviolet light, or emitted infrared light from the requestor;
Edge Capture Device (ECD).
제1 항에 있어서,
요청자의 얼굴의 이미지를 가시광으로 디스플레이하도록 구성된 디스플레이를 추가로 포함하고, 이미지는 광학 센서에 의해 캡처되는,
에지 캡처 장치(ECD).
According to claim 1,
further comprising a display configured to display an image of the requestor's face in visible light, wherein the image is captured by the optical sensor;
Edge Capture Device (ECD).
제11 항에 있어서,
디스플레이는 요청자의 얼굴을 광학 센서에 정렬하기 위한 정렬 마크를 도시하도록 추가로 구성되는,
에지 캡처 장치(ECD).
12. The method of claim 11,
the display is further configured to show an alignment mark for aligning the requester's face to the optical sensor;
Edge Capture Device (ECD).
기반 시설이며:
액세스 제어되는 자산; 및
액세스 제어되는 자산과 연관된 에지 캡처 장치(ECD)를 포함하고,
상기 에지 캡처 장치(ECD)는:
요청자를 향해 입사된 비가시광을 방출하도록 구성된 조명원;
검출된 비가시광을 검출하도록 구성된 광학 센서; 및
조명원 및 광학 센서에 작동 가능하게 결합된 처리 회로를 포함하고,
상기 처리 회로는;
검출된 비가시광의 복수의 강도를 갖는 복수의 샘플링 포인트를 포함하는 샘플링된 프로파일을 생성하고,
각각 복수의 샘플링 포인트의 좌표와 서브세트를 포함하는 하나 이상의 매크로블록을 식별하고,
하나 이상의 매크로블록의 각각에 대해 복수의 샘플링 포인트의 각각의 서브세트 내에서 로컬 패턴 값의 발생 횟수를 계산하고,
각각 로컬 패턴 값의 대응하는 발생 횟수를 하나 이상의 매크로블록의 대응하는 매크로블록의 크기로 나눔으로써 계산되는 복수의 가중치를 포함하는 제1 어레이를 생성하고,
복수의 가중치의 각각에 고유 인덱스를 할당하고,
연관된 가중치에 기초하여 고유 인덱스의 순위를 매김으로써 고유 인덱스의 제2 어레이를 생성하고,
복수의 가중치 중 가장 높은 가중치와 복수의 가중치 중 각각의 가중치 사이의 복수의 순위 거리를 포함하는 제3 어레이를 생성하고, 그리고
제3 어레이 및 좌표에 기초하여 요청자의 생체 인식 템플릿을 구성하도록 구성되는,
기반 시설.
The infrastructure is:
access-controlled assets; and
an edge capture device (ECD) associated with an access-controlled asset;
The edge capture device (ECD) comprises:
an illumination source configured to emit invisible light incident towards the requestor;
an optical sensor configured to detect the detected invisible light; and
processing circuitry operatively coupled to the illumination source and the optical sensor;
the processing circuit;
generating a sampled profile comprising a plurality of sampling points having a plurality of intensities of the detected invisible light;
identify one or more macroblocks each comprising coordinates and a subset of the plurality of sampling points;
calculate the number of occurrences of the local pattern value within each subset of the plurality of sampling points for each of the one or more macroblocks;
create a first array comprising a plurality of weights each calculated by dividing a corresponding number of occurrences of a local pattern value by a size of a corresponding macroblock of the one or more macroblocks;
assigning a unique index to each of the plurality of weights;
create a second array of unique indexes by ranking the unique indexes based on the associated weights;
generate a third array comprising a plurality of rank distances between a highest weight of the plurality of weights and each weight of the plurality of weights; and
configured to configure the requestor's biometric template based on the third array and coordinates;
infrastructure.
제13 항에 있어서,
액세스 제어되는 자산은, 금고, 잠금 장치, 보안 도어, 보안 게이트, 장비, 기계류, 컴퓨팅 장치, 디지털 저장 장치, 데이터베이스, 및 파일 중 적어도 하나를 포함하는,
기반 시설.
14. The method of claim 13,
Access-controlled assets include at least one of a safe, lock, security door, security gate, equipment, machinery, computing device, digital storage device, database, and file;
infrastructure.
제13 항에 있어서,
에지 캡처 장치(ECD)로부터 포지티브 매치 표시를 수신하고; 그리고
포지티브 매치 표시에 응답하여, 요청자가 액세스 제어되는 자산에 액세스하는 것을 허용하도록 포지티브 매치 신호를 에지 캡처 장치(ECD)와 연관된 액세스 제어되는 자산에 전송하도록 구성된 게이트웨이를 추가로 포함하는,
기반 시설.
14. The method of claim 13,
receive a positive match indication from an edge capture device (ECD); and
in response to the positive match indication, further comprising a gateway configured to send a positive match signal to the access controlled asset associated with the edge capture device (ECD) to allow the requestor to access the access controlled asset;
infrastructure.
제13 항에 있어서,
에지 캡처 장치(ECD)는,
요청자의 근접 카드에 질문 신호를 전송하고; 및
근접 카드와 연관된 식별 시퀀스를 포함하는 응답 신호를 수신하도록 구성된 스캐너를 추가로 포함하는,
기반 시설.
14. The method of claim 13,
Edge capture devices (ECDs) are:
sending an interrogation signal to the requestor's proximity card; and
further comprising a scanner configured to receive a response signal comprising an identification sequence associated with the proximity card;
infrastructure.
제13 항에 있어서,
조명원은 자외선 또는 적외선 중 적어도 하나를 방출하도록 추가로 구성되는,
기반 시설.
14. The method of claim 13,
the illumination source is further configured to emit at least one of ultraviolet light or infrared light;
infrastructure.
제13 항에 있어서,
처리 회로는:
버스;
각각 프로세서 및 메모리를 갖는 복수의 프로세싱 보드; 및
생체 인식 템플릿의 사본을 복수의 프로세싱 보드에 배포하도록 구성된 제어기를 추가로 포함하고,
복수의 프로세싱 보드는 생체 인식 템플릿의 사본을 메모리에 저장된 인가된 생체 인식 템플릿과 동시에 비교하는,
기반 시설.
14. The method of claim 13,
The processing circuit is:
Bus;
a plurality of processing boards each having a processor and a memory; and
further comprising a controller configured to distribute copies of the biometric template to the plurality of processing boards;
the plurality of processing boards are configured to simultaneously compare the copy of the biometric template with the authorized biometric template stored in the memory;
infrastructure.
제13 항에 있어서,
광학 센서는 광각 렌즈를 포함하는,
기반 시설.
14. The method of claim 13,
The optical sensor comprises a wide-angle lens,
infrastructure.
시스템이며:
제1 에지 캡처 장치(ECD) 및 나머지 에지 캡처 장치(ECD)를 포함하는 복수의 에지 캡처 장치(ECD);
각각 복수의 에지 캡처 장치(ECD)의 에지 캡처 장치(ECD)와 연관된 복수의 액세스 제어되는 진입 지점;
복수의 액세스 제어되는 진입 지점 및 복수의 에지 캡처 장치(ECD)에 통신 가능하게 결합된 게이트웨이를 포함하고,
상기 제1 에지 캡처 장치(ECD)는:
요청자를 향해 입사된 비가시광을 방출하도록 구성된 조명원;
검출된 비가시광을 검출하도록 구성된 광학 센서;
복수의 인가된 생체 인식 템플릿을 저장하는 메모리; 및
조명원 및 광학 센서에 작동 가능하게 결합된 처리 회로를 포함하고,
상기 처리 회로는:
검출된 비가시광의 복수의 강도를 갖는 복수의 샘플링 포인트를 포함하는 샘플링된 프로파일을 생성하고,
각각 복수의 샘플링 포인트의 좌표와 서브세트를 포함하는 하나 이상의 매크로블록을 식별하고,
하나 이상의 매크로블록의 각각에 대해 복수의 샘플링 포인트의 각각의 서브세트 내에서 로컬 패턴 값의 발생 횟수를 계산하고,
각각 로컬 패턴 값의 대응하는 발생 횟수를 하나 이상의 매크로블록의 대응하는 매크로블록의 크기로 나눔으로써 계산되는 복수의 가중치를 포함하는 제1 어레이를 생성하고,
복수의 가중치의 각각에 고유 인덱스를 할당하고,
연관된 가중치에 기초하여 고유 인덱스의 순위를 매김으로써 고유 인덱스의 제2 어레이를 생성하고,
복수의 가중치 중 가장 높은 가중치와 복수의 가중치 중 각각의 가중치 사이의 복수의 순위 거리를 포함하는 제3 어레이를 생성하고,
제3 어레이 및 좌표에 기초하여 요청자의 생체 인식 템플릿을 구성하고, 그리고
구성된 생체 인식 템플릿에 대한 로컬 매치를 찾지 못한 것에 응답하여 구성된 생체 인식 템플릿을 모뎀을 통해 게이트웨이에 전송하도록 구성되고,
상기 게이트웨이는:
복수의 에지 캡처 장치(ECD) 중 제1 에지 캡처 장치(ECD)로부터 요청자의 구성된 생체 인식 템플릿을 수신하고,
구성된 생체 인식 템플릿을 복수의 생체 인식 템플릿과 비교하고,
구성된 생체 인식 템플릿과 복수의 생체 인식 템플릿 중 하나 사이의 포지티브 매치를 식별하고,
포지티브 매치에 응답하여, 요청자가 제1 에지 캡처 장치(ECD)와 연관된 액세스 제어되는 진입 지점에 액세스하는 것을 허용하도록, 포지티브 매치 신호를 제1 에지 캡처 장치(ECD)에 전송하도록 구성되는,
시스템.

The system is:
a plurality of edge capture devices (ECDs) comprising a first edge capture device (ECD) and the remaining edge capture devices (ECD);
a plurality of access controlled entry points each associated with an edge capture device (ECD) of the plurality of edge capture devices (ECD);
a gateway communicatively coupled to a plurality of access controlled entry points and a plurality of edge capture devices (ECDs);
The first edge capture device (ECD) comprises:
an illumination source configured to emit invisible light incident towards the requestor;
an optical sensor configured to detect the detected invisible light;
a memory for storing a plurality of authorized biometric templates; and
processing circuitry operatively coupled to the illumination source and the optical sensor;
The processing circuit is:
generating a sampled profile comprising a plurality of sampling points having a plurality of intensities of the detected invisible light;
identify one or more macroblocks each comprising coordinates and a subset of the plurality of sampling points;
calculate the number of occurrences of the local pattern value within each subset of the plurality of sampling points for each of the one or more macroblocks;
create a first array comprising a plurality of weights each calculated by dividing a corresponding number of occurrences of a local pattern value by a size of a corresponding macroblock of the one or more macroblocks;
assigning a unique index to each of the plurality of weights;
create a second array of unique indexes by ranking the unique indexes based on the associated weights;
generating a third array including a plurality of rank distances between a highest weight among the plurality of weights and each weight among the plurality of weights;
construct the requestor's biometric template based on the third array and coordinates; and
send the configured biometric template to the gateway via the modem in response to not finding a local match for the configured biometric template;
The gateway is:
receive a configured biometric template of the requestor from a first edge capture device (ECD) of the plurality of edge capture devices (ECD);
comparing the configured biometric template with a plurality of biometric templates;
identify a positive match between the configured biometric template and one of the plurality of biometric templates;
in response to the positive match, send a positive match signal to the first edge capture device (ECD) to allow the requestor to access an access controlled entry point associated with the first edge capture device (ECD);
system.

KR1020217032563A 2019-03-08 2020-03-05 Method and device for facial recognition KR20210135315A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/297,366 2019-03-08
US16/297,366 US11017212B2 (en) 2012-09-07 2019-03-08 Methods and apparatus for biometric verification
PCT/US2020/021256 WO2020185525A1 (en) 2019-03-08 2020-03-05 Methods and apparatus for facial recognition

Publications (1)

Publication Number Publication Date
KR20210135315A true KR20210135315A (en) 2021-11-12

Family

ID=72426848

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217032563A KR20210135315A (en) 2019-03-08 2020-03-05 Method and device for facial recognition

Country Status (5)

Country Link
EP (1) EP3935563A4 (en)
KR (1) KR20210135315A (en)
AU (1) AU2020233874A1 (en)
CA (1) CA3132721A1 (en)
WO (1) WO2020185525A1 (en)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69735411T2 (en) * 1996-10-09 2006-09-07 Symyx Technologies, Inc., Santa Clara INFRARED SPECTROSCOPY AND LIBRARY IMAGING
CA2203212A1 (en) * 1997-04-21 1998-10-21 Vijayakumar Bhagavatula Methodology for biometric encryption
IL199657A0 (en) 2009-07-02 2011-08-01 Carmel Haifa University Economic Corp Ltd Face representation systems for privacy aware applications and methods useful in conjunction therewith
US9740917B2 (en) 2012-09-07 2017-08-22 Stone Lock Global, Inc. Biometric identification systems and methods
US10217235B2 (en) * 2016-07-11 2019-02-26 Nri R&D Patent Licensing, Llc Advanced lensless light-field imaging systems and methods for enabling a wide range of entirely new applications
CN107330382A (en) * 2017-06-16 2017-11-07 深圳大学 The single sample face recognition method and device represented based on local convolution characteristic binding
CN108805027B (en) * 2018-05-03 2020-03-24 电子科技大学 Face recognition method under low resolution condition

Also Published As

Publication number Publication date
CA3132721A1 (en) 2020-09-17
AU2020233874A1 (en) 2021-09-30
EP3935563A1 (en) 2022-01-12
EP3935563A4 (en) 2023-03-29
WO2020185525A1 (en) 2020-09-17

Similar Documents

Publication Publication Date Title
US11651623B2 (en) Methods and apparatus for outdoor access control using biometric verification
Del Rio et al. Automated border control e-gates and facial recognition systems
US10796514B2 (en) System and method for optimizing a facial recognition-based system for controlling access to a building
US11163984B2 (en) Methods and apparatus for constructing biometrical templates using facial profiles of users
KR20210070278A (en) Method and device for facial recognition
US8499164B2 (en) Biometric authentication utilizing unique biometric signatures and portable electronic devices
US20150015365A1 (en) Point of entry authorization utilizing rfid enabled profile and biometric data
US11163983B2 (en) Methods and apparatus for aligning sampling points of facial profiles of users
US11017212B2 (en) Methods and apparatus for biometric verification
US11275929B2 (en) Methods and apparatus for privacy protection during biometric verification
EP4085372A1 (en) Methods and apparatus for facial recognition
US11594072B1 (en) Methods and apparatus for access control using biometric verification
US11017214B1 (en) Methods and apparatus for biometric verification
US11017213B1 (en) Methods and apparatus for biometric verification
KR20210135315A (en) Method and device for facial recognition
US11301670B2 (en) Methods and apparatus for collision detection in biometric verification
Meuwly et al. Biometrics in the aliens' identity chain
Gomolka et al. The implementation of an intelligent algorithm hybrid biometric identification for the exemplary hardware platforms
Meuwly et al. BIOMETRICS IN THE ALIENS’IDENTITY CHAIN A LITERATURE STUDY
Santhadevi A Secure Access Control Using Biometric System
Nanavati Biometric Border Security Evaluation Framework (Biometrique Cadre D'evaluation de la Securite des Frontieres)