본문 바로가기
푸른지성의 이야기/Stable Diffusion

AI 그림 그리기(SD) #6 - 프롬프트(모델에 따른 포즈)

by 푸른지성 2023. 3. 1.
반응형

 

AI로 그림을 그리는 목적은 다양합니다.

우리는 아직 초보라, 그냥 예쁜 여자 하나 만들고 원하는 포즈를 취하거나 행동을 하는 것을 바라지만,

그 이상 나가가게 되면 여케 이외의 여러가지를 조합해서 이미지를 만들어 내길 원하게 됩니다.

예를들면, 회사 홈페이지에서 업무 페이지에 넣을 "세네명이 사무실에 둘러앉아 진지하게 회의하는 모습들"을 만들어 낼 수도 있고,

아이들을 보육하는 보육원에서는 "아이들이 뛰노는 뒷모습이 보이는 따뜻한 햇살이 내려쬐는 사진"을 만들어 낼 수도 있죠.

목적은 다양합니다.

 

하지만 그 첫번째 단추는 역시.

예쁜 여자(또는 멋진 남자) 만들기 입니다. ㅋㅋㅋㅋ

 

오늘은 모델에 따른 포즈(자세)에 대해서 배워볼께요.

저도 사실 많은걸 알지는 못합니다. 사실 10일차? 정도 되네요.

먹고 사는게 개발쪽 일을 하고 있고, 파이썬도 주로 쓰는 업무에 있기 때문에 어렵지 않았습니다만,

같이 시작하는 분들께서 헤매는 부분이 많이 있어서 이렇게 강좌를 쓰게 된 것 뿐입니다.

따라서, 엄청난 고수분들이 이미 현업으로 존재하고 계시고, 매니악한 분들도 엄청 많습니다.

한낱 비기너 입장에서 쓰는 강좌라서, 이제 처음 접하는 분들의 눈높이에 맞춰서 강좌를 올리는 것입니다. ㅋㅋㅋㅋ

그러니 고수분들의 추가 첨언은 언제든지 환영합니다.

 

여튼 ㅋㅋㅋ 포즈에 대해서 한번 실습을 통해 배워봅시다.

오늘 사용할 모델은, #4편에서 만들어낸 하얀색 여자 캐릭터를 이용해보겠습니다.

시작 프롬프트

upper body shot, solo, ((20years old:1.0) 1 girl:1.0), ulzzang-6500, (white t-shirts:1.0), (long sleeve shirt:1.0), (white pants:1.0), (light silver hair:1.0) (perm hair:1.0), (gold earring:1.0), (gold necklace:1.0), (wind:1.4),

설명 : 상체 촬영샷, 혼자, 20살의 여자1명, 얼짱스킨, 하얀티셔츠, 긴팔셔츠, 하얀바지, 밝은실버헤어, 펌헤어, 금귀걸이, 금목걸이, 바람불기

 

네가티브 프롬프트

(worst quality:2), (low quality:2), (normal quality:2)

설명 : 최악의 퀄리티, 낮은 퀄리티, 일반 퀄리티 를 제외한다.

 

우선 테스트에 사용할 모델은 Chilloutmix_NI 버전입니다.

이외의 설정은 아래의 스샷을 참고하세요.

위의 설정만 해도 오른쪽 같이 멋진 사진이 나옵니다.

프롬프트대로 바람에 흩날리는 밝은 실버(실패) 긴머리에 금 귀걸이 목걸이 한, 하얀색 옷입은 여자네요. ㅋㅋㅋ

 

모델에 따른 포즈가 얼마나 차이나는지를 알아봅시다.

프롬프트 맨 앞에 raise both hands, (양손 들기)를 추가하고 신나게 제너레이트 버튼을 눌러봅시다.

바람에 흩날리는 머리를 자랑하며 팔을 들고 모델 포즈를 취합니다.

근데 우리는 both hands 라고 입력했죠.... 왜 한쪽팔만 들죠????

양손을 드는 포즈를 한 사진은 20장중에 딱 1장이네요. 그것도 애매하게 듭니다.

프롬프트를 제대로 줬는데, 왜 원하는 포즈를 취하지 않죠???  라는 질문을 몇번 받았습니다.

 

그 이유는 우리가 사용하는 모델 또는 로라에 그 이유가 있습니다.

우선 얼짱스킨 프롬프트(ulzzang-6500,)만 제외해서 한번 다시 돌려봅시다.

얼굴들이 랜덤한 아시아 스타일의 얼굴이 되었지만, 확실히 양팔을 드는 빈도가 높아졌네요.

20장중에 10장이 양팔을 어떻게든 들었습니다.

하지만, 아직도 절반은 한쪽팔만 드는게 많이 보이네요...

 

그럼 혹시 모르니 다른 체크아웃을 사용해볼까요?

protogenX34Photorealism 이라는 모델로 돌려봤습니다.

5장을 제외한 15장이 우리가 지시한대로 양 팔을 들고 있네요.

그중에 11장은 완벽히 양팔을 들었다 할 수 있을 레벨로 팔을 들었습니다.

이제 감이 오시겠죠?

모델에 따라, 사용하는 로라에 따라 행동제약이 생깁니다.

왜냐하면 cilloutmix 제작자의 제작 목적에는 양팔을 드는 사진이 없었거든요.

멋지게 모델 포즈를 취하거나, 얼짱각도의 사진을 중요시 했으니까요.

따라서 양팔을 드는 등의 포즈에 대해서는 학습한 파일이 거의 없는 것입니다.

 

말하고자 하는 것은, 사용하는 모델에 따라 불가능하거나 구현하기 어려운 자세, 표정, 각도가 분명 존재한다. 입니다.

 

따라서 특정 모델파일로 포즈를 취할때, 절대 불가능한 포즈들이 존재합니다.

그럴때를 대비하여 포징을 하는 로라, 임베딩 등이 존재하므로, 특정 포즈를 취하고 싶을 경우 해당 로라와 임베딩파일을 다운로드 하여 사용하면 됩니다.

물론 그중에 정말 자기가 원하는 포즈가 없을 확률도 있습니다만, 직접 만드는 방법도 있으니, 나중에 강좌를 통해 직접 만들어도 봅시다.

 

자. 포즈로 돌아가서.

AI입장에서 raise both hands 만으로는 어느정도 팔을 들어야 하는지 모릅니다.

적당~히 들면 되는거 아니야? 라고 해서 위의 이미지를 만들어 냈죠.

그럼 raise both hands to the sky 라고 입력해봅시다.

이제 좀 AI가 알아들은것 처럼 보입니다.

물론, 적당한 명령을 통해 AI가 갖고 있는 DB에서 랜덤한 포즈를 가져오는 것도 재미있지만,

반대로 완벽히 지시를 할거면, AI가 생각할 겨를을 주지 않으면 됩니다.

 

영어로 입력이 어려우면 무료 번역기 사이트를 통해서 번역해서 올리면 되니, 

번역을 통해 여러가지 포즈를 취해보세요. (저역시도 번역기 도움을 받습니다)

 

팔 드는건 해봤으니, 이제 어디를 볼지를 정해봅시다.

악명높은 "지면 바라보기" 를 도전해보죠!!

말 그대로 땅을 보는 겁니다.

간단해 보이지만 그것 자체가 어렵습니다.

 

다시 Cilloutmix_NI 로 모델을 선택하고 

이 게시글 맨 위에 있는 시작 프롬프트로 변경한 다음, (girl see the ground:1.0), top view, no posing,"을 추가한 다음 돌려봅시다. 

여자는 지면을 본다, 위에서 촬영, 포즈 취하지마

20장중 성공률 제로입니다.

뭐가 문제지? 나는 그냥 상공에서 찍은 땅을 쳐다보는 여자를 찍고 싶었을 뿐인데, 말 들어주는 애가 하나도 없네요.

아... 영어 문제인가... 역시 AI세계는 영문학과 졸업생이 대세가 될 것인가....

 

좀 더 디테일 하게 프롬프트를 넣어봅시다.

(see the close ground:1.4), walking, top view,  upper body shot, close up face,

가까운 지면을 본다, 걸어가면서, 상단에서 찍고, 상체샷, 얼굴 근접

그나마 요구조건을 들어준 사진이 생겼습니다.

 

결과물로서 유추할 수 있는 것은,

역시 원하는 대로 만드는것은 어렵다(제약이 많다) 라는 겁니다.

별도로 존재하는 추가 기능을 사용하지 않고, 

프롬프트로만 원하는 모델로 원하는 결과물을 얻으려면 몇십번 몇백번 돌려야 나옵니다.

그나마 그중에서 괜찮은것들을 취합하고, 시드를 복사해놓고 사용하는거죠.

이제 20장씩 뽑아가며(가능하다면 100장씩 해도 좋지만, 시간이 꽤 걸리므로)

공통된 하지 않았으면 하는 포즈도 정해서 네가티브 프롬프트에 넣습니다.

 

될것 같은데??? 하는 포즈는 이런식으로 나올때까지 포즈를 취하고 사진을 취득하면 됩니다.

이런 포즈는 안되겠지... 하는 것은 포즈를 취하는 전문 로라나 임베딩 파일을 검색해서 다운로드&설치후 하시면 됩니다.

 

최근들어 원하는 포즈를 직접 선을 긋던지, 이미 있는 사진의 포즈를 재활용한다던지 하여,

아주 강제하는 SD의 부가 프로그램도 나왔습니다만, 초보 입장에서는 아직 사용하기 어렵습니다.

그 기능도 초보입장에서 사용하는 법을 별도로 추가해보겠습니다.

 

참 쉽지 않죠?

AI입장에서도 쉽지 않을겁니다. ㅋㅋㅋㅋ

 

자 다음편에 계속

반응형

댓글