KR102512598B1 - 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치 및 방법, 및 이를 이용한 헤어 스타일링 가상 체험 장치 및 방법 - Google Patents
헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치 및 방법, 및 이를 이용한 헤어 스타일링 가상 체험 장치 및 방법 Download PDFInfo
- Publication number
- KR102512598B1 KR102512598B1 KR1020220029790A KR20220029790A KR102512598B1 KR 102512598 B1 KR102512598 B1 KR 102512598B1 KR 1020220029790 A KR1020220029790 A KR 1020220029790A KR 20220029790 A KR20220029790 A KR 20220029790A KR 102512598 B1 KR102512598 B1 KR 102512598B1
- Authority
- KR
- South Korea
- Prior art keywords
- hair
- person
- face image
- image
- face
- Prior art date
Links
- 210000004209 hair Anatomy 0.000 title claims abstract description 294
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 158
- 238000000034 method Methods 0.000 title claims abstract description 91
- 230000002194 synthesizing effect Effects 0.000 claims abstract description 26
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 12
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 12
- 238000012549 training Methods 0.000 claims description 44
- 230000001815 facial effect Effects 0.000 claims description 20
- 239000000284 extract Substances 0.000 claims description 11
- 210000003128 head Anatomy 0.000 claims description 8
- 230000001131 transforming effect Effects 0.000 claims description 8
- 230000000694 effects Effects 0.000 abstract description 8
- 238000013473 artificial intelligence Methods 0.000 description 49
- 238000004458 analytical method Methods 0.000 description 19
- 238000004891 communication Methods 0.000 description 17
- 238000013527 convolutional neural network Methods 0.000 description 17
- 238000005516 engineering process Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 16
- 238000003062 neural network model Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 13
- 239000013598 vector Substances 0.000 description 13
- 230000000306 recurrent effect Effects 0.000 description 11
- 230000009471 action Effects 0.000 description 10
- 238000013135 deep learning Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 230000004913 activation Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000011156 evaluation Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 238000013136 deep learning model Methods 0.000 description 5
- 241000220645 Leonotis nepetifolia Species 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 210000000887 face Anatomy 0.000 description 4
- 239000002131 composite material Substances 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 210000001747 pupil Anatomy 0.000 description 3
- 230000002787 reinforcement Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005442 molecular electronic Methods 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 210000004709 eyebrow Anatomy 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 239000002071 nanotube Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 210000000225 synapse Anatomy 0.000 description 1
- 230000000946 synaptic effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000037303 wrinkles Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- 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/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0641—Shopping interfaces
- G06Q30/0643—Graphical representation of items or shoppers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- 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
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Development Economics (AREA)
- Tourism & Hospitality (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Human Resources & Organizations (AREA)
- Primary Health Care (AREA)
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
본 명세서는 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 방법에 관한 것으로, 방법은 다양한 인물의 민머리 얼굴 영상을 준비하는 단계; 상기 다양한 인물의 민머리 얼굴 영상에 모발 객체 영상을 합성하여 상기 다양한 인물의 모발 합성 얼굴 영상을 생성하는 단계; 및 상기 모발 합성 얼굴 영상 및 상기 모발 합성 얼굴 영상의 인물에 대한 민머리 얼굴 영상의 쌍으로 구성된 한 쌍 얼굴 데이터를 상기 학습 데이터에 포함시켜 상기 학습 데이터를 생성하는 단계를 포함으로써, 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터를 지속적으로 생성할 수 있는 효과가 있다.
Description
본 발명은 인공 신경망을 사용한 헤어 스타일링 가상 체험 및 상기 인공 신경망의 학습을 위한 데이터 생성에 관한 것이다.
가상 헤어 스타일링 체험 서비스가 제공된다. 가상 헤어 스타일링 체험 서비스는 고객의 얼굴 사진에 가상으로 생성한 모발 객체 영상을 중첩하여 출력하는 서비스이다. 모발 객체 영상으로는 컴퓨터 그래픽을 이용하여 사람이 디자인한 것을 사용하였으며, 체험자의 기존의 모발 위에 디자인된 모발 객체 영상을 중첩한 뒤, 크기나 형태를 필요에 따라 일부 조정하여 사용하였다.
기존의 모발 위에 중첩되는 가상의 모발 이미지는 고객의 머리 또는 얼굴에 자연스럽게 중첩되지 않아 어색함이 발생하는 문제점이 있어 이를 해결할 필요성이 제기되고 있다.
또한, 본 명세서는 사람의 얼굴 이미지에서 모발만을 제거한 사람의 민머리 얼굴 이미지를 인공 신경망(AI 알고리즘)을 통해 자동으로 생성하는 방법을 제공함에 목적이 있다.
또한, 본 명세서는 민머리 얼굴 이미지를 생성하는 인공 신경망을 학습시킬 수 있는 학습용 데이터 셋을 용이하게 준비하는데 목적이 있다.
또한, 본 명세서는 민머리 얼굴 이미지를 생성하는 인공 신경망을 학습시킬 수 있는 학습용 데이터 셋을 지속적으로 확보하는데 목적이 있다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
본 명세서는 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 방법을 제시한다. 상기 방법은, 다양한 인물의 민머리 얼굴 영상을 준비하는 단계; 상기 다양한 인물의 민머리 얼굴 영상에 모발 객체 영상을 합성하여 상기 다양한 인물의 모발 합성 얼굴 영상을 생성하는 단계; 및 상기 모발 합성 얼굴 영상 및 상기 모발 합성 얼굴 영상의 인물에 대한 민머리 얼굴 영상의 쌍으로 구성된 한 쌍 얼굴 데이터를 상기 학습 데이터에 포함시켜 상기 학습 데이터를 생성하는 단계를 포함할 수 있다.
한편, 본 명세서는 헤어 스타일링 가상 체험 방법을 제시한다. 상기 방법은, 다양한 인물의 민머리 얼굴 영상을 준비하는 단계; 상기 다양한 인물의 민머리 얼굴 영상에 모발 객체 영상을 합성하여 상기 다양한 인물의 제1 모발 합성 얼굴 영상을 생성하는 단계; 상기 제1 모발 합성 얼굴 영상 및 상기 제1 모발 합성 얼굴 영상의 인물에 대한 민머리 얼굴 영상의 쌍으로 구성된 제1 학습 데이터를 생성하는 단계; 상기 제1 학습 데이터를 이용하여 임의의 인물의 얼굴 영상에서 모발을 제거한 민머리 얼굴 영상을 출력하도록 인공 신경망을 학습시키는 단계; 입력된 인물의 영상으로부터 입력된 인물의 얼굴 영상을 획득하는 단계; 상기 입력된 인물의 얼굴 영상을 상기 인공 신경망에 입력하여 상기 입력된 인물의 민머리 얼굴 영상을 출력하는 단계; 및 상기 입력된 인물의 민머리 얼굴 영상에 선택된 헤어 스타일을 합성하여 상기 입력된 인물의 가상 헤어 스타일 영상을 출력하는 단계를 포함할 수 있다.
한편, 본 명세서는 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 방법을 제시한다. 상기 방법은 제1 인물의 민머리 얼굴 영상을 준비하는 단계; 제2 인물의 얼굴 영상을 준비하는 단계; 상기 제2 인물의 얼굴 영상으로부터 모발 객체를 추출하여 상기 제2 인물의 모발 객체 영상을 생성하는 단계; 상기 제1 인물의 민머리 얼굴 영상에 상기 제2 인물의 모발 객체 영상을 합성하여 제1 모발 합성 얼굴 영상을 생성하는 단계; 및 상기 제1 모발 합성 얼굴 영상 및 상기 제1 인물의 민머리 얼굴 영상의 쌍으로 구성된 얼굴 데이터를 상기 인공 신경망의 학습을 위한 상기 학습 데이터에 포함시키는 단계를 포함한다.
또 한편, 본 명세서는 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치를 제시한다. 상기 장치는 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 인스트럭션을 실행시키기 위한 프로세서를 포함하고, 상기 인스트럭션이 실행될 때, 상기 프로세서는, 다양한 인물의 민머리 얼굴 영상을 준비하고, 상기 다양한 인물의 민머리 얼굴 영상에 모발 객체 영상을 합성하여 상기 다양한 인물의 모발 합성 얼굴 영상을 생성하고, 및 상기 모발 합성 얼굴 영상 및 상기 모발 합성 얼굴 영상의 인물에 대한 민머리 얼굴 영상의 쌍으로 구성된 한 쌍 얼굴 데이터를 학습 데이터에 포함시켜 상기 학습 데이터를 생성할 수 있다.
본 명세서에 개시된 실시 예는 입력된 인물 영상에서 민머리 얼굴 영상을 생성한 뒤 모발 객체 영상을 합성하여 자연스러운 모발 합성 얼굴 영상을 생성할 수 있는 효과가 있다.
또한, 본 명세서에 개시된 실시 예는 가상의 헤어 스타일 체험자의 영상에서 추출된 모발 객체 영상으로 민머리 얼굴 영상 생성을 위한 인공 신경망의 새로운 학습 데이터를 만들 수 있으므로, 인공 신경망의 학습 능력을 높이기 위한 학습 데이터를 용이하게 획득할 수 있는 효과가 있다.
또한, 본 명세서에 개시된 실시 예에 따른 헤어 스타일링 서비스 제공 시스템, 모발 이미지 추출 장치 및 이를 이용한 모발 이미지 추출 방법은 고객의 머리를 직접 촬영한 이미지에서 고품질의 모발 영상을 추출할 수 있으므로, 고객의 머리 또는 얼굴에 자연스럽게 중첩되는 모발 영상으로 헤어 스타일링 가상 체험을 제공할 수 있는 효과가 있다.
또한, 본 명세서는 AI 알고리즘을 통해 사람의 얼굴 이미지에서 머리카락이 제거된 대머리 이미지를 자동으로 출력하여 사용자에게 맞춤형 헤어를 추천할 수 있는 효과가 있다.
한편, 본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 발명을 실시하기 위한 구체적인 내용과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니 된다.
도 1은 일 실시예에 따른 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치의 개략적인 블록도를 나타낸다.
도 2는 일 실시예에 따른 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 방법을 설명하는 순서도이다.
도 3은 인공 신경망을 학습시키기 위한 학습 데이터 셋의 예를 도시한다.
도 4는 인공 신경망용 학습 데이터를 생성하는 방법의 예를 도시한다.
도 5는 일 실시예에 따른 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치가 모발 객체 영상을 변형하는 방법의 예를 도시한다.
도 6은 얼굴 영상에서 추출된 얼굴 특징점의 예를 도시한다.
도 7은 얼굴 영상에서 추출된 얼굴 특징점을 이용하여 합성할 모발 객체 영상을 변형하는 예를 도시한다.
도 8은 일 실시예에 따른 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치를 포함하는 헤어 스타일링 가상 체험 장치의 동작 및 헤어 스타일링 가상 체험 장치에 의한 헤어 스타일링 가상 체험 방법을 설명하는 개념도이다.
도 9는 일 실시예에 따른 헤어 스타일링 가상 체험 장치에 의해 헤어 스타일링 가상 체험이 실행되는 단계적 상태의 예를 순서대로 도시한다.
도 10은 일 실시예에 따른 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 방법을 설명하는 순서도이다.
도 11은 본 명세서에서 제안하는 방법이 적용될 수 있는 퍼셉트론 구조를 도시한다.
도 12는 본 명세서에서 제안하는 방법이 적용될 수 있는 다층 퍼셉트론의 구조를 도시한다.
도 13은 본 명세서에서 제안하는 방법이 적용될 수 있는 심층 신경망의 예시를 도시한다.
도 14는 본 명세서에서 제안하는 방법이 적용될 수 있는 컨볼루션 신경망의 예시를 도시한다.
도 15는 본 명세서에서 제안하는 방법이 적용될 수 있는 컨볼루션 신경망에서의 필터 연산을 도시한다.
도 16은 본 명세서에서 제안하는 방법이 적용될 수 있는 순환 루프가 존재하는 신경망 구조를 도시한다.
도 17은 본 명세서에서 제안하는 방법이 적용될 수 있는 순환 신경망의 동작 구조를 도시한다.
도 18은 본 명세서에서 제안하는 방법이 적용될 수 있는 DNN 모델의 예시이다.
도 19는 본 발명의 일 실시예에 적용될 수 있는 AI 장치의 블록도이다.
도 1은 일 실시예에 따른 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치의 개략적인 블록도를 나타낸다.
도 2는 일 실시예에 따른 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 방법을 설명하는 순서도이다.
도 3은 인공 신경망을 학습시키기 위한 학습 데이터 셋의 예를 도시한다.
도 4는 인공 신경망용 학습 데이터를 생성하는 방법의 예를 도시한다.
도 5는 일 실시예에 따른 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치가 모발 객체 영상을 변형하는 방법의 예를 도시한다.
도 6은 얼굴 영상에서 추출된 얼굴 특징점의 예를 도시한다.
도 7은 얼굴 영상에서 추출된 얼굴 특징점을 이용하여 합성할 모발 객체 영상을 변형하는 예를 도시한다.
도 8은 일 실시예에 따른 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치를 포함하는 헤어 스타일링 가상 체험 장치의 동작 및 헤어 스타일링 가상 체험 장치에 의한 헤어 스타일링 가상 체험 방법을 설명하는 개념도이다.
도 9는 일 실시예에 따른 헤어 스타일링 가상 체험 장치에 의해 헤어 스타일링 가상 체험이 실행되는 단계적 상태의 예를 순서대로 도시한다.
도 10은 일 실시예에 따른 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 방법을 설명하는 순서도이다.
도 11은 본 명세서에서 제안하는 방법이 적용될 수 있는 퍼셉트론 구조를 도시한다.
도 12는 본 명세서에서 제안하는 방법이 적용될 수 있는 다층 퍼셉트론의 구조를 도시한다.
도 13은 본 명세서에서 제안하는 방법이 적용될 수 있는 심층 신경망의 예시를 도시한다.
도 14는 본 명세서에서 제안하는 방법이 적용될 수 있는 컨볼루션 신경망의 예시를 도시한다.
도 15는 본 명세서에서 제안하는 방법이 적용될 수 있는 컨볼루션 신경망에서의 필터 연산을 도시한다.
도 16은 본 명세서에서 제안하는 방법이 적용될 수 있는 순환 루프가 존재하는 신경망 구조를 도시한다.
도 17은 본 명세서에서 제안하는 방법이 적용될 수 있는 순환 신경망의 동작 구조를 도시한다.
도 18은 본 명세서에서 제안하는 방법이 적용될 수 있는 DNN 모델의 예시이다.
도 19는 본 발명의 일 실시예에 적용될 수 있는 AI 장치의 블록도이다.
본 명세서에 개시된 기술은 헤어 스타일링 가상 체험 기술 및 헤어 스타일링 가상 체험 기술에 사용되는 인공 신경망 모델의 생성 및 학습에 적용될 수 있다. 그러나 본 명세서에 개시된 기술은 이에 한정되지 않고, 상기 기술의 기술적 사상이 적용될 수 있는 모든 장치 및 방법에도 적용될 수 있다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 명세서에 개시된 기술의 사상을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 명세서에 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 명세서에 개시된 기술의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 본 명세서에 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 명세서에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥 상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예들을 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
또한, 본 명세서에 개시된 기술을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 기술의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 기술의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 그 기술의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.
본 명세서에서 제안하는 인공지능 모델을 사용한 헤어 스타일링 가상 체험 장치 및 방법은 모발이 있는 실제 사람의 얼굴 영상이 입력 데이터로 입력되면 AI 알고리즘을 통해 입력된 실제 사람의 민머리(대머리) 얼굴 영상을 출력하고, 출력된 민머리 얼굴 영상에 사용자가 체험하기를 원하는 모발 객체 영상을 중첩 또는 합성하여 출력해주는 가상 헤어 스타일링 방법에 관한 것이다. 이러한 장치 및 방법은 스마트 폰, 스마트 패드 등의 스마트 디바이스뿐만 아니라 이를 내장한 스마트 미러에도 적용될 수 있으며, 또한, 클라우드 서비스 형태로도 제공될 수도 있다. 스마트 미러는 거울형 디스플레이를 기반으로, 평상시에는 거울처럼 빛을 반사하지만, 실제 투영 이미지와 상황정보, 활용정보에 따라 사용자 편의를 줄 수 있는 다양한 정보(영상, 음향 등)를 디스플레이하는 멀티 미디어 정보 제공을 지원하는 장치로 정의될 수 있다.
AI 알고리즘의 학습/훈련에 사용되는 학습 데이터는 모발을 가진 인물의 얼굴 영상 데이터 및 동일 인물의 민머리 얼굴 영상의 데이터의 쌍으로 이루어진 데이터 세트 등일 수 있다. 즉, AI 알고리즘을 이용한 학습 방법은 모발을 가진 실제 사람의 얼굴 영상을 입력하고, 학습 데이터와의 비교 등을 통해 실제 사람의 얼굴 영상에서 머리카락을 제거한 민머리 얼굴 영상을 출력한다.
본 명세서에서는 헤어 스타일은 특정 형태 및 색상을 가진 모발을 의미할 수 있으며, 모발 객체 영상은 특정 형태 및 색상을 가진 모발의 영상을 의미할 수 있다.
이하에서는 첨부의 도면을 참조하여 본 발명의 실시 예를 상세하게 설명한다.
도 1은 일 실시예에 따른 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치의 개략적인 블록도를 나타낸다.
헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치(100)는 촬영부(110), 데이터 통신부(120), 프로세서(130), 및 메모리(140)를 포함할 수 있다. 도시된 구성요소들은 필수적인 것은 아니어서, 그 보다 많은 구성요소들을 갖거나, 그보다 적은 구성요소들을 갖는 헤어 스타일링 가상 체험 서비스 제공용 인공 신경망의 학습을 위한 학습 데이터 생성 장치가 구현될 수도 있다.
촬영부(110)는 사람을 촬영하여 모발을 포함하는 인물의 영상 데이터를 획득할 수 있다.
데이터 통신부(120)는 외부의 장치 또는 서버 등과 통신 네트워크를 통해 데이터를 주고받을 수 있다.
프로세서(130)는 획득한 얼굴 영상 데이터 및 메모리(140)에 저장된 데이터를 사용자의 명령, 미리 결정해 둔 방법 또는 프로세스에 따라 처리할 수 있다. 프로세서(130)는 메모리(140)에 저장된 컴퓨터로 읽을 수 있는 코드(예컨대, 소프트웨어) 및/또는 프로세서(130)에 의해 유발된 인스트럭션(instruction)들을 실행할 수 있다.
프로세서(130)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조의 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들을 포함할 수 있다.
예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
메모리(140)는 프로세서(130)에 의해 실행가능한 인스트럭션들(또는 프로그램)을 저장할 수 있다. 예를 들어, 인스트럭션들은 프로세서(130)의 동작 및/또는 프로세서(130)의 각 구성의 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다.
메모리(140)는 휘발성 메모리 장치 또는 불휘발성 메모리 장치로 구현될 수 있다.
휘발성 메모리 장치는 DRAM(dynamic random access memory), SRAM(static random access memory), T-RAM(thyristor RAM), Z-RAM(zero capacitor RAM), 또는 TTRAM(Twin Transistor RAM)으로 구현될 수 있다.
불휘발성 메모리 장치는 EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시(flash) 메모리, MRAM(Magnetic RAM), 스핀전달토크 MRAM(Spin-Transfer Torque(STT)-MRAM), Conductive Bridging RAM(CBRAM), FeRAM(Ferroelectric RAM), PRAM(Phase change RAM), 저항 메모리(Resistive RAM(RRAM)), 나노 튜브 RRAM(Nanotube RRAM), 폴리머 RAM(Polymer RAM(PoRAM)), 나노 부유 게이트 메모리(Nano Floating Gate Memory(NFGM)), 홀로그래픽 메모리(holographic memory), 분자 전자 메모리 소자(Molecular Electronic Memory Device), 또는 절연 저항 변화 메모리(Insulator Resistance Change Memory)로 구현될 수 있다.
실시 예에 따라, 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치(100)는 촬영부(110)를 포함하지 않고 구성될 수 있다. 이 경우, 사람에 대한 얼굴 영상 데이터는 별도의 영상 데이터로 내부 저장 장치에서 불러오거나 외부의 장치 등으로부터 상기 통신 네트워크를 통해 수신될 수 있다. 데이터 통신부(120)는 얼굴 영상 데이터를 상기 통신 네트워크를 통해 외부로부터 수신하거나, 프로세서(130)에서 처리된 얼굴 영상 데이터를 상기 통신 네트워크를 통해 외부로 전송할 수 있다.
헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치(100)는 마더보드(motherboard)와 같은 인쇄 회로 기판(printed circuit board; PCB), 집적 회로(integrated circuit; IC), 또는 SoC(system on chip)로 구현될 수 있다. 예를 들어, 헤어 스타일링 가상 체험 장치(100)는 애플리케이션 프로세서(application processor)로 구현될 수 있다.
또한, 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치(100)는 PC(personal computer), 데이터 서버, 휴대용 장치, 또는 상기 PC를 포함하여 구성되는 스마트 미러 등으로 구현될 수 있다.
휴대용 장치는 랩탑(laptop) 컴퓨터, 이동 전화기, 스마트 폰(smart phone), 태블릿(tablet) PC, 모바일 인터넷 디바이스(mobile internet device(MID)), PDA(personal digital assistant), EDA(enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP(portable multimedia player), PND(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), e-북(e-book), 또는 스마트 디바이스(smart device)로 구현될 수 있다. 스마트 디바이스는 스마트 와치(smart watch), 스마트 밴드(smart band), 또는 스마트 링(smart ring)으로 구현될 수 있다.
데이터 통신부(120)가 외부의 장치 또는 서버 등과의 데이터 송수신에 사용하는 통신 네트워크는 예를 들어, 무선 네트워크, 유선 네트워크, 인터넷과 같은 공용 네트워크, 사설 네트워크, 모바일 통신 네트워크용 광역 시스템(Global System for Mobile communication network; GSM) 네트워크, 범용 패킷 무선 네트워크(General Packet Radio Network; GPRN), 근거리 네트워크(Local Area Network; LAN), 광역 네트워크(Wide Area Network; WAN), 거대도시 네트워크(Metropolitan Area Network; MAN), 셀룰러 네트워크, 공중 전화 교환 네트워크(Public Switched Telephone Network; PSTN), 개인 네트워크(Personal Area Network), 블루투스, Wi-Fi 다이렉트(Wi-Fi Direct), 근거리장 통신(Near Field communication), 초 광 대역(Ultra-Wide band), 이들의 조합, 또는 임의의 다른 네트워크일 수 있지만 이들로 한정되는 것은 아니다.
이하에서는 첨부의 도 2 내지 도 7을 참조하여 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치(100)를 이용한 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 방법을 개략적으로 설명한다.
도 2는 일 실시예에 따른 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 방법을 설명하는 순서도이고, 도 3은 인공 신경망을 학습시키기 위한 학습 데이터 셋의 예를 도시하며, 도 4는 인공 신경망용 학습 데이터를 생성하는 방법의 예를 도시한다.
도 1 및 2를 참조하면, 먼저, 프로세서(130)는 먼저 다양한 인물의 민머리 얼굴 영상을 준비한 뒤(S210), 상기 다양한 인물의 민머리 얼굴 영상에 다양한 형태의 모발 객체 영상을 합성하여 상기 다양한 인물의 모발 합성 얼굴 영상을 생성할 수 있다(S220).
다음으로, 프로세서(130)는 상기 다양한 인물의 민머리 얼굴 영상 및 상기 다양한 인물의 모발 합성 얼굴 영상 중 동일 인물에 대한 모발 합성 얼굴 영상 및 민머리 얼굴 영상을 하나의 쌍으로 구성한 뒤, 구성된 한 쌍의 얼굴 데이터를 학습 데이터에 포함시켜 학습 데이터를 생성할 수 있다(S230).
프로세서(130)는 다양한 인물들에 대한 민머리 얼굴 영상과 이들 다양한 인물들에 대한 민머리 얼굴 영상 각각에 다양한 형태의 모발 객체 영상(헤어 스타일)을 합성하여 생성한 다양한 인물에 대한 모발 합성 얼굴 영상으로 학습 데이터를 생성한 뒤, 생성된 학습 데이터 중 동일 인물에 대한 민머리 얼굴 영상 및 모발 합성 얼굴 영상을 한 쌍의 학습 데이터로 구성하여 인공 신경망을 훈련시킨다. 여기에서 다양한 인물들에 대한 민머리 얼굴 영상은 원래부터 민머리, 즉 대머리인 사람의 얼굴을 촬영하여 획득한 영상이며, 이들 원래부터 대머리인 사람의 얼굴 영상은 공공데이터 등의 대머리 얼굴 영상 제공처로부터 수집할 수 있다. 상기 다양한 인물들에 대한 민머리 얼굴 영상은 상기 원래부터 대머리인 사람의 얼굴 영상, 즉 공공데이터에서 획득 얼굴 영상의 인물이 비교적 나이가 많은 사람일 가능성이 크므로, 이들 얼굴 영상에서 노화의 영향으로 인한 주름 등을 제거한 보정 영상일 수 있다. 또한, 다양한 인물에 대한 모발 합성 얼굴 영상은 상기 원래부터 대머리인 사람의 얼굴 영상에 미리 제작되어 있는 다양한 형태의 모발 객체 영상을 합성하여 제작될 수 있다. 또한, 다양한 인물에 대한 모발 합성 얼굴 영상은 상기 원래부터 대머리인 사람의 얼굴 영상에 다른 인물의 얼굴 영상에서 모발 객체만을 추출하여 생성한 모발 객체 영상을 합성하여 제작될 수 있다. 한편, 이들 민머리 얼굴 영상 데이터는 머리가 없거나 거의 없는 사람을 촬영한 영상으로부터 획득할 수 있다.
상기 인공 신경망은 임의의 인물의 모발이 있는 얼굴 영상이 입력되면, 얼굴 영상에서 모발 부분을 인식하여 모발 부분만을 제거한 뒤, 모발이 제거된 부분의 두상 부분을 재생하고, 재생된 두상 부분에서 제거된 모발 부분에 대응되는 피부를 복원함으로써 임의의 인물의 민머리 얼굴 영상을 생성하도록, 상기 다양한 인물에 대한 모발 합성 얼굴 영상과 상기 다양한 인물에 대한 민머리 얼굴 영상을 비교 학습 데이터로 입력하여 훈련된다. 상기 제거된 모발 부분에 대응되는 피부 부분은 이미지 인페인팅(image inpainting) 기술로 복원될 수 있다.
도 3을 참조하면, 도 3(b)는 전술한 다양한 인물에 대한 민머리 얼굴 영상(301, 302, 303)으로, 원래부터 대머리인 사람의 얼굴 영상, 즉 모발이 없거나 거의 없는 사람의 얼굴을 촬영한 영상이고, 도 3(a)는 도 3(b)의 다양한 인물에 대한 민머리 얼굴 영상(301, 302, 303)에 모발 객체 영상(304)을 합성한 모발 합성 얼굴 영상으로, 이들 중 동일 인물에 대한 민머리 얼굴 영상 및 모발 합성 얼굴 영상이 상기 인공 신경망에 대한 한 쌍의 학습 데이터로 구성될 수 있다. 인공 신경망은 도 3(a)의 모발 합성 얼굴 영상을 입력하면, 도 3(b)의 민머리 얼굴 영상을 출력하도록 훈련된다.
도 4를 참조하면, 프로세서(130)는 어느 인물의 민머리 얼굴 영상(401)에 세 가지의 모발 객체 영상(402, 403, 404)을 중첩 또는 합성하여 세 개의 모발 합성 얼굴 영상을 생성하며, 이렇게 생성된 이들 민머리 얼굴 영상 및 모발 합성 얼굴 영상의 쌍을 인공 신경망의 학습 데이터로 사용한다. 즉, 도 4에서는 하나의 민머리 얼굴 영상(401)에 세 개의 모발 객체 영상을 합성하여 세 개의 모발 합성 얼굴 영상이 생성될 수 있으므로, 모발 객체 영상이 많을수록 동일 인물에 대한 모발 합성 얼굴 영상을 서로 다른 모발 객체 영상의 개수만큼 만들어 낼 수 있어, 풍부한 학습 데이터를 확보할 수 있다.
따라서, 도 3 내지 도 4를 참조하면, 프로세서(130)는 민머리 얼굴 영상 데이터 및 모발 객체 영상 데이터가 다양하게 많을수록 다양한 인물에 대한 민머리 얼굴 영상과 모발 합성 얼굴 영상의 데이터 셋을 다양하게 확보할 수 있다.
프로세서(130)는 촬영부(110)에서 촬영된 인물(예컨대, 헤어 스타일링 가상 체험 서비스를 경험하고자 하는 사람)의 얼굴 영상 데이터를 획득하고, 상기 촬영된 인물의 얼굴 영상에서 모발 객체 영상을 추출할 수 있다. 여기에서 추출된 모발 객체 영상은 전술한 단계(S220)에서 민머리 얼굴 영상에 중첩되어 모발 합성 얼굴 영상을 생성하는 데 사용되는 모발 객체 영상으로 사용될 수 있다. 프로세서(130)는 상기 모발 객체 영상을 촬영된 영상에서 추출할 수 있고, 별도로 입력된 헤어 스타일링 가상 체험 서비스를 경험하고자 하는 사람의 얼굴 영상으로부터 모발 객체를 추출하여 생성할 수도 있다.
따라서, 프로세서(130)는 새로운 사람의 얼굴 영상이 획득될 때마다 새로운 사람의 얼굴 영상으로부터 모발 객체를 추출하여 모발 객체 영상을 생성하고, 생성된 모발 객체 영상을 민머리 얼굴 영상에 합성하여 모발 합성 얼굴 영상을 생성할 수 있으므로, 인공 신경망의 학습을 위한 학습 데이터를 지속적으로 추가 확보할 수 있다. 따라서, 민머리 추출을 위한 인공 신경망은 학습 데이터가 계속하여 생성되므로 학습 능력이 향상될 수 있다.
한편, 프로세서(130)는 다양한 인물의 민머리 얼굴 영상에 다양한 형태의 모발 객체 영상을 합성하여 다양한 인물의 모발 합성 얼굴 영상을 생성할 때(S220), 먼저, 다양한 인물의 민머리 얼굴 영상에서 얼굴 키포인트를 검출한 뒤, 검출된 얼굴 키포인트에 기초하여 다양한 인물의 민머리 얼굴 영상의 각 눈의 중심점을 추출한다. 프로세서(130)는 추출된 다양한 인물의 민머리 얼굴 영상의 각 눈의 중심점 및 합성할 모발 객체 영상의 모발 객체를 추출한 인물의 각 눈의 중심점에 기초하여 모발 객체 영상이 다양한 인물의 민머리 얼굴 영상에 적합하게 합성될 수 있도록 모발 객체 영상을 변형한다. 이 때, 모발 객체 영상은 크기가 확대되거나 축소될 수도 있고, 회전 각도, 즉 모발 객체가 기울어진 정도도 조절될 수 있다.
도 5는 일 실시예에 따른 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치가 모발 객체 영상을 변형하는 방법의 예를 도시하고, 도 6은 얼굴 영상에서 추출된 얼굴 특징점의 예를 도시하고, 도 7은 얼굴 영상에서 추출된 얼굴 특징점을 이용하여 합성할 모발 객체 영상을 변형하는 예를 도시한다.
도 5를 참조하면, 프로세서(130)는 민머리 얼굴 영상(501) 및 모발을 가진 인물의 얼굴 영상(511)에서 얼굴 키포인트를 추출하여 얼굴 키포인트(502, 512)가 표시된 얼굴 영상(503, 513)을 각각 출력한다. 예컨대, 프로세서(130)는 dlib 얼굴 키포인트 검출모델을 사용하여 얼굴 영상에서 키포인트들을 추출할 수 있다.
다음으로, 프로세서(130)는 얼굴 키포인트를 이용하여 두 인물의 눈의 중심점을 산출하고, 중심점의 좌표를 이용하여 각 인물의 두 눈 사이의 거리와 두 눈의 기울기를 구할 수 있다. 여기에서, 두 눈의 기울기는 두 눈의 중심점을 연결한 직선의 기울기로 구할 수 있다. 모발을 가진 인물의 얼굴 영상(511)에서 추출된 두 눈의 중심점에 대한 정보는 추출된 모발 객체 영상의 메타 정보에 저장되어 추후 다른 민머리 얼굴 영상에 합성될 때 사용될 수 있다.
도 6을 참조하면, 얼굴 영상에서 추출된 얼굴 특징점의 예에서, 왼쪽 눈의 특징점들은 점(37) 내지 점(42)로 구성된 그룹(601)이고, 오른쪽 눈의 특징점들은 점(43) 내지 점(48)로 구성된 그룹(602)이므로, 왼쪽 눈의 중심점은 점(37) 내지 점(42)의 좌표의 평균으로 산출할 수 있고, 오른쪽 눈의 중심점은 점(43) 내지 점(48)의 좌표의 평균으로 산출할 수 있다.
다시 도 5를 참조하면, 프로세서(130)는 도 6의 방법으로 추출한 두 눈의 중심점의 좌표를 이용하여, 민머리 얼굴 영상(501)의 두 눈의 사이의 거리와 두 눈의 기울기 및 모발을 가진 인물의 얼굴 영상(511)의 두 눈의 사이의 거리와 두 눈의 기울기를 이용하여 모발을 가진 인물의 얼굴 영상(511)에서 추출된 모발 객체 영상이 민머리 얼굴 영상(501)에 적합하게 중첩되도록 상기 모발 객체 영상의 크기와 회전 각도를 조절한다. 이 때, 두 인물의 두 눈의 중심점을 이용하여 모발 객체 영상이 인물의 얼굴 영상(511)에 정확하게 중첩되도록 모발 객체 영상의 위치를 이동한다. 전술한 과정을 통해 민머리 얼굴 영상(501)에 모발을 가진 인물의 얼굴 영상(511)에서 추출된 모발 객체 영상이 적합하게 중첩된 모발 합성 영상(520)이 생성될 수 있다.
도 7을 참조하면, 도 7(a)는 민머리 얼굴 영상(701)에 합성할 모발 객체 영상(702)의 크기가 민머리 얼굴 영상(701)의 크기에 비해 작은 경우로, 확대된 모발 객체 영상(703)을 민머리 얼굴 영상(701)에 합성한 예를 도시하고, 도 7(b)는 민머리 얼굴 영상(704)에 합성할 모발 객체 영상(705)의 크기가 민머리 얼굴 영상(704)의 크기에 비해 큰 경우로, 축소된 모발 객체 영상(706)을 민머리 얼굴 영상(704)에 합성한 예를 도시한다.
이하에서는 첨부의 도 8 내지 도 9를 참조하여 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치(100)를 포함하는 헤어 스타일링 가상 체험 장치에 의한 헤어 스타일링 가상 체험 방법을 상세히 설명한다.
도 8은 일 실시예에 따른 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치를 포함하는 헤어 스타일링 가상 체험 장치의 동작 및 헤어 스타일링 가상 체험 장치에 의한 헤어 스타일링 가상 체험 방법을 설명하는 개념도이다. 헤어 스타일링 가상 체험 장치는 전술한 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치(100)를 포함하고 있어, 미리 준비된 다양한 인물의 민머리 얼굴 영상에 모발 객체 영상을 합성하여 생성된 상기 다양한 인물의 모발 합성 얼굴 영상 및 상기 모발 합성 얼굴 영상의 인물에 대한 민머리 얼굴 영상의 쌍으로 구성된 학습 데이터로 인공 신경망을 학습시킨 상태이다.
도 8을 참조하면, 헤어 스타일링 가상 체험을 하고자 하는 체험자가 헤어 스타일링 가상 체험 장치의 영상 촬영부를 통해 본인을 촬영하거나 본인의 영상 데이터를 직접 입력하면, 헤어 스타일링 가상 체험 장치는 입력된 영상 데이터로부터 인물 영상(810)을 획득한다(S801).
다음으로, 헤어 스타일링 가상 체험 장치는 인물 영상(810)을 전술한 학습 데이터 생성 장치(100)에 의해 학습된 민머리 영상 생성용 인공 신경망에 입력하여 체험자의 인물 영상(810)에서 모발을 제거한 민머리 얼굴 영상(820)을 생성한다(S802).
헤어 스타일링 가상 체험 장치는 인물 영상(810)에서 획득한 인물 영상 데이터를 생체 특성 분석 모델 및 패션 특징 분석 모델로 전달하여 체험자의 생체 특성을 분석하고(S803), 및 체험자의 패션 특징을 분석한다(S804). 분석된 생체 특성 결과 및 패션 특징 결과는 선호도 점수 예측 모델에 입력되어 체험자의 생체 특성 결과 및 패션 특징 결과에 따른 선호도 점수가 예측되고(S805), 헤어 스타일링 가상 체험 장치는 선호도 점수 예측 결과에 따라 체험자에게 어울릴 것으로 판단되는 몇 가지 헤어 스타일(830)을 추천한다(S806).
다음으로, 헤어 스타일링 가상 체험 장치는 체험자의 민머리 얼굴 영상(820)에 추천된 몇 가지 헤어 스타일(830) 중 선택된 헤어 스타일을 합성하여(S807), 헤어 스타일링 가상 체험 얼굴 영상(840)을 출력한다.
한편, 헤어 스타일링 가상 체험 장치는 인물 영상(810)에서 모발 영역만을 추출하여(S808), 모발 객체 영상(850)을 생성하고, 공공 데이터 등으로부터 수집한 다양한 인물들의 민머리 영상에 생성된 모발 객체 영상(850)을 합성하여 상기 민머리 영상 생성용 인공 신경망을 학습시킬 학습 데이터(860)를 생성한다(S809).
헤어 스타일링 가상 체험 장치는 생성된 학습 데이터(860)를 상기 인공 신경망을 훈련시키기 위한 학습 데이터 베이스에 추가하여 학습 데이터 베이스를 갱신한다(S810). 이로서 헤어 스타일링 가상 체험 장치는 헤어 스타일링 가상 체험을 원하는 체험자가 본인의 얼굴 영상을 입력할 때마다, 체험자의 얼굴 영상에서 추출된 모발 객체 영상으로 인공 신경망의 훈련을 위한 학습 데이터를 추가하여 갱신할 수 있으므로, 헤어 스타일링 가상 체험 장치는 민머리 얼굴 영상을 출력하기 위한 인공 신경망의 성능을 지속적으로 향상시킬 수 있다.
또 다른 한편, 생성된 모발 객체 영상(850)은 모발 소재 데이터베이스로 저장되어 다른 체험자에 대한 추천 헤어 스타일로 사용될 수도 있다. 여기에서, 헤어 스타일링 가상 체험 장치는 인공 신경망에 입력되기 전의 인물의 영상에서 인물의 피부 색 및 톤, 눈썹 형태, 수염 형태, 눈 크기, 눈동자 크기, 눈동자 색, 귀 크기, 코 크기, 얼굴 형태, 인종, 나이, 성별 등의 생체 특성, 또는 복장 종류, 액세서리 종류 등의 패션 특징을 분석한 뒤, 생체 특성 및/또는 패션 특징에 대한 분석 결과에 기초하여 적어도 하나의 헤어 스타일을 추천할 수 있다. 헤어 스타일링 가상 체험 장치는 추천된 적어도 하나의 헤어 스타일 중에서 선택된 적어도 하나의 헤어 스타일을 입력 받은 후, 선택된 적어도 하나의 헤어 스타일을 인공 신경망에서 출력된 해당 인물의 민머리 얼굴 영상에 합성하여 출력할 수 있다.
헤어 스타일링 가상 체험 장치에 의한 생체 특성 분석 및 패션 특징 분석은 각각 인공지능 모델로 만들어진 생체 특징 분석 모델 및 패션 특징 분석 모델에 의해 수행될 수 있다. 상기 생체 특정 분석 모델은 얼굴 영상의 특징을 수치로 표현하기 위한 CNN 기반의 학습 모델로서, 얼굴 영상을 입력해 나이, 성별, 피부 색 등의 생체적 정보를 학습해 출력하는 특징 추출기를 포함하여 구성될 수 있다. 또한, 이 특징 추출기는 얼굴 영상을 입력하면 키포인트로 리그레션(regression)하여 얼굴 형태, 눈동자 크기 및 색상 등의 얼굴의 특징을 잘 포착하기 위한 얼굴 특징점 추출 모델을 포함할 수 있다. 상기 패션 특징 분석 모델은 인물 영상의 패션 특징을 수치로 표현하기 위한 CNN 기반의 학습 모델로서, Human segmentation을 사용해 입력된 영상 내의 인물을 팔, 다리, 얼굴, 모발, 상의 부분, 하의 부분으로 구분하여 인물이 착용한 패션 스타일을 정확하게 포착할 수 있다. 해당 모델은 인물의 전신 영상이 입력되면, human mask를 추출하여 상의, 하의, 액세서리 등 헤어 스타일에 영향을 미치는 요소를 추출할 수 있다.
헤어 스타일링 가상 체험 장치는 상기 생체 특정 분석 모델에서 수치로 표현된 입력된 인물의 얼굴 영상의 생체 특성 정보 및/또는 상기 패션 특징 분석 모델에서 수치로 표현된 인물의 얼굴 영상의 패션 특징에 대한 분석 결과에 기초하여 적어도 하나의 헤어 스타일을 추천할 수 있다.
헤어 스타일링 가상 체험 장치는 헤어 스타일 리스트 등의 전문가에 의해 부여된 생체 특성 및 패션 특징에 기초한 헤어 스타일별 선호도 점수 정보에 기초하여 생체 특성 및 패션 특징에 따른 헤어 스타일 선호도 예측 모델을 생성한 뒤, 상기 헤어 스타일 선호도 예측 모델을 생체 특성 및 패션 특징에 기초하여 미리 결정된 헤어 스타일 별 선호도 점수 데이터로 훈련시키고, 훈련된 상기 헤어 스타일 선호도 예측 모델에 예측하고자 하는 인물에 대한 생체 특성 정보 분석 모델 출력 결과 및/또는 패션 특징 분석 모델 출력 결과를 입력하여 상기 헤어 스타일 선호도 예측 모델에서 출력된 선호도 예측 결과에 기초하여 해당 인물에 대한 적어도 하나의 헤어 스타일을 추천할 수 있다.
전술한 실시 예에서는 인공 신경망에 입력하는 얼굴 영상 데이터로서 카메라로 촬영된 인물의 얼굴 영상 데이터를 사용하였지만, 카메라가 없는 헤어 스타일링 가상 체험 장치는 데이터 통신부를 통해 외부에서 수신되거나 메모리에 저장되어 있는 헤어 스타일링 가상 체험을 원하는 체험자의 얼굴 영상 데이터를 사용할 수도 있다.
도 9는 일 실시예에 따른 헤어 스타일링 가상 체험 장치에 의해 헤어 스타일링 가상 체험이 실행되는 단계적 상태의 예를 순서대로 도시한 것으로, 인공 신경망에 어느 인물의 얼굴 영상 데이터(901)가 입력되면, 인공 신경망이 입력된 인물에 대한 얼굴 영상 데이터(901)에서 원래의 모발을 제거하여 민머리 얼굴 영상(902)을 생성하고, 사용자(체험자)가 선택한 헤어 스타일(904)이 민머리 얼굴 영상(902)에 합성 또는 중첩되어 사용자가 선택한 헤어 스타일이 적용된 가상의 얼굴 영상(903)이 출력된다.
이하에서는 첨부의 도 1, 도 5, 도 6 및 도 10을 참조하여 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치(100)를 이용한 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 방법의 다른 실시 예를 설명한다.
도 10은 일 실시예에 따른 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 방법을 설명하는 순서도이다.
도면을 참조하면, 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치(100)는 먼저 모발이 없는 인물의 얼굴을 촬영하여 획득한 영상인 민머리 얼굴 영상을 준비하고(S1010), 헤어 스타일링 가상 체험을 원하는 체험자의 얼굴 영상을 준비한다(S1020).
다음으로, 학습 데이터 생성 장치(100)는 상기 체험자의 얼굴 영상으로부터 모발 객체를 추출하여 상기 체험자의 모발 객체 영상을 생성한 뒤(S1030), 상기 민머리 얼굴 영상에 상기 체험자의 모발 객체 영상을 합성하여 모발 합성 얼굴 영상을 생성한다(S1040).
학습 데이터 생성 장치(100)는 상기 민머리 얼굴 영상에 상기 체험자의 모발 객체 영상을 합성하여 모발 합성 얼굴 영상을 생성함에 있어서, 먼저, 상기 민머리 얼굴 영상에서 얼굴 키포인트를 검출한 뒤, 민머리 얼굴 인물의 얼굴 키포인트에 기초하여 상기 민머리 얼굴 영상의 각 눈의 중심점을 추출하고, 상기 체험자의 얼굴 영상에서 얼굴 키포인트를 검출한 뒤, 상기 체험자의 얼굴 키포인트에 기초하여 상기 제2 인물의 각 눈의 중심점을 추출한다. 다음으로, 학습 데이터 생성 장치(100)는 상기 민머리 얼굴 영상의 각 눈의 중심점에 기초하여 상기 민머리 얼굴 영상의 두 눈 사이의 거리 및 두 눈의 기울기를 산출하고, 상기 체험자의 각 눈의 중심점에 기초하여 상기 체험자 얼굴 영상의 두 눈 사이의 거리 및 두 눈의 기울기를 산출한다. 다음으로, 학습 데이터 생성 장치(100)는 상기 민머리 얼굴 영상의 두 눈 사이의 거리 및 상기 체험자의 얼굴 영상의 두 눈 사이의 거리에 기초하여 상기 체험자의 모발 객체 영상의 크기를 상기 민머리 얼굴 영상에 맞도록 조절하고, 상기 민머리 얼굴 영상의 두 눈의 기울기 및 상기 체험자의 얼굴 영상의 두 눈의 기울기에 기초하여 상기 체험자의 모발 객체 영상의 회전 각도를 상기 민머리 얼굴 영상에 맞도록 조절하는 방법으로 상기 체험자의 모발 객체 영상을 변형한다. 다음으로, 학습 데이터 생성 장치(100)는 상기 변형된 체험자의 모발 객체 영상을 상기 민머리 얼굴의 각 눈의 중심점 및 상기 체험자의 각 눈의 중심점에 기초하여 상기 체험자의 모발 객체 영상을 상기 민머리 얼굴 영상에 맞도록 이동하고, 상기 체험자의 모발 객체 영상을 상기 민머리 얼굴 영상에 합성하여 상기 모발 합성 얼굴 영상을 생성한다.
상기 얼굴 키포인트의 검출 방법에 기초하여 제1 인물의 민머리 얼굴 영상에 제2 인물의 모발 객체 영상을 합성하는 방법은 전술한 도 5 내지 도 6을 참조하여 설명한 방법과 동일하다.
마지막으로, 데이터 생성 장치(100)는 상기 모발 합성 얼굴 영상 및 상기 민머리 얼굴 영상의 쌍으로 구성된 얼굴 데이터를 상기 인공 신경망의 학습을 위한 학습 데이터에 추가하여(S1050) 상기 인공 신경망의 학습 데이터의 양을 증가시킨다.
실시 예에 따른 헤어 스타일링 가상 체험 장치의 인공 신경망, 생체 특성 분석 모델, 패션 특징 분석 모델, 및 선호도 점수 예측 모델은 인공 지능에 기반한 것으로, 이하에서는 첨부의 도면 11 내지 19를 참조하여 본 명세서의 실시 예에 따른 헤어 스타일링 가상 체험을 위한 인공 신경망의 학습을 위한 학습 데이터 생성 장치의 및 학습 데이터 생성 방법, 그리고 상기 학습 데이터 생성 장치를 포함하는 헤어 스타일링 가상 체험 장치 및 방법에 적용될 수 있는 인공 지능 처리 장치 및 방법에 대해서 설명한다.
인공 지능(Artificial Intelligence, 이하 AI라 한다.)은 수많은 분석을 사용하여 복잡한 작업이 수행되는 방식을 결정할 수 있다. 즉, AI는 효율성을 높이고 처리 지연을 줄일 수 있다. 대량의 데이터 분석과 같은 시간 소모적인 작업은 AI를 사용함으로써 즉시 수행될 수 있다.
이하, AI의 일종인 머신 러닝에 대해 보다 구체적으로 살펴본다.
머신 러닝은 사람이 할 수 있거나 혹은 하기 어려운 작업을 대신해낼 수 있는 기계를 만들어내기 위해 기계를 학습시키는 일련의 동작을 의미한다. 머신 러닝을 위해서는 데이터와 러닝 모델이 필요하다. 머신 러닝에서 데이터의 학습 방법은 크게 3가지 즉, 지도 학습(supervised learning), 비지도 학습(unsupervised learning) 그리고 강화 학습(reinforcement learning)으로 구분될 수 있다.
신경망 학습은 출력의 오류를 최소화하기 위한 것이다. 신경망 학습은 반복적으로 학습 데이터를 신경망에 입력시키고 학습 데이터에 대한 신경망의 출력과 타겟의 에러를 계산하고, 에러를 줄이기 위한 방향으로 신경망의 에러를 신경망의 출력 레이어에서부터 입력 레이어 방향으로 역전파(backpropagation) 하여 신경망의 각 노드의 가중치를 업데이트하는 과정이다.
지도 학습은 학습 데이터에 정답이 라벨링된 학습 데이터를 사용하며 비지도 학습은 학습 데이터에 정답이 라벨링되어 있지 않을 수 있다. 즉, 예를 들어 데이터 분류에 관한 지도 학습의 경우의 학습 데이터는 학습 데이터 각각에 카테고리가 라벨링된 데이터 일 수 있다. 라벨링된 학습 데이터가 신경망에 입력되고 신경망의 출력(카테고리)과 학습 데이터의 라벨을 비교하여 오차(error)가 계산될 수 있다. 계산된 오차는 신경망에서 역방향(즉, 출력 레이어에서 입력 레이어 방향)으로 역전파되며, 역전파에 따라 신경망의 각 레이어의 각 노드들의 연결 가중치가 업데이트 될 수 있다. 업데이트 되는 각 노드의 연결 가중치는 학습률(learning rate)에 따라 변화량이 결정될 수 있다. 입력 데이터에 대한 신경망의 계산과 에러의 역전파는 학습 사이클(epoch)을 구성할 수 있다. 학습률은 신경망의 학습 사이클의 반복 횟수에 따라 상이하게 적용될 수 있다. 예를 들어, 신경망의 학습 초기에는 높은 학습률을 사용하여 신경망이 빠르게 일정 수준의 성능을 확보하도록 하여 효율성을 높이고, 학습 후기에는 낮은 학습률을 사용하여 정확도를 높일 수 있다
데이터의 특징에 따라 학습 방법은 달라질 수 있다. 예를 들어, 통신 시스템 상에서 송신단에서 전송한 데이터를 수신단에서 정확하게 예측하는 것을 목적으로 하는 경우, 비지도 학습 또는 강화 학습 보다는 지도 학습을 이용하여 학습을 수행하는 것이 바람직하다.
러닝 모델은 인간의 뇌에 해당하는 것으로서, 가장 기본적인 선형 모델을 생각할 수 있으나, 인공 신경망(ANN, artificial neural networks)와 같은 복잡성이 높은 신경망 구조를 러닝 모델로 사용하는 머신 러닝의 패러다임을 딥러닝(deep learning)이라 한다.
학습(learning) 방식으로 사용하는 신경망 코어(neural network cord)는 크게 심층 신경망(DNN, deep neural networks), 합성곱 신경망(CNN, convolutional deep neural networks), 순환 신경망(RNN, Recurrent Neural Network) 방식이 있다.
인공 신경망(artificial neural network)은 여러 개의 퍼셉트론을 연결한 예시이다.
도 11은 본 명세서에서 제안하는 방법이 적용될 수 있는 퍼셉트론 구조를 도시한다.
도 11을 참조하면, 입력 벡터 x=(x1, x2, ... , xd) 가 입력되면 각 성분에 가중치(W1, W2, ... , Wd)를 곱하고, 그 결과를 모두 합산한 후, 활성함수 σ(·) 를 적용하는 전체 과정을 퍼셉트론(perceptron)이라 한다. 거대한 인공 신경망 구조는 도 11에 도시한 단순화된 퍼셉트론 구조를 확장하여 입력벡터를 서로 다른 다 차원의 퍼셉트론에 적용할 수도 있다. 설명의 편의를 위해 입력값 또는 출력값을 노드(node)라 칭한다.
한편, 도 11에 도시된 퍼셉트론 구조는 입력값, 출력값을 기준으로 총 3개의 층(layer)로 구성되는 것으로 설명할 수 있다. 1st layer와 2nd layer 사이에는 (d+1) 차원의 퍼셉트론 H개, 2nd layer와 3rd layer 사이에는 (H+1)차원 퍼셉트론이 K 개 존재하는 인공신경망을 도 12과 같이 표현할 수 있다.
도 12는 본 명세서에서 제안하는 방법이 적용될 수 있는 다층 퍼셉트론의 구조를 도시한다.
입력벡터가 위치하는 층을 입력층(input layer), 최종 출력값이 위치하는 층을 출력층(output layer), 입력층과 출력층 사이에 위치하는 모든 층을 은닉층(hidden layer)라 한다. 도 12의 예시는 3개의 층이 개시되나, 실제 인공신경망 층의 개수를 카운트할 때는 입력층을 제외하고 카운트하므로 총 2개의 층으로 볼 수 있다. 인공신경망은 기본 블록의 퍼셉트론을 2차원적으로 연결되어 구성된다.
전술한 입력층, 은닉층, 출력층은 다층 퍼셉트론 뿐 아니라 후술할 CNN, RNN 등 다양한 인공신경망 구조에서 공동적으로 적용될 수 있다. 은닉층의 개수가 많아질수록 인공신경망이 깊어진 것이며, 충분히 깊어진 인공신경망을 러닝모델로 사용하는 머신러닝 패러다임을 딥러닝(Deep Learning)이라 한다. 또한 딥러닝을 위해 사용하는 인공신경망을 심층 신경망(DNN: Deep Neural Network)라 한다.
도 13은 본 명세서에서 제안하는 방법이 적용될 수 있는 심층 신경망의 예시를 도시한다.
도 13에 도시된 심층 신경망은 은닉층+출력층이 8개로 구성된 다층 퍼셉트론이다. 상기 다층 퍼셉트론 구조를 완전 연결 신경망(fully-connected neural network)이라 표현한다. 완전 연결 신경망은 서로 같은 층에 위치하는 노드 간에는 연결 관계가 존재하지 않으며, 인접한 층에 위치한 노드들 간에만 연결 관계가 존재한다. DNN은 완전 연결 신경망 구조를 가지고 다수의 은닉층과 활성함수들의 조합으로 구성되어 입력과 출력 사이의 상관관계 특성을 파악하는데 유용하게 적용될 수 있다. 여기서 상관관계 특성은 입출력의 결합확률(joint probability)을 의미할 수 있다.
한편, 복수의 퍼셉트론을 서로 어떻게 연결하느냐에 따라 전술한 DNN과 다른 다양한 인공 신경망 구조를 형성할 수 있다.
도 14는 본 명세서에서 제안하는 방법이 적용될 수 있는 컨볼루션 신경망의 예시를 도시하고, 도 15는 본 명세서에서 제안하는 방법이 적용될 수 있는 컨볼루션 신경망에서의 필터 연산을 도시한다.
DNN은 하나의 층 내부에 위치한 노드들이 1차원적의 세로 방향으로 배치되어 있다. 그러나, 도 14는 노드들이 2차원적으로 가로 w개, 세로 h개의 노드가 배치할 경우를 가정할 수 있다(도 14의 컨볼루션 신경망 구조). 이 경우, 하나의 입력노드에서 은닉층으로 이어지는 연결과정에서 연결 하나당 가중치가 부가되므로 총 h×w 개의 가중치를 고려해야한다. 입력층에 h×w 개의 노드가 존재하므로 인접한 두 층 사이에는 총 h2w2 개의 가중치가 필요하다.
도 14의 컨볼루션 신경망은 연결개수에 따라 가중치의 개수가 기하급수적으로 증가하는 문제가 있어 인접한 층 간의 모든 모드의 연결을 고려하는 대신, 크기가 작은 필터(filter)가 존재하는 것으로 가정하여 도 13에서와 같이 필터가 겹치는 부분에 대해서는 가중합 및 활성함수 연산을 수행하도록 한다.
하나의 필터는 그 크기만큼의 개수에 해당하는 가중치를 가지며, 이미지 상의 어느 특정한 특징을 요인으로 추출하여 출력할 수 있도록 가중치의 학습이 이루어질 수 있다. 도 15에서는 3×3 크기의 필터가 입력층의 가장 좌측 상단 3×3 영역에 적용되고, 해당 노드에 대한 가중합 및 활성함수 연산을 수행한 결과 출력값을 z22에 저장한다.
상기 필터는 입력층을 스캔하면서 가로, 세로 일정 간격만큼 이동하면서 가중합 및 활성함수 연산을 수행하고 그 출력값을 현재 필터의 위치에 위치시킨다. 이러한 연산 방식은 컴퓨터 비전(computer vision) 분야에서 이미지에 대한 컨볼루션(convolution) 연산과 유사하여 이러한 구조의 심층 신경망을 컨볼루션 신경망(CNN: convolutional neural network)라 하고, 컨볼루션 연산 결과 생성되는 은닉층을 컨볼루션 층(convolutional layer)이라 한다. 또한, 복수의 컨볼루션 층이 존재하는 신경망을 심층 컨볼루션 신경망(DCNN: Deep convolutional neural network)이라 한다.
컨볼루션 층에서는 현재 필터가 위치한 노드에서, 상기 필터가 커버하는 영역에 위치한 노드만을 포괄하여 가중합을 계산함으로써, 가중치의 개수를 줄여줄 수 있다. 이로 인해, 하나의 필터가 로컬(local) 영역에 대한 특징에 집중하도록 이용될 수 있다. 이에 따라 CNN은 2차원 영역 상의 물리적 거리가 중요한 판단 기준이 되는 이미지 데이터 처리에 효과적으로 적용될 수 있다. 한편, CNN은 컨볼루션 층의 직전에 복수의 필터가 적용될 수 있으며, 각 필터의 컨볼루션 연산을 통해 복수의 출력 결과를 생성할 수도 있다.
한편, 데이터 속성에 따라 시퀀스(sequence) 특성이 중요한 데이터들이 있을 수 있다. 이러한 시퀀스 데이터들의 길이 가변성, 선후 관계를 고려하여 데이터 시퀀스 상의 원소를 매 시점(timestep) 마다 하나씩 입력하고, 특정 시점에 출력된 은닉층의 출력 벡터(은닉 벡터)를, 시퀀스 상의 바로 다음 원소와 함께 입력하는 방식을 인공 신경망에 적용한 구조를 순환 신경망 구조라 한다.
도 16은 본 명세서에서 제안하는 방법이 적용될 수 있는 순환 루프가 존재하는 신경망 구조를 도시한다.
도 16을 참조하면, 순환 신경망(RNN: recurrent neural network)은 데이터 시퀀스 상의 어느 시선 t의 원소 (x1(t), x2(t), ... xd(t))를 완전 연결 신경망에 입력하는 과정에서, 바로 이전 시점 t-1은 은닉 벡터 (z1(t-1), z2(t-1), ... zH(t-1))을 함께 입력하여 가중합 및 활성함수를 적용하는 구조이다. 이와 같이 은닉 벡터를 다음 시점으로 전달하는 이유는 앞선 시점들에서의 입력 벡터속 정보들이 현재 시점의 은닉 벡터에 누적된 것으로 간주하기 때문이다.
도 17은 본 명세서에서 제안하는 방법이 적용될 수 있는 순환 신경망의 동작 구조를 도시한다.
도 17을 참조하면, 순환 신경망은 입력되는 데이터 시퀀스에 대하여 소정의 시점 순서대로 동작한다.
시점 1에서의 입력 벡터 (x1(t), x2(t), ... xd(t))가 순환 신경망에 입력되었을 때의 은닉 벡터 (z1(1), z2(1), ... zH(1))가 시점 2의 입력 벡터 (x1(2), x2(2), ... xd(2))와 함께 입력되어 가중합 및 활성 함수를 통해 은닉층의 벡터 (z1(2), z2(2), ... zH(2))를 결정한다. 이러한 과정은 시점 2, 시점 3, ... 시점 T까지 반복적으로 수행된다.
한편, 순환 신경망 내에서 복수의 은닉층이 배치될 경우, 이를 심층 순환 신경망(DRNN: Deep recurrent neural network)라 한다. 순환 신경망은 시퀀스 데이터(예를 들어, 자연어 처리(natural language processing)에 유용하게 적용되도록 설계되어 있다.
학습(learning) 방식으로 사용하는 신경망 코어로서 DNN, CNN, RNN 외에 제한 볼츠만 머신(RBM, Restricted Boltzmann Machine), 심층 신뢰 신경망(DBN, deep belief networks), 심층 Q-네트워크(Deep Q-Network)와 같은 다양한 딥 러닝 기법들을 포함하며, 컴퓨터비젼, 음성인식, 자연어처리, 음성/신호처리, 대용량의 데이터 처리를 통한 최적 값 도출 등의 분야에 적용될 수 있다.
도 18은 본 명세서에서 제안하는 방법이 적용될 수 있는 DNN 모델의 예시이다.
심층 신경망(Deep Neural Network, DNN)은 입력층(input layer)과 출력층(output layer) 사이에 여러 개의 은닉층(hidden layer)들로 이루어진 인공신경망(Artificial Neural Network, ANN)이다. 심층 신경망은 일반적인 인공신경망과 마찬가지로 복잡한 비선형 관계(non-linear relationship)들을 모델링할 수 있다.
예를 들어, 사물 식별 모델을 위한 심층 신경망 구조에서는 각 객체가 이미지 기본 요소들의 계층적 구성으로 표현될 수 있다. 이때, 추가 계층들은 점진적으로 모여진 하위 계층들의 특징들을 규합시킬 수 있다. 심층 신경망의 이러한 특징은, 비슷하게 수행된 인공신경망에 비해 더 적은 수의 유닛(unit, node)들 만으로도 복잡한 데이터를 모델링할 수 있게 해준다.
은닉층의 개수가 많아질수록 인공신경망이 '깊어졌다(deep)'고 부르며, 이렇게 충분히 깊어진 인공신경망을 러닝 모델로 사용하는 머신러닝 패러다임을 바로 딥러닝(Deep Learning)이라고 한다. 그리고, 이러한 딥러닝을 위해 사용하는 충분히 깊은 인공신경망이 심층 신경망(DNN: Deep Neural Network)이라고 통칭된다.
본 발명에서 DNN의 입력층에 POI 데이터 생성 모델을 학습시키기 위해 요구되는 데이터들이 입력될 수 있고, 이들은 은닉층들을 거치면서, 사용자가 사용할 수 있는 의미 있는 데이터가 출력층을 통해 생성될 수 있다.
본 발명의 명세서 상에서는 이러한 딥러닝 방식을 위해 사용되는 인공신경망을 DNN으로 통칭하고 있으나, 이와 유사한 방식으로 의미 있는 데이터를 출력할 수 있다면, 다른 방식의 딥러닝 방식이 적용될 수 있음은 물론이다.
도 19는 본 발명의 일 실시예에 적용될 수 있는 AI 장치의 블록도이다.
상기 AI 장치(20)는 AI 프로세싱을 수행할 수 있는 AI 모듈을 포함하는 전자 기기 또는 상기 AI 모듈을 포함하는 서버 등을 포함할 수 있다. 또한, 상기 AI 장치(20)는 도 1에 도시된 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치(100) 및 헤어 스타일링 가상 체험 장치의 적어도 일부의 구성으로 포함되어 AI 프로세싱 중 적어도 일부를 함께 수행하도록 구비될 수도 있다.
상기 AI 장치(20)의 AI 프로세싱은, 도 1에 도시된 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치(100) 및 헤어 스타일링 가상 체험 장치의 제어와 관련된 모든 동작/단계들 및 딥러닝 네트워크를 통한 민머리 얼굴 영상 생성을 위한 모든 동작/단계들을 포함할 수 있다. 예를 들어, 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치(100)는 수집된 학습용 데이터 셋을 AI 프로세싱하여 처리/판단 및 학습한 뒤, 모발이 있는 입력된 얼굴 영상에서 모발만 제거한 민머리 얼굴 영상을 생성할 수 있는 동작을 수행할 수 있다. 상기 AI 장치(20)는 도 1의 프로세서(130)의 일부 구성요소로 포함되거나 프로세서(130)로 대체될 수 있다.
상기 AI 장치(20)는 AI 프로세서(21), 메모리(25) 및/또는 통신부(27)를 포함할 수 있다.
상기 AI 장치(20)는 신경망을 학습할 수 있는 컴퓨팅 장치로서, 서버, 데스크탑 PC, 노트북 PC, 태블릿 PC 등과 같은 다양한 전자 장치로 구현되거나, 하나의 칩으로 구현될 수 있다. 본원 발명에서 상기 AI 장치(20)는 상기 다양한 전자 장치 중 어느 하나의 형태로 구현된 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치(100)일 수 있다.
AI 프로세서(21)는 메모리(25)에 저장된 프로그램을 이용하여 신경망을 학습할 수 있다. 특히, AI 프로세서(21)는 디바이스 관련 데이터를 인식하기 위한 신경망을 학습할 수 있다. 여기서, 디바이스 관련 데이터를 인식하기 위한 신경망은 인간의 뇌 구조를 컴퓨터 상에서 모의하도록 설계될 수 있으며, 인간의 신경망의 뉴런(neuron)을 모의하는, 가중치를 갖는 복수의 네트워크 노드들을 포함할 수 있다. 복수의 네트워크 모드들은 뉴런이 시냅스(synapse)를 통해 신호를 주고 받는 뉴런의 시냅틱 활동을 모의하도록 각각 연결 관계에 따라 데이터를 주고 받을 수 있다. 여기서 신경망은 신경망 모델에서 발전한 딥러닝 모델을 포함할 수 있다. 딥 러닝 모델에서 복수의 네트워크 노드들은 서로 다른 레이어에 위치하면서 컨볼루션(convolution) 연결 관계에 따라 데이터를 주고 받을 수 있다. 신경망 모델의 예는 심층 신경망(DNN, deep neural networks), 합성곱 신경망(CNN, convolutional deep neural networks), 순환 신경망(RNN, Recurrent neural networks), 제한 볼츠만 머신(RBM, Restricted Boltzmann Machine), 심층 신뢰 신경망(DBN, deep belief networks), 심층 Q-네트워크(Deep Q-Network)와 같은 다양한 딥러닝 기법들을 포함하며, 컴퓨터비젼(CV), 음성인식, 자연어처리, 음성/신호처리 등의 분야에 적용될 수 있다.
한편, 전술한 바와 같은 기능을 수행하는 프로세서는 범용 프로세서(예를 들어, CPU)일 수 있으나, 인공지능 학습을 위한 AI 전용 프로세서(예를 들어, GPU)일 수 있다.
메모리(25)는 AI 장치(20)의 동작에 필요한 각종 프로그램 및 데이터를 저장할 수 있다. 메모리(25)는 비 휘발성 메모리, 휘발성 메모리, 플래시 메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SDD) 등으로 구현할 수 있다. 메모리(25)는 AI 프로세서(21)에 의해 액세스되며, AI 프로세서(21)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 또한, 메모리(25)는 본 발명의 일 실시예에 따른 데이터 분류/인식을 위한 학습 알고리즘을 통해 생성된 신경망 모델(예를 들어, 딥 러닝 모델(26))을 저장할 수 있다.
한편, AI 프로세서(21)는 데이터 분류/인식을 위한 신경망을 학습하는 데이터 학습부(22)를 포함할 수 있다. 데이터 학습부(22)는 데이터 분류/인식을 판단하기 위하여 어떤 학습 데이터를 이용할지, 학습 데이터를 이용하여 데이터를 어떻게 분류하고 인식할지에 관한 기준을 학습할 수 있다. 데이터 학습부(22)는 학습에 이용될 학습 데이터를 획득하고, 획득된 학습데이터를 딥러닝 모델에 적용함으로써, 딥러닝 모델을 학습할 수 있다.
데이터 학습부(22)는 적어도 하나의 하드웨어 칩 형태로 제작되어 AI 장치(20)에 탑재될 수 있다. 예를 들어, 데이터 학습부(22)는 인공지능(AI)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 범용 프로세서(CPU) 또는 그래픽 전용 프로세서(GPU)의 일부로 제작되어 AI 장치(20)에 탑재될 수도 있다. 또한, 데이터 학습부(22)는 소프트웨어 모듈로 구현될 수 있다. 소프트웨어 모듈(또는 인스트럭션(instruction)을 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록 매체(non-transitory computer readable media)에 저장될 수 있다. 이 경우, 적어도 하나의 소프트웨어 모듈은 운영체제(Operating System)에 의해 제공되거나, 애플리케이션(응용 프로그램)에 의해 제공될 수 있다.
데이터 학습부(22)는 학습 데이터 획득부(23) 및 모델 학습부(24)를 포함할 수 있다.
학습 데이터 획득부(23)는 데이터를 분류하고 인식하기 위한 신경망 모델에 필요한 학습 데이터를 획득할 수 있다. 예를 들어, 학습 데이터 획득부(23)는 학습 데이터로서, 신경망 모델에 입력하기 위한 민머리 얼굴 및 모발을 가진 얼굴에 대한 영상 데이터 및/또는 샘플 데이터를 획득할 수 있다.
모델 학습부(24)는 상기 획득된 학습 데이터를 이용하여, 신경망 모델이 소정의 데이터를 어떻게 분류할지에 관한 판단 기준을 가지도록 학습할 수 있다. 이 때 모델 학습부(24)는 학습 데이터 중 적어도 일부를 판단 기준으로 이용하는 지도 학습(supervised learning)을 통하여, 신경망 모델을 학습시킬 수 있다. 또는 모델 학습부(24)는 지도 없이 학습 데이터를 이용하여 스스로 학습함으로써, 판단 기준을 발견하는 비지도 학습(unsupervised learning)을 통해 신경망 모델을 학습시킬 수 있다. 또한, 모델 학습부(24)는 학습에 따른 상황 판단의 결과가 올바른 지에 대한 피드백을 이용한 강화 학습(reinforcement learning)을 통하여, 신경망 모델을 학습시킬 수 있다. 또한, 모델 학습부(24)는 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient decent)을 포함하는 학습 알고리즘을 이용하여 신경망 모델을 학습시킬 수 있다.
신경망 모델이 학습되면, 모델 학습부(24)는 학습된 신경망 모델을 메모리에 저장할 수 있다. 모델 학습부(24)는 학습된 신경망 모델을 AI 장치(20)와 유선 또는 무선 네트워크로 연결된 서버의 메모리에 저장할 수도 있다.
데이터 학습부(22)는 인식 모델의 분석 결과를 향상시키거나, 인식 모델의 생성에 필요한 리소스 또는 시간을 절약하기 위해 학습 데이터 전처리부(미도시) 및 학습 데이터 선택부(미도시)를 더 포함할 수도 있다.
학습 데이터 전처리부는 획득된 데이터가 상황 판단을 위한 학습에 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 예를 들어, 학습 데이터 전처리부는, 모델 학습부(24)가 송신부에 대한 영상 데이터 인식을 위한 학습을 위하여 획득된 학습 데이터를 이용할 수 있도록, 획득된 데이터를 기 설정된 포맷으로 가공할 수 있다.
또한, 학습 데이터 선택부는, 학습 데이터 획득부(23)에서 획득된 학습 데이터 또는 전처리부에서 전처리된 학습 데이터 중 학습에 필요한 데이터를 선택할 수 있다. 선택된 학습 데이터는 모델 학습부(24)에 제공될 수 있다. 예를 들어, 학습 데이터 선택부는, 네트워크를 통해 수집한 데이터 셋 중 특정 필드를 인식함으로써, 특정 필드에 포함된 데이터만을 학습 데이터로 선택할 수 있다.
또한, 데이터 학습부(22)는 신경망 모델의 분석 결과를 향상시키기 위하여 모델 평가부(미도시)를 더 포함할 수도 있다.
모델 평가부는, 신경망 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 분석 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(22)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 인식 모델을 평가하기 위한 기 정의된 데이터일 수 있다. 일 예로, 모델 평가부는 평가 데이터에 대한 학습된 인식 모델의 분석 결과 중, 분석 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우, 소정 기준을 만족하지 못한 것으로 평가할 수 있다.
통신부(27)는 AI 프로세서(21)에 의한 AI 프로세싱 결과를 외부 전자 기기로 전송할 수 있다. 여기서 외부 전자 기기는 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치(100)로 정의될 수 있다. 한편, 상기 AI 장치(20)는 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치(100) 내에 구비된 프로세서(130)에 기능적으로 임베딩되어 구현될 수도 있다.
한편, 도 19에 도시된 AI 장치(20)는 AI 프로세서(21)와 메모리(25), 통신부(27) 등으로 기능적으로 구분하여 설명하였지만, 전술한 구성요소들이 하나의 모듈로 통합되어 AI 모듈로 호칭될 수도 있음을 밝혀 둔다.
본 명세서에서 사용된 용어 "부"는(예를 들면, 제어부 등), 예를 들어, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. "부"는, 예를 들어, 유닛(unit), 로직(logic), 논리블록 (logical block), 부품(component), 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. "부"는, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. "부"는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. "부"는 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들어, "부"는, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들어, 메모리가 될 수 있다.
컴퓨터로 읽을 수 있는 저장매체/컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(magnetic media)(예: 자기테이프), 광기록 매체(optical media)(예: CD-ROM(compact disc read only memory), DVD(digital versatile disc), 자기-광 매체(magneto-optical media)(예: 플롭티컬 디스크(floptical disk)), 하드웨어 장치(예: ROM(read only memory), RAM(random access memory), 또는 플래시 메모리 등) 등을 포함할 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 다양한 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
다양한 실시예에 따른 모듈 또는 프로그램 모듈은 전술된 구성 요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성 요소를 더 포함할 수 있다. 다양한 실시예에 따른 모듈, 프로그램 모듈 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
본 명세서에 사용된 용어 "하나"는 하나 또는 하나 이상으로 정의된다. 또한, 청구 범위에서 "적어도 하나" 및 "하나 이상"과 같은 도입 문구를 사용하는 것은, 동일한 청구항에 "적어도 하나" 및 "하나 이상"과 같은 도입 문구 및 "하나" 같은 불명료한 문구가 포함되어 있는 경우라 할지라도, 불명료한 문구 "하나"에 의한 다른 청구항 요소의 도입이 그러한 요소를 하나만을 포함하는 발명에 대해 그렇게 도입된 청구항 요소를 포함하는 임의의 특정 청구항을 제한한다는 것을 의미하는 것으로 해석되어서는 안된다.
달리 명시하지 않는 한, "제1" 및 "제2"와 같은 용어는 그러한 용어가 설명하는 요소들을 임의로 구별하는 데 사용된다. 따라서, 이들 용어는 그러한 요소들의 시간적 또는 다른 우선 순위를 나타내도록 반드시 의도된 것은 아니며, 특정 수단이 서로 다른 청구항들에 열거되어 있다는 단순한 사실만으로 이러한 수단들의 조합이 유리하게 사용될 수 없다는 것을 나타내는 것은 아니다. 따라서, 이들 용어는 그러한 요소의 시간적 또는 다른 우선 순위를 나타내도록 반드시 의도되지는 않는다. 특정 조치가 서로 다른 주장에 인용되었다는 단순한 사실만으로 이러한 조치의 조합이 유용하게 사용될 수 없다는 것을 나타내지는 않는다.
동일한 기능을 달성하기 위한 구성 요소의 배열은 효과적으로 "관련"되어 원하는 기능이 달성된다. 따라서, 특정 기능성을 달성하기 위해 결합된 임의의 2 개의 구성 요소는 구조 또는 중개하는 구성 요소와 관계없이 원하는 기능이 달성되도록 서로 "관련"되는 것으로 간주될 수 있다. 마찬가지로 이와 같이 연관된 두 개의 구성 요소는 원하는 기능을 달성하기 위해 서로 "작동 가능하게 연결"되거나 "작동 가능하게 결합된" 것으로 간주될 수 있다.
또한, 통상의 기술자는 전술한 동작들의 기능성 사이의 경계가 단지 예시적인 것임을 인식할 것이다. 복수의 동작들은 단일 동작으로 결합될 수 있고, 단일 동작은 추가 동작들로 분산될 수 있으며, 동작들은 시간적으로 적어도 부분적으로 겹쳐서 실행될 수 있다. 또한, 대안적인 실시예들은 특정 동작에 대한 복수의 인스턴스들을 포함할 수 있고, 동작들의 순서는 다양한 다른 실시예에서 변경될 수 있다. 그러나, 다른 수정, 변형 및 대안이 또한 가능하다. 따라서, 상세한 설명 및 도면은 제한적인 의미가 아니라 예시적인 것으로 간주되어야 한다.
"X일 수 있다"는 문구는 조건 X가 충족될 수 있음을 나타낸다. 이 문구는 또한 조건 X가 충족되지 않을 수도 있음을 나타낸다. 예를 들어, 특정 구성 요소를 포함하는 시스템에 대한 참조는 시스템이 특정 구성 요소를 포함하지 않는 시나리오도 포함해야 한다. 예를 들어, 특정 동작을 포함하는 방법에 대한 참조는 해당 방법이 특정 구성 요소를 포함하지 않는 시나리오도 포함해야 한다. 그러나 또 다른 예를 들면, 특정 동작을 수행하도록 구성된 시스템에 대한 참조는 시스템이 특정 작업을 수행하도록 구성되지 않은 시나리오도 포함해야 한다.
용어 "포함하는", "갖는", "구성된", "이루어진" 및 "본질적으로 이루어진"은 상호 교환적으로 사용된다. 예를 들어, 임의의 방법은 적어도 도면 및/또는 명세서에 포함된 동작을 포함할 수 있으며, 도면 및/또는 명세서에 포함된 동작만을 포함할 수 있다.
통상의 기술자는 논리 블록들 사이의 경계가 단지 예시적인 것이며, 대안적인 실시 예들이 논리 블록들 또는 회로 소자들을 병합하거나 또는 다양한 논리 블록들 또는 회로 소자들 상에 기능의 대체적인 분해를 부과할 수 있음을 인식할 것이다. 따라서, 여기에 도시된 아키텍처는 단지 예시적인 것이며, 사실 동일한 기능을 달성하는 많은 다른 아키텍처가 구현될 수 있다는 것으로 이해되어야 한다.
또한, 예를 들어, 일 실시예에서, 도시된 예들은 단일 집적 회로 상에 또는 동일한 장치 내에 위치된 회로로서 구현될 수 있다. 대안적으로, 상기 예들은 임의의 수의 개별적인 집적 회로들 또는 적합한 방식으로 서로 상호 접속된 개별 장치들로서 구현될 수 있으며, 다른 변경, 수정, 변형 및 대안들이 또한 가능하다. 따라서, 명세서 및 도면은 제한적인 의미가 아니라 예시적인 것으로 간주되어야 한다.
또한, 예를 들어, 상기 예들 또는 그 일부는, 임의의 적절한 유형의 하드웨어 기술 언어와 같은, 물리적 회로 또는 물리적 회로로 변환 가능한 논리적 표현의 소프트웨어 또는 코드 표현으로서 구현될 수 있다.
또한, 본 발명은 비 프로그래머블 하드웨어로 구현된 물리적 장치 또는 유닛으로 제한되지 않지만, 일반적으로 본원에서는 '컴퓨터 시스템'으로 표시되는 메인 프레임, 미니 컴퓨터, 서버, 워크스테이션, 개인용 컴퓨터, 노트패드(notepad), 개인용 디지털 정보 단말기(PDA), 전자 게임(electronic games), 자동차 및 기타 임베디드 시스템, 휴대전화 및 다양한 다른 무선 장치 등과 같은, 적절한 프로그램 코드에 따라 동작함으로써 원하는 장치 기능을 수행할 수 있는 프로그램 가능한 장치 또는 유닛에도 적용될 수 있다.
이 명세서에 언급된 시스템, 장치 또는 디바이스는 적어도 하나의 하드웨어 구성 요소를 포함한다.
본 명세서에 설명된 바와 같은 연결들은 예를 들어 중간 장치를 통해 각각의 노드, 유닛 또는 장치로부터 또는 각각의 노드, 유닛 또는 장치로 신호를 전송하기에 적합한 임의의 유형의 연결일 수 있다. 따라서, 묵시적으로 또는 달리 언급되지 않는 한, 연결은 예를 들어 직접 연결 또는 간접 연결일 수 있다. 연결은 단일 연결, 다수의 연결, 단방향 연결 또는 양방향 연결이라는 것을 참조하여 설명되거나 묘사될 수 있다. 그러나, 서로 다른 실시 예들은 연결의 구현을 변화시킬 수 있다. 예를 들어 양방향 연결이 아닌 별도의 단방향 연결을 사용할 수 있으며 그 반대의 경우도 가능할 수 있다. 또한, 다수의 연결은 복수의 신호를 순차적으로 또는 시간 다중화 방식으로 전송하는 단일 연결로 대체될 수 있다. 마찬가지로, 복수의 신호를 전송하는 단일 연결은 이러한 신호의 서브 세트를 전송하는 다양한 연결로 분리될 수 있다. 따라서 신호를 전송하기 위한 많은 옵션들이 존재한다.
통상의 기술자는 논리 블록들 사이의 경계가 단지 예시적인 것이며, 대안적인 실시 예들이 논리 블록들 또는 회로 소자들을 병합하거나 또는 다양한 논리 블록들 또는 회로 소자들 상에 기능의 대체적인 분해를 부과할 수 있음을 인식할 것이다. 따라서, 여기에 도시된 아키텍처는 단지 예시적인 것이며, 사실 동일한 기능을 달성하는 많은 다른 아키텍처가 구현될 수 있다는 것으로 이해되어야 한다.
청구항에서, 괄호 사이에 위치한 임의의 참조 부호는 청구항을 제한하는 것으로 해석되어서는 아니 된다. '포함하는'이라는 단어는 청구항에 나열된 요소들 또는 동작들의 존재를 배제하지 않는다.
이상에서 본 명세서의 기술에 대한 바람직한 실시 예가 첨부된 도면들을 참조하여 설명되었다. 여기서, 본 명세서 및 청구 범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 한다. 본 발명의 범위는 본 명세서에 개시된 실시 예들로 한정되지 아니하고, 본 발명은 본 발명의 사상 및 특허청구범위에 기재된 범주 내에서 다양한 형태로 수정, 변경, 또는 개선될 수 있다.
20: AI 장치 21: AI 프로세서
22: 데이터 학습부 23: 학습 데이터 획득부
24: 모델 학습부 25: 메모리
26: 신경망 모델 27: 통신부
100: 인공 신경망의 학습을 위한 학습 데이터 생성 장치
110: 촬영부 120: 데이터 통신부
130: 프로세서 140: 메모리
22: 데이터 학습부 23: 학습 데이터 획득부
24: 모델 학습부 25: 메모리
26: 신경망 모델 27: 통신부
100: 인공 신경망의 학습을 위한 학습 데이터 생성 장치
110: 촬영부 120: 데이터 통신부
130: 프로세서 140: 메모리
Claims (18)
- 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치에 의한 학습 데이터 생성 방법에 있어서,
상기 학습 데이터 생성 장치가 다양한 인물의 민머리 얼굴 영상을 준비하는 단계, 상기 다양한 인물의 민머리 얼굴 영상은 원래부터 민머리인 상기 다양한 인물의 얼굴 영상으로부터 획득된 영상이고;
상기 학습 데이터 생성 장치가 상기 다양한 인물의 민머리 얼굴 영상에 모발 객체 영상을 합성하여 상기 다양한 인물의 모발 합성 얼굴 영상을 생성하는 단계, 상기 모발 객체 영상은 상기 다양한 인물이 아닌 제2 인물의 얼굴 영상으로부터 추출되고; 및
상기 학습 데이터 생성 장치가 상기 모발 합성 얼굴 영상 및 상기 모발 합성 얼굴 영상의 인물에 대한 민머리 얼굴 영상의 쌍으로 구성된 한 쌍의 얼굴 데이터를 상기 학습 데이터에 포함시켜, 모발을 가진 임의의 인물의 얼굴 영상이 입력되면 모발을 제거한 민머리 얼굴 영상을 생성하는 상기 인공 신경망을 학습시키기 위한 상기 학습 데이터를 생성하는 단계;를 포함하는
학습 데이터 생성 방법. - 제1 항에 있어서,
상기 학습 데이터 생성 장치가 상기 다양한 인물의 민머리 얼굴 영상에 모발 객체 영상을 합성하여 상기 다양한 인물의 모발 합성 얼굴 영상을 생성하는 단계는,
상기 학습 데이터 생성 장치가 상기 다양한 인물의 민머리 얼굴 영상에서 얼굴 키포인트를 검출하는 단계;
상기 학습 데이터 생성 장치가 상기 얼굴 키포인트에 기초하여 상기 다양한 인물의 각 눈의 중심점을 추출하는 단계;
상기 학습 데이터 생성 장치가 상기 다양한 인물의 각 눈의 중심점 및 상기 모발 객체 영상의 모발 객체를 추출한 상기 제2 인물의 각 눈의 중심점에 기초하여 상기 모발 객체 영상을 변형하는 단계; 및
상기 학습 데이터 생성 장치가 상기 변형된 모발 객체 영상을 상기 다양한 인물의 민머리 얼굴 영상에 합성하여 상기 모발 합성 얼굴 영상을 출력하는 단계;를 포함하는
것을 특징으로 하는 학습 데이터 생성 방법. - 삭제
- 제1 항에 있어서,
상기 제2 인물의 얼굴 영상은 헤어 스타일링 가상 체험을 경험하고자 하는 인물을 촬영하여 획득한 영상인
것을 특징으로 하는 학습 데이터 생성 방법. - 제1 항에 있어서,
상기 민머리 얼굴 영상은 모발이 없는 상기 다양한 인물의 얼굴을 촬영하여 획득한 영상인
것을 특징으로 하는 학습 데이터 생성 방법. - 헤어 스타일링 가상 체험 장치에 의한 헤어 스타일링 가상 체험 방법에 있어서,
상기 헤어 스타일링 가상 체험 장치가 다양한 인물의 민머리 얼굴 영상을 준비하는 단계, 상기 다양한 인물의 민머리 얼굴 영상은 원래부터 민머리인 상기 다양한 인물의 얼굴 영상으로부터 획득된 영상이고;
상기 헤어 스타일링 가상 체험 장치가 상기 다양한 인물의 민머리 얼굴 영상에 모발 객체 영상을 합성하여 상기 다양한 인물의 제1 모발 합성 얼굴 영상을 생성하는 단계, 상기 모발 객체 영상은 상기 다양한 인물이 아닌 제2 인물의 얼굴 영상으로부터 추출되고;
상기 헤어 스타일링 가상 체험 장치가 상기 제1 모발 합성 얼굴 영상 및 상기 제1 모발 합성 얼굴 영상의 인물에 대한 민머리 얼굴 영상의 쌍으로 구성된 제1 학습 데이터를 생성하는 단계;
상기 헤어 스타일링 가상 체험 장치가 상기 제1 학습 데이터를 이용하여 모발을 가진 임의의 인물의 얼굴 영상에서 모발을 제거한 민머리 얼굴 영상을 출력하도록 인공 신경망을 학습시키는 단계;
상기 헤어 스타일링 가상 체험 장치가 입력된 제3 인물의 영상으로부터 상기 제3 인물의 얼굴 영상을 획득하는 단계;
상기 헤어 스타일링 가상 체험 장치가 상기 제3 인물의 얼굴 영상을 상기 인공 신경망에 입력하여 상기 제3 인물의 민머리 얼굴 영상을 출력하는 단계; 및
상기 헤어 스타일링 가상 체험 장치가 상기 제3 인물의 민머리 얼굴 영상에 선택된 헤어 스타일을 합성하여 상기 제3 인물의 가상 헤어 스타일 영상을 출력하는 단계;를 포함하는
헤어 스타일링 가상 체험 방법. - 제6 항에 있어서,
상기 헤어 스타일링 가상 체험 장치가 상기 제3 인물의 얼굴 영상으로부터 모발 객체 영상을 추출하는 단계;
상기 헤어 스타일링 가상 체험 장치가 상기 제3 인물의 모발 객체 영상을 상기 다양한 인물의 민머리 얼굴 영상에 합성하여 상기 다양한 인물의 제2 모발 합성 얼굴 영상을 생성하는 단계;
상기 헤어 스타일링 가상 체험 장치가 상기 제2 모발 합성 얼굴 영상 및 상기 제2 모발 합성 얼굴 영상의 인물에 대한 민머리 얼굴 영상의 쌍으로 구성된 제2 학습 데이터를 생성하는 단계; 및
상기 헤어 스타일링 가상 체험 장치가 상기 제2 학습 데이터를 이용하여 상기 인공 신경망을 학습시키는 단계;를 더 포함하는
헤어 스타일링 가상 체험 방법. - 제7 항에 있어서,
상기 인공 신경망은,
임의의 인물의 얼굴 영상이 입력되면, 얼굴 영상에서 모발 부분을 인식하여 모발 부분만을 제거한 뒤, 모발이 제거된 부분의 두상을 생성하고, 생성된 두상 부분에서 제거된 모발 부분에 대응되는 피부를 복원하여 상기 임의의 인물의 민머리 얼굴 영상을 생성하도록 학습된
것을 특징으로 하는 헤어 스타일링 가상 체험 방법. - 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치에 의한 학습 데이터 생성 방법에 있어서,
상기 학습 데이터 생성 장치가 제1 인물의 민머리 얼굴 영상을 준비하는 단계, 상기 제1 인물의 민머리 얼굴 영상은 원래부터 민머리인 상기 제1 인물의 얼굴 영상으로부터 획득된 영상이고;
상기 학습 데이터 생성 장치가 제2 인물의 얼굴 영상을 준비하는 단계;
상기 학습 데이터 생성 장치가 상기 제2 인물의 얼굴 영상으로부터 모발 객체를 추출하여 상기 제2 인물의 모발 객체 영상을 생성하는 단계;
상기 학습 데이터 생성 장치가 상기 제1 인물의 민머리 얼굴 영상에 상기 제2 인물의 모발 객체 영상을 합성하여 제1 모발 합성 얼굴 영상을 생성하는 단계; 및
상기 학습 데이터 생성 장치가 상기 제1 모발 합성 얼굴 영상 및 상기 제1 인물의 민머리 얼굴 영상의 쌍으로 구성된 얼굴 데이터를 모발을 가진 임의의 인물의 얼굴 영상이 입력되면 모발을 제거한 민머리 얼굴 영상을 생성하는 상기 인공 신경망의 학습을 위한 상기 학습 데이터에 포함시키는 단계;를 포함하는
학습 데이터 생성 방법. - 제9 항에 있어서,
상기 학습 데이터 생성 장치가 상기 제1 인물의 민머리 얼굴 영상에 상기 제2 인물의 모발 객체 영상을 합성하여 제1 모발 합성 얼굴 영상을 생성하는 단계는,
상기 학습 데이터 생성 장치가 상기 제1 인물의 민머리 얼굴 영상의 각 눈의 중심점 및 상기 제2 인물의 얼굴 영상의 각 눈의 중심점에 기초하여 상기 제2 인물의 모발 객체 영상을 변형하는 단계; 및
상기 학습 데이터 생성 장치가 상기 변형된 제2 인물의 모발 객체 영상을 상기 제1 인물의 민머리 얼굴 영상에 합성하여 상기 제1 모발 합성 얼굴 영상을 생성하는 단계;를 포함하는
것을 특징으로 하는 학습 데이터 생성 방법. - 제10 항에 있어서,
상기 학습 데이터 생성 장치가 상기 제1 인물의 민머리 얼굴 영상의 각 눈의 중심점 및 상기 제2 인물의 얼굴 영상의 각 눈의 중심점에 기초하여 상기 제2 인물의 모발 객체 영상을 변형하는 단계는,
상기 학습 데이터 생성 장치가 상기 제1 인물의 민머리 얼굴 영상에서 제1 얼굴 키포인트를 검출하는 단계;
상기 학습 데이터 생성 장치가 상기 제1 얼굴 키포인트에 기초하여 상기 제1 인물의 각 눈의 중심점을 추출하는 단계;
상기 학습 데이터 생성 장치가 상기 제2 인물의 얼굴 영상에서 제2 얼굴 키포인트를 검출하는 단계;
상기 학습 데이터 생성 장치가 상기 제2 얼굴 키포인트에 기초하여 상기 제2 인물의 각 눈의 중심점을 추출하는 단계; 및
상기 학습 데이터 생성 장치가 상기 제1 인물의 각 눈의 중심점 및 상기 제2 인물의 각 눈의 중심점에 기초하여 상기 제2 인물의 모발 객체 영상을 변형하는 단계;를 포함하는
것을 특징으로 하는 학습 데이터 생성 방법. - 제11 항에 있어서,
상기 학습 데이터 생성 장치가 상기 제1 인물의 각 눈의 중심점 및 상기 제2 인물의 각 눈의 중심점에 기초하여 상기 제2 인물의 모발 객체 영상을 변형하는 단계는,
상기 학습 데이터 생성 장치가 상기 제1 인물의 각 눈의 중심점에 기초하여 상기 제1 인물의 민머리 얼굴 영상의 두 눈 사이의 거리 및 두 눈의 기울기를 산출하는 단계;
상기 학습 데이터 생성 장치가 상기 제2 인물의 각 눈의 중심점에 기초하여 상기 제2 인물의 얼굴 영상의 두 눈 사이의 거리 및 두 눈의 기울기를 산출하는 단계;
상기 학습 데이터 생성 장치가 상기 제1 인물의 민머리 얼굴 영상의 두 눈 사이의 거리 및 상기 제2 인물의 얼굴 영상의 두 눈 사이의 거리에 기초하여 상기 제2 인물의 모발 객체 영상의 크기를 상기 제1 인물의 민머리 얼굴 영상에 맞도록 조절하는 단계; 및
상기 학습 데이터 생성 장치가 상기 제1 인물의 민머리 얼굴 영상의 두 눈의 기울기 및 상기 제2 인물의 얼굴 영상의 두 눈의 기울기에 기초하여 상기 제2 인물의 모발 객체 영상의 회전 각도를 상기 제1 인물의 민머리 얼굴 영상에 맞도록 조절하는 단계;를 포함하는
것을 특징으로 하는 학습 데이터 생성 방법. - 제11 항에 있어서,
상기 학습 데이터 생성 장치가 상기 변형된 제2 인물의 모발 객체 영상을 상기 제1 인물의 민머리 얼굴 영상에 합성하여 상기 제1 모발 합성 얼굴 영상을 생성하는 단계는,
상기 학습 데이터 생성 장치가 상기 제1 인물의 각 눈의 중심점 및 상기 제2 인물의 각 눈의 중심점에 기초하여 상기 제2 인물의 모발 객체 영상을 상기 제1 인물의 민머리 얼굴 영상에 맞도록 이동하여 합성하는 단계인
것을 특징으로 하는 학습 데이터 생성 방법. - 제9 항에 있어서,
상기 제2 인물의 얼굴 영상은 헤어 스타일링 가상 체험을 경험하고자 하는 인물의 영상인
것을 특징으로 하는 학습 데이터 생성 방법. - 제14 항에 있어서,
상기 제1 인물의 민머리 얼굴 영상은 모발이 없는 인물의 얼굴을 촬영하여 획득한 영상인
것을 특징으로 하는 학습 데이터 생성 방법. - 하나 이상의 인스트럭션을 저장하는 메모리; 및
상기 인스트럭션을 실행시키기 위한 프로세서;를 포함하고,
상기 인스트럭션이 실행될 때, 상기 프로세서는,
다양한 인물의 민머리 얼굴 영상을 준비하고,
상기 다양한 인물의 민머리 얼굴 영상에 모발 객체 영상을 합성하여 상기 다양한 인물의 모발 합성 얼굴 영상을 생성하고, 및
상기 모발 합성 얼굴 영상 및 상기 모발 합성 얼굴 영상의 인물에 대한 민머리 얼굴 영상의 쌍으로 구성된 한 쌍 얼굴 데이터를 학습 데이터에 포함시켜, 모발을 가진 임의의 인물의 얼굴 영상이 입력되면 모발을 제거한 민머리 얼굴 영상을 생성하는 인공 신경망을 학습시키기 위한 상기 학습 데이터를 생성하되,
상기 다양한 인물의 민머리 얼굴 영상은 원래부터 민머리인 상기 다양한 인물의 얼굴 영상으로부터 획득된 영상이고,
상기 프로세서는 상기 다양한 인물이 아닌 제2 인물의 얼굴 영상으로부터 상기 모발 객체 영상을 추출하되, 상기 제2 인물의 얼굴 영상은 헤어 스타일링 가상 체험을 경험하고자 하는 인물을 촬영하여 획득한 영상인
헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치. - 제16 항에 있어서, 상기 프로세서는,
상기 다양한 인물의 민머리 얼굴 영상에서 얼굴 키포인트를 검출하고,
상기 얼굴 키포인트에 기초하여 상기 다양한 인물의 각 눈의 중심점을 추출하고,
상기 다양한 인물의 각 눈의 중심점 및 상기 모발 객체 영상의 모발 객체를 추출한 인물의 각 눈의 중심점에 기초하여 상기 모발 객체 영상을 변형하고, 및
상기 변형된 모발 객체 영상을 상기 다양한 인물의 민머리 얼굴 영상에 합성하여 상기 모발 합성 얼굴 영상을 출력하는
것을 특징으로 하는 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치. - 삭제
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210121536 | 2021-09-13 | ||
KR20210121536 | 2021-09-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230039491A KR20230039491A (ko) | 2023-03-21 |
KR102512598B1 true KR102512598B1 (ko) | 2023-03-23 |
Family
ID=85799239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220029790A KR102512598B1 (ko) | 2021-09-13 | 2022-03-10 | 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치 및 방법, 및 이를 이용한 헤어 스타일링 가상 체험 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102512598B1 (ko) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110019159A (ko) * | 2009-08-19 | 2011-02-25 | 한국전자통신연구원 | 헤어 스타일링 데모 시스템 및 방법 |
KR102193638B1 (ko) * | 2017-10-19 | 2020-12-23 | 주식회사 버츄어라이브 | 헤어 스타일 시뮬레이션 서비스를 제공하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체 |
KR20190114586A (ko) * | 2018-03-30 | 2019-10-10 | 정순오 | 헤어스타일 서비스 방법 및 장치 |
KR20210026521A (ko) * | 2019-08-30 | 2021-03-10 | 주식회사 케이티 | 헤어스타일 분석을 통한 3d 아바타를 생성하는 방법 및 장치 |
-
2022
- 2022-03-10 KR KR1020220029790A patent/KR102512598B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20230039491A (ko) | 2023-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6983937B2 (ja) | 畳み込みニューラルネットワークにおける構造学習 | |
Li et al. | Convolutional sequence to sequence model for human dynamics | |
US20190279075A1 (en) | Multi-modal image translation using neural networks | |
KR102548732B1 (ko) | 신경망 학습 방법 및 이를 적용한 장치 | |
CN113015984A (zh) | 卷积神经网络中的错误校正 | |
KR20160061856A (ko) | 객체 인식 방법 및 장치, 및 인식기 학습 방법 및 장치 | |
KR20200022739A (ko) | 데이터 증강에 기초한 인식 모델 트레이닝 방법 및 장치, 이미지 인식 방법 및 장치 | |
US20210397954A1 (en) | Training device and training method | |
US20160092779A1 (en) | Implementations of, and methods of use for a pattern memory engine applying associative pattern memory for pattern recognition | |
KR102138809B1 (ko) | 미세한 표정변화 검출을 위한 2차원 랜드마크 기반 특징점 합성 및 표정 세기 검출 방법 | |
US20230419721A1 (en) | Electronic device for improving quality of image and method for improving quality of image by using same | |
US20210232855A1 (en) | Movement state recognition model training device, movement state recognition device, methods and programs therefor | |
KR20220128015A (ko) | 피부 분석 시스템 | |
US20230004816A1 (en) | Method of optimizing neural network model and neural network model processing system performing the same | |
CN114360073B (zh) | 一种图像识别方法及相关装置 | |
Rungta et al. | A deep learning based approach to measure confidence for virtual interviews | |
Dong et al. | Skeleton-based human motion prediction with privileged supervision | |
KR102512598B1 (ko) | 헤어 스타일링 가상 체험용 인공 신경망의 학습을 위한 학습 데이터 생성 장치 및 방법, 및 이를 이용한 헤어 스타일링 가상 체험 장치 및 방법 | |
KR20220128016A (ko) | 피부 분석 시스템 | |
Sopov et al. | Self-configuring ensemble of neural network classifiers for emotion recognition in the intelligent human-machine interaction | |
KR102683330B1 (ko) | 기하학적 그래프 합성곱 신경망을 이용한 얼굴 표정 인식 방법 및 장치 | |
US20240163232A1 (en) | System and method for personalization of a chat bot | |
KR20230171507A (ko) | 서비스 환경에 따른 사용자의 캐릭터 연동 방법, 장치 및 컴퓨터프로그램 | |
Netravathi et al. | Emotion-Based Music Player | |
KR20240093348A (ko) | 특징점 추출 알고리즘을 기반으로 3d 모델링을 수행하는 전자 장치 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |