KR102608266B1 - 이미지 생성 장치 및 방법 - Google Patents
이미지 생성 장치 및 방법 Download PDFInfo
- Publication number
- KR102608266B1 KR102608266B1 KR1020230044117A KR20230044117A KR102608266B1 KR 102608266 B1 KR102608266 B1 KR 102608266B1 KR 1020230044117 A KR1020230044117 A KR 1020230044117A KR 20230044117 A KR20230044117 A KR 20230044117A KR 102608266 B1 KR102608266 B1 KR 102608266B1
- Authority
- KR
- South Korea
- Prior art keywords
- image
- data
- output
- output data
- neural network
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 29
- 238000003062 neural network model Methods 0.000 claims abstract description 98
- 238000003860 storage Methods 0.000 claims abstract description 13
- 230000004044 response Effects 0.000 claims description 4
- 230000003362 replicative effect Effects 0.000 claims description 2
- 238000013528 artificial neural network Methods 0.000 description 40
- 230000008569 process Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 8
- 238000012549 training Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 4
- 238000009792 diffusion process Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 238000010422 painting Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 229910002804 graphite Inorganic materials 0.000 description 1
- 239000010439 graphite Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- 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
- 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
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4046—Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
-
- G06T5/002—
-
- 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/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Tourism & Hospitality (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Image Analysis (AREA)
Abstract
본 개시의 몇몇 실시예에 따른, 이미지 생성 장치가 개시된다. 상기 이미지 생성 장치는 이미지를 생성하도록 학습된 신경망 모델을 저장하는 저장부; 및 상기 신경망 모델에 적어도 하나의 입력 데이터를 입력하여 상기 적어도 하나의 입력 데이터와 관련된 적어도 하나의 이미지를 출력하는 프로세서를 포함하고, 상기 신경망 모델은, 이미지 데이터인 제1 입력 데이터의 차원을 감소시키는 제1 인코더; 텍스트 데이터인 제2 입력 데이터에 대한 임베딩(embedding)을 수행하는 제2 인코더; 상기 제1 인코더로부터 출력된 제1 출력 데이터 및 상기 제2 인코더로부터 출력된 제2 출력 데이터를 이용하여 적어도 하나의 이미지를 생성하는 이미지 생성 블록; 및 상기 이미지 생성 블록에서 생성된 적어도 하나의 이미지의 차원을 증가시키는 디코더를 포함할 수 있다.
Description
본 개시는 이미지 생성 장치에 관한 것으로, 구체적으로 특정 작가 혹은 화풍의 이미지들을 학습한 결과에 기반하여 이미지를 생성하는 이미지 생성 장치에 관한 것이다.
근래에는 디지털 문화 사업의 발달에 따라 애니메이션, 디지털 만화, 웹툰 시장이 활성화 되었다. 작가들은 매주 새로운 에피소드를 생산해내기 위해 아이디어를 도출하고 도출된 아이디어를 스케치하는데 많은 시간을 소요할 수 있다.
예전에는 펜과 잉크 그리고 종이를 이용하여 진행되던 작업이 근래는 PC, 그래핏 태블릿 또는 태블릿 PC 등을 통해 수행될 수 있다. 작가들은 디지털화된 작업 덕분에 좀 더 편리하게 작품을 생산할 수 있다.
예를 들어, 러프하게 스케치된 그림에서 선을 따는 작업이나, 채색을 하는 작업 또는 색상을 보정하는 작업 등을 몇번의 터치 작업만을 통해 쉽게 수행할 수 있다. 심지어, 작품에서 중요하지 않은 배경 이미지 등은 사전 제작된 템플릿이 존재하기도 하여 작가들은 작업에 필요한 시간을 많이 단축할 수 있다.
그러나, 소비자들의 많은 분량에 대한 요구 또는 수존 높은 작화의 요구에 따라, 여전히 작가들은 작품 활동을 위해 많은 시간을 소요하고 있는 실정이다.
본 개시는 전술한 배경기술에 대응하여 안출된 것으로, 특정 그림체를 학습하여 이미지를 생성하는 이미지 생성 장치를 제공하고자 한다.
본 개시의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
전술한 바와 같은 과제를 해결하기 위한 본 개시의 일 실시예에 따라, 이미지 생성 장치가 개시된다. 상기 이미지 생성 장치는 이미지를 생성하도록 학습된 신경망 모델을 저장하는 저장부; 및 상기 신경망 모델에 적어도 하나의 입력 데이터를 입력하여 상기 적어도 하나의 입력 데이터와 관련된 적어도 하나의 이미지를 출력하는 프로세서; 를 포함하고, 상기 신경망 모델은, 이미지 데이터인 제1 입력 데이터의 차원을 감소시키는 제1 인코더; 텍스트 데이터인 제2 입력 데이터에 대한 임베딩(embedding)을 수행하는 제2 인코더; 상기 제1 인코더로부터 출력된 제1 출력 데이터 및 상기 제2 인코더로부터 출력된 제2 출력 데이터를 이용하여 적어도 하나의 이미지를 생성하는 이미지 생성 블록; 및 상기 이미지 생성 블록에서 생성된 적어도 하나의 이미지의 차원을 증가시키는 디코더; 를 포함할 수 있다.
또한, 상기 제1 입력 데이터는 출력하고자 하는 최종 이미지에 대한 연출 및 장면 중 적어도 하나를 나타내는 스토리보드 이미지를 포함하고, 상기 제2 입력 데이터는 상기 스토리보드 이미지 및 상기 최종 이미지 중 적어도 하나에 대한 텍스트 데이터를 포함할 수 있다.
또한, 상기 신경망 모델은. 상기 제1 인코더로부터 출력된 상기 제1 출력 데이터에 랜덤 노이즈(noise)를 삽입한 제1-1 출력 데이터를 생성하여 상기 이미지 생성 블록에 전달하는 노이즈 블록; 을 더 포함할 수 있다.
또한, 상기 이미지 생성 블록은, 상기 제1-1 출력 데이터에 삽입된 상기 랜덤 노이즈의 종류를 예측하는 유넷(Unet); 및 상기 유넷의 예측 결과에 기초하여, 상기 제1-1 출력 데이터에서 상기 랜덤 노이즈를 제거하는 스케쥴러(scheduler); 를 포함하고, 상기 유넷 및 상기 스케쥴러를 이용하여 상기 제1-1 출력 데이터에 삽입된 상기 랜덤 노이즈를 제거하는 제1 동작을 수행할 수 있다.
또한, 상기 신경망 모델은, 상기 제1-1 출력 데이터 및 상기 제1-1 출력 데이터를 복제한 제1-2 출력 데이터를 상기 유넷의 입력값으로 사용하고, 상기 유넷은, 상기 제1-1 출력 데이터에 대해서는 상기 제1-1 출력 데이터 및 상기 제2 출력 데이터에 기초하여 상기 랜덤 노이즈의 종류를 예측하고, 그리고 상기 제1-2 출력 데이터에 대해서는 상기 이미지 데이터가 표현하는 대상이 속한 클래스 정보에 기초하여 상기 랜덤 노이즈의 종류를 예측할 수 있다.
또한, 상기 스케쥴러는, 상기 제1 입력 데이터 및 상기 제2 입력 데이터 각각에 대한 의존도를 나타내는 사용자로부터 입력된 CFG(Classifier-Free Guidance) 스케일 및 상기 제1-1 출력 데이터를 이용하여 상기 랜덤 노이즈의 종류를 예측한 제1 예측 결과 및 상기 제1-2 출력 데이터를 이용하여 상기 랜덤 노이즈의 종류를 예측한 제2 예측 결과의 조합이 입력될 수 있다.
또한, 상기 노이즈 블록은, 사용자로부터 입력된 제1 타임 스텝(time step)에 대응하여 상기 제1 출력 데이터에 상기 랜덤 노이즈를 반복 삽입할 수 있다.
또한, 상기 프로세서는, 상기 제1 타임 스텝 및 상기 제1 입력 데이터에 대한 의존도를 나타내는 사용자로부터 입력된 스트렝스(strenght)를 조합하여 제2 타임 스텝을 결정하고, 상기 이미지 생성 블록은, 상기 제2 타임 스텝에 기초하여 상기 제1 동작을 반복 수행할 수 있다.
또한, 이미지 생성 장치에 의해 수행되는 이미지 생성 방법이 개시된다. 개시된 방법은, 이미지 데이터인 제1 입력 데이터 및 텍스트 데이터인 제2 입력 데이터를 입력 받는 단계; 신경망 모델의 제1 인코더를 이용하여 상기 제1 입력 데이터의 차원을 감소시키는 단계; 상기 신경망 모델의 제2 인코더를 이용하여 상기 제2 입력 데이터에 대한 임베딩을 수행하는 단계; 상기 신경망 모델의 이미지 생성 블록을 이용하여 상기 제1 인코더로부터 출력된 제1 출력 데이터 및 상기 제2 인코더로부터 출력된 제2 출력 데이터를 이용하여 적어도 하나의 이미지를 생성하는 단계; 및 상기 신경망 모델의 디코더를 이용하여 상기 이미지 생성 블록에서 생성된 적어도 하나의 이미지의 차원을 증가시키는 단계를 포함할 수 있다.
본 개시에서 얻을 수 있는 기술적 해결 수단은 이상에서 언급한 해결 수단들로 제한되지 않으며, 언급하지 않은 또 다른 해결 수단들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 개시의 몇몇 실시예에 따른, 사용자가 편리하게 웹툰을 제작할 수 있는 이미지 생성 장치를 제공할 수 있도록 한다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
다양한 양상들이 이제 도면들을 참조로 기재되며, 여기서 유사한 참조 번호들은 총괄적으로 유사한 구성요소들을 지칭하는데 이용된다. 이하의 실시예에서, 설명 목적을 위해, 다수의 특정 세부사항들이 하나 이상의 양상들의 총체적 이해를 제공하기 위해 제시된다. 그러나, 그러한 양상(들)이 이러한 특정 세부사항들 없이 실시될 수 있음은 명백할 것이다. 다른 예시들에서, 공지의 구조들 및 장치들이 하나 이상의 양상들의 기재를 용이하게 하기 위해 블록도 형태로 도시된다.
도 1은 본 개시의 몇몇 실시예에 따른 이미지 생성 장치의 일례를 설명하기 위한 블록 구성도이다.
도 2는 본 개시의 몇몇 실시예에 따른 신경망 모델의 일례를 설명하기 위한 도면이다.
도 3은 본 개시의 몇몇 실시예에 따른 신경망 모델이 이미지를 생성하는 방법의 일례를 설명하기 위한 흐름도이다.
도 4는 본 개시의 몇몇 실시예에 따른 프로세서가 신경망 모델을 미세 조정하는 방법의 일례를 설명하기 위한 흐름도이다.
도 1은 본 개시의 몇몇 실시예에 따른 이미지 생성 장치의 일례를 설명하기 위한 블록 구성도이다.
도 2는 본 개시의 몇몇 실시예에 따른 신경망 모델의 일례를 설명하기 위한 도면이다.
도 3은 본 개시의 몇몇 실시예에 따른 신경망 모델이 이미지를 생성하는 방법의 일례를 설명하기 위한 흐름도이다.
도 4는 본 개시의 몇몇 실시예에 따른 프로세서가 신경망 모델을 미세 조정하는 방법의 일례를 설명하기 위한 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 개시에서, 이미지 생성 장치는 신경망 모델에 적어도 하나의 입력 데이터를 입력할 수 있다. 여기서, 적어도 하나의 입력 데이터는 이미지 데이터 및 텍스트(또는 프롬프트) 데이터를 포함할 수 있다. 이미지 데이터는 사용자의 그림체가 반영된 데이터일 수 있다. 예를 들어, 사용자는 평소 자신이 작업하는 스타일대로 이미지를 생성하여 이미지 생성 장치에 입력할 수 있다. 이미지 생성 장치는 특정 작가가 그린 이미지들 및 해당 이미지를 묘사하는 텍스트(또는 프롬프트)를 학습 데이터로 활용하여 신경망 모델을 튜닝(tuning)할 수 있다.
사용자는 스토리보드(storyboard) 이미지를 이미지 생성 장치의 신경망 모델에 입력할 수 있다. 여기서, 스토리보드 이미지는 웹툰 또는 영상 콘텐츠의 연출이나 장면을 묘사한 이미지일 수 있다. 스토리보드 이미지의 완성도는 실제 웹툰 또는 영상 콘텐츠의 완성도보다는 떨어질 수 있다.
사용자는 이미지 생성 장치의 신경망 모델에 생성하고자 하는 이미지 또는 스토리보드 이미지를 묘사하거나 설명하는 텍스트(또는 프롬프트) 데이터를 신경망 모델에 입력할 수 잇다. 텍스트(또는 프롬프트) 데이터는 이미지 생성과 관련한 사용자의 요구 사항 또는 생성하고자 하는 이미지를 묘사하는 텍스트(또는 프롬프트)일 수도 있다. 적어도 하나의 입력 데이터가 입력된 신경망 모델은 적어도 하나의 입력 데이터와 관련된 적어도 하나의 이미지를 출력할 수 있다. 예를 들어, 신경망 모델은 입력된 이미지 데이터를 통해 사용자의 그림체를 학습할 수 있다. 신경망 모델은 스토리보드 이미지 및 텍스트(또는 프롬프트) 데이터에 기반하여 사용자가 요구하는 사항 및 연출에 대한 정보를 해석하고 해석한 정보에 기반하여 적어도 하나의 이미지를 출력할 수 있다.
신경망 모델은 인식된 요구 사항 내지 연출 상황 및 미리 학습된 그림체에 기반하여, 적어도 하나의 입력 데이터와 관련된 적어도 하나의 이미지를 출력할 수 있다. 이에 따라, 사용자는 스토리보드 및 텍스트(또는 프롬프트) 데이터 만으로도 쉽게 작품을 생성할 수 있다. 이하, 도 1 및 도 2를 통해 본 개시에 따른 이미지 생성 장치가 이미지를 출력하는 방법에 대해 설명한다.
도 1은 본 개시의 몇몇 실시예에 따른 이미지 생성 장치의 일례를 설명하기 위한 블록 구성도이다.
도 1을 참조하면, 이미지 생성 장치(100)는 프로세서(120) 및 저장부(110)를 포함할 수 있다. 다만, 상술한 구성 요소들은 이미지 생성 장치(100)를 구현하는데 있어서 필수적인 것은 아니어서, 이미지 생성 장치(100)는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.
이미지 생성 장치(100)는 예를 들어, 마이크로프로세서, 메인프레임 컴퓨터, 디지털 프로세서, 휴대용 디바이스 또는 디바이스 제어기 등과 같은 임의의 타입의 컴퓨터 시스템 또는 컴퓨터 디바이스를 포함할 수 있다.
이미지 생성 장치(100)는 전형적인 컴퓨터 하드웨어(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS; network-attached storage) 및 스토리지 영역 네트워크(SAN; storage area network)와 같은 전자 정보 스토리지 시스템)와 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 명령어들)의 조합을 이용하여 원하는 시스템 성능을 달성하는 것일 수 있다.
저장부(110)는 메모리 및/또는 영구저장매체를 포함할 수 있다. 메모리는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 본 개시에서 저장부(110)는 사용자의 그림체를 학습하여 이미지를 생성하도록 학습된 신경망 모델을 저장하고 있을 수 있다.
프로세서(120)는 통상적으로 이미지 생성 장치(100)의 전반적인 동작을 처리할 수 있다. 프로세서(120)는 이미지 생성 장치(100)의 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 저장부(110)에 저장된 응용 프로그램을 구동함으로써, 사용자에게 적절한 정보 또는 기능을 제공 또는 처리할 수 있다.
프로세서(120)는 하나 이상의 코어로 구성될 수 있으며, 중앙 처리 장치(CPU: Central Processing Unit), 범용 그래픽 처리 장치(GPGPU: General Purpose Graphics Processing Unit), 텐서 처리 장치(TPU: Tensor Processing Unit) 등의 데이터 분석을 위한 프로세서를 포함할 수 있다.
프로세서(120)는 신경망의 학습을 위한 연산을 수행할 수 있다. 프로세서(120)는 딥러닝(deep learning)에서의 학습을 위한 입력 데이터를 처리하는 연산, 입력 데이터에서의 피처를 추출하는 연산, 역전파(backpropagation)를 이용한 신경망의 가중치를 업데이트 하는 연산을 수행할 수 있다. 프로세서(120)는 중앙 처리 장치, 범용 그래픽 처리 장치 또는 텐서 처리 장치 중 적어도 하나를 이용하여 네트워크 함수의 학습을 수행할 수 있다. 예를 들어, 중앙 처리 장치 및 범용 그래픽 처리 장치는 네트워크 함수의 학습을 수행하는 연산 또는 네트워크 함수를 이용한 데이터 분류를 처리하는 연산을 수행할 수 있다.
신경망은 노드(node)의 집합으로 구성될 수 있다. 노드는 상호 연결된 계산 단위들의 집합으로 이해될 수 있다. 또는 신경망은 뉴런(neuron)의 집합으로 구성될 수도 있다. 신경망을 구성하는 노드(또는, 뉴런)는 하나 이상의 링크에 의해 상호 연결될 수 있다.
신경망 내에서 링크를 통해 연결된 하나 이상의 노드들은입력 노드 및 출력 노드의 관계가 형성될 수 있다. 하나의 노드에 대하여 출력 노드 관계에 있는 임의의 노드는 다른 노드와의 관계에서 입력 노드 관계에 있을 수 있다. 하나의 노드에 대하여 입력 노드 관계에 있는 임의의 노드는 다른 노드와의 관계에서 출력 노드 관계에 있을 수 있다. 하나의 입력 노드에 하나 이상의 출력 노드가 링크를 통해 연결될 수 있으며, 하나의 출력 노드에 하나 이상의 입력 노드가 링크를 통해 연결될 수 있다.
입력 노드 및 출력 노드의 관계는 링크를 중심으로 생성될 수 있다. 하나의 링크를 통해 연결된 입력 노드 및 출력 노드 관계에서, 출력 노드의 데이터는 입력 노드에 입력된 데이터에 기초하여 결정될 수 있다. 입력 노드와 출력 노드를 상호 연결하는 링크는 가중치(weight)를 가질 수 있다. 가중치는 가변적일 수 있으며, 신경망 모델에 요구되는 기능을 수행하기 위해 사용자 또는 알고리즘 등에 의해 가변 될 수 있다. 예를 들어, 출력 노드는 출력 노드와 연결된 적어도 하나의 입력 노드에 입력된 값 및 각각의 입력 노드에 대응하는 링크에 설정된 가중치에 기초하여 출력 노드 값을 결정할 수 있다. 신경망 내에서의 노드들과 링크들의 개수 및 노드들과 링크들 사이의 연관관계, 링크들 각각에 부여된 가중치의 값에 따라 신경망의 특성이 결정될 수 있다. 예를 들어, 동일한 개수의 노드 및 링크들이 존재하고, 링크들의 가중치 값이 상이한 두개의 신경망이 존재하는 경우, 두 신경망은 서로 상이한 신경망으로 인식될 수 있다.
신경망을 구성하는 노드들의 부분 집합은 레이어를 구성할 수 있다. 신경망을 구성하는 노드들 중 일부는 최초 입력 노드로부터의 거리들에 기초하여 하나의 레이어를 구성할 수 있다. 최초 입력 노드로부터 거리는 최초 입력 노드로부터 해당 노드까지 도달하기 위해 거쳐야 하는 링크들의 최소 개수에 의해 정의될 수 있다. 여기서, 최초 입력 노드는 다른 노드들과의 관계에서 링크를 거치지 않고 데이터가 직접 입력되는 노드로 이해될 수 있다. 또는, 최초 입력 노드는 링크를 기준으로 한 노드 간의 관계에 있어서 링크로 연결된 다른 입력 노드들을 가지지 않는 노드로 이해될 수도 있다. 최종 출력 노드는 신경망 내의 다른 노드들과의 관계에서 출력 노드를 가지지 않는 노드로 이해될 수 있다. 일 실시예에 따르면, 신경망 네트워크는 히든 노드를 포함할 수 있다. 히든 노드는 최초 입력 노드 및 최후 출력 노드가 아닌 신경망을 구성하는 노드로 이해될 수 있다.
일 실시예에 따르면, 신경망은 입력 레이어의 노드의 개수가 출력 레이어의 노드의 개수와 동일할 수 있으며, 입력 레이어에서 히든 레이어로 진행됨에 따라 노드의 수가 감소될 수 있다. 그리고, 노드의 개수는 히든 레이어에서 출력 레이어로 진행됨에 따라 증가될 수 있다.할 수 있다. 다른 일례로는 신경망은 입력 레이어의 노드의 개수가 출력 레이어의 노드의 개수 보다 적을 수 있으며, 입력 레이어에서 히든 레이어로 진행됨에 따라 노드의 수가 감소할 수 있다. 그리고, 노드의 개수는 히든 레이어에서 출력 레이어로 진행됨에 따라 다시 증가될 수 있다. 또 다른 일례로 신경망은 입력 레이어의 노드의 개수가 출력 레이어의 노드의 개수보다 많을 수 있으며, 입력 레이어에서 히든 레이어로 진행됨에 따라 노드의 수가 증가할 수도 있다. 그리고, 노드의 개수는 히든 레이어에서 출력 레이어로 진행됨에 따라 감소될 수 있다.
심층 신경망(Deep Neural Network, DNN)은 입력 레이어와 출력 레이어 외에 복수의 히든 레이어를 포함하는 신경망을 의미할 수 있다. 심층 신경망은 데이터의 잠재적인 구조(latent structures)를 파악할 수 있다. 예를 들어, 심층 신경망은 이미지, 텍스트, 영상, 음성, 음악의 잠재적인 구조를 파악할 수 있다. 심층 신경망은 컨볼루션 신경망(Convolutional Neural Network, CNN), 리커런트 신경망(Recurrent Neural Network, RNN), 오토 인코더(auto encoder), GAN(Generative Adversarial Networks), 제한 볼츠만 머신(Restricted Boltzmann Machine, RBM), 심층 신뢰 네트워크(Deep Belief Network, DBN), Q 네트워크, U 네트워크, 샴 네트워크, 적대적 생성 네트워크(Generative Adversarial Network, GAN), 대규모 언어 모델(Large Language Model, LMM), Stable Diffusion 등을 포함할 수 있다.
신경망은 교사 학습(supervised learning), 비교사 학습(unsupervised learning), 반교사학습(semi supervised learning), 또는 강화학습(reinforcement learning) 중 적어도 하나의 방식으로 학습될 수 있다. 신경망의 학습은 신경망이 특정한 동작을 수행하기 위한 지식을 신경망에 적용하는 과정일 수 있다.
신경망의 학습은 출력의 오류를 최소화하는 방향으로 수행될 수 있다. 신경망의 학습을 위해 학습 데이터를 반복적으로 신경망에 입력시켜 학습 데이터에 대한 신경망의 출력과 에러를 계산할 수 있다. 계산된 에러는 신경망의 출력 레이어에서부터 입력 레이어 방향으로 역전파(backpropagation)되어 각 노드의 가중치를 업데이트 하는데 이용될 수 있다. 업데이트 되는 각 노드의 연결 가중치는 학습률(learning rate)에 따라 변화량이 결정될 수 있다. 입력 데이터에 대한 신경망의 계산과 에러의 역전파는 학습 사이클(epoch)을 구성할 수 있다. 학습률은 신경망의 학습 사이클의 반복 횟수에 따라 상이하게 적용될 수 있다. 예를 들어, 신경망의 학습 초기에는 높은 학습률을 사용하여 신경망이 빠르게 성능을 확보하도록 하여 효율성을 높이고, 학습 후기에는 낮은 학습률을 사용하여 정확도를 높일 수 있다.
본 개시에서, 신경망 모델은 적어도 하나의 인코더(encoder), 이미지 생성 블록 및 디코더(decoder)를 포함할 수 있다.
적어도 하나의 인코더는 적어도 하나의 입력 데이터를 가공하는 블록일 수 있다.
예를 들어, 인코더는 적어도 하나의 입력 데이터로 이미지 데이터가 입력된 경우, 입력된 이미지 데이터의 차원을 감소시킬 수 있다. 다른 예를 들어, 인코더는 적어도 하나의 입력 데이터로 텍스트 데이터가 입력된 경우, 입력된 데이터에 대한 임베딩(embedding)을 수행할 수 있다.
이미지 생성 블록은 적어도 하나의 인코더로부터 출력된 출력 데이터를 이용하여 적어도 하나의 이미지를 생성할 수 있다.
디코더는 이미지 생성 블록에서 생성된 적어도 하나의 이미지를 입력 받을 수 있다. 디코더는 입력된 적어도 하나의 이미지의 차원을 증가시킬 수 있다. 이하, 도 2를 통해 본 개시에 따른 신경망 모델에 대해 구체적으로 설명한다.
도 2는 본 개시의 몇몇 실시예에 따른 신경망 모델의 일례를 설명하기 위한 도면이다.
도 2를 참조하면, 신경망 모델(200)은 제1 인코더(210), 제2 인코더(220), 노이즈 블록(230), 이미지 생성 블록(240) 및 디코더(250)를 포함할 수 있다. 다만, 상술한 구성 요소들은 신경망 모델(200)을 구현하는데 있어서 필수적인 것은 아니어서, 신경망 모델(200)은 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.
이미지 생성 장치(100)는 신경망 모델(200)을 구축할 수 있다. 이미지 생성 장치(100)는 대용량의 이미지 데이터에 의해 학습된 초기 신경망 모델을 획득할 수 있다. 초기 신경망 모델 중 일부분 또는 초기 신경망 모델을 학습시키는데 사용된 학습데이터 중 일부분은 오픈 소스 또는 공용 데이터로부터 획득될 수 있다. 초기 신경망 모델은 웹툰이나 특정 타입의 영상 이미지뿐만 아니라 다양한 종류의 이미지들(예를 들어, 사진 등)에 의해 학습될 수 있다.
이미지 생성 장치(100)는 사용자(예를 들어, 웹툰 작가)가 그린 이미지들과 사용자와 같은 업종에 종사하는 다른 작가들의 이미지들에 기반하여 초기 신경망 모델을 튜닝할 수 있다. 이를 통해 이미지 생성 장치(100)는 신경망 모델(200)을 구축할 수 있다. 이미지 생성 장치(100)는 튜닝을 마친 신경망 모델(200)을 이용하여 사용자의 그림체 또는 화풍을 모사하여 이미지를 생성할 수 있다.
제1 인코더(210)는 이미지 데이터인 제1 입력 데이터를 입력 받을 수 있다. 제1 입력 데이터는 사용자가 생성하고자 하는 이미지의 연출 또는 장면을 간략히 표현한 이미지 데이터일 수 있다. 예를 들어, 제1 입력 데이터는 스토리보드 이미지 또는 콘티 이미지 일 수 있으나 실시예가 이에 제한되는 것은 아니다. 제1 입력 데이터에 대응하는 이미지는 신경망 모델(200)의 출력 이미지보다 간략하게 장면을 묘사할 수 있다.
제1 인코더(210)는 입력된 제1 입력 데이터의 차원을 감소시킬 수 있다. 제1 인코더(210)는 VAE(Variational Auto-Encoder)일 수 있다.
제1 인코더(210)는 적어도 하나의 컨볼루션 레이어를 포함할 수 있다. 제1 인코더(210)는 적어도 하나의 컨볼루션 레이어를 통해 제1 입력 데이터의 차원을 감소시킬 수 있다.
구체적으로, 제1 인코더(210)는 제1 입력 데이터를 차원을 가진 행렬로 나타내어 처리할 수 있다. 예를 들어, 제1 입력 데이터가 RGB(red-green-blue)로 인코딩된 이미지 데이터인 경우, 제1 입력 데이터는 R, G, B 색상별로 각각 2차원(예를 들어, 2 차원 이미지인경우) 행렬로 나타날 수 있다. 제1 입력 데이터의 각 픽셀의 색상 값이 행렬의 성분이 될 수 있으며 행렬의 크기는 이미지의 크기와 같을 수 있다. 따라서, 제1 입력 데이터는 3개의 2차원 행렬로(3차원의 데이터 어레이)로 나타내질 수 있다. 이 경우, 제1 인코더(210)는 적어도 하나의 컨볼루션 레이어를 통해 컨볼루션 필터를 이동해가며 컨볼루션 필터와 이미지의 각 위치에서의 행렬 성분끼리 곱하는 것으로 제1 입력 데이터의 차원을 감소시키는 동작(컨볼루션 동작)을 수행할 수 있다.
제2 인코더(220)는 텍스트 데이터인 제2 입력 데이터에 대한 임베딩(embedding)을 수행할 수 있다. 임베딩은 자연어 처리(natural language processing) 과정으로 이해될 수 있다. 제2 인코더(220)는 CLIP 모델을 포함할 수 있으나 실시예가 이에 제한되는 것은 아니다.
제2 인코더(220)는 제2 입력 데이터에 포함된 단어를 토큰화(tokenization)하고, 품사 태깅을 수행하고 그리고 텍스트를 정규화(normalization)함으로써 인코딩을 수행할 수 있다.
또는, 제2 인코더(220)는 단어 집합의 크기를 벡터의 차원으로 하고, 표현하고 싶은 단어의 인덱스에는 1 그리고 다른 인덱스에는 0을 부여하는 원-핫 인코딩(One-Hot Encoding) 방식을 통해 제1 입력 데이터에 대한 임베딩을 수행할 수도 있다.
제2 입력 데이터는 사용자가 생성하고자 하는 이미지를 설명하거나 이미지에 대한 제한 조건을 기술하는 텍스트 또는 프롬프트 데이터일 수 있다. 제2 입력 데이터는 사용자가 생성하고자 하는 이미지에 대한 설명을 계층적으로 서술하는 텍스트를 포함할 수 있다. 예를 들어, 제2 입력 데이터는 예시문 1 및 2와 같은 텍스트 또는 프롬프트일 수 있다.
예시문 1 : 웃는 남자
예시문 2 : 뛰는 여자 캐릭터 A
예시문 1의 경우, 이미지에서 표현하고자 하는 대상의 클래스(e.g. 남자)와 대상의 상태(e.g. 웃는)를 서술하는 텍스트를 포함할 수 있다.
예시문 2의 경우, 이미지에서 표현하고자 하는 대상(e.g. 캐릭터 A) 및 대상이 속한 상위 클래스(e.g. 여자) 및 대상의 상태(e.g. 뛰는)을 서술하는 텍스트를 포함할 수 있다.
제2 입력 데이터는 긍정 프롬프트 및 부정 프롬프트를 포함할 수 있다. 긍정 프롬프트는 예를 들어, 생성하고자 하는 이미지를 설명하는 텍스트로 이해될 수 있다. 부정 프롬프트는 예를 들어, 이미지에서 표현을 제한하는 부분 또는 표현을 금지하는 부분을 설명하는 텍스트로 이해될 수 있다.
노이즈 블록(230)은 제1 인코더(210)로부터 출력된 제1 출력 데이터에 랜덤 노이즈(noise)를 삽입한 제1-1 출력 데이터를 생성할 수 있다. 노이즈 블록(230)은 생성된 제1-1 출력 데이터를 이미지 생성 블록(240)에 전달할 수 있다. 노이즈 블록(230)은 제1 출력 데이터의 부분적 잠재공간(latent space)에 노이즈를 삽입할 수도 있다.
노이즈 블록(230)은 사용자로부터 입력된 제1 타임 스텝(time step)에 대응하여 제1 출력 데이터에 랜덤 노이즈를 반복적으로 삽입할 수 있다.
예를 들어, 노이즈 블록(230)은 제1 타임 스텝이 나타내는 횟수 만큼 제1 출력 데이터에 랜덤 노이즈를 반복적으로 삽입할 수 있다.
이미지 생성 블록(240)은 제1 인코더(210)로부터 출력된 제1 출력 데이터 및 제2 인코더(220)로부터 출력된 제2 출력 데이터를 이용하여 적어도 하나의 이미지를 생성할 수 있다. 노이즈 블록(230)에 의해 제1-1 출력 데이터가 생성된 경우, 이미지 생성 블록(240)은 제1-1 출력 데이터 및 제2 출력 데이터를 이용하여 적어도 하나의 이미지를 생성할 수 있다.
이미지 생성 블록(240)은 유넷(Unet)(241), CFG(Classifier-Free Guidance) 블록(242) 및 스케쥴러(scheduler)(243)를 포함할 수 있다.
유넷(241)은 제1-1 출력 데이터에 삽입된 랜덤 노이즈의 종류를 예측하는 모델일 수 있다. 유넷(241)의 예측 결과는 삽입된 랜덤 노이즈의 세기, 노이즈의 종류 또는 노이즈의 생성 방식 등을 나타낼 수 있다.
본 개시의 몇몇 실시예에 따르면, 유넷(241)의 입력 데이터는 제1-1 출력 데이터 및 제1-1 출력 데이터를 복제한 제1-2 출력 데이터가 이용될 수 있다. 이 경우, 유넷(241)은 제1-1 출력 데이터에 대해 제1-1 출력 데이터 및 제2 출력 데이터에 기초한 랜덤 노이즈의 종류를 예측하는 동작을 수행할 수 있다.
유넷(241)은 제1-1 출력 데이터에 대해서는 노이즈 블록(230)의 제1-1 출력 데이터 및 제2 인코더의 제2 출력 데이터에 적합하게 랜덤 노이즈의 종류를 예측할 수 있다.
유넷(241)은 제1-2 출력 데이터에 대해서는 제1 입력 데이터가 표현하는 대상이 속한 클래스(예를 들어, 제1 입력 데이터에 대응하는 스토리보드 이미지가 남성 캐릭터를 표현할 경우 '남성'에 대응하는 클래스)에 적합하게 랜덤 노이즈의 종류를 예측할 수 있다. 프로세서(120)는 제2 입력 데이터의 텍스트 또는 프롬프트에 포함된 클래스 정보로부터 제1 입력 데이터가 표현하는 대상이 속한 클래스를 확인할 수 있다.
유넷(241)은 제1-1 출력 데이터, 제1-2 출력 데이터 및 제2 출력 데이터를 입력값으로 전달받을 수 있다. 유넷(241)은 제1-1 출력 데이터 및 제2 출력 데이터를 이용하여 제1-1 데이터에 삽입된 랜덤 노이즈의 종류를 예측한 제1 예측 결과를 결정할 수 있다. 유넷(241)은 제1 입력 데이터가 표현하는 대상이 속한 클래스를 이용하여 제1-2 데이터에 삽입된 랜덤 노이즈의 종류를 예측한 제2 예측 결과를 결정할 수 있다.
CFG 블록(242)은 제1 입력 데이터 및 제2 입력 데이터 각각에 대한 의존도를 나타내는 사용자로부터 입력된 CFG 스케일을 결정할 수 있다. CFG 스케일은 제1 입력 데이터에 대한 의존도를 나타내는 제1 스케일 및 제2 입력 데이터에 대한 의존도를 나타내는 제2 스케일을 포함할 수 있다. 제1 스케일과 관련된 파라미터가 큰 값을 나타낼수록 최종 결과물의 이미지는 제1 입력 데이터와 유사하게 생성될 수 있다. 제1 스케일과 관련된 파라미터가 작은 값을 나타낼수록 최종 결과물의 이미지는 제1 입력 데이터와 유사하지 않도록 생성될 수 있다. 제2 스케일과 관련된 파라미터가 큰 값을 나타낼수록 최종 결과물은 제2 입력 데이터를 통해 제시된 긍정 프롬프트 또는 부정 프롬프트를 반영하는 비율을 높일 수 있다. 제2 스케일과 관련된 파라미터가 작은 값을 나타낼수록 최종 결과물은 제2 입력 데이터를 통해 제시된 긍정 프롬프트 또는 부정 프롬프트를 반영하는 비율을 낮출 수 있다.
CFG 블록(242)에 의해 사용자는 이미지 생성 장치(100)에 의해 생성된 이미지가 스토리보드 이미지 및 텍스트(또는 프롬프트) 각각에 대한 의존 정도를 용이하게 조절할 수 있다.
스케쥴러(243)는 유넷(241)의 예측 결과에 기초하여, 제1-1 출력 데이터에서 랜덤 노이즈를 제거할 수 있다. 스케쥴러(243)는 제1-1 출력 데이터에 대한 디노이징 작업을 수행할 수 있다.
스케쥴러(243)는 예측 결과에 기초하여, 랜덤 노이즈를 제거하기 위한 방식을 결정할 수 있다. 스케쥴러(243)는 DDPM(Denoising Diffusion Probabilistic Models), DDIM(Denoising Diffusion Implicit Models) 또는 오일러 모델(Euler Model) 등이 이용될 수 있다.
본 개시의 몇몇 실시예에 따르면, 스케쥴러(243)는 CFG 스케일이 입력될 수 있다. 또한, 스케쥴러(243)는 제1-1 출력 데이터를 이용하여 랜덤 노이즈의 종류를 예측한 제1 예측 결과 및 제1-2 출력 데이터를 이용하여 랜덤 노이즈의 종류를 예측한 제2 예측 결과의 조합이 입력될 수 있다. 제1 예측 결과 및 제2 예측 결과의 조합에는 CFG 스케일이 이용될 수 있다.
예를 들어, 제1 예측 결과는 제1-1 출력 데이터 및 제2 출력 데이터를 이용하여 제1-1 데이터에 삽입된 랜덤 노이즈의 종류를 예측한 결과일 수 있다. 제2 예측 결과는 이미지에 대한 정답을 나타내는 전체 도메인 클래스를 이용하여 제1-2 데이터에 삽입된 랜덤 노이즈의 종류를 예측한 결과일 수 있다. CFG 스케일이 제1 입력 데이터 및 제2 입력 데이터 각각에 대한 높은 의존도를 나타내는 경우, 스케쥴러(243)는 제1 예측 결과 보다 제2 예측 결과에 더 높은 가중치를 부여하는 방식으로 제1-1 출력 데이터에서 랜덤 노이즈를 제거할 수 있다.
다른 예를 들어, CFG 스케일이 제1 입력 데이터 및 제2 입력 데이터 각각에 대한 낮은 의존도를 나타내는 경우, 스케쥴러(243)는 제2 예측 결과 보다 제1 예측 결과에 더 높은 가중치를 부여하는 방식으로 제1-1 출력 데이터에서 랜덤 노이즈를 제거할 수 있다.
이미지 생성 블록(240)은 상술한 유넷(241), CFG 블록(242) 및 스케쥴러 (243)를 이용하여 제1-1 출력 데이터에 삽입된 랜덤 노이즈를 제거하는 제1 동작을 수행함으로써, 적어도 하나의 이미지를 생성할 수 있다.
본 개시의 몇몇 실시예에 따르면, 프로세서(120)는 제1 타임 스텝 및 스트렝스(strenght)를 조합하여 제2 타임 스텝을 결정할 수 있다. 제1 타임 스텝은 노이즈 블록(230)이 제1 출력 데이터에 대해 랜덤 노이즈를 반복적으로 삽입하는 횟수를 나타낼 수 있다. 스트렝스는 제1 입력 데이터에 대한 의존도를 나타내는 사용자로부터 입력된 파라미터로 이해될 수 있다. CFG 스케일이 제1 입력 데이터 및 제2 입력 데이터 각각에 대한 의존도를 나타낸다면, 스트렝스는 제1 입력 데이터에 대한 의존도만 나타낼 수 있다. 스트렝스를 나타내는 값이 1에 가까울수록 제1 입력 데이터에 대한 의존도는 증가될 수 있다. 스트렝스를 나타내는 값이 0에 가까울수록 제1 입력 데이터에 대한 의존도는 감소될 수 있다. 프로세서(120)는 제1 타임 스텝 및 스트렝스를 조합함으로써 제2 타임 스텝을 결정할 수 있다. 일 실시예에 따르면, 제2 타임 스텝은 이미지 생성 블록(240)에 의해 결정될 수도 있다.
이미지 생성 블록(240)은 결정된 제2 타임 스텝에 기초하여 제1 동작을 반복 수행할 수 있다. 예를 들어, 이미지 생성 블록(240)은 제2 타임 스텝이 나타내는 횟수 만큼 유넷(241), CFG 블록(242) 및 스케쥴러(243)를 이용하여 제1-1 출력 데이터에 삽입된 랜덤 노이즈를 제거하는 제1 동작을 반복 수행할 수 있다.
디코더(250)는 이미지 생성 블록(240)에서 생성된 적어도 하나의 이미지의 차원을 증가시킬 수 있다.
구체적으로, 이미지 생성 블록(240)에 입력된 제1-1 출력 데이터는 제1 인코더(210)에 의해 차원이 감소된 제1 입력 데이터로부터 생성된 데이터일 수 있다. 따라서, 디코더(250)는 제1 인코더(210)에 의해 감소된 차원을 증가시킬 수 있다.
일 실시예에 따르면, 디코더(250)는 적어도 하나의 차원 증가 블록을 포함할 수 있다.
디코더(250)는 적어도 하나의 차원 감소 블록에서 출력되는 데이터를 이용하여 인코더(310)에서 출력되는 출력 데이터의 차원을 증가시키는 적어도 하나의 차원 증가 블록을 포함할 수 있다. 적어도 하나의 차원 증가 블록은 디컨볼루션 레이어, 업샘플링 레이어(upsampling layer) 또는 경계 개선(Boundary Refine) 레이어 등을 포함할 수 있다. 적어도 하나의 차원 증가 블록은 업샘플링을 수행한 후 컨볼루션을 수행하는 전치 컨볼루션 또는 보간법(bilinear) 등을 통해 입력된 이미지의 차원을 증가시킬 수 있다.
한편, 상술한 신경망 모델(200)은 프로세서(120)에 의해 사전 학습될 수 있다. 프로세서(120)는 신경망 모델(200)의 학습을 위한 복수개의 이미지 및 복수개의 이미지 각각에 대한 정답을 입력하여 신경망 모델(200)을 구축하는 신경망들의 가중치가 업데이트되도록 야기할 수 있다. 프로세서(120)에 의해 복수개의 이미지 및 복수개의 이미지 각각에 대한 정답이 삽입되는 경우, 신경망 모델(200)의 제1 인코더(210), 제2 인코더(220), 유넷(241) 및 디코더(250)의 가중치는 업데이트될 수 있다.
상술한 구성에 따르면, 이미지 생성 장치(100)는 사용자로부터 입력된 입력 데이터의 그림체를 학습하여, 해당 그림체를 가진 복수의 이미지를 생성할 수 있다. 이에 따라, 이미지 생성 장치(100)를 이용하는 작가들은 간편하고 빠르게 애니메이션, 디지털 만화 또는 웹툰 등을 제작할 수 있다. 나아가, 작가가 아닌 일반인들도 이미지 생성 장치(100)를 통해 자신의 아이디어를 구현한 애니메이션, 디지털 만화 또는 웹툰 등을 제작할 수 있다.
이하에서는, 신경망 모델(200)이 이미지를 생성하는 방법의 일례를 설명한다.
도 3은 본 개시의 몇몇 실시예에 따른 신경망 모델이 이미지를 생성하는 방법의 일례를 설명하기 위한 흐름도이다.
도 3을 참조하면, 신경망 모델(200)은 프로세서(120)의 제어 하에 적어도 하나의 입력 데이터를 획득할 수 있다(S110). 적어도 하나의 입력 데이터는 이미지 데이터인 제1 입력 데이터 및 텍스트 데이터인 제2 입력 데이터를 포함할 수 있다.
신경망 모델(200)은 적어도 하나의 입력 데이터 중 이미지 데이터인 제1 입력 데이터의 차원을 감소시킬 수 있다(S120).
구체적으로, 신경망 모델(200)의 제1 인코더(210)는 제1 입력 데이터를 입력 받을 수 있다. 제1 인코더(210)는 입력된 제1 입력 데이터의 차원을 감소시킬 수 있다.
예를 들어, 제1 인코더(210)는 적어도 하나의 컨볼루션 레이어를 포함할 수 있다. 제1 인코더(210)는 적어도 하나의 컨볼루션 레이어를 통해 제1 입력 데이터의 차원을 감소시킬 수 있다.
신경망 모델(200)은 적어도 하나의 입력 데이터 중 텍스트 데이터인 제2 입력 데이터에 대한 임베딩을 수행할 수 있다(S130).
구체적으로, 신경망 모델(200)의 제2 인코더(220)는 제2 입력 데이터를 입력 받을 수 있다. 제2 인코더(220)는 입력된 제2 입력 데이터에 대한 임베딩을 수행할 수 있다.
예를 들어, 제2 인코더(220)는 토큰화, 품사 태깅 정규화 또는 원-핫 인코딩 등의 기술들의 결합을 통해 제2 입력 데이터에 대한 인코딩을 수행할 수 있다.
신경망 모델(200)은 제1 인코더(210)로부터 출력된 제1 출력 데이터 및 제2 인코더(220)로부터 출력된 제2 출력 데이터를 이용하여 적어도 하나의 이미지를 생성할 수 있다(S140).
구체적으로, 신경망 모델(200)의 이미지 생성 블록(240)은 제1 인코더(210)로부터 출력된 제1 출력 데이터 및 제2 인코더(220)로부터 출력된 제2 출력 데이터를 이용하여 적어도 하나의 이미지를 생성할 수 있다. 노이즈 블록(230)에 의해 제1-1 출력 데이터가 생성된 경우, 이미지 생성 블록(240)은 제1-1 출력 데이터 및 제2 출력 데이터를 이용하여 적어도 하나의 이미지를 생성할 수 있다.
예를 들어, 이미지 생성 블록(240)은 유넷(241), CFG 블록(242) 및 스케쥴러 (243)를 이용하여 제1-1 출력 데이터에 삽입된 랜덤 노이즈를 제거하는 제1 동작을 수행함으로써 적어도 하나의 이미지를 생성할 수 있다.
신경망 모델(200)은 이미지 생성 블록(240)에서 생성된 적어도 하나의 이미지의 차원을 증가시킬 수 있다(S150).
구체적으로, 신경망 모델(200)의 디코더(250)는 이미지 생성 블록(240)에서 생성된 적어도 하나의 이미지의 차원을 증가시킬 수 있다.
예를 들어, 이미지 생성 블록(240)에 입력된 제1-1 출력 데이터는 제1 인코더(210)에 의해 차원이 감소된 제1 입력 데이터로부터 생성된 데이터일 수 있다. 따라서, 디코더(250)는 제1 인코더(210)에 의해 감소된 차원을 증가시킬 수 있다.
한편, 본 개시의 몇몇 실시예에 따르면, 프로세서(120)는 사전 학습된 신경망 모델(200)의 파라미터 또는 가중치 등을 미세 조정할 수 있다. 또는, 프로세서(120)는 사전 학습된 신경망 모델(200)의 파라미터 또는 가중치 등을 미세 조정하여, 신경망 모델(200)을 재학습시킬 수 있다. 또는, 프로세서(120)는 학습 전 신경망 모델(200)의 파라미터 또는 가중치 등을 미세 조정하여, 신경망 모델(200)을 학습시킬 수 있다. 예를 들어, 프로세서(120)는 신경망 모델(200)의 학습 과정에서 유넷(241)의 노드들 사이의 가중치 등을 미세 조정할 수 있다.
예를 들어, 프로세서(120)에 의해 복수개의 이미지 및 복수개의 이미지 각각에 대한 정답이 삽입되는 경우, 신경망 모델(200)은 제1 인코더(210), 제2 인코더(220), 유넷(241) 및 디코더(250)의 가중치가 업데이트 됨으로써 재학습될 수 있다. 이하, 도 4를 통해 본 개시에 따른 프로세서(120)가 신경망 모델(200)을 미세 조정하는 방법의 일례를 설명한다.
도 4는 본 개시의 몇몇 실시예에 따른 프로세서가 신경망 모델을 미세 조정하는 방법의 일례를 설명하기 위한 흐름도이다.
도 4를 참조하면, 이미지 생성 장치(100)의 프로세서(120)는 초기 신경망 모델을 획득할 수 있다(S210). 초기 신경망 모델 중 일부분 또는 초기 신경망 모델을 학습시키는데 사용된 학습데이터 중 일부분은 오픈 소스 또는 공용 데이터로부터 획득될 수 있다. 초기 신경망 모델은 웹툰이나 특정 타입의 영상 이미지뿐만 아니라 다양한 종류의 이미지들(예를 들어, 사진 등)에 의해 학습될 수 있다.
여기서, 초기 신경망 모델은 대량으로 수집된 학습데이터들로부터 학습된 초기 모델이기에 입력 데이터로부터 이미지를 생성하도록 학습되었으나, 사용자의 기호가 반영되지 않은 모델일 수 있다. 다시 말해, 초기 신경망 모델은 미세 조정이 수행되지 않은 신경망 모델로 이해될 수 있다.
프로세서(120)는 획득된 초기 신경망 모델에 대한 미세 조정을 수행할 수 있다(S220).
구체적으로, 초기 신경망 모델은 텍스트 데이터 또는 이미지 데이터로부터 이미지를 생성하는 모델일 수 있다. 프로세서(120)는 초기 신경망 모델에 사용자로부터 생성된 이미지 데이터인 제1 학습 데이터 및 제1 학습 데이터에 대한 텍스트 또는 프롬프트를 포함하는 제2 학습 데이터를 입력할 수 있다. 제2 학습 데이터에 포함된 텍스트 또는 프롬프트는 제1 입력 데이터가 나타내는 대상에 대한 설명 또는 묘사에 대한 정보를 포함할 수 있다. 텍스트 또는 프롬프트는 제1 입력 데이터가 나타내는 대상이 속하는 클래스에 대한 정보를 포함할 수 있다.
예를 들어, 제1 학습 데이터는 사용자의 그림체가 반영된 자화상, 연예인의 그림 또는 가상의 캐릭터의 그림 등일 수 있다. 이 경우, 제1 입력 데이터가 나타내는 대상이 속하는 클래스는 인간일 수 있다. 클래스는 사용자로부터 라벨링될 수 있으나 이에 한정되는 것은 아니다. 일례로, 초기 신경망 모델은 이미지 인식 모듈 등을 통해 입력된 제1 학습 데이터의 객체를 분석하여 클래스를 결정할 수도 있다.
제1 학습 데이터 및 제2 학습 데이터가 입력된 경우, 초기 신경망 모델은 제1 학습 데이터, 도메인 클래스 및 사전 학습에 이용된 복수의 이미지를 이용하여 초기 신경망 모델을 구축하는 신경망들의 가중치를 업데이트할 수 있다. 사전 학습에 이용된 복수의 이미지는 이미지 생성 장치(100)의 사용자 외 다른 사용자의 그림체가 반영된 웹툰, 만화 이미지 등일 수 있다.
예를 들어, 초기 신경망 모델은 제1 학습 데이터 및 도메인 클래스가 입력된 경우, 제1 학습 데이터, 도메인 클래스 및 사전 학습에 이용된 복수의 이미지를 이용하여 제1 학습 데이터의 그림체를 모방한 이미지를 생성할 수 있다. 이 과정에서 초기 신경망 모델은 제1 학습 데이터 및 도메인 클래스를 이용하여 초기 신경망 모델에 포함된 제1 인코더, 제2 인코더, 유넷 및 디코더의 가중치를 업데이트할 수 있다.
제1 학습 데이터는 사용자의 그림체가 반영된 이미지 외에 다른 이미지를 더 포함할 수 있다. 제1 학습 데이터는 사용자와 유사한 분야에 속하는 다른 작가 들의 이미지를 더 포함할 수 있다. 이미지 생성 장치(100)는 제1 학습 데이터에 포함된 이미지들 각각에 대응하는 텍스트 데이터인 제2 학습 데이터를 입력 받을 수 있다.
이미지 생성 장치(100)는 사용자가 그리거나 창작한 이미지뿐만 아니라 다른 작가 들이 그리거나 창작한 이미지를 신경망 모델(200)의 학습에 활용함으로써 신경망 모델(200)이 사용자가 그리거나 창작한 이미지에 과적합되는 것을 방지할 수 있다. 또한, 이미지 생성 장치(100)는 사용자와 같은 분야(예를 들어, 웹툰 분야)에 속하는 다른 작가 들이 그리거나 창작한 이미지를 신경망 모델(200)의 학습에 활용함으로써 이미지 생성 장치(100)가 생성하는 이미지가 사용자가 속하는 분야(예를 들어, 웹툰 분야)의 특성을 잘 반영하도록 할 수 있다.
상기 예시문 1 및 2에서 나타낸 바와 같이 제2 학습 데이터로 활용되는 텍스트 또는 프롬프트는 제1 학습 데이터의 이미지를 서술하는 텍스트일 수 있다. 또한, 텍스트는 제1 학습 데이터의 이미지가 표현하는 대상의 클래스 정보를 포함할 수 있다.
미세 조정 과정에서 이미지 생성 장치(100)는 사용자에 의해 창작된 이미지들의 개수와 사용자와 유사한 분야에 속하는 다른 작가에 의해 창작된 이미지들의 개수 사이의 비율을 조절할 수 있다.
구체적으로, 이미지 생성 장치(100)는 제2 학습 데이터의 프롬프트들에 포함된 클래스 정보 별로 사용자에 의해 창작된 이미지들의 개수와 다른 작가에 의해 창작된 이미지들의 개수 사이의 비율을 조절할 수 있다.
예를 들어, 사용자가 그리고자 하는 작품에서 주요 캐릭터가 속한 클래스(예를 들어, 10대 소년)의 경우, 이미지 생성 장치(100)는 해당 클래스를 포함하는 프롬프트들과 관련된 이미지들을 학습 데이터로 추출할 수 있다. 이 경우, 이미지 생성 장치(100)는 주요 캐릭터가 속한 클래스를 포함하는 프롬프트들과 관련된 이미지들 중 사용자에 의해 창작된 이미지들의 비중을 높게 하여 신경망 모델(200)이 캐릭터와 관련된 특성을 잘 반영하도록 할 수 있다.
반면, 사용자가 그리고자 하는 작품에서 상대적으로 중요도가 낮은 클래스(예를 들어, 배경에 나타나는 동물 또는 식물)의 경우, 이미지 생성 장치(100)는 해당 클래스를 포함하는 프롬프트들과 관련된 이미지들을 학습 데이터로 추출할 수 있다. 이 경우, 이미지 생성 장치(100)는 중요도가 낮은 클래스를 포함하는 프롬프트들과 관련된 이미지들 중 사용자가 아닌 다른 작가들에 의해 창작된 이미지들의 비중을 높게할 수 있다. 이를 통해 미세 조정 과정에서 충분한 양의 학습데이터를 확보하고 신경망 모델(200)이 출력하는 이미지가 사용자가 속하는 콘텐츠 분야(예를 들어, 웹툰 분야)의 특성을 잘 반영하도록 할 수 있다.
일 실시예에 따르면, 프로세서(120)는 미세 조정을 위해 아래의 표 1을 통해 제시되는 파라미터를 이용할 수 있다.
instance_prompt | "zwx style", |
class_prompt | "artwork style" |
num_instance_iamges | 100 |
num_class_images | 2000 |
Iter | 10000 |
Lr | 1e-6 |
일 실시예에 따르면, 프로세서(120)는 신경망 모델(200)이 적어도 하나의 이미지를 생성하기 위한 파라미터를 아래의 표 2와 같이 결정할 수 있다.
instance_prompt | zwx style:1.3, [Prompt] |
guidance scale | 13 |
Strength | 0.9 |
Sampler | EulerA |
표 2에서 instance_prompt는 제2 입력 데이터와 관련된 파라미터일 수 있다. instance_prompt는 제2 입력 데이터의 긍정 Prompt 및 부정 Prompt와 관련되는 파라미터일 수 있다. guidance scale은 CFG 스케일을 나타내는 파라미터일 수 있다. Strength는 제1 입력 데이터에 대한 의존도를 나타내는 파라미터일 수 있다.
이상 도 1 내지 도 4를 참조하여 예시적인 실시예에 따른 이미지 생성 장치 및 방법에 관하여 설명하였다.
적어도 하나의 실시예에 따르면 이미지 생성 장치(100)는 스토리보드 이미지 및 스토리보드 이미지에 대한 텍스트 또는 프롬프트에 기초하여 고품질의 이미지를 용이하게 생성할 수 있다.
적어도 하나의 실시예에 따르면, 이미지 생성 장치(100)는 사용자로 하여금 스토리보드 이미지와 텍스트 또는 프롬프트가 최종 생성 이미지의 생성 과정에 반영되는 비중을 용이하게 조절할 수 있도록 할 수 있다.
적어도 하나의 실시예에 따르면, 이미지 생성 장치(100)는 초기 신경망 모델의 미세 조정을 수행할 수 있다. 미세 조정을 통해 신경망 모델이 생성하는 이미지의 그림체가 결정될 수 있다.
적어도 하나의 실시예에 따르면, 미세 조정 과정에서 이미지가 표현하고자하는 대상의 클래스 별로 사용자의 창작 이미지가 학습에 반영되는 비율을 달리할 수 있다. 이를 통해 미세 조정에서 충분한 양의 데이터를 확보함과 동시에 주요 캐릭터에 대해서는 사용자의 그림이나 창작물의 특성을 더 잘 반영할 수 있도록 할 수 있다.
적어도 하나의 실시예에 따르면, 이미지 생성 장치(100)가 사용자가 속하는 분야의 창작물 특성을 잘 반영한 이미지를 생성할 수 있다. 또한, 이미지 생성 장치(100)가 생성하는 이미지들의 다양성이 확보될 수 있다.
제시된 실시예들에 대한 설명은 임의의 본 개시의 기술 분야에서 통상의 지식을 가진 자가 본 개시를 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 개시의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 개시의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 개시는 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.
Claims (9)
- 이미지를 생성하도록 학습된 신경망 모델을 저장하는 저장부; 및
상기 신경망 모델에 적어도 하나의 입력 데이터를 입력하여 상기 적어도 하나의 입력 데이터와 관련된 적어도 하나의 이미지를 출력하는 프로세서;
를 포함하고,
상기 신경망 모델은,
이미지 데이터인 제1 입력 데이터의 차원을 감소시키는 제1 인코더 - 상기 제1 입력 데이터는 출력하고자 하는 최종 이미지에 대한 연출 및 장면 중 적어도 하나를 나타내는 스토리보드 이미지를 포함함 - ;
텍스트 데이터인 제2 입력 데이터에 대한 임베딩(embedding)을 수행하는 제2 인코더 - 상기 제2 입력 데이터는 상기 스토리보드 이미지 및 상기 최종 이미지 중 적어도 하나에 대한 텍스트 데이터를 포함함 - ;
상기 제1 인코더로부터 출력된 제1 출력 데이터 및 상기 제2 인코더로부터 출력된 제2 출력 데이터를 이용하여 적어도 하나의 이미지를 생성하는 이미지 생성 블록;
상기 이미지 생성 블록에서 생성된 적어도 하나의 이미지의 차원을 증가시키는 디코더; 및
상기 제1 인코더로부터 출력된 상기 제1 출력 데이터에 랜덤 노이즈(noise)를 삽입한 제1-1 출력 데이터를 생성하여 상기 이미지 생성 블록에 전달하는 노이즈 블록;
을 포함하고,
상기 이미지 생성 블록은,
상기 제1-1 출력 데이터에 삽입된 상기 랜덤 노이즈의 종류를 예측하는 유넷(Unet);
을 포함하고,
상기 신경망 모델은,
상기 제1-1 출력 데이터 및 상기 제1-1 출력 데이터를 복제한 제1-2 출력 데이터를 상기 유넷의 입력값으로 사용하고,
상기 유넷은,
상기 제1-1 출력 데이터에 대해서는 상기 제1-1 출력 데이터 및 상기 제2 출력 데이터에 기초하여 상기 랜덤 노이즈의 종류를 예측하고, 그리고
상기 제1-2 출력 데이터에 대해서는 상기 이미지 데이터가 표현하는 대상이 속한 클래스 정보에 기초하여 상기 랜덤 노이즈의 종류를 예측하는,
이미지 생성 장치.
- 삭제
- 삭제
- 제1 항에 있어서.
상기 이미지 생성 블록은,
상기 유넷의 예측 결과에 기초하여, 상기 제1-1 출력 데이터에서 상기 랜덤 노이즈를 제거하는 스케쥴러(scheduler);
를 포함하고,
상기 유넷 및 상기 스케쥴러를 이용하여 상기 제1-1 출력 데이터에 삽입된 상기 랜덤 노이즈를 제거하는 제1 동작을 수행하는,
이미지 생성 장치.
- 삭제
- 제 4 항에 있어서.
상기 스케쥴러는,
상기 제1 입력 데이터 및 상기 제2 입력 데이터 각각에 대한 의존도를 나타내는 사용자로부터 입력된 CFG(Classifier-Free Guidance) 스케일 및
상기 제1-1 출력 데이터를 이용하여 상기 랜덤 노이즈의 종류를 예측한 제1 예측 결과 및 상기 제1-2 출력 데이터를 이용하여 상기 랜덤 노이즈의 종류를 예측한 제2 예측 결과의 조합이 입력되는,
이미지 생성 장치.
- 제 4 항에 있어서.
상기 노이즈 블록은,
사용자로부터 입력된 제1 타임 스텝(time step)에 대응하여 상기 제1 출력 데이터에 상기 랜덤 노이즈를 반복 삽입하는,
이미지 생성 장치.
- 제 7 항에 있어서.
상기 프로세서는,
상기 제1 타임 스텝 및 상기 제1 입력 데이터에 대한 의존도를 나타내는 사용자로부터 입력된 스트렝스(strenght)를 조합하여 제2 타임 스텝을 결정하고,
상기 이미지 생성 블록은,
상기 제2 타임 스텝에 기초하여 상기 제1 동작을 반복 수행하는,
이미지 생성 장치.
- 이미지 생성 장치에 의해 수행되는 이미지 생성 방법에 있어서,
이미지 데이터인 제1 입력 데이터 및 텍스트 데이터인 제2 입력 데이터를 입력 받는 단계;
신경망 모델의 제1 인코더를 이용하여 상기 제1 입력 데이터의 차원을 감소시키는 단계 - 상기 제1 입력 데이터는 출력하고자 하는 최종 이미지에 대한 연출 및 장면 중 적어도 하나를 나타내는 스토리보드 이미지를 포함함 - ;
상기 신경망 모델의 제2 인코더를 이용하여 상기 제2 입력 데이터에 대한 임베딩을 수행하는 단계 - 상기 제2 입력 데이터는 상기 스토리보드 이미지 및 상기 최종 이미지 중 적어도 하나에 대한 텍스트 데이터를 포함함 - ;
상기 신경망 모델의 이미지 생성 블록을 통해 상기 제1 인코더로부터 출력된 제1 출력 데이터 및 상기 제2 인코더로부터 출력된 제2 출력 데이터를 이용하여 적어도 하나의 이미지를 생성하는 단계;
상기 신경망 모델의 디코더를 이용하여 상기 이미지 생성 블록에서 생성된 적어도 하나의 이미지의 차원을 증가시키는 단계; 및
상기 신경망 모델의 노이즈 블록을 통해 상기 제1 인코더로부터 출력된 상기 제1 출력 데이터에 랜덤 노이즈(noise)를 삽입한 제1-1 출력 데이터를 생성하여 상기 이미지 생성 블록에 전달하는 단계;
를 포함하고,
상기 신경망 모델의 이미지 생성 블록을 통해 상기 제1 인코더로부터 출력된 제1 출력 데이터 및 상기 제2 인코더로부터 출력된 제2 출력 데이터를 이용하여 적어도 하나의 이미지를 생성하는 단계는,
상기 이미지 생성 블록에 포함된 유넷(Unet)을 통해 상기 제1-1 출력 데이터에 삽입된 상기 랜덤 노이즈의 종류를 예측하는 단계 - 상기 유넷은 상기 제1-1 출력 데이터 및 상기 제1-1 출력 데이터를 복제한 제1-2 출력 데이터를 입력값으로 사용함 - ;
를 포함하고,
상기 이미지 생성 블록에 포함된 유넷(Unet)을 통해 상기 제1-1 출력 데이터에 삽입된 상기 랜덤 노이즈의 종류를 예측하는 단계는,
상기 제1-1 출력 데이터에 대해서는 상기 제1-1 출력 데이터 및 상기 제2 출력 데이터에 기초하여 상기 랜덤 노이즈의 종류를 예측하는 단계; 및
상기 제1-2 출력 데이터에 대해서는 상기 이미지 데이터가 표현하는 대상이 속한 클래스 정보에 기초하여 상기 랜덤 노이즈의 종류를 예측하는 단계;
를 포함하는,
이미지 생성 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230044117A KR102608266B1 (ko) | 2023-04-04 | 2023-04-04 | 이미지 생성 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230044117A KR102608266B1 (ko) | 2023-04-04 | 2023-04-04 | 이미지 생성 장치 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102608266B1 true KR102608266B1 (ko) | 2023-11-30 |
Family
ID=88968386
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230044117A KR102608266B1 (ko) | 2023-04-04 | 2023-04-04 | 이미지 생성 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102608266B1 (ko) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180118270A (ko) | 2017-04-21 | 2018-10-31 | (주)코믹스브이 | 웹툰 작가화풍에 기반하여 배경이미지를 제공하는 방법 |
KR102287407B1 (ko) * | 2020-12-18 | 2021-08-06 | 영남대학교 산학협력단 | 이미지 생성을 위한 학습 장치 및 방법과 이미지 생성 장치 및 방법 |
KR20220017068A (ko) * | 2020-08-04 | 2022-02-11 | 한국전자기술연구원 | 인공지능 콘텐츠 자동 생성 및 변형 방법 |
KR20230018027A (ko) * | 2021-07-29 | 2023-02-07 | 주식회사 툰스퀘어 (Toonsquare) | 입력된 문장 기반의 만화 이미지 자동 생성 장치 및 방법 |
-
2023
- 2023-04-04 KR KR1020230044117A patent/KR102608266B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180118270A (ko) | 2017-04-21 | 2018-10-31 | (주)코믹스브이 | 웹툰 작가화풍에 기반하여 배경이미지를 제공하는 방법 |
KR20220017068A (ko) * | 2020-08-04 | 2022-02-11 | 한국전자기술연구원 | 인공지능 콘텐츠 자동 생성 및 변형 방법 |
KR102287407B1 (ko) * | 2020-12-18 | 2021-08-06 | 영남대학교 산학협력단 | 이미지 생성을 위한 학습 장치 및 방법과 이미지 생성 장치 및 방법 |
KR20230018027A (ko) * | 2021-07-29 | 2023-02-07 | 주식회사 툰스퀘어 (Toonsquare) | 입력된 문장 기반의 만화 이미지 자동 생성 장치 및 방법 |
Non-Patent Citations (3)
Title |
---|
Aditya et al., Hierarchical Text-Conditional Image Generation with CLIP Latents, arXiv:2204.06125v1 [cs.CV] 13 Apr 2022* * |
Florinel-Alin et al., Diffusion Models in Vision A Survey, IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL.14, NO.8, AUGUST 2022* * |
Fuwen, etal., Text2Scene Generating Compositional Scenes from Textual Descriptions, arXiv: 1809.01110v3 [cs.CV] 9 Jun 2019* * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111368996B (zh) | 可传递自然语言表示的重新训练投影网络 | |
Lopes et al. | A learned representation for scalable vector graphics | |
CN110807154B (zh) | 一种基于混合深度学习模型的推荐方法与系统 | |
JP7193252B2 (ja) | 画像の領域のキャプション付加 | |
CN109710915B (zh) | 复述语句生成方法及装置 | |
CN108416065B (zh) | 基于层级神经网络的图像-句子描述生成系统及方法 | |
CN109214006B (zh) | 图像增强的层次化语义表示的自然语言推理方法 | |
CN113641820A (zh) | 基于图卷积神经网络的视角级文本情感分类方法及系统 | |
US20230042221A1 (en) | Modifying digital images utilizing a language guided image editing model | |
Das et al. | Cloud2curve: Generation and vectorization of parametric sketches | |
US11636251B2 (en) | Content aware font recommendation | |
US12008739B2 (en) | Automatic photo editing via linguistic request | |
CN110968725B (zh) | 图像内容描述信息生成方法、电子设备及存储介质 | |
CN111966812A (zh) | 一种基于动态词向量的自动问答方法和存储介质 | |
CN112699215B (zh) | 基于胶囊网络与交互注意力机制的评级预测方法及系统 | |
CN117033609B (zh) | 文本视觉问答方法、装置、计算机设备和存储介质 | |
CN117521672A (zh) | 一种基于扩散模型的长文本生成连续图片的方法 | |
CN114358201A (zh) | 基于文本的情感分类方法和装置、计算机设备、存储介质 | |
CN114722820A (zh) | 基于门控机制和图注意力网络的中文实体关系抽取方法 | |
CN113157919A (zh) | 语句文本方面级情感分类方法及系统 | |
CN111079374B (zh) | 字体生成方法、装置和存储介质 | |
CN116258147A (zh) | 一种基于异构图卷积的多模态评论情感分析方法及系统 | |
CN114281982B (zh) | 一种多模态融合技术的图书宣传摘要生成方法和系统 | |
CN112528168B (zh) | 基于可形变自注意力机制的社交网络文本情感分析方法 | |
CN117788629A (zh) | 一种具有风格个性化的图像生成方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |