데이터사이언스 대학원 생활/대화형 인공지능

ChatGPT 이미지 생성 기능 'DALL-E 3'(GPT-4)

데욱 2023. 11. 9. 13:46

대화형 인공지능 수업을 들으면서 GPT4를 결제했고, 이를 잘 사용하고 있다.
(코딩도 잘해... 요약도 잘해...)

그런데 요새 GPT-4의 신규 기능이 많이 나와서 재밌게 사용 중이다.

그 중에서 오늘 소개할 것은... 바로 'DALL-E 3'

DALL-E 3 선택

 

'DALL-E 3' 는 텍스트를 입력하면 텍스트에 맞는 이미지를 생성해주는 기능이다. (Text to Image)

즉, 원하는 이미지를 구상하고 이에 맞게 텍스트를 입력해주면 간단하게 이미지 생성이 된다. 

 

예시로 고양이 사진을 그려보자. 

세상 귀엽다!

 

이번에는 내가 좋아하는 게임 캐릭터인 로스트아크의 카멘을 그려보자.

카멘은 다음과 같이 생겼다.

세상 멋있는 카멘 (출처: 로스트아크 공식 홈페이지)

 

그럼 아까 고양이처럼 카멘을 그려달라고 하면?

너... 모르지?

카멘을 잘 모르는지... ㅠ  안다고 하는데 그리질 못한다.

(대화형 인공지능의 단점, 모르는데 안다고 한다.)

 

"그럼 카멘 이미지를 chatgpt 프롬프트 내에 올리면 되지않아요?" 라고 할 수 있으나,
아직까지 우리나라에서는 DALL-3 프롬프트 내에서는 이미지를 올릴 수 없다.
즉, Image to Image가 안되는 상황...

(23.11.13) 이후 가능, 하지만 제약있음


그렇다면 우린 프롬프트만드로 계속 물어봐서 카멘과 비슷하게 만들어봐야하는 것인가?!

방법은 있다!
최근 유행하는 추세인 대화형 인공지능을 활용해 AI를 학습하는 것과 같은 방법을 사용하는 것이다!


즉, ChatGPT에게 그림을 설명시켜서 텍스트로 만들고 그 텍스트를 바탕으로 이미지를 만들면 된다.

간단한 프롬프트만으로 우리는 Image to Text, Text to Image 라는 복잡한 상황을 간단하게 해결하는 것이다!

 

1. Image to Text(GPT4만 가능)

기본 프롬프트 환경(DALL-E 3 환경 X)에서 이미지를 업로드한다.

그 후, 사진에 대한 상세한 설명을 요구한다.

 

ex) 이 그림에 대해서 영어로 상세하게 설명해줘.

아래 접은 글은 ChatGPT가 생성해준 문장이다.

더보기

This image presents a dark and imposing fantasy character that could be a boss or antagonist within the context of the video game "Lost Ark," as indicated by the logo in the bottom right corner.

The character is heavily armored, with the armor taking on an almost organic appearance as if it is a part of the character's body. The armor is colored in dark tones with accents of blue, which glow as if infused with some kind of magical or otherworldly energy. The glow is most prominent around what appears to be the character's face or helmet, on the chest, and along the edges of the armor. This blue luminescence stands out against the overall darkness of the armor, suggesting a powerful, possibly malevolent nature.

The character's helmet or head has a design reminiscent of a traditional knight's helmet but with exaggerated, menacing features like pointed horns or spikes extending back and upwards, contributing to its fearsome appearance. The silhouette is jagged and irregular, adding to the chaotic and powerful aura.

In the character's hands is a massive sword, which also shares the same dark and blue-glowing design motif. The sword seems to be disintegrating or corroding at its edges, implying it could be an artifact of immense power or in the process of being used for a destructive purpose. This weapon reinforces the character's threatening presence.

The background of the scene is equally dramatic, with a stormy sky, jagged mountains, and several bolts of lightning, suggesting an environment that is inhospitable and dangerous. The desaturated colors of the landscape, dominated by greys and blacks, create a stark contrast with the glowing elements of the character's armor, making the figure stand out even more.

The whole composition of the image is designed to evoke a sense of dread and awe, signaling that this character plays a significant and probably antagonistic role within the world of "Lost Ark."

 

2. Text to Image(GPT4만 가능)

이 문장을 DALL-E 3 환경 프롬프트에 넣어서 생성을 요구한다.

 

결과는?

 

와우! 아까 그냥 생성해달라는 결과와는 전혀다르게 비슷한 느낌을 가지고 생성된다!

 

그렇다면 이를 응용해서 사용해보자.

 

3. 생성된 Image를 원하는 느낌으로 변경

로스트아크의 특정 캐릭터를 가져와보자.(도화가 클래스)

 

아까와 같은 방식으로 생성한 사진이다.

 

이번에는 이 사진과 비슷하게, 새로운 신직업 클래스(점술가)를 예상하여 그려달라고 했다.

더보기

위의 느낌과 비슷하게 점술가 클래스를 생성하고 싶어. 오브나 수정구슬을 무기로 사용하고 있어. 별의 어둠 빛의 힘을 다루는 클래스야.

 

결과는?

 

 

와우 세상에! 예상했던 것과 비슷하게 고퀄리티 일러스트를 뚝딱 10초만에 만들어준다!!


프롬프트 문은 원하는대로 잘 만들어주기도 하고, 이상하게 만들어 주기도 한다.

그러므로 여러번 시도 해봐야 한다!! (Regenerate or 프롬프트 수정)

 

신규 기능을 통해 다양한 시도를 해보자!


(23.11.13)

ChatGPT 기능이 업데이트 되어, 이제 DALL-E 프롬프트 내에서도 사진 업로드가 가능하다.

하지만, 저작권이 존재하는 캐릭터는 생성하기 어렵다고 한다.
그래도 먼저 업로드한 사진과 비슷한 느낌의 그림을 생성하는 일은, 사실상 더 쉬워졌다.  

 

왼쪽의 캐릭터가 점술가 처럼 보였으면 좋겠어.라는 프롬프트와 함께 돌렸더니...

위 캐릭터가 점술가 처럼 보였으면 좋겠어 -> ...?

 

이상한 점술가가 띠용하고 나와버렸다...

 

결국 장황하고 상세한 프롬프트를 거쳐야만, 내가 원하는 대로 생성하지 않을까 싶다.

 

필자의 추천!

 

1. 기존 ChatGPT4 프롬프트 내에서 원하는 사진을 올린 후 이를 상세하게 영어로 설명을 요구한다.

 

2. 프롬프트를 통해 나온 답을 복사한 후, 새로운 프롬프트에 이미지를 다시 올리고 복사한 답을 붙여넣기한다.


3. 복사한 답 아래에 원하는 내용을 적고 사진을 생성한다.

ex) ~~ ChatGPT를 통해 요구한 그림의 대한 설명 / 위 이미지의 특징들을 살리면서 새로운 캐릭터를 생성해보고 싶어.

별의 힘을 다루는 점술가처럼 그려줘.

 

4. 프롬프트를 여러가지 시도하면서 원하는 사진이 나올 때까지 시도한다.

ex) 3D 캐릭터로 만들어줘. 색감은 너무 다채롭지 않게 해줘.

 

아래 사진은 여러 프롬프트를 거친 최종 생성 이미지