KR20220066774A - 온라인 피팅 방법 및 장치 - Google Patents

온라인 피팅 방법 및 장치 Download PDF

Info

Publication number
KR20220066774A
KR20220066774A KR1020200153168A KR20200153168A KR20220066774A KR 20220066774 A KR20220066774 A KR 20220066774A KR 1020200153168 A KR1020200153168 A KR 1020200153168A KR 20200153168 A KR20200153168 A KR 20200153168A KR 20220066774 A KR20220066774 A KR 20220066774A
Authority
KR
South Korea
Prior art keywords
avatar
clothes
polygon
target
wearing
Prior art date
Application number
KR1020200153168A
Other languages
English (en)
Other versions
KR102543605B1 (ko
Inventor
강규철
전인용
오승우
Original Assignee
(주)클로버추얼패션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)클로버추얼패션 filed Critical (주)클로버추얼패션
Priority to KR1020200153168A priority Critical patent/KR102543605B1/ko
Priority to US17/517,674 priority patent/US11922577B2/en
Priority to PCT/KR2021/015989 priority patent/WO2022103080A1/en
Priority to CN202111316740.2A priority patent/CN114511369A/zh
Priority to EP21208240.8A priority patent/EP4002292A3/en
Publication of KR20220066774A publication Critical patent/KR20220066774A/ko
Application granted granted Critical
Publication of KR102543605B1 publication Critical patent/KR102543605B1/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
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • G06T17/205Re-meshing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0641Shopping interfaces
    • G06Q30/0643Graphical representation of items or shoppers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/103Static body considered as a whole, e.g. static pedestrian or occupant recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/16Cloth
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Development Economics (AREA)
  • Geometry (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Architecture (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

일 실시예에 따른 온라인 피팅 방법 및 장치는 사용자로부터, 사용자의 신체 치수 및 사용자가 착장하고자 하는 의상에 대한 타겟 사이즈를 입력받고, 사용자의 신체 치수에 기초하여 선택된 기준 아바타에 타겟 사이즈의 의상을 착장시킨 결과에 대응하는 질량 중심 좌표 정보를 획득하고, 기준 아바타와 동일한 메쉬 토폴로지를 가지고, 사용자의 신체 치수에 대응하는 타겟 아바타를 생성하고, 질량 중심 좌표 정보를 타겟 아바타에 적용함으로써, 의상을 타겟 아바타에 착장시키며, 의상을 타겟 아바타에 착장시킨 결과를 표시한다.

Description

온라인 피팅 방법 및 장치{METHOD AND APPARATUS FOR ONLINE FITTING}
실시예들은 온라인 피팅 방법 및 장치에 관한 것이다.
의상(garment)은 사람이 착용한 경우에 3차원으로 보이지만, 실제로는 2차원의 패턴(pattern)에 따라 재단된 직물(fabric) 조각의 조합에 해당하므로 2차원에 가깝다. 의상의 재료가 되는 직물은 유연(flexible)하기 때문에 의상을 착용한 사람의 신체 모양이나 움직임에 따라 그 형태가 다양하게 변화될 수 있다. 또한, 직물은 예를 들어, 강도, 신도, 및 수축률 등과 같은 다양한 물성을 가질 수 있으며, 각 직물의 물성 차이에 의해 동일한 디자인의 의상이라 하더라도 착장 시에 그 표현 형태 및 느낌이 상이할 수 있다.
예를 들어, 의상을 아바타 등에 착장시켜 해당 의상의 피팅 여부를 확인하는 과정은 많은 연산 및 많은 양의 데이터가 소요되므로 사용자 단말에서의 빠른 확인이 용이하지 않다.
전술한 배경기술은 발명자가 본원의 개시 내용을 도출하는 과정에서 보유하거나 습득한 것으로서, 반드시 본 출원 전에 일반 공중에 공개된 공지기술이라고 할 수는 없다.
일 실시예에 따르면, 신체 부위 별로 상이한 신체 치수들을 가지는 3차원의 기준 아바타들에 서로 다른 사이즈의 의상들을 미리 착장시킨 결과에 따라 산출되는 질량 중심 좌표 정보를 미리 저장해 두고 호출함으로써 다양한 사이즈의 의상을 착장시킨 결과를 보다 빠르게 사용자에게 제공할 수 있다.
일 실시예에 따르면, 의상의 사이즈 별로 단위 간격으로 샘플링된 기준 아바타들의 신체 치수들에 유사한 신체 치수를 갖는 타겟 아바타를 적은 연산량으로 보다 빠르게 생성할 수 있다.
일 실시예에 따르면, 사용자의 신체 치수에 유사한 신체 치수를 갖는 기준 아바타에 사용자가 선택한 타겟 사이즈를 갖는 의상을 착장시킨 결과에 따라 산출된 질량 중심 좌표 정보를 사용자의 신체 치수에 대응하는 타겟 아바타에 적용함으로써, 해당 의상이 사용자의 신체 치수에 피팅된 결과를 표시하기 위한 연산량을 감소시킬 수 있다.
일 실시예에 따르면, 의상이 부자재를 포함하는 경우에 의상에 부자재를 부착시킨 결과에 대응하는 질량 중심 좌표 정보를 타겟 아바타에 착장된 아바타에 적용함으로써 부자재에 의한 의상의 변형 또한 용이하게 표현할 수 있다.
일 실시예에 따르면, 온라인 피팅 방법은 사용자로부터, 상기 사용자의 신체 치수 및 상기 사용자가 착장하고자 하는 의상에 대한 타겟 사이즈(target size)를 입력받는 단계; 상기 사용자의 신체 치수에 기초하여 선택된 기준 아바타에 상기 타겟 사이즈의 상기 의상을 착장시킨 결과에 대응하는 질량 중심 좌표(barycentric coordinate) 정보를 획득하는 단계; 상기 기준 아바타와 동일한 메쉬 토폴로지(mesh topology)를 가지고, 상기 사용자의 신체 치수에 대응하는 타겟 아바타(target avatar)를 생성하는 단계; 상기 질량 중심 좌표 정보를 상기 타겟 아바타에 적용함으로써, 상기 의상을 상기 타겟 아바타에 착장시키는 단계; 및 상기 의상을 상기 타겟 아바타에 착장시킨 결과를 표시하는 단계를 포함한다.
상기 질량 중심 좌표 정보는 상기 기준 아바타를 구성하는 제1 메쉬의 제1 다각형과 상기 기준 아바타에 착장시킨 상기 의상을 구성하는 제2 메쉬의 제2 다각형의 점(point) 사이의 3차원 위치 변환 관계를 나타내는 파라미터들, 및 상기 제1 다각형의 인덱스 중 적어도 하나를 포함할 수 있다.
상기 파라미터들은 상기 질량 중심 좌표 정보를 산출하기 위한 계수들(coefficients), 상기 제1 다각형과 상기 제2 다각형의 점 사이의 오프셋(offset) , 및 상기 질량 중심 좌표 정보에 대응되는 상기 제2 메쉬의 식별 정보 중 적어도 하나를 포함할 수 있다.
상기 의상을 상기 타겟 아바타에 착장시키는 단계는 상기 질량 중심 좌표 정보로부터, 상기 기준 아바타를 구성하는 제1 메쉬에 포함된 제1 다각형의 인덱스, 및 상기 제1 다각형을 기준으로 상기 제1 다각형과 매칭된 상기 의상의 점의 3차원 위치를 표현하는 복수의 파라미터들을 추출하는 단계; 상기 메쉬 토폴로지 및 상기 제1 다각형의 인덱스에 기초하여, 상기 타겟 아바타를 구성하는 제3 메쉬에서 상기 제1 다각형에 대응하는 타겟 다각형을 식별하는 단계; 및 상기 복수의 파라미터들을 상기 타겟 다각형에 적용함으로써, 상기 의상의 점의 3차원 위치를 결정하는 단계를 포함하고, 상기 결정된 의상의 점의 3차원 위치는 상기 의상을 상기 타겟 아바타에 착장시킨 결과에 해당할 수 있다.
상기 의상을 상기 타겟 아바타에 착장시키는 단계는 상기 기준 아바타를 구성하는 제1 메쉬의 제1 다각형의 인덱스와 상기 타겟 아바타를 구성하는 제3 메쉬의 타겟 다각형의 인덱스 간의 대응 관계를 통해 상기 제1 다각형에 맵핑(mapping)되는 타겟 다각형을 식별하는 단계; 및 상기 제1 다각형에 맵핑되는 상기 타겟 다각형의 각 점들에 상기 질량 중심 좌표 정보를 적용함으로써 상기 의상을 상기 타겟 아바타에 착장시키는 단계를 포함할 수 있다.
상기 의상이 부자재(supplemental material)를 포함하는 경우, 상기 의상을 상기 타겟 아바타에 착장시키는 단계는 상기 의상에 상기 부자재를 부착시킨 결과에 대응하는 제2 질량 중심 좌표 정보를 획득하는 단계; 및 상기 제2 질량 중심 좌표 정보를 상기 타겟 아바타에 착장된 의상에 적용하는 단계를 포함할 수 있다.
상기 부자재가 강체(rigid body)인 경우, 상기 제2 질량 중심 좌표 정보를 상기 타겟 아바타에 착장된 의상에 적용하는 단계는 상기 부자재를 구성하는 메쉬의 다각형의 어느 한 점에 대해 상기 제2 질량 중심 좌표 정보 및 상기 부자재의 3차원 자세(orientation)를 적용함으로써 상기 제2 질량 중심 좌표 정보를 상기 타겟 아바타에 착장된 의상에 적용하는 단계를 포함할 수 있다.
상기 질량 중심 좌표 정보를 획득하는 단계는 상기 질량 중심 좌표 정보를 서버로부터 수신하는 단계; 및 상기 질량 중심 좌표 정보를 데이터베이스로부터 호출하는 단계 중 적어도 하나를 포함할 수 있다.
상기 온라인 피팅 방법은 신체 부위 별로 상이한 신체 치수들을 가지는 기준 아바타들에 서로 다른 사이즈의 의상들을 미리 착장시킨 결과에 대응하는 질량 중심 좌표 정보를 데이터베이스에 저장하는 단계를 더 포함할 수 있다.
상기 신체 치수들은 상기 의상의 사이즈 별로 단위(unit) 간격으로 샘플링(sampling)된 상기 기준 아바타들의 신체 치수들에 대응할 수 있다.
상기 착장시킨 결과를 표시하는 단계는 상기 의상을 상기 타겟 아바타에 착장시킨 결과를 기초로, 상기 착장이 실패했는지 여부를 결정하는 단계; 및 상기 착장이 실패한 것으로 결정된 경우, 상기 착장이 실패했음을 알리는 메시지를 표시하는 단계를 포함할 수 있다.
상기 착장이 실패했는지 여부를 결정하는 단계는 상기 의상을 상기 타겟 아바타에 착장시킨 결과, 상기 타겟 아바타를 구성하는 제3 메쉬의 타겟 다각형과 상기 기준 아바타에 착장시킨 상기 의상을 구성하는 제2 메쉬의 제2 다각형 간에 인터섹션(intersection)이 발생하는지 여부를 결정하는 단계; 및 상기 인터섹션이 발생하는 경우, 상기 착장이 실패했음을 알리는 메시지를 표시하는 단계를 포함할 수 있다.
상기 착장이 실패했는지 여부를 결정하는 단계는 상기 의상을 상기 기준 아바타에 착장시킨 상태에서 상기 의상과 상기 기준 아바타 간의 제1 거리를 산출하는 단계; 상기 의상과 상기 타겟 아바타 간의 제2 거리를 산출하는 단계; 및 상기 제1 거리와 상기 제2 거리 간의 차이를 기초로 상기 착장이 실패했는지 여부를 결정하는 단계를 포함할 수 있다.
상기 제1 거리를 산출하는 단계는 상기 의상을 구성하는 제2 메쉬의 제2 다각형의 점들 중 상기 기준 아바타를 구성하는 제1 메쉬와 접촉이 발생한 제2 다각형의 점들을 포함하는 제1 집합을 구하는 단계; 및 상기 제1 집합에 속한 제2 다각형의 점들에 가장 가까운 상기 제1 메쉬의 제1 다각형의 질량 중심 좌표와 상기 제1 집합에 속한 제2 다각형의 점들 간의 거리를 상기 제1 거리로 산출하는 단계를 포함할 수 있다.
상기 제2 거리를 산출하는 단계는 상기 의상을 구성하는 제2 메쉬의 제2 다각형의 점들 중 상기 타겟 아바타를 구성하는 제3 메쉬의 타겟 다각형과 접촉이 발생한 제2 다각형의 점들의 제2 집합을 구하는 단계; 및 상기 제2 집합에 속한 제2 다각형의 점들에 가장 가까운 상기 제3 메쉬의 타겟 다각형의 질량 중심 좌표와 상기 제2 집합에 속한 제2 다각형의 점들 간의 거리를 상기 제2 거리로 산출하는 단계를 포함할 수 있다.
상기 제1 거리와 상기 제2 거리 간의 차이를 기초로 상기 착장이 실패했는지 여부를 결정하는 단계는 상기 제1 거리와 상기 제2 거리 간의 차이의 최대값을 산출하는 단계; 및 상기 최대값이 제1 임계치보다 큰 지 여부를 기초로, 상기 착장이 실패했는지 여부를 결정하는 단계를 포함할 수 있다.
상기 제1 거리와 상기 제2 거리 간의 차이를 기초로 상기 착장이 실패했는지 여부를 결정하는 단계는 상기 제1 거리와 상기 제2 거리 간의 차이의 평균값을 산출하는 단계; 및 상기 평균값이 제2 임계치보다 큰지 여부를 기초로, 상기 착장이 실패했는지 여부를 결정하는 단계를 포함할 수 있다. 상기 온라인 피팅 방법은 상기 사용자의 신체 치수에 기초하여 상기 의상에 대응하는 후보 사이즈(candidate size)를 가이드하는 단계를 더 포함할 수 있다.
상기 후보 사이즈를 가이드하는 단계는 상기 착장이 실패한 경우, 상기 사용자의 신체 치수에 기초하여 상기 의상에 대응하는 후보 사이즈의 범위를 시각화(visualization)하여 제공하는 단계를 포함할 수 있다.
일 실시예에 따르면, 온라인 피팅 장치는 사용자로부터, 상기 사용자의 신체 치수 및 상기 사용자가 착장하고자 하는 의상에 대한 타겟 사이즈를 입력받는 사용자 인터페이스; 상기 사용자의 신체 치수에 기초하여 선택된 기준 아바타에 상기 타겟 사이즈의 상기 의상을 착장시킨 결과에 대응하는 질량 중심 좌표 정보를 획득하는 통신 인터페이스; 상기 기준 아바타와 동일한 메쉬 토폴로지를 가지고, 상기 사용자의 신체 치수에 대응하는 타겟 아바타를 생성하고, 상기 질량 중심 좌표 정보를 상기 타겟 아바타에 적용함으로써, 상기 의상을 상기 타겟 아바타에 착장시키는 프로세서; 및 상기 의상을 상기 타겟 아바타에 착장시킨 결과를 표시하는 디스플레이를 포함한다.
일 측에 따르면, 신체 부위 별로 상이한 신체 치수들을 가지는 3차원의 기준 아바타들에 서로 다른 사이즈의 의상들을 미리 착장시킨 결과에 따라 산출되는 질량 중심 좌표 정보를 미리 저장해 두고 호출함으로써 다양한 사이즈의 의상을 착장시킨 결과를 보다 빠르게 사용자에게 제공할 수 있다.
일 측에 따르면, 의상의 사이즈 별로 단위 간격으로 샘플링된 기준 아바타들의 신체 치수들에 유사한 신체 치수를 갖는 타겟 아바타를 적은 연산량으로 보다 빠르게 생성할 수 있다.
일 측에 따르면, 사용자의 신체 치수에 유사한 신체 치수를 갖는 기준 아바타에 사용자가 선택한 타겟 사이즈를 갖는 의상을 착장시킨 결과에 따라 산출된 질량 중심 좌표 정보를 사용자의 신체 치수에 대응하는 타겟 아바타에 적용함으로써, 해당 의상이 사용자의 신체 치수에 피팅된 결과를 표시하기 위한 연산량을 감소시킬 수 있다.
일 측에 따르면, 의상이 부자재를 포함하는 경우에 의상에 부자재를 부착시킨 결과에 대응하는 질량 중심 좌표 정보를 타겟 아바타에 착장된 아바타에 적용함으로써 부자재에 의한 의상의 변형 또한 용이하게 표현할 수 있다.
도 1은 일 실시예에 따른 온라인 피팅 방법을 나타낸 흐름도.
도 2는 일 실시예에 따른 기준 아바타들에 서로 다른 사이즈의 의상들을 미리 착장시킴으로써 획득되는 질량 중심 좌표 정보를 설명하기 위한 도면.
도 3은 일 실시예에 따라 해당 사이즈의 의상에 대해 단위 간격으로 샘플링된 아바타의 사이즈를 변화시켜 가며 피팅 시뮬레이션을 수행하는 과정을 설명하기 위한 도면.
도 4는 일 실시예에 따라 의상을 타겟 아바타에 착장시키는 방법을 나타낸 흐름도.
도 5는 일 실시예에 따라 의상을 타겟 아바타에 착장시키는 방법을 설명하기 위한 도면.
도 6은 일 실시예에 따른 의상이 부자재를 포함하는 경우에 의상을 타겟 아바타에 착장시키는 방법을 나타낸 흐름도.
도 7은 일 실시예에 따라 착장 실패 여부를 검출하는 방법을 나타낸 흐름도.
도 8은 일 실시예에 따라 착장 실패 여부를 검출하는 방법을 설명하기 위한 도면.
도 9는 일 실시예에 따른 온라인 피팅 장치가 후보 사이즈의 범위를 시각화하여 가이드하는 방법을 설명하기 위한 도면.
도 10은 일 실시예에 따른 온라인 피팅 장치의 블록도.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안 된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
또한, 실시 예의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
어느 하나의 실시 예에 포함된 구성요소와, 공통적인 기능을 포함하는 구성요소는, 다른 실시 예에서 동일한 명칭을 사용하여 설명하기로 한다. 반대되는 기재가 없는 이상, 어느 하나의 실시 예에 기재한 설명은 다른 실시 예에도 적용될 수 있으며, 중복되는 범위에서 구체적인 설명은 생략하기로 한다.
이하, 본 명세서에서, "기준 아바타"는 신체 부위 별로 상이한 신체 치수들을 가지는 가상의 3차원 객체에 해당할 수 있다. 기준 아바타는 예를 들어, S(Small) 사이즈, M(Medium) 사이즈, 및 L(Large) 사이즈 등과 같은 의상의 사이즈들 각각에 대하여 단위 간격으로 샘플링된 신체 치수들에 대응할 수 있다. 이때, 단위 간격은 예를 들어, 키 또는 허리 둘레에 대한 1Cm, 2.5Cm 또는 5Cm의 단위 간격일 수 있다. 또한, 단위 간격은 예를 들어, 몸무게에 대한 2.5kg, 5kg 또는 10kg의 단위 간격일 수 있다.
"타겟 아바타"는 기준 아바타와 동일한 메쉬 토폴로지(mesh topology)를 가지고, 사용자의 신체 치수에 대응하는 의상이 착장되는 가상의 3차원 객체에 해당할 수 있다. 타겟 아바타는 기준 아바타에 유사한 치수를 갖는 적어도 하나의 신체 부분을 가질 수 있다. 기준 아바타의 체형(body type) 및/또는 타겟 아바타의 체형은 키, 몸무게, 허리 둘레, 팔 두께, 및/또는 다리 두께 등에 따라 체격(physique)에 나타나는 특징으로 분류될 수 있으며, 예를 들어, 마른 체형, 표준 체형, 상체 비만 체형, 하체 비만 체형, 상하체 비만 체형, 및 마른 비만 체형 등을 포함할 수 있다. 타겟 아바타의 체형은 예를 들어, 사용자로부터 입력받은 신체 치수, 이외에도 인종, 나이 및/또는 성별에 따른 평균인의 신체 치수에 기초하여 결정될 수 있다.
기준 아바타 및/또는 타겟 아바타는 예를 들어, 아래의 도 5에 도시된 삼각형과 같은 단위 도형으로 구성된 다각형 메쉬(polygon mesh)로 모델링될 수 있다. 경우에 따라 단위 도형은 3차원 다면체(예를 들어, 사면체 등)일 수 있다. 이하, 설명의 편의를 위하여 메쉬에 포함되는 단위 도형이 다각형, 특히 삼각형인 경우를 가정하고 설명하지만 반드시 이에 한정되는 것은 아니다.
이하, 기준 아바타를 구성하는 메쉬를 '제1 메쉬'라고 부르고, 제1 메쉬에 포함되는 다각형을 '제1 다각형'이라고 부르기로 한다. 이때, 제1 다각형을 지시하는 인덱스는 '제1 다각형의 인덱스'라고 부를 수 있다. 또한, 기준 아바타에 착장시킨 의상을 구성하는 메쉬를 '제2 메쉬'라고 부르고, 제2 메쉬에 포함되는 다각형을 '제2 다각형'이라고 부르기로 한다. 제2 다각형을 지시하는 인덱스를 '제2 다각형의 인덱스'라고 부르기로 한다. 이 밖에도, 타겟 아바타를 구성하는 메쉬를 '제3 메쉬'라고 부르고, 제3 메쉬에 포함되는 삼각형을 '타겟 다각형'이라고 부르기로 한다. 타겟 다각형을 지시하는 인덱스는 타겟 다각형의 인덱스'라고 부를 수 있다.
실시예들에 따른 메쉬는 다양하게 모델링될 수 있다. 일례로, 메쉬에 포함되는 다각형의 꼭지점들은 질량을 가지고 있는 점(point mass)이며, 다각형의 변들은 그 질량을 연결하는 탄성을 가지고 있는 스프링들로 표현될 수 있다. 이에 따라, 일 실시예에서 따른 의상은 예를 들어, 질량-스프링 모델(Mass-Spring Model)에 의해 모델링되는 3차원의 가상 의상일 수 있다. 여기서, 스프링들은 사용되는 천(fabric)의 물성에 따라, 예를 들어, 신축(stretch), 비틀림(shear), 및 굽힘(bending)에 대한 각 저항값(resist)을 가질 수 있다. 또는, 메쉬는 스트레인(strain) 모델로 모델링될 수 있다. 메쉬에 포함되는 다각형은 삼각형으로 모델링되거나, 혹은 사각형 이상의 다각형으로 모델링될 수도 있다. 경우에 따라, 3차원 볼륨(volume)을 모델링해야 하는 경우, 메쉬는 3차원 다면체로 모델링될 수 있다.
메쉬에 포함된 다각형(들)의 꼭지점들은 예를 들어, 중력 등과 같은 외력(external force) 및 신축(stretch), 비틀림(shear), 및 굽힘(bending) 등과 같은 내력(internal force)에 의해 이동할 수 있다. 외력 및 내력을 계산하여 각 꼭지점에 가해지는 힘을 구하면 각 꼭지점의 변위 속도와 운동을 구할 수 있다. 의상의 움직임은 각 시간 단계에서 메쉬를 구성하는 다각형(들)의 꼭지점들의 움직임을 통해 시뮬레이션 될 수 있다. 예를 들어, 다각형 메쉬로 구성된 의상이 3차원 아바타 위에 착장되면, 물리 법칙에 기반한 자연스러운 3차원의 가상 의상을 구현될 수 있다. 메쉬에 포함된 다각형(들)의 꼭지점들은 중력 등과 같은 외부적인 힘(external force)과 신축, 비틀림, 및 굽힘의 내부적인 힘(internal force)의 작용에 따라 움직일 수 있다. 외부적인 힘과 내부적인 힘을 계산하여 각 꼭지점에 가해지는 힘을 구하면, 각 꼭지점의 변위 및 움직임의 속도를 구할 수 있다. 그리고 각 시점(time step)에서의 메쉬의 다각형의 꼭지점들의 움직임을 통하여 가상 의상의 움직임을 시뮬레이션할 수 있다. 다각형 메쉬로 이루어진 2차원 패턴을 3차원의 아바타에 착장시키면 물리 법칙에 기반한 자연스러운 모습의3차원 가상 의상을 구현할 수 있다. 이하, 메쉬를 구성하는 다각형(들)의 꼭지점들은 '점'으로 간략화하여 부를 수 있다.
사용자가 착장하고자 하는 의상을 기준 아바타 및 타겟 아바타에 착장시키는 경우, 기준 아바타와 타겟 아바타 간의 볼륨이나 형태는 달라지지만, 예를 들어, 각 아바타를 구성하는 메쉬의 연결 관계 및/또는 메쉬를 구성하는 삼각형들의 개수는 동일할 수 있다.
도 1은 일 실시예에 따른 온라인 피팅 방법을 나타낸 흐름도이다. 도 1을 참조하면, 일 실시예에 따른 온라인 피팅 장치는 단계(110) 내지 단계(150)의 과정을 통해 온라인으로 사용자가 착장하고자 선택한 의상을 사용자의 신체 치수에 대응하는 타겟 아바타에 착장시킨 결과를 표시할 수 있다.
단계(110)에서, 온라인 피팅 장치는 사용자로부터, 사용자의 신체 치수 및 사용자가 착장하고자 하는 의상에 대한 타겟 사이즈(target size)를 입력받는다. 본 명세서에서 '착장(draping)'은 컴퓨터 프로그램에 의해 생성된 3차원 아바타에 사용자가 선택한 타겟 사이즈의 3차원 의상을 입히는 과정으로 이해될 수 있다. 이하, 착장은 의상의 아바타에 입힌다는 점에서 착장과 피팅(fitting)은 서로 동일한 의미로 이해될 수 있다. 이때, 온라인 피팅 장치는 예를 들어, 터치 디스플레이 또는 디스플레이에 표시된 사용자 인터페이스를 통해 사용자의 신체 치수, 사용자가 착장하고자 선택한 의상, 및/또는 사용자가 착장하고자 선택한 의상의 사이즈('타겟 사이즈')를 입력받을 수 있다. 실시예에 따라서, 사용자의 신체 치수가 미리 저장된 경우, 온라인 피팅 장치는 사용자로부터, 사용자가 착장하고자 선택한 의상 A 및 의상 A의 사이즈('타겟 사이즈')에 대한 선택을 입력받을 수도 있다.
단계(120)에서, 온라인 피팅 장치는 단계(110)에서 입력받은 사용자의 신체 치수에 기초하여 선택된 기준 아바타에 타겟 사이즈의 의상을 착장시킨 결과에 대응하는 질량 중심 좌표 정보를 획득한다. 단계(120)에서, 온라인 피팅 장치는 사용자의 실제 신체 치수와 가장 가까운 치수를 갖는 기준 아바타에 타겟 사이즈의 의상을 착장시킨 결과를 호출함으로써 의상을 타겟 아바타에 착장시키는 결과를 획득하는 데에 소요되는 연산량을 최소화할 수 있다. 질량 중심 좌표 정보는 질량 중심 좌표 이외에도 타겟 사이즈의 의상을 구성하는 메쉬에 대한 정보 등을 더 포함할 수 있다.
여기서, 질량 중심 좌표는 예를 들어, 단일 점의 위치가 정점에 배치된 일반적으로 동일하지 않은 질량의 중심, 즉 중심으로 지정되는 좌표 시스템에 해당할 수 있다. 질량 중심 좌표는 '베리센트릭 코디네이트(barycentric coordinate)' 또는 '중점'이라고도 불릴 수 있다.
질량 중심 좌표 정보는 예를 들어, 기준 아바타를 구성하는 제1 메쉬의 제1 다각형과 기준 아바타에 착장시킨 의상을 구성하는 제2 메쉬의 제2 다각형의 점(point) 사이의 3차원 위치 변환 관계를 나타내는 파라미터들 및 제1 다각형의 인덱스 중 적어도 하나를 포함할 수 있다. 이때, 파라미터들은 질량 중심 좌표 정보를 산출하기 위한 계수들(coefficients), 제1 다각형과 제2 다각형의 점 사이의 오프셋(offset), 및 해당 질량 중심 좌표 정보에 대응되는 제2메쉬의 식별 정보(예를 들어, ID) 등을 포함할 수 있다. 여기서, 제2 메쉬의 식별 정보는 해당 질량 중심 좌표 정보가 어느 제2 메쉬의 것인지를 식별하기 위한 정보에 해당할 수 있다.
또는 실시예에 따라서, 부자재가 강체인 경우, 파라미터들은 부자재의 3차원 자세(orientation)를 더 포함할 수 있다. 부자재의 3차원 자세는 예를 들어, 3x3 매트릭스 형태를 가질 수 있으며, 반드시 이에 한정되는 것은 아니다.
온라인 피팅 장치는 예를 들어, 신체 부위 별로 상이한 신체 치수들을 가지는 기준 아바타들에 서로 다른 사이즈의 의상들을 미리 착장시킨 결과에 대응하는 질량 중심 좌표 정보를 미리 저장할 수 있다. 이때, 신체 치수들은 의상의 사이즈 별로 단위(unit) 간격으로 샘플링(sampling)된 기준 아바타들의 신체 치수들에 대응할 수 있다.
단계(120)에서, 온라인 피팅 장치는 예를 들어, 질량 중심 좌표 정보를 서버로부터 수신할 수도 있고, 또는 질량 중심 좌표 정보를 데이터베이스로부터 호출할 수도 있다. 단계(120)에서 획득된 질량 중심 좌표 정보에 대하여는 아래의 도 2를 참조하여 보다 구체적으로 설명한다. 또한, 일 실시예에 따라 아바타들의 신체 치수들을 단위 간격으로 샘플링하는 방법은 아래의 도 3a를 참조하여 구체적으로 설명한다.
단계(130)에서, 온라인 피팅 장치는 기준 아바타와 동일한 메쉬 토폴로지를 가지고, 사용자의 신체 치수에 대응하는 타겟 아바타를 생성한다. 온라인 피팅 장치는 사용자가 입력한 신체 치수에 따라 타겟 아바타를 생성할 수 있다.
실시예에 따라서, 단계(130)에서, 온라인 피팅 장치는 예를 들어, 사용자의 신체 치수에 가장 가까운 치수를 갖는 기준 아바타를 검색하고, 검색된 기준 아바타와 사용자의 신체 치수와의 차이만큼을 보정함으로써 타겟 아바타를 생성할 수도 있다. 온라인 피팅 장치는 예를 들어, 기준 아바타와 타겟 아바타 각각을 구성하는 메쉬의 다각형의 대응 관계를 이용하여 기준 아바타의 제1 다각형의 인덱스에 대응하는 타겟 아바타의 타겟 다각형의 인덱스를 맵핑시킬 수 있다. 온라인 피팅 장치는 맵핑된 인덱스들 간의 차이에 해당하는 값(예를 들어, 계수들 및/또는 각 다각형의 점들 사이의 오프셋 등)을 보정함으로써 타겟 아바타를 생성할 수 있다.
단계(140)에서, 온라인 피팅 장치는 단계(120)에서 획득한 질량 중심 좌표 정보를 단계(130)에서 생성한 타겟 아바타에 적용함으로써, 사용자가 착장하고자 하는 의상을 타겟 아바타에 착장시킨다.
온라인 피팅 장치는 예를 들어, 기준 아바타를 구성하는 제1 메쉬의 제1 다각형의 인덱스와 타겟 아바타를 구성하는 제3 메쉬의 타겟 다각형의 인덱스 간의 대응 관계를 통해 제1 다각형에 맵핑(mapping)되는 타겟 다각형을 식별할 수 있다. 온라인 피팅 장치는 제1 다각형에 맵핑되는 타겟 다각형의 각 점들에 질량 중심 좌표 정보를 적용함으로써 의상을 타겟 아바타에 착장시킬 수 있다. 온라인 피팅 장치가 사용자가 착장하고자 하는 의상을 타겟 아바타에 착장시키는 과정은 아래의 도 4를 참조하여 보다 구체적으로 설명한다.
단계(150)에서, 온라인 피팅 장치는 사용자가 착장하고자 하는 의상을 타겟 아바타에 착장시킨 결과를 표시한다. 단계(150)에서, 온라인 피팅 장치는 의상을 타겟 아바타에 착장시킨 결과, 예를 들어, 타겟 아바타를 구성하는 제3 메쉬의 타겟 다각형과 기준 아바타에 착장시킨 의상을 구성하는 제2 메쉬의 제2 다각형 간에 인터섹션(intersection)이 발생하는지 여부를 결정할 수 있다. 제3 메쉬의 타겟 다각형과 제2 메쉬의 제2 다각형 간에 인터섹션이 발생하는 경우, 온라인 피팅 장치는 착장이 실패했음을 알리는 메시지를 표시할 수 있다. 실시예에 따라서, 온라인 피팅 장치는 제2 메쉬가 기준치 이상으로 변형되었을 때, 착장이 실패했음을 알리는 메시지를 표시할 수도 있다.
단계(150)에서, 온라인 피팅 장치는 예를 들어, 제3 메쉬의 타겟 다각형과 제2 메쉬의 제2 다각형 간에 발생한 인터섹션의 수와 미리 설정된 기준 개수 간의 차이를 기초로 착장의 실패 여부를 결정할 수 있다. 예를 들어, 발생한 인터섹션의 수가 미리 설정된 기준 개수(예를 들어, 2개)보다 크거나 같은 경우, 온라인 피팅 장치는 착장이 실패했다고 결정할 수 있다. 이와 달리, 발생한 인터섹션의 수가 미리 설정된 기준 개수 보다 작은 경우, 온라인 피팅 장치는 착장이 성공했다고 결정할 수 있다.
또는 단계(150)에서, 온라인 피팅 장치는 의상을 타겟 아바타에 착장시킨 결과를 기초로, 착장이 실패했는지 여부를 결정하고, 착장이 실패한 것으로 결정된 경우, 착장이 실패했음을 알리는 메시지를 표시할 수 있다. 온라인 피팅 장치가 착장 실패 여부를 결정하는 방법은 아래의 도 7 내지 도 8을 참조하여 구체적으로 설명한다.
실시예에 따라서, 온라인 피팅 장치는 착장이 실패한 경우, 사용자의 신체 치수에 기초하여 의상에 대응하는 후보 사이즈(candidate size)의 범위를 시각화(visualization)하여 가이드할 수도 있다. 여기서, '후보 사이즈의 범위'는 사용자가 해당 의상을 착장한 경우에 해당 의상이 사용자의 신체에서 흘러내리지 않는 사이즈들의 범위에 해당할 수 있다. 온라인 피팅 장치가 후보 사이즈의 범위를 시각화하여 가이드하는 방법은 아래의 도 9를 참조하여 구체적으로 설명한다.
도 2는 일 실시예에 따른 기준 아바타들에 서로 다른 사이즈의 의상들을 미리 착장시킨 결과에 대응하는 질량 중심 좌표 정보를 설명하기 위한 도면이다. 도 2를 참조하면, 일 실시예에 따라 사용자의 평균 키와 평균 몸무게를 기준으로 단위 간격으로 샘플링된 신체 치수들에 대응하는 의상의 사이즈들을 나타낸 그래프가 도시된다.
이때, 의상의 사이즈들에 대응하는 신체 치수들은 예를 들어, 인종, 나이 및 성별 등에 의해 구별될 수 있으며, 예를 들어, 아시안 성인 남성, 아시안 성인 여성, 유럽 성인 남성, 아메리카 성인 여성, 아프리칸 남자 아동, 아프리칸 여자 아동 별로 동일 또는 상이한 단위 간격으로 샘플링될 수 있다. 또한, 각 신체 치수들에 대응하는 의상의 사이즈들 또한 예를 들어, 인종, 나이 및 성별 등에 의해 달리 설정될 수 있다.
온라인 피팅 장치는 예를 들어, 도 2 에 도시된 키, 및 몸무게 이외에도 허리둘레, 팔 길이, 다리 길이 등과 같은 다양한 신체 치수들을 갖는 기준 아바타에 S 사이즈, M 사이즈, 및 L 사이즈 등과 같은 다양한 사이즈들의 의상을 착장시킨 결과에 대응하는 질량 중심 좌표 정보를 미리 저장해 둘 수 있다.
온라인 피팅 장치는 예를 들어, S 사이즈의 의상 X를 다양한 신체 치수를 갖는 기준 아바타들(예를 들어, 키 140Cm 및 몸무게 40kg의 신체 치수를 갖는 기준 아바타, 키 145Cm 및 몸무게 40kg의 신체 치수를 갖는 기준 아바타, 키 150Cm 및 몸무게 40kg의 신체 치수를 갖는 기준 아바타, 키 155Cm 및 몸무게 40kg의 신체 치수를 갖는 기준 아바타, 키 160Cm 및 몸무게 40kg의 신체 치수를 갖는 기준 아바타, 키 140Cm 및 몸무게 42.5kg의 신체 치수를 갖는 기준 아바타, 키 145Cm 및 몸무게 42.5kg의 신체 치수를 갖는 기준 아바타, 키 150Cm 및 몸무게 42.5kg의 신체 치수를 갖는 기준 아바타, 키 155Cm 및 몸무게 42.5kg의 신체 치수를 갖는 기준 아바타, 키 160Cm 및 몸무게 42.5kg의 신체 치수를 갖는 기준 아바타, 키 140Cm 및 몸무게 45kg의 신체 치수를 갖는 기준 아바타, 키 145Cm 및 몸무게 45kg의 신체 치수를 기준 아바타, 키 150Cm 및 몸무게 45kg의 신체 치수를 기준 아바타, 키 155Cm 및 몸무게 45kg의 신체 치수를 기준 아바타, 키 160Cm 및 몸무게 45kg의 신체 치수를 갖는 기준 아바타 등) 각각에 착장시킨 결과에 대응하는 질량 중심 좌표 정보를 미리 저장해 둘 수 있다.
마찬가지로, 온라인 피팅 장치는 예를 들어, M 사이즈 및 L 사이즈의 X 의상을 다양한 신체 치수를 갖는 기준 아바타들 각각에 착장시킨 결과에 대응하는 질량 중심 좌표 정보를 미리 저장해 둘 수 있다.
온라인 피팅 장치는 예를 들어, 각 사이즈 별로 20개의 서로 다른 신체 치수를 갖는 기준 아바타들에 의상을 착장시킨 결과에 대응하는 질량 중심 좌표 정보를 미리 산출하여 저장해 둘 수 있다.
온라인 피팅 장치는 도 2에 도시된 그래프에서 샘플링된 신체 치수들을 갖는 아바타들 각각에 의상을 착장 또는 피팅(fitting)시키는 착장 시뮬레이션 시에 변형 정도가 최소인 경로(예를 들어, 동일 몸무게에 대해 키가 변화하는 경로)에 따라 해당 사이즈의 의상에 대해 신체 치수를 변화시켜 감으로써 착장 시뮬레이션의 수행에 따른 연산량을 최소화할 수 있다. 일 실시예에 따라 해당 사이즈의 의상에 대해 신체 치수를 변화시켜 가며 피팅 시뮬레이션을 수행하는 과정은 아래의 도 3a 내지 도 3c를 참조하여 구체적으로 설명한다.
예를 들어, 샘플링된 신체 치수들 별로 해당 사이즈의 의상이 너무 커서 착장 시뮬레이션 시에 흘러내리는 경우가 발생할 수 있다. 이 경우, 온라인 피팅 장치는 의상이 흘러내리는 경우를 검출(detection)하고, 의상이 흘러내리는 신체 치수에 인접한 신체 치수들 중 의상이 잘 착장된 신체 치수를 찾아 착장 시뮬레이션을 계속 진행할 수 있다. 예를 들어, L 사이즈의 의상을 140Cm 및 45kg의 신체 치수를 갖는 기준 아바타에 착장시킨 경우에 해당 의상이 기준 아바타에서 흘러내린다고 하자. 이 경우, 온라인 피팅 장치는 140Cm 및 45kg의 신체 치수에 가장 인접하고 L 사이즈의 의상이 잘 착장된 신체 치수인 165Cm 및 45kg를 갖는 아바타에 의해 착장 시뮬레이션을 진행할 수 있다. 온라인 피팅 장치가 의상이 흘러내리는 경우, 다시 말해 착장이 실패했는지 여부를 검출하는 방법은 아래의 도 7 내지 도 8을 참조하여 보다 구체적으로 설명한다.
일 실시예에 따른 온라인 피팅 장치가 착장 시뮬레이션을 수행하는 과정은 다음과 같다. 온라인 피팅 장치는 의상의 옷감 데이터(Cloth data)와 아바타 데이터(Avatar data)를 수집할 수 있다. 이때, 옷감 데이터와 아바타 데이터는 각각 메쉬 데이터를 포함할 수 있고, 메쉬 데이터는 메쉬 구조에 포함된 다각형들 각각의 위치, 노멀 벡터, 인덱스를 포함할 수 있다.
온라인 피팅 장치는 옷감과 옷감 사이의 근접도(proximity)를 검출하고, 옷감과 아바타 사이의 근접도를 검출할 수 있다. 검출된 근접도는 이후 단계에서 충돌을 방지하는 외력을 결정하는 데 이용될 수 있다.
온라인 피팅 장치는 옷감에 가해지는 힘(force)과 자코비안(Jacobian)을 계산할 수 있다. 온라인 피팅 장치는 옷감의 메쉬에 포함된 복수의 다각형들에 가해지는 힘(force)과 자코비안을 계산할 수 있다. 여기서, 힘은 내력과 외력으로 구분될 수 있다. 내력은 옷감이 수축하려는 힘이나 옷감이 펴지려는 힘 등 재봉이나 옷감의 물성에 의한 힘을 포함할 수 있다. 또한, 외력은 중력 등 옷감의 외부에서 옷감에 가해지는 힘을 포함할 수 있다. 옷감과 옷감 사이의 충돌을 방지하거나 옷감과 아바타 사이의 충돌을 방지하기 위하여 시뮬레이션 상에서 추가되는 힘도 외력으로 분류될 수 있다.
온라인 피팅 장치는 옷감의 메쉬에 포함된 복수의 다각형들에 가해지는 힘과 자코비안을 동시에 고려하여, 복수의 다각형들에 적용되는 가속도를 계산할 수 있다. 예를 들어, 온라인 피팅 장치는 복수의 다각형들에 대응하는 연립 방정식을 선형 시스템으로 정의한 뒤, 해당하는 선형 시스템을 풀이할 수 있다. 온라인 피팅 장치는 옷감의 메쉬에 포함된 복수의 다각형들의 가속도로부터 속도 및 위치를 계산할 수 있다.
착장 시뮬레이션에서는 예를 들어, 선형 시스템의 풀이를 통하여 가능한 충돌을 방지하는 방식으로 연산이 수행되지만, 여전히 옷감과 옷감 사이의 충돌이나 옷감과 아바타 사이의 충돌이 발생할 수 있다. 온라인 피팅 장치는 이러한 충돌을 별도로 처리하여, 충돌이 없는 상태의 다각형들의 위치와 속도를 다음 이터레이션(iteration)으로 전달할 수 있다. 온라인 피팅 장치는 전술한 이터레이션을 반복하면서, 의상을 아바타에 착장시키는 시뮬레이션을 수행할 수 있다.
참고로, 최초 이터레이션에서는 옷감이 아바타의 해당 부위 주변을 러프(rough)하게 감싸고 있는 초기 배치에 따라 시뮬레이션이 시작될 수 있다. 예를 들어, 의상을 구성하는 패턴 조각들을 아바타의 각 신체 부위 주변에 배치시키는 배치판 기술을 통하여 초기 배치가 제공될 수 있다. 초기 배치에서는 옷감과 아바타 사이의 충돌이 발생하지 않으며, 또한 옷감과 옷감 사이의 충돌도 발생하지 않는다. 옷감에는 외력으로 중력이 작용하고, 내력으로는 재봉에 의하여 수축하는 힘이 작용할 수 있다. 이후, 이터레이션이 반복되면서, 옷감과 아바타 사이의 충돌을 방지하는 힘이나 옷감과 옷감 사이의 충돌을 방지하는 힘도 작용할 수 있다.
온라인 장치는 전술한 단계(110)에서 입력받은 사용자의 신체 치수에 가장 근접한 신체 치수를 갖는 기준 아바타에 타겟 사이즈의 의상을 착장시킨 결과에 대응하는 질량 중심 좌표 정보를 호출할 수 있다.
도 3은 일 실시예에 따라 해당 사이즈의 의상에 대해 단위 간격으로 샘플링된 아바타의 사이즈를 변화시켜 가며 피팅 시뮬레이션을 수행하는 과정을 설명하기 위한 도면이다.
도 3a를 참조하면, 해당 사이즈의 의상을 아바타에 착장시키는 경우에 사용 가능한 아바타의 사이즈를 결정하는 방법을 설명하기 위한 도면이 도시된다. 일 실시예에서 아바타의 사이즈는 키와 몸무게의 조합으로 표현되는 아바타의 신체 치수 또는 아바타의 크기를 포함하는 의미로 이해될 수 있다. 이하, 설명의 편의를 위해 도 3의 과정을 온라인 피팅 장치가 수행하는 경우를 일 예로 들어 설명하지만, 반드시 이에 한정되는 것은 아니다. 도 3의 과정은 서버에 의해 수행될 수도 있다.
온라인 피팅 장치는 예를 들어, 사용자의 나이, 성별 등에 기초하여 획득한 평균 신체 사이즈로부터 키에 대한 오프셋(offset), 몸무게에 대한 오프셋 및 최소 몸무게(예를 들어, 40kg) 등의 정보를 파악할 수 있다. 온라인 피팅 장치는 사용자의 평균 신체 사이즈로부터 파악한 정보를 기초로 아바타의 사이즈들 중 해당 사이즈의 의상에 맞는 아바타의 사이즈들에 대응하는 샘플링 가능 영역을 설정할 수 있다. 일 실시예에서 키에 대한 오프셋, 몸무게에 대한 오프셋 및/또는 최소 몸무게는 사용자로부터 입력받을 수도 있고, 또는 디폴드(default) 값이 미리 설정될 수도 있다.
온라인 피팅 장치는 평균 신체 사이즈로부터 키에 대한 증감 크기(Step Size)와 몸무게에 대한 증감 크기만큼 키와 신장과 몸무게를 증감시켰을 때, 샘플링 가능 영역(예를 들어, 도 3a에 도시된 사다리꼴 도형의 내부 영역(310)) 내에서 도달 가능한 아바타의 사이즈를 찾음으로써 해당 사이즈의 의상을 아바타에 착장시키는 경우에 사용 가능한 아바타의 샘플 사이즈들을 결정할 수 있다. 이때, 사용 가능한 아바타의 샘플 사이즈들은 샘플링 가능 영역(310) 내에 포함된 정점들(315)에 해당할 수 있다. 일 실시예에서 키에 대한 증감 크기 및/또는 몸무게에 대한 증감 크기는 전술한 의상의 사이즈 별 단위 간격에 해당할 수 있으며, 사용자로부터 입력받을 수도 있고, 또는 디폴드 값이 미리 설정될 수도 있다.
온라인 피팅 장치는 예를 들어, 도 3b 내지 도 3c의 과정을 통해 샘플링 가능 영역(310) 내에서 도달 가능한 아바타의 샘플 사이즈들을 변화시켜가며 사용자가 선택한 사이즈의 의상을 피팅시킬 수 있다.
도 3b를 참조하면, 온라인 피팅 장치는 도 3a에서 결정된 아바타의 샘플 사이즈들 중 전술한 단계(110)에서 입력받은 사용자의 신체 치수(320)와 가장 가까운 샘플 사이즈(330)를 찾을 수 있다(①). 이때, 샘플 사이즈(330)를 '초기 아바타 사이즈' 혹은 '기준 아바타 사이즈'라고 부를 수 있다.
온라인 피팅 장치는 기준 아바타 사이즈(예를 들어, 샘플 사이즈(330))를 지나며, 샘플링 가능 영역(310)의 오른쪽 빗면에 평행한 하나의 선분(335)을 가정할 수 있다. 온라인 피팅 장치는 선분(335)을 지나는 아바타의 샘플 사이즈들(330, 340, 350)에 대해 의상을 피팅시킬 수 있다. 온라인 피팅 장치는 선분(335)에 속하는 샘플 사이즈(들) 중 기준 아바타 사이즈에 해당하는 샘플 사이즈(330)보다 작은 값을 가지는 샘플 사이즈(예를 들어, 샘플 사이즈(350))에 대해 해당 사이즈의 의상을 피팅한 후 샘플 사이즈(350)에 대응하는 피팅 상태 정보를 저장할 수 있다(②).
선분(335)에 속하는 샘플 사이즈들 중 샘플 사이즈(350) 이외에 샘플 사이즈(330)보다 작은 샘플 사이즈가 없다면, 온라인 피팅 장치는 피팅 시뮬레이션을 기준 아바타 사이즈(330)에 대응하는 피팅 상태로 초기화할 수 있다(③).
온라인 피팅 장치는 선분(335)에 속하는 샘플 사이즈들 중 샘플 사이즈(330)보다 큰 값을 가지는 샘플 사이즈(들)(예를 들어, 샘플 사이즈(340))에 대해 해당 사이즈의 의상을 피팅한 후 샘플 사이즈(340)에 대응하는 피팅 상태 정보를 저장할 수 있다(④). 온라인 피팅 장치는 예를 들어, 선분(335)에 속하는 샘플 사이즈들 중 가장 가까운 샘플 사이즈(예를 들어, 초기 아바타 사이즈)를 찾고, 해당 사이즈에 대해 피팅 시뮬레이션을 진행한 뒤 피팅 상태 정보를 저장할 수 있다. 온라인 피팅 장치는 그 이후에 작은 사이즈의 샘플들에 대한 피팅 시뮬레이션 및 피팅 상태들 또한 저장할 수 있다. 여기서, '피팅 상태 정보'는 해당 사이즈의 의상을 아바타의 샘플 사이즈의 피팅 상태와 관련된 정보로서, 예를 들어, 특정 아바타의 샘플 사이즈에서 아바타(의 각 부분)와 의상 간의 위치 정보를 포함할 수 있다. 이때, 피팅 상태 정보가 저장된 아바타의 샘플 사이즈들(예를 들어, 샘플 사이즈(330), 샘플 사이즈(340), 및 샘플 사이즈(350))을 '시작 아바타 사이즈'라고 부를 수 있다.
도 3c를 참조하면, 일 실시예에 따른 온라인 피팅 장치가 전술한 피팅 과정에서 저장한 피팅 상태 정보를 기초로, 시작 아바타 사이즈들과 키가 동일하고 몸무게가 상이한 샘플 사이즈들에 대해 의상을 피팅하는 과정이 도시된다.
온라인 피팅 장치는 저장된 피팅 상태 정보, 다시 말해 시작 아바타 사이즈들에 대응하는 피팅 상태 정보를 로드(load)하여 각 샘플 사이즈들에 대한 피팅을 진행할 수 있다.
온라인 피팅 장치는 시작 아바타 사이즈와 키가 동일한 샘플 사이즈들에 대해 몸무게가 줄어드는 방향(예를 들어, 좌측 방향)으로 피팅을 진행할 수 있다(⑤). 온라인 피팅 장치는 예를 들어, 도 3c에 도시된 샘플 사이즈(340)와 키가 172.5cm로 동일한 샘플 사이즈들(341,342,343,344,345,346) 중 몸무게가 샘플 사이즈(340)보다 작은 샘플 사이즈들(341,342,343,344)에 대해 피팅을 진행할 수 있다. 이때, 온라인 피팅 장치는 샘플 사이즈(340)부터 점차 몸무게가 줄어드는 왼쪽 방향으로, 다시 말해 샘플 사이즈(341), 샘플 사이즈(342), 샘플 사이즈(343), 샘플 사이즈(344)의 순서로 피팅을 진행할 수 있다.
샘플 사이즈(340)와 키가 동일한 샘플 사이즈들 중 더 이상 몸무게가 작은 샘플 사이즈를 찾을 수 없다면, 온라인 피팅 장치는 시작 아바타 사이즈(샘플 사이즈(340))의 피팅 상태 정보를 로드하여 피팅 시뮬레이션 상태를 초기화할 수 있다(⑥). 이때, 샘플 사이즈(340)와 키가 동일한 샘플 사이즈들 중 최소 몸무게(예를 들어, 40kg) 이하에 해당하는 샘플 사이즈들은 제외될 수 있다.
이후, 온라인 피팅 장치는 시작 아바타 사이즈(샘플 사이즈(340))와 키가 동일한 샘플 사이즈들에 대해 몸무게가 늘어나는 방향(예를 들어, 우측 방향)으로 피팅을 진행할 수 있다(⑦). 온라인 피팅 장치는 예를 들어, 도 3c에 도시된 샘플 사이즈(340)와 키가 172.5cm로 동일한 샘플 사이즈들(341,342,343,344,345,346) 중 몸무게가 샘플 사이즈(340)보다 큰 샘플 사이즈들(345,346)에 대해 피팅을 진행할 수 있다. 이때, 온라인 피팅 장치는 샘플 사이즈(345)부터 점차 몸무게가 늘어나는 오른쪽 방향으로, 다시 말해 샘플 사이즈(345), 샘플 사이즈(346)의 순서로 피팅을 진행할 수 있다.
샘플 사이즈(340)와 키가 172.5cm로 동일하고 다른 몸무게를 가진 샘플 사이즈들을 더 이상 찾을 수 없는 경우, 온라인 피팅 장치는 다음 시작 아바타 사이즈(예를 들어, 샘플 사이즈(330))의 피팅 상태 정보를 로드할 수 있다(⑧).
온라인 피팅 장치는 피팅 상태 정보를 로드한 시작 아바타 사이즈(예를 들어, 샘플 사이즈(330))와 같은 키를 가진 샘플 사이즈들에 대해 ⑤ 내지 ⑧ 과정을 반복하며 피팅을 진행할 수 있다(⑨).
실시예에 따라서, 온라인 피팅 장치는 전술한 과정을 통해 의상에 대한 피팅을 진행하던 중 피팅 실패를 검출할 수 있다. 피팅 실패가 검출된 경우, 온라인 피팅 장치는 다음 샘플 사이즈에 대한 피팅을 진행하지 않고 동작을 중지할 수 있다. 예를 들어, 시작 아바타 사이즈(예를 들어, 샘플 사이즈(330))와 키가 같고, 몸무게가 작은 샘플 사이즈들(331,332,333,334)에 대해 순차적으로 피팅을 진행하던 중 샘플 사이즈(333)를 갖는 아바타에 대한 피팅 실패가 검출되었다면, 온라인 피팅 장치는 다음 샘플 사이즈(예를 들어, 샘플 사이즈(334))에 대한 피팅을 진행하지 않고 동작을 멈출 수 있다(ⓐ). 온라인 피팅 장치가 피팅 실패를 검출하는 방법은 아래의 도 7 내지 도 8을 참조하여 구체적으로 설명한다.
온라인 피팅 장치는 현재 샘플 사이즈(예를 들어, 샘플 사이즈(333))보다 몸무게가 작은 샘플 사이즈(들)은 무시하고, 시작 아바타 사이즈(예를 들어, 샘플 사이즈(330))의 피팅 상태 정보를 로드할 수 있다(ⓑ).
이후, 온라인 피팅 장치는 현재 샘플 사이즈(예를 들어, 샘플 사이즈(330))보다 몸무게가 큰 샘플 사이즈들(337,338)을 갖는 아바타들에 대한 피팅을 진행할 수 있다(ⓒ).
도 4는 일 실시예에 따라 의상을 타겟 아바타에 착장시키는 방법을 나타낸 흐름도이다. 도 4를 참조하면, 일 실시예에 따른 온라인 피팅 장치가 단계(410) 내지 단계(430)을 통해 사용자가 착장하고자 하는 의상을 타겟 아바타에 착장시키는 과정이 도시된다.
단계(410)에서, 온라인 피팅 장치는 질량 중심 좌표 정보로부터, 기준 아바타를 구성하는 제1 메쉬에 포함된 제1 다각형의 인덱스, 및 제1 다각형을 기준으로 제1 다각형과 매칭된 의상의 점의 3차원 위치를 표현하는 복수의 파라미터들을 추출할 수 있다.
단계(420)에서, 온라인 피팅 장치는 메쉬 토폴로지 및 제1 다각형의 인덱스에 기초하여, 타겟 아바타를 구성하는 제3 메쉬에서 제1 다각형에 대응하는 타겟 다각형을 식별할 수 있다.
단계(430)에서, 온라인 피팅 장치는 복수의 파라미터들을 타겟 다각형에 적용함으로써, 의상의 점의 3차원 위치를 결정할 수 있다. 이때, 결정된 의상의 점의 3차원 위치는 의상을 타겟 아바타에 착장시킨 결과에 해당할 수 있다.
도 5는 일 실시예에 따라 의상을 타겟 아바타에 착장시키는 방법을 설명하기 위한 도면이다. 도 5를 참조하면, 사용자의 신체 치수에 기초하여 선택된 기준 아바타를 구성하는 제1 메쉬의 제1 다각형(501) 및 선택된 기준 아바타와 동일한 메쉬 토폴로지(mesh topology)를 가지고, 사용자의 신체 치수에 대응하는 타겟 아바타를 구성하는 제3 메쉬의 타겟 다각형(503)이 도시된다.
온라인 피팅 장치는 기준 아바타에 착장된 타겟 사이즈의 의상의 각 점과 기준 아바타를 구성하는 제1 다각형(501) 사이의 질량 중심 좌표 정보를 획득할 수 있다.
온라인 피팅 장치는 획득한 질량 중심 좌표 정보로부터, 기준 아바타를 구성하는 제1 메쉬에 포함된 제1 다각형(501)의 인덱스(예를 들어, 인덱스 14), 및 제1 다각형(501)을 기준으로 제1 다각형(501)과 매칭된 의상의 점(520)의 3차원 위치를 표현하는 복수의 파라미터들을 추출할 수 있다. 이때, 온라인 피팅 장치는 제1 다각형(501)의 인덱스(예를 들어, 인덱스 14)에 더하여 질량 중심 좌표 정보를 산출하기 위한 계수들(coefficients)인 α, β 및 제1 다각형(501)의 질량 중심점(510)과 기준 아바타에 착장된 타겟 사이즈의 의상의 제2 다각형의 점(520) 사이의 오프셋을 추출할 수 있다.
온라인 피팅 장치는 기준 아바타와 동일한 메쉬 토폴로지 및 제1 다각형(501)의 인덱스(예를 들어, 인덱스 14)에 기초하여, 타겟 아바타를 구성하는 제3 메쉬에서 제1 다각형에 대응하는 타겟 다각형(503)을 식별할 수 있다. 일 실시예에서 기준 아바타와 타겟 아바타는 서로 동일한 메쉬 포톨로지를 가지므로 각 메쉬를 구성하는 다각형의 인덱스는 서로 매핑될 수 있다. 예를 들어, 기준 아바타의 특정 위치(예를 들어, 목)에 해당하는 다각형의 인덱스 14는 타겟 아바타의 특정 위치(예를 들어, 목)에 해당하는 다각형의 인덱스 14에 맵핑될 수 있다. 온라인 피팅 장치는 이러한 기준 아바타와 타겟 아바타의 다각형의 인덱스 간의 대응 관계를 이용하여 기준 아바타의 제1 다각형(501)에 대응하는 타겟 아바타의 타겟 다각형(503)을 식별할 수 있다.
온라인 피팅 장치는 다각형의 인덱스 간의 대응 관계를 통해 타겟 아바타의 타겟 다각형(503)의 세 점들의 위치를 알 수 있으므로 타겟 다각형(503)의 A’와 B’벡터를 알 수 있다. 온라인 피팅 장치는 타겟 다각형(503)의 A’와 B’벡터에 복수의 파라미터들(예를 들어, α, β)을 적용함으로써, 타겟 아바타에 착장되는 의상의 점(540)의 3차원 위치를 결정할 수 있다. 이때, 의상의 점(540)의 3차원 위치는 사용자가 착장하고자 하는 의상을 타겟 아바타에 착장시킨 결과에 해당할 수 있다.
온라인 피팅 장치는 제1 다각형(501)의 질량 중심점(510)과 기준 아바타에 착장된 의상의 제2 다각형의 점(520) 사이의 오프셋에 스케일(scale)을 적용하여 타겟 다각형(503)의 질량 중심점(530)과 타겟 아바타에 착장되는 의상의 다각형의 점(540) 사이의 오프셋에 적용할 수 있다. 하지만, 기준 아바타와 타겟 아바타의 사이즈가 유사하므로 스케일을 적용하지 않은 오프셋 값(제1 다각형(501)의 질량 중심점(510)과 기준 아바타에 착장된 의상의 제2 다각형의 점(520) 사이의 오프셋 값)을 그대로 타겟 다각형(503)의 질량 중심점(530)과 타겟 아바타에 착장되는 의상의 다각형의 점(540) 사이의 오프셋 값으로 결정할 수도 있다.
착장 시뮬레이션에서는 착장 이후의 충돌을 해소하는 최적화 과정이 수행되지만, 일 실시예에서 기준 아바타와 타겟 아바타의 사이즈가 유사하므로 충돌 해소를 위한 최적화 과정은 생략될 수 있다.
실시예에 따라서, 온라인 피팅 장치는 좌표계 방식을 이용하는 경우, 기준 아바타와 타겟 아바타 간의 변환 매트릭스 T에 의해 의상의 점을 변환하여 의상을 타겟 아바타에 착장시킬 수도 있다.
도 6은 일 실시예에 따른 의상이 부자재를 포함하는 경우에 의상을 타겟 아바타에 착장시키는 방법을 나타낸 흐름도이다. 도 6을 참조하면, 일 실시예에 따른 온라인 피팅 장치가 단계(610) 내지 단계(620)의 과정을 통해 부자재를 포함하는 의상을 타겟 아바타에 착장시키는 과정이 도시된다.
단계(610)에서, 온라인 피팅 장치는 의상에 부자재를 부착시킨 결과에 대응하는 제2 질량 중심 좌표 정보를 획득할 수 있다. 이때, 부자재는 제2 질량 중심 좌표 정보에 따라 의상에 매핑되어 있을 수 있다.
단계(620)에서, 온라인 피팅 장치는 제2 질량 중심 좌표 정보를 타겟 아바타에 착장된 의상에 적용할 수 있다.
또는 예를 들어, 부자재가 단추 등과 같이 그 형태 및 크기가 변형되지 않는 강체(rigid body)인 경우, 온라인 피팅 장치는 부자재를 구성하는 메쉬의 다각형의 어느 한 점에 대해 제2 질량 중심 좌표 정보 및 강체인 부자재의 3차원 자세(orientation)를 적용함으로써 제2 질량 중심 좌표 정보를 타겟 아바타에 착장된 의상에 적용할 수 있다. 온라인 피팅 장치는 부자재를 구성하는 메쉬의 다각형의 어느 한 점에 대해 제2 질량 중심 좌표 정보 및 부자재의 3차원 자세를 함께 적용함으로써 강체 타입의 부자재가 의상 위에서 원하는 자세로 제대로 매핑(mapping) 되도록 할 수 있다.
도 7은 일 실시예에 따라 착장 실패 여부를 검출하는 방법을 설명하기 위한 도면이고, 도 8은 일 실시예에 따라 착장 실패 여부를 검출하는 방법을 나타낸 흐름도이다.
도 7을 참조하면, 일 실시예에 따른 피팅 도중 아바타의 사이즈가 변경(예를 들어, 축소)되고, 피팅하는 의상 X가 변경된 사이즈의 아바타에 많지 않아 흘러내리는 상황을 나타낸 도면(710)이 도시된다.
도면(710)과 같이 의상 X의 사이즈가 너무 커서 아바타에 맞지 않는 상황이라면, 현재 아바타보다 작은 사이즈의 아바타(예를 들어, 같은 신장을 가지며 몸무게는 더 적은 아바타) 또한 의상 X를 입지 못한다고 간주할 수 있다. 이러한 상황은 의상 X의 사이즈가 작아지는 경우에도 마찬가지가 될 수 있다.
이와 같이 피팅에 실패할 것이라 간주되는 사이즈를 갖는 아바타(들)에 대해서는 피팅을 시도할 필요가 없으므로, 온라인 피팅 장치는 피팅을 시도할 필요가 없는 사이즈들에 대해 피팅을 수행하지 않는다. 일 실시예에서는 이와 같이 피팅을 수행하지 않는 사이즈들에 해당하는 아바타 샘플들의 개수를 줄임으로써 피팅 시 효율을 높일 수 있다.
이하, 도면(730) 및 도면(750)과 도 8을 참조하여 피팅에 실패할 것으로 간주되는 사이즈를 검출하는 방법을 보다 구체적으로 설명한다.
온라인 피팅 장치는 도면(730)와 같이 아바타(731)에 의상(733)이 잘 착장된 상태('초기 상태')에서 의상(733)과 아바타(731) 간의 거리를 산출하고, 산출한 거리를 저장할 수 있다. 아바타(731)는 예를 들어, 사용자의 신체 치수에 기초하여 선택된 기준 아바타일 수 있다.
이때, 의상(733)과 아바타(731) 간의 거리는 예를 들어, 의상(733)을 구성하는 각 정점(vetex)들과 해당 정점들에 가장 가까운 아바타(731)의 메쉬 사이의 거리에 의해 산출할 수 있다.
보다 구체적으로, 단계(810)에서, 온라인 피팅 장치는 의상(733)이 잘 착장된 초기 상태에서 아바타(731)와 접촉(contact)이 발생한 정점들의 집합
Figure pat00001
을 구할 수 있다. 이때, 초기 상태는 예를 들어, 의상을 기준 아바타에 착장시킨 상태에 해당할 수 있으며, 온라인 피팅 장치는 의상을 구성하는 제2 메쉬의 제2 다각형의 점들 중 기준 아바타를 구성하는 제1 메쉬와 접촉이 발생한 제2 다각형의 점들을 포함하는 제1 집합(예를 들어, 집합
Figure pat00002
)을 구할 수 있다. 이후, 온라인 피팅 장치는 아바타(731)와 접촉(contact)이 발생한 정점들의 집합
Figure pat00003
과 아바타(731)의 메쉬 사이의 거리를 산출할 수 있다.
단계(820)에서, 온라인 피팅 장치는 집합
Figure pat00004
에 속한 정점들(
Figure pat00005
)(
Figure pat00006
)과 아바타(731)를 구성하는
Figure pat00007
번째 메쉬
Figure pat00008
의 중점(즉, 질량 중심 좌표(barycentric coordinate)) 사이의 거리
Figure pat00009
를 산출할 수 있다. 온라인 피팅 장치는 예를 들어, 제1 집합에 속한 제2 다각형의 점들에 가장 가까운 제1 메쉬의 제1 다각형의 질량 중심 좌표와 제1 집합에 속한 제2 다각형의 점들 간의 거리를 거리
Figure pat00010
('제1 거리')로 산출할 수 있다.
온라인 피팅 장치는 도면(730)과 같이 의상(733)이 잘 착장된 초기 상태에서 의상(733)과 아바타(731) 간의 거리를 저장한 후, 온라인 피팅 장치는 의상(733)에 대한 아바타(731)의 샘플 사이즈를 변경시켜 가며 피팅 프로세스를 진행할 수 있다.
단계(830)에서, 온라인 피팅 장치는 아바타(731)의 다음 샘플 사이즈에 대해 피팅을 진행할 수 있다. 아바타의 샘플 사이즈가 변경됨에 따라, 온라인 피팅 장치는 변경된 아바타의 샘플 사이즈와 의상의 정점들 간의 거리를 산출할 수 있다.
단계(840)에서, 온라인 피팅 장치는 예를 들어, 도면(750)과 같이 의상의 정점들(
Figure pat00011
)과 아바타(731)의
Figure pat00012
번째 메쉬
Figure pat00013
' 간의 변경된 거리
Figure pat00014
를 산출할 수 있다. 단계(840)에서, 온라인 피팅 장치는 의상과 타겟 아바타 간의 거리
Figure pat00015
('제2 거리')를 산출할 수 있다. 보다 구체적으로, 온라인 피팅 장치는 의상을 구성하는 제2 메쉬의 제2 다각형의 점들 중 타겟 아바타를 구성하는 제3 메쉬의 타겟 다각형과 접촉이 발생한 제2 다각형의 점들의 제2 집합을 구하고, 제2 집합에 속한 제2 다각형의 점들에 가장 가까운 제3 메쉬의 타겟 다각형의 질량 중심 좌표와 제2 집합에 속한 제2 다각형의 점들 간의 거리를 제2 거리로 산출할 수 있다.
온라인 피팅 장치는 변경된 거리
Figure pat00016
간의 차이(
Figure pat00017
)를 기초로 의상(733)이 제대로 착장 되었는지 또는 착장이 실패했는지를 검출할 수 있다. 예를 들어, 도면(730)과 같이 의상(733)이 잘 착장되어 있던 초기 상태에서 벗어날수록
Figure pat00018
값은 커질 수 있다.
단계(850)에서, 온라인 피팅 장치는 전술한 특징을 이용하여 거리
Figure pat00019
간의 차이의 최대값 (
Figure pat00020
보다 큰지 여부를 결정할 수 있다.
단계(850)에서 거리
Figure pat00021
간의 차이의 최대값이 제1 임계치
Figure pat00022
보다 크다고 판단되면, 단계(860)에서 온라인 피팅 장치는 피팅에 실패한 것으로 판단하여 피팅에 실패한 아바타의 샘플 사이즈를 검출한 후 후처리를 진행할 수 있다. 단계(860)에서, 온라인 피팅 장치는 단계(840)로 돌아가 아바타의 새로운 샘플 사이즈와 의상의 정점들 간의 변경된 거리를 새로이 산출할 수 있다.
이와 달리, 단계(850)에서 거리
Figure pat00023
간의 차이의 최대값이 제1 임계치
Figure pat00024
보다 작거나 같다고 판단되면, 단계(870)에서 온라인 피팅 장치는 거리
Figure pat00025
간의 차이의 평균값(
Figure pat00026
)을 산출하고, 평균값이 제2 임계치
Figure pat00027
)보다 큰지 여부를 결정할 수 있다.
단계(870)에서 평균값이 제2 임계치보다 크다고 판단되면, 온라인 피팅 장치는 착장이 실패한 것으로 판단하여 단계(860)의 동작을 수행할 수 있다.
이와 달리, 단계(870)에서 평균값이 제2 임계치보다 작거나 같다고 판단되면, 온라인 피팅 장치는 단계(840)의 동작을 수행할 수 있다.
일 실시예에서 제1 임계치 및 제2 임계치는 피팅 실패 여부를 판단하는 기준이 되는 값으로써, 예를 들어, 실험 등을 통해 경험적으로 결정될 수 있다.
도 9는 일 실시예에 따른 온라인 피팅 장치가 후보 사이즈의 범위를 시각화하여 가이드하는 방법을 설명하기 위한 도면이다.
실시예에 따라서, 온라인 피팅 장치는 착장이 실패한 경우, 사용자가 입력한 신체 치수(910)에 기초하여 의상에 대응하는 후보 사이즈(candidate size)의 범위를 시각화(visualization)하여 제공할 수도 있다.
예를 들어, 의상 T의 구매를 고려하는 사용자 A가 키 164.8Cm, 몸무게 76kg의 신체 치수(910)를 입력했다고 하자. 이 경우, 온라인 피팅 장치는 사용자A가 입력한 신체 치수(910)와 동일 또는 유사한 신체 치수를 갖는 다른 사용자들이 실제 구매한 의상 T의 사이즈(또는 사이즈의 범위)를 930과 같이 시각화하여 사용자 A에게 가이드할 수 있다.
실시예에 따라서, 온라인 피팅 장치는 의상 T의 각 사이즈(예를 들어, S사이즈, M 사이즈, L 사이즈, 및 XL 사이즈 등)를 입을 수 있는 사용자의 신체 치수의 범위를 시각화하여 제공할 수도 있다.
도 10은 일 실시예에 따른 온라인 피팅 장치의 블록도이다. 도 10을 참조하면, 일 실시예에 따른 온라인 피팅 장치(1000)는 사용자 인터페이스(1010), 통신 인터페이스(1030), 프로세서(1050), 디스플레이(1070), 및 메모리(1090)를 포함할 수 있다. 사용자 인터페이스(1010), 통신 인터페이스(1030), 프로세서(1050), 디스플레이(1070), 및 메모리(1090)는 통신 버스(1005)를 통해 서로 통신할 수 있다
사용자 인터페이스(1010)는 사용자로부터, 사용자의 신체 치수 및 사용자가 착장하고자 하는 의상에 대한 타겟 사이즈를 입력받는다.
통신 인터페이스(1030)는 사용자의 신체 치수에 기초하여 선택된 기준 아바타에 타겟 사이즈의 의상을 착장시킨 결과에 대응하는 질량 중심 좌표 정보를 획득한다. 이때, 질량 중심 좌표 정보는 예를 들어, 기준 아바타를 구성하는 제1 메쉬의 제1 다각형과 기준 아바타에 착장시킨 의상을 구성하는 제2 메쉬의 제2 다각형의 점 사이의 3차원 위치 변환 관계를 나타내는 파라미터들, 및 제2 다각형의 인덱스 중 적어도 하나를 포함할 수 있다. 파라미터들은 예를 들어, 질량 중심 좌표 정보를 산출하기 위한 계수들, 및 제1 다각형과 제2 다각형의 점 사이의 오프셋 중 적어도 하나를 포함할 수 있다.
프로세서(1050)는 기준 아바타와 동일한 메쉬 토폴로지를 가지고, 사용자의 신체 치수에 대응하는 타겟 아바타를 생성한다. 프로세서(1050)는 질량 중심 좌표 정보를 타겟 아바타에 적용함으로써, 의상을 타겟 아바타에 착장시킨다.
프로세서(1050)는 예를 들어, 질량 중심 좌표 정보로부터, 기준 아바타를 구성하는 제1 메쉬에 포함된 제1 다각형의 인덱스, 및 제1 다각형을 기준으로 제1 다각형과 매칭된 의상의 점의 3차원 위치를 표현하는 복수의 파라미터들을 추출할 수 있다. 프로세서(1050)는 메쉬 토폴로지 및 제1 다각형의 인덱스에 기초하여, 타겟 아바타를 구성하는 제3 메쉬에서 제1 다각형에 대응하는 타겟 다각형을 식별할 수 있다. 프로세서(1050)는 복수의 파라미터들을 타겟 다각형에 적용함으로써, 의상의 점의 3차원 위치를 결정할 수 있다. 이때, 프로세서(1050)에 의해 결정된 의상의 점의 3차원 위치는 의상을 타겟 아바타에 착장시킨 결과에 해당할 수 있다.
프로세서(1050)는 예를 들어, 기준 아바타를 구성하는 제1 메쉬의 제1 다각형의 인덱스와 타겟 아바타를 구성하는 제3 메쉬의 타겟 다각형의 인덱스 간의 대응 관계를 통해 제1 다각형에 맵핑되는 타겟 다각형을 식별할 수 있다 프로세서(1050)는 제1 다각형에 맵핑되는 타겟 다각형의 각 점들에 질량 중심 좌표 정보를 적용함으로써 의상을 타겟 아바타에 착장시킬 수 있다.
실시예에 따라서, 의상이 버튼, 장식, 그래픽, 로고(logo) 등과 같은 부자재를 포함하는 경우, 프로세서(1050)는 의상에 부자재를 부착시킨 결과에 대응하는 제2 질량 중심 좌표 정보를 획득할 수 있다. 프로세서(1050)는 제2 질량 중심 좌표 정보를 타겟 아바타에 착장된 의상에 적용할 수 있다.
디스플레이(1070)는 프로세서(1050)가 의상을 타겟 아바타에 착장시킨 결과를 표시한다.
메모리(1090)는 사용자 인터페이스(1010)를 통해 입력받은 사용자의 신체 치수 및 사용자가 착장하고자 하는 의상에 대한 타겟 사이즈를 저장할 수 있다. 메모리(1090)는 통신 인터페이스(1030)를 통해 획득한 질량 중심 좌표 정보를 저장할 수 있다.
또한, 메모리(1090)는 프로세서(1050)가 생성한 타겟 아바타에 대한 정보 및/또는 의상을 타겟 아바타에 착장시킨 결과를 저장할 수 있다.
이 밖에도, 메모리(1090)는 상술한 프로세서(1050)의 처리 과정에서 생성되는 다양한 정보들을 저장할 수 있다. 이 밖에도, 메모리(1090)는 각종 데이터와 프로그램 등을 저장할 수 있다. 메모리(1090)는 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(1090)는 하드 디스크 등과 같은 대용량 저장 매체를 구비하여 각종 데이터를 저장할 수 있다.
또한, 프로세서(1050)는 도 1 내지 도 9를 통해 전술한 적어도 하나의 방법 또는 적어도 하나의 방법에 대응되는 알고리즘을 수행할 수 있다. 프로세서(1050)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 프로세서(650)는 예를 들어, CPU(Central Processing Unit), GPU(Graphics Processing Unit), 또는 NPU(Neural network Processing Unit)으로 구성될 수 있다. 예를 들어, 하드웨어로 구현된 온라인 피팅 장치(600)는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
프로세서(1050)는 프로그램을 실행하고, 온라인 피팅 장치(1000)를 제어할 수 있다. 프로세서(1050)에 의하여 실행되는 프로그램 코드는 메모리(1090)에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (21)

  1. 사용자로부터, 상기 사용자의 신체 치수 및 상기 사용자가 착장하고자 하는 의상에 대한 타겟 사이즈(target size)를 입력받는 단계;
    상기 사용자의 신체 치수에 기초하여 선택된 기준 아바타에 상기 타겟 사이즈의 상기 의상을 착장시킨 결과에 대응하는 질량 중심 좌표(barycentric coordinate) 정보를 획득하는 단계;
    상기 기준 아바타와 동일한 메쉬 토폴로지(mesh topology)를 가지고, 상기 사용자의 신체 치수에 대응하는 타겟 아바타(target avatar)를 생성하는 단계;
    상기 질량 중심 좌표 정보를 상기 타겟 아바타에 적용함으로써, 상기 의상을 상기 타겟 아바타에 착장시키는 단계; 및
    상기 의상을 상기 타겟 아바타에 착장시킨 결과를 표시하는 단계
    를 포함하는,
    온라인 피팅 방법.
  2. 제1항에 있어서,
    상기 질량 중심 좌표 정보는
    상기 기준 아바타를 구성하는 제1 메쉬의 제1 다각형과 상기 기준 아바타에 착장시킨 상기 의상을 구성하는 제2 메쉬의 제2 다각형의 점(point) 사이의 3차원 위치 변환 관계를 나타내는 파라미터들, 및 상기 제1 다각형의 인덱스 중 적어도 하나를 포함하는,
    온라인 피팅 방법.
  3. 제2항에 있어서,
    상기 파라미터들은
    상기 질량 중심 좌표 정보를 산출하기 위한 계수들(coefficients), 상기 제1 다각형과 상기 제2 다각형의 점 사이의 오프셋(offset), 및 상기 질량 중심 좌표 정보에 대응되는 상기 제2 메쉬의 식별 정보 중 적어도 하나를 포함하는,
    온라인 피팅 방법.
  4. 제1항에 있어서,
    상기 의상을 상기 타겟 아바타에 착장시키는 단계는
    상기 질량 중심 좌표 정보로부터, 상기 기준 아바타를 구성하는 제1 메쉬에 포함된 제1 다각형의 인덱스, 및 상기 제1 다각형을 기준으로 상기 제1 다각형과 매칭된 상기 의상의 점의 3차원 위치를 표현하는 복수의 파라미터들을 추출하는 단계;
    상기 메쉬 토폴로지 및 상기 제1 다각형의 인덱스에 기초하여, 상기 타겟 아바타를 구성하는 제3 메쉬에서 상기 제1 다각형에 대응하는 타겟 다각형을 식별하는 단계; 및
    상기 복수의 파라미터들을 상기 타겟 다각형에 적용함으로써, 상기 의상의 점의 3차원 위치를 결정하는 단계
    를 포함하고,
    상기 결정된 의상의 점의 3차원 위치는 상기 의상을 상기 타겟 아바타에 착장시킨 결과에 해당하는,
    온라인 피팅 방법.
  5. 제1항에 있어서,
    상기 의상을 상기 타겟 아바타에 착장시키는 단계는
    상기 기준 아바타를 구성하는 제1 메쉬의 제1 다각형의 인덱스와 상기 타겟 아바타를 구성하는 제3 메쉬의 타겟 다각형의 인덱스 간의 대응 관계를 통해 상기 제1 다각형에 맵핑(mapping)되는 타겟 다각형을 식별하는 단계; 및
    상기 제1 다각형에 맵핑되는 상기 타겟 다각형의 각 점들에 상기 질량 중심 좌표 정보를 적용함으로써 상기 의상을 상기 타겟 아바타에 착장시키는 단계
    를 포함하는,
    온라인 피팅 방법.
  6. 제1항에 있어서,
    상기 의상이 부자재(supplemental material)를 포함하는 경우, 상기 의상을 상기 타겟 아바타에 착장시키는 단계는
    상기 의상에 상기 부자재를 부착시킨 결과에 대응하는 제2 질량 중심 좌표 정보를 획득하는 단계; 및
    상기 제2 질량 중심 좌표 정보를 상기 타겟 아바타에 착장된 의상에 적용하는 단계
    를 포함하는,
    온라인 피팅 방법.
  7. 제6항에 있어서,
    상기 부자재가 강체(rigid body)인 경우, 상기 제2 질량 중심 좌표 정보를 상기 타겟 아바타에 착장된 의상에 적용하는 단계는
    상기 부자재를 구성하는 메쉬의 다각형의 어느 한 점에 대해 상기 제2 질량 중심 좌표 정보 및 상기 부자재의 3차원 자세(orientation)를 적용함으로써 상기 제2 질량 중심 좌표 정보를 상기 타겟 아바타에 착장된 의상에 적용하는 단계
    를 포함하는,
    온라인 피팅 방법.
  8. 제1항에 있어서,
    상기 질량 중심 좌표 정보를 획득하는 단계는
    상기 질량 중심 좌표 정보를 서버로부터 수신하는 단계; 및
    상기 질량 중심 좌표 정보를 데이터베이스로부터 호출하는 단계
    중 적어도 하나를 포함하는,
    온라인 피팅 방법.
  9. 제1항에 있어서,
    신체 부위 별로 상이한 신체 치수들을 가지는 기준 아바타들에 서로 다른 사이즈의 의상들을 미리 착장시킨 결과에 대응하는 질량 중심 좌표 정보를 데이터베이스에 저장하는 단계
    를 더 포함하는,
    온라인 피팅 방법.
  10. 제9항에 있어서,
    상기 신체 치수들은
    상기 의상의 사이즈 별로 단위(unit) 간격으로 샘플링(sampling)된 상기 기준 아바타들의 신체 치수들에 대응하는,
    온라인 피팅 방법.
  11. 제1항에 있어서,
    상기 착장시킨 결과를 표시하는 단계는
    상기 의상을 상기 타겟 아바타에 착장시킨 결과를 기초로, 상기 착장이 실패했는지 여부를 결정하는 단계; 및
    상기 착장이 실패한 것으로 결정된 경우, 상기 착장이 실패했음을 알리는 메시지를 표시하는 단계
    를 포함하는,
    온라인 피팅 방법.
  12. 제11항에 있어서,
    상기 착장이 실패했는지 여부를 결정하는 단계는
    상기 의상을 상기 타겟 아바타에 착장시킨 결과, 상기 타겟 아바타를 구성하는 제3 메쉬의 타겟 다각형과 상기 기준 아바타에 착장시킨 상기 의상을 구성하는 제2 메쉬의 제2 다각형 간에 인터섹션(intersection)이 발생하는지 여부를 결정하는 단계; 및
    상기 인터섹션이 발생하는 경우, 상기 착장이 실패했음을 알리는 메시지를 표시하는 단계
    를 포함하는,
    온라인 피팅 방법.
  13. 제11항에 있어서,
    상기 착장이 실패했는지 여부를 결정하는 단계는
    상기 의상을 상기 기준 아바타에 착장시킨 상태에서 상기 의상과 상기 기준 아바타 간의 제1 거리를 산출하는 단계;
    상기 의상과 상기 타겟 아바타 간의 제2 거리를 산출하는 단계; 및
    상기 제1 거리와 상기 제2 거리 간의 차이를 기초로 상기 착장이 실패했는지 여부를 결정하는 단계
    를 포함하는,
    온라인 피팅 방법.
  14. 제13항에 있어서,
    상기 제1 거리를 산출하는 단계는
    상기 의상을 구성하는 제2 메쉬의 제2 다각형의 점들 중 상기 기준 아바타를 구성하는 제1 메쉬와 접촉이 발생한 제2 다각형의 점들을 포함하는 제1 집합을 구하는 단계; 및
    상기 제1 집합에 속한 제2 다각형의 점들에 가장 가까운 상기 제1 메쉬의 제1 다각형의 질량 중심 좌표와 상기 제1 집합에 속한 제2 다각형의 점들 간의 거리를 상기 제1 거리로 산출하는 단계
    를 포함하는,
    온라인 피팅 방법.
  15. 제13항에 있어서,
    상기 제2 거리를 산출하는 단계는
    상기 의상을 구성하는 제2 메쉬의 제2 다각형의 점들 중 상기 타겟 아바타를 구성하는 제3 메쉬의 타겟 다각형과 접촉이 발생한 제2 다각형의 점들의 제2 집합을 구하는 단계; 및
    상기 제2 집합에 속한 제2 다각형의 점들에 가장 가까운 상기 제3 메쉬의 타겟 다각형의 질량 중심 좌표와 상기 제2 집합에 속한 제2 다각형의 점들 간의 거리를 상기 제2 거리로 산출하는 단계
    를 포함하는,
    온라인 피팅 방법.
  16. 제13항에 있어서,
    상기 제1 거리와 상기 제2 거리 간의 차이를 기초로 상기 착장이 실패했는지 여부를 결정하는 단계는
    상기 제1 거리와 상기 제2 거리 간의 차이의 최대값을 산출하는 단계; 및
    상기 최대값이 제1 임계치보다 큰 지 여부를 기초로, 상기 착장이 실패했는지 여부를 결정하는 단계
    를 포함하는,
    온라인 피팅 방법.
  17. 제13항에 있어서,
    상기 제1 거리와 상기 제2 거리 간의 차이를 기초로 상기 착장이 실패했는지 여부를 결정하는 단계는
    상기 제1 거리와 상기 제2 거리 간의 차이의 평균값을 산출하는 단계;
    상기 평균값이 제2 임계치보다 큰지 여부를 기초로, 상기 착장이 실패했는지 여부를 결정하는 단계
    를 포함하는,
    온라인 피팅 방법.
  18. 제1항에 이어서,
    상기 사용자의 신체 치수에 기초하여 상기 의상에 대응하는 후보 사이즈(candidate size)를 가이드하는 단계
    를 더 포함하는,
    온라인 피팅 방법.
  19. 제18항에 있어서,
    상기 후보 사이즈를 가이드하는 단계는
    상기 착장이 실패한 경우, 상기 사용자의 신체 치수에 기초하여 상기 의상에 대응하는 후보 사이즈의 범위를 시각화(visualization)하여 제공하는 단계
    를 포함하는,
    온라인 피팅 방법.
  20. 하드웨어와 결합되어 제1항 내지 제19항 중 어느 한 항의 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램.
  21. 사용자로부터, 상기 사용자의 신체 치수 및 상기 사용자가 착장하고자 하는 의상에 대한 타겟 사이즈를 입력받는 사용자 인터페이스;
    상기 사용자의 신체 치수에 기초하여 선택된 기준 아바타에 상기 타겟 사이즈의 상기 의상을 착장시킨 결과에 대응하는 질량 중심 좌표 정보를 획득하는 통신 인터페이스;
    상기 기준 아바타와 동일한 메쉬 토폴로지를 가지고, 상기 사용자의 신체 치수에 대응하는 타겟 아바타를 생성하고, 상기 질량 중심 좌표 정보를 상기 타겟 아바타에 적용함으로써, 상기 의상을 상기 타겟 아바타에 착장시키는 프로세서; 및
    상기 의상을 상기 타겟 아바타에 착장시킨 결과를 표시하는 디스플레이
    를 포함하는,
    온라인 피팅 장치.
KR1020200153168A 2020-11-16 2020-11-16 온라인 피팅 방법 및 장치 KR102543605B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020200153168A KR102543605B1 (ko) 2020-11-16 2020-11-16 온라인 피팅 방법 및 장치
US17/517,674 US11922577B2 (en) 2020-11-16 2021-11-03 Method and apparatus for online fitting
PCT/KR2021/015989 WO2022103080A1 (en) 2020-11-16 2021-11-05 Method and apparatus for online fitting
CN202111316740.2A CN114511369A (zh) 2020-11-16 2021-11-08 在线试穿方法及装置
EP21208240.8A EP4002292A3 (en) 2020-11-16 2021-11-15 Method and apparatus for online fitting

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200153168A KR102543605B1 (ko) 2020-11-16 2020-11-16 온라인 피팅 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20220066774A true KR20220066774A (ko) 2022-05-24
KR102543605B1 KR102543605B1 (ko) 2023-06-20

Family

ID=78621800

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200153168A KR102543605B1 (ko) 2020-11-16 2020-11-16 온라인 피팅 방법 및 장치

Country Status (5)

Country Link
US (1) US11922577B2 (ko)
EP (1) EP4002292A3 (ko)
KR (1) KR102543605B1 (ko)
CN (1) CN114511369A (ko)
WO (1) WO2022103080A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11568621B2 (en) * 2020-12-31 2023-01-31 Blizzard Entertainment, Inc. Dynamic character model fitting of three-dimensional digital items
CN115147324B (zh) * 2022-08-01 2024-03-22 聚好看科技股份有限公司 一种人体模型和衣物模型的融合方法及设备
CN115358828B (zh) * 2022-10-14 2023-03-28 阿里巴巴(中国)有限公司 基于虚拟试穿的信息处理与交互方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140123228A (ko) * 2013-04-12 2014-10-22 (주)에프엑스기어 깊이 정보 기반으로 3차원 의상 착용 모델을 제공하는 장치 및 방법
KR20190114676A (ko) * 2018-03-30 2019-10-10 (주)클로버추얼패션 아바타에 착장된 의상의 전이 패턴 생성 방법
KR20200015925A (ko) * 2020-01-28 2020-02-13 주식회사 자이언소프트 가상 피팅 시스템

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007083602A1 (ja) * 2006-01-23 2007-07-26 National University Corporation Yokohama National University 補間処理方法、補間処理装置、形状評価方法、および形状評価装置
US20100030578A1 (en) * 2008-03-21 2010-02-04 Siddique M A Sami System and method for collaborative shopping, business and entertainment
KR100947439B1 (ko) 2008-06-12 2010-03-12 주식회사 넥슨 체형 변화에 따라 아이템을 실시간으로 모핑하는 시스템 및방법
US10332176B2 (en) * 2014-08-28 2019-06-25 Ebay Inc. Methods and systems for virtual fitting rooms or hybrid stores
CN103871106A (zh) * 2012-12-14 2014-06-18 韩国电子通信研究院 利用人体模型的虚拟物拟合方法及虚拟物拟合服务系统
US20150006334A1 (en) * 2013-06-26 2015-01-01 International Business Machines Corporation Video-based, customer specific, transactions
US9911220B2 (en) * 2014-07-28 2018-03-06 Adobe Systes Incorporated Automatically determining correspondences between three-dimensional models
KR20190063742A (ko) 2017-11-30 2019-06-10 최창원 가상 피팅 서비스 장치 및 방법
RU2019125602A (ru) * 2019-08-13 2021-02-15 Общество С Ограниченной Ответственностью "Тексел" Комплексная система и способ для дистанционного выбора одежды

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140123228A (ko) * 2013-04-12 2014-10-22 (주)에프엑스기어 깊이 정보 기반으로 3차원 의상 착용 모델을 제공하는 장치 및 방법
KR20190114676A (ko) * 2018-03-30 2019-10-10 (주)클로버추얼패션 아바타에 착장된 의상의 전이 패턴 생성 방법
KR20200015925A (ko) * 2020-01-28 2020-02-13 주식회사 자이언소프트 가상 피팅 시스템

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Cordier F. et al. "Made-to-measure technologies for an online clothing store" IEEE Computer Graphics and Applications. vol.23, no.1, 1 January 2003. pp.38-48* *

Also Published As

Publication number Publication date
CN114511369A (zh) 2022-05-17
EP4002292A3 (en) 2022-06-15
US11922577B2 (en) 2024-03-05
KR102543605B1 (ko) 2023-06-20
US20220157020A1 (en) 2022-05-19
EP4002292A2 (en) 2022-05-25
WO2022103080A1 (en) 2022-05-19

Similar Documents

Publication Publication Date Title
KR102543605B1 (ko) 온라인 피팅 방법 및 장치
KR101790147B1 (ko) 가상 객체 조작 시스템 및 방법
JP5931215B2 (ja) 姿勢を推定する方法及び装置
JP6762709B2 (ja) 少なくとも1つの衣類を装着したアバタを設計するためのコンピュータ実施方法
Zurdo et al. Animating wrinkles by example on non-skinned cloth
US11734887B2 (en) Generating clothing patterns of garment using bounding volumes of body parts
US11308707B2 (en) Automated grading of clothing patterns of garment
WO2017141344A1 (ja) 3次元モデル生成システム、3次元モデル生成方法、及びプログラム
US10789774B2 (en) Method of generating transferred pattern of garment draped on avatar
EP2184714B1 (en) Layering simulation apparatus, simulation method, simulation program
CN112395787A (zh) 包括辅助材料的服装的放码方法及装置
KR102332069B1 (ko) 부자재 요소를 포함하는 의상의 그레이딩 방법 및 장치
US20230290100A1 (en) Method And Apparatus For Providing Guide For Combining Pattern Pieces Of Clothing
JP3765863B2 (ja) 衣服の動きのシミュレーション方法
EP2048622A1 (en) Device and its method for dressing simulation and program
EP4089562A1 (en) Designing garment using style line
KR102273317B1 (ko) 의상 패턴들의 오토 그레이딩 방법 및 장치
CN112486319B (zh) 基于触觉渲染设备的vr交互方法、装置、设备及介质
Zhong Fast penetration resolving for multi-layered virtual garment dressing
WO2005038723A1 (ja) 画像表示装置、画像表示方法、画像表示プログラム及び画像表示プログラムを記録したコンピュータ読み取り可能な記録媒体
CN112734936B (zh) 虚拟服装穿戴方法、穿戴比例计算方法及装置、电子设备
EP4371438A1 (en) Automatic arrangement of patterns for garment simulation using neural network model
KR101620109B1 (ko) 캐릭터 모자 아이템 조합 시스템 및 그 방법
Okumoto et al. A Multi-resolution Display Method for Digital Archives of Cultural Properties Using Polygon Reconsruction

Legal Events

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