AI · AI 이미지
AI 이미지 업스케일링은 어떻게 작동할까?
핵심 답변
AI 업스케일링, 즉 초해상도(super-resolution)는 작은 이미지와 큰 이미지 쌍으로 학습한 신경망이 이미지를 키울 때 빠진 픽셀을 예측하는 기술입니다. 바이큐빅 리사이즈처럼 이웃 픽셀을 평균 내는 대신, 학습으로 익힌 그럴듯한 윤곽과 질감을 그려 넣습니다. 늘어난 디테일은 선명해 보이지만 만들어 낸 것이므로 모습을 개선할 뿐 사실 정보를 늘리지는 않습니다.
AI 이미지 업스케일 열기기존 리사이즈 vs AI 업스케일링
500픽셀 이미지를 2000픽셀로 키우면 가로세로 방향으로 네 픽셀 중 세 픽셀은 원래 없던 것입니다. 누군가는 그 값을 정해야 합니다.
고전적인 방법은 주변 픽셀에서 값을 계산합니다. 최근접 이웃(nearest neighbor)은 가장 가까운 픽셀을 복사해서 가장자리가 각져 보입니다. 쌍선형(bilinear)과 바이큐빅(bicubic)은 이웃 픽셀의 가중 평균을 내서 부드럽지만 흐릿한 결과를 냅니다. 작은 이미지에서는 선명했던 경계가 큰 이미지에서는 완만한 경사로 바뀝니다. 이 방법들은 빠르고 예측 가능하며 아무것도 지어내지 않습니다.
AI 업스케일러는 선명한 이미지가 보통 어떻게 생겼는지를 학습합니다. 학습 중에 모델은 고해상도 이미지와, 그것을 줄이고 화질을 낮춘 버전을 많이 보고 작은 버전을 큰 버전으로 되돌리는 대응을 익힙니다. 사용할 때는 이 대응을 적용하기 때문에, 단순 평균이라면 흐려졌을 자리에 또렷한 윤곽, 머리카락 가닥, 벽돌 질감을 그릴 수 있습니다.
| 방법 | 새 픽셀을 채우는 방식 | 결과물의 모습 | 디테일을 지어내는가? |
|---|---|---|---|
| 최근접 이웃(Nearest neighbor) | 가장 가까운 픽셀을 복사 | 각지고 픽셀이 보임 | 아니요 |
| 바이큐빅(Bicubic) | 이웃 16픽셀의 가중 평균 | 부드럽고 가장자리가 흐림 | 아니요 |
| 정확도 중심으로 학습한 CNN(SRCNN 계열) | 픽셀을 맞추도록 학습한 대응 | 바이큐빅보다 선명하지만 약간 부드러움 | 조금 |
| GAN 기반(ESRGAN, Real-ESRGAN) | 학습된 대응 + 사실적인 질감에 보상을 주는 판별자 | 선명한 윤곽과 질감 | 예 |
| 확산 기반(Diffusion-based) | 작은 이미지를 조건으로 큰 이미지를 생성 | 매우 디테일하지만 내용이 바뀔 수 있음 | 예, 가장 많이 |
SRCNN에서 GAN까지: 정확한 것보다 선명한 것이 낫다
SRCNN은 초해상도를 위한 초기 심층 신경망의 하나로, 저해상도 이미지를 고해상도로 바꾸도록 끝까지 학습한 작은 합성곱 신경망입니다. 이런 모델은 실제 이미지와 픽셀 단위 차이를 최소화하도록 학습했습니다. PSNR 같은 지표에서는 좋은 점수가 나오지만 결과는 부드럽게 보입니다. 윤곽이 왼쪽으로 조금 갈지 오른쪽으로 조금 갈지 네트워크가 확신할 수 없을 때, 이 손실 함수에서 가장 안전한 답은 둘의 평균이고, 그것이 곧 흐림입니다.
SRGAN은 목표를 바꿨습니다. 실제 고해상도 사진과 업스케일된 사진을 구별하는 법을 배우는 두 번째 네트워크, 판별자(discriminator)를 추가했습니다. 업스케일러는 판별자를 속이도록 보상을 받기 때문에, 정확한 픽셀이 원본과 다르더라도 선명하고 사실적인 질감을 만듭니다. SRGAN 저자들은 오차를 최소화하는 방법이 고주파 디테일이 부족해서 사람에게 만족스럽지 않게 보이는 경우가 많다고 지적했습니다. ESRGAN은 네트워크 설계, 적대적 학습, 지각 손실(perceptual loss)을 개선했고 이후 많은 도구의 토대가 되었습니다.
Real-ESRGAN이 더한 것: 현실적인 열화로 학습
초기 모델은 바이큐빅 리사이즈로 단순히 줄인 이미지로 학습했습니다. 실제 사진은 더 다양하게 손상됩니다. 카메라 흔들림, 센서 노이즈, JPEG 압축, 여러 번의 리사이즈, 샤프닝 후광 같은 것들입니다. 깨끗하게 줄인 이미지로만 학습한 모델은 이런 것을 다루지 못하고 디테일과 함께 노이즈까지 키우는 일이 많습니다.
같은 연구 그룹이 만든 Real-ESRGAN은 ESRGAN 생성기를 그대로 두고 학습 데이터를 바꿨습니다. 깨끗한 이미지에 블러, 리사이즈, 노이즈, JPEG 압축을 적용하고 같은 순서를 한 번 더 반복하는 고차 열화(high-order degradation) 과정으로 학습 쌍을 만들어, 여러 번 저장하고 공유된 이미지를 흉내 냅니다. 윤곽 주변의 링잉과 오버슈트 아티팩트도 시뮬레이션합니다. 스펙트럴 정규화를 적용한 U-Net 판별자는 픽셀 단위로 디테일을 판단합니다. 학습 데이터는 모두 합성이라서 실제 저해상도-고해상도 사진 쌍이 필요 없습니다.
그 결과 모델이 키우면서 압축 블록과 노이즈까지 제거해, 오래된 웹 이미지, 스크린샷, 휴대폰 사진에 잘 맞습니다. 애니메이션과 일러스트는 평평한 색과 깨끗한 선이 사진과는 다른 질감을 필요로 하기 때문에, 보통 별도 가중치를 학습합니다.
예를 들어 cv.cm의 이미지 업스케일러는 가벼운 Real-ESRGAN 모델을 브라우저에서 2배 또는 4배로 실행하고, 사진용과 애니용 옵션이 있어서 이미지가 내 기기 밖으로 나가지 않습니다.
업스케일 잘하는 단계별 방법
- 가진 것 중 가장 좋은 원본에서 시작하세요. 스크린샷이나 메신저로 다시 보낸 버전이 아니라 원본 파일을 쓰세요.
- 먼저 자르세요. 필요한 부분만 업스케일하면 더 빠르고 메모리도 적게 듭니다.
- 내용에 맞는 모델을 고르세요. 사진은 사진용 모델, 그림, 선화, 게임 아트는 애니·일러스트 모델입니다.
- 목표에 도달하는 가장 작은 배율을 고르세요. 800픽셀에서 1600픽셀이 필요하면 4배로 키운 뒤 줄이지 말고 2배를 쓰세요.
- 원본과 100% 확대로 비교하세요. 디테일이 지어내졌다면 가장 먼저 드러나는 얼굴, 글자, 머리카락, 미세한 무늬를 보세요.
- 결과가 너무 매끈하거나 플라스틱처럼 보이면 편집기에서 바이큐빅 확대본과 블렌딩하거나 약간의 그레인을 추가하세요.
- PNG나 고화질 JPEG로 저장하세요. 업스케일 후 강한 JPEG 압축을 하면 블록이 다시 나타납니다.
확산 업스케일러와 크리에이티브 업스케일링
최근의 업스케일러 중에는 확산을 쓰는 것이 있습니다. 예를 들어 SR3는 노이즈에서 시작해 저해상도 입력을 조건으로 단계적으로 고해상도 이미지를 다듬어 냅니다. 많은 이미지 생성기도 확대한 그림에 프롬프트를 주고 이미지 투 이미지를 실행하는 크리에이티브 또는 디테일 추가 업스케일을 제공합니다.
이런 방법은 GAN 업스케일러보다 훨씬 많은 디테일을 만들 수 있어서 AI 아트에 유용합니다. 대신 제어가 어렵습니다. 자유도가 높은 만큼 얼굴을 바꾸고, 물체를 더하고, 작은 글자를 다시 쓰고, 재질의 질감을 바꿀 수 있습니다. 문서, 제품, 증거처럼 원본에 충실해야 하는 이미지라면 GAN 업스케일러나 고전적인 리사이즈를 쓰세요. 원본에 충실한 것보다 보기 좋은 것이 중요할 때 확산 업스케일링을 쓰세요.
한계: 업스케일링이 못하는 것
- 이미지에 없는 정보는 복원할 수 없습니다. 폭이 10픽셀인 얼굴은 실제 인물이 아니라 그럴듯한 얼굴이 됩니다. AI 업스케일링으로 사람을 식별하거나 번호판을 읽거나 증거를 만들지 마세요.
- 글자는 위험합니다. 작고 흐릿한 글자가 선명하고 그럴듯하지만 다른 글자로 바뀔 수 있습니다.
- 심한 블러와 모션 블러는 어렵습니다. 업스케일러는 특정 종류의 손상으로 학습되어 있어서 극단적인 경우에는 번지거나 그림처럼 변합니다.
- 천, 풀, 벽돌 같은 반복 패턴이 인공적인 질감으로 바뀔 수 있습니다.
- 피부가 과하게 매끈해집니다. 사진 모델이 모공과 잔주름을 없애서 과한 보정처럼 보일 때가 있습니다.
- 큰 배율은 메모리를 많이 씁니다. 4배 업스케일은 입력의 16배 픽셀이므로, 큰 이미지는 타일로 나눠 처리해야 할 수 있습니다.
이런 한계를 염두에 두면, AI 업스케일러는 AI로 생성한 이미지, 오래된 작은 사진, 인쇄하거나 큰 화면에 띄워야 하는 웹 그래픽의 마지막 단계로 알맞습니다.
자주 묻는 질문
AI 업스케일링이 포토샵 리사이즈보다 나은가요?
확대에서는 보통 그렇습니다. 흐리게 만드는 대신 선명한 윤곽과 질감을 그려 주기 때문에 보기에 더 좋습니다. 지어낸 디테일을 전혀 넣으면 안 될 때는 고전적인 리사이즈가 더 낫습니다.
AI 업스케일링으로 오래된 흐릿한 사진을 복원할 수 있나요?
흐림, 노이즈, 압축을 줄여서 사진이 더 선명해 보이게 할 수는 있습니다. 사라진 실제 디테일은 복원할 수 없으므로 얼굴과 글자가 조금 달라질 수 있습니다.
2배와 4배 중 무엇을 골라야 하나요?
필요한 크기에 도달하는 가장 작은 배율을 고르세요. 4배는 시간과 메모리가 더 들고 지어내는 디테일이 많아서 아티팩트가 생길 가능성도 커집니다.
업스케일한 이미지가 왜 그림처럼 보이나요?
모델이 미세하고 거친 질감을 학습된 매끈한 질감으로 바꿨기 때문입니다. 다른 모델이나 더 작은 배율을 써 보거나, 결과를 일반 확대본과 블렌딩하고 약한 그레인을 더하세요.
AI 업스케일링으로 인쇄용 DPI가 올라가나요?
DPI는 라벨일 뿐이고 중요한 것은 인쇄 크기에서의 픽셀 수입니다. 업스케일은 픽셀을 늘려 주므로, 모델의 한계 안에서 4배 업스케일하면 같은 선명도로 약 4배 넓게 인쇄할 수 있습니다.