Алгоритм восстановления фотографий вековой давности, эти ценные родители

глубокое обучение
Алгоритм восстановления фотографий вековой давности, эти ценные родители

Старые фотографии несут в себе всякий смысл жизни, которая является памятью поколений. Сегодня Джек Куи научит вас двум алгоритмам, которые помогут вам получить старые фотографии, которые нечеткие и мятые, и превратить черно-белые фотографии в цветные.

Введение

У вас есть старые фотографии красивых пожилых людей в вашей семье?

Либо черно-белые, либо размытые, либо вообще складчатые и поврежденные.

Старые фотографии несут в себе всякий смысл жизни, которая является памятью поколений.

Сегодня Джек Кюи учит всехдва алгоритма, чтобы помочь вам получить старые фотографии, которые нечеткие и мятые, и превратить черно-белые фотографии в цветные фотографии.

размытие фото, HD в один клик:

сложить фото, восстановление одним ключом:

Черно-белое фото, раскрашивание в один клик:

В наш век искусственного интеллектаАлгоритмы могут сделать это за вас!

2. Алгоритм

размытый, морщинистыйфото реставрация, является последней статьей CVPR от Microsoft в 2020 году:

«Оживление старой фотографии»

Раскрашивание черно-белых фотографий — это классический старый алгоритм раскраски (2018):

"ДеОлдифай"

1. Оживление старой фотографии

Авторы этой статьи из Городского университета Гонконга, Microsoft Research Asia, Microsoft Cloud + AI и Университета науки и технологий Китая.

Автор использует вариационный автоэнкодер (ВАЭ) для преобразования изображения в скрытое пространство и выполнения операций восстановления изображения в скрытом пространстве.

Я не понимаю, говорите человеческие слова!

Например, шахматный мастер может запомнить положения всех фигур, глядя на доску в течение 5 секунд, что невозможно для обычных людей.

Однако размещение шахматных фигур должно соответствовать реальной шахматной игре (то есть неотъемлемым правилам существования шахматных фигур), и случайное размещение шахматных фигур недопустимо.

У шахматных мастеров память не лучше, чем у нас, но они опытны и очень хорошо распознают шахматные фигуры и, таким образом, эффективно запоминают шахматные позиции.

Автоэнкодеры (ВАЭ) — это «мастера шахмат», которые могут находить внутренние правила (скрытое пространство) изображений и выражать их по-своему.

Авторы используют два VAE:

Первый VAE используется для кодирования синтетических старых фотографий (размытых, потертых) в скрытое пространство.

Второй VAE используется для кодирования соответствующей чистой старой фотографии.

Затем в скрытом пространстве изучается преобразование испорченных старых фотографий в чистые фотографии.

Таким образом реализуется старый алгоритм восстановления фотографий.

Это немного похоже на обучение управлению представлением признаков четких и потертых изображений.Управляя этим свойством, можно достичь цели восстановления поврежденных фотографий.

Ремонтный эффект бумаги:

Алгоритм с открытым исходным кодом, и есть предварительно обученные модели, которые могут напрямую проверить эффект.

адрес проекта:

GitHub.com/Microsoft/B…

Проект зависит от «Synchronized-BatchNorm-PyTorch» и может быть настроен в соответствии с руководством.

Первый шаг, клон проекта:

git clone https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life

Второй шаг, войдите в каталог проекта, клонируйте зависимый проект:

cd Face_Enhancement/models/networks/
git clone https://github.com/vacancy/Synchronized-BatchNorm-PyTorch
cp -rf Synchronized-BatchNorm-PyTorch/sync_batchnorm .
cd ../../../
cd Global/detection_models
git clone https://github.com/vacancy/Synchronized-BatchNorm-PyTorch
cp -rf Synchronized-BatchNorm-PyTorch/sync_batchnorm .
cd ../../

Третий шаг — загрузить предварительно обученную модель.

cd Face_Detection/
wget http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2
bzip2 -d shape_predictor_68_face_landmarks.dat.bz2
cd ../

Затем загрузите обученные модели Global и Face_Enhancement соответственно ираспаковывать, в соответствующем каталоге:

Глобальный:

лицо VC.blob.core.windows.net/spread/old_…

Face_Enhancement:

лицо VC.blob.core.windows.net/spread/old_…

Скорость загрузки низкая или проблематичная, вы можете скачать мой упакованный проект и использовать его напрямую!

Модель, код, материал, адрес загрузки проекта (код извлечения: jack):

Ссылка на сетевой диск:Disk.Baidu.com/Yes/1PlusVabsolute8DS0…

Инструкции:

Восстановление изображения без трещин, то есть картинка не четкая, можно использовать следующие команды:

python run.py --input_folder [test_image_folder_path] \
              --output_folder [output_path] \
              --GPU 0

Поместите образ, который вы хотите восстановить, в каталог [test_image_folder_path] (укажите его самостоятельно), и сгенерированный образ будет помещен в каталог [output_path].

Для битых картинок необходимо добавить дополнительный параметр, команда выглядит следующим образом:

python run.py --input_folder [test_image_folder_path] \
              --output_folder [output_path] \
              --GPU 0 \
              --with_scratch

Здесь следует отметить, что указанный путь необходимо использоватьабсолютный путь.

текущий результат:

2. Дестаризация

«DeOldify» — это алгоритм раскрашивания изображения.

Этот алгоритм был использован для восстановления изображений старого Пекина столетней давности, которые когда-то были в горячем поиске.

Все готово и удобно в использовании.

DeOldify — это приложение состязательных генеративных сетей.

Принцип заключается в использовании технологии NoGAN, которая сочетает в себе преимущества обучения GAN, такие как отличный эффект окраски, а также устраняет некоторые побочные эффекты, такие как нестабильная окраска экрана и мерцание.

Алгоритм давно вышел, и должно быть много туториалов по принципу работы алгоритма.Я не буду повторяться здесь.Давайте посмотрим как его использовать непосредственно.

адрес проекта:

GitHub.com/просто нажмите поднять/d количество OL…

Вам нужно настроить так же, как указано выше, установить некоторые библиотеки, а затем загрузить файл весов модели.

На странице проекта подробно описано, какие файлы нужно загрузить и что необходимо установить.

После настройки напишите следующий код в каталоге проекта:

#NOTE:  This must be the first call in order to work properly!
from deoldify import device
from deoldify.device_id import DeviceId
#choices:  CPU, GPU0...GPU7
device.set(device=DeviceId.GPU0)
import torch
if not torch.cuda.is_available():
    print('GPU not available.')
import fastai
from deoldify.visualize import *
import warnings
warnings.filterwarnings("ignore", category=UserWarning, message=".*?Your .*? set is empty.*?")
colorizer = get_image_colorizer(artistic=True)
colorizer.plot_transformed_image("test_images/1.png", render_factor=10, compare=True)

test_images/1.png это изображение, которое нужно раскрасить, запустите программу, вы можете раскрасить черно-белое фото.

все еще,Модель, код, материалВсе запаковано, адрес загрузки проекта (код извлечения: jack):

Ссылка на сетевой диск:Disk.Baidu.com/Yes/17Is it_ah1i…

Откройте Jupyter и запустите файл run.ipynb напрямую.Сгенерированные результаты сохраняются в папке result_images.

Помимо работы с картинками, раскрашивать видео тоже несложно.

3. Резюме

У вас дома есть старые черно-белые фотографии?

Восстановление их старых фотографий для старейшин – это неожиданность и душевное волнение. Время идет и никогда не возвращается, прошлое можно только вспомнить~

Если старейшины удивятся, не забудьте вернуться, переслать и поставить лайк!

Я Джек Цуй, программист, который любит отправлять технические галантерейные товары, увидимся в следующем выпуске~