타임컬러 | 할머니 흑백 사진이 컬러 사진으로 되살아납니다

타임컬러 | 할머니 흑백 사진이 컬러 사진으로 되살아납니다

스캔한 흑백·바랜 옛날 사진을 세 단계로 되살립니다. 잡티·스크래치를 메우고 바랜 대비를 회복한 뒤, 딥러닝 컬러화 모델이 피부·하늘·풀 색을 입히고, EDSR 초해상도로 2배 키웁니다. 미국 의회도서관의 1936년 사진 Migrant Mother 를 실제로 돌려 821x1024 흑백이 1642x2048 컬러가 됐고, 컬러화는 23초, 업스케일은 125초 걸렸습니다. 모델은 첫 실행 때 내려받아 이후 오프라인으로 돌고 API 키가 필요 없습니다. 사진은 내 컴퓨터 밖으로 나가지 않습니다.
#التصميم#الإنتاجية#التعليم
التقييم
مطلوب المزيد من التقييمات
المبيعات
0
كيفية الاستخدام
تنزيل

타임컬러 | 할머니 흑백 사진이 컬러 사진으로 되살아납니다

hero.webp before_after.webp wipe.webp zoom_pair.webp

앨범에서 꺼낸 흑백 사진을 스캔해 두고도, 정작 가족 단톡방에 올릴 때는 망설여집니다. 색이 없고, 긁힌 자국이 있고, 화면에 띄우면 작게 뭉개지기 때문입니다. 사진관에 맡기면 한 장에 몇만 원이고 며칠이 걸립니다. 타임컬러는 그 세 가지를 내 컴퓨터에서 몇 분 안에 처리합니다. 잡티를 정리하고, 색을 입히고, 2배로 키웁니다.

파이프라인

restore.py (잡티·스크래치·대비)  →  colorize.py (딥러닝 컬러화)  →  upscale.py (EDSR 2배)

실제로 입력하는 명령은 이게 전부입니다.

uv run scripts/restore.py --input-dir scans/ --out-dir out/clean --denoise 3 --scratch
uv run scripts/colorize.py --input-dir out/clean --out-dir out/color
uv run scripts/upscale.py --input-dir out/color --out-dir out/x2

각 단계가 하는 일입니다.

  • 복원 (restore.py): 필름 입자와 스캔 노이즈를 줄이고, 주변보다 유난히 밝은 가는 선과 먼지를 찾아 메웁니다. 바랜 사진은 CLAHE 로 대비를 되살립니다. 인물 사진은 강도 3~5 를 권합니다. 7 이상이면 피부가 밀랍처럼 뭉개진다는 걸 실측으로 확인해 기본 안내에 적어 두었습니다.
  • 컬러화 (colorize.py): Zhang et al.(2016) Colorful Image Colorization 모델을 OpenCV DNN 으로 돌립니다. 원본 밝기는 그대로 두고 색 정보만 예측해 얹기 때문에 디테일이 뭉개지지 않습니다. 색 강도는 0.6~1.4 로 조절합니다.
  • 업스케일 (upscale.py): EDSR x2 초해상도 모델로 두 배로 키웁니다. 단순 확대와 달리 머리카락·옷 결이 살아납니다. 이미 큰 사진은 자동으로 건너뜁니다.

포함 구성

파일 내용
scripts/restore.py 노이즈 제거, 스크래치 인페인팅, CLAHE 대비 회복. 폴더 일괄 처리
scripts/colorize.py 컬러화 모델 자동 다운로드(약 130MB, 1회), 폴더 일괄, 색 강도 조절
scripts/upscale.py EDSR x2 (약 38MB, 1회), 큰 사진 자동 건너뜀
SKILL.md 순서, 옵션, 인물 사진 권장값, 한계

모든 스크립트는 PEP 723 인라인 의존성이라 uv run 한 줄이면 됩니다. CPU 만으로 돌아갑니다.

이렇게 쓰세요

1. 부모님 결혼사진 컬러로: 스캔 파일 한 장을 세 단계로 돌리면 1000px 기준 3분 안에 컬러 2배 사진이 나옵니다. 색 강도를 1.1 로 올리면 옛 필름 느낌이 살아납니다.

2. 앨범 통째로: 폴더째 넣으면 수십 장을 일괄 처리합니다. 저녁에 돌려 두고 아침에 확인하면 됩니다.

3. 기록 사진·논문 자료: 흑백 신문 사진이나 옛 기록 사진을 발표 자료에 넣을 때, 컬러화 없이 복원과 업스케일만 써도 화면에서 훨씬 또렷합니다.

필요한 준비물

  • uv 와 인터넷(첫 실행 때 모델 두 개를 내려받습니다). 이후 오프라인 동작.
  • API 키 없음. GPU 없어도 됩니다. 1000px 사진 기준 컬러화 20초, 업스케일 1~2분(CPU).
  • Claude Code 등 에이전트 환경에서 스킬로 쓰도록 만들었습니다.

추천드립니다 / 비추천드립니다

추천: 가족 앨범을 스캔해 둔 분, 흑백 기록 사진을 자료에 쓰는 분, 작은 옛날 사진을 화면·인쇄용으로 키워야 하는 분.

비추천: 찢기거나 큰 얼룩으로 얼굴이 사라진 사진(없는 정보는 만들어 내지 않습니다). 옷·자동차의 "실제 색"이 꼭 필요한 분(모델은 그럴듯한 색을 추정합니다). 4K 이상 대형 원본(업스케일이 필요 없습니다).

자주 묻는 질문

Q1. 색이 진짜 그 색인가요?
아닙니다. 모델이 수백만 장의 사진에서 배운 "그럴듯한 색"입니다. 하늘·피부·풀은 잘 맞지만 옷 색은 실제와 다를 수 있습니다. 가족에게 확인해 보는 재미로 봐 주세요.

Q2. 사진이 외부로 전송되나요?
아닙니다. 모델을 내려받은 뒤에는 전부 내 컴퓨터에서 처리됩니다.

Q3. 얼마나 걸리나요?
1000px 기준 복원 2초, 컬러화 20초, 업스케일 1~2분(CPU). GPU 가 있어도 별도 설정 없이 CPU 로 돕니다.

Q4. 피부가 뭉개져요.
--denoise 를 3 으로 낮추세요. 노이즈 제거를 세게 걸면 피부 결이 사라집니다. 인물 사진 기본값은 3~5 입니다.

Q5. 컬러 사진에도 쓸 수 있나요?
복원과 업스케일은 컬러 사진에도 그대로 씁니다. 컬러화 단계만 건너뛰면 됩니다.

구매 안내

가격: $7 (1회 다운로드). 월 구독이 아닙니다. 스캔 사진 한 장을 사진관에 맡기는 값보다 쌉니다.

saturn_pair.webp promo.webp

예시 사진은 미국 의회도서관 FSA 컬렉션의 Migrant Mother(Dorothea Lange, 1936)와 NASA 공개 사진으로, 모두 퍼블릭 도메인입니다. 컬러는 모델이 추정한 색이며 실제 색과 다를 수 있습니다.