안녕하세요
AI 그림 제작 연구에 진심인 Chals 입니다.
가능하면 모공에 데일리로 한두장의 이미지와 함께 간단히 글을 남기려 했는데...
어젠 AI 시스템으로 진행한 외주 프로젝트의 데이터 정리도 해야했고, 진행 중인 AI 데이터 학습을 위한 자료 수집을 마치고 학습을 계속 돌리느라 너무 피곤한 나머지 기절하고 말았습니다.
글을 쓰다보니 길어질 것 같아 모공보다는 사용기란에 올리는게 낫겠다 싶어 사용기란에 글을 작성했습니다. (혹시 사용기로써 다소 부족한 내용이라면 다른 곳으로 옮기겠습니다.)
오늘은 제가 AI 그림 연구에 집착하는 이유에 대한 잡설로 먼저 시작해보려 합니다.
지난해 처음 Novel AI를 통해 AI 이미지 생성을 접했을 때는 참 신기하고 재밌는 시스템이 나왔구나 싶었습니다.
그림의 퀄리티가 나쁘진 않았지만 뭔가 좀 특정 취향(10Duck...)에만 치중되어 있고, 정보가 많지 않아 다루기도 쉽지 않았죠.(결정적으로 유료 서비스여서 아깝기도 했습니다.)
그런데 얼마 지나지 않아 NAI 엔진이 유출(?)되며 Stable Diffusion(SD)이 급성장을 하기 시작했습니다.
다양한 그림체와 스타일의 Checkpoint(모델)가 쏟아져 나왔고 편리한 확장기능에 하루하루 무섭게 발전하는 AI 그림 생성 기능을 맛보기만 해도 너무 시간 가는줄 몰랐죠.
엄두도 못낼 만큼 높은 퀄리티와 상상도 못한 구도와 연출, 표현력은 정말 인간의 능력을 훌쩍 뛰어넘는 놀라운 결과물에 정신이 홀딱 빠져버렸죠.
그런데 몇일 동안 비슷비슷한 이미지만 뽑다 보니 이내 금방 식상해 졌습니다.
뭐랄까...
그냥 어릴 때 누나 덕분에 경험해 본 종이 인형놀이 같다는 생각이 들었습니다.
그저 예쁜 캐릭터에 옷을 갈아입히고 악세사리를 붙이던 그런 종이인형 놀이 말이죠.
(여긴 남초 커뮤니티라 아실려나 모르겠네요 ㅎㅎ)
그런데 이 좋은 시스템을 그냥 이런 이미지나 만들고 놔두기엔 너무 아깝다는 생각이 들었습니다. 이 시스템을 더 연구하고 잘 활용하면 그동안은 제 능력으로 할 수 없던 좋은 결과물을 만들 수 있지 않을까? 라는 생각이 들었습니다.
저는 단 한 장이라고 하더라도 이미지에서 무언가 연상이 되는 이야기가 담겨 있는 그림을 만들고 싶습니다.
20여년 전 친구들과 낙서 수준의 만화를 그리고, 일러스트레이터를 꿈꾸던 그 시절에도 마찬가지 였습니다.
미끈한 펜선과 테크니컬한 채색에 목메달기 보다는 등장 인물들의 상호작용, 풍경과 이야기 속에 어우러지는 인물들간의 관계를 그리는 것을 더 좋아했습니다.
네...그런데 전 그림실력은 한참 모자라면서 꿈만 컸고, 실력은 쉽게 늘지 않고 제자리 걸음이었기에 완성도 못한 콘티수준의 러프 스케치만 쌓여갔습니다.
그런데 세월이 흘러 AI 그림 생성 시스템이 등장하면서 그림 '존잘러'가 아니더라도 아이디어 구상과 스토리텔링을 바탕으로, 그림에 대한 기초적 지식과 실력만 있으면 내가 원하는 그럼 그림을 그릴 수 있게 되었습니다.
막연한 기대로 고생길로 들어서는 것 같지만, 짧은 연구 기간동안 다양한 시도를 하면서 내린 결론은 '가능성은 충분하다'라는 생각이 들었습니다.
저는 목표하는 테마가 있습니다.
바로 한국적 이미지의 생산 입니다. 다시말해 국뽕;;
지난 글에서 간단히 언급한 내용대로 AI 툴을 통해 조선 후기나 개화기를 배경으로 하는 퓨전 사극 만화 한편 만들어 보고자 하는게 제 목표입니다.
개인적인 염원과 포부가 담긴 이 프로젝트를 위해 다각도로 AI 그림 생성을 진행하고 있습니다.
지금은 초기 단계로 쉽게 시작해 볼 수 있는 한복 이미지 학습과 제작을 진행 중입니다.
몇몇 분들이 이미 여성 한복 LoRA를 생산해 주셔서 여성분들의 한복St. 작품들이 간간히 나오고 있습니다.
저도 여러 분들이 제작해주신 LoRA를 적극적으로 사용중입니다.
다만 아무리 AI가 뛰어나고 훌륭한 툴이라고 해도 몇일 사이에 뚝딱 하고 만들어지진 않을 것 같습니다.
그래서 단기적 목표가 아닌 장기 프로젝트로 하루하루 차근차근 준비하고 있습니다.
(살짝 불안한 건 제가 연구하고 익숙해지는 속도보다 AI의 발전 속도가 너무 빨라서 제가 못쫓아 갈까 봐 그게 더 걱정이긴 합니다. ㅎㅎ)
핵심을 말하자면...지난번 글들에 이어 한복 생성 연구에 대한 이야기를 이어가려 합니다.
AI 그림 생성의 엔진격인 Model(Checkpoint)에는 정말 많은 정보가 담겨있긴 합니다만, 주로 사용하는 유저들의 취향에 따라가는 건지 대부분 여성과 Sexy 위주의 컨텐츠가 너무 많이 담겨있습니다.
AI 발전 속도는 굉장히 빠른데도 불구하고 남성, 노인, 사물 등의 데이터는 다소 부족한 편입니다.
그나마 최근 AI 이미지 생성에 관심도가 높아지며 다양한 분들이 다양한 소재로 Model을 생성하고 병합하는 추세라 취약한 부분은 점차 메워져 나갈 거라 생각합니다.
다만, 아무래도 해외에서 반응이 뜨겁고 태초가 일본, 중국의 데이터베이스로 제작되었기 떄문에 한국적인 이미지 데이터는 거의 0에 가까운 형편입니다.
아무리 프롬프트에 Korea, Korean을 때려박아도 한국적인 이미지는 튀어나오질 않습니다. 심지어 한국적인 요소는 프롬프트 데이터 Sheet에 몇개 존재하지도 않아요.
허깅페이스나 Civitai에서 공유되는 모델들 중 어떤걸 사용하더라도 기본적으로 프롬프트에 Hanbok을 입력하면 일본식 기모노나, 중국식 복식만 그려줍니다.
한복 관련 데이터가 담겨있는 모델이 이 글을 쓰는 지금 이 순간에도 아직 없습니다.
(물론 누군가 지금이라도 Hanbok LoRA를 병합한 모델을 드림부스 학습을 통해 만들어 낼수도 있겠네요 ㅎㅎ)
근데 그나마도 현재 한복을 구현할 수 있는 LoRA가 제가 아는 한도 내에서 4 ~ 5종이 공유되고 있는데 아쉽게도 모두 여성 한복만 구현 됩니다.
역시 제작자나 주 사용층의 취향 반영이겠죠...
그래서 저는 요즘 조선 후기 ~ 근대의 한복 데이터를 수집하고 분류하여 학습을 진행하고 있습니다.
아직 학습을 진행한지 얼마 되지 않아 초기단계이고, 필요한 특정 분야의 복식만 테스트하고 있어서 결과물이 썩 훌륭하지 않습니다.
한복 학습을 진행하면서 진짜 못해먹겠다 싶은 부분이 많습니다.
이미 몇몇 LoRA가 공유되고 있는 여성 한복의 경우 비교적 쉽게 제작과 적용이 가능합니다.
겉으로 보이는 부분만 놓고 보면 저고리 + 치마의 단순 구조인데다 상하로 짧은 저고리와 발 끝까지 덮을듯한 긴 치마가 조선 후기 여성 한복의 특징입니다. 머리장식도 비교적 단순합니다. 쪽진 머리와, 잘해야 댕기같은 장식으로 마무리 합니다.
하지만 남성 양반 한복은 좀 경우가 다릅니다.
남성 한복은 두루마기의 길이가 아주 길지 않아 바지 밑단이 보이는데다 레이어드 형태로 속의 옷이 바깥으로 드러나는 구조로 되어있습니다.
긴팔 저고리(한여름에도-_-;;)와 바지, 거기에 반팔 형태의 두루마기 조합이 가장 많습니다.
허리 부분을 조이는 허리끈은 복대의 형태가 아닌 길게 늘어트리는 형태로 되어있습니다. (일부 가는 끈을 사용하는 경우도 있습니다만 드물더라구요)
옷은 그래도 쉬운편입니다. 고개를 들어 위로 올라오면 더 난리가 납니다.
조선 시대 남성은 기혼자의 경우 상투를 틉니다.
그런데 조선인의 상투는 구조가 참...복잡합니다.
일본과 중국식은 머리를 말아올리고 묶어서 상투 끝부분을 묶은 형태가 일반적이고 그 상투 끝부분에 장식을 하는 경우가 많습니다.
그에 반해 한국식 상투는 머리를 말아올리고 묶은 형태는 동일한데, 망건이라는 헤어밴드(?)를 두릅니다.
게다가 이게 씨스루에요 ㅎㅎ
거기에 빛이 약하게 투과되는 소재(말꼬리털 말총이라고 하죠)의 갓을 씁니다.
갓의 형태도 머리를 감싸는 모자의 형태가 아니고 위에 얹어 올리는 형태의 챙이 넓은 뚜껑 느낌입니다.
(갓을 모자로 인식하는 AI에서는 자꾸 갓의 높이를 못잡고 괴상한 위치에 그려넣는 오류가 많습니다.)
결국 일반적인 모자로 규정할 수 있는 형태가 아니라 정확한 구현이 쉽지는 않습니다.
여기에 반드시 갓끈이 포함되며, 경우에 따라 장식이 달린 긴 끈이 추가됩니다.
학습용 데이터를 모을때는 크게 신경을 쓰지 않았는데 이부분이 학습 과정에서 아주 멘붕을 불러 일으킵니다.
얼굴 옆선의 구렛나루를 따라서 턱까지 긴 검은 끈이 묶여있는 형태다보니 이미지를 생성해보면 남자들이 죄다 구렛나루가 엄청 긴 사람 처럼 표현 된다거나, 턱 밑에 검은 리본을 수염처럼 달고다닙니다.
게다가 장식용 갓끈은 길이가 길어서 한복의 상의를 침범합니다.
그래서 갓이 없는 이미지를 생성해도 한복 윗쪽에 정체모를 선이나 장신구가 그려집니다. 미치고 팔짝 뜁니다. (여러분...아직 신발은 이야기도 꺼내지 않았습니다.)
결국 지금은 학습 데이터를 수집하고 정제할 때 경우의 수를 모두 분리해서 데이터를 분류하고 재 학습을 진행하고 있습니다.
학습을 해보신 분들은 아시겠지만 학습데이터는 모두 Token이라는 것을 사용하는데, 대부분 의상의 경우 1Token이면 끝나는데, 남성 한복의 경우 완벽하게 학습을 진행하려면 세세하게 분류해서 8 ~ 10Token을 사용합니다.
네 미친것 같습니다.
하지만 뭐 보이는 부분만 구현하는게 중요하지 않겠어요? 그래서 타협을 보고 진행 중인데 3단계로 분류해서 옷, 상투(+망건), 갓으로 분류해 학습을 진행하고 있습니다.
간단하게 생각하고 시작한 일인데, 잘하고자 하는 마음이 앞서다보니 일이 너무 커지고 있습니다.
그래서 스스로 적당히 타협하고 '구현'에만 집중하고 최소한의 학습으로 최대한의 성과를 내기위해 계속 연구하고 있습니다.
앞으로 할일이 너무 많습니다.
지금은 양반 계급의 남성, 여성 한복 학습데이터만 존재하는데, 저는 앞으로 궁중 복식(이거 왕까지 포함해서 대신, 나인, 내시, 의금부, 내의원 등으로 카테고리를 세분화해서 나누면 최소 수십가지 입니다. ㅠㅠ), 평민과 그 이하 노비등의 복식, 더 나아가 빌런(????)으로 등장할 각종 산적, 도적 등의 분류까지 생각하면 혼자서 감당할 수준은 아닙니다.
그런데 제가 이런 작업을 천천히 하나씩 하다보면 언젠가...누군가 저와 비슷한 생각을 하는 사람이 나타날 것이며, 다양한 것들을 만드는 분들이 있을 거라 봅니다.
궁극적으로 다른 분들이 동의하고 공유를 하셔야 하겠지만 이렇게 만들어진 다양한 학습데이터를 취합해 'Korean' 스타일 병함 Model을 완성하는 것이 궁극적인 목표입니다.
그때가 되면 누구나 손쉽게 한국적 컨텐츠를 출력하는 순간이 올거라 생각합니다.
그 이후에는 한때 큰 인기를 끌었던 '손장원 작가'님이 그리신 '조선판 사이버펑크' 같은 컨셉 이미지도 쏟아져 나올 것 같네요 ㅎㅎ
그날이 빨리 오길 고대하며, 오늘의 글은 여기까지 쓰겠습니다.
긴글 읽어주시느라 고생하셨습니다.
감사합니다.
Ps. 오늘은 3메다 쯤 쓴거 같은데 지난글에 댓글 남겨주신 분이 만족 하실런지 모르겠습니다. ^^;
Ps2. 초기에 학습 진행한 남성용 한복 학습데이터 공유합니다. (갓+상투+한복 통합버전 v0.1)
같은 데이터로 학습한 HyperNetwork 버전과 LoRA 버전이 있습니다.
LoRA 버전은 얼굴 구현이 자유로운 반면에 갓~한복 구현율이 좀 낮고,
HyperNetwork 버전은 가중치 0.7 이상이면 갓~한복 구현율이 꽤 좋지만 얼굴이 작게 표현되고 외모가 좀 고정됩니다.
Inpaint로 얼굴만 따로 수정 하시면 쓸만합니다.
하이퍼든 로라든 사용하실때 긍정태그에 hanbok, hat, topknot, headband 같은 태그 넣으셔야 하구요 부정태그에 out of frame, 넣으시는 걸 추천 드립니다. 또한, 한복 복식만 적용하고 싶으시면 부정태그에 hat, topknot, headband 같은 태그에 가중치 넣어주시면 됩니다.
HyperNetwork 버전
https://drive.google.com/file/d/1CeSRuhg-pLtntED3w7KG6tZGlK158cYY/view?usp=share_link
LoRA 버전
https://drive.google.com/file/d/13GPX297sj_dBL-iz2nvnkC-JirajcQMV/view?usp=share_link
이제 시작일지 몰라도 고생 많으셨습니다.
기대하시는 그날이 꼭 올겁니다.
이런일을 시간내서 할수있는 분. 너무 동경합니다.
로라가 활용성에서는 좋지만
구현 성에는 Checkpoint에 학습 시키는 것이 가장 좋더군요.
요즘에는 다들 알아서 머지시키고 필요한 데이타 따로 빼고 Checkpoint에서 로라로 만들기도 하더군요.
한국(한국적인 칼라, 한복, 한국적인 가옥 양식, 한글 간판, 한글 글자가 적힌 옷, 한국음식 등등)이라는 테마로 Checkpoint가 나왔으면 하는 바램도 있지만 이건 개인이 하기에는 많이 어렵죠. 생각보다 한국 자료가 많이 공유되어 있지 않아서 특히...구현성이 높은 학습을 시킬려면 직접 촬영해서 사진이미지를 만들지 않는 한 생각보다 학습에 좋은 사진들은 적더군요.
특히 아직은 그림 스타일도 다양하게 적용해 보고 싶어서 다른 모델 파일을 바꿔가며 그림을 뽑는게 더 즐거워서요.
특히 데이터가 대부분 실사 데이터다보니 학습은 실사 모델로 해야 하는데 드림부스에 합쳐서 학습 시키려면 결국 실사/반실사 베이스가 되어야 해서 제한이 큽니다.
향후에는 당연히 Checkpoint를 만들 계획이지만 일단 초기에는 데이터에서 특징 위주로 잡는 LoAR가 더 적합하다 판단 됩니다.
정말 멋있습니다.
다만 어설프게나마 콘티라도 그릴 수 있다면 훨씬 쉽게 제작 할 수 있습니다.
그리고 한복처럼 우리가 이미 알고 있는 이미지를 ai가 조금만 이상하게 뽑아도 어색한 느낌이 들구요.
이젠 ai를 어떻게 잘 활용할지도 제대로 배워야할 시대인 것 같네요.
존경스럽습니다 !!
저도 뭔가 좀 시도해 보다가 지금은 그냥 재미 삼아 가끔 몇 장 출력해 보는 정도인데...
그리고 발전 속도가 빠르다 보니 좀 만 더 있으면 원하는 이미지 뽑을 때 이렇게 고생 안해도 되겠다 싶어서 깊게는 못들어가겠더라고요. Chals님 같은 분이 계시니 저희 같은 사람이 나중에 좀 더 편하게 사용할 수 있는 거겠죠