KR20230026421A - 동공 거리 측정 시스템 및 방법과 그 용도 - Google Patents

동공 거리 측정 시스템 및 방법과 그 용도 Download PDF

Info

Publication number
KR20230026421A
KR20230026421A KR1020237001741A KR20237001741A KR20230026421A KR 20230026421 A KR20230026421 A KR 20230026421A KR 1020237001741 A KR1020237001741 A KR 1020237001741A KR 20237001741 A KR20237001741 A KR 20237001741A KR 20230026421 A KR20230026421 A KR 20230026421A
Authority
KR
South Korea
Prior art keywords
pupil
image
center
camera
subject
Prior art date
Application number
KR1020237001741A
Other languages
English (en)
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 KR20230026421A publication Critical patent/KR20230026421A/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B3/00Apparatus for testing the eyes; Instruments for examining the eyes
    • A61B3/10Objective types, i.e. instruments for examining the eyes independent of the patients' perceptions or reactions
    • A61B3/11Objective types, i.e. instruments for examining the eyes independent of the patients' perceptions or reactions for measuring interpupillary distance or diameter of pupils
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B3/00Apparatus for testing the eyes; Instruments for examining the eyes
    • A61B3/10Objective types, i.e. instruments for examining the eyes independent of the patients' perceptions or reactions
    • A61B3/11Objective types, i.e. instruments for examining the eyes independent of the patients' perceptions or reactions for measuring interpupillary distance or diameter of pupils
    • A61B3/111Objective types, i.e. instruments for examining the eyes independent of the patients' perceptions or reactions for measuring interpupillary distance or diameter of pupils for measuring interpupillary distance
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B3/00Apparatus for testing the eyes; Instruments for examining the eyes
    • A61B3/10Objective types, i.e. instruments for examining the eyes independent of the patients' perceptions or reactions
    • A61B3/113Objective types, i.e. instruments for examining the eyes independent of the patients' perceptions or reactions for determining or recording eye movement
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B3/00Apparatus for testing the eyes; Instruments for examining the eyes
    • A61B3/10Objective types, i.e. instruments for examining the eyes independent of the patients' perceptions or reactions
    • A61B3/14Arrangements specially adapted for eye photography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • 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/30004Biomedical image processing
    • G06T2207/30041Eye; Retina; Ophthalmic
    • 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
    • G06T2207/30201Face
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/41Medical

Landscapes

  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Ophthalmology & Optometry (AREA)
  • Biomedical Technology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • Biophysics (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Eye Examination Apparatus (AREA)
  • Image Processing (AREA)

Abstract

동공 거리 시스템을 동작시키는 방법이 개시된다. 이 방법은 동공 거리 시스템의 적어도 하나의 카메라로 피사체의 얼굴의 2D 이미지 및 대응하는 3D 깊이 맵을 캡처하는 단계를 포함한다. 동공 위치측정 정보의 결정은 2D 이미지와 대응하는 3D 깊이 맵을 사용하여 이루어진다. 동공 위치는 동공 위치측정 정보에 기초하여 더욱 개선된다. 동공 중심 좌표가 결정되고 각각의 동공의 중심 사이의 피사체에 대한 동공 거리가 계산된다. 프로세스 및 이의 용도도 개시된다.

Description

동공 거리 측정 시스템 및 방법과 그 용도
관련 출원에 대한 상호 참조
이 PCT 국제 출원은 2020년 6월 17일에 출원된 미국 출원 번호 제63/040,184호에 대한 이익 및 우선권을 주장하며, 전체 내용이 참조로 포함된다.
기술분야
본 발명은 일반적으로 검안 기술 분야에 관한 것이다. 보다 구체적으로, 본 발명은 동공 거리를 측정하기 위한 시스템 및 방법과 그 용도에 관한 것이다.
다음은 본 발명을 이해하는 데 유용할 수 있는 정보를 포함한다. 여기에서 구체적으로 또는 암시적으로 언급된 정보 중 임의의 정보가 설명되거나 청구된 발명에 대한 선행 기술이거나 필수적이라는 것을 인정하는 것은 아니다. 여기에 언급된 모든 특허, 특허 출원, 간행물 및 제품은 전체가 참조로 포함된다.
동공 거리("PD(pupillary distance)")는 인간과 같은 피사체의 동공 사이의 거리이다. 이 거리의 정확성은 안경, 선글라스 또는 가상 현실 헤드셋의 편안함과 착용감을 결정하는 요소이다. 잘못 측정된 PD는 피사체에 대해 두통, 흐릿한 시야, 눈의 피로, 메스꺼움, 어지러움, 현기증, 방향 감각 상실 및 기타 문제를 유발하는 프리즘 효과를 갖는 렌즈로 이어질 수 있다. 전통적으로, PD 측정은 안경이나 선글라스 처방에는 없지만 맞춤 처방 안경이나 선글라스 주문을 이행하는 데 필요하다. 성인의 평균 PD는 약 63mm이다. 그러나 PD 측정은 여성의 경우 51mm 내지 74.5mm, 남성의 경우 53mm 내지 77mm로 크게 다를 수 있다. PD는 누진 렌즈(progressive lense)로 안경이나 선글라스를 맞출 때 매우 중요한데, 이는 모든 거리에서 편안한 시야를 확보하려면 렌즈와 동공의 정확한 정렬이 필요하기 때문이다.
현재 PD를 측정하는 다양한 방법이 있다. 예를 들어 PD 측정에는 단일 PD와 이중 PD의 두 가지 기본 방법이 있다. 단일 PD(또는 쌍안 PD)는 각각의 눈 사이에서 동공에서 동공까지 측정한 것이다. 이중 PD(또는 단안 PD)는 콧대에서 각각의 눈까지 측정한 것이다.
PD 측정값을 얻는 전통적인 방법에는 눈금자를 사용하는 것이 포함될 수 있다. 이러한 유형의 측정을 위해 피사체는 거울에서 약 8인치 떨어져 있어야 하며 눈금자는 PD 측정값을 얻기 위해 피사체의 이마를 가로질러 다른 동공까지 한 눈의 동공에 정렬된다. 이러한 유형의 측정은 부정확한데 이는 얼굴 윤곽과 눈금자의 정렬이 다를 수 있기 때문이다.
피사체는 가능한 상업적 환경에서 다른 개인의 도움을 받아 자신의 PD 측정값을 얻을 수 있다. 이 예에서 PD는 각막 반사 동공 측정기(corneal reflection pupillometer)를 사용하여 측정될 수 있다. 또는 전자 상거래 고객은 표준 크기 기준(예: 신용 카드 등)을 들고 있는 자신의 얼굴 사진을 제출할 수 있으며, 사진을 원격으로 처리하여 PD를 얻을 수 있다.
위에서 설명한 각각의 전통적인 예는 PD 측정값을 얻는 번거롭고/또는 리소스 집약적인 방식이다. 또한 각막 반사 동공 측정기를 사용하는 것과 같은 특정 전통적인 예는, 피사체가 측정하는 사람으로부터 6피트 미만으로 떨어져 있어야 하므로 COVID-19와 같은 대유행 기간 동안 사회적 거리두기 규칙을 위반하게 할 수 있다. 또한, 각막 반사 동공 측정기는 PD의 항상 신뢰할 수 있는 측정을 제공하는 것은 아니며, 이는 사람의 오류에 영향을 받고 잘못 보정될 수 있기 때문이다. 맞춤형 처방 안경 또는 선글라스 주문을 이행하려면 PD가 필요하기 때문에 PD 측정값을 얻기 위한 매끄럽고 편리한 비접촉식 방식을 개발하면 소비자 경험이 향상된다. 또한 PD 측정값을 얻기 위한 더 쉽고 정확한 방법을 개발하면 전자 상거래가 촉진되고 편안하고 정확한 안경을 획득을 수 있는 고객 옵션이 확장된다. 마지막으로 소매업체는 PD 측정값과 관련된 이미지 및/또는 통계 정보를 사용하여 제조 공정을 개선하고/하거나 PD 측정값과 상관된 사용자 만족도 및 구매 이력을 기반으로 안경류 추천을 제공할 수 있다.
따라서, 사람의 개입 및/또는 사람의 오류를 줄이거나 제거하면서 정확성, 효율성, 신뢰성, 편의성 및 용도를 증가시키는 PD 측정을 위한 개선된 시스템 또는 방법을 개발할 필요가 있다.
여기에 설명되고 청구된 발명은 이 요약에서 설명되거나 참조된 것을 포함하지만 이에 제한되지 않는 많은 속성과 측면을 가지고 있다. 포괄적인 것으로 의도되지 않았으며 여기에서 설명되고 청구된 발명은 이 요약에서 식별되는 특징 또는 실시예로 제한되지 않고 제한이 아닌 설명의 목적으로만 포함된다.
본 개시내용의 다양한 실시예에서, 2차원("2D") 이미지에서 동공을 위치측정하기 위해 일련의 이미지 처리 알고리즘을 획득하고 사용하는 시스템 및 방법이 제공된다. 그런 다음 동공은 깊이 감지 이미지에 의해 제공되는 3차원("3D") 데이터를 사용하여 세계 좌표로 위치측정된다. 세계 좌표를 사용하여 동공간 물리적 거리가 계산될 수 있다. 여기에 설명된 시스템 및 방법은 유리하게 PD 측정값을 획득한 정확하고 보다 편리한 방법을 제공한다. 또한, 획득된 PD 측정값은 안경(또는 안경(spectacle)), 선글라스, 가상 현실 헤드셋, 고글, 안전 아이웨어, 스마트 안경(증강 현실 안경을 포함하지만 이에 제한되지 않음) 및 다른 아이웨어에 사용될 수 있다. 마지막으로, PD를 포함하는 피사체에 대한 안면 측정은, 사용자의 안면 측정 및 이력 고객 만족도 데이터 및 안면 측정과 연관된 구매 이력에 기초하여 제품 추천이 제공될 수 있도록 사용자 계정과 연관될 수 있다.
본 개시내용의 다양한 실시예에서, 본 명세서에 기술되는 시스템 및 방법은 가상 피팅 또는 시착 시스템 또는 애플리케이션에서 사용하기 위한 안면 측정값을 획득할 수 있다. 일부 실시예에서, 가상 피팅 또는 시착 시스템은 본 명세서에 기술된 개시내용으로부터 획득된 PD 측정값을 포함하는, 안면 측정값을 사용하여 가상으로 한상의 안경 또는 선글라스를 시착 및/또는 구입하기 위한 인터페이스를 사용자에게 제공할 수 있다. 본 명세서에 기술된 시스템 및 방법은 가상 피팅 또는 시착 시스템에 포함되는 경우, 사용자의 전자 상거래 경험을 향상시킬 수 있는데, 이는 이 시스템 및 방법이 사용자에게 실제 상점을 방문할 필요 없이 가상으로 잠재적 안경 또는 선글라스를 시착하고, PD 측정값을 획득하며, 온라인으로 맞춤형 처방 안경 또는 선그랄스를 선택하고 구매할 수 있게 하기 때문이다. 본 명세서에 기술된 시스템 및 방법은 또한 더 나은 제품 추천으로 이어질 수 있는 추가적인 안면 측정을 획득하고 저장함으로써 가상 피팅 또는 시착 시스템을 개선한다. 본 개시내용의 시스템 및 방법은 2019년 8월 26일 출원된 미국 특허 출원 제16/550,614호(발명의 명칭: "Virtual Fitting Systems and Methods for Spectacles")에 설명된 가상 시착 시스템 및 방법과 유리하게 인터페이스할 수 있다. 본 개시내용의 다양한 실시예에서, PD(pupillary distance) 시스템의 동작 방법이 개시된다. 일부 실시예에서, 방법은, 동공 거리 시스템의 적어도 하나의 카메라로, 피사체의 얼굴의 제1 2D 이미지 및 대응하는 3D 깊이 맵을 캡처하는 단계와, 제1 2D 이미지 및 대응하는 3D 깊이 맵을 사용하여 동공 위치측정 정보를 결정하는 단계와, 동공 위치측정 정보에 기초하여 하나 이상의 동공 위치를 개선하는 단계와, 하나 이상의 동공 중심 좌표를 결정하는 단계와, 각각의 동공의 중심 사이의 피사체의 PD를 계산하는 단계를 포함한다.
본 개시내용의 일부 실시예에서, 동공 위치측정 정보는 피사체에 대한 하나 이상의 초기 동공 위치를 획득하기 위해 안와의 중심 근처에 복수의 안면 메쉬 꼭지점을 생성하도록 복수의 안면 메쉬 랜드마크를 사용하여 결정된다.
본 개시내용의 일부 실시예에서, 하나 이상의 동공 위치는 하나 이상의 커널 및 하나 이상의 2D 센터-서라운드 필터와의 컨볼루션을 사용하여 개선된다. 일부 실시예에서, 하나 이상의 커널은 약 12mm의 동공 추정 크기를 사용한다.
본 개시내용의 일부 실시예에서, PD를 계산하는 것은 상기 2D 이미지에서 상기 개선된 하나 이상의 동공 위치에 대응하는 깊이 맵 값을 사용한다.
본 개시내용의 일부 실시예에서, PD는 각각의 동공의 중심에 대응하는 3D 안면 메쉬 상의 지점들을 사용하여 결정된다.
본 개시내용의 일부 실시예에서, 방법은 적어도 하나의 카메라로부터 제1 2D 이미지가 촬영된 거리를 사용하여 계산된 PD에 대해 보정을 수행하는 단계를 더 포함한다.
본 개시내용의 다양한 실시예에서, 컴퓨터 실행 가능 명령어가 구현되는 비일시적 컴퓨터 판독 가능 매체가 제공된다. 프로세서에 의해 실행될 때 컴퓨터 실행 가능 명령어는 프로세서로 하여금, 적어도 하나의 카메라로부터 피사체의 얼굴의 제1 2D 이미지 및 대응하는 3D 깊이 맵을 획득하고, 제1 2D 이미지 및 대응하는 3D 깊이 맵을 사용하여 동공 위치측정 정보를 결정하고, 동공 위치측정 정보에 기초하여 하나 이상의 동공 위치를 개선하고, 하나 이상의 동공 중심 좌표를 결정하고, 각각의 동공의 중심 사이에 있는 피사체의 PD를 계산하게 한다.
본 개시내용의 일부 실시예에서, 동공 위치측정 정보는 피사체의 하나 이상의 초기 동공 위치를 획득하기 위해 안와의 중심 근처에 복수의 안면 메시 꼭지점을 생성하도록 복수의 안면 메시 랜드마크를 사용하여 결정된다.
본 개시내용의 일부 실시예에서, 하나 이상의 동공 위치는 하나 이상의 커널 및 하나 이상의 2D 센터-서라운드 필터와의 컨벌루션을 사용하여 개선된다. 일부 실시예에서, 하나 이상의 커널은 대략 12mm의 동공 추정 크기를 사용한다.
본 개시내용의 일부 실시예에서, PD를 계산하는 것은 2D 이미지에서 개선된 하나 이상의 동공 위치에 대응하는 깊이 맵 값을 사용한다.
본 개시내용의 일부 실시예에서, PD를 계산하는 것은 각각의 동공의 중심에 대응하는 3D 안면 메쉬 상의 지점을 사용하여 결정된다.
본 개시내용의 일부 실시예에서, 컴퓨터 실행가능 명령어는 추가로 프로세서로 하여금 제1 2D 이미지가 적어도 하나의 카메라로부터 촬영된 거리를 사용하여 계산된 PD에 대한 보정을 수행하게 한다.
본 개시내용의 다양한 실시예에서, 하나 이상의 모바일 디바이스를 포함하는 동공 거리("PD") 시스템이 제공된다. 일부 실시예에서, 하나 이상의 모바일 디바이스는, 적어도 하나의 카메라와, 이미지와 연관된 정보 및 적어도 하나의 카메라로부터 획득한 정보를 저장하는 메모리와, 프로세서를 포함한다. 프로세서는, 적어도 하나의 카메라로부터 피사체의 얼굴의 2D 이미지 및 대응하는 3D 깊이 맵을 획득하고, 2D 이미지 및 대응하는 3D 깊이 맵을 사용하여 동공 위치측정 정보를 결정하고, 동공 위치측정 정보에 기초하여 하나 이상의 동공 위치를 개선하고, 하나 이상의 동공 중심 좌표를 결정하고, 피사체의 각각의 동공의 중심 사이의 PD를 계산하도록 구성된다.
본 개시내용의 일부 실시예에서, 동공 위치측정은 피사체의 하나 이상의 초기 동공 위치를 획득하기 위해 안와의 중심 근처에 복수의 안면 메쉬 꼭지점을 생성하도록 복수의 안면 메쉬 랜드마크를 사용하여 결정된다.
본 개시내용의 일부 실시예에서, 하나 이상의 동공 위치는 하나 이상의 커널 및 하나 이상의 2D 센터-서라운드 필터와의 컨벌루션을 사용하여 개선된다. 일부 실시예에서, 하나 이상의 커널은 약 12mm의 동공 추정 크기를 사용한다.
본 개시내용의 일부 실시예에서, PD를 계산하는 것은 2D 이미지에서 개선된 하나 이상의 동공 위치에 대응하는 깊이 맵 값을 사용한다.
본 개시내용의 일부 실시예에서, PD를 계산하는 것은 각각의 동공의 중심에 대응하는 3D 안면 메쉬 상의 지점을 사용하여 결정된다.
본 개시내용의 일부 실시예에서, 적어도 하나의 카메라로부터 제1 2D 이미지가 촬영된 거리를 사용하여 계산된 PD에 대한 보정을 수행한다.
본 명세서에 포함되어 명세서의 일부를 구성하는 첨부 도면은 본 발명의 측면을 예시하고, 상세한 설명과 함께 그 측면의 원리를 설명하고, 당업자가 그 측면을 만들고 사용할 수 있게 한다. 도면은 단지 설명을 위한 것이며, 예시적인 비제한적인 실시예를 보여주며, 반드시 일정한 비율로 그려지는 것은 아니다.
도 1a는 본 개시내용의 일부 실시예에 따른 시스템의 일례를 도시한다.
도 1b는 본 개시내용의 일부 실시예에 따른 모바일 디바이스의 아키텍처의 일례를 도시한다.
도 2는 본 개시내용의 일부 실시예에 따른 깊이 맵을 사용하는 예시적인 PD 측정 프로세스를 예시하는 흐름도이다.
도 3은 본 개시내용의 일부 실시예에 따라 중첩된 안면 메쉬(905)(복수의 꼭지점(920)에 연결된 복수의 라인(910)으로 묘사됨)를 갖는 사용자의 동공 영역의 예시적인 이미지이고, 안면 메쉬는 키 꼭지점(950) 및 키 꼭지점의 중심(951)을 도시한다.
도 4a 내지 도 4c는 본 개시내용의 일부 실시예에 따라 2D 이미지와의 컨볼루션을 사용하여 초기 동공 위치를 개선(refining)하는 예시적인 표현을 도시한다. 도 4a는 센터-서라운드 구조를 갖는 필터 커널(또는 커널)을 도시하고, 도 4b는 커널에 대한 최대 응답이 있는 위치를 나타내는 십자 기호가 있는 원(990)이 있는 이미지 패치를 도시하며, 도 4c는 커널과의 컨볼루션에 대한 이미지 응답을 도시한다.
도 5는 본 개시내용의 일부 실시예에 따른 동공 영역 이미지에 대한 랜덤 샘플 합의("RANSAC") 반복 방법의 예시적인 예이다. 도 5에서 실선 원(2000)은 홍채 경계의 초기 추정치를 나타내고, 실선 십자 기호(2001)는 홍채 중심에 대한 초기 추정치를 나타내며, 닫힌 점(3010)은 내부 경계 지점을 나타내고, 열린 점(3020)은 아웃라이어(outlier) 경계 지점을 나타내고, 점선 원(3000)은 홍채 경계에 대한 최종 추정치를 나타내고, 점선 십자 기호(3001)는 홍채 중심에 대한 최종 추정치를 나타낸다.
도 6은 본 개시내용의 일부 실시예에 따라 원거리 PD를 측정하거나 추정하기 위한 프로세스의 예시적인 예이다.
도 7은 본 개시내용의 일부 실시예에 따른 PD 계산 인터페이스(800)의 예이다. "방법 A"는 깊이 맵 방법을 말하며, 이에 대해서는 아래에서 자세히 설명한다. "방법 B"는 안면 메쉬 방법을 말하며, 이에 대해서도 아래에서 자세히 설명한다.
도 8 내지 도 11은 각각 본 발명의 일부 실시예에 따라 PD를 측정하기 위한 예시적인 인터페이스(801, 802, 803 및 804)이다.
도 12는 본 개시내용의 일부 실시예에 따른 PD 계산 인터페이스(805)의 또 다른 예이다.
예시적인 실시예에 대한 이러한 설명은 첨부된 도면과 관련하여 읽히도록 의도되며, 이는 전체 기재된 설명의 일부로 간주되어야 한다. 달리 명시되지 않는 한 단수형의 사용은 복수를 포함한다. 달리 명시되지 않는 한 "또는"의 사용은 "및/또는"을 의미한다. 또한, "포함하다" 및 "포함된"과 같은 다른 형태뿐만 아니라 "포함하는"이라는 용어의 사용은 제한되지 않는다. 또한, "요소" 또는 "구성요소"와 같은 용어는 달리 구체적으로 언급하지 않는 한, 하나의 단위를 포함하는 요소 및 구성요소, 및 하나 초과의 서브유닛을 포함하는 요소 및 구성요소를 모두 포함한다. 또한 여기에 사용된 섹션 제목은 구성 목적만을 위한 것이며 설명된 주제를 제한하는 것으로 해석되어서는 안 된다.
다음 설명은 대표적인 세트의 예의 가능한 암시로서 제공된다. 계속하여 유익한 결과를 얻으면서 본 명세서에 기술된 실시예에 대해 많은 변경이 이루어질 수 있다. 아래에서 설명하는 원하는 이점 중 일부는 다른 기능을 사용하지 않고 여기에서 설명하는 기능 중 일부를 선택하여 얻을 수 있다. 따라서, 본 명세서에 기술된 특징의 서브세트뿐만 아니라 많은 수정 및 적응이 가능하고 특정 상황에서 바람직할 수도 있다. 따라서, 이하의 설명은 예시로서 제공되며 제한적이지 않다.
여기에서 사용된 "a", "an" 및 "the"와 같은 단수형 관사의 사용은 문맥상 명확하고 모호하지 않게 다르게 지시하지 않는 한 관사의 목적어의 복수성을 배제하려는 의도가 아니다.
피사체의 PD를 결정하기 위한 시스템 및 방법이 본 개시에서 제공된다. 피사체는 포유동물 또는 인간이고, 여기서 포유동물 또는 인간은 남성, 여성, 논-바이너리 포유동물 또는 인간(또는 다른 성 정체성), 성인 또는 아동이다. 본 명세서 전반에 걸쳐 논의된 바와 같이, 시스템 및 방법은 피사체에 대한 정확하고 효율적인 실시간 얼굴 측정을 유리하게 제공한다. 시스템 및 방법은 사용자가 얼굴 측정치 및/또는 소비자 만족도 데이터 및/또는 이력 얼굴 측정치와 연관된 구매 이력에 기초하여 제품 추천을 수신할 수 있게 하는 개개의 사용자와 연관된 계정에 저장될 수 있는 얼굴 측정치를 사용자에게 유리하게 제공한다. 이러한 사용자는 인간이며 여기서 인간은 남성, 여성, 논바이너리 인간(또는 다른 성 정체성), 성인 또는 어린이이다. 마지막으로, 시스템 및 방법은 기계 학습 및 딥 러닝과 같은 인공 지능을 사용하여 얼굴 측정 계산을 개선하기 위해 소비자 만족도 데이터를 유리하게 사용할 수 있다.
시스템 개요
다양한 실시예에서, PD 측정 시스템은 정보 교환을 위해 클라이언트 디바이스와 상호작용할 수 있다. 도 1a는 복수의 클라이언트 디바이스(110-1, 110-2, 110-3)(집합적으로 "클라이언트 디바이스(110)")가 통신 네트워크(142)를 통해 하나 이상의 컴퓨터 시스템 네트워크(50-10, 50-2 ("컴퓨터 네트워크(50)")) 및 관리 서버(130)에 연결되는 시스템(100)의 일례를 도시한다. 통신 네트워크(142)는 광역 통신 네트워크("WAN"), 근거리 통신 네트워크("LAN"), 개인 통신 네트워크("PAN") 등 일 수 있다. 일 실시예에서, 통신 네트워크(142)는 인터넷이고 클라이언트 디바이스(110)는 온라인이다. "온라인"은 통신 네트워크(142)에 결합된 다른 디바이스 또는 네트워크로부터 원격 위치로부터 소스 데이터 또는 정보에 연결하거나 액세스하는 것을 의미할 수 있다.
관리 서버(130)는 하나 이상의 데이터 저장 디바이스(150-1, 150-2)(집합적으로 "데이터베이스 관리 시스템(150)" 또는 "DBMS(150)"라고 함)에 연결된 프로세싱 유닛(24)을 포함한다. 프로세싱 유닛(24)은 일부 실시예에서 프런트엔드 그래픽 사용자 인터페이스("GUI")(예를 들어, PD 측정 GUI(28) 및 클라이언트 사용자 GUI(30)), 및 백엔드 또는 관리 그래픽 사용자 인터페이스 또는 포털(32)을 하나 이상의 원격 컴퓨터(54) 또는 하나 이상의 로컬 컴퓨터(34)에 제공하도록 구성된다. 일부 실시예에서, GUI(28)를 통해 관리 서버(130)에 액세스하는 PD 측정 인터페이스(아래에서 더 상세히 설명됨)가 제공된다. GUI는 예를 들어, 원격 컴퓨터(54) 또는 하나 이상의 로컬 컴퓨터(34)에 로컬인 브라우저 프로그램을 사용하여 표시되는 웹페이지와 같은 형태를 취할 수 있다. 시스템(100)은 하나 이상의 컴퓨터, 서버 또는 다른 컴퓨팅 디바이스에서 구현될 수 있음을 이해해야 한다. 일부 실시예에서, GUI는 소프트웨어 애플리케이션을 통해 클라이언트 디바이스(110)에 표시될 수 있다. 예를 들어, 시스템(100)은 DBMS(150)에 저장된 데이터에 대한 허용된 액세스를 기반으로 프로그래밍되거나 분할된 추가 서버를 포함할 수 있다. 여기에서 사용된 "포털"은 YAHOO!® 또는 GOOGLE®과 같은 범용 인터넷 포털에 제한되지 않고 특정하고 제한된 청중에게 관심이 있고 아래에 설명된 바와 같이 관련되거나 관련되지 않은 다양한 종류의 정보, 링크 및 도구에 대한 당사자 액세스를 제공하는 GUI도 포함한다. 여기에서 "웹페이지"와 "웹사이트"는 상호교환적으로 사용될 수 있다.
원격 컴퓨터(54)는 컴퓨터 시스템 네트워크(50-1, 50-2)의 일부일 수 있고 인터넷 서비스 제공자("ISP")(52-1, 52-2("ISP(52)"))를 통해 통신 네트워크(142)에 액세스할 수 있다. 클라이언트 디바이스(110)는 무선 셀룰러 통신 네트워크, WAN 핫스팟을 통해 또는 당업자가 이해할 수 있는 바와 같이 컴퓨터와의 유선 또는 무선 연결을 통해 통신 네트워크(142)에 액세스할 수 있다. 아래에서 설명하는 바와 같이 클라이언트 사용자 및 관리자는 원격 컴퓨터(54) 및/또는 클라이언트 디바이스(110)를 사용하여 시스템(100)에 액세스할 수 있다. 컴퓨터 시스템 네트워크(50-1, 50-2)는 하나 이상의 데이터 저장 유닛(56-1, 56-2)을 포함할 수 있다.
일 실시예에서, 클라이언트 디바이스(110)는 무선 신호를 송신 및 수신할 수 있는 임의의 모바일 디바이스를 포함한다. 모바일 기기의 예로는 모바일 또는 휴대폰, 스마트폰이 포함되나 이에 국한되지 않는다. PDA(Personal Digital Assistant), 랩톱 컴퓨터, 태블릿 컴퓨터, 음악 플레이어 및 e-리더 등 몇 가지 가능한 디바이스를 예로 들 수 있다.
도 1b는 클라이언트 디바이스(110)의 아키텍처의 한 예의 블록도이다. 도 1b에 도시된 바와 같이, 클라이언트 디바이스(110)는 프로세서(들)(102)와 같은 하나 이상의 프로세서를 포함한다. 프로세서(들)(102)는 임의의 중앙 프로세싱 유닛("CPU"), 마이크로프로세서, 마이크로 컨트롤러, 또는 명령어를 실행하기 위한 연산 디바이스 또는 회로일 수 있다. 프로세서(들)는 통신 기반구조(104)(예를 들어, 통신 버스, 크로스오버 바, 또는 네트워크)에 연결된다. 다양한 소프트웨어 실시예가 이 예시적인 클라이언트 디바이스(110)와 관련하여 설명된다. 이 설명을 읽은 후, 다른 시스템 또는 아키텍처를 포함하는 클라이언트 디바이스(110)를 사용하여 방법을 구현하는 방식은 당업자에게 명백할 것이다. 당업자는 컴퓨터(34, 54)가 클라이언트 디바이스(110)의 아키텍처와 유사 및/또는 동일한 아키텍처를 가질 수 있음을 이해할 것이다. 다르게 표현하면, 컴퓨터(34, 35)는 도 1b에 도시된 클라이언트 디바이스(110)의 것과 같은 일부, 전부 또는 추가적인 기능적 구성요소를 포함할 수 있다.
클라이언트 디바이스(110)는 통신 기반구조(104)로부터(또는 도시되지 않은 레임 버퍼로부터) 수신된 그래픽, 비디오, 텍스트 및 기타 데이터를 사용자(예를 들어, 가입자, 상업적 사용자, 백엔드 사용자, 또는 다른 사용자)에게 표시하는 디스플레이(168)를 포함한다. 이러한 디스플레이(168)의 예는 LCD 스크린, OLED 디스플레이, 정전식 터치 스크린 및 플라즈마 디스플레이를 포함하지만 이에 제한되지 않으며, 몇 가지 가능한 디스플레이만 열거할 수 있다. 클라이언트 디바이스(110)는 또한 랜덤 액세스("RAM") 메모리와 같은 메인 메모리(108)를 포함하고, 또한 보조 메모리(110)를 포함할 수 있다. 보조 메모리(121)는 예를 들어 하드 디스크 드라이브("HDD")(112) 및/또는 자기 테이프 드라이브, 광학 디스크 드라이브, 솔리드 스테이트 드라이브("SSD") 등을 나타내는 착탈식 저장 드라이브("RSD")(114)와 같은 더 지속적인 메모리를 포함할 수 있다. 일부 실시예에서, 착탈식 저장 드라이브(114)는 당업자가 이해하는 방식으로 착탈식 저장 디바이스("RSU")(116)로부터 판독 및/또는 이에 기록된다. 착탈식 저장 유닛(116)은 착탈식 저장 드라이브(114)에 의해 판독되고 기록될 수 있는 자기 테이프, 광학 디스크 등을 나타낸다. 당업자라면 이해할 수 있는 바와 같이, 착탈식 저장 유닛(116)은 컴퓨터 소프트웨어 및/또는 데이터가 저장된 유형의 비일시적 기계 판독 가능 저장 매체를 포함할 수 있다.
일부 실시예에서, 2차 메모리(110)는 클라이언트 디바이스(110)에 컴퓨터 프로그램 또는 다른 명령어를 로딩할 수 있도록 하는 다른 디바이스를 포함할 수 있다. 그러한 디바이스는 예를 들어, 착탈식 저장 유닛("RSU")(118) 및 대응 인터페이스("RSI")(120)를 포함할 수 있다. 그러한 유닛(118) 및 인터페이스(120)의 예들은 착탈식 메모리 칩(예를 들어, 소거 가능한 프로그램 가능 판독 전용 메모리("EPROM"), 프로그램 가능한 판독 전용 메모리("PROM")), 보안 디지털("SD") 카드 및 연관 소켓, 다른 착탈식 저장 유닛(118) 및 인터페이스(120)를 포함할 수 있으며, 이는 소프트웨어 및 데이터가 착탈식 저장 유닛(118)에서 클라이언트 디바이스(110)로 전송될 수 있도록 한다.
클라이언트 디바이스(110)는 또한 스피커(122), 발진기(123), 카메라(124), 발광 다이오드("LED")(125), 마이크로폰(126), 입력 디바이스(128), 가속도계(미도시) 및 글로벌 포지셔닝 시스템("GPS") 모듈(129)을 포함할 수 있다. 카메라(124) 기능의 예에는 광학 이미지 안정화("OIS"), 더 큰 센서, 밝은 렌즈, 4K 비디오, 광학 줌과 RAW 이미지 및 HDR, 다중 렌즈 및 다중 촬영 야간 모드가 있는 "Bokeh 모드"를 포함하나 이에 제한되지 않는다. 카메라(124)는 상이한 기능을 가진 하나 이상의 렌즈를 포함할 수 있다. 예로서, 카메라(124)는 초광각 센서, 망원 센서, 비행 시간 센서, 매크로 센서, 메가픽셀("MP") 센서 및/또는 깊이 센서를 포함할 수 있다. 여기에 설명된 카메라(124)는 단일 카메라로 제한되지 않는다. 카메라(124)는 다수의 상이한 유형의 카메라, 센서 등을 포함하는 카메라 시스템을 포함할 수 있다. 예를 들어, Apple®은 깊이 맵 및 연관 이미지를 얻기 위해 협력하는 7MP 전면 "셀피" 카메라, 적외선 이미터, 적외선 카메라, 근접 센서, 주변 광 센서, 투광 조명기 및 도트 프로젝터를 포함하는 TrueDepth® 카메라 시스템을 발매했다. 즉, 클라이언트 디바이스(110)의 카메라(124)는 클라이언트 디바이스(110)에 의해 사용하기 위한 이미지 정보를 얻기 위한 시스템으로 작동하는 다수의 센서, 카메라, 이미터 또는 기타 관련 구성요소를 가질 수 있다.
입력 디바이스(128)의 예는 키보드, 버튼, 트랙볼, 또는 사용자가 데이터를 입력할 수 있는 임의의 다른 인터페이스 또는 디바이스를 포함하지만 이에 제한되지 않는다. 일부 실시예에서, 입력 디바이스(128) 및 디스플레이(168)는 동일한 디바이스에 통합된다. 예를 들어, 디스플레이(168) 및 입력 디바이스(128)는 사용자가 클라이언트 디바이스(110)에 데이터를 입력하기 위해 손가락, 펜 및/또는 스타일러스를 사용하는 터치스크린일 수 있다.
클라이언트 디바이스(110)는 또한 하나 이상의 통신 인터페이스(169)를 포함하는데, 이는 클라이언트 디바이스(110)와 예를 들어 다른 클라이언트 디바이스(110), 컴퓨터(34, 54) 및 시스템(100)에 로컬로 또는 원격르올 연결될 수 있는 다른 디바이스와 같은 외부 디바이스 사이에서 소프트웨어 및 데이터가 전송될 수 있게 한다. 하나 이상의 통신 인터페이스(169)의 예는 모뎀, 네트워크 인터페이스(이더넷 카드 또는 무선 카드와 같은), 통신 포트, "PCMCIA(Personal Computer Memory Card International Association)" 슬롯 및 카드, 하나 이상의 "PCI(Personal Component Interconnect)”익스프레스 슬롯 및 카드 또는 이들의 조합을 포함할 수 있으나 이에 한정되지 않는다. 하나 이상의 통신 인터페이스(169)는 또한 근거리 통신("NFC(near field communication)"), 블루투스, 또는 다른 무선 통신 프로토콜을 통한 통신을 위한 다른 인터페이스와 같은 단거리 통신을 위해 구성된 무선 인터페이스를 또한 포함할 수 있다. 위에서 간략히 언급한 바와 같이, 당업자는 컴퓨터(34, 54) 및 시스템(100)의 일부가 클라이언트 디바이스(110)의 일부 또는 모든 구성요소를 포함할 수 있음을 이해할 것이다.
하나 이상의 통신 인터페이스(169)를 통해 전송되는 소프트웨어 및 데이터는 전자, 전자기, 광학 또는 통신 인터페이스(169)에 의해 수신될 수 있는 다른 신호일 수 있는 신호의 형태이다. 이러한 신호는 통신 경로 또는 채널을 통해 통신 인터페이스(169)에 제공된다. 채널은 유선 또는 케이블, 광섬유, 전화선, 셀룰러 링크, 무선 주파수("RF") 링크 또는 다른 통신 채널을 사용하여 구현될 수 있다.
본 출원에서 "비일시적 컴퓨터 프로그램 매체" 및 "비일시적 컴퓨터 판독 가능 매체"라는 용어는 착탈식 저장 유닛(116, 118) 또는 하드 디스크 드라이브(112)에 설치된 하드 디스크와 같은 매체를 지칭한다. 이러한 컴퓨터 프로그램 제품은 클라이언트 디바이스(110)에 소프트웨어를 제공한다. 컴퓨터 프로그램("컴퓨터 제어 로직"이라고도 함)은 메인 메모리(108) 및/또는 보조 메모리(110)에 저장될 수 있다. 컴퓨터 프로그램은 또한 하나 이상의 통신 인터페이스(169)를 통해 수신될 수 있다. 컴퓨터 프로그램은 프로세서(들)(102)에 의해 실행될 때 클라이언트 디바이스(110)가 본 명세서에서 논의된 방법 및 시스템의 특징을 수행할 수 있게 한다.
다양한 실시예에서, 도 1a 및 도 1b에 도시된 바와 같이, 클라이언트 디바이스(110)는 해싱 컴퓨터, 개인용 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 노트북 컴퓨터, 휴대용 컴퓨터, PDA, 휴대용 내비게이션 디바이스, 휴대전화, 스마트폰, 웨어러블 컴퓨팅 디바이스(예: 스마트 워치, 웨어러블 활동 모니터, 웨어러블 스마트 주얼리, 안경 및 광학 헤드 마운트 디스플레이("OHMD")를 포함하는 기타 광학 디바이스), 임베디드 컴퓨팅 디바이스(예: 스마트 직물 또는 전자 패브릭과 통신 연결됨), 또는 데이터 및 소프트웨어 명령어를 저장하고, 동작을 수행하기 위해 소프트웨어 명령어를 실행하고, 및/또는 디스플레이 디바이스에 정보를 표시하도록 구성된 임의의 다른 적합한 컴퓨팅 디바이스와 같은 컴퓨팅 디바이스를 포함할 수 있다. 클라이언트 디바이스(110)는 하나 이상의 사용자(미도시)와 연관될 수 있다. 예를 들어, 사용자는 클라이언트 디바이스(110)를 작동시켜 다양한 실시예에 따라 하나 이상의 동작을 수행하게 한다.
클라이언트 디바이스(110)는 데이터 및/또는 소프트웨어 명령어를 저장하는 하나 이상의 유형의 비일시적 메모리, 및 소프트웨어 명령어를 실행하도록 구성된 하나 이상의 프로세서를 포함한다. 클라이언트 디바이스(110)는 사용자에게 정보를 표시하는 하나 이상의 디스플레이 디바이스 및 사용자가 클라이언트 디바이스에 정보를 입력할 수 있도록 하는 하나 이상의 입력 디바이스(예: 키패드, 키보드, 터치스크린, 음성 활성화 제어 기술 또는 기타 적절한 유형의 알려진 입력 디바이스)를 포함할 수 있다. 클라이언트 디바이스(110) 프로세서(들)는 명령어를 실행하기 위한 임의의 중앙 프로세싱 유닛("CPU"), 마이크로프로세서, 마이크로 컨트롤러 또는 연산 디바이스 또는 회로일 수 있다. 프로세서(들)는 통신 인프라(예: 통신 버스, 크로스오버 바 또는 네트워크)에 연결된다. 다양한 소프트웨어 실시예가 이 예시적인 클라이언트 디바이스(110)와 관련하여 설명된다. 이 설명을 읽은 후, 다른 시스템 또는 아키텍처를 포함하는 클라이언트 디바이스(110)를 사용하여 방법을 구현하는 방식이 당업자에게 명백할 것이다. 당업자는 컴퓨터가 클라이언트 디바이스(110)의 아키텍처와 유사 및/또는 동일한 아키텍처를 가질 수 있음을 이해할 것이다. 달리 말하면, 컴퓨터는 도 1a 및 1b에 예시된 클라이언트 디바이스(110)의 것과 같은 일부, 전부 또는 추가적인 기능적 구성요소를 포함할 수 있다.
클라이언트 디바이스(110)는 또한 하나 이상의 통신 인터페이스(169)를 포함하는데, 이는 클라이언트 디바이스(110)와 예를 들어 다른 클라이언트 디바이스(110), 컴퓨터(34, 54) 및 시스템에 로컬로 또는 원격으로 연결될 수 있는 다른 디바이스와 같은 외부 디바이스 사이에서 소프트웨어 및 데이터가 전송될 수 있게 한다. 하나 이상의 통신 인터페이스(169)의 예는 모뎀, 네트워크 인터페이스(예를 들어, 이더넷 카드 또는 무선 카드와 같은 것), 통신 포트, "PCMCIA(Personal Computer Memory Card International Association)" 슬롯 및 카드, 하나 이상의 "PCI(Personal Component Interconnect)" Express 슬롯 및 카드, 또는 이들의 조합을 포함할 수 있지만 이에 제한되지 않는다. 하나 이상의 통신 인터페이스(169)는 또한 "NFC(near field communication)", 블루투스, 또는 다른 무선 통신 프로토콜을 통한 통신을 위한 다른 인터페이스와 같은 단거리 통신을 위해 구성된 무선 인터페이스를 포함할 수 있다.
하나 이상의 통신 인터페이스(169)를 통해 전송되는 소프트웨어 및 데이터는 전자, 전자기, 광학 또는 통신 인터페이스(169)에 의해 수신될 수 있는 다른 신호일 수 있는 신호의 형태이다. 이들 신호는 통신 경로 또는 채널을 통해 통신 인터페이스(169)에 제공된다. 채널은 유선 또는 케이블, 광섬유, 전화선, 셀룰러 링크, 무선 주파수("RF") 링크 또는 기타 통신 채널을 사용하여 구현될 수 있다.
시스템(100) 또는 방법이 소프트웨어를 사용하여 부분적으로 또는 전체적으로 구현되는 실시예에서, 소프트웨어는 컴퓨터 프로그램 제품에 저장되고 착탈식 저장 드라이브, 하드 드라이브 및/또는 통신 인터페이스를 사용하여 클라이언트 디바이스(110)에 로딩될 수 있다. 소프트웨어는 프로세서(들)에 의해 실행될 때 프로세서(들)가 여기에 설명된 방법의 기능을 수행하도록 한다. 다른 실시예에서, 방법은 예를 들어 주문형 집적 회로("ASIC(application specific integrated circuit)")와 같은 하드웨어 구성요소를 사용하여 주로 하드웨어로 구현된다. 본 명세서에 기술된 기능을 수행하기 위한 하드웨어 상태 머신의 구현은 당업자에 의해 이해될 것이다. 또 다른 실시예에서, 방법은 하드웨어와 소프트웨어 모두의 조합을 사용하여 구현된다.
본 명세서에 기술된 주제의 실시예는 예를 들어 데이터 서버와 같은 백엔드 구성요소를 포함하거나, 애플리케이션 서버와 같은 미들웨어 구성요소를 포함하거나, 사용자가 본 명세서에서 설명된 주제의 구현과 상호 작용할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저를 갖는 프런트 엔드 구성요소(예를 들어, 클라이언트 디바이스(110))를 포함하거나 또는 그러한 하나 이상의 백엔드, 미들웨어 또는 프런트 엔드 구성요소의 조합인 시스템(100)에서 구현될 수 있다. 시스템의 구성요소는 디지털 데이터 통신의 임의의 형태 또는 매체(예: 통신 네트워크(142))에 의해 상호 연결될 수 있다. 통신 네트워크(142)는 하나 이상의 통신 네트워크 또는 디지털 데이터 통신의 매체를 포함할 수 있다. 통신 네트워크(142)의 예는 근거리 통신 네트워크("LAN(local area network)"), 무선 LAN, RF 네트워크, NFC 네트워크(예를 들어, "WiFi" 네트워크), 다수의 무선 LAN 연결하는 무선 도시권 통신 네트워크("MAN(Metropolitan Area Network)"), NFC 통신 링크(들) 및 광역 네트워크("WAN(wide area network)")(예를 들어 인터넷) 및 이들의 조합을 포함할 수 있다. 본 발명의 다양한 실시예에 따르면, 통신 네트워크(142)는 인터넷 및 임의의 공개 액세스 가능한 네트워크 또는, 하이퍼텍스트 전송 프로토콜("HTTP(hypertext transfer protocol)") 및 하이퍼텍스트 전송 프로토콜 보안("HTTPS(HyperText Transfer Protocol Secured)") 및 보안 소켓 계층/전송 계층 보안("SSL/TLS(Secured Socket Layer/Transport Layer Security)") 및 전송 제어 프로토콜/인터넷 프로토콜("TCP/IP(transmission control protocol/internet protocol)")을 포함하지만 이에 제한되지 않는 하나 이상의 통신 프로토콜을 통해 상호 연결된 네트워크를 포함할 수 있다. 본 개시내용의 다양한 실시예에 따른 통신 프로토콜은 또한 무선 주파수 식별("RFID") 통신 및/또는 NFC를 사용하여 데이터 전송을 용이하게 하는 프로토콜을 포함한다. 더욱이, 통신 네트워크(142)는 또한 GSM 또는 LTE 네트워크 또는 PCS 네트워크와 같은 하나 이상의 모바일 디바이스 네트워크를 포함할 수 있어, 클라이언트 디바이스가 본 명세서에 설명된 것을 포함하여 적용 가능한 통신 프로토콜을 통해 데이터를 송수신할 수 있게 한다. 설명을 쉽게 하기 위해, 통신 네트워크(142)는 관리 서버(130)의 확장으로 도시되어 있다.
클라이언트 디바이스(110)와 서버(130)는 일반적으로 서로 떨어져 있으며 전형적으로 통신 네트워크(142)를 통해 상호 작용한다. 클라이언트 디바이스(110)와 관리 서버(130)의 관계는 개개의 시스템 구성 요소에서 실행되고 서로에 대해 클라이언트-서버 관계를 갖는 컴퓨터 프로그램 덕분에 발생한다. 시스템(100)은 관리 서버(130)에 의해 제공되는 많은 서비스에 액세스을 얻기 위해 사용되는 실시예에서 웹/애플리케이션 서버(미도시)를 포함할 수 있다.
일 측면에서, 클라이언트 디바이스(110)는 클라이언트 디바이스에서 실행되고 하나 이상의 프로세서에 의해 실행되는 하나 이상의 소프트웨어 애플리케이션을 메모리에 저장한다. 일부 경우에, 각각의 클라이언트 디바이스는 하나 이상의 프로세서에 의해 실행될 때 (예를 들어, 통신 인터페이스(169)를 거쳐 통신 네트워크(142)를 통해) 관리 서버(130)와의 통신을 설정하고 다양한 실시예에 따라 관리 서버(130)로부터 데이터베이스 관리 시스템(150)을 통해 정보 또는 데이터를 획득하는 동작을 수행하는 소프트웨어 애플리케이션을 저장한다.
다양한 실시예에서, 클라이언트 디바이스(110)는 네트워크 연결을 통해 관리 서버(130)와 상호 작용하기 위해 저장된 소프트웨어 애플리케이션(들)을 실행할 수 있다. 실행된 소프트웨어 애플리케이션은 클라이언트 디바이스(110)가 정보(예를 들어, 얼굴 측정치(예를 들어, PD), 사용자 프로필 정보 등)를 통신하게 할 수 있다. 아래에 기술된 바와 같이, 실행된 소프트웨어 애플리케이션(들)은 클라이언트 디바이스(110)와 연관된 사용자가 카메라(124)를 사용하여 PD 측정치를 획득할 수 있게 하도록 구성될 수 있다. 클라이언트 디바이스(110)에 저장된 소프트웨어 애플리케이션(들)은 인터넷 또는 당업자가 이해할 수 있는 바와 같이, 통신 네트워크(142)와 상호 작용할 수 있는 다른 적합한 네트워크 기반 통신에서 웹페이지에 액세스하도록 구성된다. 예를 들어, 사용자는 인터넷 웹페이지를 통해 관리 서버(130)의 사용자 계정에 액세스할 수 있다. 이 예에서, 관리 서버(130)는 클라이언트 디바이스(110) 상의 사용자를 위한 인터넷 웹페이지를 렌더링하도록 구성된다. 대안적으로, 관리 서버(130)는 통신 네트워크(142)를 통해 클라이언트 디바이스(110) 상의 저장된 소프트웨어 애플리케이션(들)에 정보를 제공할 수 있다. 이 예에서, 클라이언트 디바이스(110)는 저장된 소프트웨어 애플리케이션(들) 그래픽 사용자 인터페이스 디스플레이를 사용하여 관리 서버(130)에 의해 제공된 정보를 디스플레이할 것이다. 위의 예에서, 개개의 사용자 계정은 당업자가 이해하고 아래에서 설명하는 바와 같이 개발자, 클라이언트 사용자 또는 감독자/모니터링 권한과 연관될 수 있다.
다양한 실시예에 따르면, 시스템(100)은 데이터, 예를 들어 얼굴 측정 정보(예를 들어, PD 등), 사용자 계정 인증 정보 및 관리 서버(130)에 의해 유지되는 다른 데이터를 관리하고 저장하기 위한 데이터베이스 관리 시스템/저장소(150)를 포함한다. 데이터베이스 관리 시스템 및/또는 저장소는 본 명세서에서 편의상 간단히 DBMS(150)로 지칭된다. DBMS(150)는 다양한 모듈 및 엔진(예시되지 않음)과 통신 가능하게 연결될 수 있다.
하드 드라이브, 테이프 드라이브, 플래시 메모리, 랜덤 액세스 메모리, 읽기 전용 메모리, EEPROM 저장소, SAP HANA 등과 같은 인메모리 데이터베이스 및 이들의 조합과 같은 컴퓨팅 시스템에 의해 액세스될 수 있는 다양한 형태의 데이터 저장소 또는 리포지토리가 시스템(100)에서 사용될 수 있음을 이해해야 한다. 저장된 데이터는 플랫 텍스트 파일 저장소, 관계형 데이터베이스, 비관계형 데이터베이스, XML, 쉼표로 구분된 값, Microsoft Excel 파일 또는 당업자에게 알려진 임의의 다른 형식 및 특정 용도에 적합한 이들의 임의의 조합과 같은 하나 이상의 형식으로 데이터 스토어 내에서 형식화될 수 있다. 데이터 스토어는 파일 시스템 액세스, 네트워크 액세스, SQL 프로토콜(예: ODBC), HTTP, FTP, NES, CIFS 등 및 이들의 임의의 조합과 같이 저장된 데이터에 대한 다양한 형태의 액세스를 제공할 수 있다.
다양한 실시예에 따르면, 클라이언트 디바이스(110)는 관리 서버(130)를 통해 DBMS(150)에 액세스하도록 구성된다. 다양한 실시예에서, DBMS(150)는 데이터베이스 스키마를 유지하도록 구성된다. 예를 들어, 데이터베이스 스키마는 얼굴 측정 또는 사용자 계정 정보와 연관된 DBMS(150) 내의 열에 식별자를 유지하도록 배열될 수 있다. 이 측면에서 식별자는 위에서 설명한 카테고리에 속하는 특정 정보를 지칭한다. DBMS(150) 내의 데이터베이스 스키마는 시스템 내에서 임의의 적절한 방식으로 배열되거나 구성될 수 있다. 위에서 설명한 예는 범주형 식별자를 식별하지만, 여기에 설명된 시스템과 연관된 기록을 유지하는 데 임의의 수의 적절한 식별자를 사용할 수 있다. 또한, 데이터베이스 스키마는 시스템(100)에서 기록 데이터를 유지하기 위해 위에서 설명하지 않은 추가 카테고리 및 식별자를 포함할 수 있다. 데이터베이스는 또한 시스템(100)의 사용자와 연관된 통계 및 마케팅 정보를 제공할 수 있다.
위에서 설명한 데이터베이스 스키마는 시스템이 보다 효율적으로 작동할 수 있도록 하는 방식으로 식별자를 유리하게 구성합니다. 일부 실시예에서, 데이터베이스 스키마 내의 식별자의 카테고리는 식별자를 관리 서버(130)의 연관 관리 모델과 그룹화함으로써 효율성을 증가시킨다.
다양한 실시예에서, 관리 서버(130)는 데이터 및 소프트웨어 명령어를 저장, 유지 및 생성하도록 구성된 컴퓨팅 구성요소를 포함한다. 예를 들어, 관리 서버(130)는 실행 및/또는 추가 데이터 스토어를 위한 소프트웨어 또는 코드를 저장하기위한 하나 이상의 프로세서(24), 하나 이상의 서버(미도시) 및 유형의 비일시적 메모리 디바이스(예를 들어, (DBMS(150)에 추가하여) 로컬 데이터 저장소)를 포함하거나 그에 대한 액세스를 가질 수 있다. 서버는 다양한 실시예에 따라 하나 이상의 프로세스를 수행하기 위해 저장된 소프트웨어 명령어를 실행하도록 구성된 하나 이상의 컴퓨팅 디바이스를 포함할 수 있다. 일부 실시예에서, DBMS(150)는 컴퓨팅 환경(100)의 적어도 하나의 다른 구성요소에 정보를 제공하는 동작, 예를 들어 다른 데이터 스토어 또는 제3 수신자(예를 들어, 은행 시스템, 제3 당사자, 정보수집기관 등)에게 통신 네트워크(142)과 같은 네트워크를 통해 데이터를 제공하는 것을 수행하도록 소프트웨어 명령어를 실행하는 서버를 포함한다.
관리 서버(130)는 하나 이상의 웹사이트, 디지털 포털, 또는 관리 서버(130) 구성요소의 다양한 기능을 수행하도록 구성된 임의의 다른 적합한 서비스를 제공하도록 구성될 수 있다. 일부 실시예에서, 관리 서버(130)는 애플리케이션 프로그래밍 인터페이스("API(application programming interface)")를 유지하며, 이를 통해 서버(130)에 의해 제공되는 기능 및 서비스가 클라이언트 디바이스(110)에 의해 실행되는 하나 이상의 애플리케이션 프로그램을 통해 액세스될 수 있다. 다양한 실시예에서, 관리 서버(130)는 그래픽 사용자 인터페이스(168) 상에 표시하기 위해 클라이언트 디바이스(110) 상의 소프트웨어 애플리케이션(들)에 정보를 제공할 수 있다.
일부 실시예에서, 관리 서버(130)는 (예를 들어, 실행된 애플리케이션 프로그램과 연관된 API를 통해) 클라이언트 디바이스(110)에 정보를 제공한다. 클라이언트 디바이스(110)는 대응하는 개개의 그래픽 사용자 인터페이스(168) 또는 웹페이지를 통해 대응하는 사용자에게 정보의 일부를 제시한다.
다양한 실시예에서, 관리 서버(130)는 관리 서버(130)에 의해 클라이언트 디바이스(110)에 제공되는 서비스와 연관된 정보를 제공하거나 수신하도록 구성된다. 예를 들어, 클라이언트 디바이스(110)는 통신 네트워크(142)를 통해 정보를 수신할 수 있고, 정보의 일부를 로컬 액세스 가능한 저장 디바이스 및/또는 네트워크 액세스 가능한 저장소 디바이스 및 데이터 스토어(예: 클라우드 기반 저장소)에 저장할 수 있다. 예를 들어, 클라이언트 디바이스(110)는 저장된 데이터의 일부를 처리하고 개개의 사용자(들)에게 프레젠테이션하기 위해 저장된 데이터의 일부를 렌더링하기 위해 저장된 명령어(예를 들어, 애플리케이션 프로그램, 웹 브라우저 및/또는 모바일 애플리케이션)를 실행한다. 관리 서버(130)는 분산 네트워크의 대응노드 또는 클라우드 컴퓨팅 환경의 대응 네트워크 서버로 통합될 수 있는 추가 서버(미도시)를 포함할 수 있다. 또한, 서버는 통신 네트워크(142)를 통해 하나 이상의 추가 서버(미도시)와 통신할 수 있으며, 이는 추가 서버에 의한 병렬 실행을 위한 프로세스의 배포를 용이하게 할 수 있다.
PD 프로세스 관리
본 개시내용의 다양한 실시예에서, 클라이언트 디바이스(110)에서 사용자의 PD를 측정하거나 추정하기 위한 프로세스가 제공된다. 이제 도 2를 참조하며, 이는 본 개시내용의 일부 실시예에 따른 깊이 맵을 사용하는 예시적인 PD 측정 프로세스(200)를 예시하는 흐름도이다. 처음에, 단계(202)에서, 이미지는 적어도 하나의 카메라(카메라(124)와 같은 것)를 통해 클라이언트 디바이스(110) 상에서 사용자에 의해 캡처된다. 일부 실시예에서, PD 시스템을 사용하기 위한 명령어(예를 들어, 도 9의 명령어(900)에 도시된 바와 같은 것)은 PD 시스템을 사용하기 전에 사용자에게 제공된다. 일부 실시예에서, 그의/그녀의 머리가 정확한 측정을 위해 적절하게 배치되었는지 여부(즉, 머리가 정확한 이미지 캡처를 위한 위치에 있는지 여부)에 관한 피드백이 사용자에게 제공된다. 예를 들어, 텍스트, 언어 및/또는 기호 형식을 통해 전달되는 이러한 피드백은 사용자가 자신의 머리 및/또는 클라이언트 디바이스(110)를 더 멀리, 더 가까이, 위, 아래, 오른쪽, 왼쪽, 대각선으로, 시계 방향으로 회전 또는 시계 반대 방향으로 회전과 같은 다양한 방향으로 향하게 하고/하거나 클라이언트 디바이스(110)의 스크린 또는 오프스크린의 스팟 또는 영역을 보게 한다. 피드백은 사용자는 자신의 머리 및/또는 눈으로 따라갈 수 있는, 클라이언트 디바이스(110)의 스크린 상의 하나 이상의 표시자를 포함할 수 있다. 사용자가 피드백을 따라가면, 사용자는 결국 정확한 측정을 위해 자신 머리를 배치하게 된다. 예를 들면, 도 10 및 도 11은 "이 점에 촛점을 맞추세오. 이 점이 움직이면 좇으세요.”라고 사용자게 지시하는 텍스트 지시를 갖는 예시적인 표시자(1000)를 도시한다. 표시기가 클라이언트 디바이스(110)의 스크린에서 시작 위치에서 종료 위치로 이동함에 따라, 사용자는 표시자에 따라 자신의 머리 및/또는 눈을 움직일 것이다. 예를 들어, 도 10에 도시된 바와 같이 "더 멀리 이동하세요"과 같은 추가 피드백이 사용자에게 전달될 수 있어, 이미지 캡처 이전에 적어도 하나의 카메라(카메라(124)와 같은 것)로 자신의 머리 및/또는 눈 및/또는 클라이언트 디바이스(110)를 추가로 이동시키도록 할 수 있다. 정확한 측정을 위해 사용자의 머리가 적절하게 배치되면, 이미지는 적어도 하나의 카메라(카메라(124)와 같은 것)를 통해 클라이언트 디바이스(110)에서 사용자에 의해 캡처된다. 전술한 피드백은 단계(202)와 관련하여 발생할 수 있다. 다양한 실시예에 따르면, 캡처되는 이미지는 2D 이미지 및 대응하는 깊이 맵이다. 일부 실시예에서, 이 깊이 맵은 TrueDepth® 카메라를 사용하여 획득된다. 예를 들어, TrueDepth® 카메라는 피사체에 대해 알려진 패턴으로 적외선 점 배열(예: 30,000개 점)을 방출하고 적외선 센서는 점이 장면과 상호 작용하는 방식을 기록하며 해당 정보에서 3D 구조가 생성된다. TrueDepth® 카메라에는 활성화를 위한 근접 센서와 출력 조명 수준을 설정하기 위한 주변광 센서가 포함되어 있다. 3D 정보는 촬영된 물체의 물리적 크기를 결정하는 데 사용될 수 있다. TrueDepth® 카메라가 이 실시예와 관련하여 개시되지만, 당업자는 다양한 다른 깊이 감지 카메라가 여기에 설명된 시스템 및 방법(예를 들어, The Point Cloud Depth Camera™, Intel RealSense®, Kinect® 깊이 카메라, Depth+Multi-Spectral Camera™ 등))에서 프로세스를 수행하는 데 사용될 수 있음을 이해할 것이다.
다양한 실시예에서, 2D 이미지 및 대응하는 3D 깊이 맵은 클라이언트 디바이스(110)의 저장 유닛으로부터 획득될 수 있다. 일부 실시예에서, 2D 이미지 및 대응하는 3D 깊이 맵 정보는 여기에 기술된 프로세스를 수행하기 위해 클라이언트 디바이스(110)에 의해 수신될 수 있다. 2D 이미지 및 대응하는 3D 깊이 맵은 상이한 디바이스에 의해 획득될 수 있고/있거나 본 명세서에 설명된 단계들로부터 비동시적 방식으로 생성될 수 있음을 이해해야 한다.
다양한 실시예에서, 단계 203에서, 복수의 안면 메쉬 랜드마크를 사용하여 대략적인 동공 위치측정가 획득된다. 다양한 실시예에 따르면, 단계 202에서 식별된 3D 정보는 동공의 대략적인 위치를 얻기 위해 안와(eye opening)의 중심 근처(예를 들어, 동공으로부터 0-5mm)의 안면 메쉬 꼭지점의 좌표를 생성하는 데 사용된다. 예를 들어, 꼭지점(1095, 1094, 1107, 1108)은 오른쪽 동공 근처에 있고, 꼭지점(1076, 1075, 1062, 1063)은 왼쪽 동공 근처에 있다. 당업자는 위의 예에서 식별된 꼭지점이 결정된 실제 꼭지점과 다를 수 있으며 개인에 대해 생성된 좌표에 따라 달라질 수 있음을 이해할 것이다. 도 3은 본 개시내용의 일부 실시예에 따라 중첩된 안면 메쉬(905)(복수의 꼭지점(920)에 연결된 복수의 라인(910)으로 묘사됨)를 갖는 사용자의 동공 영역의 예시적인 이미지이고, 안면 메쉬는 키 꼭지점(950) 및 키 꼭지점의 중심(951)을 도시한다. 일부 실시예에서, 각각의 동공에 대해, 각각의 동공에 대응하는 꼭지점의 3D 중심이 중심의 대응하는 2D 이미지 좌표를 결정하기 위해 계산된다. 다양한 실시예에서, 이 계산은 SceneKit's® projectPoint(_:) 방법 또는 장면의 3D 세계 좌표계에서 렌더러의 2D 픽셀 좌표계로 하나 이상의 지점을 투영하는 다른 방법에 의해 수행된다. 당업자는 3D 중심의 대응하는 2D 이미지 좌표를 결정하기 위한 계산이 임의의 적합한 애플리케이션 또는 시스템에 의해 수행될 수 있음을 이해할 것이다.
단계(204)에서, 다양한 실시예에 따라, 단계(203)에서 획득된 초기 동공 위치는 2D 센터-서라운드 필터와의 컨볼루션을 사용하여 개선된다. 이러한 맥락에서 컨볼루션은 이미지에서 커널로 알려진 테스트 패턴의 모양과 가장 잘 일치하는 영역을 찾는 방법으로 생각할 수 있다. 일부 실시예에서, 흰색 환형으로 둘러싸인 어두운 원이 있는 커널은 이미지에서 커널과 유사한 영역을 찾는 데 사용된다. 다양한 실시예에서, 컨볼루션 방법은 위치측정될 패턴이 알려지지 않은 크기를 갖는 경우 다양한 크기의 커널로 여러 번 실행될 수 있다. 일부 실시예에서, 동공 크기 추정치(예를 들어, 직경이 대략 12mm; 대략 = +/- 2mm)는 연관된 안면 메쉬를 사용하여 카메라로부터 눈의 대략적인 거리를 결정하는 데 사용될 수 있다. 동공 크기 추정치 및 다음 공식을 사용하여 이미지에 홍채가 얼마나 크게 나타날지 예측할 수 있다.
홍채의 픽셀 직경 D는 다음과 같이 주어진다.
Figure pct00001
여기서 f는 2D 카메라의 초점 거리, z는 카메라와 동공 사이의 거리, d는 홍채 직경으로 약 12mm로 가정한다.
다양한 실시예에 따르면, 커널은 다음과 같이 구조화된다: 이는 크기가
Figure pct00002
인 직경 D의 중앙 원형 영역과 크기가
Figure pct00003
인 직경 1.5D의 주변 원형 영역을 갖는다. 이 예에서 크기는 커널이 균일한 이미지에서 0의 응답을 생성하도록 선택된다. 컨볼루션은 초기 추정치 주변의 3D×3D 영역에서 적용되며, 가장 강한 응답을 제공하는 영역 내 위치가 개선된 추정치로 간주된다.
도 4(a) 내지 4(c)는 본 개시내용의 일부 실시예에 따라 단계(204)의 2D 이미지와의 컨볼루션을 사용하여 초기 동공 위치를 개선하는 예시적인 표현이며, 도 4a는 센터-서라운드 구조를 갖는 필터 커널(또는 커널)을 도시하고, 도 4b는 커널에 대한 최대 응답이 있는 위치를 나타내는 십자 기호가 있는 원(990)이 있는 이미지 패치를 도시하며, 도 4c는 커널과의 컨볼루션에 대한 이미지 응답을 도시한다.
단계(205)에서, 최종 동공 위치 개선 단계에서, 홍채의 정확한 경계가 추정되고 경계의 탄탄한 맞춤이 원으로 수행된다. 다양한 실시예에 따르면, 204에서 이전 위치측정 단계로부터의 결과를 중심으로 하는 1.5D 픽셀 폭 영역이 고려된다. 각각의 영역에 대해 가로 기울기 커널이 행의 왼쪽 및 오른쪽 절반에 적용된다. 행의 왼쪽 절반에는 [+ 1, 0,- 1] 커널이 적용되어 명암 전환에 대한 강한 반응을 이끌어낸다. 행의 오른쪽 절반에는 [- 1, 0, + 1] 커널이 적용되어, 어두운 곳에서 밝은 곳으로의 전환에 대한 강한 반응을 이끌어낸다. 각각의 절반 행에 대해 응답이 가장 강한 열이 후보 경계점으로 간주된다. 전체 홍채가 보이지 않고 종종 홍채의 상단이 하단보다 더 많이 가려진다는 사실을 설명하기 위해 영역 중심에서 위쪽으로 30° 미만, 영역의 중앙에서 아래쪽으로 45°에 해당하는 행만이 고려된다.
도 5는 본 발명의 일부 실시예에 따른 동공 영역 이미지에 대한 RANSAC 반복 방법의 예시도이다. 도 5에서 실선 원(2000)은 홍채 경계의 초기 추정치를 나타내고, 실선 십자 기호(2001)는 홍채 중심에 대한 초기 추정치를 나타내며, 닫힌 점(3010)은 인라이어 경계 지점을 나타내고, 열린 점(3020)은 아웃라이어 경계 지점을 나타내며, 점선 원(3000)은 홍채 경계에 대한 최종 추정치를 나타내고, 점선 십자 기호(3001)는 홍채 중심에 대한 최종 추정치를 나타낸다. 다양한 실시예에 따라 단계(205)로 계속되며, 후보 경계 지점이 식별되면, 그 지점에 가장 잘 맞는 원이 결정될 필요가 있다. 각막 반사나 기타 불규칙성으로 인해 경계점이 spurious인 경우가 많기 때문에 false positive를 거부하면서 true edge point만 사용할 수 있는 방법을 찾아야 한다. 다양한 실시예에서, 이는 RANSAC 기술을 사용하여 달성된다. 일부 실시예에 따르면, RANSAC은 모델을 무작위로 선택된 점의 하위 집합에 맞추고 가장 낮은 오류를 제공하는 것을 선택함으로써 작동한다. 최종 원 모델에 의해 잘 맞지 않는 점은 아웃라이어로 간주되고 나머지 점은 "인라이어"로 간주된다.
단계(206)(집합적으로 206a 및 206b)에서, 동공 중심의 좌표는 동공의 중심 사이의 물리적 거리를 계산하기 위해 3D 좌표 시스템과 연관된다. 다양한 실시예에서, 동공의 중심 사이의 물리적 거리는 단계(206a)에서 깊이 맵 방법에 따라 계산될 수 있다. 이 실시예에서, z 좌표를 얻기 위해 소프트웨어에 의해 제공되는 이미지 프레임에 대해 카메라 보정이 사용된다. 다양한 실시예에서, 소프트웨어는 클라이언트 디바이스(110)를 위한 Apple iOS™ 또는 유사한 운영 소프트웨어일 수 있다. 이 실시예에서, 값은 2D 이미지에서 동공의 개선된 위치에 대응하는 깊이 맵에서 결정될 수 있다.
대안적으로, 단계(206b)의 다양한 실시예에 따르면, 동공 중심에 대응하는 3D 안면 메쉬 상의 지점을 결정하기 위한 절차가 사용될 수 있다. 이 실시예에서, 이미지 좌표에 대응하는 광선이 발사되고 광선이 안면 메쉬와 교차하는 지점의 3D 세계 좌표를 반환한다.
단계(206)(집합적으로 206a 및 206b)을 참조하면, 다양한 실시예에 따라, Apple iOS™에 의해 제공되는 변환을 사용하여금, 이들 3D 동공 지점은 x=0이 얼굴 중심선에 대응하고 x 축은 머리의 가로지르는 축에 대응하는 얼굴 중심 좌표 시스템으로 표현될 있다. 그런 다음 양안 PD는 동공 위치 사이의 x 거리이고 단안 PD는 동공 위치와 0 사이의 x 거리이다.
도 6은 본 개시내용의 일부 실시예에 따라 원거리 PD를 측정하거나 추정하기 위한 프로세스의 예시적인 예시이다. 단계(207)에서, 카메라(124)로부터 이미지가 촬영되는 거리에 기초하여 PD에 대한 보정이 수행된다. 예를 들어, 카메라(124)가 있는 클라이언트 디바이스(110)(가령, 모바일 장치)는 약 400mm에 해당하는 팔 길이에서 유지된다. 개인이 클라이언트 디바이스(110)의 스크린/디스플레이(168)를 주시(fixating)하고 있는 경우, 그들의 PD는 정확한 PD 결정에 가장 적합한 값인 먼 거리를 주시하고 있을 때의 PD보다 낮을 것이다. 종종 근거리 PD는 고정 값을 추가하여 원거리 PD로 변환된다. 그러나 이 예에서는 피사체로부터의 주시 지점 거리를 알고 있으므로 보다 원칙적인 보정을 수행할 수 있다. 일부 실시예에서, 안구 가로 반경(eyeball transverse radius)은 예를 들어 12mm라고 가정할 수 있다. 그런 다음 카메라 좌표와 동공 중심 좌표로 정의된 광선을 12mm 더 확장하여 안구 중심 좌표를 계산할 수 있다. 일부 실시예에서, 안구 가로 반경은 10mm 내지 14mm의 범위, 또는 그 범위 내의 임의의 중간 값이다. 일부 실시예에서, 안구 가로 반경은 10mm, 11mm, 12mm, 13mm, 또는 14mm이다. 일부 실시예에서, 안구 가로 반경은 대략 12mm(여기서 "대략(approximately)"은 +/- 2mm임)이다. 이 프로세스는 도 6에 예시되어 있다.
다양한 실시예에서, 잠재적 아웃라이어를 폐기하기 위해 다수의 측정치를 집계하는 것이 바람직할 수 있다. 중간 양안 PD 측정을 수행하는 것은 이를 행하는 간단한 방법이다. 단안 측정의 경우 "OS(Oculus sinister)"(왼쪽 눈) 및 "OD(Oculus dexter)"(오른쪽 눈) 값의 중앙값을 취하면 양안 중앙값에 합산되지 않게 할 수 있다. OS와 OD PD 값에 할당된 양안 PD의 비율을 결정하고 중간 비율을 계산한 다음 중앙 양안 PD 값을 곱하는 것이 더 적절하다. 다양한 실시예에 따르면, PD 측정값은 동공계 측정값의 0.5mm 이내이다. 일부 실시예에서, PD 측정값은 동공계 측정값의 1.0mm 이내이다.
도 7은 본 개시내용의 일부 실시예에 따른 PD 계산 인터페이스(800)의 예이다. "A 방법"은 본 명세서에서 설명하는 깊이 맵 방법을 의미한다. "B 방법"은 또한 본 명세서에 기술된 페이스 메쉬 방법을 지칭한다.
도 8 내지 도 11은 각각 본 개시내용의 일부 실시예에 따라 PD를 측정하기 위한 예시적인 인터페이스(801, 802, 803 및 804)이고, 도 12는 본 개시내용의 일부 실시예에 따른 PD 계산 인터페이스(805)의 다른 예를 도시한다. 이러한 인터페이스는 클라이언트 디바이스(110)의 스크린/디스플레이(168)에서 볼 수 있고, 하나 이상의 하이퍼링크, 웹링크, 이미지 링크 및/또는 서비스 버튼(예를 들어, "주문에 추가" 버튼(1010) 또는 다른 구매 관련 버튼)을 포함할 수도 있어, 사용자에게 PD 정보가 필요한 안경과 같은 제품을 검토, 선택 및/또는 구매하도록 안내한다.
본 개시내용의 다양한 실시예에서 시스템(100)은 클라이언트 디바이스(110)의 특정 사용자에 대한 얼굴 측정 데이터(예를 들어, PD 등)를 저장하도록 구성될 수 있다. 다양한 실시예에서, 개개의 사용자에 대한 얼굴 측정 데이터는 사용자 계정과 연관될 수 있다. 일부 실시예에서, 클라이언트 디바이스(110)는 사용자 계정과 연관된 DBMS(150)에 저장하기 위해 얼굴 측정 데이터를 관리 서버(130)에 전송할 수 있다. 다양한 실시예에서, 얼굴 측정 데이터는 얼굴 측정 프로세스를 개선하기 위해 소비자 만족도 점수 또는 등급과 집계될 수 있다. 일부 실시예에서, 제품 추천은 고객 만족도 점수, 구매 이력 또는 특정 제품의 크기, 두께 및/또는 치수와 같은 다른 식별 특성과 연관된 얼굴 측정 데이터에 기초하여 클라이언트 디바이스(110)의 사용자에게 제공된다.
본 개시내용은 이러한 방법을 실시하기 위한 방법 및 장치의 형태로 구현될 수 있다. 본 개시내용은 또한 보안 디지털("SD(secure digital)") 카드, USB 플래시 드라이브, 디스켓, CD-ROM, DVD-ROM, 블루레이 디스크, 하드 드라이브와 같은 유형의 매체 또는 임의의 다른 비일시적 기계 판독 가능 저장 매체에 구현된 프로그램 코드의 형태로 구현될 수 있고, 여기서 프로그램 코드가 컴퓨터와 같은 기계에 로딩되고 실행될 때 기계는 본 개시내용을 실시하기 위한 장치가 된다. 본 개시내용은 또한 예를 들어, 저장 매체에 저장되든, 기계에 로딩되고/되거나 기계에 의해 실행되든, 또는 전기 배선 또는 케이블링 또는 광섬유 광학을 통해 또는 전자기 방사를 통해서와 같이 일부 전송 매체를 통해 전송되든 프로그램 코드의 형태로 구현될 수 있고, 프로그램 코드가 컴퓨터와 같은 기계에 의해 로딩되고 실행되는 경우, 그 기계는 본 개시내용을 실행하는 장치가 된다. 범용 프로세서에서 구현되는 경우 프로그램 코드 세그먼는 특정 로직 회로에 아날로그적으로 동작하는 고유 디바이스를 제공하도록 프로세서와 결합된다.
전술한 실시예들은 구현의 가능한 예일 뿐이며, 본 개시내용의 원리에 대한 명확한 이해를 제시할 뿐이라는 것이 강조될 수 있다. 본 개시내용의 사상 및 원리로부터 실질적으로 벗어나지 않고 본 개시내용의 전술한 실시예에 대해 많은 변형 및 수정이 이루어질 수 있다. 이러한 모든 수정 및 변형은 본 개시내용 및 본 개시내용의 범위 내에 포함되고 다음 청구범위에 의해 보호되는 것으로 의도된다.
본 명세서는 많은 세부 사항을 포함하고 있지만, 이들은 임의의 개시내용 또는 청구될 수 있는 범위에 대한 제한으로 해석되어서는 안되며, 오히려 특정 개시의 특정 실시예에 특정될 수 있는 특징의 설명으로 해석되어야 한다. 별도의 실시예의 맥락에서 본 명세서에 설명된 특정 특징은 또한 단일 실시예에서 조합하여 구현될 수 있다. 역으로, 단일 실시예의 맥락에서 설명된 다양한 특징은 또한 다수의 실시예에서 개별적으로 또는 임의의 적합한 하위 조합으로 구현될 수 있다. 더욱이, 특징이 특정 조합에서 작용하는 것으로 위에서 기술될 수 있고 심지어 초기에 그렇게 청구될지라도, 청구된 조합으로부터의 하나 이상의 특징은 경우에 따라 조합에서 제외될 수 있고, 청구된 조합은 하위 조합 또는 하위 조합의 형에 관한 것일 수 있다.
다양한 실시예가 기술되었지만, 기술된 실시예는 단지 예시적인 것이며 청구피사체의 범위는 모든 범위의 등가물, 많은 변형 및 수정이 본 문서를 숙독함으로써 당업자에게 자연스럽게 떠오를 것이란 점을 이해해야 한다.

Claims (20)

  1. 동공 거리(pupillary distance, PD) 시스템의 동작 방법으로서,
    동공 거리 시스템의 적어도 하나의 카메라로, 피사체(subject)의 얼굴의 제1 2D 이미지 및 대응하는 3D 깊이 맵을 캡처하는 단계와,
    상기 제1 2D 이미지 및 대응하는 3D 깊이 맵을 사용하여 동공 위치측정 정보(pupil localization information)를 결정하는 단계와,
    상기 동공 위치측정 정보에 기초하여 하나 이상의 동공 위치를 개선하는(refining) 단계와,
    하나 이상의 동공 중심 좌표를 결정하는 단계와,
    각각의 동공의 중심 사이의 상기 피사체의 상기 PD를 계산하는 단계를 포함하는,
    방법.
  2. 제1항에 있어서,
    상기 동공 위치측정 정보는 상기 피사체에 대한 하나 이상의 초기 동공 위치를 획득하기 위해 안와(eye opening)의 중심 근처에 복수의 안면 메쉬 꼭지점(face mesh vertice)을 생성하도록 복수의 안면 메쉬 랜드마크를 사용하여 결정되는,
    방법.
  3. 제1항에 있어서,
    상기 하나 이상의 동공 위치는 하나 이상의 커널 및 하나 이상의 2D 센터-서라운드 필터(2D center-surround filter)와의 컨볼루션을 사용하여 개선되는,
    방법.
  4. 제3항에 있어서,
    상기 하나 이상의 커널은 약 12mm의 동공 추정 크기를 사용하는,
    방법.
  5. 제1항에 있어서,
    상기 PD를 계산하는 단계는 상기 2D 이미지에서 상기 개선된 하나 이상의 동공 위치에 대응하는 깊이 맵 값을 사용하는,
    방법.
  6. 제1항에 있어서,
    상기 PD를 계산하는 단계는 각각의 동공의 중심에 대응하는 3D 안면 메쉬 상의 지점들을 사용하여 결정하는,
    방법.
  7. 제1항에 있어서,
    상기 적어도 하나의 카메라로부터 상기 제1 2D 이미지가 촬영된 거리를 사용하여 계산된 PD에 대해 보정을 수행하는 단계를 더 포함하는,
    방법.
  8. 컴퓨터 실행 가능 명령어가 포함된 비일시적 컴퓨터 판독 가능 매체로서,
    프로세서에 의해 실행될 때 상기 컴퓨터 실행 가능 명령어는 상기 프로세서로 하여금,
    적어도 하나의 카메라로부터 피사체의 얼굴의 제1 2D 이미지 및 대응하는 3D 깊이 맵을 획득하고,
    상기 제1 2D 이미지 및 대응하는 3D 깊이 맵을 사용하여 동공 위치측정 정보를 결정하고,
    상기 동공 위치측정 정보에 기초하여 하나 이상의 동공 위치를 개선하고,
    하나 이상의 동공 중심 좌표를 결정하고,
    각각의 동공의 중심 사이에 있는 피사체의 PD를 계산하게 하는,
    비일시적 컴퓨터 판독 가능 매체.
  9. 제8항에 있어서,
    상기 동공 위치측정 정보는 상기 피사체의 하나 이상의 초기 동공 위치를 획득하기 위해 안와의 중심 근처에 복수의 안면 메시 꼭지점을 생성하도록 복수의 안면 메시 랜드마크를 사용하여 결정되는,
    비일시적 컴퓨터 판독 가능 매체.
  10. 제8항에 있어서,
    상기 하나 이상의 동공 위치는 하나 이상의 커널 및 하나 이상의 2D 센터-서라운드 필터와의 컨벌루션을 사용하여 개선되는,
    비일시적 컴퓨터 판독 가능 매체.
  11. 제9항에 있어서,
    상기 하나 이상의 커널은 약 12mm의 동공 추정 크기를 사용하는,
    비일시적 컴퓨터 판독 가능 매체.
  12. 제8항에 있어서,
    상기 PD를 계산하는 것은 상기 2D 이미지에서 개선된 하나 이상의 동공 위치에 대응하는 깊이 맵 값을 사용하는,
    비일시적 컴퓨터 판독 가능 매체.
  13. 제8항에 있어서,
    상기 PD를 계산하는 것은 각각의 동공의 중심에 대응하는 3D 안면 메쉬 상의 지점을 사용하여 결정되는,
    비일시적 컴퓨터 판독 가능 매체.
  14. 제8항에 있어서,
    상기 컴퓨터 실행가능 명령어는 상기 프로세서로 하여금 상기 제1 2D 이미지가 상기 적어도 하나의 카메라로부터 촬영된 거리를 사용하여 계산된 상기 PD에 대한 보정을 더 수행하게 하는,
    비일시적 컴퓨터 판독 가능 매체.
  15. 동공 거리("PD") 시스템으로서,
    모바일 디바이스를 포함하되,
    상기 모바일 디바이스는,
    적어도 하나의 카메라와,
    이미지와 연관된 정보 및 상기 적어도 하나의 카메라로부터 획득한 정보를 저장하는 메모리와,
    프로세서를 포함하고,
    상기 프로세서는,
    상기 적어도 하나의 카메라로부터 피사체의 얼굴의 2D 이미지 및 대응하는 3D 깊이 맵을 획득하고,
    상기 2D 이미지 및 대응하는 3D 깊이 맵을 사용하여 동공 위치측정 정보를 결정하고,
    상기 동공 위치측정 정보에 기초하여 하나 이상의 동공 위치를 개선하고,
    하나 이상의 동공 중심 좌표를 결정하고,
    상기 피사체의 각각의 동공의 중심 사이의 PD를 계산하도록 구성되는,
    PD 시스템.
  16. 제15항에 있어서,
    상기 동공 위치측정은 상기 피사체의 하나 이상의 초기 동공 위치를 획득하기 위해 안와의 중심 근처에 복수의 안면 메쉬 꼭지점을 생성하도록 복수의 안면 메쉬 랜드마크를 사용하여 결정되는,
    PD 시스템.
  17. 제15항에 있어서,
    상기 하나 이상의 동공 위치는 하나 이상의 커널 및 하나 이상의 2D 센터-서라운드 필터와의 컨벌루션을 사용하여 개선되는,
    PD 시스템.
  18. 제17항에 있어서,
    상기 하나 이상의 커널은 약 12mm의 동공 추정 크기를 사용하는,
    PD 시스템.
  19. 제15항에 있어서,
    상기 PD를 계산하는 것은 상기 2D 이미지에서 상기 개선된 하나 이상의 동공 위치에 대응하는 깊이 맵 값을 사용하는,
    PD 시스템.
  20. 제15항에 있어서,
    상기 PD를 계산하는 것은 각각의 동공의 중심에 대응하는 3D 안면 메쉬 상의 지점을 사용하여 결정되는,
    PD 시스템.
KR1020237001741A 2020-06-17 2021-06-11 동공 거리 측정 시스템 및 방법과 그 용도 KR20230026421A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063040184P 2020-06-17 2020-06-17
US63/040,184 2020-06-17
PCT/US2021/037075 WO2021257406A1 (en) 2020-06-17 2021-06-11 System and method for measuring pupillary distance and uses thereof

Publications (1)

Publication Number Publication Date
KR20230026421A true KR20230026421A (ko) 2023-02-24

Family

ID=79022629

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237001741A KR20230026421A (ko) 2020-06-17 2021-06-11 동공 거리 측정 시스템 및 방법과 그 용도

Country Status (8)

Country Link
US (1) US20210393121A1 (ko)
EP (1) EP4167828A1 (ko)
JP (1) JP2023530346A (ko)
KR (1) KR20230026421A (ko)
CN (1) CN115697183A (ko)
CA (1) CA3185605A1 (ko)
IL (1) IL299030A (ko)
WO (1) WO2021257406A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11238611B2 (en) * 2019-07-09 2022-02-01 Electric Avenue Software, Inc. System and method for eyewear sizing

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8459792B2 (en) * 2010-04-26 2013-06-11 Hal E. Wilson Method and systems for measuring interpupillary distance
FR3008805B3 (fr) * 2013-07-16 2015-11-06 Fittingbox Procede de determination de mesures oculaires avec un capteur grand public
DE102014015671A1 (de) * 2014-10-23 2016-04-28 Rodenstock Gmbh Vorrichtung und Verfahren zum Bestimmen von optischen Parametern
US10256859B2 (en) * 2014-10-24 2019-04-09 Usens, Inc. System and method for immersive and interactive multimedia generation
CA2985315C (en) * 2015-05-11 2023-09-26 6 Over 6 Vision Ltd. Apparatus, system and method of determining a pupillary distance
DE102016106121A1 (de) * 2016-04-04 2017-10-05 Carl Zeiss Ag Verfahren und Vorrichtung zum Bestimmen von Parametern zur Brillenanpassung
WO2020072994A1 (en) * 2018-10-05 2020-04-09 EyeQue Inc. Calibration and image procession methods and systems for obtaining accurate pupillary distance measurement
TWI704530B (zh) * 2019-01-29 2020-09-11 財團法人資訊工業策進會 注視度判斷裝置及方法
US11238611B2 (en) * 2019-07-09 2022-02-01 Electric Avenue Software, Inc. System and method for eyewear sizing

Also Published As

Publication number Publication date
JP2023530346A (ja) 2023-07-14
WO2021257406A1 (en) 2021-12-23
CN115697183A (zh) 2023-02-03
US20210393121A1 (en) 2021-12-23
CA3185605A1 (en) 2021-12-23
IL299030A (en) 2023-02-01
EP4167828A1 (en) 2023-04-26

Similar Documents

Publication Publication Date Title
AU2020336048B2 (en) Virtual fitting systems and methods for spectacles
US20220101621A1 (en) Virtual try-on systems and methods for spectacles
KR102393228B1 (ko) 뉴럴 네트워크들을 활용하여 생체 인증 사용자 인식을 위한 디바이스들, 방법들 및 시스템들
KR102591132B1 (ko) 동공간 거리를 결정하는 장치, 시스템 및 방법
CN105026989B (zh) 眼镜镜片的设计系统、供给系统、设计方法及制造方法
CN104036169B (zh) 生物认证方法及生物认证装置
US20150293382A1 (en) Method and System for Virtual Try-On and Measurement
EP2972594A1 (en) Social data-aware wearable display system
CN111512217B (zh) 用于确定镜片的光学参数的方法
CN110348936A (zh) 一种眼镜推荐方法、装置、系统及存储介质
US10474232B2 (en) Information processing method, information processing apparatus and user equipment
US20210393121A1 (en) System and method for measuring pupillary distance and uses thereof
US9091867B1 (en) System, method and device for measuring pupillary distance
US20220207539A1 (en) System and method for predicting a fit quality for a head wearable device and uses thereof
WO2024112592A1 (en) Systems and methods for obtaining measurements using a computing device
WO2019221618A1 (en) An electronic device for ordering eyewear and system and method for ordering eyewear comprising such an electronic device
KR102534394B1 (ko) 온라인 안경 쇼핑 시스템