번거롭게 외부 웹 사이트나 실행 파일 깔지 말고 Web UI에 내장된 업스케일러 사용법을 알아보자.



masterpiece,

black hair to chest, parted bang, purple hairpins, small breasts,

(white bra:1.2), (black school blazer yellow lines:1.2), (purple ribbon necktie:1.1)

1girl, purple background, (anime art:0.5)


... cleavage, string panties, blush, nsfw, game cg, braid


짤을 다 깎은 경우를 생각해보자. 크기를 처음부터 크게 잡으면 압도적으로 느려지는 생성 속도, VRAM 처묵, 무엇보다 불안정해지기 쉬운 내용때문에 긴 방향이 768픽셀정도만 하지.


하지만 768픽셀로 소장하기는 너무 아까우니까 써야 하는 게 업스케일러. 나는 인페인팅 중간에도 몇 번 쓰는데 이유는 제목에도 나와있듯 자꾸 흐려지니까... 자세한 건 뒤쪽에서


먼저 알아둬야 할 건, 업스케일러들은 Stable Diffusion처럼 신경망임. 원본 데이터를 많이 참고하긴 하는데, 본질적으로는 (큰 크기의 "진짜"와는 전혀 다른) 그냥 새로운 이미지를 만드는 거임. 근데 최대한 "진짜"처럼 보이는 이미지를 뽑도록 교육시킨 거


어쨌든, Web UI 돌릴 수 있을 정도의 사양이고 내장 업스케일러에 만족하는 경우에는 불편하게 http://waifu2x.udp.jp/ 에서 횡단보도 찾거나, 광고 보면서 기다리지 않아도 됨.


Extra 탭


기본 상태에서는 이렇게 생겼는데, Upscaler 1에 BSRGAN이나 ESRGAN 선택


나같은 십딱 그림, 거기서도 플랫한 그림체에는 BSRGAN이 더 깔끔하게 나오지만 약간 느린 편이고, --deepdanbooru 켠 상태 + 원본 이미지 448*640 기준 VRAM 8GB에서 4배는 턱걸이고 2배도 여유 없으니까 6GB면 그냥 힘들 수도 있음

ESRGAN은 노이즈가 좀 있지만 더 가볍고, 경우에 따라선 덕분에 더 좋을 수도?


아래 세 슬라이더는 얼굴 복원 전문인데 십딱 그림체에는 쓸 일 없음


마지막으로 Generate 버튼 누르면 ...\outputs\extras-images 폴더에 업스케일된 이미지가 저장된다.


x1.5 좌: ESRGAN 우: BSRGAN. 챈 업로드되면서 압축되므로 실제 결과와 다름


하지만 이 기본 활성 업스케일러들 말고, 십딱에 더 최적화된 업스케일러들을 알려주겠음


1.

 

Settings 탭


"R-ESRGAN 4x+Anime6B" 체크하고 Web UI를 껐다 키면 업스케일러에 동명의 선택 옵션이 추가된다.


2. https://upscale.wiki/wiki/Model_Database#Anime 에서 "4x-AnimeSharp" 모델 다운로드. pth 파일을 ...\models\ESRGAN 폴더에 넣고 Web UI를 껐다 키면 업스케일러에 동명의 선택 옵션이 추가된다. 


둘 다 애니메이션 데이터셋으로 학습했고, R-ESRGAN은 ESRGAN의 직속 후계 아니랄까봐 속도도 엄청 빠름


x1.5 좌: 4x-AnimeSharp, 우: R-ESRGAN 4x+Anime6B. 챈 업로드되면서 압축되므로 실제 결과와 다름


이하 비교


그냥 ESRGAN은 여기 쓰기에는 좋은 점이 없어서 넘어감.


순서대로: 원본(Lanczos), BSRGAN, AnimeSharp, R-ESRGAN Anime6B


리본쪽을 보면 원본부터 검은 테두리 밖에 또 흰 줄이 보이는 샤프닝 아티팩트가 있는 걸 볼 수 있음. 내가 한 번 했거든...

BSRGAN은 이것마저 아예 없애버림. AnimeSharp는 좀 남아있고, R-ESRGAN은 다소 약해짐.

원래 다른 곳보다 선명도가 떨어졌던 자켓 오른쪽 카라 장식은 셋 모두 제대로 선명하게 해줌. 그런데 흐린 효과를 원하는 곳이었다면 별로 좋지 않은 결과일 수도 있겠지, 어쨌든 초록색 강조 표시된 부분을 보면 R-ESRGAN이 제일 잘 해줬다. 



챈 이미지 압축때문에 잘 안보일 것 같긴 한데, 어깨 재봉선도 다름. AnimeSharp는 원본에 있던 선 굵기 차이를 그대로 유지했음. R-ESRGAN은 선 굵기가 균일해졌는데, 원본의 잔 명암도 억제해서 좀 더 단색에 가까워짐.


BSRGAN은 그 중간 쯤인데, 다른 거랑 나란히 두면 전체적인 색이 좀 붉게 변하는 편. 모니터에 따라, 그리고 본인 색 구분력에 따라 다 같아보일 수도 있을 정도의 차이긴 함



이러면 보이겠지?



속옷 쪽은 R-ESRGAN의 공격적인 선 정리가 디테일을 좀 뭉개놨고, AnimeSharp가 원본과 제일 비슷함.


이렇게 업스케일러들은 모두 성질이 다르기 때문에 그림체에 맞는 걸 선택하는 게 중요하다. 그러니까 소개해준 업스케일링 모델들을 ((((realistic))))에 쓰면 어떻게 될지 몰?루




업데이트*

흐려지는 건 그냥 그림체 다른 이미지랑 섞여서 그런 거였고 스타일 프롬프트 빡세게 주니까 괜찮더라...


그러면 인페인팅 중간중간 업스케일링을 해주면 좋을 수도 있는 이유에 대해 말해보겠음



기존 프롬프트에 ((sweat)) 추가해서 i2i 돌린 모습임. 전반적인 모습을 유지하기 위해서 디노이징을 0.2만 주고 돌렸는데, 선의 해상력이 좀 떨어지게 됨. 잘 안보일테니 0.1씩 5번 돌린 것도 아래에 첨부하겠음



이 정도면 흐릿해지는 게 눈에 띈다. 마스킹을 해서 한 곳만 계속 조지면 조질 수록 그 부분만 점점 흐려지게 되는 거지. 그거 잡으려고 마스킹 없이 디노이징 0.05~0.15 정도로 돌리게 되면 그것대로 이미지가 또 날라가고. 블루아카 캐릭 일러처럼 선이 명확한 쪽을 바라는 경우 좋지 못함.


처음에는 이게 내가 밑그림을 너무 대충 그려서 흐린 부분으로 처리한 건가 싶었는데 아니더라고. 이전 글에서 디노이징을 낮게 잡으면 필요 스텝이 줄어든다는 건 말 했는데, 이거 때문인 것 같음.

절대적인 스텝 수가 선명도에 중요한 게 아니고 원래 스텝 필요 수, 즉 디노이징 = 1.0일 때의 스텝 수와 비교했을 때 스킵하는 분량이 높아져서 그런 거. 왜냐면 스텝을 최대로 올려도 디노이징이 낮으면 뭉개지는 건 똑같거든.

그렇다고 디노이징을 높게 잡으면 이미지 다 헤집어 놓으니까 안되겠지?


그래서 중간중간 업스케일링을 돌려주면 경우에 따라 썩 좋을 수도 있다는 거. 위에서 봤듯, 업스케일러들은 이미지 크기만 키워주는 게 아니라 선명도도 잡아주니까. 그리고 경우에 따라서 마스킹때문에 생긴 미묘한 색깔 차이도 업스케일 과정에서 잡히게 됨


워크플로가 아래처럼 되는 것

t2i -> 인페인팅... -> 약간 업스케일링 -> 원래 해상도로 다시 인페인팅... 반복 -> 최종 업스케일링


아무튼 오늘의 결과 보고 가, 리본을 좀 올렸어야 했는데 아쉽네