Старые фотографии несут в себе всякий смысл жизни, которая является памятью поколений. Сегодня Джек Куи научит вас двум алгоритмам, которые помогут вам получить старые фотографии, которые нечеткие и мятые, и превратить черно-белые фотографии в цветные.
Введение
У вас есть старые фотографии красивых пожилых людей в вашей семье?
Либо черно-белые, либо размытые, либо вообще складчатые и поврежденные.
Старые фотографии несут в себе всякий смысл жизни, которая является памятью поколений.
Сегодня Джек Кюи учит всехдва алгоритма, чтобы помочь вам получить старые фотографии, которые нечеткие и мятые, и превратить черно-белые фотографии в цветные фотографии.
размытие фото, HD в один клик:
сложить фото, восстановление одним ключом:
Черно-белое фото, раскрашивание в один клик:
В наш век искусственного интеллектаАлгоритмы могут сделать это за вас!
2. Алгоритм
размытый, морщинистыйфото реставрация, является последней статьей CVPR от Microsoft в 2020 году:
«Оживление старой фотографии»
Раскрашивание черно-белых фотографий — это классический старый алгоритм раскраски (2018):
"ДеОлдифай"
1. Оживление старой фотографии
Авторы этой статьи из Городского университета Гонконга, Microsoft Research Asia, Microsoft Cloud + AI и Университета науки и технологий Китая.
Автор использует вариационный автоэнкодер (ВАЭ) для преобразования изображения в скрытое пространство и выполнения операций восстановления изображения в скрытом пространстве.
Я не понимаю, говорите человеческие слова!
Например, шахматный мастер может запомнить положения всех фигур, глядя на доску в течение 5 секунд, что невозможно для обычных людей.
Однако размещение шахматных фигур должно соответствовать реальной шахматной игре (то есть неотъемлемым правилам существования шахматных фигур), и случайное размещение шахматных фигур недопустимо.
У шахматных мастеров память не лучше, чем у нас, но они опытны и очень хорошо распознают шахматные фигуры и, таким образом, эффективно запоминают шахматные позиции.
Автоэнкодеры (ВАЭ) — это «мастера шахмат», которые могут находить внутренние правила (скрытое пространство) изображений и выражать их по-своему.
Авторы используют два VAE:
Первый VAE используется для кодирования синтетических старых фотографий (размытых, потертых) в скрытое пространство.
Второй VAE используется для кодирования соответствующей чистой старой фотографии.
Затем в скрытом пространстве изучается преобразование испорченных старых фотографий в чистые фотографии.
Таким образом реализуется старый алгоритм восстановления фотографий.
Это немного похоже на обучение управлению представлением признаков четких и потертых изображений.Управляя этим свойством, можно достичь цели восстановления поврежденных фотографий.
Ремонтный эффект бумаги:
Алгоритм с открытым исходным кодом, и есть предварительно обученные модели, которые могут напрямую проверить эффект.
адрес проекта:
Проект зависит от «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. Резюме
У вас дома есть старые черно-белые фотографии?
Восстановление их старых фотографий для старейшин – это неожиданность и душевное волнение. Время идет и никогда не возвращается, прошлое можно только вспомнить~
Если старейшины удивятся, не забудьте вернуться, переслать и поставить лайк!
Я Джек Цуй, программист, который любит отправлять технические галантерейные товары, увидимся в следующем выпуске~