Исследователи разработали новый подход к глубокому обучению для устранения повреждений, нанесенных старыми фотографическими отпечатками. Проект с открытым исходным кодом, а реализация PyTorch загружается с GitHub. Есть также Колаб, где вы можете попробовать его.
Мы столкнулись с нейронными сетями, которые могут раскрашивать старые черно-белые снимки, могут улучшать фотографии пейзажей и даже рисовать портреты в стиле старого мастера. Здесь цель более скромная — применить подход глубокого обучения к восстановлению старых фотографий, которые подверглись серьезной деградации.
Исследователи из Microsoft Research Asia в Пекине, Китай, и в Университете науки и техники Китая, а теперь и в Городском университете Гонконга исходят из того, что:
Фотографии делаются для того, чтобы заморозить счастливые моменты, которые в противном случае ушли. Даже несмотря на то, что время идет, человек все еще может вызвать воспоминания о прошлом, просматривая их. Тем не менее, старые фотопечати ухудшаются при хранении в плохом состоянии окружающей среды, что приводит к необратимому повреждению ценного фотоконтента.
Поскольку ручная ретушь отпечатков трудоемка и отнимает много времени, они решили разработать автоматические алгоритмы, которые могут мгновенно восстанавливать старые фотографии для тех, кто хочет вернуть их к жизни.
Исследователи представили свою работу в виде устной презентации на CVPR 2020, состоявшейся практически в июне, и их статья «Возвращение старых фотографий к жизни», которая является частью материалов конференции, уже доступна.
Это объясняет, что:
В отличие от обычных задач восстановления, которые могут быть решены с помощью контролируемого обучения, деградация реальных фотографий является сложной, и разрыв в области между синтетическими изображениями и реальными старыми фотографиями не позволяет сети обобщать. Поэтому мы предлагаем новую сеть трансляции триплетных доменов, используя реальные фотографии наряду с массивными синтетическими парами изображений. В частности, мы обучаем два вариационных автоэнкодера (VAEs) соответственно преобразовывать старые фотографии и чистые фотографии в два скрытых пространства.
Архитектура нашей сети восстановления. (I.) Сначала мы обучаем два VAE: VAE1 для изображений на реальных фотографиях r ∈ R и синтетических изображений x ∈ X , с их доменным разрывом, закрытым совместным обучением состязательного дискриминатора; VAE2 обучается для чистых изображений y ∈ Y. С помощью VAE изображения преобразуются в компактное скрытое пространство. (II.) Затем мы изучаем отображение, которое восстанавливает поврежденные изображения в чистые в скрытом пространстве.
Процесс восстановления работает хорошо и доступен для других пользователей. На GitHub есть реализация PyTorch, а также Colab, где вы можете попробовать ее.