KR102634186B1 - 사용자의 생체 특성을 가지는 이미지 내에서 객체를 식별하고 생체 특성을 포함하는 이미지의 일부를 이미지의 다른 부분으로부터 분리함으로써 사용자의 신원을 식별하기 위한 방법(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) - Google Patents

사용자의 생체 특성을 가지는 이미지 내에서 객체를 식별하고 생체 특성을 포함하는 이미지의 일부를 이미지의 다른 부분으로부터 분리함으로써 사용자의 신원을 식별하기 위한 방법(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) Download PDF

Info

Publication number
KR102634186B1
KR102634186B1 KR1020217030968A KR20217030968A KR102634186B1 KR 102634186 B1 KR102634186 B1 KR 102634186B1 KR 1020217030968 A KR1020217030968 A KR 1020217030968A KR 20217030968 A KR20217030968 A KR 20217030968A KR 102634186 B1 KR102634186 B1 KR 102634186B1
Authority
KR
South Korea
Prior art keywords
image
matrix
user
processing
neural network
Prior art date
Application number
KR1020217030968A
Other languages
English (en)
Other versions
KR20210127257A (ko
Inventor
하딕 구프타
사디쉬 무루간
지저스 아르곤
Original Assignee
아이덴티 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 아이덴티 인크. filed Critical 아이덴티 인크.
Publication of KR20210127257A publication Critical patent/KR20210127257A/ko
Application granted granted Critical
Publication of KR102634186B1 publication Critical patent/KR102634186B1/ko

Links

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
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/30Collimators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • 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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0283Price estimation or determination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • 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/12Details of acquisition arrangements; Constructional details thereof
    • G06V10/14Optical characteristics of the device performing the acquisition or on the illumination arrangements
    • G06V10/141Control of illumination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • 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
    • 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/20081Training; Learning
    • 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/30108Industrial image inspection
    • 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/30168Image quality inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition of objects for industrial automation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Quality & Reliability (AREA)
  • Neurology (AREA)
  • Game Theory and Decision Science (AREA)
  • Optics & Photonics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Signal Processing (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Image Analysis (AREA)
  • Collating Specific Patterns (AREA)

Abstract

손가락 끝(fingerprint)의 지문들의 세트 또는 지문과 같은 생체 특성(biometric characteristic)을 가지는 사용자의 객체의 이미지를 이용하여 사용자를 식별하기 위한 본 발명에 따른 방법은: 모바일 디바이스(mobile device)의 광학 센서(optical sensor)에 의해 상기 객체의 상기 이미지를 획득하는 단계; 뉴럴 네트워크에 상기 이미지 또는 상기 이미지의 일부(part)를 제공하는 단계; 상기 뉴럴 네트워크에 의해 관심 영역(region of interest, ROI)을 포함하는 상기 이미지의 일부 또는 상기 이미지의 부분을 상기 이미지의 다른 부분과 구별하는 단계를 포함하는 상기 뉴럴 네트워크에 의해 상기 이미지 또는 상기 이미지의 부분(portion)을 처리하는 단계; 상기 이미지 또는 상기 이미지의 일부로부터 상기 ROI를 추출하는 단계; 저장 디바이스에 ROI를 포함하는 부분을 저장하고 단계 및/또는 ROI의 생체 특성을 추출하는 단계 및 추출된 생체 특성이 사용자를 식별하는지 여부를 결정하기 위해 추출된 생체 특성을 처리하는 단계를 포함하는 식별 수단에 입력으로 상기 ROI를 포함하는 부분을 제공하는 단계를 포함한다.

Description

사용자의 생체 특성을 가지는 이미지 내에서 객체를 식별하고 생체 특성을 포함하는 이미지의 일부를 이미지의 다른 부분으로부터 분리함으로써 사용자의 신원을 식별하기 위한 방법(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)
본 발명은 청구항 1항에 따른, 손가락 끝들의 지문 또는 지문들의 세트와 같은, 사용자의 생체 특성을 가지는 사용자의 객체의 이미지를 이용하여 사용자를 식별하기 위한 방법 및 청구항 20항에 따른 각각의 방법을 구현하기 위한 모바일 디바이스에 관한 것이다.
현재, 사용자를 식별하기 위해, 예를 들어 지문 또는 얼굴에서 지점 간의 특정한 기하학적 거리들 또는 손바닥 주름과 같은 기타 생체 특성을 사용하는 것이 알려져 있다. 이것은 사용자의 생체 특성을 지닌 각각의 객체의 시각적 정보(즉, 이미지)를 획득하고 및 이 생체 특성을 추가로 처리하는 것을 필요로 한다. 이 추가적인 처리는 획득된 생체 특성을 특정 사용자의 저장되거나 또는 기타 알려진 생체 특성과 비교하는 것을 포함한다. 획득한 생체 특성이 이미 알려지거나 또는 저장된 생체 특성과 일치하는 경우, 사용자는 획득된 생체 특성에 의해 식별된다.
모바일 디바이스들의 가장 최근의 발전에 비추어 볼 때, 예를 들어,객체의 각각의 이미지를 획득하기 위해 모바일 디바이스의 카메라와 같은 광학 센서를 이용함으로써 사용자의 식별을 수행하는 실제적인 소프트웨어 또는 다른 하드웨어로부터 멀리 떨어져 있는 생체 특성을 지는 객체의 이미지를 획득하는 것이 가능하다. 나중에 사용자를 식별하려면, 식별을 수행하는 엔티티로 객체를 전달할 필요가 있다.
식별을 수행하는 엔티티가 통상적으로 그 생체 특성만을 처리할 수 있거나 또는 가장 적합하게 조정되면, 이는 이미지의 일부만이 각각의 엔티티에 대한 생체 특성을 지닌 객체를 포함하는 전체 이미지를 전달하는 경우에 문제를 일으킬 수 있다. 또한, 전체 이미지가 각각의 엔티티에 전달될 필요가 있기 때문에 상당한 데이터 전송이 필요하게 된다.
한편, 생체 특성을 지닌 해당 객체가 식별을 수행하는 엔티티에 적절하게 제공될 수 있도록 보장하는 것이 필요하다.
공지된 선행기술로부터 출발하여, 본 발명의 목적은 객체의 이미지를 촬영함으로써 획득되는 사용자의 생체 특성을 이용하여 사용자의 식별을 허용하는 동시에 사용자의 식별을 수행하는 엔티티에 제공되는 불필요하거나 처리되지 않는 이미지의 양을 줄이는 것이다.
본 발명의 목적은 독립항 1항에 따른 방법 및 청구항 20항에 따른 모바일 디바이스에 의한 본 발명에 따라 해결된다. 본 발명의 바람직한 실시예들은 종속항들에서 청구된다.
손가락 끝(fingerprint)의 지문들의 세트 또는 지문과 같은 생체 특성(biometric characteristic)을 가지는 사용자의 객체의 이미지를 이용하여 사용자를 식별하기 위한 본 발명에 따른 방법은:
모바일 디바이스(mobile device)의 광학 센서(optical sensor)에 의해 상기 객체의 상기 이미지를 획득하는 단계;
뉴럴 네트워크에 상기 이미지 또는 상기 이미지의 일부(part)를 제공하는 단계;
상기 뉴럴 네트워크에 의해 관심 영역(region of interest, ROI)을 포함하는 상기 이미지의 일부 또는 이미지의 부분을 상기 이미지의 다른 부분과 구별하는 단계를 포함하는 상기 뉴럴 네트워크에 의해 상기 이미지 또는 상기 이미지의 부분(portion)을 처리하는 단계;
상기 이미지 또는 상기 이미지의 상기 일부로부터 상기 ROI를 추출하는 단계;
저장 디바이스에 ROI를 포함하는 부분을 저장하고 단계 및/또는 ROI의 생체 특성을 추출하고 그리고 추출된 생체 특성이 사용자를 식별하는지 여부를 결정하기 위해 추출된 생체 특성을 처리하는 것을 포함하는 식별 수단에 입력으로 ROI를 포함하는 부분을 제공하는 단계를 포함한다.
사용자의 생체 특성을 가진 사용자의 객체는 이것이 지닌 생체 특성으로 인해 사용자를 식별하는데, 즉 임의의 다른 잠재적 사용자로부터 사용자를 구별하는데 적합한 임의의 객체일 수 있다. 이것은 예를 들어 지문들이나 눈의 홍채 또는 손바닥 주름들 또는 얼굴의 기하학적 특징에 대해 적용된다. 마찬가지로, 예를 들어 발자국이 다른 사람으로부터 사용자를 식별 및 구별하는데 사용될 수 있다. 따라서 객체는 예를 들어 손가락 끝(fingertip) 또는 손가락, 얼굴, 눈, 손바닥, 또는 발일 수 있다. 다른 객체들 또한 적합한 것으로 간주될 수 있다. 이하에서 추가적인 설명들을 위한 예시로서 일반적으로 객체 또는 손가락에 대하여 통상적으로 설명될 것이나, 위에서 언급된 하나 이상의 객체들을 단독 또는 서로 조합하여 이용할 수 있는 모든 실시예들이 실현될 수도 있다.
관심 영역(region of interest)은 생체 특성을 실제로 지닌 객체의 이미지의 해당 영역이다. 또한, 관심 영역은 바람직하게는 이러한 이미지의 부분, 구체적으로 객체의 이러한 부분 또는 생체 특성의 이러한 부분을 이용하는 경우에 안정적으로 사용자를 식별하도록 허용하는 방식으로 생체 특성이 존재하는 객체의 이미지의 해당 부분이다. 예를 들어, 전체 손가락 끝이 지문을 지니지만, 손가락 끝의 이미지를 촬영하는 것은 손가락 끝의 몇몇 부분들이 광학 센서를 향하지 않도록 하여 이미지 상에 기울어져 보이고 그리고 예를 들어, 지문의 다분 부분 보다 더 어둡게 한다. 이러한 “가려진” 영역들은 이들이 이러한 영역들을 이용하여 사용자를 식별하는데 실제로 적합하지 않기 때문에 관심 영역의 부분이 통상적으로 아니다.
본 발명에 따른 뉴럴 네트워크는 이미지의 처리를 통해 관심 영역을 포함하는 이미지의 이러한 부분들과 관심 영역을 포함하지 않는 다른 부분들 사이를 구별할 수 있도록 훈련 및/또는 적응된다. 이것은 다양한 방식들로 달성될 수 있고 따라서 한정적인 방식으로 이해되어서는 안 된다. 뉴럴 네트워크가 다른 영역으로부터 ROI를 포함하는 해당 영역을 구별한다는 것은 ROI와 다른 이미지의 영역들 사이를 구별하거나 또는 이러한 영역들 사이를 구별할 수 있게 만드는 출력을 제공하기 위한 뉴럴 네트워크의 능력으로 이해되어야 한다. 예를 들어, 출력은 ROI를 포함하나 다른 영역들의 ROI가 아닌 픽셀들의 표시일 수 있다. 어느 경우든, 뉴럴 네트워크에 의해 이미지의 처리에 대한 결과는 적어도 관심 영역을 포함하는 이미지의 제 1 부분이 이미지의 다른 부분과 상이한 것으로 식별되는 것을 포함한다. 이와 관련하여, 관심 영역의 구체적인 크기, 위치의 형상이 이미지의 처리 동안에 뉴럴 네트워크에 의해 발견되고 그리고 이것은 미리 설정되지 않는다는 점에 유의한다.
이러한 관점에서 본 발명에 따른 방법은 객체의 이미지를 자유로운 형식으로 촬영하도록 의도되며, 이는 객체의 이미지가 사용자가 광학 센서에 대하여 객체를 어떻게 위치시켜야 하는지를 정의하여 사용자에게 제시된 템플릿 또는 다른 마스크(mask)를 이용하여 촬영되지 않음을 의미한다.
식별 수단은 이미지가 촬영되는 모바일 디바이스에 원격(remote)이거나 또는 모바일 디바이스에 포함될 수도 있다. 추가적으로 뉴럴 네트워크는 모바일 디바이스 상에 제공되거나 또는 모바일 디바이스 상에 원격일 수 있고, 이는 뉴럴 네트워크에 의해 처리하기 전에 모바일 디바이스로부터 뉴럴 네트워크가 제공되는 원격 위치로 이미지가 전달되는 것을 포함한다
뉴럴 네트워크로 이미지 또는 이미지의 일부를 제공하는 단계는 이것이 광학 센서에 의해 획득되었기 때문에 이미지 또는 이미지의 일부를 제공하는 것을 포함할 뿐만 아니라, 이는 예를 들어 원본 이미지 또는 이미지의 절반 도는 생체 특성을 가지는 객체를 포함할 가능성이 높은 이미지의 특정 부분이 뉴럴 네트워크에 제공됨을 의미한다. 또한, 이 단계는 예를 들어 단일 컬러의 이미지들로 이미지를 분할 또는 밝기에서 수정을 적용함으로써 원본 이미지를 전처리하는 단계를 포함할 수 있다.
본 발명에 따른 방법은 추가적인 처리를 위해, 구체적으로 추출된 생체 특성이 사용자를 식별하는지 여부를 높은 정확성으로 결정하기 위해 관심 영역을 획득하도록 허용하여, 이에 의해 필요한 데이터 전송을 현저히 줄이고 또한 관심 영역을 지니지 않은 이미지의 나머지 부분으로부터 식별 수단에 대한 간섭 영향이 방지되기 때문에 식별 수단에 의한 생체 특성의 처리를 단순화시킨다.
일 실시예에서, 객체는 적어도 하나의 손가락 끝이고 그리고 생체 특성은 손가락 끝의 지문이고 그리고 식별 수단에 의해 입력을 처리하는 단계는 지문으로부터 예를 들어 세목(minutia)의 유형 및 위치와 같은 생체 특징을 추출하는 단계, 및 추출된 생체 특징을 저장 디바이스에 저장된 생체 특징과 비교하는 단계를 포함하고, 여기서 추출된 생체 특징과 저장된 생체 특징 사이의 차이는 임계치 미만인 경우에, 식별 수단은 사용자가 지문에 의해 식별된다고 결정하고, 생체 특징과 저장된 생체 특징 사이에 차이가 임계치 이상인 경우에, 식별 수단은 사용자가 지문에 의해 식별되지 않는다고 결정한다.
임계치는 예를 들어 숫자 값일 수 있다. 예를 들어, 임계치는 0 내지 1 사이의 숫자일 수 있고 여기서 0은 저장된 생체 특징과 생체 특징 간의 완벽한 일치를 의미하고 1은 저장된 생체 특징과 생체 특징 간의 일치가 없음을 의미할 것이다. 이미지를 획득하는 경우에 언제나 100%가 아닌 일치가 있을 수 있다는 점을 고려할 뿐만 아니라 사용자를 식별하기 위해서, 예를 들어 사용자가 그의 은행 계좌에 접속하길 원하는 경우에 식별 정확도가 매우 높아야 한다는 점을 고려하기 위해, 임계치는 0에 가깝게, 예를 들어, 0.02 또는 0.04로 설정될 수 있다. 그러나 임의의 다른 값이 사용될 수도 있다.
추출된 생체 특징과 저장된 생체 특징 사이의 차이는 예를 들어 획득된 이지의 사용된 관심 영역의 픽셀당 픽셀 기반으로 계산될 수 있다. 이것은 각각의 픽셀에 대하여 저장된 생체 특징(예를 들어 밝기 값 또는 컬러 값)과 추출된 생체 특징 사이의 차이가 결정될 수 있다는 것을 의미한다. 그리고 이러한 값들의 각각은 0 내지 1 사이의 범위로 정규화될 수 있다. ROI 또는 ROI에서 픽셀들의 서브셋에서 모든 픽셀들에 대한 이러한 정규화된 값들의 평균 값이 임계치 미만인 경우, 식별 수단은 사용자가 지문에 의해 식별되고 아닌 경우 사용자는 지문에 의해 식별되지 않는다고 결정한다.
추출된 생체 특징과 저장된 생체 특징 사이에 차이를 계산하기 위한 다른 수단이 또한 생각될 수 있다.
이러한 계산 및 임계치에 대한 비교를 이용하는 것은 사용자가 획득된 생체 특징에 의해 식별되어야 하는지 여부를 안정적으로 결정하도록 허용한다.
보다 구체적인 구현에서, 이미지는 하나 이상의 손가락 끝을 포함하고 그리고 본 방법은 추가적으로 이미지에서 각각의 손가락 끝에 대응하는 이미지의 부분들을 추출하는 단계 및 식별 수단에 의해 사용자를 식별하기 위해 각각의 손가락 끝의 지문을 이용하는 단계를 포함한다.
이 실시예는 하나 이상의 손가락 끝이 식별하는데 사용되기 때문에 사용자의 식별이 수행되는 정확성을 증가시키는데 유리할 수 있다.
식별 수단은 이미지 내에 모든 손가락 끝들의 지문들의 조합된 식별 정확도가 주어진 임계치 이상인지 여부를 결정함으로써 손가락 끝들의 지문들에 의해 사용자가 식별되는지 결정하고, 또는 식별 수단은 각각의 손가락 끝에 대하여 손가락 끝의 지문의 생체 특징과 손가락 끝의 지문의 저장된 생체 특징 사이에 차이이 임계치 미만인지 결정하고 그리고 모든 결정된 차이들이 대응하는 임계치 미만인 경우에만 사용자가 손가락 끝들의 지문들에 의해 식별된다고 결정함으로써 사용자가 손가락 끝들의 지문들에 의해 식별된다고 결정한다.
임계치는 위에서 표시된 바와 같이 결정될 수 있다. 마찬가지로, 추출된 생체 특징과 저장된 생체 특징 사이에 차이는 위에 이미 설명된 바와 같이 또는 임의의 다른 적합한 방식으로 결정될 수 있다.
추출된 생체 특징과 저장된 생체 특징 사이에 개별적인 차이들을 이용하거나 또는 조합된 식별 정확도를 이용함으로써, 사용자의 식별이 높은 신뢰도로 수행될 수 있다. 이와 관련하여 조합된 식별 정확도는 예를 들어 상이한 지문들에 대해 획득되는 모든 식별 정확성들의 평균 값인 것으로 고려될 수 있다.
일 실시예에서, 이미지는 모바일 디바이스의 광학 센서인 카메라에 의해 획득된다.
현 세대의 모든 스마트폰들은 이러한 카메라들을 가지기 때문에, 본 방법은 복수의 사용자들에 의해 사용될 수 있어, 이로 인해 예를 들어 은행 계좌로 로그인하는데 필요한 식별을 단순화할 수 있다.
추가적인 실시예에서 뉴럴 네트워크에 의해 이미지 또는 이미지의 일부를 처리하는 단계는 인코딩된 이미지(encode image)를 획득하기 위해 인코더(encoder)에 의해 이미지를 처리한 다음 디코딩된(decoded) 출력 이미지를 획득하기 위해 디코더(decoder)에 의해 인코딩된 이미지를 처리하는 단계를 포함한다.
이와 관련하여, 디코더 및 인코더는 “암호화 및 복호화”의 방식으로 이해되어서는 안 된다. 대신, 이들은 다음과 같은 방식으로 이해되어야 한다. 인코더는 수정된 이미지(인코딩된 이미지)를 획득하기 위해 특정한 변환들이 이미지에 적용되는 것을 의미하는 “제 1 방향”으로 이미지를 처리한다. 이것은 원본 이미지의 크기를 줄이고 그리고/또는 이미지를 나타내는 각각의 픽셀 또는 행렬의 엔트리와 연관된 값들을 수정하는 변환들을 포함한다. 그리고 디코더는 바람직하게는 적어도 원래 입력과 동일한 개수의 픽셀들을 가지는 디코딩된 출력 이미지를 획득하기 위해 인코딩된 이미지를 처리하는 단계를 적용한다. 이를 고려하여, 디코더는 본 발명에 따라 인코더에 의해 적용되는 변환을 적어도 부분적으로 역으로 돌린다. 그러나, 인코딩된 이미지의 디코딩은 반드시 원본 이미지를 생성할 필요가 없어, 디코딩 및 인코딩이 이미지에 적용된 역변환들이 아니도록 한다.
이러한 실시예에서, 이미지에서 ROI를 식별하고 이러한 식별을 원본 이미지에 맵핑(mapping)하여 관련 픽셀들을 추출하도록 관련 정보를 획득하는 것이 가능하다.
이와 관련하여, 처리를 위해 상기 뉴럴 네트워크에 제공되는 이미지 또는 이미지의 일부는 픽셀들을 포함하고 그리고 인코딩된 이미지는 픽셀들을 포함하고, , 이고 그리고 디코딩된 출력 이미지는 픽셀들을 포함하는 것이 제공될 수 있다.
이미지를 인코딩하는 경우에 픽셀들의 개수를 줄이는 것은 정보 손실을 야기한다. 그러나 디코딩 동안에 다시 한번 이미지를 확대하는 경우에 이미지의 다른 부분들로부터 ROI를 구별하기 위한 가장 관련 있는 정보가 관련 정보가 아닌 것으로 보다 용이하게 식별되거나 ROI를 식별하는데 필요하지 않은 매우 상세한 정보가 이 절차에서 사라질 수 있다.
이미지 일부 또는 이미지의 부분을 보다 구체적으로 구별하는 단계는 디코딩된 출력 이미지의 다른 부분으로부터 디코딩된 출력 이미지의 부분을 구별하는 단계를 포함한다.
디코딩된 이미지에서 부분들을 구별하는 단계는 원본 이미지의 다른 부분으로부터 ROI를 포함하는 부분을 구별하는 단계와 비교하여 보다 용이할 수 있다. 따라서, 디코딩된 출력 이미지에서 다른 부분으로부터 디코딩된 출력 이미지에서의 부분을 구별하는데 필요한 처리 전력은 원래 입력 이미지를 처리하는 단계에 비해 현저히 줄어든다.
더 구체적인 구현에서, 생체 특성을 포함하는 부분을 추출하는 단계는 구별되는 부분(즉, ROI) 내에 있는 디코딩된 출력 이미지에서의 픽셀들을 식별한 다음 원본 이미지 또는 이미지의 일부에서 대응하는 픽셀들을 가지는 구별되는 부분에 있는 디코딩된 출력 이미지에서의 픽셀들을 식별하고 그리고 원본 이미지 또는 이미지의 일부로부터 대응하는 픽셀들을 추출하는 단계를 포함하고, 추출되는 대응하는 픽셀들은 생체 특성을 포함하는 이미지의 부분 또는 이미지의 일부를 구성한다.
디코딩된 출력 이미지는 입력 이미지와 동일한 개수의 픽셀들을 가지기 때문에, 원본 이미지에 부분들에 대해 ROI를 포함하는 것으로 디코딩된 이미지에서 식별되는 부분을 일치(matching)시키는 것이 용이하여, 입력 이미지로부터 ROI를 보다 용이하게 추출할 수 있게 한다.
본 방법은 디코딩된 출력 이미지에서, 각각의 픽셀은 인 값을 가지고 그리고 상기 디코딩된 출력 이미지의 부분을 구별하기 전에, 활성화 함수 가 디코딩된 출력 이미지 내의 각각의 픽셀에 적용되고 그리고 정규화된 값 은 디코딩된 이미지 내의 각각의 픽셀과 관련되고, 상기 구별하는 단계는 값들을 가지는 픽셀들 상에 수행된다. 이로 인해, ROI를 포함하는 부분들이 ROI를 포함하지 않는 다른 부분들로부터 보다 용이하게 구별될 수 있고, 따라서 ROI가 디코딩된 출력 이미지에서 식별되는 정확도가 더 높아진다.
일 실시예에서, 뉴럴 네트워크는 인코더 레이어들의 세트 및 디코더 레이어들의 세트를 포함하고, 인코딩된 이미지를 획득하기 위해 인코더에 의해 상기 이미지 또는 이미지의 일부를 처리하는 단계는 인코더의 제 1 레이어에 의해, 제 1 중간 인코딩된 출력을 생성하기 위해 입력을 처리하는 단계 및 인코더의 각각의 후속 레이어에 의해, 이전 레이어의 인코딩된 출력을 처리하는 단계를 포함하고, 각각의 인코더 레이어는 레이어 내에서 입력을 처리하는 순서대로 깊이별 컨볼루션(depthwise convolutional layer), 제 1 배치 노멀라이저(first batch normalizer), 제 1 정류 선형 유닛(first rectified linear unit), 포인트별 컨볼루션 레이어(pointwise convolutional layer), 제 2 배치 노멀라이저(second batch normalizer), 및 제 2 정류 선형 유닛(second rectified linear unit)을 포함하는 깊이별 가분 컨볼루션(depthwise separable convolution)를 포함하고;
상기 복수의 레이어들을 이용하여 입력을 처리함으로써, 인코더는 인코딩된 이미지를 획득하고;
인코딩된 이미지는 디코더에 제공되고 그리고 디코딩된 출력 이미지를 획득하기 위해 디코더에 의해 인코딩된 이미지를 처리하는 단계는 디코더의 제 1 레이어에 의해 제 1 중간 디코딩된 출력을 생성하기 위해 입력을 처리하는 단계 및 디코더의 각각의 후속 레이어에 의해 이전 레이어의 디코딩된 출력을 처리하는 단계를 포함하고, 각각의 디코더 레이어는 디컨볼루션 레이어(deconvolutional layer) 및/또는 바이리니어 업샘플링 레이어(bilinear upsampling layer)를 포함하고;
복수의 레이어들을 이용하여 입력된 인코딩된 이미지를 처리함으로써, 디코더는 디코딩된 출력 이미지를 획득한다. 발명의 설명 전체에 걸쳐, “디코딩된 출력 이미지” 및 “인코딩된 입력 이미지” 뿐만 아니라 “디코딩된” 이미지 및 “인코딩된” 이미지에 대하여 설명될 것이나, 이러한 “이미지들”은 이들이 통상적으로 이해되는 바와 같은 이미지들이 아닐 수 있다는 점에 유의한다. 실제로, 이미지 정보는 각각의 인코딩되고 디코딩된 “이미지들”이 인간들에 의해 통상적으로 인식될 수 있는 정보를 더 이상 포함하지 않을 수 있는 방식으로 뉴럴 네트워크의 각각의 레이어들에 의해 처리됨으로 인해 변하게 될 것이다. 따라서, 각각의 용어들은 설명을 위한 목적으로만 사용된 것으로 이해되어야 한다. 각각의 인코딩되고 디코딩된 “이미지들”은 일반적으로 주어진 크기의 행렬들 또는 텐서들이다.
인코더 및 디코더의 이러한 배열은 디코딩된 출력 이미지와 관련하여 유리한 결과들을 산출하여, 원래 입력 이미지 또는 이미지의 일부와 ROI 사이를 정확하게 구별하도록 허용한다.
또한, 뉴럴 네트워크에 의해 이미지를 처리하는 단계는 이미지 또는 이미지의 일부로부터, 이미지 또는 이미지의 일부 내에 각각의 픽셀에 대해 컬러 값을 나타내는 적어도 하나의 행렬 I를 생성하는 단계 및 뉴럴 네트워크에 대한 입력으로 행렬을 제공하는 단계를 포함하고, 이미지 또는 이미지의 일부는 N x M 픽셀들을 포함하고 그리고 상기 행렬 I는 N x M 값들을 포함하는 행렬이고, 행렬 I의 엔트리들은 로 주어지고, i 및 j는 정수이고 그리고 i = 1 ... N이고 j = 1 ... M이다.
이것은 뉴럴 네트워크에 의한 처리 전에 이미지를 처리하는 단계를 단일 컬러 값들을 처리하는 단계로 제한하도록 허용하여, 처리를 보다 용이하게 하고 출력이 보다 정확하게 만들 수 있다.
추가적으로, 인코더의 각각의 깊이별 컨볼루션 레이어는 사전 결정된 커널 K를 입력으로 수신되는 i = 1 ... 이고 j = 1 ... 이고 인 엔트리들 에 적용하고, 커널 K는 S, T < N; S, T < M인 엔트리들 를 포함하는 S x T 크기의 행렬이고, 커널을 매트릭스에 적용하는 단계는 행렬 Z의 크기 의 각각의 감소된 행렬 R과의 행렬 K의 내적을 계산하는 단계를 포함하고, 상기 행렬 R은 상기 커널 K와 동일한 크기를 가지고, 그리고 상기 행렬 Z는 ((N+2)×(M+2)) 크기를 가지고 그리고 인 행렬의 엔트리들
으로 주어지고 그리고 출력으로 행렬 P를 제공하고, 행렬 P는 이고 여기서 는 스트라이드 너비를 정의하고 행렬 P의 각각의 엔트리 는 커널 K와의 ij번째 감소된 행렬 R의 내적의 값이고, 행렬 P는 깊이별 컨볼루션 레이어에 의한 출력으로 제공된다.
커널의 엔트리들은 이러한 깊이별 컨볼루션 레이어들의 도움으로 이미지를 처리하는 경우에 가장 적합한 결과를 도출하도록 뉴럴 네트워크의 학습을 통해 학습될 수 있다.
보다 구체적인 구현에서, 상기 디코더의 각각의 깊이별 컨볼루션 레이어는 수신된 상기 입력에 대해 역변환을 적용하도록 적응되고, 상기 역변환은 커널 - 상기 커널 은 엔트리들 를 가지는 크기의 행렬임 -와 엔트리를 곱함으로써 행렬 B의 각각의 엔트리 를 엔트리들 을 가지는 하위 행렬 하위 행렬 로 확장함으로써 확장된 행렬 를 엔트리들 를 가지는 N' x M' 크기의 입력 행렬 B로부터 생성하는 단계 및 상기 확장된 행렬 를 획득하기 위해 하위 행렬들 을 조합하는 단계를 포함한다.
이를 통해, 인코딩된 이미지는 입력 이미지의 원래 크기로 디코딩될 수 있다. 커널 에서의 엔트리들은 반드시 인코더의 깊이별 컨볼루션 레이어에 의해 적용되는 원래 커널에서의 엔트리들에 역이거나 동일하거나 관련될 필요는 없다. 커널 에서의 엔트리들은 가장 정확한 결과들을 생성하도록 뉴럴 네트워크의 훈련 중에 학습될 수 있다.
하위 행렬들 을 조합하는 단계는 임의의 적절한 방식으로 용이해질 수 있다. 예를 들어, 하위 행렬들은 확장된 행렬 를 획득하도록 나란히 배열될 수 있다. 이들은 제 1 하위 행렬의 일부가 확장된 행렬 를 구성하는 경우에 다른 하위 행렬의 일부와 중첩되도록 중첩되는 방식으로 배치될 수도 있다.
이 변환에 의해, 결국 입력 이미지의 원래 크기를 가지는 확장된 행렬이 획득될 수 있어, ROI의 식별을 보다 쉽게 한다.
일 실시예에서, 커널 의 크기는 모든 깊이별 컨볼루션 레이어들에 대해 동일하고 그리고/또는 커널 에서의 엔트리들 중 적어도 하나가 커널에서 다른 엔트리와 상이할 수 있다.
동일한 크기를 가지는 커널 를 이용하는 경우에, 감소된 행렬을 획득하기 위해 컨볼루션에서 사용되는 이미지의 인코딩 동안에 사용되는 것과 동일한 개수의 확장/디코딩 단계들을 디컨볼루션에서 이용하여 확장된 행렬 B를 획득하는 것이 가능하다. 이것은 인코더 및 디코더에 의해 수행되는 상이한 개수의 변환들로 인한 인공물(artifact)들 및 충돌(conflict)을 감소시킬 수 있다. 커널에서 특정한 엔트리들의 값들은 가장 바람직하게는 뉴럴 네트워크를 학습시키는 동안에 학습된다.
추가적인 실시예에서, 배치 노멀라이저는 정규화된 감소된 행렬 P'를 생성하고 정류 선형 유닛은 정류 함수를 엔트리들 에 적용하고, 정류 함수는 엔트리들
를 가지는 새로운 행렬 를 계산하고 그리고 행렬 는 출력으로 된다: 그리고/또는 포인트별 컨볼루션 레이어는 가중치 α와 행렬에서 각각의 엔트리를 곱함으로써 이전 레이어로부터 수신된 행렬에 가중치 α를 적용한다. 이로 인해, 인코딩 절차 동안 추가적인 정보가 손실되나 가장 관련된 정보는 뉴럴 네트워크의 파라미터들이 상응하게 훈련되기 때문에 뉴럴 네트워크에 의한 입력 이미지의 처리를 통해 강화된다(forced).
본 방법은 또한 이미지의 일부를 뉴럴 네트워크에 제공하는 단계, 이미지를 Q x R 그리드 셀들을 포함하는 그리드로 분할하는 단계 - 적어도 하나의 바운딩 박스는 각각의 그리드 셀 내에 생성되고, 바운딩 박스는 그리드 셀 내에 사전결정된 위치 및 사전 결정된 기하학적 특성을 가짐 -, 결과적인 바운딩 박스를 획득하기 위해 바운딩 박스의 기하학적 특성 및 위치를 수정하는 단계 - 상기 결과적인 바운딩 박스는 객체의 위치와 가장 가깝게 일치하는 결과적인 기하학적 특성 및 결과적인 위치를 가지는 바운딩 박스임 -, 및 뉴럴 네트워크에 바운딩 박스에 포함되는 이미지의 픽셀들을 이미지의 일부로 제공하는 단계를 포함한다.
이로 인해, 원본 이미지는 실제로 생체 특성을 가지는 객체를 포함하는 바운딩 박스로 구성되는 이미지의 부분으로 감소될 수 있다. 이로 인해, 뉴럴 네트워크에 의한 입력 이미지를 추가적으로 처리하는 단계는 전체 이미지가 아닌 생체 특성을 포함하는 이미지의 부분이 ROI를 식별하기 위해 처리되기 때문에 단순화될 수 있다. 따라서, 컴퓨터 자원들이 절약되고 정확도가 증가될 수 있다.
또한, 바운딩 박스의 위치는 2차원으로 그리드 셀의 중앙에 대해 계산될 수 있고 그리고 바운딩 박스의 기하학적 특성은 바운딩 박스의 높이 및 너비를 포함할 수 있고, 또한 객체가 바운딩 박스 내에 있을 확률이 각각의 바운딩 박스에 연관된다.
이로 인해, 바운딩 박스들이 객체의 크기 및 위치 및 방향에 대하여 합리적으로 조정될 수 있다.
일 실시예에서, 본 방법의 각각의 단계는 모바일 디바이스 상에서 수행된다.
이것은 식별을 위해 이미지들을 처리를 분산화하도록 허용하고 이는 단일한 모바일 디바이스가 단일한 사용자 또는 적어도 매우 제한적인 수의 사용자들의 데이터만을 포함하고 있는 시점에 공격받거나 손상되므로 데이터의 취약성을 줄일 수 있다.
본 발명에 따른 모바일 디바이스는 광학 센서, 프로세서 및 모바일 디바이스의 프로세서에 의해 실행되는 경우에 프로세서로 하여금 청구항 1항 내지 19항 중 어느 한 항의 방법을 실행하도록 하는 실행 가능한 명령들을 저장하는 저장 유닛을 포함한다.
도 1은 이미지에서 실제 관심 영역과 비교한 실제 이미지의 개략도이다.
도 2는 본 발명의 일 실시예에 따른 방법의 흐름도이다.
도 3은 일 실시예에 따른 추출되는 생체 특징을 이용하여 사용자를 식별하기 위한 방법에 대한 흐름도이다.
도 4는 일 실시예에 따른 인코더에 의해 입력 이미지를 처리하는 것에 대한 개략도이다.
도 5는 일 실시예에 따른 뉴럴 네트워크의 디코더를 이용하여 인코딩된 이미지를 처리하는 것에 대한 개략도이다.
도 6은 바운딩 박스들의 생성 및 사용에 대한 개략도이다.
도 7은 일 실시예에 따른 뉴럴 네트워크의 트레이닝에 대한 흐름도이다.
도 8은 일 실시예에 따른 방법과 함께 사용되는 모바일 디바이스의 개략도이다.
본 발명은 사용자의 객체로부터 촬영된 이미지로부터 관심 영역(region of interest, ROI)을 추출하는 것에 초점을 맞추며, 여기서 이미지는 사용자를 식별하는데 사용될 수 있는 생체 특성을 포함한다. 이러한 객체는 사용자의 손의 하나 이상의 손가락들의 지문, 사용자의 손바닥 주름 또는 사용자의 얼굴 또는 사용자의 눈 또는 발과 같은 임의의 것일 수 있다. 이러한 엔티티들 각각은 사용자를 식별하는데 사용될 수 있는 생체 특성을 지는 것으로 알려져 있다. 예를 들어, 사용자의 지문은 통상적으로 잠재적 범죄자의 하나 이상의 지문들의 잉크 이미지를 촬영하거나 또는 지문 스캐너들을 사용하는 경우에 사용자를 식별하는데 사용할 수 있는 것으로 알려져 있다. 이하에서, 손가락 끝 및 지문이 예시적인 예들로서 사용될 것이나, 어떤 식으로든 본 발명을 제한하는 것으로 해석되어서는 안 된다. 손가락 및 지문(보다 구체적으로, 지문 내에 세목(minutia)) 대신, 여기서 언급되는 임의의 객체 및 임의의 다른 생체 특성이 사용될 수 있다.
본 발명의 방법은 생체 특성을 가지는 객체의 이미지를 획득하기 위해, 스마트폰과 같은 모바일 디바이스의 광학 센서의 사용을 포함한다.
도 1의 좌측에 예시적으로 이러한 이미지(110)가 제공된다. 여기서, 손가락(111)이 이미지(110)의 전경에 도시된다. 손가락은 손가락의 끝에 세목을 포함하는 지문(112)의 형태로 생체 특성을 지닌다. 카메라와 같은 모바일 디바이스의 광학 센서를 이용하여 이미지가 촬영되므로, 이미지는 통상적으로 추가적인 객체들(113 내지 118)을 포함하게 된다. 이러한 객체들은 다른 개인들, 차들, 집들, 식물 및 거리들 또는 임의의 기타 기반 시설과 같이 어느 것이든 될 수 있다.
이 이미지가 생체 특성을 처리하기 위해 다른 소프트웨어 또는 하드웨어와 같은 식별 수단에 제공되는 경우, 이는 각각의 소프트웨어/하드웨어가 사용자와 이미지의 다른 부분들을 식별하는데 사용될 수 있는 방식으로 생체 특성을 포함하는 이미지의 부분들을 어떻게 구별하는지를 알지 못하기 때문에 사용자를 식별하는데 실패하거나 실패할 가능성을 높인다. 또한, 이러한 식별 수단(로그인 서버들과 같은)이 여전히 사용자를 식별할 수 있는 적절한 방식으로 이러한 이미지들을 처리하도록 조정되더라도, 이것은 실제로 생체 특성을 포함하는 ROI을 식별하고 이미지의 나머지 부분으로부터 이를 구별하기 위해 이러한 식별 수단들에서 상당한 컴퓨팅 자원들을 필요로 한다.
따라서, 사용자를 식별하기 위해 실제로 필요한 식별 수단(즉, ROI 또는 ROI 내의 생체 특성)만을 제공하는 것이 보다 적절하다.
이러한 관점에서, ROI(122)가 이미지(여기서 121로 표시됨)에서 추출, 분리 또는 다른 방식으로 다른 것과 구별되는 수정된 이미지 또는 이미지의 일부(120)가 획득되는 방식으로 원본 이미지를 처리하는 것이 본 발명의 목적이다.
따라서 결과적인 이미지(120)는 ROI(122)만을 포함하거나 또는 ROI가 내부에 있는 정사각형 또는 직사각형 영역을 포함할 수 있다. 예를 들어, 1024x1024 픽셀들 또는 198x198 픽셀들 또는 임의의 적절한 수의 픽셀들을 이용함으로써 이미지가 표현되는 일반적인 방식으로 이것이 표현될 수 있기 때문에, 후처리가 편할 수 있다.
모바일 디바이스의 광학 센서에 의해 촬영되는 이미지(110)가 이미지 상에서 실제로 보이는 관점에서 통상적으로 서로 상이할 것이고 그리고 이들은 생체 특성을 가지는 객체(손가락과 같은)의 위치 및 가시성에 관련하여 상이할 것이기 때문에, ROI는 예를 들어 이미지의 제 1 부분을 이미지의 다른 부분과 구별하는 이미지 위에 미리 설정된 마스크를 제공함으로써 쉽게 결정되지 않는다.
이러한 관점에서, 이후에 설명되는 바와 같이 적절한 입력으로 뉴럴 네트워크를 트레이닝함으로써 ROI가 이미지의 나머지 부분으로부터 안정적으로 분리될 수 있는 방식으로 원래 입력된 이미지(110) 또는 이미지(110)의 일부를 처리할 수 있다는 것이 본 발명의 발견이다.
이미지의 다른 부분으로부터 ROI의 이러한 추출을 용이하게 하는 본 발명의 일 실시예에 따른 방법이 도 2에서 간략하게 도시되고 설명된다.
분리 단계들에 대한 보다 구체적인 설명들이 다음 도면들에서 제공될 것이다.
첫 번째 단계에서, 본 방법은 모바일 디바이스의 광학 센서를 이용함으로써 생체 특성을 가지는 객체의 이미지를 획득하는 단계(201)를 포함한다. 모바일 디바이스는 태블릿 컴퓨터, 랩탑, 스마트폰 또는 CCD 카메라 같은 모바일 카메라와 같이 어느 것이든 될 수 있다. 획득되는 이미지는 바람직하게는 이미지들을 촬영하기 위한 자유로운 형태의 소프트웨어/하드웨어 요소를 이용함으로써 획득된다.
이는 객체의 이미지를 촬영하는 동안에, 사용자가 광학 센서에 대해 생체 특성을 가지는 객체를 어떻게 배치할 지에 대한 특정 패턴 또는 다른 지침을 제공받지 않는다는 것을 의미한다. 실제로, 본 발명에 따른 사용자는 바람직하게는 그가 어떻게 객체의 이미지를 촬영하는지에 대해 완전히 자유롭다. 이는 예를 들어 광학 센서에 대한 객체의 상대적인 배치 및 조명 상태를 포함한다. 추가적으로, 사용자는 그가 어디서 이미지를 촬영하는지 그리고 생체 특성을 가지는 객체 이외에 실제 이미지의 배경이 무엇인지에 대해 실질적으로 자유롭다. 따라서 도 1의 이미지(110)에서 예시되는 바와 같이 이미지 상에서 보이는 다른 객체들이 있을 수 있다.
이미지가 획득된 이후에, 이미지에 대해 구현되는 몇몇의 전처리(202)가 선택적으로 있을 수 있다. 전처리는 예를 들어 밝기/루마값들 또는 컬러값들을 수정하는 것을 포함할 수 있다. 예를 들어, Hue-Saturation-Value 방법을 이용함으로써 그 컬러값들 또는 밝기값들에 기초하여 원래 획득되는 이미지를 분리하는 단계를 포함할 수도 있다.
예를 들어, 원본 이미지는 통상적으로, 각각의 픽셀에 대해, 연관된 밝기값들과 함께 3개의 컬러값들이 제공되는 다수의 픽셀들(예를 들어, 1024x1024)로 구성된다. 이는 전처리 동안에, 원본 이미지로부터 동일한 수의 픽셀들을 가지는 3개의 이미지를 추출하나 각각의 이미지가 하나의 컬러값들과 연관된 픽셀 값들만을 포함하는 것을 허용한다. 전처리 이후에, 녹색 컬러값들을 포함하는 이미지, 청색 컬러값들을 포함하는 이미지 및 적색 컬러값들을 포함하는 이미지가 있을 수 있다. 이후에 설명되는 바와 같이 다른 전처리 방법들이 가능할 수 있다.
구체적으로, 전처리는 이미지를 검사하는 단계(뉴럴 네트워크를 이용하거나 또는 임의의 다른 소프트웨어 또는 또 다른 뉴럴 네트워크를 이용함) 및 생체 특성을 가지는 객체가 배치되어 있는 원본 이미지의 크기 보다 작은 크기를 가지는 이미지의 일부를 식별하는 단계를 포함할 수 있다.
도 1의 예를 참조하면, 손가락 끝을 가지는 손가락(111)이 촬영된 이미지의 거의 중간에 배치된다. 따라서, 전처리 단계(102)는 이미지(110)의 경계 영역을 절단하는 단계 및 생체 특징을 가지는 손가락 끝(112)을 여전히 포함하는 원본 이미지의 작은 부분만을 더 처리하는 단계를 포함할 수 있다. 이는 손가락 끝을 포함하는 중앙 부분(예를 들어 직사각형 형태인)만을 원본 이미지로부터 추출하는 것과 동일하다.
이하에서, “이미지” 또는 “입력 이미지” 또는 “원본 이미지”에 대해 설명한다. 전술한 내용에 비추어, 이것은 광학 센서에 의해 획득되는 원본 이미지 또는 전체 이미지만을 포함하지 않고 전체 이미지 대신 이미지의 일부만을 이용하거나 또는 각각의 픽셀들에 대해 밝기 값들로 제한되거나 하나의 컬러 값을 포함하는 하나 이상의 이미지들을 이용하는 것을 포함하는 전처리의 임의의 실현을 포함함이 명백하다. 따라서 임의의 이러한 전처리들 및 생각될 수 있는 임의의 다른 전처리는 원본 이미지의 추가적인 프로세싱이 기술되는 경우에 포함되는 것으로 간주될 것이다.
객체의 이미지를 획득하였거나 또는 적어도 이미지의 전처리 이후에, 이미지(또는 일반적으로 전처리된 이미지 또는 이미지의 일부)가 단계 203에서 추가적인 프로세싱을 위해 뉴럴 네트워크로 제공된다. 뉴럴 네트워크로 이미지를 제공하는 단계는 예를 들어, 뉴럴 네트워크를 구현하는 소프트웨어 컴포넌트로 전처리를 수행한 컴포넌트 또는 광학 센서로부터의 이미지를 내부적으로 전송함으로써 달성될 수 있다. 뉴럴 네트워크로 이미지를 제공하는 단계는 모바일 디바이스와 원격 디바이스 사이에 데이터를 전송하기 위한 데이터 전송 수단을 이용하는 것을 포함할 수도 있다. 몇몇 실시예들에서와 같이, 뉴럴 네트워크가 모바일 디바이스 상에서 구현되지 않은 경우에, 예를 들어, 모바일 인터넷 연결들 또는 유선 연결 또는 블루투스 또는 뉴럴 네트워크가 제공되는 원격 위치에 대한 임의의 다른 적합한 연결을 이용하여 이미지가 제공된다.
뉴럴 네트워크에 대해 이미지를 제공하는 단계는 모바일 디바이스 상의 영구 또는 비영구 저장소로부터 이미지를 추출하는 단계를 포함하고 이미지를 뉴럴 네트워크에 제공하고 그리고 동시에 뉴럴 네트워크가 이 저장 위치에 접속할 수 있는 뉴럴 네트워크와 관련된 영구 또는 비영구 저장소에 이미지를 저장하는 단계를 포함할 수 있다.
다음 단계에서, 이미지가 뉴럴 네트워크에 제공(203)된 이후에, 이미지는 뉴럴 네트워크에서 처리(204)된다. 이 처리하는 단계는 뉴럴 네트워크 내에 하나 이상의 노드들 또는 하나 이상의 레이어들에 의해 이미지의 하나 이상의 픽셀들과 연관된 데이터를 처리하여, 예를 들어 이하에서 보다 상세하게 설명되는 바와 같은 하나 이상의 특정한 방식들로 입력 이미지를 전송하는 단계를 포함할 수 있다. 뉴럴 네트워크에 의해 이미지를 처리하는 이 단계(204) 이후에, 뉴럴 네트워크는 위에서 언급된 ROI를 포함하는 이미지의 일부를 이미지의 다른 부분(예를 들어, 생체 특징과 무관한 이미지의 배경)로부터 구별하는 출력을 제공한다. 마찬가지로, 이 처리하는 단계는 객체의 일부가 관심 영역에 속하지 않는 것으로 간주되도록 하게 한다. 예를 들어, 생체 특성을 가지는 객체의 일부분들이 생체 특성의 적어도 일부분을 가지는 않는 경우가 이에 해당할 수 있다. 예를 들어, 손가락에서 손가락 끝이 아닌 모든 부분이 이 경우일 수 있다.
마찬가지로, 생체 특성을 가지는 객체의 부분의 품질이 식별하는데 이를 사용하기에 너무 낮을 수 있고, 따라서 이것은 ROI에 속하지 않는다. 예를 들어 생체 특성의 일부를 가지나 광학 센서에 대해 기울어져 있어 객체의 이미지를 촬영하는 경우에 잘 보이지 않거나 또는 객체가 촬영된 이미지의 나머지 부분 보다 어두워서, 사용자를 식별하기 위해 생체 특성의 이러한 부분들을 사용할 수 없을 수 있다.
어느 경우든, 처리하는 단계는 뉴럴 네트워크가 ROI를 포함하지 않는 이미지의 다른 부분으로부터 ROI를 포함하는 이미지의 일부를 구별하는 출력을 제공하도록 하게 할 것이다.
이 경우에, 본 발명의 일 실시예에 따른 방법은 이미지(또는 이미지의 일부 각각)로부터 ROI를 추출하는 단계를 포함한다. 이 추출하는 단계는 관심 영역 내에서 생체 특성을 지닌 픽셀들만이 이미지로부터 추출되는 것을 포함할 수 있다. 그러나, 이것은 도 1의 이미지(120)에서 도시되는 바와 같이 타원형 또는 원형 같은 예측할 수 없는 형태를 함께 형성하는 다수의 픽셀이 결과일 수 있다. 이러한 이미지들은 통상적으로 이들이 데이터 구조들에서 이미지들을 표현하는데 통상적으로 사용되는 크기 및 형상을 가지지 않기 때문에 더 이상 쉽게 처리되지 않을 수 있다. 따라서, 원본 이미지로부터 사용자의 생체 특성을 지니고 그리고 관심 영역에 대응하는 픽셀들 만을 추출하는 대신에, 관심 영역에 내에 있지 않은 원본 이미지에 모든 픽셀이 표준 값(예를 들어, 검은색 또는 횐색)으로 설정되는 것이 본 발명의 일 실시예에 따라 제공될 수 있다. 이것은 추출된 관심 영역이 복수의 주변 픽셀들 내에 있도록 하여 결과적인 이미지가 통상적으로 사용되는 형태(예를 들어 직사각형이고 1024x1024개의 픽셀들을 포함함)를 가지도록 한다. 이것은 이어지는 단계들에서 추출된 관심 영역의 처리를 더 용이하게 할 수 있다.
이러한 이어지는 단계들은 도 2의 흐름도에서 추가적으로 처리하는 단계(206)로 요약된다. 이러한 추출된 ROI(관심 영역 자체의 픽셀들만이거나, 표준 값으로 제공되는 픽셀들 내에 있거나 이들에 둘러싸인 픽셀들인)를 추가적으로 처리하는 단계는 모바일 디바이스에 대해 원격으로 제공되거나 또는 모바일 디바이스 상에 제공될 수 있는 저장 디바이스에 ROI를 저장하는 단계를 포함할 수 있다. 추가적으로 또는 대안적으로 이러한 추가적으로 처리하는 단계(206)는 관심 영역 내에 생체 특성을 추출하기 위해 관심 영역을 사용하는 식별 수단으로 관심 영역을 제공하는 단계를 포함하고 그리고 추출된 생체 특성이 사용자를 식별하는지 여부를 결정하기 위해 추출된 생체 특성을 처리할 수도 있다
예를 들어, 식별 수단은 사용자의 은행 계좌로 로그인하기 위한 로그인 서버일 수 있다. 자신을 인증하기 위해, 사용자는 예를 들어 그의 손가락 끝의 이미지를 촬영할 수 있고 이를 도 2의 단계 201 내지 205와 관련하여 설명된 바와 같은 방식으로 처리되게 하고 그리고 은행 계좌로 로그인하기 위해 로그인 서버로 각각의 이미지를 보낼 수 있다. 서버는 식별이 성공했는지 여부를 결정하기 위해 관심 영역을 지닌 각각의 데이터 구조의 관심 영역을 추가적으로 처리할 수 있다.
이것이 어떻게 용이할 수 있는지에 대한 방법이 일 실시예에 대해 도 3에서 보다 상세하게 설명된다.
도 3은 객체가 적어도 하나의 손가락 끝에 있는 지문인 생체 특성의 경우에서 생체 특성을 이용하여 어떻게 사용자가 식별될 수 있는지에 대한 보다 상세한 설명을 도시한다. 상술한 바와 같이, 다른 객체들 및 생체 특성들이 마찬가지로 선택될 수 있다.
도 3의 방법은 생체 특징이 손가락 끝으로부터 추출되는 단계 21로 시작하며, 따라서, 이러한 단계들은 도 2에서 설명되는 바와 같은 각각 생체 특성 또는 ROI를 식별되는 객체로부터 추출하는 단계 이후에 적어도 수행된다.
손가락 끝으로부터 생체 특징들을 추출하는 단계는 예를 들어 지문의 세목의 유형 및 위치를 추출하는 단계를 포함할 수 있다. 이것은 또한 매우 특정한 유형의 세목(예를 들어, 지문에서 하나 이상의 선들의 교차)만을 추출하는 단계를 포함할 수 있다.
이러한 정보를 사용하여 사용자를 식별하기 위해, 대응하는 생체 특징의 형태로 참조가 가능해야 하는 것이 당연히 필요하다. 이러한 이유로, 이것은 도 2에 관하여 이전에 설명된 바와 같은 식별 수단이 생체 특징들이 특정 사용자들을 위해 저장되어 있는 저장 디바이스를 포함하거나 또는 저장 디바이스와 관련된다. 예를 들어, 각각의 사용자에 대해, 하나 이상의 생체 특징들이 예를 들어 이미지, 수치 값들 또는 다른 데이터 구조의 형태로 저장되는 파일이 존재할 수 있다.
단계 22에서, 지문으로부터 획득되는 생체 특징은 대응하게 저장된 생체 특징과 비교된다. 이것은 저장된 생체 특징이 추출된 생채 특징에서의 대응하는 위치들과 비교되는 세목의 다수의 위치들에 의해 표현되는 경우를 포함할 수 있다. 물론, 예를 들어, 이미지 인식 기술들, 주파수 변환(frequency transformation) 등과 같은 획득된 생체 특징을 저장된 생체 특징과 비교하기 위한 다른 수단이 알려지고 사용될 수 있다. 획득된 생체 특징과 저장된 생체 특징을 비교하는 단계는 본 발명에 따라 획득된 생체 특징과 저장된 생체 특징 사이의 대응 정도가 계산될 수 있는 방식으로 수행된다. 환언하면, 이러한 비교는 저장된 생체 특징과 획득된 생체 특징 사이의 차이가 계산되도록 할 것이다. 이러한 차이는 단일 실수 또는 텐서(tensor) 또는 벡터(vector) 또는 획득된 생체 특징과 저장된 생체 특징의 일치 또는 차이 정도를 나타내는데 적합한 것으로 고려되는 임의의 다른 수학 구조일 수 있다. 이것은 저장된 생체 특징 이미지에서 획득된 생체 특징 이미지를 픽셀 단위로 뺌으로써 획득되는 차이 이미지(difference image)일 수도 있다.
획득된 생체 특징이 저장된 생체 특징에 대응하는지 여부를 결정하는데 사용될 수 있어 사용자를 식별하는 것을 허용하는 임계치가 제공될 수 있다.
상응하게, 단계 23에서, 획득된 생체 특징과 저장된 생체 특징 사이의 차이가 이러한 임계치 미만 또는 초과인지 여부가 결정된다. 이것이 이러한 임계치 미만인 경우에, 단계 25에서 사용자가 생체 특징에 의해 식별되는지 결정된다. 차이가 임계치를 초과하는 경우에, 단계 24에서 사용자가 생체 특징에 의해 식별되지 않는지 대신 결정된다. 임계치는 예를 들어 0이 완벽한 일치(즉, 차이가 없음)이고 1은 전혀 일치하지 않음을 나타내는 0과 1 사이의 수로 설정될 수 있다. 식별 정확도가 비교적 높아야 한다는 점을 고려하고 도 1 내지 도 2에서 설명되는 바와 같이 자유로운 형태의 객체를 촬영하는 것은 왜곡을 겪을 것이라는 점을 고려하기 위해, 임계치는 0에 가까우나 0이 아니게 설정될 수 있다. 예를 들어, 임계치는 0.1 보다 작거나, 바람직하게는 0.05 보다 작거나, 또는 0.98 보다 작거나 같도록 선택될 수 있다. 물론 다른 값들도 가능하다.
이러한 결정은 식별 수단이 사용자가 획득된 지문에 의해 식별되거나 또는 사용자가 획득된 지문에 의해 식별되지 않는지 여부를 결정하도록 하게 한다.
도 2 및 도 3은 오직 하나의 손가락 끝이 식별을 위해 사용되고 이러한 손가락 끝이 이미지에 존재하는 경우에 원래 촬영된 이미지로부터 획득되는 생체 특성을 이용하여 사용자를 식별하는 방식을 설명하였다.
그러나, 사용자를 식별하기 위해 식별 수단이 하나의 손가락만을 평가하는 것 뿐만 아니라 두 개의 손가락 끝들 같이 하나 이상의 손가락 끝 또는 이미지 상에 이용 가능한 모든 손가락 끝들을 평가하는 것이 고려될 수도 있다. 하나의 손가락 끝 또는 복수의 손가락 끝들의 지문으로부터 획득되는 생체 특징이 식별 수단에 의해 저장된 생체 특징과 일치되는지에 대한 방식은 도 3에 관련하여 설명된 것과 대응한다.
그러나, 둘 이상의 지문이 평가되는 경우에, 생체 특징들의 조합된 식별 정확도가 주어진 임계치를 초과하는 경우에만 사용자가 식별되거나 또는 각각의 획득된 손가락 끝들에 대해서만 사용자가 식별되는 경우에, 도 3의 단계 22 및 단계 23에서 설명되는 바와 같이 저장된 생체 특징과의 획득된 생체 특징의 비교는 단계 25의 결과로 이어진다.
도 3에 관련하여 설명되는 방법이 이미지에 모든 지문 상에 수행되고 각각의 획득된 지문에 대해 획득된 생체 특징과 저장된 생체 특성 사이의 차이가 주어진 임계치 미만이 경우에만 사용자가 식별되므로 마지막 경우는 단순하다. 어느 경우든 사용자는 식별되지 않는다.
그러나, 사용자가 이미지에서 모든 손가락 끝의 지문들의 조합된 식별 정확도가 주어진 임계치를 초과하는 경우에 사용자가 식별되는 경우, 각각의 손가락 끝에 대해 획득된 생체 특징과 저장된 생체 특징의 비교가 도 2의 단계 23에 따라 차이가 임계치 미만이도록 할 필요가 없다.
예를 들어, 생체 특징의 식별 정확도가 0(식별 안됨)에서 1(획득된 생체 특징과 저장된 생체 특징 사이에 완벽한 일치)까지의 범위의 숫자임을 고려하면, 조합된 식별 정확도가 각각의 생체 특징에 대하여 개별적으로 획득되는 독립적인 식별 정확도들의 합에 의해 결정되는 경우에 조합된 식별 정확도는 4(4개의 지문들에 대해 완벽한 식별 정확도에 대응) 미만의 값을 가질 수 있다.
예를 들어, 조합된 식별 정확도에 대해 대응하는 임계치는 3.5일 수 있다. 이 경우에, 예를 들어 각각의 지문에 대한 식별 정확도들이 대략적으로 0.9인 경우에 이러한 식별 수단들의 합(즉, 조합된 식별 정확도)이 3.6이여서 각각의 임계치를 초과하기 때문에 사용자를 식별하기에 충분할 수 있을 것이다. 다른 예로서, 3개의 지문들이 0.95의 식별 정확도로 식별되는 것으로 고려하면, 4번째 손가락이 0.75의 정확도로만 식별되면 충분하다.
식별 정확도는 획득된 생체 특징과 저장된 생체 특징 사이의 상대적인 유사 또는 대응 정도로 볼 수 있음을 유의한다. 따라서, 획득된 생체 특징이 저장된 생체 특징에 대해 90%에 대응하는 경우에, 식별 정확도(즉, 사용자가 생체 특징으로 얼마나 정확하게 식별되는지)는 0.9일 것이다.
식별 정확도에 대한 다른 값들 뿐만 아니라 임계치에 대한 다른 값들이 사용될 수 있다는 것은 명백하다. 또한, 조합된 식별 정확도가 결정될 수 있는 다른 수단이 있을 수 있다. 예를 들어, 조합된 식별 정확도는 식별 정확도의 평균 값을 결정하거나 또는 식별 정확도의 곱을 결정함으로써 계산될 수 있다.
이어지는 도면들에서, 단계 12 내지 단계 14에 따라 생체 특성을 포함하는 ROI를 최종적으로 추출하기 위해 원래 획득된 이미지를 처리하는 단계가 보다 상세하게 설명될 것이고, 추가로, 뉴럴 네트워크가 높은 정확도로 손가락 끝들을 식별할 수 있도록 어떻게 트레이닝될 수 있는지에 관한 설명이 주어질 것이다.
위에서 이미 설명된 바와 같이, 획득된 이미지는 인코더를 이용하여 이미지를 먼저 처리하고(도 4에서 설명될) 그리고 디코더에 의해 이를 처리(도 5에서 설명될)함으로써 처리된다.
도 4는 본 발명의 일 실시예에 따라 뉴럴 네트워크의 인코더의 하나의 레이어에 수신된 입력을 내부적으로 처리하는 단계를 도시한다. 이 레이어(400)는 인코더를 통한 원래 입력의 처리 순서에 따라 위에서 설명된 단계(202) 이후에 원래 입력을 수신하는 제 1 레이어, 또는 뉴럴 네트워크의 두 개의 추가적인 레이어들(440 및 450) 사이에 배치되는 임의의 중간 레이어인 레이어일 수 있고, 또는 레이어(400)는 디코더에 제공될 수 있는 인코딩된 출력을 마지막에 제공하게 되는 뉴럴 네트워크의 최종 레이어(the last layer)일 수도 있다.
어느 경우든, 레이어(400)는 적어도 임의의 방식으로 원래 획득된 이미지에 대응하는 입력(430)을 수신할 것이다. 이러한 입력은 N×M 차원을 가지는 적어도 하나의 행렬 형태로 제공되는 것이 바람직하며, 여기서 N과 M은 0보다 큰 정수이다. 행렬은 예를 들어, 적어도 하나의 색상 값(예를 들어, 빨간색)에 대한 이미지의 픽셀들을 나타낼 수 있다. 이에 따라 이러한 행렬의 엔트리들은 이러한 특정 픽셀의 각 색상(예시의 경우 빨간색)의 값에 대응하는 값들을 가질 수도 있다. 다음에서 보다 명백해질 바와 같이, 입력은 획득된 이미지와 동일하지 않을 수 있지만 뉴럴 네트워크의 레이어들을 통한 몇몇 처리 또는 몇몇 전처리(예를 들어, 해상도, 단일 색상 또는 밝기 값 등에서의 감소)에 의해 원본 이미지를 나타내는 행렬에서 획득되는 행렬 P일 수 있다.
다만, 논의의 편의를 위해 입력(430)은 원래 획득된 이미지를 나타내는 N×M 행렬에 해당하는 것으로 가정하고 그리고 이러한 N×M 행렬의 각 엔트리는 각 이미지 내의 픽셀의 색상 값(예: 빨간색)에 대응한다. 이러한 교시(teaching)를 원래(original)의 N×M 행렬로부터 유래하고(originate) 뉴럴 네트워크의 레이어들에서 이 행렬을 처리하여 획득하는 임의의 다른 변환된 행렬에 적용하는 것은 용이하다.
이제 도 4에 예시된 프로세스에 이어, 처리를 위해 깊이별 컨볼루션 레이어(411)에 의해 입력(430)이 수신된다. 다음에서, 입력 행렬(430)이 깊이별 컨볼루션 레이어에 의해 어떻게 처리될 수 있는지에 관련하여 비교적 간단한 예시가 제공될 것이다. 이것은 행렬을 사용하여 내적을 계산하는데 커널 K가 사용되는 것을 포함할 것이다. 커널은 "스트라이드(stride)들"로 불리는 행렬에서 실행된다. 다음 예시에서는 가로 및 세로 스트라이드 너비(stride width)들에 대해 1의 값을 사용할 것이지만, 스트라이드 너비들이 0보다 큰 정수들인 한 1 보다 큰 다른 임의의 값을 사용할 수 있다. 커널 K의 사이즈는 S×T이며, 여기서 S와 T는 정수들이고 N 및 M보다 작다.
추가적으로, 커널과의 내적을 계산하기 위해 사이즈가 N×M인 원래의 입력 행렬 I(즉, 입력 행렬(430))만이 사용된다고 가정될 것이다. 다만, 확장 행렬(extended matrix) Z가 커널과의 내적들을 계산하는데 사용될 수 있다는 것도 고려된다. 이 확장 행렬 Z는 원래 행렬 I에 첫번째 열의 왼쪽 및 마지막 열의 오른쪽 뿐만 아니라 첫 번째 행 위와 마지막 행 아래에 행들 및 열들을 "부착(attaching)"하여 획득된다.
이것을 "패딩(padding)"이라고 한다. 패딩은 일반적으로 열들의 개수 가 열 방향으로 추가되고 행들의 수 가 행 방향으로 추가되는 것으로 구성될 것이다. 개수 는 S-1과 같을 수 있고 개수 는 T-1과 같을 수 있어, Z와 커널 사이에서 계산된 임의의 내적은 원래 행렬 I의 적어도 하나 엔티티를 포함한다. 이에 따라 결과적인 행렬(resulting matrix) Z는 (N+2)×(M+2) 크기가 될 것이다. 이를 고려하여 행렬 Z는 다음의 엔티티들을 가질 것이다:
이러한 맥락에서, 모든 내적들을 계산하고 열들 및 행들에 따라 이들을 적절하게 배열하여 획득되는 새로운 행렬은 일반적으로 크기가 이고, 여기서 는 각각 열들의 방향과 행들의 방향의 스트라이드 너비를 정의한다. 새로운 행렬의 크기에 대한 정수를 생성하는 S×T 크기의 주어진 커널 K에 대해 이러한 패딩들 및 스트라이드 너비들만이 허용된다는 것은 자명하다. 추가적으로, 그렇지 않은 경우에 커널이 새로운 행렬을 계산하는 경우에 원래 행렬의 몇몇 열들 또는 행들이 배제되는(left out) 방식으로 행렬 I 위로 이동될 것이기 때문에, 스트라이드 너비들 는 바람직하게 각각 S 및 T보다 같거나 작다.
논의의 편의를 위해, 이하에서 원래 행렬 I에 패딩이 없고 가로 및 세로 스트라이드들에 대해 스트라이드 너비가 1이라고 가정될 것이다. 추가적으로, 커널은 크기가 S×S인 행렬, 즉 S=T가 가정되는 특수한 경우라고 가정될 것이다. 임의의 패딩과 스트라이드 너비 뿐만 아니라 임의의 커널 크기에 다음에서 주어진 설명들을 적용하는 것은 다음에서 제공된 교시에 따라 용이하다.
깊이별 컨볼루션 레이어(411)에서, 수신된 입력 행렬(430)은 S<N,M인 S x S 크기를 가지는 커널 K와의 내적을 생성하는 데 사용된다. 내적은 축소된 행렬이 S x S 크기이고 원래의 NxM 행렬의 코히런트 엔트리(coherent entry)들을 포함하는 원래 N×M 행렬의 축소된 행렬 각각에 대해 계산된다.
예를 들어, S=3임을 고려하면, 원래 N×M 행렬의 제 1 감소된 행렬 R은 감소된 행렬 가 9개의 엔트리들로 구성되며 그리고 커널 K와의 내적이 계산되어 단일 숫자를 생성한다. 원래 N×M 행렬의 라인들의 방향들에서 다음 감소된 행렬은 i가 1만큼 증가하는 행렬이여서, 이 방향의 다음 행렬은 i= 2,3,4이고; j=1,2,3인 원래 N×M 행렬의 항목(item)들로 구성된다. 이 행렬은 커널과의 다음 내적을 계산하는데 사용될 수도 있다. S = 3인 S x S 행렬에 대해 주어진 예시는 하나의 예시일 뿐이며 다른 커널들도 사용될 수도 있다.
행들/열들의 방향으로 크기 의 다음 감소된 행렬 R을 계산하기 위해 원래 N×M 행렬에 있는 항목들의 인덱스(index) 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가 계산된다. 그것의 엔트리들 는 커널 K 및 원래 N×M 행렬의 대응하는 감소된 행렬로 계산된 내적 각각에 대응한다. 이 크기의 행렬은 실제로 레이어(400)의 포인트별 컨볼루션 레이어로 전달된다는 것을 유의한다.
커널 K는 의도되는 객체들을 적절하게 식별하기 위해 뉴럴 네트워크가 훈련되는 학습 프로세스를 통해 획득된 엔트리들로 구성된다. 뉴럴 네트워크의 레이어(400)에서 사용되는 커널 K는 뉴럴 네트워크 각각의 다른 레이어들에서 사용되는 커널들에 대해 크기 및 엔트리들이 반드시 동일할 필요는 없다. 추가적으로, 커널 내의 엔트리들은 서로 동일할 필요는 없지만 적어도 구성 숫자들은 0보다 크거나 같다. 엔트리들은 뉴럴 네트워크의 학습을 통해 획득되는 "가중치들"을 나타내는 것으로 간주될 수 있다.
깊이별 컨볼루션 레이어에 의해 행렬(430)을 처리한 결과는 위에서 설명한 바와 같이, 행들의 방향으로 Δj =1이고 열들 방향으로 Δi =1인 거리(이는 각각의 스트라이드 너비에 대응함)를 가지는 원래 N×M 행렬 위로 스트라이드들로 커널이 이동하는 경우에 커널은 크기가 (N-S+1)×(M-S+1)인 행렬(431)이 된다. 다만, 이러한 스트라이드들이 Δi =2 또는 Δi =3과 같이 (그리고 잠재적으로, 행들에 대응되게) 더 큰 거리를 가지는 경우 결과(431)의 차원은 위에서 설명된 바와 같이 대응되게 변할 것이다.
추가적인 처리에서, 이 결과(431)는 깊이별 컨볼루션 레이어(411) 다음에 도 4에서 화살표들로 표시된 처리 순서로 이어지는 제 1 배치 노멀라이저(412)로 전달된다. 배치 노멀라이저는 수신된 결과 행렬(431)에 대해 정규화(normalize)를 시도한다. 이것은 (N-S+1)×(M-S+1) 행렬의 엔트리들 각각에 대한 총합을 계산하고 그리고 (N-S+1)×(M-S+1) 행렬의 엔트리들의 개수에 의해 그것을 나눔으로써 달성된다. (N-S+1)×(M-S+1) 행렬(대응하는 항목들 Pij를 가지는 이하에서 P로 표시되는)에 대한 평균값 V는 다음처럼 주어진다.
여기서 n과 m은 N×M 행렬의 열(column)들/행들의 개수 또는 행렬 P의 열들 및 행들의 개수를 나타낸다. 항목들 는 행렬 P의 엔트리들이며 여기서 주어진 항목 는 i 행 및 j 열인 행렬 내의 요소(element)이다.
그리고 배치 노멀라이저는 = 가 되도록 원래 행렬의 각 엔트리 에서 평균값 V를 추출하여 축소된 행렬 P'를 계산한다. 그에 따라, 감소된 행렬 P'내의 값들은 정규화 되어 한 방향 또는 다른 방향의 어노말리(anomaly)들(매우 큰 값 또는 매우 낮은 값)이 필터링되도록 한다.
제 1 배치 노멀라이저(412)에 의해 생성된 결과(232)는 지금까지 더 이상의 행렬의 차원 축소가 수행되지 않았기 때문에 여전히 (N-S+1)×(M-S+1) 크기를 가지는(도 4에 주어진 예시에서) 행렬이다.
그 다음, 결과(432)는 제 1 배치 노멀라이저(412)에 이어지는 제 1 정류 선형 유닛(413)에 제공된다.
정류 선형 유닛은 새로운 행렬 엔트리들 를 추가로 계산하여 행렬(432)의 각 엔트리를 추가로 수정하며, 여기서 엔트리들 는 다음과 같다.
이것은 0보다 작은 값들이 배치 노멀라이저를 통과한 후에 0으로 설정되도록 하여, 이하에서 설명될 깊이별 컨볼루션 레이어의 추가적인 처리에 더 이상 영향을 미치지 않게 한다. 이것은 예를 들어 배치 노멀라이저에서 계산된 평균값보다 낮은 색상 값들은 더 이상 고려되지 않고 적어도 평균값 V에 대응하는 값들만이 다음 단계의 계산 결과에 영향을 미친다는 것을 의미한다.
이에 따라, 제 1 정류 선형 유닛(413)에 의해 출력된 결과(433)는 여전히 (N-S+1)×(M-S+1)의 형태/크기인 행렬이고 이 행렬은 포인트별 컨볼루션 레이어(421)로 전달된다.
이 포인트별 컨볼루션 레이어(421)는 결과(434)를 생성한다. 이 결과(434)는 (N-S+1)×(M-S+1)인 행렬(433)의 각 엔트리를 취하고 이 엔트리를 가중치 α와 곱함으로써 포인트별 컨볼루션 레이어(421)에 의해 생성된다. α는 바람직하게는 어느 경우든 0보다 큰 숫자이고 그리고 이 숫자는 (N-S+1)×(M-S+1) 행렬의 각 엔트리에 대해 동일하다. 따라서 포인트별 컨볼루션 레이어(421)로부터 얻어지는 결과(434)는 동일한 크기 (N-S+1)×(M-S+1)를 가지지만 각 엔트리가 가중치 α와 곱해지는 행렬이다.
그리고 결과(434)는 제 2 배치 노멀라이저(422)에 제공되고 여기서 이것은 제 1 배치 노멀라이저(412)에 대해 설명된 바와 같은 방식으로 정규화되고 그리고 결과(435)와 동일한 차원의 정규화된 행렬 P'가 계산되고 그리고 이러한 행렬/결과(435)가 뉴럴 네트워크에서 다음 레이어로 전달되는 결과/행렬 (436)을 획득하기 위해 정류 함수가 적용되는 제 2 정류 선형 유닛(423)으로 전달되거나, 또는 뉴럴 네트워크에서 다른 레이어가 이어지지 않는 경우 도 5에서 설명되는 바와 같이 처리될 출력 인코딩된 이미지로 결과(436)가 제공된다.
인코더에서의 처리를 통해 광학 센서에 의해 획득되는 원본 이미지에서 이용 가능했던 정보는 엔코더에서 적용되는 몇몇의 변환들 t가 tot-1=1를 유지하기 위한 역변환 t-1를 가지지 않기 때문에 손실된다는 점을 유의한다. 그러나, 이것은 이러한 정보 손실을 이하에서 설명되는 뉴럴 네트워크의 훈련을 통해 기본적으로 관심이 없는, 즉 ROI를 정의하지 않는 정보로 제한 또는 한정할 수 있기 때문에 실제로 본 발명에 의해 의도된 결과이다. 이러한 정보가 손실되는 반면에, ROI의 정보 가중치는 증가하여, 이미지의 남아있는 부분으로부터 ROI를 구별하는 것을 가능하게 한다.
손가락 끝들을 식별하기 위해 도 4에 설명된 레이어(200)와 동일한 13개의 레이어들이 이들이 각각의 방법을 구현하기 위해 줄어든 컴퓨터 자원들만을 필요로 하면서 손가락 끌들 및 이들의 위치에 대한 비교적 높은 식별을 결과로 하기 때문에 가장 적합하다는 것이 본 발명의 발견이며, 이는 모바일 디바이스들에 보다 적합하게 한다.
도 5와 관련하여, 인코더로부터 인코딩된 이미지를 수신하는 경우에 디코더에서 실행되는 프로세스가 설명된다.
인코더에서 이미 지시된 바와 같이, 디코더는 이전에 객체에 대해 적용되었던 암호화(encryption)가 디코딩되는 방식으로 무언가를 “디코딩”하는 의미로 보여서는 안된다. 오히려, 디코더는 디코더에 의해 인코딩된 이미지를 처리한 이후에 디코딩된 출력 이미지가 바람직하게는 원본 이미지에 대응하는 크기(행렬의 엔트리들 또는 픽셀들의 측면에서)를 가지는 방식으로 적어도 인코딩된 이미지를 변환하거나 또는 인코딩된 이미지를 확장하는 하나 이상의 노드들 또는 레이어들을 포함하는 뉴럴 네트워크의 일부로 이해되어야 한다. 예를 들어, 원본 입력 이미지가 A x B 픽셀들의 크기를 가졌던 경우, 디코딩된 출력 이미지(또는 텐서)는 바람직하게는 동일한 크기 및 픽셀 개수를 가질 수도 있다. 이들은 각각의 픽셀이 행렬의 엔트리와 관련되고 그리고 픽셀의 값이 행렬에서 엔트리의 값인 행렬의 형태(또는 보다 구체적으로 텐서)로 설명될 수도 있기 때문에, 행렬 형태인 디코딩된 출력 이미지는 원본 입력 이미지의 크기를 가진다고 말하는 것과 동일하다. 예로써, 원본 입력 이미지는 224 x 176 x 3 (3은 컬러 값들의 수에 대응)의 크기를 가질 수 있다. 그러면 디코딩된 출력 이미지는 디코딩된 출력 이미지를 구성하는 행렬에서 동일한 개수의 픽셀들/엔트리들을 가진다. 또한 원본 입력 이미지의 다른 해상도(또한 다른 개수의 컬러 값들을 포함하는)가 생각될 수 있다.
도 5에서 볼 수 있는 바와 같이, 디코더(500)는 인코딩된 입력 이미지(531)가 차례로 처리되는 하나 이상의 레이어들(551 및 552)(및 도시되지 않은 다른 대응하는 레이어들)을 포함한다. 이는 인코딩된 입력 이미지(531)가 먼저 인코더(500)의 제 1 레이어(551)에 의해 처리되고 그리고 중간 디코딩된 이미지(533)가 뉴럴 네트워크의 인코더(500)에서 인코딩된 이미지의 처리 순서로 다음 레이어(552)로 제공된다는 것을 의미한다. 인코더의 각각의 레이어를 통과한 이후에, 최종 디코딩된 출력 이미지(536)가 제공된다. 이것은 이하에서 추가로 상세히 설명되는 바와 같이 추가적으로 처리될 수 있다.
레이어들(551 및 552)에 의해 인코딩된 이미지를 처리하는 것에 관하여, 이러한 레이어들의 각각은 원칙적으로 전치 컨볼루션(transposed convolution)(501 및 502)로 불리는 디컨볼루션 및 바이리니어 업샘플링 유닛(bilinear upsampling unit)들(511 및 521)인 동일한 컴포넌트들을 포함하다는 점을 먼저 유의한다. 바이리니어 업샘플링 유닛들은 디컨볼루션들(501 및 502) 이후의 레이어 내에서 처리 순서대로 도시되나, 컨볼루션들(501 및 502) 전에 입력된 인코딩된 이미지의 처리 순서로 바이리니어 업샘플링 유닛들을 제공하는 것도 가능하다.
디컨볼루션들(501 및 502)는 컨볼루션들의 변환을 역으로 하는 방식으로 동작한다.
보다 상세하게 이를 설명하기 위해, 인코딩된 입력 이미지(531)(또는 임의의 중간 디코딩된 이미지(533 및 535))는 특정 크기 N' x M'를 가지는 입력 행렬 B의 형태로 표시되고 여기서 이러한 입력 행렬의 엔트리들은 Bij로 표시되고, 여기서 이고 j인 것으로 가정한다.
이러한 입력 행렬로부터 확장된 행렬 를 획득하기 위해, 행렬의 각각의 엔트리는 인코더의 깊이별 컨볼루션 레이어들에서의 커널과 같은 특정 크기 를 가지는 행렬의 형태를 가지는 커널 와 곱해진다. 보다 쉬운 논의를 위해, 인 것으로 가정된다. 그러나, 이에 한정되지 않는다. 실제로 임의의 값의 가 가능하다. 이것은 가 인코더에서 사용되는 커널의 S 및 T이거나 또는 가 인코더에서 사용되는 S 및/또는 T와 상이한 것을 포함한다.
원본 입력 행렬(인코딩된 이미지(531)와 같은)의 엔트리 B ij 를 커널과 곱함으로써, 특정 엔트리들을 가지는 하위 행렬 이 제공된다. 엔트리들 를 가지는 커널 를 고려하면, 하위 행렬 에서 엔트리들은 하위 행렬 로 표시된다. 이들은 곱 에 의해 계산된다.
이를 통해, 입력 행렬 B에서 단일한 엔트리는 크기 를 가지는 하위 행렬로 확장된다. 엔트리들 의 값들은 행렬 B에서의 엔트리에 의존할 뿐만 아니라 커널 의 엔트리들 에도 의존한다. 각각의 엔트리들 Bij에 대한 이러한 절차는 하위 행렬들 로 이어진다.
이러한 값들은 이하에서 추가적으로 상세하게 설명되는 바와 같이 뉴럴 네트워크의 훈련을 통해 획득될 수 있다. 원칙적으로 입력 행렬의 엔트리 B ij 의 인덱스들 i 및 j에 따라 상이한 커널들 를 제공하는 것이 가능할 것이나, 쉬운 설명을 위해 사용되는 각각의 커널 는 디컨볼루션 내와 동일한 것으로 가정한다. 이는 각각의 커널 가 동일한 크기 와 동일한 엔트리들 를 가지는 것을 의미한다. 그러나, 인코더에서 다른 디컨볼루션의 경우 그렇지 않을 수 있고 커널은 다른 크기 및/또는 다른 엔트리들을 가질 수 있다.
계산된 하위 행렬들 로 돌아가면, 추가적인 절차는 다음과 같다. 입력 행렬 B의 각각의 엔트리 B ij 에 대해, 하위 행렬들이 위에서 설명된 바와 같이 계산된다. 디컨볼루션으로부터 합리적인 출력을 획득하기 위해, 이러한 하위 행렬들은 확장된 행렬 B를 획득하기 위해 특정한 방식으로 조합된다. 이는 복수의 방식들로 달성될 수 있다.
예를 들어, 하위 행렬들은 “함께 합쳐”질 수 있다. 이것은 제 1 행렬 가 하위 행렬 의 오른쪽인 하위 행렬 와 하위 행렬 바로 아래에 있는 다른 하위 행렬 와 조합된다는 것을 의미한다. 추가적으로, 하위 행렬 는 대각선으로 제공된다. 이러한 방식으로, 확장된 행렬이 B 00 과의 패턴으로 시작하여 대응하는 하위 행렬들과 입력 행렬에서의 모든 원래의 엔트리들 B ij 에 대해 이러한 패턴을 계속함으로써 제공된다.
대안적으로, 하위 행렬 을 중첩되게 조합하는 것이 또한 가능하다. 이것은 하위 행렬들이 위에서 설명된 바와 같이 서로 부착되지 않고 하위 행렬 와 하위 행렬 이 각각의 커널의 크기 (이전 단락에서 설명된 경우와 같은) 보다 작은 스트라이드 너비 W로 하위 행렬 에 대해 하위 행렬 를 이동(shifting)시키는 것만으로 조합된다는 것을 의미한다. 따라서, 결과적으로 확장된 행렬 에서, 엔트리들은 하나 이상의 하위 행렬들 로부터 생성된다. 이러한 중첩은 임의의 방향으로 제공될 수 있음이 명확하다. 이것은 좌측에서 우측으로, 상단에서 하단으로, 그리고 대각선 방향으로 제공될 수 있음을 의미한다.
위를 고려하면, 확장된 행렬 의 크기는 에 대해 로 단순화되는 일 것이다. 이것은 하위 행렬들 이 스트라이드 너비 W = 와 동일하게 위에서 설명된 바와 같이 서로 옆으로 위치하는 경우이다. 중첩이 있고 따라서 스트라이드 너비 W가 커널의 크기 보다 작은 경우에, 누구든 결과적인 확장된 행렬의 크기가 임을 쉽게 알 수 있다. 물론 이것은 스트라이드 너비 W가 좌측에서 오른쪽에서 그리고 위에서 아래로 동일한 경우이다. 이러하지 않은 경우에, 상이한 값들의 Wα 및 Wβ이 각각의 너비를 계산하는데 사용될 수 있다.
디컨볼루션에 의해 인코딩된 이미지를 처리하는 단계의 결과는 사용된 커널 및 입력 행렬 B에 대해 위에서 설명된 개별 동작들 및 연산들로부터 엔트리들이 계산되는 확장된 행렬이다.
그 후, 확장된 행렬 의 크기는 원래 입력 행렬 B의 크기 보다 크고 원본 이미지의 크기(즉, 픽셀들의 개수)에 여전히 대응하지 않을 수 있다.
다음 단계에서, 확장된 행렬 에 대응하는 중간 확장된 이미지는 바이리니어 업샘플링 유닛(511)으로 전달된다. 이 유닛에서, 확장된 행렬 는 바이리니어 업샘플링의 기타 통상적으로 알려진 기법을 이용하여 업샘플링된다. 이는 인접한 픽셀들 사이에, 바이리니어 업샘플링을 이용하여 새로운 픽셀들이 구성됨을 의미한다. 이는 중간 픽셀들의 값들이 통상적으로 알려진 바이리니어 업샘플링 기법들을 이용하여 계산됨을 의미한다. 예를 들어 엔트리들은 , , , 인 확장된 행렬 에서 4개의 인접한 엔트리들을 고려한다. 바이리니어 업샘플링을 이용하여, 인접한 픽셀들 사이에 하나 이상의 픽셀들이 예를 들어 로 표시되는, 다른 행렬에 도달하여 행렬 를 더 확장시키기 위해 계산된다. 이러한 바이리니어 업샘플링으로 인해, 이로써 계산되는 중간 값들은 디컨볼루션을 이용하여 계산되는 행렬의 엔트리들 사이에 보다 “스무스한(smooth)” 연결을 나타낸다.
바이리니어 업샘플링 유닛(511)에 의해 확장된 행렬 를 처리한 이후에, 추가적인 중간 디코딩된 이미지(533)가 획득되어 디코더에서 다음 레이어로 전달된다. 이러한 절차들은 디코더의 모든 레이어들에 걸쳐 반복되고, 최종적으로, 디코딩된 출력 이미지(536)가 획득된다.
디코딩된 출력 이미지가 각각의 엔트리들에 대한 값들을 가지는 행렬에 대응하는 경우에 이것은 출력 행렬인 행렬 O로 지칭될 수 있다. 이러한 출력 행렬 O는 원본 이미지와 동일한 크기 N x M를 가지고 상응하게 원본 이미지의 각각의 픽셀에 대해 하나의 엔트리를 가진다.
그러나, 디코딩된 이미지는 뉴럴 네트워크에서의 처리를 통해 예를 들어 인코더에서 변환들을 적용함으로써 정보가 손실되기 때문에 원본 입력 이미지와 동일하지 않다.
출력 행렬 O에서 값들은 -에서 +까지의 범위일 수 있다. 출력된 디코딩된 이미지의 실제 형태에 관련 없이, 출력에서 각각의 엔트리(각각의 픽셀에 대응하는)에 대해 각각의 엔트리의 값에 대응하는 값 x가 존재한다고 가정한다. 각각의 값에 대해, 활성화 함수(activation function)가 적용될 수 있고 여기서 활성화 함수 를 가진다. 이것은 원래 값들 에 비교되는 값 들이 0과 1 사이의 간격을 가지도록 압축되는 결과를 가져오고 여기서 인 값들로부터 도출되는 모든 새로운 값들 는 대략 0이 되는 반면에 인 원래의 값들로부터 획득되는 다른 들의 값들은 대략 1이 된다.
이것은 특정 픽셀 또는 엔트리와 관련된 값이
Figure 112021110629017-pct00149
또는
Figure 112021110629017-pct00151
인 값을 가지는 새로운 행렬 가 생성되게 한다.
추가적인 단계로, 0.5 보다 작은 모든 값들을 0으로 설정하고 0.5 보다 큰 모든 값들을 1로 설정함으로써 행렬 를 더 수정하는 것이 가능하다.
결과적인 행렬은
Figure 112021110629017-pct00157
인 값을 가지는 행렬의 엔트리들은 흰색으로 간주되고
Figure 112021110629017-pct00159
인 값을 가지는 엔트리들은 검은색으로 간주되는 “흑백” 이미지로 간주될 수 있다. 반대의 경우도 가능하고 “흑백” 사진에 대한 참조는 단지 예시를 위한 것이다.
뉴럴 네트워크에 의해 원본 이미지를 처리함으로써, 이것은 관심 영역이 특정 모양(예를 들어 타원 형태)을 가지는 것으로 출력 행렬 또는 출력된 디코딩된 이미지에서 볼 수 있도록 한다. 이것은 학습된 뉴럴 네트워크 및 입력 이미지의 처리로 인해, ROI는
Figure 112021110629017-pct00161
또는
Figure 112021110629017-pct00163
인 값들에 대응하기 때문이다. 이미지의 나머지는 관심 영역과 이미지의 다른 부분들 또는 일부들 사이를 구별하는 것을 허용하도록 페이드 아웃(각각 다른 값 를 가지는 것에 대응)될 것이다.
다음 단계에서, 디코딩된 출력 이미지에서 픽셀들의 크기 및 배열이 원래의 입력 이미지와 같기 때문에 디코딩된 출력 이미지에서 관심 영역의 부분에 대응하는 각각의 픽셀을 식별하는 것이 가능하다. 이에 의해, 관심 영역 내에 원래의 출력 이미지에서의 픽셀들이 추출될 수 있다.
디코딩된 출력 이미지까지 원래의 입력 이미지를 처리하는 동안, 잠재적인 관심 영역인 둘 이상의 영역이 있는 것이 발생할 수 있다. 실제 관심 영역과 관심 영역에 대한 다른 후보들을 구별하기 위해, 디코딩된 이미지 내에 가장 큰 연속적인 영역을 선택하고 잠재적인 후보 관심 영역인 다른 영역들을 무시하는 것이 가능하다.
디코딩 절차로 인해, 관심 영역을 표현하는 결과적인 픽셀들의 개수는 스무스한 영역이 아닐 수 있지만 다운사이징 및 업사이징 및 정보 손실로 인한 계단들 및 다른 왜곡들을 포함할 수 있다. 이것은 예를 들어 계단이 없는 형태(거의 타원형인)를 획득하기 위해 본 기술 분야에 통상적으로 알려진 바와 같은 스무싱 기술들을 적용함으로써 수정될 수 있다.
이러한 관심 영역 내에 픽셀들 및 디코딩된 이미지에서의 결과적인 관심 영역은 위에서 설명한 바와 같이 원래의 입력 이미지와 일치할 수 있고 그리고 원래의 입력 이미지의 각각의 픽셀들이 실제 관심 영역으로 추출될 수 있고 그리고 예를 들어 도 1 및 도 2와 관련하여 설명되는 방식으로 예를 들어 관심 영역을 저장하고 그리고 식별 수단에 이를 증명함으로써 추가적으로 처리될 수 있다.
도 5와 관련하여 특정 순서의 디컨볼루션들 및 바이너리 업샘플링 유닛들을 사용하여 디코딩이 설명되었지만, 이러한 엔트리들의 다른 조합들이 사용될 수 있다는 점에 유의한다. 예를 들어, 본 발명은 위에서 설명된 바와 같이 이미지를 처리하는 다수의 디컨볼루션들만이 계속하여 사용되는 것을 또한 포함한다. 대안적으로 바이리니어 업샘플링 유닛들만이 이미지를 처리하는데 계속하여 사용될 수 있다.
또한, 바이리니어 업샘플링 유닛들의 개수가 디컨볼루션들의 개수와 일치하지 않는 실시예가 있을 수도 있다. 예를 들어, 각각의 두번째 디컨볼루션 또는 각각의 세번째 컨볼루션 이후에 제공되는 하나의 바이리니어 업샘플링 유닛이 있을 수 있다. 디컨볼루션 보다 많은 바이리니어 업샘플링들이 존재하는 경우도 마찬가지다. 예를 들어 각각 두번째 또는 세번째 업샘플링 유닛 이후에 하나의 디컨볼루션만이 존재할 수 있다.
바이리니어 업샘플링 유닛들 또는 디컨볼루션들의 제공이 디코더에 거쳐서 균일할 필요도 없다. 예를 들어, 입력된 인코딩된 이미지의 처리 순서에서, 먼저 디컨볼루션 다음에 바이리니어 업샘플링 유닛이 이어지고, 바이리니어 업샘플링 유닛이 이어지는 두개의 디컨볼루션들이 그 다음에 이어질 수 있다. 그 후, 다시 단일한 디컨볼루션만이 존재하고 이어서 바로 바이리니어 업샘플링 유닛이 이어질 수 있다. 또한 다른 조합들이 생각될 수 있다.
도 6은 다수의 바운딩 박스들과 원본 이미지를 격자들로 분리하는 것을 이용하여 손가락 끝의 식별을 허용하기 위해 도 4 및 도 5에서 설명되는 개념들을 확장하는 추가적인 실시예를 도시한다. 이는 ROI를 찾기 위해 뉴럴 네트워크에 의해 처리되어야 하는 이미지의 크기를 감소시키도록 허용할 수 있어, 컴퓨터 자원들 및 뉴럴 네트워크의 처리 전력을 아낄 수 있다.
이하에서 설명되는 단계들은 바람직하게는 인코더 및 디코더에 의해 뉴럴 네트워크에서 원본 이미지를 처리하기 전에 수행될 수 있다는 점을 유의한다.
도 6에서 설명되는 실시예는 이미 설명된 뉴럴 네트워크를 이용하여 구현될 수 있고 또는 이것은 다른 뉴럴 네트워크를 이용하여 구현될 수 있다. 어느 경우든, 사용되는 뉴럴 네트워크는 ROI를 가지는 관심 객체를 포함하는 특정 형태를 가지는 영역을 식별할 수 있도록 훈련된다. 그러나, 각각의 뉴럴 네트워크는 이미지의 남은 부분으로부터 정확한 ROI를 분리할 수 있을 필요는 없다. 따라서, ROI를 정확하게 식별하는데 사용되는 뉴럴 네트워크로서 이 점에서 이것은 덜 강력하다. 이는 도 6에서 사용되는 뉴럴 네트워크에 대해, 다른 영역들로부터 분리될 영역의 형태(예를 들어, 직사각형)가 이미 정해져 있기 때문이다. 따라서, 뉴럴 네트워크는 이 영역을 적절하게 놓고(position) 크기를 조절(scale)할 수는 있지만, 완전하게 알려지지 않은 형태인 ROI를 반드시 식별할 수 있는 것은 아니다.
도 6의 실시예에 따르면, 수신되는 입력은 원본 이미지일 수 있다고 가정될 것이다. 그러나, 몇몇 전처리(예를 들어, 색상 분리 등)가 이미 이루어졌을 수 있다. 오직 “이미지”에 대해서만 설명하였으나, 이미지 대신에 앞서 설명된 전처리된 이미지들 중 하나가 사용될 수 있음이 명백하다.
첫번째 단계로, 수신된 이미지(600)가 복수의 그리드 셀들(610, 611, 및 613)로 분할된다. 각각의 방향으로 그리드 셀들의 개수는 제한되지 않으나, 바람직한 실시예들에서, 이미지(600)는 수평 방향으로 13개의 그리드 셀들로 분할되고 그리고 수직 방향으로 13개의 그리드 셀들로 분할되어 일반적인 Q x R 그리드 대신 13 x 13 그리드가 생성된다. ROI가 추출되는 객체에 따라, 더 적거나 많은 그리드 셀들이 사용될 수 있다. 어느 경우든, 본 발명은 특정한 개수의 그리드 셀들을 선택하는 것에 한정되지 않는다.
다음 단계에서, 각각의 그리드 셀의 중앙 지점(630)이 임의의 다른 그리드 셀들에 떨어져 있는 각각의 그리드 셀들에 대한 좌표계의 원점을 설정하기 위해 식별되고 사용된다. 이러한 중심(630) 주변에, 통상적으로 직사각형 형태를 가질 적어도 하나의 바운딩 박스(631 및 632)가 배치되고 여기서 이들은 그리드 셀(613)에서 도시되는 바와 같이 초기 높이 h0 및 너비 또는 폭 b0를 가진다. 각각의 그리드 셀에서 복수의 바운딩 박스들에 대해, 이러한 값들은 서로 다를 수 있다. 예를 들어, 초기 값들 h0 및 h0는 그리드 셀마다 최소값으로 취해질 수 있고 그리고 이러한 값들은 각각의 그리드 셀에서 다른 바운딩 박스들의 치수(dimension)들을 계산하기 위해 계수 1.5 또는 2, 또는 임의의 다른 값들만큼 증가할 수 있다.
각각의 그리드 셀의 좌표계에서 바운딩 박스(예를 들어 바운딩 박스(631))의 위치는 각각의 그리드 셀에서 중앙 지점(630), 즉 각각의 좌표계의 원점에 대한 바운딩 박스(631)의 중앙 지점의 위치에 의해 표현될 수 있다. 따라서, 그리드 셀(611)에서 각각의 바운딩 박스의 위치는 2개의 좌표들 x 및 y에 의해 표현될 수 있다. 바운딩 박스의 너비 및 높이는 0 보다 큰 두개의 값들에 의해 표현될 수 있는 바운딩 박스의 기하학적 특성들을 표현하는 것으로 간주된다.
이러한 바운딩 박스들은 이후에 ROI의 위치를 식별하거나 처리를 위해 각각의 뉴럴 네트워크로 원본 이미지의 대응하는 부분을 제공하는데 사용될 것이기 때문에, ROI를 지닌 것으로 가정되는 각각의 객체를 포함하는 바운딩 박스의 확률인 제 5 값을 관련된 이러한 바운딩 박스들의 각각에 대하여 연관시키는 것도 적합하다.
따라서, 각각의 바운딩 박스는
형태로 5차원 벡터로 표현될 수 있다.
이것은 그리드 셀들이 이들 각각의 바운딩 박스들과 함께 Q x R x B x A 차원들을 가지는 텐서 T의 형태로 표현될 수 있다는 것을 의미하고, 여기서 A는 그리드 셀 당 바운딩 박스들의 개수이다. 손가락 끝들을 식별하는데 가장 바람직한 경우로, Q = R = 13, B = 5 (벡터 b의 차원)이고 A는 3 내지 10 사이, 가장 바람직하게는 5인 정수로 설정될 수 있다.
위에서 설명된 바와 같이, 뉴럴 네트워크는 특정 객체, 바람직하게는 손가락 끝을 식별하는데 이미 훈련된 것으로 가정된다. 이것은 손가락 끝을 나타낼 가능성이 가장 높은 픽셀들의 특정 패턴을 식별할 수 있다는 것을 포함한다. 이것은 컬러 값들 또는 이러한 지점들의 밝기와 같은 다른 특성의 특정한 패턴들을 지칭할 수 있다. 그러나, 이미지(600)는 뉴럴 네트워크를 트레이닝 하는데 사용되었던 손가락 끝과 일치하지 않는 크기 및 배열인 생체 특성을 가지는 손가락 끝 또는 다른 객체를 임의로 표시할 수 있다는 것이 명확하다.
그러나, 바운딩 박스들 및 그리드의 도움으로, 뉴럴 네트워크가 손가락을 포함할 확률이 가장 높은 특정한 바운딩 박스를 식별하는 것이 가능하다. 이러한 특정한 바운딩 박스를 식별하기 위해, 뉴럴 네트워크(또는 이미지(600)를 처리하는 연관된 컴포넌트)는 각각의 그리드 셀의 각각의 바운딩 박스 내에 픽셀들의 값들을 뉴럴 네트워크에 의해 이전에 학습되었던 손가락 끝에 대응하는 픽셀들의 패턴과 비교한다. 이러한 첫번째 단계에서, 완벽한 일치가 발견될 확률은 거의 없지만 다른 바운딩 박스들 보다 손가락 끝의 적어도 일부분을 포함할 가능성이 이미 더 높은 바운딩 박스들이 존재할 수 있을 것이다.
도 6에서 도시되는 경우에서, 예를 들어, 그리드 셀 613에서 지점 M을 중심을 둔 바운딩 박스(641)는 손(650)의 손가락 끝의 일부를 포함한다. 이와 대조적으로, 그리드 셀들(610 및 611)은 손가락의 일부분을 포함하는 바운딩 박스를 포함하지 않는다. 본 방법이 바운딩 박스(641) 및 잠재적으로 바운딩 박스(640)의 내부에 픽셀 값들을 계속해서 평가하는 경우에, 본 처리는 바운딩 박스(641)가 바운딩 박스(640) 보다 손가락 끝에 대응하는 패턴을 더 많이 포함한다고 결정할 수 있다.
이를 고려하면, 본 방법은 바운딩 박스들(631 및 632)(그리고 잠재적으로 다른 그리드 셀들에서 다른 바운딩 박스들)은 손가락을 포함하지 않고 결정할 수 있고 그리고 대응하는 B-백터에서 이들의 확률 값들을 0으로 설정할 수 있다.
지점 M을 중심으로 둔 바운딩 박스들(640 및 641) 둘 다가 손가락 끝의 적어도 일부를 포함하므로, 이들은 실제로 손가락 끝을 포함할 가능성이 있는 것으로 간주될 수 있고 그리고 확률 값은 첫번째 단계에서 0 보다 클 것이다.
보다 작은 그리드 셀(640)은 손가락 끝에 대응할 수 있는 패턴으로 거의 완벽하게 채워지는 반면에, 보다 큰 바운딩 박스(641)의 좌측 경계만이 손가락 끝에 대응하는 패턴을 포함하는 것으로 이 프로세스에 의해 간주될 수 있다.
이와 함께, 본 방법은 손가락 끝에 실제로 대응하는 학습으로부터 획득되는 패턴과 바운딩 박스들(641 및 640) 각각 내에서 식별되는 패턴 사이의 차이를 결정하는 손실 함수(loss function)을 계속하여 계산할 수 있다.
다음 단계에서, 본 방법은 각각의 바운딩 박스들의 위치 및 크기를 수정함으로써 이러한 차이를 최소화하려고 시도할 것이다. 이와 관련하여, 더 큰 바운딩 박스(641)가 시작 지점으로 사용되고 그 위치 및 형태들이 수정되거나 또는 보다 작은 바운딩 박스(640)가 시작 지점으로 사용되고 그 위치 및 크기가 수정되어 학습된 패턴으로 차이들을 최소화하는 것이 구상될 수 있다.
이러한 최소화하는 프로세스는 먼저 각각의 그리드 셀의 중앙 지점 M 주위에 도시되는 바와 같이 먼저 x 축을 따라 수직 방향으로 조금 이동시킨 다음 y 축을 따라 이동시킴으로써 바운딩 박스(다음으로, 바운딩 박스(641)가 추가적인 계산들에 사용된다고 가정될 것임)의 위치를 수정하는 단계를 포함할 수 있다. 이 움직임은 양 또는 음의 x축 및 y축을 따라 이루어지고 그리고 각각의 위치에서 학습으로부터 획득된 패턴과 이미지에서 식별되는 실제 패턴 사이의 차이 함수를 결정하기 위해 비교가 이루어질 것이다. 이것은 좌표들에 따라 를 나타내는 2차원 함수를 계산하는 것을 허용한다.
이에 기초하여, 학습된 패턴과의 일치를 증가시키고 바람직하게는 최대화(함수 의 값을 최대화는 것에 대응하는)하기 위해 좌표계에서 어느 방향으로 바운딩 박스가 이동되어야 하는지 결정하도록 허용하는 그래디언트 가 계산될 수 있다. 이것은 인 경우일 것이다.
이것은 바운딩 박스가 함수 가 최소값을 가지는 새로운 중앙 지점 M'로 방향 r을 따라 이동하게 한다. 다음 단계에서, 하나 이상의 방향(높이 및/또는 너비)으로 크기를 증가 또는 감소시키는 것이 높이 h 및 너비 b에 따라 로 표시될 수 있는 원래 패턴과 비교하여 추가적인 차이 함수의 값들을 변화시키는지 여부를 결정하기 위해 위치 M'에서 각각의 바운딩 박스의 크기가 증가 또는 감소될 수 있다. 이 함수는 위치 M'를 가지고 높이 hf를 가지고 너비 bf를 가지는 특정한 바운딩 박스에 대해 학습된 패턴과의 차이가 최소화되도록 최소화된다.
그리고 이 바운딩 박스는 생체 특성을 지닌 각각의 손가락 끝 또는 객체를 포함하는 이미지(600)의 이러한 부분들을 식별하는 것에 대한 최대 확률 값 p를 가지는 최종 바운딩 박스로 사용될 것이다. 그리고 이 바운딩 박스에 대한 출력 벡터는 다음과 같은 형태를 가진다.
이러한 처리 결과, 그리드 셀 각각의 바운딩 박스 각각에 대해, 손가락 끝을 식별하거나 또는 포함하는 각각의 바운딩 박스 및 그 확률 값의 너비 및 높이 뿐만 아니라 그리드 셀의 중앙에 대한 x 및 y 위치가 주어지는 차원 Q x R x B x A를 가지는 텐서 T가 출력될 수 있다.
인접한 그리드 셀의 바운딩 박스들의 움직임이 동일한 방향으로 이동되게 하여 이들이 서로 중첩되는 것을 방지하고 그리고 상이한 그리드 셀들의 바운딩 박스들이 다른 그리드 셀들로 이동하는 것을 방지하기 위해, 본 방법은 바운딩 박스의 바운딩 박스의 중앙의 이동이 그 원래의 그리드 셀 내에서 가능하게만 하도록 제공될 수 있다.
이것은 텐서가 하나 이상의 이러한 벡터들이 손가락 팁을 식별하는 것에 대해 높은 확률 값을 가지는 반면에 다른 것들은 낮은 확률 값을 가지도록 할 것이다. 낮은 확률 값을 가지는 것들은 모든 이들의 대응하는 값들을 0으로 설정함으로써 완전히 무시되도록 할 수 있어 텐서를 처리하는데 필요한 처리 노력을 줄일 수 있게 한다.
그리고 가장 높은 확률 값을 가지는 벡터 B는 인코더 및 디코더를 이용하는 뉴럴 네트워크에 의해 이미지를 추가적으로 처리하는 것을 허용하기 위해 사용될 것이다. 이상의 접근법은 지문과 같은 생체 특성을 지는 객체를 포함하는 이미지의 일부를 더 처리하는데 사용될 바운딩 박스를 적절히 식별하도록 허용할 것이나, 버려져야 하는 바운딩 박스들에 관한 추가적인 설명이 주어질 것이다.
위에서 설명된 바와 같이 바운딩 박스의 벡터 b는 각각의 바운딩 박스가 손가락 끝을 포함하거나 또는 표현하는 확률을 나타내는 확률 값 p를 포함한다. 이것은 가장 높은 확률 값 p를 가지는 이러한 벡터들 b로 시작하여 내림차순으로 모든 바운딩 박스들(또는 각각 이러한 벡터들)을 정렬하는데 사용될 수 있다.
이렇게 함으로써, 가장 높은 p 값을 가지는 바운딩 박스로 시작하여 내림차순으로 목록이 탐색될 수 있다. 이러한 탐색은 목록으로부터 값 p를 가지는 특정한 바운딩 박스를 선택하는 단계 및 이러한 특정 바운딩 박스에 대하여 모든 나머지 바운딩 박스들과의 교차량(amount of intersection)을 계산하는 단계를 포함할 수 있다. 이것은 선택되는 특정한 바운딩 박스의 영역이 나머지 바운딩 박스들의 영역과 비교되고 이들이 공통적으로 가지는 모든 면적들(any areas)이 계산된 교차(intersection)에 기여함을 의미한다.
교차량은 선택된 바운딩 박스의 영역에 대한 비율로 계산될 수 있다. 따라서, 0(교차 없음)에서 1(바운딩 박스의 나머지 부분이 선택된 바운딩 박스의 영역과 완전히 교차하거나 또는 덮는 것으로 고려됨)의 범위로 각각 계산되는 교차에 대해 차원이 없는 값이 획득된다.
다음 단계에서, 미리 설정된 임계치가 바운딩 박스들을 무시 또는 버리거나 이들을 분류하는데 사용될 수 있다. 위의 예시에서, 임계치는 0.75의 계산된 교차 값일 수 있다. 임계치를 초과하는 선택되는 바운딩 박스와 바운딩 박스의 나머지 부분의 모든 계산되는 쌍에 대해, 보다 낮은 값 p를 가지는 바운딩 박스는 위에서 언급되는 목록으로부터 분류 또는 무시될 수 있다.
이것은 최종적으로 ROI를 포함하는 이미지의 부분을 나타낼 오직 하나의 바운딩 박스만이 남도록 할 것이다. 물론 이것은 본 발명이 사용자를 식별하기 위해 예를 들어 하나 이상의 손가락 및 이의 ROI를 이용하는 것을 포함하므로 단일한 바운딩 박스에 한정되지 않는다.
도 7에서, 뉴럴 네트워크가 디코더의 커널 의 값들 뿐만 아니라 도 4와 관련하여 설명된 인코더의 가중치 및 커널 k의 가중치들이 뉴럴 네트워크에 의해 학습되도록 어떻게 뉴럴 네트워크가 적절하게 훈련될 수 있는지에 대하여 설명될 것이다.
이하에서, 인코더 및 디코더를 포함하는 뉴럴 네트워크를 훈련하는 것에 대해 설명될 것이고, 본 방법은 도 6에서 설명되는 바운딩 박스들을 계산하는 뉴럴 네트워크(일부)를 훈련시키는데 적용될 수도 있다.
이것은 기본적으로 단지 입력 데이터를 미리 설정된 ROI들로부터 미리 설정된 바운딩 박스들 및 대응하는 값들로 변경하는 것과 바운딩 박스들 및 대응하는 값들(특히 텐서 T를 정의하는 것들)을 바운딩 박스들을 계산하는 것을 담당하는 각각의 뉴럴 네트워크로 제공하는 것을 포함한다.
도 7의 방법은 학습 데이터(701) 및 ROI들의 제공으로 시작한다. 학습 데이터는 예를 들어 도 1과 관련하여 설명되는 이미지들과 같이 다른 객체들과 함께 하나의 이미지에서 묘사되는 복수의 손가락들 또는 손가락 끝들에 대한 복수의 이미지들로 구성될 수 있다. 이미지들은 동일한 이미지로부터 회전되고, 강조되고(highlighted), 어둡게 되는 것을 이용하여 증가될 수 있다. 확대되거나 또는 다른 방식으로 수정된 사본들이 학습 데이터로 도입될 수 있다. 항목 708에 따라 제공되는 ROI들은 이러한 ROI들이 식별되어야 하는 객체와 정확하게 연관된 ROI들로, 즉 이들이 인코더 및 디코더에 의해 적절하게 처리되었다면 이들이 가지게 되었을 정확한 크기 및 정확한 위치를 가지는 학습 데이터에서 이들 각각의 이미지에 대응하는 ROI들이다. 이러한 ROI들은 학습 데이터에서 각각의 그리고 모든 이미지에 대해 제공된다. 이들은 학습 이미지들을 수동적으로 처리함으로써 획득될 수 있다. 학습 이미지들의 양이 위에서 언급되는 수정되는 사본들을 제공함으로써 인공적으로 증가될 수 있기 때문에, 학습을 위해 ROI들을 정의하도록 수동적으로 처리해야할 이미지들의 개수는 줄어들 수 있다.
다음 단계에서, 하나의 특정한 입력 이미지(702)가 뉴럴 네트워크에 더하여, 옵티마이저(707) 및 손실 함수 계산기(706)가 제공되는 학습 환경에서 뉴럴 네트워크로 제공된다.
입력 이미지는 첫번째 라운드(first round)에서 도 4에서 설명되는 바와 같은 인코더(703) 및 도 5에서 설명되는 바와 같은 디코더(704)를 이용하여 처리된다. 이것은 도 7에서 도시되는 단계 또는 섹션들(703 및 704)이 섹션(703)에서 포인트별 컨볼루션 레이어에 대한 대응하는 가중치들 및 포인트별 컨볼루션 레이어의 커널 K를 이용하고 그리고 섹션(704)에서 각각의 커널 를 이용하여 도 4 및 도 5와 관련하여 설명되는 바와 같이 진행되는 것을 의미한다. 항목 403 및 404의 정류 선형 유닛들 뿐만 아니라 제 1 및 제 2 배치 노멀라이저들이 도 4에 관련하여 위에서 설명된 바와 같은 방식으로 동작한다. 이들이 학습 가능한 파라미터들을 포함하지 않으므로, 이들은 이하에서 더 상세하게 설명되지 않은 것이다.
결과적으로, 도 7에 따라, 출력은 ROI를 포함하는 제 1 텐서 인코딩된 출력 이미지(705)일 것이다. 그리고 이 결과는 손실 함수로 제공될 것이고 여기서 이것은 결과(705)와 708로부터 획득되는 정확한 ROI 사이의 차이들을 식별하기 위해 미리 설정된 ROI들과 비교될 것이다. 그리고 손실 함수(706)에 의해 획득되는 이러한 차이는 차례로, 각각의 포인트별 컨볼루션 레이어 및 각각의 깊이별 컨볼루션 레이어의 가중치들, 즉 및 인코더에 대한 커널 K 에서의 엔트리들 및 디코더의 레이어들의 커널 에서의 대응하는 엔트리들을 수정하게 되는 옵티마이저(707)에 제공된다. 이것은 한 번에 모든 레이어들에 대해 또는 개별적으로 각각의 레이어에 대해, 포인트별 컨볼루션 레이어의 가중치 및 깊이별 컨볼루션 레이어의 커널 K에서의 엔트리들 및 커널 가 조작됨을 의미한다.
이러한 새로운 값들을 이용하여, 매우 동일한 이미지에 대해 주기가 반복되고 그리고 결과적인 ROI가 손실 함수에 제공되고 정확한 ROI와 비교되어, 그 결과가 다시 한번 가중치들을 수정하는 옵티마이저(707)에 제공된다. 이 절차는 결과적인 디코딩된 출력 이미지와 항목 708의 사전 정의된 ROI와 비교되는 구체적으로 식별된 ROI 사이의 차이점이 의도되는 식별 정확도에 실질적으로 대응하는 주어진 임계치를 초과하는 한 수행된다.
이후에, 다음 입력 이미지(702)가 학습 데이터(701)로부터 취해지고 대응하는 ROI들이 손실 함수에 제공된다. 그리고, 설명된 프로세스가 새로운 이미지에 대해 다시 반복되고 인코더 및 디코더 및 이들의 컴포넌트들에 대해 최적의 가중치들이 획득된다. 이것은 구체적인 가중치들의 조합이 모든 입력 이미지들에 대해 적절한 식별 정확도를 얻을 때까지 반복된다. 이렇게 획득되는 가중치들의 조합은 최종 가중치들(710)로 출력된다.
이러한 최종 가중치들은 도 6에서 설명되는 바와 같이 ROI를 포함하는 이미지의 부분들 또는 바운딩 박스를 식별하는 뉴럴 네트워크의 어플리케이션에서, 적용 가능한 경우에, 바운딩 박스들을 식별하는 뉴럴 네트워크의 대응하는 학습 이후에 인코더 및 디코더의 설명에 따른 모바일 디바이스 상에 본 발명의 방법을 실행하는 어플리케이션으로 도입된다.
따라서, 본 발명의 개념에서, 모바일 디바이스에 제공되는 뉴럴 네트워크는 ROI들의 식별에 이미 완전히 적응되고 따라서 어떠한 추가적인 학습이 필요 없이 사용될 수 있어 모바일 디바이스들에서 필요한 컴퓨터 자원들을 더 줄일 수 있다.
전체적으로, 인코더 및 디코더를 포함하는 뉴럴 네트워크를 사용함으로써 그리고 선택적으로 원본 이미지를 그리드 셀들로 분할하는 것을 이용하고 도 6에서 설명에 따라 대응하는 바운딩 박스들을 식별함으로써, 크기가 작은 어플리케이션이 제공될 수 있어, 인터넷 등과 같이 추가적인 데이터 소스들에 대한 어떠한 접속 없이 독립적으로 모바일 디바이스 상에서 활용될 수 있도록 허용한다. 이것은 무선 네트워크 등에 대한 접속이 가능하지 않는 환경들에서의 어플리케이션에 적합하게 한다. 추가적으로, 이러한 어플리케이션을 실행하는데 필요한 프로세서 전력이 예를 들어 이전에 설명된 바와 같이, 손가락 끝들과 연관된 지문들에 의해 이후이 사용자를 식별하는데 사용될 수 있는 ROI들의 적합한 식별 결과들을 여전히 산출하면서 최소한으로 감소된다.
위의 설명들은 지문들을 지닌 손가락들의 측면을 보여주는 손가락들 또는 손의 이미지들에 중점을 두었다. 그러나, 사용자는 광학 센서에 다른 측면(즉, 손등)에서의 하나 이상의 손가락들을 실수로 또는 의도적으로 제시할 수 있다. 이러한 손가락 이미지로부터, 지문들이 보이지 않기 때문에 지문들이 추출될 수 없다. 물론, 설명되는 바와 같은 다른 객체들에 대해서도 마찬가지이다. 예를 들어, 손바닥 대신, 사용자가 그의 손들을 보여줄 수 있다.
지문 뿐만 아니라 손톱이나 손가락 마디들을 보여주는 손가락 끝의 이미지로부터 지문을 지닌 손가락 끝의 이미지를 구별하기 위해, 식별 정확도를 증가시키기 위해 위에서 설명된 방법들을 확장할 수 있는 이하의 절차가 사용될 수 있다. 이것은 물론 다른 객체들에 대해 적용될 수도 있다.
위의 예시들에서, 바운딩 박스는 다음과 같은 벡터
로 특성화될 수 있고 그리고 지문들을 지닌 손가락 끝들의 측면을 보여주는 손가락들의 이미지들만을 이용하여 학습이 수행되었다.
이미지들이 손가락 끝들의 양 측면들로부터 촬영되도록 허용하는 경우에, 이미지들에서 식별되는 객체들의 두 클래스, 즉 지문들을 보여주는 손가락 끝들을 구성하는 객체들 및 손톱들이나 손가락 마디들을 구성하는 객체들을 고려하는 것이 유리하다.
이 경우에, 위에서 언급된 벡터는 다음과 같이 하나의 차원 c에 의해 확장될 수 있고,
여기서 c는 소위 클래스를 나타낸다. 제 1 클래스는 양의 식별(지문을 가지는 손가락 끝이 식별될 수 있음)을 나타내고 그리고 제 2 클래스는 음의 식별(손가락 끝이 손톱 또는 손가락 마디를 지님)을 나타낼 수 있다. 클래스는 값들, 예를 들어 양의 식별에 대한 1 및 음의 식별에 대한 0으로 표현될 수 있다. 벡터 b에서 나머지 값들과 달리, 클래스는 이산 값이며 그리고 클래스들의 개수에 대응하는 제한된 수의 상이한 값들만을 취할 수 있다는 것이 명백하다.
그리고 위에서 언급되는 학습은 뉴럴 네트워크가 제 1 또는 제 2 클래스에 속하는 이미지들 사이를 구별할 수 있도록 양 및 음의 식별들(바운딩 박스들(708) 및 지문들을 지닌 손가락 끝들을 가지는 이미지를 보여주는 학습 데이터 대신)을 제공받는 방식으로 수행될 수 있다. 이와 관련하여, 누구든 지문이 보이지 않는 복수의 손가락들의 이미지들을 상상할 수 있다. 모든 이러한 “객체들”은 2번째 클래스로 분류되어 뉴럴 네트워크가 손가락 끝들의 “어떤 다른” 이미지들로부터 지문들을 지닌 손가락 끝들의 이미지들을 구별하도록 학습되게 한다. 학습을 위해 제공되는 바운딩 박스들은 물론 네트워크를 적절하게 학습시키도록 허용하도록 정확한 클래스 c를 또한 포함할 것이다.
이미지에서 ROI들을 포함하는 모든 영역들을 식별하기 위해, 위에서 설명되는 처리는 객체의 위치를 나타내고 제 2 클래스에 속하는 것으로 고려되는 모든 바운딩 박스들을 무시하여, 생체 특성을 보여주지 않는 객체들의 이미지들 또는 이미지의 부분들을 추가적으로 처리하는 것을 방지한다.
바운딩 박스들의 계산이 인코더 및 디코더에 의해 ROI를 결정하는 것에 비해 더 용이하기 때문에 ROI를 포함하는 바운딩 박스들을 획득하기 위해 이미지를 선택적으로 처리하는 것에 대한 이러한 교시를 적용하는 것이 가장 바람직하다. 그러나, 인코더 및 디코더에 의해 이미지를 처리하는 단계가 이들이 학습된 이후에 ROI를 전혀 포함하지 않는 인코딩된 출력 이미지를 결과로 하므로 본 접근법은 인코더 및 디코더를 포함하는 뉴럴 네트워크에 마찬가지로 적응될 수 있다. 이것은 생체 특성이 추출될 수 있는 방식으로 이미지가 객체를 보여주지 않도록 구성하는데 사용될 수 있다.
본 발명의 방법이 수행될 수 있는 맥락을 제공하기 위해, 도 8은 본 발명의 일 실시예에 따른 스마트 폰의 형태인 모바일 디바이스를 도시한다.
모바일 디바이스(800)는 현재 알려진 바와 같은 스마트폰으로 구현된다. 이것은 바람직하게는 디스플레이(830)가 제공되는 모바일 디바이스(800)의 일면에 반대인(opposite) 카메라의 후면(backside) 상에 광학 센서(820)를 포함한다. 카메라는 1MP, 2MP 또는 그 이상의 해상도를 가지는 카메라, 예를 들어 HD 카메라일 수 있다. 이것은 손전등과 함께 제공될 수 있지만 필수는 아니다. 이것은 또한 감소된 해상도로 실시간 이미지들을 촬영하도록 적응될 수 있고, 카메라가 작동되면, 디스플레이(830)는 카메라가 실제로 "보는" 것의 표현(representation)을 나타낼 수도 있다.
본 발명의 일 실시예에서, 본 발명의 방법이 촬영된 이미지에 대해 실행되면, 손의 손가락 끝들을 식별하는 바운딩 박스들이 디스플레이(830) 상에 디스플레이되는 손의 이미지 위에 증강(augment)된다. 위에서 추가로 설명된 바와 같이, 식별된 바운딩 박스들은 디스플레이될 필요는 없지만, 예를 들어 ROI들이 추출될 수 있도록 손가락 끝들에 대응하는 이미지의 부분들을 처리하기 위해 모바일 디바이스의 내부적으로 추가로 처리될 수도 있다.

Claims (20)

  1. 사용자의 손가락 끝(fingerprint)의 지문들의 세트 또는 지문과 같은 생체 특성(biometric characteristic)을 가지는 상기 사용자의 객체의 이미지를 이용하여 상기 사용자를 식별하기 위한 방법으로서,
    모바일 디바이스(mobile device)의 광학 센서(optical sensor)에 의해 상기 객체의 상기 이미지를 획득하는 단계;
    뉴럴 네트워크에 상기 이미지 또는 상기 이미지의 일부(part)를 제공하는 단계;
    상기 뉴럴 네트워크에 의해 관심 영역(region of interest, ROI)을 포함하는 상기 이미지의 일부 또는 상기 이미지의 부분(portion)을 상기 이미지의 다른 부분으로부터 구별하는 단계를 포함하는 상기 뉴럴 네트워크에 의해 상기 이미지 또는 상기 이미지의 부분을 처리하는 단계;
    상기 이미지 또는 상기 이미지의 일부로부터 상기 ROI를 추출하는 단계;
    저장 디바이스에 상기 ROI를 포함하는 부분을 저장하는 단계 또는 상기 ROI의 생체 특성을 추출하고 그리고 상기 추출된 생체 특성이 상기 사용자를 식별하는지 여부를 결정하기 위해 상기 추출된 생체 특성을 처리하는 것을 포함하는 식별 수단에 입력으로 상기 ROI를 포함하는 부분을 입력으로 제공하는 단계;
    를 포함하는,
    방법.
  2. 제 1 항에 있어서,
    상기 객체는 적어도 하나의 손가락 끝(fingertip)이고 그리고 상기 생체 특성은 상기 손가락 끝의 지문이고 그리고 상기 식별 수단에 의해 입력을 처리하는 단계는 생체 특징(biometric feature)을 상기 지문으로부터 추출하는 단계, 및 저장 디바이스에 저장된 생체 특징과 상기 추출된 생체 특징을 비교하는 단계를 포함하고, 상기 추출된 생체 특징과 상기 저장된 생체 특징 사이에 차이가 임계치 미만인 경우, 상기 식별 수단은 상기 사용자가 상기 지문에 의해 식별된다고 결정하고, 상기 생체 특징과 상기 저장된 생체 특징 사이의 차이에 임계치 이상인 경우에, 상기 식별 수단은 상기 사용자가 상기 지문에 의해 식별되지 않다고 결정하는,
    방법.
  3. 제 2 항에 있어서,
    상기 이미지는 하나 이상의 손가락 끝을 포함하고 그리고 상기 방법은 상기 이미지에서 각각의 손가락 끝에 대응하는 상기 이미지의 부분들을 추출하는 단계 및 상기 식별 수단에 의한 상기 사용자의 식별을 위해 각각의 손가락 끝의 상기 지문을 이용하는 단계를 포함하는,
    방법.
  4. 제 3 항에 있어서,
    상기 식별 수단은 상기 이미지에서 모든 손가락 끝들의 상기 지문들의 조합된 식별 정확도가 주어진 임계치 이상인지 여부를 결정함으로써 상기 손가락 끝들의 상기 지문들에 의해 사용자가 식별되는지 결정하고, 또는 상기 식별 수단은 각각의 손가락 끝에 대하여 상기 손가락 끝의 상기 지문의 생체 특징과 상기 손가락 끝의 상기 지문의 저장된 생체 특징 사이에 차이가 임계치 미만인지 결정하고 그리고 모든 결정된 차이들이 대응하는 임계치 미만인 경우에만 상기 사용자가 상기 손가락 끝들의 상기 지문들에 의해 식별된다고 결정함으로써 상기 사용자가 상기 손가락 끝들의 상기 지문들에 의해 식별된다고 결정하는,
    방법.
  5. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 이미지는 상기 모바일 디바이스의 광학 센서인 카메라에 의해 획득되는,
    방법.
  6. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 뉴럴 네트워크에 의해 상기 이미지 또는 상기 이미지의 일부를 처리하는 단계는 인코딩된 이미지(encoded image)를 획득하기 위해 인코더(encoder)에 의해 상기 이미지를 처리한 다음 디코딩된(decoded) 출력 이미지를 획득하기 위해 디코더(decoder)에 의해 상기 인코딩된 이미지를 처리하는 단계를 포함하는,
    방법.
  7. 제 6 항에 있어서,
    처리를 위해 상기 뉴럴 네트워크에 제공되는 상기 이미지 또는 상기 이미지의 일부는 픽셀들을 포함하고 그리고 상기 인코딩된 이미지는 픽셀들을 포함하고, , 이고 그리고 상기 디코딩된 출력 이미지는 픽셀들을 포함하는,
    방법.
  8. 제 6 항에 있어서,
    상기 이미지 또는 상기 이미지의 일부를 구별하는 단계는 상기 디코딩된 출력 이미지의 일 부분을 상기 디코딩된 출력 이미지의 다른 부분과 구별하는 단계를 포함하는,
    방법.
  9. 제 8 항에 있어서,
    상기 생체 특성을 포함하는 부분을 추출하는 단계는 상기 구별되는 부분에 있는 상기 디코딩된 출력 이미지에서의 픽셀을 식별한 다음 상기 이미지 또는 상기 이미지의 일부에서 대응하는 픽셀들을 가지는 상기 구별되는 부분에 있는 상기 디코딩된 출력 이미지에서의 픽셀들을 식별하는 단계, 상기 이미지 또는 상기 이미지의 일부로부터 상기 대응하는 픽셀들을 추출하는 단계를 포함하고, 상기 추출된 대응하는 픽셀들은 상기 생체 특성을 포함하는 상기 이미지의 일부 또는 상기 이미지의 부분을 구성하는,
    방법.
  10. 제 8 항에 있어서,
    상기 디코딩된 이미지에서, 각각의 픽셀은 인 값을 가지고 그리고 상기 디코딩된 이미지의 일부를 구별하기 전에, 활성화 함수 가 상기 디코딩된 이미지 내의 각각의 픽셀에 적용되고 그리고 정규화된 값 이 상기 디코딩된 이미지 내의 각각의 픽셀과 연관되고, 상기 구별하는 단계는 상기 정규화된 값을 가지는 픽셀들 상에 수행되는,
    방법.
  11. 제 6 항에 있어서,
    상기 뉴럴 네트워크는 인코더 레이어들의 세트 및 디코더 레이어들의 세트를 포함하고, 인코딩된 이미지를 획득하기 위해 상기 인코더에 의해 상기 이미지 또는 이미지의 일부를 처리하는 단계는 상기 인코더의 제 1 레이어에 의해, 제 1 중간 인코딩된 출력을 생성하기 위해 상기 입력을 처리하는 단계 및 상기 인코더의 각각의 후속 레이어에 의해, 이전 레이어의 인코딩된 출력을 처리하는 단계를 포함하고, 각각의 인코더 레이어는 레이어 내에서 상기 입력을 처리하는 순서대로 깊이별 컨볼루션(depthwise convolutional layer), 제 1 배치 노멀라이저(first batch normalizer), 제 1 정류 선형 유닛(first rectified linear unit), 포인트별 컨볼루션 레이어(pointwise convolutional layer), 제 2 배치 노멀라이저(second batch normalizer), 및 제 2 정류 선형 유닛(second rectified linear unit)을 포함하는 깊이별 가분 컨볼루션(depthwise separable convolution)를 포함하고;
    복수의 레이어들을 이용하여 상기 입력을 처리함으로써, 상기 인코더는 상기 인코딩된 이미지를 획득하고;
    상기 인코딩된 이미지는 상기 디코더에 제공되고 그리고 디코딩된 출력 이미지를 획득하기 위해 상기 디코더에 의해 상기 인코딩된 이미지를 처리하는 단계는 상기 디코더의 제 1 레이어에 의해 제 1 중간 디코딩된 출력을 생성하기 위해 상기 입력을 처리하는 단계 및 상기 디코더의 각각의 후속 레이어에 의해 이전 레이어의 상기 디코딩된 출력을 처리하는 단계를 포함하고, 각각의 디코더 레이어는 디컨볼루션 레이어(deconvolutional layer) 또는 바이리니어 업샘플링 레이어(bilinear upsampling layer) 중 적어도 하나를 포함하고;
    상기 복수의 레이어들을 이용하여 입력된 인코딩된 이미지를 처리함으로써, 상기 디코더는 상기 디코딩된 출력 이미지를 획득하는,
    방법.
  12. 제 11 항에 있어서,
    상기 뉴럴 네트워크에 의해 상기 이미지를 처리하는 단계는 상기 이미지 또는 상기 이미지의 일부로부터, 상기 이미지 또는 상기 이미지의 일부 내에 각각의 픽셀에 대해 컬러 값을 나타내는 적어도 하나의 행렬 I를 생성하는 단계 및 상기 뉴럴 네트워크에 대한 입력으로 상기 행렬을 제공하는 단계를 포함하고, 상기 이미지 또는 상기 이미지의 일부는 N x M 픽셀들을 포함하고 그리고 상기 행렬 I는 N x M 값들을 포함하는 행렬이고, 행렬 I의 엔트리들은 로 주어지고, i 및 j는 정수이고 그리고 i = 1 ... N이고 j = 1 ... M인,
    방법.
  13. 제 12 항에 있어서,
    상기 인코더의 각각의 깊이별 컨볼루션 레이어는 사전 결정된 커널 K를 입력으로 수신되는 i = 1 ... 이고 j = 1 ... 이고 인 엔트리들 를 가지는 행렬 A에 적용하고, 커널 K는 엔트리들 를 포함하는 S, T < N; S, T < M인 S x T 크기의 행렬이고, 커널을 매트릭스에 적용하는 단계는 행렬 Z의 크기 의 각각의 감소된 행렬 R과의 행렬 K의 내적을 계산하는 단계를 포함하고, 상기 행렬 R은 상기 커널 K와 동일한 크기를 가지고, 그리고 상기 행렬 Z는 ((N+2)×(M+2)) 크기를 가지고 그리고 인 행렬의 엔트리들

    으로 주어지고 그리고 출력으로 행렬 P를 제공하고, 상기 행렬 P는 이고, 여기서 는 스트라이드 너비를 정의하고 상기 행렬 P의 각각의 엔트리 는 커널 K와의 ij번째 감소된 행렬 R의 내적의 값이고, 상기 행렬 P는 깊이별 컨볼루션 레이어에 의한 출력으로 제공되는,
    방법.
  14. 제 13 항에 있어서,
    상기 디코더는 수신된 상기 인코딩된 이미지에 변환을 적용하도록 적응되고, 상기 변환은 엔트리들 를 가지는 N' x M' 크기의 입력 행렬 B로부터, 커널 - 상기 커널 은 엔트리들 를 가지는 크기의 행렬임 - 와 엔트리를 곱함으로써 행렬 B의 각각의 엔트리 를 엔트리들 을 가지는 하위 행렬 하위 행렬 로 확장함으로써 확장된 행렬 를 생성하는 단계, 및 상기 확장된 행렬 를 획득하기 위해 하위 행렬들 을 조합하는 단계를 포함하는,
    방법.
  15. 제 13 항에 있어서,
    커널 의 크기는 모든 깊이별 컨볼루션 레이어들에 대해 동일하고 또는 커널 또는 에서의 엔트리들 중 적어도 하나가 커널에서 다른 엔트리와 상이한,
    방법.
  16. 제 11 항에 있어서,
    상기 배치 노멀라이저는 정규화된 감소된 행렬 P'를 생성하고 그리고 상기 정류 선형 유닛은 정류 함수를 엔트리들 에 적용하고, 상기 정류 함수는 엔트리들

    를 가지는 새로운 행렬 를 계산하고 그리고 행렬 는 출력으로 제공되고; 또는
    상기 포인트별 컨볼루션 레이어는 가중치 α와 행렬에서의 각각의 엔트리를 곱함으로써 이전 레이어로부터 수신된 행렬에 가중치 α를 적용하는,
    방법.
  17. 제 1 항에 있어서,
    상기 방법은 상기 이미지의 일부를 상기 뉴럴 네트워크에 제공하는 단계, 상기 이미지를 Q x R 그리드 셀들을 포함하는 그리드로 분할하는 단계 - 적어도 하나의 바운딩 박스는 각각의 그리드 셀 내에 생성되고, 상기 바운딩 박스는 상기 그리드 셀 내에 사전 결정된 위치 및 사전 결정된 기하학적 특성을 가짐 -, 결과적인 바운딩 박스를 획득하기 위해 상기 바운딩 박스의 기하학적 특성 및 위치를 수정하는 단계 - 상기 결과적인 바운딩 박스는 객체의 위치와 가장 가깝게 일치하는 결과적인 기하학적 특성 및 결과적인 위치를 가지는 바운딩 박스임 -, 및 상기 뉴럴 네트워크에 상기 바운딩 박스에 포함되는 상기 이미지의 픽셀들을 상기 이미지의 일부로 제공하는 단계를 포함하는,
    방법.
  18. 제 17 항에 있어서,
    상기 바운딩 박스의 위치는 2차원으로 상기 그리드 셀의 중앙에 대해 계산되고 그리고 상기 바운딩 박스의 기하학적 특성은 상기 바운딩 박스의 높이 및 너비를 포함하고, 추가적으로 상기 객체가 상기 바운딩 박스 내에 있을 확률이 각각의 바운딩 박스와 연관되는,
    방법.
  19. 제 1 항에 있어서,
    상기 방법의 각각의 단계는 모바일 디바이스 상에서 수행되는,
    방법.
  20. 모바일 디바이스에 있어서,
    광학 센서, 프로세서 및 상기 모바일 디바이스의 상기 프로세서에 의해 실행되는 경우에 상기 프로세서로 하여금 제 1 항의 방법을 실행하도록 하는 실행 가능한 명령들을 저장하는 저장 유닛을 포함하는,
    모바일 디바이스.
KR1020217030968A 2019-02-26 2020-02-24 사용자의 생체 특성을 가지는 이미지 내에서 객체를 식별하고 생체 특성을 포함하는 이미지의 일부를 이미지의 다른 부분으로부터 분리함으로써 사용자의 신원을 식별하기 위한 방법(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) KR102634186B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP19382137.8 2019-02-26
EP19382137.8A EP3702958B1 (en) 2019-02-26 2019-02-26 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
PCT/IB2020/051523 WO2020174350A1 (en) 2019-02-26 2020-02-24 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

Publications (2)

Publication Number Publication Date
KR20210127257A KR20210127257A (ko) 2021-10-21
KR102634186B1 true KR102634186B1 (ko) 2024-02-06

Family

ID=65766948

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217030968A KR102634186B1 (ko) 2019-02-26 2020-02-24 사용자의 생체 특성을 가지는 이미지 내에서 객체를 식별하고 생체 특성을 포함하는 이미지의 일부를 이미지의 다른 부분으로부터 분리함으로써 사용자의 신원을 식별하기 위한 방법(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)

Country Status (8)

Country Link
US (2) US11783625B2 (ko)
EP (2) EP3702958B1 (ko)
JP (2) JP7258375B2 (ko)
KR (1) KR102634186B1 (ko)
BR (1) BR112021016734A2 (ko)
ES (1) ES2943287T3 (ko)
MX (1) MX2021009532A (ko)
WO (1) WO2020174350A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11301586B1 (en) * 2019-04-05 2022-04-12 T Stamp Inc. Systems and processes for lossy biometric representations

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015529365A (ja) * 2012-09-05 2015-10-05 エレメント,インク. カメラ付きデバイスに関連する生体認証のためのシステム及び方法
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
US9968257B1 (en) * 2017-07-06 2018-05-15 Halsa Labs, LLC Volumetric quantification of cardiovascular structures from medical imaging
US10679351B2 (en) * 2017-08-18 2020-06-09 Samsung Electronics Co., Ltd. System and method for semantic segmentation of images
CN108009520B (zh) * 2017-12-21 2020-09-01 西安格威西联科技有限公司 基于卷积变分自编码器网络的手指静脉识别方法及系统
US10726302B2 (en) * 2018-11-29 2020-07-28 Qualcomm Incorporated Edge computing
CN110956654B (zh) * 2019-12-02 2023-09-19 Oppo广东移动通信有限公司 图像处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
US11783625B2 (en) 2023-10-10
BR112021016734A2 (pt) 2021-10-13
JP7258375B2 (ja) 2023-04-17
US20230394871A1 (en) 2023-12-07
WO2020174350A1 (en) 2020-09-03
KR20210127257A (ko) 2021-10-21
ES2943287T3 (es) 2023-06-12
EP4036795A1 (en) 2022-08-03
EP3702958A1 (en) 2020-09-02
EP3702958B1 (en) 2023-04-05
US20220157077A1 (en) 2022-05-19
JP2023082065A (ja) 2023-06-13
JP2022522429A (ja) 2022-04-19
MX2021009532A (es) 2021-09-08

Similar Documents

Publication Publication Date Title
JP6778247B2 (ja) 眼球血管および顔認識のための画像および特徴品質、画像強化および特徴抽出、ならびにバイオメトリックシステムのための眼球血管と顔領域および/またはサブ顔領域との融合
US20210082136A1 (en) Extracting information from images
JP7386545B2 (ja) 画像中の物体を識別するための方法、及び当該方法を実施するためのモバイル装置
US11941918B2 (en) Extracting information from images
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
EP2790130A1 (en) Method for object recognition
KR20080079443A (ko) 영상으로부터의 객체 검출 방법 및 장치
JP7360217B2 (ja) ユーザのバイオメトリック特性を有する当該ユーザの物体の画像からデータを取得するための方法
JP7270304B2 (ja) ユーザのバイオメトリック特性を有する画像中の物体を識別することにより当該ユーザのidを検証するための方法、及び当該方法を実施するためのモバイル装置

Legal Events

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