Технологические тренды

___

Дебоджиоти Чакраборти

ВВЕДЕНИЕ

Мы все используем различные социальные сети, такие как Facebook, Instagram и Twitter. Недавно, когда вы открываете это приложение, вы можете увидеть много пожилых людей в профилях ваших друзей, подписчиков и даже некоторых знаменитостей.

Вы могли заметить, что на этих фотографиях они выглядят старше своего реального возраста. Разве нет?

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

Звучит удивительно? Хотите знать, как это приложение обеспечивает реалистичное изображение вашей старой версии?

Усаживайтесь поудобнее и приступайте к чтению.

Происхождение и особенности этого приложения

Представленное еще в 2017 году FaceApp — это приложение для изменения лица для устройств iPhone и Android, разработанное российской компанией Wireless Lab. Приложение работает на основе технологий искусственного интеллекта и нейронных сетей для создания очень реалистичных трансформаций лица.

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

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

Базовое введение в нейронную сеть и машинное обучение (для лучшего понимания работы FaceApp)

Основная идея машинного обучения

Теперь, где появляется машинное обучение? Что оно делает? Что это?

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

Искусственная нейронная сеть

Самое простое определение нейронной сети, более правильно называемое «искусственной» нейронной сетью (ИНС), дано изобретателем одного из первых нейрокомпьютеров доктором Робертом Хехт-Нильсеном. Он определяет нейронную сеть как:

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

В «Neural Network Primer: Part I» Морин Кодилл, эксперт по искусственному интеллекту, февраль 1989 г.

Основы нейронных сетей

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

Язык программирования, используемый для Faceapp

1. Свифт и Java/Котлин

Говоря о разработке внешнего интерфейса, ожидается, что это приложение, меняющее лицо, полагается на Swift для своего существования на платформе iOS и Java или Kotlin для создания своего присутствия на Android.

2. Питон

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

3. OpenGL или OpenCV

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

Работа FaceApp — приложения, которое заставляет вас выглядеть старым

FaceApp использует «глубокие генеративные сверточные нейронные сети», чтобы сделать ваши фотографии потрясающими. А также GAN (генеративно-состязательная сеть).

Так что же происходит, когда мы применяем фильтр в FaceApp?

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

Так что FaceApp использует библиотеки с открытым исходным кодом AI, такие как TensorFlow, чтобы найти черты вашего лица, а затем применить фильтр или добавить функции, которые заставят вас выглядеть старыми, или что вы выберете.

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

Что такое ГАН?

По сути, это технология Neural Net, которую можно использовать для создания новых поддельных данных, которые выглядят как любые настоящие данные.

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

Согласно определению, генеративно-состязательные сети (GAN) представляют собой глубокую архитектуру нейронной сети, состоящую из двух сетей, противопоставляющих друг другу (таким образом, «состязательных»).

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

В основном он использует cycleGan* и DiscoGan* для выполнения таких операций на человеческих лицах.

Оба гана имеют одну главную цель,

Таким образом, Faceapp использует GAN, чтобы состарить вас.

В этом приложении показана великая сила искусственного интеллекта и машинного обучения.

Определение. Что означает фильтр изображений?

Фильтр изображения – это метод, с помощью которого изменяются размер, цвета, оттенки и другие характеристики изображения.

Заключение

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

Ресурсы, которые я использовал:

1. FaceApp: как нейронные сети могут творить чудеса, Харш Ариан, https://link.medium.com/TMH7veydFY

2. https://appinventiv.com/blog/everything-you-need-to-know-about-faceapp/

3. https://www.reddit.com/r/MachineLearning/comments/67umwt/d_how_does_faceapp_work/?utm_medium=android_app&utm_source=share

4. http://pages.cs.wisc.edu/~bolo/shipyard/neural/local.html

5. https://cdn-images-1.medium.com/max/2000/1*bhFifratH9DjKqMBTeQG5A.gif

6. https://www.tensorflow.org/beta/tutorials/generative/cyclegan

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