jamichss/Stream-DiffVSR
[ECCV 2026 Spotlight] The official repository of paper "Stream-DiffVSR: Low-Latency Streamable Video Super-Resolution via Auto-Regressive Diffusion"
Stream‑DiffVSR – 저지연, 스트리밍 가능한 비디오 초해상도
기능 – Stream‑DiffVSR은 온라인으로 작동하는 확산 기반 비디오 초해상도(VSR) 시스템입니다. 과거 프레임만 참조하므로 라이브 비디오 스트림에서 사용할 수 있습니다. 모델은 증류된 4단계 노이즈 제거기, 모션 단서를 정렬하는 자기회귀 시간 안내(ARTG) 블록, 시간 처리 모듈(TPM)이 있는 경량 시간 디코더를 실행하여 세부 사항과 시간적 일관성을 유지합니다.
중요성 – 기존 확산 VSR은 미래 프레임과 많은 노이즈 제거 단계가 필요하여 지연 시간이 수 초에서 수 분에 이릅니다. Stream‑DiffVSR은 RTX 4090에서 약 0.33초 만에 720p 프레임을 처리하며, 이전 온라인 최첨단(TMP)보다 >130배 빠릅니다. 이를 통해 확산 품질의 VSR이 화상 통화, 스트리밍, 라이브 방송과 같은 실시간 또는 저지연 애플리케이션에서 실현 가능해집니다.
주요 구성 요소
- 4단계 증류 노이즈 제거기 – 일반적인 20‑30 확산 단계를 단 4개로 줄여 추론 시간을 단축합니다.
- 자기회귀 시간 안내(ARTG) – 현재 잠재 변수를 노이즈 제거하는 동안 이전 프레임에서 모션 정렬 정보를 주입합니다.
- 시간 처리 모듈(TPM) – 공간 세부 사항을 정제하고 프레임 간 일관성을 강제하는 시간 인식 디코더의 일부입니다.
시작하기
- 클론 및 설정 –
git clone https://github.com/jamichss/Stream-DiffVSR.git실행 후requirements.yml(또는 RTX 전용requirements-cu12.txt)에서 conda 환경을 생성합니다. - 추론 실행 – CLI
inference.py는 Hugging Face에서 사전 훈련된 모델을 자동으로 가져옵니다:
입력은 각 하위 디렉터리에 순서가 지정된 PNG 프레임 목록이 포함된 폴더여야 합니다.python inference.py \ --model_id Jamichsu/Stream-DiffVSR \ --in_path /path/to/low‑res/frames \ --out_path /path/to/high‑res/output \ --num_inference_steps 4 - 선택적 속도 향상 –
--enable_tensorrt(출력 높이/너비 지정 필요)를 추가하여 TensorRT 엔진을 컴파일합니다. 이는 약간의 품질 손실을 감수하고 처리량을 높입니다. - Gradio UI –
requirements-app.txt를 설치하고python app.py를 실행하여 비디오에서 프레임을 추출하고, 모델을 실행하고, 원본 오디오와 함께 업스케일된 비디오를 재조립하는 웹 UI를 얻습니다. - Docker – 바로 실행 가능한 이미지가 제공됩니다.
docker build -t stream-diffvsr-gradio .로 빌드하고 GPU 액세스로 실행합니다.
훈련 – 저장소에는 저자의 훈련 파이프라인을 재현하는 스크립트도 포함되어 있습니다:
- 1단계: 롤아웃 증류를 사용한 UNet 훈련.
- 2단계: 시간 디코더 내에서 TPM 훈련.
- 3단계: UNet과 TPM을 고정한 상태에서 ARTG 훈련.
훈련은 REDS 및 Vimeo‑90K 데이터셋을 사용합니다(경로는 dataset/config_*.yaml에서 설정). UNet은 StableVSR 가중치에서 초기화되고, 시간 디코더 가중치는 TAESD‑X4에서 가져오며, 둘 다 자동으로 다운로드됩니다.
모델 위치 – 사전 훈련된 가중치는 Hugging Face의 Jamichsu/Stream-DiffVSR에서 호스팅됩니다. 추론 스크립트는 즉시 가져오므로 수동 다운로드가 필요 없습니다.
인용 – 코드나 모델을 사용하는 경우 arXiv 논문(arXiv:2512.23709)을 인용하세요.
위의 모든 정보는 저장소의 README에서 직접 가져온 것입니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트