KR20210032310A - 실제 3차원 객체를 실제 객체의 2-차원 스푸프로부터 구별하기 위한 방법(Method for Distinguishing a Real Three-Dimensional Object from a Two-Dimensional Spoof of the Real Object) - Google Patents

실제 3차원 객체를 실제 객체의 2-차원 스푸프로부터 구별하기 위한 방법(Method for Distinguishing a Real Three-Dimensional Object from a Two-Dimensional Spoof of the Real Object) Download PDF

Info

Publication number
KR20210032310A
KR20210032310A KR1020207034340A KR20207034340A KR20210032310A KR 20210032310 A KR20210032310 A KR 20210032310A KR 1020207034340 A KR1020207034340 A KR 1020207034340A KR 20207034340 A KR20207034340 A KR 20207034340A KR 20210032310 A KR20210032310 A KR 20210032310A
Authority
KR
South Korea
Prior art keywords
image
matrix
neural network
output
spoof
Prior art date
Application number
KR1020207034340A
Other languages
English (en)
Other versions
KR102442844B1 (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=KR20210032310(A) "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 KR1020227030334A priority Critical patent/KR102629380B1/ko
Publication of KR20210032310A publication Critical patent/KR20210032310A/ko
Application granted granted Critical
Publication of KR102442844B1 publication Critical patent/KR102442844B1/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
    • G06K9/6217
    • 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
    • G06K9/00033
    • G06K9/00114
    • G06K9/00375
    • G06K9/00899
    • G06K9/228
    • G06K9/3241
    • G06K9/4628
    • 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)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

손의 손가락과 같은 3차원 실제 객체를 상기 실제 객체의 2차원 스푸프(spoof)로부터 구별하기 위한 방법에 있어서, 상기 방법은: 모바일 디바이스의 광학 센서에 의해, 이미지를 획득하는 단계 - 상기 이미지는 스푸프 또는 실제 객체를 포함함 -; 상기 뉴럴 네트워크에 의해 상기 이미지를 처리하는 단계; 및 뉴럴 네트워크에 상기 이미지를 제공하는 단계; 를 포함하고, 처리하는 단계는: 상기 광학 센서에 복수의 픽셀들의 거리를 표현하는 거리 맵(distance map) - 상기 픽셀들은 상기 이미지 내에서 상기 객체의 적어도 일부를 구성함 -; 상기 이미지 내에서 상기 객체의 적어도 일부를 구성하는 복수의 픽셀들과 관련되는 광 반사를 나타내는 반사 패턴; 중 적어도 하나를 계산하는 단계를 포함하고, 그리고 처리하는 단계는, 바람직하게는 상기 뉴럴 네트워크를 사용함으로써, 학습된 반사 패턴 또는 학습된 거리 맵과 상기 계산된 반사 패턴 또는 상기 계산된 거리 맵 중 적어도 하나를 비교하여, 상기 이미지가 상기 실제 객체 또는 상기 스푸프를 포함하는지를 상기 비교의 결과에 기초하여 결정하는 단계를 포함한다.

Description

실제 3차원 객체를 실제 객체의 2-차원 스푸프로부터 구별하기 위한 방법(Method for Distinguishing a Real Three-Dimensional Object from a Two-Dimensional Spoof of the Real Object)
본 발명은 청구항 1항에 따른 손의 손가락과 같은, 실제 3차원 객체를 실제 객체의 2차원 스푸프(spoof)로부터 구별하기 위한 컴퓨터 구현 방법, 및 청구항 15항에 따른 이 방법을 구현하는 모바일 디바이스에 관한 것이다.
종래 기술에서, 이미지들로부터 획득되는 정보 또는 이미지들을 분류하기 위한 기술들이 이미 공지되어 있다. 예를 들어, 2012년도 ImageNet 대규모 시각 인식 챌린지(ImageNet Large Scale Visual Recognition Challenge)에서 발표된 소위 AlexNet은 분류 정확도에 관하여 개선된 결과들을 보여주었다.
그러나 이들 방법들은 객체 자체와 스푸프 사이를 구별하도록 설계되거나 또는 아직 적용되지 않는다. 이는 객체들이 단지 실제 객체들의 스푸프들일 수 있기 때문에, 로그인 과정과 같이, 보안 관련 이슈들에 대해 획득된 이미지들 내에 식별되는 객체들을 사용하는 것을 위험하게 한다.
공지된 종래 기술로부터 시작하여, 본 발명의 목적은 최소한의 컴퓨팅 자원들을 필요로 하여 스마트 폰과 같은 모바일 디바이스를 이용하거나 그 내에서 완전히 이 방법을 실행하도록 허용하면서, 효율적으로 실제 객체의 2-차원 스푸프 와 실제 객체 사이를 구별하는 것을 허용하는 컴퓨터 구현 방법을 제공하는 것이다.
이 문제점은 청구항 1항에 따른 실제 객체의 2차원 스푸프로부터, 손의 손가락과 같은, 실제 3차원 객체를 구별하기 위한 컴퓨터 구현 방법 및 청구항 15항에 따른 본 발명에 따른 본 방법을 실행하고 광학 센서를 포함하는 모바일 디바이스에 의해 해결된다. 본 발명의 바람직한 실시예는 종속항들에서 제공된다.
손의 손가락과 같은 3차원 실제 객체를 상기 실제 객체의 2차원 스푸프(spoof)로부터 구별하기 위한 방법에 있어서, 상기 방법은:
모바일 디바이스의 광학 센서에 의해, 이미지를 획득하는 단계 - 상기 이미지는 스푸프 또는 실제 객체를 포함함 -;
상기 뉴럴 네트워크에 의해 상기 이미지를 처리하는 단계; 및
뉴럴 네트워크에 상기 이미지를 제공하는 단계;
를 포함하고,
처리하는 단계는:
상기 광학 센서에 복수의 픽셀들의 거리를 표현하는 거리 맵(distance map) - 상기 픽셀들은 상기 이미지 내에서 상기 객체의 적어도 일부를 구성함 -;
상기 이미지 내에서 상기 객체의 적어도 일부를 구성하는 복수의 픽셀들과 관련되는 광 반사를 나타내는 반사 패턴;
중 적어도 하나를 계산하는 단계를 포함하고, 그리고
처리하는 단계는, 바람직하게는 상기 뉴럴 네트워크를 사용함으로써, 학습된 반사 패턴 또는 학습된 거리 맵과 상기 계산된 반사 패턴 또는 상기 계산된 거리 맵 중 적어도 하나를 비교하여, 상기 이미지가 상기 실제 객체 또는 상기 스푸프를 포함하는지를 상기 비교의 결과에 기초하여 결정하는 단계를 포함한다.
본 발명의 맥락에서, 이론적으로 실제 3차원 객체의 이미지 조차도 사람의 실제 손가락 같은 의도되는 객체의 스푸프를 구성하는 것이 가능하다고 해도, 3차원 객체는 실제 객체일 것으로 가정된다. 실제 객체의 2차원 스푸프는 무엇이든 될 수 있지만 일반적으로 실제 객체로부터 원래 촬영되고 현재 제공되는 이미지일 수 있다(예를 들어, 광학 센서에 대한 종이 또는 임의의 다른 평편한 표면으로, 광학 센서는 이 이미지의 이미지를 촬영한다). 그러나, 실제 객체의 모델(거의 2차원으로 평편한)과 같은 2차원 스푸프의 다른 실현도 실현될 수도 있다. 어느 경우든, 본 발명에 다른 스푸프는 실제 객체의 3차원 재생성은 아닌 것으로 의도된다.
거리 맵은 매트릭스 또는 테이블 또는 기타 구조와 같은, 데이터 구조를 구성하는 것을 의미하며, 여기서 광학 센서에 의해 촬영되는 원본 이미지에서 주어진 픽셀은 광학 센서에 대한 그 추정 또는 계산된 거리와 관련된다. 픽셀은 단지 데이터 구조이므로 픽셀 자체는 광학 센서에 대한 거리를 가지지 않는 것이 명확하다. 의미하는 바는 광학 센서에 의해 이미지를 촬영함으로써 획득되는 객체는 광학 센서에 대한 거리를 가진다는 것이다. 따라서, 획득되는 이미지에서 각각의 픽셀은 현실에서 한 점을 나타내며, 따라서 이미지가 촬영된 시점에 광학 센서에 대한 현실에서의 이 지점의 거리와 여전히 관련이 있다.
이미지 내에서 객체의 적어도 일부를 구성하는 복수의 픽셀들과 관련되는 광 반사를 나타내는 반사 패턴에 대해서도 마찬가지이다. 여기서, 픽셀 그 자체는 반사 패턴을 실현하지 않으나 원래 객체는 광 반사를 나타내는 반사 패턴을 가지는 것이 명확하다. 이는 광학 센서에 의해 획득되는 이미지 정보에 기초하여 계산된다. 거리 맵과 마찬가지로, 반사 패턴은 매트릭스 또는 2차원 테이블 등과 같은, 데이터 구조의 형태를 가지는 것으로 의도된다.
계산되는 거리 맵이 학습된 거리 맵과 비교되거나 또는 계산된 반사 패턴이 학습된 반사 패턴과 비교되는 것으로 의도된다. 본 명세서에서, 학습된 거리 맵 및 학습된 반사 패턴은 실제 객체의 2차원 스푸프의 반사 패턴 또는 실제 객체의 반사 패턴 또는 실제 객체의 2차원 스푸프의 거리 맵 또는 실제 객체의 거리 맵을 구성하도록 뉴럴 네트워크에 알려진 거리 맵들 또는 반사 패턴들에 대응한다. 학습된 거리 맵 또는 반사 패턴과의 계산된 거리 맵 또는 반사 패턴의 비교는 예를 들어 획득된 거리 맵 또는 반사 패턴이 실제 객체가 아닌 스푸프를 구성하는 학습된 거리 맵 또는 학습된 반사 패턴에 더 많이 대응한다고 결정함으로써, 실제 객체와 객체의 스푸프 사이를 구별하는데 사용될 수 있는 결과를 도출하도록 의도된다.
본 발명에 따른 방법을 이용하여, 사용되는 뉴럴 네트워크들이 이미지 내에 객체와 관련되는 특정한 특성을 결정하기 위해 학습된 정보(학습된 거리 맵 및 학습된 반사 패턴)와 촬영된 이미지들 사이에 유사성들을 확실하게 결정할 수 있기 때문에 실제 객체들 및 실제 객체들의 스푸프들 사이를 효율적으로 구별하는 것이 가능하다. 이에 따라, 본 방법은 실제 객체에 대한 이미지 내의 정보가 사용자를 식별하는데 사용되는 손가락 끝을 지닌 손가락과 같은 보안에 민감한 정보인 경우도 적용될 수도 있어, 이러한 객체들로부터 촬영된 이미지들의 오용을 방지한다.
일 실시예에서, 거리 맵 및 반사 패턴이 계산되어 학습된 거리 맵 및 학습된 반사 패턴과 비교되어, 비교의 결과에 기초하여, 이미지가 스푸프 또는 실제 객체를 포함하는지를 결정한다. 계산된 반사 패턴 및 계산된 거리 맵 둘 다를 이용함으로써 객체의 이미지가 스푸프 또는 객체를 나타내는지에 대한 결정의 안정성이 높아지고, 이로 인해 식별이 보안 관련 이슈들에 추가적으로 사용되는 경우에 보안성 및 식별의 안정성을 더욱 향상시킨다.
일 실시예에서, 이미지는 광학 센서와 관련되는 플래쉬를 이용하는 동안에 광학 센서에 의해 획득되고 그리고 광학 센서가 카메라이다. 카메라의 플래시를 이용하는 것은 이미지가 획득되는 영역을 일부분들을 강조 표시하여(highlight), 높은 정확도로 반사 패턴을 보다 안정적으로 계산하도록 허용하고 그리고 또한 실제 객체의 스푸프와 실제 객체 사이를 보다 용이하게 구별하도록 허용한다.
또한, 뉴럴 네트워크는 복수의 레이어들을 포함할 수 있고 그리고 마지막 레이어는 2개의 노드들을 가지고, 여기서 제 1 노드는 처리하는 단계 동안에 결정되는 실제 객체에 관한 출력을 제공하고 그리고 제 2 노드는 처리하는 단계 동안에 결정되는 스푸프에 관한 출력을 제공한다.
본 발명 내에서, 이미지 상에 획득되는 실제 객체의 스푸프 또는 실제 객체인지 여부에 관계없이 두 노드 모두는 촬영된 각각의 이미지에 대한 출력을 제공한다. 이 출력은 이미지 상에 획득되는 객체가 실제인지 또는 스푸프인지 여부에 대한 확률적 결정을 수행하기 위해 이후에 추가로 처리된다.
이 실시예의 보다 상세한 구현에 따라, 각각의 노드는 상기 이미지를 처리 시에 출력을 제공하고, 상기 출력은 -∞ 내지 +∞의 범위를 가지고 그리고 각각의 노드의 상기 출력은 출력 노말라이저(an output normalizer)로 전달되고, 상기 출력 노말라이저는 먼저 각각의 노드의 출력 xi를 취하고 그리고
Figure pct00001
에 의해 감소된 값 S(xi)을 계산하고, 여기서 상기 제 1 노드의 경우 i=1이고 상기 제 2 노드의 경우 i=2이고, 그리고 상기 값들 S(xi)를 노말라이즈 함수
Figure pct00002
에 제공하여 노말라이즈된 값들
Figure pct00003
Figure pct00004
를 획득한다. 제 1 노드 및 제 2 노드의 출력에 대한 이 추가적인 처리하는 단계를 이용하여, 제 1 및 제 2 노드에 기초하여 계산되는 노말라이즈된 값들을 가지는 것이 가능하여, 스푸프 또는 실제 객체가 이미지 내에 제공되는지 여부를 판단하기 위해 제 1 및 제 2 노드의 이 출력을 통계적으로 평가하도록 허용한다.
일 실시예에서,
Figure pct00005
인 경우에, 상기 이미지가 상기 실제 객체를 가지는 것으로 결정되고 그리고
Figure pct00006
인 경우에, 상기 이미지가 상기 스푸프를 포함하는 것으로 결정된다. 제 1 및 제 2 노드의 출력의 노말라이즈된 값들을 이용함으로써, 실제 객체 및 스푸프 사이를 안정적으로 구별하는 것이 가능하다.
이 실시예는 지수 함수가 컴퓨팅 시스템에서 용이하게 구현되어 필요한 처리 노력을 감소시키기 때문에 바람직하다는 점이 주목된다. 또한, 지수 함수는 컴퓨팅 시스템에 의해 용이하게 처리될 수 있기 때문에, 결과들을 계산하는데 필요한 처리 전력 및 다른 컴퓨팅 자원들을 줄일 수 있게 한다.
일 실시예에서, 상기 뉴럴 네트워크에 의해 입력으로서 상기 이미지를 처리하는 단계는 제 1 중간 출력을 생성하기 위해 상기 입력 이미지를 상기 뉴럴 네트워크의 제 1 레이어에 의해 처리하는 단계 및 이전 레이어의 상기 출력을 각각의 다음 레이어에 의해 처리하는 단계를 포함하고, 상기 뉴럴 네트워크는 복수의 레이어들을 포함하고, 각각의 레이어는 상기 레이어 내에서 상기 입력을 처리하는 순서로, 깊이별 컨볼루션 레이어(depthwise convolutional layer), 제 1 배치 노말라이저(batch normalizer), 제 1 렉티파이드 리니어 유닛(rectified linear unit), 점별 컨볼루션 레이어(pointwise convolutional layer), 제 2 배치 노말라이저 및 제 2 렉티파이드 리니어 유닛을 포함하는 깊이별 가분 컨볼루션(depthwise separable convolution)이고, 상기 복수의 레이어들을 이용하여 상기 입력을 처리함으로써, 상기 뉴럴 네트워크는 상기 이미지가 상기 실제 객체 또는 상기 스푸프를 포함하는지에 대한 상기 결정을 출력으로 획득한다.
의도되는 깊이별 컨볼루션 레이어는 추가적인 매트릭스를 계산하기 위해 예를 들어 3x3의 크기의 매트릭스인 커널과, 반사 패턴에 대응하는 매트릭스 또는 거리 맵에 대응하는 매트릭스, 또는 원래 이미지에 대응하는 매트릭스 중 하나인 매트릭스의 내적 또는 곱을 이용한다. 이러한 레이어들을 이용하는 것은 처리 효율성에 관하여 보다 효과적이다. 이러한 관점에서, 위의 실시예에서 제안되는 깊이별 컨볼루션 레이어들은 통상적으로 사용되는 컨볼루션 레이어들 보다 그 파라미터 민감성 측면에서 보다 효율적이다.
깊이별 컨볼루션 레이어 및 점별 컨볼루션 레이어는 깊이별 컨볼루션 서브-레이어 및 점별 컨볼루션 서브-레이어로도 지칭될 수 있다. 실제로, 이들은 뉴럴 네트워크의 “레이어 내의 레이어들”이고, 서브-레이어들을 구성한다.
위의 실시예에서 제공되는 점별 컨볼루션 레이어, 배치 노말라이저 및 렉티파이드 리니어와 함께, 깊이별 컨볼루션 레이어의 특정한 구현을 적용함으로써, 이미지들 내에서 스푸프들의 실시간 결정을 수행하기 위해 뉴럴 네트워크에 의해 요구되는 컴퓨터 자원들이 현재 알려진 기술들에 비해 현저하게 줄어든다.
추가적인 실시예에서, 상기 뉴럴 네트워크에 의해 상기 이미지를 처리하는 단계는 적어도 하나의 매트릭스 I를 상기 이미지로부터 생성하는 단계 및 상기 뉴럴 네트워크에 입력으로 상기 매트릭스를 제공하는 단계를 포함하고, 상기 이미지는 NxM 픽셀들을 포함하고 그리고 상기 매트릭스 I는 NxM 값들을 포함하는 매트릭스이고, 상기 매트릭스 I의 엔트리들은 Iij로 주어지고, 여기서 i 및 j는 정수들이고 그리고 i = 1 … N이고 그리고 j = 1 … M이다.
매트릭스 I는 원본 이미지의 RGB 컬러 값들 중 하나에 대응하는 매트릭스일 수 있다는 점이 주목된다. 그러나, 바람직하게는, 매트릭스 I는 매트릭스 I를 생성하기 전에 HSV 컬러 공간으로 원본 이미지를 변환함으로써 원본 이미지로부터 획득된다. HSV 컬러 공간은 Hue-Saturation-Value 컬러 공간을 지칭한다. 원래 획득된 이미지를 HSV 컬러 공간으로 변환하는 것은 원본 이미지가 NxM 픽셀들을 포함하는 경우에 변환된 이미지가 또한 NxM 픽셀들 또는 데이터 엔트리들을 각각 포함하는 것을 포함한다. 매트릭스 I는 변환된 이미지에서 NxM 항목들로부터 획득될 수 있다.
원래 획득된 이미지는 NxM 픽셀들 보다 많은 픽셀들을 가질 수도 있다는 점이 이해될 것이다. Hue-Saturation-Value 변환이 적용되기 전 또는 후에 픽셀들의 개수는 NxM으로 감소될 수 있다. 이 변환은 HSV 변환은 각 픽셀의 루마(luma) 정보를 그 관련된 컬러 정보(즉, RGB 값들)로부터 분리하기 때문에 특히 유리하다. 이에 따라, 거리 맵 및 반사 패턴은 보다 효율적으로 계산될 수 있다.
보다 구체적으로, 각각의 깊이별 컨볼루션 레이어는 매트릭스 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 pct00007
로 주어지고 그리고 매트릭스 P를 출력을 제공하고, 상기 매트릭스 P는
Figure pct00008
의 크기를 가지고, 여기서 Ww 및 Wh는 스트라이드 너비(stride width)를 정의하고 그리고 상기 매트릭스 P의 각각의 엔트리 P ij 는 상기 커널 K와의 ij번째 감소된 매트릭스 R의 상기 내적의 값이고, 상기 매트릭스 P는 상기 제 1 배치 노말라이저로 상기 깊이별 컨볼루션 레이어에 의해 출력으로 제공된다.
커널은 어떠한 정보를 손실하지 않으면서 도입되는(introduced) 매트릭스에서 인접한 픽셀들로부터 획득되는 정보를 적절하게 가중치를 부여(weighing)하도록 허용하여, 뉴럴 네트워크에서 연속적인 레이어들이 스푸프 또는 실제 객체를 결정하기 위해 처리하는 단계를 지원하는 효율성을 향상시킨다. 이를 위해, 커널은 이미지를 수신하기 전(즉, 뉴럴 네트워크의 트레이닝 중)에 획득되는 특정 가중치들 또는 파라미터들에 대응하는 엔트리들을 포함한다.
모바일 디바이스가 위의 실시예들에 따른 각각의 방법을 수행할 수 있는 어플리케이션 또는 다른 프로그램을 실제로 구비하기 전에 이 트레이닝이 수행되는 경우에, 요구되는 컴퓨터 자원들이 모바일 디바이스 상에서 유리하게 감소될 수 있다는 점이 본 발명의 발견이다.
이 조합이 요구되는 자원들 및 식별에 대한 개선된 성능을 보여주기 때문에 깊이별 컨볼루션 레이어 및 점별 컨볼루션 레이어를 이용하는 가분 컨볼루션을 구현하는 것이 가장 유리하다는 것이 본 발명의 발견이지만, 깊이별 컨볼루션 레이어가 손가락 끝들 또는 손가락들의 식별에 대해 특별히 조정되는 컨볼루션 레이어로 교체되는 것이 또한 고려된다. 따라서, 본 발명의 설명은 깊이별 컨볼루션 레이어들의 사용에 초점을 맞추고 있지만, 컨볼루션 레이어를 이용하여 본 발명을 구현하는 것도 가능하다.
또한, 상기 커널의 크기 S 및 T는 모든 깊이별 컨볼루션 레이어들과 동일하거나 또는
Figure pct00009
인 커널 K에서의 엔트리들 중 적어도 하나 및/또는 적어도 하나의 컨볼루션 레이어에 대해 상이하다.
각각의 컨볼루션 레이어들(즉, 각각의 깊이별 컨볼루션 레이어들)에 대해 동일한 커널을 선택함으로써, 대응하는 모바일 디바이스 상에 설치되는 결과적인 프로그램은 크기를 줄일 수 있다. 한편, 컨볼루션 레이어들 중 적어도 하나에 대해 상이한 커널이 사용되는 경우, 커널이 적절하게 조정되는 경우에 식별 실패들에 대해 알려진 이슈들이 방지될 수 있다. 예를 들어, 식별 과정의 시작 시에 보다 큰 커널(보다 큰 크기의 S 및 T에 대응하는)을 이용하는 것은 이미지의 보다 중요한 부분들을 취하고 초점을 맞추도록 허용하고, 이로 인해 식별 효율성이 향상한다.
대응하는 커널은 각각의 방법을 구현하는데 필요한 컴퓨터 자원들, 식별 효율, 및 커널의 크기 사이의 최적의 트레이드를 나타내어, 필요한 컴퓨터 자원들 및 식별 정확성에 관한 전체 효율성을 향상시킨다는 것이 본 발명의 발견이다.
추가적인 실시예에서, 상기 배치 노말라이저는 상기 렉티파이드 리니어 유닛에게 노말라이즈된 감소된 매트릭스 P'를 제공하고 그리고 상기 렉티파이드 리니어 유닛은 각각의 엔트리 P' ij 에 대해 렉티피케이션 함수(rectification function)를 적용하고 상기 렉티피케이션 함수는 엔트리들
Figure pct00010
를 가지는 새로운 매트릭스
Figure pct00011
를 계산하고 그리고 상기 매트릭스
Figure pct00012
는 상기 렉티파이드 리니어 유닛이 상기 제 1 렉티파이드 리니어 유닛인 경우에 상기 점별 컨볼루션 레이어에게 출력으로 제공되거나 또는 상기 렉티파이드 리니어 유닛이 상기 제 2 렉티파이드 리니어인 경우에 상기 뉴럴 네트워크의 다음 레이어에 출력으로 제공되고; 그리고/또는
상기 점별 컨볼루션 레이어는 매트릭스 P, P', 또는
Figure pct00013
에서의 각각의 엔트리를 가중치 α와 곱함으로써 이전 레이어로부터 수신된 상기 매트릭스 I, P, P', 또는
Figure pct00014
에 대해 상기 가중치 α를 적용한다.
이 렉티피케이션 함수는 실제 객체들 및 스푸프들의 결정 정확성에 잠재적으로 부정적으로 영향을 주는 이미지에서의 일부분들을 뉴럴 네트워크에서 각각의 레이어 이후에 필터링하도록 허용한다.
매트릭스 P, P', 또는
Figure pct00015
에서 각각의 점들에 대해 동일한 가중치 α가 적용되지만, 이 실시예는 이미지에서 일부분들(식별에 현저하게 영향을 주지 않는 매트릭스에서의 엔트리들에 대응하는)을 효율적으로 감쇠시키도록 허용한다. 이 감쇠는 다음 사이클에서 이러한 부분들을 분류하는, 렉티파이드 리니어 유닛과 함께, 매트릭스에서 이러한 부분들의 절대적 기여를 감소시킴으로써 구현된다.
바람직한 실시예에서, 위에서 설명되는 방법들의 각각의 단계는 모바일 디바이스 상에서 수행된다. 이는 이미지의 처리 및 실제 객체들 및 스푸프들의 결정을 포함하는 상술한 방법들의 단계들을 적어도 포함할 수 있다. 이미지의 저장 또는 객체가 실제 객체이고 스푸프가 아니라고 결정되는 경우에 이미지로부터 추출되는 생체 인식 특성 또는 생체 인식 특징들을 이용하여 사용자를 식별하는 것과 같은 임의의 후속 수행되는 단계가 모바일 디바이스의 외부 또는 내부에 있는 임의의 저장 디바이스 및 처리에 의해 수행될 수 있다. 또한, 실제 객체로부터 획득되는 정보를 이용하여 사용자를 식별하는 후속적으로 수행되는 식별 단계가 예를 들어, 회사의 서버와 같은 모바일 디바이스와 상이한 디바이스 상에서 수행되는 것이 또한 고려된다.
모바일 디바이스 상에서 각각의 단계들을 독점적으로 수행함으로써, 예를 들어, 실제로 식별 프로세스를 실행하는 서버로의 데이터 전송을 위한 채널을 더이상 유지할 필요가 없다. 따라서, 로컬 영역 네트워크 또는 모바일 네트워크에 대한 접속이 이용 불가한 영역에서 객체 식별이 사용될 수도 있다.
본 발명에 따른 모바일 장치는 광학 센서, 프로세서 및 상기 모바일 디바이스의 상기 프로세서에 의해 실행되는 경우에 상기 프로세서로 하여금 상술한 실시예들의 방법을 실행하도록 하는 실행가능한 명령들을 저장하는 저장 유닛을 포함한다.
도 1은 획득한 이미지를 처리하는 단계를 계략적으로 도시한다.
도 2는 광학 센서에 대한 실제 객체의 거리와 이미지 내의 픽셀들 간의 관계를 개략적으로 도시한다.
도 3은 어떻게 반사 패턴이 결정되는지에 대하여 개략적으로 도시한다.
도 4는 일 실시예에 따른 뉴럴 네트워크 내의 하나의 레이어의 구조 및 이 레이어 내의 데이터를 처리하는 단계를 개략적으로 도시한다.
도 5는 뉴럴 네트워크를 트레이닝하는 프로세스를 도시한다.
도 6은 일 실시예에 따른 이미지를 획득하고 이미지 내에서 객체를 식별하기 위한 모바일 디바이스를 도시한다.
도 1은 이미지를 촬영하는 것을 포함하여 획득된 이미지를 처리하는 단계에 대한 흐름도를 도시한다.
첫번째 단계 101에서, 스마트 폰 또는 태블릿 컴퓨터와 같은 모바일 디바이스의 광학 센서에 의해 이미지가 획득된다. 본 발명에 따른 방법에 대하여, 임의의 상황에서 이미지가 촬영되지만, 촬영되는 이미지는 이미지가 촬영 상황 내의 객체가 실제 객체(3차원 객체를 의미함), 또는 객체의 스푸프(spoof)(실제 객체의 2차원 표현(사진과 같은)임)인지 여부가 결정되는 객체를 포함하도록 의도된다. 그러나, 단계 101에서, 촬영된 이미지가 스푸프 또는 실제 객체를 나타내는지 여부가 모바일 디바이스 또는 다른 엔티티에 알려지지 않는다.
그리고 촬영된 이미지는 단계 102에서 뉴럴 네트워크에 제공된다. 이는 예를 들어 이와 관련된 컬러 값들을 가지는 복수의 픽셀들과 같은, 이미지에 대응하는 데이터 구조가 뉴럴 네트워크에 제공되는 것을 의미한다. 뉴럴 네트워크는 이미지가 촬영된 모바일 디바이스에 상주하거나 또는 이것은 이미지가 전달되는 다른 컴퓨팅 엔티티 상에 상주할 수 있다. 예를 들어, 사용자가 그 또는 그녀의 스마트폰을 이용하여 이미지를 촬영할 수 있고 그리고 이미지의 정보(완전히 또는 축소되거나 또는 기타 수정된 방식으로)가 예를 들어 실제 객체의 이미지를 사용하여 사용자를 식별하기 위한 툴을 제공하는 회사의 서버에 상주하는 뉴럴 네트워크에 제공된다.
따라서, 추가적인 처리하는 단계가 모바일 디바이스 상에 내부적으로 수행되거나 또는 다른 컴퓨팅 엔티티 상에서 모바일 디바이스의 외부에서 부분적으로 또는 완전히 수행된다. 도 1에서 설명되는 바와 같은 전체 방법이 모바일 인터넷에 대한 접속이 제한되는 세상의 지역들에서 그 응용을 허용하기 위해 모바일 디바이스 상에서 수행되는 것이 바람직하나 본 발명은 이에 한정되지 않는다.
단계 303에서, 이미지는 뉴럴 네트워크에 의해 처리된다. 이는 완전한 이미지가 처리되거나 또는 축소 또는 다른 방식으로 조작 또는 수정된 버전의 이미지가 처리되는 것을 의미할 수 있다. 예를 들어, 이미지가 고 해상도(HD) 품질로 촬영되는 경우, 이것은 먼저 이미지가 스푸프 또는 실제 3차원 객체를 나타내는지 여부의 정확한 식별을 결정하기 위해 얼마나 많은 픽셀들이 필요한지에 따라 더 적은 수의 픽셀들(예를 들어, 512x512 또는 256x256 또는 224x224 픽셀들)로 축소될 수 있다. 이와 관련하여, 단계 103은 픽셀들의 개수의 축소 또는 필요하다고 여겨지는 임의의 다른 전처리(예를 들어, 이미지의 광 조건들을 변경하는 등)를 포함하는 이미지의 “전처리”를 포함할 수 있다.
그러나, 이 단계는 이미지를 촬영하는 단계 101 및 뉴럴 네트워크에 의해 이미지를 처리하는 단계 103 사이에 임의의 적합한 지점에서 수행될 수도 있다. 예를 들어, 이미지의 조작 또는 이미지의 전처리는 이미지를 촬영한 이후에 단계 102에서 뉴럴 네트워크로 이미지를 제공하기 전에 즉각적으로 수행될 수 있거나, 또는 이것은 단계 102에서 뉴럴 네트워크에 이미지를 제공하는 단계 및 단계들 131 내지 134를 포함하는 단계 103에서 뉴럴 네트워크에 의해 이미지를 처리하는 단계의 시작 및 마지막 단계 104 사이에 제공될 수 있다.
어느 경우든, 원본 이미지에 대응하는 데이터 구조는 단계 103 및 후속 단계 131 내지 134에서 이제 처리된다.
단계 103에서 뉴럴 네트워크에 의해 이미지를 처리하는 단계는 이미지의 2개의 개별적인 처리로 나누어진다. 하나는 거리 맵을 계산 및 처리하는 단계(단계들 131 및 132)를 지칭하고 다른 하나는 반사 패턴의 계산 및 추가적인 사용을 지칭한다.
거리 맵부터 시작한다. 단계 131에서, 거리맵이 계산되고 여기서 거리맵은 모바일 디바이스의 광학 센서의 이미지 내에서 이 픽셀들이 구성하고 표현하는 현실의 부분들의 계산된 거리를 가지는 각각의 픽셀과 관련된다. 예를 들어, 사용자가 손의 이미지를 촬영하기 위해 광학 센서의 전방에서 그 손을 유지하고 있다고 가정하면, 거리 맵은 광학 센서에 대한 손의 거리에 대응하는 적어도 몇몇 에 대한 계산된 거리들 및 이미지 내에서 상이한 객체(예를 들어, 촬영되는 이미지의 배경에 위치하는 TV 또는 촬영되는 배경을 구성하는 전경에서의 집)들에 대응하여 계산되는 잠재적으로 다른 거리들을 포함한다. 따라서, 이미지가 촬영되는 현실 내에 상이한 객체들을 구성 또는 표현하는 픽셀들에 대한 다양한 거리들이 존재할 수 있다.
그리고, 다음 단계 132에서 계산된 거리 맵은 뉴럴 네트워크의 학습된 거리 맵과 비교된다. 학습된 거리 맵은 몇몇 실시예에서 적어도 2개의 거리 맵들로 분할될 수 있고, 여기서 제 1 학습된 거리 맵은 촬영된 실제 객체들의 이미지들 참조하는 거리 맵에 대응하는 반면에 제 2 학습된 거리 맵은 객체의 2차원 스푸프로부터 촬영된 이미지에 대한 거리 맵에 대응할 수 있다. 제 1 은 이미지의 전체 범위에 걸쳐 다양한 거리를 나타내는 반면에 제 2 는 제 1 픽셀로부터 제 2 픽셀로 이동하는 경우에 각각의 픽셀과 관련되는 거리의 부드러운 변화를 가지게 된다는 점에서 제 1 과 후자는 상이할 것이다. 이는 2차원 스푸프(즉, 예를 들어, 종이 상에 실제 객체의 이미지)가 이미지를 촬영하는 경우에 광학 센서의 전방에 유지되는 경우, 광학 센서에 대한 픽셀들의 거리가 광학 센서에 대해 임의의 상대적인 배치(각도)를 가지는 평면에 대해 주어진 지점(광학 센서)의 거리에 따라 계산될 수 있어, 어떠한 불연속점을 나타내지 않기 때문이다.
획득되고 계산된 거리 맵들 및 반사 패턴들을 비교하는 경우에 비교가 뉴럴 네트워크와 추가적인 소프트웨어 또는 하드웨어를 함께 사용함으로써 또는 뉴럴 네트워크의 외부에서 완전히 수행되는, 다른 구현을 생각하는 것이 가능하지만, 비교는 바람직하게는 뉴럴 네트워크 내에서(예를 들어, 뉴럴 네트워크 내에 이미지를 처리하는 단계의 일부로서) 완전히 수행된다.
이 비교로부터, 단계 104에서 이후에 사용되는 결과가 획득된다.
다른 흐름에서, 단계 133은 먼저 이미지 내의 객체의 적어도 일부를 구성하는 복수의 픽셀들과 관련되는 광 반사를 나타내는 광 패턴을 계산하는 단계를 포함한다. 광 반사 패턴은 예를 들어 획득되는 이미지 내의 각각의 픽셀들과 밝기의 값들을 관련시킬 수 있다. 픽셀들은 단지 실제 상황을 나타내는 데이터 구조들이므로, 이 밝기의 값은 마찬가지로(거리 맵과 같이) 픽셀들의 밝기가 아닌 이미지가 촬영되는 실제 상황의 실제 밝기에 대해 대응한다. 반사 패턴을 적절하게 계산하기 위해, 이미지는 카메라의 플래시를 이용하여 모바일 디바이스의 카메라에 의해 단계 101에서 촬영되는 것이 바람직하다. 따라서, 광학 센서에 가까운 이미지가 촬영되는 실제 상황의 부분들은 비교적 밝아 상당한 양의 입사 플래시를 반사하는 반면에 광학 센서에 대하여 기울어진 부분들 또는 실제 상황 내에서 보다 먼 부분들은 보다 적은 플래시를 반사하게 되고 따라서 비교적 어둡게 보일 것이다. 플래시가 대략적으로 점의 형태의 광원이기 때문에 플래시를 이용하는 경우에 반사 패턴의 계산은 주변 광이 점 형태의 광원이 아니기 때문에 단지 실제 주변 광 조건들을 이용하는 경우에 획득될 수 있는 반사 패턴에 비교하여 보다 많이 정확하다.
단계 132에서와 같이, 다음 단계 134에서, 계산된 반사 패턴은 뉴럴 네트워크의 학습된 반응 패턴에 비교된다. 단계 132에서, 뉴럴 네트워크는 바람직하게는 2개의 학습된 반사 패턴들을 가지고 여기서 제 1 학습 반사 패턴은 촬영되는 실제 객체들의 이미지들에 대응하는 반면에 제 2 는 2차원 스푸프의 반사 패턴을 참조한다. 이 비교는 단계 104에서 이후에 사용되는 결과를 제공한다. 이미지를 처리하는 단계가 다음 단계들 131 및 132 또는 단계들 133 및 134에 의해 완료되거나 또는 이러한 단계들 모두를 수행함으로써 완료되는지 여부에 관계없이, 광학 센서에 의해 촬영되는 이미지는 실제 객체의 2차원 스푸프를 포함하거나 또는 이것이 실제 객체를 포함하는지 여부가 단계 104에서 최종적으로 결정된다.
이 결정은 본 발명에 따라 단계 132 및/또는 단계 134에서의 비교의 결과에 기초하여 완료된다. 이에 따라, 이들 단계들의 결과는 바람직하게는 나중에 이미지 내에 나타나는 스푸프 또는 실제 객체가 있는지 여부를 결정하는데 사용될 수 있는 숫자 또는 다른 정보이거나 또는 이를 포함할 수 있다.
이후에 설명되는 바와 같이, 뉴럴 네트워크는 하나의 마지막 레이어를 포함하여 복수의 레이어들을 포함할 것이다. 일 바람직한 실시예에서, 본 발명에 따른 마지막 레이어는 제 1 및 제 2 노드를 포함하고 여기서 제 1 노드는 단계 132 또는 단계 134에서의 비교 단계 동안에 결정되는 실제 객체에 관한 -∞ 내지 +∞ 범위를 가지는 출력을 제공하는 반면에 제 2 노드는 단계들 132 및/또는 단계 134 동안에 식별되는 스푸프에 대한 -∞ 내지 +∞ 범위를 가지는 출력을 제공한다.
예를 들어, 출력 값들은 획득된 거리 맵 및 학습된 거리 매트릭스를 구성하는 차이들의 합을 나타낼 수 있다. 획득된 거리 맵이 특정 픽셀들 ij(이미지의 i번째 행, j번째 열) O에 대응하는 여러 거리들로 표현될 수 있고 그리고 학습된 거리 맵이 각각의 엔트리들 Oij 및 Lij를 가지는 L이라고 가정한다. 따라서, 결과 D=L-O는 엔트리들 Dij를 가지게 될 것이다. 합
Figure pct00016
을 계산함으로써, 마지막 레이어에서의 노드들의 일 예시로 출력이 제공될 수 있다. 제 1 출력은 예를 들어 실제 객체에 대한 학습된 거리 맵의 구조 L에 대응하고 제 2 노드에 의한 제 2 출력은 스푸프에 대응하는 학습된 거리 맵의 구조 L에 대응한다. 물론, 반사 패턴에 대해서도 동일하다. 위의 설명은 O, L, 및 D가 각각의 엔트리들을 가지는 통상적으로 알려진 매트릭스들과 같은 구조들일 수 있다는 영감을 줄 수 있지만, 정규 매트릭스 형태로 거리 맵들 및 반사 패턴들(학습 또는 획득된)을 표현하는 것이 일반적으로 가능하지 않다. 이는 이미지가 뉴럴 네트워크 자체 내부에서 처리되는 동안에 거리 맵들이 획득되어, 매트릭스 형태인 단순한 표현을 허용하지 않기 때문이다. 그러나, 용이한 설명의 위해, O, L 및 D는 보다 용이하게 시각화될 수 있는 컨텍스트를 제공하기 위해 매트릭스의 형태로 표현될 수 있다고 가정될 수 있다.
이러한 값들(합
Figure pct00017
와 같은)을 이용하여, 제 1 노드 또는 제 2 노드의 출력이 실제 객체 또는 실제 객체의 스푸프를 구성하는지 여부를 결정하는 것이 용이하게 가능하지 않다. 따라서 이 실시예에 따라 이미지 상에 실제 객체 또는 객체의 스푸프가 존재하는지 여부를 결정하도록 허용하기 위해 몇몇의 노말라이제이션(normalization)들이 수행되는 것이 바람직하다.
이룰 구현하기 위해, xi로 지정되는 제 1 노드 및 제 2 노드의 출력 값들(여기서 제 1 노드의 경우 i=1이고 제 2 노드의 경우 i=2임)은 값 S(xi)로 대한 먼저 감소되고, 여기서
Figure pct00018
이고, 이들 값들이 이미 1 보다 작은 반면에, 이들은 반드시 그 합이 1이 아니므로, 반드시 통계적 또는 확률적 결정들을 내리도록 허용할 수 없다. 이러한 결정을 허용하기 위해, 스푸프 또는 실제 객체가 이미지 상에 있어야 하므로 획득되는 이미지 내에서 실제 객체 또는 객체의 스푸프를 발견하는 확률은 그 합이 1인 것으로 가정된다. 이러한 가정의 관점에서, 계산된 값들 S(xi)은 이제 다음 노말라이제이션 함수:
Figure pct00019
를 이용하여 값들
Figure pct00020
을 획득하기 위해 추가로 처리된다. 위의 함수는 벡터의 놈(norm)의 계산을 구성하고 소프트 맥스 함수로 알려졌기 때문에 값들
Figure pct00021
의 합은 어느 경우라도 1이 되게 된다. 값들
Figure pct00022
Figure pct00023
를 이용하여, 통계적 및 확률적 진술(statement)들이 가능하다.
따라서, 이 계산
Figure pct00024
Figure pct00025
의 결과들은 도 1의 결정하는 단계 104를 위해 사용될 수 있다. 이미지가 실제 객체를 나타내는 확률을 구성하는
Figure pct00026
이 0,5 보다 큰 경우(
Figure pct00027
에 대응)에 이미지가 실제 객체를 나타낸다는 진술이 결정되고 반면에
Figure pct00028
인 경우(
Figure pct00029
에 대응)에 이미지가 실제 객체의 스푸프를 를 나타낸다는 진술이 결정되게 된다.
도 1에서 명확하게 도시되지 않지만, 추가적인 단계가 결정 단계 104에 이어진다. 예를 들어, 실제 객체 또는 실제 객체의 스푸프가 이미지 상에 나타나는지 여부에 대한 결정은 예를 들어 촬영된 이미지가 실제 객체의 스푸프를 나타내어 로그인 절차 또는 송금을 수행하는 것과 같은 다른 보안 관련 프로세스에서 사용자를 식별하는데 사용될 수 없다는 사용자 또는 다른 엔티티에 대해 표시하는 것과 같은 추가적인 단계들을 트리거(trigger)하는데 사용될 수 있다. 반면에, 결정이 긍정적인 경우에(즉, 이미지가 실제 객체를 나타내는 경우), 실제 객체로부터 획득될 수 있는 사용자 특이적 정보에 기초하여 사용자를 식별하는 추가적인 프로세스가 트리거될 수 있다. 이는 예를 들어 실제 객체의 이미지를 추가로 처리하는 단계를 포함할 수 있다. 예를 들어, 실제 객체가 손 또는 손가락 끝인 경우, 지문과 같은 생체 인식 특성이 이미지로부터 획득될 수 있고 그리고 사용자를 식별하고, 예를 들어 생체 인식 특성이 사용되는 로그인 절차 또는 다른 프로세스를 수행하는데 사용될 수 있다.
도 2 및 도 3은 실제 객체로부터 촬영되는 이미지 및 실제 객체의 스푸프로부터 촬영되는 이미지에 대해 거리 맵이 예시적으로 어떻게 보이는지에 대한 개략적으로 도시한다. 위에서 설명되는 바와 같이, 거리 맵들 및 반사 패턴들은 통상적으로 매트릭스 형태로 표현되지 않을 수 있다. 그러나, 거리 맵들 및 반사 패턴들을 획득하는 개념을 설명하기 위해, 필섹들과 이들의 관련된 거리들/반사 특성들 사이에 1 대 1 맵핑을 가질 수 있다고 가정한다. 설명을 위해, 이것은 매트릭스 형태로 반사 패턴들 및 거리 맵의 표현을 어느정도 참조하는 것으로 고려될 수 있다.
이와 관련하여, 도 2는 이미지가 그 아래로 이미지가 촬영되는 시야(field of view)(211)를 가지는 광학 센서(201)를 구비하는 모바일 디바이스(200)를 이용하여 실제 객체로부터 촬영되는 상황을 도시한다. 도 2에서의 도시는 현실에서 광학 센서로 볼 수 있는 실제 3차원 상황의 2차원 단면이다. 이 이미지에 촬영되도록 의도되는 실제 객체는 객체(120)이나, 때때로 객체 (221)같은, 추가적인 객체들이 광학 센서의 시야(211)에 존재할 수 있다. 도시되는 2차원 배치로부터 획득되는 이미지는 픽셀들의 1차원 배치(2차원 이미지인 실제 3차원 상황으로부터 촬영되는 이미지에 대응하는)이고, 여기서 이 픽셀들은 표시 방향 x에 배치된다. 이미지에서 각각의 픽셀(표시 1, 2, 3, 4를 가지는 픽셀들)에 대해, 거리가 계산되게 된다. 실제 상황에 대해, 이것은 도 2에서 주어지는 거리 맵이 된다. 도시되는 바와 같이, 실제 객체들의 거리는 임의의 방식으로 가변적이고 그리고 객체의 3차원 구조 및 광학 센서에 대한 실제 객체의 배치(도 2a의 도면에서 2차원 구조)는 실제적으로 알 수 없기 때문에 제한된 양의 파라미터들에만 의존하는 함수를 이용하여 용이하게 계산될 수 없다.
이와 대조적으로, 도 3은 실제 객체의 이미지(즉, 2차원 스푸프)가 광학 센서의 전방에 유지되는 경우를 도시한다. 도시되는 예시에서, 광학 센서에 의해 획득되는 상황이 2차원 상황으로 표현되고 따라서 획득되는 “이미지”가 도 2에서의 경우에 대해 이미 설명된 바와 같이 1차원이라고 다시 가정한다.
간이한 설명을 위해, 광학 센서가 부착되는 모바일 디바이스(300)에 평행하도록 광학 센서(301)에 대해 이미지가 유지된다고 추가로 가정된다. 또한, 다시 설명의 용이를 위해, 스푸프(330)의 (2차원) 이미지가 광학 센서의 전방에 완전한 평면으로 제공된다고 가정한다.
이 경우에, 광학 센서로부터 최단 거리 d0을 가지는 광학 센서(301)의 시야(311) 내에 점이 존재한다. 이 이미지 내의 임의의 다른 점은 거리 dx를 가지게 되고, 여기서 x 방향에 대해 좌표의 원점이 광학 센서에 대해 최단 거리 d0를 가지는 점이라고 가정하는 경우에 도 3에 따라 거리 맵의 도시되는 그래픽적 표현이 획득될 수 있는
Figure pct00030
으로 거리가 주어진다.
도 3에서 도시되는 바와 같이, 획득되는 (1차원) 이미지의 픽셀들에 대응하는 이 거리맵은 최소 거리 d0 및 원점으로부터의 이미지에서 주어진 점의 거리에만 의존하므로 위의 식을 이용하여 계산될 수 있다.
따라서, 2차원 스푸프의 거리 맵이 제한된 수의 파라미터들을 가지는 함수의 값을 계산함으로써 획득될 수 있기 때문에 광학 센서에 의해 획득되는 실제 상황 또는 실제 객체의 거리 맵은 2차원 스푸프의 거리 맵과 현저하게 상이할 것이다.
거리 맵에 대하여 수행되었던 방식이므로 이것이 용이하게 이미지화될 수 없지만, 계산된 반사 패턴에 대해서도 마찬가지이다.
그러나, 계산되는 거리 맵에 대한 위의 설명으로부터, 촬영되는 이미지에서 각각의 픽셀에 대해 실제 상황에 대응하는 조명 조건들과 관련되는 반사 값 또는 밝기 값 또는 임의의 기타 값을 계산하는 것이 가능하다는 것이 명확해진다. 실제 상황이 다시 도 3에서 설명되는 바와 같은 실제 객체의 2차원 스푸프인 경우에, 1차 근사(first order approximation)에서 주어진 점으로부터 획득되는 광의 강도는 거리의 제곱에 상호(reciprocally) 의존하기 때문에 반사 패턴(보다 용이하게 광 강도에 대해 설명되는)은 위의 식에 따르거나 적어도 위의 식에 의존하여 가변적이게 된다.
복수의 다른 객체들 중에서 실제 객체를 나타내는 상황(도 2와 같은)에 대해, 반사 패턴은 복잡한 구조에 따라 가변적인 반면에, 2차원 스푸프가 광학 센서에 나타나는 경우에 대해, 반사 패턴은 제한된 수의 파라미터들을 가지는 함수를 이용하여 용이하게 계산될 수 있다.
뉴럴 네트워크에 알려진 것과 같은 실제 객체들에 대응하는 학습된 거리 맵들(또는 반사 패턴) 및 객체들의 2차원 스푸프들에 대응하는 학습된 거리맵들에 대한 경우도 동일할 것이다.
따라서, 뉴럴 네트워크는 학습된 거리 맵들(및 반사 패턴들 또한)을 획득된 거리 맵들 및 반사 패턴들을 비교함으로써 획득된 이미지가 실제 객체 또는 이 객체의 스푸프를 나타내는지 여부에 대한 합리적인 결정을 할 수 있다.
거리 맵 및 반사 패턴 각각의 계산의 단순화를 위해서, 그리고 단계 104를 위해 필요한 컴퓨터 자원들을 줄이기 위해, 학습된 거리 맵 및 학습된 반사 패턴은 통상적으로 데이터 구조의 형태로 뉴럴 네트워크에 제공되게 될 것이고, 여기서 각각의 엔트리는 대응하는 반사 패턴 또는 거리의 학습된 동작(behavior) 또는 구성한다.
마찬가지로, 획득 또는 계산된 거리 맵 및 획득된 반사 패턴은 데이터 구조의 형태로 제공될 수 있고, 여기서 각각의 엔트리는 획득된 이미지에서 거리(또는 반사 패턴 각각)을 구성한다.
학습 및 계산된 거리 맵들 및 반사 패턴 둘 다에 대해, 이는 픽셀 당 픽셀 기반일 수도 있고, 즉, 각각의 데이터 구조들에서 각각의 엔트리가 특정 픽셀의 반사 패턴 또는 학습/계산된 거리에 대응한다.
물론, 이는 획득된 이미지 내의 픽셀들의 위치와 데이터 구조 내의 엔트리들 사이의 관련성이 존재할 것을 요구한다. 이는 데이터 구조를 계산하기 위한 기반으로 이미지 내의 픽셀들 자체의 배치를 이용함으로써 구현된다. 즉, 이는 거리 맵(예시 L) 및 반사 패턴 (예시 8)에 대해 사용되는 데이터 구조가 각각 획득된 이미지에 따라 구축된다는 것을 의미한다. 예를 들어, 이미지가 512x512 픽셀 당 컬러값을 포함하는 경우, 거리 맵 및 거리 패턴은 각각의 엔트리가 획득된 이미지에서 하나의 픽셀(하나의 컬러 값에 대한)에 대응하는 크기 512x512 엔트리(512x512 엔트리들을 가지는 매트릭스로 반드시 표현될 필요 없음)들의 데이터 구조일 수 있다. 다른 해상도의 이미지에 대해서도 동일한다.
도 4는 본 발명의 일 실시예에 따라 뉴럴 네트워크의 하나의 레이어(200)에서 수신된 입력 이미지를 내부적으로 처리하는 단계를 도시한다. 입력 이미지는 원본 이미지 또는 원본 이미지로부터 획득되는 HSV 변환 데이터 구조일 수 있다. 실제로, 뉴럴 네트워크에 제공되는 데이터 구조는 컬러 값들 보다 픽셀들의 루마(luma) 값들을 더 잘 나타내기 때문에 HSV 컬러 공간으로 변환 이후에 입력 이미지에 대응하는 매트릭스일 가능성이 더 높다. 이는 거리 맵 및 반사 패턴을 보다 효율적으로 계산할 수 있게 한다.
이 레이어(200)는 뉴럴 네트워크를 통해 원본 입력 이미지를 처리하는 순서로, 위에서 설명된 단계 102 이후에 원본 입력 이미지를 수신하는 제 1 레이어 또는 뉴럴 네트워크의 2개의 추가적인 레이어들(240 및 250) 사이에 배치되는 임의의 중간 레이어인 레이어이거나 또는 레이어(200)는 도 1를 참조하여 설명된 단계(104)에 따라 출력을 제공하게 되는 뉴럴 네트워크의 마지막 레이어일 수도 있다. 마지막의 경우에, 레이어는 이미지 내의 실제 객체의 식별 및 스푸프 식별을 위한 대응하는 출력을 제공하기 위해 위에서 설명되는 2개의 출력 노드들을 가질 것이다.
어느 경우이든, 레이어(200)는 적어도 어느정도 원래 획득된 이미지에 대응하는 입력(230)을 수신할 것이다. 이 입력은 바람직하게는 N X M 크기를 가지는 적어도 하나의 매트릭스의 형태로 제공되며, 여기서 N 및 M은 0 보다 큰 정수들이다. 이 매트릭스는 예를 들어, HSV 변환 이미지 또는 적어도 하나의 컬러값(예를 들어, 레드)에 대한 이미지에서의 픽셀들을 나타낸다. 따라서 이 매트릭스에서 엔트리들은 이 특정 픽셀의 개별적인 컬러(이 예시적인 경우에서 레드)의 값 또는 그 루마 값들에 대응하는 값들을 가질 수 있다. 이하에서 명확해지는 바와 같이, 입력은 획득된 이미지와 동일하지 않을 수 있지만 뉴럴 네트워크에서의 레이어들을 통한 몇몇의 프로세싱 또는 몇몇의 전-처리(예를 들어 위에서 설명한 바와 같이 해상도에서의 감소)에 의해 원래 이미지를 나타내는 매트릭스로부터 획득되는 매트릭스 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 pct00031
이러한 맥락에서, 모든 내적들을 계산하고 이들을 행들 및 열들에 따라 적절히 배열함으로써 획득되는 새로운 매트릭스는 일반적으로
Figure pct00032
크기가 되며, 여기서 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의 크기이고 그리고 원본 NxM 매트릭스에서의 코히런트 엔트리들(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 pct00033
여기서 n 및 m은 매트릭스 P에서 행들 및 열들의 수 또는 N x M에서의 행들/열들 및 줄들의 수를 나타낸다. 항목들 Pij는 매트릭스 P의 엔트리들이고 여기서 주어진 항목 Pij는 행 i 및 열 j의 매트릭스에서의 구성요소이다.
그리고, 배치 노말라이저는 평균값 V를 원래 매트릭스에서 각각의 엔트리 Pij로부터 뺌으로서 감소된 매트릭스 P'를 계산하여 P'ij=Pij-v가 된다. 이에 의해, 감소된 매트릭스 P'에서 값들은 노말라이즈되어 한 방향 또는 다른 방향의 이상값(anomaly)들(매우 큰값들 또는 매우 낮은 값들)이 필터링된다. 항목 P'ij가 평균값 V에 대응하는 표준 편차로 항 Pij-V를 나눔으로써 계산되는 것이 또한 고려된다.
제 1 배치 노말라이저(212)에 의해 생성되는 결과(232)는 지금까지 매트릭스의 추가적인 차원 감소가 수행되지 않았기 때문에 (N - S + 1)×(M - S + 1) 크기를 여전히 가지는 매트릭스(도 4에서 주어진 예시에서)이다.
그리고 결과(232)는 제 1 배치 노말라이저(212)에 이어지는 제 1 렉티파이드 리니어 유닛(213)에 제공된다.
렉티파이드 리니어 유닛은 새로운 매트릭스 엔트리들
Figure pct00034
를 계산함으로써 매트릭스(232)에서 각각의 엔트리들을 추가로 변형시키며, 여기서
Figure pct00035
이다.
이는 배치 노말라이저를 통과한 이후에 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 pct00036
(236)를 획득하기 위해 적용되며, 이는 뉴럴 네트워크에서 다음 레이어로 포워딩되거나 또는 뉴럴 네트워크에서 다음 레이어가 없는 경우, 결과(236)가 출력으로 제공된다.
도 5에서, 실제 객체의 스푸프 또는 실제 객체를 식별하는 패턴 뿐만 아니라 도 4에 대해 설명되는 가중치 α 및 커널 K의 가중치가 뉴럴 네트워크에 의해 학습되도록 어떻게 뉴럴 네트워크가 적절하게 훈련되는지에 대한 설명이 제공될 것이다.
도 5의 방법은 트레이닝 테이터(401)의 제공으로 시작한다. 트레이닝 데이터는 실제 객체들의 스푸프들의 이미지들 뿐만 아니라 실제 객체들의 복수의 이미지들로 구성될 수 있다. 예를 들어, 이미지들은 실제 손들 또는 손가락들의 다수의 이미지들 및 이러한 객체들의 이미지들의 이미지들(즉, 스푸프들)을 포함할 수 있다. 이미지들은 트레이닝 데이터로 도입될 수 있는 동일한 이미지들로부터 회전, 강조 표시(highlighted), 어둠게함(darkened), 확대 또는 다른 수정된 복사본들을 이용하여 증가될 수 있다. 바람직하게는 이미지 플립(flip)들, 이미지 회전 및 전환, 전단(shear)들, 크롭(crop)들, 밝기를 높이기 위한 증가(multiplication) 및 가우시안 블러(Gaussian blur)가 대량의 트레이닝 이미지들을 획득하기 위해 사용될 수 있다. 언급된 기술들의 임의의 조합들이 사용될 수도 있다. 항목(408)에 따라 제공되는 값들
Figure pct00037
Figure pct00038
은 실제 객체 또는 객체의 스푸프를 나타내는 이미지의 확률을 제공하는 뉴럴 네트워크에서의 마지막 레이어의 제 1 노드 및 제 2 노드의 “정답” 출력을 나타내는 값들이다. 이 값들은 트레이닝 데이터에서 각각의 이미지에 대해 제공된다.
다음 단계에서, 하나의 특정 입력 이미지(402)가 뉴럴 네트워크 이외에, 옵티마이저(optimizer)(407) 및 손실 함수 계산기(loss function calculator)(406)가 제공되는 트레이닝 환경에서 뉴럴 네트워크에 제공된다.
입력 이미지는 제 1 라운드에서, DCBR로 요약되는(summarized), 깊이별 컨볼루션 레이어, 제 1 배치 노말라이저, 뿐만 아니라 제 1 렉티파이드 리니어 유닛(403)을 이용하여 처리되고, 그리고 PCBR로 요약되는, 점별 컨볼루션 레이어, 제 2 배치 노말라이저 및 제 2 렉티파이드 리니어 유닛으로 전송되며, 여기서 이들은 도 4에서 제공되는 설명에 따라 처리된다. 이는 도 5에서 도시되는 방법들 또는 섹션들(403 및 404)이 깊이별 컨볼루션 레이어(DC)의 커널 K 및 점별 컨볼루션 레이어(PC)에 대한 대응하는 가중치들을 각각의 섹션(403 및 404)에서 이용하여 도 4를 참조하여 설명되는 바와 같이 바람직하게는 13번과 같이 여러번 실행됨을 의미한다. 항목들(403 및 404)의 렉티파이드 리니어 유닛들 뿐만 아니라 제 1 및 제 2 배치 노말라이저들은 도 4에 대하여 위에서 설명한 바와 같은 방식으로 동작한다.
그 결과, 위의 설명에 따라, 값들
Figure pct00039
Figure pct00040
가 획득된다. 그리고 이 결과는 손실 함수에 제공될 것이고 여기서 이것은 정확한 값들
Figure pct00041
Figure pct00042
과 결과(405) 사이에 차이를 식별하기 위해 408에서 프리셋 값들
Figure pct00043
Figure pct00044
와 비교될 것이다. 손실 함수(406)에 의해 획득되는 이 차이는 차례로 각각의 점별 컨볼루션 레이어의 가중치들 및 각각 깊이별 컨볼루션 레이어 즉, α 및 커널 K에서의 엔트리들을 수정하게 되는 옵티마이저(407)에 제공된다. 이는 네트워크에서 모든 레이어들에 대해 한번에 또는 각각의 레이어에서 독립적으로, 점별 컨볼루션 레이어의 가중치 α 및 깊이별 컨볼루션 레이어의 커널 K에서의 엔트리들이 조작된다는 것을 의미한다.
이러한 새로운 값들을 이용하여, 매우 동일한 이미지에 대해 사이클이 반복되고 결과적인 값들
Figure pct00045
Figure pct00046
이 손실 함수에 제공되고 그리고 정확한 값들
Figure pct00047
Figure pct00048
에 비교되고, 따라서 이 결과는 다시 한번 가중치들을 수정하는 옵티마이저(407)에 제공된다.
이 과정은 항목
Figure pct00049
Figure pct00050
에 대한 결과적인 값들
Figure pct00051
Figure pct00052
사이의 차이가 본질적으로 의도되는 실제 객체들 및 스푸프들의 결정 정확성에 대응할 때까지 수행된다.
그 후에, 다음 입력 이미지(402)는 트레이닝 데이터(401)로부터 취해지고 대응하는 값들
Figure pct00053
Figure pct00054
이 손실 함수에 제공된다. 그리고 설명된 프로세스가 새로운 이미지에 대해 다시 반복되고 그리고 점별 컨볼루션 레이어 및 깊이별 컨볼루션 레이어에 대한 최적의 가중치들이 획득된다. 특정한 조합의 가중치들이 모든 입력 이미지들에 대해 적절한 식별 정확성을 얻을 때까지 이것이 반복된다. 따라서 획득되는 가중치들의 조합이 최종 가중치들(410)로 출력된다.
그리고 이러한 최종 가중치들은 모바일 디바이스 상에서 본 발명의 방법을 실행하는 어플리케이션으로 도입된다. 실제로, 이 방법에 의해, 뉴럴 네트워크가 실제 객체 또는 실제 객체의 스푸프를 나타내는 특정 거리 맵들 또는 반사 패턴들을 학습하는 것이 가능하다. 도 5에서 설명되는 방법은 거리 맵들 또는 반사 패턴 등을 학습하는데 사용되는 입력을 이용하여 수행된다.
값들
Figure pct00055
Figure pct00056
또는 이 조합 이외에, 이미지들에 대응하는 정확한 거리 맵들 및 반사 패턴들을 제공하는 것이 또한 가능한다. 이 경우, 단계 405에서 뉴럴 네트워크의 출력은 개별적인 값들 뿐만 아니라 입력(408)을 통해 획득되는 현재 거리 맵 및/또는 반사 패턴과 비교할 거리 맵 및/또는 반사 패턴이다.
따라서, 본 발명의 개념에서, 모바일 디바이스에 제공되는 뉴럴 네트워크는 이미지가 실제 객체 또는 단지 실제 객체의 2차원 스푸프를 나타내는지 여부에 대한 결정에 이미 완전히 조정되어 있다.
전체적으로, 도 4를 참조하여 위에서 설명된 바와 같이 점별 컨볼루션 레이어들, 깊이별 컨볼루션 레이어들 및 배치 노말라이저들 뿐만 아니라 렉티파이드 리니어 유닛들을 이용함으로써, 1 메가 바이트 보다 작은 어플리케이션이 제공될 수 있어, 인터넷 등을 통해 추가적인 데이터 소스들에 대한 어떠한 접속 없이 독립적으로 모바일 디바이스 상에서 사용되도록 허용한다. 따라서 이는 무선 네트워크 등에 대한 접속이 불가능한 환경들에서의 응용에 적합하게 한다. 또한, 이 어플리케이션을 실행하는데 필요한 프로세서 전력이 추가적인 보안-관련 프로세스들에 대해 이 생체 인식 특성을 이용하기 위해 예를 들어, 식별되는 실제 객체로부터 생체 인식 특성을 추출함으로써 나중에 수행되는 식별을 위해 사용될 수 있는 실제 객체들의 적절한 결정을 도출하면서 최소한으로 감소된다.
본 발명의 방법이 수행되는 맥락을 제공하기 위해 도 6은 본 실시예의 일 실시예에 따른 스마트폰 형태의 모바일 디바이스를 도시한다.
모바일 디바이스(500)는 현재 알려진 바와 같은 스마트폰으로 구현된다. 이것은 바람직하게는 디스플레이(530)가 제공되는 모바일 디바이스(500) 상의 측면의 반대인 카메라의 뒷면 상에 광학 센서(520)를 포함한다. 카메라는 1MP, 2MP 또는 그 이상의 해상도를 가지는 카메라로 예를 들어, HD 카메라일 수 있다. 이것은 플래쉬광을 구비할 수 있지만 반드시 필요한 것은 아니다.
이것은 감소된 해상도로 실시간 이미지들을 촬영하도록 적응될 수도 있고 그리고 카메라가 작동되면, 디스플레이(530)는 카메라가 실제로 “보고 있는” 것을 나타낼 수 있다. 이는 예를 들어, 손(510)일 수 있다.

Claims (14)

  1. 손의 손가락과 같은 3차원 실제 객체를 상기 실제 객체의 2차원 스푸프(spoof)로부터 구별하기 위한 방법에 있어서, 상기 방법은
    모바일 디바이스의 광학 센서에 의해, 이미지를 획득하는 단계 - 상기 이미지는 스푸프 또는 실제 객체를 포함함 -;
    뉴럴 네트워크에 상기 이미지를 제공하는 단계;
    상기 뉴럴 네트워크에 의해 상기 이미지를 처리하는 단계;
    를 포함하고,
    상기 처리하는 단계는:
    상기 광학 센서에 복수의 픽셀들의 거리를 표현하는 거리 맵(distance map) - 상기 픽셀들은 상기 이미지 내에서 상기 객체의 적어도 일부를 구성함 -; 상기 이미지 내에서 상기 객체의 적어도 일부를 구성하는 복수의 픽셀들과 관련되는 광 반사를 나타내는 반사 패턴; 중 적어도 하나를 계산하는 단계를 포함하고, 그리고
    상기 처리하는 단계는 학습된 반사 패턴 또는 학습된 거리 맵과 상기 계산된 반사 패턴 또는 상기 계산된 거리 맵 중 적어도 하나를 비교하여, 상기 이미지가 상기 실제 객체 또는 상기 스푸프를 포함하는지를 상기 비교의 결과에 기초하여 결정하는 단계를 포함하는,
    방법.
  2. 제 1 항에 있어서,
    상기 거리 맵 및 상기 반사 패턴이 계산되고 그리고 상기 학습된 거리 맵 및 상기 학습된 패턴에 대해 비교되어, 상기 이미지가 상기 스푸프 또는 상기 실제 객체를 포함하는지를 상기 비교의 결과에 기초하여 결정하는,
    방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 이미지는 상기 광학 센서에 관련된 플래시(flash)를 이용하는 동안에 상기 광학 센서에 의해 획득되고 그리고 상기 광학 센서는 카메라인,
    방법.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 뉴럴 네트워크는 복수의 레이어들을 포함하고 그리고 마지막 레이어는 2개의 노드들을 포함하고, 제 1 노드는 상기 처리하는 단계 동안에 결정되는 실제 객체에 관한 출력을 제공하고 그리고 제 2 노드는 상기 처리하는 단계 동안에 결정되는 스푸프에 관한 출력을 제공하는,
    방법.
  5. 제 4 항에 있어서,
    각각의 노드는 상기 이미지를 처리 시에 출력을 제공하고, 상기 출력은 -∞ 내지 +∞의 범위를 가지고 그리고 각각의 노드의 상기 출력은 출력 노말라이저(an output normalizer)로 전달되고, 상기 출력 노말라이저는 먼저 각각의 노드의 출력 xi를 취하고 그리고
    Figure pct00057

    에 의해 감소된 값 S(xi)을 계산하고, 여기서 상기 제 1 노드의 경우 i=1이고 상기 제 2 노드의 경우 i=2이고, 그리고 상기 값들 S(xi)를 노말라이즈 함수
    Figure pct00058

    에 제공하여 노말라이즈된 값들
    Figure pct00059
    Figure pct00060
    를 획득하는,
    방법.
  6. 제 5 항에 있어서,
    Figure pct00061
    인 경우에, 상기 이미지가 상기 실제 객체를 가지는 것으로 결정되고 그리고
    Figure pct00062
    인 경우에, 상기 이미지가 상기 스푸프를 포함하는 것으로 결정되는,
    방법.
  7. 제 1 항 또는 제 2 항에 있어서,
    상기 뉴럴 네트워크에 의해 상기 이미지를 처리하는 단계는 제 1 중간 출력을 생성하기 위해 입력 이미지를 상기 뉴럴 네트워크의 제 1 레이어에 의해 처리하는 단계 및 이전 레이어의 상기 출력을 각각의 다음 레이어에 의해 처리하는 단계를 포함하고, 상기 뉴럴 네트워크는 복수의 레이어들을 포함하고, 각각의 레이어는 상기 레이어 내에서 상기 입력을 처리하는 순서로, 깊이별 컨볼루션 레이어(depthwise convolutional layer), 제 1 배치 노말라이저(batch normalizer), 제 1 렉티파이드 리니어 유닛(rectified linear unit), 점별 컨볼루션 레이어(pointwise convolutional layer), 제 2 배치 노말라이저 및 제 2 렉티파이드 리니어 유닛을 포함하는 깊이별 가분 컨볼루션(depthwise separable convolution)이고;
    상기 복수의 레이어들을 이용하여 상기 이미지를 처리함으로써, 상기 뉴럴 네트워크는 상기 이미지가 상기 실제 객체 또는 상기 스푸프를 포함하는지에 대한 결정을 출력으로 획득하는,
    방법.
  8. 제 7 항에 있어서,
    상기 뉴럴 네트워크에 의해 상기 이미지를 처리하는 단계는 적어도 하나의 매트릭스 I를 상기 이미지로부터 생성하는 단계 및 상기 뉴럴 네트워크에 입력으로 상기 매트릭스를 제공하는 단계를 포함하고, 상기 이미지는 NxM 픽셀들을 포함하고 그리고 상기 매트릭스 I는 NxM 값들을 포함하는 매트릭스이고, 상기 매트릭스 I의 엔트리들은 Iij로 주어지고, 여기서 i 및 j는 정수들이고 그리고 i = 1 … N이고 그리고 j = 1 … M인,
    방법.
  9. 제 8 항에 있어서,
    각각의 깊이별 컨볼루션 레이어는 매트릭스 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 pct00063

    로 주어지고 그리고 매트릭스 P를 출력을 제공하고, 상기 매트릭스 P는
    Figure pct00064
    의 크기를 가지고, 여기서 Ww 및 Wh는 스트라이드 너비(stride width)를 정의하고 그리고 상기 매트릭스 P의 각각의 엔트리 P ij 는 상기 커널 K와의 ij번째 감소된 매트릭스 R의 상기 내적의 값이고, 상기 매트릭스 P는 상기 제 1 배치 노말라이저로 상기 깊이별 컨볼루션 레이어에 의해 출력으로 제공되는,
    방법.
  10. 제 9 항에 있어서,
    상기 커널의 크기 S 및 T는 모든 깊이별 컨볼루션 레이어들과 동일하거나 또는
    Figure pct00065
    인 커널 K에서의 엔트리들 중 적어도 하나 또는 적어도 하나의 깊이별 컨볼루션 레이어 중 적어도 하나에 대해 상이한,
    방법.
  11. 제 8 항에 있어서,
    상기 배치 노말라이저는 상기 렉티파이드 리니어 유닛에게 노말라이즈된 감소된 매트릭스 P'를 제공하고 그리고 상기 렉티파이드 리니어 유닛은 각각의 엔트리 P' ij 에 대해 렉티피케이션 함수(rectification function)를 적용하고 상기 렉티피케이션 함수는 엔트리들
    Figure pct00066
    를 가지는 새로운 매트릭스
    Figure pct00067
    를 계산하고 그리고 상기 매트릭스
    Figure pct00068
    는 상기 렉티파이드 리니어 유닛이 상기 제 1 렉티파이드 리니어 유닛인 경우에 상기 점별 컨볼루션 레이어에게 출력으로 제공되거나 또는 상기 렉티파이드 리니어 유닛이 상기 제 2 렉티파이드 리니어인 경우에 상기 뉴럴 네트워크의 다음 레이어에 출력으로 제공되고; 또는
    상기 점별 컨볼루션 레이어는 매트릭스 P, P', 또는
    Figure pct00069
    에서의 각각의 엔트리를 가중치 α와 곱함으로써 이전 레이어로부터 수신된 상기 매트릭스 I, P, P', 또는
    Figure pct00070
    에 대해 상기 가중치 α를 적용하는,
    방법.
  12. 제 1 항 또는 제 2 항에 있어서,
    상기 방법의 각각의 단계는 상기 모바일 디바이스 상에서 수행되는,
    방법.
  13. 모바일 디바이스에 있어서,
    광학 센서, 프로세서 및 상기 모바일 디바이스의 상기 프로세서에 의해 실행되는 경우에 상기 프로세서로 하여금 제 1 항 또는 제 2 항의 방법을 실행하도록 하는 실행가능한 명령들을 저장하는 저장 유닛을 포함하는,
    모바일 디바이스.
  14. 제 1 항에 있어서,
    상기 처리하는 단계는 상기 뉴럴 네트워크를 이용함으로써 수행되는,
    방법.
KR1020207034340A 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) KR102442844B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227030334A KR102629380B1 (ko) 2018-03-16 2019-05-09 실제 3차원 객체를 실제 객체의 2-차원 스푸프로부터 구별하기 위한 방법

Applications Claiming Priority (2)

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
PCT/IB2019/053824 WO2019207557A1 (en) 2018-03-16 2019-05-09 Method for distinguishing a real three-dimensional object from a two-dimensional spoof of the real object

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227030334A Division KR102629380B1 (ko) 2018-03-16 2019-05-09 실제 3차원 객체를 실제 객체의 2-차원 스푸프로부터 구별하기 위한 방법

Publications (2)

Publication Number Publication Date
KR20210032310A true KR20210032310A (ko) 2021-03-24
KR102442844B1 KR102442844B1 (ko) 2022-09-14

Family

ID=61768233

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020207029856A KR102554724B1 (ko) 2018-03-16 2019-03-15 이미지 내 객체를 식별하기 위한 방법 및 상기 방법을 실행하기 위한 모바일 디바이스
KR1020237022979A KR20230107415A (ko) 2018-03-16 2019-03-15 이미지 내 객체를 식별하기 위한 방법 및 상기 방법을실행하기 위한 모바일 디바이스
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)
KR1020227030334A KR102629380B1 (ko) 2018-03-16 2019-05-09 실제 3차원 객체를 실제 객체의 2-차원 스푸프로부터 구별하기 위한 방법

Family Applications Before (2)

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

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020227030334A KR102629380B1 (ko) 2018-03-16 2019-05-09 실제 3차원 객체를 실제 객체의 2-차원 스푸프로부터 구별하기 위한 방법

Country Status (13)

Country Link
US (4) US11508184B2 (ko)
EP (3) EP3540633B1 (ko)
JP (2) JP7386545B2 (ko)
KR (4) KR102554724B1 (ko)
CN (1) CN111989689A (ko)
AU (2) AU2019234110B2 (ko)
BR (2) BR112020018915A2 (ko)
CA (3) CA3215158A1 (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 (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2828358T3 (es) * 2018-03-16 2021-05-26 Identy Inc Procedimiento para identificar un objeto dentro de una imagen y dispositivo móvil para ejecutar el procedimiento
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
WO2021151947A1 (en) * 2020-01-28 2021-08-05 Universidad Autonoma 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
EP4246454A3 (en) 2020-04-09 2023-11-29 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 삼성에스디에스 주식회사 이미지 촬영 및 판독 방법, 이를 위한 장치
US11657589B2 (en) 2021-01-13 2023-05-23 Ford Global Technologies, Llc Material spectroscopy
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
WO2023272604A1 (zh) * 2021-06-30 2023-01-05 东莞市小精灵教育软件有限公司 基于生物特征识别的定位方法及装置
CN113706647B (zh) * 2021-07-30 2024-02-13 浪潮电子信息产业股份有限公司 一种图像上色方法及相关装置
CN117037221B (zh) * 2023-10-08 2023-12-29 腾讯科技(深圳)有限公司 活体检测方法、装置、计算机设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180019654A (ko) * 2015-06-16 2018-02-26 아이베리파이 인크. 스푸프 검출 및 라이브니스 분석을 위한 시스템들 및 방법들

Family Cites Families (27)

* 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
JP2009544108A (ja) * 2006-07-19 2009-12-10 ルミダイム インコーポレイテッド 多重生体認証のマルチスペクトル画像
JP2008257327A (ja) * 2007-04-02 2008-10-23 Omron Corp 照合装置
EP2893489B1 (en) * 2012-09-05 2020-02-19 Element, Inc. System and method for biometric authentication in connection with camera-equipped devices
JP6187817B2 (ja) * 2013-10-09 2017-08-30 アイシン精機株式会社 顔検出装置、方法およびプログラム
JP6304999B2 (ja) * 2013-10-09 2018-04-04 アイシン精機株式会社 顔検出装置、方法およびプログラム
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
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
CA3044063C (en) * 2016-12-08 2023-02-28 Veridium Ip Limited Systems and methods for performing fingerprint based user authentication using imagery captured using mobile devices
US10216977B2 (en) * 2017-01-06 2019-02-26 Qualcomm Incorporated Progressive multiple fingerprint enrollment and matching, and dynamic user account transitions
ES2828358T3 (es) * 2018-03-16 2021-05-26 Identy Inc Procedimiento para identificar un objeto dentro de una imagen y dispositivo móvil para ejecutar el procedimiento
CN108810616B (zh) * 2018-05-31 2019-06-14 广州虎牙信息科技有限公司 目标定位方法、视频显示方法、装置、设备和存储介质
JP7130905B2 (ja) * 2019-06-18 2022-09-06 ユーエービー “ニューロテクノロジー” フィードフォワード畳み込みニューラルネットワークを使用した高速且つ堅牢な皮膚紋理の印のマニューシャの抽出

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180019654A (ko) * 2015-06-16 2018-02-26 아이베리파이 인크. 스푸프 검출 및 라이브니스 분석을 위한 시스템들 및 방법들

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Di Tang et. al., Face Flashing: a Secure Liveness Detection Protocol based on Light Reflections, Network and Distributed Systems Security (NDSS) Symposium 2018 22 Aug 2018 1부.* *
Yousef Atoum et. al., Face Anti-Spoofing Using Patch and Depth-Based CNNs, IEEE Joint Conference on Biometrics, 2017 1부.* *

Also Published As

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

Similar Documents

Publication Publication Date Title
KR102442844B1 (ko) 실제 3차원 객체를 실제 객체의 2-차원 스푸프로부터 구별하기 위한 방법(Method for Distinguishing a Real Three-Dimensional Object from a Two-Dimensional Spoof of the Real Object)
CN109584248B (zh) 基于特征融合和稠密连接网络的红外面目标实例分割方法
US10943145B2 (en) Image processing methods and apparatus, and electronic devices
WO2022083536A1 (zh) 一种神经网络构建方法以及装置
Neal et al. Measuring shape
WO2019161503A1 (en) Eye tracking method and system
CN112639828A (zh) 数据处理的方法、训练神经网络模型的方法及设备
Singh et al. Single image dehazing for a variety of haze scenarios using back projected pyramid network
CN108416902A (zh) 基于差异识别的实时物体识别方法和装置
Gianini et al. A Retinex model based on absorbing Markov chains
Liu et al. Image de-hazing from the perspective of noise filtering
Singh et al. A comparative analysis of illumination estimation based Image Enhancement techniques
CN112487844A (zh) 手势识别方法、电子设备、计算机可读存储介质和芯片
US11367206B2 (en) Edge-guided ranking loss for monocular depth prediction
Priego et al. 4DCAF: A temporal approach for denoising hyperspectral image sequences
Yin et al. Fmsnet: Underwater image restoration by learning from a synthesized dataset
Verma et al. FCNN: fusion-based underwater image enhancement using multilayer convolution neural network
JP7360217B2 (ja) ユーザのバイオメトリック特性を有する当該ユーザの物体の画像からデータを取得するための方法
CN115641490A (zh) 一种数据处理方法及其装置
Haik et al. Effects of image restoration on automatic acquisition of moving objects in thermal video sequences degraded by the atmosphere
Ghosh et al. PB3C-CNN: An integrated PB3C and CNN based approach for plant leaf classification
Lyu Research on subway pedestrian detection algorithm based on big data cleaning technology
KR20210119487A (ko) 사용자의 생체 특성을 가지는 이미지 내에서 객체를 식별하여 사용자를 식별하는 방법 및 그 방법을 실행하는 모바일 디바이스(Method for verifying the identify 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)
CN106250852A (zh) 虚拟现实终端及手型识别方法和装置
CN113066019A (zh) 一种图像增强方法及相关装置

Legal Events

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