5년 동안 36,500 스타를 쌓은 GitHub 저장소, BSD-3-Clause 라이선스, AMD·Intel·NVIDIA GPU를 가리지 않는 ncnn-vulkan 지원. Real-ESRGAN은 지금도 정지 이미지와 애니메이션 업스케일링에서는 가장 먼저 꺼내기 좋은 무료 도구다. 반면 긴 실사 영상에는 맞지 않는다.
2026년 기준 결론: Real-ESRGAN이 여전히 강한 곳, 약한 곳
Real-ESRGAN의 가장 큰 장점은 접근성이다. 전체 스택이 무료이고 오프라인에서 돌아가며, ncnn-vulkan 경로에서는 AMD·Intel·NVIDIA GPU를 동등하게 활용할 수 있다. 다만 영상은 프레임별로 독립 처리하기 때문에 약하고, 강도 높은 복원 작업에도 한계가 있다. ICCVW 2021 논문에서 설명하듯 순수 합성 열화 데이터로 학습한 GAN 모델이라, 없는 디테일을 새로 만들어 내기보다 기존 디테일을 선명하게 만드는 방식이기 때문이다.
Reddit r/upscaling 사용자들의 평가는 한 문장으로 요약된다.
"엄청 느리지만 결과는 괜찮다." - u/ChemistryAdorable956, r/upscaling
가중치 파일 6종, 무엇을 골라야 할까
실제로는 어떤 앱에서 돌리느냐보다 어떤 모델을 고르느냐가 더 중요하다. 공개된 6개 가중치는 모두 공식 프로젝트의 Releases 페이지에서 확인할 수 있다.
| 가중치 파일 | 기본 배율 | 추천 용도 | 출처 |
|---|---|---|---|
RealESRGAN_x4plus.pth | 4x | 사진, 일반 이미지 | Release v0.1.0 |
RealESRGAN_x2plus.pth | 2x | 2배 확대만 필요한 사진 | Releases 페이지 |
RealESRGAN_x4plus_anime_6B.pth | 4x | 애니메이션, 일러스트, 선화 | Release v0.2.2.4 |
RealESRNet_x4plus.pth | 4x | 일반 이미지, 더 보수적인 질감 처리 | Releases 페이지 |
realesr-general-x4v3 | 4x | 압축 손상 또는 노이즈가 있는 원본 | Releases 페이지 |
realesr-animevideov3 | 4x | 애니메이션 영상 프레임 | ncnn zip에 포함 |
여기서 자주 헷갈리는 부분이 있다. 휴대용 ncnn 빌드는 .pth 파일을 사용하지 않는다. 대신 models 폴더에 변환된 .param/.bin 모델이 들어 있으므로, .pth 다운로드가 필요한 것은 Python 경로뿐이다. 또 README에 따르면 공식 온라인 데모에는 anime 6B 모델만 제공된다. 사진 품질은 그 데모로 판단하지 않는 편이 좋다.
방법 1: CUDA와 Python이 필요 없는 ncnn-vulkan 포터블 버전
가장 빨리 시작하려면 Real-ESRGAN-ncnn-vulkan 릴리스 페이지에서 포터블 실행 파일을 받으면 된다. 최신 릴리스는 v0.2.0(2022년 4월 24일)이며, Windows 2.2 MB, Ubuntu 3.7 MB, macOS 8.5 MB의 zip 파일 3종을 제공한다. 압축을 푼 뒤 해당 폴더에서 터미널을 열고 다음처럼 실행한다.
./realesrgan-ncnn-vulkan -i input.png -o output.png -n realesrgan-x4plus -s 4
CUDA, PyTorch, Python이 모두 필요 없다. 공식 README는 Vulkan을 통해 Intel·AMD·NVIDIA GPU에서 동작한다고 명시한다. -i에 파일 대신 폴더를 지정하면 내부의 JPG, PNG, WebP 파일을 일괄 처리한다.
| 옵션 | 기능 |
|---|---|
-i / -o | 입력 및 출력 파일 또는 폴더 |
-n | 모델 이름: realesrgan-x4plus, realesrnet-x4plus, realesrgan-x4plus-anime, realesr-animevideov3 |
-s | 배율: 2, 3, 4 중 선택(기본값 4) |
-t | 타일 크기. 32 이상 또는 자동 설정은 0이며, VRAM 부족 시 값을 낮춘다 |
-g / -j | 멀티 GPU 환경의 GPU id, 로드:처리:저장 스레드 수 |
-x | 속도를 희생해 품질을 높이는 TTA 모드 |
-f | 출력 형식: png(기본값), jpg, webp |
README에 문서화된 제약도 두 가지 있다. ncnn 빌드에는 outscale에 해당하는 기능이 없으며, 타일 단위 처리 후 이어 붙이는 과정에서 블록 간 결과가 달라져 PyTorch 경로와 약간 다른 결과가 나올 수 있다. 또한 4x 전용인 x4plus 가중치에 -s 2를 주는 것도 함정이다. 옵션 자체는 받지만, 사용자들은 출력이 무너진다고 보고한다.
"realesrgan-ncnn-vulkan은 스케일을 4 이외로 설정하면 출력이 망가지는데, 이게 뭔가요?" - @hogehoge61, X
목표가 2배 확대라면 이 옵션과 씨름하지 말고 GUI 또는 Python 경로에서 x2plus 가중치를 쓰는 편이 낫다.
방법 2: 전체 기능을 쓰는 Python·PyTorch 경로
프로젝트의 모든 기능은 Python 경로에서 사용할 수 있다. inference_realesrgan.py 스크립트는 저장소에 포함되어 있으며, 공식 README의 설치 절차는 Python 3.7 이상, PyTorch 1.7 이상을 기준으로 다음과 같다.
git clone https://github.com/xinntao/Real-ESRGAN.git
cd Real-ESRGAN
pip install -r requirements.txt
python setup.py develop
python inference_realesrgan.py -n RealESRGAN_x4plus -i inputs -o results --face_enhance
python inference_realesrgan.py -n RealESRGAN_x2plus -i inputs -o results
추가 옵션으로 얻는 기능은 다음과 같다.
--face_enhance는 감지된 얼굴에 GFPGAN을 적용한다. 두 번째 명령은 사진을 기본 2배로 확대하는 방법이다.--outscale는 3.5x처럼 임의의 출력 배율을 지정한다. 다만 README가 밝히듯, 이는 4x 결과물을 LANCZOS4로 리사이즈하는 방식이지 네이티브 배율 처리가 아니다.- README 기준으로 알파 채널, 그레이스케일, 16비트 이미지는 Python 경로에서만 지원한다.
- 추론은 기본적으로 fp16으로 실행된다. 전체 정밀도가 필요하면
--fp32를 사용한다.
방법 3: GUI 앱으로 쓰기 — Upscayl과 Real-ESRGAN GUI
터미널 없이 폴더를 끌어다 놓고 처리하고 싶다면 Upscayl이 가장 대중적인 선택이다. Real-ESRGAN과 Vulkan을 기반으로 만든 무료 AGPL 라이선스 데스크톱 앱으로, Windows·macOS·Linux를 지원한다. 폴더 일괄 작업 대기열, 강하게 압축된 JPEG를 위한 두 번째 처리 기능인 "Double Upscayl", 설치 후 오프라인 동작, PNG/JPG/WebP 기준 최대 16x 출력 기능을 갖췄다. 공식 사이트는 Vulkan을 지원하는 외장 GPU를 권장한다.
더 가벼운 대안은 TransparentLC의 realesrgan-gui다. 크로스 플랫폼 Tkinter 프런트엔드이며 Real-CUGAN도 구동할 수 있고, 발견되면 더 새로운 upscayl-ncnn 바이너리를 우선 사용한다. 완성도 높은 일괄 처리 환경이 필요하면 Upscayl을, 스크립팅·ffmpeg 파이프라인·정확한 모델 제어가 필요하면 CLI 경로를 고르면 된다.
애니메이션과 사진, 모델은 콘텐츠에 맞춰 고르자
애니메이션, 만화 패널, 선화에는 anime_6B가 맞다. 공식 README에 따르면 이 모델은 훨씬 작은 용량에 최적화된 애니메이션 이미지용 모델이며, 프로젝트는 waifu2x와의 자체 비교도 제공한다. 사진은 x4plus를 쓰고, 2배 확대면 충분하다면 x2plus를 선택하면 된다. 오래된 스캔본, 강한 JPEG 압축 이미지, 스크린샷처럼 압축 손상이나 노이즈가 심한 원본에는 realesr-general-x4v3가 적합하다. README에서 이 모델용으로 문서화한 -dn 노이즈 제거 강도는, 이 계열에서 흔한 과도한 매끈함과 정리 효과 사이의 균형을 잡기 위해 존재한다.
r/upscaling에서 반복해서 언급되는 주의점도 있다. 애니메이션 가중치를 실사 인물에 적용하면 얼굴이 불안정하고 깨진 결과가 나올 수 있다는 보고가 많다. 해당 스레드의 첫 댓글에서 u/Green-Cucumber8507가 "어떤 모델 변형을 썼나요?"라고 물은 이유다. 얼굴이 선명하게 보이는 인물 사진이라면 Python 경로에서 --face_enhance를 사용해, 업스케일 과정에서 뭉개진 얼굴을 GFPGAN으로 보완하는 편이 좋다.
자주 막히는 문제와 해결 방법
"Vulkan device not found" 또는 즉시 종료될 때
다음 순서대로 확인하면 된다.
- 먼저 GPU 드라이버를 업데이트한다.
- 그래픽카드가 Vulkan을 지원하는지 확인한다. Upscayl의 Windows 문제 해결 가이드에 확인 절차가 나와 있다.
- 듀얼 GPU 노트북이나 데스크톱이라면 시스템 그래픽 설정에서 앱이 외장 GPU를 사용하도록 강제한다.
오류 메시지 없이 종료될 때는 models 폴더부터
실행 파일이 오류를 출력하지 않고 종료되거나 segfault가 난다면 먼저 -m을 확인한다. 이 옵션은 변환된 모델 파일이 있는 폴더를 가리켜야 한다. 실행 파일과 models 폴더는 배포된 상태 그대로 함께 둔다.
영상 처리 중 메모리 부족: 8 GB 환경의 작업 흐름
긴 영상에서는 VRAM이 가장 먼저 한계에 닿는다. X의 @bi_9527zx는 8 GB 그래픽카드에서 다른 모든 모델을 언로드한 뒤, ffmpeg로 영상을 PNG 프레임으로 분할하고, 각 프레임을 4x로 업스케일한 다음, ffmpeg의 스케일링과 패딩을 사용해 다시 조립하는 흐름을 공유했다. 작동은 하지만 비용 구조를 있는 그대로 보여준다.
"프레임이 각각 독립적으로 처리되기 때문에 일부 깜빡임은 여전히 남을 수 있습니다." - u/Dagnarus15, r/upscaling
속도 한계는 분명하다
처리 시간을 가늠해 보자. X의 @zinya2dx는 SD급 영상 약 20초를 4K로 업스케일하는 데 GPU를 최대한 돌려 약 1시간이 걸렸다고 전했다. 정지 이미지는 훨씬 부담이 적다. X의 @Tomoari_hsmt는 NPU가 있는 860M급 GPU에서 이미지 한 장당 약 2초를 측정했다.
2026년 Real-ESRGAN vs Topaz vs SeedVR2
이제 Real-ESRGAN은 구독형 상용 제품군, 그리고 선명화가 아닌 디테일 재생성을 택한 오픈 디퓨전 업스케일러와 경쟁한다.
| Real-ESRGAN | Topaz Gigapixel | ByteDance SeedVR2 | |
|---|---|---|---|
| 라이선스 및 가격 | BSD-3, 무료 | Personal 연 $149, Pro 연 $499(공식 가격) | Apache-2.0, 무료 |
| 하드웨어 | ncnn을 통한 모든 Vulkan GPU | 자체 GPU에서 실행하는 데스크톱 앱 | 충분한 VRAM을 갖춘 NVIDIA GPU 필요(3B/7B 변형) |
| 접근 방식 | GAN으로 기존 디테일을 선명화 | 모델별 제어 기능을 갖춘 상용 GAN/CNN 제품군 | 원스텝 디퓨전으로 디테일 재생성 |
| 보고된 처리량 | 1.7 fps, x4 720p fp16(RTX 5090) | Proteus: 1080p에서 15 fps, 4K에서 7.3 fps | 디퓨전 4K급: 0.2–2 fps |
| 주의할 점 | 영상 깜빡임, 심하게 손상된 원본의 평평한 질감 | 구독 가격 | 720p AI 생성 영상에서 문서화된 과도한 선명화 |
처리량 수치는 모두 2026년 6월 RTX 5090에서 실행한, 지속적으로 갱신되는 하나의 오픈 벤치마크에서 가져왔다. 단, 작업 조건이 다르다. Real-ESRGAN은 720p 입력을 x4 fp16으로, Topaz Proteus는 1080p 및 4K 기준으로 측정했다. 따라서 절대적인 순위보다는 대략적인 성능 차이로 읽어야 한다. 최종 선택은 이 벤치마크의 권고가 잘 정리한다. 저렴한 일괄 처리와 미리보기에는 Real-ESRGAN, 영화급 4K에는 SeedVR2-7B가 맞다.
ByteDance가 Apache-2.0으로 공개하고 ICLR 2026에 발표한 SeedVR2는 디퓨전 방식으로 디테일을 재생성한다. 이는 반대편의 대가를 뜻한다. 해당 벤치마크의 방법론 노트에 따르면 디퓨전 업스케일러는 합성 입력에 더 잘 맞지만, 새로운 얼굴을 만들어 내거나 프레임 간 결과가 흔들릴 수 있다. 윤곽 품질에서는 최신 오픈 도구가 이미 앞서는 모습도 보인다. Real-ESRGAN과 FlashVSR을 비교한 한 X 사용자는 이렇게 표현했다.
"RealESRGAN 쪽은 결과가 덜 남습니다." - @dawidope, X
까다로운 원본에서 디테일이 날아가는 문제 때문에 오래 쓴 사용자도 이탈한다. @realrebelai는 X에서 "가끔 디테일을 날려 버리는 것이 보인다"고 쓴 뒤, 해결책으로 Topaz로 옮겼다.
API를 이용하면 하드웨어 고민은 사라진다. Replicate의 호스팅형 nightmareai/real-esrgan은 출력 이미지 1,000장당 $2, 장당 $0.002이며, GFPGAN 얼굴 보정 토글과 최대 10배 스케일을 지원한다. 1440p 미만 입력을 권장하고, 해당 페이지의 실행 카운터 기준 약 9,700만 회 실행됐다. 페이지의 예시 예측 1건은 약 2.5초 만에 완료됐다. 로컬 설치 자체가 걸림돌이라면 AIReiter의 호스팅 업스케일러로 브라우저에서 같은 작업을 할 수 있다.
빠른 답변: 라이선스, 하드웨어, 영상, .pth 파일
Real-ESRGAN은 상업적으로 무료인가?
그렇다. 프로젝트는 가장 허용적인 오픈소스 라이선스 중 하나인 BSD 3-Clause로 배포된다. 변환된 ncnn 바이너리와 공개 가중치는 저장소와 함께 제공되지만, 상용 제품에 넣기 전에는 각 저장소의 LICENSE 파일을 확인해야 한다.
Real-ESRGAN에 NVIDIA GPU가 꼭 필요한가?
아니다. ncnn-vulkan 빌드와 Upscayl은 Vulkan을 통해 Intel·AMD·NVIDIA GPU에서 실행된다. CUDA는 Python/PyTorch 경로에서만 중요하며, 이 경우 NVIDIA GPU가 빠른 선택지다.
Real-ESRGAN으로 영상을 업스케일할 수 있나?
프레임 단위로만 가능하다. realesr-animevideov3는 애니메이션 클립을 처리하며, 오픈 벤치마크는 미리보기용으로 Real-ESRGAN과 vs_temporalfix VapourSynth 필터를 조합한다. 하지만 프레임마다 독립적으로 업스케일하기 때문에 시간축 깜빡임을 완전히 없앨 수는 없다.
.pth 파일을 ncnn-vulkan에 불러올 수 있나?
직접은 불가능하다. ncnn에는 변환된 .param/.bin 파일이 필요하다. 변환 방법은 있지만 제약이 크다.
"다만 구형 아키텍처의 4x 모델에서만 작동합니다." - u/nmkd, r/GameUpscale
가장 빠른 실행 백엔드는 무엇인가?
모델은 같아도 백엔드는 다르다. 장기 사용 경험이 있는 한 사용자는 Vulkan이 아닐 때 같은 작업이 훨씬 느렸다고 했다. u/SouthernVisit3076는 r/software에서 "Vulkan을 쓸 때보다 내 환경에서는 훨씬 느리다"고 보고했다. 모델을 탓하기 전에 자신의 GPU에서 직접 벤치마크해 보는 것이 좋다.
오늘 바로 쓴다면, 상황별 추천 경로
Real-ESRGAN은 현재 픽셀을 선명하게 만들고, 디퓨전 도구는 픽셀을 대체한다. 원본에서 보존해야 할 것이 중요한지, 보기 좋은 결과가 중요한지에 따라 경로를 고르면 된다.
| 상황 | 추천 방법 |
|---|---|
| 사진, 터미널 사용 안 함 | Real-ESRGAN 모델을 선택한 Upscayl |
| 애니메이션 또는 선화 | anime_6B / realesrgan-x4plus-anime를 쓴 Upscayl 또는 ncnn |
| 사진 2배 확대 | RealESRGAN_x2plus를 쓰는 Python 경로 |
| 오래되고 압축 손상·노이즈가 있는 스캔본 | -dn을 조절한 realesr-general-x4v3 |
| 얼굴이 중요한 인물 사진 | --face_enhance를 적용한 Python |
| 애니메이션 영상 클립 | realesr-animevideov3를 쓴 ncnn |
| 실사 영상 또는 4K 영상 | Real-ESRGAN 대신 SeedVR2 또는 Topaz |
| 수백 장의 이미지, GPU 시간 없음 | API: Replicate, 이미지당 $0.002 |
함께 읽기: 무료 AI 영상 업스케일러 비교, Replicate 가격 및 대안 리뷰.