작은 이미지를 크게 만들어야 하는 순간은 생각보다 자주 찾아옵니다. 오래전에 찍은 사진을 인화하고 싶을 때, 웹에서 받은 작은 일러스트를 배경화면으로 쓰고 싶을 때, 블로그 썸네일을 고해상도 화면에 맞춰야 할 때가 그렇습니다. 이때 쓸 수 있는 방법은 크게 두 가지입니다. 이미지 편집 프로그램의 크기 조절 기능으로 늘리는 방법과, PixelUp 같은 AI 업스케일러를 쓰는 방법입니다. 결과물만 보면 둘 다 픽셀 수가 늘어난 파일이지만, 늘어난 픽셀을 채우는 방식은 완전히 다릅니다.
단순 확대는 주변 픽셀의 평균을 냅니다
가로세로 1000픽셀인 이미지를 2배로 키우면 픽셀 수는 100만 개에서 400만 개로 늘어납니다. 새로 생긴 300만 개의 픽셀에는 원래 정보가 없으므로, 프로그램은 어떻게든 값을 정해서 채워 넣어야 합니다. 전통적인 확대 방식은 이 값을 주변 픽셀로부터 계산합니다.
- 최근접 이웃: 가장 가까운 원본 픽셀의 색을 그대로 복사합니다. 픽셀이 커다란 사각형으로 보이는 계단 현상이 생기지만, 픽셀 아트처럼 각진 모양을 유지해야 할 때는 오히려 유용합니다.
- 바이리니어: 주변 4개 픽셀의 값을 거리에 따라 섞습니다. 계단 현상은 줄어들지만 전체적으로 뿌옇게 흐려집니다.
- 바이큐빅: 주변 16개 픽셀을 이용해 곡선 형태로 값을 보간합니다. 일반적인 편집 프로그램의 기본값으로 많이 쓰이며, 바이리니어보다 선명하지만 경계 주변에 옅은 테두리가 생기기도 합니다.
세 방식 모두 원본에 이미 있던 정보를 부드럽게 펴 바를 뿐이고, 새로운 디테일을 만들어 내지는 않습니다. 그래서 2배까지는 그럭저럭 볼 만하지만 4배쯤 키우면 머리카락, 나뭇잎, 천의 결처럼 섬세한 부분이 뭉개진 결과가 나옵니다.
AI 업스케일링은 디테일을 추정해서 그립니다
AI 업스케일러는 수많은 저해상도 이미지와 고해상도 이미지 쌍을 보며 학습한 신경망입니다. 학습을 마친 모델은 흐릿한 영역을 보고 “이런 모양은 원래 이런 질감이었을 가능성이 높다”는 판단을 내리고, 그 판단에 따라 그럴듯한 디테일을 새로 그려 넣습니다. 머리카락처럼 보이는 영역에는 가는 선을, 벽돌처럼 보이는 영역에는 줄눈과 표면 질감을 만드는 식입니다.
PixelUp이 사용하는 Real-ESRGAN은 이 계열에서 널리 쓰이는 공개 모델입니다. 특히 학습 과정에서 블러, 노이즈, JPEG 압축, 크기 조절을 여러 번 겹쳐 적용한 이미지를 입력으로 썼기 때문에, 인터넷에서 여러 번 저장되고 전송된 실제 사진의 손상에도 비교적 강합니다. 또한 생성 모델과 판별 모델이 경쟁하며 학습하는 GAN 구조를 사용하므로, 평균값으로 뭉개는 대신 선명한 질감을 만들어 내는 경향이 있습니다.
두 방식을 비교하면
| 항목 | 단순 확대 | AI 업스케일링 |
|---|---|---|
| 새 픽셀을 채우는 방법 | 주변 픽셀 값을 수식으로 보간 | 학습한 패턴을 바탕으로 디테일 생성 |
| 경계와 선 | 흐려지거나 계단 모양이 생김 | 선명하게 정리됨 |
| 압축 노이즈 | 노이즈까지 함께 커짐 | 상당 부분 걸러짐 |
| 처리 속도 | 거의 즉시 | 수 초에서 수십 초 |
| 원본에 없던 내용 | 만들지 않음 | 만들어 낼 수 있음 |
추정은 복원이 아닙니다
AI 업스케일링을 쓸 때 가장 중요하게 기억할 점은, 모델이 그린 디테일이 실제로 있었던 디테일과 같다는 보장이 없다는 사실입니다. 모델은 “그럴듯한” 결과를 만들 뿐이고, 원본 촬영 당시의 정확한 모습을 알 수는 없습니다. 예를 들어 몇 픽셀 크기로 뭉개진 자동차 번호판이나 간판 글자를 업스케일하면, 또렷한 글자 모양이 나오더라도 그것이 실제 글자라는 근거는 없습니다. 증거 자료나 신원 확인처럼 사실 관계가 중요한 용도에는 AI 업스케일 결과를 사용하지 않아야 합니다.
AI 업스케일링은 원본 정보를 되살리는 기술이 아니라, 원본과 어울리는 디테일을 설득력 있게 채우는 기술입니다.
PixelUp에서는 이렇게 동작합니다
PixelUp은 Real-ESRGAN의 4배 전용 모델을 사용합니다. 4배를 선택하면 모델의 출력을 그대로 돌려드리고, 2배를 선택하면 4배로 키운 결과를 고품질 축소 알고리즘으로 절반 크기로 줄여서 돌려드립니다. 이 방식은 단순히 2배로 늘리는 것보다 디테일이 풍부하고, 4배 결과에 남을 수 있는 과한 질감도 축소 과정에서 함께 정돈된다는 장점이 있습니다. 입력은 JPG, PNG, WebP 파일을 20MB, 긴 변 2048픽셀까지 받으며, 결과는 PNG, JPG, WebP 중 원하는 형식으로 받을 수 있습니다. 처리는 서버가 아니라 이용자의 브라우저 안에서 컴퓨터의 그래픽카드로 이루어집니다. 배율을 고르는 기준은 2배와 4배, 목적에 맞는 배율 고르기에서 더 자세히 다룹니다.
AI 업스케일링이 잘 맞는 경우와 맞지 않는 경우
잘 맞는 경우는 다음과 같습니다.
- 예전 휴대전화나 디지털카메라로 찍은 저해상도 사진을 인화하거나 크게 보고 싶을 때
- 작은 일러스트나 캐릭터 이미지를 고해상도 배경화면으로 쓰고 싶을 때
- 메신저로 여러 번 주고받아 압축 노이즈가 생긴 이미지를 정리하고 싶을 때
반대로 다음과 같은 경우에는 기대만큼의 결과를 얻기 어렵습니다.
- 원래 내용을 정확히 알아야 하는 문서, 글자, 번호판 이미지
- 도트 하나하나가 의도된 픽셀 아트(최근접 이웃 확대가 더 적합합니다)
- 심하게 흔들리거나 초점이 완전히 나간 사진
직접 결과를 확인해 보고 싶다면 메인 화면에서 이미지를 올린 뒤 비교 슬라이더로 원본과 결과를 나란히 살펴보세요.