지금까지 배운거

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


이전 글 : 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











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


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


AI그림을 접하면서 결국 궁극의 목표였던 자캐를 만들기 위한 과정에는 알맞는 모델도 중요하지만 결국엔 Fine tuning이 가능한 Lora 로라를 만들어야 하는 거 같아


**먼저 말해둘게 있어. 로라 학습은 그래픽카드가 너무너무 중요해서 학습을 하고 싶으면 코렙을 사용하거나 그래픽 카드 먼저 사는게 좋은거 같아. (난 3080)** 


지금까진 미루고 미뤘어


로라 만드는 정보글 보고 뒤로가기 누르고, 만드는 글 보고 뒤로가기 누르고...


어차피 데이터셋도 없으니 아직 만들지 못하겠다... 했는데!


기본적인 기능들은 다 건드려봤고, inpaint도 좋고 포샵질도 좋은데 노가다를 조금씩 줄이고 싶어


그니깐 이제 무지성으로 시작해볼래


근데... 머릿 속에는 컨셉이 있는데, 어떻게 시작할지 모르겠어.


그럼 천천히 하나씩 해보자... 


앞, 옆, 뒷모습을 정해둬야 앞으로 추가적인 그림의 방향을 계속 유지 시킬 수 있겠지?


그러기 위해 좋은 로라가 있다. 캐릭터 회전시키는 로라! 

Three sided view lora와 charturner이다. 나는 three sided view lora 사용해볼거다. 

각 로라는 사용시 넣어야 하는 프롬, 이미지 사이즈, 가중치 등이 정해져 있으니 잘 읽어보고 쓰자.

https://civitai.com/models/13581/three-sided-view-lora

https://civitai.com/models/3036/charturner-character-turnaround-helper


또한 배경 제거해주는 ABG remover, ABG remover를 GUI형태로 만들어서 배포해준 감사한 분도 있음 (링크: https://arca.live/b/aiart/71494133 )


이걸로 캐릭터 설정집을 만들 수 있을 거 같아

 



Cutoff 컷오프 기능을 쓰면 색상의 분배는 어느정도 가능 하다 (링크 : https://arca.live/b/aiart/71809651)

하지만 난 무지성 맨땅헤딩을 해보려고 위에 그림으로 자캐를 만들어보려고



이렇게 포토샾으로 의상의 컨셉을 정해줬어


사실 자캐 더 잘 만드려고 10만원도 안 하는 타블렛 하나 장만하긴 했는데, 이번 글에선 전.부. 일부러 마우스로 작업했음. 


아 그리고 또, 의상 자체를 일부러 난이도 있게 설정했음. 이것도 할 수 있으면 앞으로 다른 것도 할 수 있으니깐? 


그리고 Inpaint 노가다를 해주면? 



처음엔 약간 무에서 유로 만드는 과정이라서... 노가다가 들어갈 수 밖에 없다.


그래도 손으로 처음부터 이 정도 퀄리티 그리려면 하루에 캐릭터 2개만 그려도 뻗어버리는데, 이젠 시간 투입에 대한 보상이 매우 큰 편이야(라고 자기 위안)


그리고 이제 저 그림을 가지고 로라를 만들어보자


진짜 복잡한 건 너무 싫어서 


몇 개의 정보글을 봤지만 가장 무지성으로 따라하기 좋은 글을 보고 해보려고 (링크 : https://arca.live/b/aiart/68205055)


다른 글도 봐두면 도움되는 내용이 많아 (링크 : https://arca.live/b/aiart/71341748, https://arca.live/b/aiart/72077287)


어찌됐든 깔아야 하는거 하나씩 하나씩 깔아보고, 데이터 셋은 위 그림들 잘라서 반 신 4장,

전신 4장  --> 1024x1024로 스케일 up해서 씀


로라에서 Rank가 어쩌고, 뭐가 어쩌고 저쩌고 하는데 전부 다 모르겠고 글에 써져 있는 내용 고대로 갖다 넣었다.


이해하려 하지 않고 실행만 하려고 한다면 길면 4시간 동안 프로그램과 씨름하다 보면 된다. 


 (출처 : https://arca.live/b/aiart/68205055)


위에서 1번칸에 들어가는건 토큰이라는 건데 --> 뭔 역할하는지 모르니 걍 쓰라는 거 쓰고 넘어가자


여기서 난 데이터셋이 적기 때문에 여기서 repeat 수를 50으로 줄여도 되고, epoch는 4 & Rank는 4짜리 해도 충분 했을 듯?


하지만 지금은 이해하기 힘드니 다ㅏㅏㅏㅏ 모르겠고 Training 시작!


...에러가 뜬다...


...폴더 구조를 다시 제대로 바꾼다...


...에러가 뜬다...


...Random crop과 Cache Latent 같이 켜지면 안된단다....


...에러가 뜬다...


...메모리가 부족하댄다(학습 해상도를 768x768하면 더 좋다 하여 해보니 512학습에 비해 매우매우 많은 VRAM 잡아먹는다... Batch 수 줄인다...



그렇게 첫 로라 완성! 한번 테스트 해보자. 


Prompt는 the samurai charge with loud shouts and battle cries, war, warzone, extremely blue sky, holding sword, high quality, masterpiece, best quality, distinct_image, high_resolution, intricate details, extremely detailed, detailed art style, finely detailed, ultra-detailed, absurdres, high resolution, extremely detailed CG unity 8k wallpaper, contrast, vivid color, colorful, bloom, beautiful detailed glow, dramatic cinematic volumetric lighting, beautiful detailed realistic shadows, cinematic shading, best illumination, best shadow, 1girl, samurai, black hair, small breasts, red eyes, ponytail, hair ornament, katana, traditional clothes, white shirt, red glove, black pants, red obijime belt, 


seed :  1190278039로 고정


여기에 로라의 가중치는 0.6을 주었다. 



...결과는?

로라 가중치 0.6


....??? 내가 i2i돌렸나....????


로라의 자기주장이 매우매우매우 매우 매우 강하다.


가중치를 0.2로 줄여보자


로라 가중치 : 0.2


음.... .....  로라 적용을 안해보자 


로라 가중치 0


이걸 보고 나서야 알게 되는 것은

 

1. 데이터셋 태그를 잘 해야한다 (캐릭터만의 고유명사를 Tag에 넣어주고, 흔하고 자주 쓰이는 prompt를 tag에서 빼주고 (1girl, simple background, 1person 등등 ))

2. 자세가 고작 3개만 학습된다면 t2t에선 그 자세에 대한 주장이 매우 강하다는 것

3. 흰 배경이기 때문에 가중치가 높아지면 배경을 없애버린다는 것 

 

그러니 데이터셋을 늘려줘야겠지??? 도와줘 Magicpose!!! 도와줘 컨트롤넷!!!!





나에겐 많은 데이터가 필요하다 openpose 가중치 1, depth 가중치 0.6~8로 두고 다양한 포즈, 각도를 만들자


여기서 주의해야 할건 위에서 만든 Lora의 가중치는 0.5 이하로 심하면 0.2으로도 낮춰야 여러 포즈가 나온다는 것이다. 고작 앞 옆 뒷 모습으로 학습한 거라 서있는거 말고는 모르는 불쌍한 로라이기 때문이다. 또한 Prompt도 최대한 자세히 적어주자. 로라 가중치 0.2~0.4로 돌려보겠다.


보면 알겠지만 서있는 자세에서 멀어지면 완전 망가져버리네


그래도 수정할 정도는 줄어들었다! i2i Batch로도 데이터를 늘릴 수도 있다. 'anime Character sheet'으로 검색하면 여러 캐릭터 설정집을 얻을 수 있으니 i2i로 로라 씌워서 데이터를 또 늘려보자.


-->


이 과정은 Lora+ prompt로 쓸만한 이미지가 나올 때까지 만드는 것.


그렇게 조금 더 노가다를 해보자.


그나마 맘에 드는 그림을 고르고, 뽀샵질을 열심히 한다. (마우스질로 했다)



그리고 위에서 색칠 놀이를 한 이미지를 다시 i2i돌려주면? 



데이터를 증식 시킬 수 있는 것. 아래처럼 초라했던 데이터셋이 

[1차 데이터셋]



[2차 데이터셋]


2차 데이터셋으로 로라를 또 만들어보자. 


다시 맨위에서 썼던 Prompt로 t2i를 해본다 


로라 가중치 0.6


그렇네. 흰 배경으로 만든 데이터셋의 로라는 흰 배경에 대한 주장이 매우 강한 것이구나...


자세도 그렇고, 배경도 그렇고 이렇다면 어쩔 수 없다. Lora 없이 image를 뽑은걸 i2i로 lora 적용해보자. Prompt 고정, seed 고정, 







[첫 번째 lora 가중치 0.4] 

 




[2번째 로라 가중치 0.4]






i2i로는 lora의 적용으로 좀 더 다채로운 자캐를 얻을 수 있다는 것인데... 


여기서 노가다를 더 해서 여러 자세, 여러 상황 등등의 데이터셋을 늘리는 것도 좋겠지만, 한번 i2i를 무지성으로 학습 시켜보면 어떨까 했어


-->데이터셋 조금 늘리고 Tag에 캐릭터 이름 넣음 (repeat=100)


*배경있는 사진들은 지워서 다시 학습할거임 --> 너무 배경이 고정됨*


--> lora적용한 i2i batch 뭉터기로 돌려서 tag에는 캐릭터 이름 안넣음 (repeat=5)


위처럼 한 이유는 메인 데이터셋은 최대한 노가다로 원하는 이미지를 만든 이미지들이고 repeat가 높아


 아래 뭉터기로 있는 애들은 i2i에서 lora적용하여 비스무리하게 생긴 애들 학습하라고 여러 장소, 형태의 배경으로 이미지를 무지성으로 박아넣은거임 (물론 너무 다르게 생긴 캐릭터는 검수해서 지움) 대신 repeat가 낮아. 


그렇게 3번쨰 로라가 만들어짐. 


[3번째 로라 가중치 0.4 + prompt 캐릭터 이름]


음 데이터셋이 많다고 꼭 좋은 점만 있는 건 확실히 아니고 좋은 데이터셋이 있어야 하네.



위에서 컨트롤넷으로 캐릭터 설정집 형태 만든거 결과 공유해볼게

포즈에 따른 자연스러움은 증가하였지만 의상의 데이터가 너무 많이 들어가다 보니 의상이 더 고정되지 않은 문제가 있네.


어쨋든 정리해보면 이론적으로는 맨땅에서도 자캐를 잘 만들 방법은 있는 것처럼 보여.


기본적인 데이터셋을 만든다 --> 가공해서 로라 만든다. --> i2i든 컨트롤 넷으로 여러 데이터를 뽑는다. --> 또 가공한다 --> 다시 i2i든 컨트롤 넷으로 여러 데이터를 뽑는다. --> 또 가공한다.... 반복


차이가 있다면 가면 갈수록 가공해야 하는 정도가 줄어드는 것 같음.


이번 글에 쓴 내용들은 주말 2일 내내 한 결과야. 


로라도 weight 조절해서 가공의 노가다를 더 줄일수도 있을거 같아 그거도 해볼 예정이야.

(링크 :   로라 얼굴만, LoRA Block Weight 사용방법  https://arca.live/b/aiart/71644460)


결론 :

자캐 만들기는 데이터셋 잘 모아라 쌓아라 그럼 언젠간 가능하다... 아마도. 


지금까지 약 100시간 공부한 거 같다.


이젠 자캐들 로라 만들어서 데이터셋 쌓는 과정을 할거다. 


이러다 보면 언젠가 자캐를 양산할 수 있겠지... 


-To be continued Maybe.-