Computer >> 컴퓨터 >  >> 소프트웨어 >> 소프트웨어

Upscayl 리뷰: 클라우드 없이 로컬에서 작동하는 AI 이미지 업스케일러

Upscayl – AI로 이미지를 개선하세요. 로컬에서, 클라우드 없이.

업데이트: 2024년 9월 6일

솔직히 말하면, 저는 AI 관련 것들에 대해 회의적인 시선을 갖고 있는 편입니다. 인공지능이라는 개념 자체가 잘못됐다는 게 아니라, 'AI'라는 이름만 붙여 판매되는 수많은 기술과 제품들이 사실상 화려하게 포장된 통계학에 두꺼운 마케팅 허울을 뒤집어쓴 경우가 많기 때문입니다. 하지만 잠깐, 오래되고 저해상도이며 흐릿한 사진이 잔뜩 있다면? AI로 더 좋게 만들 수 있을까요?

2000년대 초반 범죄 드라마를 본 적이 있다면, 그냥 '강화(enhance)'하면 되는 걸로 아셨을 겁니다. 다만 현실에서 이미지를 업스케일할 때마다 제임스 맥스웰과 루트비히 볼츠만은 무덤에서 몸부림칠 겁니다. 열역학 법칙 위반이니까요. 엔트로피 문제입니다. 아무것도 없는 데서 데이터를 창조하는 마법 같은 일이니까요. 그런데 AI 기반 프로그램들은 정확히 그걸 약속합니다. 문제는, 영혼을 클라우드에 바치지 않고도 AI를 쓸 수 있느냐는 것이죠. 다행히 가능합니다! 그 도구 중 하나가 바로 Upscayl입니다. 오픈소스이자 크로스 플랫폼을 지원하는 AI 이미지 향상 프로그램입니다. 환상적으로 들리네요. 과연 광고대로 작동하는지 직접 확인해 보겠습니다.

Upscayl 리뷰: 클라우드 없이 로컬에서 작동하는 AI 이미지 업스케일러

설치는 쉽고, 진짜 100% 오프라인

AI 관련 프로그램을 평가할 때 제 기준은 두 가지입니다. 로컬 환경 구축이 가능해야 하고, 절차가 너무 복잡하지 않아야 한다는 것. Upscayl은 이 두 가지 조건을 모두 충족합니다. Snap Store에서 스냅 버전을 내려받아 Kubuntu 24.04(Linux)에 설치했는데, 전혀 문제없이 간단하고 빠르게 배포가 완료됐습니다.

다음으로 프로그램의 네트워크 연결을 차단했습니다. 스냅은 샌드박스 처리된 리눅스 애플리케이션으로, 선언된 리소스에 대한 접근을 선택적으로 활성화하거나 비활성화할 수 있습니다. Upscayl은 파일 접근을 위한 홈 디렉터리, 렌더링과 처리를 위한 OpenGL 등 여러 리소스가 필요하며, 네트워크 플러그도 목록에 있고 기본적으로 활성화되어 있습니다. 대부분의 스냅이 그렇듯 이 자체는 문제가 아닙니다.

하지만 Upscayl이 정말 100% 로컬에서 마법을 부릴 수 있는지 확인하기 위해, 네트워크 플러그를 직접 끊어버렸습니다. 프로그램 입장에서는 제 컴퓨터에 네트워크가 아예 없는 것과 마찬가지입니다. 그런 다음 Upscayl을 실행해 여러 이미지를 '보정'해 봤지만, 불평 하나 없이 매끄럽게 작동했습니다. 훌륭합니다.

디스크리트 그래픽 카드 요구 사항 (Vulkan 호환)

Upscayl을 사용하려면 어느 정도 최신형이면서 성능 좋은 외장 그래픽 카드가 장착된 머신이 필요합니다. 대부분의 내장 GPU로는 작동하지 않습니다. 그렇다면 '최신형이면서 성능 좋다'는 건 구체적으로 어떤 의미일까요? 제 테스트 머신은 2014년산 IdeaPad 노트북으로, SSD 교체 후 최근 Kubuntu 24.04를 설치한 시스템입니다. 구형 엔비디아 카드가 달려 있는데, 이 환경에서도 문제없이 작동했습니다. 최신 세대 장비만큼 빠르진 않겠지만, Upscayl은 아무 탈 없이 작업을 처리했습니다. 즉, 10년 된 노트북이라도 충분하다는 뜻입니다.

실제 성능은 어떨까?

자, 이제 핵심입니다. Upscayl이 정말 좋은 결과물을 낼 수 있을까요? 이를 확인하기 위해 오랜 사진 보관함을 뒤져 실험에 적합한 후보 세 장을 골랐습니다.

  • 1983년에 좋은 35mm 필름 카메라로 촬영한 스키 샬레 사진. 이후 출력본을 가정용 보급형 스캐너로 300DPI 스캔해 디지털화한 이미지.
  • 2004년 촬영한 인물 사진. 혼합 광원 환경에 추가적인 흐릿함까지 있는 이미지.
  • 2005년에 찍은 자고 있는 고양이 사진. 해상도는 고작 720x540px이며, 폰 채팅과 메일 등을 거치며 여러 번 압축된 것으로 추정되는 이미지.

Upscayl은 상당히 깔끔하고 친절한 UI를 갖추고 있어 사용이 매우 편리합니다. 왼쪽 사이드바에서 이미지를 불러오고(여러 파일을 한 번에 넣어 배치 처리도 가능), 향상 모델과 배율, 출력 폴더를 지정할 수 있습니다. 매우 직관적입니다. 오른쪽에는 원본 사진이 표시되고, 처리가 완료되면 세로 슬라이더가 생겨 '이전'과 '이후' 결과를 비교해 볼 수 있습니다.

Upscayl 리뷰: 클라우드 없이 로컬에서 작동하는 AI 이미지 업스케일러

Upscayl 리뷰: 클라우드 없이 로컬에서 작동하는 AI 이미지 업스케일러

사진들을 Upscayl에 넣고 프로그램이 돌아가게 두었습니다.

노후화된 2014년 머신 기준으로 2500x2500px 사진을 4배 확대하는 데 약 7분이 걸립니다. 꽤 합리적인 속도입니다. 다만 소요 시간은 모델이 사진에서 찾아내는 정보량에 따라 크게 달라질 수 있습니다. 입자감(grain)과 밝기 수준도 최종 결과에 영향을 미칩니다. 배율을 더 높이거나 원본이 이미 상당히 큰 경우에는 20~30분까지 늘어날 수 있습니다. 그래도 전반적인 성능은 준수한 편입니다.

자고 있는 고양이 사진의 결과는 훌륭했습니다. 렌더링은 단 10초, 개선 폭도 확실합니다. 확실히 더 많은 디테일이 보입니다. 픽셀 수는 16배나 늘었는데도 더 선명하고 또렷해졌습니다. 완벽하진 않지만 분명히 훌륭한 수준입니다. 참고로 이 사진은 저해상도지만 조명, 선명도, 대비가 모두 양호한 이미지였습니다.

Upscayl 리뷰: 클라우드 없이 로컬에서 작동하는 AI 이미지 업스케일러

Upscayl 리뷰: 클라우드 없이 로컬에서 작동하는 AI 이미지 업스케일러

다음은 인물 사진으로 시험했습니다. 결과는... 무난했습니다. 새 이미지의 품질이 눈에 띄게 나아졌다고 느껴지지 않았습니다. 크기는 커졌지만 '오류' 역시 함께 커졌죠. 이 사진은 원본부터 꽤 크고, 두 종류의 조명이 섞여 있으며, 왼쪽 절반이 오른쪽보다 더 흐릿하고 어두운 데다 입자감도 상당했습니다. Upscayl은 여기서 큰 역할을 못 했습니다.

Upscayl 리뷰: 클라우드 없이 로컬에서 작동하는 AI 이미지 업스케일러

스키 샬레 사진의 결과는 오히려 원본보다 나빠지는 반전이 있었습니다. 조명은 좋은 편이지만 입자감이 많고, 나무와 풀 등 초미세 디테일이 어마어마하게 많은 사진입니다. 짐작컨대, 이미 정보가 극도로 복잡한 영역에 외삽(extrapolation)을 적용하면 그저 노이즈만 증폭되는 듯합니다. 최고 성능으로 평가받는 ULTRASHARP를 포함해 여러 모델을 시도했지만 여전히 개선되지 않았습니다.

Upscayl 리뷰: 클라우드 없이 로컬에서 작동하는 AI 이미지 업스케일러

Upscayl 리뷰: 클라우드 없이 로컬에서 작동하는 AI 이미지 업스케일러

세 번째 사진에는 어떤 모델도 통하지 않았습니다.

풀숲 부분을 확대한 화면입니다. 원본(왼쪽)에서 볼 수 있듯 입자감이 상당합니다. 이는 오래된 아날로그 필름 사용, 현상 과정, 수십 년간 선반에 보관된 것, 약 15년 전 보급형 스캐너(그래도 300DPI)로 스캔한 것, 그리고 이번의 AI 업스케일 결과가 모두 겹쳐진 탓입니다. '개선된' 풀은 오히려 더 흐릿해졌습니다. 하늘과 나무도 마찬가지였습니다. 이 경우 이미지는 원본 특유의 점(dot) 패턴에 맞춰 새로운 모델을 학습시키지 않는 한 더 선명해지기 어려워 보입니다. 다만 이미지 크기가 적당한 편(약 2500x2000px)이라, 이건 사실상 노이즈 감소 문제에 가깝습니다.

Upscayl 리뷰: 클라우드 없이 로컬에서 작동하는 AI 이미지 업스케일러

팁: 이미지를 확대할 필요는 없습니다

중요한 발견 하나를 소개합니다. 사진을 더 크게 만들 필요는 없습니다. x1 배율을 사용하면 원본 크기를 유지한 채 알고리즘이 누락된 정보를 최대한 보간(interpolation)해 줍니다. 개선 효과가 있는지 빠르게 확인할 수 있는 좋은 첫 단계이며, 시간도 절약됩니다.

Upscayl 리뷰: 클라우드 없이 로컬에서 작동하는 AI 이미지 업스케일러

전체 결과와 소결론 – Nvidia PRIME 덕담

인물과 풍경을 포함해 대략 50여 장의 이미지를 처리해 본 결과, 몇 가지 결론을 얻었습니다. 일부는 놀라운 내용이고, 일부는 프로그램 FAQ에 이미 명시돼 있는 것들입니다.

  • 기적은 기대하지 마세요. 어느 정도 개선은 되지만, 상상력이 하는 일까지 해주지는 못합니다.
  • Upscayl은 입자감이 적고, 조명이 고르며, 디테일이 적당한 수준인 이미지에서 가장 좋은 성과를 냅니다.
  • 이미 크고 고해상도·고DPI인데도 단순히 나쁜 사진, 즉 흐릿하고 노이즈가 심한 사진이라면 Upscayl은 적합한 도구가 아닙니다. 조금 개선할 수는 있지만, 노이즈 요소가 모델 알고리즘의 스무딩과 근사 능력보다 '크다면' 의미 있는 결과를 보기 어렵습니다.
  • REAL-ESRGAN은 ULTRASHARP보다 더 매끄러운 이미지를 생성하므로, 위에서 언급한 한계 내에서 입자감이 많거나 더 흐릿한 이미지에 적합합니다. 대신 어느 정도 선명도는 희생됩니다. 늘 트레이드오프죠.

덧붙여, 리눅스 환경 구성에도 상당히 만족했습니다:

  • Kubuntu 24.04의 초기 문제점들이 이제는 안정화되어 잘 작동합니다.
  • 설치는 간단했고(snap 경유), 사용법도 직관적이며, 진짜 오프라인으로 동작했습니다.
  • 프로그램 요구 사양이 낮아서, 10년 된 노트북에서도 멋지게 돌아갔습니다.
  • 하이브리드 그래픽 설정도 완벽하게 작동했습니다. 엔비디아 카드가 PRIME on-demand로 구성되어 있어, 필요할 때는 강력한 외장 GPU를 쓰고 나머지 시간에는 배터리 절약을 위해 내장 GPU를 사용합니다. Upscayl 실행 중 동작을 확인해 보니 실제로 nvidia-smi에 엔비디아 GPU로 프로그램이 구동되는 것이 표시됐고, 과열도 없었습니다.

Upscayl 리뷰: 클라우드 없이 로컬에서 작동하는 AI 이미지 업스케일러

Nvidia 535 드라이버, on-demand 구성, 정상적인 온도. 정말 깔끔합니다.

결론

요즘 프로그램 대부분은 '글쎄...' 수준입니다. 정말로요. 하지만 Upscayl은 이런 현대적 평범함의 예외입니다. 아주 큰 예외죠. 아름답고 우아한 프로그램입니다. 깔끔한 GUI, 간단한 사용법, 단순하고 깨끗한 설치, 진짜 오프라인 작동, 다양한 모델, 준수한 성능, GPU 요구 사양마저 낮으며, 완벽하진 않아도 상당히 괜찮은 결과물까지. 제 기준으로 이건 꽤 훌륭한 합계점입니다. 기대 이상이었습니다.

가장 좋은 결과를 얻으려면 작고 디테일이 단순하며, 조명이 고르고, 흐릿함과 노이즈가 적은 사진이나 이미지를 사용하세요. 이 조건을 충족하는 파일이라면 Upscayl에서 아주 만족스러운 결과를 기대할 수 있습니다. 그렇지 않다면 결과는 훌륭한 수준에서 실망스러운 수준까지 편차가 클 수 있습니다. 이 점만 유의하시면 됩니다. 그럼에도 불구하고 이건 정말 멋진 작은 도구이며, 테스트해 볼 가치가 충분합니다. 다음에는 ImageMagick과 GIMP를 사용해 위의 작업들을 수동으로 진행해 볼 계획입니다. 리눅스 명령줄 도구만으로 사진 개선과 업스케일링을 어디까지 할 수 있는지 확인해 보려 합니다. 다음 튜토리얼 주제가 될 예정이니 기대해 주세요.

그럼, 즐거운 코딩 되세요!