지금까지 배운거

WebUI 설치 - https://arca.live/b/aiart/68935395

모델 설치 - https://arca.live/b/aiart/68304467

Prompt 걍 때려 박아보기, 가중치 대충 만져보기 --> 프롬프트 정보 링크

i2i - Inpaint, Batch를 활용한 다양한 구도 --> 추천 글 : https://arca.live/b/aiart/66068091 , https://arca.live/b/aiart/69184069, https://arca.live/b/aiart/60364202 

Controlnet 설치하기_Canny, openpose, depth, seg   https://arca.live/b/aiart/69816884 

3D 모델을 이용한 Controlnet 활용 

멀티 컨트롤넷 사용   https://arca.live/b/aiart/70495537 

auto-포토샵-stable diffusion 플러그인  https://arca.live/b/aiart/71264468

Lora  만들기  https://arca.live/b/aiart/68205055 



이전 글 : Dora의 AI 그림 학습 일기-1 https://arca.live/b/aiart/70776712

               Dora의 AI 그림 학습 일기-2 https://arca.live/b/aiart/70887427

               Dora의 AI 그림 학습 일기-3 https://arca.live/b/aiart/71073257

               Dora의 AI 그림 학습 일기-4 https://arca.live/b/aiart/71490987

               Dora의 AI 그림 학습 일기-5 https://arca.live/b/aiart/71668155

               Dora의 AI 그림 학습 일기-6  https://arca.live/b/aiart/72148239  --Lora 찍어만 먹어보기

-------------------------------------------------------------------------------------------------------------










[주의] 완전 비전공자이면서 완전 뉴비가 완전 주관적인 내용을 썼기 때문에 틀린 부분 많을 수 있습니다. 


------------------------------------------------------------------------------------------------------

큼직큼직한 것들 중 이제 또 이야기할게 뭐 없을까? 나 같은 경우는 영상제작이나 애니메이션 넣기 같은 건  아직 흥미도 없고 학문적인거나, 개발자 레벨의 기능 구현-사용 등은 너무 어렵다 보니 거의 쓰는 기능만 쓰고는 있는데 


이번엔 엄청 많이 이야기 되지 않는 자잘한 기능들을 좀 소개해볼까 해. 3디 오픈포즈 활용도 내용에 넣으려 했는데 다음 글에 쓸게. 


1-프롬을 끝없이 가공하는 것도 좋겠지만, 빈 칸에 무엇을 쓸지 도무지 막막한 사람들이 많을 거 같아 (나 포함)

또 이미지 생성 돌려놓고 출근하기 매우 좋다. 마치 코인을 캐듯이... 랜덤 가챠를 매일 하고 싶다? 

그런 사람들은  Wildcard를 쓰면 좋다


2-무지성으로 가챠해서 뽑은 그림이 맘에 드는데 좀 더 배경을 넓히고 전신으로 만들고 싶은데 포토샵이나 그림판을 사용하기 싫다? 

그런 사람들은 Outpaint를 써보면 좋다



Wildcard


일단 Wildcard 와일드카드 부터다. 나는 Dynamic prompts라는 확장기능으로 wildcard쓴다. (왜인지 최신버전에서 그냥 wildcard 확장기능이 안 되더라. 그래서 잘 모르겠으니 그냥 되는 거 쓰는 거임)

23년 4월 21일 기준 webui 최신 버전에서 Dynamic prompts 확장 기능은 아직 잘 작동하고 있었다. 

(설치 방법은 https://arca.live/b/aiart/61976133 참조)

  

확장기능을 설치하면

repo\extensions\sd-dynamic-prompts\wildcards 폴더에 wildcard를 텍스트 파일 형태로 집어넣을 수 있다. 


Text 파일은 어디서 받냐고?


1. 본인이 만든다.

2. 남들이 만든거 받는다. (https://arca.live/b/aiart/70080923 , https://arca.live/b/aiart/71204517 , https://arca.live/b/aiart/70176020 , https://arca.live/b/aiart/67028479, https://arca.live/b/aiart/73004560 )

3. Chatgpt를 이용해서 단어 달라고 졸라보자.


와일드카드로 쓰일 텍스트파일을 열어보면 아래 그림처럼 단어와 '엔터'로 구분되어 있음. 그리고 텍스트 파일은 Job.txt임. 

각 줄의 단어들이 랜덤으로 Prompt에 들어가는 거임. (몇번 테스트 해본 결과 Seed number + Batch count + @ 의 숫자로 Randomize하는 듯?)



Chatgpt한테 물어봐서 쉽게 만들 수도 있어. 아래 그림처럼 단어를 추천해달라고 하면 됨

그리고 긁어서 텍스트에 붙여놓으면 Wildcard 하나 뚝딱 만들어지는 것이다. 

질문 예시 ) Can you recommend me  100 words for girls' clothes?

Can you give me 100 words for describing cyberpunk world?





위에서 말한 dynamic prompts 확장기능 설치하면 아래처럼 메뉴가 보일거임. 그럼 'Dynamic prompts enabled' 만 체크해두면 Wildcard 작동 된다.


Wildcard를 프롬트에 어떻게 적용시키느냐? 

"밑줄 2개 + Wildcard 폴더명\text file명 +밑줄 2개" --> 예시) __down/wildcard_translate/headwear-female__

위 예시처럼 Prompt에 입력하면 wildcard 폴더에서 down폴더에서 wildcard_translate폴더에 있는 headwear-female.txt를 불러오라는 것이다. 

 




Prompt칸에다가 밑줄 2개를 쓰면 가지고 있는 wildcard에 대한 자동 완성이 되니 매우 편리하다. 




위 그림대로 한번 실제로 한번 돌려보자. 

exif남겨놨으나 못 보는 사람들을 위해 결과물에 대한 Prompt 써둠.


Prompt:  amusement_park, leaning_on_person, intricate_details, highres, masterpiece_portrait, high_quality, from side, depth of field, wide shot, portrait, framed layout, headband 


Prompt에 __place__, __pose__, __quality__, __quality__, __quality__ 이딴 것들이 전부 다른 단어로 바뀐 걸 볼 수 있다.


wildcard는 다른 단어들의 조합으로도 쓸 수 있어. 예시) __color__ eyes

이미 많이들 알겠지만 prompt는 구체적일 수록 좋잖아? 그래서 나는 보통 색상은 나눠서 가챠하는 편이야


예를 들면, __color__ hair, __color__ eyes 같이 캐릭터의 특징을 구체적으로 써주고 가챠를 돌리면 재현성을 높이기 좋겠지? 


입력한 Prompts : __color__ hair, __color__ eyes, __color__ clothes, __place__, __pose__, __quality2__, __quality2__, __quality2__, __quality2__, __job__, __character-hair__, __scene-camera-Angle__


출력된 이미지 prompts :  purple_monster hair, black eyes, chestnut clothes, ocean, balancing, Superior sharpness, high_quality, Clear as day, Stunning clarity, police, asymmetrical sidelocks, wide shot 

(모델 특성상? 헤어와 눈동자 색은 너무 동떨어지기 힘들어서 Black eyes가 들어갔지만 눈동자는 보라색이다.)


저렇게 랜덤으로 무지성 이미지 출력을 하면 해당 모델이 얼마나 풍부한지도 알게 되고 예기치 못한 이미지가 나오기도 하고 뽑기하는 느낌이라 재미있다.


하루에 뽑은 이미지가 4천장이 넘어버린 모습... 


Outpaint 아웃페인팅


이렇게 무지성 가챠를 하다 보면 좀 더 이미지를 키우고 싶을 떄가 있다. 배경을 너 풍부하게 한다던지. 


그럴 때 i2i --> Outpaint기능을 쓰면 좋다. 아래 그림을 보면 i2i에서 Script 중에 'Outpainting mk2'


원리는 간단?하다.  몇 Pixel이나 늘릴것이냐? 상하좌우로 할거냐? Color vatiation은 어떻게 할거냐?? 

(참고 : https://arca.live/b/aiart/60443021)


outpainting은 mk2도 있고 poorman's outpainting도 있는데 poor man 꺼는 Fill 기능이 있어서 상황에 맞게 써주는 편.




그럼 무지성 가챠한 그림 중 하나를 가져와서 실전을 해보자

Prompts : vengeful,very_low_ponytail,cookie_brown,1girl,intricate_details,hyper detail,masterpiece_portrait,masterpiece,minigirl,warrior,santa costume,romance fantasy,((Torso_inclination))


먼저 Poor man 아웃페인팅을 해보자. (fill)에 체크하면 늘어난 픽셀에 주변색으로 자동 색 채움이 일어난다. 어떤식으로 되는지는 Denoising=0으로 두고 체크해보면 됨

주의해야 할 건 Outpainting 시, Fill 기능으로 색을 넣어주기만 하기 때문에 Denoising을 0.6~0.8로 주는 것이 좋음. 안 그럼 늘어난 픽셀에 있던 이미지들이 주변과 조화가 안되겠지? 


Pixel은 256으로 늘리면 인간모양이 튀어나올 확률이 너무 높아서 따로 네거티브에 사람 관련을 빡세게 주던가해야 한다


아웃페인팅 3회 실시



어 이미지가 아주 개판이 났네? 

이제 인페인트로 좀 고쳐보자. 



이 정도 됐으면 또 다시 Outpaint 2번 결과




그리고 마지막으로 다시 아래 화면처럼 인페인팅을 해준다. Denoising은 주변을 얼마나 변화시키고 싶은지에 따라 다르게 해주면 됨. 더 상세하게 바꾸고 싶으면 프롬까지 바꿔주면 좋지만 난 일단 귀찮으니 이 정도까지만 함


(마스크 칠하지 않은 곳을 바꾸고 싶은 것이니 Inpaint not masked 체크함)


그럼 최종 결과물은 아래와 같음 




Outpainting mk2를 쓰면 Color variation이 있어서 좀 더 컬러풀하게 바꿀 수 있다. 




이미지는 엉망진창이 됐지만 괜찮다 우리에겐 inpaint가 있다.






그리고 최종 결과물 



--To be continued?--