SparkVSR — это открытый фреймворк для интерактивного улучшения разрешения видео, который работает через распространение разреженных ключевых кадров. В отличие от традиционных подходов, где модель выдает результат без возможности вмешательства, здесь ты сам выбираешь несколько ключевых кадров, улучшаешь их любым ISR-инструментом, а SparkVSR распространяет это качество на всю последовательность, сохраняя движение из исходного видео.
Фреймворк построен на двухэтапной системе обучения: сначала модель учится объединять латентные представления низкокачественного видео с закодированными высококачественными ключевыми кадрами, затем дорабатывает детали в пиксельном пространстве. На этапе инференса SparkVSR поддерживает гибкий выбор ключевых кадров — можно указать их вручную, извлечь из I-кадров кодека или выбрать случайным образом. Есть механизм беспрецедентного управления, который балансирует между следованием ключевым кадрам и слепым восстановлением, даже если референсы неидеальны или отсутствуют.
Модель обучена на датасетах HQ-VSR и DIV2K-HR, тестировалась на синтетических и реальных видео — UDM10, SPMCS, YouHQ40, RealVSR, MovieLQ. В экспериментах SparkVSR превосходит базовые методы по метрикам CLIP-IQA, DOVER и MUSIQ на 24,6%, 21,8% и 5,6% соответственно, обеспечивая улучшенную временную согласованность и качество восстановления. Фреймворк универсален — его можно применять не только для суперразрешения, но и для реставрации старых фильмов или переноса стиля на видео.
В репозитории доступны код для инференса и обучения, предобученные веса для обоих этапов, скрипты подготовки датасетов и инструкции по установке зависимостей. Модель требует Python 3.10+, PyTorch 2.5.0 и выше, для обучения нужны 4 GPU A100. Базовая модель — CogVideoX1.5-5B-I2V, веса SparkVSR доступны на HuggingFace.