SD로 생성한 그림에 예쁜 옷을 입히기 위해 LoRA 를 사용하곤하는데, 이렇게 하면 얼굴이 변경되는 문제가 있다. LoRA 를 트레이닝 할 때 사용된 이미지에 얼굴이 있고 이게 이미지 생성시 반영되기 때문이다.
그래서 요즘 나오는 의복용 LoRA 에는 일부러 얼굴을 학습시키지 않는 경우도 있다. CivitAI 에서 봐도 이렇게 트레이닝된 LoRA 들이 꽤 보인다. 이런 LoRA 는 얼굴이 변경되지 않기 때문에 이미지 생성하기 편해진다. 문제는 예전에 작성된 LoRA 다. 이런건 답이 없다.
그래서 생각해낸게,
"540x960 에 Hires. fix 를 사용해 1080x1920 이미지를 생성"
하던걸
1. 540x960, Face Editor 사용 (Face Editor 용 프롬프트는 LoRA 제거한 프롬프트로 넣음) 2. img2img 에서 LoRA 제거한 프롬프트를 넣어 SD upscale.
와 같이 진행한다. 이렇게 하니 만족할만한 결과가 나왔다. 얼굴이 거의 LoRA 사용 전의 모습으로 나오기 때문이다. 아래는 그 예이다. 이 이미지에 사용된 LoRA 와 그 해시값은 아래와 같다.
주황색, 적색 헤어를 가진 캐릭터를 그려 보았다. 요즘 나오는 에니 실사 영화에서 예쁜 적발 캐릭터가 하나 없어진 아쉬움에 그려보았다.
전세계적으로 원래 적발도 꽤 흔한건 아니고, 꽤 많은 차별이 있어왔다고 알고 있다. 아니 있다. 역사적으로 이들도 꽤 많은 차별을 받아왔는데, 어느 에니에서 적발 캐릭터를 바꾼다는게 이해가진 않는다. 적발, 차별 정도로 인터넷 검색해보면 쉽게 검색된다. 적발은 아일랜드계에 많이 있는데 아일랜드와 영국의 역사를 참고하면 쉽게 짐작할 수 있다.
Stable Diffusion 에서는 적발이 묘사가 잘 안되는거 같아 오렌지 색으로도 프롬프트를 주어 작성했다.
요즘에 가장 핫한 AI 알고리즘이 Transformer 라는 알고리즘이다. 대규모 언어 모델을 구현할때 많이 사용한다. xFormers 는 페이스북에서 만든 Transformers 기반의 성능향상 파이썬 모듈이다 nVidia CUDA 에 최적화되어있다. Stable Duffusion 에도 Transformers 가 있기 때문에, 이 부분을 성능향상시켜준다.
Transformer 아키텍처.라고 한다.
몇일전에 xFormers 0.0.20 이 나왔다. 성능이꽤 많이 향상되었다고 해서, 한번 써 봤다.
2023.05.26 현재 Stable Diffusion webUI에서 소스 수정없이 설치되는 xFormers 버전은 0.0.17 이다. 조만간 0.0.20 을 사용하도록 변경할 것으로 생각한다.
필자는 RTX 2060 12G 을 사용하고 있다. nVidia 홈페이지에서 윈도11용 드라이버를 새로 받았고, Stable Diffusion 디렉토리의 venv디렉토리를 지우고, launch.py 를 수정해 xFormers 0.0.20 을 설치했다.
결론부터 말하자면, 꽤 만족할만한 성능 향상이 있었다. xFormers 0.0.17 으로 2:27 걸리던 이미지 생성시간이 XFormers 0.0.20 으로 업그레이드 하니 2:04 이 걸렸다. 20여초나 단축한 셈. 매우 많은 성능향상이다.