KR102346320B1 - 고속 3d 모델 피팅 및 인체 측정법 - Google Patents

고속 3d 모델 피팅 및 인체 측정법 Download PDF

Info

Publication number
KR102346320B1
KR102346320B1 KR1020187037228A KR20187037228A KR102346320B1 KR 102346320 B1 KR102346320 B1 KR 102346320B1 KR 1020187037228 A KR1020187037228 A KR 1020187037228A KR 20187037228 A KR20187037228 A KR 20187037228A KR 102346320 B1 KR102346320 B1 KR 102346320B1
Authority
KR
South Korea
Prior art keywords
user
model
raw
determining
image
Prior art date
Application number
KR1020187037228A
Other languages
English (en)
Other versions
KR20190000907A (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 KR20190000907A publication Critical patent/KR20190000907A/ko
Application granted granted Critical
Publication of KR102346320B1 publication Critical patent/KR102346320B1/ko

Links

Images

Classifications

    • 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/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0641Shopping interfaces
    • G06Q30/0643Graphical representation of items or shoppers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • G06K9/00375
    • G06K9/52
    • G06K9/6201
    • 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/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0623Item investigation
    • G06Q30/0625Directed, with specific intent or strategy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/42Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/107Static hand or arm
    • AHUMAN NECESSITIES
    • A41WEARING APPAREL
    • A41HAPPLIANCES OR METHODS FOR MAKING CLOTHES, e.g. FOR DRESS-MAKING OR FOR TAILORING, NOT OTHERWISE PROVIDED FOR
    • A41H1/00Measuring aids or methods
    • A41H1/02Devices for taking measurements on the human body
    • 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/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/16Cloth
    • 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

Abstract

실제 신체 사이즈 분포를 사용하여 대규모의 합성 3D 인체 모델 데이터세트가 생성된다. 모델 데이터세트는 실세계 신체 파라미터 분포를 따를 수 있다. 깊이 센서가 태블릿, 핸드폰 및 웨어러블 장치와 같은 모바일 장치에 통합될 수 있다. 관절 위치 정보를 사용하여 단일 정면 깊이 맵에서 사용자의 신체 사이즈가 추출된다. 신체 사이즈의 추정치가 관절 위치 주위의 국부적 기하학적 피처와 결합되어 강력한 다차원 피처 벡터를 형성한다. 가장 가까운 매치를 식별하기 위해 합성 모델에 대한 피처 벡터 및 사용자에 대한 피처 벡터를 사용하여 고속 최근접 이웃 탐색(nearest neighbor search)을 수행한다. 검색된 모델은 의류 쇼핑, 가상 현실, 온라인 게임 등과 같은 다양한 애플리케이션에서 사용할 수 있다.

Description

고속 3D 모델 피팅 및 인체 측정법{FAST 3D MODEL FITTING AND ANTHROPOMETRICS}
관련 출원
본 국제 출원은 "고속 3D 모델 피팅 및 인체 측정법(FAST 3D MODEL FITTING AND ANTHROPOMETRICS)"이라는 명칭의 2015년 10월 14일자로 출원된 미국 특허 출원 제14/883,419호에 대한 우선권을 주장하고, 또한 이 미국 특허 출원은 "합성 데이터를 이용한 고속 3D 모델 피팅 및 인체 측정법(FAST 3D MODEL FITTING AND ANTHROPOMETRICS USING SYNTHETIC DATA)" 이라는 명칭의 2014년 10월 17일자로 출원된 미국 가출원 번호 제62/065,163호에 대한 우선권을 주장하며, 이 둘은 그 전체가 본원에 참고 문헌으로 포함된다.
기술분야
본 명세서에 개시된 발명의 대상은 일반적으로 센서 데이터를 사용하여 감지된 물체를 나타내는 3차원("3D") 모델을 선택하는 것에 관한 것이다. 구체적으로, 본 개시는 3D 모델들의 세트를 생성하고 센서 데이터에 기초하여 감지된 객체를 세트 내의 하나 이상의 모델에 매칭시키는 것과 관련된 시스템 및 방법에 대해 다룬다.
전자 시장은 의류를 비롯한 아이템을 전자적으로 구매 및 판매할 수 있는 능력을 사용자에게 제공한다. 상이한 의류 제조업체는 상이한 사이즈 표준을 사용한다. 따라서, 사용자가 옷을 주문하면 잘 맞을 수도 있지만 그렇지 않을 수도 있다. 사용자는 주문한 아이템을 반품 및 교환할 수 있는데, 이는 번거롭거나 비용이 들 수 있다.
3D 촬영 시스템은, 다수의 카메라를 사용하거나 또는 일련의 이미지를 촬영하고 사진들 사이에서 개인 또는 카메라를 이동시킴으로써, 여러 각도에서 개인의 이미지를 취할 수 있다. 이들 이미지를 기반으로 개인의 3D 모델을 생성할 수 있다. 이미지를 생성하는 것은 그 개인의 프라이버시를 상실할 위험을 포함한다.
첨부된 도면에는 일부 실시예가 한정이 아닌 예로서 도시되어 있다.
도 1은 일부 실시예에 따른, 합성 데이터를 이용한 고속 3D 모델 피팅 및 인체 측정법에 적합한 네트워크 환경을 나타내는 네트워크 다이어그램이다.
도 2는 일부 실시예에 따른, 합성 데이터를 이용한 고속 3D 모델 피팅 및 인체 측정법에 적합한 모델 피팅 서버의 구성 요소를 나타내는 블록도이다.
도 3은 일부 예시적인 실시예에 따른, 합성 데이터를 이용한 고속 3D 모델 피팅 및 인체 측정법에 적합한 장치의 구성 요소를 나타내는 블록도이다.
도 4는 일부 예시적인 실시예에 따른, 합성 데이터를 이용한 고속 3D 모델 피팅 및 인체 측정 방법의 동작을 도시한 흐름도이다.
도 5는 일부 실시예에 따른, 합성 데이터를 이용한 고속 3D 모델 피팅 및 인체 측정을 위한 인체 모델에서 관절의 위치를 나타내는 대표도이다.
도 6은 일부 예시적인 실시예에 따른, 합성 데이터를 이용한 고속 3D 모델 피팅 및 인체 측정 방법의 동작을 나타내는 흐름도이다.
도 7은 일부 예시적인 실시예에 따른, 합성 데이터를 이용한 고속 3D 모델 피팅 및 인체 측정 방법을 그림으로 나타낸 흐름도이다.
도 8은 본 발명의 일부 실시예에 따른, 합성 데이터를 이용한 고속 3D 모델 피팅 및 인체 측정 방법의 결과를 도시한 테이블이다.
도 9는 일부 예시적인 실시예에 따른, 합성 데이터를 이용한 고속 3D 모델 피팅 및 인체 측정법을 위한 데이터베이스 구조를 나타내는 블록도이다.
도 10은 머신으로 판독 가능한 매체로부터의 명령을 판독하고 본원에서 논의되는 방법들 중 임의의 하나 이상의 방법을 수행할 수 있는, 일부 예시적인 실시예에 따른 머신의 컴포넌트를 나타내는 블록도이다.
이하의 설명은 합성 데이터를 이용한 고속 3D 모델 피팅 및 인체 측정법에 관한 본 개시의 예시적인 실시예를 구현하는 시스템, 방법, 기술, 일련의 명령어 및 컴퓨팅 머신 프로그램을 포함한다. 이하의 설명에서는, 설명을 위해서, 예시적인 실시예을 철저하게 이해할 수 있도록 다수의 특정 세부 사항들을 제시한다. 그러나, 본원의 특허 대상의 실시예가 이러한 특정 세부 사항 없이 실시될 수 있음은 당업자에게 자명할 것이다. 일반적으로, 잘 알려진 명령 인스턴스, 프로토콜, 구조 및 기법은 반드시 상세하게 표시되지는 않는다.
최근에, 소비자 등급의 깊이 카메라가 실용적임이 입증되었고 시장에 빠르게 진출하여 왔다. 이들 센서의 가격은 약 200 달러이며 거실에서 편리하게 사용할 수 있다. 깊이 센서는 또한 태블릿, 휴대폰 및 웨어러블 장치와 같은 모바일 장치에 통합될 수 있다. 따라서, 보통의 사용자들로부터 깊이 데이터를 얻을 수 있고, 정확한 측정치를 추정할 수 있다. 그러나, 이들 센서는 높은 노이즈 수준의 저해상도 깊이 맵(일반적으로 320 x 240 픽셀)만을 제공하기 때문에, 고품질의 3D 인체 모델을 생성하기는 어렵다.
이 과제는 실제의 신체 사이즈 분포를 사용하여 대규모의 합성 3D 인체 모델 데이터세트를 생성함으로써 해결된다. 이 모델 데이터세트는 실제 신체 파라미터 분포를 따를 수 있다. 예를 들어, 여러 연령대의 남성과 여성의 신장과 체중 분포는 체형 분포보다 더 높은 정확도로 알려져 있다. 실제 모집단과 동일한 빈도 분포로, 알려진 신장과 체중에 해당하는 다양한 체형을 갖는 모델을 생성함으로써, 잠재적인 매치의 품질(quality of the potential matches)이 랜덤 모델 분포에 비해 높아진다.
사용자에 대한 신체 사이즈는 관절 위치 정보를 사용하여 깊이 맵으로부터 추출된다. 관절 위치는 실제 관절(예컨대, 발목 관절, 손목 관절 및 팔꿈치 관절) 또는 다른 중요한 신체 위치(예컨대, 머리 관절 및 몸통 관절)에 대응할 수 있다. 하나의 정면 뷰(frontal-view) 깊이 맵을 사용할 수도 있고, 다중 뷰를 사용할 수도 있다. 다른 방향에서 취한 사용자의 추가 깊이 맵은 사용자에 대한 모델 추정의 정확도를 향상시킬 수 있다. 일 실시예에서, 오픈 내츄럴 인터랙션(Open Natural Interaction) 그룹의 OpenNI는 관절 위치 정보를 보고하는데 사용된다. 신체 사이즈의 견적은 강력한 다차원 피처 벡터(feature vector)를 형성하기 위해 관절 위치 주변의 국부 기하 피처(local geometry feature)와 결합된다. 가장 가까운 매치를 식별하기 위해 합성 모델에 대한 피처 벡터 및 사용자에 대한 피처 벡터를 사용하여 고속 최근접 이웃 탐색(nearest neighbor search)을 수행한다. 검색된 3D 모델은 완벽하게 파라미터화되고 리깅되어, 표준 전신 측정, 분류된 신체 부위 등과 같은 데이터를 생성할 수 있다. 리깅(rigging)에는 관절 계층구조 및 관절의 자유도 및 제약(constraint)과 같은 정보가 포함된다. 리깅 데이터의 사용을 통해, 모델이 사실적으로 자세를 취할 수 있고 애니메이션으로 표현될 수 있다.
검색된 3D 모델은 모델의 골격을 관절(예컨대, 마이크로 소프트 키 넥트(Microsoft Kinect™) 또는 다른 소스에 의해 제공되는 관절)에 맵핑함으로써 애니메이션될 수 있다. 신체를 표현하는 체형 및 자세 파라미터에 기초하여, 모델에 사실적인 주름을 갖는 의류가 착용될 수 있다(예컨대, Li J. et al, Fitting 3D garment models onto individual human models, COMPUTERS AND GRAPHICS, 2010년 12월자 참고). 일부 예시적인 실시예에서, 입력 데이터로부터 사용자 신체의 비교적 단순한 피처가 계산되는데, 이는 정밀한 전신 매핑보다 계산 집약적이지 않다. 따라서 사전 렌더링된 3D 모델을 선택하면 전신 매핑 솔루션에 비해 시간과 계산이 절약된다. 검색된 모델은 의류 쇼핑, 가상 현실, 온라인 게임 등과 같은 다양한 애플리케이션에서 사용할 수 있다.
도 1은 일부 예시적인 실시예에 따른, 합성 데이터를 이용한 고속 3D 모델 피팅 및 인체 측정법에 적합한 네트워크 환경(100)을 나타내는 네트워크 다이어그램이다. 네트워크 환경(100)은 전자상거래 서버(120 및 140), 모델 피팅 서버(130), 및 네트워크(170)를 통해 모두 서로 통신 가능하게 연결된 장치들(150A, 150B 및 150C)을 포함한다. 장치들(150A, 150B 및 150C)은 일괄하여 "장치들(150)"이라고도 하며, 일반적으로 "장치(150)"라고도 한다. 전자상거래 서버(120 및 140) 및 모델 피팅 서버(130)는 네트워크 기반 시스템(110)의 일부일 수 있다. 이와 달리, 장치들(150)은 모델 피팅 서버(130)에 직접 접속할 수도 있고 전자상거래 서버(120 또는 140)에 접속하기 위해 사용되는 네트워크(170)와 별개의 로컬 네트워크를 통해 접속할 수도 있다. 전자상거래 서버(120, 140), 모델 피텅 서버(130) 및 장치들(150)은 각각, 도 8과 관련하여 후술하는 바와 같이, 전체적으로 또는 부분적으로 컴퓨터 시스템으로 구현될 수 있다.
전자상거래 서버(120, 140)는 네트워크(170)를 통해 다른 머신들(예컨대, 사용자 장치들(150))에 전자상거래 애플리케이션을 제공한다. 전자상거래 서버(120 및 140)는 모델 피팅 서버(130)에 직접 접속될 수도 있고 또는 통합될 수도 있다. 일부 예시적인 실시예에서, 하나의 전자상거래 서버(120) 및 모델 피팅 서버(130)는 네트워크 기반 시스템(110)의 일부분인 반면에, 다른 전자상거래 서버(예컨대, 전자상거래 서버(140))는 네트워크 기반 시스템(110)으로부터 분리된다. 전자상거래 애플리케이션은 사용자들이 아이템을 서로 직접 매매하거나, 전자상거래 애플리케이션 제공자로부터 구매하거나 전자상거래 애플리케이션 제공자에게 판매하거나, 또는 이들 모두를 할 수 있게 하는 방법을 제공할 수 있다.
모델 피팅 서버(130)는 미리 생성된 합성 모델에 액세스한다. 예를 들어, 미리 생성된 합성 모델은 모델 피팅 서버(130)의 저장 장치에 저장되거나, 모델 피팅 서버(130)에 의해 액세스 가능한 네트워크 저장 장치에 저장되거나, 또는 네트워크(170)를 통해 액세스 가능한 원격 서버에 저장될 수 있다. 합성 모델은 모델 피팅 서버(130) 또는 다른 머신에 의해 생성될 수 있다. 모델 피팅 서버(130)는 네트워크(170) 또는 다른 네트워크를 통해 다른 머신(예컨대, 전자상거래 서버(120 및 140) 또는 장치들(150))에 데이터를 제공할 수 있다. 모델 피팅 서버(130)는 네트워크(170) 또는 다른 네트워크를 통해 다른 머신(예컨대, 전자상거래 서버(120 및 140) 또는 장치들(150))로부터 데이터를 수신할 수 있다.
또한, 도 1에는 사용자(160)가 도시되어 있다. 사용자(160)는 인간 사용자(예컨대, 사람), 머신 사용자(예컨대, 장치(150) 및 모델 피팅 서버(130)와 상호작용하는 소프트웨어 프로그램에 의해 구성된 컴퓨터), 또는 이들의 적절한 조합(예컨대, 사람이 감독하는 머신 또는 머신의 도움을 받는 사람)일 수 있다. 사용자(160)는 네트워크 환경(100)의 일부는 아니지만 장치(150)와 연관이 있고 장치(150)의 사용자일 수 있다. 예를 들어, 장치(150)는 사용자(160)에게 속할 수 있으며, 센서, 데스크탑 컴퓨터, 차량 컴퓨터, 태블릿 컴퓨터, 네비게이션 장치, 휴대용 미디어 장치, 게임 장치, 스마트폰, 또는 사용자(160)를 촬영할 수 있는 센서를 갖는 임의의 다른 장치일 수 있다.
일부 실시예에서, 모델 피팅 서버(130)는 사용자에 관한 데이터를 수신한다. 예를 들어, 장치(150A)에 부착된 깊이 카메라는 사용자(160)의 깊이 이미지를 취하여 이 깊이 이미지를 네트워크(170)를 통해 모델 피팅 서버(130)로 전송할 수 있다. 모델 피팅 서버(130)는 사용자(160)의 깊이 이미지와 미리 생성된 합성 모델의 깊이 프로파일 사이의 최근접 피트 매칭(closest-fit matching)을 수행한다. 최근접 피트 매칭을 기반으로, 모델이 선택된다. 모델 또는 모델에 관한 정보는 전자상거래 서버(120 또는 140), 장치(150A) 또는 이들의 임의의 적절한 조합에 전송될 수 있다. 매칭 모델은 피팅, 가상 현실 또는 다른 애플리케이션에 사용될 수 있다.
도 1에 도시된 머신들, 데이터베이스들, 또는 장치들 중 어느 것이든, 해당 머신, 데이터베이스 또는 장치에 대해서는 본 명세서에서 설명된 기능을 수행하기 위한 특수 목적 컴퓨터가 될 수 있는, 소프트웨어에 의해 수정된(예컨대, 구성 또는 프로그램된) 범용 컴퓨터로 구현될 수 있다. 예를 들어, 본 명세서에 설명된 임의의 하나 이상의 방법을 구현할 수 있는 컴퓨터 시스템은 도 8과 관련하여 아래에 설명한다. 또한, 도 1에 도시된 임의의 둘 이상의 머신들, 데이터베이스들, 또는 장치들은, 단일 머신으로 결합될 수 있으며, 임의의 단일 머신, 데이터베이스 또는 장치에 대해 본 명세서에서 설명된 기능은 복수의 머신, 데이터베이스 또는 장치 사이에 세분될 수 있다. 본 명세서에서 사용된 "데이터베이스"는 데이터 저장 자원이며, 텍스트 파일, 테이블, 스프레드시트, 관계형 데이터베이스(예컨대, 객체 관계형 데이터베이스), 트리플 스토어, 계층적 데이터 스토어, 또는 이들의 임의의 적절한 조합으로서 구조화된 데이터를 저장할 수 있다.
네트워크(170)는 머신들, 데이터베이스들, 및 장치들(예컨대, 모델 피팅 서버(130) 및 장치들(150)) 간의 통신을 가능하게 하는 임의의 네트워크 일 수 있다. 따라서, 네트워크(170)는 유선 네트워크, 무선 네트워크(예컨대, 모바일 또는 셀룰러 네트워크), 또는 이들의 임의의 적절한 조합일 수 있다. 네트워크(170)는 사설 네트워크, 공중 네트워크(예컨대, 인터넷), 또는 이들의 임의의 적절한 조합을 구성하는 하나 이상의 부분을 포함할 수 있다.
도 2는 일부 예시적인 실시예에 따른, 모델 피팅 서버(130)의 구성 요소를 나타내는 블록도이다. 모델 피팅 서버(130)는 (예컨대, 버스, 공유 메모리 또는 스위치를 통해) 서로 통신하도록 구성된 통신 모듈(210), 생성 모듈(220), 이미지 처리 모듈(230), 매칭 모듈(240) 및 저장 모듈(250)을 포함하는 것으로 도시되어 있다. 본 명세서에서 설명하는 임의의 하나 이상의 모듈은 하드웨어(예컨대, 전용 하드웨어 구성 요소) 또는 하드웨어와 소프트웨어(예컨대, 소프트웨어에 의해 구성된 프로세서)의 조합을 사용하여 구현될 수 있다. 또한, 이들 모듈 중 임의의 둘 이상이 단일 모듈로 결합될 수 있고, 단일 모듈에 대해 본 명세서에서 설명하는 기능은 다수의 모듈 사이에 세분될 수 있다. 또한, 다양한 예시적인 실시예에 따르면, 단일 머신, 데이터베이스 또는 장치 내에 구현되는 본 명세서에서 설명하는 모듈은 다수의 머신, 데이터베이스 또는 장치에 걸쳐 분산될 수 있다.
통신 모듈(210)은 데이터를 송수신하도록 구성된다. 예를 들어, 통신 모듈(210)은 네트워크(170)를 통해 센서 데이터를 수신하고 수신된 데이터를 이미지 처리 모듈(230)로 전송할 수 있다. 다른 예로서, 매칭 모듈(240)이 사용자에게 사용될 모델을 식별할 수 있고, 이 모델에 대한 정보가 통신 모듈(210)에 의해 네트워크(170)를 통해 전자상거래 서버(120)로 전송될 수 있다.
생성 모듈(220)은 합성 모델을 생성하도록 구성된다. 예를 들어, 모델 생성을 위한 파라미터를 생성하기 위해 모집단의 신장 및 체중 분포를 사용할 수 있다. 이들 파라미터는, 모집단의 실제 신장과 체중 분포에 대응하는 분포에서 체형을 갖는 합성 모델의 모집단을 생성하는 모델 생성 도구와 함께 사용할 수 있다.
일부 예시적인 실시예에서는, SAE International의 민간 미국 및 유럽 표면 계측 자원 프로젝트 데이터세트(Civilian American and European Surface Anthropometry Resource project dataset)와 같은, 신체를 레이저 스캔하여 생성된 모델을 포함하는 데이터세트가 사용된다. 그러나 레이저 스캔은 폐색(occlusion), 노이즈 또는 등록 오류로 인해 어려움을 겪는 경우 생성된 모델이 불완전하여 시스템의 성능을 저해할 수 있다. 상이한 방향에서 상이한 자세로 세밀한 스캐닝을 하면, FAUST: Dataset and evaluation for 3D mesh registration, Bogo, et al., PROCEEDINGS IEEE CONF. ON COMPUTER VISION AND PATTERN RECOGNITION (2014년 6월)에서 논의된 FAUST 데이터세트에서와 같은 고품질 모델을 생성할 수 있다. 그러나 스캔을 수행하는 데 필요한 추가적인 주의는 효율적으로 생성될 수 있는 모델의 수를 제한하는 경향이 있다.
이미지 처리 모듈(230)은 이미지 데이터를 수신하고 처리하도록 구성된다. 이미지 데이터의 각 이미지는 2차원 이미지, 3차원 이미지, 깊이 이미지, 적외선 이미지, 양안 이미지, 또는 이들의 임의의 적절한 조합일 수 있다. 예를 들어, 이미지는 카메라로부터 수신될 수 있다. 이미지 처리 모듈(230)은 이미지 데이터를 처리하여 이미지 내의 사람 또는 물체의 깊이 맵을 생성할 수 있다.
매칭 모듈(240)은 이미지 처리 모듈(230)에 의해 식별된 파라미터를 생성 모듈(220)에 의해 생성된 합성 모델에 매칭시키도록 구성된다. 예를 들어, 사용자가 자신의 신장 및 체중을 보고하고, 사용자의 이미지가 신장에 대한 어깨 및 엉덩이 폭을 보여주면, 사용자의 3차원 모델을 선택하는데 사용될 수 있는 실질적인 정보가 존재한다.
저장 모듈(250)은 생성 모듈(220), 이미지 처리 모듈(230) 및 매칭 모듈(240)에 의해 생성되고 사용되는 데이터를 저장하고 검색하도록 구성된다. 예를 들어, 생성 모듈(220)에 의해 생성된 모델은 매칭 모듈(240)에 의해 검색될 수 있도록 저장 모듈(250)에 의해 저장될 수 있다. 매칭 모듈(240)에 의해 생성된 매치에 관한 정보도 저장 모듈(250)에 의해 저장될 수 있다. 전자상거래 서버(120 또는 140)는 (예컨대, 사용자 식별자를 제공함으로써) 사용자를 위한 모델(이는 저장 모듈(250)에 의해 저장부로부터 검색될 수 있고 통신 모듈(210)을 사용하여 네트워크(170)를 통해 전송될 수 있다)을 요청할 수 있다.
도 3은 일부 예시적인 실시예에 따른, 장치(150)의 컴포넌트를 나타내는 블록도이다. 장치(150)는, 모두 (예컨대, 버스, 공유 메모리 또는 스위치를 통해) 서로 통신하도록 구성된 입력 모듈(310), 카메라 모듈(320) 및 통신 모듈(330)을 포함하는 것으로 도시되어 있다. 본 명세서에 개시된 임의의 하나 이상의 모듈은 하드웨어(예컨대, 머신의 프로세서) 또는 하드웨어와 소프트웨어의 조합을 사용하여 구현될 수 있다. 예를 들어, 본 명세서에 개시된 임의의 모듈은 그 모듈에 대해 본 명세서에서 설명하는 동작을 수행하도록 프로세서를 구성할 수 있다. 더욱이, 이들 모듈 중 임의의 2개 이상이 단일 모듈로 결합될 수 있고, 단일 모듈에 대해 본 명세서에 설명된 기능은 다수의 모듈로 세분될 수 있다. 또한, 다양한 예시적인 실시예에 따르면, 단일 머신, 데이터베이스 또는 장치로 구현되는 본 명세서에 설명된 모듈이 복수의 머신, 데이터베이스 또는 장치에 걸쳐 분산될 수 있다.
입력 모듈(310)은 사용자 인터페이스를 통해 사용자로부터 입력을 수신하도록 구성된다. 예를 들어, 사용자는 입력 모듈에 신장, 체중 및 성별을 입력하고, 카메라를 설정하며, 모델에 맞게 항목을 선택하는 등의 작업을 할 수 있다. 일부 예시적인 실시예에서, 신장, 체중 및 성별은 사용자가 직접 입력하기보다는 사용자의 이미지에 기초하여 자동으로 결정된다.
카메라 모듈(320)은 이미지 데이터를 캡쳐하도록 구성된다. 예를 들어, 이미지가 카메라로부터 수신될 수도 있고, 깊이 이미지가 적외선 카메라로부터 수신될 수도 있으며, 쌍 이미지가 양안 카메라로부터 수신될 수도 있다.
통신 모듈(330)은 입력 모듈(310) 또는 카메라 모듈(320)에 의해 수신된 데이터를 모델 피팅 서버(130)에 전달하도록 구성된다. 예를 들어, 입력 모듈(310)이 사용자의 신장 및 체중을 포함하는 입력을 수신하고, 통신 모듈(330)이 사용자에 관한 정보를 모델 피팅 머신(130)에 전송하여 매칭 모듈(240)에 의해 액세스 가능한 데이터베이스에 저장되게 할 수 있다.
도 4는 일부 예시적인 실시예에 따른, 합성 모델을 생성하는 프로세스(400)를 수행하는데 있어 모델 피팅 서버(130) 및 장치(150)의 동작을 도시하는 흐름도이다.
동작(410)에서, 모델링될 모집단에 대한 연령, 성별, 신장 및 체중 분포가 액세스된다. 예를 들어, 데이터는 복수의 모집단에서 얻은 온라인 인구 조사 데이터에서 검색할 수 있다. 일부 예시적인 실시예에서, 보다 많거나 보다 적은 분포가 액세스된다. 예를 들어, 근력과 민족적 기원이 고려될 수 있다. 아래 표에 표시된 분포가 사용될 수 있다. 각 셀에 표시된 값은 평균(예컨대, 18-24세 남성의 평균 신장은 176.7cm이다)이고 그 뒤 괄호 안에 표준 편차가 표시되어 있다. 예를 들어, 신장이 163.5cm인 30세(25-44세 범위 내)의 여성은 평균보다 1 표준 편차가 크다.
Figure 112018128912310-pat00001
동작(420)에서, 액세스된 분포들 중 하나 이상에 기초하여 모델들이 생성된다. 즉, 모델의 모집단은 인간 모집단과 유사한 분포 특성을 갖도록 생성될 수 있다. 따라서 평균값에 가까운 값을 갖는 모델이 더 많이 생성될 것이고, 덜 일반적인 값을 갖는 모델이 더 적게 생성될 것이다. 모델은 프로토타입 리얼리스틱 3D 인간 모델을 위해 설계된 오픈 소스 파이썬 프레임워크인 MakeHuman을 사용하여 생성할 수 있다. MakeHuman은 표준 리깅된 인간 메시를 포함하고 있으며, 특정 가상 캐릭터에 대한 정규화된 속성을 기반으로 사실적인 인간 캐릭터를 생성할 수 있다. 합성 모델은 Wavefront .obj 파일(3D 메쉬), .skel 골격 파일(관절 위치), Biovision Hierarchy .bvh(리깅된 골격 데이터) 파일 및 연령, 성별, 신장, 체중, 근육 및 민족 출신을 포함하는 텍스트 파일로 표현될 수 있다. 일부 예시적인 실시예에서, 이 시스템을 사용해서 모델이 실제 집단으로부터 생성될 수 있는 것보다 적은 시간으로 실제 연령, 신장, 체중 및 성별 분포를 갖는 다수의 사실적인 합성 모델을 생성한다.
도 5는 일부 실시예에 따른, 합성 데이터를 이용한 고속 3D 모델 피팅 및 인체 측정을 위한 인체 모델에서의 관절의 위치를 나타내는 대표도이다. 도 5에 도시된 바와 같이, 인체 모델(500)은 다음과 같이 15 개의 관절을 포함한다.
Figure 112018128912310-pat00002
도 6은 일부 예시적인 실시예에 따른, 합성 모델을 생성하는 프로세스(600)를 수행할 때 모델 피팅 서버(130) 및 장치(150)의 동작을 도시한 흐름도이다.
동작(610)에서, 이미지 처리 모듈(230)이 깊이 센서 데이터에 액세스한다. 예를 들어, 이미지 처리 모듈(230)은 카메라 모듈(320)에 의해 캡처된 Kinect™ RGB-D 프레임(적색, 녹색, 청색 및 깊이 데이터를 포함함)으로부터 인간 실루엣을 추출하고 이것을 3D 포인트 클라우드로 바꿀 수 있다.
동작(620)에서 이미지 처리 모듈(230)은 다른 신체 관절에 대응하는 골격 키포인트와 함께 사람의 바이너리 세그먼테이션 마스크를 제공하는 OpenNI를 사용하여 관절 위치를 획득할 수 있다. 도 5에 도시된 바와 같이, OpenNI에서는, 3D 실세계 좌표에서 15개의 관절 위치가 있다. 관절의 3D 위치는 투영에 의해 이미징 평면 상의 2D 좌표로 변환될 수 있다.
사용자의 주축은 동작(630)에서 정의된다. 주축은 {u, v, w}로 정의될 수 있는데, u, v, w는 다음과 같다.
Figure 112018128912310-pat00003
즉, u는 벡터의 길이로 정규화된 목 관절에서부터 몸통 관절까지의 벡터이고, v는 벡터의 길이로 정규화된 왼쪽 어깨에서 오른쪽 어깨까지의 벡터이며, w는 u와 v의 외적(cross product)이다. 따라서, 카메라를 향해 똑바로 서있는 사용자의 경우, u 벡터는 아래를 향하고, v 벡터는 사용자 몸의 왼쪽에서 오른쪽을 가리키며, w 벡터는 사용자로부터 카메라를 가리킬 것이다.
일부 예시적인 실시예에서, 사용자가 거의 직립으로 서 있는지 확인한다. 예를 들어, 아래 수학식은 u 벡터가 몸통 관절에서 두 개의 어깨 관절 사이의 지점으로 직접 그어진 선과 평행한 정도를 측정하는데 사용할 수 있다.
Figure 112018128912310-pat00004
이 수학식의 왼쪽 값이 임계치(ε1)를 초과하면 사용자는 다시 포즈를 취하도록 요청받을 수 있다. 일부 예시적인 실시예에서, ε1에 대해 0.1의 값이 사용된다.
동작(640)에서, 신장이 추정된다. 예를 들어, 깊이 맵을 영상 이진화(thresholding)하고 이를 u 및 v에 의해 정의된 2 차원 평면 상에 투영함으로써 사용자의 분할된 2차원 실루엣의 윤곽이 추출될 수 있다. 그러면, 다음 수학식을 만족하는 윤곽 상의 지점들이 선택된다.
Figure 112018128912310-pat00005
Pc는 윤곽 상의 임의의 지점이고 ε2는 임계값(예컨대, 0.1)이다. 결과 포인트는 윤곽 내에 있고 대략 u에 있다. 이 지점들은 세로로 정렬되고, 상단과 하단 지점이 발견된다. 상단 및 하단 지점은 다시 3D 실세계 좌표로 변환할 수 있으며, 추정 신장은 예상 두 점 사이의 유클리드 거리로 계산될 수 있다.
슬리브 및 다리의 길이는 동작(650)에서 추정된다. 예를 들어, 3D 실제 좌표를 사용하여, 슬리브 길이는
Figure 112018128912310-pat00006
의 평균으로 계산될 수 있다.
유사하게, 다리 길이는
Figure 112018128912310-pat00007
의 평균으로 계산될 수 있다.
동작(660)에서, 목, 어깨, 가슴, 허리, 엉덩이 둘레를 추정한다. 목, 어깨, 가슴, 허리 및 엉덩이 둘레의 추정치를 얻기 위해, 이미지 처리 모듈(230)은 먼저 3D 지점 x을 정의한 다음, x를 통과하고 u에 수직인 평면과 3D 점군(point cloud) 사이의 교차점을 계산한다. OpenNI가 추적한 관절은 해부학적으로 정확한 것이라기보다는 대화형 게임에 유용하도록 설계되므로, OpenNI가 보고한 원시 관절 위치를 실제 해부학적 위치에 더 가깝게 배치하기 위해 일부 조정이 이루어진다. 새로운 관절 위치는 아래 방정식에 따라 정의될 수 있다.
Figure 112018128912310-pat00008
단일 이미지의 단일 깊이 채널이 사용되면, 사용자의 정면만 이용가능하다. 3D 뷰를 생성하기 위해, 하나 이상의 횡단면에 있는 점에 타원을 맞추어 전신 측정을 얻는다. 타원 피팅(ellipse fitting)은 여러 이미지를 사용할 수 있는 경우에도 사용할 수 있다. 각 타원에 대한 점은 점군 내 점 집합(p)으로 정의될 수 있으며, x에서 점까지의 수직 거리는 임계값보다 작다. 또는 수학적으로는 다음과 같이 표현할 수 있다.
Figure 112018128912310-pat00009
임계값(ε3)은 작은 양의 분수(예컨대, 0.1)이다. 일부 예시적인 실시예에서, 측정은 실시간으로 추정된다.
매칭 모듈(240)은 동작(670)에서 사용자 데이터와 가장 잘 매칭되는 모델을 검색한다. 사용자 데이터와 모델 세트(예컨대, 동작(420)에서 생성된 모델 세트) 간의 비교를 수행하는 데 피처 벡터가 사용될 수 있다. 예를 들어, 피처 벡터는 체중이 다른 세 피처 그룹, 즉 전체적 체형(global body shape), 성별(gender) 및 국부적 체형(local body shape)으로 나눌 수 있다.
전체적 체형 피처는 신장, 소매 길이, 다리 길이 및 어깨 너비를 포함할 수 있다. 이 피처는 인체의 보다 긴 치수를 반영한다.
성별 피처는 다음과 같은 두 가지 비율을 포함할 수 있다.
Figure 112018128912310-pat00010
ratio 1 은 가슴 주위의 3D 표면 거리와 좌측 어깨 관절과 우측어깨 관절 사이의 유클리드 거리의 비율이다. 다른 모든 것이 동일하다면 ratio 1 은 여성의 경우에 더 크고 남성의 경우에는 더 작은 경향이 있다. ratio 2 는 3차원 또는 2차원으로 취해진 엉덩이와 허리 사이즈 사이의 비율이다. 다른 모든 것이 동일하다면, ratio 2 또한 여성의 경우에 더 크고 남성의 경우에 더 작은 경향이 있다.
국부적 체형 피처 그룹은 각각의 국부적으로 계산된 지점에 대해 하나의 요소를 포함한다. 예를 들어, Fast point feature histograms(fpfh) for 3d registration, Rusu et al., ROTOTICS AND AUTOMATION 3212-3217(May 2009)에 기술된 바와 같이, 20 센티미터의 검색 반경을 갖는 각 15개의 관절 주위 33개 지점에서 FPFH(fast point feature histogram)가 계산될 수 있다. 이 예에서, 국부적 체형 피처 그룹 안에 495개의 피처가 존재한다.
피처 벡터가 생성되면, 합성 데이터세트에서 가장 가까운 매치를 찾기 위해 매칭 모듈(230)에 의해 가장 가까운 이웃 검색이 수행될 수 있다. 예시적인 실시예에서, 50,000개의 합성 모델에 대한 피처 벡터 데이터세트의 크기는 약 25MB이고, 단일 쿼리는 2.26GHz Intel Xeon E5507 머신에서 완료하는데 약 800ms가 걸린다.
매칭 모델은 임의의 다양한 목적을 위해 사용될 수 있다. 예를 들어, 어떤 특정 신체 사이즈 또는 신체 사이즈 세트가 의류의 특정 사이즈에 해당하는지를 나타내는 사이즈 피팅 차트에 액세스할 수 있다. 모델에서 적절한 신체 사이즈를 읽음으로써 사용자 옷의 정확한 사이즈를 결정할 수 있다. 또 다른 예로서, 옷의 사이즈를 알면 그 옷의 모델을 생성하고 정확한 스케일로 매칭 모델 상에 렌더링할 수 있어, 사용자가 그 옷이 얼마나 잘 맞는지 확인할 수 있다. 다른 예로서, 매칭 모델은 게임이나 가상 현실 환경에 배치되어 사용자를 나타낼 수 있다.
도 7은 일부 예시적인 실시예에 따른, 합성 데이터를 이용한 고속 3D 모델 피팅 및 인체 측정법을 그림으로 나타낸 흐름도이다. 이미지(710)는 사용자가 장치(150)와 같은 이미지 캡쳐 시스템을 셋업하는 것을 나타낸다. 이미지 캡쳐 시스템은 이미지(720)에 도시된 바와 같이 깊이 데이터를 포함하는 사용자의 이미지를 캡쳐한다. 도시된 이미지에서, 사용자가 카메라에 더 가깝기 때문에 배경보다 밝은 회색으로 나타난다. 깊이 데이터에 기초하여, 재구성된 3D 모델(730)과 같은 매칭 모델이 식별된다. 의복에 대한 모델 데이터 및 사이즈 데이터를 사용하여 의복이 몸에 맞추어지고 모델링되어, 옷을 입은 모델(740)이 된다.
도 8은 일부 예시적인 실시예에 따른, 합성 데이터를 이용한 고속 3D 모델 피팅 및 인체 측정법의 결과를 도시한 테이블(800)이다. 테이블(800)의 각 행은 입력 깊이 맵, 입력 깊이 맵으로부터 생성된 정상 깊이 맵, 정규화된 깊이 맵에 기초하여 사전생성된 합성 모델 세트로부터 선택된 선택된 3D 모델, 및 선택된 3D 모델과 디스플레이된 의류의 사이즈 정보에 기초하여 옷을 입은 인간 모델을 보여준다. 정상 깊이 맵은 각각의 픽셀의 표면 법선(즉, 카메라에 대해 표현된 물체의 방향)이 컬러 코드에 따라 표현되는 깊이 맵의 표현이다.
다양한 예시적인 실시예에 따르면, 본 명세서에 기술된 하나 이상의 방법론은 사용자에 대한 3D 모델을 결정하는 것을 용이하게 할 수 있다. 더욱이, 본 명세서에 기술된 하나 이상의 방법은 3D 모델을 동적으로 생성하지 않고 사용자에 대한 3D 모델을 결정하는 것을 용이하게 할 수 있다. 또한, 본 명세서에 기술된 하나 이상의 방법론은 이전 방법에 비해 보다 신속하게 그리고 계산력을 보다 적게 사용하여 사용자에 대한 3D 모델의 선택을 용이하게 할 수 있다.
이러한 효과를 총체적으로 고려할 때, 본 명세서에 설명된 하나 이상의 방법론은, 아마도 그렇지 않으면 사용자를 나타내는 모델을 생성 또는 선택하는데 들게 되는 특정 노력 또는 자원에 대한 필요성을 제거할 수 있다. 관심 항목을 주문할 때 사용자가 소비하는 노력도 본 명세서에 설명된 하나 이상의 방법으로 줄일 수도 있다. 예를 들어, 미리 생성된 세트로부터 모델을 정확하게 선택하는 것에 의해, 사용자는 자신을 위해 특별히 생성된 모델을 사용하는 것에 비해 더 신속하게 그리고 모델의 도움 없이 사용자가 사이즈를 추측하는 것에 비해 더 정확하게 아이템의 실제 핏(actual fit)을 볼 수 있다. (예컨대, 네트워크 환경(100) 내의) 하나 이상의 머신, 데이터베이스 또는 장치에 의해 사용되는 컴퓨팅 리소스가 유사하게 감소될 수 있다. 이러한 컴퓨팅 리소스의 예로는 프로세서 사이클, 네트워크 트래픽, 메모리 사용량, 데이터 저장 용량, 전력 소비량 및 냉각 용량이 있다. 유사하게, 사용자에 대응하는 3D 모델을 제공하기 위한 머신이 존재하며, 본 명세서에 제시된 시스템 및 방법은 사용자에 대응하는 3D 모델을 제공하는 기술에 대한 개선이다.
도 9는 몇몇 예시적인 실시예에 따른, 합성 데이터를 이용한 고속 3D 모델 피팅 및 인체 측정법을 위한 데이터베이스 구조를 나타내는 블록도이다. 데이터베이스(900)는 사용자 테이블(910), 모델 테이블(920) 및 아이템 테이블(930)을 포함한다. 일부 예시적인 실시예에서, 부가적인 요소 또는 더 적은 요소가 각각의 테이블(910-930)에서 사용될 수 있다.
사용자 테이블(910)은 각 사용자를 신장, 체중 및 성별과 함께 고유하게 식별하는 사용자 식별자("ID")를 포함한다. 도 6 내지 8과 관련하여 전술한 바와 같이, 사용자에 대한 정보는 사용자에게 사용할 3D 모델을 식별하는데 사용될 수 있다. 이 3D 모델에 대한 모델 테이블(920)에 대한 참조는 사용자에 대한 모델 ID 필드에 저장될 수 있다. 일부 예시적인 실시예에서, 신장, 체중 및 성별과 같은 사용자 정보가 모델 ID를 결정하기 위해 사용되지만, 이들 정보는 그 후 폐기되고 사용자 테이블(910)에 저장되지 않는다. 일부 예시적인 실시예에서, 둘레 및 너비 사이즈(예컨대, 가슴 넓이 및 가슴 둘레) 및 사용자의 하나 이상의 신체 사이즈 비율과 같이, 사용자의 신체와 관련된 추가적인 사용자 데이터 필드가 저장된다. 일부 예시적인 실시예에서, 이름, 주소, 이메일 주소 및 선호사항과 같은 추가 사용자 데이터가 저장된다.
모델 테이블(920)은 모델의 신장, 체중 및 성별과 함께 각 모델을 고유하게 식별하는 모델 ID를 포함한다. 모델 테이블(920)은 또한 각 모델에 대한 3D 모델 데이터를 포함한다. 예를 들어, 모델의 메시의 데이터 표현이 모델 테이블(920)에 직접 저장될 수도 있고 또는 데이터를 포함하는 파일 이름이 저장될 수도 있다. 일부 예시적인 실시예에서, 모델의 둘레 및 너비 값 및 신체 사이즈 비율과 같이 모델의 생성에 사용된 추가 데이터가 모델 테이블(920)에 저장된다.
아이템 테이블(930)은 각 아이템(예컨대, 의류 아이템)을 고유하게 식별하는 아이템 ID를 그 아이템의 이미지, 그 아이템의 설명 및 그 아이템에 대한 3D 모델 데이터와 함께 포함한다. 일부 실시예에서, 아이템 테이블(930)에는 더 적은 필드가 저장된다. 예를 들어, 3D 모델 데이터가 존재하는 경우, 아이템의 이미지는 3D 모델 데이터로부터 동적으로 생성될 수 있다. 다른 예로서, 측정 정보가 존재할 수 있어, 3D 모델 데이터가 측정 정보 및 아이템의 이미지로부터 동적으로 생성될 수 있게한다.
도 10은, 일부 실시예에 따른, 머신 판독 가능 매체(예컨대, 머신 판독 가능 저장 매체, 컴퓨터 판독 가능 저장 매체, 또는 이들의 임의의 적절한 조합)로부터의 명령어를 판독하고 전체적으로 또는 부분적으로 본 명세서에 설명된 방법론 중 하나 이상을 수행할 수 있는 머신(1000)의 구성 요소를 나타내는 블록도이다. 머신(1000)은 전자상거래 서버(120 및 140), 모델 피팅 서버(130) 및 장치들(150)을 구현하는데 사용될 수 있다. 구체적으로, 도 10은 컴퓨터 시스템의 일례의 형태의 머신(1000)의 개략도이며, 이 머신(1000) 내에서 머신(1000)으로 하여금 본 명세서에서 논의된 임의의 하나 이상의 방법을 수행하하게 하는 명령어(예컨대, 소프트웨어, 프로그램, 애플리케이션, 애플릿, 앱 또는 기타 실행가능한 코드)가 전체적으로 또는 부분적으로 실행될 수 있다. 다른 실시예에서, 머신(1000)은 독립형 장치로서 동작하거나 또는 다른 머신들에 접속(예컨대, 네트워크화)될 수 있다. 네트워킹된 배치에서, 머신(1000)은 서버-클라이언트 네트워크 환경에서는 서버 머신 또는 클라이언트 머신으로서 동작할 수 있고, 분산(예컨대, 피어-투-피어) 네트워크 환경에서는 피어 머신으로서 동작할 수 있다. 머신(1000)은 서버 컴퓨터, 클라이언트 컴퓨터, 퍼스널 컴퓨터(PC), 태블릿 컴퓨터, 랩탑 컴퓨터, 넷북, 셋탑 박스(STB), 개인 휴대 정보 단말기(PDA), 셀룰러폰, 스마트폰, 웹 어플라이언스, 또는 그 머신에 의해 취해질 동작을 지정하는 명령어(1024)를 순차적으로 또는 다른 방식으로 실행할 수 있는 임의의 머신일 수 있다. 또한, 단지 하나의 머신이 도시되어 있지만, "머신"이라는 용어는 본 명세서에서 논의된 임의의 하나 이상의 방법의 전부 또는 일부를 수행하기 위해 명령어(1024)를 개별적으로 또는 공동으로 실행하는 머신들의 집합을 포함하는 것으로 이해해야 한다.
머신(1000)은 버스(1008)를 통해 서로 통신하도록 구성된 프로세서(1002)(예컨대, CPU(central processing unit), GPU(graphics processing unit), DSP(digital signal processor), ASIC(application specific integrated circuit), RFIC(radio-frequency integrated circuit), 또는 이들의 임의의 적절한 조합), 메인 메모리(1004), 및 정적 메모리(1006)를 포함한다. 머신(1000)은 그래픽 디스플레이(1010)(예컨대, PDP(plasma display panel), LED(light emitting diode) 디스플레이, LCD(liquid crystal display), 프로젝터, 또는 CRT(Cathode Ray Tube))를 더 포함할 수 있다. 머신(1000)은 또한 영숫자 입력 장치(1012)(예컨대, 키보드), 커서 제어 장치(1014)(예컨대, 마우스, 터치패드, 트랙볼, 조이스틱, 모션 센서 또는 다른 포인팅 기구), 저장 유닛(1016), 신호 생성 장치(1018)(예컨대, 스피커), 및 네트워크 인터페이스 장치(1020)를 포함할 수 있다.
저장 유닛(1016)은 본 명세서에 기술된 임의의 하나 이상의 방법 또는 기능을 구현하는 명령어(1024)가 저장되는 머신 판독 가능한 매체(1022)를 포함한다. 명령어(1024)는 또한 머신(1000)에 의해 실행되는 동안 메인 메모리(1004) 내에 또는 프로세서(1002) 내에(예컨대, 프로세서의 캐시 메모리 내에) 또는 둘 모두에 완전히 또는 적어도 부분적으로 상주할 수 있다. 따라서, 메인 메모리(1004) 및 프로세서(1002)는 머신 판독 가능 매체로서 고려될 수 있다. 명령어(1024)는 네트워크 인터페이스 장치(1020)를 통해 네트워크(1026)(예컨대, 네트워크(170))를 통해 전송되거나 수신될 수 있다.
본 명세서에 사용된 바와 같이, "메모리"라는 용어는 데이터를 일시적으로 또는 영구적으로 저장할 수 있는 머신 판독 가능 매체를 지칭하며, RAM(random-access memory), ROM(read-only memory), 버퍼 메모리, 플래시 메모리 및 캐시 메모리를 포함할 수 있다. 머신 판독 가능 매체(1022)는 일 실시예에서 단일 매체로 도시되어 있지만, "머신 판독 가능 매체"라는 용어는 명령어를 저장할 수 있는 단일 매체 또는 다중 매체(예컨대, 중앙 집중식 또는 분산형 데이터베이스, 또는 연관된 캐시 및 서버)를 포함하는 것으로 생각할 수 있다. "머신 판독 가능 매체"라는 용어는 또한 머신(예컨대, 머신(1000))에 의한 실행을 위한 명령어를 저장할 수 있는 임의의 매체 또는 다중 매체의 조합을 포함하는 것으로 생각해야 하며, 따라서 이들 명령어는 머신의 하나 이상의 프로세서(예컨대, 프로세서(1002))에 의해 실행될 때 머신으로 하여금 본 명세서에 기술된 임의의 하나 이상의 방법을 수행하게 한다. 따라서, "머신 판독 가능 매체"는 단일 저장 장치 또는 디바이스 뿐만 아니라 다수의 저장 장치 또는 디바이스를 포함하는 "클라우드 기반" 저장 시스템 또는 저장 네트워크도 지칭한다. 따라서 "머신 판독 가능 매체"라는 용어는 고체 메모리, 광학 매체, 자기 매체 또는 이들의 임의의 적절한 조합 형태의 하나 이상의 데이터 저장소를 포함하는 것을 의미하지만, 이에 한정되지는 않는다.
또한, 머신 판독 가능 매체는 전파 신호를 구현한다는 점에서 일시적일 수도 있다.
본 명세서 전체에 걸쳐, 복수의 인스턴스는 단일 인스턴스로 기술된 컴포넌트, 동작 또는 구조를 구현할 수 있다. 하나 이상의 방법의 개개의 동작이 별개의 동작으로 도시되고 기술되었지만, 개개의 동작 중 하나 이상은 동시에 수행될 수도 있고, 동작들이 반드시 도시된 순서대로 수행될 필요는 없다. 예시적인 구성에서 별도의 컴포넌트로서 제시된 구조 및 기능은 결합된 구조 또는 컴포넌트로 구현될 수 있다. 유사하게, 단일 컴포넌트로서 제시된 구조 및 기능은 별개의 컴포넌트로서 구현될 수도 있다. 이들 및 다른 변형, 수정, 추가 및 개선은 본 명세서의 청구대상의 범위 내에 있다.
소정의 실시예는 본 명세서에서 로직 또는 다수의 컴포넌트, 모듈 또는 메커니즘을 포함하는 것으로서 설명된다. 모듈은 하드웨어 모듈을 구성할 수 있다. "하드웨어 모듈"은 소정의 동작을 수행할 수 있는 유형의 단위이며 소정의 물리적 인 방식으로 구성 또는 정렬될 수 있다. 다양한 예시적인 실시예에서, 하나 이상의 컴퓨터 시스템(예컨대, 독립형 컴퓨터 시스템, 클라이언트 컴퓨터 시스템, 또는 서버 컴퓨터 시스템) 또는 컴퓨터 시스템의 하나 이상의 하드웨어 모듈(예컨대, 프로세서 또는 프로세서 그룹)은, 소프트웨어(예컨대, 애플리케이션 또는 애플리케이션 부분)에 의해 본 명세서에 기술된 바와 같은 소정의 동작을 수행하도록 동작하는 하드웨어 모듈로서 구성될 수 있다.
일부 실시예에서, 하드웨어 모듈은 기계적으로, 전자적으로 또는 이들의 임의의 적절한 조합으로 구현될 수 있다. 예를 들어, 하드웨어 모듈은 소정의 동작을 수행하도록 영구적으로 구성된 전용 회로 또는 로직을 포함할 수 있다. 예를 들어, 하드웨어 모듈은 FPGA(Field Programmable Gate Array) 또는 ASIC과 같은 특수 목적 프로세서일 수 있다. 하드웨어 모듈은 또한 소정의 동작을 수행하도록 소프트웨어에 의해 일시적으로 구성되는 프로그래밍 가능한 로직 또는 회로를 포함할 수 있다. 예를 들어, 하드웨어 모듈은 범용 프로세서 또는 다른 프로그램 가능 프로세서 내에 포함된 소프트웨어를 포함할 수 있다. 하드웨어 모듈을 기계적으로, 전용 및 영구적으로 구성된 회로로 구현할지, 또는 일시적으로 구성된 회로(예컨대, 소프트웨어에 의해 구성됨)로 구현할지의 결정은 비용 및 시간을 고려하여 이루어질 수 있음을 이해할 것이다.
따라서, "하드웨어 모듈"이라는 표현은 유형의 개체, 즉, 물리적으로 구성되거나, 영구적으로 구성되거나(예컨대, 하드 와이어드) 또는 소정의 방식으로 동작하거나 본 명세서에 기술된 소정의 동작을 수행하도록 일시적으로 구성된(예컨대, 프로그램된) 개체를 포함하는 것으로 이해해야 한다. 본 명세서에 사용된 "하드웨어 구현 모듈"은 하드웨어 모듈을 의미한다. 하드웨어 모듈이 일시적으로 구성되는(예컨대, 프로그래밍된) 실시예들을 고려하면, 하드웨어 모듈들 각각은 어느 한 시점에서 구성되거나 인스턴스화될 필요가 없다. 예를 들어, 하드웨어 모듈이 소프트웨어에 의해 특수 목적 프로세서가 되도록 구성된 범용 프로세서를 포함하는 경우, 이 범용 프로세서는 상이한 시간에 제각기 (예컨대, 상이한 하드웨어 모듈을 포함하는) 상이한 특수 목적 프로세서로서 구성될 수 있다. 따라서, 소프트웨어는, 예컨대, 한 순간에는 특정 하드웨어 모듈을 구성하고 다른 순간에는 다른 하드웨어 모듈을 구성하도록 프로세서를 구성할 수 있다.
하드웨어 모듈은 다른 하드웨어 모듈에 정보를 제공하고 또한 이들로부터 정보를 수신할 수 있다. 따라서, 상술한 하드웨어 모듈들은 통신 가능하게 결합된 것으로 간주될 수 있다. 동시에 다수의 하드웨어 모듈이 존재하는 경우, 통신은 둘 이상의 하드웨어 모듈들 사이에서의 신호 전송을 통해(예컨대, 적절한 회로 및 버스를 통해) 달성될 수 있다. 다수의 하드웨어 모듈들이 상이한 시간에 구성되거나 인스턴스화되는 실시예에서, 그러한 하드웨어 모듈들 간의 통신은, 예컨대, 다수의 하드웨어 모듈이 액세스하는 메모리 구조 내의 정보의 저장 및 검색을 통해 달성될 수 있다. 예를 들어, 하나의 하드웨어 모듈은 동작을 수행하고 그 동작의 출력을 통신 가능하게 연결된 메모리 장치에 저장할 수 있다. 그 후, 추가의 하드웨어 모듈이 저장된 출력을 검색하고 처리하기 위해 나중에 메모리 장치에 액세스할 수 있다. 하드웨어 모듈은 또한 입력 또는 출력 장치와의 통신을 개시할 수 있고, 자원(예컨대, 정보의 모음)에 대해 동작할 수 있다.
본 명세서에 기술된 예시적인 방법의 다양한 동작은 관련 동작을 수행하도록 (예컨대, 소프트웨어에 의해) 일시적으로 구성되거나 영구적으로 구성된 하나 이상의 프로세서에 의해 적어도 부분적으로 수행될 수 있다. 이들 프로세서는 일시적으로 또는 영구적으로 구성되더라도, 본 명세서에 기술된 하나 이상의 동작 또는 기능을 수행하도록 동작하는 프로세서 구현 모듈을 구성할 수 있다. 본 명세서에 사용된 "프로세서 구현 모듈"은 하나 이상의 프로세서를 사용하여 구현된 하드웨어 모듈을 지칭한다.
유사하게, 본 명세서에 기술된 방법들은 적어도 부분적으로 프로세서로 구현될 수 있는데, 프로세서는 하드웨어의 일례이다. 예를 들어, 방법의 동작 중 적어도 일부는 하나 이상의 프로세서 또는 프로세서 구현 모듈에 의해 수행될 수 있다. 또한, 하나 이상의 프로세서는 "클라우드 컴퓨팅" 환경에서 관련 동작의 성능을 지원하도록 또는 "SaaS(software as a service)"로서 동작할 수 있다. 예를 들어, 적어도 일부 동작은 컴퓨터 그룹(프로세서를 포함하는 머신의 예로서)에 의해 수행될 수 있는데, 이들 동작은 네트워크(예컨대, 인터넷) 및 하나 이상의 적절한 인터페이스(예컨대, API(application program interface))를 통해 액세스가능하다.
소정의 동작들의 성능은 단일 머신 내에 존재할 뿐만 아니라 다수의 머신들에 걸쳐 배치되는 하나 이상의 프로세서들 사이에 분산될 수 있다. 일부 예시적인 실시예에서, 하나 이상의 프로세서 또는 프로세서 구현 모듈은 하나의 지리적 위치(예컨대, 가정 환경, 사무실 환경 또는 서버 팜 내)에 위치할 수 있다. 다른 예시적인 실시예에서, 하나 이상의 프로세서 또는 프로세서-구현 모듈은 다수의 지리적 위치에 걸쳐 분산될 수 있다.
본 명세서에서 논의된 발명대상의 일부는 머신 메모리(예컨대, 컴퓨터 메모리) 내의 비트 또는 2진 디지털 신호로서 저장된 데이터에 대한 연산의 알고리즘 또는 기호 표현으로 제공될 수 있다. 이러한 알고리즘 또는 기호 표현은 데이터 처리 기술 분야의 당업자가 다른 당업자에게 그들의 작업 내용을 전달하기 위해 사용하는 기술의 예들이다. 본 명세서에서 사용된 "알고리즘"은 일관성있는 일련의 동작 또는 원하는 결과를 유도하는 유사한 처리이다. 이러한 맥락에서, 알고리즘 및 동작은 물리량의 물리적 조작을 수반한다. 통상적으로, 그러나 반드시 그러한 것은 아니지만, 이들 양은 머신에 의해 저장, 액세스, 전송, 결합, 비교 또는 달리 조작될 수 있는 전기, 자기 또는 광학 신호의 형태를 취할 수 있다. 주로 일반적인 용법의 이유로, "데이터", "콘텐츠", "비트", "값", "요소", "심볼", "문자", "용어", "숫자" 등과 같은 단어를 사용하여 이러한 신호를 지칭하는 것이 편리하다. 그러나, 이들 단어는 단지 편리한 칭호일 뿐이며 적절한 물리적인 양과 연관되어야 한다.
달리 구체적으로 언급되지 않는 한, "처리", "컴퓨팅", "계산", "결정", "제시", "표시" 등과 같은 단어를 사용하는 본 명세서의 설명은, 하나 이상의 메모리(예컨대, (예컨대, 휘발성 메모리, 비휘발성 메모리, 또는 이들의 임의의 적절한 조합), 레지스터 또는 정보를 수신, 저장, 전송 또는 표시하는 기타 머신 컴포넌트 내에서 물리적(예컨대, 전자, 자기, 또는 광학) 양으로서 표현된 데이터를 조작하거나 변환하는 머신(예컨대, 컴퓨터)의 동작 또는 프로세스를 지칭할 수 있다. 또한, 달리 구체적으로 언급되지 않는 한, 본 명세서에서 사용되는 단수형은, 특허 문서에서 일반적으로 사용되는 바와 같이 하나 이상의 예를 포함하도록 사용된다. 마지막으로, 본 명세서에서 사용된 바와 같이, "또는"은 달리 명시되지 않는 한 비 배타적인 "또는"을 의미한다.
다음의 열거된 예들은 본 명세서에서 논의된 방법들, 머신 판독 가능 매체, 및 시스템들(예컨대, 장치)의 다양한 예시적인 실시예들을 정의한다.
예제 1. 사용자의 이미지에 액세스하는 단계와, 상기 사용자의 이미지에 기초하여, 상기 사용자의 물리적 속성을 결정하는 단계와, 상기 사용자의 물리적 속성과 모델의 대응하는 속성 사이의 매치(match)에 기초하여, 모델 세트에서 모델을 선택하는 단계와, 상기 선택된 모델을 디스플레이 장치에 표시하는 단계를 포함하는 방법.
예제 2. 속성의 모집단 분포에 기초하여 상기 모델 세트를 합성하는 단계를 더 포함하는, 예제 1의 방법.
예제 3. 상기 속성의 모집단 분포는 각 성별에 대한 상기 속성의 평균 및 표준 편차를 포함하는 예제 1 또는 예제 2의 방법.
예제 4. 상기 사용자의 물리적 속성과 상기 모델의 대응하는 속성 간의 매치는 상기 사용자의 피처 벡터(feature vector)와 상기 모델의 피처 벡터의 비교의 일부로서 발견되며, 각각의 상기 피처 벡터는 신장(height) 값, 체중(weight) 값 및 성별(gender) 값을 포함하는 예제 1 내지 3 중 적절한 어느 한 예제의 방법.
예제 5. 상기 각각의 피처 벡터는 목 둘레 값, 어깨 둘레 값, 가슴 둘레 값, 허리 둘레 값 및 엉덩이 둘레 값을 더 포함하는 예제 4의 방법.
예제 6. 상기 사용자의 이미지는 깊이 맵을 포함하고, 상기 사용자의 물리적 속성을 결정하는 단계는 상기 깊이 맵에 기초하는 예제 1 내지 5 중 적절한 어느 한 예제의 방법.
예제 7. 상기 사용자의 물리적 속성을 결정하는 단계는 상기 사용자의 주축을 결정하는 단계를 포함하는 예제 1 내지 6 중 적절한 어느 한 예제의 방법.
예제 8. 상기 사용자로부터의 의류 아이템의 선택을 수신하는 단계와, 상기 선택된 모델에 기초하여 상기 의류 아이템에 대한 사이즈를 결정하는 단계를 더 포함하고, 상기 선택된 모델을 상기 디스플레이 장치에 표시하는 단계는 상기 선택된 모델이 상기 의류 아이템을 착용한 표현을 상기 디스플레이 장치에 표시하는 단계를 포함하는 예제 1 내지 7 중 적절한 어느 한 예제의 방법.
예제 9. 상기 의류 아이템의 사이즈에 기초하여 모델이 상기 의류 아이템을 착용한 표시를 생성하는 단계를 더 포함하는 예제 1 내지 8 중 적절한 어느 한 예제의 방법.
예제 10. 동작들을 수행하도록 구성된 하나 이상의 프로세서를 포함하되, 상기 동작들은 사용자의 이미지에 액세스하는 것과, 상기 사용자의 이미지에 기초하여, 상기 사용자의 물리적 속성을 결정하는 것과, 상기 사용자의 물리적 속성과 모델의 대응하는 속성 사이의 매치(match)에 기초하여, 모델 세트에서 모델을 선택하는 것과, 상기 선택된 모델을 디스플레이 장치에 표시하는 것을 포함하는 시스템.
예제 11. 상기 동작들은, 속성의 모집단 분포에 기초하여 상기 모델 세트를 합성하는 것을 더 포함하는 예제 10의 시스템.
예제 12. 상기 속성의 모집단 분포는 각 성별에 대한 상기 속성의 평균 및 표준 편차를 포함하는 예제 11의 시스템.
예제 13. 상기 사용자의 물리적 속성과 상기 모델의 대응하는 속성 간의 매치는 상기 사용자의 피처 벡터(feature vector)와 상기 모델의 피처 벡터의 비교의 일부로서 발견되며, 각각의 상기 피처 벡터는 신장(height) 값, 체중(weight) 값 및 성별(gender) 값을 포함하는 예제 10 내지 12 중 적절한 어느 한 예제의 시스템.
예제 14. 상기 각각의 피처 벡터는 목 둘레 값, 어깨 둘레 값, 가슴 둘레 값, 허리 둘레 값 및 엉덩이 둘레 값을 더 포함하는 예제 13의 시스템.
예제 15. 상기 사용자의 이미지는 깊이 맵을 포함하고, 상기 사용자의 물리적 속성을 결정하는 것은 상기 깊이 맵에 기초하는 예제 10 내지 14 중 적절한 어느 한 예제의 시스템.
예제 16. 상기 사용자의 물리적 속성을 결정하는 것은 상기 사용자의 주축을 결정하는 것을 포함하는 예제 10 내지 15 중 적절한 어느 한 예제의 시스템.
예제 17. 상기 동작들은, 상기 사용자로부터의 의류 아이템의 선택을 수신하는 것과, 상기 선택된 모델에 기초하여 상기 의류 아이템에 대한 사이즈를 결정하는 것을 더 포함하고, 상기 선택된 모델을 상기 디스플레이 장치에 표시하는 것은 상기 선택된 모델이 상기 의류 아이템을 착용한 표현을 상기 디스플레이 장치에 표시하는 것을 포함하는 예제 10 내지 16 중 적절한 어느 한 예제의 시스템.
예제 18. 상기 동작들은, 상기 의류 아이템의 사이즈에 기초하여 모델이 상기 의류 아이템을 착용한 표시를 생성하는 것을 더 포함하는 예제 17의 시스템.
예제 19. 예제 1 내지 9의 방법을 수행하는 명령어를 수록한 머신 판독 가능 매체.

Claims (19)

  1. 머신의 프로세서에 의해 수행되는, 컴퓨터로 구현되는 방법으로서,
    사용자의 이미지에 액세스하는 단계와,
    상기 사용자의 이미지에 기초하여, 상기 사용자의 물리적 속성을 결정하는 단계와,
    상기 사용자의 물리적 속성과 모델의 대응하는 속성 사이의 매치(match)에 기초하여, 모델 세트에서 모델을 선택하는 단계와,
    상기 선택된 모델을 디스플레이 장치에 표시하게 하는 단계를 포함하되,
    상기 사용자의 물리적 속성을 결정하는 단계는 상기 사용자의 이미지로부터 얻어진 원시 관절 위치를 실제 해부학적 위치에 더 가깝게 배치하기 위해 사전결정된 방정식에 기초하여 조정하는 단계를 포함하고, 상기 사전결정된 방정식은 다음의 방정식
    Figure 112021087053921-pat00021

    중 적어도 하나를 포함하고, 여기서 HE는 원시 머리 관절 위치, NE는 원시 목 관절 위치, TO는 원시 몸통 관절 위치, LS는 원시 좌측 어깨 관절 위치, RS는 원시 우측 어깨 관절 위치, LH는 원시 좌측 엉덩이 관절 위치, RH는 원시 우측 엉덩이 관절 위치를 나타내는
    방법.
  2. 제1항에 있어서,
    속성의 모집단 분포에 기초하여 상기 모델 세트를 합성하는 단계를 더 포함하는
    방법.
  3. 제2항에 있어서,
    상기 속성의 모집단 분포는 각 성별에 대한 상기 속성의 평균 및 표준 편차를 포함하는
    방법.
  4. 제1항에 있어서,
    상기 사용자의 물리적 속성과 상기 모델의 대응하는 속성 간의 매치는 상기 사용자의 피처 벡터(feature vector)와 상기 모델의 피처 벡터의 비교의 일부로서 발견되며, 각각의 상기 피처 벡터는 신장(height) 값, 체중(weight) 값 및 성별(gender) 값을 포함하는
    방법.
  5. 제4항에 있어서,
    상기 각각의 피처 벡터는 목 둘레 값, 어깨 둘레 값, 가슴 둘레 값, 허리 둘레 값 및 엉덩이 둘레 값을 더 포함하는
    방법.
  6. 제1항에 있어서,
    상기 사용자의 이미지는 깊이 맵을 포함하고,
    상기 사용자의 물리적 속성을 결정하는 단계는 상기 깊이 맵에 기초하는
    방법.
  7. 제1항에 있어서,
    상기 사용자의 물리적 속성을 결정하는 단계는 상기 사용자의 주축을 결정하는 단계를 포함하는
    방법.
  8. 제1항에 있어서,
    상기 사용자로부터의 의류 아이템의 선택을 수신하는 단계와,
    상기 선택된 모델에 기초하여 상기 의류 아이템에 대한 사이즈를 결정하는 단계를 더 포함하고,
    상기 선택된 모델을 상기 디스플레이 장치에 표시하게 하는 단계는 상기 선택된 모델이 상기 의류 아이템을 착용한 표현을 상기 디스플레이 장치에 표시하는 단계를 포함하는
    방법.
  9. 제8항에 있어서,
    상기 의류 아이템의 사이즈에 기초하여 상기 모델이 상기 의류 아이템을 착용한 표현을 생성하는 단계를 더 포함하는
    방법.
  10. 시스템으로서,
    동작들을 수행하도록 구성된 하나 이상의 프로세서를 포함하되, 상기 동작들은
    사용자의 이미지에 액세스하는 것과,
    상기 사용자의 이미지에 기초하여, 상기 사용자의 물리적 속성을 결정하는 것과,
    상기 사용자의 물리적 속성과 모델의 대응하는 속성 사이의 매치(match)에 기초하여, 모델 세트에서 모델을 선택하는 것과,
    상기 선택된 모델을 디스플레이 장치에 표시하게 하는 것을 포함하되,
    상기 사용자의 물리적 속성을 결정하는 것은 상기 사용자의 이미지로부터 얻어진 원시 관절 위치를 실제 해부학적 위치에 더 가깝게 배치하기 위해 사전결정된 방정식에 기초하여 조정하는 것을 포함하고, 상기 사전결정된 방정식은 다음의 방정식
    Figure 112021087053921-pat00022

    중 적어도 하나를 포함하고, 여기서 HE는 원시 머리 관절 위치, NE는 원시 목 관절 위치, TO는 원시 몸통 관절 위치, LS는 원시 좌측 어깨 관절 위치, RS는 원시 우측 어깨 관절 위치, LH는 원시 좌측 엉덩이 관절 위치, RH는 원시 우측 엉덩이 관절 위치를 나타내는
    시스템.
  11. 제10항에 있어서,
    상기 동작들은, 속성의 모집단 분포에 기초하여 상기 모델 세트를 합성하는 것을 더 포함하는
    시스템.
  12. 제11항에 있어서,
    상기 속성의 모집단 분포는 각 성별에 대한 상기 속성의 평균 및 표준 편차를 포함하는
    시스템.
  13. 제10항에 있어서,
    상기 사용자의 물리적 속성과 상기 모델의 대응하는 속성 간의 매치는 상기 사용자의 피처 벡터(feature vector)와 상기 모델의 피처 벡터의 비교의 일부로서 발견되며, 각각의 상기 피처 벡터는 신장(height) 값, 체중(weight) 값 및 성별(gender) 값을 포함하는
    시스템.
  14. 제13항에 있어서,
    상기 각각의 피처 벡터는 목 둘레 값, 어깨 둘레 값, 가슴 둘레 값, 허리 둘레 값 및 엉덩이 둘레 값을 더 포함하는
    시스템.
  15. 제10항에 있어서,
    상기 사용자의 이미지는 깊이 맵을 포함하고,
    상기 사용자의 물리적 속성을 결정하는 것은 상기 깊이 맵에 기초하는
    시스템.
  16. 제10항에 있어서,
    상기 사용자의 물리적 속성을 결정하는 것은 상기 사용자의 주축을 결정하는 것을 포함하는
    시스템.
  17. 제10항에 있어서,
    상기 동작들은,
    상기 사용자로부터의 의류 아이템의 선택을 수신하는 것과,
    상기 선택된 모델에 기초하여 상기 의류 아이템에 대한 사이즈를 결정하는 것을 더 포함하고,
    상기 선택된 모델을 상기 디스플레이 장치에 표시하게 하는 것은 상기 선택된 모델이 상기 의류 아이템을 착용한 표현을 상기 디스플레이 장치에 표시하는 것을 포함하는
    시스템.
  18. 제17항에 있어서,
    상기 동작들은,
    상기 의류 아이템의 사이즈에 기초하여 상기 모델이 상기 의류 아이템을 착용한 표현을 생성하는 것을 더 포함하는
    시스템.
  19. 머신의 프로세서에 의해 실행될 경우, 제1항 내지 제9항 중 어느 한 항의 방법을 수행하는 명령어가 저장되어 있는 비일시적 머신 판독 가능한 저장 매체.
KR1020187037228A 2014-10-17 2015-10-15 고속 3d 모델 피팅 및 인체 측정법 KR102346320B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201462065163P 2014-10-17 2014-10-17
US62/065,163 2014-10-17
US14/883,419 US9928412B2 (en) 2014-10-17 2015-10-14 Method, medium, and system for fast 3D model fitting and anthropometrics
US14/883,419 2015-10-14
KR1020177013138A KR20170073623A (ko) 2014-10-17 2015-10-15 고속 3d 모델 피팅 및 인체 측정법
PCT/US2015/055723 WO2016061341A1 (en) 2014-10-17 2015-10-15 Fast 3d model fitting and anthropometrics

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020177013138A Division KR20170073623A (ko) 2014-10-17 2015-10-15 고속 3d 모델 피팅 및 인체 측정법

Publications (2)

Publication Number Publication Date
KR20190000907A KR20190000907A (ko) 2019-01-03
KR102346320B1 true KR102346320B1 (ko) 2022-01-03

Family

ID=55747338

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020187037228A KR102346320B1 (ko) 2014-10-17 2015-10-15 고속 3d 모델 피팅 및 인체 측정법
KR1020177013138A KR20170073623A (ko) 2014-10-17 2015-10-15 고속 3d 모델 피팅 및 인체 측정법

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020177013138A KR20170073623A (ko) 2014-10-17 2015-10-15 고속 3d 모델 피팅 및 인체 측정법

Country Status (5)

Country Link
US (3) US9928412B2 (ko)
EP (1) EP3207525A4 (ko)
KR (2) KR102346320B1 (ko)
CN (1) CN107111833B (ko)
WO (1) WO2016061341A1 (ko)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10332176B2 (en) 2014-08-28 2019-06-25 Ebay Inc. Methods and systems for virtual fitting rooms or hybrid stores
US10529009B2 (en) 2014-06-25 2020-01-07 Ebay Inc. Digital avatars in online marketplaces
US10653962B2 (en) * 2014-08-01 2020-05-19 Ebay Inc. Generating and utilizing digital avatar data for online marketplaces
US10366447B2 (en) 2014-08-30 2019-07-30 Ebay Inc. Providing a virtual shopping environment for an item
US9928412B2 (en) 2014-10-17 2018-03-27 Ebay Inc. Method, medium, and system for fast 3D model fitting and anthropometrics
US11087517B2 (en) * 2015-06-03 2021-08-10 Disney Enterprises, Inc. Sketch-based abstraction for character posing and synthesis
CN104978762B (zh) * 2015-07-13 2017-12-08 北京航空航天大学 服装三维模型生成方法及系统
WO2017030255A1 (en) * 2015-08-18 2017-02-23 Samsung Electronics Co., Ltd. Large format display apparatus and control method thereof
CN105096335B (zh) * 2015-09-17 2018-12-21 无锡天脉聚源传媒科技有限公司 一种传输评价信息的方法及装置
CN109074641B (zh) * 2016-04-28 2022-02-11 富士通株式会社 骨骼估计装置、骨骼估计方法以及骨骼估计程序
US10249100B2 (en) * 2016-08-29 2019-04-02 Physan, Inc. Method and system for progressive drape update on avatar morph for virtual fitting
CN106952335B (zh) * 2017-02-14 2020-01-03 深圳奥比中光科技有限公司 建立人体模型库的方法及其系统
CN106952333A (zh) * 2017-02-14 2017-07-14 深圳奥比中光科技有限公司 一种创建人体参数化模型的方法及系统
CN106980383A (zh) * 2017-03-31 2017-07-25 哈尔滨工业大学 一种虚拟模型展示方法、模块及基于该模块的虚拟人体解剖模型展示系统
US10776861B1 (en) 2017-04-27 2020-09-15 Amazon Technologies, Inc. Displaying garments on 3D models of customers
CN110603570B (zh) 2017-05-10 2023-08-04 富士通株式会社 对象物识别方法、装置、系统、程序
CN107203266A (zh) * 2017-05-17 2017-09-26 东莞市华睿电子科技有限公司 一种基于vr的数据处理方法
CN107273846B (zh) * 2017-06-12 2020-08-07 江西服装学院 一种人体体型参数确定方法及装置
US10814817B2 (en) * 2017-06-15 2020-10-27 Ford Global Technologies, Llc Occupant position detection
KR101995277B1 (ko) * 2017-07-31 2019-10-02 주식회사 자이언소프트 가상신체 구현 시스템
WO2019030794A1 (ja) * 2017-08-07 2019-02-14 富士通株式会社 情報処理装置、モデルデータ作成プログラム、モデルデータ作成方法
CA3082886A1 (en) * 2017-11-02 2019-05-09 Measur3D, Llc Clothing model generation and display system
US10460512B2 (en) * 2017-11-07 2019-10-29 Microsoft Technology Licensing, Llc 3D skeletonization using truncated epipolar lines
US10417802B2 (en) * 2017-12-20 2019-09-17 Binary Bubbles, Inc. System and method for creating customized characters and selectively displaying them in an augmented or virtual reality display
US10262432B1 (en) 2017-12-30 2019-04-16 Gabriel Keilholz System and method for measuring and comparing items using computer vision
US10949756B2 (en) 2018-02-01 2021-03-16 Binary Bubbles, Inc. System and method for creating and selectively modifying characters and conditionally presenting customized characters via electronic channels
US11352739B2 (en) * 2018-02-27 2022-06-07 Levi Strauss & Co. Creating three-dimensional apparel imagery in an apparel design system
US10321728B1 (en) * 2018-04-20 2019-06-18 Bodygram, Inc. Systems and methods for full body measurements extraction
US11158121B1 (en) * 2018-05-11 2021-10-26 Facebook Technologies, Llc Systems and methods for generating accurate and realistic clothing models with wrinkles
KR102157246B1 (ko) * 2018-09-19 2020-10-23 재단법인 실감교류인체감응솔루션연구단 실제 손에 대응하는 가상 손 모델링 방법 및 이를 위한 장치
CN109522886B (zh) * 2019-01-15 2021-11-30 广州唯品会研究院有限公司 形体数据的测量方法、装置以及计算机可读存储介质
CN109766464B (zh) * 2019-01-15 2021-08-17 广州唯品会研究院有限公司 体型样本数据库的生成方法、装置及计算机可读存储介质
CN110197576B (zh) * 2019-05-30 2021-04-20 北京理工大学 一种大规模实时人体动作采集重构系统
CN110037373B (zh) * 2019-05-30 2021-06-25 南京邮电大学 一种基于边界跟踪的人体尺寸测量方法
CN110215211B (zh) * 2019-06-14 2021-10-22 成都高鹿科技有限公司 个体身高测量及分析方法、系统、可读存储介质及终端
CN110460834A (zh) * 2019-08-15 2019-11-15 绍兴市博亚服饰有限公司 一种3d智能拍照手机的相机拍照方法
EP4022554A4 (en) 2019-08-29 2023-07-19 Levi Strauss & Co. DIGITAL SHOWROOM WITH VIRTUAL PREVIEWS OF GARMENTS AND FINISHES
WO2021040156A1 (ko) * 2019-09-01 2021-03-04 엘지전자 주식회사 신체 측정 디바이스 및 그 제어 방법
US11361467B2 (en) * 2019-11-22 2022-06-14 Adobe Inc. Pose selection and animation of characters using video data and training techniques
US11282257B2 (en) 2019-11-22 2022-03-22 Adobe Inc. Pose selection and animation of characters using video data and training techniques
US11276245B2 (en) * 2019-11-28 2022-03-15 Z-Emotion Co., Ltd. Body shape display method for modeling of clothing
KR102382633B1 (ko) * 2019-11-29 2022-04-04 오드컨셉 주식회사 패션 정보 제공 방법, 장치 및 시스템
SE545466C2 (en) * 2021-02-05 2023-09-19 Volumental AB Method and electronic arrangement for item matching for a user´s body part
US20230139841A1 (en) * 2021-10-28 2023-05-04 Phyxd Inc. System and method for evaluating patient data
CN114088204A (zh) * 2021-11-18 2022-02-25 上海交通大学 一种可穿戴核心体温测量方法和设备
CN114842147A (zh) * 2022-05-16 2022-08-02 聚好看科技股份有限公司 一种测量人体参数的方法及电子设备
FR3136876A1 (fr) * 2022-06-15 2023-12-22 Vyzion Système d’essayage digital pour vente en ligne de vêtements, procédé et programme sur la base d’un tel système.
US11893847B1 (en) 2022-09-23 2024-02-06 Amazon Technologies, Inc. Delivering items to evaluation rooms while maintaining customer privacy
CN116309940B (zh) * 2023-03-22 2023-11-24 浪潮智慧科技有限公司 一种基于动画弹窗组件的地图信息显示方法、设备及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100111370A1 (en) * 2008-08-15 2010-05-06 Black Michael J Method and apparatus for estimating body shape

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6546309B1 (en) * 2000-06-29 2003-04-08 Kinney & Lange, P.A. Virtual fitting room
US20050234782A1 (en) * 2004-04-14 2005-10-20 Schackne Raney J Clothing and model image generation, combination, display, and selection
JP2005321986A (ja) * 2004-05-07 2005-11-17 Pioneer Electronic Corp ヘアスタイル提案システム、ヘアスタイル提案方法、及びコンピュータプログラム
US8976160B2 (en) * 2005-03-01 2015-03-10 Eyesmatch Ltd User interface and authentication for a virtual mirror
US8487938B2 (en) 2009-01-30 2013-07-16 Microsoft Corporation Standard Gestures
US9098873B2 (en) 2010-04-01 2015-08-04 Microsoft Technology Licensing, Llc Motion-based interactive shopping environment
US9355305B2 (en) * 2010-10-08 2016-05-31 Panasonic Corporation Posture estimation device and posture estimation method
WO2012075298A2 (en) * 2010-12-01 2012-06-07 Cornell University Body shape analysis method and system
CN202058151U (zh) * 2010-12-15 2011-11-30 西安天动数字科技有限公司 一种虚拟更衣系统
GB201102794D0 (en) * 2011-02-17 2011-03-30 Metail Ltd Online retail system
CN103455502A (zh) * 2012-05-30 2013-12-18 盛乐信息技术(上海)有限公司 服饰搜索方法及系统
CN104395929B (zh) 2012-06-21 2017-10-03 微软技术许可有限责任公司 使用深度相机的化身构造
US8633970B1 (en) * 2012-08-30 2014-01-21 Google Inc. Augmented reality with earth data
US9615788B2 (en) 2012-08-31 2017-04-11 Nuvectra Corporation Method and system of producing 2D representations of 3D pain and stimulation maps and implant models on a clinician programmer
KR101707707B1 (ko) * 2012-12-14 2017-02-16 한국전자통신연구원 인체 모델을 이용한 가상 아이템 피팅 방법 및 가상 아이템의 피팅 서비스 제공 시스템
CN103871106A (zh) 2012-12-14 2014-06-18 韩国电子通信研究院 利用人体模型的虚拟物拟合方法及虚拟物拟合服务系统
CN103200181B (zh) * 2013-03-11 2016-03-30 刘强 一种基于用户现实身份的网络虚拟方法
CN103400274B (zh) * 2013-07-22 2016-06-08 郝芳莉 一种个性化服饰虚拟试穿戴方法
KR102184766B1 (ko) * 2013-10-17 2020-11-30 삼성전자주식회사 3차원 모델 복원 시스템 및 방법
CN103530782A (zh) * 2013-10-28 2014-01-22 浙江工商大学 基于web的网上试衣间系统
CN104091269A (zh) * 2014-06-30 2014-10-08 京东方科技集团股份有限公司 一种虚拟试衣方法及虚拟试衣系统
CN104091274A (zh) * 2014-07-10 2014-10-08 罗日虎 网络服装营销中服装与用户匹配的方法
US9928412B2 (en) 2014-10-17 2018-03-27 Ebay Inc. Method, medium, and system for fast 3D model fitting and anthropometrics

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100111370A1 (en) * 2008-08-15 2010-05-06 Black Michael J Method and apparatus for estimating body shape

Also Published As

Publication number Publication date
US9928412B2 (en) 2018-03-27
US20220327854A1 (en) 2022-10-13
EP3207525A1 (en) 2017-08-23
US20180173945A1 (en) 2018-06-21
US11403866B2 (en) 2022-08-02
WO2016061341A1 (en) 2016-04-21
CN107111833B (zh) 2022-09-13
CN107111833A (zh) 2017-08-29
KR20170073623A (ko) 2017-06-28
US20160110595A1 (en) 2016-04-21
KR20190000907A (ko) 2019-01-03
EP3207525A4 (en) 2018-06-06

Similar Documents

Publication Publication Date Title
KR102346320B1 (ko) 고속 3d 모델 피팅 및 인체 측정법
US11599937B2 (en) Digital wardrobe
US11662829B2 (en) Modification of three-dimensional garments using gestures
US11393163B2 (en) Method and system for remote clothing selection
US11915352B2 (en) Processing user selectable product images and facilitating visualization-assisted virtual dressing
US20230334546A1 (en) Garment size mapping
EP3479296A1 (en) System, device, and method of virtual dressing utilizing image processing, machine learning, and computer vision
US20150134493A1 (en) Three-dimensional digital media content creation from high-fidelity simulation
US20160078663A1 (en) Cloud server body scan data system
US20170053422A1 (en) Mobile device human body scanning and 3d model creation and analysis
CN113129450B (zh) 虚拟试衣方法、装置、电子设备和介质
CN106952335B (zh) 建立人体模型库的方法及其系统
US11200689B1 (en) Detailed 3D estimation from a single image
Wang et al. Im2fit: Fast 3d model fitting and anthropometrics using single consumer depth camera and synthetic data
WO2022081745A1 (en) Real-time rendering of 3d wearable articles on human bodies for camera-supported computing devices
CN112163593A (zh) 一种快速进行人体模型匹配的方法和系统

Legal Events

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