KR20220066366A - 예측적 개인별 3차원 신체 모델 - Google Patents

예측적 개인별 3차원 신체 모델 Download PDF

Info

Publication number
KR20220066366A
KR20220066366A KR1020227013365A KR20227013365A KR20220066366A KR 20220066366 A KR20220066366 A KR 20220066366A KR 1020227013365 A KR1020227013365 A KR 1020227013365A KR 20227013365 A KR20227013365 A KR 20227013365A KR 20220066366 A KR20220066366 A KR 20220066366A
Authority
KR
South Korea
Prior art keywords
individual
predicted
model
image
parameter
Prior art date
Application number
KR1020227013365A
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 KR20220066366A publication Critical patent/KR20220066366A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/48Other medical applications
    • A61B5/4869Determining body composition
    • A61B5/4872Body fat
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7271Specific aspects of physiological measurement analysis
    • A61B5/7275Determining trends in physiological measurement data; Predicting development of a medical condition based on physiological measurements, e.g. determining a risk factor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H15/00ICT specially adapted for medical reports, e.g. generation or transmission thereof
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/50ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for simulation or modelling of medical disorders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/41Medical

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Public Health (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Pathology (AREA)
  • Biomedical Technology (AREA)
  • Epidemiology (AREA)
  • Primary Health Care (AREA)
  • Software Systems (AREA)
  • Animal Behavior & Ethology (AREA)
  • Biophysics (AREA)
  • Veterinary Medicine (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Molecular Biology (AREA)
  • Surgery (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Architecture (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physiology (AREA)
  • Psychiatry (AREA)
  • Signal Processing (AREA)
  • Processing Or Creating Images (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

인체와 같은 신체의 2차원("2D") 이미지에 기초하여, 신체의 개인별 3차원("3D") 신체 모델을 생성하고, 하나 이상의 신체 측정치(가령, 체지방, 체질량, 근육량)가 변화할 때 신체의 예측된 개인별 3D 신체 모델을 생성 및 제시하기 위한 시스템 및 방법이 설명된다. 예를 들어, 사용자는 목표 신체 측정값을 제공할 수 있고 구현예는 목표 신체 측정값을 가진 신체의 예측된 외양을 나타내는 하나 이상의 예측된 개인별 3D 신체 모델을 생성할 것이다.

Description

예측적 개인별 3차원 신체 모델
본 출원은 2019년 9월 26일에 출원되고 제목이 "Predictive Personalized Three-Dimensional Body Models"인 미국 특허 출원 번호 16/584,360에 대한 우선권을 주장하며, 그 내용은 그 전체가 여기에 참조로 포함된다.
본 발명은 예측적 개인별 3차원 신체 모델에 관한 것이다.
인체의 3차원 모델링은 현재 스테레오 이미징 요소, 3차원 스캐너, 깊이 감지 장치, 등과 같은 크고 값비싼 센서를 필요로 한다.
도 1a 내지 도 1b는 본 개시의 구현들에 따른, 사용자에게 다시 제시되는 그 신체의 개인별 3차원 신체 모델을 생성하기 위한 2차원 신체 이미지 수집 및 처리의 전이도이다.
도 2는 본 개시의 구현들에 따른, 2차원 신체 이미지에서 캡처될 수 있고 개인별 3차원 신체 모델을 생성하는 데 사용될 수 있는 신체의 상이한 신체 방향을 예시한다.
도 3a는 본 개시내용의 구현들에 따른, 캡처된 2차원 신체 이미지 및 적어도 2차원 신체 이미지로부터 결정된 대응하는 신체 측정 정보를 예시하는 사용자 인터페이스이다.
도 3b는 본 개시의 구현들에 따른, 2차원 신체 이미지로부터 생성된 개인별 3차원 신체 모델 및 대응하는 신체 측정 정보를 예시하는 사용자 인터페이스이다.
도 3c는 본 개시내용의 구현들에 따른, 슬라이더 조정 및 결과적으로 예측된 개인별 3차원 신체 모델 및 대응하는 신체 측정 형태의 예시적인 3D 신체 모델 조정기를 예시하는 사용자 인터페이스이다.
도 3d는 본 개시내용의 구현들에 따른, 다차원 슬라이더 조정 및 결과적으로 예측된 개인별 3차원 신체 모델 및 대응하는 신체 측정 형태의 다른 예시적인 3D 신체 모델 조정기를 예시하는 사용자 인터페이스이다.
도 4는 본 개시내용의 구현들에 따른 예시적인 2차원 신체 이미지 수집 프로세스이다.
도 5는 본 개시내용의 구현들에 따른 예시적인 포즈 결정 프로세스이다.
도 6은 본 개시내용의 구현들에 따른 예시적인 신체 방향 결정 및 신체 방향 이미지 선택 프로세스이다.
도 7은 본 개시내용의 구현들에 따른, 그 신체의 개인별 3차원 모델을 생성하기 위해 2차원 신체 이미지들을 처리하는 전이도이다.
도 8a는 본 개시내용의 구현들에 따른, 그 신체의 개인별 3차원 모델을 생성하기 위해 2차원 신체 이미지들을 처리하는 다른 전이도이다.
도 8b는 본 개시물의 구현들에 따른, 그 신체의 개인별 3차원 모델을 생성하기 위해 2차원 신체 이미지들을 처리하는 다른 전이도이다.
도 9는 본 개시물의 구현들에 따른, 이미지 프로세싱 시스템의 구성요소들의 블록도이다.
도 10은 본 개시내용의 구현예에 따른, 2차원 신체 이미지로 표현되는 신체의 신체 파라미터를 결정하는 훈련된 신체 조성 모델의 블록도이다.
도 11은 본 개시내용의 구현들에 따른, 3차원 신체 모델 생성 프로세스의 예시적인 흐름도이다.
도 12a는 본 개시내용의 구현들에 따른, 3차원 신체 모델 조정 프로세스의 예시적인 흐름도이다.
도 12b는 본 개시물의 구현들에 따른, 3차원 신체 모델 조정 프로세스의 다른 예시적인 흐름도이다.
도 13은 본 개시내용의 구현들에 따른, 2차원 신체 이미지로부터 체지방 측정치를 결정하도록 동작가능한 예시적인 시스템의 블록도이다.
도 14는 본 개시의 구현들에 따른, 다수의 2차원 신체 이미지들로부터 체지방 측정치를 결정하도록 동작가능한 예시적인 시스템의 블록도이다.
도 15는 본 개시내용의 구현들에 따른 예시적인 2차원 신체 이미지 처리 프로세스이다.
도 16은 본 개시물의 구현들에 따른, 2차원 신체 이미지의 이미지 핸들링의 예이다.
도 17은 본 개시내용의 구현들에 따른 예시적인 체지방 측정 결정 프로세스이다.
도 18은 본 개시내용의 구현들에 따른, 정규화된 2차원 이미지로부터 체지방 측정치를 결정하도록 구성된 예시적인 신경망이다.
도 19는 본 개시물의 구현들에 따른 예시적인 모델 최적화 프로세스이다.
도 20은 본 개시물의 구현들에 따른, 예측된 3차원 신체 모델들의 생성의 예시적인 전이도이다.
도 21은 본 개시내용의 구현들에 따른 예시적인 3차원 개인별 3D 프로세스이다.
도 22는 본 개시내용의 구현들에 따른, 예시적인 예측된 비-개인별 3차원 신체 파라미터 결정 프로세스이다.
도 23a 내지 23b는 본 개시물의 구현들에 따른, 예측된 3차원 신체 모델 프로세스를 생성하는 예시이다.
도 24는 본 개시물의 구현들에 따른, 예시적인 예측된 3차원 신체 모델 출현 프로세스이다.
도 25는 본 개시내용의 구현들에 따른, 휴대용 장치 및 원격 컴퓨팅 리소스들의 예시적인 구성요소들의 블록도이다.
아래에 더 상세히 설명되는 바와 같이, 본 개시내용의 구현은 사용자 신체의 2차원("2D") 신체 이미지의 수집, 이러한 2D 신체 이미지를 기반으로 하는 사용자 신체의 개인별 3차원("3D") 신체 모델의 생성 및 제시, 그리고 서로 다른 신체 측정치(예: 서로 다른 체지방률, 서로 다른 근육량, 다양한 체중 등)에서 사용자 신체의 상이한 예측적 개인별 3D 신체 모델의 생성 및 제시를 지향한다.
예를 들어, 휴대폰, 태블릿, 랩톱 등과 같은 2D 카메라를 포함하는 휴대용 장치에서 실행되는 애플리케이션은 사용자에게 명령을 제공할 수 있고, 상이한 신체 방향들로부터 사용자 신체의 2D 신체 이미지를 수집할 수 있다. 다른 구현에서, 2D 신체 이미지는 임의의 다른 소스로부터 획득될 수 있다. 이러한 2D 신체 이미지는 애플리케이션에 의해 2D 신체 이미지를 처리하는 원격 컴퓨팅 리소스로 전송되어, 개인별 3D 신체 파라미터를 결정하고, 사용자 신체의 개인별 3D 신체 모델을 생성하며, 및/또는 사용자의 신체의 신체 측정치를 결정할 수 있다. 신체 측정치에는 체성분(예: 체중, 체지방, 골량, 체질량, 신체 체적 등)이 포함되지만 이에 국한되지 않는다. 신체 파라미터에는 신체의 형상 벡터, 포즈, 신체 치수(예: 팔 길이, 다리 길이, 팔 둘레, 다리 둘레, 어깨 너비, 어깨 둘레, 허리 너비, 허리 둘레, 몸통 너비, 몸통 둘레, 신장, 등), 텍스처/색상 등이 포함되지만 이에 제한되지 않는다.
휴대용 장치에서 실행되는 애플리케이션은 현재 신체 측정 정보 및 개인별 3D 신체 파라미터를 수신하고, 개인별 3D 신체 모델을 생성하며, 신체 측정치 및 개인별 3D 신체 모델의 일부 또는 전체를 사용자에게 제공한다. 사용자는 개인별 3D 신체 모델과 상호 작용하여 개인별 3D 신체 모델의 다양한 측면들을 보고/보거나 하나 이상의 신체 측정치가 변경되는 경우 개인별 3D 신체 모델의 차이를 시각화할 수 있다. 예를 들어, 사용자는 체지방 감소와 같은 목표 신체 측정치를 제공할 수 있고, 개시된 구현은 목표 신체 측정치로 사용자 신체의 예측된 모습을 나타내는 하나 이상의 예측된 개인별 3D 신체 모델을 생성할 수 있다. 일부 구현들에서, 신체의 예측된 모습은 3D 신체 슬라이더, 및/또는 사용자가 상이한 신체 측정들에서 신체 모습에 대한 점진적 변화들과 상호작용할 수 있는 다른 조정기로 제시될 수 있다.
도 1a는 사용자에게 다시 제시되는 사용자(100)의 신체의 개인별 3D 신체 모델을 생성하기 위한 2D 신체 이미지 수집 및 처리의 전이도이고, 도 1b는 예측된 3차원 신체 모델 생성의 전이도이며, 도 2는 본 개시내용의 구현들에 따른, 신체(200)의 상이한 배향들 또는 신체 방향들의 예들을 예시한다.
일부 구현에서, 사용자(100/200)는 이미징 요소(예를 들어, 카메라)를 포함하는 휴대 전화, 태블릿, 랩톱 등과 같은 휴대용 장치(130/230) 상에서 애플리케이션(125/225)을 실행할 수 있고, 응용 프로그램과 상호 작용할 수 있다. 이미징 요소는 현재의 많은 휴대용 장치에 포함된 표준 2D Red, Green, Blue("RGB") 디지털 카메라와 같은 임의의 기존 이미징 요소일 수 있다. 마찬가지로, 본 명세서에서 논의된 바와 같은 이미지는 이미징 요소에 의해 생성된 정지 이미지 및/또는 이미징 요소에 의해 생성된 비디오로부터 추출된 이미지 또는 프레임일 수 있다.
사용자는 애플리케이션이 사용자를 식별하고 사용자와 연관된 사용자 계정을 결정할 수 있도록 사용자 이름, 비밀번호 등과 같은 사용자 정보를 애플리케이션에 제공할 수 있다. 마찬가지로, 사용자는 체중, 신장, 연령, 성별, 민족성 등을 포함하지만 이에 국한되지 않는 신체 측정치와 같은, 다른 사용자 정보를 제공할 수 있다. 사용자는 제공되는 사용자 정보를 선택하거나 사용자 정보를 제공하지 않음을 선택할 수 있다. 추가로, 일부 구현들에서, 사용자는 임의의 사용자 식별 정보를 제공하지 않고(예를 들어, 애플리케이션에 대한 게스트로서 동작함) 휴대용 장치(130/230) 상에서 실행되는 애플리케이션과 상호작용할 수 있다.
사용자 식별 시 및/또는 사용자 정보 수신 시, 사용자(100/200)는 휴대용 장치(130/230)의 이미징 요소의 시야가 실질적으로 수평이고 사용자를 향하도록 휴대용 장치(130/230)를 위치시킨다. 일부 구현에서, 휴대용 장치(130/230) 상에서 실행되는 애플리케이션(125/225)은 휴대용 장치(130/230)의 배치 및 포지셔닝에서 사용자(100/200)를 안내하는 시각적 및/또는 청각적 명령을 제공할 수 있다. 예를 들어, 애플리케이션은 사용자(100/200)에게 휴대용 장치(130/230)를 사용자의 허리와 머리 높이 사이에 그리고 실질적으로 수직 방향(예를 들어, 수직의 2도 내지 10도 사이)으로 배치하도록 지시하여, 이미지 요소가 사용자를 향하고 이미징 요소의 시야는 실질적으로 수평이게 된다.
일부 구현들에서, 애플리케이션은 사용자에게 도 1a, 1b, 2에 도시된 속옷과 같은 최소량의 의복을 착용하도록 요청할 수 있다. 최소한의 옷을 입음으로써 2D 신체 이미지를 보다 정확하게 처리할 수 있다.
휴대용 장치가 적절하게 위치되면, 휴대용 장치(130/230)의 이미징 요소에 의해 사용자(100/200)의 2D 신체 이미지가 캡쳐된다. 아래에서 더 자세히 논의되는 바와 같이, 이러한 2D 신체 이미지를 처리하여, 사용자가 "A 포즈"와 같은 정의된 포즈에 있는지 결정하고 카메라에 대한 사용자 신체의 신체 방향을 결정할 수 있다. 정의된 포즈는 신체 구성 요소의 이미지 캡처를 가능하게 하는 임의의 신체 위치일 수 있다. 하나의 예에서, 정의된 포즈는 팔이 신체 측면으로부터 떨어지고, 가령, 신체의 발을 대략 어깨 너비로 분리함으로써, 다리가 서로 떨어지는 "A 포즈"이다. A 포즈는 2D 신체 이미지의 이미지 처리를 통해 신체 부위(예: 다리, 팔, 몸통)를 상이한 각도에서 구별할 수 있고, 또한 신체 방향 결정을 도울 수 있다. 신체 방향은 이미징 요소에 대한 신체의 임의의 방향 또는 배향일 수 있다. 예시적인 신체 방향은 신체가 이미징 요소를 향하는 전면 신체 방향, 신체의 우측이 이미징 요소를 향하도록 신체가 회전되는 우측 신체 방향, 신체의 좌측이 이미징 요소를 향하는 좌측 신체 방향, 및 신체의 후방이 이미징 요소를 향하는 후방 신체 방향을 포함하지만 이에 제한되지 않는다. 이해되는 바와 같이, 임의의 수의 신체 방향 및 신체의 대응하는 배향이 개시된 구현과 함께 이용될 수 있고 논의된 4개(전면, 우측, 후면 및 좌측)는 단지 예로서 제공된다.
일부 구현에서, 휴대용 장치(130/230) 상에서 실행되는 애플리케이션(125/225)은 상이한 신체 방향을 통해 사용자를 안내하고 각각의 신체 방향을 나타내는 하나 이상의 2D 이미지를 선택할 수 있다. 예를 들어, 도 2를 참조하면, 휴대용 장치(230) 상에서 실행되는 어플리케이션(225)은 사용자의 신체(200)가 나타내는 "A 포즈"와 같은 적절한 포즈로 사용자를 안내한 후, 일련의 신체 방향(200A, 200B, 200C, 200D, 200E, 200F, 200G, 200H)을 통해 사용자를 안내할 수 있으며, 이 경우 사용자는 요청된 신체 방향으로 자신의 신체를 회전하고 A 포즈로 유지되며, 그 동안 2D 신체 이미지가 생성되고, 2D 신체 이미지 중 하나 이상이 애플리케이션에 의해, 사용자 신체의 현재 신체 방향에 대응하는 2D 신체 방향 이미지로, 선택된다. 도 2에 도시된 바와 같이, 8개의 서로 다른 2D 신체 방향 이미지가 휴대용 장치(230)에서 실행되는 애플리케이션(225)에 의해 선택되며, 각각의 신체 방향(200A, 200B, 200C, 200D, 200E, 200F, 200G, 200H)에 대해 하나씩 선택된다. 적절하게 정의된 포즈와 신체 방향의 결정 및 후속 2D 신체 방향 이미지 선택은 아래에서 더 자세히 논의된다.
다시 도 1a로 돌아가면, 애플리케이션에 의해 각각의 2D 신체 방향 이미지가 선택되거나, 또는 모든 2D 신체 방향 이미지가 선택된 후에, 2D 신체 방향 이미지는 휴대용 장치(130/230) 상에서 실행되는 애플리케이션(125/225)으로부터 네트워크(290)를 통해(도 2) 추가 처리를 위해 원격 컴퓨팅 리소스(103/203)로 전송된다. 또한, 사용자(100/200)가 애플리케이션에 제공한 사용자 정보는 휴대용 장치(130/230)에서 실행되는 애플리케이션으로부터 원격 컴퓨팅 리소스(103/203)로 전송될 수 있다. 다른 구현에서, 모든 처리는 휴대용 장치에서 수행될 수 있다. 또 다른 예에서, 이미지가 생성됨에 따라, 이미지는 원격 컴퓨팅 리소스(103/203)로 전송되고 원격 컴퓨팅 리소스(103/203)에 의해 처리되어 신체 방향 이미지를 선택할 수 있다.
원격 컴퓨팅 리소스(103/203)는 사용자 정보 및/또는 2D 신체 방향 이미지를 수신하고 컨볼루션 신경망과 같은 하나 이상의 신경망을 사용하여 이러한 이미지를 처리하는 3D 신체 모델 시스템(101/201)을 포함할 수 있어서, 사용자(100/200)의 신체의 개인별 3D 신체 모델에 대응하는 개인별 3D 신체 파라미터를 생성할 수 있다. 또한, 전면 2D 신체 방향 이미지와 같은 2D 신체 방향 이미지 중 하나 이상은 체지방률, 체질량, 골밀도, 근육량 등과 같은 하나 이상의 추가 신체 측정치를 결정하도록 처리될 수 있다.
3D 신체 모델 시스템(101/201)은, 개인별 3D 신체 파라미터 및 신체 측정치를 생성할 때, 개인별 3D 신체 파라미터 및 신체 측정치를 휴대용 장치(130/230)를 실행하는 애플리케이션(125/225)으로 다시 전송한다. 애플리케이션(125/225)은 개인별 3D 신체 파라미터 및 신체 측정치를 수신하면, 개인별 3D 신체 파라미터로부터 사용자의 신체(100/200)를 나타내는 개인별 3D 신체 모델을 생성하고, 개인별 3D 신체 모델 및 신체 측정치를 휴대용 장치(130/230)의 디스플레이 상에 제시한다.
개인별 3D 신체 모델 및 신체 측정치를 렌더링 및 제시하는 것에 추가하여, 사용자(100/200)는 제시된 개인별 3D 신체 모델 및 신체 측정치와 상호작용할 수 있다. 예를 들어, 사용자는 애플리케이션(125/225)을 통해 사용자에 대해 이전에 수집된 이력 정보를 볼 수 있다. 사용자는 또한 제시된 개인별 3D 신체 모델과 상호작용하여 제시된 개인별 3D 신체 모델을 회전 및/또는 돌게 할 수 있다. 예를 들어, 휴대용 장치(130/230)가 터치 기반 디스플레이를 포함하는 경우, 사용자는 터치 기반 디스플레이를 사용하여 애플리케이션과 상호 작용하고, 제시된 개인별 3D 신체 모델을 회전시켜서 상이한 뷰(예: 전면, 측면, 후면)의 개인별 된 3D 신체 모델을 볼 수 있다.
일부 구현에서, 애플리케이션(125/225)과의 상호작용의 일부로서, 사용자(100/200)는 본 명세서에서 목표(target)로 지칭되는 신체 측정치에 대한 하나 이상의 조정을 제공할 수 있다. 예를 들어, 사용자는 신체의 체지방 측정값을 정의된 양만큼(예: 25%로부터 20%까지) 변경, 정의된 양만큼 근육량을 변경, 그리고 정의된 양만큼 체중을 변경하도록 요청할 수 있다. 다른 구현에서, 하나 이상의 신체 측정치를 변경하는 것에 추가하여, 사용자는 하나 이상의 신체 측정치에 대한 조정을 야기해야 하는 하나 이상의 활동(예를 들어, 운동, 영양, 수면)을 지정할 수 있다.
도 1b에 도시된 예에서, 사용자는 목표 체지방 측정값에 대한 체지방 측정 조정을 제공한다. 목표 체지방 측정값을 수신하면, 휴대용 장치(130/230)에서 실행되는 애플리케이션(125/225)은 추가 처리를 위해 목표 체지방 측정치를 원격 컴퓨팅 리소스(103/203)에 전송한다. 원격 컴퓨팅 리소스 및 3D 신체 모델 시스템(101/201)은 수신된 목표 체지방 측정값을 다른 현재 신체 측정치 및 개인별 3D 신체 파라미터와 함께 처리하여, 목표 신체 체지방 측정값에 대응하는 예측 개인별 3D 신체 파라미터 및 예측 신체 측정치를 생성한다.
원격 컴퓨팅 리소스(103/203)는 예측된 개인별 3D 신체 파라미터 및 예측된 신체 측정치를 애플리케이션(125/225)에 전송할 수 있고 애플리케이션(125/225)은 수신된 예측된 개인별 3D 신체 파라미터에 기초하여 예측된 3D 신체 모델을 렌더링할 수 있다. 개인별 3D 신체 모델과 유사하게, 애플리케이션(125/225)은 예측된 3D 신체 모델 및 예측된 신체 측정치를 사용자에게 제시하고, 예측된 개인별 3D 신체 모델 및/또는 예측된 신체 측정치와의 사용자 상호작용을 가능하게 할 수 있다. 아래에서 더 논의되는 바와 같이, 일부 구현들에서, 사용자는 개인별 3D 신체 모델과 예측된 개인별 3D 신체 모델 사이의 뷰를 변경할 수 있을 수 있다. 다른 구현들에서, 애플리케이션은 개인별 3D 신체 모델 및 예측된 개인별 3D 신체 모델을 통합하여, 3D 신체 슬라이더 및/또는 다른 조정기(가령, 라디오 버튼, 다이얼, 등)를 생성할 수 있으며, 상기 다른 조정기는, 현재 신체 측정치와 예측된 신체 측정치 간의 상이한 신체 측정치들에서 신체의 상이한 외양의 연속 보기를 사용자에게 제공한다. 상이한 신체 측정에서 신체의 상이한 외양을 나타내기 위해 사용될 수 있는 임의의 유형의 컨트롤러 또는 조정기와 관련된 3D 신체 슬라이더 및/또는 기타 조정기는 일반적으로 "3D 신체 모델 조정기"로 지칭된다.
도 3a는 도 1a, 1b, 2와 관련하여 위에서 논의된 휴대용 장치(130) 상에서 실행되는 애플리케이션(125)과 같은, 휴대용 장치 상에서 실행되는 애플리케이션에 의해 제공되는 사용자 인터페이스(301-1)이다.
이 예에서, 사용자 인터페이스(301-1)는 개인별 3D 신체 모델 및 대응하는 신체 측정 정보를 생성 및 제시하는 데 사용된 휴대용 장치의 이미징 요소에 의해 캡처된 2D 신체 방향 이미지(300-1)를 예시한다. 이 예에서, 도시된 사용자 인터페이스(301-1)는 2D 모델 이미지(300-1)로부터 결정될 수 있는, 및/또는 사용자에 의해 사용자 정보로 제공될 수 있는, 2D 신체 방향 이미지, 신체에 대해 결정된 체지방률(302-1) 및 신체의 체중(304)을 나타낸다. 다른 구현에서, 애플리케이션에 의해 사용자 인터페이스(301-1)에 더 많은 또는 더 적은 신체 측정값이 표시될 수 있다. 사용자 인터페이스(301-1)와 상호작용하는 사용자는 현재 제시된 2D 신체 방향 이미지(300-1)를 변경하기 위해, 인디케이터(310)를 선택하고/하거나 스와이핑하거나 달리 사용자 인터페이스(301-1)를 이용하여 표시함으로써, 개인별 3D 신체 모델 및/또는 신체 측정치를 생성하는 데 사용된 다른 2D 신체 방향 이미지를 보는 것을 선택할 수도 있다. 사용자는 또한 도 3a의 사용자 인터페이스(301-1)에 도시된 바와 같이 2D 신체 방향 이미지(300-1)의 뷰와, 도 3a의 개인별 3D 모델(300-2)의 작은 이미지 제시에 도시되는 바와 같이, 그리고 도 3b의 사용자 인터페이스(301-2)의 주 이미지(300-2)에 도시되는 바와 같이, 렌더링 및 제시되는 개인별 3D 신체 모델(300-2) 사이를 교번할 수 있다. 도 3b를 간략히 참조하면, 사용자는 개인별 3D 신체 모델(300-2)과 직접 상호작용함으로써 개인별 3D 신체 모델(300-2)의 뷰를 회전 및/또는 변경하도록 상호작용할 수 있다. 예를 들어, 사용자는 개인별 3D 신체 모델의 프레젠테이션을 회전시켜서 개인별 3D 신체 모델의 상이한 부분들을 보거나, 축소하여 개인별 3D 신체 모델을 더 많이 보거나, 확대하여 개인별 3D 신체 모델의 일부에 대응하는 세부사항을 볼 수 있다.
일부 구현에서, 사용자가 사용자의 개인별 3D 신체 모델의 다중 인스턴스를 생성하기 위해 일정 기간 동안 애플리케이션을 활용한 경우, 사용자 인터페이스는 또한 사용자 신체의 2D 신체 이미지를 캡처하여 사용자 신체의 개인별 3D 신체 모델 및 신체 측정치를 생성하는 데 사용했던 다양한 날짜에 대응하는 과거 이력의 신체 측정치(316)를 또한 제시할 수 있다. 예시된 예에서, 사용자는 도 3a에 예시된 과거 이력의 체중(316-1)과, 도 3b에 도시된 바와 같이 체지방률(316-2)을 보는 것 간을 토글 제어부(318) 선택을 통해 선택할 수 있다. 다른 구현에서, 상이하거나 추가적인 과거 이력의 신체 측정치(316)는 사용자 인터페이스(301)를 통해 액세스할 수 있다.
과거 이력의 신체 측정치(316)를 보는 것에 추가하여, 사용자는 또한 그 이전 시점에서 수집된 2D 신체 이미지에 액세스하여 볼 수 있고/있거나 이러한 이전 2D 신체 이미지로부터 생성된 개인별 3D 신체 모델을, 날짜 컨트롤(322-1) 또는 화살표 컨트롤(322-2)의 선택을 통해 볼 수 있다.
사용자는 또한 사용자 인터페이스(301)와 상호작용하여 새로운 스캔 선택(Take A new Scan) 제어(314)를 선택함으로써 자신의 신체를 새로 스캔하도록 선택할 수 있다. 사용자가 새로운 스캔 선택 제어(314)를 선택하는 것에 응답하여, 휴대용 장치에서 실행되는 애플리케이션은 사용자를 정의된 포즈(가령, A 포즈) 및 적절한 신체 방향으로 포지셔닝하도록 사용자에게 지시를 제공하여, 여기에서 논의되는 바와 같이, 2D 신체 방향 이미지가 생성되어 사용자 신체의 개인별 3D 신체 모델을 생성하는데 사용될 수 있게 한다.
일부 구현에서, 사용자는 또한 상이한 신체 측정치(예를 들어, 체지방 백분율의 변화 및/또는 근육량의 변화)으로 신체의 외양을 예측하기 위해 애플리케이션과 상호작용할 수 있다.
예를 들어, 도 3c는 본 개시내용의 구현들에 따른, 슬라이더 조정 및 결과적으로 예측된 3차원 신체 모델 및 대응하는 신체 측정치의 형태로 예시적인 3D 신체 모델 조정기를 예시하는 사용자 인터페이스이다. 예시된 바와 같이, 사용자는 본 개시의 구현예에 따라, 하나 이상의 신체 측정치를 변경하기 위해 사용자 인터페이스(301-3)와 상호작용할 수 있고, 장치 상에서 실행되는 애플리케이션은 변경된 신체 측정치에 따라 예측된 개인별 3D 신체 모델(300-3)을 생성할 것이다. 예시된 예에서, 사용자는 체지방 측정값을 변경하기 위해, 본 예에서 계산된 27%로부터 10%까지, 손(360)을 사용하여 사용자 인터페이스(301-3)에 제공된 단일 슬라이더(302-2)와 상호작용하고 있다.
목표 신체 측정치, 이 예에서 감소된 체지방 측정값을 수신하는 것에 응답하여, 개시된 구현은 아래에서 더 논의되는 바와 같이 목표 신체 측정치와 하Arp 사용자의 신체의 예측 외양을 나타내는 예측된 개인별 3D 신체 모델(300-3) 및 예측된 신체 측정치를 생성 및 제시한다. 예측된 개인별 3D 신체 모델(300-3)은 사용자의 신체에 대해 결정된 개인별 3D 신체 모델 및 대응하는 개인별 3D 신체 파라미터에 기초하여 예측 및 렌더링될 수 있다. 마찬가지로, 배 근육 정의(303-1)를 보여주기 위한 음영과 같은 음영 및 윤곽, 또는 증가된 팔 크기(303-2)와 같은 크기 변화가 생성되어, 예측된 개인별 3D 신체 모델의 제시를 돕기 위해 적용될 수 있다.
렌더링 및 제시된 다른 개인별 3D 신체 모델과 같이, 사용자는 예측된 개인별 3D 신체 모델의 상이한 부분 또는 양태를 보기 위해 제시된 예측된 개인별 3D 신체 모델(300-3)과 상호작용할 수 있다.
한편, 도 3c에 도시된 예는 체지방 율의 변경을 보여주고 있으나, 다른 예에서 사용자는 체중, 근육량 등과 같은 다른 신체 측정치로 변경을 선택할 수 있다. 마찬가지로, 일부 예에서, 하나의 신체 측정치에 대한 변화에 기초하여, 다른 신체 측정치가 이러한 변경된 신체 측정치에 대응하도록 자동으로 변경될 수 있다. 예를 들어, 예시된 예에서와 같이 사용자가 체지방률을 27%에서 10%로 변경하면 휴대용 장치에서 실행되는 애플리케이션은 대부분의 경우 체지방률의 변경이 일반적으로, 결정된 136파운드로부터 115파운드로 체중 변경으로 나타남을 결정할 수 있다. 사용자는 다른 신체 측정치에 대한 이러한 예상 변경을 수락하거나, 해당 신체 측정치에 대한 다른 입력을 제공하거나, 해당 신체 측정치를 변경하지 않은 상태로 두도록 선택할 수 있다.
또 다른 예에서, 사용자는 다차원 슬라이더와 상호작용할 수 있고 신체 측정 및/또는 활동에 대한 다른 변경을 지정할 수 있다. 일부 구현에서, 다차원 슬라이더의 슬라이더 중 일부 또는 전부는 하나의 슬라이더에 대한 변경이 다른 슬라이더에 대한 변경 또는 조정을 초래할 수 있도록 상호 연결될 수 있다. 다른 구현들에서, 다차원 3D 신체 모델 조정기들의 다른 형태들이 또한 제시될 수 있다.
도 3d는 본 개시내용의 구현들에 따른, 다차원 슬라이더(312-3) 조정 및 결과적으로 예측된 개인별 3D 신체 모델(300-4)의 형태의 다른 예시적인 3D 신체 모델 조정기를 예시하는 사용자 인터페이스(301-4)이다. 이 예에서, 사용자는 하나 이상의 신체 측정치 및/또는 활동 수준을 조정하기 위해 다차원 슬라이더(312-3)와 상호작용할 수 있다. 이 예에서, 사용자는 체지방 측정값, 신체의 근육량 측정값, 체중, 유산소 운동 시간, 리프트 중량, 소모 칼로리 수 및/또는 사용자 수면 시간을 조정할 수 있다. 다른 구현에서, 슬라이더는 다른 신체 측정치(예를 들어, 근육량, 체중 등) 및/또는 사용자에 의해 변경될 수 있는, 그리고 예측된 개인별 3D 신체 파라미터 및 대응하는 예측된 개인별 3D 신체 모델의 연산에 사용하기 위한 타겟으로서 개시된 구현에 의해 활용될 수 있는, 다른 활동을 나타낼 수 있다.
도 4는 본 개시의 구현들에 따른 예시적인 2D 신체 이미지 수집 프로세스(400)이다. 일부 구현들에서, 예시적인 프로세스(400)는 도 1a, 1b, 2와 관련하여 위에서 논의된 바와 같이 휴대용 장치(130) 상에서 실행하는 애플리케이션(125)과 같은, 휴대용 장치 상에서 실행하는 애플리케이션에 의해 수행될 수 있다. 다른 구현에서, 예시적인 프로세스(400)는 휴대용 장치로부터 이미지를 수신하고 휴대용 장치에 정보/메시지를 전송하는 하나 이상의 원격 컴퓨팅 리소스에 의해 수행될 수 있다. 또 다른 예에서, 예시적인 프로세스(400)의 일부는 휴대용 장치에서 수행될 수 있고 다른 부분은 원격 컴퓨팅 리소스에 의해 수행될 수 있다.
예시적인 프로세스(400)는, 예를 들어, 휴대용 장치 상에서 실행되는 애플리케이션과 상호작용하는 사용자가 생성된 자신의 신체의 개인별 3D 신체 모델을 갖도록 요청할 때 시작된다. 프로세스(400)가 시작될 때, 카메라와 같은 이미징 요소 또는 이미징 요소를 포함하는 휴대용 장치가 신체의 무릎과 신체의 머리 사이(가령, 2피트 내지 6 피트 사이)와 같은 높이에 위치하도록, 그리고 402에서와 같이 휴대용 장치의 시야가 실질적으로 수평이고 신체를 향하도록 배향되도록 하는 요청이 제시된다. 예를 들어, 모바일 장치에서 실행되는 애플리케이션은 휴대용 장치의 이미징 요소가 실질적으로 수평이고 사용자의 신체를 향해 배향되도록 휴대용 장치가 대략 허리 높이에서 수직의 2도 및 5도 이내에 위치하도록 요청하는 시각적 및/또는 청각적 출력을 제시할 수 있다.
이미징 요소/휴대용 장치가 제 위치에 놓일 때, 404에서와 같이 이미징 요소/휴대용 장치의 각도가 정의된 범위 내에 있는지 여부에 대한 결정이 이루어진다. 예를 들어, 가속도계와 같은 휴대용 장치의 하나 이상의 입력으로부터의 데이터를 수신 및 처리하여, 휴대용 장치의 각도, 즉 이미징 요소의 각도를 결정할 수 있다. 정의된 범위는 본 명세서에서 논의되는 바와 같이 이미지 왜곡이 개인별 3D 신체 모델을 생성하기 위한 이미지의 처리에 영향을 미치지 않는 임의의 범위일 수 있다. 예를 들어, 정의된 범위는 수직으로부터 0도에서 10도 사이일 수 있다. 다른 구현에서, 정의된 범위는 안정성 부족으로 인해 장치가 넘어질 가능성을 줄이기 위해 0도 이상(예를 들어, 2도)일 수 있다. 마찬가지로, 일부 구현에서, 정의된 범위의 상한은 10도보다 작거나 클 수 있다. 일부 경우에, 정의된 범위는 이미징 요소/휴대용 장치의 배치에 대한 사용자에 대한 요청에 표시된 범위 또는 각도보다 크거나 같을 수 있다.
이미징 요소의 각도가 정의된 범위 내에 있지 않다고 결정되면, 예시적인 프로세스(400)는 블록(402)으로 돌아가, 이미징 요소/휴대용 장치가 정의된 범위 내의 각도를 이룰 때까지 이미징 요소/휴대용 장치의 조정을 요청한다. 예를 들어, 정의된 범위 내에서 이미징 요소를 위치 설정하도록 사용자를 안내하기 위해 이미징 요소를 포함하는 휴대용 장치에 의해 시각적, 촉각적 및/또는 청각적 피드백이 제공될 수 있다.
이미징 요소/휴대용 장치의 각도가 정의된 범위 내에 있다고 결정되면, 확인 메시지가 사용자에게 전송될 수 있고/있거나 요청이 청각적으로 및/또는 시각적으로 제시될 수 있다. 406에서와 같이 스캔될 신체가 "A 포즈"와 같은 정의된 포즈로 이미징 요소의 시야에 위치하도록 요청이 청각적 및/또는 시각적으로 제시될 수 있다. 임의의 정의된 포즈가 요청될 수 있다. 사용자가 A 포즈일 때 팔은 몸통에서 약간 떨어져 있고 다리는 어깨너비 정도로 떨어져 있되, 팔과 다리가 대각선으로 약간 벌려져 있다. 아래에 설명되는 바와 같이, A 포즈는, 사지(팔, 다리)를 서로로부터 그리고 신체 중심/몸통으로부터 분리하여, 이미지 처리가 신체 부위와 신체 지점 위치를 적절하게 식별하고 정의할 수 있도록 하기 때문에 특히 유용할 수 있다.
일부 구현들에서, 이미징 요소의 초점은 또한 이미징 요소의 시야 내 신체의 위치에 기초하여 조정될 수 있다. 예를 들어, 예시적인 프로세스(400)는 전체 이미지에 초점을 맞추는 것보다 사용자의 신체에 초점을 맞추도록 이미징 요소로 하여금 초점을 조정하게 할 수 있다. 유사하게, 이미징 요소의 노출은 이미징 요소의 시야 내에서 사용자의 신체의 조명에 기초하여 조정될 수 있다.
사용자가 A 포즈와 같은 정의된 포즈로 신체를 위치시키라는 요청으로서, 포즈 결정 프로세스(500)는, 도 5와 관련하여 아래에서 더 논의되듯이, 신체가 500에서와 같이 이미징 요소의 시야 내에 그리고 정의된 포즈로 위치 설정되었는지 확인하기 위해 수행된다. 예시적인 프로세스(400)의 다른 양태가 수행되기 전에 신체의 위치 및 포즈를 확인하도록, 예시적인 프로세스(500)가 예시적인 프로세스(400) 내 정의된 지점에서 여기에 예시되는 바와 같이 수행될 수 있다. 다른 구현에서, 예시적인 프로세스(500)가 시작되면, 예시적인 프로세스(400)의 다른 양태가 수행되는 동안 신체의 위치 및 자세를 계속 모니터링할 수 있다. 예를 들어, 아래에서 논의되는 바와 같이, 예시적인 프로세스(500)는 아래에서 논의되는 바와 같이 상이한 신체 방향에서 신체의 2D 신체 이미지가 캡처되는 동안 사용자의 신체가 시야 및 정의된 포즈에 남아 있음을 계속 모니터링할 수 있다. 예시적인 프로세스(400)의 다른 양태 동안에 신체가 이미징 요소의 시야에 더 이상 위치하지 않거나 신체가 더 이상 정의된 포즈에 있지 않다고 결정되면, 예시적인 프로세스(500)는 예시 프로세스(400)의 다른 양태가 진행되기 전에 정의된 포즈로 시야에 신체가 위치함에 관한 요청을 생성할 수 있다.
신체가 이미징 요소의 시야 내에 있고 정의된 포즈임을 예시적인 프로세스(500)가 확인할 때, 정의된 포즈의 신체의 하나 이상의 2D 신체 이미지가 410에서와 같이, 이미징 요소로부터 수신된다. 그런 다음 수신된 이미지를 처리하여, 600에서와 같이 신체의 신체 방향을 결정하고 결정된 신체 방향으로 신체를 나타내는 2D 신체 방향 이미지를 선택할 수 있다. 신체 방향 결정 및 2D 신체 방향 이미지 선택은 도 6 및 예시 프로세스(600)와 관련하여 아래에서 논의된다.
신체 방향이 결정되고 하나 이상의 2D 신체 방향 이미지가 선택되어 원격 컴퓨팅 리소스에 제공되는 예시적인 프로세스(600)가 완료되면, 다른 신체 방향으로부터 신체의 추가적인 2D 신체 방향 이미지가 412에서와 같이, 예시 프로세스(400)의 일부로 얻어지는지에 관한 결정이 이루어진다. 일부 구현에서, 단 하나의 2D 신체 방향 이미지만이 획득되어 개인별 3D 신체 파라미터 및/또는 신체 측정치를 생성하는 데 사용될 수 있다. 다른 구현들에서, 개인별 3D 신체 파라미터들 및/또는 신체 측정치들을 생성하기 위해 함께 사용되는 예시적인 프로세스(400)를 사용하여 상이한 신체 방향들에서의 신체의 다수의 2D 신체 방향 이미지들이 획득될 수 있다. 예를 들어, 일부 구현에서, 4개의 상이한 2D 신체 방향 이미지(예를 들어, 전면, 우측, 후면, 좌측)가 예시적인 프로세스(400)로 획득될 수 있고 원격 컴퓨팅 리소스에 의해 사용되어, 개인별 3D 신체 파라미터를 생성하고 및/또는 신체 측정치를 생성할 수 있다. 다른 구현들에서, 4개보다 많거나 더 적은 2D 신체 방향 이미지들이 획득될 수 있다. 일부 예들에서, 휴대용 장치 상에서 실행하는 애플리케이션의 사용자는 개인별 3D 신체 파라미터 생성을 위해 얼마나 많은 2D 신체 방향 이미지들이 획득되고 사용될지를 선택할 수 있다.
개인별 3D 신체 파라미터 및/또는 신체 측정치를 생성하는 데 사용하기 위해 추가 2D 신체 방향 이미지가 선택되고 원격 컴퓨팅 리소스에 제공되어야 한다고 결정되면, 414에서와 같이 신체가 다음 신체 방향으로 회전하도록 요청이 제시된다(예: 시각적 및/또는 청각적으로). 일부 구현에서 신체의 회전과 관련하여 정의된 순서가 있을 수 있다. 예를 들어, 신체 방향 결정은 정면에서 우측으로, 후면으로, 좌측으로 진행될 수 있다. 이와 같은 신체 방향 회전 순서는 신체 방향 결정의 정확성과 왼쪽과 오른쪽 또는 앞면과 뒷면을 구별하는 데 도움이 될 수 있다.
신체가 다음 신체 방향으로 회전하라는 요청에 따라, 예시적인 프로세스(400)는 블록(410)으로 돌아가 계속된다. 프로세스(400)의 이 부분은 원격 컴퓨팅 리소스에 의한 처리에 사용될 모든 2D 신체 방향 이미지가 선택되어 원격 컴퓨팅 리소스로 전송될 때까지 계속될 수 있다. 추가 2D 신체 방향 이미지가 획득되지 않는 것으로 결정 블록(412)에서 결정되면, 예시적인 프로세스(400)는 416에서와 같이 완료된다.
도 5는 본 개시의 구현들에 따른 예시적인 포즈 결정 프로세스(500)이다. 예시적인 프로세스(400)(도 4)와 유사하게, 예시적인 프로세스는 도 1a, 1b, 2와 관련하여 위에서 논의된 휴대용 장치(130)에서 실행되는 애플리케이션(125)과 같은 휴대용 장치에서 실행되는 애플리케이션에 의해 수행될 수 있다. 다른 구현에서, 예시적인 프로세스(500)는 휴대용 장치로부터 이미지를 수신하고 휴대용 장치에 정보/메시지를 전송하는 하나 이상의 원격 컴퓨팅 리소스에 의해 수행될 수 있다. 또 다른 예에서, 예시적인 프로세스(500)의 일부는 휴대용 장치에서 수행될 수 있고 다른 부분은 원격 컴퓨팅 리소스에 의해 수행될 수 있다.
위에서 논의된 바와 같이, 예시적인 프로세스(500)는 예시적인 프로세스(400)의 시작에서 또는 그 근처에서 수행되어, 신체가 이미징 요소의 시야 내에 있고 정의된 포즈에 있다는 것을 확인한 다음 완료될 수 있다. 다른 구현들에서, 예시적인 프로세스(500)는 이미지들이 예시적인 프로세스(400)의 일부로서 수신되고 2D 신체 방향 이미지들이 선택됨에 따라 계속해서 수행될 수 있다.
예시적인 프로세스(500)는 502에서와 같이, 이미지에서 "신체 지점"이라고 지칭되는, 신체 관절, 신체 특징, 신체 부위 등의 위치를 결정하기 위해 이미징 요소로부터 수신된 2D 신체 이미지를 처리하는 것으로 시작한다. 예를 들어, 이미징 요소로부터 수신된 각각의 이미지는, 신체 관절(예를 들어, 손목, 발목, 무릎)의 위치, 신체 부위(예: 손, 발, 어깨)의 위치 및/또는 기타 신체 지점과 같은, 신체 위치를 결정하기 위해, 컨볼루션 신경망("CNN")과 같은 신경망에 의해 처리될 수 있다. 이해되는 바와 같이, 임의의 훈련된 신경망이 2D 이미지 내의 신체 지점 위치를 결정하는데 이용될 수 있다. 일부 구현에서, 신체 지점 결정이 휴대용 장치에서 수행되기 때문에, ENet과 같은 저지연(low latency) 신경망이 훈련되고 활용될 수 있다. 다른 구현에서, 다른 신경망이 이용될 수 있다.
각 이미지에 대한 신경망의 출력은, x, y 좌표(또는 다른 좌표 프레임)에 의해 정의되는 이미지의 각 픽셀에 대해, 신체 지점이 그 위치에 있는 확률 점수를 나타내는 히트 맵(heat map)일 수 있다. 확률 점수는 신체 지점이 해당 위치에 있을 가능성에 대한 지표로 사용될 수 있는 임의의 정의된 값 또는 지표일 수 있다.
504에서와 같이, 신체 지점 위치의 최소 수가 충분히 높은 확률로 감지되었는지 여부를 결정함으로써 신체가 이미징 요소의 시야 내에 위치하는지 여부에 대한 초기 결정이 이루어질 수 있다. 최수 숫자는 임의의 정의된 양(예: 1, 2, 4 등)일 수 있다. 다수의 신체 지점이 위치될 수 있지만, 일부 구현에서는 신체 지점 위치의 최소 수가 결정되었는지 여부를 결정할 때 특정 신체 지점만이 고려될 수 있다. 예를 들어, 일부 구현에서 왼쪽 어깨, 오른쪽 어깨, 왼쪽 발목, 오른쪽 발목, 왼쪽 손목, 오른쪽 손목 및 머리 꼭대기의 신체 지점 위치가, 신체 지점 위치의 최소 수가 결정되었음을 결정할 때 고려되는 유일한 신체 지점 위치일 수 있다.
신체 지점 위치의 최소 수가 감지되지 않은 것으로 결정되면 506에서와 같이 신체가 시야에 위치하도록 요청하는 요청(예: 시각적 및/또는 청각적)이 제공될 수 있다. 신체 지점 위치의 최소 개수가 결정된 것으로 판단되면 508과 같이 결정된 신체 지점 위치 주위에 경계 상자를 형성하고, 510에서와 같이, 신체가 이미지 요소/휴대용 장치로부터 적절한 거리에 있는지 판단한다. 예를 들어, 경계 상자가 이미지의 정의된 양 또는 백분율 범위(예: 60% - 70%)를 포함하는지, 경계 상자의 높이가 이미지의 전체 높이 중 정의된 백분율 범위(예: 70% - 80%) 또는 양 내에 있는지, 경계 상자의 너비가 이미지의 전체 너비의 정의된 백분율(예: 30% - 50%) 또는 양 내에 있는지, 등등 여부에 관한 결정이 이루어질 수 있다.
경계 상자가 정의된 양의 이미지를 포함하지 않는 것으로 결정되면, 512에서와 같이, 신체가 이미징 요소/휴대용 장치에 대해 앞뒤로 이동할 것을 요청하는 요청(시각 및/또는 청각)이 제시될 수 있고, 예시적인 프로세스(500)는 블록(508)으로 돌아가서 계속된다. 예를 들어, 경계 상자가 이미지를 충분히 포함하지 않는 것으로 결정되는 경우, 요청은 신체가 이미징 요소/휴대용 장치에 더 가까이 이동하도록 하는 요청일 수 있다. 이에 비해 경계 상자가 이미지를 너무 많이 포함하거나 신체 지점 위치의 일부가 이미지를 벗어나면 신체가 이미징 요소/휴대용 장치에서 더 멀리 이동하라는 요청이 될 수 있다.
신체가 이미징 요소/휴대용 장치로부터 정확한 거리에 있다는 것이 결정 블록(510)에서 결정되면, 이미징 요소로부터 수신된 2D 신체 이미지는 514에서와 같이 신체 지점 위치를 결정하기 위해 처리된다. 신체 지점 위치를 결정하기 위한 2D 신체 이미지의 처리는 이미징 요소의 시야에 위치된 신체의 신체 지점 위치를 결정하기 위해 휴대용 장치에서 실행되는 블록(502)과 관련하여 위에서 논의된 것과 동일한 신경망을 사용하여 수행될 수 있다. 위에서 논의된 바와 같이, 신경망에 의해 처리된 각각의 2D 신체 이미지에 대한 출력은 신체 지점이 그 위치에 있을 확률을 (x, y 좌표로) 2D 신체 이미지의 각 픽셀에 대해 나타내는 히트 맵일 수 있다.
각각의 2D 신체 이미지에 대한 출력(히트 맵)은 그 다음 고려될 수 있고, 518에서와 같이, 각 신체 지점 위치에 대한 확률 점수가 임계값보다 높은지 여부에 대한 결정이 내려질 수 있다. 임계값은 임의의 값(예, 0.7) 또는 지표일 수 있으며, 상이한 신체 지점 및/또는 상이한 신체 지점 위치에 따라 다를 수 있다. 마찬가지로, 일부 구현에서, 결정은 2D 신체 이미지의 처리에 의해 표시된 모든 신체 지점 위치에 대한 것일 수 있다. 다른 구현에서, 특정 신체 지점 위치에 대한 확률 점수가 초과되었는지 여부를 결정할 때 선택된 신체 점에 대한 위치 및 확률 점수만이 고려될 수 있다. 예를 들어, 일부 구현에서 예시적인 프로세스는 왼쪽 어깨, 오른쪽 어깨, 왼쪽 발목, 오른쪽 발목, 왼쪽 손목, 오른쪽 손목, 왼쪽 엉덩이, 오른쪽 엉덩이, 오른쪽 엉덩이, 및 머리의 윗 부분의 신체 지점에 대한 신체 지점 위치가 임계 값을 초과하였는지 여부만을 고려할 수 있다. 다른 구현에서, 더 적거나 더 많은 신체 지점 위치가 고려될 수 있다.
각각의 신체 부위 위치에 대한 확률 점수가 임계값을 초과하지 않는 것으로 결정되면, 예시적인 프로세스(500)는 블록(514)으로 돌아가서 다음 2D 신체 이미지를 처리한다.
신체 지점 위치가 임계값을 초과하는 것으로 결정되면, 519에서와 같이, 2D 신체 이미지를 처리하여, 왼쪽 엉덩이 지점과 오른쪽 발목 지점 사이의 거리에 대한 왼쪽 발목 지점과 오른쪽 발목 지점 사이의 거리를 결정한다. 예를 들어, 왼쪽 발목 지점과 오른쪽 발목 지점 사이의 거리가 왼쪽 엉덩이 지점과 오른쪽 엉덩이 지점 사이의 거리보다 크거나 같은지 판단할 수 있다.
520에서와 같이, 왼쪽 엉덩이 지점과 오른쪽 엉덩이 지점 사이의 거리에 대한 왼쪽 발목 지점과 오른쪽 발목 지점 사이의 거리의 관계에 기초하여, 다리가 적절한 위치에 있는지 여부를 결정한다. 예를 들어, 정의된 포즈가 A 포즈인 경우 왼쪽 발목 지점과 오른쪽 발목 지점 사이의 거리가 왼쪽 엉덩이 지점과 오른쪽 엉덩이 지점 사이의 거리보다 크거나 같으면 다리가 올바른 위치에 있다고 판단할 수 있다. 왼쪽 발목 지점과 오른쪽 발목 지점 사이의 거리가 왼쪽 엉덩이 지점과 오른쪽 엉덩이 지점 사이의 거리보다 크거나 같지 않으면 다리가 올바른 위치에 있지 않다고 판단할 수 있다.
다리가 적절한 위치에 있지 않다고 결정되면 522에서와 같이 신체의 다리를 바깥쪽으로 또는 안쪽으로 조정하라는 요청이 (시각적으로 및/또는 청각적으로) 제시된다. 예를 들어, 왼쪽 발목 지점과 오른쪽 발목 지점 사이의 거리가 왼쪽 엉덩이 지점과 오른쪽 엉덩이 지점 사이의 거리보다 작다고 결정하면, 신체의 다리들이 더 멀리 떨어져야 함을 요청하는 시각적, 청각적 및/또는 촉각적 알림이 휴대용 장치에 의해 제공될 수 있다. 요청이 제시됨에 따라, 예시적인 프로세스(500)는 블록(514)으로 돌아가, 다리가 정의된 포즈에 대해 적절한 위치에 있다고 블록(520)에서 결정될 때까지 계속된다.
다리가 적절한 위치에 있다고 결정 블록(520)에서 결정되면, 2D 신체 이미지는 524에서와 같이 어깨 지점과 손목 지점 사이의 각도를 결정하도록 처리된다. 예를 들어, 정규화된 내적의 역 코사인(inverse cosine)을 수행하여 왼쪽 어깨 지점, 왼쪽 손목 지점, 오른쪽 어깨 지점 및 오른쪽 손목 지점에 대해 결정된 위치를 기반으로 팔 간격을 결정할 수 있다.
어깨 지점과 손목 지점 사이의 결정된 각도에 기초하여, 526에서와 같이 왼팔과 오른팔이 적절한 위치에 있는지에 대한 결정이 이루어진다. 위 예를 계속하여, 정의된 포즈가 A 포즈인 경우, 팔의 적절한 공간은 어깨 지점과 손목 지점 사이에 형성되는 팔 각도가 20도에서 40도 사이가 되도록 하는 것이 좋다. 다른 예에서, 팔 간격은 상이할 수 있다.
팔이 적절한 위치에 있지 않다고 결정되면, 528에서와 같이 팔이 위 또는 아래로 조정될 것을 요청하는 시각적, 청각적 및/또는 촉각적 통지가 휴대용 장치에 의해 제공될 수 있다. 예를 들어, 팔의 각도가 정의된 포즈의 범위를 초과하는 것으로 판단되는 경우, 요청은 한쪽 또는 양쪽 팔을 낮추는 요청일 수 있다. 이에 비해, 팔의 각도가 정의된 포즈 범위 미만인 것으로 판단되면, 한쪽 또는 양쪽 팔을 들어올려 달라는 요청일 수 있다. 요청이 제시되면, 예시적인 프로세스(500)는 블록(514)으로 돌아가서, 팔이 정의된 포즈에 대한 적절한 위치에 있다고 결정 블록(526)에서 결정될 때까지 계속된다.
팔이 적절한 위치에 있다고 결정되면, 예시적인 프로세스(500)는 530에서와 같이 신체가 정의된 포즈(예를 들어, A 포즈)에 있다는 통지를 반환한다.
위의 예는 신체와 이미징 요소/휴대용 장치 사이의 거리가 정확한지, 다리가 적절하게 위치하는지, 그리고 팔이 적절하게 위치하는지 여부를 결정하는 순차적인 방식으로 진행되는 반면, 다른 구현에서는 위의 각각에 대한 결정 및/또는 알림이 병렬로 또는 다른 순서로 수행될 수 있다. 마찬가지로, 일부 구현에서, 하나 이상의 조정(예: 앞으로/뒤로 이동, 다리 벌림/좁히기, 팔 올리기/내리기)을 하기 위한 요청이 임의의 순서로 제시될 수 있고/있거나 모두 동시에 제시될 수 있다. 또한, 위에서 언급한 바와 같이, 요청은 휴대용 장치에서 실행되는 애플리케이션에 의해 시각적 및/또는 청각적 출력으로 출력될 수 있다. 예를 들어, 애플리케이션은 2D 신체 이미지가 이미징 요소에 의해 획득됨에 따라 사용자 신체의 이미지를 휴대용 장치의 디스플레이에 제시할 수 있으며, 정의된 포즈에 따라 신체에 대한 적절한 위치로서 실루엣 또는 기타 표시자를 오버레이할 수 있다. 앞으로/뒤로 움직이기, 다리 벌리기/좁히기, 팔 올리기/내리기 등의 특정 요청이 시각적 표시기와 함께 표시되어 사용자가 올바른 자세로 신체를 배치하는 데 도움이 될 수 있다.
도 6은 본 개시의 구현들에 따른 예시적인 신체 방향 결정 및 신체 방향 이미지 선택 프로세스(600)이다. 도 4 및 도 5와 유사하게, 예시적인 프로세스(600)는 휴대용 장치, 원격 컴퓨팅 리소스 또는 휴대용 장치와 원격 컴퓨팅 리소스의 조합에서 수행될 수 있다.
예시적인 프로세스(600)는 602에서와 같이, 이미징 요소/휴대용 장치에 대한 2D 신체 이미지에 표현된 신체의 방향을 나타내는 신체 방향 점수를 결정하기 위해 휴대 장치의 이미징 요소로부터 수신된 2D 신체 이미지를 처리함으로써 시작된다. 예시적인 프로세스 400(도 4) 및 500(도 5)과 같이, 예시적인 프로세스(600)는 휴대용 장치에서 실행되는 애플리케이션에 의해 수행될 수 있다. 이와 같이, 수신된 2차원 신체 이미지에 표현된 신체의 방향을 결정하기 위해 저지연 이미지 처리 기술이 수행될 수 있다. 예를 들어, CNN과 같은 저지연 신경망은 신체의 신체 방향을 결정하도록 훈련될 수 있다. 일 예에서 MobileNet CNN은 수신된 2D 신체 이미지에 표현된 신체의 신체 방향을 결정하도록 훈련될 수 있다. 다른 구현에서, 각각의 잠재적인 신체 방향에 대해 하나씩, 다중 CNN은 입력 2D 신체 이미지를 처리하고 2D 신체 이미지에 표현된 신체가 CNN이 학습된 신체 방향에 대응할 확률을 나타내는 점수를 출력하도록 학습될 수 있다. 예를 들어, 예시적인 프로세스(400)(도 4)가 전면, 우측, 후면 및 좌측으로부터 2D 신체 방향 이미지를 획득하는 것이라면, 상이한 CNN은 이들 4개의 신체 방향 각각에 대해 훈련될 수 있다. 수신된 2D 신체 이미지는 4개의 CNN 각각에 의해 병렬로 처리될 수 있고, 2D 신체 이미지에 표현된 신체가 해당 CNN에 대해 훈련된 신체 방향에 있을 확률을 나타내는 신체 방향 점수가 각 CNN에 의해 표시될 수 있다. 가장 높은 점수를 받은 CNN은 2D 신체 이미지에 표현된 신체의 가능한 신체 방향을 나타낼 것이다.
일부 구현에서, 신체 방향의 순서는 애플리케이션에 의해 제어될 수 있고, 신체가 처음에 앞면, 그 다음 오른쪽, 뒷면, 그 다음 왼쪽으로 (또는 임의의 다른 주문 순서) 배향되는 요청이 제시될 수 있다. 이러한 예에서, 처리 요구사항은 요청된 신체 방향에 대해 훈련된 CNN으로 수신된 2D 신체 이미지만을 처리함으로써 더욱 감소될 수 있다. 예를 들어, 신체가 이미징 요소에 대해 우측면으로 배향되어야 한다는 요청인 경우, 우측 신체 방향 검출을 위해 훈련된 CNN은 수신된 2D 신체 이미지를 처리하기 위해 실행된 유일한 CNN일 수 있다.
신체 방향 점수가 생성됨에 따라, 신체 방향 중 하나 또는 요청된 신체 방향에 대한 신체 방향 점수가 604에서와 같이 신체 방향 임계값보다 높은지 여부에 대한 결정이 내려진다. 신체 방향 임계값은 신체 방향이 정확하게 결정되었다는 신뢰도와 관련된 값이나 지표가 될 수 있다. 신체 방향 점수가 신체 방향 임계값을 초과하지 않는 것으로 결정되면, 605에서와 같이 신체를 신체 방향으로 조정하라는 요청이 (시각적으로 및/또는 청각적으로) 제시된다. 프로세스(600)는 블록(602)으로 돌아가 계속된다.
수신된 2D 신체 이미지에 대한 신체 방향 점수가 신체 방향 임계값을 초과하는 것으로 결정 블록(604)에서 결정되면, 606에서와 같이 2D 신체 방향에서 신체의 정의된 수의 2D 신체 이미지가 수집된다. 정의된 2D 신체 이미지의 수는 임의의 정의된 수(예: 1, 2, 5, 20, 50, 등)일 수 있다. 또한, 607에서와 같이 수집된 2D 신체 이미지 각각에 대해 신체 방향 점수가 계산된다. 신체 방향 점수는 블록(602)과 관련하여 위에서 사용 및 논의된 동일한 신경망을 사용하여 계산될 수 있다. 방향이 정면도인 것으로 결정되면, 정면도 신체 방향에 대해 훈련된 CNN을 사용하여 수집된 2D 신체 이미지 각각에 대한 신체 방향 점수를 결정할 수 있다.
그런 다음 608에서와 같이 가장 높은 신체 방향 점수를 갖는 수집된 2D 신체 이미지들 중 하나의 2D 신체 이미지가 해당 신체 방향에 대한 2D 신체 방향 이미지로 선택된다. 예를 들어, 2D 신체 이미지 20개를 수집하고 CNN에서 정면 신체 방향에 대해 학습한 신체 방향 점수를 계산하면, CNN에서 결정한 신체 방향 점수가 가장 높은 2D 신체 이미지를 정면 신체 방향에 대한 2D 신체 방향 이미지로 선택한다.
마지막으로, 선택된 2D 신체 방향 이미지는 610에서와 같이 개인별 3D 신체 파라미터를 생성하기 위한 처리를 위해 원격 컴퓨팅 리소스로 전송되고, 612에서와 같이 예시 프로세스(600)가 완료된다. 예시된 예시는 선택시 2D 신체 방향 이미지를 전송하지만, 일부 구현에서, 선택된 2D 신체 방향 이미지는 휴대용 장치에 남아 있을 수 있고, 일단 모든 2D 신체 방향 이미지가 선택되면 예시적인 프로세스(400)(도 4)에 의해 원격 컴퓨팅 리소스로 전송될 수 있다.
도 7은 본 개시의 구현들에 따른, 신체의 개인별 3D 신체 모델을 생성하기 위해 신체의 2D 신체 이미지들을 처리하는 전환도(700)이다.
2D 신체 이미지로부터 신체의 3D 모델링은 모델링될 사용자의 신체(703)의 표현을 포함하는 2D 신체 이미지(702)의 수신 또는 생성으로 시작된다. 위에서 논의된 바와 같이, 개시된 구현과 함께 사용하기 위한 2D 신체 이미지(702)는 많은 현재의 휴대용 장치(예를 들어, 태블릿, 휴대폰, 노트북 등)에 포함된 표준 2D 적색, 녹색, 청색("RGB") 디지털 카메라와 같은, 임의의 기존 이미징 요소를 이용하여 생성될 수 있다. 2차원 신체 이미지는 이미징 요소에 의해 생성된 정지 이미지일 수도 있고, 이미징 요소에 의해 생성된 비디오로부터 추출된 이미지일 수도 있다. 마찬가지로, 임의의 수의 이미지가 개시된 구현과 함께 사용될 수 있다.
논의된 바와 같이, 사용자는 이미지(702)에서와 같이, 특정 배향(예를 들어, 이미징 요소를 향한 정면, 이미징 요소를 향한 측면, 이미징 요소를 향한 후방, 등)으로 서있거나 및/또는 "A" 포즈와 같은 특정 포즈로 서있을 것을 지시받을 수 있다. 마찬가지로, 사용자의 신체가 이미징 요소의 시야에 완전히 포함되어 생성된 이미지(702)에 나타나도록 카메라로부터 소정 거리를 유지하도록 사용자가 지시받을 수 있다. 또한, 일부 구현에서, 이미징 요소는 이미징 요소에 의해 생성된 이미지가 동일한 관점에서 각각 있도록 그리고 동일한 시야를 포괄하도록 고정된 지점에 정렬 또는 위치할 수 있다.
이해할 수 있는 바와 같이, 사용자는 생성된 사용자 신체의 개인별 3D 신체 모델을 갖도록 선택하거나 옵트-인할 수 있고 또한 생성된 개인별 3D 신체 모델 및/또는 다른 정보가 공개된 구현 및/또는 다른 목적을 위한 추가 훈련에 사용될 수 있다.
사용자의 신체(703)의 표현을 포함하는 2D 신체 이미지(702)는 이미지(702)에 표현된 사용자의 신체(703)의 실루엣(704)을 생성하도록 처리될 수 있다. 실루엣(704) 생성에 다양한 기술이 사용될 수 있다. 예를 들어, 배경 빼기는 이미지의 배경에 해당하는 이미지의 픽셀을 빼거나 블랫아웃시키면서 사용자의 신체(즉, 전경)(703)에 해당하는 픽셀에는 흰색 또는 다른 칼라 값이 할당될 수 있다. 다른 예에서, 의미론적 분할 알고리즘이 배경 및 신체(전경) 픽셀에 레이블을 지정하는 데 사용될 수 있다. 예를 들어, CNN은 이미지에서 인체와 같은 신체를 결정하기 위해 의미론적 분할 알고리즘으로 훈련될 수 있다.
일부 구현들에서, 사용자의 신체의 실루엣은 아래에서 더 논의되는 바와 같이 높이가 정규화되고 이미지의 중앙에 위치할 수 있다. 이것은 CNN이 훈련된 CNN에 대한 입력을 더욱 단순화하고 표준화하기 위해 수행될 수 있다. 마찬가지로 CNN이 피부색, 텍스처, 의복 등이 아닌 체형에만 집중할 수 있도록 사용자 신체의 실루엣이 사용자의 신체 표현보다 선호될 수 있다.
그런 다음, 신체를 나타내는, 여기서 신체 특징으로도 지칭되는, 신체 특성(body traits)을 결정하도록, 그리고, 신체의 개인별 3D 신체 모델을 생성하는데 사용되는 개인별 3D 신체 파라미터를 생성하도록, 훈련된 하나 이상의 다른 CNN(706)에 의해 신체의 실루엣(704)이 처리될 수 있다. 일부 구현들에서, CNN(706)은 CNN에 대한 입력(704)으로 실루엣(704)과, 사용자 신체의 하나 이상의 알려진 신체 속성(705)을 수신하기 위해 다중 모드 입력용으로 훈련될 수 있다. 예를 들어, 사용자는 사용자의 신장, 사용자의 체중, 사용자의 신체의 성별 등을 제공할 수 있고 CNN은 제공된 속성 중 하나 이상을 입력으로 수신할 수 있다.
수신된 입력에 기초하여, CNN(706)은 3D 관절 위치, 체적, 신체의 형태, 포즈 각도, 등과 같은 개인별 3D 신체 파라미터를 생성한다. 일부 구현에서, CNN(706)은 이미지(702)에 표시된 신체의 수백개의 신체 파라미터를 예측하도록 훈련될 수 있다.
개인별 3D 신체 파라미터를 이용하여, 신체의 개인별 3D 신체 모델이 생성된다. 예를 들어, 개인별 3D 신체 파라미터는 사람의 형상 완성 및 애니메이션("SCAPE") 신체 모델, 피부가 있는 다인자 선형("SMPL") 신체 모델 등과 같은 신체 모델에 제공될 수 있고, 신체 모델은 예측된 신체 파라미터에 기초하여 사용자 신체의 개인별 3D 신체 모델을 생성할 수 있다.
일부 구현들에서, 아래에서 더 논의되는 바와 같이, 개인별 3D 모델 개선(708)은 사용자의 신체를 더 잘 나타내기 위해 생성된 개인별 3D 신체 모델을 개선하거나 수정하기 위해 수행될 수 있다. 예를 들어, 개인별 3D 신체 모델은 이미지(702)에 나타난 사용자의 신체(703)의 형상과, 개인별 3D의 신체 모델의 형상 사이의 차이를 결정하기 위해 이미지(702) 내 사용자의 신체(703)의 표현과 비교될 수 있다. 결정된 차이에 기초하여, 실루엣(704)이 수정될 수 있고 수정된 실루엣이 CNN(706)에 의해 처리되어 사용자 신체의 수정된 개인별 3D 신체 모델을 생성할 수 있다. 이 개선은 이미지(702)에 나타난 사용자의 신체(703)의 형상과, 개인별 3D 신체 모델(710)의 형상 사이에 차이가 없거나 거의 없을 때까지 계속될 수 있다. 다른 구현에서, 2D 모델 이미지는 개인별 3D 신체 모델로부터 생성될 수 있고, 그 2D 모델 이미지는 실루엣 및/또는 2D 신체 이미지와 비교되어 2D 모델 이미지와 2D 신체 이미지 또는 실루엣 간의 차이를 결정할 수 있다. 결정된 차이에 기초하여, 개인별 3D 신체 파라미터 및/또는 개인별 3D 신체 모델이, 개인별 3D 신체 모델이 실루엣 및/또는 2D 신체 이미지에 표현된 사용자의 신체에 대응할 때까지, 수정될 수 있다.
또한, 일부 구현에서, 사용자 신체의 개인별 3D 신체 모델(710)은 사용자 신체의 이미지(702)로부터 결정된 하나 이상의 텍스처, 즉 텍스처 증강(712)으로 증강될 수 있다. 예를 들어, 개인별 3D 신체 모델은 이미지(702)에 나타난 신체(703)의 피부색과 동일하거나 유사한 색상을 갖도록 증강될 수 있고, 이미지(702)에 나타난 의복 또는 의복 색상은 개인별 3D 신체를 증강하는데 사용될 수 있으며, 이미지(702)에 표현된 사용자의 신체의 얼굴 특징, 머리카락, 머리 색깔, 등은 개인별 3D 신체 모델을 증강하기 위해 결정되고 사용될 수 있고, 등등이다.
전환(700)에 예시된 처리의 결과는 사용자 신체의 2D 신체 이미지로부터 생성된 사용자 신체를 나타내는 개인별 3D 신체 모델(714) 또는 아바타이다.
도 8a는 본 개시의 구현들에 따른, 신체의 개인별 3D 신체 모델을 생성하기 위해 신체의 2D 신체 이미지들(802)을 처리하는 다른 전환도(800)이다.
일부 구현에서, 2D 신체 이미지(802-1, 802-2, 802-3, 802-4 내지 802-N)와 같은 상이한 뷰(예를 들어, 정면도, 측면도, 후면도, 4분의 3도 등)로부터 신체의 다중 2D 신체 이미지는 신체의 개인별 3D 신체 모델을 생성하기 위해 개시된 구현과 함께 사용될 수 있다. 도시된 예에서, 제1 2D 신체 이미지(802-1)는 2D 이미징 요소를 향하는 정면도에서 배향된 인체(803)의 이미지이다. 제2 2D 신체 이미지(802-2)는 2D 이미징 요소를 향하는 제1 측면도에서 배향된 인체(803)의 이미지이다. 제3 2D 신체 이미지(802-3)는 2D 이미징 요소를 향하는 배면도에서 배향된 인체(803)의 이미지이다. 제4 2D 신체 이미지(802-4)는 2D 이미징 요소를 향하는 제2 측면도에서 배향된 인체(803)의 이미지이다. 이해되는 바와 같이, 임의의 수의 2D 신체 이미지(802-1 내지 802-N)가 2D 이미징 요소에 대해 임의의 수 또는 배향으로 인체(803)의 뷰와 함께 생성될 수 있다.
각각의 2D 신체 이미지(802-1 내지 802-N)는 인체를 나타내지 않는 이미지의 픽셀로부터 인체를 나타내는 이미지의 픽셀을 분할(segmentation)하여, 해당 이미지에 표현된 대로 인체의 실루엣(804)을 생성하도록 처리된다. 분할은 예를 들어 배경 빼기, 의미론적 분할 등을 통해 수행될 수 있다. 한 예에서, 배경의 기준선 이미지가 알려져 이를 이용하여, 기준선 이미지의 픽셀에 대응하는 이미지의 픽셀을 차감할 수 있으며, 이에 따라 인체를 나타내는 전경 픽셀만 남길 수 있다. 배경 픽셀에는 검정색에 대한 RGB 색상 값(즉, 0,0,0)이 할당될 수 있다. 나머지 픽셀에는 인체의 실루엣(804) 또는 이진 분할을 생성하기 위해 흰색(즉, 255, 255, 255)에 대한 RGB 값이 할당될 수 있다.
다른 예에서, 시맨틱 분할 알고리즘을 사용하는 CNN은 인체의 이미지를 사용하여 훈련되거나, 인체를 나타내는 픽셀과 인체를 나타내지 않는 픽셀을 구별하도록 CNN을 훈련하기 위해 시뮬레이션된 인체를 이용하여 훈련할 수 있다. 이러한 예에서, CNN은 신체(전경)를 나타내는 픽셀 및 신체(배경)를 나타내지 않는 픽셀을 표시하거나 라벨링하는 이미지(802)를 처리할 수 있다. 배경 픽셀에는 검정색에 대한 RGB 색상 값(즉, 0,0,0)이 할당될 수 있다. 나머지 픽셀에는 인체의 실루엣 또는 이진 분할을 생성하기 위해 흰색에 대한 RGB 값(즉, 255, 255, 255)이 할당될 수 있다.
다른 구현에서, 에지 검출, 형상 검출 등과 같은 다른 형태 또는 알고리즘은 신체를 나타내는 이미지(802)의 픽셀 및 신체를 나타내지 않는 이미지(802)의 픽셀과, 그로부터 생산된 신체의 실루엣(804)을 결정하는 데 사용될 수 있다.
도 8a로 돌아가서, 제1 2D 신체 이미지(802-1)는 인체를 나타내지 않는 제1 2D 신체 이미지(802-1)의 복수의 픽셀로부터 인체를 나타내는 제1 2D 신체 이미지(802-1)의 복수의 픽셀을 분할하도록 처리되어, 인체의 전면 실루엣(804-1)을 생성한다. 제2 2D 신체 이미지(802-2)는 인체를 나타내지 않는 제2 2D 신체 이미지(802-2)의 복수의 픽셀로부터 인체를 나타내는 제2 2D 신체 이미지(802-2)의 복수의 픽셀을 분할하도록 처리되어, 인체의 제1 측면 실루엣(804-2)을 생성한다. 제3 2D 신체 이미지(802-3)는 인체를 나타내지 않는 제3 2D 신체 이미지(802-3)의 복수의 픽셀로부터 인체를 나타내는 제3 2D 신체 이미지(802-3)의 복수의 픽셀을 분할하도록 처리되어, 인체의 등 실루엣(804-3)을 생성한다. 제4 2D 신체 이미지(802-4)는 인체를 나타내지 않는 제4 2D 신체 이미지(802-4)의 복수의 픽셀로부터 인체를 나타내는 제4 2D 신체 이미지(802-4)의 복수의 픽셀을 분할하도록 처리되어, 인체의 제2 측면 실루엣(804-4)을 생성한다. 인체(803)의 상이한 방향으로부터 실루엣(804-1 내지 804-N)을 생성하기 위한 2D 신체 이미지(802-1 내지 802-N)의 처리는 임의의 수의 이미지(802)에 대해 수행될 수 있다.
일부 구현에서, 2D 신체 이미지로부터 실루엣(804)을 생성하는 것 외에도, 실루엣은 크기가 정규화되고 이미지의 중앙에 위치할 수 있다. 예를 들어, 실루엣은 실루엣(804) 주위의 경계 사각형을 계산함으로써 잘릴 수 있다(crop). 그런 다음 실루엣(804)은 2D 신체 이미지에 표현되 s사용자의 알려진 신장 h의 함수인 s에 3D라 크기조정될 수 있다(가령, 높이는 사용자가 제공할 수 있음):
Figure pct00001
(1)
여기서 imageh는 이미지의 픽셀을 기반으로 할 수 있는 입력 이미지 높이이고 μh는 사람의 평균 신장이다(예: 여성의 경우 ~160cm, 남성의 경우 ~176cm).
신체를 나타내는 각각의 실루엣(804)은 인체의 신체 특성 또는 특징을 결정하기 위해 처리될 수 있다. 예를 들어, 상이한 CNN들이 알려진 특징으로 상이한 배향으로부터, 인체와 같은 신체의 실루엣을 사용하여 훈련될 수 있다. 일부 구현에서, 상이한 CNN들이 상이한 배향에 대해 훈련될 수 있다. 예를 들어, 제1 CNN(806A-1)은 정면도 실루엣(804-1)으로부터 정면 특징을 결정하도록 훈련될 수 있다. 제2 CNN(806A-2)은 우측 실루엣으로부터 우측 특징을 결정하도록 훈련될 수 있다. 제3 CNN(806A-3)은 뒷모습 실루엣으로부터 뒷모습 특징을 결정하도록 훈련될 수 있다. 제4 CNN(806A-4)은 좌측 실루엣으로부터 좌측 특징을 결정하도록 훈련될 수 있다. 상이한 CNN(806A-1 내지 806A-N)들이 실루엣(804-1 내지 804-N)의 상이한 배향들 각각에 대해 훈련될 수 있다. 또는 하나의 CNN이 임의의 방향 실루엣에서 특징을 결정하도록 훈련될 수 있다.
신체(803)의 다중 이미지를 활용하여 도 8a에 도시된 예와 같은 특징의 다중 세트를 생성하는 구현에서, 이러한 특징들은 연결(806B)될 수 있고 연결된 특징은 CNN과 함께 처리되어 신체 파라미터(807) 세트를 생성한다. 예를 들어, CNN은 신체 파라미터(807)를 생성하기 위해 상이한 실루엣(804)들로부터 생성된 특징을 수신하도록 훈련될 수 있다. 신체 파라미터(807)는 이미지(802)에 표시된 신체(803)와 관련된 임의의 양태 또는 정보를 나타낼 수 있다. 예를 들어, 신체 파라미터(807)는 3D 관절 위치, 체적, 신체의 형상, 포즈 각도, 등을 표시할 수 있다. 일부 구현에서, CNN(806B)은 이미지(802)에 표현된 신체(803)에 대응하는 수백 개의 신체 파라미터(807)를 예측하도록 훈련될 수 있다.
신체 파라미터(807)를 이용하여, 2D 신체 이미지(802)에 표현된 신체(803)의 개인별 3D 신체 모델링(810)을 수행하여 2D 신체 이미지(802)에 표현되는 신체(803)의 개인별 3D 신체 모델을 생성한다. 예를 들어, 신체 파라미터(807)는 SCAPE 신체 모델, SMPL 신체 모델 등과 같은 신체 모델에 제공될 수 있고 이러한 신체 모델은 이러한 신체 파라미터(807)에 기초하여 이미지(802)에 표현된 신체(803)의 개인별 3D 신체 모델을 생성할 수 있다.
예시된 예에서, 개인별 3D 모델 개선(808)은 2D 신체 이미지(802)에 표현된 신체(803)를 더 잘 나타내기 위해 생성된 개인별 3D 신체 모델을 개선하거나 수정하기 위해 수행될 수 있다. 예를 들어, 개인별 3D 신체 모델은 하나 이상의 2D 신체 이미지에 표시된 신체(803)에 비교되어, 2D 신체 이미지(802)에 표시된 신체(803)의 형상과 신체 파라미터로부터 생성된 개인별 3D 신체 모델의 형상 간의 차이를 결정할 수 있다. 일부 구현에서, 개인별 3D 신체 모델은 이미지(802-1)와 같은 단일 이미지와 비교될 수 있다. 다른 구현들에서, 개인별 3D 신체 모델은 병렬 또는 순차적으로 2D 신체 이미지들(802-1 내지 802-N) 각각과 비교될 수 있다. 또 다른 구현에서, 하나 이상의 2D 모델 이미지가 개인별 3D 신체 모델로부터 생성될 수 있고 이러한 2D 모델 이미지가 실루엣 및/또는 2D 신체 이미지와 비교되어, 2D 모델 이미지와 실루엣/2D 신체 이미지 간의 차이를 결정할 수 있다.
개인별 3D 신체 모델 및/또는 2D 모델 이미지를 2D 신체 이미지(802) 또는 실루엣(854)과 비교하는 것은 2D 신체 이미지에 표현된 신체(803)의 대략적인 포즈를 결정하고, 개인별 3D 신체 모델을 대략적인 포즈로 조정하는 것을 포함할 수 있다. 개인별 3D 신체 모델 또는 렌더링된 2D 모델 이미지는 오버레이되거나 달리 2D 신체 이미지(802)로 표현되고/되거나 실루엣(804)으로 표현된 신체(803)와 비교되어, 개인별 3D 신체 모델과 2D 신체 이미지 간의 차이를 결정할 수 있다.
개인별 3D 신체 모델과 2D 신체 이미지(802)에 표현된 신체(803) 사이의 결정된 차이에 기초하여, 그 이미지로부터 생성된 실루엣(804)은 이러한 차이를 설명하도록 수정될 수 있다. 예를 들어, 개인별 3D 신체 모델을 제1 이미지(802-1)에 나타난 신체(803)와 비교하여 차이가 결정되면, 그 차이를 기반으로 실루엣(804-1)이 보정될 수 있다. 대안으로, 신체 파라미터 및/또는 개인별 3D 신체 모델은 이러한 차이를 설명하기 위해 수정될 수 있다.
개인별 3D 모델 개선(808)의 일부로서 실루엣이 수정되면, 수정된 실루엣에 기초하여 2D 신체 이미지에 표현된 신체(803)에 대한 수정된 특징을 결정하기 위해 수정된 실루엣이 처리될 수 있다. 수정된 특징은 다른 실루엣으로부터 생성된 특징과 연결되거나, 개인별 3D 모델 개선(808)에 의해 생성된 다른 수정된 실루엣으로부터 생성된 수정된 특징과 연결될 수 있다. 예를 들어, 개인별 3D 모델 개선(808)은 생성된 개인별 3D 신체 모델을, 전면 이미지(802-1) 및 후면 이미지(802-3)와 같은 둘 이상의 2D 신체 이미지(802)로 표현된 신체(803)와 비교할 수 있고, 이들 각각의 이미지에 대해 결정된 차이, 이러한 차이로부터 생성된 수정된 실루엣, 및 수정된 전면 뷰 특징 및 수정된 후면 뷰 특징이 생성될 수 있다. 그런 다음 수정된 특징들 두 개의 측면도 특징과 연결하여 수정된 신체 모델 파라미터를 생성할 수 있다. 다른 구현에서, 개인별 3D 모델 개선(808)은 개인별 3D들체 모델을 2D 신체 이미지(802)에 표현된 신체(803)의 모든 뷰와 비교하여, 차이를 결정하고 이들 2D 신체 이미지(802-1 내지 802-N) 각각에 대한 수정된 실루엣을 생성할 수 있다. 그 수정된 실루엣은 그 후, 수정된 특징을 생성하기 위해 CNN(806A-1 내지 806A-N)에 의해 처리될 수 있고, 수정된 신체 파라미터(807)를 생성하기 위해 이와 같이 수정된 특징들이 연결될 수 있다. 마지막으로, 수정된 개인별 3D 신체 모델을 생성하기 위해, 수정된 신체 파라미터가 개인별 3D 모델링(810)에 의해 처리될 수 있다. 개인별 3D 개선의 이 프로세스는 생성된 개인별 3D 신체 모델과 2D 신체 이미지(802)에 표현된 신체(803) 사이에 차이가 없거나 제한적일 때까지(예를 들어, 임계값 차이 미만) 계속될 수 있다.
다른 구현에서, 개인별 3D 모델 개선(808)은 개인별 3D 신체 모델을 상이한 2D 신체 이미지(802) 내의 신체(803)의 표현과 순차적으로 비교할 수 있다. 예를 들어, 개인별 3D 모델 개선(808)은 개인별 3D 신체 모델을 제1 2D 신체 이미지(802-1)에 있는 신체(803)의 제1 표현과 비교하여 차이를 결정하고, 이 차이를 이용하여 제1 2D 신체 이미지(802-1)에 대응하는 수정된 실루엣(804-1)을 생성할 수 있다. 수정된 실루엣은 수정된 특징을 생성하도록 처리될 수 있고 이러한 수정된 특징은 수정된 개인별 3D 신체 모델을 생성하는 데 사용될 수 있는 수정된 신체 파라미터를 생성하기 위해 다른 실루엣(804-2 내지 804-N)으로부터 생성된 특징과 연결(806B)될 수 있다. 수정된 개인별 3D 신체 모델은 그 다음, 임의의 차이를 결정하기 위해 복수의 2D 신체 이미지(802)의 다음 이미지와 비교될 수 있고 프로세스가 반복될 수 있다. 개인별 3D 개선의 이 프로세스는 생성된 개인별 3D 신체 모델과 2D 신체 이미지(802)에 표현된 신체(803) 사이에 차이가 없거나 제한적일 때까지(예를 들어, 임계값 차이 미만) 계속될 수 있다.
일부 구현에서, 개인별 3D 모델 개선(808) 완료 시, 2D 신체 이미지(802)에 표현된 신체의 개인별 3D 신체 모델은 하나 이상의 텍스처로 증강될 수 있고, 텍스처 증강은 2D 신체 이미지(802-1 내지 802-N) 중 하나 이상으로부터 결정된다. 예를 들어, 개인별 3D 신체 모델은 2D 신체 이미지(802)로 표현되는 신체(803)의 피부색과 동일하거나 유사한 색상을 갖도록 증강될 수 있고, 2D 신체 이미지(802)에 표현되는 의복 또는 의복 색상을 이용하여 개인별 3D 신체 모델을 증강할 수 있으며, 2D 신체 이미지(802)에 표현된 신체(803)의 얼굴 특징, 머리카락, 머리 색깔 등을 결정 및 이용하여, 개인별 3D 신체 모델을 증강할 수 있다.
개인별 3D 모델 개선과 유사하게, 2D 신체 이미지(802) 중 하나에서 신체의 대략적인 포즈가 결정될 수 있고 그에 따라 개인별 3D 신체 모델이 조정되어, 2D 신체 이미지(802)로부터 획득된 텍스처가 정렬될 수 있고 개인별 3D 신체 모델의 해당 부분을 증강하는 데 사용된다. 일부 구현에서, 신체(803)의 대략적인 포즈와 개인별 3D 신체 모델의 정렬은 각각의 2D 신체 이미지(802-1 내지 802-N)에 대해 수행되어, 상이한 2D 신체 이미지(802)에 표현된 신체(803)의 상이한 뷰로부터의 텍스처 정보 또는 데이터를 이용하여, 결과적인 개인별 3D 신체 모델의 상이한 포즈를 증강할 수 있다.
전환(800)에 예시된 처리의 결과는 사용자의 신체(803)의 2D 신체 이미지(802)로부터 생성된 개인별 3D 신체 모델(814) 또는 사용자의 신체를 나타내는 아바타이다.
도 8b는 본 개시물의 구현들에 따른, 신체의 개인별 3차원 모델을 생성하기 위해 신체의 2D 신체 이미지들(852)을 처리하는 다른 전환도(850)이다.
일부 구현에서, 2D 신체 이미지(852-1, 852-2, 852-3, 852-4 내지 852-N)와 같은 상이한 뷰(예를 들어, 정면도, 측면도, 후면도, 4분의 3도 등)로부터 신체의 다중 2D 신체 이미지는 신체의 개인별 3D 신체 모델을 생성하기 위해 개시된 구현과 함께 사용될 수 있다. 도시된 예에서, 제1 2D 신체 이미지(852-1)는 2D 이미징 요소를 향하는 정면도에서 배향된 인체(853)의 이미지이다. 제2 2D 신체 이미지(852-2)는 2D 이미징 요소를 향하는 제1 측면도에서 배향된 인체(853)의 이미지이다. 제3 2D 신체 이미지(852-3)는 2D 이미징 요소를 향하는 배면도에서 배향된 인체(853)의 이미지이다. 제4 2D 신체 이미지(852-4)는 2D 이미징 요소를 향하는 제2 측면도에서 배향된 인체(853)의 이미지이다. 이해되는 바와 같이, 임의의 수의 2D 신체 이미지(852-1 내지 852-N)가 2D 이미징 요소에 대해 임의의 수 또는 방향으로 인체(853)의 뷰와 함께 생성될 수 있다.
2D 신체 이미지(852-1 내지 852-N) 각각은 인체를 대표하지 않는 이미지의 픽셀로부터 인체를 대표하는 이미지의 픽셀을 분할하여 해당 이미지에 표시된 대로 인체의 실루엣(854)을 생성하도록 처리된다. 분할은 예를 들어 배경 빼기, 의미론적 분할 등을 통해 수행될 수 있다. 한 예에서, 배경의 기준선 이미지가 알려져 이를 이용하여, 기준선 이미지의 픽셀에 대응하는 이미지의 픽셀을 뺄 수 있으며, 이에 따라 인체를 나타내는 전경 픽셀만 남길 수 있다. 배경 픽셀에는 검정색에 대한 RGB 색상 값(즉, 0,0,0)이 할당될 수 있다. 나머지 픽셀에는 인체의 실루엣(854) 또는 이진 분할을 생성하기 위해 흰색에 대한 RGB 값(즉, 255, 255, 255)이 할당될 수 있다.
다른 예에서, 시맨틱 분할 알고리즘을 사용하는 CNN은 인체의 이미지를 사용하여 훈련되거나, 인체를 나타내는 픽셀과 인체를 나타내지 않는 픽셀을 구별하도록 CNN을 훈련하기 위해 시뮬레이션된 인체를 훈련할 수 있다. 그러한 예에서, CNN은 신체(전경)를 나타내는 픽셀 및 신체(배경)를 나타내지 않는 픽셀을 나타내거나 라벨링하는 이미지(852)를 처리할 수 있다. 배경 픽셀에는 검정색에 대한 RGB 색상 값(즉, 0,0,0)이 할당될 수 있다. 나머지 픽셀에는 인체의 실루엣 또는 이진 분할을 생성하기 위해 흰색에 대한 RGB 값(즉, 255, 255, 255)이 할당될 수 있다.
다른 구현에서, 에지 검출, 형상 검출 등과 같은 다른 형태 또는 알고리즘은 신체를 나타내는 이미지(852)의 픽셀 및 신체를 나타내지 않는 이미지(852)의 픽셀과, 그로부터 생산된 신체의 실루엣(854)을 결정하는데 사용될 수 있다.
도 8b로 돌아가서, 제1 2D 신체 이미지(852-1)는 인체를 나타내지 않는 제1 2D 신체 이미지(852-1)의 복수의 픽셀로부터 인체를 나타내는 제1 2D 신체 이미지(852-1)의 복수의 픽셀을 분할하도록 처리되어, 인체의 전면 실루엣(854-1)을 생성한다. 제2 2D 신체 이미지(852-2)는 인체를 나타내지 않는 제2 2D 신체 이미지(852-2)의 복수의 픽셀로부터 인체를 나타내는 제2 2D 신체 이미지(852-2)의 복수의 픽셀을 분할하도록 처리되어, 인체의 제1 측면 실루엣(854-2)을 생성한다. 제3 2D 신체 이미지(852-3)는 인체를 나타내지 않는 제3 2D 신체 이미지(852-3)의 복수의 픽셀로부터 인체를 나타내는 제3 2D 신체 이미지(852-3)의 복수의 픽셀을 분할하도록 처리되어, 인체의 등을 나타내는 실루엣(854-3)을 생성한다. 제4 2D 신체 이미지(852-4)는 인체를 나타내지 않는 제4 2D 신체 이미지(852-4)의 복수의 픽셀로부터 인체를 나타내는 제4 2D 신체 이미지(852-4)의 복수의 픽셀을 분할하도록 처리되어, 인체의 제2 측면 실루엣(854-4)을 생성한다. 인체(853)의 상이한 방향으로부터 실루엣(854-1 내지 854-N)을 생성하기 위한 2D 신체 이미지(852-1 내지 852-N)의 처리는 임의의 수의 이미지(852)에 대해 수행될 수 있다.
도 8a와 유사하게, 일부 구현들에서, 2D 신체 이미지로부터 실루엣(854)을 생성하는 것 외에도, 실루엣은 크기가 정규화되고 이미지의 중앙에 위치할 수 있다. 예를 들어, 실루엣(854)은 실루엣(854) 주위의 경계 사각형을 계산함으로써 잘릴 수 있다. 그런 다음 실루엣(854)은 2D 신체 이미지에 표현된 사용자의 알려진 신장 h의 함수인 s에 따라 크기조정될 수 있다(예를 들어, 신장은 사용자가 제공할 수 있음):
Figure pct00002
(1)
여기서 imageh는 이미지의 픽셀을 기반으로 할 수 있는 입력 이미지 높이이고 μh는 사람의 평균 신장이다(예: 여성의 경우 ~160cm, 남성의 경우 ~176cm). 일부 구현에서, 2D 신체 이미지에 표현된 신체(853)는 크기 조정된 실루엣의 크기 조정된 치수에 대응하도록 유사하게 크기 조정될 수 있다.
신체를 나타내는 각각의 실루엣(854)은 인체의 신체 특성 또는 특징을 결정하기 위해 처리될 수 있다. 예를 들어, 상이한 CNN들은 알려진 특징과 함께 상이한 배향들로부터, 인체와 같은 신체의 실루엣을 사용하여 훈련될 수 있다. 일부 구현에서, 상이한 CNN들은 상이한 배향들에 대해 훈련될 수 있다. 예를 들어, 제1 CNN(856A-1)은 정면도 실루엣(854-1)으로부터 정면도 특징을 결정하도록 훈련될 수 있다. 제2 CNN(856A-2)은 우측 실루엣으로부터 우측 특징을 결정하도록 훈련될 수 있다. 제3 CNN(856A-3)은 뒷모습 실루엣에서 뒷모습 특징을 결정하도록 훈련될 수 있다. 제4 CNN(856A-4)은 왼쪽 실루엣에서 왼쪽 특징을 결정하도록 훈련될 수 있다. 상이한 CNN(856A-1 내지 856A-N)들은 실루엣(854-1 내지 854-N)의 상이한 방향 각각에 대해 훈련될 수 있다. 또는 하나의 CNN이 임의의 방향 실루엣에서 특징을 결정하도록 훈련될 수 있다.
일부 구현에서, 동일하거나 상이한 CNN은 또한 신체 특징을 생성하고 결정하는 데 사용되는 CNN에 대한 입력으로서 2D 신체 이미지(802)를 활용할 수 있다. 예를 들어, 제1 CNN(856A-1)은 전면 뷰 실루엣(854-1) 및/또는 2D 신체 이미지(852-1)의 입력에 기초하여 정면도 특징을 결정하도록 훈련될 수 있다. 제2 CNN(856A-2)은 우측 실루엣 및/또는 우측 2D 신체 이미지(852-2)로부터 우측 특징을 결정하도록 훈련될 수 있다. 제3 CNN(856A-3)은 뒷모습 실루엣 및/또는 뒷모습 2D 신체 이미지(852-3)로부터 뒷모습 특징을 결정하도록 훈련될 수 있다. 제4 CNN(856A-4)은 좌측 실루엣 및/또는 좌측 2D 신체 이미지(852-4)로부터 좌측 특징을 결정하도록 훈련될 수 있다. 상이한 CNN(856A-1 내지 856A-N)은 실루엣(854-1 내지 854-N) 및/또는 2D 신체 이미지(802-1 내지 802-N)의 상이한 방향 각각에 대해 훈련될 수 있다.
또 다른 구현에서, 실루엣(854) 및 2D 신체 이미지 각각에 대해 상이한 CNN이 훈련될 수 있다. 예를 들어, 제1 CNN(856A-1)은 실루엣(854-1)으로부터 정면도 특징을 결정하도록 훈련될 수 있고 다른 정면도 CNN은 2D 신체 이미지(852-1)로부터 정면도 특징을 결정하도록 훈련될 수 있다. 제2 CNN(856A-2)은 실루엣(854-2)으로부터 우측 뷰 특징을 결정하도록 훈련될 수 있고 다른 우측 뷰 CNN은 2D 신체 이미지(852-2)로부터 우측 뷰 특징을 결정하도록 훈련될 수 있다. 제3 CNN(856A-3)은 실루엣(854-3)으로부터 뒷모습 특징을 결정하도록 훈련될 수 있고 또 다른 뒷모습 CNN은 2D 신체 이미지(852-3)로부터 뒷모습 특징을 결정하도록 훈련될 수 있다. 제4 CNN(856A-4)은 실루엣(854-4)으로부터 좌측 뷰 특징을 결정하도록 훈련될 수 있고 다른 좌측 뷰 CNN은 2D 신체 이미지(852-4)로부터 좌측 뷰 특징을 결정하도록 훈련될 수 있다.
신체(853)의 다중 이미지 및/또는 다중 실루엣을 활용하여 도 8b에 예시된 예와 같은 특징의 다중 세트를 생성하는 구현에서, 이러한 특징들있음을연결(856B)될 수 있고, 연결된 특징은 CNN과 함께 처리되어 신체 파라미터(857)의 세트를 생성한다. 예를 들어, CNN은 상이한 실루엣(854)으로부터 생성된 특징, 상이한 2D 신체 이미지(852)로부터 생성된 특징, 및/또는 신체 파라미터(857)를 생성하기 위해 실루엣(854) 및 2D 신체 이미지(852) 모두를 처리하는 CNN에 의해 생성된 특징을 수신하도록 훈련될 수 있다. 신체 파라미터(857)는 이미지(852)에 표현된 신체(853)와 관련된 임의의 양태 또는 정보를 나타낼 수 있다. 예를 들어, 신체 파라미터(857)는 3D 관절 위치, 신체 체적, 신체의 형상, 포즈 각도 등을 나타낼 수 있다. 일부 구현에서, CNN(856B)은 이미지(852)에 표현된 신체(853)에 대응하는 수백 개의 신체 파라미터(857)를 예측하도록 훈련될 수 있다.
신체 파라미터(857)를 이용하여 2D 신체 이미지(852)에 나타난 신체(853)의 개인별 3D 모델링(860)을 수행하여 2D 신체 이미지(852)에 나타난 신체(853)의 개인별 3D 신체 모델을 생성한다. 예를 들어, 신체 파라미터(857)는 SCAPE 신체 모델, SMPL 신체 모델 등과 같은 신체 모델에 제공될 수 있고 신체 모델은 이러한 신체 파라미터(857)에 기초하여 이미지(852)에 표현된 신체(853)의 개인별 3D 신체 모델을 생성할 수 있다.
예시된 예에서, 개인별 3D 모델 개선(858)은 2D 신체 이미지(852)에 표현된 신체(853)를 더 잘 나타내도록 생성된 개인별 3D 신체 모델을 개선하거나 수정하기 위해 수행될 수 있다. 예를 들어, 위에서 논의된 바와 같이, 개인별 3D 신체 모델은 2D 신체 이미지(852)에 표시되는 신체(853)의 형상과 신체 파라미터로부터 생성된 개인별 3D 신체 모델의 형상 간의 차이를 결정하기 위해 2D 신체 이미지 중 하나 이상에 표시되는 신체(853)와 비교될 수 있다. 일부 구현들에서, 개인별 3D 신체 모델은 이미지(852-1)와 같은 단일 이미지와 비교될 수 있다. 다른 구현에서, 개인별 3D 신체 모델은 2D 신체 이미지(852-1 내지 852-N) 각각과 병렬 또는 순차적으로 비교될 수 있다. 또 다른 구현에서, 하나 이상의 2D 모델 이미지가 개인별 3D 신체 모델로부터 생성될 수 있고 그 2D 모델 이미지가 실루엣 및/또는 2D 신체 이미지와 비교되어, 2D 모델 이미지와 실루엣/ 2D 신체 이미지 간의 차이를 결정할 수 있다.
개인별 3D 신체 모델 및/또는 2D 모델 이미지를 2D 신체 이미지(852) 또는 실루엣(854)과 비교하는 것은 2D 신체 이미지에 표현된 신체(853)의 대략적인 포즈를 결정하고, 개인별 3D 신체 모델을 대략적인 포즈로 조정하는 것을 포함할 수 있다. 개인별 3D 신체 모델 또는 렌더링된 2D 모델 이미지는 오버레이되거나 달리 2D 신체 이미지(852)로 표현되고/되거나 실루엣(854)으로 표현된 신체(853)와 비교되어 개인별 3D 신체 모델 이미지와 2D 신체 이미지/실루엣 간의 차이를 결정할 수 있다.
개인별 3D 신체 모델과 2D 신체 이미지(852)에 표현된 신체(853) 사이의 결정된 차이에 기초하여, 그 이미지로부터 생성된 실루엣(854)은 이러한 차이를 설명하도록 수정될 수 있다. 대안으로, 신체 파라미터 및/또는 개인별 3D 신체 모델은 이러한 차이를 설명하기 위해 수정될 수 있다.
일부 구현에서, 개인별 3D 모델 개선(858)의 완료 시, 2D 신체 이미지(852)에 표현된 신체의 개인별 3D 신체 모델은 하나 이상의 텍스처로 증강될 수 있고, 텍스처 증강은 2D 신체 이미지(852-1 ~ 852-N) 중 하나 이상으로부터 결정된다. 예를 들어, 개인별 3D 신체 모델은 2D 신체 이미지(852)에 표현되는 신체(853)의 피부 색상과 동일한 또는 유사한 색상을 갖도록 증강될 수 있고, 2D 신체 이미지(852)에 표현되는 의복 또는 의복 색상을 이용하여 개인별 3D 신체 모델을 증강시킬 수 있으며, 2D 신체 이미지(852)에 표현된 신체(853)의 얼굴 특징, 머리카락, 머리 색 등을 결정 및 이용하여 개인별 3D 신체 모델을 증강할 수 있다.
개인별 3D 모델 개선과 유사하게, 2D 신체 이미지(852) 중 하나에서 신체의 대략적인 포즈가 결정될 수 있고 그에 따라 개인별 3D 신체 모델이 조정되어 해당 2D 신체 이미지(852)로부터 획득된 텍스처가 정렬될 수 있고, 이를 이용하여 개인별 3D 신체 모델의 해당 부분을 증강할 수 있다. 일부 구현에서, 신체(853)의 대략적인 포즈와 개인별 3D 신체 모델의 정렬은 각각의 2D 신체 이미지(852-1 내지 852-N)에 대해 수행될 수 있으므로, 상이한 2D 신체 이미지(852)에 표현되는 신체(853)의 상이한 뷰로부터의 텍스처 정보 또는 데이터를 이용하여, 결과적인 개인별 3D 신체 모델의 상이한 포즈를 증강할 수 있다.
전환(850)에 예시된 처리의 결과는 사용자의 신체(853)의 2D 신체 이미지(852)로부터 생성된 개인별 3D 신체 모델(864) 또는 사용자의 신체를 나타내는 아바타이다.
위에서 논의된 바와 같이, 인체, 색상, 특징 또는 대상의 텍스처 또는 윤곽과 같은 이미징 데이터에 표현된 특징 또는 대상은 임의의 수의 방식으로 데이터로부터 추출될 수 있다. 예를 들어, 디지털 이미지의 픽셀 또는 픽셀 그룹의 색상은 하나 이상의 표준, 예를 들어 RGB("빨강-녹색-파랑") 색상 모델(가령, 한 픽셀의 빨강, 초록, 파랑 부분들은 0에서 255 사이의 3가지 대응하는 숫자의 값으로 표현) 또는 16진법 모델(일 픽셀의 색상이 6자리 코드로 표현되고, 각각의 자리는 16개의 범위를 가짐)에 따라 결정 및 정량화될 수 있다. 더욱이, 디지털 이미지에 표현된 물체의 텍스처 또는 특징은 이미지의 영역 또는 섹터 내에서 강도의 변화를 식별하거나 특정 표면에 해당하는 이미지의 영역을 정의하는 것과 같은 하나 이상의 컴퓨터 기반 방법을 사용하여 식별될 수 있다.
또한, 이미지로 표현된 가장자리, 윤곽, 윤곽선, 색상, 텍스처, 실루엣, 형상 또는 물체의 다른 특성 또는 물체의 일부는 하나 이상의 알고리즘 또는 기계 학습 도구를 사용하여 식별될 수 있다. 물체 또는 물체의 일부는 단일의 유한한 기간 또는 하나 이상의 기간 또는 지속시간에 걸쳐 식별될 수 있다. 이러한 알고리즘 또는 도구는 노이즈 및 중단을 최소화시키는 방식으로 그리고 오전환을 생성하지 않는 방식으로, 디지털 이미지 내에서 가능한 한 가깝게 전환(예: 가장자리, 윤곽, 윤곽선, 색상, 텍스처, 실루엣, 형상 또는 기타 특성)을 인식 또는 마킹하도록 지향될 수 있음을 인식하고 표시하도록 지시될 수 있다. 본 개시내용에 따라 디지털 이미지에서 물체 또는 그 일부분의 특성을 인식하기 위해 이용될 수 있는 일부 검출 알고리즘 또는 기술은 캐니 에지 검출기 또는 알고리즘; 소벨(Sobel) 연산자, 알고리즘 또는 필터 카얄리 연산자(Kayyali operators); 로버츠 에지 감지 알고리즘(Roberts edge detection algorithms); 프레비트 연산자(Prewitt operators); 프라이-첸 방법(Frei-Chen methods); 의미론적 분할 알고리즘; 배경 빼기; 또는 관련 기술분야의 통상의 기술자에게 공지될 수 있는 임의의 다른 알고리즘 또는 기술을 포함하지만 이에 제한되지 않는다.
이미지 처리 알고리즘, 다른 기계 학습 알고리즘 또는 CNN은 스마트폰 또는 기타 휴대 전화, 태블릿, 비디오 카메라 또는 기타 컴퓨터 기반 기계를 포함하지만 이에 제한되지 않는 다양한 크기 또는 유형의 컴퓨터 장치에서 작동될 수 있다. 그러한 모바일 장치는 더 크거나 더 복잡한 컴퓨터 장치에 비해 제한된 가용 컴퓨터 리소스, 예를 들어 네트워크 대역폭, 저장 용량 또는 처리 능력을 가질 수 있다. 따라서 이러한 장치에서 컴퓨터 비전 알고리즘, 기타 기계 학습 알고리즘 또는 CNN을 실행하면 해당 알고리즘의 실행이 성공할 것이라는 보장이나 합리적인 보증 없이 사용 가능한 리소스의 전부 또는 상당분을 차지할 수 있다. 예를 들어, 디지털 이미지로부터 개인별 3D 신체 모델을 생성하기 위해 하나 이상의 알고리즘에 따라 휴대용 장치(예: 스마트폰, 태블릿, 노트북, 웹캠)의 사용자가 캡처한 디지털 2D 신체 이미지를 처리하는 것은 스마트폰이나 태블릿에서 사용할 수 있는 제한된 리소스를 비효율적 사용일 수 있다. 따라서, 일부 구현들에서, 여기에서 논의된 바와 같이, 처리의 일부 또는 전부는 휴대용 장치로부터 원격에 있는 하나 이상의 컴퓨팅 리소스에 의해 수행될 수 있다. 일부 구현에서, 이진 분할 실루엣을 생성하기 위한 이미지의 초기 처리가 장치에서 수행될 수 있다. 개인별 3D 신체 모델을 생성하고 개선하기 위한 후속 처리는 하나 이상의 원격 컴퓨팅 리소스에서 수행될 수 있다. 예를 들어, 실루엣은 추가 처리를 위해 휴대용 장치로부터 원격 컴퓨팅 리소스로 전송될 수 있다. 또한, 일부 구현에서, 신체의 개인별 3D 신체 모델의 텍스처 증강은 휴대용 장치 상에서 또는 원격으로 수행될 수 있다.
일부 구현에서, 사용자의 프라이버시를 증가시키기 위해, 원격 컴퓨팅 리소스에서 처리하기 위해 이진 분할된 실루엣만이 장치로부터 전송될 수 있고 사용자의 표현을 포함하는 원래의 2D 이미지는 휴대용 장치 상에서 로컬로 유지될 수 있다. 그러한 예에서, 렌더링된 개인별 3D 신체 모델은 장치로 다시 전송될 수 있고, 장치는 이러한 이미지에 기초하여 수신된 개인별 3D 신체 모델의 텍스처 증강을 수행할 수 있다. 이러한 분산 컴퓨팅 장치를 활용하면 사용자의 휴대용 장치에 대한 사용자 식별 정보를 유지하면서 동시에 원격 컴퓨팅 리소스에서 사용할 수 있는 증가된 컴퓨팅 용량을 활용할 수 있다.
인공 신경망과 같은 기계 학습 도구는 명백히 관련이 없는 데이터 세트의 각 요소 간의 관계를 식별하는 데 사용되었다. CNN과 같은 인공 신경망은 실험 지식을 집합적으로 학습 및 저장할 수 있는, 그리고, 이러한 지식을 하나 이상의 응용 프로그램에서 사용할 수 있도록 하는, 개별 단위로 구성된 병렬 분산 컴퓨팅 프로세서이다. 이러한 네트워크는 하나 이상의 유연한 학습 프로세스를 통해 일 환경으로부터 지식을 획득하고, 이러한 뉴런 간의 각 연결의 강도를 결정하며, 획득한 지식을 저장할 때 이를 활용함으로써, 인간 두뇌의 많은 뉴런의 비선형 정신적 성능을 다층으로 시뮬레이션할 수 있다. 인간의 두뇌와 마찬가지로 인공 신경망은 입력 계층, 출력 계층 및 하나 이상의 중간 은닉 계층을 포함하여 계층 수에 관계없이 임의의 수의 뉴런을 사용할 수 있다. 다재다능함과 인간 두뇌의 고유한 모방성의 관점에서, 인공 신경망뿐만 아니라 최근접 이웃 방법 또는 분석, 인수분해 방법 또는 기술, K-평균 클러스터링 분석 또는 기술, 유사성 측정, 가령, 로그와 같은 유사성 또는 코사인 유사성, 잠재 디리클레 할당(latent Dirichlet allocations) 또는 기타 주제 모델, 또는 잠재 의미 분석까지도 포함하는 기계 학습 도구가 이미지 처리 응용 프로그램에서 활용되고 있다.
인공 신경망은 때때로 시냅스 가중치라고 하는 하나 이상의 뉴런 사이의 연결 강도를 조정함으로써 입력된 데이터를 원하는 출력에 매핑하도록 훈련될 수 있다. 인공 신경망은 입력 계층, 출력 계층 및 중간에 있는 여러 개의 은닉 계층을 포함하여 여러 계층을 가질 수 있다. 신경망 내 계층의 뉴런 각각은 하나 이상의 입력을 수신하고, 다양한 강도 또는 시냅스 가중치에 대응하는 파라미터로 활성화 또는 에너지 함수에 따라 하나 이상의 출력을 생성할 수 있다. 마찬가지로, 네트워크 내의 각 뉴런은 서로 다른 활성화 또는 에너지 함수를 갖는 것으로 이해될 수 있다. 이와 관련하여 이러한 네트워크는 이종 신경망이라고 부를 수 있다. 일부 신경망에서 활성화 또는 에너지 함수 중 적어도 하나는 시그모이드 함수의 형태를 취할 수 있으며, 여기서 출력은 영 내지 일(0에서 1)의 범위를 가질 수 있다. 다른 신경망에서, 활성화 또는 에너지 함수 중 적어도 하나는 쌍곡선 탄젠트 함수의 형태를 취할 수 있으며, 여기서 출력은 음수 1 내지 양수 1 또는 -1 내지 +1의 범위를 가질 수 있다. 따라서 항등 함수에 따른 신경망의 훈련은 신경망의 다양한 계층에 있는 뉴런 사이의 연결 강도 또는 가중치를 재정의하거나 조정하여 입력에 가장 근접하게 근사하거나 실용적 최대 한도까지 연관시키는 출력을 제공한다.
인공 신경망은 일반적으로 피드포워드 신경망 또는 순환 신경망으로 특징지어질 수 있고, 완전히 또는 부분적으로 연결될 수 있다. 피드포워드 신경망(예: 컨볼루션 신경망)에서, 정보는 구체적으로 입력 계층에서 출력 계층으로 한 방향으로 흐르며, 반면 순환 신경망에서는 적어도 하나의 피드백 루프가 실제 출력과 훈련 용도의 목표 출력 간의 차이에 대한 정보를 반환한다. 또한, 완전히 연결된 신경망 아키텍처에서, 계층 중 하나의 각 뉴런은 후속 계층의 모든 뉴런에 연결된다. 대조적으로, 성기게 연결된 신경망 아키텍처에서, 각 뉴런의 활성화 수는 가령, 희소성 파라미터(sparsity parameter)에 의해, 제한된다.
더욱이, 신경망의 훈련은 일반적으로 감시 또는 비감시로 특징지어진다. 감시 학습에서 훈련 세트는 적어도 하나의 입력과, 입력에 대한 적어도 하나의 목표 출력을 포함한다. 따라서 신경망은 허용 가능한 오류 수준 내에서 목표 출력을 식별하도록 훈련된다. 일반적으로 희소 자동 인코더(sparse autoencoder)에 의해 수행되는 것과 같은 항등 함수의 비감시 학습에서, 훈련 세트의 목표 출력은 입력이고, 신경망은 입력을 그대로 인식하도록 훈련된다. 희소 자동 인코더는 역전파를 사용하여, 입력에 대한 항등 함수의 근사치를 인식하도록 또는 입력을 근사화하도록 자동 인코더를 훈련시킨다. 이러한 역전파 알고리즘은 본 개시내용의 시스템 및 방법에 따라 가장 가파른 하강법, 공액 기울기 방법, 또는 기타 유사한 방법 또는 기술에 따라 동작할 수 있다. 관련 기술 분야의 통상의 기술자는 임의의 알고리즘 또는 방법을 사용하여 신경망의 하나 이상의 계층을 훈련할 수 있음을 인식할 것이다. 마찬가지로, 이러한 네트워크의 출력에서 오류를 결정하고 최소화하기 위해 임의의 알고리즘 또는 방법이 사용될 수 있다. 추가로, 관련 기술 분야의 통상의 기술자는 신경망의 다양한 계층이 희소 자동인코더에서와 같이 집합적으로 또는 개별적으로, 신경망의 하나의 은닉 계층으로부터의 각 출력이 후속 은닉 계층에 대한 입력으로 작용할 수 있도록, 훈련될 수 있음을 또한 인지할 것이다.
훈련 세트의 입력의 지배적 특성을 인식하도록, 예를 들어 이미지를 레이블, 카테고리, 클러스터 또는 유사 레이블과 허용 가능한 허용 오차 내로 연관시키도록, 신경망이 훈련되면, 이미지, 실루엣, 특징, 이미지에 대응하는 알려진 특성 등의 형태의 하나의 입력 및/또는 다수의 입력이 훈련된 네트워크에 제공될 수 있고, 그로부터 출력이 생성될 수 있다. 예를 들어, 위에서 논의된 CNN은 생성된 실루엣 및 실루엣에 의해 표현되는 신체에 대응하는 하나 이상의 신체 속성(예를 들어, 신장, 체중, 성별)을 입력으로서 수신할 수 있다. 그런 다음 훈련된 CNN은 해당 입력에 해당하는 예측된 특징을 출력으로 생성할 수 있다.
도 9를 참조하면, 본 개시내용의 구현들에 따른 하나의 이미지 처리 시스템(900)의 구성요소들의 블록도가 도시된다.
도 9의 시스템(900)은 체성분 시스템(910), 태블릿, 랩톱, 휴대폰, 웹캠 등과 같은 사용자의 휴대용 장치(930)의 일부인 이미징 요소(920), 및 인터넷과 같은 네트워크(980)를 통해 서로 연결된 외부 미디어 저장 설비(970)를 포함한다.
도 9의 체성분 시스템(910)은 관련된 하나 이상의 데이터베이스(또는 데이터 스토어)(914)를 가진 M개의 물리적 컴퓨터 서버(912-1, 912-2,... 912-M)와, 어떤 특정 또는 일반 용도로 제공되는 N개의 컴퓨터 프로세서(916-1, 916-2,... 916- N)를 포함한다. 예를 들어, 도 9의 체성분 시스템(910)은 이미징 요소(920)와 같은 이미징 요소에 의해 캡처된 2D 신체 이미지 또는 그로부터 생성된 실루엣으로부터 개인별 3D 신체 모델을 생성하기 위한 독점적 목적으로 독립적으로 제공되거나, 대안적으로, 이러한 정보를 관리 또는 모니터링하도록 구성되는 하나 이상의 물리적 또는 가상 서비스 및 하나 이상의 다른 기능과 연계하여 제공될 수 있다. 서버(912-1, 912-2. . . 912-M)는 데이터베이스(914) 및 프로세서(916-1, 916-2,... 916-N)에 연결되거나 이와 통신할 수 있다. 데이터베이스(914)는 시뮬레이션된 실루엣, 신체 파라미터, 시뮬레이션된 3D 신체 모델 등을 포함하는 임의의 유형의 정보 또는 데이터를 저장할 수 있다. 서버(912-1, 912-2. . . 912-M) 및/또는 컴퓨터 프로세서(916-1, 916-2. . . 916-N)는 또한 디지털 데이터의 송수신을 통해 라인(918)으로 표시된 바와 같이 네트워크(980)에 연결하거나 통신할 수 있다.
이미징 요소(920)는 사용자의 신체에 관한 정보 또는 데이터를 촬영하거나 달리 기록하기 위해 또는 임의의 다른 목적을 위해 사용될 수 있는 임의의 형태의 광학 기록 센서 또는 장치를 포함할 수 있다. 도 9에 도시된 바와 같이, 이미징 요소(920)를 포함하는 휴대용 장치(930)는 네트워크(980)에 연결되고, 하나 이상의 센서(922), 하나 이상의 메모리 또는 저장 구성요소(924)(예를 들어, 데이터베이스 또는 다른 데이터 저장소), 하나 이상의 프로세서(926), 및 여기에서 논의된 2D 신체 이미지와 같은 이미징 데이터를 캡처, 분석 및/또는 저장하기 위해 필요할 수 있는 임의의 다른 구성요소를 포함한다. 예를 들어, 이미징 요소(920)는 하나 이상의 정지 이미지 또는 동화상 이미지를 캡처할 수 있고, 또한 라인(928)으로 표시된 바와 같이 디지털 데이터의 송수신을 통해 네트워크(980)에 연결하거나 네트워크(980)와 통신할 수 있다. 비록 도 9에 도시된 시스템(900)이 내부에 단 하나의 이미징 요소(920)를 포함하지만, 임의의 수 또는 유형의 이미징 요소, 휴대용 장치 또는 센서가 본 개시에 따라 임의의 수의 환경 내에 제공될 수 있다.
휴대용 장치(930)는 사용자의 신체를 나타내는 2D 신체 이미지를 생성하기 위해 임의의 위치 및 임의의 환경에서 사용될 수 있다. 일부 구현에서, 휴대용 장치는 고정되어 있고 대략 수직(수직의 대략 10도 이내)이도록 위치될 수 있고, 사용자는 상이한 배향으로 휴대용 장치의 이미징 요소(920)의 시야 내에 자신의 신체를 위치시킬 수 있어서, 휴대용 장치의 이미징 요소(920)가 상이한 배향으로부터의 사용자의 신체의 표현을 포함하는 2D 신체 이미지를 생성할 수 있게 된다.
휴대용 장치(930)는 또한 휴대용 장치의 프로세서(926)에 의해 실행되어 휴대용 장치의 프로세서가 다양한 기능 또는 동작을 수행하게 할 수 있는, 메모리에 저장된 하나 이상의 애플리케이션(923)을 포함할 수 있다. 예를 들어, 실행될 때, 애플리케이션(923)은 휴대용 장치의 배치, 휴대용 장치의 이미징 요소(920)의 시야 내에서 사용자의 신체의 포지셔닝, 사용자의 신체 배향, 등에 관한 지시를 사용자에게 제공할 수 있다. 마찬가지로, 일부 구현에서, 애플리케이션은 설명된 구현에 따라 2D 신체 이미지로부터 생성된 개인별 3D 신체 모델을 사용자에게 제시하고, 사용자가 개인별 3D 신체 모델과 상호작용하도록 할 수 있다. 예를 들어, 사용자는 개인별 3D 신체 모델을 회전시켜서, 상이한 각도의 개인별 3D 신체 모델을 볼 수 있고, 개인별 3D 신체 모델의 치수로부터 사용자의 신체에 대한 대략 정확한 측정치를 얻을 수 있으며, 체지방, 체질량, 볼륨, 등을 볼 수 있다. 마찬가지로, 일부 구현에서, 개인별 3D 신체 모델은 체중 감소, 근육 증가, 등과 같은 특정 조건에서 사용자의 신체가 어떻게 보일 수 있는지 시뮬레이션하기 위해 사용자의 요청에 의해 수정될 수 있다.
외부 매체 저장 시설(970)은 체성분 시스템(910)으로부터 및/또는 휴대용 장치(930)로부터 수신되는, 실루엣, 신체의 시뮬레이션된 또는 렌더링된 개인별 3D t신체 모델, 텍스처, 신체 치수, 등과 같은, 정보 또는 데이터를 수신 및 저장할 수 있는 능력 또는 용량을 갖는 임의의 시설, 스테이션 또는 위치일 수 있다. 도 9에 도시된 바와 같이, 외부 매체 저장 시설(970)은 하나 이상의 데이터베이스(974)와 연관된 J개의 물리적 컴퓨터 서버(972-1, 972-2,... 972-J) 뿐만 아니라 K개의 컴퓨터 프로세서(976-1, 976-2. . . 976-K)를 포함한다. 서버(972-1, 972-2. . . 972-J)는 데이터베이스(974) 및 프로세서(976-1, 976-2. . . 976-K)에 연결되거나 이와 통신할 수 있다. 데이터베이스(974)는 디지털 이미지, 실루엣, 개인별 3D 신체 모델, 등을 포함한, 임의의 유형의 정보 또는 데이터를 저장할 수 있다. 서버(972-1, 972-2. . . 972-J) 및/또는 컴퓨터 프로세서(976-1, 976-2. . . 976-K)는 또한 디지털 데이터의 송수신을 통해 라인(978)으로 표시된 바와 같이 네트워크(980)에 연결하거나 이와 통신할 수 있다.
네트워크(980)는 임의의 유선 네트워크, 무선 네트워크, 또는 이들의 조합일 수 있고, 전체 또는 부분적으로 인터넷을 포함할 수 있다. 또한, 네트워크(980)는 개인 영역 네트워크, 근거리 네트워크, 광역 네트워크, 케이블 네트워크, 위성 네트워크, 셀룰러 전화 네트워크, 또는 이들의 조합일 수 있다. 네트워크(980)는 또한 인터넷과 같은, 다양한 별개의 당사자에 의해 운영될 수 있는, 연결된 네트워크들의 공개적으로 액세스 가능한 네트워크일 수 있다. 일부 구현들에서, 네트워크(980)는 기업 또는 대학 인트라넷과 같은 사설 또는 반-사설 네트워크일 수 있다. 네트워크(980)는 GSM(Global System for Mobile Communications) 네트워크, CDMA(Code Division Multiple Access) 네트워크, LTE(Long Term Evolution) 네트워크, 또는 일부 다른 유형의 무선 네트워크와 같은, 하나 이상의 무선 네트워크를 포함할 수 있다. 인터넷 또는 전술한 다른 유형의 통신 네트워크를 통해 통신하기 위한 프로토콜 및 구성요소는 컴퓨터 통신 분야의 숙련자에게 잘 알려져 있으므로 여기에서 더 자세히 설명할 필요가 없다.
여기에 설명된 컴퓨터, 서버, 장치 등은 여기에 설명된 임의의 기능 또는 서비스를 제공하고/하거나 여기에 설명된 결과를 달성하기 위해 필요한 전자 장치, 소프트웨어, 메모리, 스토리지, 데이터베이스, 펌웨어, 논리/상태 기계, 마이크로프로세서, 통신 링크, 디스플레이 또는 기타 시각적 또는 오디오 사용자 인터페이스, 인쇄 장치, 및/또는 임의의 다른 입력/출력 인터페이스를 가진다. 또한, 관련 기술 분야의 통상의 기술자는 이러한 컴퓨터, 서버, 장치 등의 사용자가 키보드, 키패드, 마우스, 스타일러스, 터치 스크린 또는 기타 장치(도시되지 않음) 또는 방법을 동작시켜서, 컴퓨터, 서버, 장치 등과 상호작용할 수 있고, 또는 항목, 링크, 노드, 허브 또는 본 개시의 임의의 다른 양태를 "선택"할 수 있다.
체성분 시스템(910), 휴대용 장치(930) 또는 외부 미디어 저장 설비(970)는 웹 지원 또는 인터넷 애플리케이션 또는 기능, 또는 이메일 또는 기타 메시징 기술을 포함하는 임의의 다른 클라이언트-서버 애플리케이션 또는 기능을 사용하여, 네트워크(980)에 연결하거나, 또는 가령, 단문 또는 멀티미디어 메시징 서비스(SMS 또는 MMS) 텍스트 메시지를 통해, 서로 통신할 수 있다. 예를 들어, 서버(912-1, 912-2. . . 912-M)는 체성분 시스템(910)으로부터 프로세서(926) 또는 휴대용 장치(930)의 다른 구성요소, 또는 임의의 다른 컴퓨터 장치로 동기 또는 비동기 메시지 형태의 정보 또는 데이터를 실시간으로 또는 거의 실시간으로 또는 하나 이상의 오프라인 프로세스로, 네트워크(980)를 통해 전송하도록 적응될 수 있다. 관련 기술 분야의 통상의 기술자는 체성분 시스템(910), 휴대용 장치(930) 또는 외부 미디어 저장 설비(970)가, 셋톱 박스, 개인 휴대 정보 단말기, 디지털 미디어 플레이어, 웹 패드, 랩톱 컴퓨터, 데스크톱 컴퓨터, 전자 책 리더, 휴대 전화 등을 포함하지만 이에 국한되지 않는, 네트워크를 통해 통신할 수 있는 임의의 수의 컴퓨팅 장치를 동작시킬 수 있다는 것을 인지할 것이다. 이러한 장치들 사이의 통신을 제공하기 위한 프로토콜 및 구성요소는 컴퓨터 통신 분야의 숙련자에게 잘 알려져 있으며 여기에서 더 자세히 설명할 필요가 없다.
본 명세서에 기술된 데이터 및/또는 컴퓨터 실행 가능 명령어, 프로그램, 펌웨어, 소프트웨어 등(본 명세서에서 "컴퓨터 실행 가능" 구성요소로도 지칭됨)은 컴퓨터 또는 컴퓨터 구성요소, 예를 들어, 서버(912-1, 912-2. . . 912-M), 프로세서(926), 서버(972-1, 972-2. . . 972-J), 또는 체성분 시스템(910), 휴대용 장치(930), 애플리케이션(923), 또는 외부 미디어 저장 설비(970)에 의해 이용되고 프로세서(예를 들어, 중앙 처리 장치 또는 "CPU")에 의해 실행될 때, 프로세서로 하여금 여기에 설명된 기능, 서비스 및/또는 방법의 전부 또는 일부를 수행하게 하는 일련의 명령어들을 가진, 임의의 다른 컴퓨터 또는 제어 시스템 내에 위치하거나 이에 의해 액세스가능한 컴퓨터 판독가능 매체에 저장될 수 있다. 이러한 컴퓨터 실행 가능 명령어, 프로그램, 소프트웨어 등은 플로피 드라이브, CD-ROM 드라이브, DVD-ROM 드라이브, 네트워크 인터페이스, 등과 같은 컴퓨터 판독 가능 매체와 관련된 구동 메커니즘을 사용하여 또는 외부 연결을 통해, 하나 이상의 컴퓨터의 메모리에 로드될 수 있다.
본 개시내용의 시스템 및 방법의 일부 구현은 또한 여기에 설명된 프로세스 또는 방법을 수행하도록 컴퓨터(또는 기타 전자 장치)를 프로그래밍하는데 사용될 수 있는 명령어(압축 또는 비압축 형태)가 저장된 비일시적 기계 판독가능 저장 매체를 포함하는 컴퓨터 실행가능 프로그램 제품으로서 제공될 수 있다. 본 개시내용의 기계 판독가능 저장 매체는 하드 드라이브, 플로피 디스켓, 광 디스크, CD-ROM, DVD, ROM, RAM, 소거 가능한 프로그램 가능 ROM("EPROM"), 전기적으로 소거 가능한 프로그램 가능 ROM("EEPROM"), 플래시 메모리, 자기 또는 광학 카드, 솔리드 스테이트 메모리 장치, 또는 전자 명령어를 저장하는 데 적합할 수 있는 기타 유형의 미디어/기계 판독 가능 매체를 포함할 수 있지만 이에 제한되지는 않는다. 또한, 구현예들은 일시적인 기계 판독 가능 신호(압축 또는 비압축 형태)를 포함하는 컴퓨터 실행 가능 프로그램 제품으로서 제공될 수도 있다. 반송파를 사용하여 변조되었는지 여부에 관계없이 기계 판독 가능 신호의 예는, 컴퓨터 프로그램을 호스팅하거나 실행하는 컴퓨터 시스템 또는 기계가 액세스하도록 구성될 수 있는 신호, 또는, 인터넷 또는 다른 네트워크를 통해 다운로드될 수 있는 신호를 포함하지만, 이에 제한되지 않는다.
도 10은 본 개시내용의 구현예에 따른, 2차원 이미지로 표현되는 신체의 신체 파라미터(1007)를 결정하는 훈련된 체성분(body composition) 모델(1000)의 블록도이다. 위에서 논의된 바와 같이, 모델(1000)은 신체 파라미터(1007)와 같은 하나 이상의 출력을 생성하도록 처리되는 하나 이상의 입력을 수신하도록 훈련된 CNN과 같은 신경망일 수 있다. 도시되는 예에서, 훈련된 체성분 모델(1006)은 상이한 입력을 수신하고 상이한 출력을 제공하는 여러 구성요소 CNN들을 포함할 수 있다. 유사하게, 구성요소 CNN 중 하나로부터의 출력은 훈련된 체성분 모델의 하나 이상의 다른 구성요소 CNN에 대한 입력으로서 제공될 수 있다. 예를 들어, 훈련된 체성분 모델은 구성 요소 CNN의 두 부분을 포함할 수 있다. 일 구현에서, 제1 구성요소 부분은 하나 이상의 특징 결정 CNN(1006A)을 포함할 수 있고 제2 구성요소 부분은 연결 CNN(1006B)을 포함할 수 있다. 예시된 예에서, 상이한 신체 배향(예를 들어, 정면도, 우측면도, 후면도, 좌측면도, 4분의 3도) 각각에 대해 상이한 특징 결정 CNN(1006A), 상이한 신체 배향에 대응하는 상이한 실루엣(1004), 및/또는 이러한 상이한 신체 방향에 대응하는 상이한 2D 신체 이미지일 수 있으며, 각각의 CNN은 특정 배향을 갖는 입력에 대해 훈련된다. 유사하게, 일부 구현에서, 특징 결정 CNN(1006A)은 다수의 상이한 유형의 입력을 수신할 수 있다. 예를 들어, 실루엣(1004) 및/또는 2D 신체 이미지를 수신하는 것에 추가하여, 각각의 특징 결정 CNN(1006A)은 실루엣(1004) 및/또는 2D 신체 이미지에 의해 표현되는 신체에 대응하는 하나 이상의 신체 속성(1005)을 수신할 수 있다. 신체 속성(1005)은 신장, 체중, 성별 등을 포함할 수 있지만 이에 제한되지 않는다. 논의된 바와 같이, 훈련된 특징 결정 CNN(1006A)은 입력을 처리하여, 실루엣(1004) 생성에 사용된 2D 신체 이미지로 표현되는 신체를 나타내는 특징을 생성한다. 예를 들어, 4개의 실루엣이 있는 경우(하나는 정면도, 하나 또는 우측면도, 하나는 후면도, 다른 하나는 왼쪽 측면도), 해당 모습에 대해 훈련된 4개의 특징 결정 CNN(1006A)은 실루엣 생성에 사용되는 2d 신체 이미지에 표현된 신체를 나타내는 한 세트의 특징들을 각각 생성한다.
신체의 이진 실루엣(1004)을 활용하면 특징 결정 CNN(1006A)의 정확도가 향상되는데, 그 이유는 다른 양태(예: 색상, 의복, 머리카락, 등.) 없이 순수하게 신체의 크기, 형상, 치수, 등에만 집중할 수 있기 때문이다. 다른 구현에서, 실루엣과 연계하여 또는 실루엣에 독립적으로 2D 신체 이미지를 이용하면, 2D 신체 이미지에 표현된 신체를 나타내는 한 세트의 특징들을 결정 및 생성하는데 특징 결정 CNN(1006A)이 사용할 수 있는 음영, 피부 톤, 등과 같은 추가 데이터가 제공된다.
개시된 구현에서, 특징 결정 CNN(1006A)으로부터 출력된 특징은 연결 CNN(1006B)에 대한 입력으로서 수신된다. 유사하게, 일부 구현에서, 연결 CNN(1006B)은 신체 속성(1005)과 같은 다른 입력을 수신하도록 훈련될 수 있다.
논의된 바와 같이, 연결 CNN(1006B)은 특징의 입력을 수신하고, 선택적으로 다른 입력을 수신하고, 연결된 특징을 생성하고, 출력으로서 2D 신체 이미지에 표현된 신체에 대응하는 신체 파라미터(1007) 세트를 생성하도록 훈련될 수 있다. 일부 구현에서, 신체 파라미터는 표현된 신체의 형상, 포즈, 볼륨, 관절 위치, 등을 포함하지만 이에 제한되지 않는 수백 개의 파라미터를 포함할 수 있다.
도 11은 본 개시내용의 구현들에 따른 개인별 3D 신체 모델 생성 프로세스(1100)의 예시적인 흐름도이다.
예시적인 프로세스(1100)는 1102에서와 같이 신체의 하나 이상의 2D 신체 이미지를 수신하면 시작된다. 위에서 언급한 바와 같이, 개시된 구현은 해당 신체의 개인별 3D 신체 모델을 생성하는 데 사용하기 위해 임의의 수의 2D 신체 이미지로 작동 가능하다. 예를 들어, 일부 구현에서 단일 2D 신체 이미지가 사용될 수 있다. 다른 구현에서, 2개, 3개, 4개 또는 그 이상의 2D 신체 이미지가 사용될 수 있다.
위에서 논의된 바와 같이, 2D 신체 이미지는 휴대용 장치의 카메라, 웹캠 등과 같은 임의의 2D 이미징 요소를 사용하여 생성될 수 있다. 그런 다음 수신된 2D 신체 이미지는 1104에서와 같이 하나 이상의 2D 신체 이미지로 표현되는 신체의 이진 실루엣을 생성하도록 분할된다. 위에서 논의된 바와 같이, 하나 이상의 분할 기술, 예를 들어, 배경 빼기, 의미론적 분할, Canny 에지 검출기 또는 알고리즘, Sobel 연산자, 알고리즘 또는 필터, Kayyali 연산자, Roberts 에지 검출 알고리즘, Prewitt 연산자, Frei-Chen 방법, 또는 관련 기술분야의 통상의 기술자에게 알려져 있을 수 있는 임의의 다른 알고리즘 또는 기술이 있다.
또한, 일부 구현에서, 실루엣은 1106에서와 같이 추가 처리 전에 높이가 정규화되고 이미지의 중앙에 위치할 수 있다. 예를 들어, 실루엣은 이미지에 표현되는 사용자 신체의 알려진 또는 제공되는 신장 및 평균 신장(가령, 여성 신체의 평균 신장, 남성 신체의 평균 신장)의 함수에 기초하여 표준 높이로 정규화될 수 있다. 일부 구현에서 평균 키는 성별보다 더 구체적일 수 있다. 예를 들어, 평균 키는 신체에 해당하는 성별과 인종의 평균 신장, 또는 사용자의 성별 및 위치(예: 미국) 등이 될 수 있다.
정규화 및 중심위치한 실루엣은 1108에서와 같이, 2D 신체 이미지에 표현된 신체를 나타내는 신체 파라미터를 생성하기 위해 위에서 논의된 하나 이상의 CNN과 같은 하나 이상의 신경망에 의해 처리될 수 있다. 위에서 논의한 바와 같이, 신체 파라미터 예측과 관련된 여러 단계가 있을 수 있다. 예를 들어, 각 실루엣은 실루엣으로부터 결정된 신체의 특징 세트를 생성하기 위해 실루엣의 각각의 배향에 대해 훈련된 CNN을 사용하여 처리될 수 있다. 상이한 실루엣으로부터 생성된 특징 세트는 CNN과 같은 신경망을 사용하여 처리되어, 특징들을 연결하고 2D 신체 이미지에 표현된 신체를 나타내는 신체 파라미터를 생성할 수 있다.
그 다음, 신체 파라미터는 SMPL 신체 모델 또는 SCOPE 신체 모델과 같은 하나 이상의 신체 모델에 제공될 수 있고 신체 모델은 1110에서와 같이, 2D 신체 이미지에 표현된 신체에 대한 개인별 3D 신체 모델을 생성할 수 있다. 또한, 일부 구현에서, 개인별 3D 신체 모델은 1200에서와 같이, 사용자 신체의 실제 이미지에 더 가깝게 대응하도록, 필요한 경우, 수정될 수 있다. 개인별 3D 신체 모델 개선은 위에서 논의되었으며, 도 12a 내지 도 12b와 관련하여 아래에서 더 논의된다.
아래에서 논의되는 바와 같이, 개인별 3D 신체 모델 개선 프로세스(1200)(도 12a)는 1114에서와 같이 조정된 실루엣을 반환한다. 조정된 실루엣을 수신하면, 예시적인 프로세스(1100)는 1108에서와 같이 신체 파라미터를 다시 생성하고, 계속된다. 실루엣을 더 이상 다듬지 않을 때까지 이 작업을 수행할 수 있다. 이에 비해, 개인별 3D 신체 모델 개선 프로세스(1250)(도 12b)는 조정된 개인별 3D 신체 모델을 생성 및 반환하고 예시적인 프로세스(1100)는 블록(1116)에서 계속된다.
실루엣의 조정 및 조정된 신체 파라미터로부터 개인별 3D 신체 모델의 생성 후, 또는 도 17b로부터 조정된 개인별 3D 신체 모델을 수신한 후, 1116에서와 같이 2D 신체 이미지로부터의 하나 이상의 텍스처(예를 들어, 피부색, 머리카락, 의복 등)가 개인별 3D 신체 모델에 적용될 수 있다. 마지막으로, 개인별 3D 신체 모델이 사용자의 신체를 나타내는 것으로 사용자에게 제공될 수 있고, 및/또는 다른 개인별 3D 신체 모델 정보(예를 들어, 체질량, 관절 위치, 팔 길이, 체지방 비율 등)가 1118에서와 같이 모델로부터 결정될 수 있다.
도 12a는 본 개시의 구현들에 따른, 개인별 3D 신체 모델 조정 프로세스(1200)의 예시적인 흐름도이다. 예시적인 프로세스(1200)는 1202에서와 같이 2D 신체 이미지 중 하나로 표현되는 신체의 포즈를 결정함으로써 시작된다. 2D 신체 이미지에 표현된 신체의 대략적인 포즈를 결정하기 위해 다양한 기술이 사용될 수 있다. 예를 들어, 2D 신체 이미지의 메타데이터에 포함된 카메라 파라미터(예: 카메라 유형, 초점 거리, 셔터 속도, 조리개, 등)가 획득될 수 있고 및/또는 추가 카메라 파라미터를 결정 및 이용하여 2D 신체 이미지에 표현된 신체의 대략적인 포즈를 추정할 수 있다. 예를 들어, 개인별 3D 신체 모델을 사용하여 2D 신체 이미지에서 신체의 포즈를 근사화한 다음, 신체의 2D 신체 이미지를 생성할 해당 모델에 대한 가상 카메라의 위치를 결정할 수 있다. 결정된 가상 카메라의 위치를 기반으로 2D 신체 이미지를 생성하기 위한 카메라의 높이 및 각도를 유추할 수 있다. 일부 구현에서, 카메라 기울기는 메타데이터에 포함될 수 있고 및/또는 카메라를 포함하는 휴대용 장치에 의해 제공될 수 있다. 예를 들어, 많은 휴대용 장치는 가속도계를 포함하고 있으며, 2D 신체 이미지가 생성된 시점의 가속도계로부터의 정보는 카메라의 틸트로서 제공될 수 있다. 수신 및/또는 결정된 카메라 파라미터에 기초하여, 1202에서와 같이 카메라에 대한 2D 신체 이미지에 표현된 신체의 포즈가 결정될 수 있다.
사용자 신체의 개인별 3D 신체 모델은 1204에서와 같이 2D 신체 이미지에서 신체의 결정된 포즈에 대응하도록 조정될 수 있다. 이미지에 나타난 사용자와 대략 동일한 포즈로 조정된 개인별 3D 신체 모델을 이용하여, 개인별 3D 신체 모델의 형상은 2D 신체 이미지 및/또는 실루엣의 신체 형상과 비교되어, 1206에서와 같이, 개인별 3D 신체 모델과 2D 신체 이미지 및/또는 실루엣의 신체 표현 간의 차이를 결정할 수 있다.
일부 구현에서, 임의의 결정된 차이가 최소 임계값(예를 들어, 2%)을 초과하는지 여부가 결정될 수 있다. 개인별 3D 신체 모델과 2D 신체 이미지 중 하나 이상의 신체 이미지에 표현된 신체 간에 차이가 있다고 판단되는 경우, 실루엣이 조정될 수 있다. 그 다음, 실루엣은 도 11과 관련하여 위에서 논의된 바와 같이, 2D 신체 이미지에 표현된 신체에 대한 수정된 신체 파라미터를 생성하는 데 사용될 수 있다. 실루엣이 수정되면, 위에서 논의되고 블록(1114)(도 11)에 예시된 바와 같이 수정된 실루엣이 예시적인 프로세스(1100)로 리턴된다. 차이가 없다고 결정되거나 차이가 최소 임계값을 초과하지 않는 것으로 결정되면, 개인별 3D 신체 모델과 2D 신체 이미지/실루엣 사이에 차이가 없다는 표시가 예시적인 프로세스(1100)로 리턴될 수 있다.
도 12b는 본 개시내용의 구현들에 따른, 다른 개인별 3D 신체 모델 조정 프로세스(1250)의 예시적인 흐름도이다. 예시적인 프로세스(1250)는 1252에서와 같이 2D 신체 이미지 중 하나로 표현되는 신체의 포즈를 결정함으로써 시작된다. 다양한 기술이 2D 신체 이미지에 표현된 신체의 대략적인 포즈를 결정하는 데 사용될 수 있다. 예를 들어, 2D 신체 이미지의 메타데이터에 포함된 카메라 파라미터(예: 카메라 유형, 초점 거리, 셔터 속도, 조리개, 등)가 획득될 수 있고 및/또는 추가 카메라 파라미터를 결정 및 이용하여 2D 신체 이미지에 표현된 신체의 대략적인 포즈를 추정할 수 있다. 예를 들어, 개인별 3D 신체 모델을 사용하여 2D 신체 이미지에서 신체의 포즈를 근사화한 다음, 신체의 2D 신체 이미지를 생성할 해당 모델에 대한 가상 카메라의 위치를 결정할 수 있다. 결정된 가상 카메라의 위치를 기반으로 2D 신체 이미지를 생성하기 위한 카메라의 높이 및 각도를 유추할 수 있다. 일부 구현에서, 카메라 기울기는 메타데이터에 포함될 수 있고, 및/또는 카메라를 포함하는 휴대용 장치에 의해 제공될 수 있다. 예를 들어, 많은 휴대용 장치는 가속도계를 포함하고 있으며, 2D 신체 이미지가 생성된 시점의 가속도계로부터의 정보는 카메라의 기울기(tilt)로서 제공될 수 있다. 수신 및/또는 결정된 카메라 파라미터에 기초하여, 1252에서와 같이 카메라에 대한 2D 신체 이미지에 표현된 신체의 포즈가 결정될 수 있다.
사용자 신체의 개인별 3D 신체 모델은 1254에서와 같이 2D 신체 이미지에서 신체의 결정된 포즈에 대응하도록 조정될 수 있다. 1256에서와 같이 이미지에 표시된 사용자와 대략 동일한 포즈로 조정되는 개인별 3D 신체 모델을 이용하여, 개인별 3D 신체 모델로부터 2D 모델 이미지를 생성한다. 예를 들어, 마치 개인별 3D 신체 모델의 디지털 2D 이미지가 생성된 것처럼, 개인별 3D 신체 모델을 결정된 포즈의 2D 이미지로 변환 또는 이미징함으로써, 2D 모델 이미지가 생성될 수 있다. 마찬가지로, 2D 모델 이미지는 제1 값 세트(예: 흰색 - RGB 값 255, 255, 255)를 갖는 모델에 해당하는 픽셀과 제2 값 세트(예: 검정 - RGB 값 0, 0, 0)를 갖는 모델을 나타내지 않는 픽셀을 가진 이진 이미지일 수 있다.
2D 모델 이미지는 1258에서와 같이 2D 모델 이미지와 2D 신체 이미지 및/또는 실루엣의 신체 표현 사이의 임의의 차이를 결정하기 위해 2D 신체 이미지 및/또는 실루엣과 비교된다. 예를 들어, 2D 모델 이미지는 픽셀 값들 사이의 차이를 결정하기 위해 비교된 이미지 사이의 픽셀, 실루엣, 및/또는 2D 신체 이미지와 정렬될 수 있다. 픽셀이 2진(예를 들어, 흰색 또는 검은색)인 구현에서, 오류(예를 들어, % 차이)는 2D 모델 이미지와 2D 신체 이미지 간의 픽셀 값의 차이로서 결정될 수 있다. 그 오차는 미분가능할 수 있고, 이를 이용하여 신체 파라미터를 조정하고, 결과적으로, 개인별 3D 신체 모델의 형상을 조정할 수 있다.
일부 구현에서, 임의의 결정된 차이가 최소 임계값(예를 들어, 2%)을 초과하는지 여부가 결정될 수 있다. 2D 모델 이미지와 2D 신체 이미지/실루엣 중 하나 이상으로 표현된 신체 간에 차이가 있다고 판단되면, 개인별 3D 신체 모델 및/또는 신체 파라미터는 1260에서와 같이 2D 신체 이미지 및/또는 실루엣으로 표현된 신체의 형상 및/또는 크기에 대응하도록 조정될 수 있다. 이러한 예시 프로세스는 2D 모델 이미지와 2D 신체 이미지/실루엣 간의 차이가 없거나 그 차이가 최소 임계치 미만일 때까지 계속된다. 위에서 논의된 바와 같이, 수정된 개인별 3D 신체 모델이 예시적인 프로세스(1250)로부터 생성되거나, 및/또는, 조정이 필요하지 않은 경우, 개인별 3D 신체 모델은 블록(1112)에서 예시적인 프로세스(1100)로 리턴되고 프로세스(1100)가 계속된다.
도 13은 본 개시내용의 구현들에 따른, 2D 신체 이미지로부터 체지방 측정치들(1314)을 결정하도록 동작가능한 예시적인 시스템(1300)의 블록도이다. 위에서 논의된 바와 같이, 입력 2D 신체 이미지는 전신의 표현 또는 신체의 일부의 표현(예를 들어, 머리, 몸통, 다리, 팔, 머리에서 무릎, 목에서 무릎, 목에서 몸통, 등)을 포함할 수 있다. 마찬가지로, 여기에서의 논의가 2D 신체 이미지를 수신하고 처리하는 데 주로 초점을 맞추고 있지만, 개시된 구현은 마찬가지로 2D 비디오와 함께 사용될 수 있다. 그러한 구현에서, 비디오로부터의 프레임은 추출된 프레임에 표현된 신체에 대한 체지방 측정치를 결정하기 위해 개시된 구현으로 추출 및 처리될 수 있다.
시스템(1300)의 각 구성요소는 컴퓨팅 리소스(103/203)(도 1a, 1b, 2) 및/또는 휴대용 장치(130/230)(도 1a, 1b, 2)와 같은 컴퓨팅 장치에서 실행되는 컴퓨터 실행 가능 명령어로서 수행될 수 있다. 일부 구현에서, 시스템의 모든 양태는 컴퓨팅 리소스(103/203) 또는 휴대용 장치(130/230)와 같은 컴퓨팅 리소스들의 한 세트에서 실행할 수 있다. 다른 구현에서, 시스템(1300)의 제1 부분은 휴대용 장치(130/230)와 같은 컴퓨팅 리소스의 한 세트에서 실행할 수 있는 반면, 시스템(1300)의 제2 부분은 컴퓨팅 리소스(103/203)와 같은 컴퓨팅 리소스의 제2 세트에서 실행한다.
소스에 관계없이, 2D 신체 이미지는 입력 핸들링 구성요소(1302)에 의해 수신된다. 도 15 및 도 16을 참조하여 아래에서 더 논의되는 바와 같이, 입력 핸들링 구성요소는 수신된 2D 신체 이미지를 처리하고, 정규화된 신체 이미지(1305)를 생성한다. 정규화된 신체 이미지는 640x256 픽셀 x 3 채널(빨강, 녹색, 파랑)과 같은 정의된 크기를 갖는다. 마찬가지로, 신체를 나타내지 않는 픽셀은 해당 색상 값을 검정색(0,0,0)과 같은 정의된 색상으로 설정하여 억제할 수 있다. 정규화된 신체 이미지는 시스템(1300)의 나머지 부분에 대한 입력 변화의 수를 감소시킨다.
그 다음, 정규화된 신체 이미지는 하나 이상의 신경망(1307)을 포함할 수 있는 모델링 구성요소(1304)로 전달된다. 예를 들어, 신경망(1307)은 ResNet-50과 같은 잔차 네트워크의 수정된 버전일 수 있다. ResNet-50과 같은 잔차 학습 또는 잔
Figure pct00003
잔여 네트워크는 적층되어 수행할 작업(예: 이미지 분류)에 대해 훈련된 여러 계층 또는 병목을 활용한다. 네트워크는 계층의 끝에서 여러 저/중/고 수준 특징을 학습한다. 잔차 학습에서, 신경망(1307)은 각 병목의 잔차를 학습하도록 훈련된다. 잔
Figure pct00004
잔여는 해당 계층의 입력으로부터 학습된 특징을 빼는 것으로 간단히 이해할 수 있다. ResNet-50과 같은 일부 잔차 네트워크는 한 병목의 출력을 다른 병목의 입력에 연결하여 이를 수행한다.
아래에서 추가로 논의되는 바와 같이, 개시된 구현은 수신된 2D 신체 이미지에 표현된 신체의 체지방 측정값(1314)을 결정하기 위해 각 계층에서 학습된 특징을 추출하고 이러한 특징을 네트워크의 출력과 연결함으로써 잔여 네트워크를 수정한다. 신경망(1307)은 도 17 및 18과 관련하여 아래에서 더 상세히 논의된다.
2D 이미지에 표현된 신체의 체지방 측정값(1314)을 결정하는 것 외에도, 일부 구현들에서, 업데이트 구성요소(1306)는 결정된 체지방 측정치들로부터 그리고 시스템(1300)에 의해 유지되는 앵커 체지방 측정치로부터 하나 이상의 손실 함수들(1311)을 결정하는데 사용될 수 있다. 앵커 체지방 측정치(1315)는 아래에서 추가로 논의되는 바와 같이, 상이한 이미지, 상이한 신체 부위, 상이한 신체 형상에 대응하는 체지방 측정치, 근육 정의, 등에 대한 기준선 또는 알려진 체지방 측정치일 수 있다. 결정된 손실 함수(1311)는 피드백(1313)으로서 모델링 구성요소(1304) 및/또는 직접 신경망(1307)에 피드백될 수 있다. 피드백은 시스템(1300)의 정확도를 개선하기 위해 사용될 수 있다. 손실 함수는 도 19와 관련하여 아래에서 더 상세하게 설명한다.
일부 구현에서, 추가 정보는 시스템(1300)에 의해 수신되어 시스템(1300)에 대한 추가 입력으로서 사용될 수 있다. 예를 들어, 연령, 성별, 민족성, 키, 체중 등과 같은 신체에 대한 추가 정보가, 본 명세서에 논의된 바와 같이, 체지방 측정치 표현 및/또는 체지방 측정값을 결정할 때 입력으로서 수신되어 신경망(1307)에 의해 사용될 수 있다.
도 14는 본 개시내용의 구현들에 따른, 다수의 2D 신체 이미지들로부터 체지방 측정치를 결정하도록 동작가능한 다른 예시적인 시스템(1400)의 블록도이다.
도 14에 도시된 예에서, 다수의 입력 이미지가 입력 처리 구성요소(1402)에 의해 수신되고 각각의 이미지는, 아래 논의되는 바와 같이, 각각의 정규화된 신체 이미지를 생성하기 위해 처리된다. 예를 들어, 제1 이미지가 정면도 이미지인 경우, 정면도 이미지는 정규화된 정면 신체 이미지(1405-1)를 생성하기 위해 입력 핸들링 구성요소(1402)에 의해 처리될 수 있다. 유사하게, 제2 이미지가 후면 이미지인 경우, 후면 이미지는 정규화된 후면 신체 이미지(1405-2)를 생성하기 위해 입력 핸들링 구성요소(1402)에 의해 처리될 수 있다.
각각의 정규화된 신체 이미지(1405)는 모델링 구성요소(1404)로 전달되고, 각각의 체지방 측정값을 결정하기 위해 신경망(1407-1) 또는 신경망(1407-2)과 같은 하나 이상의 신경망에 의해 처리된다. 이러한 프로세스의 출력은 입력 이미지에 표시된 신체를 나타내는 단일 체지방 측정값(1414)을 생성하기 위해 결합될 수 있다.
추가로, 결정된 체지방 측정치는 모델링 구성요소 및/또는 신경망(1407)에 피드백(1413)으로서 제공되는 하나 이상의 손실 함수(1411)를 결정하기 위해 앵커 신체 측정치(1415)와 함께 업데이트 구성요소(1406)에 의해 처리될 수 있어서, 시스템(1400)의 정확도를 개선시킬 수 있다. 일부 구현에서, 최종 체지방 측정값(1414)은 손실 함수를 결정하기 위해 업데이트 구성요소(1406)에 의해 처리될 수 있다. 다른 구현들에서, 정규화된 신체 이미지들 각각에 대해 결정된, 결정된 체지방 측정치 표현들은 업데이트 구성요소(1406)에 의해 개별적으로 처리될 수 있고, 각각의 손실 함수는 정규화된 신체 이미지를 처리한 신경망 및/또는 모델링 구성요소의 각각의 부분에 피드백(1413)으로서 제공될 수 있다. 예를 들어, 업데이트 구성요소는 신경망(1407-1)에 의해 생성된 결정된 체지방 측정에 기초하여 제1 손실 함수를 결정할 수 있고, 제1 손실 함수를 제1 피드백으로서 신경망(1407-1)에 제공할 수 있다. 유사하게, 업데이트 구성요소(1406)는 또한 신경망(1407-2)에 의해 생성된 결정된 체지방 측정치에 기초하여 제2 손실 함수를 결정할 수 있고, 제2 손실 함수를 신경망(1407-2)에 대한 제2 피드백으로서 제공할 수 있다.
또 다른 예들에서, 각각의 수신된 정규화된 입력 이미지를 처리하기 위해 단일 신경망을 활용하는 것보다, 체지방 측정값을 결정하기 위해 정규화된 입력 이미지들의 조합을 처리하도록 신경망들이 훈련될 수 있다. 예를 들어, 정면 신체 이미지와 후면 신체 이미지의 조합이 자주 수신되는 경우, 단일 신경망은 정규화된 두 신체 이미지를 동시에 처리하여 두 이미지로부터 체지방 측정값을 결정하도록 훈련될 수 있다. 다른 구현에서, 이미지들의 다른 조합, 이미지들의 신체 방향, 또는 이미지의 수를 마찬가지로 이용하여, 이미지를 처리하고 이미지에 표시된 신체에 대한 체지방 측정값을 결정하도록 신경망을 훈련할 수 있다.
일부 구현에서, 추가 정보는 시스템(1400)에 의해 수신되고, 시스템(1400)에 대한 추가 입력으로서 사용될 수 있다. 예를 들어, 연령, 성별, 민족성, 키, 체중 등과 같은 신체에 대한 추가 정보가, 본 명세서에 논의된 바와 같이, 측정된 시각적 체지방 표현 및/또는 체지방 측정값을 결정하는데 있어서 입력으로서 수신되고 신경망(1407)에 의해 사용될 수 있다.
일부 구현에서, 시스템(1300/1400)은 또한 체지방 측정치 표현 및/또는 체지방 측정값 외에 다른 출력을 생성할 수 있다. 예를 들어, 일부 구현에서, 개시된 구현은 또한 연령, 성별, 민족성, 체질량 지수, 키, 체중, 신체 치수(예를 들어, 팔 길이, 허리 둘레, 다리 둘레 등)를 나타내는 정보를 생성할 수 있다.
도 15는 본 개시의 구현들에 따른 예시적인 2D 신체 이미지 핸들링 프로세스(1500)이다. 예시적인 프로세스(1500)는 도 13 내지 도 14에서 위에서 논의된 입력 핸들링 구성요소(1302/1402)에 의해 수행될 수 있다.
예시적인 프로세스(1500)는 1502에서와 같이 2D 신체 이미지를 수신하면 시작된다. 2D 신체 이미지는 2D 카메라로부터 직접 수신될 수 있고, 또는, 위에서 논의된 신체 방향 결정 및 신체 방향 이미지 선택 프로세스(600)(도 6)로부터 선택된 2D 신체 이미지 중 하나일 수 있다.
1504 및 1506에서와 같이, 소스에 관계없이, 수신된 2D 신체 이미지를 분할하고 배경에 해당하는 픽셀을 억제하여 이미지에 표시된 신체를 분리하고 배경 억제 이미지를 생성한다. 예를 들어, 이제 도 16에 도시된 바와 같이, 이 예에서 2D 신체 이미지(1601)인 입력 이미지(1610)는, 배경(1602-1/1602-2) 픽셀로 지칭되는 신체를 나타내지 않는 이미지의 픽셀로부터 신체(1600)를 나타내는 이미지의 픽셀(1612)을 분할(1612)하도록 처리하여, 분할된 이미지(1603)에 표현되는 바와 같이, 신체(1600)의 표현만을 포함하는 이미지를 생성할 수 있다. 분할은 예를 들어 배경 빼기, 의미론적 분할 등을 통해 수행될 수 있다. 한 예에서, 배경의 기준선 이미지가 알려져 있고, 이를 이용하여, 기준선 이미지의 픽셀에 대응하는 이미지의 픽셀을 빼서, 이에 따라 신체를 나타내는 전경 픽셀만 남길 수 있다. 배경 픽셀에는 검정색에 대한 RGB 색상 값(즉, 0,0,0)이 할당될 수 있다.
다른 예에서, 의미론적 분할 알고리즘을 사용하는 신경망은 인체를 나타내는 픽셀과 인체를 나타내지 않는 픽셀을 구별하도록 신경망을 훈련하기 위해 인체 또는 시뮬레이션된 인체와 같은 신체의 이미지를 사용하여 훈련될 수 있다. 그러한 예에서, 신경망은 수신된 이미지(1601)를 처리할 수 있고, 머리카락, 신체, 손, 발, 상의, 하의와 같은 신체의 일부분을 나타내는 픽셀과, 신체를 나타내지 않는 픽셀(배경)을 표시하거나 레이블을 지정할 수 있다. 배경 픽셀(1602-1/1602-2)은 흑색에 대한 RGB 색상 값(즉, 0,0,0)이 할당될 수 있다.
다른 구현에서, 에지 검출, 형상 검출 등과 같은 다른 형태 또는 알고리즘을 이용하여, 신체를 나타내는 이미지의 픽셀과, 신체를 나타내지 않는 이미지의 픽셀을 결정할 수 있고, 신체를 나타내지 않는 픽셀을 억제할 수 있다.
도 15로 돌아가서, 배경 억제 이미지는 1508에서와 같이 정규화된 신체 이미지를 생성하도록 정규화된다. 도 16을 다시 참조하면, 배경 억제 이미지(1603)는 3개의 채널(적색, 녹색, 청색)을 갖는 640x256 픽셀과 같은 정의된 크기의 정규화된 신체 이미지(1605)를 생성하도록 정규화(1614)된다. 정규화된 신체 이미지를 생성하는 것은 정의된 크기의 경계 상자를 채우도록 신체(1600)의 크기를 재조정한 다음, 신체 크기가 조정되고 이미지의 중앙에 오도록 경계 상자에 맞게 정규화된 신체 이미지를 설정하는 것을 포함할 수 있다.
도 17은 본 개시내용의 구현들에 따른 예시적인 체지방 측정치 결정 프로세스(1700)이다. 예시적인 체지방 측정치 결정 프로세스는 위에서 논의된 모델링 구성요소(1304/1404)(도 13 및 14)에 의해 수행될 수 있다. 예를 들어, 체지방 측정치 결정 프로세스(1700)는 위에서 논의된 변형된 신경망(1307/1407)에 의해 수행될 수 있다.
예시적인 프로세스(1700)는 1702에서와 같이 정규화된 신체 이미지의 수신 시에 시작된다. 정규화된 신체 이미지는, 예를 들어, 예시적인 프로세스(1600)(도 16)로부터 생성된 정규화된 신체 이미지일 수 있다.
정규화된 신체 이미지는 1704에서와 같이 신경망의 제1 병목에 대한 입력으로 처리되고 제1 병목은 다운샘플링된 특징 표현을 출력한다. 예를 들어, 도 18을 참조하면, 본 개시내용의 구현들에 따른, 정규화된 2D 이미지로부터 체지방 측정치를 결정하도록 구성된 신경망(1807)을 포함하는 예시적인 시스템(1800)이 예시되어 있다.
도 18은 본 명세서에서 논의된 바와 같이 수정된 ResNet-50과 같은 예시적인 신경망을 도시한다. 예시된 예에서, 신경망(1807)은 5개의 병목(1807-1, 1807-2, 1807-3, 1807-4, 1807-5)을 포함하며, 각각은 입력을 처리하고 출력으로서 다운샘플링된 특징 표현을 생성한다. 각 병목은 컨볼루션 계층, 비선형 활성화 함수(Rectified Linear Units("ReLU")), 풀링 작업(MaxPooling, Average Pooling) 및 배치 정규화(batch normalization)와 같은 딥 러닝 유닛(deep learning units)의 스택이다.
예시된 예에서 각 병목(1807-1부터 1807-5)은 입력의 공간 해상도를 2배만큼 감소시킨다. 다른 구현들에서, 공간 해상도는 상이하게 다운샘플링될 수 있다.
제1 병목(1807-1)은 정규화된 신체 이미지(1814)를 입력으로 수신하고 정규화된 신체 이미지의 공간 해상도를 640x256에서 2의 인자로 320x128로 감소시킨다. 마찬가지로, 이 예에서는 채널이 64개 채널로 증가한다. 다른 구현에서, 채널 증가는 예를 들어 컴퓨팅 용량, 계산 시간 등에 기초하여 상이할 수 있다. 따라서, 이 예에서, 제1 병목(1807-1)의 출력은 높이 320, 폭 128, 64 채널인 특징 표현(1808-1)이다.
다시 도 17을 참조하면, 예시적인 프로세스(1700)는 1706에서와 같이 다운샘플링된 특징 표현으로부터 추출된 특징을 생성한다. 예를 들어, 임의의 하나 이상의 병목으로부터의 특징은 공간 치수들에 걸쳐 병목의 출력을 평균화함으로써 추출될 수 있다. 예를 들어, 도 18을 다시 참조하면, 제1 병목(1807-1)의 출력(1808-1)으로부터 특징이 추출되면 64개의 특징 채널이 320x128 공간 치수에 걸쳐 평균화되어 F1∈64x1을 얻는다. 일부 구현에서, 특징들은 신경망의 모든 병목에서 추출되지는 않을 수 있다. 예를 들어, 도 18에 도시된 바와 같이, 체지방 측정을 결정하는데 사용하기 위해 제1 병목의 제1 출력으로부터 특징이 추출되지 않을 수 있다. 다른 예에서, 특징들은 신경망의 다른 병목으로부터 추출되지 않을 수 있다. 이에 비해, 일부 구현들에서, 특징들은 모든 병목 출력들로부터 추출될 수 있고 개시된 구현들과 함께 활용될 수 있다.
특징이 추출됨에 따라 1710과 같이 처리되어야 할 추가 병목이 남아 있는지 여부가 결정된다. 추가 병목이 남아 있다고 판단되면 업스트림 병목으로부터 다운샘플링된 특징 표현이 1712에서와 같이 다음 병목에 대한 입력으로 사용되고, 프로세스(1700)가 계속된다.
예를 들어, 도 18을 다시 참조하면, 제1 병목(1807-1)으로부터 출력된 제1 다운샘플링된 특징 표현(1808-1)은 제2 병목(1807-2)에 대한 입력으로서 제공된다. 제2 병목(1807-2)은 320x128의 공간 치수 및 64 채널을 갖는 제1 다운샘플링된 특징 표현(1808-1)을 수신하고, 160x64의 공간 치수 및 256 채널를 갖는 제2 다운샘플링된 특징 표현(1808-2)을 생성하기 위해 상기 입력을 처리한다. 예시적인 프로세스(1700)(도 17)가 계속됨에 따라, 제3 병목(1807-3)은 제2 다운샘플링된 특징 표현(1808-2)을 수신하고, 80x32의 공간 치수 및 512 채널을 갖는 제3 다운샘플링된 특징 표현(1808-3)을 생성하기 위해 상기 입력을 처리한다. 제4 병목(1807-4)은 제3 다운샘플링된 특징 표현(1808-3)을 수신하고, 40x16의 공간 치수 및 1024 채널을 갖는 제4 다운샘플링된 특징 표현(1808-4)을 생성하기 위해 상기 입력을 처리한다. 제5 병목(1807-5)은 제4 다운샘플링된 특징 표현(1808-4)을 수신하고, 20x8의 공간 치수 및 2048 채널을 갖는 제5 다운샘플링된 특징 표현(1808-5)을 생성하기 위해 입력을 처리한다.
예시적인 프로세스(1700) 및 시스템(1800)에 예시된 바와 같이, 추출된 특징(1810)은 1706에서와 같이 출력 다운샘플링된 특징 표현으로부터 생성된다. 예를 들어, 도 18의 논의를 계속하면, 제2 다운샘플링된 특징 표현(1808-2)의 256개 채널은 제2 추출된 특징(1810-2) F2∈256×1을 얻기 위해 160x64 공간 치수에 걸쳐 평균화될 수 있다(1809-2). 제3 다운샘플링된 특징 표현(1808-3)의 512개 채널은 제3 추출된 특징(1810-3) F3∈512x1을 얻기 위해 80x32 공간 치수에 걸쳐 평균화될 수 있다(1809-3). 제4 다운샘플링된 특징 표현(1808-4)의 1024개의 채널은 제4 추출된 특징(1810-4) F4∈1024×1을 얻기 위해 40x16 공간 치수에 걸쳐 평균화될 수 있다(1809_4). 제5 다운샘플링된 특징 표현(1808-5)의 2048 채널은 제5 추출된 특징(1810-5) F_5∈2048×1 을 얻기 위해 20x8 공간 치수에 걸쳐 평균화될 수 있다(1809-5).
각각의 다운샘플링된 출력으로부터 추출된 추출 특징(1810-2 내지 1810-5)(즉, F1 내지 F5)에 더하여, 신경망(1200)의 출력에 기초하여 신경망 출력 특징도 생성될 수 있다. 예를 들어, 블록(1209-5)에 대응하는 블록(1209-6)은 제5 다운샘플링된 특징 표현(1208-5)의 평균을 출력할 수 있다. 선형 함수(1211)는 1000-채널 특징(1808-6) F6을 생성하기 위해 출력에 적용될 수 있다.
도 17로 돌아가서, 처리할 추가 병목이 없는 경우, 예시적인 프로세스(1700)는 1712에서와 같이, 다운샘플링된 각각의 입력으로부터 추출된 특징을 결합하는, 그리고 연결된 특징을 생성하기 위해 신경망으로부터 출력된 1000-채널 특징과 연결하는, 다중 스케일 표현을 활용한다.
다시 도 18을 참조하면, 특징(1810-2 내지 1810-5)이 추출됨에 따라 또는 모두 추출된 후에 특징들이 연결된다. 예를 들어, F2 (1810-2)는 F3 (1810-3)과 연결되고, 이는 F4 (1810-4)와 연결되고, 이는 다시 F5 (1810-5)와 연결되어, 연결 표시자(1814-2, 1814-3, 1814-4)로 표시된 대로 된다. 연결 표시자(1814-5 및 1814-6)에 의해 표시된 바와 같이, 특징 F1 내지 F5의 연결은 신경망(1807)으로부터 출력되는 특징 F6과 또한 연결되어, 연결된 특징(1810-7)
Figure pct00005
을 생성할 수 있다.
그런 다음 1714(도 17)에서와 같이, 체지방 측정치 표현을 결정하기 위해 연결된 특징에 선형 함수가 적용될 수 있다. 예를 들어, 도 18에 도시된 바와 같이, 선형 함수(1813)는 이 예에서 65x1 차원 벡터인, 결정된 체지방 측정치 표현(1815)을 생성하기 위해 F7 (1810-7)에 적용될 수 있다. 예를 들어, 결정된 체지방 측정치 표현("V")(1815)은 다음과 같이 결정될 수 있다:
Figure pct00006
여기서
Figure pct00007
이고,
Figure pct00008
는 행렬 곱
Figure pct00009
으로 구현되고 바이어스 행렬 B와 합산될 수 있는 선형 함수의 가중치 및 바이어스이다. 가중치는 각 특성 F1 내지 F5 마다 다를 수 있으며 추출 및 평균화(1209)의 일부로 적용되거나 체지방 측정치 표현의 벡터 표현의 일부로 적용될 수 있다. 다른 구현에서는 가중치가 적용되지 않을 수 있다.
도시된 바와 같이, 위는 65-차원 측정된 체지방 표현 V∈65×1을 결정하며, 여기서 각 요소
Figure pct00010
는 체지방 측정치가 j일 확률을 나타낸다. 이 체지방 측정치 표현(1815)은 1716에서와 같이 체지방 측정값을 결정하기 위해 추가로 처리될 수 있다. 예를 들어, V의 확률 가중 평균, 즉
Figure pct00011
가 결정될 수 있고, 체지방 측정값("
Figure pct00012
")으로 사용될 수 있다. 예를 들어, 신경망(1807)이 체지방 측정값이 22일 확률이 0.5라고 결정하면, 체지방 측정값이 23일 확률이 0.5이고 다른 모든 확률이 0이다:
Figure pct00013
도 19는 본 개시물의 구현들에 따른 예시적인 모델 최적화 프로세스(1900)이다. 위에서 논의된 바와 같이, 일부 구현에서, 결정된 체지방 측정치 표현 또는 체지방 측정값은 손실 함수를 결정하기 위해 알려진 또는 앵커 체지방 측정치 표현 또는 앵커 체지방 측정값과 비교될 수 있고, 이러한 손실 함수는 신경망 및 결과 체지방 측정치의 정확도를 향상시키기 위해 신경망에 다시 제공될 수 있다.
예시적인 프로세스(1900)는 1902에서와 같이 앵커 체지방 측정치("A")를 결정하는 것으로 시작한다. 앵커 체지방 측정치는 벡터 기반 체지방 측정치 표현 및/또는 체지방 측정값일 수 있다. 앵커 체지방 측정치는 이미지로 표현된 신체의 체지방 측정값을 결정하도록 훈련된 인간 애노테이터(human annotators)로부터 획득할 수 있고, 신체의 체지방을 측정하는 다른 시스템(예: DEXA, ADP)으로부터 얻을 수 있고, 및/또는, 다른 소스로부터 얻을 수 있다. 일부 구현에서, 앵커 체지방 측정치는 상이한 소스로부터 획득된 신체의 다중 체지방 측정치의 평균일 수 있다. 예를 들어, 특정 신체의 체지방을 a 1, a 2, a 3... a N으로 결정한 N명의 인간 애노테이터(human annotators)가 있는 경우, 앵커 체지방 측정치는 이러한 결정의 평균으로 신체에 대해 결정될 수 있다:
Figure pct00014
.
마찬가지로, 앵커 확률 분포를 결정하기 위해, 애노테이터들이 제공한 체지방 측정치에 기초하여 확률 분포가 결정될 수 있다. 예를 들어, 4명의 애노테이터가 신체의 체지방 측정치를 20, 21, 21, 22로 결정했다면, 확률 분포는 A20=0.25, A21=0.5, A22=0.25, An=0,
Figure pct00015
로 결정될 수 있다. 다른 예로서, 체지방 측정치는 평균 체지방 측정치를 중심으로 하고 평균에서 멀어짐에 따라 감소하는 가우스 확률 분포에 맞을 수 있다. 피크 위치와 감쇠 속도는 평균 및 시그마 파라미터 μ, σ를 변경하여 제어할 수 있다.
도 19로 돌아가서, 이 예에서 2개의 손실 함수, KL-다이버전스와 스무스 L1 손실이 계산될 수 있다. 계산은 그림과 같이 병렬로 또는 직렬로 수행될 수 있다. 마찬가지로, 다른 구현에서 더 적은, 추가의 및/또는 상이한 손실 함수를 계산 및 이용하여 신경망 파라미터를 업데이트함으로써 연산을 개선하고 결과적인 시각적 체지방 측정치의 정확도를 계속 증가시킬 수 있다.
KL-다이버전스의 경우, 앵커 체지방 측정치의 확률 분포가 1904에서와 같이 결정된다. 앵커 체지방 측정치의 확률 분포는 위에서 논의된 바와 같이 결정될 수 있다.
그 후, 앵커 체지방 측정치의 확률 분포와 결정된 체지방 측정치 표현 간의 다이버전스가 1906에서와 같이 결정된다. 위에서 논의된 바와 같이, 결정된 체지방 측정치 표현은 위 개시된 구현에 따라 결정된 체지방 측정치의 확률 분포를 나타내는 65-차원 벡터일 수 있다.
앵커 체지방 측정값("
Figure pct00016
")은 1908에서와 같이 앵커 체지방 측정치에 대해서도 결정될 수 있다. 위에서 논의한 바와 같이 체지방 측정값은 상이한 소스들로부터 수신한 신체에 대한 체지방 측정치의 평균일 수 있다. Huber Loss라고도 알려진 스무스 L1 손실은 1910에서와 같이 앵커 체지방 측정값(
Figure pct00017
)과 결정된 체지방 측정값(
Figure pct00018
, 또는
Figure pct00019
사이의 부호 없는 차이이다.
마지막으로, 신경망은 1912에서와 같이 계산된 손실 함수, 이 예에서 다이버전스 및 절대 차이에 기초하여 조정될 수 있다.
신체의 개인별 3D 신체 모델을 생성하고 및/또는 신체의 체지방을 결정하는 것에 추가하여, 위에서 논의된 바와 같이, 일부 구현에서, 상이한 신체 측정값으로 신체의 예측된 외양을 나타내는 예측된 개인별 3D 신체 모델이 결정되고 제시될 수 있다. 예를 들어, 사용자가 현재 체지방 측정값으로부터 목표 체지방 측정값으로 몸을 낮추면 자신의 몸이 어떻게 보일지 보고자 하는 경우, 개시된 구현은 상이한 체지방율로 사용자의 신체에 대해 예측된 개인별 3D 신체 파라미터를 결정할 수 있고, 예측된 개인별 3D 신체 파라미터에 기초하여, 사용자 신체의 예측된 외양을 나타내는 예측된 개인별 3D 신체 모델을 목표 체지방 측정값으로 생성할 수 있다. 유사하게, 일부 구현에서, 다수의 예측된 개인별 3D 신체 모델이 신체에 대해 생성될 수 있고, 사용자는 개인별 3D 신체 모델과 상호작용하여 상이한 신체 측정치를 갖는 상이한 예측된 개인별 3D 신체 모델을 볼 수 있다.
도 20은 본 개시의 구현들에 따른, 예측된 개인별 3D 신체 모델들의 생성의 예시적인 전이도이다. 도시된 바와 같이, 상이한 예측된 개인별 3D 신체 모델(2008)은 개인별 3D 신체 파라미터(2000) 및/또는 신체에 대한 다른 신체 정보(2003)에 기초하여 생성될 수 있으므로, 생성된 예측된 개인별 3D 신체 모델은 고려 중인 실제 신체를 나타낼 수 있다. 예를 들어, 위에서 논의된 바와 같이 결정된 개인별 3D 신체 파라미터(2000)는 신체에 대한 다른 신체 정보(2003)가 있거나 없이 신경망(2004)에 제공될 수 있다. 기타 신체 정보에는 키, 체중, 연령, 성별, 민족, 신체 유형 등이 포함될 수 있지만 이에 국한되지 않는다.
개인별 3D 신체 파라미터(2000) 및 선택적으로 다른 신체 정보(2003)에 추가하여, 목표 신체 측정치 및/또는 목표 활동(2002)은 신경망(2004)에 제공될 수 있고, 하나 이상의 예측된 개인별 3D 신체 모델을 생성하기 위해 신경망에 의해 사용될 수 있다. 목표 신체 측정치는 체지방, 근육량, 체중 등과 같은 신체의 조정 가능한 신체 측정치 중 하나 이상일 수 있다. 활동은 사용자가 하나 이상의 신체 측정치를 조정하기 위해 수행하기 원하는 임의의 활동일 수 있다. 예를 들어, 활동에는 X분의 운동, 주당 Y일 운동, 하루 Z칼로리로 칼로리 섭취 제한, 하루 ZZ시간 수면 등이 포함될 수 있지만 이에 국한되지 않는다.
개시된 구현은 활동 목표 및 신체에 대한 다른 정보를 고려하여, 시간에 따른 하나 이상의 신체 측정값의 잠재적인 변화를 결정하고, 그 정보를 활용하여 예측된 개인별 3D 신체 모델을 생성할 수 있다. 예를 들어, 사용자가 주 6일, 하루 30분 운동의 목표를 제공하는 경우, 개시된 구현은, 다른 모든 요소(예: 음식 섭취, 휴식 등)가 변경되지 않은 상태로 유지된다고 가정할 때, 사용자 신체의 체지방 측정치 및/또는 근육량의 예측된 변화를 결정할 수 있고, 해당 정보를 활용하여 예측된 개인별 3D 신체 모델(2008)을 생성할 수 있다.
일부 구현에서, 신경망은 또한 목표 신체 측정값에 대응하는, 상이한 예측된 개인별 3D 신체 파라미터를 결정하기 위해 신체에 대한 이력 정보를 고려할 수 있다. 예를 들어, 일련의 목표 신체 측정치 및/또는 일정 기간 동안 개인별 3D 신체 파라미터와 같은 이력 정보가 해당 신체에 대해 유지된 경우, 개시된 구현은 이러한 상이한 측정치에 대해 상이한 개인별 3D 신체 파라미터를 비교하여, 신체의 상이한 부분들에 대해 발생하는 변화의 속도 또는 양을 결정할 수 있다. 예를 들어, 사용자의 신체가 얼굴과 몸통 영역에서 먼저 체중이 감소하는 경우, 해당 정보는 신체에 대한 과거 이력의 3D 신체 파라미터로부터 결정될 수 있고, 신체의 이러한 상이한 부분들에 대한 변화율은 목표 신체 측정치에 기초하여 예측된 개인별 3D 신체 파라미터를 생성하는데 사용될 수 있다.
유사하게, 상이한 외양을 갖는 상이한 예측된 개인별 3D 신체 모델을 나타내기 위해 웨이트 리프팅과 비교하여 걷기와 같은 표적 변화 또는 표적 활동에 기초하여 상이한 신체 모델 파라미터들이 적용될 수 있다. 예를 들어, 사용자가 현재 체지방률보다 10% 낮은 목표 체지방률 및 하루 X마일, 주당 Y일 걷기의 활동 변화를 지정하는 경우, 개시된 구현은 제1 신경망을 활용하여, 지정된 걷기 활동을 기반으로 나타날 가능성이 있는 목표 체지방에 해당하는 지방 및 근육 변화로 예측된 개인별 3D 신체 모델을 생성할 수 있다. 이에 비해, 사용자가 현재 체지방률보다 10% 낮은 목표 체지방률 및 웨이트 리프팅 활동 변화를 하루 X분, 주 Y일 지정하는 경우, 개시된 구현은 제2 신경망을 활용하여, 지정된 웨이트 리프팅 활동을 기반으로 나타날 가능성이 있는 목표 체지방에 해당하는 지방 및 근육 변화로 예측된 개인별 3D 신체 모델을 생성할 수 있다.
다시 도 20을 참조하면 그리고 아래에서 더 논의되는 바와 같이, 개인별 3D 신체 파라미터 및 목표 신체 측정치 및/또는 활동에 기초하여 신경망(2004)에 의해 생성된 예측된 개인별 3D 신체 파라미터는 후-처리(2006)를 이용하여 더 처리되어, 생성되는 예측된 개인별 3D 신체 모델을 개인별 3D 신체 모델(2001)에 더욱 적응시킬 수 있다. 예를 들어, 개인별 3D 신체 모델(2001)의 음영, 윤곽, 의복 패턴, 피부색 등은 후처리(2006)의 일부로서 예측된 개인별 3D 신체 모델에 조정 및 적용되어, 예측된 개인별 3D 신체 모델을 개인별 3D 신체 모델(2001)에 표현된 신체의 외양에 맞도록 추가로 조정할 수 있다.
이해되는 바와 같이, 일부 구현에서, 다수의 예측된 개인별 3D 신체 모델이 개시된 구현을 사용하여 결정될 수 있고, 3D 신체 모델 조정기(2010)가 사용자에게 제시되어, 사용자가 서로 다른 예측된 것 개인별 3D 신체 모델과 상호작용하고, 이를 볼 수 있다. 도 20에 도시된 예에서, 개인별 3D 신체 모델(2001)에 대응하는 4개의 예측된 개인별 3D 신체 모델(2008-1, 2008-2, 2008-3, 2008-4)이 생성된다. 상이한 예측된 개인별 3D 신체 모델(2008)은 서로 다른 신체 측정값을 갖는 개인별 3D 신체 모델(2001)에 의해 표현되는 신체를 나타낸다. 예를 들어, 개인별 3D 신체 모델(2001)이 f(x)로 표시되는 신체 측정치를 가진 경우, 제1 예측 개인별 3D 신체 모델(2008-1)은 f(x-y)로 표현되는 제1 저 체지방 측정치의 신체를 나타낼 수 있고, 제2 예측 개인별 3D 신체 모델(2008-2)은 f(x-y-z)로 표시되는 제1 하체 체지방 측정치보다 낮은 제2 저 체지방 측정치의 신체를 나타낼 수 있다. 유사하게, 개시된 구현은 또한, 보다 높은 신체 측정치의 신체를 나타내는 예측된 개인별 3D 신체 모델을 생성할 수 있다. 예를 들어, 예측된 개인별 3D 신체 모델(2008-3)은 f(x+y)로 표시되는 제1 고 체지방 측정치의 신체를 나타낼 수 있고, 제2 예측된 개인별 3D 신체 모델(2008-4)은 f(x+y+z)로 표시되는, 제1 체지방 측정치보다 높은 제2 고 체지방 측정치의 신체를 나타낼 수 있다. 구체적인 예로, 개인별 3D 신체 모델의 체지방 측정값이 27%인 경우, 제1 예측 개인별 3D 신체 모델(2008-1)은 22% 체지방 측정값에 해당하고, 제2 예측된 개인별 3D 신체 모델(2008-2)은 17% 체지방 측정값에 해당하고, 제3 예측 개인별 3D 신체 모델은 32% 체지방 측정값에 해당하고, 제4 예측 개인별 3D 신체 모델은 37% 체지방 측정값에 해당할 수 있다.
인식되는 바와 같이, 신체 측정값의 임의의 범위가 선택 및 사용되어 예측 신체 모델을 생성할 수 있고, 임의의 수의 예측 신체 모델이 개시된 구현을 사용하여 생성될 수 있다. 마찬가지로, 개시된 구현은 주로 체지방 값 측정의 변화를 논의하지만, 근육량과 같은 다른 조절 가능한 신체 측정치가 마찬가지로 개시된 구현으로 예측 및 예시될 수 있다.
또 다른 구현에서, 하나 이상의 예측된 개인별 3D 신체 모델 및 개인별 3D 신체 모델은 생성되는 각각의 예측된 개인별 3D 신체 모델 간에 다수의 예측된 개인별 3D 신체 모델들을 생성하도록 통합될 수 있어서, 사용자가 상이한 신체 측정값들 간에 신체의 외양에 대한 계속적인 변화를 시각화할 수 있게 된다. 예를 들어, 개인별 3D 신체 모델(2001)은 4개의 예측된 개인별 3D 신체 모델(2008-1, 2008-2, 2008-3, 2008-4) 각각과 통합되어, 상이한 예측된 개인별 3D 신체 모델들 중 임의의 것 사이에서 신체의 예측된 외양을 나타내기 위해 사용자가 3D 신체 모델 조정기(2010)와 상호작용함에 따라 렌더링 및 제시될 수 있는 임의의 수의 개재 예측 개인별 3D 신체 모델을 생성할 수 있다.
도 21은 본 개시물의 구현들에 따른 예시적인 3D 신체 모델 조정기 프로세스(2100)이다. 예시적인 프로세스(2100)는 2102에서와 같이, 신체의 개인별 3D 신체 모델, 그 신체의 개인별 3D 신체 파라미터, 및 현재 신체 측정치를 획득함으로써 시작된다. 예를 들어, 개인별 3D 신체 모델, 개인별 3D 신체 파라미터, 및/또는 현재 신체 측정치는 위에 설명된 구현 중 임의의 것으로부터 얻을 수 있다. 대안적으로 또는 그에 추가하여, 개인별 3D 신체 파라미터 및/또는 현재 신체 측정치 중 하나 이상은 가령, 사용자, 제3자 등과 같은 다른 소스로부터 획득될 수 있다.
예시적인 프로세스(2100)는 또한 2104에서와 같이, 체지방 측정값의 목표 변화 또는 근육량 측정값의 목표 변화와 같은 하나 이상의 목표 신체 측정치 및 선택적으로 하나 이상의 목표 활동을 수신한다. 위에서 논의한 바와 같이 목표 활동은, 하나 이상의 신체 측정값의 변화를 일으킬 사용자가 지정한 임의의 활동(걷기, 뛰기, 웨이트 리프팅, 수영, 스키, 등) 또는 거동 변화(칼로리 섭취 변화, 수면 변화, 등)일 수 있다.
현재 신체 측정치, 신체 정보, 목표 신체 측정치 및/또는 활동 목표에 기초하여, 비-개인별 3D 신체 파라미터 및 하나 이상의 예측된 비-개인별 3D 신체 파라미터가, 2200에서와 같이, 예측된 비-개인별 3D 신체 파라미터 결정 프로세스에 의해 결정된다. 예측된 비개인별 3D 신체 파라미터 결정 프로세스(2200)는 도 22와 관련하여 아래에서 더 상세히 논의된다. 아래에서 논의되는 바와 같이, 예측된 비-개인별 3D 신체 파라미터 결정 프로세스(2200)로부터의 출력은 목표 신체 측정치, 신체 정보 및 블록(2102 및 2104)에서 예시적인 프로세스(2100)에 의해 수신된 임의의 활동 목표에 기초하여 훈련된 신경망에 의해 생성되는 비-개인별 3D 신체 파라미터 중 하나 이상의 세트이다.
예측된 비-개인별 3D 신체 파라미터를 활용하여, 2300에서와 같이, 예측 개인별 3D 신체 모델 생성 프로세스에 의해 하나 이상의 예측 개인별 3D 신체 모델이 생성된다. 예측 개인별 3D 신체 모델 생성 프로세스(2300)는 도 23과 관련하여 아래에서 추가로 논의된다. 아래에서 논의되는 바와 같이, 예측 개인별 3D 신체 모델 생성 프로세스(2300)로부터의 출력은 블록(2102)에서 수신된 개인별 3D 신체 모델에 대응하는 하나 이상의 예측 개인별 3D 신체 모델이다.
그 다음 예시적인 프로세스(2100)는, 2110에서와 같이, 반환된 예측된 개인별 3D 신체 모델과 개인별 3D 신체 모델을 통합하여, 상이한 신체 측정치로 신체의 예측된 외양을 볼 수 있도록 사용자가 보고 상호작용할 수 있는 3D 신체 모델 조정기를 생성할 수 있다. 예를 들어, 개인별 3D 신체 모델과 제1 예측 개인별 3D 신체 모델은 두 모델을 평균화하여 통합되어, 개인별 3D 신체 모델과 예측 개인별 3D 신체 모델 간의 중간 개인별 3D 신체 모델에 대한 신체 파라미터를 결정할 수 있다.
마지막으로, 3D 신체 모델 조정기가 사용자에게 제시되어, 2112에서와 같이, 사용자가 3D 신체 모델 조정기와 상호작용할 수 있고, 상이한 활동에 기초하여 및/또는 상이한 신체 측정치에 기초하여, 신체에 대해 예측되는 외양 변화를 볼 수 있다.
도 22는 본 개시내용의 구현들에 따른, 예시적인 예측된 비-개인별 3D 신체 파라미터 결정 프로세스(2200)이다. 예시적인 프로세스(2200)는 2202에서와 같이, 현재 신체 측정값(예를 들어, 체중, 체지방 측정값, 근육량 측정값 등) 및 신체 정보(예를 들어, 연령, 성별, 민족성, 키, 신체 유형 등)를 수신하면 시작된다. 또한, 2204에서와 같이, 하나 이상의 목표 신체 측정치 및/또는 활동 목표가 수신된다. 예를 들어, 사용자는 체지방, 근육량, 체중 등의 목표 변화를 제공할 수 있다. 대안적으로, 또는 이에 더하여, 사용자는 하나 이상의 신체 측정치에 영향을 미칠 활동 및/또는 행동의 하나 이상의 변화를 지정할 수 있다. 또한, 예시적인 프로세스는 메모리에 유지되는 과거 이력의 3D 신체 파라미터가 있는지 여부도 결정할 수 있다. 예를 들어, 신체가 일정 기간에 걸쳐 주기적으로 개시된 구현에 의해 스캔되었고 이러한 시점 각각에서 신체에 대해 개인별 3D 신체 파라미터가 결정된 경우, 신체 측정치의 변경 및 개인별 3D 신체 파라미터의 대응하는 변화를 이용하여, 신체가 추가적인 신체 측정치 변화에 어떻게 반응할지 결정할 수 있다. 예를 들어, 과거 개인별 3D 신체 파라미터로부터 신체가 체지방을 감량하거나 증가할 때 평균적으로 신체 중 다리에서 해당 증가/감소의 30%가 나타나고, 신체 중 몸통에서 해당 증가/감소의 55%가 나타나며, 신체 중 팔에서 해당 증가/감소의 10%가 나타나고, 신체 중 머리 및 목에서 해당 증가/감소의 5%가 나타난다는 것이 과거 이력의 개인별 3D 신체 파라미터로부터 결정될 수 있다.
그 다음, 예시적인 프로세스(2200)는 2206에서와 같이 신체 정보, 신체 측정치, 및/또는 신체에 대한 저장된 과거 이력의 3D 신체 파라미터 중 하나 이상에 기초하여 하나 이상의 신경망을 선택할 수 있다.
논의된 바와 같이, 상이한 신체들이 신체 측정치의 차이 변화에 상이하게 반응할 수 있기 때문에, 다양한 신체 유형, 연령, 성별, 민족성 등에 기초하여 예측된 비-개인별 3D 신체 파라미터를 생성하기 위해 다수의 서로 다른 신경망이 훈련될 수 있다. 예를 들어, 나이든 남성은 다리와 팔에서 체지방을 먼저 잃을 수 있는 젊은 여성에 비해 얼굴과 목에서 체지방을 먼저 잃을 수 있다. 또한 신체는 상이한 활동 유형에 따라 상이하게 반응한다. 예를 들어, 목표가 체지방 측정값을 낮추는 것이고 활동 유형이 웨이트 리프팅인 경우 신체는 근육량을 증가시키고 체중의 제1 양을 감량하여 반응할 수 있으므로, 결과적으로 근육량이 더 많고 체지방 측정 값이 낮은 제1 체성분이 나타나게 된다. 이에 반해, 동일한 신체가 체지방 측정값의 목표 변화는 동일하지만 활동 목표는 칼로리 섭취 및 걷기를 반복하는 활동 목표를 갖는 경우, 이전 예와 비교하여 신체는 체지방은 감소하지만 근육량은 증가하지 않도록 반응한다. 결과적으로, 예측된 개인별 3D 신체 모델은 상이하게 나타날 것이며, 이는 체지방율 측정치가 동일하더라도 근육량이 더 많이 증가하기 때문이다.
일부 구현에서, 선택된 신경망은 또한 신체 측정치, 신체 정보, 활동 목표, 및/또는 신체에 대해 알려진 과거 이력의 개인별 3D 신체 파라미터에 기초하여 조정될 수 있다.
신경망을 선택 및/또는 조정한 후, 2208에서와 같이, 비-개인별 3D 신체 파라미터와, 예측된 비-개인별 3D 신체 파라미터의 하나 이상의 세트가 신경망에 의해 결정된다. 일부 구현에서, 단일 세트의 예측된 3d 신체 파라미터가 목표 신체 측정치 및/또는 목표 활동에 대해 결정될 수 있다. 다른 구현에서, 예측되는 비-개인별 3D 신체 파라미터의 다중 세트가 신체에 대해 결정될 수 있다. 예측되는 비-개인별 3D 신체 파라미터는 신체에 대한 신체 정보에 기초하여 그리고 신체의 크기, 형상, 민족성, 성별, 이력 정보, 등에 대응하는 LSRUD망의 훈련된 데이터에 기초하여, 신경망에 의해 생성된다. 아래에서 더 논의되는 바와 같이, 비-개인별 3D 신체 파라미터 및 예측된 비-개인별 3D 신체 파라미터는 신체에 대응하지만, 신체를 직접적으로 대표하지 않을 수 있다. 이와 같이, 아래에서 더 논의되는 바와 같이, 비-개인별 3D 신체 파라미터 및 예측된 비-개인별 3D 신체 파라미터를 더 처리하여, 예측된 개인별 3D 신체 모델에 의해 표현될 신체와 직접적으로 상관되는 예측된 개인별 3D 신체 파라미터를 생성할 수 있다.
도 23a 내지 도 23b는 본 개시내용의 구현들에 따른 예측된 개인별 3D 신체 모델 생성 프로세스(2300)의 예시이다. 예시적인 프로세스(2300)는 2302에서와 같이, 개인별 3D 신체 파라미터(도 10), 비-개인별 3D 신체 파라미터(도 22), 및 예측된 비-개인별 3D 신체 파라미터(도 22)를 수신함으로써 시작된다.
그런 다음 2304에서와 같이, 비-개인별 3D 신체 파라미터와 예측된 비-개인별 3D 신체 파라미터 사이의 델타 또는 차이가 결정된다. 그런 다음 이러한 델타는 2306에서와 같이, 개인별 3D 신체 파라미터에 적용되어, 개인별 3D 신체 파라미터에 기초하여, 신체의 현 상태로부터 신체의 목표 또는 예측된 상태로 예측된 변화를 예시하는 예측된 개인별 3D 파라미터를 생성할 수 있다.
예측된 개인별 3D 신체 파라미터를 이용하여, 2308에서와 같이, 신체의 목표 또는 예측된 상태에서 신체의 예측된 외관을 나타내는 예측된 개인별 3D 신체 모델이 생성된다. 예측된 개인별 3D 신체 파라미터를 사용하여, 예측된 개인별 3D 신체 파라미터가 마치 개인별 3D 신체 파라미터인 것처럼, 예측된 개인별 3D 신체 모델을 생성할 수 있다.
그런 다음 2310에서와 같이, 델타 또는 변화가 임계값을 초과하는지 여부에 대한 결정이 내려진다. 임계값은 임의의 정의된 양 또는 값일 수 있고, 상이한 신체들, 상이한 범위의 신체 측정값들, 상이한 신체 유형, 등에 대해 상이할 수 있다.
델타가 임계값을 초과하지 않는 것으로 판단되면, 2312에서와 같이, 개인별 3D 신체 모델로부터 텍스처(예: 의복, 피부색, 머리색) 및 음영(예: 신체 윤곽, 그림자)이 개인별 3D 신체 파라미터의 변화에 따라 수정되어, 예측되는 개인별 3D 신체 모델에 적용된다. 개인별 3D 신체 모델로부터 예측된 개인별 3D 신체 모델에 텍스처 및 음영을 적용하는 것 외에, 또는 델타가 임계치를 초과하는 것으로 판단되는 경우, 2314에서와 같이, 하나 이상의 일반(generic) 텍스처 및/또는 음영이 예측된 개인별 3D 신체 모델에 적용될 수 있다. 일반 텍스처는 델타가 임계값을 초과할 때 적용될 수 있는 일반 의복을 포함할 수 있다. 일반 음영은 다양한 체지방 또는 근육량 측정값에서 근육 정의를 설명하는 데 도움이 되도록 다양한 신체 유형에 적용되는 음영일 수 있다.
제1 예측 개인별 3D 신체 모델을 생성한 후, 2316에서와 같이, 예측 개인별 3D 신체 모델이 생성될 동안 추가의 예측 비-개인별 3D 신체 파라미터가 남아 있는지 여부에 대한 결정이 이루어진다. 예측 비-개인별 3D 신체 파라미터가 남아 있지 않으면, 예시적인 프로세스(2300)는 2318에서와 같이 완료된다. 그러나, 예측된 개인별 3D 신체 모델이 생성될 동안 추가의 예측 비-개인별 3D 신체 파라미터가 있는 경우, 예시적인 프로세스(2300)는 2320에서와 같이, 다음 예측된 비-개인별 3D 신체 파라미터와, 인접한 예측된 비-개인별 3D 신체 파라미터 사이에서 다음 델타를 결정한다. 인접한 예측된 비-개인별 3D 신체 파라미터는 예측된 비-개인별 3D 신체 파라미터의 임의의 세트일 수 있다. 예를 들어, 제1 예측된 비-개인별 3D 신체 파라미터가 20% 체지방을 갖는 신체에 대응하는 경우, 예측된 비-개인별 신체 파라미터의 인접 세트는 15% 체지방의 신체에 대응하는 다음 세트일 수 있다.
이제 도 23b를 참조하면, 다음 델타는 2324에서와 같이 예측된 개인별 3D 신체 파라미터에 적용되어 다음 예측 개인별 3D 신체 파라미터를 생성한다. 위에서와 같이, 2326에서처럼, 다음 예측 개인별 3D 신체 파라미터를 이용하여, 다음 예측 개인별 3D 신체 모델을 생성할 수 있다.
2328에서와 같이, 다음 예측 개인별 3D 신체 파라미터와 개인별 3D 신체 파라미터 사이의 차이가 또한 결정될 수 있고, 2330에서와 같이, 그 차이가 임계값을 초과하는지에 대한 결정이 이루어질 수 있다. 2330 및 2310에서 논의되는 임계 값은 동일하거나 다른 임계값일 수 있다. 예를 들어, 개인별 3D 신체 모델과 예측된 개인별 3D 신체 모델 간의 차이가 10%를 초과하지 않는다면, 개인별 3D 신체 모델의 텍스처 및 음영이 예측된 개인별 3D 신체 모델에 적용될 수 있다. 생성된 각각의 예측 개인별 3D 신체 모델에 대해, 예측된 개인별 3D 신체 모델과 개인별 3D 신체 모델 간의 차이를 결정함으로써, 동일한 임계값을 사용하여 개인별 3D 신체 모델로부터 텍스처 및/또는 음영을 변환하고 적용할지 또는 일반 텍스처 및/또는 음영만을 적용할지 여부를 결정할 수 있다. 차이가 임계값을 초과한다고 결정되면, 예시적인 프로세스(2300)는 블록(2314)으로 돌아가 계속된다. 이에 비해, 차이가 임계값을 초과하지 않는 것으로 결정되면, 예시적인 프로세스(2300)는 블록(2312)으로 돌아가 계속된다.
도 24는 본 개시물의 구현들에 따른, 모델 출현 프로세스(2400)에 의해 예측된 예이다. 예시적인 프로세스(2400)는 신체 또는 예측된 신체가 상이한 의복 또는 의상에서 어떻게 보일 수 있는지 시뮬레이션하기 위해 사용될 수 있다.
예시적인 프로세스(2400)는 2402에서와 같이 신체의 개인별 3D 신체 모델 또는 예측된 개인별 3D 신체 모델을 수신함으로써 시작된다. 그 다음, 예시적인 프로세스는 2404에서와 같이, 개인별 3D 신체 모델 또는 예측된 개인별 3D 신체 모델에 적용할 텍스처 및/또는 의복을 결정할 수 있다. 예를 들어, 사용자는 신체가 상이한 신체 측정치(가령, 높은/낮은 체지방)를 가질 때 웨딩 드레스, 수영복, 정장, 반바지 등에서 신체가 어떻게 보일지 보고 싶다고 지정할 수 있다.
그 다음, 결정된 의복/텍스처는 개인별 3D 신체 모델 또는 예측된 개인별 3D 신체 모델에 대응하는 개인별 3D 신체 파라미터 및/또는 예측된 개인별 3D 신체 파라미터에 대응하도록 조정되어, 2406에서와 같이, 의류/텍스처가 각각의 개인별 3D 신체 모델의 형상에 일치하도록 한다.
마지막으로, 텍스처/의류는 개인별 3D 신체 모델 및/또는 예측된 개인별 3D 신체 모델에 적용되고 사용자에게 제시되어, 2408에서와 같이, 사용자는 상이한 신체 측정치의 신체의 의류/텍스처를 볼 수 있다. 일부 구현에서, 적용된 의복/텍스처를 갖는 개인별 3D 신체 모델 및 적용된 의복/텍스처를 갖는 하나 이상의 예측된 개인별 3D 신체 모델이, 위에서 논의된 바와 같이 통합될 수 있고, 의복/텍스처를 착용한 각각의 상이한 신체 측정치의 신체를 사용자로 하여금 볼 수 있게 하는 3D 신체 모델 조정기가 생성될 수 있다.
도 25는 본 개시내용의 구현들에 따른, 휴대용 장치(2530) 및 원격 컴퓨팅 리소스들(2503)의 예시적인 구성요소들의 블록도이다. 일부 구현에서, 휴대용 장치(2530)는 도 9의 휴대용 장치(930)에 대응할 수 있고, 컴퓨팅 리소스(2503) 또는 3D 신체 모델 시스템(2501)은 도 9의 체성분 시스템(910)에 대응할 수 있다.
예시된 바와 같이, 휴대용 장치는 태블릿, 휴대폰, 랩탑, 웨어러블 등과 같은 임의의 휴대용 장치(2530)일 수 있다. 휴대용 장치(2530)의 이미징 요소(2520)는 사용자의 신체에 관한 정보나 데이터를 촬영하거나 기록하는 데 사용될 수 있는 또는 다른 용도인, 임의의 형태의 광학 기록 센서(2522) 또는 장치를 포함할 수 있다. 도 25에 도시된 바와 같이, 휴대용 장치(2530)는 네트워크(2502)에 연결되고, 하나 이상의 메모리(2524) 또는 저장 구성요소(예를 들어, 데이터베이스 또는 다른 데이터 저장소), 하나 이상의 프로세서(2526), 가속도계(2528) 또는 다른 위치/배향/각도 결정 구성요소, 출력부, 가령, 디스플레이(2530), 스피커, 햅틱 출력, 등과, 여기서 논의되는 2D 신체 이미지와 같은 이미징 데이터를 캡처, 분석 및/또는 저장 및/또는 전송하기 위해, 및/또는, 개인별 3D 신체 파라미터 및/또는 신체 측정치를 수신하기 위해, 그리고 개인별 3D 신체 모델을 렌더링 및 제시하기 위해, 요구될 수 있는 기타의 구성요소를 포함한다. 예를 들어, 이미징 요소(2520)는 하나 이상의 정지 이미지 또는 동화상 이미지를 캡처할 수 있다. 휴대용 장치(2530)는 또한 디지털 데이터의 송수신을 통해 네트워크(2502)에 연결하거나 이와 통신할 수 있다.
휴대용 장치(2530)는 사용자의 신체를 나타내는 2D 신체 이미지를 생성하기 위해 임의의 위치 및 임의의 환경에서 사용될 수 있다. 일부 구현에서, 휴대용 장치는 고정되어 있고 대략 수직(수직의 대략 10도 이내)이도록 위치될 수 있고 사용자는 상이한 방향으로 휴대용 장치의 이미징 요소(2520)의 시야 내에 자신의 신체를 위치시킬 수 있어서, 휴대용 장치의 이미징 요소(2520)가, 2D 신체 방향 이미지로도 지칭되는, 상이한 방향으로부터의 사용자의 신체의 표현을 포함하는 2D 신체 이미지를 생성할 수 있게 된다.
휴대용 장치(2530)는 또한 휴대용 장치의 프로세서로 하여금 다양한 기능 또는 작업을 수행할 수 있게 하는 휴대용 장치의 하나 이상의 프로세서(2526)에 의해 실행될 수 있는 메모리에 저장된 프레젠테이션 애플리케이션(2525-1)과 같은 하나 이상의 애플리케이션(2525)을 포함할 수 있다. 예를 들어, 실행될 때, 애플리케이션(2525)은 휴대용 장치의 배치, 휴대용 장치의 이미징 요소(2520)의 시야 내에서 사용자의 신체의 포지셔닝, 신체의 포즈, 신체의 방향, 등에 관한 명령을 사용자에게 제공할 수 있다. 유사하게, 일부 구현들에서, 프레젠테이션 애플리케이션(2525-1)은 설명된 구현들에 따라 2D 신체 이미지들로부터 생성된 개인별 3D 신체 모델을 사용자에게 제시할 수 있고, 사용자로 하여금 개인별 3D 신체 모델과 상호작용하도록 할 수 있다. 예를 들어, 사용자는 개인별 3D 신체 모델을 회전시켜서 상이한 각도의 개인별 3D 신체 모델을 볼 수 있고, 개인별 3D 신체 모델의 치수로부터 사용자의 신체에 대한 대략 정확한 측정치를 얻을 수 있으며, 체지방, 체질량, 볼륨, 등과 같은 신체 측정치를 볼 수 있다.
애플리케이션은 또한 휴대용 장치(2530)의 메모리(2524)에 유지되고 휴대용 장치(2530)의 하나 이상의 프로세서(2526)에 의해 실행되는 신체 지점 위치 신경망(2550-1), 포즈 결정 신경망(2550-2), 2D 신체 방향 이미지 선택 신경망(2550-3), 체지방 측정치 결정 신경망(2550-4) 및/또는 예측된 개인별 3D 신체 모델 신경망(2550-5)과 같은 하나 이상의 신경망을 포함하거나 이와 통신할 수 있다. 위에서 논의된 바와 같이, 신체 지점 위치 신경망은 이미징 요소(2520)로부터 하나 이상의 2D 신체 이미지를 수신하고, 이러한 이미지를 처리하여, 수신된 각각의 이미지에 대해 예측 신체 지점 위치를 나타내는 히트 맵(heat map)을 생성할 수 있다. 포즈 결정 신경망(2550-2)은 신체 지점 위치 신경망(2550-1)에 의해 생성된 히트 맵을 입력으로 수신하고, 2D 신체 이미지에 표현된 신체가 정의된 포즈(가령, A 포즈)에 있는지 여부를 결정하기 위해 히트 맵을 추가로 처리할 수 있다. 2D 신체 방향 이미지 선택 신경망(2550-3)은 또한 히트 맵 및/또는 2D 신체 이미지를 수신하고, 그 정보를 추가로 처리하여, 복수의 2D 신체 이미지에 대한 신체 방향 신뢰 점수를 결정하고, 2D 신체 이미지를 결정된 신체 방향에 대한 2D 신체 방향 이미지로 선택할 수 있다. 체지방 측정 결정 신경망(1550-4)은 하나 이상의 2D 신체 이미지 및/또는 하나 이상의 정규화된 신체 이미지를 수신하고, 이러한 이미지를 처리하여 이미지에 표현된 신체의 체지방을 나타내는 체지방 측정값 표현을 결정할 수 있다. 예측된 개인별 3D 신체 모델 신경망(2550-5)은 일반적으로 목표로 하는 신체 측정치 및/또는 활동 수준에 대한 하나 이상의 조정을 수신하고, 해당 목표에 대응하는 예측된 개인별 3D 신체 파라미터를 생성하고/하거나, 목표에 기초하여 예측 신체 외양을 나타내는 목표에 대응하는 예측 개인별 3D 신체 모델을 생성할 수 있다.
인공 신경망과 같은 기계 학습 도구는 명백히 관련 없는 데이터 세트의 각 요소 간의 관계를 식별하는 데 사용되었다. CNN과 같은 인공 신경망은 실험 지식을 집합적으로 학습 및 저장할 수 있는 개별 단위로 구성된 병렬 분산 컴퓨팅 프로세서이며 이러한 지식을 하나 이상의 응용 프로그램에서 사용할 수 있도록 한다. 이러한 네트워크는 하나 이상의 유연한 학습 프로세스를 통해 일 환경으로부터 지식을 획득하고, 이러한 뉴런 간의 각 연결의 강도를 결정하며, 획득한 지식을 저장할 때 이러한 강도를 활용하여, 인간 두뇌의 많은 뉴런의 비선형 정신적 성능을 다계층으로 시뮬레이션할 수 있다. 인간의 두뇌와 마찬가지로 인공 신경망은 입력 계층, 출력 계층 및 하나 이상의 중간 은닉 계층을 포함하여 계층 수에 관계없이 임의의 뉴런 수를 사용할 수 있다. 다재다능함과 인간 두뇌의 고유한 모방 능력의 관점에서, 인공 신경망뿐만 아니라 최근접 이웃 방법 또는 분석, 인수분해 방법 또는 기술, K-평균 클러스터링 분석 또는 기술, 유사성 측정, 가령, 로그 가능성 유사성 또는 코사인 유사성, 잠재 디리클레 할당 또는 기타 주제 모델, 또는 잠재 의미 분석을 포함한, 기계 학습 도구가 이미지 처리 애플리케이션에서 활용되고 있다.
인공 신경망은 때때로 시냅스 가중치라고 하는 하나 이상의 뉴런 간의 연결 강도를 조정함으로써 입력된 데이터를 원하는 출력에 매핑하도록 훈련될 수 있다. 인공 신경망은 입력 계층, 출력 계층 및 중간에 있는 여러 개의 은닉 계층을 포함하여 여러 계층을 가질 수 있다. 신경망 내 일 계층의 뉴런 각각은 하나 이상의 입력을 수신하고, 다양한 강도 또는 시냅스 가중치에 대응하는 파라미터를 사용하여 활성화 또는 에너지 함수에 따라 하나 이상의 출력을 생성할 수 있다. 마찬가지로, 신경망 내의 각 뉴런은 서로 다른 활성화 또는 에너지 함수를 갖는 것으로 이해될 수 있다. 이와 관련하여 이러한 네트워크는 이종 신경망이라고 부를 수 있다. 일부 신경망에서, 활성화 또는 에너지 함수 중 적어도 하나는 시그모이드 함수의 형태를 취할 수 있으며, 여기서 출력은 0 내지 1의 범위를 가질 수 있다. 다른 신경망에서, 활성화 또는 에너지 함수 중 적어도 하나는 쌍곡선 탄젠트 함수의 형태를 취할 수 있으며, 여기서 출력은 음수 1 내지 양수 1 또는 -1 ~ +1의 범위를 가질 수 있다. 따라서 항등 함수에 따른 신경망의 훈련은 신경망의 다양한 계층에 있는 뉴런 사이의 연결 강도 또는 가중치를 재정의하거나 조정하여, 현실적 최대 한도까지 입에 상관되거나 가장 가깝게 근사하는 출력을 제공할 수 있다.
인공 신경망은 일반적으로 피드포워드 신경망 또는 순환 신경망으로 특징지어질 수 있으며, 완전히 또는 부분적으로 연결될 수 있다. CNN과 같은 피드포워드 신경망에서, 정보는 구체적으로 입력 계층에서 출력 계층으로 한 방향으로 흐르고, 반면 순환 신경망에서는 적어도 하나의 피드백 루프가 훈련 용도로 실제 출력과 목표 출력 사이의 차이에 관한 정보를 반환한다. 또한, 완전히 연결된 신경망 아키텍처에서, 계층 중 하나의 각 뉴런은 후속 계층의 모든 뉴런에 연결된다. 대조적으로, 희박하게 연결된 신경망 아키텍처에서, 각 뉴런의 활성화 수는 가령, 희소성 파라미터에 의해, 제한된다.
더욱이, 신경망의 훈련은 일반적으로 감시 또는 비감시로 특징지어진다. 감시 학습에서, 훈련 세트는 적어도 하나의 입력과, 입력에 대한 하나 이상의 목표 출력을 포함한다. 따라서 신경망은 허용 가능한 오류 수준 내에서 목표 출력을 식별하도록 훈련된다. 일반적으로 희소 자동 인코더에 의해 수행되는 것과 같은 항등 함수의 비감시 학습에서, 훈련 세트의 목표 출력은 입력이고 신경망은 입력을 이와 같이 인식하도록 훈련된다. 희소 자동 인코더는 역전파를 사용하여 자동 인코더가 입력에 대한 항등 함수의 근사치를 인식하도록 훈련시키거나 입력을 근사화하도록 한다. 이러한 역전파 알고리즘은 본 개시내용의 시스템 및 방법에 따라 가장 가파른 하강법(methods of steepest descent), 공액 기울기 방법, 또는 기타 유사한 방법 또는 기술에 따라 동작할 수 있다. 관련 기술 분야의 통상의 기술자는 임의의 알고리즘 또는 방법을 사용하여 신경망의 하나 이상의 계층을 훈련할 수 있음을 인식할 것이다. 마찬가지로, 이러한 네트워크의 출력에서 오류를 결정하고 최소화하기 위해 임의의 알고리즘 또는 방법이 사용될 수 있다. 추가로, 관련 기술 분야의 통상의 기술자는 신경망의 다양한 계층이 희소 자동인코더에서와 같이 집합적으로 또는 개별적으로 훈련될 수 있으므로, 신경망의 하나의 은닉 계층으로부터의 각 출력이 후속 은닉층에 대한 입력으로 작용하게 된다.
신경망이 훈련 세트의 입력의 지배적 특성을 허용 가능한 허용 오차 내에서 인식하도록 훈련되면, 예를 들어 이미지를 레이블, 카테고리, 클러스터 또는 유사 레이블과 연관시키도록 훈련되면, 이미지 형태의 다중 입력, 특징, 이미지에 대응하는 알려진 특성 등의 형태의 일 입력 및/또는 다중 입력이 훈련된 네트워크에 제공될 수 있고, 그로부터 출력이 생성될 수 있다. 예를 들어, 위에서 논의된 신경망 중 하나는 2D 신체 방향 이미지를 입력으로 수신할 수 있다. 훈련된 신경망은 신체가 특정 신체 방향일 확률을 출력으로 생성할 수 있다. 다른 예로서, 위에서 논의된 신경망 중 하나는 2D 신체 방향 이미지를 입력으로 수신하고, 히트 맵의 각 x, y 좌표에 대해, 좌표가 2D 신체 방향 이미지에 표현되는 신체의 신체 지점에 대응할 확률을 나타내는 히트 맵을 출력으로 생성할 수 있다.
도 25로 돌아가서, 애플리케이션(2525)은 2D 신체 방향 이미지 선택 신경망(2550-3)에 의해 2D 신체 방향 이미지가 선택되면, 네트워크(2502)를 통해 3D 신체 모델 시스템(2501)에 의한 처리를 위해 선택된 2D 신체 방향 이미지를 컴퓨팅 리소스(2503)로 보낼 수 있다.
일반적으로, 3D 신체 모델 시스템(2501)은 컴퓨팅 리소스(2503)를 포함한다. 컴퓨팅 리소스(2503)는 휴대용 장치(2530)와 별개이다. 마찬가지로, 컴퓨팅 리소스(2503)는 휴대용 장치(2530) 및/또는 다른 외부 컴퓨팅 리소스, 데이터 저장소, 등과 네트워크(2502)를 통해 통신하도록 구성될 수 있다.
예시된 바와 같이, 컴퓨팅 리소스(2503)는 휴대용 장치(2530)로부터 원격에 있을 수 있고 하나 이상의 서버(2503(1), 2503(2), …, 2503(P))로서 구현될 수 있으며, 일부 경우에, 인트라넷(가령, 근거리 통신망), 인터넷, 등과 같은 네트워크(2502)를 통해, 3D 신체 모델 시스템(2501) 및/또는 휴대용 장치의 구성요소/장치에 의해 유지되고 액세스 가능한 프로세서, 스토리지, 소프트웨어, 데이터 액세스 등의 컴퓨팅 기반구조로 구현된 네트워크 액세스 가능한 컴퓨팅 플랫폼의 일부를 형성할 수 있다. 하나 이상의 신경망을 포함할 수 있는 컴퓨팅 리소스(2503)는 사용자의 신체를 나타내는 하나 이상의 2D 신체 방향 이미지를 처리할 수 있고, 그로부터 개인별 3D 신체 파라미터 및/또는 신체 측정치를 생성할 수 있으며, 그 개인별 3D 신체 파라미터 및/또는 신체 측정치를 휴대용 장치(2530)에 전송할 수 있다. 다른 구현에서, 3D 신체 모델 시스템(2501)의 일부 또는 전부가 예시되는 바와 같이 휴대용 장치 상에 포함되거나 채택될 수 있다.
컴퓨팅 리소스(들)(2503)는 서비스를 제공하는 시스템의 물리적 위치 및 구성에 대한 최종 사용자 지식을 요구하지 않는다. 이러한 원격 컴퓨팅 리소스(2503)와 관련된 일반적인 표현에는 "주문형 컴퓨팅", "서비스형 소프트웨어(SaaS)", "플랫폼 컴퓨팅", "네트워크 액세스 가능한 플랫폼", "클라우드 서비스", "데이터 센터", 등이 포함된다. 서버(2503(1)-(P)) 각각은 3D 신체 모델 시스템(2501)을 저장하거나 이에 액세스할 수 있는 프로세서(2517) 및 메모리(2519)를 포함한다.
네트워크(2502)는 임의의 유선 네트워크, 무선 네트워크, 또는 이들의 조합일 수 있고 인터넷 전체 또는 일부를 포함할 수 있다. 또한, 네트워크(2502)는 개인 영역 네트워크, 근거리 네트워크, 광역 네트워크, 케이블 네트워크, 위성 네트워크, 셀룰러 전화 네트워크, 또는 이들의 조합일 수 있다. 네트워크(2502)는 또한 인터넷과 같은 다양한 별개의 당사자에 의해 운영될 수 있는, 연결된 네트워크들의 공개적으로 액세스 가능한 네트워크일 수 있다. 일부 구현들에서, 네트워크(2502)는 기업 또는 대학 인트라넷과 같은 사설 또는 반-사설 네트워크일 수 있다. 네트워크(2502)는 GSM(Global System for Mobile Communications) 네트워크, CDMA(Code Division Multiple Access) 네트워크, LTE(Long Term Evolution) 네트워크, 또는 일부 다른 유형의 무선 네트워크와 같은 하나 이상의 무선 네트워크를 포함할 수 있다. 인터넷 또는 전술한 다른 유형의 통신 네트워크를 통해 통신하기 위한 프로토콜 및 구성요소는 컴퓨터 통신 분야의 숙련자에게 잘 알려져 있으므로 여기에서 더 자세히 설명할 필요가 없다.
여기에 설명된 컴퓨터, 서버, 장치 등은 필요한 전자 장치, 소프트웨어, 메모리, 스토리지, 데이터베이스, 펌웨어, 논리/상태 기계, 마이크로프로세서, 통신 링크, 디스플레이 또는 기타 시각적 또는 오디오 사용자 인터페이스, 인쇄 장치, 및/또는 여기에 설명된 임의의 기능 또는 서비스를 제공하고/하거나 여기에 설명된 결과를 달성하기 위한 임의의 다른 입력/출력 인터페이스를 가진다. 또한, 관련 기술 분야의 통상의 기술자는 이러한 컴퓨터, 서버, 장치 등의 사용자가 키보드, 키패드, 마우스, 스타일러스, 터치 스크린 또는 기타 장치(도시되지 않음) 또는 방법을 동작시켜서, 컴퓨터, 서버, 장치 등과 상호작용할 수 있고, 또는, 항목, 개인별 3D 신체 모델, 신체 측정치, 및/또는 본 개시의 그외 다른 양태를 "선택"할 수 있다는 것을 인지할 것이다.
3D 신체 모델 시스템(2501), 애플리케이션(2525), 및/또는 휴대용 장치(2530)는 웹 지원 또는 인터넷 애플리케이션 또는 특징, 또는 이메일 또는 기타 메시징 기술을 포함하는 기타 클라이언트-서버 애플리케이션 또는 특징을 사용하여 네트워크(2502)에 연결할 수 있고, 또는 단문 또는 멀티미디어 메시징 서비스(SMS 또는 MMS) 텍스트 메시지를 통해 서로 통신할 수 있다. 예를 들어, 서버(2503-1, 2503-2. . . 2503-P)는 네트워크(2502)를 통해 실시간으로 또는 거의 실시간으로, 또는 하나 이상의 오프라인 프로세스로, 3D 신체 모델 시스템(2501)으로부터 프로세서(2526) 또는 휴대용 장치(2530)의 다른 구성 요소 또는 그외 다른 컴퓨터 장치로 동기 또는 비동기 메시지 형태로 정보 또는 데이터를 전송하도록 적응될 수 있다. 관련 기술 분야의 통상의 기술자는 3D 신체 모델 시스템(2501)이 셋톱 박스, 개인 정보 단말기, 디지털 미디어 플레이어, 웹 패드, 랩톱 컴퓨터, 데스크톱 컴퓨터, 전자 책 리더, 휴대폰, 등을 포함하지만 이에 국한되지 않는, 네트워크를 통해 통신할 수 있는 다수의 컴퓨팅 장치들 중 임의의 장치를 동작시킬 수 있다. 이러한 장치들 사이의 통신을 제공하기 위한 프로토콜 및 구성요소는 컴퓨터 통신 분야의 숙련자에게 잘 알려져 있으며 여기에서 더 자세히 설명할 필요가 없다.
본 명세서에 기술된 데이터 및/또는 컴퓨터 실행가능 명령어, 프로그램, 펌웨어, 소프트웨어 등(본 명세서에서 "컴퓨터 실행가능" 구성요소라고도 함)은, 프로세서(가령, 중앙 처리 유닛, 또는 "CPU")에 의해 실행될 때, 여기서 설명되는 기능, 서비스, 및/또는 방법의 전부 또는 일부를 프로세서로 하여금 수행하게 하는 일련의 명령어들을 가진, 애플리케이션(2525), 3D 신체 모델 시스템(2501), 및/또는 휴대용 장치(2530)에 의해 사용되는 컴퓨터 또는 컴퓨터 구성요소, 가령, 서버(2503-1, 2503-2. . . 2503-P), 프로세서(2526), 또는 임의의 다른 컴퓨터 또는 제어 시스템 내에 위치하고 이에 의해 액세스가능한 컴퓨터 판독가능 매체 상에 저장될 수 있다. 이러한 컴퓨터 실행 가능 명령어, 프로그램, 소프트웨어 등은 플로피 드라이브, CD-ROM 드라이브, DVD-ROM 드라이브, 네트워크 인터페이스, 등과 같은 컴퓨터 판독 가능 매체와 관련된 구동 메커니즘을 사용하여 또는 외부 연결을 통해 하나 이상의 컴퓨터의 메모리에 로드될 수 있다.
본 개시내용의 시스템 및 방법의 일부 구현은 또한 여기서 설명되는 프로세스 또는 방법을 수행하기 위해 컴퓨터(또는 다른 전자 장치)를 프로그래밍하는데 사용될 수 있는 명령어(압축 또는 비압축 형태)가 저장된 비일시적 기계 판독가능 저장 매체를 포함하는 컴퓨터 실행가능 프로그램 제품으로서 제공될 수 있다. 본 개시내용의 기계 판독가능 저장 매체는 하드 드라이브, 플로피 디스켓, 광 디스크, CD-ROM, DVD, ROM, RAM, 소거 가능한 프로그램 가능 ROM("EPROM"), 전기적으로 소거 가능한 프로그램 가능 ROM("EEPROM"), 플래시 메모리, 자기 또는 광학 카드, 솔리드 스테이트 메모리 장치, 또는 전자 명령을 저장하는 데 적합할 수 있는 기타 유형의 미디어/기계 판독 가능 매체를 포함할 수 있지만 이에 제한되지 않는다. 또한, 구현은 일시적인 기계 판독 가능 신호(압축 또는 비압축 형태)를 포함하는 컴퓨터 실행 가능 프로그램 제품으로서 제공될 수도 있다. 반송파를 사용하여 변조되었는지 여부에 관계없이 기계 판독 가능 신호의 예는 컴퓨터 프로그램을 호스팅하거나 실행하는 컴퓨터 시스템 또는 기계가 액세스하도록 구성될 수 있는 신호를 포함할 수 있으나 이에 제한되지 않으며, 또는, 인터넷 또는 다른 네트워크를 통해 다운로드될 수 있는 신호를 포함한다.
여기에 공개된 구현은 신체의 체지방 측정값을 결정하는 것, 신체에 대응하는 개인별 3차원("3D") 신체 파라미터를 결정하는 것, 신체의 목표 체지방 측정값을 나타내는 체지방 측정값을 수신하는 것, 개인별 3D 신체 파라미터 및 목표 체지방 측정값에 적어도 부분적으로 기초하여, 목표 체지방 측정값에서의 신체의 예측된 외관을 나타내는 예측된 개인별 3D 신체 파라미터를 결정하는 것; 예측된 개인별 3D 신체 파라미터에 적어도 부분적으로 기초하여, 신체의 예측 개인별 3D 신체 모델을 생성하는 것 - 예측 개인별 3D 신체 모델은 목표 체지방 측정값에서의 신체의 예측된 외양을 나타냄 -, 그리고, 예측된 개인별 3D 신체 모델을 디스플레이에 제시하는 것 중 하나 이상을 포함하는 컴퓨터-구현 방법을 포함할 수 있다.
선택적으로, 컴퓨터 구현 방법은 개인별 3D 신체 모델과 예측된 개인별 3D 신체 모델 사이의 신체의 예측된 외양을 나타내는 복수의 개인별 3D 신체 모델을 포함하는 3D 신체 모델 조정기를 생성하기 위해, 적어도 개인별 3D 신체 모델 및 예측된 개인별 3D 신체 모델을 통합하는 단계를 더 포함할 수 있다. 선택적으로, 컴퓨터 구현 방법은 신체에 대응하는 비-개인별 3D 신체 파라미터를 결정하는 단계, 목표 체지방 측정값에 적어도 부분적으로 기초하여, 비-개인별 예측된 3D 신체 파라미터를 결정하는 단계, 예측된 비-개인별 3D 신체 파라미터와 비-개인별 3D 신체 파라미터 사이의 델타를 결정하는 단계, 및 델타를 개인별 3D 신체 파라미터에 적용하여 예측된 개인별 3D 신체 파라미터를 생성하는 단계 중 하나 이상을 더 포함할 수 있다. 선택적으로, 예측된 개인별 3D 신체 모델을 생성하는 것은 델타가 임계값을 초과하지 않는다고 결정하는 단계, 및 델타가 임계값을 초과하지 않는다는 결정에 응답하여, 예측된 개인별 3D 신체 파라미터에 적어도 부분적으로 기초하여, 개인별 3D 신체 모델의 텍스처 또는 음영 중 적어도 하나를 변환하여, 변환된 텍스처 또는 변환된 음영을 생성하는 단계, 및 예측된 개인별 3D 신체 모델에, 변환된 텍스처 또는 변환된 음영 중 적어도 하나를 적용하는 단계 중 하나 이상을 더 포함할 수 있다.
본 명세서에 개시된 구현은 프로그램 명령을 저장하는 메모리 및 하나 이상의 프로세서를 포함하는 컴퓨팅 시스템을 포함할 수 있다. 프로그램 명령은, 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서로 하여금 신체의 신체 측정치에 대한 적어도 하나의 목표 신체 측정값을 결정하게 하고, 목표 신체 측정값에 적어도 부분적으로 기초하여 변경된 신체 측정값을 갖는 신체의 예측된 외양에 대응하는 예측된 개인별 3D 신체 파라미터를 결정하게 하며, 예측된 개인별 3D 신체 파라미터에 적어도 부분적으로 기초하여, 목표 신체 측정값을 갖는 신체의 예측된 외양을 나타내는 예측된 개인별 3D 신체 모델을 생성하게 하고, 예측된 개인별 3D 신체 모델의 적어도 일부를 제시하게 할 수 있다.
선택적으로, 프로그램 명령어는 하나 이상의 프로세서에 의해 실행될 때, 또한 하나 이상의 프로세서로 하여금, 적어도 신체의 외양에 대응하는 개인별 3D 신체 파라미터를 결정하고, 적어도 하나의 변경된 신체 측정값에 대응하는 예측된 비-개인별 3D 신체 파라미터를 결정하며, 예측된 비-개인별 3D 신체 파라미터와 비-개인별 3D 신체 파라미터 사이의 델타를 결정하고, 그리고 예측된 개인별 3D 신체 파라미터를 생성하기 위해 개인별 3D 신체 파라미터에 델타를 적용할 수 있다. 선택적으로, 프로그램 명령은 하나 이상의 프로세서에 의해 실행될 때 하나 이상의 프로세서로 하여금 또한, 적어도 델타가 임계값을 초과한다고 결정하게 하고, 델타가 임계값을 초과한다는 결정에 응답하여, 예측된 개인별 3D 신체 모델에 대한 일반 음영 또는 일반 텍스처를 적용하게 할 수 있다. 선택적으로, 상기 프로그램 명령은, 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서로 하여금 또한, 델타가 임계값을 초과하지 않음을 결정하게 하고, 델타가 임계값을 초과하지 않는다는 결정에 응답하여, 신체의 외양을 나타내는 개인별 3D 신체 모델의 음영 또는 텍스처 중 적어도 하나를 변환하여, 예측된 개인별 3D 신체 모델에 대응하는 변환된 텍스처 또는 변환된 음영을 생성하게 하며, 변환된 텍스처 또는 변환된 음영 중 적어도 하나를 예측된 개인별 3D 신체 모델에 적용하게 할 수 있다. 선택적으로, 목표 신체 측정값은 신체의 체중, 신체의 체지방 측정값 또는 신체의 근육량 중 적어도 하나일 수 있다. 선택적으로, 프로그램 명령은 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서로 하여금, 개인별 3D 신체 파라미터에 적어도 부분적으로 기초하여 신체의 개인별 3D 신체 모델을 적어도 생성하게 할 수 있으며, 여기서 개인별 3D 신체 모델은 예측된 개인별 3D 신체 모델과 다르다. 선택적으로, 프로그램 명령은 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서로 하여금 또한, 적어도 제2 예측 개인별 3D 신체 모델을 생성하게 할 수 있고 - 여기서 제2 예측 개인별 3D 신체 모델은 목표 신체 측정값과 현재 신체 측정값 사이의 제2 신체 측정값을 갖는 신체를 나타냄; 신체를 나타내는 개인별 3D 신체 모델, 예측된 개인별 3D 신체 모델, 또는 제2 예측된 개인별 3D 신체 모델 중 적어도 2개를 통합하여, 현재 신체 측정값과 변경된 신체 측정값 사이에 서로 다른 신체 측정값을 가진 신체의 3D 표현을 포함하는 3D 신체 모델 조정기를 생성하며; 사용자가 3D 신체 모델 조정기와 상호 작용할 수 있도록 그리고 서로 다른 신체 측정값을 가진 신체의 서로 다른 3D 표현을 볼 수 있도록 개인별 3D 신체 모델 조정기를 제시하게 할 수 있다. 선택적으로, 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서로 하여금 개인별 3D 신체 모델, 예측된 개인별 3D 신체 모델, 또는 제2 예측된 개인별 3D 신체 모델 중 적어도 2개를 통합하게 하는 프로그램 명령은 하나 이상의 프로세서로 하여금 또한, 개인별 3D 신체 모델, 예측된 개인별 3D 신체 모델, 또는 제2 예측된 개인별 3D 신체 모델 중 적어도 2개의 개인별 3D 신체 모델을 적어도 평균화하는 명령을 더 포함할 수 있다. 선택적으로, 하나 이상의 프로세서에 의해 실행될 때 프로그램 명령은 하나 이상의 프로세서로 하여금 또한, 신체에 대한 복수의 과거 이력의 개인별 3D 신체 파라미터가 알려져 있음을 결정하게 하고, 신체에 대해 그리고 복수의 과거 이력의 개인별 3D 신체 파라미터에 적어도 부분적으로 기초하여, 신체 측정치 변화로부터 나타나는 개인별 3D 신체 파라미터의 변화를 결정하게 하며, 그리고, 이 변화에 적어도 부분적으로 기초하여 신경망을 선택하게 하고, 여기서, 신경망은 예측된 개인별 3D 신체 파라미터를 생성하는데 사용된다. 선택적으로, 하나 이상의 프로세서에 의해 실행될 때 프로그램 명령은 하나 이상의 프로세서로 하여금 또한, 적어도 신체에 대한 적어도 하나의 활동 유형의 변화를 나타내는 활동 목표를 수신하게 하고, 이러한 활동 유형에 적어도 부분적으로 기초하여, 신경망을 선택할 수 있게 하며, 신경망은 예측된 개인별 3D 신체 파리미터를 결정한다. 선택적으로, 활동 유형은 유산소 활동 또는 웨이트 리프트 활동 중 적어도 하나일 수 있고, 신경망은 유산소 활동 또는 웨이트 리프트 활동에 대응하는 그리고 유산소 활동 또는 웨이트 리프트 활동으로 인한 신체 모델 변화를 나타내는 훈련 데이터에 기초하여 선택될 수 있다.
여기에 개시된 구현은 신체에 대한 개인별 3D 신체 파라미터를 결정하는 것, 개인별 3D 신체 파라미터에 적어도 부분적으로 기초하여, 신체의 외양을 나타내는 개인별 3D 신체 모델을 생성하는 것, 목표 신체 측정값을 수신하는 것 - 목표 신체 측정값은 현재 신체 측정값의 값과 다른 값임 - , 하나 이상의 신경망을 사용하여, 목표 신체 측정값을 가진 신체에 대해 예측된 개인별 3D 신체 파라미터를 결정하는 것, 예측된 개인별 3D 신체 파라미터에 적어도 부분적으로 기초하여, 목표 신체 측정값을 갖는 신체의 예측된 외양을 나타내는 예측 개인별 3D 신체 모델을 생성하는 것, 그리고 예측된 개인별 3D 신체 모델을 제시하는 것 중 하나 이상을 포함하는 방법을 포함할 수 있다.
선택적으로, 방법은 하나 이상의 신경망을 사용하여 예측된 비-개인별 3D 신체 파라미터를 결정하는 단계, 비-개인별 예측된 3D 신체 파라미터와 비-개인별 3D 신체 파라미터 사이의 델타를 결정하는 단계, 및 예측된 개인별 3D 신체 파라미터를 생성하기 위해 개인별 3D 신체 파라미터에 델타를 적용하는 단계 중 하나 이상을 더 포함할 수 있다.
선택적으로, 방법은 신체에 대한 과거 이력의 개인별 3D 신체 파라미터를 결정하는 단계 - 상기 과거 이력의 개인별 3D 신체 파라미터는 이전 시점에서 신체의 실제 개인별 3D 신체 파라미터를 나타냄 - , 과거 이력의 개인별 3D 신체 파라미터에 적어도 부분적으로 기초하여, 신체의 실제 신체 파라미터 변화를 나타내는 개인별 3D 신체 파라미터 변화를 결정하는 단계, 그리고 과거 이력의 개인별 3D 신체 파라미터에 적어도 부분적으로 기초하여 신경망을 변경하는 단계 중 하나 이상을 더 포함할 수 있다. 선택적으로, 방법은 예측된 개인별 3D 신체 모델에 텍스처 또는 음영 중 적어도 하나를 적용하는 단계를 더 포함할 수 있으며, 여기서 텍스처 또는 음영 중 적어도 하나는 신체의 개인별 된 3D 신체 모델의 텍스처 또는 음영에 적어도 부분적으로 기초한다. 선택적으로, 방법은 개인별 3D 신체 모델과 예측된 개인별 3D 신체 모델 간의 델타가 임계값을 초과하지 않는다고 결정하는 단계를 더 포함할 수 있으며, 여기서 텍스처 또는 음영 중 적어도 하나를 적용하는 것은 델타가는 임계값을 초과하지 않는다는 결정에 응답하여 이루어진다.
본 개시내용이 본 개시내용의 시스템 및 방법을 구현하기 위한 예시적인 기술, 구성요소 및/또는 프로세스를 사용하여 본원에 기술되었지만, 다른 기술, 구성요소 및/또는 프로세서 또는 본 명세서에 기술된 동일한 기능 및/또는 결과를 달성하기 위해 본 명세서에 기술된 기술, 구성요소 및/또는 프로세스의 기타 조합 및 시퀀스가 사용되거나 수행될 수 있으며, 이들은 본 개시의 범위 내에 포함된다.
추가적으로, 본 개시내용에 따르면, 기계 학습 도구(예를 들어, 인공 신경망 또는 기타 분류기)의 훈련 및 훈련된 기계 학습 도구를 사용하여 신체 포즈를 검출하고, 신체 지점 위치를 결정하고, 신체 방향을 결정하고, 및/또는 신체의 하나 이상의 2D 신체 이미지에 기초하여 신체의 개인별 3D 신체 모델을 생성하는 것이 본 명세서에 설명된 바와 같이 다수의 분산 컴퓨팅 장치 상에서 또는 단일 컴퓨팅 장치 상에서 이루어질 수 있다.
마찬가지로, 위의 논의가 주로 다중 2D 신체 방향 이미지로부터 생성되는 신체의 개인별 3D 신체 모델에 초점을 맞추고 있지만, 일부 구현에서 개인별 3D 신체 모델은 신체의 단일 2D 신체 방향 이미지에 기초하여 생성될 수 있다. 다른 구현에서, 둘 이상의 2D 방향 신체 이미지가 개시된 구현과 함께 사용될 수 있다. 마찬가지로, 정면 이미지와 같은 단일 2D 신체 방향 이미지를 사용하여 신체 측정값을 결정할 수 있다. 일반적으로 2D 신체 방향 이미지가 많을수록 개인별 3D 신체 모델의 최종 표현 및 치수가 더 정확할 수 있다.
또한, 위의 구현은 2D 신체 이미지로 표현된 인체의 개인별 3D 신체 모델을 생성하는 것과 관련하여 설명되었지만, 다른 구현에서는 개, 고양이 또는 기타 동물과 같은 비인간 신체가 해당 신체의 2D 이미지에 기초하여 3D로 모델링될 수 있다. 따라서, 개시된 구현에서 인체의 사용은 제한적인 것으로 간주되어서는 안 된다.
여기에 명시적으로 또는 묵시적으로 달리 명시되지 않는 한, 여기에 설명된 특정 구현과 관련하여 설명된 특징, 특성, 대안 또는 수정 중 임의의 것이 여기에 설명된 임의의 다른 구현과 함께 적용, 사용 또는 통합될 수 있음을 이해해야 한다. 본 개시내용의 도면 및 상세한 설명은 첨부된 청구범위에 의해 정의된 바와 같은 다양한 구현에 대한 모든 수정, 균등물 및 대안을 포함하도록 의도됨을 이해한다. 더욱이, 도 4 내지 7, 11, 12a, 12b, 15, 17 및 19 내지 24에 도시된 흐름도를 포함하지만 이에 제한되지 않는 본 명세서에 기재된 본 개시의 하나 이상의 방법 또는 프로세스와 관련하여, 그러한 방법 또는 프로세스가 제시된 순서는 청구된 발명에 대한 제한으로 해석되어서는 안되며, 여기에 설명된 임의의 수의 방법 또는 프로세스 단계 또는 상자들이 여기에 설명된 방법 또는 프로세스를 구현하기 위해 임의의 순서로 및/또는 병렬로 결합될 수 있다. 또한, 본 명세서의 도면은 축척에 맞춰 그려진 것이 아니다.
특히 "할 수 있는"(can), "할 수 있을듯"(could), "일 수 있었던"(might) 또는 "일 수 있는"(may)과 같은 조건부 언어는 달리 구체적으로 언급되지 않거나 사용된 문맥 내에서 달리 이해되지 않는 한 일반적으로 특정 구현이 특정 기능, 요소 및/또는 단계를 포함할 수 있거나 포함할 가능성이 있지만 의무화하거나 요구하지는 않는 허용 방식이다. 유사한 방식으로, "포함하다"(include), "포함하는"(including) 및 "포함하다"(includes)와 같은 용어는 일반적으로 "포함하지만 이에 제한되지 않는"을 의미하도록 의도된다. 따라서, 이러한 조건부 언어는 일반적으로 기능, 요소 및/또는 단계가 하나 이상의 구현에 어떤 식으로든 필요하거나 하나 이상의 구현이 사용자 입력 또는 프롬프트 유무에 관계없이 이러한 기능, 요소 및/또는 단계는 특정 구현에 포함되거나 수행되어야 한다는 것을 의미한다.
본 명세서에 개시된 구현과 관련하여 설명된 방법, 프로세스 또는 알고리즘의 요소는 하드웨어적으로 직접, 하나 이상의 메모리 장치에 저장되고 하나 이상의 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 두가지의 조합으로 구현될 수 있다. 소프트웨어 모듈은 RAM, 플래시 메모리, ROM, EPROM, EEPROM, 레지스터, 하드 디스크, 이동식 디스크, CD ROM, DVD-ROM 또는 기타 형태의 비일시적 컴퓨터 판독 가능 저장 매체, 매체들, 또는 당 분야에 알려진 물리적 컴퓨터 스토리지에 위치할 수 있다. 예시적인 저장 매체는 프로세서가 저장 매체에서 정보를 읽고 정보를 기록할 수 있도록 프로세서에 결합될 수 있다. 대안으로, 저장 매체는 프로세서에 통합될 수 있다. 저장 매체는 휘발성 또는 비휘발성일 수 있다. 프로세서와 저장 매체는 ASIC에 상주할 수 있다. ASIC는 사용자 단말에 상주할 수 있다. 대안으로, 프로세서와 저장 매체는 사용자 단말에서 개별 구성요소로 상주할 수 있다.
"X, Y, 또는 Z 중 적어도 하나" 또는 "X, Y 및 Z 중 적어도 하나"와 같은 이접적 언어는 달리 구체적으로 언급되지 않는 한, 항목, 용어 등이 X, Y, Z 또는 이들의 조합(예: X, Y 및/또는 Z)일 수 있음을 제시하는 것으로 일반적으로 사용되는 범주로 이해된다. 따라서, 그러한 분리 언어는 일반적으로 특정 구현이 각각 존재하기 위해 X 중 적어도 하나, Y 중 적어도 하나, 또는 Z 중 적어도 하나가 있어야 함을 의미하는 것으로 의도되지 않았으며 암시해서는 안 된다.
달리 명시적으로 언급되지 않는 한, "a" 또는 "an"과 같은 관사는 일반적으로 하나 이상의 설명된 항목을 포함하는 것으로 해석되어야 한다. 따라서, "~하도록 구성된 장치"와 같은 문구는 하나 이상의 인용된 장치를 포함하도록 의도된다. 이러한 하나 이상의 인용된 장치는 또한 언급된 인용을 수행하도록 집합적으로 구성될 수 있다. 예를 들어, "어구 A, B 및 C 를 수행하도록 구성된 프로세서"는 B 및 C 어구를 수행하도록 구성된 제2 프로세서와 함께 작용하도록 어구 A를 수행하도록 구성된 제1 프로세서를 포함할 수 있다.
본 명세서에서 사용된 용어 "약", "대략", "일반적으로", "거의" 또는 "실질적으로"와 같은 본 명세서에서 사용된 정도의 언어는 여전히 원하는 기능을 수행하거나 원하는 결과를 달성하는 명시된 값, 양 또는 특성에 가까운 값, 양, 또는 특성을 나타낸다. 예를 들어, 용어 "약", "대략", "일반적으로", "거의" 또는 "실질적으로"는 명시된 양의 10% 미만, 5% 미만, 1%, 0.1% 미만, 0.01% 미만의 양을 나타낼 수 있다.
본 발명은 예시적인 구현과 관련하여 설명 및 예시되었지만, 본 개시내용의 사상 및 범위를 벗어나지 않고 상기 및 다양한 다른 추가 및 생략이 그 내부 및 그에 이루어질 수 있다.

Claims (15)

  1. 컴퓨터로 구현되는 방법으로서,
    신체의 체지방 측정값을 결정하는 단계;
    상기 신체에 대응하는 개인별 3차원("3D") 신체 파라미터를 결정하는 단계;
    상기 신체의 목표 체지방 측정값을 나타내는 목표 체지방 측정값을 수신하는 단계;
    개인별 3D 신체 파라미터 및 목표 체지방 측정값에 적어도 부분적으로 기초하여, 목표 체지방 측정값에서의 신체의 예측된 외양을 나타내는 예측된 개인별 3D 신체 파라미터를 결정하는 단계;
    예측된 개인별 3D 신체 파라미터에 적어도 부분적으로 기초하여, 상기 신체의 예측된 개인별 3D 신체 모델을 생성하는 단계 - 상기 예측된 개인별 3D 신체 모델은 목표 체지방 측정값에서의 신체의 예측된 외양을 나타냄; 그리고
    예측된 개인별 3D 신체 모델을 디스플레이에 제시하는 단계를 포함하는, 컴퓨터로 구현되는 방법.
  2. 제1항에 있어서,
    적어도 개인별 3D 신체 모델과 예측된 개인별 3D 신체 모델을 통합하여, 개인별 3D 신체 모델과 예측된 개인별 3D 신체 사이의 신체의 예측된 외양을 나타내는 복수의 개인별 3D 신체 모델을 포함하는 3D 신체 모델 조정기를 생성하는 단계를 더 포함하는, 컴퓨터로 구현되는 방법.
  3. 제1항 또는 제2항에 있어서,
    신체에 대응하는 비-개인별 3D 신체 파라미터를 결정하는 단계;
    목표 체지방 측정값에 적어도 부분적으로 기초하여, 비-개인별 예측된 3D 신체 파라미터를 결정하는 단계;
    예측된 비-개인별 3D 신체 파라미터와 비-개인별 3D 신체 파라미터 사이의 델타를 결정하는 단계; 그리고
    개인별 3D 신체 파라미터에 델타를 적용하여 예측된 개인별 3D 신체 파라미터를 생성하는 단계를 더 포함하는, 컴퓨터로 구현되는 방법.
  4. 컴퓨팅 시스템으로서,
    하나 이상의 프로세서; 그리고
    프로그램 명령어를 저장하는 메모리를 포함하며, 상기 하나 이상의 프로세서에 의해 실행될 때, 상기 프로그램 명령어는, 상기 하나 이상의 프로세서로 하여금 적어도:
    신체의 신체 측정을 위한 적어도 하나의 목표 신체 측정값을 결정하게 하고;
    상기 목표 신체 측정값에 적어도 부분적으로 기초하여, 변경된 신체 측정값을 갖는 신체의 예측된 외양에 대응하는 예측된 개인별 3D 신체 파라미터를 결정하게 하며;
    예측된 개인별 3D 신체 파라미터에 적어도 부분적으로 기초하여, 목표 신체 측정값을 갖는 신체의 예측된 외양을 나타내는 예측된 개인별 3D 신체 모델을 생성하게 하고; 그리고
    예측된 개인별 3D 신체 모델의 적어도 일부를 제시하게 하는, 컴퓨팅 시스템.
  5. 제4항에 있어서, 상기 하나 이상의 프로세서에 의해 실행될 때, 상기 프로그램 명령어는, 또한 상기 하나 이상의 프로세서로 하여금 적어도:
    신체의 외양에 대응하는 개인별 3D 신체 파라미터를 결정하게 하고;
    신체의 신체 측정치에 해당하는 비-개인별 3D 신체 파라미터를 결정하게 하며;
    적어도 하나의 변경된 신체 측정값에 대응하는 예측된 비-개인별 3D 신체 파라미터를 결정하게 하고;
    예측된 비-개인별 3D 신체 파라미터와 비-개인별 3D 신체 파라미터 사이의 델타를 결정하게 하며; 그리고
    개인별 3D 신체 파라미터에 델타를 적용하여 예측된 개인별 3D 신체 파라미터를 생성하게 하는, 컴퓨팅 시스템.
  6. 제4항 또는 제5항에 있어서, 상기 목표 신체 측정값은 신체의 체중, 신체의 체지방 측정값 또는 신체의 근육량 중 적어도 하나인, 컴퓨팅 시스템.
  7. 제4항, 제5항 또는 제6항 중 어느 한 항에 있어서, 상기 하나 이상의 프로세서에 의해 실행될 때, 상기 프로그램 명령어는, 또한 상기 하나 이상의 프로세서로 하여금 적어도:
    개인별 3D 신체 파라미터에 적어도 부분적으로 기초하여 신체의 개인별 3D 신체 모델을 생성하게 하고, 상기 개인별 3D 신체 모델은 예측된 개인별 3D 신체 모델과 상이한, 컴퓨팅 시스템.
  8. 제4항, 제5항, 제6항 또는 제7항 중 어느 한 항에 있어서, 상기 하나 이상의 프로세서에 의해 실행될 때, 상기 프로그램 명령어는, 또한 상기 하나 이상의 프로세서로 하여금 적어도:
    제2 예측 개인별 3D 신체 모델을 생성하게 하고, 상기 제2 예측 개인별 3D 신체 모델은 목표 신체 측정값과 현재 신체 측정값 사이의 제2 신체 측정값을 갖는 신체를 나타내고,
    신체를 나타내는 개인별 3D 신체 모델, 예측된 개인별 3D 신체 모델, 또는 제2 예측된 개인별 3D 신체 모델 중 적어도 2개를 통합하게 하여, 현재 신체 측정값과 변경된 신체 측정값 사이의 서로 다른 신체 측정값을 갖는 신체의 3D 표현을 포함하는 3D 신체 모델 조정기를 생성하고, 그리고
    사용자가 3D 신체 모델 조정기와 상호작용할 수 있고, 상이한 신체 측정값으로 신체의 상이한 3D 표현을 볼 수 있도록, 개인별 3D 신체 모델 조정기를 제시하게 하는, 컴퓨팅 시스템.
  9. 제8항에 있어서, 상기 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금, 상기 개인별 3D 신체 모델, 상기 예측된 개인별 3D 신체 모델, 또는 제2 예측된 개인별 3D 신체 모델 중 적어도 2개를 통합하게 하는 프로그램 명령어는, 상기 하나 이상의 프로세서에 의해 실행될 때, 또한 상기 하나 이상의 프로세서로 하여금 적어도:
    개인별 3D 신체 모델, 예측된 개인별 3D 신체 모델 또는 제2 예측된 개인별 3D 신체 모델 중 적어도 2개의 개인별 3D 신체 모델을 평균화하게 하는 명령어를 더 포함하는, 컴퓨팅 시스템.
  10. 제4항, 제5항, 제6항, 제7항, 제8항 또는 제9항 중 어느 한 항에 있어서, 상기 하나 이상의 프로세서에 의해 실행될 때, 상기 프로그램 명령어는, 또한 상기 하나 이상의 프로세서로 하여금 적어도:
    신체에 대한 복수의 과거 이력의 개인별 3D 신체 파라미터가 알려져 있음을 결정하게 하고,
    신체에 대해 그리고 복수의 과거 이력의 개인별 3D 신체 파라미터에 적어도 부분적으로 기초하여, 신체 측정의 변화로 인한 개인별 3D 신체 파라미터의 변화를 결정하게 하며; 그리고
    상기 변화에 적어도 부분적으로 기초하여 신경망을 선택하게 하고, 여기서 상기 신경망은 예측된 개인별 3D 신체 파라미터를 생성하는 데 사용되는, 컴퓨팅 시스템.
  11. 제4항, 제5항, 제6항, 제7항, 제8항, 제9항 또는 제10항 중 어느 한 항에 있어서, 상기 하나 이상의 프로세서에 의해 실행될 때, 상기 프로그램 명령어는, 또한 상기 하나 이상의 프로세서로 하여금 적어도:
    신체에 대한 적어도 하나의 활동 유형의 변화를 나타내는 활동 목표를 수신하게 하고; 그리고
    활동 유형에 적어도 부분적으로 기초하여 신경망을 선택하게 하며, 여기서 상기 신경망은 예측된 개인별 3D 신체 파라미터를 결정하는, 컴퓨팅 시스템.
  12. 신체에 대한 개인별 3D 신체 파라미터를 결정하는 단계;
    개인별 3D 신체 파라미터에 적어도 부분적으로 기초하여, 신체의 외양을 나타내는 개인별 3D 신체 모델을 생성하는 단계;
    목표 신체 측정값을 수신하는 단계 - 상기 목표 신체 측정값은 현재 신체 측정값과 다른 값임;
    하나 이상의 신경망을 사용하여, 목표 신체 측정값을 갖는 신체에 대한 예측된 개인별 3D 신체 파라미터를 결정하는 단계;
    예측된 개인별 3D 신체 파라미터에 적어도 부분적으로 기초하여, 목표 신체 측정값을 갖는 신체의 예측된 외양을 나타내는 예측된 개인별 3D 신체 모델을 생성하는 단계; 그리고
    예측된 개인별 3D 신체 모델을 제시하는 단계를 포함하는, 방법.
  13. 제12항에 있어서,
    하나 이상의 신경망을 사용하여, 예측된 비-개인별 3D 신체 파라미터를 결정하는 단계;
    예측된 비-개인별 3D 신체 파라미터와 비-개인별 3D 신체 파라미터 사이의 델타를 결정하는 단계; 그리고
    개인별 3D 신체 파라미터에 델타를 적용하여 예측된 개인별 3D 신체 파라미터를 생성하는 단계를 더 포함하는, 방법.
  14. 제12항 또는 제13항에 있어서,
    상기 신체에 대한 과거 이력의 개인별 3D 신체 파라미터를 결정하는 단계 - 상기 과거 이력의 개인별 3D 신체 파라미터는 이전 시점에서 신체의 실제 개인별 3D 신체 파라미터를 나타냄;
    과거 이력의 개인별 3D 신체 파라미터에 적어도 부분적으로 기초하여, 신체의 실제 신체 파라미터 변화를 나타내는 개인별 3D 신체 파라미터 변화를 결정하는 단계; 그리고
    과거 이력의 개인별 3D 신체 파라미터에 적어도 부분적으로 기초하여 신경망을 변경하는 단계를 더 포함하는, 방법.
  15. 제12항, 제13항 또는 제14항 중 어느 한 항에 있어서,
    텍스쳐 또는 음영 중 적어도 하나를 예측된 개인별 3D 신체 모델에 적용하는 단계 - 텍스쳐 또는 음영 중 적어도 하나는 신체의 개인별 3D 신체 모델의 텍스쳐 또는 음영에 적어도 부분적으로 기초함 - 를 더 포함하는, 방법.
KR1020227013365A 2019-09-26 2020-09-24 예측적 개인별 3차원 신체 모델 KR20220066366A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/584,360 US11069131B2 (en) 2019-09-26 2019-09-26 Predictive personalized three-dimensional body models
US16/584,360 2019-09-26
PCT/US2020/052569 WO2021062047A1 (en) 2019-09-26 2020-09-24 Predictive personalized three-dimensional body models

Publications (1)

Publication Number Publication Date
KR20220066366A true KR20220066366A (ko) 2022-05-24

Family

ID=72811989

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227013365A KR20220066366A (ko) 2019-09-26 2020-09-24 예측적 개인별 3차원 신체 모델

Country Status (5)

Country Link
US (2) US11069131B2 (ko)
EP (1) EP4035168A1 (ko)
KR (1) KR20220066366A (ko)
CN (1) CN114514562B (ko)
WO (1) WO2021062047A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3671660A1 (en) * 2018-12-20 2020-06-24 Dassault Systèmes Designing a 3d modeled object via user-interaction
EP3731185A1 (en) * 2019-04-26 2020-10-28 Tata Consultancy Services Limited Weakly supervised learning of 3d human poses from 2d poses
US11903730B1 (en) * 2019-09-25 2024-02-20 Amazon Technologies, Inc. Body fat measurements from a two-dimensional image
KR20220083166A (ko) * 2020-12-11 2022-06-20 삼성전자주식회사 인체 추정 방법 및 장치
CN113065506B (zh) * 2021-04-16 2023-12-26 南京大学 一种人体姿态识别方法及系统
US11854146B1 (en) 2021-06-25 2023-12-26 Amazon Technologies, Inc. Three-dimensional body composition from two-dimensional images of a portion of a body
US11887252B1 (en) 2021-08-25 2024-01-30 Amazon Technologies, Inc. Body model composition update from two-dimensional face images
CN117918023A (zh) * 2021-09-07 2024-04-23 希尔氏宠物营养品公司 基于图像数据确定与动物相关的生物特征数据的方法
US11861860B2 (en) 2021-09-29 2024-01-02 Amazon Technologies, Inc. Body dimensions from two-dimensional body images
CN114639461A (zh) * 2021-10-15 2022-06-17 北京京东方技术开发有限公司 健身方案信息的生成方法、装置和系统
CN114327168A (zh) * 2021-12-30 2022-04-12 京东方科技集团股份有限公司 人体模型处理方法和装置、电子设备和存储介质
JPWO2023223476A1 (ko) * 2022-05-18 2023-11-23
CN114822143B (zh) * 2022-06-29 2022-09-02 深圳前海壹路科技有限公司 军事训练智能考核管理系统和方法
US20240062445A1 (en) * 2022-08-18 2024-02-22 Sony Interactive Entertainment Inc. Image based avatar customization
CN116761075B (zh) * 2023-05-09 2024-05-24 深圳显融医疗科技有限公司 基于内窥镜的图像处理方法、装置、电子设备及存储介质
CN117542123B (zh) * 2024-01-09 2024-04-26 轻威科技(绍兴)有限公司 基于稀疏6节点的人体骨骼解算方法和系统

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7224830B2 (en) 2003-02-04 2007-05-29 Intel Corporation Gesture detection from digital video images
CA2831674A1 (en) * 2003-10-10 2005-04-10 Inter-Images Partners, L.P. System and method for assessment of health risks and visualization of weight loss and muscle gain
WO2006058292A2 (en) 2004-11-29 2006-06-01 Purdue Research Foundation Methods for retrieving shapes and drawings
US8463006B2 (en) 2007-04-17 2013-06-11 Francine J. Prokoski System and method for using three dimensional infrared imaging to provide detailed anatomical structure maps
US9959453B2 (en) * 2010-03-28 2018-05-01 AR (ES) Technologies Ltd. Methods and systems for three-dimensional rendering of a virtual augmented replica of a product image merged with a model image of a human-body feature
US10702216B2 (en) * 2010-06-08 2020-07-07 Styku, LLC Method and system for body scanning and display of biometric data
US10037820B2 (en) * 2012-05-29 2018-07-31 Medical Avatar Llc System and method for managing past, present, and future states of health using personalized 3-D anatomical models
US20140340479A1 (en) * 2013-05-03 2014-11-20 Fit3D, Inc. System and method to capture and process body measurements
CA2884668A1 (en) 2015-03-13 2016-09-13 Unknown Anatomically isolated virtual 3d model
US9852543B2 (en) 2015-03-27 2017-12-26 Snap Inc. Automated three dimensional model generation
RU2718483C2 (ru) 2016-09-23 2020-04-08 Общество с ограниченной ответственностью "Гардиан Стекло Сервиз" Система и/или способ распознавания покрытия для стекла
US10657709B2 (en) 2017-10-23 2020-05-19 Fit3D, Inc. Generation of body models and measurements
US11064173B2 (en) 2017-12-14 2021-07-13 International Business Machines Corporation Photographic directional light reference for articulating devices
US20200193710A1 (en) 2018-12-12 2020-06-18 Koninklijke Philips N.V. Rendering visual representations in an augmented and/or virtual reality environment
US10489683B1 (en) 2018-12-17 2019-11-26 Bodygram, Inc. Methods and systems for automatic generation of massive training data sets from 3D models for training deep learning networks
CN109409348A (zh) * 2018-12-29 2019-03-01 北京卡路里信息技术有限公司 一种用户体征的确定方法、装置、设备和存储介质

Also Published As

Publication number Publication date
US20210097759A1 (en) 2021-04-01
US11069131B2 (en) 2021-07-20
WO2021062047A1 (en) 2021-04-01
US20210343074A1 (en) 2021-11-04
CN114514562A (zh) 2022-05-17
US11836853B2 (en) 2023-12-05
EP4035168A1 (en) 2022-08-03
CN114514562B (zh) 2023-06-13

Similar Documents

Publication Publication Date Title
CN114514562B (zh) 预测性个性化三维身体模型
JP7075085B2 (ja) 全身測定値抽出のためのシステムおよび方法
JP2022521844A (ja) 深層学習ネットワークを使用してユーザ写真から体重を測定するシステム及び方法
CN109815826B (zh) 人脸属性模型的生成方法及装置
KR101894686B1 (ko) 신체 이미징
WO2020078119A1 (zh) 模拟用户穿戴服装饰品的方法、装置和系统
US11423630B1 (en) Three-dimensional body composition from two-dimensional images
US11798299B2 (en) Methods and systems for generating 3D datasets to train deep learning networks for measurements estimation
US11507781B2 (en) Methods and systems for automatic generation of massive training data sets from 3D models for training deep learning networks
US11861860B2 (en) Body dimensions from two-dimensional body images
CN113658324A (zh) 图像处理方法及相关设备、迁移网络训练方法及相关设备
CN115346272A (zh) 基于深度图像序列的实时摔倒检测方法
US11580693B1 (en) Two-dimensional image collection for three-dimensional body composition modeling
US11854146B1 (en) Three-dimensional body composition from two-dimensional images of a portion of a body
US11887252B1 (en) Body model composition update from two-dimensional face images
US12004871B1 (en) Personalized three-dimensional body models and body change journey
US11903730B1 (en) Body fat measurements from a two-dimensional image