KR102554724B1 - 이미지 내 객체를 식별하기 위한 방법 및 상기 방법을 실행하기 위한 모바일 디바이스 - Google Patents

이미지 내 객체를 식별하기 위한 방법 및 상기 방법을 실행하기 위한 모바일 디바이스 Download PDF

Info

Publication number
KR102554724B1
KR102554724B1 KR1020207029856A KR20207029856A KR102554724B1 KR 102554724 B1 KR102554724 B1 KR 102554724B1 KR 1020207029856 A KR1020207029856 A KR 1020207029856A KR 20207029856 A KR20207029856 A KR 20207029856A KR 102554724 B1 KR102554724 B1 KR 102554724B1
Authority
KR
South Korea
Prior art keywords
matrix
image
neural network
user
bounding box
Prior art date
Application number
KR1020207029856A
Other languages
English (en)
Other versions
KR20200130440A (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=61768233&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR102554724(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 아이덴티 인크. filed Critical 아이덴티 인크.
Priority to KR1020237022979A priority Critical patent/KR20230107415A/ko
Publication of KR20200130440A publication Critical patent/KR20200130440A/ko
Application granted granted Critical
Publication of KR102554724B1 publication Critical patent/KR102554724B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • G06V40/13Sensors therefor
    • G06V40/1312Sensors therefor direct reading, e.g. contactless acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/17Image acquisition using hand-held instruments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/255Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
    • 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/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/142Image acquisition using hand-held instruments; Constructional details of the instruments
    • 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/107Static hand or arm
    • 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/12Fingerprints or palmprints
    • G06V40/13Sensors therefor
    • G06V40/1318Sensors therefor using electro-optical elements or layers, e.g. electroluminescent sensing
    • 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/12Fingerprints or palmprints
    • G06V40/1347Preprocessing; Feature extraction
    • 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/12Fingerprints or palmprints
    • G06V40/1365Matching; Classification
    • 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/12Fingerprints or palmprints
    • G06V40/1382Detecting the live character of the finger, i.e. distinguishing from a fake or cadaver finger
    • G06V40/1388Detecting the live character of the finger, i.e. distinguishing from a fake or cadaver finger using image processing
    • 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/40Spoof detection, e.g. liveness detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/02Constructional features of telephone sets
    • H04M1/0202Portable telephone sets, e.g. cordless phones, mobile phones or bar type handsets
    • H04M1/026Details of the structure or mounting of specific components
    • H04M1/0264Details of the structure or mounting of specific components for a camera module assembly
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/56Cameras or camera modules comprising electronic image sensors; Control thereof provided with illuminating means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20021Dividing image into blocks, subimages or windows
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • General Engineering & Computer Science (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Computer Hardware Design (AREA)
  • Image Analysis (AREA)
  • Collating Specific Patterns (AREA)
  • Image Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

지문 또는 손가락 끝들의 지문들의 세트와 같은, 사용자의 생체 인식 특성(biometric characteristic)을 가지는 상기 사용자의 객체의 이미지를 이용하여 상기 사용자를 식별하기 위한 방법에 있어서, 상기 방법은:
모바일 디바이스의 광학 센서에 의해, 상기 객체의 상기 이미지를 획득하는 단계;
뉴럴 네트워크에 상기 이미지를 제공하는 단계;
상기 이미지에서 상기 객체 및 상기 객체의 위치 둘 다를 식별하도록, 상기 뉴럴 네트워크에 의해 상기 이미지를 처리하는 단계;
상기 식별되는 객체로부터, 상기 생체 인식 특성을 추출하는 단계;
저장 디바이스에 상기 생체 인식 특성을 저장하는 단계 또는 식별 수단에 대한 입력으로 적어도 상기 생체 인식 특성을 제공하는 단계 중 적어도 하나의 단계 - 상기 식별 수단은 상기 생체 인식 특성이 상기 사용자를 식별하는지 여부를 결정하기 위해 상기 입력을 처리하는 것을 포함함 -;
을 포함한다.

Description

이미지 내 객체를 식별하기 위한 방법 및 상기 방법을 실행하기 위한 모바일 디바이스(METHOD FOR IDENTIFYING AN OBJECT WITHIN AN IMAGE AND MOBILE DEVICE FOR EXECUTING THE METHOD)
본 발명은 청구항 1항에 따른 사용자를 식별하는 생체 인식 특성을 가지는 이미지에서의 객체를 이용하여 사용자를 식별하기 위한 방법 및 청구항 15항에 따른 대응하는 방법을 실행하도록 적응되는 모바일 디바이스에 관한 것이다.
일반적으로 이미지 인식은 널리 퍼져 있으며 그리고 여러 응용들을 허용한다. 예를 들어, 이미지들 내에서 특정한 사람들 및 얼굴들 또는 객체들을 인식하는 것은 광범위한 방식으로 소셜 네트워크들이나 기타 미디어에 의해 사용된다. 더욱이, 최근의 스마트폰들에서, 예를 들어, 지문-센서들에 의해 사용자를 식별하는데 또한 식별 기술들이 사용된다.
이전 기술들은 “브루트 포스(brute force)”를 이용하는지 또는 객체들을 식별하기 위해 특별히 훈련된 새로운 네트워크들을 사용하는지에 관계없이 이미지들 내에서 객체들의 식별을 구현하기 위해 상당한 양의 컴퓨터 리소스들을 요구한다.
그러나 최근에 이미지들 내에서 객체들의 훨씬 빠르지만 안정적인 식별을 허용하는 “You Only Look Once” 기술이 제공되었다. 이 기술의 기본적인 원리들은 Redmon 등의 “You Only Look Once: Unified, Real-Time Object Detection” 및 Redmon 등의 “YOLO9000: Better, Faster, Stronger” 논문들에서 설명되어 있다.
“You Only Look Once” 기술(본 명세서에서 YOLO 기술로 지칭됨)은 획득된 이미지를 그리드들로 분할하고 그리고 각각 획득된 이미지들을 처리하는 복수의 리덕션 레이어(reduction layer)들 및 컨볼루션 레이어(convolutional layer)들을 포함하는 뉴럴 네트워크를 이용함으로써 하나 이상의 그리드 셀들 내에서 객체들을 식별하기 위해 훈련된 뉴럴 네트워크를 이용하는 것이다.
사용되는 뉴럴 네트워크들이 복수의 객체들에 대한 움직이는 이미지들(비디오들)에 대해서도 실시간 검출을 수행하면서 또한 적절한 결과들을 획득하는 반면에, 손가락 끝과 같이 매우 특정한 객체들에 대하여 이들이 적절하게 적용되지 않는 것으로 나타났다.
또한, 비교적 복잡한 뉴럴 네트워크로 인해, 객체의 실시간 식별을 허용하기 위해 상당한 컴퓨터 리소스들이 요구되며, 이는 추가적으로 YOLO 기술이 스마트폰들 및 태블릿들과 같은 현존하는 모바일 디바이스들에 적합하지 않도록 한다.
위의 관점에서 충분한 검출 정확성을 제공하면서, 동시에 식별을 위해 사용되는 모바일 디바이스와 사용자의 상호작용을 단순화하는 것을 허용하는 방법들 및 시스템들을 제공하는 것이 본 발명의 목적이다. 또한, 현 시대의 모바일 디바이스들에서 식별이 구현되도록 식별을 위해 요구되는 컴퓨터 리소스들을 줄이는 것이 유리할 것이다.
이 목적은 청구항 1항에 따른 모바일 컴퓨팅 디바이스 상에 구현되는 방법 및 청구항 15항에 따른 모바일 컴퓨팅 디바이스에 의해 해결된다. 본 발명의 바람직한 실시예들은 종속항들에서 제공된다.
지문 또는 손가락 끝들의 지문들의 세트와 같은, 사용자의 생체 인식 특성(biometric characteristic)을 가지는 상기 사용자의 객체의 이미지를 이용하여 상기 사용자를 식별하기 위한 본 발명에 따른 방법에 있어서, 상기 방법은:
모바일 디바이스의 광학 센서에 의해, 상기 객체의 상기 이미지를 획득하는 단계;
뉴럴 네트워크에 상기 이미지를 제공하는 단계;
상기 이미지에서 상기 객체 및 상기 객체의 위치 둘 다를 식별하도록, 상기 뉴럴 네트워크에 의해 상기 이미지를 처리하는 단계;
상기 식별되는 객체로부터, 상기 생체 인식 특성을 추출하는 단계;
저장 디바이스에 상기 생체 인식 특성을 저장하는 단계 및/또는 식별 수단에 대한 입력으로 적어도 상기 생체 인식 특성을 제공하는 단계 - 상기 식별 수단은 상기 생체 인식 특성이 상기 사용자를 식별하는지 여부를 결정하기 위해 상기 입력을 처리하는 것을 포함함 -;를 포함할 수 있다.
본 명세서에서, 저장 디바이스는 모바일 디바이스 자체 또는 모바일 디바이스 외부에서 제공되는 원격 저장 디바이스와 관련되는 임의의 디바이스일 수 있다. 예를 들어, 저장 디바이스는 생체 인식 특성들이 모바일 인터넷 또는 다른 전송 수단과 같은 데이터 전송 수단을 통해 포워딩되게 되는 회사의 서버와 관련된 저장 장치일 수 있다.
식별 수단에 대하여 생체 인식 특성을 제공하는 단계는 마찬가지로 모바일 디바이스 내부적으로, 예를 들어 특정 어플리케이션으로 생체 인식 특성을 포워딩하는 단계 또는 적합한 전송 수단을 통해, 은행, 소셜 네트워크 등의 로그인 서버와 같은 원격 식별 수단에 대하여 생체 인식 특성을 포워딩하는 단계를 포함한다. 이미지를 획득하는 단계는 바람직하게는 자유롭게 촬영된 이미지를 통하거나 손 또는 손가락의 이미지를 자유롭게 촬영하는 것을 허용하는 어플리케이션을 통해 수행된다. 이는 식별을 위해 이미지를 촬영하기 위하여 그의 손 및 손가락들을 그 또는 그녀가 배열해야하는 방식을 사용자에게 표시하는 이러한 어플리케이션에 의해 마스크가 제공되지 않음을 의미한다.
이 방법은 사용자가 식별을 위해 모바일 디바이스와 어떻게 상호작용하거나 해동해야 하는지에 대한 어떠한 제약으로부터 자유로우면서 사용자를 쉽고 안정적으로 식별하도록 허용한다.
일 실시예에서 상기 객체는 적어도 하나의 손가락 끝이고 그리고 상기 생체 인식 특성은 상기 손가락 끝의 지문이고, 상기 식별 수단에 의해 상기 입력을 처리하는 것은 예를 들어 상기 특징점(minutia)의 유형 및 위치와 같은 생체 인식 특징(biometric feature)을 상기 지문으로부터 추출하는 것, 및 저장 디바이스에 저장된 생체 인식 특징과 상기 추출된 생체 인식 특징을 비교하는 것을 포함하고, 상기 추출된 생체 인식 특징과 상기 저장된 생체 인식 특징 사이의 차이가 임계치 이하인 경우 상기 식별 수단은 상기 사용자가 상기 지문에 의해 식별된다고 결정하고, 그리고 상기 추출된 생체 인식 특징과 상기 저장된 생체 인식 특징 사이의 차이가 임계치를 초과하는 경우 상기 식별 수단은 상기 사용자가 상기 지문에 의해 식별되지 않는다고 결정한다.
생체 인식 특징은 사용자의 생체 인식 식별을 허용하거나 또는 생체인식 특성과 잠재적으로 다른 특성들을 이용하여 사용자를 식별하는데 적어도 도움을 줄 수 있는 임의의 특징일 수 있다.
임계치는 이미지를 이용하여 획득되거나 취해지는 생체 인식 특징이 저장된 생체 인식 특징에 대응하는 여부 및 얼마나 대응하는지를 나타내는 수치값일 수 있다. 예를 들어, 임계치는 실수 x일 수 있고, 여기서 0≤x≤1이다. 여기서 큰 x는 획득된 생체 인식 특징 및 저장된 생체 인식 특징이 서로 상당히 상이하여도 여전히 사용자의 식별을 허용한다. 더 x가 더 작을수록, 식별을 획득하기 위해 획득된 생체 인식 특징이 저장된 생체 인식 특징에 더 일치하여야 한다.
필요한 값으로 임계치를 설정함으로써 식별의 보안성이 증가될 수 있다.
이 실시예의 보다 구체적인 실현으로, 이미지는 하나 이상의 손가락 끝을 포함하고 그리고 상기 방법은 이미지에서 각각의 손가락 끝의 위치를 식별하는 단계 및 식별 수단에 의한 사용자의 식별을 위해 각각의 손가락 끝의 지문을 이용하는 단계를 포함한다.
예를 들어 식별을 위해 모든 손가락들을 이용함으로써, 사용자를 식별하기 위한 본 방법은 하나 이상의 손가락을 위조하는 것이 상당한 리소스들을 필요로하고 가능성이 낮기 때문에 실패할 가능성이 낮다.
이 실시예의 일 실시예에서, 상기 식별 수단은 상기 이미지에서 모든 손가락 끝들의 상기 지문들에 대한 조합된(combined) 식별 정확성이 주어진 임계치를 초과하는지 결정함으로써 상기 손가락 끝들의 상기 지문들에 의해 사용자가 식별되는지 결정하거나, 또는 상기 식별 수단은 각각의 손가락 끝에 대하여, 상기 손가락 끝의 상기 지문의 저장된 생체 인식 특징과 상기 손가락 끝의 상기 지문의 생체 인식 특징 사이의 차이가 임계치 이하인지 여부를 결정하고 그리고 모든 결정된 차이들이 상기 대응하는 임계치 이하인 경우에만 상기 손가락 끝들의 상기 지문들에 의해 상기 사용자가 식별된다고 결정함으로써 상기 손가락 끝의 지문들에 의해 상기 사용자가 식별되지는 결정한다.
조합된 식별 정확성은 독립적으로 취해진 각각의 생체 인식 특징의 식별 정확성들의 조합으로 이해되어야 한다. 이는 예를 들어, 각각의 지문의 생체 인식 특징이 다른 지문들로부터 독립적으로 평가되는 것을 의미한다. 위의 실시예에서, 생체 인식 특징은 차이가 주어진 임계치 이하인 경우에, 저장된 생체 인식 특징에 대응하는 것으로 간주될 것이다. 획득된 생체 인식 특징과 저장된 생체 인식 특징 사이의 상대적인 대응값은 식별 정확성을 나타낸다. 예를 들어, 손가락 끝의 획득된 생체 인식 특성 및 저장된 생체 인식 특징이 99,9%로 매칭하는 경우, 식별 정확성은 0,999의 값을 가질 수 있다. 그리고 모든 식별 정확성들의 합이 취해질 수 있고 그리고 이것이 획득된 단일 생체 인식 특징이 저장된 생체 인식 특징에 대응하는 것을 간주되는지 여부를 표시하는 임계치에 따르는 임계치를 초과하는 경우 사용자는 획득된 생체 인식 특징들에 의해 식별되는 것으로 간주된다.
일 실시예에서, 이미지는 모바일 디바이스의 광학 센서로 카메라에 의해 획득된다. 이는 거의 모든 현제 이용가능한 스마트폰들이 적어도 하나의 카메라를 가지기 때문에 본 발명의 방법이 스마트폰들과 같은 현 시대의 모바일 디바이스들에 적용 가능하도록 한다.
일 실시예에서, 상기 뉴럴 네트워크에 의해 입력으로 상기 이미지를 처리하는 단계는 상기 뉴럴 네트워크의 제 1 레이어에 의해, 제 1 중간 출력을 생성하기 위해 상기 입력을 처리하는 단계 및 상기 이전 레이어의 상기 출력을 각각의 다음 레이어에 의해 처리하는 단계를 포함하고, 상기 뉴럴 네트워크는 복수의 레이어들을 포함하고, 각각의 레이어는 깊이별 컨볼루션 레이어(depthwise convolutional layer), 제 1 배치 노말라이저(batch normalizer), 제 1 렉티파이드 리니어 유닛(rectified linear unit), 점별 컨볼루션 레이어(pointwise convolutional layer), 제 2 배치 노말라이저, 및 제 2 렉티파이드 리니어 유닛을 상기 레이어 내에서 상기 입력의 상기 처리하는 순서로 포함하는 깊이별 가분 컨볼루션(depthwise separable convolution)이다.
상기 복수의 레이어들을 이용하여 상기 입력을 처리함으로써, 상기 뉴럴 네트워크는 상기 이미지 내에 상기 객체의 상기 위치 및 상기 객체의 식별을 출력으로 획득한다.
의도되는 깊이별 컨볼루션 레이어는 추가적인 매트릭스를 계산하기 위해 예를 들어, 3 x 3의 크기인 매트릭스인 커널과 원래 이미지에 대응하는 특징 맵(매트릭스)의 곱 또는 내적을 이용한다. 이러한 레이어들을 이용하는 것은 식별 효율성 측면에서 보다 효율적이다. 이는 특히 맥스-풀 레이어(max-pool layer)들이 차례로 더 많은 반복들을 필요하게 되는 정보의 손실을 초래하기 때문이다. 이러한 관점에서, 위의 실시예에서 제안되는 깊이별 컨볼루션 레이어들은 통상적으로 사용되는 컨볼루션 레이어들 보다 이들의 파라미터 민감도(parameter sensitivity) 측면에서 보다 효율적이다. 깊이별 컨볼루션 레이어 및 점별 컨볼루션 레이어는 깊이별 컬볼루션 서브-레이어 및 점별 컨볼루션 서브-레이어를 지칭할 수도 있다. 실제로, 이들은 뉴럴 네트워크의 “레이어 내의 레이어들”로, 서브-레이어들을 구성한다.
위의 실시예에서 제공되는 바와 같이 점별 컨볼루션 레이어, 배치 노말라이저 및 렉티파이드 리니어 유닛들과 함께 깊이별 컨볼루션 레이어의 구체적인 실현을 적용함으로써, 이미지들에서 손가락 끌들과 같은 생체 인식 특성들을 지닌 객체의 실시간 식별을 구현하기 위해 뉴럴 네트워크에 의해 요구되는 컴퓨터 리소스는 현재 알려진 뉴럴 기술과 비교하여 상당히 감소되며, 이는 알려진 YOLO 기술이 사용되는 뉴럴 네트워크 내의 레이어 그룹 중 하나로서 맥스-풀 레이어들에 의존하기 때문이다.
일 실시예에서 출력을 생성하는 단계는 Q x R 그리드 셀들을 포함하는 그리드로 이미지를 프로세싱 동안에 분할하는 단계를 포함하여, 적어도 하나의 바운딩 박스가 각각의 그리드 셀 내에 생성되고, 바운딩 박스는 그리드 셀 내의 사전결정된 위치 및 사전 결정된 기하학적 특성을 가지며, 여기서 출력을 생성하는 단계는 결과적인 바운딩 박스를 획득하기 위해 바운딩 박스의 기하학적 특성 및 위치들을 수정하는 단계를 포함하고, 여기서 상기 결과적인 바운딩 박스는 상기 객체의 위치에 가장 근접하게 매칭하는 결과적인 기하학적 특성 및 결과적인 위치를 가지는 바운딩 박스이다.
사전결정된 바운딩 박스들을 가지는 그리드 셀들로 획득된 이미지를 분할하는 단계는 객체 자체 및 객체의 위치를 표시하는 최종 결과에서 바운딩 박스들을 이용함으로써 식별되는 객체들에 대한 피드백을 제공하고 적절하게 디스플레이하도록 허용한다.
이 실시예의 보다 구체적인 실현에서, 상기 바운딩 박스의 상기 위치는 2차원으로 상기 그리드 셀의 중심에 대하여 계산되고 그리고 상기 바운딩 박스의 상기 기하학적 특성은 상기 바운딩 박스의 너비 및 높이를 가지고, 추가로 상기 객체가 바운딩 박스 내에 있을 확률은 각각의 바운딩 박스에 연관된다.
대응하는 확률들과 바운딩 박스들을 연관시키는 단계는 매트릭스 또는 벡터의 형태로 나타나는 다른 객체들과 함께 이를 조합해야 하는 경우에 정확한 효율로 그래픽적 프로세싱 유닛들에 의해 처리될 수 있고 그리고 바운딩 박스를 나타내는 벡터 또는 매트릭스를 제공하는 것을 허용한다.
보다 구체적으로, 출력은 Q × R × B × A 차원의 텐서 T일 수 있고, 여기서 A는 각각의 그리드 셀에서 상이한 바운딩 박스들의 개수이고 그리고 B는 5 차원을 가지는 각각의 바운딩 박스와 관련되는 벡터이고 다음과 같이 나타난다.
Figure 112020109729262-pct00001
결과적인 텐서는 고효율의 방식으로 그래픽 프로세싱 유닛들에 의해 처리될 수 있다. 또한 텐서와 같은 형태로 식별 결과를 제공하는 것은 특정 객체를 식별하는 것에 대하여 가장 큰 확률을 가지는 결과를 쉽게 추론하도록 허용한다.
또한, 출력을 출력하는 단계는 이미지를 그리드 셀에서의 바운딩 박스들 중에서 가장 높은 확률을 가지는 각각의 그리드 셀에서의 결과적인 바운딩 박스들 및 이미지를 디스플레이하는 단계를 포함할 수 있다.
가장 높은 확률을 가지는 그리드 셀만을 제공함으로써, 사용자는 쉽게 인식가능한 피드백을 제공하는 각각의 식별된 객체를 포함하는 바운딩 박스를 통해 객체 및 위치의 식별을 제공받는다. 또한, 결과적인 바운딩 박스는 이전 실시예에서 출력으로 제공되는 결과 텐서 내에서 단 하나의 벡터를 표현하고 그리고 사용자 또는 다른 프로그램에 의해 쉽게 추출되고 그리고 결과적인 바운딩 박스의 각각의 좌표들만을 취함으로서 추가적인 프로세싱을 위해 사용될 수 있다.
이미지 내의 손가락 끝의 위치를 식별하는 이 방식은 다른 방법들에 비해 적은 리소스를 소비하기 때문에 선호되지만, 또한 다른 방법들이 고려될 수 있다. 예를 들어, 손가락 끝이 존재할 수 있는 영역에 대하여 먼저 제안이 이루어질 수 있다. 그리고, 이러한 제안들은 실제로 제안된 영역에 대하여 손가락 끝과 같은 객체가 존재하는 여부를 확인하기 위해 추가로 처리될 수도 있다.
추가적인 실시예에서, 상기 뉴럴 네트워크에 의해 상기 이미지를 처리하는 단계는 상기 이미지에서의 각각의 픽셀에 대한 컬러값을 나타내는 적어도 하나의 매트릭스 I를 상기 이미지로부터 생성하는 단계 및 상기 뉴럴 네트워크에 대한 입력으로 상기 매트릭스를 제공하는 단계를 포함하고, 상기 이미지는 N×M 픽셀들을 포함하고 그리고 상기 매트릭스 I는 N×M 값들을 포함하는 매트릭스이고, 상기 매트릭스 I의 엔트리들은 I ij 로 주어지고, 여기서 ij는 정수이고 i = 1 … N 이고 그리고 j= 1… M이다.
각각의 컬러값들에 대하여 매트릭스로의 이미지의 분할은 컬러값들을 개별적으로 처리하는 것을 허용하여, 필요한 컴퓨터 리소스들을 감소시키면서 식별 효율을 유리하게 증가시킨다.
보다 구체적으로, 각각의 깊이별 컨볼루션 레이어는 매트릭스 I에 대하여 사전 결정된 커널 K를 적용하고, 상기 커널 K는 엔트리들 Sab를 포함하는 S,T<N; S,T<M인 S×T 크기의 매트릭스이고 상기 매트릭스에 상기 커널을 적용하는 단계는 매트릭스 Z의 (N×M)S,T 크기의 각각의 감소된(reduced) 매트릭스 R과의 상기 매트릭스 K의 상기 내적을 계산하는 단계를 포함하고, 상기 매트릭스 R은 상기 커널 K과 같은 크기를 가지고, 그리고 상기 매트릭스 Z는 ((N+2Pw)×(M+2Ph))의 크기를 가지고 그리고 c, d∈N+인 매트릭스 Zcd의 엔트리들은:
Figure 112020109729262-pct00002
로 주어지고, 매트릭스 P를 출력을 제공하고, 상기 매트릭스 P는
Figure 112020109729262-pct00003
의 크기를 가지고, Ww 및 Wh는 스트라이드 너비(stride width)를 정의하고 상기 매트릭스 P의 각각의 엔트리 P ij 는 상기 커널 K와의 ij번째 감소된 매트릭스 R의 상기 내적의 상기 값이고, 상기 매트릭스 P는 상기 제 1 배치 노말라이저로 상기 깊이별 컨볼루션 레이어에 의해 출력으로 제공되는,
커널은 어떠한 정보를 손실하지 않으면서 특징 맵에서 인접한 픽셀들로부터 획득되는 정보에 적절하게 가중치를 부여하는 것을 허용하여 뉴럴 네트워크에서 연속적인 레이어들이 객체의 식별을 도울 수 있는 효율을 증가시킬 수 있다. 이를 위해, 커널은 이미지를 수신하기 전에, 즉 뉴럴 네트워크의 트레이닝 과정에서 특정한 가중치들 또는 파라미터들에 대응하는 엔트리들을 포함한다.
이 트레이닝이 모바일 디바이스가 위 실시예들에 따른 각각의 방법을 수행할 수 있는 어플리케이션 또는 다른 프로그램을 실제로 설치하기 전에 수행되는 경우, 요구되는 컴퓨터 리소스들은 모바일 디바이스 상에서 유리하게 감소될 수 있다는 것이 본 발명의 발견이다.
이 조합이 요구되는 컴퓨터 리소스들 및 식별에 대하여 개선된 성능을 나타내기 때문에 깊이별 컨볼루션 레이어 및 점별 컨볼루션 레이어를 이용하는 가분 컨볼루션을 구현하는 것이 가장 유리하다는 것이 본 발명의 발견이지만, 깊이별 컨볼루션 레이어가 손가락 끝들 또는 손가락의 식별에 구체적으로 적응되는 컨볼루션 레이어로 대체되는 것이 여전히 고려될 수 있다. 따라서, 본 발명의 설명의 깊이별 컨볼루션의 이용에 집중하고 있지만, 컨볼루션 레이어를 이용하여 본 발명을 구현하는 것 또한 가능하다.
추가적인 실시예에서, 배치 노말라이저는
Figure 112020109729262-pct00004
을 계산함으로써 매트릭스 P로부터 평균값 V를 계산하고 엔트리들 P'ij=Pij-V를 가지는 배치 노말라이즈된 감소된 매트릭스 P'를 생성한다.
이 노말리제이션을 적용함으로써, 과노출(over-exposition)과 같은 의도하지 않은 효과들이 각각의 레이어들을 통해 이미지를 프로세싱 전체에서 필터링될 수 있어, 이미지에서 객체를 식별하는 효과의 증가를 허용한다.
또한, 커널의 크기 S 및 T는 모든 컨볼루션 레이어들에 대하여 동일하거나 적어도 하나의 컨볼루션 레이어에 대해 상이하다.
각각의 컨볼루션 레이어들(즉, 각각의 깊이별 컨볼루션 레이어들)에 대하여 동일한 커널을 선택함으로써, 대응하는 모바일 디바이스 상에 설치되는 결과적인 프로그램은 크기가 줄어들 수 있다. 반면에, 컨볼루션 레이어들 중 적어도 하나에 대하여 상이한 커널이 사용되는 경우, 식별 실패들에 관하여 알려진 문제들이 커널이 적절하게 조정되는 경우에 피할 수 있다. 예를 들어, 식별 과정의 시작시에 보다 큰 커널을 사용하는 것은 이미지의 보다 중요한 부분들을 취하고 집중하는 것을 허용하며, 이는 식별 효율을 증가시킨다.
일 특정한 실시예에서, S, T = 3인 크기이고 그리고 모든 깊이별 컨볼루션 레이어들에 대해 동일하고, 여기서 엔트리들 중 적어도 하는
Figure 112020109729262-pct00005
이다.
대응하는 커널은 각각의 방법을 구현하기 위해 요구되는 컴퓨터 리소스들, 식별 효율 및 커널의 크기 사이에 최적의 거래(trade)를 나타내어, 요구되는 컴퓨터 리소스들 및 식별 정확성에 대하여 전체 효율을 증가시킨다.
추가적인 실시예에서, 상기 배치 노말라이저는 상기 렉티파이드 리니어 유닛에게 노말라이즈된 감소된 매트릭스 P'를 제공하고 그리고 상기 렉티파이드 리니어 유닛은 각각의 엔트리 P' ij 에 대해 렉티피케이션 함수(rectification function)를 적용하고, 상기 렉티피케이션 함수는 엔트리들
Figure 112020109729262-pct00006
를 가지는 새로운 매트릭스
Figure 112020109729262-pct00007
를 계산하고 그리고 상기 매트릭스
Figure 112020109729262-pct00008
는 상기 렉티파이드 리니어 유닛이 상기 제 1 렉티파이드 리니어 유닛인 경우에 상기 점별 컨볼루션 레이어에게 출력으로 제공되거나, 또는 상기 렉티파이드 리니어 유닛이 상기 제 2 렉티파이드 리니어 유닛인 경우에 상기 뉴럴 네트워크의 다음 레이어에 출력으로 제공된다.
이 렉티피케이션 함수는 식별 정확성에 잠재적으로 부정적인 영향을 주는 이미지에서의 부분들을, 뉴럴 네트워크의 각각의 레이어 이후에 필터링하는 것을 허용한다. 따라서, 잘못된 식별들의 수 및 적절한 식별 정확성에 도달하기 위해 필요한 대응하는 반복의 수가 감소될 수 있어, 컴퓨터 리소스들을 절약할 수 있다.
상기 점별 컨볼루션 레이어는 매트릭스 P, P', 또는
Figure 112020109729262-pct00009
에서의 각각의 엔트리를 가중치 α와 곱함으로써 이전 레이어로부터 수신된 상기 매트릭스 I, P, P',
Figure 112020109729262-pct00010
에 대해 가중치 α를 적용하는 것이 제공될 수도 있다.
특징 맵에서 각각의 지점들에 대하여 동일한 가중치 α가 적용되지만, 이 실시예는 이미지에서의 일부분들(식별에 충분히 영향을 미치지 않을 매트릭스에서의 엔트리들에 대응)을 효율적으로 감쇠하는 것을 허용한다. 이 감쇠는 다음 사이클에서 이 부분들을 분류하고, 렉티파이드 리니어 유닛과 함께, 매트릭스에서 이러한 부분들의 절대적 기여를 감소시킴으로써 달성된다.
바람직한 실시예에서, 위에서 설명되는 방법들의 각각의 단계는 모바일 디바이스 상에서 수행된다.
이는 적어도 사용자의 식별 및 이미지의 프로세싱을 포함하는 위에서 설명된 방법의 단계들을 포함한다. 생체 인식 특성 또는 생체 인식 특징들 또는 이미지의 저장은 모바일 디바이스에 대하여 내부 또는 외부인 임의의 저장 디바이스에 의해 수행될 수 있다. 또한, 사용자를 식별하는 식별 단계는 예를 들어 회사의 서버와 같은, 모바일 디바이스와 상이한 디바이스 상에서 수행되는 것 또한 고려된다.
모바일 디바이스 상의 각각의 단계들을 독점적으로 실행함으로써, 예를 들어 실제 식별 프로세스가 실행되는 오픈된 서버로 데이터 전송을 위한 채널을 더 이상 유지할 필요가 없다.
본 발명에 따른 모바일 디바이스는 광학 센서, 프로세서 및 상기 모바일 디바이스의 상기 프로세서에 의해 실행되는 경우에 상기 프로세서로 하여금 위에서 설명되는 실시예들 중 어느 하나의 방법을 실행하도록 하는 실행가능한 명령들을 저장하는 저장 유닛을 포함한다.
도 1은 본 발명에 따른 사용자를 식별하기 위한 방법의 일반적인 개요를 도시한다.
도 2는 이미지로부터 추출된 생체 인식 특징을 이용하여 식별을 실행하는 보다 구체적인 다이어그램을 도시한다.
도 3은 일 실시예에 따른 이미지 내에서 객체를 식별하는 일반적인 처리 흐름을 나타내는 개략도를 도시한다.
도 4는 일 실시예에 따른 뉴럴 네트워크 내의 하나의 레이어의 구조 및 이 레이어 내에서 데이터를 처리하는 것을 개략적으로 도시한다.
도 5는 바운딩 박스들을 이용하여 손의 이미지를 처리하는 개략도이다.
도 6은 뉴럴 네트워크를 훈련시키는 프로세스를 도시한다.
도 7은 일 실시예에 따른 이미지를 획득하고 그리고 저 이미지 내에서 객체를 식별하기 위한 모바일 디바이스를 도시한다.
도 1은 사용자의 객체의 이미지를 이용하여 사용자를 식별하기 위한 발명에 따른 방법의 일반적인 개요를 도시한다. 방법은 이러한 객체의 이미지가 획득되는 단계 11에서 시작한다. 사용자의 이 객체는 이 생체 인식 특성(biometric characteristic)을 이용하여 사용자를 식별하도록 허용하는 생체 인식 특성을 가질 것이다. 구체적으로, 객체는 복수의 손가락 끝들 또는 사용자의 손 또는 손가락 끝이고 그리고 이미지로부터 획득되는 복수의 생체 인식 특성은 적어도 하나의 손가락 끝의 지문이거나 또는 예를 들어 2, 3, 또는 4개의 손가락 끝에 대한 지문들의 세트일 수 있다.
이 이미지는 카메라와 같은 광학 센서를 이용함으로써 획득될 수 있다. 가장 바람직하게는, 이 광학 센서는 일반적으로 이용가능한 스마트 디바이스의 광학 센서이다. 카메라는 1메가 픽셀 이상의 고 해상도 이미지들을 획득할 수 있는 카메라일 수 있다.
획득된 이미지는 보다 자세하게 뒤에서 설명될 것인 뉴럴 네트워크에 대한 단계 12에서 처리하기 위해 제공된다. 뉴럴 네트워크에 이미지를 제공하는 단계는 원거리 위치로 이미지를 제공하거나 또는 뉴럴 네트워크를 구현하는 대응하는 어플리케이션으로 모바일 디바이스 내부적으로 이미지를 전달 또는 포워딩(forwarding)하는 단계를 포함한다. 이는 서버 또는 기타 컴퓨팅 엔티티일 수 있다. 그러나, 이미지는 모바일 디바이스 내에서 상주하는 뉴럴 네트워크로 제공되는 것이 바람직하다.
단계 13에서, 이미지는 도 3 내지 도 6과 관련하여 이하에서 보다 상세하게 설명되는 것과 같이 뉴럴 네트워크에 의해 처리된다. 어느 경우든, 뉴럴 네트워크에 의해 이미지를 처리하는 단계는 이미지 내의 객체 자체 및 생체 인식 특성을 가지는 객체의 위치 둘 다를 식별하는 결과를 가져온다. 이는 예를 들어, 객체가 손가락 끝인 경우에 뉴럴 네트워크가 이미지 내의 손가락 끝을 식별하고(즉, 손가락 끝이 이미지 내에 존재하는지를 결정함) 그리고 이미지 내에서의 그 위치를 식별하는 것을 의미한다. 이미지 내에서의 손가락 끝의 위치를 식별하는 단계는 예를 들어, 손가락 끝에 속하는 모든 픽셀들을 식별하는 단계를 포함하거나 또는 전체 이미지와 동등하지 않은 이미지 내의 서브섹션(subsection), 예를 들어, 이미지의 전체 영역 중 10분의 1에 해당하는 섹션을 적어도 식별할 수 있다.
다음 단계 14에서, 생체 인식 특성이 식별된 객체로부터 추출된다. 이러한 추출은 예를 들어, 실제로 지문을 이루는 식별된 손가락 끝의 이러한 부분들만을 추출하는 단계를 포함할 수 있다.
그리고 이 생체 인식 특성은 추가적으로 처리될 수 있다. 이는 단계 15 및 단계 16으로 도시된다.
단계 15에서, 생체 인식 특성이 단지 저장된다. 생체 인식 특성을 저장하는 단계는 바람직한 비-휘발성 저장 디바이스 상에 생체 인식 특성을 저장하는 단계를 포함할 수 있다. 이 저장 디바이스는 모바일 디바이스 자체 내의 솔리드-스테이트 스토리지와 같은 저장 디바이스 또는 원격 저장 장소일 수 있다. 이 원격 저장 장소는 회사의 서버 또는 임의의 다른 원격 저장 장소일 수 있다. 이러한 경우에, 생체 인식 특성은 모바일 인터넷을 통하거나 또는 LAN 연결 또는 WLAN 연결 같은 데이터 전송 수단을 통해 데이터 패킷(이미지 또는 PDF 또는 숫자값들 등)의 형태로 포워딩된다.
임의의 방식으로 생체 인식 특성을 저장하는 단계 또는 대안적으로 단계 15에 따른 생체 인식 특성을 저장하는 단계에 추가적으로, 생체 인식 특성은 식별 수단으로 입력으로서 단계 16에 따라 포워딩될 수 있다. 이 식별 수단은 생체 인식 특성을 가지는 사용자의 객체의 이미지가 찍히는 모바일 디바이스 내에 상주하는 어플리케이션이거나 또는 이것은 사용자를 식별하기 위해 생체 인식 특성을 이용하고 그리고 소셜 네트워크, 은행 계좌 등으로 접속하는 단계와 같은 추가적인 단계들을 수행하는 로그인 서버 또는 다른 엔티티 같은 원격 식별 수단일 수 있다.
도 2는 객체가 적어도 하나의 손가락 끝으로 생체 인식 특성이 지문인 경우에 생체 인식 특성을 이용하여 사용자가 어떻게 식별되는지에 대한 보다 상세한 설명을 도시한다.
도 2에서의 방법은 생체 인식 특징이 손가락 끝으로부터 추출되는 단계 21로 시작하고, 결과적으로, 이들 단계들은 도 1에서 설명된 단계 14에서 생체 인식 특성을 식별된 객체로부터 추출하는 단계 이후에 적어도 수행된다.
손가락 끝으로부터 생체 인식 특징들을 추출하는 단계는 예를 들어, 지문의 특징점(minutia)의 유형 및 위치를 추출하는 단계를 포함할 수 있다. 이는 또한 매우 특정한 유형의 특징점(예를 들어, 지문에서 둘 이상의 선들이 교차하는 것)만을 추출하는 단계를 포함할 수 있다.
이 정보를 이용하여 사용자를 식별하기 위해, 대응하는 생체 인식 특징의 형태로 참조가 이용가능한 것이 물론 필요하다. 이러한 이유로, 도 1에 관련하여 이전에 설명된 바와 같은 식별 수단이 저장 디바이스와 연관되거나 또는 생체 인식 특징들이 특정 사용자들에 대하여 저장되는 저장 디바이스를 포함하는 경우일 수 있다. 예를 들어, 각각의 사용자에 대하여, 하나 이상의 생체 인식 특징들이 예를 들어, 이미지들 숫자값들 또는 다른 데이터 구조의 형태로 저장되는 파일이 존재할 수 있다.
단계 22에서, 지문으로부터 획득되는 생체 인식 특징은 상응하게 저장된 생체 인식 특징과 비교된다. 이는 저장된 생체 인식 특징이 추출된 생체 인식 특징에서 대응하는 위치들을 비교하는 다수의 특징정의 위치에 의해 나타나는 경우를 포함할 수 있다. 물론 저장된 생체 인식 특징과 획득된 생체 인식 특징을 비교하기 위한 다른 수단이 알려져 있으며 그리고 예를 들어, 이미지 인식 기술들, 주파수 변형 등이 사용될 수 있다. 획득된 생체 인식 특징과 저장된 생체 인식 특징을 비교하는 단계는 본 발명에 따라, 획득된 생체 인식 특징과 저장된 생체 인식 특징 사이의 일치 정도가 계산될 수 있는 방식으로 수행된다. 환언하면, 이 비교는 계산되는 획득된 생체 인식 특징과 저장된 생체 인식 특징 사이의 차이가 된다. 이 차이는 단일한 실수 또는 텐서(tensor), 벡터(vector) 또는 임의의 다른 수학적 구조일 수 있다. 또한 이것은 픽셀 당 픽셀 단위로 획득된 생체 인식 특징을 저장된 생체 인식 특징으로부터 감산하여 획득되는 차이 이미지(difference image)일 수도 있다.
획득된 생체 인식 특징이 저장된 생체 인식 특징에 대응하는지 여부를 결정하는데 사용될 수 있는 임계치가 제공되어, 사용자를 식별하도록 허용한다.
이에 대응하여, 단계 23에서, 획득된 생체 인식 특징과 저장된 생체 인식 특징 사이의 차이가 이 임계치 이하 또는 초과인지 여부가 결정된다. 이 임계치 이하인 경우에, 단계 25에서 사용자가 생체 인식 특징에 의해 식별되는 것으로 결정된다. 차이가 이 임계치를 초과하는 경우에, 대신 단계 24에서 사용자가 생체 인식 특징에 의해 식별되지 않는다고 결정된다.
그리고 이것은 사용자가 획득된 지문에 의해 식별되는지 또는 사용자가 획득된 지문에 의해 식별되지 않는지를 결정하는 식별 수단으로 귀결된다(result in).
도 1 및 도 2는 오직 하나의 지문이 사용자를 식별하기 위해 사용되고 이 지문이 이미지에 나타났던 경우에만 원래 찍힌 이미지로부터 획득되는 생체 인식 특성을 이용하여 사용자를 식별하기 위한 방식을 설명하였다.
그러나, 식별 수단이 단일한 손가락 끝을 평가할 수 있을 뿐만 아니라 사용자를 식별하기위해 이미지 상에 이용가능한 두개의 손가락 끝과 같이 하나 이상의 손가락 끝 또는 심지어 모든 손가락 끝들을 평가할 수 있다는 것이 또한 고려된다. 복수의 손가락 끝들의 지문 또는 단일한 손가락 끝으로부터 획득되는 생체 인식 특징이 식별 수단에 의해 저장된 생체 인식 특징에 매칭되는 방식은 도 2에 대해 설명된 것과 대응한다.
그러나, 하나 이상의 지문이 평가되는 경우에, 사용자가 생체 인식 특징들의 조합된(combined) 식별 정확성이 주어진 임계치를 초과하는 경우에만 식별되거나, 또는 사용자가 획득된 각각의 손가락 끝에 대하여, 도 2의 단계 22 및 단계 23에서 설명된 바와 같이 저장된 생체 인식 특징과의 획득된 생체 인식 특징의 비교가 단계 25의 결과로 이어지는 경우에만 식별되는 것일 수 있다.
마지막 케이스는 도 2에 대하여 설명되는 방법이 이미지에서의 모든 지문 상에 수행되고 그리고 각각의 획득된 지문에 대한 저장된 생체 인식 특징과 획득된 생체 인식 특징 사이의 차이가 주어진 임계치 이하인 경우에만 사용자가 식별되는 것으로 간단하다. 임의의 다른 경우에는, 사용자가 식별되지 않을 수 있다.
그러나, 이미지에서 모든 손가락 끝의 지문들의 조합된 식별 정확성이 주어진 임계치를 초과하는 경우에 사용자가 식별되는 경우에, 각각의 손가락 끝에 대하여 획득된 생체 인식 특징과 저장된 생체 인식 특정들의 비교 결과 차이가 도 2의 단계 23에 따라 임계치 이하일 필요가 없다.
예를 들어, 생체 인식 특징의 식별 정확성을 0(식별 없음) 내지 1 (획득된 생체 인식 특징과 저장된 생체 인식 특징 사이의 완전 매칭) 사이의 범위의 숫자로 고려하면, 조합된 식별 정확성이 각각의 생체 인식 특징에 대해 단독으로 획득된 개별(isolated) 식별 정확성들의 합에 의해 결정되는 경우에 조합된 식별 정확성이 4 미만의 값을 가질 수 있다.
예를 들어, 조합된 식별 정확성에 대해 대응하는 임계치가 3.5일 수 있다. 이 경우에, 예를 들어 각각의 지문에 대한 식별 정확성들이 이들 식별 정확성들의 합(즉, 조합된 식별 정확성)이 3.6이고, 따라서 각 임계치를 초과하기 때문에 각각의 지문에 대한 식별 정확성들이 대략 0.9인 경우에 사용자를 식별하기에 충분할 것이다. 다른 예시로서, 3개의 지문들이 0.95의 식별 정확성으로 식별되는 것으로 고려하면, 4번째 손가락이 0.75의 정확성으로만 식별되는 경우에 충분할 것이다.
식별 정확성은 획득된 생체 인식 특징과 저장된 생체 인식 특징 사이의 상대적인 유사 또는 대응 정도로 볼 수 있음에 유의한다. 따라서, 획득된 생체 인식 특징이 저장된 생체 인식 특징에 대하여 90% 대응하는 경우에 식별 정확성(즉, 사용자가 생체 인식 특징으로 얼마나 정확하게 식별되는지)는 0.9가 될 것이다.
식별 정확성에 대한 다른 값들 또는 임계치에 대한 다른 값들 또한 사용될 수 있음이 명백하다. 또한, 조합된 식별 정확성이 결정될 수 있는 다른 수단 또한 있다. 예를 들어, 조합된 식별 정확성은 식별 정확성들의 평균값을 결정하거나 또는 식별 정확성들의 곱을 결정함으로써 계산될 수 있다.
다음 도면들에서, 단계 12 내지 단계 12에 따라 생체 인식 특성들을 최종적으로 추출하기 위해 원래 획득된 이미지를 처리하는 단계가 보다 상세히 설명될 것이며, 그리고 또한 높은 정확성으로 손가락 끝들을 식별할 수 있도록 뉴럴 네트워크가 어떻게 훈련될 수 있는지에 대한 설명이 주어질 것이다.
도 3은 일 실시예에 따라 도 1의 단계 12 내지 단계 14의 구현에 대한 흐름의 개략도를 도시한다. 지금 설명되는 방법은 획득된 이미지 내에서 사용자의 생체 인식 특성을 지닌(carrying) 객체를 식별하도록 허용하도록 의도된다. 본 발명의 관점(sense)에서, 이 이미지는 바람직하게는 모바일 컴퓨팅 디바이스의 광학 센서에 의해 제 1 단계 101(도 1에서 단계 11에 대응)에서 획득된다. 이 모바일 컴퓨팅 디바이스는 스마트폰 또는 태블릿 컴퓨터 또는 다른 대응하는 디바이스일 수 있다. 광학 센서는 통상적으로 카메라일 것이나 적외선 카메라 또는 다른 광학 센서일 수도 있다. 이 카메라는 1 메가 픽셀(MP)의 해상도를 가지는 카메라이거나 또는 HD-카메라이거나 또는 더 낮은 해상도를 가질 수도 있다. 바람직하게는, 획득된 이미지의 해상도는 픽셀 당 3개의 컬러값들을 가지는 적어도 224 x 224이다.
획득된 이미지는 본 발명에 따른, 예를 들어 손가락 끝과 같은 객체에 관하여 식별될 뿐만 아니라 이미지 내의 그 위치에 관하여 식별되는 객체를 포함할 수 있다. 객체는 적절하게 사용자를 식별하도록 허용하는 사용자의 생체 인식 특성을 지니거나 또는 가지도록 의도된다. 이는 객체가 손가락 끝이나 또는 지문들을 가지는 손가락 끝들의 세트와 같은 객체이여야 함을 의미한다. 지문들은 사용자를 개별적으로 식별하는데 사용될 수 있으며, 즉 몇몇의 매우 특별한 경우 이외에, 지문은 각각의 사람에 대하여 고유하기 때문에 획득된 지문들에 기초하여 두 사람 사이를 구별하도록 허용한다.
“이미지”에 대하여 도 1 및 다음의 도면들을 참조하여 설명되지만, 본 발명은 실시간 객체 인식을 허용하므로, 요구되는 처리 시간이 수 밀리 초의 영역에 있어, 광학 센서에 의해 획득되는 라이브-스트림 또는 비디오에서와 같은 연속적인 이미지들에서의 객체들을 적절하게 식별하는 것을 허용한다. 따라서, 용어 “이미지”는 단일 이미지 뿐만 아니라 비디오 스트림과 같이 매우 짧은 시간 동안 연속적으로 획득되는 이미지를 지칭하는 것으로 이해되어야 한다.
실제로, 스마트폰에서 흔히 볼 수 있는 바와 같이, 카메라를 활성화하는 경우에 스마트폰의 사용자는 사진을 촬영하지도 않고 카메라의 실제 뷰를 제공받는다. 따라서 이 “예비 뷰”는 통상적으로 낮은 해상도로, 카메라에 의해 촬영되는 복수의 이미지로도 구성된다. 이들 이미지에 대해서도, 기술되는 본 발명의 방법이 사용될 수 있다.
본 방법의 제 2 단계 102에서, 획득된 이미지(또는 차례로 연속적으로 획득되는 이미지들)은 도 1의 단계 12에 따라 뉴럴 네트워크로 제공되며, 여기서 뉴럴 네트워크는 모바일 디바이스 상에 상주하는 것이 바람직하다 반드시 그런 것은 아니다.
뉴럴 네트워크는 모바일 디바이스 상에서 구동되는 어플리케이션(app) 또는 임의의 다른 프로그램에서 구현될 수 있다. 본 발명의 바람직한 실시예에서, 뉴럴 네트워크에 의해 수행되는 추가적인 프로세싱 및 본 발명의 방법에서 수행되는 임의의 다른 단계들은 모바일 디바이스 외부의 임의의 컴퓨팅 엔티티를 참조할 필요없이 수행되며, 따라서 모바일 디바이스의 “오프라인” 모드에서 본 방법을 수행하도록 허용한다.
단계 102는 이미지의 임의의 추가적인 프로세스 없이, 또는 직접적으로 뉴럴 네트워크의 대한 이미지의 임의의 전-처리 없이 이미지를 포워딩함으로써 실현될 수 있다. 그러나, 이 단계는 예를 들어 원래 획득된 이미지의 해상도가 변경되는, 특히 감소되는 이미지의 전-처리를 포함할 수도 있다. 특히 이미지 내에서 손가락 끝들을 식별하는 경우에 비교적 낮은 해상도의 224 x 224 x 3(“3”은 이미지의 3가지 컬러값들, 즉 블루, 레드 및 그린에 대응)를 가지는 것으로 충분하다는 것이 본 발명의 발견이다. 획득된 이미지가 손가락 끝들을 식별하는데 필요한 224 x 224 이미지 해상도 보다 큰 해상도를 가지는 경우에, 단계 102 또는 단계 102 및 단계 103 사이에 제공되는 단계는 이미지의 해상도를 감소시키는 단계를 포함할 수 있다. 이 전-처리는 밝기 조건을 변경, 이미지 내의 감마값을 변경 또는 적절하다고 여겨지는 임의의 다른 전-처리를 제공하는 것과 같은 다른 단계들을 포함할 수도 있다.
이미지가 단계 102에서 뉴럴 네트워크로 입력으로 제공된 후에, 이 입력은 이미지 내의 객체의 위치 및/또는 객체를 식별하도록 허용하는 출력이 생성되는 방식으로 뉴럴 네트워크에 의해 단계 103에서 처리된다. 객체가 손가락 끝인 경우에, 이는 이미지 내에 존재하는 적어도 하나의 손가락 끝이 식별되고(예를 들어 라벨의 형태로) 그리고 그 위치(예를 들어 손가락 끝을 구성하는 픽셀들의 좌표들)가 어떠한 식이든 출력으로 제공된다. 이후에 설명되는 바와 같이, 이는 손가락 끝에 대응하며 그리고 바운딩 박스가 손가락 끝 위로 겹쳐지는 위치에서 식별된 손가락 끝을 둘러싸며 그리고 포함하는 바운딩 박스를 제공함으로써 구현될 수 있다. 그리고 이미지에 대한 이 바운딩 박스의 좌표는 손가락 끝의 위치로 사용될 수 있다.
단계 103에서 입력(즉, 본질적으로 수신된 이미지)을 처리하는 단계는 뉴럴 네트워크를 이용함으로써 여러 가지 방식으로 용이하게 될 수 있다. 어떠한 경우든, 뉴럴 네트워크는 생체 인식 특성을 지닌 의도되는 객체들을 식별하기 위해 특별히 트레이닝된 훈련된 뉴럴 네트워크인 것으로 의도된다. 보다 바람직하게는, 뉴럴 네트워크는 광학 센서가 적어도 하나의 손가락 끝의 이미지를 촬영할 수 있는 한, 광학 센서에 대한 이들의 위치 및 배열에 관계없이 손가락 끝들을 입력 이미지 내에서 식별하도록 트레이닝된다. 프로세싱은 이후에 설명되는 바와 같이, 뉴럴 네트워크의 복수의 레이어들을 통한 입력의 프로세싱을 포함할 수 있다.
본 발명에 따라, 이는 제 1 중간 출력을 생성하기 위해 뉴럴 네트워크의 제 1 레이어에 의해 입력이 처리되고 제 1 중간 출력이 제 2 중간 출력을 생성하기 위해 뉴럴 네트워크의 처리 방향으로 제 1 레이어의 다음 레이어에 의해 처리되는 것을 적어도 포함한다. 그리고 제 2 중간 출력은 이것이 제 3 중간 출력을 생성하기 위해 처리되는 뉴럴 네트워크에서 다음 레이어로 포워딩되고 그리고 뉴럴 네트워크에서의 모든 레이어들이 이들의 대응하는 수신된 중간 출력을 처리할 때까지 계속된다. 뉴럴 네트워크에서 마지막 레이어는 이하에서 설명되는 바와 같이 단계 104에서 출력될 수 있는 “최종” 출력을 제공할 것이다.
또한, 본 발명에 따라, 뉴럴 네트워크의 각각의 레이어는 두 개의 컨볼루션 레이어들로 구성되어 뉴럴 네트워크의 각각의 레이어가 깊이별 가분 컨볼루션(depthwise separable convolution)으로도 지칭되는, 깊이별 가분 컨볼루션 필터를 나타낸다. 이 깊이별 가분 컨볼루션(즉, 뉴럴 네트워크의 레이어)는 깊이별 컨볼루션 레이어, 제 1 배치 노말라이저 및 제 1 렉티파이드 리니어 유닛을 깊이별 가분 컨볼루션을 통한 입력의 처리 순서로 포함한다. 제 1 렉티파이드 리니어 유닛 이후에 처리 순서에서, 점별 컨볼루션 레이어, 제 2 배치 노말라이저 및 제 2 렉티파이드 리니어 유닛이 제공되고, 여기서 렉티파이드 리니어 유닛으로부터 출력을 수신하는 처리 유닛 또는 제 2 렉티파이드 리니어 유닛은 뉴럴 네트워크의 다음 레이어로 중간 출력을 포워딩할 것이다.
뉴럴 네트워크의 모든 레이어들을 통해 이미지를 처리한 후, 객체 자체 및 위치를 최종적으로 식별할 출력이 생성된다.
이것은 네트워크의 출력이 출력인 단계 104에 따라 수행된다. 본 발명의 바람직한 실시예들에 따라, 이 출력은 식별된 객체 및 그 위치에 대한 사용자 피드백을 주기 위해 식별된 손가락 끝을 둘러싸는 바운딩 박스로 이 이미지가 증강될 수 있는 “수정된 이미지”일 수 있다.
그러나, 출력은 모바일 디바이스의 디스플레이나 또는 모바일 디바이스와 관련된 임의의 다른 디스플레이 상에 디스플레이될 필요는 없다. 실제로, 출력은 이미지에서 손가락 끝의 위치를 정확하게 식별하는 이하에서 설명될 매트릭스(matrix) 또는 텐서(tensor)의 형태로 제공될 수도 있고 이 매트릭스 또는 텐서는 식별된 손가락 끝에 추가적인 프로세싱을 적용하기 위해 이 정보, 구체적으로 손가락 끝을 식별하는 좌표들을 사용하는 추가적인 처리 모듈로 포워딩될 수 있다. 이 출력은 이후에 도 1의 단계 14에 따라 식별된 객체로부터 생체 인식 특성을 추출하기 위해 사용될 수 있다.
이 추가적인 프로세싱은 바람직하게는 사용자의 지문을 식별하기 위해 식별된 손가락 끝이 평가되는 것을 포함할 수 있다. 예를 들어, 손가락 끝으로부터 촬영되는 고 해상도 이미지를 고려하면, 본 발명은 제 1 단계에서 이미지에서 손가락 끝의 위치가 위에서 설명된 바와 같이 단계 101 내지 104를 포함하는 방법을 사용하여 식별되고 그리고 최종 출력이 지문을 식별하기 위한 고 해상도 이미지를 평가하기 위해 지문 및 그 위치를 식별하는 출력을 이용하는 추가적인 이미지 프로세싱 컴포넌트로 포워딩된다. 이는 사용자를 식별하는 데 사용될 수 있어, 예를 들어 도 2를 참조하여 설명되는 바와 같이 추가적인 프로세스들의 보안성을 증가시킨다. 예를 들어, 사용자가 그의 모바일 디바이스를 이용한 은행 송금을 위해 그 자신을 식별하기 위해 본 발명의 방법을 이용하는 경우, 본 발명의 방법은 사용자의 지문이 이 사람을 고유하게 식별하기 때문에 각각의 사용자의 정확하고 고유한 식별을 허용함으로써 은행 송금의 보안성을 증가시킬 수 있다.
본 발명은 손가락 끝을 식별하기 위한 대응하는 방법을 이용하여 은행 송금을 수행하는 것에 한정되지 않고, 사용자의 인증 및 식별을 필요로 하는 모바일 디바이스의 기능들 또는 임의의 다른 활동에 접속하기 위해 사용자를 식별하는 데 사용될 수도 있다.
도 4는 본 발명의 일 실시예에 따른 뉴럴 네트워크의 하나의 레이어(200)에서의 수신된 입력의 내부 프로세싱을 도시한다. 이 레이어(200)는 뉴럴 네트워크를 통한 원래 입력의 처리 순서로 위에서 설명된 단계 102이후에 원래 입력을 수신하는 제 1 레이어 또는 뉴럴 네트워크의 2개의 추가 레이어들(240 및 250) 사이에 배치되는 임의의 중간 레이어 또는 레이어(200)는 결국 도 1을 참조하여 설명된 바와 같이 단계 104에 따른 출력을 제공하게 될 뉴럴 네트워크의 마지막 레이어일 수도 있다.
어떤 경우든, 레이어(200)는 적어도 어떻게든 원래 획득된 이미지에 대응하는 입력(230)을 수신하게 될 것이다. 이 입력은 바람직하게는 N X M 크기를 가지는 적어도 하나의 매트릭스의 형태로 제공되며, 여기서 N 및 M은 0 보다 큰 정수들이다. 이 매트릭스는 예를 들어, 적어도 하나의 컬러값(예를 들어, 레드)에 대한 이미지에서의 픽셀들을 나타낸다. 따라서 이 매트릭스에서 엔트리들은 이 특정 픽셀의 개별적인 컬러(이 예시적인 경우에서 레드)의 값들에 대응하는 값들을 가질 수 있다. 이하에서 명확해지는 바와 같이 입력은 획득된 이미지와 동일하지 않을 수 있지만 뉴럴 네트워크에서의 레이어들을 통한 몇몇의 프로세싱 또는 몇몇의 전-처리(예를 들어 위에서 설명한 바와 같이 해상도에서의 감소)에 의해 원래 이미지를 나타내는 매트릭스로부터 획득되는 매트릭스 P일 수 있다.
그러나, 논의의 편의를 위해, 입력(230)은 원래 획득된 이미지를 나타내는 N x M에 대응하는 것으로 가정되고 이 N x M 매트릭스에서의 각각의 엔트리는 각각의 이미지에서 픽셀의 컬러(예를 들어, 레드)의 값에 대응한다. 원래의 N x M 매트릭스로부터 유래되고 그리고 뉴럴 네트워크의 레이어들에서 이 매트릭스를 처리함을 통해 획득되는 임의의 다른 변환된 매트릭스에 이 교시를 적용하는 것은 간단하다.
도 4에서 예시되는 프로세스에 이어, 입력(230)은 프로세싱을 위해 깊이별 컨볼루션 레이어(211)에 의해 수신된다. 다음으로, 입력 매트릭스(230)가 깊이별 컨볼루션 레이어에 의해 어떻게 처리될 수 있는지에 대하여 비교적 간단한 예시가 주어진다. 이는 커널 K가 매트릭스와의 내적들을 계산하는데 사용되는 것을 포함할 수 있다. 커널은 소위 “스트라이드(stride)들”로 매트릭스에 대해 작동한다(run). 다음의 예시는 수평 및 수직 스트라이드 너비 1에 대한 값들을 이용하지만, 스트라이드 너비들이 0 보다 큰 1 보다 크다면 임의의 다른 값이 사용될 수 있다. 커널 K는 S x T의 크기이고, 여기서 S 및 T는 정수들로 N 및 M 보다 작다.
또한, N x M 크기의 원래의 입력 매트릭스(즉, 입력 매트릭스(230))만이 커널과의 내적을 계산하기 위해 사용되는 것으로 가정될 것이다. 그러나, 확장된 매트릭스 Z가 커널과의 내적을 계산하기 위해 사용될 수 있다. 이 확장된 매트릭스 Z는 원래의 매트릭스 I의, 첫번째 행 위와 마지막 행 아래 뿐만 아니라 첫번째 열의 왼쪽 및 마지막 열의 오른쪽에 행들과 열들을 “부착함(attaching)”에 의해 획득될 수 있다.
이는 “패딩”으로 지칭된다. 패딩은 개수 Pw의 행들이 행 방향으로 부가되고 그리고 개수 Ph의 열들이 열 방향으로 부가된다. 개수 Pw개는 S-1가 같고 그리고 개수 Ph는 T-1과 같을 수 있어, Z 와 커널 사이에 계산되는 임의의 내적은 원래 매트릭스 I의 적어도 하나의 엔트리를 포함하게 된다. 따라서, 결과적인 매트릭스 Z는 (N+2Pw)X(M+2Ph) 크기일 수 있다. 이러한 관점에서, 매트릭스 Z는 다음과 같은 엔트리들을 가지게 된다.
Figure 112020109729262-pct00011
이러한 문맥에서, 모든 내적들을 계산하고 이들을 행들 및 열들에 따라 적절히 배열함으로써 획득되는 새로운 매트릭스는 일반적으로
Figure 112020109729262-pct00012
크기가 되며, 여기서 Ww 및 Wh는 각각 행들의 방향 및 열들의 방향에서 스트라이드 너비를 정의한다. 오직 이들 패딩들 및 이들 스트라이드 너비들이 새로운 크기에 대한 정수들을 생성하는 크기 SxT의 주어진 커널 K에 대해 허용된다는 것이 명백하다. 또한 스트라이드 너비들 Ww 및 Wh은 바람직하게는 각각 S 및 T 보다 작으며, 그렇지 않으면 커널은 원래의 매트릭스 몇몇의 행들 또는 열들이 새로운 매트릭스를 계산하는데 제외되는 방식으로 매트릭스 I에 걸쳐 이동하게 된다.
논의의 편의를 위해, 원래 매트릭스 I에 패딩이 제공되지 않고 스트라이드 너비는 수평 및 수직 스트라이들에 대하여 1인 것으로 이하에서 가정될 것이다. 또한, 커널은 SxS 크기인 매트릭스, 즉 S=T로 가정되는 특수한 케이스로 가정될 것이다. 임의의 패딩 및 스트라이드 너비 뿐만 아니라 임의의 커널 크기에 대한 이하에서 주어진 설명들을 적용하는 것은 이하에서 교시로 간단하다.
깊이별 컨볼루션 레이어(211)에서, 수신된 입력 매트릭스 230는 S<N,M인 크기 S x S를 가지는 커널 K과 내적을 형성하는데 사용된다. 내적은 원래의 N x M 매트릭스에서 각각의 감소된 매트릭스에 대해 계산되고, 여기서 감소된 매트릭스는 S x S의 크기이고 그리고 코히런트 엔트리들(coherent entry)들을 포함한다. 예를 들어, S=3으로 고려하면, N x M의 원래 매트릭스의 제 1 감소된 매트릭스 R은 i =1,2,3; j=1,2,3 엔트리들을 포함하여 감소된 매트릭스 (N x M)s는 9개의 엔트리들로 구성되고 그리고 커널 K와의 내적이 계산되어 단일 숫자가 된다. 원래의 N x M 매트릭스의 행들의 방향으로 다음의 감소된 매트릭스는 i가 1만큼 증가한 매트릭스로, 이 방향에서의 다음 매트릭스는 i=2,3,4; j=1,2,3인 원래의 N x M 매트릭스에서의 항목으로 구성된다. 그리고 이 매트릭스는 커널과의 다음 내적을 계산하는데 사용될 수 있다. 주어진 예시인 S=3인 S x S 매트릭스는 단지 하나의 예시이고 다른 커널들이 또한 사용될 수 있다는 것이 알 수 있다.
열들 및 행들의 방향으로 (N x M)s 크기의 다음 감소된 매트릭스 R을 계산하기 위해, 원래의 N x M 매트릭스에서의 항목들의 인덱스 J는 1만큼 증가된다. 이것은 행들의 방향으로 마지막 감소된 매트릭스까지 수행되며, 여기서 S=3인 경우에 i = N - S + 1, N - S + 2, N - S + 3이다. 열에 대해, 이것은 대응하는 방식으로 수행되고, 여기서 j = M - S + 1, M - S + 2, M - S + 3이다. 이들 내적들을 계산함으로써 새로운 매트릭스인, (N - S + 1) × (M - S + 1) 크기를 가지는 매트릭스 P가 계산된다. 이들 엔트리들 Pij는 원래의 N x M 매트릭스의 대응하는 감소된 매트릭스 및 커널 K로 계산되는 각각의 내적에 대응한다. 이 크기의 매트릭스는 실제로 레이어(200)의 점별 컨볼루션 레이어로 포워딩되게 된다.
커널 K는 학습 프로세스를 통해 획득되는 엔트리를 구성하고, 여기서 뉴럴 네트워크는 의도되는 객체들을 적절하게 식별하기 위해 트레이닝된다. 뉴럴 네트워크의 레이어(200)에서 사용되는 커널 K는 각각의 뉴럴 네트워크의 다른 레이어들에서 사용되는 커널들의 엔트리들 및 크기가 반드시 동일할 필요는 없다. 또한, 커널에서의 엔트리들은 서로 동일한 필요는 없지만 적어도 0 과 같거나 또는 보다 큰 숫자들로 구성된다. 엔트리들은 뉴럴 네트워크의 학습을 통해 획득되는 “가중치들”을 나타내는 것으로 간주될 수 있다.
깊이별 컨볼루션 레이어에 의한 매트릭스(230)의 처리 결과는 행의 방향으로 Δi =1, 열의 방향으로 Δj =1의 거리를 가지는 원래의 N x M 매트릭스 위로 스트라이드들로 이동되는 경우에 위에서 설명한 바와 같이, (N - S + 1)×(M - S + 1) 크기를 가지는 매트릭스(231)이다. 그러나, 이 경우에, 이들 스트라이드들은 Δi =2 or Δ=3와 같은 더 긴 거리를 가지고(그리고 잠재적으로 열들에 상응하게), 결과(231)의 차원(dimension)은 위에서 설명된 바와 같이 대응하여 변화한다.
추가적인 프로세싱에서, 결과(231)는 깊이별 컨볼루션 레이어(211) 이후에 도 4에서 화살표로 표시되는 처리 순서에 따르는 제 1 배치 노말라이저(212)로 포워딩된다. 배치 노말라이저는 수신된 결과 매트릭스(231)를 노말라이즈하려고 시도한다. 이는 (N-S+1)×(M-S+1) 매트릭스에서의 각각의 엔트리들에 대해 합을 계산하고 그리고 (N-S+1)×(M-S+1) 매트릭스에서의 엔트리의 수로 이를 나눔으로써 달성된다. 대응하는 항목 Pij 매트릭스를 가지는, (N - S + 1)×(M - S + 1)에 대한 평균값 V(이하에서 P로 표시)는 다음과 같이 주어진다.
Figure 112020109729262-pct00013
여기서 n 및 m은 매트릭스 P에서 행들 및 열들의 수 또는 N x M에서의 행들/열들 및 줄들의 수를 나타낸다. 항목들 Pij는 매트릭스 P의 엔트리들이고 여기서 주어진 항목 Pij는 행 i 및 열 j의 매트릭스에서의 구성요소이다.
그리고, 배치 노말라이저는 평균값 V를 원래 매트릭스에서 각각의 엔트리 Pij로부터 뺌으로서 감소된 매트릭스 P'를 계산하여 P'ij=Pij-v가 된다. 이에 의해, 감소된 매트릭스 P'에서 값들은 노말라이즈되어 한 방향 또는 다른 방향의 이상값(anomaly)들(매우 큰값들 또는 매우 낮은 값들)이 필터링된다.
제 1 배치 노말라이저(212)에 의해 생성되는 결과(232)는 지금까지 매트릭스의 추가적인 차원 감소가 수행되지 않았기 때문에 (N - S + 1)×(M - S + 1) 크기를 여전히 가지는 매트릭스(도 4에서 주어진 예시에서)이다.
그리고 결과(232)는 제 1 배치 노말라이저(212)를 따르는 제 1 렉티파이드 리니어 유닛(213)에 제공된다.
렉티파이드 리니어 유닛은 새로운 매트릭스 엔트리들
Figure 112020109729262-pct00014
를 계산함으로써 매트릭스(232)에서 각각의 엔트리들을 추가로 변형시키며, 여기서
Figure 112020109729262-pct00015
이는 배치 노말라이저를 통과한 이후에 0으로 설정되어, 이하에서 설명되는 바와 같이 깊이별 컨볼루션 레이어에서 추가적인 프로세싱에 대하여 더 추가적인 영향을 가지지 않는0 보다 작은 값들이 생성된다. 이는 예를 들어, 배치 노말라이저에서 계산되는 평균값 이하인 컬러값들이 더이상 고려되지 않으며 그리고 평균값 V에 적어도 대응하는 값들만이 계산에서 다음 단계의 결과물에 영향을 미친다는 것을 의미한다.
따라서 제 1 렉티파이드 리니어 유닛(231)에 의해 출력되는 결과(233)는 여전히 (N -S + 1) × (M - S + 1)의 모양/크기의 매트릭스이고 그리고 이 매트릭스는 점별 컨볼루션 레이어(221)에 포워딩된다.
이 점별 컨볼루션 레이어(221)는 결과(234)를 생성한다. 이 결과(234)는 (N - S + 1)×(M - S + 1) 매트릭스(233)에서 각각의 엔트리를 취하고 가중치 α와 이 엔트리를 곱함으로써 점별 컨볼루션 레이어(221)에 의해 생성된다. Α는 바람직하게는 임의의 경우에 0 보다 큰 수이고 그리고 이 수는 (N - S + 1) × (M -S + 1) 매트릭스에서 각각의 엔트리에 대해 동일하다. 따라서 점별 컨볼루션 레이어(221)로부터 획득되는 결과(234)는 동일한 크기 (N - S + 1) × (M - S + 1)를 가지는 매트릭스이고 여기서 각각의 엔트리는 가중치 α와 곱해진다.
그리고 결과(234)는 제 2 배치 노말라이저(222)에 제공되고 여기서 이것은 제 1 배치 노말라이저(212)에서 설명된 바와 같은 방식으로 노말라이즈되며, 그리고 결과(235)와 같은 차원의 노말라이즈된 매트릭스 P'가 계산되고 이 매트릭스/결과(235)는 제 2 렉티파이드 리니어 유닛(223)으로 포워딩되고 여기서 렉티피케이션 함수가 결과/매트릭스
Figure 112020109729262-pct00016
(236)를 획득하기 위해 적용되며, 이는 뉴럴 네트워크에서 다음 레이어로 포워딩되거나 또는 뉴럴 네트워크에서 다음 레이어가 없는 경우, 결과(236)가 출력으로 제공된다.
지문들을 식별하기 위해, 도 4에서 설명되는 레이어(200)와 동일한 13개의 레이어들이 가장 적합하며, 이는 지문들 및 이들의 위치에 대한 비교적 높은 식별 정확성을 결과로 하는 반면에 각각의 방법을 구현하기 위해 적은 컴퓨터 리소스들을 요구하며 이는 모바일 디바이스들에 이를 좀 더 적용 가능하도록 한다는 것이 본 발명의 발견이다.
도 5는 여러 바운딩 박스들 및 그리드들 내로의 원래 이미지의 분리를 이용하여 지문(특히 지문들을 이루는 원래 이미지에서의 픽셀들)의 식별을 허용하기 위해 도 4에서 설명되는 개념을 확장하는 추가적인 실시예를 도시한다. 이하에서 설명되는 단계들은 뉴럴 네트워크의 각각의 레이어에서 원래 이미지를 처리한 이후나 이미지가 뉴럴 네트워크의 마지막 레이어에서 처리된 이후에만, 따라서 도 3의 단계 104에 따라 출력을 출력하기 직전에 수행될 수 있다는 점을 알 수 있다.
도 5에서 설명되는 실시예는 뉴럴 네트워크의 레이어로부터 수신되는 출력에 기초하여 본 발명에 따라 높은 정확성으로 지문들 또는 다른 객체들을 완벽하게 식별할 수 있는 이미 학습된 뉴럴 네트워크를 가정한다.
도 5의 실시예에 따라, 뉴럴 네트워크의 레이어로부터 수신되는 출력은 여전히 지문을 비교하는 손(350)의 이미지(300)의 형태로 나타날 수 있다고 가정한다. 비록 “이미지”에 대해서만 설명되지만 이미지 대신에 도 2에서 설명되는 바와 같은 출력 매트릭스들 중 하나가 사용될 수 있음이 명백하다.
제 1 단계에서, 수신된 이미지(300)는 복수의 그리드 셀들(310, 311 및 313)로 분리된다. 각각의 방향에서 그리드 셀들의 수는 한정되지 않으나, 바람직한 실시예에서, 이미지(300)는 수평 방향으로 13개의 그리드 셀들 및 수직 방향으로 13개의 그리드 셀들로 분리되어 일반적인 Q x R 그리드 대신 13 x 13 그리드가 생성된다.
다음 단계에서, 각각의 그리드 셀의 중심점(330)이 식별되어 임의의 다른 그리드 셀들로부터 분리된 각각의 그리드 셀들에 대한 좌표 시스템의 원점을 설정하는데 사용된다. 이 중심점(330) 주변에 통상적으로 직사각형의 모양을 가지게 되는 적어도 하나의 바운딩 박스(331 및 332)가 배치되고 여기서 이들은 그리드 셀(313)에서 볼 수 있는 바와 같이, 초기 높이 h0 및 너비 또는 폭 b0을 가진다. 각각의 그리드 셀에서 복수의 바운딩 박스들에 대해, 이들 값들은 서로 상이할 수 있다. 예를 들어, 초기 값들 ho 및 bo는 그리드 셀 당 가장 작은 바운딩 박스에 대해 취해질 수 있고 그리고 이들 값들은 각각의 그리드 셀에서 다른 바운딩 박스들의 치수들을 계산하기 위해 인자 1.5 또는 2나 임의의 다른 값들만큼 증가될 수 있다.
바운딩 박스의 위치, 예를 들어 각각의 그리드 셀의 좌표 시스템에서 바운딩 박스(331)는 중심점(330), 즉 각각의 그리드 셀에서 각각의 좌표 시스템의 원점에 대한 바운딩 박스(331)의 중심점의 위치로 나타나지게 된다는 것을 알 수 있다. 따라서, 그리드 셀(311)에서 각각의 바운딩 박스의 위치는 두개의 좌표들 x 및 y에 의해 표시될 수 있다. 바운딩 박스의 너비 및 높이는 바운딩 박스의 기하학적 특성을 나타내는 것으로 간주되며, 이는 0 보다 큰 두개의 값들로 표시될 수 있다.
이들 바운딩 박스들은 지문의 위치를 식별하기 위해 이후에 사용될 것이므로, 바운딩 박스가 식별될 각각의 지문들을 포함할 가능성인 5번째 값을 각각의 이들 바운딩 박스들로 연관시키는 것이 적절하다.
따라서, 각각의 바운딩 박스는 다음의 형식의 5차원의 벡터에 의해 표시될 수 있다.
Figure 112020109729262-pct00017
이는 이들 각각의 바운딩 박스들과 함께 그리드 셀들이 Q×R×B×A 차원을 가지는 텐서 T의 형태로 표시될 수 있다는 것을 의미하고, 여기서 A는 그리드 셀 당 바운딩 박스들의 수이다. 지문들을 식별하기 위한 가장 바람직한 경우에서, Q = R = 13, B = 5 (벡터 B의 차원)이고 그리고 A는 3 내지 10 사이, 바람직하게는 5인 정수로 설정될 수 있다.
위에서 설명한 바와 같이, 뉴럴 네트워크는 특정 객체, 바람직하게는 지문을 식별하기 위해 이미 완전하게 학습되었다고 가정된다. 이는 뉴럴 네트워크가 가장 높은 확률로 지문을 나타내는 픽셀들의 특정 패턴을 식별할 수 있다는 것을 포함한다. 이는 컬러값들 또는 이 지점들의 밝기와 같은 다른 특성들의 특정한 패턴들을 의미할 수 있다. 그러나, 이미지(300)는 뉴럴 네트워크를 학습시키기 위해 사용되었던 지문에 대한 크기 및 배치와 일치하지 않을 수 있는 손가락 끝을 임의로 표시할 수 있다는 것이 명백하다.
그러나, 그리드 및 바운딩 박스의 도움으로, 뉴럴 네트워크가 손가락 끝을 가장 높은 확률로 포함하는 특정 바운딩 박스를 식별하는 것이 가능하다. 이 특정 바운딩 박스를 식별하기 위해, 뉴럴 네트워크(또는 이미지(300)를 처리하는 관련 컴포넌트)는 뉴럴 네트워크에 의해 이전에 학습된 바와 같이 손가락 끝에 대응하는 픽셀들의 패턴에 각각의 그리드 셀의 각각의 바운딩 박스 내의 픽셀들의 값들을 비교한다. 이 제 1 스테이지에서, 완벽한 매칭이 발견된 가능성은 거의 없지만 다른 바운딩 박스들 보다 손가락 끝의 적어도 일부를 포함할 가능성이 이미 있는 바운딩 박스들이 있을 수 있다.
도 5에서 설명되는 경우에, 예를 들어, 그리드 셀(313)에서 점 M을 중심으로 하는 바운딩 박스(341)는 손(350)의 손가락 끝의 일부를 포함한다. 이와 대조적으로, 그리드 셀들(310 및 311)은 손가락 끝의 일부를 포함하는 바운딩 박스들을 포함하지 않는다. 본 발명이 바운딩 박스(341) 및 잠재적으로 바운딩 박스(340) 내의 픽셀 값들을 계속 평가하는 경우에, 프로세스는 바운딩 박스(341)가 바운딩 박스(340) 보다 손가락 끝에 대응하는 더 많은 패턴을 포함한다고 결정할 수 있다.
이 관점에서, 본 방법은 바운딩 박스들(331 및 332)(및 잠재적으로 다른 그리드 셀들에서 다른 바운딩 박스들)이 손가락 끝을 포함하지 않는다고 결정할 수 있고 그리고 이들의 대응하는 B-벡터에서 이들의 확률값을 0으로 설정할 수 있다.
점 M을 중심으로 하는 바운딩 박스들(340 및 341) 둘 다는 손가락 끝의 적어도 일부를 포함하므로, 이들은 실제로 높은 확률로 손가락 끝을 포함하는 것으로 간주될 수 있고 확률값은 제 1 단계에서 0 보다 크게 될 수 있다.
더 작은 그리드 셀(340)이 손가락 끝에 대응하는 패턴으로 거의 완전히 채워지지만, 더 큰 바운딩 박스(341)의 좌측 경계만이 프로세스에 의해 손가락 끝에 대응하는 패턴을 포함하는 것으로 간주될 수 있다.
이를 통해, 본 방법은 실제로 손가락 끝에 대응하는 학습으로부터 획득되는 패턴에 각각의 바운딩 박스들(341 및 340) 내에서 식별되는 패턴 사이의 차이를 결정하는 손실 함수(loss function)를 계속 계산할 수 있다.
다음 단계에서, 본 방법은 각각의 바운딩 박스들의 크기 및 위치를 수정함으로써 이 차이를 최소화하려고 시도하게 된다. 이와 관련하여, 보다 큰 바운딩 박스(341)가 시작점으로 사용되어 그 위치 및 형태들이 변형되거나, 또는 보다 작은 바운딩 박스(340)가 시작점으로 시작되어 그 위치 및 크기가 변형되어 학습된 패턴에 대한 차이를 최소화하게 된다.
최소화 프로세스는 먼저 각각의 그리드 셀의 중심점 M을 중심으로 도 3에서 도시되는 바와 같이 먼저 x-축을 따르고 그 다음 y-축을 따라(또는 그 반대로) 수직인 방향으로 이를 소량 이동시킴으로써 바운딩 박스(이후에서 바운딩 박스(341)는 추가적인 계산에 사용되는 것으로 가정됨)의 위치를 수정하는 단계를 포함한다. 이 이동은 각각의 위치에서 양 및 음의 x-축 및 y축을 따르게 될 것이며, 이미지에서 식별되는 실제 패턴과 학습으로부터 획득된 패턴 사이의 차이 함수를 결정하기 위해 비교가 이루어진다. 이는 좌표들에 따라 차이 d(x, y)를 나타내는 2-차원 함수를 계산하는 것을 허용한다.
이에 기초하여, 좌표 시스템에서 어느 방향을 향하는지 결정하는 것을 허용하는 그레디언트
Figure 112020109729262-pct00018
이 계산될 수 있고, 바운딩 박스는 학습된 패턴과의 매칭을 증가시키고 바람직하게는 최대화하도록(함수 d(x, y)의 값들을 최소화하는 것에 대응) 이동되어야 한다. 이는
Figure 112020109729262-pct00019
대한 경우일 것이다.
이는 바운딩 박스가 함수 d(x, y)가 최소값을 가지는 새로운 중심점 M'에 대한 방향 r을 따라 이동되게 한다. 다음 단계에서, 하나 또는 두 방향에서 크기를 증가 또는 감소시키는 것이 높이 h 및 너비 b에 e(h, b)로 표시될 수 있는 원래 패턴에 비교되는 추가적인 차이 함수의 값을 변화시키는지 여부를 결정하기 위해, 위치 M'에서 각각의 바운딩 박스의 크기가 증가되고 감소된다. 이 함수가 최소화되어 특정 바운딩 박스가 위치 M'를 가지고 높이 hf 및 너비 bf를 가지게 되고, 학습된 패턴에 대한 차이가 최소화된다.
그리고 이 바운딩 박스는 각각의 손가락 끝을 포함하는 이미지의 이 부분들을 식별하는데 가장 큰 확률 p를 가지는 최종 바운딩 박스로 사용되게 된다. 그리고 이 바운딩 박스에 대한 출력은 다음 형식을 가지게 된다
Figure 112020109729262-pct00020
이 프로세스의 결과로, 그리드 셀에서 각각의 바운딩 박스에 대해, 그리드 셀의 중심 뿐만 아니라 각각의 바운딩 박스의 높이 및 너비에 관한 대한 x 및 y 위치와 손가락 끝을 식별하거나 포함할 그 확률이 주어지는 차원 Q×R×B×A를 가지는 텐서 T가 출력이다.
동일한 방향으로 이동되어 이들이 서로 중첩되도록 하는 인접한 그리드 셀의 바운딩 박스들의 이동을 방지하고 그리고 상이한 그리드 셀들의 바운딩 박스들이 다른 그리드 셀들로 이동하는 것을 방지하기 위해, 바운딩 박스의 중심의 이동이 그 원래 그리스 셀 내에서만 가능하도록 본 방법이 제공될 수 있다.
그리고 이 결과는 복수의 벡터 B를 포함하는 텐서이고 여기서 이들 벡터들 중 하나 이상은 손가락 끝을 식별하는 높은 확률을 가지는 반면에 다른 것들은 낮은 확률을 가진다. 낮은 확률을 가지는 것들은 이들의 대응하는 값들 모두를 0으로 설정함으로써 완전히 무시될 수 있어, 텐서를 처리하는데 있어서 필요한 처리 노력을 줄이게 된다.
그리고 가장 높은 확률을 가지는 벡터들 B는 지문을 식별하기 위해 손가락 끝을 처리함으로써 이미지 및 예를 들어 모바일 디바이스의 사용자를 식별하기 위해 지문을 식별하는 구체적인 이미지의 이들 부분들을 추가적으로 처리하는 것을 허용하기 위해 사용되게 된다.
위의 접근법이 지문과 같은 식별된 생체 인식 특성을 추가로 처리하는데 사용될 바운딩 박스를 적절하게 식별하는 것을 허용하나, 폐기되어야 하는 바운딩 박스들에 관하여 추가적인 설명이 제공된다.
위에서 설명된 바와 같이, 바운딩 박스의 벡터 b는 각각의 바운딩 박스가 손가락 끝을 포함하거나 나타낼 확률을 표시하는 확률 p를 포함한다. 이는 가장 높은 확률 p를 가지는 이들 벡터 b로 시작하는 내림차순으로 모든 바운딩 박스들을 분류하는데 사용될 수 있다.
이렇게 하여, 가장 높은 값 p를 가지는 바운딩 박스로 시작하는 내림차순으로 목록이 순회(traversed)될 수 있다. 이 순회는 목록에서 값 p를 가지는 특정 바운딩 박스를 선택하는 단계 및 이 특정 바운딩 박스에 대해 나머지 모든 바운딩 박스들과의 교차량을 계산하는 단계를 포함할 수 있다. 이는 선택되는 특정 바운딩 박스의 영역이 나머지 바운딩 박스들의 영역과 비교되고 이들이 공유하게 되는 임의의 영역들이 계산된 교차(intersection)에 기여한다.
교차량은 선택된 바운딩 박스의 영역에 대한 비율로 계산될 수 있다. 이로 인해, 0(교차 없음)에서부터 1(고려되는 나머지 바운딩 박스가 선택된 바운딩 박스의 영역과 완전히 교차하거나 또는 덮게 됨)의 범위인 각각의 계산된 교차에 대해 무차원(dimensionless) 값이 획득된다.
다음 단계에서, 미리 설정된 임계치는 바운딩 박스들을 무시 또는 폐기하거나 이들을 분류하는데 사용될 수 있다. 위의 예시에서, 임계치는 0.75의 계산된 교차일 수 있다. 교차가 이 임계치를 초과하게 되는 선택된 바운딩 박스와 나머지 바운딩 박스의 모든 계산된 쌍에 대하여, 보다 낮은 값 p를 가지는 바운딩 박스는 위에서 언급된 목록으로부터 분류 제외되거나 무시될 수 있다.
이는 최종적으로 손가락의 손가락 끝을 나타내게 될 단 하나의 바운딩 박스만이 남도록 한다. 물론, 이는 얼마나 많은 손가락들이 이미지에서 보이는지 여부에 따라, 잔여 바운딩 박스들이 4개까지 되도록 한다.
도 6에서, 도 4와 관련하여 설명된 가중치 α 및 커널 K의 가중치 뿐만 아니라 실제로 손가락 끝을 식별하는 패턴이 뉴럴 네트워크에 의해 학습되도록 어떻게 뉴럴 네트워크가 적절하게 트레이닝 되는지에 대하여 이제 설명될 것이다.
도 6의 방법은 미리 설정된 바운딩 박스들(408) 및 트레이닝 데이터(401)의 제공으로 시작한다. 트레이닝 데이터는 다른 객체들과 함께 하나의 이미지에서 도시되는, 예를 들어 손가락 끝 또는 복수의 손가락들의 복수의 이미지들로 구성될 수 있다. 이 이미지들은 트레이닝 데이터에 도입되는 동일한 이미지로부터 회전시킴, 강조 표시함(highlighted), 어둠게 함(darkened), 확대함, 또는 다른 변형된 카피들을 이용하여 수정될 수 있다. 항목(408)에 따라 제공되는 바운딩 박스들은 트레이닝 데이터에서 각각의 이들 이미지에 대응하는 바운딩 박스들이고 여기서 이들 바운딩 박스들은 식별될 객체들과 정확하게 연관된 바운딩 박스들로, 즉 도 5에 대하여 설명된 바와 같이 대응하는 확률값 및 정확한 위치 및 정확한 크기를 가진다. 이러한 바운딩 박스들은 트레이닝 데이터에서 각각 그리고 모든 이미지에 대하여 제공된다.
다음 단계에서, 하나의 특정 입력 이미지(402)가 트레이닝 환경에서 뉴럴 네트워크로 제공되고, 여기서 뉴럴 네트워크 이외에, 옵티마이저(optimizer)(407) 및 손실 함수 계산기(loss function calculator)(406)가 제공된다.
입력 이미지는 제 1 라운드에서, DCBR로 요약되는(summarized), 깊이별 컨볼루션 레이어, 제 1 배치 노말라이저, 뿐만 아니라 제 1 렉티파이드 리니어 유닛(403)을 이용하여 처리되고, 그리고 PCBR로 요약되는, 점별 컨볼루션 레이어, 제 2 배치 노말라이저 및 제 2 렉티파이드 리니어 유닛으로 전송되며, 여기서 이들은 도 4에서 제공되는 설명에 따라 처리된다. 이는 도 6에서 도시되는 방법들 또는 섹션들(403 및 404)이 깊이별 컨볼루션 레이어(DC)의 커널 K 및 점별 컨볼루션 레이어(PC)에 대한 대응하는 가중치들을 각각의 섹션(403 및 404)에서 이용하여 도 4를 참조하여 설명된 바와 같이 바람직하게는 13번 실행됨을 의미한다. 항목들(403 및 404)의 렉티파이드 리니어 유닛들 뿐만 아니라 제 1 및 제 2 배치 노말라이저들은 도 5에 대하여 위에서 설명한 바와 같은 방식으로 동작한다.
결과적으로, 도 5에 따라, 출력은 도 5에 따른 제 1 엔트리들 Tqrba를 가지는 Q × R × B × A 크기의 제 1 텐서 T일 것이다. 그리고 이 결과는 손실 함수로 제공될 것이고 여기서 이것은 408로부터 획득되는 정확한 바인딩 박스들과 결과(405) 사이의 차이들을 식별하기 위해 미리 설정된 바운딩 박스들과 비교될 것이다. 그리고 손실 함수(406)에 의해 획득되는 이 차이는 옵티마이저(407)에 제공되고 이는 차례로 각각의 점별 컨볼루션 레이어 및 각각의 깊이별 레이어의 가중치들, 즉 α 및 커널 K에서의 엔트리들을 수정하게 될 것이다. 이는 네트워크에서 한번에 모든 레이어들에 대하여 또는 각각의 레이어에 대하여 독립적으로, 깊이별 컨볼루션 레이어의 커널 K에서 엔트리들 및 점별 컨볼루션 레이어의 가중치 α가 조정된다(manipulated)는 것을 의미한다.
이들 새로운 값들로, 매우 동일한 이미지에 대하여 사이클이 반복되고 그리고 엔트리들 T'qrba를 가지는 결과적인 텐서 T'는 손실 함수에 제공되고 정확한 바운딩 박스들과 비교되고, 결과는 옵티마이저(407)에 제공되게 되고 이는 다시 한번 가중치들을 수정한다.
이 절차는 항목(408)의 사전정의된 바운딩 박스들과 비교되는 구체적으로 식별된 바운딩 박스들과 결과적인 텐서 T(n) 사이의 차이가 본질적으로, 의도되는 식별된 정확성에 대응하는, 주어진 임계치를 초과하는 한 수행된다.
그 다음, 다음 입력 이미지(402)가 트레이닝 데이터(401)로부터 취해지고 그리고 대응하는 바운딩 박스들이 손실 함수에 제공된다. 그리고, 설명된 프로세스가 새로운 이미지에 대하여 다시 반복되고 그리고 깊이별 컨볼루션 레이어 및 점별 컨볼루션 레이어에 대한 최적의 가중치들이 획득된다. 이는 가중치들의 특정한 조합이 모든 입력 이미지들에 대한 적절한 식별 정확성을 얻을 때까지 반복된다. 그리고 획득된 가중치들의 조합은 최종 가중치들(410)로 출력된다.
그리고 이들 최종 가중치들은 모바일 디바이스 상에서 본 발명의 방법을 실행하는 어플리케이션으로 도입된다.
따라서, 본 발명의 개념에서, 모바일 디바이스에 제공되는 뉴럴 네트워크는 생체 인식 특성을 지닌 특정한 객체들, 바람직하게는 손가락 끝들의 식별에 대하여 이미 완전히 적응되고 그리고 필요한 어떠한 학습이 없이 활용될 수 있고 따라서 모바일 디바이스들에서 요구되는 컴퓨터 리소스들을 더욱 감소시킨다.
전체적으로, 도 3 및 도 4를 참조하여 위에서 설명된 바와 같은 렉티파이드 리니어 유닛들 뿐만 아니라 배치 노말라이저들 점별 컨볼루션 레이어들을 이용함으로써 그리고 그리드 셀들로 원래 이미지를 분리하는 것을 이용하고 그리고 도 3의 설명에 따라 대응하는 바운딩 박스들을 식별함으로써, 1 메가바이트 보다 작은 어플리케이션이 제공될 수 있고, 이는 인터넷 등을 통해 추가적인 데이터 소스들에 대한 어떠한 접속도 없이 독립적으로 모바일 디바이스 상에서의 활용을 허용한다.
이는 무선 네트워크들 등에 대한 접속이 불가능한 환경에서의 어플리케이션에 적합하게 한다. 또한, 이 어플리케이션을 실행하기 위해 필요한 프로세서 전력이 이전에 설명된 바와 같이, 손가락 끝과 관련된 지문들에 의해 사용자의 식별을 수행한 이후에 사용될 수 있는 손가락 끝들의 적절한 식별 결과들을 도출하면서도 최소한으로 감소될 수 있다.
지문들을 지닌 손가락들의 측면을 나타내는 손가락들 또는 손의 이미지에 대하여 위의 설명들이 집중되었다. 그러나, 사용자는 광학 센서로 다른 측면(즉, 손등)으로부터의 하나 이상의 손가락들을 우연하게 또는 의도적으로 보이게 될 수 있다. 손가락의 이러한 이미지로부터, 지문은 이들이 보이지 않기 때문에 추출될 수 없다.
지문을 보이지 않고 손톱 또는 지관절(knuckle)들을 보이는 손가락 끝의 이미지로부터 지문을 가지는 손가락 끝의 이미지를 구별하기 위해, 식별 정확성을 증가시키기 위해 위에서 설명된 방법들을 확장할 수 있는 이하의 과정이 설명된다.
위의 예시들에서, 바운딩 박스는 다음의 백터
Figure 112020109729262-pct00021
로 특성화되었으며 그리고 지문들을 지닌 손가락 끝들의 측면을 보이는 손가락들의 이미지들만을 이용하여 트레이닝이 수행되었다.
이미지가 손가락 끝들의 양 측면들로부터 촬영되는 것을 허용하는 경우에, 이미지들에서 식별되는 객체들의 두 클래스들, 즉 지문들을 보이는 손가락 끝들을 구성하는 이들 객체들 및 손톱들 및 지관절들을 보이는 손가락 끝들을 구성하는 이들 객체들을 고려하는 것이 유리하다.
이 경우에, 위에서 언급된 벡터는
Figure 112020109729262-pct00022
와 같이 한 차원 확장될 수 있고 여기서 c는 소위 클래스로 지칭되는 것을 나타낸다. 제 1 클래스는 양의 식별(지문을 가지는 손가락 끝이 식별될 수 있음)을 나타낼 수 있고 그리고 제 2 클래스는 음의 식별(손가락 끝이 손톱 또는 지관절을 지님)을 나타낼 수 있다.
이 클래스는 값들, 예를 들어 양의 식별에 대한 1 및 음의 식별에 대한 0으로 나타낼 수 있다. 벡터 b에서의 나머지 값들과 달리, 클래스는 이산 값이고 클래스들의 수에 대응하여 한정된 수의 상이한 값들만을 취할 수 있다.
그리고 위에서 언급된 트레이닝은 뉴럴 네트워크가 제 1 또는 제 2 클래스에 속하는 이미지들 사이를 구별할 수 있도록 양 및 음의 식별들(바운딩 박스들(408) 및 지문들을 지는 손가락 끝을 가지는 이미지들만을 보이는 트레이닝 데이터 대신)을 제공하는 방식으로 수행될 수 있다. 이러한 문맥에서 누군가는 지문을 제외한 것들을 나타내는 복수의 손가락들의 이미지들을 상상할 수 있다. 이러한 모든 “객체들”은 제 2 클래스(즉, 음의 식별)로 분류화되어 뉴럴 네트워크가 손가락 끝들의 임의의 다른 이미지들로부터 지문들을 지닌 손가락 끝들의 이미지들을 구별하도록 트레이닝되게 된다. 트레이닝을 위해 제공되는 바운딩 박스들은 물론 뉴럴 네트워크를 적절하게 트레이닝하도록 허용하기 위해 정확한 클래스 c를 포함할 수도 있다.
지문들을 지닌 이미지에서 모든 손가락 끝들을 식별하기 위해, 위에서 설명된 프로세스는 이는 제 2 클래스에 속하는 것으로 간주되는 손가락 끝의 위치를 나타내는 모든 바운딩 박스들을 무시할 것이며, 이로 인해 생체 인식 특성을 보이지 않는 손가락 끝들의 이미지들 또는 이미지들의 부분들을 추가적으로 처리하는 것을 방지한다.
본 발명의 방법이 수행될 수 있는 맥락을 제공하기 위해, 도 7은 본 발명의 일 실시예에 따라 스마트폰의 형태인 모바일 디바이스를 도시한다.
모바일 디바이스(500)는 현재 알려진 바와 같이 스마트폰으로 구현된다. 이것은 바람직하게는 디스플레이(530)가 제공되는 모바일 디바이스(500) 상의 측면의 반대인 카메라의 뒷면 상에 광학 센서(520)를 포함한다. 카메라는 1MP, 2MP 또는 그 이상의 해상도를 가지는 카메라로 예를 들어, HD 카메라일 수 있다. 이것은 플래쉬광을 구비할 수 있지만 반드시 필요한 것은 아니다. 이것은 감소된 해상도로 실시간 이미지들을 촬영하도록 적응될 수도 있고 그리고 카메라가 작동되면, 디스플레이(530)는 카메라가 실제로 “보고 있는” 것을 나타낼 수 있다. 이는 예를 들어, 손(510)일 수 있다.
본 발명의 일 실시예에서, 본 발명의 방법이 촬영된 이미지에 대하여 수행되며, 손의 손가락 끝들을 식별하는 바운딩 박스(511 내지 514)가 디스플레이(530) 상에 디스플레이되는 손의 이미지 위로 증강된다. 위에서 추가로 설명한 바와 같이 식별된 바운딩 박스들은 디스플레이될 필요는 없으나 예를 들어 손가락 끝들에 대응하는 이미지의 부분들을 처리하기 위해 모바일 디바이스의 내부에서 추가로 처리될 수도 있어 손가락 끝들과 연관된 지문들을 식별함으로써 사용자가 식별되게 한다.

Claims (16)

  1. 지문 또는 손가락 끝들의 지문들의 세트와 같은, 사용자의 생체 인식 특성(biometric characteristic)을 가지는 상기 사용자의 객체의 이미지를 이용하여 상기 사용자를 식별하기 위한 방법에 있어서, 상기 방법은:
    모바일 디바이스의 광학 센서에 의해, 상기 객체의 상기 이미지를 획득하는 단계;
    뉴럴 네트워크에 상기 이미지를 제공하는 단계;
    상기 이미지에서 상기 객체 및 상기 객체의 위치 둘 다를 식별하도록, 상기 뉴럴 네트워크에 의해 상기 이미지를 처리하는 단계;
    상기 식별되는 객체로부터, 상기 생체 인식 특성을 추출하는 단계;
    저장 디바이스에 상기 생체 인식 특성을 저장하는 단계 또는 식별 수단에 대한 입력으로 적어도 상기 생체 인식 특성을 제공하는 단계 중 적어도 하나의 단계 - 상기 식별 수단은 상기 생체 인식 특성이 상기 사용자를 식별하는지 여부를 결정하기 위해 상기 입력을 처리하는 것을 포함함 -;
    을 포함하고,
    상기 뉴럴 네트워크에 의해 입력으로 상기 이미지를 처리하는 단계는 상기 뉴럴 네트워크의 제 1 레이어에 의해, 제 1 중간 출력을 생성하기 위해 상기 입력을 처리하는 단계 및 이전 레이어의 상기 출력을 각각의 다음 레이어에 의해 처리하는 단계를 포함하고, 상기 뉴럴 네트워크는 복수의 레이어들을 포함하고, 각각의 레이어는 깊이별 컨볼루션 레이어(depthwise convolutional layer), 제 1 배치 노말라이저(batch normalizer), 제 1 렉티파이드 리니어 유닛(rectified linear unit), 점별 컨볼루션 레이어(pointwise convolutional layer), 제 2 배치 노말라이저, 및 제 2 렉티파이드 리니어 유닛을 상기 레이어 내에서 상기 입력을 처리하는 순서로 포함하는 깊이별 가분 컨볼루션(depthwise separable convolution)이고,
    상기 복수의 레이어들을 이용하여 상기 입력을 처리함으로써, 상기 뉴럴 네트워크는 상기 이미지 내에 상기 객체의 상기 위치 및 상기 객체의 식별을 출력으로 획득하는,
    방법.
  2. 제 1 항에 있어서,
    상기 객체는 적어도 하나의 손가락 끝이고 그리고 상기 생체 인식 특성은 상기 손가락 끝의 지문이고, 상기 식별 수단에 의해 상기 입력을 처리하는 것은 생체 인식 특징(biometric feature)을 상기 지문으로부터 추출하는 것, 및 저장 디바이스에 저장된 생체 인식 특징과 상기 추출된 생체 인식 특징을 비교하는 것을 포함하고, 상기 추출된 생체 인식 특징과 상기 저장된 생체 인식 특징 사이의 차이가 임계치 이하인 경우 상기 식별 수단은 상기 사용자가 상기 지문에 의해 식별된다고 결정하고, 그리고 상기 추출된 생체 인식 특징과 상기 저장된 생체 인식 특징 사이의 차이가 임계치를 초과하는 경우 상기 식별 수단은 상기 사용자가 상기 지문에 의해 식별되지 않는다고 결정하는,
    방법.
  3. 제 2 항에 있어서,
    상기 생체 인식 특징은 특징점(minutia)의 유형 및 위치를 포함하는,
    방법.
  4. 제 2 항에 있어서,
    상기 이미지는 하나 이상의 손가락 끝을 포함하고 그리고 상기 방법은 상기 이미지에서 각각의 손가락 끝의 상기 위치를 식별하는 단계 및 상기 식별 수단에 의한 상기 사용자의 식별을 위해 각각의 손가락의 상기 지문을 이용하는 단계를 더 포함하는,
    방법.
  5. 제 4 항에 있어서,
    상기 식별 수단은 상기 이미지에서 모든 손가락 끝들의 상기 지문들에 대한 조합된(combined) 식별 정확성이 주어진 임계치를 초과하는지 여부를 결정함으로써 상기 손가락 끝들의 상기 지문들에 의해 사용자가 식별되는지를 결정하거나, 또는 상기 식별 수단은 각각의 손가락 끝에 대하여, 상기 손가락 끝의 상기 지문의 저장된 생체 인식 특징과 상기 손가락 끝의 상기 지문의 생체 인식 특징 사이의 차이가 임계치 이하인지 여부를 결정하고 그리고 모든 결정된 차이들이 대응하는 임계치 이하인 경우에 상기 손가락 끝들의 상기 지문들에 의해 상기 사용자가 식별된다고 결정함으로써 상기 손가락 끝의 지문들에 의해 상기 사용자가 식별되는지 여부를 결정하는,
    방법.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 이미지는 상기 모바일 디바이스의 광학 센서인 카메라에 의해 획득되는,
    방법.

  7. 삭제
  8. 제 1 항에 있어서,
    상기 객체의 상기 위치를 식별하는 단계는 Q×R 그리드 셀들을 포함하는 그리드(grid) 내로 상기 이미지를 분할하는 단계를 포함하고, 적어도 하나의 바운딩 박스가 각각의 그리드 셀 내에 생성되고, 상기 바운딩 박스는 사전 결정된 기하학적 특성 및 상기 그리드 셀 내의 사전 결정된 위치를 가지고,
    상기 출력을 생성하는 단계는 결과적인(resulting) 바운딩 박스를 획득하기 위해 상기 바운딩 박스의 상기 기하학적 특성 및 상기 위치를 수정하는 단계를 포함하고, 상기 결과적인 바운딩 박스는 상기 객체의 위치에 가장 근접하게 매칭하는 결과적인 기하학적 특성 및 결과적인 위치를 가지는 바운딩 박스인,
    방법.
  9. 제 8 항에 있어서, 상기 바운딩 박스의 위치는 2차원으로 상기 그리드 셀의 중심에 대하여 계산되고 그리고 상기 바운딩 박스의 상기 기하학적 특성은 상기 바운딩 박스의 너비 및 높이를 가지고, 추가로 상기 객체가 바운딩 박스 내에 있을 확률은 각각의 바운딩 박스에 연관되는,
    방법.
  10. 제 9 항에 있어서,
    상기 손가락 끝의 위치를 식별하는 상기 바운딩 박스들 및 상기 이미지를 디스플레이하는 단계;
    를 더 포함하는,
    방법.
  11. 제 1 항에 있어서,
    상기 뉴럴 네트워크에 의해 상기 이미지를 처리하는 단계는 상기 이미지에서의 각각의 픽셀에 대한 컬러값을 나타내는 적어도 하나의 매트릭스 I를 상기 이미지로부터 생성하는 단계 및 상기 뉴럴 네트워크에 대한 입력으로 상기 매트릭스를 제공하는 단계를 포함하고, 상기 이미지는 N×M 픽셀들을 포함하고 그리고 상기 매트릭스 I는 N×M 값들을 포함하는 매트릭스이고, 상기 매트릭스 I의 엔트리들은 Iij 로 주어지고, 여기서 ij는 정수이고 i = 1 … N 이고 그리고 j= 1… M인,
    방법.
  12. 제 11 항에 있어서,
    각각의 깊이별 컨볼루션 레이어는 매트릭스 I에 대하여 사전 결정된 커널 K를 적용하고, 상기 커널 K는 엔트리들 Sab를 포함하는 S, T<N; S, T<M인 S×T 크기의 매트릭스이고 상기 매트릭스에 상기 커널을 적용하는 단계는 매트릭스 Z의 (N×M)S,T 크기의 각각의 감소된(reduced) 매트릭스 R과의 매트릭스 K의 내적을 계산하는 단계를 포함하고, 상기 매트릭스 R은 상기 커널 K과 같은 크기를 가지고, 그리고 상기 매트릭스 Z는 ((N+2Pw)×(M+2Ph))의 크기를 가지고 그리고 c, d∈N+인 매트릭스 Zcd의 엔트리들은
    Figure 112020109729262-pct00023

    로 주어지고, 매트릭스 P를 출력을 제공하고, 상기 매트릭스 P는
    Figure 112020109729262-pct00024

    의 크기를 가지고, Ww 및 Wh는 스트라이드 너비(stride width)를 정의하고 상기 매트릭스 P의 각각의 엔트리 P ij 는 상기 커널 K와의 ij번째 감소된 매트릭스 R의 상기 내적의 값이고, 상기 매트릭스 P는 상기 제 1 배치 노말라이저로 상기 깊이별 컨볼루션 레이어에 의해 출력으로 제공되는,
    방법.
  13. 제 12 항에 있어서,
    상기 커널의 크기 S 및 T는 모든 깊이별 컨볼루션 레이어들과 동일하거나 또는
    Figure 112020109729262-pct00025
    인 커널 K에서의 엔트리들 중 적어도 하나 또는 적어도 하나의 깊이별 컨볼루션 레이어 중 적어도 하나에 대해 상이한,
    방법.
  14. 제 11 항에 있어서,
    상기 배치 노말라이저는 상기 렉티파이드 리니어 유닛에게 노말라이즈된 감소된 매트릭스 P'를 제공하고 그리고 상기 렉티파이드 리니어 유닛은 각각의 엔트리 P' ij 에 대해 렉티피케이션 함수(rectification function)를 적용하고, 상기 렉티피케이션 함수는 엔트리들
    Figure 112020109729262-pct00026

    를 가지는 새로운 매트릭스
    Figure 112020109729262-pct00027
    를 계산하고 그리고 상기 매트릭스
    Figure 112020109729262-pct00028
    는 상기 렉티파이드 리니어 유닛이 상기 제 1 렉티파이드 리니어 유닛인 경우에 상기 점별 컨볼루션 레이어에게 출력으로 제공되거나, 또는 상기 렉티파이드 리니어 유닛이 상기 제 2 렉티파이드 리니어 유닛인 경우에 상기 뉴럴 네트워크의 다음 레이어에 출력으로 제공되고; 또는
    상기 점별 컨볼루션 레이어는 매트릭스 P, P', 또는
    Figure 112020109729262-pct00029
    에서의 각각의 엔트리를 가중치 α와 곱함으로써 이전 레이어로부터 수신된 상기 매트릭스 I, P, P',
    Figure 112020109729262-pct00030
    에 대해 가중치 α를 적용하는,
    방법.
  15. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 방법의 각각의 단계는 상기 모바일 디바이스 상에서 수행되는,
    방법.
  16. 모바일 디바이스에 있어서,
    광학 센서, 프로세서 및 상기 모바일 디바이스의 상기 프로세서에 의해 실행되는 경우에 상기 프로세서로 하여금 제 1 항 내지 제 5 항 중 어느 한 항의 방법을 실행하도록 하는 실행가능한 명령들을 저장하는 저장 유닛을 포함하는,
    모바일 디바이스.
KR1020207029856A 2018-03-16 2019-03-15 이미지 내 객체를 식별하기 위한 방법 및 상기 방법을 실행하기 위한 모바일 디바이스 KR102554724B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020237022979A KR20230107415A (ko) 2018-03-16 2019-03-15 이미지 내 객체를 식별하기 위한 방법 및 상기 방법을실행하기 위한 모바일 디바이스

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP18382174.3A EP3540635B1 (en) 2018-03-16 2018-03-16 Method for identifying an object within an image and mobile device for executing the method
EP18382174.3 2018-03-16
PCT/IB2019/052126 WO2019175846A1 (en) 2018-03-16 2019-03-15 Method for identifying an object within an image and mobile device for executing the method

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020237022979A Division KR20230107415A (ko) 2018-03-16 2019-03-15 이미지 내 객체를 식별하기 위한 방법 및 상기 방법을실행하기 위한 모바일 디바이스

Publications (2)

Publication Number Publication Date
KR20200130440A KR20200130440A (ko) 2020-11-18
KR102554724B1 true KR102554724B1 (ko) 2023-07-11

Family

ID=61768233

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020237022979A KR20230107415A (ko) 2018-03-16 2019-03-15 이미지 내 객체를 식별하기 위한 방법 및 상기 방법을실행하기 위한 모바일 디바이스
KR1020207029856A KR102554724B1 (ko) 2018-03-16 2019-03-15 이미지 내 객체를 식별하기 위한 방법 및 상기 방법을 실행하기 위한 모바일 디바이스
KR1020227030334A KR102629380B1 (ko) 2018-03-16 2019-05-09 실제 3차원 객체를 실제 객체의 2-차원 스푸프로부터 구별하기 위한 방법
KR1020207034340A KR102442844B1 (ko) 2018-03-16 2019-05-09 실제 3차원 객체를 실제 객체의 2-차원 스푸프로부터 구별하기 위한 방법(Method for Distinguishing a Real Three-Dimensional Object from a Two-Dimensional Spoof of the Real Object)

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020237022979A KR20230107415A (ko) 2018-03-16 2019-03-15 이미지 내 객체를 식별하기 위한 방법 및 상기 방법을실행하기 위한 모바일 디바이스

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020227030334A KR102629380B1 (ko) 2018-03-16 2019-05-09 실제 3차원 객체를 실제 객체의 2-차원 스푸프로부터 구별하기 위한 방법
KR1020207034340A KR102442844B1 (ko) 2018-03-16 2019-05-09 실제 3차원 객체를 실제 객체의 2-차원 스푸프로부터 구별하기 위한 방법(Method for Distinguishing a Real Three-Dimensional Object from a Two-Dimensional Spoof of the Real Object)

Country Status (13)

Country Link
US (4) US11508184B2 (ko)
EP (3) EP3540633B1 (ko)
JP (2) JP7386545B2 (ko)
KR (4) KR20230107415A (ko)
CN (1) CN111989689A (ko)
AU (2) AU2019234110B2 (ko)
BR (2) BR112020018915A2 (ko)
CA (3) CA3093966C (ko)
ES (2) ES2828358T3 (ko)
MX (2) MX2020009382A (ko)
PE (2) PE20240541A1 (ko)
WO (2) WO2019175846A1 (ko)
ZA (2) ZA202006256B (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3540633B1 (en) * 2018-03-16 2020-09-23 Identy Inc. Method for identifying an object within an image and mobile device for executing the method
US11429824B2 (en) * 2018-09-11 2022-08-30 Intel Corporation Method and system of deep supervision object detection for reducing resource usage
US11189028B1 (en) * 2020-05-15 2021-11-30 Retrace Labs AI platform for pixel spacing, distance, and volumetric predictions from dental images
EP4097632A1 (en) * 2020-01-28 2022-12-07 Universidad Autónoma de Madrid Method to generate training data for a bot detector module, bot detector module trained from training data generated by the method and bot detection system
EP3893147B1 (en) 2020-04-09 2024-01-03 Identy Inc. Liveliness detection using a device comprising an illumination source
CN111598110B (zh) * 2020-05-11 2023-04-28 重庆大学 基于网格细胞记忆的hog算法图像识别方法
KR20210149542A (ko) * 2020-06-02 2021-12-09 삼성에스디에스 주식회사 이미지 촬영 및 판독 방법, 이를 위한 장치
US11443527B2 (en) 2021-01-13 2022-09-13 Ford Global Technologies, Llc Material spectroscopy
US11741747B2 (en) 2021-01-13 2023-08-29 Ford Global Technologies, Llc Material spectroscopy
US11657589B2 (en) 2021-01-13 2023-05-23 Ford Global Technologies, Llc Material spectroscopy
KR102672353B1 (ko) * 2021-01-25 2024-06-05 숭실대학교산학협력단 사진 촬영 기반 낙서 드로잉 장치 및 방법
WO2023272604A1 (zh) * 2021-06-30 2023-01-05 东莞市小精灵教育软件有限公司 基于生物特征识别的定位方法及装置
CN113706647B (zh) * 2021-07-30 2024-02-13 浪潮电子信息产业股份有限公司 一种图像上色方法及相关装置
CN117037221B (zh) * 2023-10-08 2023-12-29 腾讯科技(深圳)有限公司 活体检测方法、装置、计算机设备及存储介质

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978495A (en) * 1996-07-17 1999-11-02 Intelnet Inc. Method and apparatus for accurate determination of the identity of human beings
US6072891A (en) * 1997-02-21 2000-06-06 Dew Engineering And Development Limited Method of gathering biometric information
JP4085470B2 (ja) * 1998-05-29 2008-05-14 オムロン株式会社 個人識別装置、個人識別方法および個人識別プログラムを記録した記録媒体
FR2826443B1 (fr) * 2001-06-21 2003-10-10 Gilles Cavallucci Procede et dispositif de detection optique de la position d'un objet
JP4734980B2 (ja) * 2005-03-15 2011-07-27 オムロン株式会社 顔認証装置およびその制御方法、顔認証装置を備えた電子機器、顔認証装置制御プログラム、ならびに該プログラムを記録した記録媒体
US8542928B2 (en) * 2005-09-26 2013-09-24 Canon Kabushiki Kaisha Information processing apparatus and control method therefor
US7899217B2 (en) * 2006-07-19 2011-03-01 Lumidign, Inc. Multibiometric multispectral imager
JP2008257327A (ja) * 2007-04-02 2008-10-23 Omron Corp 照合装置
SG11201501691VA (en) * 2012-09-05 2015-04-29 Element Inc Biometric authentication in connection with camera-equipped devices
JP6304999B2 (ja) * 2013-10-09 2018-04-04 アイシン精機株式会社 顔検出装置、方法およびプログラム
JP6187817B2 (ja) * 2013-10-09 2017-08-30 アイシン精機株式会社 顔検出装置、方法およびプログラム
US10025915B2 (en) * 2013-12-05 2018-07-17 Lenovo (Singapore) Pte. Ltd. Contact signature authentication of user of device
US9489560B2 (en) * 2014-02-12 2016-11-08 Advanced Optical Systems, Inc. On-the go touchless fingerprint scanner
US9195879B1 (en) * 2014-08-31 2015-11-24 Qualcomm Incorporated Air/object determination for biometric sensors
KR102290892B1 (ko) * 2014-12-12 2021-08-19 엘지전자 주식회사 이동단말기 및 그것의 제어방법
US11120478B2 (en) 2015-01-12 2021-09-14 Ebay Inc. Joint-based item recognition
US10339362B2 (en) * 2016-12-08 2019-07-02 Veridium Ip Limited Systems and methods for performing fingerprint based user authentication using imagery captured using mobile devices
US9424458B1 (en) 2015-02-06 2016-08-23 Hoyos Labs Ip Ltd. Systems and methods for performing fingerprint based user authentication using imagery captured using mobile devices
MY182294A (en) 2015-06-16 2021-01-18 Eyeverify Inc Systems and methods for spoof detection and liveness analysis
KR102439938B1 (ko) * 2015-08-03 2022-09-05 삼성전자주식회사 사용자 인증을 위한 멀티-모달 퓨전 방법 및 사용자 인증 방법
CN106056095A (zh) * 2016-06-13 2016-10-26 北京小米移动软件有限公司 指纹处理的方法和装置
KR102483642B1 (ko) 2016-08-23 2023-01-02 삼성전자주식회사 라이브니스 검사 방법 및 장치
US11157814B2 (en) * 2016-11-15 2021-10-26 Google Llc Efficient convolutional neural networks and techniques to reduce associated computational costs
BR112019011205A8 (pt) * 2016-12-08 2023-04-11 Veridium Ip Ltd Sistemas e métodos para realizar a autenticação de usuário baseada em impressão digital usando imagens capturadas com o uso de dispositivos móveis
US10216977B2 (en) * 2017-01-06 2019-02-26 Qualcomm Incorporated Progressive multiple fingerprint enrollment and matching, and dynamic user account transitions
EP3540633B1 (en) * 2018-03-16 2020-09-23 Identy Inc. Method for identifying an object within an image and mobile device for executing the method
CN108810616B (zh) * 2018-05-31 2019-06-14 广州虎牙信息科技有限公司 目标定位方法、视频显示方法、装置、设备和存储介质
CN112437926B (zh) * 2019-06-18 2024-05-31 神经技术Uab公司 使用前馈卷积神经网络的快速鲁棒摩擦脊印痕细节提取

Also Published As

Publication number Publication date
US20220335748A1 (en) 2022-10-20
MX2020011313A (es) 2021-04-28
BR112020018915A2 (pt) 2020-12-29
CA3098286C (en) 2024-02-13
CN111989689A (zh) 2020-11-24
EP3540636A1 (en) 2019-09-18
CA3093966C (en) 2023-11-14
CA3098286A1 (en) 2019-10-31
MX2020009382A (es) 2020-12-11
US20230011257A1 (en) 2023-01-12
JP2021517330A (ja) 2021-07-15
KR20200130440A (ko) 2020-11-18
ES2828358T3 (es) 2021-05-26
WO2019175846A1 (en) 2019-09-19
BR112020021946A2 (pt) 2021-01-26
AU2022202817A1 (en) 2022-05-19
WO2019207557A1 (en) 2019-10-31
EP3540633A1 (en) 2019-09-18
CA3215158A1 (en) 2019-09-19
PE20201181A1 (es) 2020-11-03
JP2021522591A (ja) 2021-08-30
KR102629380B1 (ko) 2024-01-24
AU2022202817B2 (en) 2023-05-18
EP3540633B1 (en) 2020-09-23
CA3093966A1 (en) 2019-09-19
EP3540635A1 (en) 2019-09-18
JP7304082B2 (ja) 2023-07-06
AU2019234110B2 (en) 2022-02-03
KR102442844B1 (ko) 2022-09-14
EP3540635B1 (en) 2020-08-26
ES2837382T3 (es) 2021-06-30
ZA202006256B (en) 2021-09-29
JP7386545B2 (ja) 2023-11-27
US20210027041A1 (en) 2021-01-28
KR20230107415A (ko) 2023-07-14
PE20240541A1 (es) 2024-03-19
US11495050B2 (en) 2022-11-08
US11508184B2 (en) 2022-11-22
KR20220125377A (ko) 2022-09-14
US20210103749A1 (en) 2021-04-08
KR20210032310A (ko) 2021-03-24
ZA202007383B (en) 2021-09-29
AU2019234110A1 (en) 2020-09-24

Similar Documents

Publication Publication Date Title
KR102554724B1 (ko) 이미지 내 객체를 식별하기 위한 방법 및 상기 방법을 실행하기 위한 모바일 디바이스
US11657525B2 (en) Extracting information from images
US11941918B2 (en) Extracting information from images
US20230394870A1 (en) Method for verifying the identity of a user by identifying an object within an image that has a biometric characteristic of the user and mobile device for executing the method
US20230394871A1 (en) Method for verifying the identity of a user by identifying an object within an image that has a biometric characteristic of the user and separating a portion of the image comprising the biometric characteristic from other portions of the image
US20220383663A1 (en) Method for obtaining data from an image of an object of a user that has a biometric characteristic of the user

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant