이전에 그리다 만 그림들을 ai 에게 완성해 보라고 한 지는 대강 2년 정도 되었습니다.
2023년에 GTX1080으로 굴려보다가 가능성 보고 RTX4090 을 샀지만, 여러가지 사정으로 중간에 자주 그만 두었었죠. 갑자기 일이 엄청 많아지질 않나, 좀 해볼려고 다시 작년 초에 붙들었더니 천식으로 작년 한해를 통으로 날리질 않나.. (아직도 제대로 치료 안되어 고생중입니다)
사용 초기부터 어떻게 제 의도를 잘 반영시키느냐 때문에 단순 생성보다는 ControlNet 등에 관심이 더 많았고, 이후 Canny 꾸준히 사용해보면서 이거저거 해보게 됐죠. SD1.5, SDXL기반의 LoRA도 만들어봤구요. 나중에 올리겠지만, 2024년 달력도 만들어 실물출력까지 해 봤고 (친구들에게만 돌렸습니다), 최근에는 2025년 달력도 만들어봤습니다.
뭐 당연하지만, AI 거쳐 나온 그림들이, 제가 그린 그림들보다는 대부분 낫습니다. 이미 SD 1.5 시절부터 그림 자체는 망가져도 결과 자체는 괜찮게 나왔죠. 다만 ControlNet반영하면 그림이 꼬여 나왔고, 복잡한 동세 잘 안되는 문제 등은 지금도 이전보단 낫지만 여전해서 손이 많이 가긴 합니다. 그래서 참고 정도만 쓰고 있긴 합니다.
관련 이야기들은 나중에 AI관련 이미지 작업했던 이력들 정리하면서 따로 이야기해보기로 하고 이번에는 최근에 작업 방식 좀 바꾸면서 만들어 본 내역을 써 보도록 하겠습니다.
Project Mages 라고, 몇 가지 게임들을 묶은 프로젝트들을 진행하면서 캐릭터들을 그린 것들이 있었고, 그 중 에스카라는 안경 낀 여성 캐릭터도 있었습니다. 블로그에도 그녀(https://gcempire.tistory.com/650 에서 우측 안경) 및 그녀의 후속 모습인 에스카 러스트(https://gcempire.tistory.com/589)와 에스카 애시블러드(https://gcempire.tistory.com/648)가 있습니다.
2009년쯤에 그린 그녀의 모습들 중, 창가 테이블에서 한가롭게 티를 마시는 장면을 그리다 포기한 것이 있었습니다. 그림용 노트에 연필로 스케치를 했고, 나중에 그 스케치 다듬어서 좀 더 그리긴 했는데, 결국 맘에 안 들어서 좀 진행하다 놔뒀고, 다시 꺼내기를 2번 정도 반복했던 듯 합니다. 그래서 초기 스케치와 나중에 다듬은 버전 2가지 스캔본이 존재하는데요.
아시다시피 4월 초에 ChatGPT가 이미지 생성 부분에서 엄청난 기능을 선보이면서 전세계 사람들이 지브리 그림체로 자기 얼굴 바꾸기와 같은 걸 하는 등 난리였었죠. 전 그 때 이미지 생성보다도 이미지를 인식해 표현해 주는 부분에서 꽤 감탄을 했었고, 그래서 먼저 했던 것이 제 그림 던져 주고 프롬프트 화 하는 것이었습니다. 사실 이 부분은 이미 그림 생성 시점 이전부터 많이 쓰이고 있긴 했지만, 이미지 생성 기능까지 포함되어서 좀 더 명확히 확인할 수 있게 됐죠.
그래서 다듬은 이미지 이전, 초기 스케치본을 던져서 이걸 얼마나 잘 인식해 주는 지 시도해 보기로 합니다.

위 그림을 ChatGPT에게 올려 질문해 보니 아래와 같이 이야기 해 주네요.

가장 마지막 부분에서 굉장히 놀랐습니다. 실제로 스케치하면서 의도한 풍경이 봄 가을의 오후 3-4시 정도였거든요. sd 프론트엔드 툴들로 프롬프트 뽑으면 이정도까지는 인식 못 하던데... 진짜 기술의 발전이 대단하단 생각이 들더군요.

몇 가지 제안사항을 주면서 새로이 질문을 합니다. 요구사항을 적어서 내줍니다. 사실 이 과정에서 제가 요구사항이 좀 애매모호했고, 이게 나중에 로컬에서 돌릴 때 좀 이상한 결과를 가져오게 됩니다.
어쨌거나 프롬프트는 완성이 되었고, 그렇다면 이 프롬프트로 어떤 결과를 chatgpt 는 완성할 수 있는지를 확인해 보고 싶었습니다. 그래서 그려달라고 요구를 해 보았습니다.

이렇게 해서 아래와 같은 결과가 나오게 됩니다.

세부 사항은 다르게 나왔지만, 전체적인 분위기는 잘 맞게 나왔습니다. 원 아이디어는 바깥이 거의 하얗게 비추고, 안쪽도 내부가 꽤 밝게 비추어야 하지만 스케치만으로 그걸 정확히 모두 파악하긴 좀 애매하죠. 제가 추가 상세 설명을 애매하게 한 점도 있구요.
더불어 스케치에는 묘사되지 않은 캐릭터의 의상 등은 어짜피 대화해 가며 맞춰야 했던 부분이고, 이번에는 그 부분은 로컬에 설치한 툴을 통하여 생성할 예정이어서 일단은 넘어가기로 합니다.
로컬에는 이미 StabilityMatrix 를 이용하여 SD WebUI Forge 와 ComfyUI 를 설치한 상태였습니다. 프롬프트와 ControlNet 대입해서 바로 결과 보기는 WebUI 쪽이 나으니 그쪽으로 돌려 봅니다.
처음 생성해 보니, 물이 창에서 책상을 타고 흘러내리는 장면이 나옵니다. 프롬프트를 잘못 인식하여 생긴 문제입니다. 게다가 얼굴은 제대로 안 나오네요. 아이고 ADetailer 를 적용 안 했군요.

일단 이상한 부분 안 나오도록 프롬프트를 조정해 봅니다. 몇 개 수정하니 바로 3-4번만에 잘 나옵니다.
의상만 제외하면 가장 맘에 드는 버전이 이겁니다. 다만 위의 첫 버전과 달리 창 밖이 하얗게 더 이상 표현되지 않는 점이 아쉽습니다.

이제 의상을 조정해 볼 차례. 이 캐릭터의 옷이 좀 복잡한데요. 원래는 조선 초-중기 시절의 한복과 다소 비슷하게 옷고름을 좀 우측에서 매는 동아시아스러운 옷에, 치마에 가까워 보일 정도의 품이 넓은 바지를 입고 있습니다. 얼케 프롬프트로 만들어보려 했는데 잘 안되더군요.

사실 이 버전도 나름 맘에 들긴 하지만... 제가 원하는 거랑은 좀 차이가 있습니다. 그리고 이건 아무래도 안될 거 같아서 두 번째 안인, 옷을 대충 입고 있는 버전을 만들어 보기로 합니다. 설정상으로 그녀는 절벽 한쪽에 위치한 그녀의 연구실에서 거의 아무도 만나지 않고 홀로 연구를 하고 있고, 거기서 생활하는 동안에는 옷을 대충 입고 있다는 내용이 있긴 합니다. 이를 바탕으로 옷을 적당히 걸친 형태를 표현하려 했는데, 옷이 묘사가 안되니 이것도 정공법으론 안되더군요.
그래서 결국 프롬프트를 좀 꼬아서 만들었고, 그 최종 결과는 아래와 같습니다. 두 번째 문장으로 나뉜 부분 보면 프롬프트가 덕지덕지 발라져 있고, 후속 프롬프트는 아예 다 무시된 걸 확인하실 수 있습니다.

최종 프롬프트는 아래와 같습니다.

사실 창틀의 잎사귀 문양을 얼케든 넢고 싶어서 몸부림을 쳤지만, 결국 다 씹히고 저모냥이 됩니다. 사실상 마지막 문장은 완전히 무시된 상태죠.
그래도 20장으로 거의 원하는 결과를 뽑아 낸 점은 맘에 들었습니다. ChatGPT를 사용하여 프롬프트를 뽑는 게 SDXL 로 달라고 함에도 불구하고 문장형으로 뽑아 줘서 사실 좀 애매한 부분이 있는데, 다행히 요즘 대세인 IllustriousXL 기반의 모델들은 기존 대비 문장 인식능력이 어느 정도 나아진 편이라서 양쪽의 기술의 발전의 덕을 본 셈이 되었네요.
아무튼 기존과는 다른 새로운 시퀀스로 작업 결과를 낸 점은 꽤 마음에 들어서, 관련한 작업을 Dify 등의 nocode langchain 툴을 통해 하나의 작업 시퀀스로 바꾸는 작업을 하려고 하려 했는데요. 이 글을 쓴 시점에서 dify 가 url resource 을 각 노드에서 전달할 수 없는 문제가 있어 관련한 작업이 다수 물거품이 됐다죠 ㅜㅜ. 작업 처리를 위해 comfyUI 에서 workflow 만드는 작업도 영 신통치 않은 상황이구요.
그래도 일단 수동으로는 가능해진 부분이 생긴 셈이니 당분간은 이 과정을 통하여 이거저거 해 보려고 합니다.
이번 작업에는 RTX4090 대신 새로 구입한 맥미니 M4 Pro 64GB를 사용했습니다. 원래 LLM용도로 산 물건이고, 그전까지 LLaMA 3.3 70B를 구동하여 한국어 -> 영문 번역 용도로 쓰고 있었는데요.
관련한 작업이 진도가 좀 안 나가고, 램이 많으니 좀 더 이거저거 해볼 수 있다 생각해서, 이미지 생성 툴들도 설치해보게 됩니다. 처음에는 이거저거 설치했다가 StabilityMatrix 라는 통합툴이 있는 걸 알게 되고, 그걸로 바꿔 설치한 다음에 막 새로 시작한 작업이 이 게시글의 작업이었습니다.
다만 램이 많은 것만 장점이지 속도는 많이 느립니다. 위에 제가 남긴 세팅 스크린샷을 보시면 이미지 1장 생성에 4분 30초 가까이 걸린 걸 알 수 있는데요. 아무리 손발 디테일러 다 넣은 거라곤 해도 너무 느리죠. RTX4090이라면 30-40초 내외면 다 끝났을 겁니다.
차후에 설명 드리겠지만, 현재는 M4Pro 맥미니와 RTX4090기기 양쪽이 모델 및 생성 이미지 폴더들을 모두 동기화한 상태라 동작하여, 원하는 쪽에서 생성해도 문제 없도록 만들기는 했습니다. 다만 생성 자체는 아직 수동이라서 분기 태우는 걸 자동화 할 수 있을 지 고민하고 있습니다.
맥 스튜디오 M4 Max 128G도 주문했는데요 (원래는 M3 Ultra 주문을 하고 싶었지만.. 그랬다가는 파산이라) 그걸로 대체하면 작업 자체는 좀 더 빨라질 수도 있을 거 같습니다. 다만 nVidia 의존성이 높은 WAN은 어쩔 수 없이 윈도 머신을 계속 써야겠죠.