KR102471754B1 - 이미지 생성 시스템 및 방법 - Google Patents

이미지 생성 시스템 및 방법 Download PDF

Info

Publication number
KR102471754B1
KR102471754B1 KR1020170182845A KR20170182845A KR102471754B1 KR 102471754 B1 KR102471754 B1 KR 102471754B1 KR 1020170182845 A KR1020170182845 A KR 1020170182845A KR 20170182845 A KR20170182845 A KR 20170182845A KR 102471754 B1 KR102471754 B1 KR 102471754B1
Authority
KR
South Korea
Prior art keywords
image
keypoint
generator
target image
generated
Prior art date
Application number
KR1020170182845A
Other languages
English (en)
Other versions
KR20190080415A (ko
Inventor
이연수
유민환
노형종
이준엽
장정선
Original Assignee
주식회사 엔씨소프트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 엔씨소프트 filed Critical 주식회사 엔씨소프트
Priority to KR1020170182845A priority Critical patent/KR102471754B1/ko
Publication of KR20190080415A publication Critical patent/KR20190080415A/ko
Application granted granted Critical
Publication of KR102471754B1 publication Critical patent/KR102471754B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/40Analysis of texture
    • G06T7/49Analysis of texture based on structural texture description, e.g. using primitives or placement rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Machine Translation (AREA)

Abstract

이미지 생성 시스템 및 방법이 개시된다. 본 발명의 일 실시예에 따른 이미지 생성 시스템은 생성하고자 하는 대상 이미지의 의미 속성(semantic attribute)을 입력받고, 이로부터 하나 이상의 키포인트(keypoint)를 출력하는 제1 생성적 적대 신경망(GAN; Generative Adversarial Networks); 및 상기 하나 이상의 키포인트 및 상기 대상 이미지와 관련된 설명 텍스트를 입력받고, 이로부터 상기 대상 이미지를 생성하는 제2 생성적 적대 신경망을 포함한다.

Description

이미지 생성 시스템 및 방법{SYSTEM AND METHOD FOR GENERATING IMAGE}
본 발명의 실시예들은 주어진 텍스트로부터 이미지를 생성하기 위한 기술과 관련된다.
생성 모델(generative model)이란 주어진 데이터의 분포(distribution)를 을직간접적으로 얻어내고 이를 바탕으로 데이터를 생성해내기 위한 모델을 의미한다. 딥러닝 기반의 이미지 생성 모델로서 대표적으로 PixelCNN과 GAN(generative adversarial network)이 등장하였으며, 최근에는 특히 GAN이 이미지 생성 모델로서 활발히 연구되고 있다.
GAN은 크게 생성자(Generator)와 구분자(Discriminator)를 포함하는 두 개의 네트워크로 구성된다. 이중 생성자는 앞서 언급한 생성 모델의 역할을 하며, 주어진 데이터셋을 학습하고 이로부터 유사한 이미지를 생성한다. 또한 구분자는 입력된 이미지가 생성자에 의하여 생성된 이미지(X')인지, 또는 실제 데이터셋 내 이미지(X)인지를 구별하는 일종의 분별기(classifier)이다. 즉, GAN 내에서 생성자와 구분자는 서로 대응되는 역할을 수행한다. 생성자는 데이터셋 내의 이미지와 유사한 이미지를 생성하는 것을 목적으로 하고, 구분자는 생성된 이미지와 실제 이미지를 분류하는 것을 목적으로 하기 때문이다. 이에 두 네트워크를 흔히 minimax 관계라고 칭하게 된다.
학습이 진행됨에 따라 생성자는 구분자가 생성된 이미지를 실제 이미지와 분별하기 어렵도록 실제와 유사한 이미지를 생성하게 되고, 구분자 또한 생성된 이미지와 실제 이미지를 정확하게 구별하도록 학습을 진행한다. 이에 따라 최종적으로는 실제 이미지와 구별할 수 없는 정도의 정교한 이미지를 생성하는 것이 GAN의 목적이 된다.
이러한 GAN은 생성하고자 하는 이미지가 비교적 간단하거나, 또는 데이터셋 내 분포가 유사한 경우 등에서는 매우 우수한 성능을 나타낸다. 그러나 데이터셋이 다양한 종류의 이미지를 포함하고 있거나 생성하고자 하는 이미지가 복잡하거나 한 경우에는 이미지 생성 품질이 낮아지는 문제가 발생한다.
본 발명의 실시예들은, 주어진 제약조건에 맞는 이미지를 생성해내는 GAN(generative adversarial network)에서 이미지 생성 품질을 높이기 위한 기술적인 수단을 제공하기 위한 것이다.
예시적인 실시예에 따르면, 생성하고자 하는 대상 이미지의 의미 속성(semantic attribute)을 입력받고, 이로부터 하나 이상의 키포인트(keypoint)를 출력하는 제1 생성적 적대 신경망(GAN; Generative Adversarial Networks); 및 상기 하나 이상의 키포인트 및 상기 대상 이미지와 관련된 설명 텍스트를 입력받고, 이로부터 상기 대상 이미지를 생성하는 제2 생성적 적대 신경망을 포함하는, 이미지 생성 시스템이 제공된다.
상기 의미 속성은, 상기 대상 이미지에 포함되는 객체의 외형과 연관되는 하나 이상의 속성값을 포함할 수 있다.
상기 하나 이상의 키포인트는, 상기 대상 이미지에 포함되는 객체를 상기 대상 이미지 내에 정렬하기 위한 기준점일 수 있다.
상기 설명 텍스트는, 상기 대상 이미지에 포함되는 객체의 외형 또는 행위를 기술하는 하나 이상의 문장을 포함할 수 있다.
상기 제1 생성적 적대 신경망은, 상기 의미 속성을 제약 조건으로 가지는 키포인트 데이터셋을 학습하고, 이로부터 임의의 키포인트를 생성하는 제1 생성자; 및 실제 키포인트 및 상기 제1 생성자로부터 생성된 가짜 키포인트를 학습하고, 상기 학습 결과에 따라 입력된 키포인트가 실제 키포인트인지 또는 가짜 키포인트인지의 여부를 판단하며, 상기 판단 결과를 상기 제1 생성자로 피드백하는 제1 구분자를 포함할 수 있다.
상기 제2 생성적 적대 신경망은, 상기 하나 이상의 키포인트 및 상기 설명 텍스트를 제약 조건으로 가지는 이미지 데이터셋을 학습하고, 이로부터 임의의 이미지를 생성하는 제2 생성자; 및 실제 이미지 및 상기 제2 생성자로부터 생성된 가짜 이미지를 학습하고, 상기 학습 결과에 따라 상기 입력된 이미지가 실제 이미지인지, 또는 가짜 이미지인지의 여부를 판단하며, 상기 판단 결과를 상기 제2 생성자로 피드백하는 제2 구분자를 포함할 수 있다.
다른 예시적인 실시예에 따르면, 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서, 제1 생성적 적대 신경망(GAN; Generative Adversarial Networks)에서, 생성하고자 하는 대상 이미지의 의미 속성(semantic attribute)을 입력받고, 이로부터 하나 이상의 키포인트(keypoint)를 출력하는 단계; 및 제2 생성적 적대 신경망에서, 상기 하나 이상의 키포인트 및 상기 대상 이미지와 관련된 설명 텍스트를 입력받고, 이로부터 상기 대상 이미지를 생성하는 단계를 포함하는, 이미지 생성 방법이 제공된다.
상기 의미 속성은, 상기 대상 이미지에 포함되는 객체의 외형과 연관되는 하나 이상의 속성값을 포함할 수 있다.
상기 하나 이상의 키포인트는, 상기 대상 이미지에 포함되는 객체를 상기 대상 이미지 내에 정렬하기 위한 기준점일 수 있다.
상기 설명 텍스트는, 상기 대상 이미지에 포함되는 객체의 외형 또는 행위를 기술하는 하나 이상의 문장을 포함할 수 있다.
상기 방법은, 상기 하나 이상의 키포인트(keypoint)를 출력하는 단계의 수행 전, 제1 생성자가, 상기 의미 속성을 제약 조건으로 가지는 키포인트 데이터셋을 학습하고, 이로부터 임의의 키포인트를 생성하는 단계; 및 제1 구분자가, 실제 키포인트 및 상기 제1 생성자로부터 생성된 키포인트를 학습하고, 상기 학습 결과에 따라 입력된 키포인트가 실제 키포인트인지, 또는 상기 제1 생성자로부터 생성된 키포인트인지의 여부를 판단하며, 상기 판단 결과를 상기 제1 생성자로 피드백하는 단계를 더 포함할 수 있다.
상기 방법은, 상기 대상 이미지를 생성하는 단계의 수행 전, 제2 생성자가, 상기 하나 이상의 키포인트 및 상기 설명 텍스트를 제약 조건으로 가지는 이미지 데이터셋을 학습하고, 이로부터 임의의 이미지를 생성하는 단계; 및 제2 구분자가, 실제 이미지 및 상기 제2 생성자로부터 생성된 가짜 이미지를 학습하고, 상기 학습 결과에 따라 상기 입력된 이미지가 실제 이미지인지, 또는 가짜 이미지인지의 여부를 판단하며, 상기 판단 결과를 상기 제2 생성자로 피드백하는 단계를 더 포함할 수 있다.
본 발명의 실시예들에 따를 경우, 주어진 텍스트에 따른 이미지를 생성해내는 GAN(generative adversarial network)에서 이미지 생성의 품질을 향상할 수 있다.
도 1은 본 발명의 일 실시예에 따른 이미지 생성 시스템을 설명하기 위한 블록도
도 2는 본 발명의 일 실시예에 따른 제1 생성적 적대 신경망을 좀 더 상세히 설명하기 위한 블록도
도 3(a) 및 3(b)는 본 발명의 일 실시예에 따른 키포인트를 설명하기 위한 예시도
도 4는 본 발명의 일 실시예에 따른 제2 생성적 적대 신경망을 좀 더 상세히 설명하기 위한 블록도
도 5는 본 발명의 일 실시예에 따른 이미지 생성 방법을 설명하기 위한 흐름도
도 6은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1은 본 발명의 일 실시예에 따른 이미지 생성 시스템(100)을 설명하기 위한 블록도이다. 도시된 바와 같이, 본 발명의 일 실시예에 따른 이미지 생성 시스템(100)은 제1 생성적 적대 신경망(GAN; Generative Adversarial Networks)(102, 이하 "제1 GAN") 및 제2 생성적 적대 신경망(104, 이하 "제2 GAN")을 포함한다.
제1 GAN(102)은 생성하고자 하는 대상 이미지와 관련된 하나 이상의 의미 속성(semantic attribute)을 입력받고, 이로부터 하나 이상의 키포인트(keypoint)를 출력한다. 즉, 제1 GAN(102)은 의미 속성을 제약 조건으로 가지는 일종의 CGAN(Conditional Generative Adversarial Network)이다.
도 2는 본 발명의 일 실시예에 따른 제1 GAN(102)을 좀 더 상세히 설명하기 위한 블록도이다. 도시된 바와 같이, 본 발명의 일 실시예에 따른 제2 GAN(102)은 제1 생성자(G1, 202) 및 제1 구분자(D1, 204)를 포함한다.
제1 생성자(202)는 의미 속성을 제약 조건으로 가지는 키포인트들로 구성되는 데이터셋을 학습하고, 상기 학습 결과에 따라 상기 데이터셋과 유사한 분포를 가지는 임의의 키포인트를 생성한다.
본 발명의 실시예들에서, 의미 속성(semantic attribute)이란 생성하고자 하는 대상 이미지에 포함될 객체의 외형과 연관되는 속성을 의미한다. 상기 의미 속성은 사용자가 직관적으로 이해할 수 있는 자연어 단계의 정보로서, 상기 객체의 외형을 묘사하기 위한 하나 이상의 속성값을 포함할 수 있다. 예를 들어, 상기 객체가 야구 선수일 경우 상기 의미 속성은 다음과 같이 구성될 수 있다.
<semantic attributes>
View back
L- Arm stretched
R- Arm bended
L- Leg stretched
R- Leg stretched
WithBall true
WithBat false
Background peoples
...
위의 예에서 왼쪽은 각 의미 속성, 오른쪽은 해당 의미 속성의 값을 의미한다. 전술한 의미 속성들의 속성값을 해석하면 다음과 같다.
View back (야구 선수의) 뒷모습 이미지이다.
L- Arm stretched 왼팔은 펴져 있다.
R- Arm bended 오른팔은 굽어져 있다.
L- Leg stretched 왼 다리는 펴져 있다.
R- Leg stretched 오른 다리는 펴져 있다.
WithBall true 공을 들고 있다.
WithBat false 배트는 들고 있지 않다.
Background peoples 배경에는 사람들(관중)이 있다.
또한, 본 발명의 실시예들에서 키포인트(keypoint)는 대상 이미지에 포함되는 객체를 대상 이미지 내에 정렬하기 위한 기준점을 의미한다.
도 3의 (a) 및 (b)는 본 발명의 일 실시예에 따른 키포인트를 설명하기 위한 예시도이다. 도 3의 (a)에 도시된 바와 같이 키포인트(304)는 대상 이미지 생성 영역(302)에 하나 이상 분포될 수 있다. 만약 도 3의 (b)는 도 3의 (a)와 같이 키포인트가 배열된 경우의 이에 따라 이미지가 생성된 예를 나타낸 것이다. 도시된 바와 같이, 야구 선수의 이미지가 키포인트의 배열 위치를 따라 생성된 것을 알 수 있다. 제1 생성자(202)는 전술한 의미 속성 및 해당 의미 속성과 대응되는 키포인트들로 구성되는 데이터셋의 픽셀 분포를 학습하고, 학습의 결과에 따라 상기 데이터셋과 유사한 분포를 가지는 키포인트들을 생성하게 된다.
제1 구분자(204)는 상기 데이터셋 내에 포함된 실제 키포인트(다시 말해, 실제 이미지로부터 추출된 키포인트) 및 제1 생성자(202)로부터 생성된 키포인트(가짜 키포인트)를 학습하고, 상기 학습 결과에 따라 입력된 키포인트가 실제 키포인트인지 또는 가짜 키포인트인지의 여부를 판단한다. 제1 구분자(204)는 상기 판단 결과를 제1 생성자(202)로 피드백함으로써 제1 생성자(202)에서 생성되는 키포인트가 실제와 점점 유사해질 수 있도록 한다. 도시된 바와 같이, 제1 구분자(204)는 입력되는 키포인트가 실제 키포인트인 경우 1을, 가짜 키포인트인 경우 0을 출력하도록 구성될 수 있다.
전술한 학습 과정을 통해 제1 생성자(202)에서 생성되는 키포인트가 실제 키포인트와 충분히 유사해질 경우, 제1 구분자(204)는 입력되는 키포인트가 실제 키포인트인지 또는 가짜 키포인트인지의 여부를 구별할 수 없게 된다. 제1 GAN(102)이 이와 같은 상태에 도달하면 학습 과정은 종료되며, 이후 제1 생성자(202)는 입력되는 의미 속성에 따라 키포인트를 출력하여 이를 제2 GAN(104)의 입력으로 제공한다.
다시 도 1로 돌아가서, 다음으로 제2 GAN(104)은 제1 GAN(102)에서 출력되는 하나 이상의 키포인트 및 대상 이미지와 관련된 설명 텍스트를 입력받고, 이로부터 대상 이미지를 생성한다.
도 4는 본 발명의 일 실시예에 따른 제2 GAN(104)을 좀 더 상세히 설명하기 위한 블록도이다. 도시된 바와 같이, 본 발명의 일 실시예에 따른 제2 GAN(104)은 제2 생성자(G2, 402) 및 제2 구분자(D2, 404)를 포함한다.
제2 생성자(402)는 제1 GAN(102)에서 출력되는 하나 이상의 키포인트 및 설명 텍스트를 제약 조건으로 가지는 이미지 데이터셋을 학습하고, 이로부터 학습된 이미지 데이터셋과 유사한 이미지를 생성한다.
본 발명의 실시예들에서, 상기 설명 텍스트는 대상 이미지에 포함되는 객체의 외형 또는 행위를 기술하는 하나 이상의 문장으로 구성될 수 있다. 예를 들어, 상기 도 3의 (b)에 예시된 이미지의 경우 다음과 같은 문장으로 기술될 수 있다.
"애틀랜타 브레이브스의 선발 투수 존 스몰츠가 미네소타 트윈스와의 경기에서 역투하고 있다."
다른 예에서, 만약 새의 이미지를 생성하기 위한 설명 텍스트는 다음과 같이 구성될 수 있다.
"검정색의 대형 조류로서 긴 목과 오렌지빛의 부리를 가지고 있다."
설명 텍스트는 하나 이상의 속성값으로 구성되는 의미 속성과 비교하여 자연어 문장으로 구성되어 있다는 점에서 차이가 있다. 또한 의미 속성이 주로 대상(object)의 외형적 특징과 관련된 사항만을 포함하고 있는 반면, 설명 텍스트는 대상의 외형적 특징, 대상의 현재 행위와 관련된 사항, 대상의 현재 상태(감정적 상태, 심리적 상태 등)에 대한 추론 등 다양한 요소들을 포함할 수 있다. 이와 같은 설명 텍스트는 대상의 특징을 기술하는 데 도움이 될 수 있으나, 경우에 따라 이미지를 생성하기에 충분한 정보를 제공하지 않는 경우가 많다. 예를 들어, 설명 텍스트에서 투수의 투구(pitching) 동작이라고 설명되는 동작의 경우에도, 셋업(set-up), 스텝 백(step back), 와인드 업(wind up), 레그 리프팅 (leg lifting), 테이크 백(take back), 스트라이드 (stride), 릴리스 (release), 팔로우 스로우(follow through) 등 다양한 단계로 구분되는 바, 이 중 어떤 단계의 동작인지를 특정하기는 매우 어렵다.
이에 본 발명의 실시예에서는, GAN을 2단계로 적용하고, 1단계에서는 대상의 외형과 관련된 의미 속성, 2단계에서는 대상과 관련된 설명 텍스트를 GAN의 제약 조건으로 적용함으로써 단순히 텍스트만을 이용할 때와 비교하여 이미지 생성 품질을 높일 수 있도록 구성된다.
다음으로, 제2 구분자(404)는 실제 이미지 및 제1 생성자(202)로부터 생성된 가짜 이미지를 학습하고, 상기 학습 결과에 따라 입력된 이미지가 실제 이미지인지, 또는 가짜 이미지인지의 여부를 판단한다. 제2 구분자(404)는 상기 판단 결과를 제2 생성자(402)로 피드백함으로써 제2 생성자(402)에서 생성되는 이미지가 실제와 점점 유사해질 수 있도록 한다. 도시된 바와 같이, 제2 구분자(404)는 입력되는 이미지가 실제 이미지인 경우 1을, 가짜 이미지인 경우 0을 출력하도록 구성될 수 있다.
전술한 학습 과정을 통해 제2 생성자(402)에서 생성되는 이미지가 실제 이미지와 충분히 유사해질 경우, 제2 구분자(404)는 입력되는 이미지가 실제 이미지인지 또는 가짜 이미지인지의 여부를 구별할 수 없게 된다. 제2 GAN(104)이 이와 같은 상태에 도달하면 학습 과정은 종료되며, 이후 제2 생성자(402)는 입력되는 설명 텍스트 및 키포인트에 따라 이미지를 생성하게 된다.
도 5는 본 발명의 일 실시예에 따른 이미지 생성 방법(500)을 설명하기 위한 흐름도이다. 도 5에 도시된 방법은 예를 들어, 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치, 예를 들어 전술한 이미지 생성 시스템(100)에 의해 수행될 수 있다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
단계 502에서, 이미지 생성 시스템(100)은 제1 GAN(102)을 통해, 생성하고자 하는 대상 이미지의 의미 속성(semantic attribute)을 입력받고 이로부터 하나 이상의 키포인트(keypoint)를 출력한다.
단계 504에서, 이미지 생성 시스템(100)은 제2 GAN(104)을 통해, 제1 GAN(102)에서 출력된 하나 이상의 키포인트 및 상기 대상 이미지와 관련된 설명 텍스트를 입력받고, 이로부터 대상 이미지를 생성한다.
한편, 상기 502 단계는 키포인트(keypoint)를 출력하기 이전 키포인트 출력을 위한 학습을 수행할 수 있다. 이때 상기 학습 단계는, 제1 생성자(202)가 하나 이상의 의미 속성을 제약 조건으로 가지는 키포인트 데이터셋을 학습하고, 이로부터 임의의 키포인트를 생성하는 단계, 및 제1 구분자(204)가, 실제 키포인트 및 제1 생성자(202)로부터 생성된 키포인트를 학습하고, 상기 학습 결과에 따라 입력된 키포인트가 실제 키포인트인지, 또는 제1 생성자(202)로부터 생성된 키포인트인지의 여부를 판단하며, 상기 판단 결과를 제1 생성자(202)로 피드백하는 단계를 더 포함할 수 있다.
또한, 상기 504 단계는 대상 이미지를 생성하기 전 이미지 생성을 위한 학습을 수행할 수 있다. 이때 상기 학습 단계는, 제2 생성자(402)가, 하나 이상의 키포인트 및 설명 텍스트를 제약 조건으로 가지는 이미지 데이터셋을 학습하고, 이로부터 임의의 이미지를 생성하는 단계, 및 제2 구분자(404)가, 실제 이미지 및 제2 생성자(402)로부터 생성된 가짜 이미지를 학습하고, 상기 학습 결과에 따라 입력된 이미지가 실제 이미지인지, 또는 가짜 이미지인지의 여부를 판단하며, 상기 판단 결과를 제2 생성자(402)로 피드백하는 단계를 포함할 수 있다.
도 6은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경(10)을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 본 발명의 실시예들에 따른 이미지 생성 장치 내지 시스템(100)일 수 있다. 컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(102)와 연결될 수도 있다.
한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램, 및 상기 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나, 또는 컴퓨터 소프트웨어 분야에서 통상적으로 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 프로그램의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.
이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100: 이미지 생성 시스템
102: 제1 GAN
104: 제2 GAN
202: 제1 생성자
204: 제1 구분자
402: 제2 생성자
404: 제2 구분자

Claims (12)

  1. 생성하고자 하는 대상 이미지의 의미 속성(semantic attribute)을 입력받고, 이로부터 하나 이상의 키포인트(keypoint)를 출력하는 제1 생성적 적대 신경망(GAN; Generative Adversarial Networks); 및
    상기 하나 이상의 키포인트 및 상기 대상 이미지와 관련된 설명 텍스트를 입력받고, 이로부터 상기 대상 이미지를 생성하는 제2 생성적 적대 신경망을 포함하고,
    상기 의미 속성은 상기 대상 이미지에 포함되는 객체의 외형과 연관되는 하나 이상의 속성값을 포함하고,
    상기 제1 생성적 적대 신경망은
    상기 의미 속성을 제약 조건으로 가지는 키포인트 데이터셋을 학습하고, 이로부터 임의의 키포인트를 생성하는 제1 생성자; 및
    실제 키포인트 및 상기 제1 생성자로부터 생성된 키포인트를 학습하고, 입력된 키포인트가 실제 키포인트인지 또는 상기 제1 생성자로부터 생성된 키포인트인지의 여부를 판단하며, 상기 판단 결과를 상기 제1 생성자로 피드백하는 제1 구분자를 포함하는, 이미지 생성 시스템.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 하나 이상의 키포인트는,
    상기 대상 이미지에 포함되는 객체를 상기 대상 이미지 내에 정렬하기 위한 기준점인, 이미지 생성 시스템.
  4. 청구항 1에 있어서,
    상기 설명 텍스트는,
    상기 대상 이미지에 포함되는 객체의 외형 또는 행위를 기술하는 하나 이상의 문장을 포함하는, 이미지 생성 시스템.
  5. 삭제
  6. 청구항 1에 있어서,
    상기 제2 생성적 적대 신경망은,
    상기 하나 이상의 키포인트 및 상기 설명 텍스트를 제약 조건으로 가지는 이미지 데이터셋을 학습하고, 이로부터 임의의 이미지를 생성하는 제2 생성자; 및
    실제 이미지 및 상기 제2 생성자로부터 생성된 이미지를 학습하고, 상기 입력된 이미지가 실제 이미지인지, 또는 상기 제2 생성자로부터 생성된 이미지인지의 여부를 판단하며, 상기 판단 결과를 상기 제2 생성자로 피드백하는 제2 구분자를 포함하는, 이미지 생성 시스템.
  7. 하나 이상의 프로세서들, 및
    상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서,
    제1 생성적 적대 신경망(GAN; Generative Adversarial Networks)에서, 생성하고자 하는 대상 이미지의 의미 속성(semantic attribute)을 입력받고, 이로부터 하나 이상의 키포인트(keypoint)를 출력하는 단계; 및
    제2 생성적 적대 신경망에서, 상기 하나 이상의 키포인트 및 상기 대상 이미지와 관련된 설명 텍스트를 입력받고, 이로부터 상기 대상 이미지를 생성하는 단계를 포함하고,
    상기 의미 속성은 상기 대상 이미지에 포함되는 객체의 외형과 연관되는 하나 이상의 속성값을 포함하고,
    상기 하나 이상의 키포인트(keypoint)를 출력하는 단계의 수행 전,
    제1 생성자가, 상기 의미 속성을 제약 조건으로 가지는 키포인트 데이터셋을 학습하고, 이로부터 임의의 키포인트를 생성하는 단계; 및
    제1 구분자가, 실제 키포인트 및 상기 제1 생성자로부터 생성된 키포인트를 학습하고, 입력된 키포인트가 실제 키포인트인지, 또는 상기 제1 생성자로부터 생성된 키포인트인지의 여부를 판단하며, 상기 판단 결과를 상기 제1 생성자로 피드백하는 단계를 더 포함하는, 이미지 생성 방법.
  8. 삭제
  9. 청구항 7에 있어서,
    상기 하나 이상의 키포인트는,
    상기 대상 이미지에 포함되는 객체를 상기 대상 이미지 내에 정렬하기 위한 기준점인, 이미지 생성 방법.
  10. 청구항 7에 있어서,
    상기 설명 텍스트는,
    상기 대상 이미지에 포함되는 객체의 외형 또는 행위를 기술하는 하나 이상의 문장을 포함하는, 이미지 생성 방법.
  11. 삭제
  12. 청구항 7에 있어서,
    상기 대상 이미지를 생성하는 단계의 수행 전,
    제2 생성자가, 상기 하나 이상의 키포인트 및 상기 설명 텍스트를 제약 조건으로 가지는 이미지 데이터셋을 학습하고, 이로부터 임의의 이미지를 생성하는 단계; 및
    제2 구분자가, 실제 이미지 및 상기 제2 생성자로부터 생성된 이미지를 학습하고, 입력된 이미지가 실제 이미지인지, 또는 상기 제2 생성자로부터 생성된 이미지인지의 여부를 판단하며, 상기 판단 결과를 상기 제2 생성자로 피드백하는 단계를 더 포함하는, 이미지 생성 방법.
KR1020170182845A 2017-12-28 2017-12-28 이미지 생성 시스템 및 방법 KR102471754B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170182845A KR102471754B1 (ko) 2017-12-28 2017-12-28 이미지 생성 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170182845A KR102471754B1 (ko) 2017-12-28 2017-12-28 이미지 생성 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20190080415A KR20190080415A (ko) 2019-07-08
KR102471754B1 true KR102471754B1 (ko) 2022-11-28

Family

ID=67256112

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170182845A KR102471754B1 (ko) 2017-12-28 2017-12-28 이미지 생성 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102471754B1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110930469B (zh) * 2019-10-25 2021-11-16 北京大学 一种基于过渡空间映射的文本生成图像方法和系统
KR102364865B1 (ko) * 2019-12-23 2022-02-18 주식회사 엘지씨엔에스 제품의 양불을 판정하는 방법 및 장치
KR102411301B1 (ko) * 2020-04-23 2022-06-22 한국과학기술원 시맨틱 온톨로지를 이용한 도메인특화 이미지캡션 자동 생성 장치 및 방법
CN111639547B (zh) * 2020-05-11 2021-04-30 山东大学 基于生成对抗网络的视频描述方法及系统
KR102504722B1 (ko) 2020-06-24 2023-02-28 영남대학교 산학협력단 감정 표현 영상 생성을 위한 학습 장치 및 방법과 감정 표현 영상 생성 장치 및 방법
KR102287407B1 (ko) 2020-12-18 2021-08-06 영남대학교 산학협력단 이미지 생성을 위한 학습 장치 및 방법과 이미지 생성 장치 및 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101925907B1 (ko) * 2016-06-03 2019-02-26 (주)싸이언테크 신경망 생성 모델을 이용한 객체 움직임 패턴 학습장치 및 그 방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Scottet al., "Learning What and Where to Draw", 29th Conference on Neural Information Processing Systems, arXiv:1610.02454v1 [cs.CV](2016.10.08.)*
인용발명 1 : Liqian et al., "Pose Guided Person Image Generation", 31st Conference on Neural Information Processing Systems, arXiv:1705.09368v5 [cs.CV](2017.11.03.)*

Also Published As

Publication number Publication date
KR20190080415A (ko) 2019-07-08

Similar Documents

Publication Publication Date Title
KR102471754B1 (ko) 이미지 생성 시스템 및 방법
US9015035B2 (en) User modification of generative model for determining topics and sentiments
US10897439B2 (en) Conversational enterprise document editing
US10387776B2 (en) Recurrent neural network architectures which provide text describing images
US9846536B2 (en) Composition of handwritten messages on mobile computing devices
US11468110B2 (en) Utilizing natural language processing and multiple object detection models to automatically select objects in images
US10990852B1 (en) Method and apparatus for training model for object classification and detection
US11869129B2 (en) Learning apparatus and method for creating image and apparatus and method for image creation
US11321559B2 (en) Document structure identification using post-processing error correction
CN111428025B (zh) 文本摘要方法、装置、电子设备和存储介质
JP2017134822A (ja) 箇条書きリスト
US10699458B2 (en) Image editor for merging images with generative adversarial networks
EP3667493A1 (en) A method for a software development system
KR20210149530A (ko) 이미지 분류 모델 학습 방법 및 이를 수행하기 위한 장치
KR20210050139A (ko) 이미지의 유사도 계산 장치 및 방법
US10943377B2 (en) Creating images using image anchors and generative adversarial networks
JP6498674B2 (ja) マルチメディア資産の中のオブジェクトを注釈付けするための方法
KR20230062251A (ko) 텍스트 기반의 문서분류 방법 및 문서분류 장치
CN102193789B (zh) 一种实现可配置跳转链接的方法和设备
US11468267B2 (en) Apparatus and method for classifying image
KR101580152B1 (ko) 조상 후손 카테고리를 활용한 오픈 디렉터리 프로젝트 기반 텍스트 분류 방법 및 장치
US20200311412A1 (en) Inferring titles and sections in documents
US11501079B1 (en) Personalized content creation using neural networks
US20230237280A1 (en) Automatically generating context-based alternative text using artificial intelligence techniques
US11373029B2 (en) System and method integrating machine learning algorithms to enrich documents in a content management system

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant