[튜토리얼]이미지의 크기를 내멋대로 늘려보자! <Upscale -1-> + GAN 이해해보기~
본문 바로가기
ai 만들어보기(feat ai artwork lab)

[튜토리얼]이미지의 크기를 내멋대로 늘려보자! <Upscale -1-> + GAN 이해해보기~

by mement0mori 2023. 7. 7.

이건 기본 중의 기본이니까 한 번 짚고 넘어가봅시다. 일단 1편은 역시나 제일 간단한 방법~

좀 더 큰 사이즈로 학습한 파인튠 모델로 이미지를 뽑는다고 해도 2k, 4k 급의 고화질의 이미지를 뽑는 건 어려운 일이며 애초에 학습을 그렇게 큰 이미지로 했다가는 아주 시스템 자원이 한도 끝도 없이 필요해질 겁니다. 그래서 스테이블 디퓨전 기본 설정 생성 이미지 자체도 512X512 사이즈밖에 안 되죠. 그러니 좀 쓸만한 이미지 해상도를 얻기 위해 upscale은 필수불가결입니다.

기본적으로 생성할 때 Hires.fix라는 옵션을 택해서 upscale까지 한 방에 진행할 수도 있지만 별로 권하지는 않고요. 다들 추천하듯 extras탭을 이용해서 진행하도록 하겠습니다. 루틴은 역시 너무 쉽고 단순합니다.

1. extras로 생성 이미지 보내기

2. upscale 설정

끝입니다.

1. extras로 생성 이미지 보내기

이미지를 생성합니다. 제가 뽑은 설정은 아래와 같습니다. civitai에서 cyber_realistic 모델 예제 복붙한 겁니다. 그 다음 Send to extras 클릭~

upscale 하기 전 원본 이미지 이미 쓸만하긴 하네요;;;

2. upscale 설정

extras탭에 가보면 아래와 같은 설정창을 볼 수 있을 겁니다.

일단 scale by탭에서 Resize 수치는 이미지를 몇 배로 키울지 묻는 겁니다. 4면 4배로 키웁니다. Scale to탭을 누르면 사이즈를 직접 입력할 수 있습니다.

여기서 중요한 건 업스케일러Upscaler를 선택하는 겁니다. 위처럼 이미지가 별 문제 없이 나왔다면 GFPGAN이나 CodeFormer는 건드릴 필요없습니다. 이건 Face Restoration에 쓰이는 옵션으로 간혹 얼굴 부분에 문제가 생긴 이미지의 경우 위 옵션을 이용해 업스케일과 동시에 보정을 할 수 있습니다. 지금은 필요없으니 넘어갑니다. 그럼 Upscaler를 눌러 봅시다. 제가 설치한 스테이블 디퓨전을 똑같이 깔았다면 기본적으로 Upscaler들이 보일 겁니다. 추가로 설치도 가능합니다. 검색해보면 많이 나옵니다. 아무거나 택해도 됩니다. 그런데 각 업스케일러마다 조금씩 결과물이 다릅니다. 마음에 드는 걸 사용하면 됩니다. 일단 Lanczos를 골라보겠습니다.

그다음 생성Generate 버튼 누르면 끝입니다. 바로 나옵니다. 아래 이미지가 Lanczos 업스케일러를 이용해 4배로 키운 이미지입니다.

해보심 아시겠지만 다 나름 괜찮습니다. 테스트해보시기 바랍니다. upscale 너무나 쉽죠.

여기서 끝내려다 하나 알고 넘어가겠습니다.

방금 말한 R-ESR-GAN도 그렇고, 업스케일러 폴더보면 ESRGAN이니 real ESR GAN이니 이런게 보일 겁니다. 저는 궁금하더라고요. 아니 GAN이 대체 뭐야?

ESR-GAN은 Enhanced Super-Resolution Generative Adversarial Networks 의 줄임말로 논문 제목입니다. ㅋㅋ 찾아서 읽어보실 분 읽어보세요. ㅎㅎ 해석하면 향상된 초고해상도 생성적 적대 신경망(혹은 적대적 생성 신경망ㅋ)이죠. 감이 옵니다. 초고해상도로 이미지 뽑아내는 인공지능 모델을 말하는 것 같습니다.

알고 넘어갈 건 GAN, 생성적 적대 신경망입니다. 인공지능 개발 영역에서 자주 쓰이더군요. 우리는 취미생활러니까 ㅋㅋㅋ 최대한 간단히 이해만 하고 넘어갑시다. 생성자"generator"와 판별사"discriminator,"가 있습니다. 여기서 생성자는 진짜 같은 가짜 데이터를 생성하고, 판별사는 그걸 진짜와 구분합니다. 이 과정을 반복합니다. 둘 다 실력이 올라가고 판별사는 더 예민해지고 생성자는 거의 진짜 같은 걸 만들어내겠죠? 그러다 보면 생성자가 어느덧 진짜와 구분할 수 없는 걸 만들어내겠죠?

즉 이미지의 해상도를 높이는 과정에서 GAN의 생성자가 원래 이미지에 없던 진짜 같은 '가짜' 픽셀 정보를 만들어내는 겁니다. 이런 식으로 원래의 저해상도 이미지에 없던 세부 정보를 추가해서 이미지의 해상도를 높이게 되는 겁니다.

진짜 개신기하네요. ㅎㄷㄷㄷ

GAN은 비단 이미지 뿐만이 아니라 다른 곳에서도 쓰일 수 있겠죠. 음성, 텍스트 등등 뭐 어쨌든 인공지능 학습 방법 중 하나니까요. 아무튼 오늘도 하나 배워갑시다! 그럼~

출처 - 이미지의 크기를 내멋대로 늘려보자! <Upscale -1-> + GAN 이해해보기~ : 네이버 카페 (naver.com)

 

AI ARTWORK LAB : 네이버 카페

stable diffusion 기반 이미지 생성을 비롯한 자연어처리 인공지능을 연구합니다. 쉽고~ 재미있게~

cafe.naver.com