В данном репозитории лежат ноутбуки для решения задачи Super Resolution, выдвинутой Rutube в рамках хакатона "Цифровой Прорыв 2023". Цель проекта - повышение привлекательности видеохостинга для пользователей.
Спойлер: получилось неплохо, вот результаты.
Примечание: ссылка на презентацию для защиты -> тык.
Качество видео - одна из ключевых характеристик привлекательности видеоплатформы, поэтому важно разработать инструмент повышения разрешения видео с целью дальнейшего внедрения, что безусловно приведет к росту пользовательской аудитории.
Подробнее
Качество видео - одна из ключевых характеристик привлекательности видеоплатформы. На видео с низким разрешением (240p, 360p) пользователи, во-первых, могут не увидеть интересующих их деталей: текст, цифры, знаки, лица и т.д., а во-вторых, подобные видео могут содержать шумы, эффект размытости, муаровые узоры и прочие недостатки. В конечном итоге это может приводить к тому, что суть видео удовлетворяет запросу пользователя, однако низкое качество приводит к тому, что видео все равно просматривается непродолжительное время и закрывается. Вдобавок, видеохостинг RUTUBE содержит множество загружаемого на платформу видео от обычных пользователей, т.н. user generated content, качество которого может варьироваться от высококачественного до съемки, на которой сложно распознать определенные сущности. При этом пользователи могут снимать интересный контент (детали некоторых событий, локаций и т.д.), поэтому важно разработать инструмент повышения разрешения видео с целью дальнейшего внедрения на платформу, что безусловно приведет к росту уровня удовлетворенности пользователей и позволит ему больше времени проводить на платформе в соответствии со своими интересами.Общая сетевая структура HAT соответствует классической архитектуре "остаток в остатке" RIR. Обобщая далее, можно сказать, что наша Н.С., главным образом, состоит из трех частей: поверхностное выделение признаков, глубокое выделение признаков и реконструкция изображения.
Подробности можно узнать из первоисточника: Hybrid Attention Transformer for Image Restoration.
Примечание: итоговая модель была выбрана по результатам импровизированного соревнования внутри команды, в рамках которого, каждый участник представлял обученные на тестовых данных Open-Source решения. Так, помимо уже описанной архитектуры HAT были опробованы:
- Real-ESRGAN - Generative Models,
- RVRT (не получилось адаптировать под данные с задачи) - Recursive Network,
- TecoGAN (не удалось запустить из-за устаревшей кодовой базы).
Таким образом, за несколько дней мы познакомились с моделями, основанными на разных концепциях.
Данные (тренировочные и тестовые) были предоставлены видеохостингом Rutube. Тренировочный датасет состоял из 200 беззвучных видео, где каждое было представлено в двух разрешениях: 144p и 480p.
Кадры для подачи в н.с. собирались со всего тренировочного/тестового/валидационного датасета: брался каждый 250 кадр.
Для решения задачи мы использовали только свободно-распространяемые библиотеки и инструменты:
- Python
- Pytorch
- Weights and Biases
По результатам обучения моделей, имеем следующие показатели метрик:
PSNR | SSIM | Speed | |
---|---|---|---|
⭐HAT | 33.629 | 0.9126 | ~ 5 к/c |
Real-ESRGAN | 25.1315 | 0.7713 | ~ 2 к/с |
Обработанные видеозаписи --> тут.
Тренировка:
python hat/train.py -opt options/train/train_HAT_SRx4.yml
Валидация:
python hat/test.py -opt options/test/HAT_SRx4.yml
Мы видим следующие пути развития проекта:
- Доработка модели для ускорения обработки видеозаписей: эксперименты с архитектурой, поиск проблемных мест и д.р.
- Создание полноценного сервиса с параллельной обработкой картинки и звуковой дорожки:
- Статья HAT - https://arxiv.org/pdf/2309.05239.pdf
- Статья Real-ESRGAN - https://arxiv.org/pdf/2107.10833.pdf
- Статья RVRT - https://arxiv.org/pdf/2206.02146.pdf
- Статья Image Super Resolution - https://arxiv.org/pdf/1807.02758.pdf