
타임컬러 | 할머니 흑백 사진이 컬러 사진으로 되살아납니다
타임컬러 | 할머니 흑백 사진이 컬러 사진으로 되살아납니다
앨범에서 꺼낸 흑백 사진을 스캔해 두고도, 정작 가족 단톡방에 올릴 때는 망설여집니다. 색이 없고, 긁힌 자국이 있고, 화면에 띄우면 작게 뭉개지기 때문입니다. 사진관에 맡기면 한 장에 몇만 원이고 며칠이 걸립니다. 타임컬러는 그 세 가지를 내 컴퓨터에서 몇 분 안에 처리합니다. 잡티를 정리하고, 색을 입히고, 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회 다운로드). 월 구독이 아닙니다. 스캔 사진 한 장을 사진관에 맡기는 값보다 쌉니다.
예시 사진은 미국 의회도서관 FSA 컬렉션의 Migrant Mother(Dorothea Lange, 1936)와 NASA 공개 사진으로, 모두 퍼블릭 도메인입니다. 컬러는 모델이 추정한 색이며 실제 색과 다를 수 있습니다.


