← ESRGAN 그림 수업

MAPLE UPSCALE · EXPERIMENT PLAN

원본 픽셀을 지키는 업스케일 모델 만들기

GAN · CNN 확산 · DiT를 직접 학습하고, 2·3·4배 중 쓸 만한 배율을 고르는 실험 계획입니다.

계획 작성일: 2026-09-11. 데이터·장비 현황만 확인했습니다. 새 모델 학습, 패키지 설치, 체크포인트 다운로드는 시작하지 않았습니다.

GAN / CNN 확산 / DiT2× / 3× / 4×계획 단계 · 학습 미시작
한 픽셀 보존, 배율을 바꿔 보기
원리 표시 · 학습 결과 아님

파란 칸의 원본 색·투명도는 유지하고,
나머지는 전체 그림을 참고해 채웁니다.

1. 이번에 답할 질문

  1. 같은 데이터와 픽셀 보존 규칙에서 GAN, CNN 확산, DiT 중 어떤 방식이 옛 도트에 잘 맞는가?
  2. 한 픽셀을 보존하면서 주변을 채우는 방식은 어떤 배율에서 모양·색·선명도의 균형이 좋은가?
  3. DiT의 픽셀 보존 조건이 전체 그림의 품질에도 도움이 되는가?

‘기존 디퓨전’은 합성곱 중심 U-Net 확산 모델로 해석합니다. DiT와 같은 확산 학습법을 사용하고, 잡음을 처리하는 신경망 구조를 바꿉니다.

2. 직접 학습할 세 모델

실험 기본 구조 학습 방식 주 비교의 픽셀 보존
GAN 작은 RRDB 생성망 + 판별망 재구성 학습 후 GAN 학습 적용
CNN 확산 합성곱 중심 U-Net 픽셀 공간에서 조건부 잡음 제거 적용
DiT 작은 Transformer, 패치 입력·출력 CNN 확산과 같은 조건부 잡음 제거 적용

세 모델 모두 우리 학습셋으로 생성망/복원망을 처음부터 학습합니다. 사전학습 Real-ESRGAN과 AnimeSharp는 별도의 외부 기준선으로 둡니다. GAN 지각 손실에 사전학습 특징 추출기를 쓰면 그 사용을 명시합니다.

CNN 확산과 DiT는 같은 입력 정보, 노이즈 일정, 예측 대상, 손실, 샘플러를 사용합니다. DiT-SR 등의 구조를 참고하지만, VAE 압축 없이 픽셀을 다루는 자체 실험이므로 논문 그대로의 재현이라고 부르지 않습니다.

3. 한 픽셀 보존 규칙

한 칸을 가로·세로 s배로 늘리면 s×s칸이 됩니다. 그중 지정한 한 칸의 **RGBA(색과 투명도)**를 원본과 같게 유지합니다.

배율 한 칸이 되는 영역 유지할 칸 모델이 채울 칸 전체 중 고정 비율
2배 2×2 1 3 25%
3배 3×3 1 8 약 11.1%
4배 4×4 1 15 6.25%

학습용 저해상도는 고해상도에서 해당 위치의 픽셀을 직접 뽑아 만듭니다. 평균을 내거나 흐리게 만들지 않습니다. 현재 설명 사이트의 BOX 축소 예시와는 다른 데이터 생성 규칙입니다.

고정 위치는 각 블록의 (⌊s/2⌋, ⌊s/2⌋)로 통일합니다. 2배는 (1,1), 3배는 (1,1), 4배는 (2,2)이며 좌표는 0부터 셉니다. 위치의 좋고 나쁨도 변수이므로 초기에는 바꾸지 않습니다.

4. 데이터부터 정리

첫 범위는 몬스터·NPC의 투명 배경 스프라이트입니다. 스킬 이펙트·배경·타일·아이템은 후속 일반화 시험으로 남겨, 첫 실험에서 서로 다른 작업이 섞이지 않게 합니다.

2026-09-11 로컬 파일 헤더를 확인한 현황입니다. 아래 수는 정제 전이며, 독립 캐릭터 수나 최신 에셋 수를 뜻하지 않습니다.

종류 stand 첫 프레임 확인 캔버스 양쪽이 96픽셀 이상
몬스터 7,551장 4,053장
NPC 9,848장 1,874장

5. 순서와 결정 시점

단계 할 일 다음 단계로 넘어가는 기준
0. 시험지 확정 데이터 목록, 묶음 분리, 픽셀 위치, RGBA 처리, 평가 코드 원본 해시·분리 검사·PNG 고정점 오차 0 확인
1. 학습이 되는지 확인 16~32개 묶음으로 세 모델 각각 작은 과적합 실험 미지 영역의 오차 감소, 이미지·알파 정상, 재시작 재현
2. 배율 파일럿 3개 모델 × 2·3·4배 = 9개 짧은 실험, 학습 시드 1개 검증셋과 옛 도트 개발용 갤러리로 배율 선정
3. 본학습 선정 배율에서 세 모델, 학습 시드 2개씩 = 6회 동일 예산에서 모델별 품질·속도·편차 기록
4. 보존 효과 확인 같은 배율의 DiT를 보존 없이 별도로 학습, 같은 시드 2개 = 2회 픽셀 고정이 전체 형태·미지 영역 복원에 주는 영향 확인
5. 최종 시험 봉인한 합성 시험셋과 옛 도트 시험셋으로 평가 최종 비교 웹사이트·노트북·체크포인트 기록

2배의 복원이 쉽다는 이유만으로 배율을 고르지 않습니다. 실제로 필요한 캐릭터 크기, 원본의 인상, 외곽선, 애니메이션 품질을 함께 봅니다. 모든 배율은 원본/출력 크기를 표기하고, 같은 화면 크기와 실제 1:1 픽셀 보기 모두 제공합니다.

검증 결과가 애셋 종류에 따라 갈리면, 먼저 한 배율로 세 모델의 주 비교를 완성한 뒤 범주별 배율 적용을 별도 실험으로 둡니다. 최종 시험셋을 보고 배율·모델·시드를 바꾸지 않습니다.

6. 무엇을 비교할까?

기준 보는 내용
픽셀 보존 저장한 PNG에서 지정 위치의 RGBA 최대 오차가 0인지
복원 정확도 정답이 있는 합성 시험셋의 고정점을 제외한 전경 RGB 오차/PSNR, 미지 알파 오차
그림의 인상 동일 배경에 합성한 전체 이미지 LPIPS(특징 차이), 모델명을 가린 사람 평가
도트 품질 눈·표정·실루엣·팔레트, 선이 뭉개지거나 가짜 무늬가 생기는지
투명도 검정·흰색·게임 배경에서 테두리, 투명 영역에 생긴 얼룩
애니메이션 원점·공통 캔버스를 맞춘 시퀀스의 선·색 흔들림
비용 학습 GPU 시간, 메모리, 학습 노출 수, 전체 이미지 추론 시간, 모델 크기

고정점은 정답이 이미 들어가므로 전체 PSNR만으로 우열을 정하지 않습니다. LPIPS는 전체 합성 이미지의 보조 지표로 쓰며, 마스크에 구멍을 낸 이미지를 ‘미지 영역 LPIPS’로 계산하지 않습니다.

실제 옛 도트에는 고해상도 정답이 없으므로 PSNR을 붙이지 않습니다. 모델명이 없는 동일 조건의 결과를 놓고 정체성·사용 가능성을 평가합니다. 정량 수치는 캐릭터 묶음별 평균과 편차로 보고합니다.

7. 공정한 비교 규칙

8. 장비·시간 예산

RTX PRO 6000 96GB, 시스템 RAM 약 62GiB, SSD 여유 약 823GiB를 확인했습니다. 확인 시 GPU 약 36GiB가 사용 중이므로, 실행 직전 가용량을 다시 확인하고 다른 작업은 건드리지 않습니다.

한 번에 학습 작업 하나만 실행합니다. 원본 전체를 RAM에 올리지 않고, 캐릭터별 목록과 지연 로딩을 사용합니다. GPU뿐 아니라 RAM·swap도 기록합니다.

시간은 아직 측정하지 않았습니다. 계획용 예산안은 파일럿 1회 0.5~1 GPU시간, 본학습/보존 비교 1회 4~8 GPU시간입니다. 9회 파일럿 + 8회 본학습·비교라면 36.5~73 GPU시간이며, 데이터 정리·초기 점검·평가 시간은 별도입니다.

이는 수렴 시간 예측이 아니라 계산량 상한 제안입니다. 단계 1에서 처리속도·메모리·학습곡선을 확인한 뒤 최종 상한을 정합니다. 학습곡선이 아직 개선 중이면 예산 내 결과로 명시하고 무조건 우승 모델을 선언하지 않습니다.

9. 남길 산출물

모델마다 노트북·설정·체크포인트·출력 폴더를 분리하고, 마지막에 비교 노트북과 웹 갤러리로 합칩니다.

예정 노트북: 00_dataset_audit.ipynb, 01_pairs_and_masks.ipynb, 02_gan.ipynb, 03_unet_diffusion.ipynb, 04_dit.ipynb, 05_anchor_ablation.ipynb, 06_compare.ipynb.

기존 에셋을 복사해서 학습셋 전체를 다시 저장하지 않습니다. 목록과 처리 규칙을 버전 관리하고, 원본·마스크·출력의 해시와 실행 설정을 함께 남깁니다.

10. 다음에 시작할 일

첫 착수 범위는 데이터 선별 갤러리, 캐릭터 묶음 분리, 2·3·4배 점샘플 쌍과 보존 검사입니다. 그 결과를 확인한 뒤 세 모델의 소량 학습 점검으로 넘어갑니다. 이번 작업은 이 계획을 검토 가능한 문서로 만드는 데까지입니다.

정확한 마스크·학습·평가 규칙 보기 · ESRGAN 그림 수업으로 돌아가기

참고 논문