KR20240073752A - 자동 배치 방법 및 자동 배치 장치 - Google Patents
자동 배치 방법 및 자동 배치 장치 Download PDFInfo
- Publication number
- KR20240073752A KR20240073752A KR1020230135931A KR20230135931A KR20240073752A KR 20240073752 A KR20240073752 A KR 20240073752A KR 1020230135931 A KR1020230135931 A KR 1020230135931A KR 20230135931 A KR20230135931 A KR 20230135931A KR 20240073752 A KR20240073752 A KR 20240073752A
- Authority
- KR
- South Korea
- Prior art keywords
- pattern
- patterns
- symmetrical
- points
- placement
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000003062 neural network model Methods 0.000 claims abstract description 138
- 238000009958 sewing Methods 0.000 claims description 82
- 238000004891 communication Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 32
- 230000008569 process Effects 0.000 description 22
- 239000000284 extract Substances 0.000 description 12
- 210000002414 leg Anatomy 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 210000001364 upper extremity Anatomy 0.000 description 8
- 239000004744 fabric Substances 0.000 description 7
- 210000003739 neck Anatomy 0.000 description 6
- 210000000707 wrist Anatomy 0.000 description 6
- 210000003423 ankle Anatomy 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000012805 post-processing Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000000704 physical effect Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000013526 transfer learning Methods 0.000 description 3
- 238000005452 bending Methods 0.000 description 2
- 230000037237 body shape Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 210000002683 foot Anatomy 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 210000004247 hand Anatomy 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 210000002832 shoulder Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/776—Validation; Performance evaluation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2004—Aligning objects, relative positioning of parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2024—Style variation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Architecture (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Processing Or Creating Images (AREA)
Abstract
일 실시예에 따른 자동 배치 방법 및 자동 배치 장치는 의상을 구성하는 패턴들의 모양 및 패턴들의 크기를 포함하는 패턴들 별 패턴 정보를 수신하고, 패턴들 별 패턴 정보를 기초로 산출한 신뢰도 점수들에 의해 패턴들을 분류 및 배치하도록 학습된 신경망 모델에 패턴들 별 패턴 정보를 인가함으로써 3차원 아바타에서 패턴들이 초기 배치되는 배치 포인트들을 예측하며, 배치 포인트들에 기초하여 3차원 아바타에 패턴들을 배치할 수 있다.
Description
실시예들은 패턴들의 자동 배치 방법 및 자동 배치 장치에 관한 것이다.
의상(clothes)은 사람이 착용한 경우에 3차원으로 보이지만, 실제로는 2차원의 패턴(pattern)에 따라 재단된 천 조각의 조합에 해당하므로 2차원에 가깝다. 의상의 재료가 되는 천은 유연(flexible)하기 때문에 의상을 착용한 사람의 신체 모양이나 움직임에 따라 그 형태가 다양하게 변화될 수 있다. 또한, 천은 예를 들어, 강도, 신축성, 및 수축률 등과 같은 다양한 물성을 가질 수 있으며, 천이 가지는 각 물성의 차이에 의해 동일한 디자인의 의상이라 하더라도 그 표현 형태 및 느낌이 상이할 수 있다.
패션 산업에서 컴퓨터 기반의 의상 시뮬레이션 기술이 실제 의상 디자인을 개발하는 데 널리 사용되고 있다. 의상 시뮬레이션 시에 사용자가 의상의 패턴들을 3차원 아바타의 적절한 위치에 직접 배치되도록 하고 있으나, 이는 많은 시간을 소요할 뿐만 아니라, 의상에 대한 전문적인 지식이 낮은 사용자에게 어려운 작업일 수 있다.
일 실시예에 따르면, 자동 배치 방법은 의상을 구성하는 패턴들의 모양 및 상기 패턴들의 크기를 포함하는 상기 패턴들 별 패턴 정보를 수신하는 단계; 상기 패턴들 별 패턴 정보를 기초로 산출한 신뢰도 점수들에 의해 상기 패턴들을 분류 및 배치하도록 학습된 신경망 모델에 상기 패턴들 별 패턴 정보를 인가함으로써 상기 패턴들이 3차원 아바타에서 초기 배치되는 배치 포인트들(arrangement points)을 예측하는 단계; 및 상기 배치 포인트들에 기초하여, 상기 3차원 아바타에 상기 패턴들을 배치하는 단계를 포함한다.
상기 신경망 모델은 상기 패턴들 별 패턴 정보로부터 특징들을 추출하고, 상기 특징들과 상기 패턴들의 크기를 이용하여 상기 패턴들 별로 상기 신뢰도 점수를 산출하고, 상기 패턴들 별 신뢰도 점수를 기초로, 상기 배치 포인트들의 이름, 및 상기 배치 포인트들의 3차원 위치 중 적어도 하나를 예측할 수 있다.
상기 신경망 모델은 상기 패턴들 별로 상기 예측한 배치 포인트들과 정답들(ground truths) 간의 제1 로스에 기초하여 학습될 수 있다.
상기 신경망 모델은 상기 예측한 배치 포인트들을 포함하는 대상 패턴이 배치판의 대분류 클래스 중 어디에 속하는지를 결정하고, 상기 대분류 클래스에 속하는 패턴들 각각의 상기 신뢰도 점수들을 산출하며, 상기 신뢰도 점수들을 합산하여 상기 대분류 클래스에 대응하는 신뢰도 점수를 산출할 수 있다.
상기 패턴들 별 패턴 정보는 상기 패턴들의 모양, 및 상기 패턴들의 크기에 더하여, 상기 패턴들의 대칭 정보, 및 상기 패턴들의 개수 중 적어도 하나를 포함하는 패턴 정보; 상기 패턴들의 너치(notch), 상기 패턴들의 재봉선, 상기 패턴들의 절개선, 상기 패턴들의 다트선, 상기 패턴들의 각 선분의 길이, 및 상기 패턴들의 각 선분들의 곡률 중 적어도 하나를 포함하는 상기 패턴들의 내부 선분 정보; 및 상기 3차원 아바타의 크기, 상기 3차원 아바타에서의 상기 배치 포인트들의 위치, 및 상기 배치 포인트들을 포함하는 배치판의 크기 중 적어도 하나를 포함하는 추가 정보 중 적어도 하나를 더 포함할 수 있다.
상기 신경망 모델은 상기 패턴들 별 패턴 정보를 기초로 산출한 신뢰도 점수들에 의해 상기 패턴들이 배치되는 상기 배치 포인트들에 대한 배치 정보를 예측하고, 상기 패턴들 중에서 서로 재봉되는 선분들의 쌍(pair), 및 상기 서로 재봉되는 선분들의 재봉 방향을 포함하는 재봉 정보를 더 예측하도록 학습될 수 있다.
상기 신경망 모델은 상기 서로 재봉되는 선분들의 재봉 유무, 및 상기 서로 재봉되는 선분들의 재봉 방향을 포함하는 예측된 재봉 정보와 상기 서로 재봉되는 선분들에 대응하는 정답 재봉 정보 간의 제2 로스에 기초하여 학습될 수 있다.
상기 신경망 모델은 상기 예측한 배치 포인트들에 배치된 패턴들 중 서로 재봉되는 패턴들의 선분들 사이의 길이에 기초한 제3 로스에 기초하여 학습될 수 있다.
상기 배치 포인트들을 예측하는 단계는 상기 패턴들 중 대상 패턴이 슈퍼 임포즈(super impose) 조건을 만족하는지 여부에 따라 상기 대상 패턴을 슈퍼 임포즈 패턴으로 결정하는 단계; 및 상기 슈퍼 임포즈 패턴을 제외한 나머지 패턴들의 패턴 정보를 상기 신경망 모델에 인가함으로써 상기 나머지 패턴들이 초기 배치되는 상기 배치 포인트들을 예측하는 단계를 포함할 수 있다.
상기 슈퍼 임포즈 조건은 상기 대상 패턴의 크기가 미리 설정된 임계 크기 이하인 조건; 상기 대상 패턴의 내부 선분에 재봉된 다른 패턴의 선분이 존재하는 조건; 및 상기 대상 패턴이 슈퍼 임포즈 패턴에 재봉으로 연결된 패턴에 해당하는 조건 중 적어도 하나를 포함할 수 있다.
상기 배치 포인트들을 예측하는 단계는 상기 대상 패턴이 상기 슈퍼 임포즈 패턴으로 결정된 경우, 상기 슈퍼 임포즈 패턴을 상기 슈퍼 임포즈 패턴과 함께 재봉되는 베이스 패턴 위에 겹쳐서 배치하는 단계를 포함할 수 있다.
상기 슈퍼 임포즈 패턴으로 결정하는 단계는 상기 대상 패턴이 서로 대칭되는 대칭 패턴들 중 어느 하나의 대칭 패턴에 해당하는지 여부를 결정하는 단계; 및 상기 대상 패턴이 상기 어느 하나의 대칭 패턴에 해당하는 경우, 상기 대칭 패턴들의 크기를 합산한 결과가 임계 크기 이하인지 여부에 따라 상기 어느 하나의 대칭 패턴을 상기 슈퍼 임포즈 패턴으로 결정하는 단계를 포함할 수 있다.
상기 패턴들을 배치하는 단계는 상기 패턴들이 서로 대칭되는 대칭 패턴들인지 여부, 상기 패턴들 간의 서로 재봉되는 선분들이 존재하는지 유무, 상기 패턴들에 대응하는 상기 신뢰도 점수들, 및 상기 패턴들의 크기 중 적어도 하나를 기초로, 상기 배치 포인트들에 상기 패턴들을 배치하는 단계를 포함할 수 있다.
상기 패턴들을 배치하는 단계는 상기 신뢰도 점수들이 미리 설정된 신뢰도 임계치를 초과하는지 여부를 결정하는 단계; 및 상기 신뢰도 점수들이 상기 신뢰도 임계치를 초과한다는 결정에 따라, 상기 배치 포인트들에 상기 패턴들을 배치하는 단계를 포함할 수 있다.
상기 신뢰도 임계치는 사용자 인터페이스(user interface)를 통해 조정 가능할 수 있다.
상기 패턴들을 배치하는 단계는 상기 패턴들 중 대상 패턴이 서로 대칭되는 대칭 패턴들 중 어느 하나의 제1 대칭 패턴에 해당하는지 여부를 결정하는 단계; 및 상기 대상 패턴이 상기 제1 대칭 패턴에 해당한다고 결정된 경우, 상기 제1 대칭 패턴에 대칭되는 제2 대칭 패턴과 상기 제1 대칭 패턴을 상기 3차원 아바타에서 서로 대칭되는 배치 포인트들에 배치하는 단계를 포함할 수 있다.
상기 서로 대칭되는 배치 포인트들에 배치하는 단계는 상기 제1 대칭 패턴이 상기 배치 포인트들에 배치되고, 상기 제2대칭 패턴이 상기 배치 포인트들에 배치되지 않은 경우, 상기 제1 대칭 패턴이 배치된 배치 포인트들에 대칭되는 위치에 있는 배치 포인트들에 상기 제2 대칭 패턴을 배치하는 단계를 포함할 수 있다.
상기 서로 대칭되는 배치 포인트들에 배치하는 단계는 상기 제1 대칭 패턴과 상기 제2 대칭 패턴 중 신뢰도 점수가 더 높은 패턴을 기준으로 상기 제1 대칭 패턴과 상기 제2 대칭 패턴을 상기 배치 포인트들에 배치하는 단계를 포함할 수 있다.
상기 서로 대칭되는 배치 포인트들에 배치하는 단계는 상기 패턴들이 대칭 패턴들에 해당하고, 다른 패턴과 서로 재봉되는 선분을 포함하는 경우, 상기 대칭 패턴들 중 상기 신뢰도 점수가 높은 대칭 패턴을 기준으로 상기 대칭 패턴들 및 상기 다른 패턴을 상기 배치 포인트들에 배치하는 단계를 포함할 수 있다.
상기 서로 대칭되는 배치 포인트들에 배치하는 단계는 상기 제1 대칭 패턴과 상기 제2 대칭 패턴에 대응하여 예측된 배치 포인트가 서로 동일한지 여부를 결정하는 단계; 및 상기 예측된 배치 포인트가 서로 동일하다고 결정된 경우, 상기 제1 대칭 패턴과 상기 제2 대칭 패턴 중 더 높은 신뢰도 점수를 갖는 대칭 패턴을 상기 예측된 배치 포인트에 배치하는 단계를 포함할 수 있다.
상기 패턴들을 배치하는 단계는 상기 패턴들 중 대상 패턴이 상기 의상에 대응하는 어느 하나의 배치판의 일부에 대응하고, 상기 어느 하나의 배치판에서 상기 일부에 대응하는 상기 대상 패턴을 제외한 나머지 패턴들이 존재하지 않는 경우, 상기 일부 패턴을 상기 어느 하나의 배치판의 중심 위치에 배치하는 단계를 포함할 수 있다.
상기 패턴들을 배치하는 단계는 상기 패턴들 중 대상 패턴이 슈퍼 임포즈 조건을 만족하는 슈퍼 임포즈 패턴이 배치되는 베이스 패턴에 해당하고, 상기 베이스 패턴이 상기 예측된 배치 포인트에 배치된 경우, 상기 슈퍼 임포즈 패턴을 상기 베이스 패턴 위에 배치하는 단계를 포함할 수 있다.
상기 패턴들은 상기 배치 포인트들 및 상기 배치 포인트들을 포함하는 배치판들에 대응하는 정보를 포함할 수 있다.
일 실시예에 따르면, 자동 배치 장치는 의상을 구성하는 패턴들 별 패턴 정보를 기초로 산출한 신뢰도 점수들에 의해 상기 패턴들을 분류 및 배치하도록 학습된 신경망 모델을 포함하는 서버; 및 사용자로부터 수신한 상기 패턴들의 모양 및 상기 패턴들의 크기를 포함하는 상기 패턴들 별 패턴 정보를 상기 신경망 모델에 입력함으로써 3차원 아바타에서 상기 패턴들이 초기 배치되는 배치 포인트들을 예측한 결과를 수신하고, 상기 예측된 배치 포인트들에 따라 상기 3차원 아바타에 상기 패턴들을 배치하는 장치를 포함할 수 있다.
일 실시예에 따르면, 자동 배치 장치는 의상을 구성하는 패턴들의 모양 및 상기 패턴들의 크기를 포함하는 상기 패턴들 별 패턴 정보를 수신하는 통신 인터페이스; 및 상기 패턴들 별 패턴 정보를 기초로 산출한 신뢰도 점수들에 의해 상기 패턴들을 분류 및 배치하도록 학습된 신경망 모델에 상기 패턴들 별 패턴 정보를 인가함으로써 3차원 아바타에서 상기 패턴들이 초기 배치되는 배치 포인트들을 예측하고, 상기 배치 포인트들에 기초하여, 상기 3차원 아바타에 상기 패턴들을 배치하는 프로세서를 포함할 수 있다.
상기 자동 배치 장치는 상기 3차원 아바타의 상기 배치 포인트들에 상기 패턴들을 배치시킨 결과를 출력하는 출력 장치를 더 포함할 수 있다.
상기 신경망 모델은 상기 패턴들 별 패턴 정보로부터 특징들을 추출하고, 상기 특징들과 상기 패턴들의 크기를 이용하여 상기 패턴들 별로 상기 신뢰도 점수를 산출하고, 상기 패턴들 별 신뢰도 점수를 기초로, 상기 배치 포인트들의 이름, 및 상기 배치 포인트들의 3차원 위치 중 적어도 하나를 예측할 수 있다.
상기 프로세서는 상기 패턴들 중 대상 패턴이 슈퍼 임포즈 조건을 만족하는지 여부에 따라 상기 대상 패턴을 제외한 나머지 패턴들의 패턴 정보를 상기 신경망 모델에 인가함으로써 상기 나머지 패턴들이 초기 배치되는 상기 배치 포인트들을 예측할 수 있다.
상기 프로세서는 상기 패턴들이 서로 대칭되는 대칭 패턴들인지 여부, 상기 패턴들 간의 재봉 유무, 상기 패턴들에 대응하는 상기 신뢰도 점수들, 및 상기 패턴들의 크기 중 적어도 하나를 기초로, 상기 배치 포인트들에 상기 패턴들을 배치할 수 있다.
상기 프로세서는 상기 패턴들 중 대상 패턴이 서로 대칭되는 대칭 패턴들에 해당하는지 여부를 결정하고, 상기 대상 패턴이 상기 대칭 패턴들 중 어느 하나의 제1 대칭 패턴에 해당한다고 결정된 경우, 상기 제1 대칭 패턴에 대칭되는 제2 대칭 패턴과 상기 제1 대칭 패턴을 상기 3차원 아바타에서 서로 대칭되는 배치 포인트들에 배치할 수 있다.
일 측에 따르면, 수작업에 의한 배치 과정이 없이도 빠르고 정확하게 3차원 아바타에 의상 패턴을 자동으로 배치할 수 있다.
일 측에 따르면, 전처리 과정에서 베이스 패턴 위에 겹쳐서 배치되는 슈퍼 임포즈 패턴들을 신경망 모델의 예측 대상에서 미리 배제함으로써 신경망 모델의 연산 부하를 감소시킬 수 있다.
일 측에 따르면, 신경망 모델에 의해 예측된 배치 포인트들에 패턴들을 배치할 때에 다양한 후처리를 통해 패턴들이 보다 높은 정확도로 배치 포인트들에 배치되도록 할 수 있다.
일 측에 따르면, 사용자 인터페이스를 통해 사용자가 신뢰도 임계치를 조정 가능하게 함으로써 사용자가 만족하는 자동 배치 수준에 따라 패턴들의 자동 배치가 수행되도록 할 수 있다.
도 1은 일 실시예에 따른 자동 배치 방법을 나타낸 흐름도이다.
도 2는 일 실시예에 따른 신경망 모델의 동작을 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 배치 포인트들 및 배치 포인트들을 포함하는 배치판들을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 패턴들의 배치 포인트들의 클래스 분류 일 예시를 도시한 도면이다.
도 5는 일 실시예에 따른 의상 패턴에 대해 자동 배치가 수행되는 과정을 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 슈퍼 임포즈 패턴 및 베이스 패턴을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 대칭 패턴들을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 하나의 패턴의 패턴 정보가 입력되는 경우의 신경망 모델의 동작 방법을 설명하기 위한 도면이다.
도 9는 도 8에 도시된 신경망 모델의 학습 방법을 설명하기 위한 도면이다.
도 10a 및 도 10b는 일 실시예에 따른 복수의 패턴들이 입력되는 신경망 모델의 구조 및 동작 방법을 설명하기 위한 도면이다.
도 11은 일 실시예에 따른 복수의 패턴들의 패턴 정보, 내부 선분 정보 및 추가 정보가 입력되는 경우의 신경망 모델의 동작 방법을 설명하기 위한 도면이다.
도 12a, 도 12b 및 도 12c는 도 11에 도시된 신경망 모델의 학습 방법을 설명하기 위한 도면이다.
도 13a, 도 13b, 도 13c, 도 13d, 및 도 13e는 일 실시예에 따른 자동 배치 장치에서 자동 배치가 진행되는 과정을 나타낸다.
도 14는 일 실시예에 따른 자동 배치 장치의 블록도이다.
도 2는 일 실시예에 따른 신경망 모델의 동작을 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 배치 포인트들 및 배치 포인트들을 포함하는 배치판들을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 패턴들의 배치 포인트들의 클래스 분류 일 예시를 도시한 도면이다.
도 5는 일 실시예에 따른 의상 패턴에 대해 자동 배치가 수행되는 과정을 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 슈퍼 임포즈 패턴 및 베이스 패턴을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 대칭 패턴들을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 하나의 패턴의 패턴 정보가 입력되는 경우의 신경망 모델의 동작 방법을 설명하기 위한 도면이다.
도 9는 도 8에 도시된 신경망 모델의 학습 방법을 설명하기 위한 도면이다.
도 10a 및 도 10b는 일 실시예에 따른 복수의 패턴들이 입력되는 신경망 모델의 구조 및 동작 방법을 설명하기 위한 도면이다.
도 11은 일 실시예에 따른 복수의 패턴들의 패턴 정보, 내부 선분 정보 및 추가 정보가 입력되는 경우의 신경망 모델의 동작 방법을 설명하기 위한 도면이다.
도 12a, 도 12b 및 도 12c는 도 11에 도시된 신경망 모델의 학습 방법을 설명하기 위한 도면이다.
도 13a, 도 13b, 도 13c, 도 13d, 및 도 13e는 일 실시예에 따른 자동 배치 장치에서 자동 배치가 진행되는 과정을 나타낸다.
도 14는 일 실시예에 따른 자동 배치 장치의 블록도이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
또한, 실시 예의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
어느 하나의 실시 예에 포함된 구성요소와, 공통적인 기능을 포함하는 구성요소는, 다른 실시 예에서 동일한 명칭을 사용하여 설명하기로 한다. 반대되는 기재가 없는 이상, 어느 하나의 실시 예에 기재한 설명은 다른 실시 예에도 적용될 수 있으며, 중복되는 범위에서 구체적인 설명은 생략하기로 한다.
도 1은 일 실시예에 따른 자동 배치 방법을 나타낸 흐름도이다. 이하 실시예에서 각 단계들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 단계들의 순서가 변경될 수도 있으며, 적어도 두 단계들이 병렬적으로 수행될 수도 있다. 도 1을 참조하면, 일 실시예에 따른 자동 배치 장치는 단계(110) 내지 단계(130)을 통해 3차원 아바타에 패턴들을 배치할 수 있다.
단계(110)에서, 자동 배치 장치는 의상을 구성하는 패턴들의 모양 및 패턴들의 크기를 포함하는 패턴들 별 패턴 정보를 수신한다.
일반적으로 '의상 패턴'은 의상을 구성할 때 소재를 재단하기 위한 종이 옷본에 해당하며, 본 명세서에서 '의상 패턴들'은 컴퓨터 프로그램에 의해 가상으로 제작되는 2차원의 평면의 패턴에 해당할 수 있다. 의상 패턴들은 예를 들어, 사용자가 3차원 아바타에 착장시키고자 하는 의상의 제작에 이용되는 의상 패턴들일 수 있다. 이하, 설명의 편의를 위하여 '의상 패턴(들)'을 '패턴(들)'로 간략화하여 표현할 수 있으며, 별도의 기재가 없더라도 '패턴(들)'은 '의상 패턴(들)'을 의미하는 것으로 이해될 수 있다.
패턴들은 3차원 가상 의상(virtual clothes)의 시뮬레이션을 위하여 수많은 삼각형 메쉬(mesh)들의 합으로 모델링되는 가상의 2차원 의상 패턴들일 수 있다. 메쉬의 세 꼭지점은 질량을 가지고 있는 점(point mass)이며, 메쉬의 각 변은 그 질량을 연결하는 탄성을 가지고 있는 스프링들로 표현될 수 있다. 패턴들은 예를 들어, 질량-스프링 모델(Mass-Spring Model)에 의해 모델링될 수 있다. 여기서, 스프링들은 사용되는 천(fabric)의 물성에 따라 예를 들어, 신축(stretch), 비틀림(shear), 및 굽힘(bending)에 대한 각 저항값(resist)을 가질 수 있다. 각 꼭지점들은 중력 등과 같은 외부적인 힘(external force)과 신축, 비틀림, 및 굽힘의 내부적인 힘(internal force)의 작용에 따라 움직일 수 있다. 외부적인 힘과 내부적인 힘을 계산하여 각 꼭지점에 가해지는 힘을 구하면, 각 꼭지점의 변위 및 움직임의 속도를 구할 수 있다. 그리고 각 시점(time step)의 메쉬의 꼭지점들의 움직임을 통하여 가상 의상의 움직임을 시뮬레이션할 수 있다. 삼각형 메쉬로 이루어진 2차원의 가상 의상 패턴들을 3차원의 아바타에 착장(draping)시키면 물리 법칙에 기반한 자연스러운 모습의3차원 가상 의상을 구현할 수 있다.
패턴들 별 패턴 정보는 패턴 정보 이외에도, 패턴들의 내부 선분 정보, 및 추가 정보 중 적어도 하나를 더 포함할 수 있다. 패턴 정보는 패턴들의 모양 및 패턴들의 크기에 더하여, 패턴들의 대칭 정보, 및 패턴들의 개수 중 적어도 하나를 더 포함할 수 있다. 패턴들의 내부 선분 정보는 패턴들의 외곽선을 제외한 내부 선분에 대한 정보를 의미할 수 있다. 패턴들의 내부 선분 정보는 예를 들어, 패턴들의 너치(nutch), 패턴들의 재봉선, 패턴들의 절개선, 패턴들의 다트선, 패턴들의 각 선분의 길이, 및 패턴들의 각 선분들의 곡률 중 적어도 하나를 포함할 수 있으나, 반드시 이에 한정되지는 않는다. 본 명세서에서, 패턴의 '내부 선분'은 패턴의 외곽선을 제외한 나머지 선분들, 다시 말해 패턴의 내부에 존재하는 다양한 선분들을 포괄적으로 지칭하는 용어일 수 있다.
추가 정보는 예를 들어, 3차원 아바타의 크기, 3차원 아바타에서의 배치 포인트들의 위치, 및 배치 포인트들을 포함하는 배치판의 크기 중 적어도 하나를 포함할 수 있다.
단계(120)에서, 자동 배치 장치는 단계(110)에서 수신한 패턴들 별 패턴 정보를 기초로 산출한 신뢰도 점수들에 의해 패턴들을 분류 및 배치하도록 학습된 신경망 모델에 패턴들 별 패턴 정보를 인가함으로써 3차원 아바타에서 패턴들이 초기 배치되는 배치 포인트들(arrangement points)을 예측한다.
신경망 모델은 예를 들어, 패턴들 별 패턴 정보로부터 특징들을 추출하고, 특징들과 패턴들의 크기를 이용하여 패턴들 별로 신뢰도 점수를 산출할 수 있다.
신경망 모델은 패턴들 별 신뢰도 점수를 기초로, 배치 포인트들의 이름 및 배치 포인트들의 3차원 위치 중 적어도 하나를 예측할 수 있다. 신경망 모델은 예를 들어, 배치 포인트의 3차원 위치 좌표, 오프셋(offset), 및/또는 배치 포인트의 이름 등의 형태로 배치 포인트를 예측할 수 있으나, 반드시 이에 한정되지는 않는다. 여기서, '오프셋'은 3차원 위치 좌표 상의 특정 지점을 기준으로 x, y, z축으로 얼마나 움직였는지를 나타내는 값에 해당할 수 있다.
신경망 모델의 동작 방법을 아래의 도 2를 참조하여 보다 구체적으로 설명한다.
여기서, '배치 포인트(들)'은 아바타 별로 의상 시뮬레이션이 성공적으로 동작하도록 2차원에 존재하는 의상의 패턴(들)이 3차원 아바타의 적정 신체 부분 주위에 배치되도록 하는 초기 값 또는 초기 위치 값에 해당할 수 있다. 하나의 3차원 아바타에는 예를 들어, 109개의 배치 포인트들이 존재할 수 있으나, 반드시 이에 한정되지는 않는다. 또한, 배치 포인트들 및 배치 포인트들을 포함하는 배치판(들)에 대하여는 아래의 도 3을 참조하여 보다 구체적으로 설명한다.
실시예에 따라서, 자동 배치 장치는 단계(120)에 앞서, 슈퍼 임포즈 패턴을 신경망 모델의 예측을 통한 자동 배치 대상에서 미리 제외하는 '전처리(Pre-processing) 과정'을 수행할 수 있다.
자동 배치 장치는 패턴들 중 배치할 대상 또는 배치할 순서에 해당하는 패턴인 대상 패턴이 슈퍼 임포즈(super impose) 조건을 만족하는지 여부에 따라 대상 패턴을 슈퍼 임포즈 패턴으로 결정할 수 있다. 슈퍼 임포즈 조건은 예를 들어, 대상 패턴의 크기가 미리 설정된 임계 크기 이하인 조건, 대상 패턴의 내부 선분에 재봉된 다른 패턴의 선분이 존재하는 조건, 및 대상 패턴이 슈퍼 임포즈 패턴에 재봉으로 연결된 패턴에 해당하는 조건 중 적어도 하나를 포함할 수 있으나, 반드시 이에 한정되지는 않는다. 슈퍼 임포즈 조건 중 대상 패턴의 내부 선분에 재봉된 다른 패턴의 선분이 존재하는 조건, 및 대상 패턴이 슈퍼 임포즈 패턴에 재봉으로 연결된 패턴에 해당하는 조건을 '슈퍼 임포즈 재봉 조건'이라 부를 수 있다.
자동 배치 장치는 슈퍼 임포즈 패턴을 제외한 나머지 패턴들의 패턴 정보를 신경망 모델에 인가함으로써 나머지 패턴들의 배치 포인트들을 예측할 수 있다.
자동 배치 장치는 대상 패턴이 슈퍼 임포즈 패턴으로 결정된 경우, 슈퍼 임포즈 패턴을 슈퍼 임포즈 패턴과 함께 재봉되는 베이스 패턴 위에 겹쳐서 배치할 수 있다. 다시 말해, 자동 배치 장치는 슈퍼 임포즈 패턴을 배치 포인트들을 이용하여 배치하지 않고, 베이스 패턴의 중심점에 슈퍼 임포즈 패턴의 중심점을 겹쳐서 배치하거나, 또는 베이스 패턴의 재봉선에 슈퍼 임포즈 패턴의 재봉선을 겹쳐서 배치할 수 있다. 슈퍼 임포즈 패턴에 대하여는 아래의 도 6을 참조하여 보다 구체적으로 설명한다.
또한, 자동 배치 장치는 대상 패턴을 슈퍼 임포즈 패턴으로 결정할 때에 대상 패턴이 서로 대칭되는 대칭 패턴들 중 어느 하나의 대칭 패턴에 해당하는지 여부를 결정할 수 있다. 자동 배치 장치는 대상 패턴이 어느 하나의 대칭 패턴에 해당하는 경우, 대칭 패턴들의 크기를 합산한 결과가 임계 크기 이하인지 여부에 따라 어느 하나의 대칭 패턴을 슈퍼 임포즈 패턴으로 결정할 수 있다. 자동 배치 장치는 예를 들어, 대칭 패턴들의 크기를 합산한 결과가 임계 크기 이하인 경우, 어느 하나의 대칭 패턴을 슈퍼 임포즈 패턴으로 결정할 수 있다. 자동 배치 장치는 대칭 패턴들끼리는 슈퍼 임포즈 재봉 조건을 체크하지 않을 수 있다. 대칭 패턴(들)에 대하여는 아래의 도 7을 참조하여 보다 구체적으로 설명한다.
또는, 자동 배치 장치는 슈퍼 임포즈 패턴을 예를 들어, 슈퍼 임포즈 트리에 저장할 수 있다. 자동 배치 장치는 슈퍼 임포즈 트리에서 해당 슈퍼 임포즈 패턴을, 함께 재봉되는 베이스 패턴의 차일드 패턴(child pattern)으로 등록할 수 있다.
단계(130)에서, 자동 배치 장치는 단계(120)에서 예측된 배치 포인트들에 기초하여, 3차원 아바타에 패턴들을 배치한다.
자동 배치 장치는 패턴들이 서로 대칭되는 대칭 패턴들인지 여부, 패턴들 간에 서로 재봉되는 선분들('재봉선')이 존재하는지 유무, 패턴들에 대응하는 신뢰도 점수들, 및 패턴들의 크기 중 적어도 하나를 기초로, 배치 포인트들에 패턴들을 배치할 수 있다. 자동 배치 장치가 신경망 모델에 의해 예측된 배치 포인트들에 패턴들을 배치하는 과정은 신경망 모델에 의한 예측 과정 이후에 진행된다는 점에서 '후처리(Post processing) 과정'이라고 부를 수도 있다.
예를 들어, 패턴들이 대칭 패턴들에 해당하는 경우, 자동 배치 장치는 대칭 패턴들 중 신뢰도 점수가 높거나, 및/또는 면적이 넓은 어느 하나의 대칭 패턴(예: '제1 대칭 패턴')을 우선적으로 배치 포인트들에 배치할 수 있다. 제1 대칭 패턴이 배치된 후, 자동 배치 장치는 제1 대칭 패턴에 대칭되는 대칭 패턴(예: '제2 대칭 패턴')을 제1 대칭 패턴이 배치된 배치 포인트의 위치에 대칭되는 위치의 배치 포인트로 배치할 수 있다.
자동 배치 장치는 패턴들 중 대상 패턴이 2개의 대칭 패턴들 중 어느 하나에 해당하는 경우, 2개의 대칭 패턴들이 서로 대칭되는 배치 포인트에 배치되도록 할 수 있다. 자동 배치 장치는 패턴들 중 대상 패턴이 서로 대칭되는 대칭 패턴들 중 어느 하나의 제1 대칭 패턴에 해당하는지 여부를 결정할 수 있다. 자동 배치 장치는 대상 패턴이 제1 대칭 패턴에 해당한다고 결정된 경우, 제1 대칭 패턴에 대칭되는 제2 대칭 패턴과 제1 대칭 패턴을 3차원 아바타에서 서로 대칭되는 배치 포인트들에 배치할 수 있다. 자동 배치 장치는 신경망 모델에 의해 예측된 위치가 서로 대칭되는 좌, 우 배치 포인트들에 해당하지 않는 경우, 대칭 패턴들을 배치하지 않을 수 있다.
자동 배치 장치는 제1 대칭 패턴이 배치 포인트들에 배치되고, 제2대칭 패턴이 배치 포인트들에 배치되지 않은 경우, 제1 대칭 패턴이 배치된 배치 포인트들에 대칭되는 위치에 있는 배치 포인트들에 제2 대칭 패턴을 배치할 수 있다. 자동 배치 장치는 예를 들어, 좌, 우 대칭 패턴들 중 우측 대칭 패턴만이 배치 포인트들에 배치되고, 좌측 대칭 패턴이 배치 포인트들에 배치되지 않은 경우, 좌측 대칭 패턴을 우측 대칭 패턴이 배치된 배치 포인트에 대칭되는 위치에 있는 배치 포인트들에 배치할 수 있다.
자동 배치 장치는 패턴들이 대칭 패턴들에 해당하고, 다른 패턴과 서로 재봉되는 선분('재봉선')을 포함하는 경우, 대칭 패턴들 중 신뢰도 점수가 높은 대칭 패턴을 기준으로 대칭 패턴들 및 다른 패턴을 배치 포인트들에 배치할 수 있다.
자동 배치 장치는 제1 대칭 패턴과 제2 대칭 패턴에 대응하여 예측된 배치 포인트가 서로 동일한지 여부를 결정할 수 있다. 자동 배치 장치는 예측된 배치 포인트가 서로 동일하다고 결정된 경우, 제1 대칭 패턴과 제2 대칭 패턴 중 더 높은 신뢰도 점수를 갖는 대칭 패턴을 예측된 배치 포인트에 배치할 수 있다. 자동 배치 장치는 예를 들어, 2 개의 대칭 패턴들의 배치 위치가 동일한 하나의 배치 포인트로 예측된 경우, 대칭 패턴들 중 더 높은 신뢰도 점수를 갖는 대칭 패턴만을 해당 배치 포인트에 배치시키거나, 및/또는 대칭 패턴들 중 더 낮은 신뢰도 점수를 갖는 대칭 패턴의 위치를 변경할 수 있다.
아래의 도 3 및 도 4를 통해 보다 구체적으로 설명하겠지만, 대상 패턴이 예를 들어, 전면 몸통(Body_Front) 또는 후면 몸통(Body_Back)과 같은 하나의 배치판의 일부에 대응될 수 있다. 이와 같이 패턴들 중 대상 패턴이 의상에 대응하는 임의의 배치판의 일부에 대응하고, 어느 하나의 배치판에서 일부에 대응하는 대상 패턴을 제외한 나머지 패턴들이 존재하지 않는 경우, 자동 배치 장치는 일부 패턴을 어느 하나의 배치판의 중심 위치에 배치할 수 있다. 이 때, 자동 배치 장치는 중심 위치에 배치된 대상 패턴의 이름을 '전면 몸통 중심'과 같이 변경할 수 있다.
예를 들어, 패턴들 중 대상 패턴이 슈퍼 임포즈 조건을 만족하는 슈퍼 임포즈 패턴이 배치되는 베이스 패턴에 해당하고, 베이스 패턴이 예측된 배치 포인트에 배치된 경우, 자동 배치 장치는 슈퍼 임포즈 패턴을 베이스 패턴 위에 배치할 수 있다.
실시예에 따라서, 자동 배치 장치는 예를 들어, 신뢰도 점수들이 미리 설정된 신뢰도 임계치를 초과하는지 여부를 결정할 수 있다. 자동 배치 장치는 신뢰도 점수들이 신뢰도 임계치를 초과한다는 결정에 따라, 배치 포인트들에 패턴들을 배치할 수 있다. 이 때, 신뢰도 임계치는 레벨 별로 예를 들어, 1.0, 0.8, 0.4, 또는 0.0일 수 있다. 신뢰도 임계치는 사용자 인터페이스(user interface)를 통해 조정 가능할 수 있다. 자동 배치 장치는 사용자 인터페이스를 통해 사용자가 신뢰도 임계치를 조정 가능하게 함으로써 사용자가 만족하는 자동 배치 수준에 따라 패턴들의 자동 배치가 수행되도록 할 수 있다.
도 2는 일 실시예에 따른 신경망 모델의 동작을 설명하기 위한 도면이다. 도 2를 참조하면, 일 실시예에 따른 패턴들 별 패턴 정보(210)가 입력됨에 따라 신경망 모델(230)이 예측한 배치 포인트들(250)을 출력하는 과정을 나타낸 도면(200)이 도시된다.
패턴들 별 배치 정보(210)는 예를 들어, 패턴들의 모양(201) 및 패널들의 크기(203)를 포함할 수 있다.
패턴들의 모양(201)은 예를 들어, 일정 크기의 패턴 이미지 형태로 신경망 모델(230)에 입력될 수 있다. 패턴 이미지는 패턴의 테두리, 너치, 내부 선분 등을 렌더링한 이미지일 수도 있고, 또는 패턴의 테두리, 너치, 내부 선분 등을 렌더링한 후 정규화한 이미지일 수도 있다. 하나의 패턴 이미지는 예를 들어, 하나의 패턴의 모양을 포함하는 썸네일 이미지(thumbnail image)일 수도 있으나, 반드시 이에 한정되지는 않는다.
패턴(들)의 크기(203)는 패턴(들)의 실제 크기를 의미하며, 예를 들어, 제곱 미터(m2) 단위를 갖는 수치값일 수 있다. 자동 배치 장치는 예를 들어, 패턴 데이터베이스에 저장된 의상의 전체 패턴들의 크기의 평균 및/또는 표준 편차를 이용하여 패턴(들)의 크기(203)를 정규화할 수 있다.
신경망 모델(230)은 패턴 정보를 기초로 패턴들 각각에 대응하는 신뢰도 점수들을 산출하고, 신뢰도 점수들에 의해 패턴들을 분류 및 배치하도록 학습될 수 있다. 신경망 모델(230)은 패턴들 별 패턴 정보로부터 특징들을 추출할 수 있다. 신경망 모델(230)은 추출한 특징들과 패턴들의 크기를 이용하여 패턴들 별로 신뢰도 점수를 산출할 수 있다. 신경망 모델은 패턴들 별 신뢰도 점수를 기초로, 배치 포인트들(250)을 예측할 수 있다.
신경망 모델(230)은 예를 들어, 배치 포인트들(250)의 3차원 위치 좌표, 오프셋(offset), 및/또는 배치 포인트의 이름 등의 형태로 배치 포인트들(250)을 예측할 수 있으나, 반드시 이에 한정되지는 않는다.
배치 포인트들(250) 및 배치 포인트들을 포함하는 배치판에 대하여는 아래의 도 3을 참조하여 보다 구체적으로 설명한다.
도 3은 일 실시예에 따른 배치 포인트들 및 배치 포인트들을 포함하는 배치판들을 설명하기 위한 도면이다. 도 3을 참조하면, 일 실시예에 따른 3차원 아바타(310)에 지정되어 있는 복수 개(예: 109개)의 배치 포인트(들)(330) 및 복수 개의 배치 포인트들(330)을 포함하는 배치판(들)(350)을 나타낸 도면(300)이 도시된다.
배치 포인트(들)(330)은 3차원 아바타(310)의 신체 부위들에서 2차원 패턴들이 배치되는 지점들을 의미할 수 있다. 배치 포인트(들)(330)은 3차원 아바타(310) 별로 의상 시뮬레이션이 성공적으로 동작하도록 2차원 패턴들이 3차원 아바타(310)의 대응되는 신체 부위 주위로 인접하게 배치되도록 설정한 초기값에 해당할 수 있다.
배치 포인트(들)(330)의 이름은 배치판(들)(350)을 기준으로 해당 배치 포인트(들)(330)이 속한 배치판(들)(350)의 분류명에 해당할 수 있다. 배치 포인트(들)(330)의 이름은 예를 들어, 배치 포인트(들)(330)이 포함된 배치판의 대분류 명일 수도 있고, 또는 배치판의 대분류에 속하는 세부 배치판의 분류명일 수도 있다.
배치판(들)(350)은 3차원 아바타(350)의 체형 및 자세가 반영된 신체 부위별로 대응되는 배치 포인트들을 포함하는 판(들)을 의미할 수 있다. 배치판(들)(350)은 예를 들어, 양 손, 양 발, 양 팔꿈치, 양 무릎, 양 팔, 양 손목, 좌우 몸통 등과 같이 3차원 아바타의 각 신체 부위들에 대응하는 배치판(들)('신체 부위별 배치판')일 수 있다. 신체 부위별 배치판은 예를 들어, 해당 신체 부위를 감싸는 입체 기둥의 형태로 구성될 수 있다. 입체 기둥은 예를 들어, 원기둥, 타원 기둥, 다각 기둥 등을 포함할 수 있다. 신체 부위별 배치판은 입체 기둥 이외에도 다양한 형태로 구성될 수 있으며, 반드시 이에 한정되지 않는다.
배치판(들)(350)은 예를 들어, 몸통(Body) 배치판, 팔(Arm) 배치판, 손목(Wrist) 배치판, 어깨(Shoulder) 배치판, 다리(Leg) 배치판, 발목(Ankle) 배치판, 하반신(Lower body) 배치판, 목(Neck) 배치판, 및 머리(Head) 배치판 등과 같은 대분류로 구분될 수 있으나, 반드시 이에 한정되지는 않는다.
몸통 배치판은 예를 들어, 좌측 몸통 배치판과 우측 몸통 배치판, 또는 전면 몸통 배치판과 후면 몸통 배치판과 같은 2개의 세부 배치판들로 구성될 수 있다. 팔 배치판은 예를 들어, 좌, 우 양 팔의 세부 배치판들로 구성될 수 있다. 손목 배치판은 예를 들어, 좌, 우 양 손목의 세부 배치판들로 구성될 수 있다. 어깨 배치판은 예를 들어, 좌, 우 양 어깨의 세부 배치판들로 구성될 수 있다. 다리 배치판은 예를 들어, 좌, 우 양 다리, 또는 앞, 뒤의 다리 세부 배치판들로 구성될 수 있다. 발목 배치판은 예를 들어, 좌, 우 양 발목의 세부 배치판들로 구성될 수 있다. 하반신 배치판은 예를 들어, 좌, 우 하반신, 또는 전,후 하반신의 세부 배치판들로 구성될 수 있다. 목 배치판은 예를 들어, 좌, 우 양 목의 세부 배치판들로 구성될 수 있다. 머리 배치판은 예를 들어, 좌, 우, 수직 방향, 또는 X(가로), Y(세로), Z(깊이)의 3방향의 머리의 세부 배치판들로 구성될 수 있다.
자동 배치 장치는 신경망 모델을 통해 2차원 패턴(들)이 3차원 아바타(310)의 어느 신체 부위에 위치하는 어느 배치판의 어느 배치 포인트에 배치되어야 하는지를 예측하고, 예측한 정보를 2차원 패턴(들)에 저장할 수 있다.
자동 배치 장치는 2차원 패턴(들)에 저장된 정보에 따라 2차원 패턴(들)이 배치되어야 하는 배치판(350)의 배치 포인트들(330)을 2차원 패턴(들)의 초기 위치로 결정할 수 있다. 여기서, '초기 위치'는 배치 포인트들(330)에 의해 2차원 패턴들이 배치판(350)에서 처음 배치되는 위치를 의미할 수 있다. 자동 배치 장치는 결정된 초기 위치에 따라 2차원 패턴(들)을 3차원 아바타(310)에 배치할 수 있다.
일 실시예에 따르면, 사용자가 3차원 아바타(310)에 착장시키고자 하는 의상의 2차원 패턴들을 선택한 후, 2차원 패턴들을 착장 시킬 위치에 가까운 배치 포인트들을 직접 선택하여 배치하지 않더라도 자동 배치 장치가 해당 2차원 패턴을 3차원 아바타의 적절한 위치에 자동적으로 착장될 수 있다.
도 4는 일 실시예에 따른 배치 포인트들의 분류 일 예시를 도시한 도면이다. 도 4를 참조하면, 일 실시예에 따른 배치판(들)의 대분류 및 대분류에 포함된 각 세부 분류들을 구분한 결과를 나타낸 도면(400)이 도시된다.
일 실시예에 따른 배치판들은 예를 들어, 몸통(Body) 팔(Arm), 손목(Wrist), 목(Neck), 어깨(Shoulder), 다리(Leg) 등과 같은 상위 카테고리로 대분류될 수 있다.
또한, 상위 카테고리로 대분류된 배치판들은 예를 들어, 중간 카테고리 및/또는 하위 카테고리 등과 같이 다양한 형태로 세부 분류될 수 있다. 예를 들어, 대분류가 몸통(Body)으로 분류된 몸통(Body) 배치판은 전면 몸통(Body_Font) 배치판과 후면 몸통(Body_Back) 배치판과 같은 중간 카테고리로 분류될 수도 있다. 또는, 대분류가 몸통으로 분류된 몸통(Body) 배치판은 예를 들어, 전면 몸통 중심 2번(Body_Font_Center_2), 전면 몸통 중심 3번(Body_Font_Center_3), 전면 몸통 2번 우측(Body_Font_2_L), 전면 몸통 2번 좌측(Body_Font__2_R), 후면 몸통 중심 2번(Body_Back_Center_2), 후면 몸통 중심 3번(Body_Back_Center_3), 후면 몸통 2번 우측(Body_ Back_2_L), 후면 몸통 2번 좌측(Body_Back_2_R), 등과 같이 하위 카테고리로 세분화될 수도 있다.
일 실시예에 따른 배치 포인트들의 이름은 전술한 대분류 명칭('대분류명'), 중간 분류 명칭('중간 분류명') 또는 세부 분류 명칭('세분 분류명')에 해당할 수 있다.
도 5는 일 실시예에 따른 의상 패턴에 대해 자동 배치가 수행되는 과정을 설명하기 위한 도면이다. 도 5를 참조하면, 일 실시예에 따른 자동 배치 장치에 어느 하나의 패턴(예: 다리 우측 앞면 패턴)의 패턴 정보(510)가 입력됨에 따라 신경망 모델(530)이 패턴 정보(510)에 대응하는 배치 포인트에 대한 정보(예: 배치 포인트의 이름(550))를 예측하고, 예측한 정보에 따라 자동 배치 장치가 3차원 아바타(560)의 배치판(570)의 배치 포인트(들)(575)에 어느 하나의 패턴을 배치하는 과정을 나타낸 도면(500)이 도시된다.
자동 배치 장치는 다리 우측 앞면 패턴에 대한 패턴 정보(510)를 수신할 수 있다. 패턴 정보(510)는 예를 들어, 다리 우측 앞면 패턴의 패턴 모양(501)을 포함하는 패턴 이미지(502) 및 패턴 크기(503)를 포함할 수 있다.
패턴 이미지(502)의 크기는 예를 들어, 512 x 512 픽셀 사이즈 일수도 있고, 또는 224 x 224 픽셀 사이즈일 수도 있으나, 반드시 이에 한정되지는 않는다.
자동 배치 장치는 예를 들어, 패턴 이미지(502)가 512 x 512 픽셀 사이즈가 되도록 패턴 이미지(502)에서 흰색으로 표시된 패턴 모양(501)을 제외한 나머지의 공백 부분에 검은색 픽셀을 채워 넣을 수 있다. 자동 배치 장치는 예를 들어, 패턴 데이터베이스에 저장된 패턴 이미지들의 평균 및/또는 표준 편차를 이용하여 패턴 이미지(502)를 정규화(normalization)할 수 있다.
또는, 자동 배치 장치는 예를 들어, 이미지 넷(ImageNet)과 같은 대용량 데이터 세트에 의해 훈련된 신경망 모델을 이용한 전이 학습(Transfer Learning)을 진행하기 위해, 패턴 이미지(502)를 224 x 224 픽셀 사이즈를 갖는 영상으로 리사이징(resizing)할 수 있다. '전이 학습'은 특정 태스크를 학습한 신경망 모델의 일부 능력을, 유사하거나 전혀 새로운 다른 태스크의 수행 시에 재사용하는 기계 학습 기법에 해당할 수 있다.
패턴 크기(503)는 예를 들어, 0.8426 m2와 같이 실제 패턴의 크기일 수도 있고, 또는 실제 패턴 크기를 일정 비율로 정규화한 패턴의 크기에 해당할 수도 있다.
신경망 모델(530)은 패턴 정보(510)로부터 특징들을 추출할 수 있다. 특징들은 패턴 이미지(502)에 대응한 것일 수도 있고, 또는 패턴 이미지(502) 및 패턴 크기(503)에 대응한 것일 수도 있다. 특징들은 특징 벡터의 형태, 또는 특징 맵(535)의 형태를 가질 수 있으나, 반드시 이에 한정되지는 않는다.
신경망 모델(530)은 특징들(예: 특징 맵(535))과 패턴의 크기(503)를 이용하여 다리 우측 앞면 패턴에 대응하는 예측 점수들을 산출할 수 있다. 신경망 모델(530)은 특징들(예: 특징 맵(535))과 패턴들의 크기(예: 0.8426 m2)를 완전 연결 레이어들(fully connected layers)에 인가하여 통해 어느 하나의 패턴이 배치될 배치 포인트들에 대한 예측 점수들을 산출할 수 있다. 여기서, 배치 포인트들은 예를 들어, "몸판(Body)", "팔(Arm)", "손목(Wrist)", "목(Neck)", "어깨(Shoulder)", "다리(Leg)", "머리(Head)", 및 "발목(Ankle)" 등과 같이 배치판들에 속하는 대분류 카테고리에 해당할 수도 있고, 또는 중간 카테고리나 세부 카테고리에 해당할 수도 있다.
이때, 예측 점수들은 예를 들어, 소프트맥스 레이어를 통해 출력되는 값으로써, 다리 우측 앞면 패턴이 109개의 배치 포인트들 각각에 배치될 확률에 해당할 수 있다. 109개의 배치 포인트들 각각에 대응하는 예측 점수들 중 가장 큰 예측 점수에 대응하는 배치 포인트가 다리 우측 앞면 패턴이 배치될 배치 포인트에 해당할 수 있다. 또한, 이때 가장 큰 예측 점수가 다리 우측 앞면 패턴의 신뢰도 점수가 될 수 있다.
실시예에 따라서, 신경망 모델(530)은 예측한 배치 포인트에 해당하는 패턴이 배치판의 대분류 클래스 중 어디에 속하는지를 결정할 수 있다. 신경망 모델(530)은 대분류 클래스에 속하는 패턴들 각각의 신뢰도 점수들을 산출하고, 신뢰도 점수들을 합산하여 대분류 클래스에 대응하는 패턴들의 신뢰도 점수를 산출할 수도 있다.
신경망 모델(530)은 3차원 아바타(560)에 대응하는 배치판들 중 다리 우측 앞면 패턴이 배치될 배치판(570)의 배치 포인트(들)(575)를 예측할 수 있다. 이 때, 신경망 모델이 '배치 포인트를 예측한다'는 것은 배치 포인트가 예를 들어, "몸판(Body)", "팔(Arm)", "목(Neck)", 및 "다리(Leg)" 등과 같은 배치판들 중 어느 배치판에 속한 패턴인지를 나타내는 정보(550)를 예측한다는 의미로 이해될 수 있다. 또한, '어느 배치판에 속한 패턴인지를 나타내는 정보'는 예를 들어, 도 5에 도시된 "Leg_Back_L"와 같이 대상 패턴이 배치되는 배치판(570)에 속한 배치 포인트(들)(575)의 이름(550)일 수도 있고, 및/또는 대상 패턴이 배치되는 배치판(570)에 속한 배치 포인트(들)의 3차원 위치 좌표들일 수도 있으나, 반드시 이에 한정되지는 않는다.
자동 배치 장치는 예측한 배치 포인트(들)(575)에 기초하여 3차원 아바타(560)에 어느 하나의 패턴을 배치할 수 있다.
도 6은 일 실시예에 따른 슈퍼 임포즈 패턴 및 베이스 패턴을 설명하기 위한 도면이다. 도 6을 참조하면, 일 실시예에 따른 슈퍼 임포즈 패턴(super impose pattern)에 해당하는 포켓 패턴(610)이 베이스 패턴(base pattern)에 해당하는 몸통 전면 좌측 패턴(630)에 슈퍼 임포즈되기 전과 후를 나타낸 도면들(601, 603)이 도시된다.
자동 배치 장치는 도면(601)에 도시된 의상의 패턴들 중 대상 패턴이 슈퍼 임포즈(super impose) 조건을 만족하는지 여부를 판단하고, 슈퍼 임포즈 패턴에 해당하는 패턴을 슈퍼 임포즈 패턴으로 결정할 수 있다. 자동 배치 장치는 슈퍼 임포즈 패턴으로 결정된 패턴을 베이스 패턴 위에 약간의 간격을 두고 배치할 수 있으며, 이러한 배치를 '슈퍼 임포즈'라 부를 수 있다. 자동 배치 장치는 슈퍼 임포즈 패턴을 배치 포인트들을 이용하여 자동 배치할 패턴에서 배제함으로써 신경망 모델의 연산량을 감소시킬 수 있다.
자동 배치 장치는 예를 들어, 도면(601)과 같이 포켓 패턴(610)의 내부 선분에 재봉된 다른 패턴(예: 몸통 전면 좌측 패턴(630))의 선분이 존재하는 경우, 포켓 패턴(610)을 슈퍼 임포즈 패턴으로 결정할 수 있다. 자동 배치 장치는 슈퍼 임포즈 패턴으로 결정된 포켓 패턴(610)을 포켓 패턴(610)과 함께 재봉되는 베이스 패턴에 겹쳐서 배치할 수 있다. 여기서, 베이스 패턴은 포켓 패턴(610)과 재봉으로 서로 연결되는 상대 패턴으로써 몸통 전면 좌측 패턴(630)에 해당할 수 있다. 이때, 자동 배치 장치는 포켓 패턴(610)을 배치 포인트들을 이용하여 배치하지 않는다. 자동 배치 장치는 베이스 패턴인 몸통 전면 좌측 패턴(630) 상에 표시된 포켓 패턴(610)의 제1 재봉선에 대응하는 몸통 전면 좌측 패턴(630)의 제2 재봉선의 위치에 포켓 패턴(610)을 겹쳐서 도면(603)과 같이 배치할 수 있다.
자동 배치 장치가 슈퍼 임포즈 패턴을 결정하는데 사용하는 슈퍼 임포즈 조건은 예를 들어, 대상 패턴의 크기가 미리 설정된 임계 크기 이하인 조건, 대상 패턴의 내부 선분에 재봉된 다른 패턴의 선분이 존재하는 조건, 및 대상 패턴이 슈퍼 임포즈 패턴에 재봉으로 연결된 패턴에 해당하는 조건 중 적어도 하나를 포함할 수 있으나, 반드시 이에 한정되지는 않는다.
자동 배치 장치는 대상 패턴(예: 포켓 패턴(610))의 크기가 미리 설정된 임계 크기(예를 들어, 0.09 m2) 이하인 경우, 대상 패턴을 슈퍼 임포즈 패턴으로 결정하여 자동 배치 대상에서 제외할 수 있다. 예를 들어, 포켓 패턴(610)이 좌, 우 2개의 대칭 패턴들 중 하나인 경우, 자동 배치 장치는 2개의 포켓 패턴(610)의 넓이의 합이 임계 크기 이하에 해당하면 2개의 포켓 패턴(610)을 슈퍼 임포즈 패턴들로 결정할 수 있다.
자동 배치 장치는 대상 패턴(예: 포켓 패턴(610))의 내부 선분에 재봉된 다른 패턴(예: 몸통 전면 좌측 패턴(630))의 선분(재봉선)이 존재하는 경우, 대상 패턴을 슈퍼 임포즈 패턴으로 결정하여 자동 배치에서 제외할 수 있다.
이는 포켓 패턴(610)과 같이 서로 재봉되는 몸통 전면 좌측 패턴(630)이 존재하는 경우, 포켓 패턴(610)을 몸통 전면 좌측 패턴(630)의 재봉선에 따라 배치하는 것이 배치 포인트를 이용한 자동 배치보다 정확도가 높은 경우가 발생할 수 있기 때문이다.
자동 배치 장치는 슈퍼 임포즈된 포켓 패턴(610)에 재봉으로 연결된 다른 패턴이 존재하는 경우, 다른 패턴 또한 슈퍼 임포즈 패턴으로 결정할 수 있다.
또한, 자동 배치 장치는 대상 패턴을 슈퍼 임포즈 패턴으로 결정할 때에 대상 패턴이 서로 대칭되는 대칭 패턴들 중 어느 하나의 대칭 패턴에 해당하는지 여부를 결정할 수 있다. 자동 배치 장치는 예를 들어, 좌측 팔 패턴과 우측 팔 패턴, 좌측 다리 패턴과 우측 다리 패턴과 같은 대칭 패턴들끼리는 전술한 슈퍼 임포즈 조건을 체크하지 않고, 배치 포인트들에 의한 자동 배치를 수행할 수 있다.
도 7은 일 실시예에 따른 대칭 패턴들을 설명하기 위한 도면이다. 도 7을 참조하면, 일 실시예에 따른 대칭 패턴들을 나타낸 도면(700)이 도시된다.
예를 들어, 도 7에 도시된 전면 몸통 우측 패턴(710)과 전면 몸통 좌측 패턴(720), 후면 몸통 우측 패턴(730)과 후면 몸통 좌측 패턴(740), 및/또는 좌측 소매 패턴(750)과 우측 소매 패턴(760)과 같이 마주보는 2개의 패턴들이 서로 대칭되는 형태를 갖는 패턴을 '대칭 패턴들'이라 지칭할 수 있다.
패턴들의 대칭 여부는 미리 대칭되는 패턴들에 표시되거나, 대상 패턴의 패턴 정보에 저장될 수 있다. 따라서, 자동 배치 장치를 각 패턴들의 패턴 정보로부터 대상 패턴들이 서로 대칭되는 패턴들인지를 파악할 수 있다.
예를 들어, 좌측 소매 패턴 A와 우측 소매 패턴 B가 서로 대칭 패턴들에 해당하지만, 좌측 소매 패턴 A 만이 배치 포인트들에 의해 배치될 수 있다. 이 경우, 자동 배치 장치는 좌측 소매 패턴 A에 대칭되는 우측 소매 패턴 B를 좌측 소매 패턴 A의 배치 포인트들에 대칭되는 위치의 배치 포인트들에 배치시킬 수 있다.
또한, 배치된 패턴 중 좌측 소매 패턴 A이외에 후면 몸통 우측 패턴 C가 존재할 수 있다. 이러한 경우, 자동 배치 장치는 좌측 소매 패턴 A과 후면 몸통 우측 패턴 C 중 신뢰도 점수가 더 높은 패턴을 기준으로 패턴들을 배치할 수 있다. 다시 말해, 좌측 소매 패턴 A에 대응하는 신뢰도 점수가 0.85이고, 후면 몸통 우측 패턴 C에 대응하는 신뢰도 점수는 0.92일 수 있다. 이 경우, 자동 배치 장치는 신뢰도 점수가 더 높은 후면 몸통 우측 패턴 C를 기준으로 나머지 패턴들(예: 좌측 소매 패턴 A, 및 우측 소매 패턴 B 등)을 배치할 수 있다.
예를 들어, 좌측 소매 패턴 A와 우측 소매 패턴 B가 서로 대칭 패턴들에 해당하고, 좌측 소매 패턴 A에 대응하는 신뢰도 점수가 0.85이고, 우측 소매 패턴 B에 대응하는 신뢰도 점수가 0.64일 수 있다. 이 경우, 자동 배치 장치는 2개의 대칭 패턴들 중 신뢰도 점수가 높은 좌측 소매 패턴 A를 기준으로 소매 패턴들의 좌, 우 대칭을 맞춰 우측 소매 패턴 B를 3차원 아바타(701)에 배치할 수 있다.
자동 배치 장치는 하나의 배치 포인트에 하나의 패턴이 배치되도록 할 수 있다. 예를 들어, 2 개의 대칭 패턴들 또는 서로 다른 패턴들의 배치 위치가 동일한 하나의 배치 포인트로 예측될 수 있다. 이 경우, 자동 배치 장치는 대칭 패턴들 중 더 높은 신뢰도 점수를 갖는 대칭 패턴만을 배치 포인트에 배치시키거나, 또는 서로 다른 패턴들 중 더 높은 신뢰도 점수를 갖는 대칭 패턴만을 배치 포인트에 배치시키고, 신뢰도 점수가 낮은 패턴은 배치시키지 않을 수 있다. 또는, 자동 배치 장치는 대칭 패턴들 또는 서로 다른 패턴들 중 더 낮은 신뢰도 점수를 갖는 패턴의 위치를 더 높은 신뢰도 점수를 갖는 패턴의 배치 위치를 기준으로 변경할 수 있다.
예를 들어, 대칭 패턴들의 배치 위치가 서로 대칭되지 않는 배치 포인트들로 예측될 수 있다. 이 경우, 자동 배치 장치는 해당 대칭 패턴들을 배치하지 않을 수 있다.
또는, 대상 패턴이 예를 들어, 도 4에 도시된 전면 몸통 중심 2번(Body_Font_Center_2), 또는 후면 몸통 2번 우측(Body_ Back_2_L)과 같이 하나의 배치판인 전면 몸판(Body_Front), 또는 후면 몸통(Body_Back)의 일부에 대응될 수 있다.
이와 같이 대상 패턴(예: 전면 몸통 중심 2번(Body_Font_Center_2)패턴)이 어느 하나의 배치판(예: 전면 몸판(Body_Front))의 일부에 대응하는 패턴에 해당하고, 전면 몸판에서 전면 몸통 중심 2번 패턴을 제외한 나머지 패턴들(예: (예: 전면 몸통 중심 1번(Body_Font_Center_1) 패턴, 전면 몸통 중심 3번(Body_Font_Center_3) 패턴 등)이 존재하지 않을 수 있다. 이 경우, 자동 배치 장치는 전면 몸통 중심 2번 패턴을 전면 몸판의 중심 위치에 배치할 수 있다. 이 때, 자동 배치 장치는 전면 몸판의 중심 위치에 배치된 전면 몸통 중심 2번 패턴의 이름을 '전면 몸판 중심' 패턴과 같이 변경할 수 있다.
도 8은 일 실시예에 따른 하나의 패턴의 패턴 정보가 입력되는 경우의 신경망 모델의 동작 방법을 설명하기 위한 도면이다. 도 8을 참조하면, 일 실시예에 따른 어느 하나의 패턴(예: 우측 팔 패턴)의 패턴 정보(810)가 입력되는 신경망 모델(830)의 구조 및 동작을 설명하기 위한 도면(800)이 도시된다.
신경망 모델(830)은 예를 들어, 인코더 모듈(831), 및 완전 연결 레이어들(835)을 포함할 수 있다.
신경망 모델(830)은 인코더 모듈(831)을 통해 패턴 모양(801)으로부터 특징들(예: 영상 특징들)(833)을 추출할 수 있다.
인코더 모듈(851)은 예를 들어, 강화학습 기반의 네트워크 구조 탐색(Network Architecture Search; NAS) 방법을 이용하는 EfficientNet V2일 수 있으나, 반드시 이에 한정되지는 않는다. 인코더 모듈(831)은 뉴런의 일부를 학습 가능하지 않은 상태로 두는 드랍 아웃(dropout)을 이용하고, 이외에도 여러 이미지 왜곡 기법들을 임의로 선택하여 임의의 강도로 적용하는 RandAugment 기법과 서로 다른 두 이미지를 합치는 Mixup기법을 이용하여 패턴 모양(801)으로부터 영상 특징들(833)을 추출할 수 있다.
신경망 모델(830)은 영상 특징들(833)과 패턴 크기(803)를 완전 연결 레이어들(835)에 인가함으로써 우측 팔 패턴 X의 클래스를 분류(classification)할 수 있다. 이 때, 완전 연결 레이어들(835)은 우측 팔 패턴 X에 대해 예측된 서로 다른 클래스들(예를 들어, 109개의 배치 포인트들)에 대응하는 예측 점수들(837)을 출력할 수 있다.
신경망 모델(830)은 Argmax 함수를 통해 예측 점수들(837) 중 최대값을 갖는 예측 점수에 대응하는 인덱스(또는 인자)를 예측 결과(850)로서 출력할 수 있다. 신경망 모델(830)의 예측 결과(850)는 입력된 패턴에 대응하여 예측된 배치 포인트 이름(예: Arm_Outside_2_R)에 해당할 수 있다. 또한, 예측 점수들(837) 중 최대값을 갖는 예측 점수가 전술한 '신뢰도 점수'로써 후처리 과정 및 자동 배치 정도를 설정하는데 활용될 수 있다.
자동 배치 장치는 신경망 모델(830)의 예측 결과(850), 다시 말해 예측된 배치 포인트 이름(예: Arm_Outside_2_R)에 따라 도면 870과 같이 어느 하나의 패턴(예: 우측 팔 패턴)을 3차원 아바타에 배치할 수 있다.
도 9는 도 8에 도시된 신경망 모델의 학습 방법을 설명하기 위한 도면이다. 도 9를 참조하면, 일 실시예에 따른 도 8의 신경망 모델(830)의 학습 방법을 나타낸 도면(900)이 도시된다.
자동 배치 장치는 도 8을 통해 전술한 과정을 통해 획득한 신경망 모델(830)의 예측 결과(850)인 배치 포인트 이름(예: Arm_Outside_2_R)과 정답(ground truth)(910)인 배치 포인트 이름(예: Arm_Outside_2_R) 간의 제1 로스에 기초하여 신경망 모델(830)을 학습할 수 있다.
자동 배치 장치는 예측 결과(850)와 정답(910) 간의 차이에 해당하는 제1 로스가 작아지도록 신경망 모델(830)을 학습할 수 있다. 예를 들어, 도 9에 도시된 것과 같이 신경망 모델(830)의 예측 결과(850) (예: Arm_Outside_2_R)와 정답(910)(예: Arm_Outside_2_R)가 같은 경우, 제1 로스는 없거나 매우 적으므로 자동 배치 장치는 신경망 모델(830)의 가중치 또는 파라미터를 변경없이 유지할 수 있다.
이와 달리, 예측 결과(850)가 Leg_Back_R이고, 정답(910)이 Leg_Back_L인 경우와 같이 예측 결과(850)와 정답(910)이 서로 상이하면, 제1 로스는 커질 수 있다. 이 경우, 자동 배치 장치는 제1 로스가 작아지도록 신경망 모델(830)의 가중치 또는 파라미터를 갱신(update)할 수 있다.
도 10a 및 도 10b는 일 실시예에 따른 복수의 패턴들이 입력되는 신경망 모델의 구조 및 동작 방법을 설명하기 위한 도면이다. 도 10a를 참조하면, 일 실시예에 따른 의상 H의 패턴들 별 패턴 정보(예: 패턴 1의 패턴 정보(1001), 및 패턴 2의 패턴 정보(1005))가 입력되는 신경망 모델(1000)의 구조가 도시된다.
신경망 모델(1000)은 예를 들어, 패턴들 각각에 대응하는 인코더 모듈(1010, 1020), 제1 완전 연결 레이어(FC Layer)(1015, 1025), 트랜스포머 인코더(Transformer Encoder)(1040), 제2 완전 연결 레이어(1060, 1065)를 포함할 수 있다. 인코더 모듈(1010, 1020)은 예를 들어, 컨볼루션 신경망(Convolutional Neural Network; CNN) 기반의 Efficient NetV2일 수 있으나, 반드시 이에 한정되지는 않는다.
신경망 모델(1000)로 패턴들 별 패턴 정보(1001, 1005)가 입력될 수 있다. 패턴들 별 패턴 정보(1001, 1005)는 각 패턴들의 모양(1002, 1006) 및 각 패턴들의 크기(1003, 1007)를 포함할 수 있다. 다시 말해, 패턴 1(예를 들어, 우측 소매 패턴)의 패턴 정보(1001)는 패턴 1의 모양(1002) 및 패턴 1의 패턴 크기(1003)에 대한 정보를 포함할 수 있다. 패턴 1의 모양(1002)은 예를 들어, 우측 소매 패턴의 모양을 포함하는 3 채널 x 224 x 224 픽셀 사이즈의 패턴 이미지의 형태로 입력될 수 있다. 패턴 1의 패턴 크기(1003)는 예를 들어, 1 채널 x 1 차원의 벡터일 수 있으나, 반드시 이에 한정되지는 않는다.
또한, 패턴 2(예를 들어, 상의 전면 몸통 패턴)의 패턴 정보(1005)는 패턴 2의 모양(1006) 및 패턴 1의 패턴 크기(1007)에 대한 정보를 포함할 수 있다. 패턴 2의 모양(1006)은 상의 전면 몸통 패턴의 모양을 포함하는 3채널 x 224 x 224 픽셀 사이즈의 패턴 이미지의 형태로 입력될 수 있다. 마찬가지로, 패턴 2의 패턴 크기(1007)의 크기 또한 예를 들어, 1 채널 x 1 차원의 벡터일 수 있으나, 반드시 이에 한정되지는 않는다.
신경망 모델(1000)은 인코더 모듈(1010)를 통해 패턴 1의 모양(1002)으로부터 1 x 1280 채널의 제1-1 특징을 추출하고, 제1 완전 연결 레이어(1015)를 통해 패턴 1의 패턴 크기(1003)로부터 1 x 64 채널의 제1-2 특징을 추출할 수 있다. 신경망 모델(1000)은 1 x 1280 채널의 제1-1 특징과1 x 64 채널의 제1-2 특징을 결합(concatenation)하여 패턴 1에 대응하는 1 x 1344 채널의 제1 특징(1030)을 생성할 수 있다.
또한, 신경망 모델(1000)은 인코더 모듈(1020)를 통해 패턴 2의 모양(1006)으로부터 1 x 1280 채널의 제2-1 특징을 추출하고, 제1 완전 연결 레이어(1025)를 통해 패턴 2의 패턴 크기(1007)로부터 1 x 64 채널의 제2-2 특징을 추출할 수 있다. 신경망 모델(100)은 1 x 1280 채널의 제2-1 특징과1 x 64 채널의 제2-2 특징을 결합하여 패턴 2에 대응하는 1 x 1344 채널의 제2 특징(1035)을 생성할 수 있다.
신경망 모델(1000)은 패턴 1에 대응하는 1 x 1344 채널의 제1 특징(1030)과 패턴 2에 대응하는 1 x 1344 채널의 제2 특징(1035)을 트랜스포머 인코더(1040)로 인가할 수 있다.
트랜스포머 인코더(1040)는 예를 들어, 멀티-헤드 어텐션 레이어(multi-head attention layer)와 2개의 완전 연결 레이어들(FC layers)을 포함할 수 있으나, 반드시 이에 한정되지는 않는다. 트랜스포머 인코더(1040)의 구조 및 동작에 대하여는 아래의 도 10b를 참조하여 보다 구체적으로 설명한다.
신경망 모델(1000)은 트랜스포머 인코더(1040)를 통해 제1 특징(1030)과 제2 특징(1035)으로부터 의상 H 내의 다른 패턴들에 대한 정보가 인코딩된 제3 특징(1050) 및 제4 특징(1055)을 분류할 수 있다. 이 때, 제3 특징(1050)과 제4 특징(1055)은 제1 특징(1030) 및 제2 특징(1035)과 마찬가지로 각각 1 x 1344 채널의 크기를 가질 수 있다. 다만, 제1 특징(1030)이 제1 패턴에 대응하는 특징만을 포함하고, 제2 특징(1035)가 제2 패턴에 대응하는 특징만을 포함하는 것과 달리, 제3 특징(1050)과 제4 특징(1055)는 각각 대상 패턴 이외에 의상 H의 다른 패턴에 대한 특징 또한 반영된 것이라는 점에서 차이가 있다. 다시 말해, 제3 특징(1050)은 제1 패턴에 대한 특징 이외에 제2 패턴에 대한 특징 또한 반영되고, 제4 특징(1055) 또한 제2 패턴 이외에 제1 패턴에 대한 특징이 반영된 것일 수 있다. 즉, 트랜스포머 인코더(1040)는 제3특징(1050)에 제1 패턴과 제2 패턴에 대한 특징을 반영한 임베딩된 정보를 분류할 수 있으며, 제3 특징(1050)은 제1 패턴과 제2 패턴 간 상호 관계에 대한 정보를 포함할 수 있다. 또한, 트랜스포머 인코더(1040)는 제4 특징(1055)에 제1 패턴과 제2 패턴에 대한 특징을 반영한 임베딩된 정보를 분류할 수 있으며, 제4 특징(1055)은 제1 패턴과 제2 패턴 간 상호 관계에 대한 정보를 포함할 수 있다.
신경망 모델(1000)은 제3 특징(1050)을 제2 완전 연결 레이어(1060)에 인가하여 패턴 1에 대해 예측된 서로 다른 클래스들(예를 들어, 109개의 배치 포인트들)에 대응하는 예측 점수들(1070)을 출력할 수 있다. 또한, 신경망 모델(1000)은 제3 특징(1050)을 제2 완전 연결 레이어(1060)에 인가하여 패턴 1에 대해 예측된 서로 다른 상위 클래스들(예를 들어, 10개의 상위 배치 포인트들)에 대응하는 예측 점수들(1070)을 출력할 수 있다. 신경망 모델(1000)은 Argmax 함수를 통해 예측 점수들(1070) 중 최대값을 갖는 어느 하나의 예측 점수에 대응하는 인덱스(또는 인자)를 예측 결과(1004)로서 출력할 수 있다. 예측 결과(1004)는 입력된 패턴 1에 대응하여 예측된 배치 포인트 이름(예: Arm_Outside_1_R)에 해당할 수 있다. 여기서, 예측 점수들(1070) 중 최대값을 갖는 어느 하나의 예측 점수가 패턴 1에 대응하는 신뢰도 점수가 될 수 있다.
또한, 신경망 모델(1000)은 제4 특징(1055)을 제2 완전 연결 레이어(1065)에 인가하여 패턴 2에 대해 예측된 서로 다른 클래스들(예를 들어, 109개의 배치 포인트들)에 대응하는 예측 점수들(1075)을 출력할 수 있다. 또한, 신경망 모델(1000)은 제4 특징(1055)을 제2 완전 연결 레이어(1065)에 인가하여 패턴 2에 대해 예측된 서로 다른 상위 클래스들(예를 들어, 10개의 상위 배치 포인트들)에 대응하는 예측 점수들(1075)을 출력할 수 있다. 예측 점수들(1075) 중 최대값을 갖는 어느 하나의 예측 점수가 패턴 2에 대응하는 신뢰도 점수가 될 수 있다.
신경망 모델(1000)은 Argmax 함수를 통해 예측 점수들(1075) 중 최대값을 갖는 어느 하나의 예측 점수에 대응하는 인덱스(또는 인자)를 예측 결과(1008)로서 출력할 수 있다. 예측 결과(1008)는 입력된 패턴 2에 대응하여 예측된 배치 포인트 이름(예: Body_Back_Center_3)에 해당할 수 있다.
이때, 패턴 1에 대응하는 예측 점수들(1070)과 패턴 2에 대응하는 예측 점수들(1075) 각각에서 최대값을 갖는 하나의 예측 점수, 다시 말해 배치 포인트 이름(예: Arm_Outside_1_R)에 대응하는 인덱스의 예측 점수 및 배치 포인트 이름(예: Body_Back_Center_3)에 대응하는 인덱스의 예측 점수가 각 패턴에 대응하는 '신뢰도 점수'로써 후처리 과정 및 자동 배치 정도를 설정하는데 활용될 수 있다.
도 10b를 참조하면, 일 실시예에 따른 트랜스포머 인코더(1040)의 구조가 도시된다.
신경망 모델(1000)은 예를 들어, 전술한 제1 특징(1030) 및 제2 특징(1035)과 같은 입력값들에 대응하는 입력 임베딩 벡터(1041)를 산출하여 트랜스포머 인코더(1040)로 인가할 수 있다.
트랜스포머 인코더(1040)는 멀티-헤드 어텐션 레이어(multi-head attention layer)(1043)와 합산 및 정규화 블록(Add & Norm)(1045) 및 피드 포워드 레이어(Feed Forward layer)(1047)와 합산 및 정규화 블록(Add & Norm)(1049)로 구성된 단위 블록을 N개(N >0인 자연수) 포함할 수 있다. N은 예를 들어, 6일 수 있으나, 반드시 이에 한정되지는 않는다.
멀티-헤드 어텐션 레이어(1043)은 여러 개의 헤드가 독자적으로 셀프 어텐션을 여러 번 수행할 수 있다.
도 11은 일 실시예에 따른 복수의 패턴들의 패턴 정보, 내부 선분 정보 및 추가 정보가 입력되는 경우의 신경망 모델의 동작 방법을 설명하기 위한 도면이다. 도 11을 참조하면, 일 실시예에 따른 자동 배치 장치에 하나의 의상 T의 복수의 패턴들 별 패턴 정보(1101)가 입력됨에 따라 신경망 모델(1140)은 복수의 패턴들 별 패턴 정보(1101)에 대응하는 예측 결과(1150)를 출력하고, 자동 배치 장치는 예측 결과(1150)에 따라 3차원 아바타(1160)의 배치 포인트(들)에 복수의 패턴들(1165)을 배치하는 과정을 나타낸 도면(1100)이 도시된다.
복수의 패턴들(예: 좌측 소매 패턴, 우측 소매 패턴, 뒤쪽 몸판 패턴, 및 앞쪽 몸판 패턴) 별의 패턴 정보(1101)는 패턴 정보(1110), 내부 선분 정보(1120), 및 추가 정보(1130)를 포함할 수 있으나, 반드시 이에 한정되지는 않는다. 내부 선분 정보(1120)는 '선분 정보'로 간략화하여 표현할 수도 있다.
패턴 정보(1110) 중 패턴 정보(1111)는 의상 T의 좌측 소매 패턴에 대응하고, 패턴 정보(1113)은 의상 T의 우측 소매 패턴에 대응할 수 있다. 패턴 정보(1115)는 의상 T의 뒤쪽 몸판 패턴에 대응하고, 패턴 정보(1117)은 의상 T의 앞쪽 몸판 패턴에 대응할 수 있다.
패턴 정보(1110)는 복수의 패턴들 각각의 모양, 크기, 이외에도 각 패턴들의 대칭 정보, 및 패턴들의 개수 등을 더 포함할 수 있다. 전술한 바와 같이, 복수의 패턴들 각각의 모양은 복수의 패턴들 각각의 모양을 포함하는 패턴 이미지 형태로 입력될 수 있다.
자동 배치 장치는 예를 들어, 복수의 패턴들 각각에 대응하는 패턴 이미지가 512 x 512 픽셀 사이즈가 되도록 패턴 이미지에서 흰색으로 표시된 패턴 모양을 제외한 나머지의 공백 부분에 검은색 픽셀을 채워 넣을 수 있다. 자동 배치 장치는 예를 들어, 패턴 데이터베이스에 저장된 패턴 이미지들의 평균 및/또는 표준 편차를 이용하여 패턴 이미지를 정규화(normalization)할 수 있다. 또는, 자동 배치 장치는 전술한 전이 학습을 위해 복수의 패턴들 각각에 대응하는 패턴 이미지를 예를 들어, 224 x 224 픽셀 사이즈를 갖는 영상으로 리사이징할 수 있다.
예를 들어, 패턴 정보(1111)가 우측 소매 패턴에 해당하고, 패턴 정보(1113)가 좌측 소매 패턴에 해당하는 경우, 패턴 정보(1111) 및 패턴 정보(1113)는 우측 소매 패턴과 좌측 소매 패턴이 서로 대칭되는 대칭 패턴들임을 나타내는 정보를 포함할 수 있다. 또한, 패턴들의 개수는 하나의 의상을 구성하는 대상 패턴들의 전체 개수에 해당할 수 있다.
내부 선분 정보(1120)는 복수의 패턴들 각각의 내부에 존재하는 선분들(예: 너치, 재봉선, 절개선, 다트선, 스타일라인 등)의 존재 여부, 이외에도 선분들 각각의 길이, 및 곡률 등을 포함할 수 있다. 또한, 내부 선분 정보(1120)는 해당 선분이 어느 패턴의 선분인지에 대한 식별 정보 또한 포함할 수 있다.
추가 정보(1130)은 예를 들어, 복수의 패턴들이 구성하는 3차원 의상이 착장되는 3차원 아바타의 크기, 3차원 아바타에서 복수의 패턴들과 결합되는 배치 포인트들의 위치, 및 배치 포인트들을 포함하는 배치판의 크기 등을 포함할 수 있다.
신경망 모델(1140)은 복수의 패턴들 별의 패턴 정보(1101)로부터 패턴들 각각에 대응하는 특징들을 추출할 수 있다. 신경망 모델(1140)은 추출한 특징들을 이용하여 각 패턴들 별로 109개의 배치 포인트들의 클래스에 대응하는 예측 점수들을 산출할 수 있다.
신경망 모델(1140)은 Argmax 함수를 통해 예측 점수들 중 최대값을 갖는 어느 하나의 예측 점수에 대응하는 배치 포인트의 배치 정보(1153) 및 재봉 정보(1156)를 예측 결과(1150)로서 출력할 수 있다. 이때, 신경망 모델(1140)이 복수의 패턴들 별로 예측한 예측 점수들 중 최대값을 갖는 어느 하나의 예측 점수가 각 패턴에 대응하는 '신뢰도 점수'가 될 수 있다.
신경망 모델(1140)은 예를 들어, 패턴들 별 패턴 정보를 기초로 산출한 신뢰도 점수들에 의해 패턴들이 배치되는 배치 포인트들에 대한 배치 정보(1153)를 예측하고, 분류된 패턴들에서 서로 재봉되는 선분들의 쌍(pair), 및 서로 재봉되는 선분들의 재봉 방향을 포함하는 재봉 정보(1156)를 예측하도록 학습될 수 있다. 신경망 모델(1140)은 예를 들어, 서로 재봉되는 선분들의 재봉 유무, 및 서로 재봉되는 선분들의 재봉 방향을 포함하는 예측된 재봉 정보와 서로 재봉되는 선분들에 대응하는 정답 재봉 정보 간의 제2 로스에 기초하여 학습될 수 있다. 신경망 모델(1140)의 학습 방법은 아래의 도 12를 참조하여 보다 구체적으로 설명한다.
배치 정보(1153)는 복수의 패턴 정보(1101) 각각에 대응하여 예측된 배치 포인트들의 이름(예: Arm_Outside_1_L, Arm_Outside_1_R, Body_Back_Center_3, 및 Body_Front_Center_3)에 해당할 수 있다.
또한, 재봉 정보(1156)는 복수의 패턴 정보(1101)에 포함된 패턴들 중 서로 재봉되는 선분들의 쌍(pair), 및 서로 재봉되는 선분들의 재봉 방향 등을 포함할 수 있다. 재봉 정보(1156)는 예를 들어, 와 같이 서로 재봉되는 (내부) 선분들의 식별 정보(line_15, line_6)와 함께 선분들이 재봉되는 방향을 나타내는 화살표 형태로 표현될 수 있다. 재봉 정보는 선분 15(line 15)와 선분 6(line 6)이 서로 재봉되며, 선분 15의 시작점과 선분 6의 시작점을 기준으로 우측 방향으로 재봉됨을 나타낼 수 있다. 또한, 재봉 정보 는 선분 15(line 15)와 선분 6(line 6)이 서로 재봉되며, 선분 15의 시작점과 선분 6의 끝점을 기준으로 재봉이 진행됨을, 다시 말해 선분 15의 시작점과 선분 6의 끝점이 서로 재봉됨을 나타낼 수 있다.
자동 배치 장치는 예측한 배치 정보(1153)에 기초하여 3차원 아바타(1160)에 복수의 패턴들(1165)을 배치할 수 있다. 또한, 자동 배치 장치는 3차원 아바타(11600)에 배치된 복수의 패턴들(1165)을 재봉 정보(1156)에 따라 재봉할 수 있다.
도 12a, 도 12b 및 도 12c는 도 11에 도시된 신경망 모델의 학습 방법을 설명하기 위한 도면이다.
도 12a를 참조하면, 일 실시예에 따른 신경망 모델(1210)이 입력 정보(1201)(예: 패턴들 별 패턴 정보)에 대응하여 예측한 패턴들의 배치 정보(1220)와 패턴들에 대응하는 정답 배치 정보(1230) 간의 제1 로스에 기초하여 학습되는 과정이 도시된다. 여기서, 정답 배치 정보(1230)는 패턴들이 배치되는 배치 포인트들에 대응하는 정답 레이블들(ground truth labels)에 해당할 수 있다.
신경망 모델(1210)은 패턴들 별로 예측한 배치 정보(1220)와 정답 배치 정보(1230) 간의 제1 로스가 최소화되도록 학습될 수 있다. 배치 정보(1220)는 예를 들어, Arm_Outside_1_L, 또는 Arm_Outside_1_R 등과 같은 배치 포인트들의 이름일 수도 있고, (x1, y1, z1)과 같이 해당 배치 포인트들의 3차원 위치 좌표일수도 있으며, 3차원 위치 좌표 상의 특정 지점을 기준으로 x, y, z축으로 얼마나 움직였는지를 나타내는 오프셋(offset) 값일 수도 있다.
예를 들어, 신경망 모델(1210)에 의해 예측된 배치 정보(1220)가 Arm_Outside_1_L이고, 정답 배치 정보(1230)가 Arm_Outside_1_R 인 경우, 또는 예측된 배치 정보(1220)가 Body_Front_Center_3 이고, 정답 배치 정보(1230)가 Neck_Back과 같이 상이한 경우, 제1 로스는 커질 수 있다. 이 경우, 자동 배치 장치 또는 학습 장치는 제1 로스의 값이 작아지도록 신경망 모델(1210)의 파라미터를 조절 또는 갱신할 수 있다.
또는, 신경망 모델(1210)에 의해 예측된 배치 정보(1220)가 Body_Back_Center_3 이고, 정답 배치 정보(1230)가 Body_Back_Center_3로서 동일한 경우, 제1 로스는 0 또는 0에 유사한 값을 가질 수 있다. 이 경우, 자동 배치 장치 또는 학습 장치는 신경망 모델(1210)의 파라미터 또는 가중치를 그대로 유지할 수 있다.
도 12b를 참조하면, 일 실시예에 따른 신경망 모델(1210)이 입력 정보(1201)에 대응하여 예측한 재봉 정보(1240)와 정답 재봉 정보(1250) 간의 제2 로스에 기초하여 학습되는 과정이 도시된다.
신경망 모델(1210)은 패턴들 별로 예측한 재봉 정보(1240)와 정답 재봉 정보(1250) 간의 제2 로스에 기초하여 학습될 수 있다. 이때, 재봉 정보(1240)는 패턴들 간에 서로 재봉되는 선분들의 재봉 유무, 및 서로 재봉되는 선분들의 재봉 방향을 포함할 수 있다.
신경망 모델은 예측된 재봉 정보(1240)와 서로 재봉되는 선분들에 대응하는 정답 재봉 정보(1250) 간의 제2 로스가 최소화되도록 학습될 수 있다.
예를 들어, 신경망 모델(1210)에 의해 예측된 재봉 정보(1240)가 이나 정답 재봉 정보(1250)가 존재하지 않는 경우, 또는 신경망 모델(1210)에 의해 예측된 재봉 정보(1240)가 존재하지 않으나, 정답 재봉 정보(1250)가 존재하는 경우와 같이 재봉 유무가 잘못 예측된 경우, 신경망 모델(1210)의 예측 결과에 상당한 오류가 있는 상황에 해당할 수 있다. 이러한 경우, 제2 로스는 그 값이 매우 크므로, 학습 장치 또는 자동 배치 장치는 제2 로스가 작아지도록 신경망 모델(1210)의 파라미터 또는 가중치를 조절 또는 갱신할 수 있다.
또한, 예를 들어, 신경망 모델(1210)에 의해 예측된 재봉 정보(1240)가 인 경우, 선분 15의 재봉 시작점과 선분 6의 재봉 시작 점이 함께 재봉됨을 나타낼 수 있다. 또한, 정답 재봉 정보(1250)가 인 경우, 선분 15의 재봉 시작점과 선분 6의 재봉 끝점(종료점)이 함께 재봉됨을 나타낼 수 있다. 따라서, 예측된 재봉 정보(1240)가 이고, 정답 재봉 정보(1250)가 인 경우는 재봉 방향이 뒤집혀 예측된 것일 수 있다. 이러한 경우 또한 제2 로스는 그 값이 매우 크므로, 학습 장치 또는 자동 배치 장치는 제2 로스가 작아지도록 신경망 모델(1210)의 파라미터 또는 가중치를 조절 또는 갱신할 수 있다.
재봉 유무와 재봉 방향이 모두 정확하게 예측된 경우, 제2 로스는 그 값이 작을 수 있으므로, 자동 배치 장치 또는 학습 장치는 신경망 모델(1210)의 파라미터 또는 가중치를 그대로 유지할 수 있다.
도 12c를 참조하면, 일 실시예에 따른 신경망 모델(1210)이 입력 정보(1201)에 대응하여 예측한 배치 및 재봉 정보(1260, 1280)와 정답 배치 및 재봉 정보(1270, 1290) 간의 제3 로스에 기초하여 학습되는 과정이 도시된다.
신경망 모델(1210)은 예측한 배치 정보(배치 포인트들)에 배치된 패턴들 중 서로 재봉되는 패턴들의 재봉 정보(예: 서로 재봉되는 패턴들의 선분들 사이의 길이)에 기초한 제3 로스에 기초하여 학습될 수 있다.
여기서, 배치 및 재봉 정보(1260, 1280)는 신경망 모델(1210)이 예측한 배치 정보(예: 배치 포인트들)에 따라 패턴들을 배치한 후, 신경망 모델(1210)이 예측한 재봉 정보에 따라 배치된 패턴들의 선분(예: 재봉선 1)과 함께 재봉되는 패턴들의 선분(예: 재봉선 2) 사이의 길이(간격)를 의미할 수 있다.
도 12c에서 박스 형태로 표시된 재봉선 1과 재봉선 2 간의 길이(간격)가 길수록(클수록) 제3 로스가 커지고, 재봉선 1과 재봉선 2 간의 길이(간격)가 짧을수록(작을수록) 제3 로스는 작아질 수 있다.
자동 배치 장치 또는 학습 장치는 제3 로스가 작아지도록 신경망 모델(1210)의 파라미터 또는 가중치를 갱신 또는 조절할 수 있다.
도 13a, 도 13b, 도 13c, 도 13d, 및 도 13e는 일 실시예에 따른 자동 배치 장치에서 자동 배치가 진행되는 과정을 나타낸다.
도 13a, 도 13b, 도 13c, 도 13d, 및 도 13e을 참조하면, 일 실시예에 따른 사용자가 자동 배치 장치를 통해 의상 X(예: 남성복 상의)에 대한 자동 배치를 선택한 경우에 자동 배치가 수행되는 과정을 순차적으로 나타낸 화면들(1301, 1303, 1305, 1307, 1309)이 순차적으로 도시된다.
예를 들어, 사용자가 의상 X(예: 남성복 상의)에 대한 자동 배치를 수행한 경우, 자동 배치 장치는 도 13a에 도시된 화면(1301)과 같이 의상 X를 구성하는 복수의 패턴들(예: 우측 팔 패턴(1310), 우측 소매 패턴(1315), 좌측 팔 패턴(1320), 좌측 소매 패턴(1325), 전면 우측 몸통 패턴(1330), 우측 카라 패턴(1335), 전면 좌측 몸통 패턴(1340), 좌측 카라 패턴(1345), 후면 우측 몸통 패턴(1350), 후면 좌측 몸통 패턴(1360), 허리 패턴(1370))을 남성 아바타(1380)와 함께 표시할 수 있다.
자동 배치가 수행됨에 따라, 자동 배치 장치는 복수의 패턴들(1310, 1315, 1320, 1325, 1330, 1335, 1340, 1345, 1350, 1360,1370) 중 전술한 슈퍼 임포즈 조건을 만족하는 슈퍼 임포즈 패턴이 존재하는지를 결정할 수 있다.
예를 들어, 우측 소매 패턴(1315), 좌측 소매 패턴(1325), 우측 카라 패턴(1335), 및 좌측 카라 패턴(1345)의 크기가 미리 설정된 임계 크기 이하이거나, 또는 대상 패턴의 내부 선분에 재봉된 다른 패턴의 선분이 존재하는 등의 슈퍼 임포즈 조건을 만족할 수 있다.
이러한 경우, 자동 배치 장치는 슈퍼 임포즈 조건을 만족하는 패턴들(1315, 1325, 1335, 1345)을 '슈퍼 임포즈 패턴들(1315, 1325, 1335, 1345)'로 결정하여 자동 배치 시에 배제할 수 있다. 이러한 경우, 슈퍼 임포즈 패턴들(1315, 1325, 1335, 1345은 슈퍼 임포즈 패턴들(1315, 1325, 1335, 1345) 각각에 대응하는 베이스 패턴에 대한 자동 배치가 완료된 후, 해당하는 베이스 패턴 위에 겹쳐서 배치될 수 있다.
슈퍼 임포즈 패턴들(1315, 1325, 1335, 1345)이 결정되면, 자동 배치 장치는 신경망 모델을 통해 슈퍼 임포즈 패턴들(1315, 1325, 1335, 1345) 이외의 패턴들 각각에 대응하는 신뢰도 점수를 산출할 수 있다. 자동 배치 장치는 신뢰도 점수를 기초로 각 패턴들은 남성 아바타(1380)의 배치 포인트들에 배치할 수 있다. 이때, 자동 배치 장치는 신뢰도 점수가 높은 패턴들, 및/또는 면적이 넓은 패턴들은 우선적으로 배치할 수 있다. 여기서, 신뢰도 점수가 높은 패턴들은 신경망 모델의 예측 정확도가 높은 패턴들에 해당할 수 있다.
예를 들어, 의상 X를 구성하는 복수의 패턴들(1310, 1315, 1320, 1325, 1330, 1335, 1340, 1345, 1350, 1360,1370) 중 전면 우측 몸통 패턴(1330)에 대응하는 신뢰도 점수가 가장 높을 수 있다. 이 경우, 자동 배치 장치는 전면 우측 몸통 패턴(1330)을 가장 먼저 남성 아바타(1380)에 배치한 후, 전면 우측 몸통 패턴(1330)에 대칭되는 대칭 패턴이 존재하는지를 결정할 수 있다. 자동 배치 장치는 복수의 패턴들에 대응하는 패턴 정보로부터 서로 대칭되는 대칭 패턴들에 대한 정보를 파악할 수 있다.
복수의 패턴들(1310, 1315, 1320, 1325, 1330, 1335, 1340, 1345, 1350, 1360,1370) 중 전면 우측 몸통 패턴(1330)에 대칭되는 전면 좌측 몸통 패턴(1340)이 존재하는 경우, 자동 배치 장치는 남성 아바타(1380)에서 전면 우측 몸통 패턴(1330)에 대칭되는 위치에 전면 좌측 몸통 패턴(1340)을 배치할 수 있다.
이후, 자동 배치 장치는 전면 우측 몸통 패턴(1330) 및 전면 좌측 몸통 패턴(1340)을 제외한 나머지 패턴들 중 신뢰도 점수가 높은 패턴들을 찾아 순자적으로 배치할 수 있다. 예를 들어, 우측 팔 패턴(1310)의 신뢰도 점수가 0.89이고, 좌측 팔 패턴(1320)의 신뢰도 점수가 0.75이고, 후면 우측 몸통 패턴(1350)의 신뢰도 점수가 0.68, 후면 좌측 몸통 패턴(1360)의 신뢰도 점수가 0.92일 수 있다.
자동 배치 장치는 나머지 패턴들 중 신뢰도 점수가 0.92로 가장 높은 후면 좌측 몸통 패턴(1360)을 기준으로 후면 좌측 몸통 패턴(1360)에 대칭되는 후면 우측 몸통 패턴(1350)을 배치할 수 있다. 이 때, 후면 우측 몸통 패턴(1350)이 후면 좌측 몸통 패턴(1360)의 대칭 패턴에 해당하더라도, 후면 우측 몸통 패턴(1350)의 신뢰도 점수(0.68)가 사용자에 의해 설정된 신뢰도 임계치 보다 낮은 경우, 자동 배치 장치는 후면 우측 몸통 패턴(1350)를 배치하지 않을 수 있다.
예를 들어, 사용자에 의해 신뢰도 임계치가 0.7로 설정된 경우, 자동 배치 장치는 후면 우측 몸통 패턴(1350)을 남성 아바타(1380)에 자동 배치하지 않을 수 있다. 이와 달리, 사용자에 의해 신뢰도 임계치가 0.65로 설정된 경우, 자동 배치 장치는 후면 우측 몸통 패턴(1350)을 남성 아바타(1380)에 자동 배치할 수 있다.
후면 좌측 몸통 패턴(1360) 및 후면 우측 몸통 패턴(1350)의 배치가 완료되면, 자동 배치 장치는 그 다음으로 신뢰도 점수가 높은 우측 팔 패턴(1310)을 배치하고, 우측 팔 패턴(1310)에 대칭되는 좌측 팔 패턴(1320)을 배치할 수 있다.
전술한 과정을 통해 도 13b에 도시된 화면(1303)과 같이 패턴(1310, 1320, 1330, 1340, 1350, 1360)에 대해 자동 배치와 수행될 수 있다.
이후, 자동 배치 장치는 도 13c의 화면(1305)와 도 13d의 화면(1307)과 같이 슈퍼 임포즈 패턴들(1315, 1325, 1335, 1345)을 베이스 패턴들 위에 겹쳐서 배치('슈퍼 임포즈')할 수 있다.
자동 배치 장치는 슈퍼 임포즈 패턴들(1315, 1325, 1335, 1345) 중 크기가 큰 우측 소매 패턴(1315), 좌측 소매 패턴(1325), 및 허리 패턴(1370)을 화면(1305)와 같이 슈퍼 임포즈한 후, 화면(1307)과 같이 나머지 슈퍼 임포즈 패턴(예: 우측 카라 패턴(1335) 및 좌측 카라 패턴(1345))을 슈퍼 임포즈할 수 있다.
전술한 과정을 통해 최종적으로 남성 아바타(1380)에 배치된 패턴들(1310, 1315, 1320, 1325, 1330, 1335, 1340, 1345, 1350, 1360,1370)은 도 13e의 화면(1309)과 같이 표시될 수 있다.
도 14는 일 실시예에 따른 자동 배치 장치의 블록도이다. 도 14를 참조하면, 일 실시예에 따른 자동 배치 장치(1400)는 통신 인터페이스(1410), 프로세서(1430), 출력 장치(1450), 및 메모리(1470)를 포함할 수 있다. 통신 인터페이스(1410), 프로세서(1430), 출력 장치(1450), 및 메모리(1470)는 통신 버스(1405)를 통해 서로 통신할 수 있다.
통신 인터페이스(1410)는 의상을 구성하는 패턴들의 모양 및 패턴들의 크기를 포함하는 패턴들 별 패턴 정보를 수신한다.
프로세서(1430)는 신경망 모델에 패턴들 별 패턴 정보를 인가함으로써 3차원 아바타에서 패턴들이 초기 배치되는 배치 포인트들을 예측한다. 이 때, 신경망 모델은 통신 인터페이스(1410)를 통해 수신한 패턴들 별 패턴 정보를 기초로 산출한 신뢰도 점수들에 의해 패턴들을 분류 및 배치하도록 학습된 것이다. 신경망 모델은 예를 들어, 패턴들 별 패턴 정보로부터 특징들을 추출할 수 있다. 신경망 모델은 특징들과 패턴들의 크기를 이용하여 패턴들 별로 신뢰도 점수를 산출할 수 있다. 신경망 모델은 패턴들 별 신뢰도 점수를 기초로, 배치 포인트들의 이름, 및 배치 포인트들의 3차원 위치 중 적어도 하나를 예측할 수 있다.
프로세서(1430)는 패턴들 중 대상 패턴이 슈퍼 임포즈 조건을 만족하는지 여부에 따라 대상 패턴을 제외한 나머지 패턴들의 패턴 정보를 신경망 모델에 인가함으로써 나머지 패턴들이 초기 배치되는 배치 포인트들을 예측할 수 있다.
프로세서(1430)는 예측한 배치 포인트들에 기초하여, 3차원 아바타에 패턴들을 배치한다. 프로세서(1430)는 패턴들이 서로 대칭되는 대칭 패턴들인지 여부, 패턴들 간의 재봉 유무, 패턴들에 대응하는 신뢰도 점수들, 및 패턴들의 크기 중 적어도 하나를 기초로, 배치 포인트들에 패턴들을 배치할 수 있다.
프로세서(1430)는 패턴들 중 대상 패턴이 서로 대칭되는 대칭 패턴들에 해당하는지 여부를 결정할 수 있다. 프로세서(1430)는 대상 패턴이 대칭 패턴들 중 어느 하나의 제1 대칭 패턴에 해당한다고 결정된 경우, 제1 대칭 패턴에 대칭되는 제2 대칭 패턴과 제1 대칭 패턴을 3차원 아바타에서 서로 대칭되는 배치 포인트들에 배치할 수 있다.
출력 장치(1450)는 프로세서(1430)가 3차원 아바타의 배치 포인트들에 패턴들을 배치시킨 결과를 출력할 수 있다. 출력 장치(1450)는 배치 포인트들에 패턴들을 배치시킨 결과를 명시적(explicitly)으로 출력할 수도 있고, 또는 암시적(implicitly)으로 출력할 수도 있다. 일 실시예에서, 배치 포인트들에 패턴들을 배치시킨 결과를 '명시적으로 출력'하는 것은 예를 들어, 패턴들의 배치 위치 또는 좌표를 직접 출력 장치 패널을 통해 표시하거나, 및/또는 종이 등에 출력하는 것을 포함할 수 있다. 또는, 배치 포인트들에 패턴들을 배치시킨 결과를 '암시적으로 출력'하는 것은 예를 들어, 패턴들의 배치 결과에 따라 제작된 3차원 의상을 시뮬레이션한 결과를 표시하거나, 또는 패턴들의 배치 결과에 따라 제작된 해당 3차원 의상을 3차원 아바타와 같은 오브젝트에 착장 시뮬레이션한 결과를 표시하는 것을 포함할 수 있다.
출력 장치(1450)는 예를 들어, 디스플레이 장치일 수도 있고, 또는 종이 또는 옷감에 패턴 조각을 표시하는 프린트 장치일 수도 있다.
메모리(1470)는 통신 인터페이스(1410)를 통해 획득한 패턴들 별 패턴 정보를 저장할 수 있다. 또한, 메모리(1470)는 프로세서(1430)가 예측한 배치 포인트들 및/또는 배치 포인트들에 기초하여 3차원 아바타에 배치된 패턴들을 저장할 수 있다. 메모리(1470)는 상술한 프로세서(1430)의 처리 과정에서 생성되는 다양한 정보들을 저장할 수 있다. 이 밖에도, 메모리(1470)는 각종 데이터와 프로그램 등을 저장할 수 있다. 메모리(1470)는 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(1470)는 하드 디스크 등과 같은 대용량 저장 매체를 구비하여 각종 데이터를 저장할 수 있다.
또한, 프로세서(1430)는 도 1 내지 도 13을 통해 전술한 적어도 하나의 방법 또는 적어도 하나의 방법에 대응되는 알고리즘을 수행할 수 있다. 프로세서(1430)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 프로세서(1430)는 예를 들어, CPU(Central Processing Unit), GPU(Graphics Processing Unit), 또는 NPU(Neural network Processing Unit)으로 구성될 수 있다. 예를 들어, 하드웨어로 구현된 자동 배치 장치(1400)는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
프로세서(1430)는 프로그램을 실행하고, 자동 배치 장치(1400)를 제어할 수 있다. 프로세서(1430)에 의하여 실행되는 프로그램 코드는 메모리(1470)에 저장될 수 있다.
실시예에 따라서, 자동 배치 장치(1400)는 의상을 구성하는 패턴들 별 패턴 정보를 기초로 산출한 신뢰도 점수들에 의해 패턴들을 분류 및 배치하도록 학습된 신경망 모델을 포함하는 서버와 사용자로부터 수신한 패턴들의 모양 및 패턴들의 크기를 포함하는 패턴들 별 패턴 정보를 신경망 모델에 입력함으로써 3차원 아바타에서 패턴들이 초기 배치되는 배치 포인트들을 예측한 결과를 수신하고, 예측된 배치 포인트들에 따라 3차원 아바타에 패턴들을 배치하는 장치로 구성될 수도 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
1400: 자동 배치 장치
1405: 통신 버스
1410: 통신 인터페이스
1430: 프로세서
1450: 출력 장치
1470: 메모리
1405: 통신 버스
1410: 통신 인터페이스
1430: 프로세서
1450: 출력 장치
1470: 메모리
Claims (25)
- 의상을 구성하는 패턴들의 모양 및 상기 패턴들의 크기를 포함하는 상기 패턴들 별 패턴 정보를 수신하는 단계;
상기 패턴들 별 패턴 정보를 기초로 산출한 신뢰도 점수들에 의해 상기 패턴들을 분류 및 배치하도록 학습된 신경망 모델에 상기 패턴들 별 패턴 정보를 인가함으로써 상기 패턴들이 3차원 아바타에서 초기 배치되는 배치 포인트들(arrangement points)을 예측하는 단계; 및
상기 배치 포인트들에 기초하여, 상기 3차원 아바타에 상기 패턴들을 배치하는 단계
를 포함하는, 자동 배치 방법. - 제1항에 있어서,
상기 신경망 모델은
상기 패턴들 별 패턴 정보로부터 특징들을 추출하고,
상기 특징들과 상기 패턴들의 크기를 이용하여 상기 패턴들 별로 상기 신뢰도 점수를 산출하고,
상기 패턴들 별 신뢰도 점수를 기초로, 상기 배치 포인트들의 이름 및 상기 배치 포인트들의 3차원 위치 중 적어도 하나를 예측하는,
자동 배치 방법. - 제1항에 있어서,
상기 신경망 모델은
상기 패턴들 별로 상기 예측한 배치 포인트들과 정답들(ground truths) 간의 제1 로스에 기초하여 학습되는, 자동 배치 방법. - 제1항에 있어서,
상기 신경망 모델은
상기 예측한 배치 포인트들을 포함하는 대상 패턴이 배치판의 대분류 클래스 중 어디에 속하는지를 결정하고,
상기 대분류 클래스에 속하는 패턴들 각각의 상기 신뢰도 점수들을 산출하며,
상기 신뢰도 점수들을 합산하여 상기 대분류 클래스에 대응하는 신뢰도 점수를 산출하는, 자동 배치 방법. - 제1항에 있어서,
상기 패턴들 별 패턴 정보는
상기 패턴들의 모양, 및 상기 패턴들의 크기에 더하여, 상기 패턴들의 대칭 정보, 및 상기 패턴들의 개수 중 적어도 하나를 포함하는 패턴 정보;
상기 패턴들의 너치(notch), 상기 패턴들의 재봉선, 상기 패턴들의 절개선, 상기 패턴들의 다트선, 상기 패턴들의 각 선분의 길이, 및 상기 패턴들의 각 선분들의 곡률 중 적어도 하나를 포함하는 상기 패턴들의 내부 선분 정보; 및
상기 3차원 아바타의 크기, 상기 3차원 아바타에서의 상기 배치 포인트들의 위치, 및 상기 배치 포인트들을 포함하는 배치판의 크기 중 적어도 하나를 포함하는 추가 정보
중 적어도 하나를 더 포함하는, 자동 배치 방법. - 제5항에 있어서,
상기 신경망 모델은
상기 패턴들 별 패턴 정보를 기초로 산출한 신뢰도 점수들에 의해 상기 패턴들이 배치되는 상기 배치 포인트들에 대한 배치 정보를 예측하고,
상기 패턴들 중에서 서로 재봉되는 선분들의 쌍(pair), 및 상기 서로 재봉되는 선분들의 재봉 방향을 포함하는 재봉 정보를 더 예측하도록 학습되는, 자동 배치 방법. - 제6항에 있어서,
상기 신경망 모델은
상기 서로 재봉되는 선분들의 재봉 유무, 및 상기 서로 재봉되는 선분들의 재봉 방향을 포함하는 예측된 재봉 정보와 상기 서로 재봉되는 선분들에 대응하는 정답 재봉 정보 간의 제2 로스에 기초하여 학습되는, 자동 배치 방법. - 제1항에 있어서,
상기 신경망 모델은
상기 예측한 배치 포인트들에 배치된 패턴들 중 서로 재봉되는 패턴들의 선분들 사이의 길이에 기초한 제3 로스에 기초하여 학습되는, 자동 배치 방법. - 제1항에 있어서,
상기 배치 포인트들을 예측하는 단계는
상기 패턴들 중 대상 패턴이 슈퍼 임포즈(super impose) 조건을 만족하는지 여부에 따라 상기 대상 패턴을 슈퍼 임포즈 패턴으로 결정하는 단계; 및
상기 슈퍼 임포즈 패턴을 제외한 나머지 패턴들의 패턴 정보를 상기 신경망 모델에 인가함으로써 상기 나머지 패턴들이 초기 배치되는 상기 배치 포인트들을 예측하는 단계
를 포함하는, 자동 배치 방법. - 제9항에 있어서,
상기 슈퍼 임포즈 조건은
상기 대상 패턴의 크기가 미리 설정된 임계 크기 이하인 조건;
상기 대상 패턴의 내부 선분에 재봉된 다른 패턴의 선분이 존재하는 조건; 및
상기 대상 패턴이 슈퍼 임포즈 패턴에 재봉으로 연결된 패턴에 해당하는 조건 중 적어도 하나를 포함하는, 자동 배치 방법. - 제9항에 있어서,
상기 배치 포인트들을 예측하는 단계는
상기 대상 패턴이 상기 슈퍼 임포즈 패턴으로 결정된 경우, 상기 슈퍼 임포즈 패턴을 상기 슈퍼 임포즈 패턴과 함께 재봉되는 베이스 패턴 위에 겹쳐서 배치하는 단계
를 포함하는, 자동 배치 방법. - 제9항에 있어서,
상기 슈퍼 임포즈 패턴으로 결정하는 단계는
상기 대상 패턴이 서로 대칭되는 대칭 패턴들 중 어느 하나의 대칭 패턴에 해당하는지 여부를 결정하는 단계; 및
상기 대상 패턴이 상기 어느 하나의 대칭 패턴에 해당하는 경우, 상기 대칭 패턴들의 크기를 합산한 결과가 임계 크기 이하인지 여부에 따라 상기 어느 하나의 대칭 패턴을 상기 슈퍼 임포즈 패턴으로 결정하는 단계
를 포함하는, 자동 배치 방법. - 제1항에 있어서,
상기 패턴들을 배치하는 단계는
상기 패턴들이 서로 대칭되는 대칭 패턴들인지 여부, 상기 패턴들 간의 서로 재봉되는 선분들이 존재하는지 유무, 상기 패턴들에 대응하는 상기 신뢰도 점수들, 및 상기 패턴들의 크기 중 적어도 하나를 기초로, 상기 배치 포인트들에 상기 패턴들을 배치하는 단계
를 포함하는, 자동 배치 방법. - 제13항에 있어서,
상기 패턴들을 배치하는 단계는
상기 신뢰도 점수들이 미리 설정된 신뢰도 임계치를 초과하는지 여부를 결정하는 단계; 및
상기 신뢰도 점수들이 상기 신뢰도 임계치를 초과한다는 결정에 따라, 상기 배치 포인트들에 상기 패턴들을 배치하는 단계
를 포함하는, 자동 배치 방법. - 제14항에 있어서,
상기 신뢰도 임계치는
사용자 인터페이스(user interface)를 통해 조정 가능한, 자동 배치 방법. - 제13항에 있어서,
상기 패턴들을 배치하는 단계는
상기 패턴들 중 대상 패턴이 서로 대칭되는 대칭 패턴들 중 어느 하나의 제1 대칭 패턴에 해당하는지 여부를 결정하는 단계; 및
상기 대상 패턴이 상기 제1 대칭 패턴에 해당한다고 결정된 경우, 상기 제1 대칭 패턴에 대칭되는 제2 대칭 패턴과 상기 제1 대칭 패턴을 상기 3차원 아바타에서 서로 대칭되는 배치 포인트들에 배치하는 단계
를 포함하는, 자동 배치 방법. - 제16항에 있어서,
상기 서로 대칭되는 배치 포인트들에 배치하는 단계는
상기 제1 대칭 패턴이 상기 배치 포인트들에 배치되고, 상기 제2대칭 패턴이 상기 배치 포인트들에 배치되지 않은 경우, 상기 제1 대칭 패턴이 배치된 배치 포인트들에 대칭되는 위치에 있는 배치 포인트들에 상기 제2 대칭 패턴을 배치하는 단계
를 포함하는, 자동 배치 방법. - 제16항에 있어서,
상기 서로 대칭되는 배치 포인트들에 배치하는 단계는
상기 제1 대칭 패턴과 상기 제2 대칭 패턴 중 신뢰도 점수가 더 높은 패턴을 기준으로 상기 제1 대칭 패턴과 상기 제2 대칭 패턴을 상기 배치 포인트들에 배치하는 단계
를 포함하는, 자동 배치 방법. - 제16항에 있어서,
상기 서로 대칭되는 배치 포인트들에 배치하는 단계는
상기 패턴들이 대칭 패턴들에 해당하고, 다른 패턴과 서로 재봉되는 선분을 포함하는 경우, 상기 대칭 패턴들 중 상기 신뢰도 점수가 높은 대칭 패턴을 기준으로 상기 대칭 패턴들 및 상기 다른 패턴을 상기 배치 포인트들에 배치하는 단계
를 포함하는, 자동 배치 방법. - 제16항에 있어서,
상기 서로 대칭되는 배치 포인트들에 배치하는 단계는
상기 제1 대칭 패턴과 상기 제2 대칭 패턴에 대응하여 예측된 배치 포인트가 서로 동일한지 여부를 결정하는 단계; 및
상기 예측된 배치 포인트가 서로 동일하다고 결정된 경우, 상기 제1 대칭 패턴과 상기 제2 대칭 패턴 중 더 높은 신뢰도 점수를 갖는 대칭 패턴을 상기 예측된 배치 포인트에 배치하는 단계
를 포함하는, 자동 배치 방법. - 제1항에 있어서,
상기 패턴들을 배치하는 단계는
상기 패턴들 중 대상 패턴이 상기 의상에 대응하는 어느 하나의 배치판의 일부에 대응하고, 상기 어느 하나의 배치판에서 상기 일부에 대응하는 상기 대상 패턴을 제외한 나머지 패턴들이 존재하지 않는 경우, 상기 일부 패턴을 상기 어느 하나의 배치판의 중심 위치에 배치하는 단계
를 포함하는, 자동 배치 방법. - 제1항에 있어서,
상기 패턴들을 배치하는 단계는
상기 패턴들 중 대상 패턴이 슈퍼 임포즈 조건을 만족하는 슈퍼 임포즈 패턴이 배치되는 베이스 패턴에 해당하고, 상기 베이스 패턴이 상기 예측된 배치 포인트에 배치된 경우, 상기 슈퍼 임포즈 패턴을 상기 베이스 패턴 위에 배치하는 단계
를 포함하는, 자동 배치 방법. - 제1항에 있어서,
상기 패턴들은
상기 배치 포인트들 및 상기 배치 포인트들을 포함하는 배치판들에 대응하는 정보를 포함하는, 자동 배치 방법. - 의상을 구성하는 패턴들 별 패턴 정보를 기초로 산출한 신뢰도 점수들에 의해 상기 패턴들을 분류 및 배치하도록 학습된 신경망 모델을 포함하는 서버; 및
사용자로부터 수신한 상기 패턴들의 모양 및 상기 패턴들의 크기를 포함하는 상기 패턴들 별 패턴 정보를 상기 신경망 모델에 입력함으로써 3차원 아바타에서 상기 패턴들이 초기 배치되는 배치 포인트들을 예측한 결과를 수신하고, 상기 예측된 배치 포인트들에 따라 상기 3차원 아바타에 상기 패턴들을 배치하는 장치
를 포함하는, 자동 배치 장치. - 의상을 구성하는 패턴들의 모양 및 상기 패턴들의 크기를 포함하는 상기 패턴들 별 패턴 정보를 수신하는 통신 인터페이스; 및
상기 패턴들 별 패턴 정보를 기초로 산출한 신뢰도 점수들에 의해 상기 패턴들을 분류 및 배치하도록 학습된 신경망 모델에 상기 패턴들 별 패턴 정보를 인가함으로써 3차원 아바타에서 상기 패턴들이 초기 배치되는 배치 포인트들을 예측하고, 상기 배치 포인트들에 기초하여, 상기 3차원 아바타에 상기 패턴들을 배치하는 프로세서
를 포함하는, 자동 배치 장치.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/510,667 US20240169632A1 (en) | 2022-11-18 | 2023-11-16 | Automatic arrangement of patterns for garment simulation using neural network model |
EP23210711.0A EP4371438A1 (en) | 2022-11-18 | 2023-11-17 | Automatic arrangement of patterns for garment simulation using neural network model |
CN202311544987.9A CN118057394A (zh) | 2022-11-18 | 2023-11-17 | 使用神经网络模型的用于服装模拟的纸样自动排列方法及装置 |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20220155198 | 2022-11-18 | ||
KR1020220155198 | 2022-11-18 | ||
KR1020220175320 | 2022-12-14 | ||
KR20220175320 | 2022-12-14 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20240073752A true KR20240073752A (ko) | 2024-05-27 |
Family
ID=91332535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230135931A KR20240073752A (ko) | 2022-11-18 | 2023-10-12 | 자동 배치 방법 및 자동 배치 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20240073752A (ko) |
-
2023
- 2023-10-12 KR KR1020230135931A patent/KR20240073752A/ko unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10529127B2 (en) | System and method for simulating realistic clothing | |
US10922898B2 (en) | Resolving virtual apparel simulation errors | |
Guan et al. | Drape: Dressing any person | |
CN109902622A (zh) | 一种用于登机牌信息验证的文字检测识别方法 | |
CN112970047A (zh) | 用于使用产品描述自动生成三维虚拟服装模型的系统和方法 | |
US11094115B2 (en) | Generating clothing patterns of garment using bounding volumes of body parts | |
CN107958488A (zh) | 服装裁片的交互式编辑与缝合方法及装置 | |
CN109902583A (zh) | 一种基于双向独立循环神经网络的骨架手势识别方法 | |
De Luigi et al. | Drapenet: Garment generation and self-supervised draping | |
US20230276887A1 (en) | System and method for modelling a cloth article | |
CN112395786A (zh) | 服装纸样的自动放码 | |
CN112395787A (zh) | 包括辅助材料的服装的放码方法及装置 | |
EP4089562A1 (en) | Designing garment using style line | |
KR20210021898A (ko) | 부자재 요소를 포함하는 의상의 그레이딩 방법 및 장치 | |
CN113393546A (zh) | 基于服装类别及纹理图案控制的时尚服装图像生成方法 | |
Li et al. | Isp: Multi-layered garment draping with implicit sewing patterns | |
CN115564871A (zh) | 训练试衣模型的方法、虚拟试衣方法及相关装置 | |
KR20240073752A (ko) | 자동 배치 방법 및 자동 배치 장치 | |
EP4371438A1 (en) | Automatic arrangement of patterns for garment simulation using neural network model | |
CN118057394A (zh) | 使用神经网络模型的用于服装模拟的纸样自动排列方法及装置 | |
Li et al. | Bidirectional optimization coupled lightweight networks for efficient and robust multi-person 2D pose estimation | |
Zhang et al. | Stylized Text-to-Fashion Image Generation | |
KR20210021890A (ko) | 의상 패턴들의 오토 그레이딩 방법 및 장치 | |
CN112907710A (zh) | 基于条件自编码器的共享体型特征空间学习方法 | |
WO2023183170A1 (en) | Virtual garment wrapping for draping simulation |