KR102135478B1 - 딥러닝 기반 가상 헤어 염색방법 및 시스템 - Google Patents
딥러닝 기반 가상 헤어 염색방법 및 시스템 Download PDFInfo
- Publication number
- KR102135478B1 KR102135478B1 KR1020180154223A KR20180154223A KR102135478B1 KR 102135478 B1 KR102135478 B1 KR 102135478B1 KR 1020180154223 A KR1020180154223 A KR 1020180154223A KR 20180154223 A KR20180154223 A KR 20180154223A KR 102135478 B1 KR102135478 B1 KR 102135478B1
- Authority
- KR
- South Korea
- Prior art keywords
- image
- hair
- original image
- deep learning
- virtual
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 210000004209 hair Anatomy 0.000 title claims description 77
- 238000013135 deep learning Methods 0.000 claims abstract description 50
- 238000013528 artificial neural network Methods 0.000 claims abstract description 43
- 238000004043 dyeing Methods 0.000 claims abstract description 37
- 230000037308 hair color Effects 0.000 claims abstract description 37
- 208000009119 Giant Axonal Neuropathy Diseases 0.000 claims abstract description 6
- 201000003382 giant axonal neuropathy 1 Diseases 0.000 claims abstract description 6
- 230000002194 synthesizing effect Effects 0.000 claims abstract description 5
- 238000012549 training Methods 0.000 claims description 9
- 238000002156 mixing Methods 0.000 claims description 4
- 230000009466 transformation Effects 0.000 claims description 4
- 230000006740 morphological transformation Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000003628 erosive effect Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 239000003086 colorant Substances 0.000 description 4
- 239000000975 dye Substances 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 230000006866 deterioration Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 210000000746 body region Anatomy 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 235000012167 tiramisu Nutrition 0.000 description 1
- 238000000844 transformation Methods 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
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive 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
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- 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
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
- G06T5/30—Erosion or dilatation, e.g. thinning
-
- 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
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/155—Segmentation; Edge detection involving morphological operators
-
- 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/194—Segmentation; Edge detection involving foreground-background 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/10—Image acquisition modality
- G06T2207/10024—Color image
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Tourism & Hospitality (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Marketing (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Primary Health Care (AREA)
- Human Resources & Organizations (AREA)
- Development Economics (AREA)
- Probability & Statistics with Applications (AREA)
- Image Processing (AREA)
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
Abstract
실시예에 따른 딥러닝 기반 가상 헤어 염색방법은, 딥러닝 뉴럴 네트워크(deep learning neural network)와 상대적 적대 신경망(Generative Adversarial Networks, GANs)을 포함하는 이미지 편집서버에서 수행되는 딥러닝 기반 가상 헤어 염색방법으로서, 원본 이미지와 목표 헤어색을 획득하는 단계; 상기 원본 이미지를 상기 딥러닝 뉴럴 네트워크에 입력하여 시멘틱 맵(semantic map)을 출력하는 단계; 상기 시멘틱 맵에 기초하여 자동으로 상기 원본 이미지에 대한 트라이 맵(trimap)을 생성하는 단계; 상기 트라이 맵을 기초로 상기 원본 이미지에 대해 알파 매팅(alpha matting)하여 알파 마스크(alpha mask)를 획득하는 단계; 상기 상대적 적대 신경망에 상기 원본 이미지를 입력하여 변환 이미지를 획득하는 단계; 상기 알파 마스크를 통해 상기 원본 이미지와 상기 변환 이미지를 합성하여 가상 염색 이미지를 획득하는 단계를 포함한다.
Description
본 발명은 딥러닝 기반 가상 헤어 염색방법 및 시스템에 관한 것이다. 보다 상세하게는 딥러닝 뉴럴 네트워크를 이용하여 사용자가 선택한 이미지 내 피사체의 헤어를 가상으로 염색하는 방법에 관한 것이다.
스마트폰, 태블릿 PC, PDA(Personal Digital Assistant) 등과 같은 사용자 단말의 이용이 대중화되고 정보 처리 기술이 발달함에 따라 사용자 단말을 이용하여 이미지 또는 동영상을 촬영하고, 촬영한 영상을 사용자의 요구에 맞게 편집하는 영상 편집 기술에 대한 연구가 활발하게 진행되고 있는 추세이다.
이미지 편집을 상업적으로 이용하는 분야 중 하나는 이미지의 피사체를 가상으로 염색해주는 가상 헤어 염색 분야이다. 가상 헤어 염색을 위한 다양한 알고리즘들이 개발되고 있으나, 대부분의 알고리즘은 헤어 이미지의 특징인 얇기, 부드러운 질감과 굴곡, 굴곡에 따른 색의 변화 등을 제대로 반영하지 못하여, 가상 염색된 이미지는 열화된 품질을 가지는 문제가 있다.
가상 염색 알고리즘 중 하나로, 영상의 일부를 추출하여 분리한 후 분리한 영상의 일부를 다른 영상과 합성하여 새로운 영상을 생성하는 이미지 매팅기법으로 가상 염색 알고리즘을 구현할 수 있다. 이러한 이미지 매팅 기법에 따른 가상 염색 알고리즘을 구현하기 위해서는, 이미지에서 헤어가 차지하는 영역만을 분리하기 위한 트라이맵(trimap)을 필요로 하는데, 트라이 맵을 생성하기 위해서는 이러한 헤어영역, 헤어가 아닌 영역, 그리고 경계 영역까지 사용자가 일일이 선택하여 지정해주어야 비로소 트라이맵이 생성할 수 있는 단점이 있다.
이러한 문제점을 극복하기 위하여, 최근에 딥러닝을 통한 이미지 편집 기술이 활발하게 시도되고 있으며, 이미지 편집 기술이 주목을 받고 있는 가상 염색 분야에도 딥러닝을 통해 이미지의 헤어를 가상으로 염색해주는 기술이 개발되고 있다.
특히, 딥러닝 기술 중 생산적 적대 신경망(Generative Adversarial Networks, GANs) 기반의 헤어 염색 시도가 몇 가지 논문을 통해 소개된 바가 있다. (Yunjey Choi, Minje Choi, Munyoung Kim, Jung-Woo Ha, Sunghun Kim, Jaegul Choo, IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018, pp. 8789-8797, StarGAN: Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation)
이러한 생산적 적대 신경망 방식을 통한 가상 염색 기법은, 기본적으로 엔드 투 엔드(End-to-End) 트레이닝을 기반으로 하고 있다. 예를 들면, 검정색 머리 이미지들이 모여있는 데이터셋과 금발 머리 이미지들이 모여있는 데이터 셋을 이용하여 상대적 적대 신경망을 트레이닝 한다. 그리고 트레이닝 완료 이후에 사용 시점에는, 사용자가 검정색 머리 피사체를 촬영한 사진을 입력으로 넣으면 네트워크의 출력으로 피사체의 머리가 금발 머리로 가상 염색된 이미지를 얻을 수 있다.
그러나 이러한 생산적 적대 신경망은, 헤어 영역 외의 부분인 옷이나 얼굴 배경 영역까지 변환되어 화질의 열화가 나타날 수 있는 문제가 있다.
본 발명은 전술한 문제점을 해결하기 위해, 딥러닝 기반으로 이미지의 피사체 헤어를 가상으로 염색하기 위한 딥러닝 기반 가상 헤어 염색방법 및 시스템을 제안하고자 한다.
자세히, 본 발명은 사용자의 입력 없이 이미지 내에서 헤어를 나타내는 영역을 디테일하게 분리하고, 분리된 헤어영역 내에 헤어의 컬러를 가상으로 염색할 수 있는 딥러닝 기반 가상 헤어 염색방법을 제공함을 목적으로 한다.
또한, 본 발명은 생산적 적대 신경망을 통해 가상 헤어 염색을 수행하여, 헤어의 얇기, 굵곡 등의 특성에 의한 헤어 색의 변화를 반영하는 것을 목적으로 한다.
또한, 본 발명은 정밀하게 분리된 헤어영역을 기반으로 생산적 적대 신경망에서 변환된 이미지와 원본 이미지를 결합하여, 헤어영역 뿐만 아니라 헤어영역 외의 영역의 화질이 원본과 동일하게 유지될 수 있는 딥러닝 기반 가상 헤어 염색방법을 제공함을 목적으로 한다.
실시예에 따른 딥러닝 기반 가상 헤어 염색방법은, 딥러닝 뉴럴 네트워크(deep learning neural network)와 상대적 적대 신경망(Generative Adversarial Networks, GANs)을 포함하는 이미지 편집서버에서 수행되는 딥러닝 기반 가상 헤어 염색방법으로서, 원본 이미지와 목표 헤어색을 획득하는 단계; 상기 원본 이미지를 상기 딥러닝 뉴럴 네트워크에 입력하여 시멘틱 맵(semantic map)을 출력하는 단계; 상기 시멘틱 맵에 기초하여 자동으로 상기 원본 이미지에 대한 트라이 맵(trimap)을 생성하는 단계; 상기 트라이 맵을 기초로 상기 원본 이미지에 대해 알파 매팅(alpha matting)하여 알파 마스크(alpha mask)를 획득하는 단계; 상기 상대적 적대 신경망에 상기 원본 이미지를 입력하여 변환 이미지를 획득하는 단계; 상기 알파 마스크를 통해 상기 원본 이미지와 상기 변환 이미지를 합성하여 가상 염색 이미지를 획득하는 단계를 포함한다.
이때, 상기 이미지 편집서버는, 서로 다른 헤어색으로 변환 가능한 복수의 상대적 적대 신경망을 포함하고, 상기 상대적 적대 신경망 중 하나는, 제 1 헤어색을 가지는 이미지들의 제 1 트레이닝 데이터 셋과, 제 2 헤어색을 가지는 이미지들의 제 2 트레이닝 데이터 셋을 통해 자율 학습 방식으로 엔드 투 엔드(End-to-End) 트레이닝된 신경망일 수 있다.
또한, 상기 시멘틱 맵(semantic map)을 출력하는 단계는, 상기 원본 이미지에서 헤어(hair)가 차지하는 영역을 헤어 영역으로 특정하고, 상기 헤어를 제외한 나머지 영역을 적어도 하나 이상의 비유효 영역으로 특정한 시멘틱 맵을 출력하는 단계를 포함할 수 있다.
또한, 상기 원본 이미지에 대한 트라이 맵(trimap)을 생성하는 단계는, 상기 시멘틱 맵을 기초로 형태학에 기반한 이미지 변환 편집(Morphological Transformations)을 수행하여 상기 트라이 맵을 생성하는 단계를 포함할 수 있다.
또한, 상기 원본 이미지에 대해 알파 매팅(alpha matting)하여 알파 마스크(alpha mask)를 획득하는 단계는, 상기 트라이 맵을 기초로 상기 원본 이미지의 각 픽셀들에 대해 알파 매팅을 수행하는 단계와, 상기 알파 매팅을 통해 상기 원본 이미지의 각 픽셀들에 대해 투명도 정보를 추가하여, 상기 알파 마스크를 생성하는 단계를 포함할 수 있다.
또한, 상기 원본 이미지와 상기 변환 이미지를 합성하여 가상 염색 이미지를 획득하는 단계는, 상기 알파 마스크를 기초로 상기 원본 이미지와 상기 변환 이미지를 알파 블랜딩(alpha blending)하는 단계를 포함할 수 있다.
또한, 상기 원본 이미지의 기존 헤어색과 상기 목표 헤어색에 매칭되는 상대적 적대 신경망을 선택하는 단계를 더 포함할 수 있다.
실시예에 따른 딥러닝 기반 가상 헤어 염색방법은, 가상 염색하고자 하는 원본 이미지와 복수의 색 중 목표 헤어색을 입력하면, 자연스럽게 헤어만 가상 염색된 가상 염색 이미지가 표시되는 가상 염색 서비스를 제공할 수 있다.
자세히, 실시예에 따른 딥러닝 기반 가상 헤어 염색방법은, 사용자의 입력 없이도 헤어 영역을 특정하는 알파 마스크를 생성할 수 있어, 사용자 불편을 최소화할 수 있다.
또한, 실시예에 따른 딥러닝 기반 가상 헤어 염색방법은, 상대적 적대 신경망을 통해 목표 헤어색으로 변환된 이미지를 획득하여, 헤어의 형태적 특징을 반영한 가상 염색 효과를 얻을 수 있다.
또한, 실시예에 따른 딥러닝 기반 가상 헤어 염색방법은, 상기 알파 마스크를 통해 원본 이미지와 변환 이미지를 자연스럽게 합성할 수 있고, 배경에 대한 이미지 열화를 최소화할 수 있다.
도 1은 본 발명의 실시예에 따른 있는 딥러닝 기반 가상 헤어 염색 시스템의 개념도이다.
도 2는 본 발명의 실시예에 따른 딥러닝 기반 가상 헤어 염색 기능을 가진 어플리케이션을 실행하기 위한 사용자 단말기의 내부 블록도이다.
도 3은 본 발명의 실시예에 따른 딥러닝 가상 헤어 염색방법을 나타내는 흐름도이다.
도 4는 딥러닝 기반 가상 염색에 대상이되는 원본 이미지를 나타낸다.
도 5는 본 발명의 실시예에 따른 원본 이미지으로부터 획득한 시맨틱 맵을 나타낸다.
도 6은 본 발명의 실시예에 따른 시맨틱 맵을 기초로 획득한 트라이 맵을 나타낸다.
도 7은 본 발명의 실시예에 따른 원본 이미지에서 헤어 영역을 전경으로 한 알파 마스크를 나타낸다.
도 8은 본 발명의 실시예에 따른 가상 염색 이미지를 나타낸다.
도 2는 본 발명의 실시예에 따른 딥러닝 기반 가상 헤어 염색 기능을 가진 어플리케이션을 실행하기 위한 사용자 단말기의 내부 블록도이다.
도 3은 본 발명의 실시예에 따른 딥러닝 가상 헤어 염색방법을 나타내는 흐름도이다.
도 4는 딥러닝 기반 가상 염색에 대상이되는 원본 이미지를 나타낸다.
도 5는 본 발명의 실시예에 따른 원본 이미지으로부터 획득한 시맨틱 맵을 나타낸다.
도 6은 본 발명의 실시예에 따른 시맨틱 맵을 기초로 획득한 트라이 맵을 나타낸다.
도 7은 본 발명의 실시예에 따른 원본 이미지에서 헤어 영역을 전경으로 한 알파 마스크를 나타낸다.
도 8은 본 발명의 실시예에 따른 가상 염색 이미지를 나타낸다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다. 이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. 또한, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다. 또한, 도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도시된 바에 한정되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 실시예에 따른 있는 딥러닝 기반 가상 헤어 염색 시스템의 개념도이다.
도 1을 참조하면, 실시예에 따른 딥러닝 기반 가상 헤어 염색 시스템은, 단말기(100), 가상 헤어 염색 서비스 제공서버(300)(이하, '서비스 제공서버(300)') 및 이미지 편집서버(200)을 포함한다.
<단말기(100)>
먼저, 단말기(100)는, 가상 헤어 염색 서비스를 제공받고자 하는 유저의 단말기(100)로, 유선 또는 무선 통신을 통해 서비스 제공서버(300)에 접속하여 가상 헤어 염색 기능을 제공할 수 있다.
이러한 단말기(100)는, 가상 헤어 염색 기능을 가지는 어플리케이션을 실행하기 위한 단말기(100)이면 특정 단말기(100)에 제한을 두지 않는다. 예를들어, 단말기(100)에는, 스마트 폰(smart phone), 휴대폰, 노트북 컴퓨터(laptop computer), 디지털방송용 단말기(100), PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 태블릿 PC(tablet PC), 울트라북(ultrabook), 웨어러블 디바이스(wearable device), 글래스형 단말기(100) (smart glass) 또는 키오스크(kiosk) 등이 포함될 수 있다.
이러한 단말기(100)는, 데이터를 처리하는 프로세서와 가상 헤어 염색 프로그램이 설치된 메모리를 포함할 수 있으며, 프로세서는 상기 가상 헤어 염색 프로그램을 독출하여 사용자에게 가상 헤어 염색 기능을 제공할 수 있다.
자세히, 사용자는 단말기(100)를 통해 가상 헤어 염색 프로그램을 실행한 후 헤어 색을 바꾸고자 하는 원본 이미지를 선택하고, 변환하고자 하는 목표 색을 입력할 수 있다. 그리고 단말기(100)는, 원본 이미지와 선택한 목표 색을 서비스 제공서버에 송신하면, 서비스 제공서버로부터 해당 원본 이미지의 헤어의 기존 색에서 목표 색으로 변환된 가상 염색 이미지를 획득함으로써, 사용자에게 가상 헤어 염색 기능을 제공할 수 있다.
-
단말기(100)의 내부 유닛
이하, 단말기(100)의 구체적인 구성에 대해 도 2를 참조하여 상세히 설명한다.
실시예에 따른 단말기(100)는, 입력부(110), 디스플레이(150), 통신부(120), 메모리(140), 카메라(130) 및 프로세서(160)를 포함할 수 있다.
먼저, 단말기(100)는, 사용자의 입력을 감지하는 입력부(110)를 포함할 수 있다.
예를 들어, 입력부(110)는, 단말기(100)의 전원을 온(on)/오프(off)시키는 실행 입력이나, 단말기(100)의 각종 기능에 대한 설정, 실행 입력 등을 감지할 수 있다.
이러한 입력부(110)는 사용자 터치를 감지하는 터치 입력부(예를 들어, 터치 센서(touch sensor), 터치키(touch key), 푸시키(mechanical key) 등) 및 음성 입력을 감지하는 마이크로폰(microphone) 중 적어도 하나 이상을 포함하여, 사용자 입력을 감지할 수 있다.
또한, 단말기(100)는, 가상 헤어 염색 기능의 진행화면을 표시하는 디스플레이(150)를 포함할 수 있다. 이러한 디스플레이(150)는 터치 센서와 상호 레이어 구조를 이루거나 일체형으로 형성됨으로써, 터치 스크린으로 구현될 수 있다. 이러한 터치 스크린은, 단말기(100)와 사용자 사이의 입력 인터페이스를 제공하는 사용자 입력부(110)로써 기능함과 동시에, 단말기(100)와 사용자 사이의 출력 인터페이스를 제공할 수 있다.
그리고 디스플레이(150)는, 액정 디스플레이(liquid crystal display, LCD), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display, TFT LCD), 유기 발광 다이오드(organic light-emitting diode, OLED), 플렉서블 디스플레이(flexible display), 3차원 디스플레이(3D display), 전자잉크 디스플레이(e-ink display) 중에서 적어도 하나를 포함할 수 있다.
사용자는 이러한 터치 스크린을 통해 원본 이미지와 목표 색을 선택할 수 있고, 선택된 원본 이미지를 확인하고 변환된 가상 염색 이미지를 확인할 수 있다.
또한, 단말기(100)는, 서비스 제공서버(300)와 무선 통신하는 통신부(120)를 포함할 수 있다.
자세히, 단말기(100)는 통신부(120)를 통해 서비스 제공서버에 원본 이미지와 선택한 목표 색 정보 등을 송신할 수 있다. 반대로, 단말기(100)는, 통신부(120)를 통해 서비스 제공서버로부터 변환된 가상 염색 이미지를 수신할 수 있다.
자세히, 통신부(120)는, 하기 통신방식(예를 들어, GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced) 등), WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), Wi-Fi(Wireless Fidelity) Direct, DLNA(Digital Living Network Alliance), WiBro(Wireless Broadband), WiMAX(World Interoperability for Microwave Access)에 따라 구축된 네트워크망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신할 수 있다.
또한, 단말기(100)는, 외부를 촬영하여 영상을 획득하는 카메라(130)를 포함할 수 있다.
자세히, 카메라(130)는, 이미지 센서를 포함하여 외부에서 피사체를 통해 반사되는 빛을 센싱하여 피사체에 대한 이미지를 획득할 수 있다.
이와 같이 카메라(130)를 통해 획득된 이미지는, 메모리(140)에 저장되고 이후 원본 이미지로 이용될 수 있다
그리고 메모리(140)는 단말기(100)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 단말기(100)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다.
자세히, 가상 염색 프로그램은, 메모리(140)에 저장되고, 단말기(100) 상에 설치되어, 프로세서(160)에 의하여 상기 단말기(100)의 동작(또는 기능)을 수행하도록 구동될 수 있다.
또한, 메모리(140)는 하드웨어적으로, ROM, RAM, EPROM, 플래시 드라이브, 하드 드라이브 등과 같은 다양한 저장기기 일 수 있고, 메모리(140)는 인터넷(internet)상에서 상기 메모리(140)의 저장 기능을 수행하는 웹 스토리지(web storage)일 수도 있다.
마지막으로, 각 유닛의 전반적인 동작을 제어하여 건강관리 서비스를 제공하기 위한 데이터 처리를 수행하는 프로세서(160)를 포함할 수 있다.
이러한 프로세서(160)는 ASICs (application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한
<가상 염색 서비스 제공서버(300)>
다음으로, 서비스 제공서버(300)는, 사용자가 입력한 원본 이미지 내의 사람의 헤어를 가상 염색하여, 변환된 컬러의 헤러를 가지는 가상 염색 이미지를 생성하여, 사용자의 단말기(100)를 통해 제공할 수 있다.
이러한 가상 염색 서비스 제공서버(300)는, 단말기(100)와 통신하기 위한 통신모듈과, 서비스를 제공하기 위한 데이터를 처리하는 데이터 처리부와, 서비스 제공하기 위한 각종 데이터를 저장하고 있는 데이터베이스를 포함할 수 있다.
서비스 제공서버(300)는, 사용자가 전송한 원본 이미지를 직접 가상 염색하여 변환할 수 있으나, 대용량 데이터 처리를 필요로 하는 딥러닝 뉴럴 네트워크를 구축하고 실행하기 위하여 별도의 이미지 편집서버를 이용할 수 있다.
<이미지 편집서버(200)>
이미지 편집서버(200)은, 별도의 클라우드 서버나 컴퓨팅 장치를 포함하여 딥러닝 뉴럴 네트워크와, 기타 알고리즘을 통해 이미지 편집(image edit)을 수행하여, 사용자가 입력한 원본 이미지 내의 사람의 헤어를 가상 염색하여, 변환된 컬러의 헤러를 가지는 가상 염색 이미지를 생성하는 역할을 수행할 수 있다.
또는, 이미지 편집서버(200)은, 가상 헤어 염색 서비스 제공서버(300)의 데이터 처리부에 설치된 뉴럴 네트워크 시스템일 수 있다.
이하에서 이미지 편집서버(200)은, 서비스 제공서버(300)와 별도의 장치로 서비스 제공서버(300)로부터 영상을 수신하여 수신된 영상을 이미지 딥러닝하는 실시예를 기준으로 설명한다.
이러한 이미지 편집서버(200)은, 데이터를 처리하는 프로세서(210)와, 이미지 딥러닝을 수행하기 위한 이미지 딥러닝 구동 프로그램을 포함하는 메모리(220)를 포함할 수 있으며, 프로세서가 상기 이미니 딥러닝 구동 프로그램을 독출하여, 구축된 뉴럴 네트워크 시스템에 따라서 하기 기술하는 이미지 딥러닝을 수행하게 된다.
실시예에 따라서 이미지 편집서버(200)은, 전체 유닛들을 제어하는 메인 프로세서와, 이미지 딥러닝에 따라 뉴럴 네트워크 구동시 필요한 대용량의 연산을 처리하는 복수의 그래픽 프로세서(Graphics Processing Unit, GPU)를 포함하도록 구성될 수 있다.
역할 측면에서 보면 이미지 편집서버(200)는, 원본 이미지의 피사체의 헤어를 가상으로 염색하는 제 1 이미지 편집부와, 원본 이미지에서 헤어 영역만을 추출하여 마스크를 생성하는 제 2 이미지 편집부와, 상기 마스크를 통해 원본 이미지와 가상 염색된 헤어를 가진 이미지를 합성하는 제 3 이미지 편집부로 구분할 수도 있다.
도 3은 본 발명의 실시예에 따른 딥러닝 가상 헤어 염색방법을 나타내는 흐름도이다.
이하, 전술한 이미지 편집서버(200)가 원본 이미지의 헤어를 가상으로 염색하는 방법을 도 3을 참조하여 상세히 설명한다.
도 3을 참조하면, 이미지 편집서버(200)는, 서비스 제공서버(300) 또는/및 사용자로부터 가상으로 헤어를 염색하기 위한 원본 이미지와 염색하고자 하는 목표 색 정보를 수신할 수 있다.
도 4를 참조하면, 원본 이미지는 사람을 피사체로 하여 적어도 일부의 기존 색을 가지는 헤어(H)가 표시되어 있는 인물 사진일 수 있다.
원본 이미지를 획득한 이미지 편집서버(200)는, 원본 이미지에서 헤어 영역만을 정확하게 특정하기 위한 마스크를 생성하는 이미지 편집을 수행할 수 있다.
이때, 투트랙으로 이미지 편집서버(200)는, 상대적 적대 신경망(GANs)을 통해 원본 이미지에서 헤어의 색을 목표 색으로 변환한 변환 이미지를 생성할 수 있다.
마스크를 생성하기 위한 과정을 먼저 살펴보면, 이미지 편집서버(200)는, 원본 이미지를 딥러닝 기반 시멘틱 세그멘테이션(semantic segmentation)을 통해 시멘틱 맵(semantic map)을 생성할 수 있다. (S101)
여기서, 시멘틱 맵은 유사성, 근접성, 연속성 및 공통성을 가지는 픽셀들끼리 그룹화하여, 원본 이미지를 유사한 특성을 가지는 픽셀들의 모임을 복수의 영역으로 러프하게 구분해놓은 지도일 수 있다.
이미지 편집서버(200)는, 딥러닝 기반 뉴럴 네트워크를 통해서 시멘틱 맵의 각 영역에서 헤어가 차지하는 영역인 헤어 영역을 특정하고, 나머지 각각의 영역을 헤어 영역이 아닌 비유효 영역으로 특정할 수 있다.
예를 들어, 도 5를 참조하면, 시멘틱 맵은, 원본 이미지를 유효한 영역인 헤어 영역(HA)과, 얼굴 영역을 제 1 비유효 영역(XA1)으로, 바디 영역을 제 2 비유효 영역(XA2)으로, 배경을 제 3 비유효 영역(XA3)으로 구분한 지도일 수 있다.
즉, 이미지 편집서버(200)는, 이미지 딥러닝 기반 뉴럴 네트워크에 원본 이미지를 입력하여, 1차적으로 러프하게 헤어 영역과, 나머지 복수의 비유효 영역을 분류한 시멘틱 맵을 생성할 수 있다.
다음으로, 이미지 편집서버(200)는, 상기 시멘틱 맵에 기초하여 원본 이미지를 분석하여 트라이 맵을 생성할 수 있다. (S102)
여기서, 도 6을 참조하면, 트라이 맵은, 헤어 영역을 전경 영역(FA)으로 구분하고, 헤어 영역이 아닌 나머지 영역을 배경 영역(GA)으로 구분하고, 헤어 영역인지 아닌지 불분명한 전경 영역과 배경 영역 사이의 영역을 경계 영역(UA)으로 구분한 지도일 수 있다.
트라이 맵을 생성하기 위하여, 이미지 편집서버(200)는, 시멘틱 맵을 기초로 형태학에 기반한 이미지 변환 편집(Morphological Transformations)을 수행할 수 있다.
자세히, 이미지 편집서버(200)는, 시멘틱 맵에서 헤어 영역으로 구분된 영역 내 원본 이미지 픽셀들을 유효 픽셀(예컨대, 수치로 1)로, 나머지 비유효 영역의 픽셀을 비유효 픽셀(예컨대, 수치 0)으로 지정하고, 각 픽셀들을 침식(Erode) 필터와 확장(Dilate) 필터를 적용하는 이미지 변환 편집을 수행할 수 있다.
자세히, 이미지 편집서버(200)는, 침식 필터를 통해 확실한 헤어 영역의 픽셀들로 구성된 전경 영역을 분류할 수 있다.
예를 들어, 이미지 편집서버(200)는, K(pixel) x K(pixel) 커널을 침식 필터로 사용하여, 원본 이미지의 일부 픽셀들에 K x K 커널을 적용한 후, 커널이 적용된 픽셀들 내에 비유효 픽셀이 하나라도 있으면, 중앙 픽셀을 비유효 픽셀로 정의하는 침식 필터를 적용할 수 있다.
그리고 이미지 편집서버(200)는, 이와 같이 원본 이미지가 침식 필터를 통과한 다음에 유효 픽셀들로 구성된 영역을 전경 영역으로 분류할 수 있다.
즉, 이미지 편집서버(200)는, 시멘틱 맵에서 러프하게 분류된 헤어 영역에서 확실한 헤어 영역을 침식 필터를 통해 엄격하게 확정된 픽셀들만을, 전경 영역으로 구분할 수 있다.
또한, 이미지 편집서버(200)는, 확장 필터를 통해 확실히 헤어가 아닌 영역들의 픽셀들로 구성된 배경 영역을 분류할 수 있다.
예를 들어, 이미지 편집서버(200)는, K x K 커널을 확장 필터로 사용하여, K x K 커널 내에 적어도 하나의 유효 픽셀이 있으면, 중앙 픽셀을 유효 픽셀로 변환하는 확장 필터를 적용할 수 있다.
그리고 이미지 편집서버(200)는, 이와 같이 원본 이미지가 확장 필터를 통과한 다음에 비유효 픽셀들로 구성된 영역을 배경 영역으로 분류할 수 있다.
즉, 이미지 편집서버(200)는, 시멘틱 맵에서 러프하게 분류된 비유효 영역에서 확실한 비유효 영역을 침식 필터를 통해 엄격하게 확정함으로써, 배경 영역으로 구분해낼 수 있다.
또한, 이미지 편집서버(200)는, 침식 필터와 확장 필터를 통해 헤어 영역인지 아닌지 불분명한 경계 영역을 구분할 수 있다.
자세히, 이미지 편집서버(200)는, 침식 필터에서 전경 영역으로 분류된 영역과, 확장 필터로 배경 영역으로 분류된 영역을 제외한 나머지 영역을 경계 영역으로 구분할 수 있다.
즉, 이미지 편집서버(200)는, 확장 필터를 통과한 유효 영역에서 침식 영역을 통과한 유효 영역을 뺀 나머지 영역을 경계 영역으로 지정할 수 있다.
이미지 편집서버(200)는, 이와 같은 과정을 통해 별도의 사용자의 전경영역, 배경영역 및 경계 영역에 대한 선택없이도, 딥러닝에 기반하여 자동으로 트라이 맵을 생성할 수 있다.
다음으로, 이미지 편집서버(200)는, 트라이 맵을 기초로 원본 이미지를 알파 매팅(alpha matting)을 적용하여, 각 픽셀들에 투명도(α)를 산출할 수 있다. (S103)
여기서, 투명도는, 해당 픽셀이 헤어를 나타내는 픽셀인지 여부를 나타내는 지표일 수 있다. 즉, 투명도가 1인 경우, 유효 픽셀로 해당 픽셀이 헤어임을 나타내고, 투명도가 0인 경우, 비유효 픽셀로 해당 픽셀이 헤어가 아님을 나타낼 수 있다. 만약, 투명도가 1 미만 0 초과인 경우, 1에 가까울수록 헤어를 나타내는 픽셀일 가능성이 높은 영역일 수 있다.
또한, 투명도는, 해당 픽셀이 차지하는 영역에 원본 이미지의 픽셀을 적용할지, 변환 이미지를 적용할지를 나타내는 지표일 수도 있다. 즉, 나중에 투명도에 기반하여 원본 이미지와 변환 이미지를 합성할 때, 원본 이미지 적용 영역과 변환 이미지 적용 영역의 경계에 투명도를 적용하여 원본 이미지와 변환 이미지의 특성을 동시에 반영함으로써, 원본 이미지와 변환 이미지가 경계를 통해 자연스럽게 이어지도록 합성시킬 수 있다.
즉, 이미지 편집서버(200)는, 알파 매팅을 통해 경계 영역에서 정확히 헤어를 나타내는 유효 픽셀을 구분하고, 정확히 헤어를 나타내지 않는 비유효 픽셀들을 구분하고, 확실하지 않는 픽셀들에 대해 유효 영역일지 여부에 대한 확률을 투명도로 산출할 수 있다.
이미지 편집서버(200)가 알파 매팅을 수행하기 위해서는, 사용자의 전경 영역에 대한 지정과, 각기 다른 특성을 가지는 배경 영역에 대한 지정 및 경계 영역에 대한 지정이 있어야 하는데, 이미지 편집서버(200)는 미리 생성한 트라이 맵을 여기서 활용할 수 있다.
즉, 이미지 편집서버(200)는, 사람의 별도의 지정 없이도 딥러닝을 통해 트라이 맵을 생성하여, 사용자 불편을 최소화할 수 있다.
이미지 편집서버(200)는, 트라이 맵에서 분류된 전경 영역 및 배경 영역 내의 픽셀들을 각각 분석하여, 전경 영역 내 픽셀들의 특징 정보(예컨대, 컬러(RGB), 좌표 등)를 획득할 수 있고, 배경 영역 내 픽셀들의 특징 정보(예컨대, 컬러(RGB), 좌표 등)을 획득할 수 있다.
그리고 이미지 편집서버(200)는, 전경 영역에 속하는 픽셀의 특징 정보와 배경 영역의 픽셀들의 특징 정보를 경계 영역 내 픽셀들의 특징과 비교하여, 해당 픽셀이 전경 영역 특징에 가까운지 배경 영역 특징에 가까운지를 기준으로, 경계 영역의 픽셀의 투명도를 산출할 수 있다.
자세히, 이미지 편집서버(200)는, 경계 영역 내 픽셀의 특징이 전경 영역 픽셀 특징 정보에 속할 경우, 해당 픽셀의 투명도를 1로 산출하여 유효한 헤어 픽셀로 지정할 수 있다. 여기서, 특징 정보에 속한다는 의미는, 전경 영역 픽셀의 특징 정보를 히스토그램화 하였을 때, 히스토그램 내에 어느하나의 특징 정보에 해당하는 것을 의미할 수 있다.
반대로, 이미지 편집서버(200)는, 경계 영역 내 픽셀의 특징이 배경 영역 픽셀 특징 정보에 속할 경우, 해당 픽셀의 투명도를 0으로 산출하여 비유효한 픽셀로 지정할 수 있다.
또한, 이미지 편집서버(200)는, 경계 영역 내 픽셀의 특징이 배경 영역의 특징 정보와 전경 영역의 특징 정보를 동시에 가질 경우, 특징 정보에 속하는 비율을 산출하여 0~1 사이의 확률값으로 투명도를 산출해낼 수 있다.
좀더 자세힌, 알파 매팅에 관한 알고리즘에 대한 상세한 설명은, 논문(Eduardo S. L. Gastal1 and Manuel M. Oliveira, (2010), EUROGRAPHICS 2010 / T. Akenine-Moller and M. Zwicker, “Shared Sampling for Real-Time Alpha Matting”)으로 대체하기로 한다.
실시예에 따른 이미지 편집서버(200)는, 상기 논문에서 Tiramisu 네트워크를 백본 네트워크로 대체한 알고리즘을 통해 알파 매팅을 수행하였다.
다음으로, 이미지 편집서버(200)는, 상기 투명도를 기초로 원본 이미지에서 헤어를 나타내는 픽셀들만을 유효 픽셀로 지정한 알파 마스크를 획득할 수 있다.
자세히, 알파 마스크는, 헤어를 나타내는 유효 픽셀, 배경을 나타내는 비유효 픽셀과, 헤어일 확률을 투명도로 나타내는 경계 픽셀로 구성될 수 있다.
다른 측면에서, 또 7을 참조하면, 알파 마스크는, 원본 이미지에서 투명도가 1인 픽셀을 유효 픽셀로, 투명도가 0인 픽셀을 비유효 픽셀로, 0~1 사이의 투명도를 경계 픽셀로 지정하고, 각각 픽셀에 투명도 정보를 포함시킬 수 있다.
이러한 알파 마스크는, 이후 원본 이미지와 상대적 적대 신경망을 통해 생성된 변환 이미지와 합성하는데 사용될 수 있다.
즉, 모든 픽셀에 대해 전경/배경을 완전히 구별하면 합성 이미지에서 전경영역의 가장 자리 부분이 칼로 도려 낸 듯이 티가 나기 때문에, 가장자리의 애매한 부분은 흰색과 검은색의 중간 회색으로 계산하여 잘라낸 전경이 새로운 배경이 자연스럽게 녹아 들어가도록 할 수 있다. 특히, 사람의 헤어 부분의 경우 회색영역으로 계산하는 것이 매우 효과적인데, 회색이 진할수록 변환 이미지가 더 드러나고 회색이 연할수록 원본 이미지가 더 드러나게 된다.
상대적 적대 신경망을 통해 변환이미지를 생성하는 과정을 설명하면, 먼저, 이미지 편집서버(200)는, 원본 이미지의 피사체인 사람의 기존 헤어색을 확인하고, 사용자가 변환을 원하는 목표 헤어색을 결정할 수 있다. (S104)
자세히, 이미지 편집서버(200)는, 알파 마스크를 획득하는 과정에서 헤어에 대한 픽셀로 지정된 특징 정보를 통해 기존 헤어색을 확정할 수 있다.
또한, 이미지 편집서버(200)는, 사용자의 선택에 따라 목표 헤어색을 결정할 수 있다.
다음으로, 이미지 편집서버(200)는, 기존 헤어색과 목표 헤어색이 각각 입력과 출력으로 지정된 상대적 적대 신경망(GANs)을 선택할 수 있다. (S105)
자세히, 이미지 편집서버(200)에는, 제 1 헤어색을 가지는 이미지들을 제 1 트레이닝 데이터 셋으로, 제 2 헤어색을 가지는 이미지들을 제 2 트레이닝 데이터 셋으로 입력하여, End-to-End 자율 학습(unsupervised learning) 트레이닝 시킬 수 있다.
여기서 사용된 상대적 적대 신경망은, 헤어의 특징을 분석하고 색을 변환하기 적합한 신경망인 cGANs을 이용할 수 있다.
자세한 내용은, 논문(Jun-Yan Zhu, Taesung Park, Phillip Isola Alexei A. An extended version of our ICCV 2017 paper, Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks)에서 설명한 cGANs을 응용한 것이며, 본 논문에 설명은 상세한 설명에 포함된 것으로 본다.
이와 같이 트레이닝이 완료되면, 상기 상대적 적대 신경망은, 제 1 헤어색과 제 2 헤어색을 상호 변환할 수 있는 신경망이 되어, 제 1 헤어색을 가지는 사람의 이미지를 넣으면, 사람의 헤어가 제 2 헤어색으로 변환된 변환 이미지를 획득할 수 있다.
이미지 편집서버(200)는, 서로 다른 헤어색을 변환 가능한 상대적 적대 신경망을 헤어색 세트에 따라 복수개 포함하여, 이후, 원본 이미지의 기존 헤어색과 목표 헤어색 세트에 맞는 상대적 적대 신경망을 선택하여, 기존 헤어색이 목표 헤어색으로 변환된 변환 이미지를 획득할 수 있다. (S106)
다만, 상대적 적대 신경망을 통해 획득된 변환 이미지는, 헤어 색은 헤어의 특징을 반영하여 자연스럽게 변환할 수 있지만, 헤어색과 더불어 나머지 영역인 얼굴이나 배경의 색도 변화되어 이질감을 줄 수 있다.
이를 방지하기 위해, 이미지 편집서버(200)는, 원본 이미지와 변환 이미지를 알파 마스크에 기초하여 합성할 수 있다. (S107)
자세히, 이미지 편집서버(200)는, 알파 마스크에서 유효 픽셀은 변환 이미지의 픽셀을 적용하고, 비유효 픽셀은 원본 이미지의 픽셀을 적용할 수 있다.
그리고 이미지 편집서버(200)는, 경계 픽셀은 투명도를 반영하여 원본 이미지의 픽셀 특징과 비유효 픽셀의 픽셀 특징을 동시에 반영한 픽셀을 적용할 수 있다.
즉, 이미지 편집서버(200)는, 헤어를 나타내는 픽셀은 변환 이미지의 가상 염색된 픽셀을 적용하고, 배경을 나타내는 픽셀은 원본 이미지의 기존 픽셀을 적용함으로써, 헤어를 제외한 영역의 열화를 막을 수 있다.
또한, 이미지 편집서버(200)는, 경계 픽셀에는 변환 이미지와 원본 이미지의 픽셀 특징을 투명도에 따라 둘다 반영하여, 변환 이미지와 원본 이미지 사이의 경계를 자연스럽게 이어줄 수 있다.
알파 마스크를 통한 합성 이미지 편집 방법으로, 이미지 편집서버(200)는, 알파 블랜딩(Alpha-blending) 기법을 활용할 수 있다.
예를 들어, 이미지 편집서버(200)는, 기존의 RGB 컬러에 각각 8비트씩 할당하여 1픽셀당 24비트 컬러를 표현하는 원본 이미지와 변환 이미지에 대하여, 경계 영역에 대해서는 원본 이미지 상에 변환 이미지를 그릴 경우 마치 투명하게 비치는 효과를 내기위해 투명도를 8비트에 더하여 새로운 값으로, 각 픽셀에 할당하여 배경의 RGB컬러와 그 위에 그려질 RGB간의 혼합하여 표시하는 알파 블랜딩 기법을 활용할 수 있다.
자세히, 이미지 편집서버(200)는, 원본 이미지 픽셀에 경계 픽셀의 투명도에 비례하여 명도를 낮추고, 변환 이미지 픽셀에 경계 픽셀의 투명도에 반비례하여 명도를 낮춘 후 두 픽셀을 결합할 수 있다.
이와 같이 결합된 원본 이미지와 변환 이미지는, 경계 영역이 부드럽게 연결되어, 원본 이미지와 변환 이미지가 자연스럽게 합성될 수 있다.
이때, 변환 이미지가 적용된 픽셀들은, 상대적 적대 신경망을 통해 자연스럽게 가상 염색된 픽셀들로, 헤어의 특징을 반영하여 자연스러운 가상 염색 효과를 줄 수 있다.
또한, 원본 이미지가 적용된 픽셀들은, 헤어를 제외한 나머지 영역으로, 기존 이미지를 그대로 적용하므로서, 배경의 품질을 원본과 그대로 유지할 수 있는 장점이 있다.
이미지 편집서버(200)는, 직접 또는 서비스 제공서버(300)를 통해 사용자에게 원본 이미지와 변환 이미지가 합성되어 생성된 가상 염색 이미지를 송신할 수 있다.
도 8을 참조하면, 사용자는, 가상 염색하고자 하는 원본 이미지와 복수의 색 중 목표 헤어색을 입력하면, 자연스럽게 헤어만 가상 염색된 가상 염색 이미지가 표시되는 가상 염색 서비스를 제공받을 수 있다.
이상 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
또한 설명한 본 발명의 상세한 설명에서는 본 발명의 바람직한 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자 또는 해당 기술분야에 통상의 지식을 갖는 자라면 후술할 특허청구범위에 기재된 본 발명의 사상 및 기술 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허청구범위에 의해 정하여져야만 할 것이다.
Claims (7)
- 딥러닝 뉴럴 네트워크(deep learning neural network)와 상대적 적대 신경망(Generative Adversarial Networks, GANs)을 포함하는 이미지 편집서버에서 수행되는 딥러닝 기반 가상 헤어 염색방법으로서,
원본 이미지와 목표 헤어색을 획득하는 단계;
상기 원본 이미지를 상기 딥러닝 뉴럴 네트워크에 입력하여 시멘틱 맵(semantic map)을 출력하는 단계;
상기 시멘틱 맵에 기초하여 자동으로 상기 원본 이미지에 대한 트라이 맵(trimap)을 생성하는 단계;
상기 트라이 맵을 기초로 상기 원본 이미지에 대해 알파 매팅(alpha matting)하여 알파 마스크(alpha mask)를 획득하는 단계;
상기 상대적 적대 신경망에 상기 원본 이미지를 입력하여 변환 이미지를 획득하는 단계;
상기 알파 마스크를 통해 상기 원본 이미지와 상기 변환 이미지를 합성하여 가상 염색 이미지를 획득하는 단계를 포함하는
딥러닝 기반 가상 헤어 염색방법. - 제 1 항에 있어서,
상기 이미지 편집서버는, 서로 다른 헤어색으로 변환 가능한 복수의 상대적 적대 신경망을 포함하고,
상기 상대적 적대 신경망 중 하나는, 제 1 헤어색을 가지는 이미지들의 제 1 트레이닝 데이터 셋과, 제 2 헤어색을 가지는 이미지들의 제 2 트레이닝 데이터 셋을 통해 자율 학습 방식으로 엔드 투 엔드(End-to-End) 트레이닝된 신경망인
딥러닝 기반 가상 헤어 염색방법. - 제 1 항에 있어서,
상기 시멘틱 맵(semantic map)을 출력하는 단계는,
상기 원본 이미지에서 헤어(hair)가 차지하는 영역을 헤어 영역으로 특정하고, 상기 헤어를 제외한 나머지 영역을 적어도 하나 이상의 비유효 영역으로 특정한 시멘틱 맵을 출력하는 단계를 포함
딥러닝 기반 가상 헤어 염색방법. - 제 3 항에 있어서,
상기 원본 이미지에 대한 트라이 맵(trimap)을 생성하는 단계는,
상기 시멘틱 맵을 기초로 형태학에 기반한 이미지 변환 편집(Morphological Transformations)을 수행하여 상기 트라이 맵을 생성하는 단계를 포함하는
딥러닝 기반 가상 헤어 염색방법. - 제 4 항에 있어서,
상기 원본 이미지에 대해 알파 매팅(alpha matting)하여 알파 마스크(alpha mask)를 획득하는 단계는,
상기 트라이 맵을 기초로 상기 원본 이미지의 각 픽셀들에 대해 알파 매팅을 수행하는 단계와,
상기 알파 매팅을 통해 상기 원본 이미지의 각 픽셀들에 대해 투명도 정보를 추가하여, 상기 알파 마스크를 생성하는 단계를 포함하는
딥러닝 기반 가상 헤어 염색방법. - 제 5 항에 있어서,
상기 원본 이미지와 상기 변환 이미지를 합성하여 가상 염색 이미지를 획득하는 단계는,
상기 알파 마스크를 기초로 상기 원본 이미지와 상기 변환 이미지를 알파 블랜딩(alpha blending)하는 단계를 포함하는
딥러닝 기반 가상 헤어 염색방법. - 제 1 항에 있어서,
상기 원본 이미지의 기존 헤어색과 상기 목표 헤어색에 매칭되는 상대적 적대 신경망을 선택하는 단계를 더 포함하는
딥러닝 기반 가상 헤어 염색방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180154223A KR102135478B1 (ko) | 2018-12-04 | 2018-12-04 | 딥러닝 기반 가상 헤어 염색방법 및 시스템 |
JP2019218784A JP6921924B2 (ja) | 2018-12-04 | 2019-12-03 | ディープラーニング基盤の仮想ヘア染色方法及びこれを利用した仮想ヘア染色サービス提供方法 |
US16/703,639 US11037335B2 (en) | 2018-12-04 | 2019-12-04 | Deep learning based virtual hair dyeing method and method for providing virtual hair dyeing service using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180154223A KR102135478B1 (ko) | 2018-12-04 | 2018-12-04 | 딥러닝 기반 가상 헤어 염색방법 및 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200071843A KR20200071843A (ko) | 2020-06-22 |
KR102135478B1 true KR102135478B1 (ko) | 2020-07-17 |
Family
ID=70850225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180154223A KR102135478B1 (ko) | 2018-12-04 | 2018-12-04 | 딥러닝 기반 가상 헤어 염색방법 및 시스템 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11037335B2 (ko) |
JP (1) | JP6921924B2 (ko) |
KR (1) | KR102135478B1 (ko) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11120595B2 (en) * | 2019-12-27 | 2021-09-14 | Ping An Technology (Shenzhen) Co., Ltd. | Face swap method and computing device |
US11393100B2 (en) * | 2020-08-07 | 2022-07-19 | Adobe Inc. | Automatically generating a trimap segmentation for a digital image by utilizing a trimap generation neural network |
US11651477B2 (en) * | 2020-08-07 | 2023-05-16 | Adobe Inc. | Generating an image mask for a digital image by utilizing a multi-branch masking pipeline with neural networks |
CN112634155B (zh) * | 2020-12-22 | 2024-03-22 | 北京达佳互联信息技术有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN112734633A (zh) * | 2021-01-07 | 2021-04-30 | 京东方科技集团股份有限公司 | 虚拟发型的替换方法、电子设备及存储介质 |
KR20220118854A (ko) | 2021-02-19 | 2022-08-26 | 주식회사 클래코 | 딥러닝 기반 체형 이미지 편집 서비스 시스템 및 방법 |
KR102334030B1 (ko) * | 2021-03-02 | 2021-12-03 | (주)내스타일 | 컴퓨터 장치를 이용한 헤어 염색 방법 |
CN113012169B (zh) * | 2021-03-22 | 2023-07-07 | 深圳市人工智能与机器人研究院 | 一种基于非局部注意力机制的全自动抠图方法 |
CN113034517B (zh) * | 2021-03-31 | 2023-02-14 | 华南理工大学 | 基于生成对抗模型的全自动抠图方法及装置、介质和设备 |
KR102609615B1 (ko) * | 2021-05-03 | 2023-12-05 | 엘지파루크 주식회사 | 염색 시뮬레이션을 표시하는 단말기 및 그의 동작 방법 |
CN113538456B (zh) * | 2021-06-22 | 2022-03-18 | 复旦大学 | 基于gan网络的图像软分割及背景替换系统 |
CN114187633B (zh) * | 2021-12-07 | 2023-06-16 | 北京百度网讯科技有限公司 | 图像处理方法及装置、图像生成模型的训练方法及装置 |
KR102520839B1 (ko) * | 2022-08-29 | 2023-04-11 | 안재관 | 인공지능 알고리즘에 기초하여 헤어 가상 피팅 서비스를 제공하는 방법 및 장치 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101624801B1 (ko) | 2014-10-15 | 2016-05-26 | 포항공과대학교 산학협력단 | 전경 물체 추출을 위한 매팅 방법 및 이를 수행하는 장치 |
US9773196B2 (en) * | 2016-01-25 | 2017-09-26 | Adobe Systems Incorporated | Utilizing deep learning for automatic digital image segmentation and stylization |
KR102075088B1 (ko) * | 2016-03-22 | 2020-02-10 | 한국전자통신연구원 | 객체 추출 장치 및 방법 |
KR101840563B1 (ko) * | 2016-07-04 | 2018-03-20 | 한양대학교 에리카산학협력단 | 신경망을 이용한 3차원 얼굴 복원 방법 및 장치 |
KR20180004898A (ko) * | 2016-07-05 | 2018-01-15 | 주식회사 와플앱스 | 딥러닝 기반의 이미지 처리 기술 및 그 방법 |
US10255681B2 (en) * | 2017-03-02 | 2019-04-09 | Adobe Inc. | Image matting using deep learning |
US10692221B2 (en) * | 2018-07-13 | 2020-06-23 | Adobe Inc. | Automatic trimap generation and image segmentation |
-
2018
- 2018-12-04 KR KR1020180154223A patent/KR102135478B1/ko active IP Right Grant
-
2019
- 2019-12-03 JP JP2019218784A patent/JP6921924B2/ja active Active
- 2019-12-04 US US16/703,639 patent/US11037335B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2020091867A (ja) | 2020-06-11 |
JP6921924B2 (ja) | 2021-08-18 |
KR20200071843A (ko) | 2020-06-22 |
US11037335B2 (en) | 2021-06-15 |
US20200175729A1 (en) | 2020-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102135478B1 (ko) | 딥러닝 기반 가상 헤어 염색방법 및 시스템 | |
US11743426B2 (en) | Generating an image mask using machine learning | |
US10657652B2 (en) | Image matting using deep learning | |
US11676342B2 (en) | Providing 3D data for messages in a messaging system | |
US11189104B2 (en) | Generating 3D data in a messaging system | |
US11410457B2 (en) | Face reenactment | |
JP7490004B2 (ja) | 機械学習を用いた画像カラー化 | |
KR102624635B1 (ko) | 메시징 시스템에서의 3d 데이터 생성 | |
CN111553267B (zh) | 图像处理方法、图像处理模型训练方法及设备 | |
US11825065B2 (en) | Effects for 3D data in a messaging system | |
US12008811B2 (en) | Machine learning-based selection of a representative video frame within a messaging application | |
WO2023071810A1 (zh) | 图像处理 | |
CN113822965A (zh) | 图像渲染处理方法、装置和设备及计算机存储介质 | |
US20230136551A1 (en) | A computer implemented system and method for generating multiple media creations | |
WO2022146707A1 (en) | Selecting representative video frame by machine learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |