Letsenhance

Откуда растут ноги

Super Resolution

  • Video Super Resolution (0,4 миллиона статей) — собственно восстановление с использованием предыдущих (а иногда и последующих) кадров,
  • Image Super Resolution (2,2 миллиона статей) — «умное» увеличение разрешения с использованием только одного кадра. Так как в случае одной картинки взять информацию о том, что было в этом месте на самом деле неоткуда, алгоритмы тем или иным способом достраивают (или, условно говоря, «додумывают») картинку — что там могло бы быть. Основной критерий при этом — результат должен смотреться максимально естественно, либо быть как можно ближе к оригиналу. И понятно, что для восстановления того, что было «на самом деле», подобные методы не годятся, хотя увеличить картинку для того, чтобы она получше выглядела, например, при печати (когда у вас есть уникальное фото, но нет версии в большем разрешении) подобными методами очень даже можно.

Video Super Resolution15 минутFast Video Super Resolution
муаромна основе этой нашей работы
бикубической интерполяцией
Lanczos4

Эксперименты

Эксперименты проводились на трёх широко используемых наборах данных Set5, Set14 и BSD100, тестовом наборе BSD300. Все опыты выполнены с коэффициентом 4x между снимками с низким и высоким разрешением. Это соответствует 16-кратному уменьшению пикселей изображения. Для достоверного сравнения все измеренные значения PSNR и SSIM были рассчитаны на Y-канале с центральным кадрированием и удалением полосы шириной в 4 пикселя у каждой границы изображения.

Обучение проводилось на графическом процессоре NVIDIA Tesla M40 с использованием случайной выборки из 350 тысяч изображений, взятых из базы данных ImageNet. Изображения LR были получены путём понижения дискретизации HR-изображений (BGR) с использованием бикубического ядра.

Для каждого мини-пакета обрезаются 16 случайно выбранных частей HR-изображения с разрешением 96×96 (мы можем применить генеративную модель к снимкам произвольного размера, так как она полностью является свёрточной). Далее входные LR-изображения масштабируются в диапазоне , а HR — в диапазоне . Таким образом, потери среднеквадратичной ошибки рассчитываются в диапазоне интенсивностей .

Для оптимизации используется алгоритм Adam (adaptive moment estimation). В качестве инициализации при обучении сети GAN использовалась ранее обученная нейросеть SRResNet, чтобы избежать нежелательных локальных минимумов.

Все варианты SRGAN прошли обучение с 105 обновляемыми итерациями со скоростью обучения 10-4, и затем ещё с 105 итерациями с более низкой скоростью 10-5, при этом чередуя обновления для генеративной и дискриминаторной сети. Генеративная сеть имеет 16 идентичных (B=16) остаточных блоков. Во время тестирования обновления пакетной нормализации отключены, чтобы получить результат, зависящий только от исходных данных.

Как устроена нейросеть

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

Как и наша нервная система, нейросеть состоит из отдельных вычислительных элементов – нейронов, расположенных на нескольких слоях. Данные, поступающие на вход нейросети, проходят последовательную обработку на каждом слое сети. При этом каждый нейрон имеет определенные параметры, которые могут изменяться в зависимости от полученных результатов – в этом и заключается обучение сети.

Предположим, что задача нейросети – отличать кошек от собак. Для настройки нейронной сети подается большой массив подписанных изображений кошек и собак. Нейросеть анализирует признаки (в том числе линии, формы, их размер и цвет) на этих картинках и строит такую распознавательную модель, которая минимизирует процент ошибок относительно эталонных результатов.

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

Но в 2010 году появилась база ImageNet, содержащая 15 миллионов изображений в 22 тысячах категорий. ImageNet многократно превышала объем существовавших баз данных изображений и была доступна для любого исследователя. С такими объемами данных нейросети можно было учить принимать практически безошибочные решения.

Результатов в решении этой проблемы в 2006 году добились три независимых группы ученых. Во-первых, Джеффри Хинтон реализовал предобучение сети при помощи машины Больцмана, обучая каждый слой отдельно. Во-вторых, Ян ЛеКан предложил использование сверточной нейронной сети для решения проблем распознавания изображений. Наконец, Иошуа Бенджио разработал каскадный автокодировщик, позволивший задействовать все слои в глубокой нейронной сети.

FaceHero

Еще одно приложение, на этот раз для устройств Apple. Оно умеет делать анимированные 3D-аватары и многое другое на основе одной фотографии. Разработка и поддержка работы приложения лежит на плечах компании itSeez3D.

Приложение умеет:

  • превращать обычные фотографии в трехмерные бюсты для аватара;
  • анимировать трехмерные бюсты: например, делать так, чтобы человек подмигивал или посылал воздушный поцелуй;
  • ставить ваш аватар на стол, пол или другую основу в режиме AR (дополненной реальности);
  • делать стикеры из аватаров и импортировать их в разные приложения и мессенджеры.

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

Аватар для Киану Ривза, полученный с одной фотографии из Google

1. Examples & Usage

The main script is called , which you can run with Python 3.4+ once it’s as below. The argument that lets you specify which GPU or CPU to use. For the samples above, here are the performance results:

  • GPU Rendering HQ — Assuming you have CUDA setup and enough on-board RAM to fit the image and neural network, generating 1080p output should complete in 5 seconds, or 2s per image if multiple at the same time.
  • CPU Rendering HQ — This will take roughly 20 to 60 seconds for 1080p output, however on most machines you can run 4-8 processes simultaneously given enough system RAM. Runtime depends on the neural network size.

The default is to use , if you have NVIDIA card setup with CUDA already try . On the CPU, you can also set environment variable to , which is most useful when running the script multiple times in parallel.

1.a) Enhancing Images

A list of example command lines you can use with the pre-trained models provided in the GitHub releases:

# Run the super-resolution script to repair JPEG artefacts, zoom factor 1:1.
python3 enhance.py --type=photo --model=repair --zoom=1 broken.jpg

# Process multiple good quality images with a single run, zoom factor 2:1.
python3 enhance.py --type=photo --zoom=2 file1.jpg file2.jpg

# Display output images that were given `_ne?x.png` suffix.
open *_ne?x.png

Here’s a list of currently supported models, image types, and zoom levels in one table.

FEATURES
2x 1x

1.b) Training Super-Resolution

Pre-trained models are provided in the GitHub releases. Training your own is a delicate process that may require you to pick parameters based on your image dataset.

# Remove the model file as don't want to reload the data to fine-tune it.
rm -f ne?x*.pkl.bz2

# Pre-train the model using perceptual loss from paper  below.
python3.4 enhance.py --train "data/*.jpg" --model custom --scales=2 --epochs=50 \
    --perceptual-layer=conv2_2 --smoothness-weight=1e7 --adversary-weight=0.0 \
    --generator-blocks=4 --generator-filters=64

# Train the model using an adversarial setup based on  below.
python3.4 enhance.py --train "data/*.jpg" --model custom --scales=2 --epochs=250 \
         --perceptual-layer=conv5_2 --smoothness-weight=2e4 --adversary-weight=1e3 \
         --generator-start=5 --discriminator-start=0 --adversarial-start=5 \
         --discriminator-size=64

# The newly trained model is output into this file...
ls ne?x-custom-*.pkl.bz2

Как работают нейронные сети.

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

Если сеть создает «хороший» и «нужный» выход, то нет необходимости корректировать вес. Однако если сеть создает «плохой» или «нежелательный» вывод или ошибку, то система корректирует свои весовые коэффициенты для улучшения последующих результатов.

ИНС способны к обучению, и они должны быть обучены. Существует несколько стратегий обучения

Обучение — включает в себя учителя, который подает в сеть обучающую выборку на которые учитель знает ответы. Сеть сравнивает свои результаты с ответами учителя и корректирует свои весовые коэффициенты.

Обучение без учителя — это необходимо, когда нет обучающей выборки с известными ответами. Например в задачах кластеризации, т.е. деления множества элементов на группы по каким-то критериям.

Обучение с подкреплением — эта стратегия, построенная на наблюдении. Сеть принимает решение наблюдая за своим окружением. Если наблюдение является отрицательным, сеть корректирует свои веса, чтобы иметь возможность делать разные необходимые решения.

Источники

  • https://neurohive.io/ru/osnovy-data-science/osnovy-nejronnyh-setej-algoritmy-obuchenie-funkcii-aktivacii-i-poteri/
  • https://protraffic.com/articles/neuronetwork-8-5362.html
  • https://software.intel.com/content/www/ru/ru/develop/hardware/ai-on-pc.html
  • https://www.zeluslugi.ru/info-czentr/stati/primery-iskusstvennogo-intellekta-programmy
  • https://habr.com/ru/post/337870/
  • https://neuronus.com/stat/1271-nejronnye-seti-iskusstvennyj-intellekt.html

Генерация вместо восстановления

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

Теория информации не позволяет восстановить изначально отсутствующие сведения о цвете, но не запрещает добавлять их на любом этапе. Другое дело, что новые биты вряд ли будут точно соответствовать навсегда утерянным исходным. Они просто образуют подобные массивы в рамках заданных статистических отклонений. Иными словами, вместо восстановления данных ИИ генерирует новые, дополняющие картину.

В конечном счете речь идет лишь о нашем восприятии. Для художественных фотографий и фильмов, а тем более для игрового контента визуальное впечатление важнее точного соответствия оригиналу. Артефакты здесь допустимы, если зритель не обращает на них внимания. Взгляните, как новая нейронная сеть раскрашивает черно-белые изображения.

Сервис честно предупреждает: «Задача колоризации — сгенерировать приятные цвета. Мы не даем никаких гарантий того, что они соответствуют оригинальным».

Этапы обучения нейронной сети

Обучение нейронки проходит ряд обязательных этапов:

  • собирается информация (данные) для обучения;
  • готовятся данные для выхода;
  • подбираются и предлагаются различные характеристики информации;
  • обучение и проверка результатов;
  • исправление выдачи ошибочных решений нейронной сети и окончательное обучение.

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

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

Повторные просмотры выборок дают более эффективный выход и качественное обучение нейронной сети.

Не всегда сеть обучается правильно. Иногда ее обучение уходит в сторону от задуманного создателем. Например: даем сети несколько вариантов женского пальто. Все модели изображены на одном фоне. Как результат, сеть научилась ориентироваться только на этот фон, хотя требовалось распознавать модели пальто.

Таким образом, чтобы обучить нейронную сеть хорошо, понадобится много усердия. А это может стать довольно сложной задачей для «учителя».

AutoDraw

Графический редактор от Google помогает создавать хорошие иллюстрации тем, кто не умеет рисовать. Сервис был представлен в рамках проекта AI Experiments, открытого осенью 2016 года.

Внешне нейросеть похожа на простой графический редактор. В сервисе можно:

  • выбрать три формата изображения – одно горизонтальное и два вертикальных;
  • просто рисовать, как карандашом в Paint;
  • создавать фигуры – круги, треугольники и четырехугольники;
  • писать текст любым из 14 шрифтов, выбирать размер букв от 8 до 96;
  • заливать цветом фигуры, изображения, фон, менять цвета любых элементов;
  • перемещать и масштабировать объекты на рисунке.

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

Панель управления элементами рисунка расположена слева сбоку, предложенные иллюстрации – сверху

С помощью нейросети легко создавать простейшие рисунки. Идеально для тех, кто выбрал минимализм в оформлении, например, социальных сетей – за 1-2 секунды можно создать уникальную простую иллюстрацию к посту.

Как-то так, например, можно проиллюстрировать публикацию о космосе. Или доработать набросок с помощью других нейросетей

Если будете работать с AutoDraw, учтите, что у нейросети своеобразное восприятие каракулей. Иногда она не может определить, что изображено, и предлагает неподходящие иллюстрации.

Что там под капотом

Внутри работают два нейросетевых алгоритма. 

Первый — ImageNet из OpenAI. Он генерирует картинки 256 на 256 пикселей. Его задача — получить картинку максимального качества. Для этого он раз за разом улучшает детализацию и делает картинку чётче и подробнее.

Второй алгоритм — CLIP: он соединяет текст с картинками. Изначально CLIP создавался для того, чтобы, наоборот, распознать, что изображено на фото. Но в этом алгоритме он работает в обе стороны — говорит, что нужно сделать, а потом раз за разом проверяет, что получается.

Вместе они работают так:

  1. CLIP говорит второму алгоритму, к какой картинке она должна стремиться.
  2. ImageNet старательно делает первый набросок и показывает его.
  3. CLIP оценивает, насколько это совпадает с запросом, и говорит, в каком направлении нужно двигаться дальше.
  4. ImageNet делает второй набросок и показывает его снова.
  5. Так продолжается до тех пор, пока CLIP не скажет «всё, хорош» или когда точность приближения, по мнению нейросети, не будет ниже той, что нужна для остановки.

Откуда нейросеть всё это знает

Чтобы алгоритм мог сопоставлять слова с картинками, нейросеть специально обучали на огромном множестве изображений с описаниями. Там было всё: и фото людей, и котят, здания, игры, машины, книги, чашки, свитеры, чугунные ванны и фарфоровые статуэтки.

Если бы не было такого набора с данными, нейронка сама бы не поняла, что кошка — это кошка, и выдавала бы просто квадрат из несвязных пикселей.

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

Похожим образом работает «Балабоба» Яндекса — это нейросетевой алгоритм, обученный на огромном корпусе текстов из интернета. Когда мы даём задание «Балабобе», алгоритм дёргает нужные фразы из корпуса и выдаёт результат. 

Текст:

Михаил Полянин

Редактор:

Максим Ильяхов

Художник:

Даня Берковский

Корректор:

Ирина Михеева

Вёрстка:

Кирилл Климентьев

Соцсети:

Олег Вешкурцев

Эксперименты

Исследователи использовали лазерную оптическую установку и три различных метода  реконструкции изображения: классический алгоритм Гершберга–Сакстона, нейросеть со сквозным обучением и физически обоснованную нейросеть Процесс восстановления оценивался для различных уровней зашумлённости изображения. 

Схема установки. VND: светофильтр (variable neutral density filter), P1-P2: поляризаторы, L1: линза 10x, L2: линза 100 мм, L3: линза 230 мм, L4: линза 100 мм, F1: камера обскура 5 мкм, F2: механическая диафрагма IRIS, SLM: пространственный модулятор света (Spatial Light Modulator), EM-CCD: матрица с управляемым вторично-электронным умножителем.

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

Гелий-неоновый лазер

Для каждой категории изображений (ImageNet и IC) и уровня шума обучалась отдельная глубокая нейросеть. Примеры разделены на обучающую, тестовую и проверочную выборки, содержащие 9500, 450 и 50 фотографий соответственно. Исследователи использовали сеть с архитектурой «энкодер-декодер» из своей предыдущей работы, добавив в неё один дополнительный слой.

В таблице ниже указаны уровни шума для каждого эксперимента (они относятся к исходному падающему лучу без модуляции на SLM):

Условия освещения одинаковы как у изображений микросхем, так и у набора ImageNet. Количество фотонов считается для каждого пикселя и усредняется по участку фотографии, на который попадает лазерный луч (без модуляции на SLM). Сигнал/шум (SNR) также усредняется по всему полю зрения, а предел SNR — это квадратный корень из числа фотонов.

Smart Sketch

Еще один сервис, демонстрирующий работу нейросети GauGAN от Nvidia. Модель нейросети назвали в честь художника Поля Гогена. Сам сервис превращает схематичные зарисовки в сносные пейзажи, используя результаты обработки более 1 млн фото, полученных от Flickr.

Чтобы получить пейзаж, схематично нарисуйте его. В демонстрационной версии Nvidia для этого есть все необходимое – можно выбрать кисти для травы, холма, камней, деревьев и других элементов. Если вы знакомы с английским хотя бы на базовом уровне, проблем не возникнет.

Так выглядит результат работы нейросети: детский рисунок превратился во вполне приемлемый пейзаж

Poem Portraits

Этот сервис – результат сотрудничества Google Arts и Culture Lab. Он создает из фотографий портреты со стихотворениями.

Чтобы получить уникальный портрет, нужно сначала ввести любое слово, которое должно присутствовать в стихе. А потом разрешить доступ к камере. Через несколько секунд получите готовый «стихотворный» портрет.

Как бы загрузить изображение, чтобы не фоткаться? – не получится

Есть два нюанса:

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

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

Ostagram

Нейросеть, судя по коду на GitHub, создана жителем Нижнего Новгорода Сергеем Моругиным. Она умеет раскрашивать изображения в цвета других иллюстраций.

Ostagram очень похожа на DeepArt и Instapainting, но у нее немного другой принцип работы. Она оформляет исходное изображение не в стиле выбранной картины, а в ее цветах. Чтобы начать обработку, нужно просто загрузить или выбрать исходник и изображение, откуда нужно взять цветовую гамму.

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

Основная версия сервиса бесплатна, в остальном он условно бесплатный. Без денег можно получать готовые иллюстрации в разрешении максимум 600 пикселей по длинной стороне. Но, во-первых, у нас есть Let’s Enhance, а во-вторых, можно оплатить услуги сервиса. Размер изображения в версии Premium – до 700 пикселей, в версии HD – до 1 200 пикселей.

Let’s Enhance

Сервис работает на основе нейронных сетей, которые учатся восстанавливать детали, опираясь на данные о часто встречающихся текстурах и объектах. Он позволяет увеличить разрешение изображения в 4 раза без потери качества.

Недавно разработчики добавили возможность увеличения разрешения до 16 раз. Но это не единственная функция сервиса. Он может добавлять текстуры, улучшать цвета, делать иллюстрации более четкими и красивыми. Просто загрузите файл и выберите, что нужно с ним сделать.

Разрешение фото увеличилось, но качество осталось прежним

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

WebScore AI

Еще один сервис на базе нейросети от команды uKit Group. Фишкой сервиса является функция оценки привлекательности сайта.

Ребята из uKit Group прошерстили Интернет и сформировали выборку из 12 000 сайтов: от очень старых страниц до лендингов мировых ИТ-флагманов.
Затем профи по дизайну помогли выделить 125 параметров, по которым обычные посетители оценивают веб-страницы.
Далее фокус-группа оценила сайты в выборке по шкале от 1 до 10, чтобы моделям машинного обучения было на что ориентироваться.

В итоге оценка системы стала точнее, чем оценки её учителей, а нейросеть самостоятельно выделила еще 1000 признаков привлекательности сайта.
Сейчас WebScore AI умеет выставлять странице общий балл и находится в публичном доступе для продолжения обучения.

Какие сайты умеет обрабатывать WebScore AI?

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

При анализе дизайн-параметров WebScore AI использует скриншот сайта: если страница сильно анимирована и система запомнила не лучший кадр, это может привести к снижению балла.

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

Оценка некоторых онлайн-витрин может быть понижена, если они используют много всплывающих сообщений или очень плотно размещают контент.

Colorize

Сервис создан российской компанией G-Core Labs на основе проекта DeOldify с открытым исходным кодом. Нейросеть умеет раскрашивать черно-белые фотографии в реалистичные цвета.

Чтобы получить готовое изображение, просто загрузите черно-белую иллюстрацию и оставьте адрес электронной почты. Обработка займет от 10 секунд до 30 минут, в моем случае письмо было на почте через 15 секунд.

Черно-белое фото раскрашено вполне реалистично, но морю не хватает немного красок

Это условно бесплатный сервис. На каждой иллюстрации будет видна надпись «Created by colorize.cc», а всего можно загрузить до 50 картинок.

Иллюстрации

Autodraw — инструмент для рисования от Google. В 2017 году компания выпустила нейросетевую программу, которая превращает набросок от руки в полноценную иллюстрацию. Разработка построена на алгоритме, который анализирует рисунок, распознает тип изображения и подбирает похожие клип-арт иллюстрации. Пока нейросеть работает не идеально — Autodraw выдает несколько похожих картинок, из которых пользователь выбирает наиболее подходящую. Иногда программа ошибается, но чем больше вы пользуетесь инструментом, тем быстрее нейросеть учится.

Autodraw пригодится для рисования иконок, логотипов, баннеров, афиш и быстрого прототипирования.

Пример работы Autodraw от The Verge

ProjectQuick3D — инструмент для создания 3D-моделей от Adobe. Программа работает по схожему с Autodraw алгоритму: пользователь рисует быстрый скетч, а программа с помощью машинного обучения находит в библиотеке Adobe Stock нужную 3D-модель. Нейросеть обучается — чем больше пользователей рисуют, тем точнее работает алгоритм. Разработчики представили проект на конференции Adobe MAX как инструмент для начинающих дизайнеров, которые прежде не работали с 3D.

Разработчики Adobe демонстрируют работу программы на конференции Adobe MAX

Looka

Сервис генерирует логотипы, исходя из информации о вашей компании. В работе он использует алгоритмы Tensor Flow от Google.

Чтобы получить несколько вариантов логотипов, нужно рассказать нейросети о том, чем вы занимаетесь и какие решения вам нравятся. А именно:

  • указать сферу деятельности;
  • выбрать 5 или более логотипов, которые вам нравятся, из предложенных;
  • выбрать 2 набора цветов;
  • выбрать 3 конкретных цвета для логотипа;
  • указать название компании и слоган или УТП;
  • выбрать до 5 символов, характеризующих вашу компанию.

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

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

Фото

Let’s Enhance — сервис, улучшающий фотографии с низким разрешением. Его основатель Александр Савсуненко давно занимается машинным обучением, и после неудачного проекта по производству ДНК-тестов Titanovo решился на новый стартап. Идею для сервиса Александру подсказал отец — он продает камины, сауны и аксессуары для них, и товар возит из разных стран, в том числе из Китая. О качестве фотографий китайских товаров известно по AliExpress: большинство снимков — низкого разрешения, размещать их на сайте стыдно.

Тогда Александр Савсуненко совместно с разработчиком Владиславом Пранскевичусом создали Let’s Enhance. Сервис убирает jpeg-артефакты с фотографий, увеличивает разрешение в 4 раза, восстанавливает детали и увеличивает четкость снимков.

Перед обработкой система предлагает выбрать способ — улучшить разрешение фотографии или рисунка, логотипа или комикса, добавить текстуру, поправить цвет

Работает система на основе трех нейронных сетей, которые учатся улучшать фотографии. Технология Super-resolution обучается на базе из сотен тысяч фотографий низкого и высокого качества. Нейросеть обрабатывает два снимка, восстанавливает детали и сохраняет четкие линии, опираясь на знание типовых объектов и текстур. Вторая нейросеть — Boring — увеличивает четкость изображения. Третья — Magic — дорисовывает детали, которых нет на фотографии, чтобы сделать снимок более реалистичным.

Так работает нейросеть Boring, которая лучше всего восстанавливает текст, логотипы и комиксы. «Boring is not so boring» — говорит Александр Савсуненко

Сначала сервис был бесплатным, и пользователям разрешали обрабатывать любое количество фотографий. Сейчас сайт работает по подписке — без нее можно обработать только пять изображений. Для покупки доступны пакеты на 20, 50, 120 фотографий или подписка на месяц или год. Обработка двадцати изображений стоит 5 $, месячная подписка с возможностью обработать до тысячи фото — 7 $, годовая — 52 $.

Еще одна нейросеть для улучшения фотографий — программа от NVIDIA. Исследователи компании анонсировали технологию как алгоритм, который «может исправить зернистые фотографии одним взглядом».

Обучается NVIDIA схоже с Let’s Enhance — сравнивает фотографии с шумом и без. Нейросеть умеет удалять артефакты, шум, зерно. Создатели NVIDIA считают, что технологию уже можно использовать для улучшения изображений МРТ, а в будущем  — применять для визуализации в медицине.

Исследователи NVIDIA в ролике об ИИ демонстрируют работу технологии

Как обработать фото нейросетью

Теперь перейдём к собственно улучшению фотографий с помощью нейронных сетей. Как ни странно, в App Store полно приложений, которые предлагают такую возможность, но я почитал отзывы и остановился на Remini. Это приложение, которое распространяется бесплатно, но при этом позволяет обработать только 5 фотографий в день. Если у вас есть потребность в обработке большего количества снимков, придётся купить подписку.

  • Скачайте Remini из App Store себе на iPhone;
  • Запустите приложение и разрешите доступ к камере и фото;

Нейросети могут серьёзно улучшить качество старых фото

  • На главном экране нажмите Enhance и выберите фото для обработки;
  • Дождитесь, пока нейронные сети обработают снимок и сравните результат.

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

Это портретные фото, которые делает Remini. Сравните качество фотографий наверху с фотографиями внизу

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

Собственный ИИ для реконструкции лица

Лица — чрезвычайно важная часть любого изображения, которое сложно воссоздать. Разработчики обучили нейронные сети на тысячах изображений, чтобы научить ИИ автоматически распознавать маленькие лица и предложить вам лучшую и более точную реконструкцию лица.

От фотокниг до широкоформатных — улучшите разрешение изображения и dpi для наилучшего результата печати.

Для электронной коммерции

Повысьте коэффициент конверсии вашей электронной коммерции — четкие и качественные изображения, чтобы покупатель мог видеть все

Для недвижимости

Делайте яркие и насыщенные фотографии недвижимости, чтобы повысить интерес и увеличить продажи.

Улучшение фотографий онлайн

Как Let’s Enhance увеличивает разрешение изображения?

Let’s Enhance использует передовую технологию сверхвысокого разрешения изображений, основанную на глубоких сверточных нейронных сетях. До появления этой технологии было невозможно резко увеличить фото или размер изображения без потери качества. Ваш лучший вариант в Photoshop, называемый бикубической интерполяцией, сделал ваше изображение нерезким и размытым. Те из вас, кто разбирается в математике, могут возразить — как бы вы ни увеличивали разрешение изображения — новой информации об изображении нет — вы просто не можете добавить дополнительное качество! Это неверно в случае использования нейронной сети и ИИ. Наша нейронная сеть обучена на огромном наборе данных изображений, поэтому она изучает типичные особенности физических объектов — кирпичи стен, волос и кожи. После того, как сеть распознает эти особенности на загруженных изображениях, добавит дополнительные детали на основе своих общих знаний о мире.

Какой максимальный предел изображения?

Для бесплатных пользователей мы устанавливаем предел в 15 мегапикселей и 15 мегабайт для каждой загруженной фотографии. Обработка и улучшение изображений с помощью нейронных сетей — чрезвычайно ресурсоемкий процесс. Мы снимаем эти ограничения для наших платных пользователей — никаких ограничений на размер файла и ограничение на размер изображения 30 мегапикселей.

Вы удаляете шум JPEG из загружаемых мной изображений?

Да, если мы обнаруживаем изображение с расширением .jpg или .jpeg, мы автоматически применяем систему шумоподавления, также основанную на нейронных сетях. Если по каким-либо причинам вы хотите повысить масштаб изображения и избежать удаления шума — загрузите изображение как .png

Какие изображения лучше всего подходят для работы с Let’s Enhance?

Система лучше всего работает с необработанными изображениями, которые ранее не подвергались масштабированию, повышению резкости и т. Д. Пожалуйста, убедитесь, что ваше изображение ранее не масштабировалось с помощью какого-либо инструмента. Если он был увеличен или отсканирован с физического оригинала, иногда уменьшение разрешения перед обработкой может дать гораздо лучшие результаты. Экспериментируйте!

Что еще интересного?

Let’s Enhance — украинский стартап, который разрабатывает онлайн-сервис на основе искусственного интеллекта, который позволяет улучшать изображения и увеличивать их без потери качества. По словам разработчиков, они использовали технологию машинного обучения сверхвысокого разрешения.Улучшить фотографию: Letsenhance

Если тебе понравился этот материал, ты можешь подписаться на мой  Instagram / / Medium / Linkedin. Там ты найдешь больше интересных материалов о дизайне.

Выводы

Обработка фото-, видео- и компьютерной графики с помощью нейронных сетей — исключительно простой и эффективный метод. Его начинают активно использовать не только игровые и киностудии, но и рядовые пользователи. Автоматизированное улучшение классики — золотая жила, так как не требует больших затрат и гарантирует массовый спрос. Миллионы поклонников только и ждут, когда шедевры прошлого заиграют новыми красками.

Однако есть в этом подходе и свои опасности. Результат компьютерной обработки изображений с помощью нейросетей настолько впечатляет, что возникает соблазн «улучшить» таким же образом документальные кадры. Это чревато искажением фактов и ложными озарениями, поскольку ИИ может внести не заметные глазом артефакты. Стоит помнить, что нейросеть не восстанавливает, а дорисовывает изображение по аналогии.

Пока ИИ требует участия человека для подбора примеров или их создания вручную. Со временем алгоритмы станут более самодостаточными, поскольку точность работы нейросетей повышается по мере их тренировки. Огромным преимуществом сейчас обладают компании с доступом к «большим данным». На очень больших выборках можно использовать методы самообучения ИИ, экономя время еще сильнее.