KR20230082668A - 신발류 디지털 자산을 생성하기 위한 컴퓨터 아키텍처 - Google Patents
신발류 디지털 자산을 생성하기 위한 컴퓨터 아키텍처 Download PDFInfo
- Publication number
- KR20230082668A KR20230082668A KR1020237015403A KR20237015403A KR20230082668A KR 20230082668 A KR20230082668 A KR 20230082668A KR 1020237015403 A KR1020237015403 A KR 1020237015403A KR 20237015403 A KR20237015403 A KR 20237015403A KR 20230082668 A KR20230082668 A KR 20230082668A
- Authority
- KR
- South Korea
- Prior art keywords
- engine
- footwear
- spline
- digital asset
- cad
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Geometry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Image Analysis (AREA)
- Footwear And Its Accessory, Manufacturing Method And Apparatuses (AREA)
Abstract
컴퓨팅 기계(들)는 신발류의 입력 이미지에 액세스하며, 입력 이미지는 픽셀 또는 복셀 기반 이미지를 포함한다. 컴퓨팅 기계(들)는 입력 이미지에 기초하여 그리고 기계 학습 엔진을 사용하여, 신발류의 NURBS(비균일 합리적 기준 스플라인) 모델을 포함하는 3D(3차원) CAD(컴퓨터 지원 설계) 디지털 자산을 생성한다. 3D CAD 디지털 자산을 생성하는 단계는, 훈련된 분류 엔진을 사용하여, 신발류의 시각적 구성 요소를 식별하는 단계; 및 신발류의 시각적 구성 요소에 대해, 스플라인을, 훈련된 강화 학습 엔진을 사용하여 스플라인이 시각적 구성 요소로부터 미리 정의된 평균 거리 내에 있을 때까지, 반복적으로 피팅하는 단계를 포함한다. 3D CAD 디지털 자산은 스플라인을 포함한다. 기계 학습 엔진은 훈련된 분류 엔진 및 훈련된 강화 학습 엔진을 포함한다. 컴퓨팅 기계(들)는 3D CAD 디지털 자산을 표현하는 출력을 제공한다.
Description
우선권 출원
본 출원은 2020년 10월 8일자에 출원된 미국 가출원 제63/089,435호에 대한 우선권을 주장하며, 이것의 내용은 그 전체가 참조로 본 명세서에 포함된다.
기술분야
실시예는 컴퓨터 아키텍처에 관한 것이다. 일부 실시예는 기계 학습에 관한 것이다. 일부 실시예는 신발류(footwear)를 표현하는 디지털 자산(digital asset)을 생성하기 위해 기계 학습을 사용하는 것에 관한 것이다.
신발류 설계는 종종 복잡하다. 신발류 아이템은 다수의 상이한 구성 요소(components)를 포함할 수 있으며, 각각의 구성 요소는 상이한 모양과 위치를 가질 수 있다. 신발류의 디지털 표현이 바람직할 수 있다.
도 1은 일부 실시예에 따른 기계 학습 프로그램의 훈련 및 사용을 예시한다.
도 2는 일부 실시예에 따른 예시적인 신경망을 예시한다.
도 3은 일부 실시예에 따른 이미지 인식 기계 학습 프로그램의 훈련을 예시한다.
도 4는 일부 실시예에 따른 특징 추출 프로세스 및 분류기 훈련을 예시한다.
도 5는 일부 실시예에 따른 컴퓨팅 기계의 블록도이다.
도 6은 일부 실시예에 따른 신발류를 표현하는 디지털 자산을 생성하기 위한 데이터 흐름 파이프라인이다.
도 7은 일부 실시예에 따른 전처리(preprocessing)를 표현하는 데이터 흐름 파이프라인이다.
도 8은 일부 실시예에 따른 부분 식별을 표현하는 데이터 흐름 파이프라인이다.
도 9는 일부 실시예에 따른 신발류 미드솔(midsole)의 구성 요소를 식별하는 경계 상자(bounding box)를 예시한다.
도 10은 일부 실시예에 따른 신발류 로고의 구성 요소를 식별하는 경계 상자를 예시한다.
도 11은 일부 실시예에 따른 가이드 포인트가 표시된 신발류 구성 요소의 예를 예시한다.
도 12는 일부 실시예에 따른 3D 자산의 구축을 표현하는 데이터 흐름 파이프라인이다.
도 13은 일부 실시예에 따른 신발류의 예시적인 3D 모델 세부사항을 예시한다.
도 14는 일부 실시예에 따른 신발류를 표현하는 디지털 자산을 생성하기 위한 예시적인 방법의 흐름도이다.
도 2는 일부 실시예에 따른 예시적인 신경망을 예시한다.
도 3은 일부 실시예에 따른 이미지 인식 기계 학습 프로그램의 훈련을 예시한다.
도 4는 일부 실시예에 따른 특징 추출 프로세스 및 분류기 훈련을 예시한다.
도 5는 일부 실시예에 따른 컴퓨팅 기계의 블록도이다.
도 6은 일부 실시예에 따른 신발류를 표현하는 디지털 자산을 생성하기 위한 데이터 흐름 파이프라인이다.
도 7은 일부 실시예에 따른 전처리(preprocessing)를 표현하는 데이터 흐름 파이프라인이다.
도 8은 일부 실시예에 따른 부분 식별을 표현하는 데이터 흐름 파이프라인이다.
도 9는 일부 실시예에 따른 신발류 미드솔(midsole)의 구성 요소를 식별하는 경계 상자(bounding box)를 예시한다.
도 10은 일부 실시예에 따른 신발류 로고의 구성 요소를 식별하는 경계 상자를 예시한다.
도 11은 일부 실시예에 따른 가이드 포인트가 표시된 신발류 구성 요소의 예를 예시한다.
도 12는 일부 실시예에 따른 3D 자산의 구축을 표현하는 데이터 흐름 파이프라인이다.
도 13은 일부 실시예에 따른 신발류의 예시적인 3D 모델 세부사항을 예시한다.
도 14는 일부 실시예에 따른 신발류를 표현하는 디지털 자산을 생성하기 위한 예시적인 방법의 흐름도이다.
다음의 설명 및 도면은 당업자가 실시할 수 있도록 특정 실시예를 충분히 예시한다. 다른 실시예는 구조적, 논리적, 전기적 프로세스 및 기타 변경 사항을 통합할 수 있다. 일부 실시예의 일부 및 특징은 다른 실시예의 일부 및 특징에 포함되거나, 다른 실시예의 일부 및 특징으로 대체될 수 있다. 청구범위에 기재된 실시예는 이들 청구범위의 모든 사용 가능한 등가물을 포함한다.
위에서 논의한 바와 같이, 의류, 예를 들어, 신발류 설계는 종종 복잡하다. 의류 아이템은 다수의 상이한 구성 요소를 포함할 수 있으며, 각각의 구성 요소는 상이한 모양과 위치를 가질 수 있다. 이것은 손으로 설계한 2차원(two-dimensional; 2D) 또는 3D 의류 모델로부터 3차원(three-dimensional; 3D) 컴퓨터 지원 설계(computer-aided design; CAD) 디지털 모델을 생성하는 것을 복잡한 프로세스로 만들 수 있다. 이러한 디지털 모델은, 예를 들어, 신발류 제조를 위한 지침을 생성하는 데 사용될 수 있다. 전술한 바와 같이, 의류의 디지털 표현이 바람직할 수 있다.
일부 실시예는 의류를 제조하기 위해 (예를 들어, 이미지, 모델 또는 다른 시각적 데이터로부터) 의류 CAD 파일을 생성하는 것에 관한 것이다. 일부 실시예에 따르면, 컴퓨팅 기계(들)는 의류, 예를 들어 신발류의 입력 이미지에 액세스한다. 입력 이미지는 픽셀 또는 복셀 기반 이미지이다. 컴퓨팅 기계(들)는 입력 이미지에 기초하여 그리고 컴퓨팅 기계(들)에서 구현되는 하나 이상의 기계 학습 엔진을 사용하여, 의류의 NURBS(non-uniform rational basis spline; 비균일 합리적 기준 스플라인) 모델을 포함하는 3D CAD 디지털 자산을 생성한다. 3D CAD 디지털 자산을 생성하는 것은 훈련된 분류 엔진을 사용하여, 의류의 시각적 구성 요소를 식별하는 것을 포함한다. 3D CAD 디지털 자산을 생성하는 것은 또한 의류의 시각적 구성 요소에 대해, 스플라인을, 훈련된 강화 학습 엔진(trained reinforcement learning engine)을 사용하여 스플라인이 시각적 구성 요소로부터 미리 정의된 평균 거리 내에 있을 때까지, 반복적으로 피팅(fitting)하는 것을 포함한다. 3D CAD 디지털 자산은 스플라인(들)을 포함한다. 기계 학습 엔진은 훈련된 분류 엔진과 훈련된 강화 학습 엔진을 포함한다. 컴퓨팅 기계(들)는 3D CAD 디지털 자산을 표현하는 출력을 제공한다.
본 명세서에서 사용되는 바와 같이, 비균일 합리적 기준 스플라인(NURBS) 모델은 2D 또는 3D 개체의 수학적 표현을 포함할 수 있으며, 이는 표준 모양(예컨대, 원뿔) 또는 자유형 모양(예컨대, 자동차)일 수 있다.
스플라인은 보트 선체와 같은 큰 물체를 형성하는 사람을 안내하는 데 사용되는 곡선 패턴을 포함할 수 있다. B-스플라인은 곡선 자체 외부에 있는 4개(또는 다른 수)의 로컬 함수 또는 제어점(control points)을 기반으로 한다(B는 기준을 나타냄). 비균일은 (임의의 두 점 사이의) 정의된 모양의 일부 섹션이 전체 모양의 다른 섹션에 비해 짧아지거나 늘어날 수 있다는 생각을 표현할 수 있다. 합리적은 다른 개체에 대한 각 위치 관계를 고려할 때 다른 점보다 모양 내의 일부 점에 더 많은 가중치를 부여하는 능력을 설명할 수 있다. (이것은 4차원적 특성으로 지칭될 수 있다.)
스플라인은 제어점 및 제어점에 기초한 수학 함수를 사용하여 정의될 수 있다. 스플라인의 그래픽 표현은 제어점에 기초하여 수학적으로 계산될 수 있다. 제어점은 수학 함수에 대응하는 곡선의 모양을 결정한다.
본 발명의 양태는 컴퓨터 시스템의 일부로서 구현될 수 있다. 컴퓨터 시스템은 하나의 물리적 기계일 수도 있고, 클라우드 컴퓨팅 분산 모델의 경우에는 역할이나 기능에 의해 또는 프로세스 스레드에 의해 여러 물리적 기계에 분산될 수도 있다. 다양한 실시예에서, 본 발명의 양태는 가상 기계에서 실행되도록 구성될 수 있으며, 이는 결국 하나 이상의 물리적 기계에서 실행된다. 당업자는 본 발명의 특징이 다양한 상이한 적합한 기계 구현에 의해 실현될 수 있음을 이해할 것이다.
시스템은 다양한 엔진을 포함하며, 이들 각각은 기능 또는 기능 세트를 수행하도록 구축, 프로그래밍, 구성 또는 적응된다. 본 명세서에서 사용되는 엔진이라는 용어는 예를 들어 주문형 집적 회로(application specific integrated circuit; ASIC) 또는 필드 프로그램 가능 게이트 어레이(field-programmable gate array; FPGA)와 같은 하드웨어, 또는 프로세서 기반 컴퓨팅 플랫폼 및 특정 기능을 구현하기 위해 컴퓨팅 플랫폼을 특수 목적 디바이스로 변환하는 프로그램 명령어 세트와 같은 하드웨어와 소프트웨어의 조합을 사용하여 구현되는 유형적인 디바이스, 구성 요소 또는 구성 요소의 배열을 의미한다. 엔진은 또한 이 둘의 조합으로 구현될 수도 있어, 특정 기능은 하드웨어만으로 용이하게 되고, 다른 기능은 하드웨어와 소프트웨어의 조합에 의해 용이하게 된다.
일 예에서, 소프트웨어는 유형적인 기계 판독 가능 저장 매체에 실행 가능한 형태 또는 실행 불가능한 형태로 상주할 수 있다. 실행 불가능한 형태로 상주하는 소프트웨어는 실행 시간 이전이나 도중에 실행 가능한 형태로 컴파일, 변형 또는 변환될 수 있다. 일 예에서, 소프트웨어는 엔진의 기본 하드웨어에 의해 실행될 때, 하드웨어가 지정된 동작을 수행하게 한다. 따라서, 엔진은 지정된 방식으로 동작하거나 해당 엔진과 관련하여 본 명세서에 설명된 임의의 동작의 일부 또는 전부를 수행하도록 물리적으로 구축되거나, 구체적으로 구성(예를 들어, 하드웨어에 내장)되거나, 일시적으로 구성(예를 들어, 프로그래밍)된다.
엔진이 일시적으로 구성되는 예를 고려하면, 각각의 엔진은 상이한 시점에 인스턴스화될 수 있다. 예를 들어, 엔진이 소프트웨어를 사용하여 구성되는 범용 하드웨어 프로세서 코어를 포함하는 경우, 범용 하드웨어 프로세서 코어는 상이한 시간에 각각 상이한 엔진으로 구성될 수 있다. 따라서, 소프트웨어는 하드웨어 프로세서 코어를 구성하여 예를 들어 한 시점에서 특정 엔진을 구성하고 다른 시점에서 다른 엔진을 구성할 수 있다.
특정 구현에서, 엔진의 적어도 일부, 그리고 일부 경우에는, 전부가 운영 체제, 시스템 프로그램 및 애플리케이션 프로그램을 실행하는 하나 이상의 컴퓨터의 프로세서(들)에서 실행될 수 있으며, 또한 적절한 경우 멀티태스킹, 멀티스레딩, 분산(예를 들어, 클러스터, 피어-피어, 클라우드 등) 처리 또는 기타 이러한 기술을 사용하여 엔진을 구현할 수 있다. 따라서, 각각의 엔진은 다양한 적절한 구성으로 실현될 수 있고, 일반적으로 제한이 명시적으로 요구되지 않는 한 본 명세서에 예시된 임의의 특정 구현으로 제한되지 않아야 한다.
또한, 엔진 자체는 하나 이상의 서브 엔진으로 구성될 수 있으며, 각각의 서브 엔진은 그 자체로 엔진으로 간주될 수 있다. 또한, 본 명세서에 설명된 실시예에서, 다양한 엔진 각각은 정의된 기능에 대응하며; 그러나, 다른 고려된 실시예에서, 각각의 기능은 하나 이상의 엔진에 분배될 수 있음을 이해해야 한다. 마찬가지로, 다른 고려된 실시예에서, 다수의 정의된 기능은 가능한 다른 기능과 함께 그러한 다수의 기능을 수행하는 단일 엔진에 의해 구현되거나 본 명세서의 예에서 구체적으로 예시된 것과는 다르게 엔진 세트 간에 분배될 수 있다.
도 1은 일부 예시적인 실시예에 따른 기계 학습 프로그램의 훈련 및 사용을 예시한다. 일부 예시적인 실시예에서, 기계 학습 알고리즘 또는 도구로도 지칭되는 기계 학습 프로그램(machine-learning program; MLP)이 이미지 인식 또는 기계 번역과 같은 기계 학습 작업과 관련된 동작을 수행하는 데 활용된다.
기계 학습은 컴퓨터가 명시적으로 프로그래밍되지 않고도 학습할 수 있는 능력을 부여하는 연구 분야이다. 기계 학습은 기존 데이터로부터 학습하고 새로운 데이터에 대해 예측할 수 있는 알고리즘(여기서는 도구로도 지칭됨)의 연구 및 구성을 탐색한다. 이러한 기계 학습 도구는 출력 또는 평가(120)로 표현되는 데이터 기반 예측 또는 결정을 내리기 위해 예시 훈련 데이터(112)로부터 모델을 구축함으로써 동작한다. 몇몇 기계 학습 도구와 관련하여 예시적인 실시예가 제시되지만, 본 명세서에 제시된 원리는 다른 기계 학습 도구에 적용될 수 있다.
일부 예시적인 실시예에서, 상이한 기계 학습 도구가 사용될 수 있다. 예를 들어, 로지스틱 회귀(Logistic Regression; LR), 나이브 베이즈(Naive-Bayes), 랜덤 포레스트(Random Forest; RF), 신경망(Neural Network; NN), 행렬 인수분해 및 서포트 벡터 머신(Support Vector Machines; SVM) 도구를 사용하여 작업 게시물을 분류하거나 점수를 매길 수 있다.
기계 학습에서 두 가지 일반적인 유형의 문제는 분류 문제와 회귀 문제이다. 범주화 문제라고도 지칭되는 분류 문제는 아이템을 여러 카테고리 값 중 하나로 분류하는 것을 목표로 한다(예를 들어, 이 개체가 사과인지 오렌지인지 분류함). 회귀 알고리즘은 일부 아이템을 정량화하는 것을 목표로 한다(예를 들어, 실수 값을 제공함으로써). 기계 학습 알고리즘은 훈련 데이터(112)를 활용하여 결과에 영향을 미치는 식별된 특징(102) 간의 상관 관계를 찾는다.
기계 학습 알고리즘은 데이터를 분석하는 특징(102)을 활용하여 평가(120)를 생성한다. 특징(102)은 관찰되는 현상의 개별 측정 가능한 속성이다. 특징의 개념은 선형 회귀와 같은 통계 기술에 사용되는 설명 변수의 개념과 관련이 있다. 패턴 인식, 분류 및 회귀에서 MLP의 효과적인 동작을 위해서는 유익하고 차별적이며 독립적인 특징을 선택하는 것이 중요하다. 특징은 숫자 특징, 문자열 및 그래프와 같은 상이한 유형일 수 있다.
하나의 예시적인 실시예에서, 특징(102)은 상이한 유형일 수 있고, 메시지 단어(103), 메시지 개념(104), 통신 이력(105), 과거 사용자 행동(106), 메시지 제목(107), 다른 메시지 속성(108), 발신자(109) 및 사용자 데이터(110) 중 하나 이상을 포함할 수 있다.
기계 학습 알고리즘은 훈련 데이터(112)를 활용하여 결과 또는 평가(120)에 영향을 미치는 식별된 특징(102) 간의 상관 관계를 찾는다. 일부 예시적인 실시예에서, 훈련 데이터(112)는 통신 패턴 검출, 메시지 의미 검출, 메시지 요약 생성, 메시지에서 작업 항목 검출, 메시지에서 긴급성 검출, 발신자와 사용자의 관계 검출, 점수 속성 계산, 메시지 점수 계산 등과 같은 하나 이상의 결과 및 하나 이상의 식별된 특징(102)에 대한 알려진 데이터인 라벨링된 데이터를 포함한다.
훈련 데이터(112) 및 식별된 특징(102)으로, 기계 학습 도구는 동작(114)에서 훈련된다. 기계 학습 도구는 훈련 데이터(112)와 상관 관계가 있는 특징(102)의 값을 평가한다. 훈련 결과는 훈련된 기계 학습 프로그램(116)이다.
기계 학습 프로그램(116)이 평가를 수행하기 위해 사용될 때, 새로운 데이터(118)가 훈련된 기계 학습 프로그램(116)에 대한 입력으로 제공되고, 기계 학습 프로그램(116)은 평가(120)를 출력으로 생성한다. 예를 들어, 작업 항목에 대해 메시지를 확인할 때, 기계 학습 프로그램은 메시지 내용과 메시지 메타데이터를 활용하여 메시지에 작업 요청이 있는지 여부를 결정한다.
기계 학습 기술은 모델에 공급된 데이터에 대한 예측(예를 들어, 주어진 발화에서 사용자가 말한 내용, 명사가 사람, 장소 또는 사물인지 여부, 내일 날씨는 어떨지)을 정확하게 수행하도록 모델을 훈련시킨다. 학습 단계 동안, 모델은 주어진 입력에 대해 출력을 정확하게 예측하도록 모델을 최적화하기 위해 훈련 데이터 세트에 대해 개발된다. 일반적으로, 학습 단계는 지도, 준지도, 또는 비지도일 수 있으며; 이는 훈련 입력에 대응하여 "올바른" 출력이 제공되는 레벨이 감소함을 표시한다. 지도 학습 단계에서, 모든 출력이 모델에 제공되고 모델은 입력을 출력에 매핑하는 일반 규칙 또는 알고리즘을 개발하도록 지시된다. 대조적으로, 비지도 학습 단계에서, 입력에 대해 원하는 출력이 제공되지 않아서, 모델은 훈련 데이터 세트 내에서 관계를 발견하기 위해 자체 규칙을 개발할 수 있다. 준지도 학습 단계에서, 불완전하게 라벨링된 훈련 세트가 제공되며 일부 출력은 훈련 데이터 세트에 대해 알려져 있고 일부는 알려져 있지 않다.
모델은 여러 에포크(예를 들어, 반복) 동안 훈련 데이터 세트에 대해 실행될 수 있으며, 여기서 훈련 데이터 세트는 그 결과를 개선(refine)하기 위해 모델에 반복적으로 공급된다. 예를 들어, 지도 학습 단계에서, 모델은 주어진 입력 세트에 대해 출력을 예측하기 위해 개발되고, 훈련 데이터 세트에 대한 최대 입력 수 동안 주어진 입력에 해당하는 것으로 지정된 출력을 보다 신뢰할 수 있게 제공하기 위해 여러 에포크에 걸쳐 평가된다. 또 다른 예에서, 비지도 학습 단계 동안, 모델은 데이터 세트를 n개의 그룹으로 클러스터링하도록 개발되고, 주어진 입력을 주어진 그룹에 얼마나 일관되게 배치하고 각각의 에포크 동안 원하는 n개의 클러스터를 얼마나 신뢰할 수 있게 생성하는지에 대해 여러 에포크에 걸쳐 평가된다.
일단 에포크가 실행되면, 모델은 평가되고 그 변수의 값은 모델을 더 잘 개선하기 위해 반복적인 방식으로 조정된다. 다양한 양태에서, 평가는 거짓 음성에 대해 편향되거나, 거짓 양성에 대해 편향되거나, 모델의 전체 정확도와 관련하여 균등하게 편향된다. 값은 사용되는 기계 학습 기술에 따라 여러 가지 방법으로 조정될 수 있다. 예를 들어, 유전 또는 진화 알고리즘에서, 원하는 출력을 예측하는 데 가장 성공적인 모델의 값은 후속 에포크 동안 사용할 모델의 값을 개발하는 데 사용되며, 여기에는 무작위 변동/변이를 포함하여 추가 데이터 포인트를 제공할 수 있다. 당업자는 선형 회귀, 랜덤 포레스트, 결정 트리 학습, 신경망, 심층 신경망 등을 포함하여 본 개시에 적용될 수 있는 여러 다른 기계 학습 알고리즘에 익숙할 것이다.
각각의 모델은 입력에 영향을 미치는 하나 이상의 변수 값을 변경하여 원하는 결과에 더 가깝게 매핑함으로써 여러 에포크에 걸쳐 규칙 또는 알고리즘을 개발하지만, 훈련 데이터 세트는 변경될 수 있고 바람직하게는 매우 크므로 완벽한 정확도와 정밀도를 달성하지 못할 수 있다. 따라서, 학습 단계를 구성하는 여러 에포크는 주어진 시도 횟수 또는 고정된 시간/컴퓨팅 예산으로 설정될 수 있거나, 주어진 모델의 정확도가 충분히 높거나 낮거나 정확도 안정기에 도달했을 때 해당 횟수/예산에 도달하기 전에 종료될 수 있다. 예를 들어, 훈련 단계가 n개의 에포크를 실행하고 최소 95% 정확도를 갖는 모델을 생성하도록 설계되고 이러한 모델이 n개의 에포크 이전에 생성된 경우, 학습 단계는 조기에 종료되고 최종 목표 정확도 임계값을 충족하는 생성된 모델을 사용할 수 있다. 유사하게, 주어진 모델이 무작위 기회 임계값을 충족할 만큼 충분히 부정확한 경우(예를 들어, 모델은 주어진 입력에 대한 참/거짓 출력을 결정하는 정확도가 55%에 불과함), 해당 모델에 대한 학습 단계는 조기에 종료될 수 있지만, 훈련 단계 내의 다른 모델은 훈련을 계속할 수 있다. 유사하게, 주어진 모델이 여러 에포크 동안 계속해서 유사한 정확도를 제공하거나 결과가 흔들리는 경우(성능 안정기에 도달한 경우), 주어진 모델에 대한 학습 단계는 에포크 횟수/컴퓨팅 예산에 도달하기 전에 종료될 수 있다.
학습 단계가 완료되면, 모델이 완성된다. 일부 예시적인 실시예에서, 완성된 모델은 테스트 기준에 대해 평가된다. 제1 예에서, 입력에 대해 알려진 출력을 포함하는 테스트 데이터 세트가 완성된 모델에 공급되어 훈련되지 않은 데이터를 처리할 때 모델의 정확도를 결정한다. 제2 예에서, 모델 완성 후 모델을 평가하기 위해 거짓 양성 비율 또는 거짓 음성 비율이 사용될 수 있다. 제3 예에서, 데이터 클러스터 간의 설명을 사용하여 데이터 클러스터에 대해 가장 명확한 경계를 생성하는 모델을 선택한다.
도 2는 일부 실시예에 따른 예시적인 신경망(204)을 예시한다. 도시된 바와 같이, 인공 신경망(204)은 소스 도메인 데이터(202)를 입력으로 수신한다. 입력은 출력에 도달하기 위해 복수의 계층(206)을 통과한다. 각각의 계층(206)은 다수의 뉴런(208)을 포함한다. 뉴런(208)은 이전 계층의 뉴런으로부터 입력을 수신하고 이들 뉴런으로부터 수신된 값에 가중치를 적용하여 뉴런 출력을 생성한다. 최종 계층(206)의 뉴런 출력은 결합되어 인공 신경망(204)의 출력을 생성한다.
도 2의 하단에 예시된 바와 같이, 입력은 벡터 x이다. 입력은 최종적으로 출력 f(x)가 계산될 때까지 다수의 계층(206)을 통과하며, 여기서 가중치(W1, W2,…,Wi)가 f1(x), f2(x),…, fi-1(x)에 도달하기 위해 각각의 계층의 입력에 적용된다.
일부 예시적인 실시예에서, 인공 신경망(204)(예를 들어, 심층 학습, 심층 콘볼루션 또는 순환 신경망)은 네트워크로 배열된 일련의 뉴런(208), 예를 들어, 장단기 메모리(Long Short Term Memory; LSTM) 노드를 포함한다. 뉴런(208)은 데이터 처리 및 인공 지능, 특히 기계 학습에 사용되는 구조적 요소로, 주어진 뉴런(208)에 제공된 입력의 가중치에 기초하여 해당 메모리에 보유된 값을 "기억"할 때와 "삭제"할 때를 결정할 수 있는 메모리를 포함한다. 본 명세서에 사용되는 각각의 뉴런(208)은 인공 신경망(204)의 다른 뉴런(208)으로부터 미리 정의된 수의 입력을 수용하여 분석 중인 프레임의 내용에 대한 관계형 및 하위 관계형 출력을 제공하도록 구성된다. 개별 뉴런(208)은 발화의 각각의 프레임이 서로 어떻게 관련되어 있는지에 대한 상호 작용 및 관계 학습 모델링을 제공하기 위해 신경망의 다양한 구성에서 함께 연결 및/또는 트리 구조로 구성될 수 있다.
예를 들어, 뉴런 역할을 하는 LSTM 노드는 입력 벡터(예를 들어, 발화의 음소), 메모리 셀 및 출력 벡터(예를 들어, 문맥 표현)를 처리하기 위한 여러 게이트를 포함한다. 입력 게이트와 출력 게이트는 각각 메모리 셀로 들어오고 나가는 정보를 제어하는 반면, 삭제 게이트는 인공 신경망 초기에 연결된 셀의 입력을 기반으로 메모리 셀에서 선택적으로 정보를 제거한다. 다양한 게이트에 대한 가중치 및 편향 벡터는 훈련 단계 과정에 걸쳐 조정되며, 훈련 단계가 완료되면, 해당 가중치 및 편향은 정상 동작을 위해 최종적으로 결정된다. 당업자는 뉴런 및 신경망이 프로그래밍 방식으로(예를 들어, 소프트웨어 명령어를 통해) 또는 각각의 뉴런을 연결하는 특수 하드웨어를 통해 구성되어 인공 신경망을 형성할 수 있음을 인식할 것이다.
신경망은 평가를 생성하기 위해(예를 들어, 음성 단위를 인식하기 위해) 데이터를 분석하는 특징을 활용한다. 특징은 관찰되는 현상의 개별 측정 가능한 속성이다. 특징의 개념은 선형 회귀와 같은 통계 기술에서 사용되는 설명 변수의 개념과 관련이 있다. 또한, 심층 특징은 심층 신경망의 은닉 계층에 있는 노드의 출력을 표현한다.
인공 신경망이라고도 지칭되는 신경망은 동물 뇌의 생물학적 신경망을 고려한 컴퓨팅 시스템/장치이다. 이러한 시스템/장치는 일반적으로 작업 특정 프로그래밍 없이 작업을 수행하기 위해 학습이라고 지칭되는 성능을 점진적으로 향상시킨다. 예를 들어, 이미지 인식에서, 인공 신경망은 개체 이름으로 태그가 지정된 예제 이미지를 분석하여 개체가 포함된 이미지를 식별하도록 훈련될 수 있으며, 개체와 이름을 학습한 후 분석 결과를 사용하여 태그가 지정되지 않은 이미지에서 개체를 식별할 수 있다. 인공 신경망은 뉴런이라고 하는 연결된 유닛들의 모음을 기반으로 하며, 여기서 뉴런 사이의 시냅스라고 하는 각각의 연결은 연결 강도에 따라 활성화 강도가 달라지는 단방향 신호를 전송할 수 있다. 수신 뉴런은 일반적으로 잠재적으로 많은 전송 뉴런에서 오는 결합된 수신 신호의 강도가 충분한지 여부에 따라, 신호를 활성화하고 연결된 다운스트림 뉴런으로 신호를 전파할 수 있으며, 여기서 강도는 파라미터이다.
심층 신경망(deep neural network; DNN)은 다수의 계층으로 구성된 적층형 신경망이다. 계층은 계산이 발생하는 위치인 노드로 구성되며, 인간 뇌의 뉴런에 느슨하게 패턴화되어 충분한 자극을 만났을 때 발화한다. 노드는 데이터의 입력을 해당 입력을 증폭하거나 약화시키는 일련의 계수 또는 가중치와 결합하며, 계수 또는 가중치는 알고리즘이 학습하려는 작업의 입력에 중요성을 할당한다. 이러한 입력-가중치 곱이 합산되고, 그 합계는 노드의 활성화 함수에 전달되어 최종 결과에 영향을 미치기 위해 신호가 네트워크를 통해 더 진행되는지 여부와 그 정도를 결정한다. DNN은 특징 추출 및 변환을 위해 여러 계층의 비선형 처리 유닛을 계단식으로 사용한다. 각각의 연속 계층은 이전 계층의 출력을 입력으로 사용한다. 상위 레벨 특징은 하위 레벨 특징으로부터 도출되어 계층적 표현을 형성한다. 입력 계층 다음의 계층은 콘볼루션 계층으로서, 이는 입력 결과를 필터링하고 다음 콘볼루션 계층에서 사용되는 특징 맵을 생성할 수 있다.
DNN 아키텍처의 훈련에서, 변수 간의 관계를 추정하기 위한 일련의 통계 프로세스로 구성된 회귀는 비용 함수의 최소화를 포함할 수 있다. 비용 함수는 훈련 예제를 올바른 출력에 매핑하는 데 인공 신경망이 얼마나 잘 수행되었는지를 표현하는 숫자를 반환하는 함수로 구현될 수 있다. 훈련에서, 비용 함수 값이 미리 결정된 범위를 내에 있지 않으면, 알려진 학습 이미지를 기반으로 역전파(backpropagation)를 사용하며, 여기서 역전파는 확률적 경사하강법(stochastic gradient descent; SGD) 방법과 같은 최적화 방법과 함께 사용되는 인공 신경망 훈련의 일반적인 방법이다.
역전파의 사용은 전파 및 가중치 업데이트를 포함할 수 있다. 입력이 인공 신경망에 제시되면, 출력 계층에 도달할 때까지 인공 신경망을 통해 계층별로 순방향 전파된다. 그런 다음, 인공 신경망의 출력을 비용 함수를 사용하여 원하는 출력과 비교하고 출력 계층의 각각의 노드에 대해 오차 값을 계산한다. 각각의 노드가 원래 출력에 대한 기여도를 대략적으로 표현하는 연관된 오차 값을 가질 때까지, 오차 값은 출력에서 시작하여 역방향으로 전파된다. 역전파는 이러한 오차 값을 사용하여 인공 신경망의 가중치에 대한 비용 함수의 기울기를 계산할 수 있다. 계산된 기울기는 선택된 최적화 방법에 공급되어 비용 함수를 최소화하기 위해 가중치를 업데이트한다.
도 3은 일부 실시예에 따른 이미지 인식 기계 학습 프로그램의 훈련을 예시한다. 기계 학습 프로그램은 하나 이상의 컴퓨팅 기계에서 구현될 수 있다. 블록(302)은 다수의 클래스(304)를 포함하는 훈련 세트를 예시한다. 각각의 클래스(304)는 클래스와 연관된 다수의 이미지(306)를 포함한다. 각각의 클래스(304)는 이미지(306)의 개체 유형(예를 들어, 숫자 0-9, 남자 또는 여자, 고양이 또는 개 등)에 대응할 수 있다. 하나의 예에서, 기계 학습 프로그램은 미국 대통령의 이미지를 인식하도록 훈련되며, 각각의 클래스는 각각의 대통령에 대응한다(예를 들어, 한 클래스는 버락 오바마에 대응하고, 한 클래스는 조지 W. 부시에 대응하는 등). 블록(308)에서, 기계 학습 프로그램(예를 들어, 심층 신경망 사용)은 훈련된다. 블록(310)에서, 블록(308)의 훈련에 의해 생성된 훈련된 분류기는 이미지(312)를 인식하고, 블록(314)에서, 이미지가 인식된다. 예를 들어, 이미지(312)가 빌 클린턴의 사진인 경우, 분류기는 블록(314)에서 이미지를 빌 클린턴에 대응하는 것으로 인식한다.
도 3은 일부 예시적인 실시예에 따른 분류기의 훈련을 예시한다. 기계 학습 알고리즘은 얼굴을 인식하도록 설계되었으며, 훈련 세트(302)는 샘플을 클래스(304)(예를 들어, 클래스는 지갑의 모든 이미지를 포함함)에 매핑하는 데이터를 포함한다. 클래스는 라벨이라고도 지칭된다. 본 명세서에 제시된 실시예는 개체 인식을 참조하여 제시되지만, 동일한 원리가 임의 유형의 항목을 인식하는 데 사용되는 기계 학습 프로그램 훈련에 적용될 수 있다.
훈련 세트(302)는 각각의 클래스(304)에 대한 복수의 이미지(306)(예를 들어, 이미지(306))를 포함하고, 각각의 이미지는 인식될 카테고리(예를 들어, 클래스) 중 하나와 연관된다. 기계 학습 프로그램은 훈련 데이터로 훈련되어(308) 이미지를 인식하도록 동작 가능한 분류기(310)를 생성한다. 일부 예시적인 실시예에서, 기계 학습 프로그램은 DNN이다.
입력 이미지(312)가 인식되어야 하는 경우, 분류기(310)는 입력 이미지(312)에 대응하는 클래스(예를 들어, 클래스(314))를 식별하기 위해 입력 이미지(312)를 분석한다.
도 4는 일부 예시적인 실시예에 따른 특징 추출 프로세스 및 분류기 훈련을 예시한다. 분류기 훈련은 특징 추출 계층(402)과 분류기 계층(414)으로 나누어질 수 있다. 각각의 이미지는 특징 추출 계층(402)에 있는 복수의 계층(406-413)에 의해 순차적으로 분석된다.
심층 콘볼루션 신경망의 발달로, 얼굴 인식의 주안점은 동일한 사람의 얼굴은 서로 가까이 있고 다른 사람의 얼굴은 멀리 떨어져 있는 양호한 얼굴 특징 공간을 학습하는 것이었다. 예를 들어, LFW(Labeled Faces in the Wild) 데이터 세트를 사용한 확인 작업은 얼굴 확인에 자주 사용되었다.
많은 얼굴 식별 작업(예를 들어, 데이터 세트 MegaFace 및 LFW와 관련됨)은 갤러리 세트와 쿼리 세트의 이미지 간의 유사성 비교를 기반으로 하며, 이는 본질적으로 사람의 신원을 추정하는 KNN(K-Nearest-Neighborhood) 방법이다. 이상적인 경우, 양호한 얼굴 특징 추출기가 있고(클래스 간 거리가 클래스 내 거리보다 항상 큼), KNN 방법이 사람의 신원을 추정하는 데 적합하다.
특징 추출은 대규모 데이터 세트를 설명하는 데 필요한 리소스의 양을 줄이기 위한 프로세스이다. 복잡한 데이터를 분석할 때, 주요 문제 중 하나는 관련된 변수의 수에서 비롯된다. 많은 수의 변수가 있는 분석은 일반적으로 많은 양의 메모리와 계산 능력을 필요로 하며, 분류 알고리즘이 훈련 샘플에 과적합하고 새로운 샘플에 대해 제대로 일반화되지 않을 수 있다. 특징 추출은 원하는 목적을 위해 충분한 정확도로 데이터를 설명하면서 이러한 대규모 데이터 세트 문제를 해결하기 위해 변수 조합을 구성하는 방법을 설명하는 일반적인 용어이다.
일부 예시적인 실시예에서, 특징 추출은 초기 측정 데이터 세트로부터 시작하고, 유익하고 중복되지 않도록 의도된 도출된 값(특징)을 구축하여 후속 학습 및 일반화 단계를 용이하게 한다. 또한, 특징 추출은 큰 벡터(때로는 매우 희소한 데이터 포함)를 동일하거나 유사한 양의 정보를 캡처하는 더 작은 벡터로 줄이는 것과 같은 차원 축소와 관련이 있다.
초기 특징의 서브 세트 결정은 특징 선택이라고 한다. 선택된 특징은 입력 데이터의 관련 정보를 포함할 것으로 예상되므로 완전한 초기 데이터 대신 이 축소된 표현을 사용하여 원하는 작업을 수행할 수 있다. DNN은 각각의 계층이 기능을 수행하는 계층 스택을 활용한다. 예를 들어, 계층은 콘볼루션, 비선형 변환, 평균 계산 등의 계층일 수 있다. 결국, 이 DNN은 분류기(414)로 출력을 생성한다. 도 4에서, 데이터는 왼쪽에서 오른쪽으로 이동하며 특징이 추출된다. 인공 신경망 훈련의 목표는 원하는 작업에 적합하게 만드는 모든 계층의 파라미터를 찾는 것이다.
도 4에 도시된 바와 같이, "스트라이드 4" 필터가 계층(406)에 적용되고, 최대 풀링이 계층(407-413)에 적용된다. 스트라이드는 필터가 입력 볼륨을 중심으로 콘볼루션하는 방식을 제어한다. "스트라이드 4"는 필터가 한 번에 4개 단위씩 입력 볼륨을 중심으로 콘볼루션하는 것을 지칭한다. 최대 풀링은 각각의 최대 풀링 영역에서 최댓값을 선택하여 다운 샘플링하는 것을 지칭한다.
일부 예시적인 실시예에서, 각각의 계층의 구조는 미리 정의된다. 예를 들어, 콘볼루션 계층은 작은 콘볼루션 커널과 각각의 콘볼루션 파라미터를 포함할 수 있으며, 합산 계층은 입력 이미지의 두 픽셀의 합 또는 가중 합을 계산할 수 있다. 훈련은 합계에 대한 가중치 계수를 정의하는 데 도움이 된다.
DNN의 성능을 향상시키는 한 가지 방법은 특징 추출 계층에 대한 새로운 구조를 식별하는 것이고, 다른 방법은 원하는 작업을 달성하기 위해 상이한 계층에서 파라미터가 식별되는 방법을 개선하는 것이다. 문제는 일반적인 신경망의 경우 최적화해야 할 수백만 개의 파라미터가 있을 수 있다는 것이다. 이러한 모든 파라미터를 처음부터 최적화하려면 사용 가능한 컴퓨팅 리소스의 양과 훈련 세트의 데이터 양에 따라 몇 시간, 며칠 또는 몇 주가 걸릴 수 있다.
도 5는 일부 실시예에 따른 컴퓨팅 기계(500)의 회로 블록도를 예시한다. 일부 실시예에서, 컴퓨팅 기계(500)의 구성 요소는 도 5의 회로 블록도에 도시된 다른 구성 요소를 저장하거나 그 구성 요소에 통합될 수 있다. 예를 들어, 컴퓨팅 기계(500)의 일부는 프로세서(502)에 상주할 수 있고 "처리 회로"로 지칭될 수 있다. 처리 회로는 처리 하드웨어, 예를 들어, 하나 이상의 중앙 처리 유닛(CPU), 하나 이상의 그래픽 처리 유닛(GPU) 등을 포함할 수 있다. 대안적인 실시예에서, 컴퓨팅 기계(500)는 독립형 디바이스로서 동작할 수 있거나 다른 컴퓨터에 연결(예를 들어, 네트워크 연결)될 수 있다. 네트워크 연결 배치에서, 컴퓨팅 기계(500)는 서버-클라이언트 네트워크 환경에서 서버, 클라이언트 또는 둘 다의 기능으로 동작할 수 있다. 일 예에서, 컴퓨팅 기계(500)는 피어-투-피어(P2P)(또는 다른 분산형) 네트워크 환경에서 피어 기계로서의 역할을 할 수 있다. 이 문서에서, P2P, 디바이스 대 디바이스(D2D) 및 사이드링크라는 문구는 상호 호환적으로 사용될 수 있다. 컴퓨팅 기계(500)는 특수 컴퓨터, 개인용 컴퓨터(PC), 태블릿 PC, 개인 휴대 정보 단말기(PDA), 휴대폰, 스마트폰, 웹 기기, 네트워크 라우터, 스위치 또는 브리지, 또는 해당 기계에서 수행할 작업을 지정하는 명령어를 (순차적 또는 다른 방식으로) 실행할 수 있는 임의의 기계일 수 있다.
본 명세서에 설명된 바와 같이, 실시예는 로직 또는 다수의 구성 요소, 모듈 또는 메커니즘을 포함하거나 그 상에서 동작할 수 있다. 모듈 및 구성 요소는 지정된 동작을 수행할 수 있는 유형적인 엔티티(예를 들어, 하드웨어)이며 특정 방식으로 구성 또는 배열될 수 있다. 일 예에서, 회로는 지정된 방식으로 (예를 들어, 내부적으로 또는 다른 회로와 같은 외부 엔티티에 대해) 모듈로서 배열될 수 있다. 일 예에서, 하나 이상의 컴퓨터 시스템/장치(예를 들어, 독립형, 클라이언트 또는 서버 컴퓨터 시스템) 또는 하나 이상의 하드웨어 프로세서의 전체 또는 일부는 펌웨어 또는 소프트웨어(예를 들어, 명령어, 애플리케이션 부분 또는 애플리케이션)에 의해, 지정된 동작을 수행하도록 동작하는 모듈로 구성될 수 있다. 일 예에서, 소프트웨어는 기계 판독 가능 매체에 상주할 수 있다. 일 예에서, 소프트웨어는 모듈의 기본 하드웨어에 의해 실행될 때, 하드웨어가 지정된 동작을 수행하게 한다.
따라서, "모듈"(및 "구성 요소")이라는 용어는 지정된 방식으로 동작하거나 본 명세서에 설명된 임의의 동작의 일부 또는 전부를 수행하도록 물리적으로 구축되거나, 구체적으로 구성(예를 들어, 하드웨어에 내장)되거나, 임시로(예를 들어, 일시적으로) 구성(예를 들어, 프로그래밍)되는 유형적인 엔티티를 포함하는 것으로 이해된다. 모듈이 일시적으로 구성되는 예를 고려하면, 각각의 모듈을 한 순간에 인스턴스화될 필요가 없다. 예를 들어, 모듈이 소프트웨어를 사용하여 구성되는 범용 하드웨어 프로세서를 포함하는 경우, 범용 하드웨어 프로세서는 상이한 시간에 각각 상이한 모듈로 구성될 수 있다. 따라서, 소프트웨어는 하드웨어 프로세서를 구성하여 예를 들어 한 시점에서 특정 모듈을 구성하고 다른 시점에서 다른 모듈을 구성할 수 있다.
컴퓨팅 기계(500)는 하드웨어 프로세서(502)(예를 들어, 중앙 처리 유닛(CPU), GPU, 하드웨어 프로세서 코어, 또는 이들의 임의의 조합), 메인 메모리(504) 및 정적 메모리(506)를 포함할 수 있으며, 이들 중 일부 또는 전부는 인터링크(예를 들어, 버스)(508)를 통해 서로 통신할 수 있다. 도시되지는 않았지만, 메인 메모리(504)는 이동식 저장소 및 비이동식 저장소, 휘발성 메모리 또는 비휘발성 메모리 중 임의의 것 또는 전부를 포함할 수 있다. 컴퓨팅 기계(500)는 비디오 디스플레이 유닛(510)(또는 다른 디스플레이 유닛), 영숫자 입력 디바이스(512)(예를 들어, 키보드) 및 사용자 인터페이스(UI) 내비게이션 디바이스(514)(예를 들어, 마우스)를 더 포함할 수 있다. 일 예에서, 디스플레이 유닛(510), 입력 디바이스(512) 및 UI 내비게이션 디바이스(514)는 터치 스크린 디스플레이일 수 있다. 컴퓨팅 기계(500)는 저장 디바이스(예를 들어, 드라이브 유닛)(516), 신호 생성 디바이스(518)(예를 들어, 스피커), 네트워크 인터페이스 디바이스(520), 및 하나 이상의 센서(521), 예컨대, 글로벌 포지셔닝 시스템(GPS) 센서, 나침반, 가속도계 또는 기타 센서를 추가로 포함할 수 있다. 컴퓨팅 기계(500)는 출력 제어기(528), 예컨대, 직렬(예를 들어, 범용 직렬 버스(USB)), 병렬 또는 기타 유선 또는 무선(예를 들어, 적외선(IR), 근거리 통신(NFC) 등) 연결부를 포함하여 하나 이상의 주변 디바이스(예를 들어, 프린터, 카드 판독기 등)와 통신하거나 제어할 수 있다.
드라이브 유닛(516)(예를 들어, 저장 디바이스)은 본 명세서에 설명된 임의의 하나 이상의 기술 또는 기능을 구현하거나 이에 의해 사용되는 하나 이상의 데이터 구조 세트 또는 명령어(524)(예를 들어, 소프트웨어)가 저장되는 기계 판독 가능 매체(522)를 포함할 수 있다. 명령어(524)는 또한 컴퓨팅 기계(500)에 의해 실행되는 동안 메인 메모리(504), 정적 메모리(506) 또는 하드웨어 프로세서(502) 내에 완전히 또는 적어도 부분적으로 상주할 수 있다. 일 예에서, 하드웨어 프로세서(502), 메인 메모리(504), 정적 메모리(506) 또는 저장 디바이스(516) 중 하나 또는 임의의 조합은 기계 판독 가능 매체를 구성할 수 있다.
기계 판독 가능 매체(522)가 단일 매체로 예시되어 있지만, "기계 판독 가능 매체"라는 용어는 하나 이상의 명령어(524)를 저장하도록 구성되는 단일 매체 또는 다중 매체(예를 들어, 중앙 집중식 또는 분산형 데이터베이스, 및/또는 연관된 캐시 및 서버)를 포함할 수 있다.
"기계 판독 가능 매체"라는 용어는 컴퓨팅 기계(500)에 의한 실행을 위한 명령어를 저장, 인코딩 또는 운반할 수 있고 컴퓨팅 기계(500)가 본 개시의 기술 중 임의의 하나 이상을 수행하게 하거나, 이러한 명령어에 의해 사용되거나 이와 연관된 데이터 구조를 저장, 인코딩 또는 운반할 수 있는 임의의 매체를 포함할 수 있다. 비제한적인 기계 판독 가능 매체의 예는, 솔리드 스테이트 메모리, 광학 및 자기 매체를 포함할 수 있다. 기계 판독 가능 매체의 특정 예는, 반도체 메모리 디바이스(예를 들어, EPROM(Electrically Programmable Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory)) 및 플래시 메모리 디바이스와 같은 비휘발성 메모리; 내부 하드 디스크 및 이동식 디스크와 같은 자기 디스크; 광자기 디스크; 랜덤 액세스 메모리(RAM); 및 CD-ROM 및 DVD-ROM 디스크를 포함할 수 있다. 일부 예에서, 기계 판독 가능 매체는 비일시적 기계 판독 가능 매체를 포함할 수 있다. 일부 예에서, 기계 판독 가능 매체는 일시적 전파 신호가 아닌 기계 판독 가능 매체를 포함할 수 있다.
명령어(524)는 또한 다수의 전송 프로토콜(예를 들어, 프레임 릴레이, 인터넷 프로토콜(IP), 전송 제어 프로토콜(TCP), 사용자 데이터그램 프로토콜(UDP), 하이퍼텍스트 전송 프로토콜(HTTP) 등) 중 임의의 하나를 사용하여, 네트워크 인터페이스 디바이스(520)를 거쳐 전송 매체를 사용하여 통신 네트워크(526)를 통해 전송되거나 수신될 수 있다. 예시적인 통신 네트워크는 LAN(Local Area Network), WAN(Wide Area Network), 패킷 데이터 네트워크(예를 들어, 인터넷), 이동전화 네트워크(예를 들어, 셀룰러 네트워크), POTS(Plain Old Telephone) 네트워크, 및 무선 데이터 네트워크(예를 들어, Wi-Fi®로 알려진 IEEE(Institute of Electrical and Electronics Engineers) 802.11 표준 제품군, WiMax®로 알려진 IEEE 802.16 표준 제품군), IEEE 802.15.4 표준 제품군, LTE(Long Term Evolution) 표준 제품군, UMTS(Universal Mobile Telecommunications System) 표준 제품군, 피어 투 피어(P2P) 네트워크 등을 포함할 수 있다. 일 예에서, 네트워크 인터페이스 디바이스(520)는 통신 네트워크(526)에 연결하기 위한 하나 이상의 물리적 잭(예를 들어, 이더넷, 동축 또는 전화 잭) 또는 하나 이상의 안테나를 포함할 수 있다.
일부 실시예는 기계 학습 기술을 사용하여 신발류(또는 기타 의류) 아이템의 이미지 입력(예를 들어, 설계 스케치, 사진 또는 3D 솔리드 모델)을 3D CAD 디지털 자산(예를 들어, NURBS)으로 변환하기 위한 컴퓨터 프로세스에 관한 것이다. 일부 실시예는 입력을 취하고, 설계 영감, 제조, 마케팅, 디지털 자산 생성에 사용될 수 있는 강력한 디지털 출력을 생성하기 위한 프로세스에 관한 것이다(예를 들어, 증강 현실(AR)/가상 현실(VR), 게임 환경 등에서 사용). 일부 실시예는 신발류와 관련하여 본 명세서에 개시된다. 그러나, 본 명세서에 개시된 기술은 신발류에 제한되지 않고 임의의 다른 의류(예를 들어, 청바지, 가죽 재킷, 스커트 등) 또는 비의류 아이템(예를 들어, 탁자, 의자, 집, 자전거, 야구 장갑, 하키 스틱, 야구공, 농구공 등)으로 확장될 수 있다.
높은 레벨에서, 이미지는 처리를 위해 기계 학습 엔진(예를 들어, 도 1 내지 도 4와 관련하여 설명됨)에 제공된다. 기계 학습 엔진은 NURBS 모델을 제공한다. NURBS 모델은 예를 들어 제조 지침에 사용되는 3D 모델과 같은 출력을 제공하는 데 사용될 수 있다. 일부 메트릭이 원래 설계 의도와 일치할 때까지 3D 모델을 반복적으로 개선하고 조정할 수 있다.
한 가지 문제는 신발류(및 기타 의류) 설계자가 3D CAD 시스템을 사용하여 설계를 작성하지 않고 종이에 스케치를 그리거나 금형을 만들어 왔다는 것이다. 3D CAD 설계를 만들고 구축하는 것은 지루하고 시간이 많이 소요되며 대부분의 신발류 설계자의 예술적 재능을 반드시 활용하지는 않는다. 또한, 수동 반복 개선 및 조정을 수행하는 3D CAD 엔지니어의 기술을 충분히 활용하지 못하는데, 이는 기계 학습 시스템의 발전으로 자동으로 처리될 수 있다. 설계(예를 들어, 2D 라인 아트, 스케치 사진, 태블릿의 스케치, 사진, 메시 개체 또는 조각(예컨대, 개체 스캔))가 주어지면, 그러한 설계를 풍부한 3D 파라메트릭 "디지털 자산"으로 변형하거나 변환하기 위한 노력과 비용은 엄청날 수 있고 시간이 많이 소요될 수 있다.
설계 개체의 3D 파라메트릭 표현(예를 들어, NURBS)은 제조 가능성에서 많은 장점을 갖는다. 또한, 보다 빠르고 일관된 수정을 위한 프로세스와 결합될 수 있다. 풍부한 3D 파라메트릭 자산은 조직 간의 디지털 협업을 위한 플랫폼이 될 수 있다. 3D 파라메트릭 자산은 증강 또는 가상 현실의 향후 사용 사례를 위한 디딤돌 역할을 할 수 있다.
NURBS 대 메시 변환 프로세스를 구현하기 위한 프로세스가 개발되었다. 일부 경우에, NURBS는 본질적으로 기하학의 수학적 모델이기 때문에, 메시보다 훨씬 더 많은 정보를 포함할 수 있다. 따라서, 이러한 NURBS 정보는 메시 표현(또는 개체의 다른 필요한 디지털 표현)으로 쉽게 변환될 수 있다. 일부 경우에, 컴퓨팅 기계(들)가 NURBS를 사용하여 템플릿을 조작(manipulate)할 수 있다. 조작된 템플릿은 구조적 데이터 등을 포함하는 정보 계층을 포함할 수 있다. 조작된 템플릿은 메시에서의 점 구름보다 더 많은 정보를 포함할 수 있다.
설계로부터 3D 자산을 생성하는 일부 대안적인 접근 방식은 3D CAD 엔지니어의 기술을 활용할 수 있다. CAD 엔지니어는 원래 설계를 3D CAD 시스템으로 재생성하거나 "복사"하는 것으로 시작할 수 있다. 시간이 많이 소요되고 지루한 작업의 대부분은 일부 메트릭이 원래 설계 의도와 일치할 때까지 3D 복사본을 반복적으로 개선하고 조정하는 것이다(메트릭에 대한 설명은 아래 참조). 메트릭의 예는 원래 2D 버전에 대한 근접성을 보여주기 위해 2D 평면에 대한 3D 직교 투영일 수 있다.
높은 파라미터 곡선에는 모양을 지정하는 많은(예를 들어, 10개 이상, 20개 이상 등) 점이 있다. 대조적으로, 스플라인은 수학적 관계로 강화된 제어점에 의해 특정된 비교적 적은 수의 점을 통합하여 낮은 파라미터 곡선을 포함할 수 있으므로, 스플라인은 조작하기 쉽고 리소스를 적게 사용하게 된다. 아래에 설명된 한 가지 접근 방식은 입력 이미지를 스플라인으로 변환하고 메트릭이 임계값에 도달할 때까지 타겟 템플릿 범위(예를 들어, 제조 제약(manufacturing constraints), 신발류 특정 제약 등과 같은 제약을 기반으로 함)를 충족하도록 스플라인의 제어점을 조작한다.
일부 양태는 기계 학습을 사용하여 설계 입력(예를 들어, 스케치, 사진 또는 3D 솔리드 모델)으로부터 3D CAD 디지털 자산(예를 들어, NURBS)으로의 신속한 변환을 자동화하는 신발류 설계를 위한 파이프라인 프로세스를 포함한다. 파이프라인은 최종 사용자 경험을 제공하는 웹 애플리케이션을 통해 조정될 수 있는 여러 단계 및 서비스를 포함한다. 파이프라인의 단계는, 전처리, 부분 식별, 3D NURBS 구축 및 저장/변환을 포함할 수 있다.
전처리 단계에서, 컴퓨팅 기계(들)는 설계 입력을 각각의 2D 직교 보기(orthographic views) 또는 투영으로 전처리한다. 부분 식별 단계에서, 컴퓨팅 기계(들)는 신발류의 다양한 구성 요소를 식별하고 설명하는 기계 학습 기술을 사용하여, "부분 식별" 절차 또는 의미적 분할을 수행한다. 이러한 설명된 구성 요소는 라벨링되고 각각의 구성 요소를 나타내는 곡선으로 표현된다.
3D NURBS 구축 단계는 라벨링된 곡선 세트를 입력으로 수신한다. 3D CAD 디지털 자산은 라벨링된 곡선 세트로부터 생성된다. 3D 자산 구축은 강화 학습을 포함한 기술을 사용하여 3D CAD 시스템에서 수행되며, 여기서 백엔드 서비스는 3D CAD 시스템에서 베이스라인 신발류 템플릿의 스플라인을 입력 직교 투영의 해당 곡선 세트로 "복사"하거나 진화시키는 방법을 훈련 및 학습한다. 성공적인 구축은 3D 생성 자산과 직교 입력의 반복적인 비교 및 조정을 통해 안내되고 결정된다. 제조 공차 또는 설계 카테고리 규칙과 같은 기타 제약이 필요에 따라 반복 개선에 적용된다.
저장/변환 단계에서, 완전히 파라미터된 3D 자산은 3D 또는 기계 인쇄, 시각적 렌더링 및 AR/VR과 같은 다운스트림 애플리케이션에 적합한 형식으로 저장, 평면화, 확장 또는 변환된다.
도 6은 일부 실시예에 따른 신발류를 표현하는 디지털 자산을 생성하기 위한 데이터 흐름 파이프라인(600)이다. 파이프라인(600)은 하나 이상의 컴퓨팅 기계(500)에 의해 구현될 수 있다. 파이프라인(600)은 신발류와 관련하여 본 명세서에서 설명되지만, 파이프라인(600)은 임의의 다른 의류 또는 비의류 아이템과 관련하여 사용될 수 있다. 데이터 흐름 파이프라인(600)은 신발류와 관련하여 구체적으로 설명되지만, 데이터 흐름 파이프라인(600)은 의류, 장비 등의 물품을 포함하지만 이에 제한되지 않는 다른 개체 및 물품에 대해 구현될 수 있음을 인식하고 이해해야 한다. 데이터 흐름 파이프라인은 여기에서 높은 레벨로 설명된다. 데이터 흐름 파이프라인의 일부 예는 아래의 도 7 내지 도 13과 관련하여 더 자세히 설명된다.
도시된 바와 같이, 신발류(또는 다른 의류, 장비 등) 물품과 관련된 입력(예를 들어, 라인 스케치(602), 사진(604) 및/또는 3D 모델(606))이 전처리 엔진(610)에 제공된다. 개념 생성기(608)가 또한 전처리 엔진(610)에 데이터를 제공한다. 개념 생성기(608)는 새로운 신발류 스케치 및 설계를 자동으로(또는 대안적으로는 수동으로) 합성할 수 있는 생성적 대립 신경망(Generative Adversarial Network; GAN) 기계 학습 엔진 또는 임의의 다른 엔진을 구현할 수 있다. GAN 기계 학습 엔진은 또한 사용 가능한 보기로부터, 사용할 수 없거나 누락된 보기를 보완, 보충 또는 증대할 수 있다. 전처리 엔진(610)은 직교 투영(612)을 출력하며, 이는 부분 식별 엔진(614)에 의해 사용되어 신발류 물품의 부분을 식별한다. 식별된 부분은 3D 모델 구축 엔진(620)에 의해 사용되어 신발류 물품에 대응하는 3D 모델 신발류 물품을 구축한다. 계산 설계(616)가 3D 구성 요소 카탈로그(618)에 제공되며, 이는 3D 모델 구축 엔진(620)에 대한 입력을 제공하고, 계산 설계(616)는 실제 성능을 예측하기 위해 신발류의 기능적 설계 최적화 및 계산 평가를 수행한다. 카테고리 규칙(622)(예를 들어, 농구, 축구, 달리기, 라이프스타일 등과 같은 신발류 카테고리에 대한 규칙) 및 제조 규칙(626)이 제약 적용 엔진(624)에 제공되며, 이는 3D 모델 구축 엔진(620) 및 후처리 엔진(628)에 의해 적용할 제약을 제공한다. 3D 모델 구축 엔진(620)에 의해 구축된 3D 모델은 후처리 엔진(628)에 제공된다. 후처리 엔진(628)은 3D 자산에 상이한 크기, 성인-청소년-어린이 구성 또는 성별 적합성, 편안함, 성능 및 기능에 최적화된 뉘앙스에 대한 등급 지정과 같은 다른 특성 및 속성을 추가한다. 후처리 엔진(628)은 또한 3D 자산을 제조 가능한 부분 또는 구성 요소로 만드는 데 사용될 수 있는 다른 치수 및 값을 제공할 수 있다. 재료 카탈로그(630) 및 후처리 엔진(628)의 출력은 재료 적용 엔진(632)에 제공된다. 재료 적용 엔진(632)은 재료를 식별하고 식별된 재료의 표현을 색상 적용 엔진(636)에 제공한다. 색상 개념 생성기(634)가 색상 적용 엔진(636)에 대한 색상 개념을 생성한다. 적용된 색상은 시뮬레이션(638) 기반 검증(640)을 위해 제공된다. 검증(640)의 결과는 긍정적인 경우 3D NURBS(642), 2D 패턴(644) 및 기계 코드(646)(예를 들어, 3D 인쇄 또는 제조용)를 생성하는 데 사용된다. 검증(640)의 결과는 긍정적인 경우 3D 메시(648) 및 사실적 사진 모델(650)을 생성하는 데 사용된다. 도 6의 파이프라인(600)은 3D 자산에 대한 다운스트림 출력을 구성 및 구축하거나 3D 자산 업스트림을 임의의 파이프라인 단계에서 허용되는 최소 또는 명목상의 물품 구성으로 분해하기 위해, 파이프라인의 임의의 관련 단계에서 적절한 입력이 시작될 수 있다는 점에서 "다방향" 및 다면적이다.
계산 설계(616)는 실제 성능을 예측하기 위해 신발류(또는 다른 의류, 장비 등)의 기능적 설계 최적화 및 계산 평가를 수행하는 계산 엔진을 포함할 수 있다. 3D 구성 요소 카탈로그(618)는 이전에 또는 동시에 생성되거나 보관된 신발류(또는 다른 의류, 장비 등) 구성 요소의 모음을 포함할 수 있으며, 이는 3D 모델을 구축하거나 계산 설계를 위해 사용될 수 있다. 카테고리 규칙(622)은 신발류(또는 다른 의류, 장비 등) 개발에 적용되는 다양한 카테고리(예를 들어, 농구, 축구, 달리기, 라이프스타일 등)로부터의 지식 기반 규칙(예를 들어, 목록 또는 모음으로 표현됨)을 포함할 수 있다(예를 들어, WHITE 직물에 RED 색상을 사용하면 색상 번짐이 발생할 수 있다는 경고). 제조 규칙(626)은 신발류 개발에 적용되는 지식 기반 공장 및 제조 규칙(예를 들어, 목록 또는 모음으로 표현됨)을 포함할 수 있다. 예를 들어, 일부 언더컷은 성형성(moldability)을 보장하기 위해 특정 각도와 두께를 가질 수 있다. 일부 에칭 절단은 공장/기계 능력 또는 공차로 인해 X보다 커야 한다. 스티치 간격, 스티치 폭은 일정량보다 가깝지 않을 수 있다. 스티치 순서 또는 레이어링 규칙은 제조 규칙(626)에 포함될 수 있다.
후처리 엔진(628)은 3D 자산에 상이한 크기, 성인-청소년-어린이 구성 또는 성별 적합성, 편안함, 성능 및 기능에 최적화된 뉘앙스에 대한 등급 지정과 같은 다른 속성을 추가할 수 있으며, 이와 함께 그것을 제조 가능한 부분 또는 구성 요소로 만드는 다른 치수 및 값을 추가할 수 있다. 재료 카탈로그(630)는 다양한 신발류 물품에 대한 재료 및 재료의 조합을 생성, 제안, 추천하는 GAN 엔진(또는 다른 기계 학습 엔진)을 포함할 수 있다. 이것은 전체적으로 수행될 수 있다.
색상 개념 생성기(634)는 다양한 신발류(또는 다른 의류, 장비 등) 물품에 대한 단일 색상 또는 색상 조합을 생성, 제안 및 추천하는 GAN 엔진(또는 다른 기계 학습 엔진)을 포함할 수 있다. 이것은 전체적으로 수행될 수 있다. 검증(640)은 파이프라인(600)의 나중 단계에서 최종적으로 처리되기 전에 지금까지 적용된 입력에 대해 사용자에게 피드백 또는 최종 확인을 제공하는 엔진을 포함할 수 있다. 검증(640)은 또한 재료비 또는 재료표 분석을 수행할 수 있다. 3D 메시(648)는 함께 스티치된 다각형 메시로 만들어진 3D CAD 개체를 포함할 수 있다.
3D 메시(648)는 빠르게 렌더링되기 때문에 애니메이션 산업에서 선택되는 기본 형식이 되도록 사용될 수 있다. 3D 메시(648)는 개체의 3D "와이어프레임"을 포함할 수 있다. 3D 메시(648)는 점 대신 점 구름과 유사할 수 있으며, 연결된 다각형으로 형성될 수 있다.
일부 경우에, 3D 메시(648)는 3D NURBS(642)와 상이하다. 3D 메시 곡선은 구조나 도면을 형성하기 위해 함께 메시되거나 결합된 다각형 패턴을 포함한다. NURBS 곡선과 달리, 3D 메시 곡선은 곡선의 곡률을 조정할 수 있는 스플라인의 제어점(예를 들어, 스플라인은 NURBS 곡선임)과 같은 풍부한 파라미터가 부족할 수 있다.
제1 단계는, 예를 들어, 도 7에 예시된 바와 같이, 직교 투영(612)을 생성하기 위해 원래의 예술적 설계 표현의 전처리(610)를 포함한다. 이 단계는 원래 설계 아트워크(라인 스케치(602), 사진(604) 및/또는 3D 모델(606))를 취하여 이를 직교 투영(612)으로 분해한다. 직교 투영(612)은 2D 직교 보기(예를 들어, 상부, 좌측, 우측, 후방, 전방, 하부)를 포함할 수 있다. 예를 들어, 2D 라인 아트 입력으로 이러한 보기를 이미 사용할 수 있는 경우, 제1 단계에서 이러한 조치 중 일부를 건너뛸 수 있다. 일부 보기가 누락된 경우, 이러한 보기는 설계자가 예술적으로 생성하거나, 사용 가능한 보기로부터 다른 사용할 수 없는 "누락된" 2D 직교 보기를 합성하도록 훈련된 생성적 대립 신경망(GAN) 기계 학습 엔진을 사용하여 생성할 수 있다. 예를 들어, 신발류의 좌측 보기만 사용 가능한 경우, GAN 엔진은 상부 보기, 전방 보기, 후방 보기, 하부 보기 및 우측 보기를 생성할 수 있다. GAN 엔진은 세트가 설계자의 의도를 충족할 때까지 계속해서 다른 보기를 만들고 생성할 수 있다. 3D 모델(606) 또는 조각 설계의 경우, 직교 투영(612)은 모델의 투시도일 수 있다. GAN 기계 학습 엔진은 도 1 내지 도 4에 설명된 개념 중 일부를 구현할 수 있다.
도 7은 일부 실시예에 따른 (예를 들어, 전처리 엔진(610)에 의한) 전처리를 표현하는 데이터 흐름 파이프라인(700)이다. 도시된 바와 같이, 신발류의 라인 아트 또는 스케치(702), 신발류의 사진(704), 및/또는 신발류의 3D 모델(706)이 전처리 엔진(708)(전처리 엔진(610)에 대응할 수 있음)에 제공된다. 전처리 엔진(708)의 출력은 신발류의 직교 보기(710)이다.
도 6으로 돌아가면, 제2 단계(예를 들어, 도 8에 도시된 바와 같음)는 스마트 자동 부분 식별이다. 이 단계는 직교 투영(612)의 직교 보기를 사용하고 기계 학습 식별 프로세스(부분 식별 엔진(614))를 적용하여 원래 설계 개체(또는 신발류)를 구성하는 다양한 구성 요소를 분할하고 설명한다.
도 8은 일부 실시예에 따른 부분 식별을 표현하는 데이터 흐름 파이프라인(800)이다. 도시된 바와 같이, 부분 식별 엔진(802)(예를 들어, 부분 식별 엔진(614)에 대응하는 스마트 자동 부분 식별 프로세스를 구현함)은 신발류의 부분(804)을 식별한다. 예시된 바와 같이, 탑라인, 폭싱(foxing), 로고, 미드솔, 뱀프(vamp)가 식별된다.
도 6으로 돌아가면, 부분 식별 엔진(614)의 훈련 동안, 의미적 분할 카테고리 아래의 기계 학습 프로그램이 설계의 부분을 인식하고 분류하도록 훈련된다. 신발류의 경우, 신발류 아이템의 다양한 부분(예를 들어, 미드솔, 아웃솔(outsole), 뱀프, 폭싱, 로고, 레이스 가드(lace guard) 등)을 분류하도록 훈련된다. 여기에 적용될 수 있는 한 가지 기술은 회전, 크기 조정 등과 같은 2D 변환을 사용하여 구성 요소의 여러 라인 아트 변형을 생성한다. 예를 들어, 로고는 회전, 확대, 축소 또는 변위되거나 이러한 동작의 임의의 조합이 이루어진다. 이 증강 데이터 세트는 구성 요소 부분을 식별하고 분류하도록 기계 학습 분류 엔진을 훈련시키는 데 사용된다. 이와 동일한 변환이 신발류의 각각의 부분에 적용되어 훈련된 엔진은 부분을 더 잘 식별할 수 있다.
스마트 부분 분류/ 의미적 분할 단계에서, 위에서 설명된 훈련된 기계 학습 엔진을 사용하여, 관심 구성 요소를 포함하는 원래 2D 라인 아트의 직사각형 서브 섹션을 식별하기 위해 분류 기술이 사용된다. 예를 들어, 훈련된 기계 학습 엔진은 로고, 미드솔 등 주위에 상자를 그린다. 이는 구성 요소를 구성하는 곡선/세그먼트를 계층적으로 하위분류하기 위해 필요한 만큼 반복적으로 적용된다. 미드솔의 경우(도 9 참조), 이는 구성 요소 2D 라인 아트 곡선을 바이트라인(biteline), 지면 접촉부(ground contact), 힐 레이크(heel rake), 힐 카운터(heel counter), 토 스프링(toe spring) 및 토 카운터와 같은 하위 구성 요소로 더 세분화하는 데 사용될 수 있다. 로고의 경우(도 10 참조), 이는 로고 상단 부분과 로고 하단 세그먼트를 식별하기 위해 적용된다.
도 9는 일부 실시예에 따른 신발류 미드솔(900)의 구성 요소를 식별하는 경계 상자를 예시한다. 도시된 바와 같이, 신발류 미드솔(900)은 힐 카운터(902), 바이트라인(904), 토 카운터(906), 힐 레이크(908), 지면 접촉부(910) 및 토 스프링(912)을 위한 경계 상자를 포함한다.
도 10은 일부 실시예에 따른 신발류 로고(1000)의 구성 요소를 식별하는 경계 상자를 예시한다. 도시된 바와 같이, 신발류 로고(1000)는 로고 상단(1002) 및 로고 하단(1004)에 대한 경계 상자를 포함한다.
도 9 및 도 10은 신발류의 특정 시각적 구성 요소에 적용되는 경계 박스 개념을 설명하지만, 경계 박스 개념은 신발류의 임의의 시각적 구성 요소에 적용될 수 있고 여기에 나열된 것에 제한되지 않는다는 점에 유의해야 한다. 또한, 본 명세서에 설명된 기술은 신발류에 제한되지 않고, 임의의 다른 의류(예를 들어, 청바지) 또는 의류 구성 요소(예를 들어, 청바지의 주머니(들), 벨트 루프(들), 지퍼 및 단추)로 확장될 수 있다. 이 기술은 비의류 아이템(예를 들어, 식탁) 또는 비의류 아이템의 구성 요소(예를 들어, 식탁 다리(들) 및 식탁 상판)로 더욱 확장될 수 있다.
이 분야에서 기계 학습의 한 가지 문제는 검색 공간을 감소시키는 것이다. 본 개시는 먼저 제1 레벨의 경계 상자를 분류하고 그런 다음 제1 레벨의 각각의 경계 상자를 드릴 다운하여 식별을 개선함으로써 검색 공간 감소 문제를 해결한다. 예를 들어, 힐 카운터, 바이트라인, 토 카운터 등을 식별하는 것보다 신발류의 미드솔을 찾는 것이 더 쉽다.
도 6으로 돌아가면, 추적 생성 및 후처리(628)를 사용하여, 컴퓨팅 기계(들)는 분류된 구성 요소의 일부인 곡선을 구별하고 그렇지 않은 곡선을 제외한다. 제외 처리는 다른 분류된 세그먼트(예를 들어, 바이트라인 및 뱀프 교차점)의 2D 곡선이 동일한 직사각형 경계 상자 분류기 내에서 디스플레이되거나 캡처될 수 있기 때문에 유용할 수 있다. 분류기가 관심 있는 2D 곡선(예를 들어, 바이트라인)과 가능한 다른 곡선(예를 들어, 뱀프 및 폭싱)을 포함하는 경계 상자를 생성하면, 관심 있는 곡선 세그먼트의 점 집합, 예를 들어, 가장자리 점("시작" 점 및 "종료" 점)이 식별된다. 이 점들은 원래의 2D 라인 아트로부터 곡선을 재생성하는 데 사용되는 "가이트 포스트" 또는 "가이드 포인트"이다(도 11 참조). 가동 중인 이러한 "가이드 포인트"를 사용하여, 컴퓨팅 기계(들)는 곡선을 구성하는 이러한 점들 사이의 "최단 경로"를 찾아 원래의 2D 라인 아트의 픽셀 세트를 역추적함으로써 위에서 설명된 수학적 관계를 식별하며, 이는 "추적 생성"이라고 지칭될 수 있다. 다중 픽셀인 곡선의 경우, 폭 또는 크기에서, "평균화" 기술을 적용하여 곡선을 "가늘게" 할 수 있다(예를 들어, 3픽셀 폭의 경우 중간 픽셀을 사용하는 등). 분류된 부분을 구성하는 각각의 곡선의 윤곽은 이후에 라벨링된다. 구성 요소의 이러한 고유한 라벨링 및 곡선 추적은 각각의 구성 요소가 다운스트림에서 재생성될 수 있는 것을 보장하는 데 유용할 수 있다.
도 11은 일부 실시예에 따른 경계 박스를 사용하여 마킹된 신발류 구성 요소(1102 및 1104)의 예를 예시하는 도면(1100)이다.
도 6으로 돌아가면, 입력 이미지/도면으로부터 신발류에 대한 제조 제약에 특정한 NURBS를 생성하는 프로세스는 3D 모델 구축 엔진(620)에 의해 수행된다. 3D 모델 구축 엔진(620)은 강화 학습 엔진을 활용할 수 있다. 강화 학습 엔진은 도 1 내지 도 4와 관련하여 설명된 기술을 사용하여 구현될 수 있다. 3D 모델 구축 엔진(620)에서, 제조 제약은 "경계 조건"의 형태로 강화 학습 엔진의 코드(인공 지능(AI)/기계 학습(ML) 및 휴리스틱을 사용함)의 일부가 된다. 3D NURBS는 이러한 규칙과 제약이 충족되면 렌더링될 수 있으므로 강화 학습 엔진은 이러한 조건이 충족될 때까지 반복한다.
부분 식별 엔진(614)은 관심 부분(예를 들어, 로고)을 추출하여 3D 모델 구축 엔진(620)으로 가져올 수 있다. 분류기가 관심 부분을 식별하고 경계 상자를 생성하면, 부분의 윤곽(예를 들어, 로고 윤곽)을 구성하는 점을 가질 수도 있다. 부분 식별 엔진(614)은 원래 이미지에서 사용 가능하고 분류기에 의해 식별된 점과 일치하는 픽셀을 사용하여 부분의 윤곽을 역추적할 수 있다. 일부 양태는 원래 이미지에 존재하는 픽셀 데이터 포인트를 활용하여 분류/분할 단계에서 식별된 점을 증가시키거나 보완할 수 있다.
3D 모델 구축 엔진(620)은 강화 학습(reinforcement learning; RL)을 활용하여 3D 대 2D 패턴 엔지니어링의 지속적인 반복 개선 및 조정을 다룬다(도 12 참조). 3D 모델 구축 엔진(620)은 원래 설계 표현(예를 들어, 아티스트에 의해 생성된 스케치, 사진, 3D 금형 등)으로부터 3D 파라메트릭 NURBS 자산을 생성한다.
도 12는 일부 실시예에 따른 3D 자산의 구축을 표현하는 데이터 흐름 파이프라인(1200)이다. 도시된 바와 같이, 부분 식별 결과(1202)가 3D CAD 시스템(1204)에 제공된다. 3D CAD 시스템(1204)은 생성 학습 엔진 또는 RL 엔진을 실행하는 서버(1206)와 반복적으로 통신하여 3D 자산을 구축한다.
도 13은 일부 실시예에 따른 신발류의 예시적인 3D 모델(1300) 세부사항을 예시한다. 도시된 바와 같이, 3D 모델(1300)은 상이한 시야 위치 또는 시야각으로부터의 신발류의 보기(1302, 1304, 1306 및 1308)를 포함한다.
부분 식별 엔진(614)에 의한 "스마트 자동 부분 식별"이 2D 라인 아트 신발류 설계의 다양한 곡선 구성 요소를 식별하고 라벨링한 후(예를 들어, 경계 상자, 가이드 포인트 및/또는 곡선을 사용), 이러한 곡선을 3D 모델 구축 엔진(620)으로 가져온다. 이러한 곡선은 이제 3차원(예를 들어, XYZ) 좌표, 방향 정보, 계수 인자, 라벨 등의 목록 형태이다.
3D 모델 구축 엔진(620)은 3D 시작 모델을 구축하거나 베이스라인 신발류 템플릿의 3D 시작 모델을 개선하고 조정하기 위해 3D CAD 시스템과 반복적으로 상호 작용하고, 일부 미리 정의된 성공 기준(예를 들어, 제약 적용 엔진(624)의 신발류 제조 제약)을 통해 이를 원래 설계 의도로 진화 및 "모핑"하는 생성 학습 엔진 또는 RL 엔진을 진행한다. 이 반복 프로세스는 원래 설계와 일치하는 새로운 곡선이 나타날 때까지 3D CAD 시스템에서 초기 곡선의 점을 이동한다. 3D 모델 또는 템플릿 곡선의 최종 진화는 신발류 아이템을 구축하기 위한 코드 시퀀스(예를 들어, 3D CAD 소프트웨어 정의 파일)를 통해 3D 모양으로 렌더링된다. 관련된 동작의 일부 예가 아래에 자세히 설명되어 있다.
3D 모델 구축 엔진(620)의 동작에서, 컴퓨팅 기계(들)는 부분 식별 엔진(614)에 의해 "스마트 자동 부분 식별"에 의해 생성된 타겟 곡선을 3D CAD 엔진으로 가져온다. 컴퓨팅 기계는, 3D CAD 엔진을 사용하여, 타겟 곡선을 크기 조절하고, 위치 변경하고, 재정렬하고, 재배향하여 생성 학습 또는 RL 엔진을 사용하여 신발류 프로파일을 디지털 공간으로 래핑한다. 그런 다음, 생성 학습 또는 RL 엔진을 사용하여, 컴퓨팅 기계(들)는 스플라인이 타겟 곡선과 일치할 때까지 제어점을 이동하여 베이스라인 신발류 템플릿의 스플라인을 반복적으로 조정한다. 제약이 단순히 휴리스틱 세트로 코딩되지 않고 자동화된 방식으로 학습되고 캡슐화되는 것을 보장하기 위해, 3D 신발류 구축 및 렌더링 동작은 생성 학습 또는 RL 엔진의 전체 피드백 루프의 일부이다. 생성 학습 또는 RL 엔진은 템플릿 스플라인을 제약으로 일관되게 타겟 곡선에 정렬하는 방법을 학습한다. 3D 파라메트릭 신발류 개체가 구축되면, 구성 요소 조각으로 분해되고 전개된다(예를 들어, 재료 시트에서 잘라낼 수 있는 것으로 평면화). 일부 부분은 생성적으로 장식 및/또는 설계되는 반면, 일부 부분, 예를 들어, 신발류 갑피는 제조 가능한 패턴으로 2D 패널로 평면화된다. 2D 패널은 또한 시작 템플릿으로 사용될 수 있으며, 이는 디지털 신발류에 래핑될 때 직교 투영이 타겟 2D 곡선과 일치하도록 반복적으로 RL 조정된다.
일부 경우에, 생성적 기계 학습 시스템을 통해 즉석에서 생성될 수 있을 때 신발 템플릿의 사용이 필요하지 않을 수 있다. 일부 경우에, 사용되는 템플릿 타겟이 있지만 이는 기계 학습 기술을 사용하여 잠재적으로 생성될 수 있으며, 예를 들어, 시작점은 GAN에 의해 생성될 수 있다.
일부 실시예에서, 이러한 생성된 3D 자산은 인접한 작업 흐름에 대한 표준 및 일관된 기준 또는 기초를 형성한다. 이들 3D 설계는 3D 모델 구축 엔진(620)에 피드백되어 더 양호한 포괄적인 설계 사이클 또는 프로세스를 위한 전체 피드백 루프를 설정하도록 성능을 시뮬레이션한다. 예를 들어, 컴퓨팅 기계(들)는 가상 3D 객체(들)에 대한 물리적 시뮬레이션(예를 들어, 견인력, 마찰력 등) 및 물리적 시뮬레이션을 기반으로 하는 더 많은 속성을 수행할 수 있다. 견인력은 충실도와 성능이 제약으로 포함될 수 있다. 최적화는 비용, 성능, 사용된 재료 등을 기반으로 할 수 있다. 다변수 최적화가 가능하다.
후처리 엔진(628)에서, 최종 3D 자산을 정교화하기 위해 추가적인 "규칙 및 제약"이 적용된다. 최소 에칭 간격 또는 공차와 같은 제조 제약이 적용될 수 있다. 신발류 스티치 간격, 스티치 폭 및 스티치 순서/레이어링이 또한 적용될 수 있다. 상이한 신발 제품 카테고리에 대해 상이한 규칙이 채택될 수 있다. 신발류 카테고리의 예는 농구화, 축구화, 골프화 및 러닝화가 있다. 이 프로세스는 3D 모델 구축 엔진(620)에 의한 3D 모델 구축과 동시에 수행되고, 또한 3D 모델 구축 이후의 후처리 단계로서 수행된다. 이 프로세스는 3D 자산을 제조 가능한 부분 또는 구성 요소로 만드는 파라메트릭 파라미터, 치수 및 값을 부여한다.
재료 적용 엔진(632) 및 색상 적용 엔진(636)은 3D 자산의 구성 요소(들)에 재료 속성을 적용하고 할당한다. 이러한 재료 속성의 예는 색상 또는 색조, 갑피 재료 유형(예를 들어, 가죽, 합성 섬유 등), 미드솔 폼의 조성물(예를 들어, 에틸 비닐 아세테이트 EVA, 폴리우레탄 PU 등)이 있다. 색상/색조 할당 및 적용은 인지된 마케팅 요구 또는 설계자의 열망을 기반으로 휴리스틱하게 수행될 수 있다. 대안적으로, 기계 학습 GAN 시스템을 사용하여 생성적으로 수행하여 인접성과 미개척 가능성을 "허용"할 수 있다.
컴퓨팅 기계(들)는 재료표 및 제조 가능한 부분을 생성할 수 있다. 컴퓨팅 기계(들)는 재료 및 절차를 관리하고 컴파일하여 3D 자산을 최종 물리적 제품으로 구축한다. 이러한 동작을 통해 더 양호한 계획 및 비용 분석이 가능하다. 이러한 동작은 또한 이전 단계에 즉각적인 피드백 루프를 제공하여, 예를 들어, 비용 목표를 충족하기 위해 대체 재료 또는 다른 제약을 검색하도록 트리거할 수 있다. 이러한 동작은 3D 디지털 형태의 신발류를 물리적 형태로 가져오기 위한 재료 및 절차를 포함한 "레시피"를 제공할 수 있다.
컴퓨팅 기계(들)는 설계를 위한 시각적 쇼케이스를 생성하는 사진 및 비디오 사실적 렌더링을 제공할 수 있다. 그림자, 반사, 조명 및 소리와 같은 속성을 3D 디지털 자산에 추가하고 주입하여 비전문가 또는 소비자에게 시각적으로 매력적이고 사실적으로 보이게 만들 수 있다.
일부 실시예의 장점은 다음 중 하나 이상을 포함할 수 있다: (i) 더 적은 수작업 조작 및 처리를 통해 설계자와 개발자의 생산성 향상; (ii) 파이프라인 접근 방식의 대체 가능성 - 일부 단계는 언제든지 추가, 확장 및/또는 향상될 수 있음 - ; (iii) 오류 발생 가능성을 줄이고 일관된 출력을 생성하며 예측 가능한 편차를 갖는 완전 자동화; (iv) 빠른 비용 분석 및 빠른 개발 검토 가능; (v) 개발 사이클 및 출시 기간 단축; (vi) 설계자, 개발자, 비용 분석가, 마케팅 등을 위한 신속한 전 세계적 규모의 상시 원격 협업 플랫폼 제공; (vii) 3D 자산이 인접한 작업 흐름(예를 들어, 계산적 설계, 고해상도 렌더링 등)에 대한 표준 및 일관된 기준 또는 기초 생성; (viii) 3D 자산이 증강 및 가상 현실과 같은 새로운 다운스트림 애플리케이션을 위한 토대 생성; 및 (ix) 물리적 접촉 최소화 또는 비접촉식 개발 허용.
일부 실시예에서, 컴퓨팅 기계(들)는 의미적 분할 서비스로부터 3D CAD 엔진으로 타겟 곡선을 가져온다. 컴퓨팅 기계(들)는 일부 휴리스틱을 사용하여 이러한 모든 타겟 곡선을 크기 조절하고, 위치 변경하고, 재정렬하고, 재배향하여 다운스트림 3D CAD 엔진 코드는 이것으로부터 신발류 아이템을 구축할 수 있다. 일부 실시예는 베이스라인 신발류 템플릿에서 스플라인을 조작하는 대신 이러한 새로운 곡선(및 스플라인)을 재생성한다. 각각의 타겟 곡선에 대해, 컴퓨팅 기계(들)는 각각의 타겟 곡선의 끝점에서 시작하고 종료하는 20개(또는 다른 수)의 제어점이 있는 새로운 직선 스플라인을 생성한다. 컴퓨팅 기계(들)는 이러한 타겟 곡선/직선 스플라인 쌍 각각에 대해 "표준 스케일"로 재배향 및 크기 조절하는 또 다른 변환 동작을 수행한다. 컴퓨팅 기계(들)는 타겟 곡선과 일치할 때까지 20개의 제어점을 조작하는 직선 스플라인에 강화 학습을 적용한다. 컴퓨팅 기계(들)는 3D CAD 엔진 코드를 적용할 수 있도록 완성된 스플라인을 원래 스케일과 방향으로 다시 변환한다. 제어점의 축소는 때때로 수학 함수를 사용하여 수행된다.
위의 강화 학습 동작에 대해, 일부 양태는 수학식 1에 따라 타겟 곡선의 점과 스플라인 사이의 차이의 루트 합 제곱(root sum square; RSS)이 0에 접근한다는 것을 의미하도록 "일치"를 정의하고 정량화했다. RSS의 예시 함수는 강화 학습 알고리즘에서 보상 함수로 사용된다.
수학식 1
일부 실시예에 따르면, 컴퓨팅 기계(들)는 의미적 분할 서비스로부터 3D CAD 엔진으로 타겟 곡선을 가져온다. 컴퓨팅 기계(들)는 일부 휴리스틱을 사용하여 타겟 곡선을 크기 조절하고, 위치 변경하고, 재정렬하고, 재배향하고 이를 3D 스플라인으로 변환하여 다운스트림 3D CAD 엔진 코드는 이것으로부터 신발류 아이템을 구축할 수 있다.
일부 실시예는 (예를 들어, 제약 및 주제 전문 지식에 기초하여) 사용된 휴리스틱의 전부 또는 일부를 강화 학습 프로세스에 흡수한다. 일부 실시예는 강화 학습 엔진(들)에 사용되는 방법론을 적용하여 임의의 설계 입력의 3D 파라메트릭 버전의 구축을 자동화하도록 이러한 반복적인 개선 및 조정을 수행한다. 특히, 이것은 2D 라인 아트로부터 3D 파라메트릭 NURBS를 생성하는 데 사용될 수 있다.
일부 구현에 따르면, 컴퓨팅 기계(들)는 의미적 분할 서비스로부터 3D CAD 엔진으로 타겟 곡선을 가져온다. 컴퓨팅 기계(들)는 RL을 사용하여 신발 프로파일을 디지털 자산으로 래핑하기 위해 이러한 모든 타겟 곡선을 크기 조절하고, 위치 변경하고, 재정렬하고, 재배향한다. 역시 RL을 사용하여, 컴퓨팅 기계(들)는 스플라인이 타겟 곡선과 일치할 때까지 제어점을 이동하여 베이스라인 신발류 템플릿의 스플라인을 반복적으로 조정한다. 일부 실시예에서, 제약 및 주제 전문 지식이 단순히 휴리스틱 세트로 코딩되지 않고 자동화된 방식으로 학습되고 캡슐화되는 것을 보장하기 위해, 3D CAD 엔진 코드에 있는 3D 신발류 구축 및 렌더링 단계는 전체 강화 학습 피드백 루프의 일부가 될 것이다. RL 엔진은 템플릿 스플라인을 타겟 곡선에 정렬하는 방법과 함께 이 컨텍스트에서 무엇이 3D CAD 엔진 코드를 만들거나 중단하는지 학습할 수 있다. 3D 파라메트릭 신발류 개체가 만들어지면, 구성 요소 조각으로 분해되고 전개될 수 있다. 일부 부분은 생성적으로 장식 및/또는 설계될 수 있는 반면, 신발류 갑피와 같은 일부 부분은 제조 가능한 패턴으로 2D 패널로 평면화될 수 있다. 일부 경우에, 2D 패널은 또한 시작 템플릿으로 사용될 수 있으며, 이는 디지털 신발류 아이템에 래핑될 때 직교 투영이 타겟 2D 라인 아트 곡선과 일치하도록 반복적으로 RL 조정된다.
도 14는 일부 실시예에 따른 신발류(또는 대안적으로 의류 또는 장비와 같은 다른 개체(들))를 표현하는 디지털 자산을 생성하기 위한 예시적인 방법(1400)의 흐름도이다. 방법(1400)은 하나 이상의 컴퓨팅 기계, 예를 들어, 컴퓨팅 기계(500)를 사용하여 구현될 수 있다. 디지털 자산으로 시작하고 그런 다음 신발류 픽셀 또는 복셀 기반 이미지를 생성하는 업스트림으로 진행하는 역 프로세스가 또한 구현될 수 있다.
동작(1410)에서, 컴퓨팅 기계(들)는 신발류(또는 대안적으로 의류 또는 장비와 같은 다른 개체(들))의 입력 이미지에 액세스한다. 입력 이미지는 픽셀 또는 복셀 기반 이미지이다.
동작(1420)에서, 컴퓨팅 기계(들)는 입력 이미지에 기초하여 그리고 컴퓨팅 기계(들)에서 구현되는 기계 학습 엔진을 사용하여, 신발류(또는 대안적으로 의류 또는 장비와 같은 다른 개체(들))의 NURBS 모델을 포함하는 3D CAD 디지털 자산을 생성한다. 동작(1420)은 동작(1422 및 1424)을 포함할 수 있다.
동작(1422)에서, 컴퓨팅 기계(들)는 훈련된 분류 엔진을 사용하여, 신발류(또는 대안적으로 의류 또는 장비와 같은 다른 개체(들))의 시각적 구성 요소를 식별한다. 동작(1424)에서, 컴퓨팅 기계(들)는 신발류의 시각적 구성 요소에 대해, 스플라인을, 훈련된 강화 학습 엔진을 사용하여 스플라인이 시각적 구성 요소로부터 미리 정의된 평균 거리 내에 있을 때까지, 반복적으로 피팅한다. 3D CAD 디지털 자산은 스플라인을 포함한다. 기계 학습 엔진은 훈련된 분류 엔진 및 훈련된 강화 학습 엔진을 포함한다.
일부 실시예에서, 분류 엔진은 신발류의 시각적 구성 요소를 표현하는 이미지 및 신발류의 시각적 구성 요소의 표현의 변환을 포함하는 훈련 데이터 세트를 사용하여 훈련된다. 변환에는 스케일링, 회전 및 변위 중 하나 이상이 포함될 수 있다. 훈련된 분류 엔진은 시각적 구성 요소에 대한 경계 상자를 생성할 수 있다. 경계 상자는 시각적 구성 요소와 연관된 것으로 표시된 적어도 제1 픽셀 세트 및 시각적 구성 요소와 연관되지 않은 것으로 표시된 적어도 제2 픽셀 세트를 포함할 수 있다. 훈련된 분류 엔진은 시각적 구성 요소의 제1 부분을 식별하기 위한 제1 서브 엔진 및 시각적 구성 요소의 제2 부분을 식별하기 위한 제2 서브 엔진을 포함할 수 있다. 시각적 구성 요소의 제2 부분은 시각적 구성 요소의 제1 부분의 서브 구성 요소일 수 있다. 제2 서브 엔진은 제1 서브 엔진에 의해 식별된 시각적 구성 요소의 제1 부분에 대해 동작할 수 있다.
스플라인을 반복적으로 피팅하는 것은 스플라인이 제조 제약 기준(또는 측정되거나 메트릭과 비교될 수 있는 다른 기준)을 충족하는 것을 보장하는 것을 포함할 수 있다. 훈련된 강화 학습 엔진은 적어도 하나의 제조 공차 제약 및/또는 적어도 하나의 설계 카테고리 규칙 제약에 기초하여 동작할 수 있다. 시각적 구성 요소는 미드솔, 아웃솔, 뱀프, 폭싱, 레이스 가드, 힐 카운터, 힐 레이크, 바이트라인, 지면 접촉부, 토 스프링 및 토 카운터 중 적어도 하나를 포함할 수 있다.
동작(1430)에서, 컴퓨팅 기계(들)는 3D CAD 디지털 자산을 표현하는 출력을 제공한다. 일부 실시예에서, 컴퓨팅 기계(들)는 하나 이상의 컴퓨팅 기계에서, 하나 이상의 메트릭이 미리 정의된 범위 내에 있을 때까지 최종 사용자에 의해 제공된 메트릭에 기초하여 3D CAD 디지털 자산을 반복적으로 개선한다. 컴퓨팅 기계(들)는 개선된 3D CAD 디지털 자산을 표현하는 출력을 제공한다. 반복적인 개선은, 3D CAD 디지털 자산을 복수의 스플라인으로 표현하는 것; 및 미리 정의된 범위에 기초하여 복수의 스플라인의 하나 이상의 제어점을 반복적으로 조작하는 것을 포함할 수 있다. 일부 경우에, 3D CAD 디지털 자산을 표현하는 출력은 다운스트림 엔진에 제공된다. 다운스트림 엔진은, 3D 인쇄 엔진, 시각적 렌더링 엔진 및 증강/가상 현실 엔진 중 하나 이상을 포함할 수 있다. 컴퓨팅 기계(들)는, 3D CAD 디지털 자산에 기초하여, 하나 이상의 제조 기계에서 3D CAD 디지털 자산으로 표현되는 신발류의 제조를 제어할 수 있다.
일부 실시예에서, 방법(1400)에 대한 입력은 픽셀 또는 복셀 기반 파일인 반면, 출력은 모델링된 신발류 아이템의 곡선 및 표면의 NURBS 수학적 표현이다. 출력은 신발류에 대한 제조 명령어를 생성하는 데 사용될 수 있으며, 이는 제조 기계(들)에 제공될 수 있다.
일부 실시예에서, 스플라인은 제어점 및 제어점에 기초한 수학 함수를 포함하고, 스플라인을 반복적으로 피팅하는 것은 시각적 구성 요소에 기초하여 스플라인의 제어점을 변환하는 것을 포함한다.
일부 실시예에서, 동작(1410) 전에, 컴퓨팅 기계(들)는 입력 이미지를 하나 이상의 2D 직교 보기로 변환하기 위해 입력 이미지를 전처리한다. 전처리는 하나 이상의 2D 변환을 포함할 수 있다.
일부 실시예에서, 훈련된 분류 엔진은 전처리된 2D 직교 보기에 기초하여 사용 불가능한 2D 보기를 합성하도록 훈련된 GAN 엔진을 포함한다. 시각적 구성 요소는 전처리된 2D 직교 보기 및 합성된 2D 보기에 기초하여 식별된다.
일부 실시예는 신발류를 표현하는 이미지, 모델 및 디지털 자산과 관련하여 설명된다. 그러나, 본 명세서에 개시된 기술은 신발류에 제한되지 않고 2D 또는 3D로 모델링될 수 있는 다른 아이템(예를 들어, 의류, 장비, 개체(들) 등)에 사용될 수 있다. 신발류에 추가하여 또는 대신하여, 기술의 실시예가 사용될 수 있는 다른 아이템의 예는, 운동 장비, 차량 타이어, 어린이 장난감, 휴대폰 케이스, 탁상 장식품, 명절 장식물, 촛대 등을 포함한다. 이 기술은 3D 인쇄에 적합한 모든 아이템에 유용할 수 있다.
일부 실시예는 번호가 매겨진 실시예(실시예 1, 2, 3 등)로 설명된다. 이들은 단지 예로서 제공되며 본 명세서에 개시된 기술을 제한하지 않는다.
실시예 1은 방법으로서, 하나 이상의 컴퓨팅 기계에서, 신발류의 입력 이미지에 액세스하는 단계 - 상기 입력 이미지는 픽셀 또는 복셀 기반 이미지를 포함함 - ; 입력 이미지에 기초하여 그리고 하나 이상의 컴퓨팅 기계에서 구현되는 기계 학습 엔진을 사용하여, 신발류의 NURBS(비균일 합리적 기준 스플라인) 모델을 포함하는 3차원 CAD(컴퓨터 지원 설계) 디지털 자산을 생성하는 단계 - 여기서 3차원 CAD 디지털 자산을 생성하는 단계는, 훈련된 분류 엔진을 사용하여, 신발류의 시각적 구성 요소를 식별하는 단계; 및 신발류의 시각적 구성 요소에 대해, 스플라인을, 훈련된 강화 학습 엔진을 사용하여 스플라인이 시각적 구성 요소로부터 미리 정의된 평균 거리 내에 있을 때까지, 반복적으로 피팅하는 단계를 포함하고, 여기서 3차원 CAD 디지털 자산은 스플라인을 포함하고, 기계 학습 엔진은 훈련된 분류 엔진 및 훈련된 강화 학습 엔진을 포함함 - ; 및 3차원 CAD 디지털 자산을 표현하는 출력을 제공하는 단계를 포함한다.
실시예 2에서, 실시예 1의 주제에 있어서, 스플라인은 제어점 및 제어점에 기초한 수학 함수를 포함하고, 스플라인을 반복적으로 피팅하는 단계는 시각적 구성 요소에 기초하여 스플라인의 제어점을 변환하는 단계를 포함한다.
실시예 3에서, 실시예 1 또는 2의 주제에 있어서, 분류 엔진은 신발류의 시각적 구성 요소를 표현하는 이미지 및 신발류의 시각적 구성 요소의 표현의 변환을 포함하는 훈련 데이터 세트를 사용하여 훈련되며, 변환은 스케일링, 회전 및 변위 중 하나 이상을 포함한다.
실시예 4에서, 실시예 1 내지 3의 주제에 있어서, 스플라인을 반복적으로 피팅하는 단계는 스플라인이 제조 제약 기준을 충족하는 것을 보장하는 단계를 포함한다.
실시예 5에서, 실시예 1 내지 4의 주제에 있어서, 하나 이상의 컴퓨팅 기계에서, 하나 이상의 메트릭이 미리 정의된 범위 내에 있을 때까지 최종 사용자에 의해 제공된 메트릭에 기초하여 3차원 CAD 디지털 자산을 반복적으로 개선하는 단계; 및 개선된 3차원 CAD 디지털 자산을 표현하는 출력을 제공하는 단계를 포함한다.
실시예 6에서, 실시예 5의 주제에 있어서, 3차원 CAD 디지털 자산을 반복적으로 개선하는 단계는, 하나 이상의 컴퓨팅 기계에서, 3차원 CAD 디지털 자산을 복수의 스플라인으로 표현하는 단계; 및 미리 정의된 범위에 기초하여 복수의 스플라인의 하나 이상의 제어점을 반복적으로 조작하는 단계를 포함한다.
실시예 7에서, 실시예 1 내지 6의 주제에 있어서, 3차원 CAD 디지털 자산을 생성하는 단계는, 입력 이미지를 하나 이상의 2차원 직교 보기로 변환하기 위해 입력 이미지를 전처리하는 단계를 더 포함한다.
실시예 8에서, 실시예 7의 주제에 있어서, 전처리하는 단계는 하나 이상의 2차원 변환을 포함한다.
실시예 9에서, 실시예 7 또는 8의 주제에 있어서, 훈련된 분류 엔진은 전처리된 2차원 직교 보기에 기초하여 사용 불가능한 2차원 보기를 합성하도록 훈련된 GAN(생성적 대립 신경망) 엔진을 포함하며, 시각적 구성 요소는 전처리된 2차원 직교 보기 및 합성된 2차원 보기에 기초하여 식별된다.
실시예 10에서, 실시예 1 내지 9의 주제에 있어서, 훈련된 강화 학습 엔진은 적어도 하나의 제조 공차 제약 및 적어도 하나의 설계 카테고리 규칙 제약에 기초하여 동작한다.
실시예 11에서, 실시예 1 내지 10의 주제에 있어서, 시각적 구성 요소는, 미드솔, 아웃솔, 뱀프, 폭싱, 레이스 가드, 힐 카운터, 힐 레이크, 바이트라인, 지면 접촉부, 토 스프링 및 토 카운터 중 적어도 하나를 포함한다.
실시예 12에서, 실시예 1 내지 11의 주제에 있어서, 훈련된 분류 엔진은 시각적 구성 요소에 대한 경계 상자를 생성하고, 경계 상자는 시각적 구성 요소와 연관된 것으로 표시된 적어도 제1 픽셀 세트 및 시각적 구성 요소와 연관되지 않은 것으로 표시된 적어도 제2 픽셀 세트를 포함한다.
실시예 13에서, 실시예 1 내지 12의 주제에 있어서, 훈련된 분류 엔진은 시각적 구성 요소의 제1 부분을 식별하기 위한 제1 서브 엔진 및 시각적 구성 요소의 제2 부분을 식별하기 위한 제2 서브 엔진을 포함하고, 시각적 구성 요소의 제2 부분은 시각적 구성 요소의 제1 부분의 서브 구성 요소이고, 제2 서브 엔진은 제1 서브 엔진에 의해 식별된 시각적 구성 요소의 제1 부분에 대해 동작한다.
실시예 14에서, 실시예 1 내지 13의 주제에 있어서, 3차원 CAD 디지털 자산을 표현하는 출력은 다운스트림 엔진에 제공되고, 다운스트림 엔진은, 3차원 인쇄 엔진, 시각적 렌더링 엔진 및 증강/가상 현실 엔진 중 하나 이상을 포함한다.
실시예 15에서, 실시예 1 내지 14의 주제에 있어서, 3차원 CAD 디지털 자산에 기초하여 그리고 하나 이상의 컴퓨팅 기계를 사용하여, 하나 이상의 제조 기계에서 3차원 CAD 디지털 자산으로 표현되는 신발류의 제조를 제어하는 단계를 포함한다.
실시예 16은 방법으로서, 하나 이상의 컴퓨팅 기계에서, 의류의 입력 이미지에 액세스하는 단계 - 상기 입력 이미지는 픽셀 또는 복셀 기반 이미지를 포함함 - ; 입력 이미지에 기초하여 그리고 하나 이상의 컴퓨팅 기계에서 구현되는 기계 학습 엔진을 사용하여, 의류의 NURBS(비균일 합리적 기준 스플라인) 모델을 포함하는 3차원 CAD(컴퓨터 지원 설계) 디지털 자산을 생성하는 단계 - 여기서 3차원 CAD 디지털 자산을 생성하는 단계는, 훈련된 분류 엔진을 사용하여, 의류의 시각적 구성 요소를 식별하는 단계; 및 의류의 시각적 구성 요소에 대해, 스플라인을, 훈련된 강화 학습 엔진을 사용하여 스플라인이 시각적 구성 요소로부터 미리 정의된 평균 거리 내에 있을 때까지, 반복적으로 피팅하는 단계를 포함하고, 여기서 3차원 CAD 디지털 자산은 스플라인을 포함하고, 기계 학습 엔진은 훈련된 분류 엔진 및 훈련된 강화 학습 엔진을 포함함 - ; 및 3차원 CAD 디지털 자산을 표현하는 출력을 제공하는 단계를 포함한다.
실시예 17은 방법으로서, 하나 이상의 컴퓨팅 기계에서, 장비의 입력 이미지에 액세스하는 단계 - 상기 입력 이미지는 픽셀 또는 복셀 기반 이미지를 포함함 - ; 입력 이미지에 기초하여 그리고 하나 이상의 컴퓨팅 기계에서 구현되는 기계 학습 엔진을 사용하여, 장비의 NURBS(비균일 합리적 기준 스플라인) 모델을 포함하는 3차원 CAD(컴퓨터 지원 설계) 디지털 자산을 생성하는 단계 - 여기서 3차원 CAD 디지털 자산을 생성하는 단계는, 훈련된 분류 엔진을 사용하여, 장비의 시각적 구성 요소를 식별하는 단계; 및 장비의 시각적 구성 요소에 대해, 스플라인을, 훈련된 강화 학습 엔진을 사용하여 스플라인이 시각적 구성 요소로부터 미리 정의된 평균 거리 내에 있을 때까지, 반복적으로 피팅하는 단계를 포함하고, 여기서 3차원 CAD 디지털 자산은 스플라인을 포함하고, 기계 학습 엔진은 훈련된 분류 엔진 및 훈련된 강화 학습 엔진을 포함함 - ; 및 3차원 CAD 디지털 자산을 표현하는 출력을 제공하는 단계를 포함한다.
실시예 18은 방법으로서, 하나 이상의 컴퓨팅 기계에서, 개체(들)의 입력 이미지에 액세스하는 단계 - 상기 입력 이미지는 픽셀 또는 복셀 기반 이미지를 포함함 - ; 입력 이미지에 기초하여 그리고 하나 이상의 컴퓨팅 기계에서 구현되는 기계 학습 엔진을 사용하여, 개체(들)의 NURBS(비균일 합리적 기준 스플라인) 모델을 포함하는 3차원 CAD(컴퓨터 지원 설계) 디지털 자산을 생성하는 단계 - 여기서 3차원 CAD 디지털 자산을 생성하는 단계는, 훈련된 분류 엔진을 사용하여, 개체(들)의 시각적 구성 요소를 식별하는 단계; 및 개체(들)의 시각적 구성 요소에 대해, 스플라인을, 훈련된 강화 학습 엔진을 사용하여 스플라인이 시각적 구성 요소로부터 미리 정의된 평균 거리 내에 있을 때까지, 반복적으로 피팅하는 단계를 포함하고, 여기서 3차원 CAD 디지털 자산은 스플라인을 포함하고, 기계 학습 엔진은 훈련된 분류 엔진 및 훈련된 강화 학습 엔진을 포함함 - ; 및 3차원 CAD 디지털 자산을 표현하는 출력을 제공하는 단계를 포함한다.
실시예 19는 처리 회로에 의해 실행될 때 처리 회로가 실시예 1 내지 18 중 어느 하나를 구현하기 위한 동작을 수행하게 하는 명령어를 포함하는 적어도 하나의 기계 판독 가능 매체이다.
실시예 20은 실시예 1 내지 18 중 어느 하나를 구현하기 위한 수단을 포함하는 장치이다.
실시예 21은 실시예 1 내지 18 중 어느 하나를 구현하기 위한 시스템이다.
실시예 22는 실시예 1 내지 18 중 어느 하나를 구현하기 위한 방법이다.
특정 예시적인 실시예를 참조하여 실시예가 설명되었지만, 본 개시의 넓은 사상 및 범위를 벗어나지 않고 이러한 실시예에 대해 다양한 수정 및 변경이 이루어질 수 있음이 명백할 것이다. 따라서, 명세서 및 도면은 제한적인 의미가 아니라 예시적인 것으로 간주되어야 한다. 본 개시의 일부를 구성하는 첨부 도면은 주제가 실시될 수 있는 특정 실시예를 제한이 아닌 예시로서 보여준다. 예시된 실시예는 당업자가 본 명세서에 개시된 교시를 실시할 수 있도록 충분히 상세하게 설명된다. 본 개시의 범위를 벗어나지 않고 구조적 및 논리적 대체 및 변경이 이루어질 수 있도록 다른 실시예가 활용되고 도출될 수 있다. 따라서, 이 상세한 설명은 제한적인 의미로 받아들여져서는 안 되며, 다양한 실시예의 범위는 첨부된 청구범위와 이러한 청구범위 자격이 부여된 등가물의 전체 범위에 의해서만 정의된다.
특정 실시예가 본 명세서에 예시되고 설명되었지만, 동일한 목적을 달성하기 위해 계산된 임의의 배열이 도시된 특정 실시예를 대체할 수 있음을 이해해야 한다. 본 개시는 다양한 실시예의 임의의 및 모든 적응 또는 변형을 커버하도록 의도된다. 상기 실시예 및 본 명세서에 구체적으로 설명되지 않은 다른 실시예의 조합은 상기 설명을 검토할 때 당업자에게 명백할 것이다.
본 문서에서, 용어 부정관사("a" 또는 "an")는 특허 문서에서 일반적으로 사용되는 바와 같이, "적어도 하나" 또는 "하나 이상"의 다른 사례 또는 사용과 무관하게 하나 이상을 포함하기 위해 사용된다. 본 문서에서, 용어 "또는"은 달리 표시되지 않는 한, "A 또는 B"가 "A이지만 B가 아닌", "B이지만 A가 아닌" 및 "A 및 B"를 포함하도록 비배타적을 지칭하는 데 사용된다. 본 문서에서, 용어 "포함하는(including)" 및 "어떤 점에서(in which)"는 각각의 용어 "구성하는(comprising)" 및 "여기서(wherein)"의 평이한 영어 등가물로 사용된다. 또한, 다음의 청구범위에서, 용어 "포함하는" 및 "구성하는"은 개방형이며, 즉 청구범위에서 이러한 용어 뒤에 나열된 것 외에 추가의 요소를 포함하는 시스템, 물품, 조성물, 제제 또는 프로세스는 여전히 해당 청구범위의 범위에 속하는 것으로 간주된다. 또한, 다음의 청구범위에서, 용어 "제1", "제2" 및 "제3" 등은 단지 라벨로서 사용되며, 이 대상에 수치적 요건을 부과하기 위한 것이 아니다.
공개 요약은 37 C.F.R. § 1.72(b)를 준수하도록 제공되며, 이는 독자가 기술 공개의 본질을 신속하게 확인할 수 있도록 요약을 요구한다. 그것은 청구범위의 범위 또는 의미를 해석하거나 제한하는 데 사용되지 않을 것이라는 이해와 함께 제출된다. 또한, 앞서 말한 상세한 설명에서, 본 개시를 간소화하기 위해 다양한 특징이 단일 실시예에서 함께 그룹화되는 것을 알 수 있다. 이러한 공개 방법은 청구된 실시예가 각각의 청구항에 명시적으로 인용된 것보다 더 많은 특징을 필요로 한다는 의도를 반영하는 것으로 해석되어서는 안 된다. 오히려, 다음의 청구범위가 반영하는 바와 같이, 발명의 주제는 개시된 단일 실시예의 모든 특징보다 적다. 따라서, 다음의 청구범위는 발명의 상세한 설명에 포함되며, 각각의 청구항은 별도의 실시예로서 그 자체로 존재한다.
Claims (20)
- 방법에 있어서,
하나 이상의 컴퓨팅 기계에서, 신발류(footwear)의 입력 이미지에 액세스하는 단계 - 상기 입력 이미지는 픽셀 또는 복셀 기반 이미지를 포함함 - ;
상기 입력 이미지에 기초하여 그리고 상기 하나 이상의 컴퓨팅 기계에서 구현되는 기계 학습 엔진을 사용하여, 상기 신발류의 NURBS(non-uniform rational basis spline; 비균일 합리적 기준 스플라인) 모델을 포함하는 3D(three-dimensional; 3차원) CAD(computer-aided design; 컴퓨터 지원 설계) 디지털 자산(digital asset)을 생성하는 단계로서, 상기 3D CAD 디지털 자산을 생성하는 단계는,
훈련된 분류 엔진을 사용하여, 상기 신발류의 시각적 구성 요소(visual component)를 식별하는 단계; 및
상기 신발류의 시각적 구성 요소에 대해, 스플라인을, 훈련된 강화 학습 엔진(trained reinforcement learning engine)을 사용하여 상기 스플라인이 상기 시각적 구성 요소로부터 미리 정의된 평균 거리 내에 있을 때까지, 반복적으로 피팅(fitting)하는 단계 - 상기 3D CAD 디지털 자산은 상기 스플라인을 포함하고, 상기 기계 학습 엔진은 상기 훈련된 분류 엔진 및 상기 훈련된 강화 학습 엔진을 포함함 - 를 포함하는 것인, 상기 3D CAD 디지털 자산을 생성하는 단계; 및
상기 3D CAD 디지털 자산을 표현하는 출력을 제공하는 단계
를 포함하는, 방법. - 제1항에 있어서, 상기 스플라인은 제어점(control points) 및 상기 제어점에 기초한 수학 함수를 포함하고, 상기 스플라인을 반복적으로 피팅하는 단계는 상기 시각적 구성 요소에 기초하여 상기 스플라인의 제어점을 변환하는 단계를 포함하는 것인, 방법.
- 제1항에 있어서, 상기 분류 엔진은 상기 신발류의 시각적 구성 요소를 표현하는 이미지 및 상기 신발류의 시각적 구성 요소의 표현의 변환을 포함하는 훈련 데이터 세트를 사용하여 훈련되고, 상기 변환은 스케일링, 회전 및 변위 중 하나 이상을 포함하는 것인, 방법.
- 제1항에 있어서, 상기 스플라인을 반복적으로 피팅하는 단계는 상기 스플라인이 제조 제약 기준(manufacturing constraint criteria)을 충족하는 것을 보장하는 단계를 포함하는 것인, 방법.
- 제1항에 있어서,
상기 하나 이상의 컴퓨팅 기계에서, 하나 이상의 메트릭이 미리 정의된 범위 내에 있을 때까지 최종 사용자에 의해 제공된 메트릭에 기초하여 상기 3D CAD 디지털 자산을 반복적으로 개선(refine)하는 단계; 및
상기 개선된 3D CAD 디지털 자산을 표현하는 출력을 제공하는 단계
를 더 포함하는, 방법. - 제5항에 있어서, 상기 3D CAD 디지털 자산을 반복적으로 개선하는 단계는,
상기 하나 이상의 컴퓨팅 기계에서, 상기 3D CAD 디지털 자산을 복수의 스플라인으로 표현하는 단계; 및
상기 미리 정의된 범위에 기초하여 상기 복수의 스플라인의 하나 이상의 제어점을 반복적으로 조작(manipulate)하는 단계
를 포함하는 것인, 방법. - 제1항에 있어서, 상기 3D CAD 디지털 자산을 생성하는 단계는,
상기 입력 이미지를 하나 이상의 2D(two-dimensional; 2차원) 직교 보기(orthographic view)로 변환하기 위해 상기 입력 이미지를 전처리(preprocess)하는 단계
를 더 포함하는 것인, 방법. - 제7항에 있어서, 상기 전처리하는 단계는 하나 이상의 2D 변환을 포함하는 것인, 방법.
- 제7항에 있어서, 상기 훈련된 분류 엔진은 상기 전처리된 2D 직교 보기에 기초하여 사용 불가능한(unavailable) 2D 보기를 합성하도록 훈련된 GAN(generative adversarial network; 생성적 대립 신경망) 엔진을 포함하고, 상기 시각적 구성 요소는 상기 전처리된 2D 직교 보기 및 상기 합성된 2D 보기에 기초하여 식별되는 것인, 방법.
- 제1항에 있어서, 상기 훈련된 강화 학습 엔진은 적어도 하나의 제조 공차 제약 및 적어도 하나의 설계 카테고리 규칙 제약에 기초하여 동작하는 것인, 방법.
- 제1항에 있어서, 상기 시각적 구성 요소는, 미드솔(midsole), 아웃솔(outsole), 뱀프(vamp), 폭싱(foxing), 레이스 가드(lace guard), 힐 카운터(heel counter), 힐 레이크(heel rake), 바이트라인(biteline), 지면 접촉부(ground contact), 토 스프링(toe spring) 및 토 카운터 중 적어도 하나를 포함하는 것인, 방법.
- 제1항에 있어서, 상기 훈련된 분류 엔진은 상기 시각적 구성 요소에 대한 경계 상자(bounding box)를 생성하고, 상기 경계 상자는 상기 시각적 구성 요소와 연관된 것으로 표시된 적어도 제1 픽셀 세트 및 상기 시각적 구성 요소와 연관되지 않은 것으로 표시된 적어도 제2 픽셀 세트를 포함하는 것인, 방법.
- 제1항에 있어서, 상기 훈련된 분류 엔진은 상기 시각적 구성 요소의 제1 부분을 식별하기 위한 제1 서브 엔진 및 상기 시각적 구성 요소의 제2 부분을 식별하기 위한 제2 서브 엔진을 포함하고, 상기 시각적 구성 요소의 제2 부분은 상기 시각적 구성 요소의 제1 부분의 서브 구성 요소이고, 상기 제2 서브 엔진은 상기 제1 서브 엔진에 의해 식별된 상기 시각적 구성 요소의 제1 부분에 대해 동작하는 것인, 방법.
- 제1항에 있어서, 상기 3D CAD 디지털 자산을 표현하는 출력은 다운스트림 엔진에 제공되고, 상기 다운스트림 엔진은, 3D 인쇄 엔진, 시각적 렌더링 엔진, 및 증강/가상 현실 엔진 중 하나 이상을 포함하는 것인, 방법.
- 제1항에 있어서,
상기 3D CAD 디지털 자산에 기초하여 그리고 상기 하나 이상의 컴퓨팅 기계를 사용하여, 하나 이상의 제조 기계에서 상기 3D CAD 디지털 자산으로 표현되는 상기 신발류의 제조를 제어하는 단계
를 더 포함하는, 방법. - 명령어를 저장하는 비일시적 기계 판독 가능 매체에 있어서,
상기 명령어는 하나 이상의 컴퓨팅 기계에 의해 실행될 때, 상기 하나 이상의 컴퓨팅 기계가 동작을 수행하게 하고, 상기 동작은,
상기 하나 이상의 컴퓨팅 기계에서, 신발류의 입력 이미지에 액세스하는 동작 - 상기 입력 이미지는 픽셀 또는 복셀 기반 이미지를 포함함 - ;
상기 입력 이미지에 기초하여 그리고 상기 하나 이상의 컴퓨팅 기계에서 구현되는 기계 학습 엔진을 사용하여, 상기 신발류의 NURBS(비균일 합리적 기준 스플라인) 모델을 포함하는 3D(3차원) CAD(컴퓨터 지원 설계) 디지털 자산을 생성하는 동작으로서, 상기 3D CAD 디지털 자산을 생성하는 동작은,
훈련된 분류 엔진을 사용하여, 상기 신발류의 시각적 구성 요소를 식별하는 동작; 및
상기 신발류의 시각적 구성 요소에 대해, 스플라인을, 훈련된 강화 학습 엔진을 사용하여 상기 스플라인이 상기 시각적 구성 요소로부터 미리 정의된 평균 거리 내에 있을 때까지, 반복적으로 피팅하는 동작 - 상기 3D CAD 디지털 자산은 상기 스플라인을 포함하고, 상기 기계 학습 엔진은 상기 훈련된 분류 엔진 및 상기 훈련된 강화 학습 엔진을 포함함 - 을 포함하는 것인, 상기 3D CAD 디지털 자산을 생성하는 동작; 및
상기 3D CAD 디지털 자산을 표현하는 출력을 제공하는 동작
을 포함하는 것인, 명령어를 저장하는 비일시적 기계 판독 가능 매체. - 제16항에 있어서, 상기 스플라인은 제어점 및 상기 제어점에 기초한 수학 함수를 포함하고, 상기 스플라인을 반복적으로 피팅하는 동작은 상기 시각적 구성 요소에 기초하여 상기 스플라인의 제어점을 변환하는 동작을 포함하는 것인, 기계 판독 가능 매체.
- 제16항에 있어서, 상기 분류 엔진은 상기 신발류의 시각적 구성 요소를 표현하는 이미지 및 상기 신발류의 시각적 구성 요소의 표현의 변환을 포함하는 훈련 데이터 세트를 사용하여 훈련되고, 상기 변환은 스케일링, 회전 및 변위 중 하나 이상을 포함하는 것인, 기계 판독 가능 매체.
- 시스템에 있어서,
처리 회로; 및
명령어를 저장하는 메모리
를 포함하고, 상기 명령어는 상기 처리 회로에 의해 실행될 때, 상기 처리 회로가 동작을 수행하게 하고, 상기 동작은,
상기 처리 회로에서, 신발류의 입력 이미지에 액세스하는 동작 - 상기 입력 이미지는 픽셀 또는 복셀 기반 이미지를 포함함 - ;
상기 입력 이미지에 기초하여 그리고 기계 학습 엔진을 사용하여, 상기 신발류의 NURBS(비균일 합리적 기준 스플라인) 모델을 포함하는 3D(3차원) CAD(컴퓨터 지원 설계) 디지털 자산을 생성하는 동작으로서, 상기 3D CAD 디지털 자산을 생성하는 동작은,
훈련된 분류 엔진을 사용하여, 상기 신발류의 시각적 구성 요소를 식별하는 동작; 및
상기 신발류의 시각적 구성 요소에 대해, 스플라인을, 훈련된 강화 학습 엔진을 사용하여 상기 스플라인이 상기 시각적 구성 요소로부터 미리 정의된 평균 거리 내에 있을 때까지, 반복적으로 피팅하는 동작 - 상기 3D CAD 디지털 자산은 상기 스플라인을 포함하고, 상기 기계 학습 엔진은 상기 훈련된 분류 엔진 및 상기 훈련된 강화 학습 엔진을 포함함 - 을 포함하는 것인, 상기 3D CAD 디지털 자산을 생성하는 동작; 및
상기 3D CAD 디지털 자산을 표현하는 출력을 제공하는 동작
을 포함하는 것인, 시스템. - 제19항에 있어서, 상기 스플라인은 제어점 및 상기 제어점에 기초한 수학 함수를 포함하고, 상기 스플라인을 반복적으로 피팅하는 동작은 상기 시각적 구성 요소에 기초하여 상기 스플라인의 제어점을 변환하는 동작을 포함하는 것인, 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063089435P | 2020-10-08 | 2020-10-08 | |
US63/089,435 | 2020-10-08 | ||
PCT/US2021/054136 WO2022076797A1 (en) | 2020-10-08 | 2021-10-08 | Computer architecture for generating footwear digital asset |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230082668A true KR20230082668A (ko) | 2023-06-08 |
Family
ID=81079274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020237015403A KR20230082668A (ko) | 2020-10-08 | 2021-10-08 | 신발류 디지털 자산을 생성하기 위한 컴퓨터 아키텍처 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20220114289A1 (ko) |
EP (1) | EP4226269A1 (ko) |
JP (1) | JP2023548654A (ko) |
KR (1) | KR20230082668A (ko) |
CN (1) | CN116547665A (ko) |
WO (1) | WO2022076797A1 (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7511465B2 (ja) * | 2020-12-24 | 2024-07-05 | 株式会社アシックス | 靴型作製支援装置、および靴型作製システム |
US11610054B1 (en) * | 2021-10-07 | 2023-03-21 | Adobe Inc. | Semantically-guided template generation from image content |
US20230351650A1 (en) * | 2022-04-28 | 2023-11-02 | Dassault Systemes Solidworks Corporation | Converting images to sketches that are modifiable using computer-aided design (cad) software |
CN114861247B (zh) * | 2022-07-06 | 2022-12-30 | 广东时谛智能科技有限公司 | 基于简易设计生成鞋体模型方法、装置、设备及存储介质 |
US20240029353A1 (en) * | 2022-07-14 | 2024-01-25 | Dassault Systemes Simulia Corp. | Automatic creation of three-dimensional (3d) variable resolution region geometries |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL1010452C2 (nl) * | 1998-11-02 | 2000-05-03 | Koelman Intellectueel Eigendom | Werkwijze en inrichting voor het ontwerpen van oppervlakken met een vrije vorm. |
US7945343B2 (en) * | 2006-12-18 | 2011-05-17 | Nike, Inc. | Method of making an article of footwear |
WO2014107520A1 (en) * | 2013-01-02 | 2014-07-10 | Embodee Corp. | Footwear digitization system and method |
US20160110479A1 (en) * | 2014-10-15 | 2016-04-21 | Yong Li | System and method for constructing customized foot orthotics |
DE102018220365A1 (de) * | 2018-11-27 | 2020-05-28 | Adidas Ag | Verfahren zur Herstellung mindestens eines Teils eines Sportartikels |
-
2021
- 2021-10-08 US US17/497,101 patent/US20220114289A1/en active Pending
- 2021-10-08 CN CN202180081910.5A patent/CN116547665A/zh active Pending
- 2021-10-08 JP JP2023521668A patent/JP2023548654A/ja active Pending
- 2021-10-08 KR KR1020237015403A patent/KR20230082668A/ko unknown
- 2021-10-08 WO PCT/US2021/054136 patent/WO2022076797A1/en active Application Filing
- 2021-10-08 EP EP21878599.6A patent/EP4226269A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2023548654A (ja) | 2023-11-20 |
CN116547665A (zh) | 2023-08-04 |
WO2022076797A1 (en) | 2022-04-14 |
EP4226269A1 (en) | 2023-08-16 |
US20220114289A1 (en) | 2022-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111489412B (zh) | 用于使用神经网络生成基本逼真图像的语义图像合成 | |
US20220114289A1 (en) | Computer architecture for generating digital asset representing footwear | |
US10176404B2 (en) | Recognition of a 3D modeled object from a 2D image | |
Kulkarni et al. | Picture: A probabilistic programming language for scene perception | |
US20230070008A1 (en) | Generating three-dimensional object models from two-dimensional images | |
US20230316379A1 (en) | Deep learning based visual compatibility prediction for bundle recommendations | |
US20180365565A1 (en) | Dataset for learning a function taking images as inputs | |
US20190164055A1 (en) | Training neural networks to detect similar three-dimensional objects using fuzzy identification | |
CN111381919A (zh) | 形成用于推断可编辑特征树的数据集 | |
US11688109B2 (en) | Generating differentiable procedural materials | |
CN109886297A (zh) | 一种用于从二维图像识别三维模型对象的方法 | |
US11568621B2 (en) | Dynamic character model fitting of three-dimensional digital items | |
Yetiş et al. | A novel approach for classification of structural elements in a 3d model by supervised learning | |
CN113065321B (zh) | 基于lstm模型和超图的用户行为预测方法及*** | |
Khoroshiltseva et al. | Relaxation labeling meets gans: solving jigsaw puzzles with missing borders | |
CN114331827B (zh) | 风格迁移方法、装置、设备和存储介质 | |
US11972534B2 (en) | Modifying materials of three-dimensional digital scenes utilizing a visual neural network | |
Massa | Relating images and 3D models with convolutional neural networks | |
Duignan | Exploring Advanced Methodologies for the Generation of Synthetic Data | |
Dev | Data-Driven Modelling of Perceptual Properties of 3D Shapes | |
Dering | Generation and Evaluation of Design Using Deep Neural Networks | |
JP2024028206A (ja) | トポロジー認識cad検索のための機械学習 | |
Kent | Estimating functional performance for use in the aesthetic design process | |
Liu et al. | Generative design supported by evolutionary computing approach | |
KASERIS et al. | 3D Scanning Technology for the Rapid Modelling of Fashion Clothing |