Когнитивные сервисы и искусственный интеллект: как сделан Microsoft Pix

Когнитивные сервисы и искусственный интеллект: как сделан Microsoft Pix

С точки зрения разработчика, Microsoft Pix — приложение, которое реализовано с помощью уже существующих инструментов и их доработки. Ниже предлагаем рассмотреть подробнее алгоритмы, технологии и сервисы использованные в разработке приложения.

Мы попросили представителей департамента стратегических технологий «Microsoft Россия» рассказать о том, как устроено новое приложение Pix и какие сервисы использовались при его создании.

Профессиональные фотографы знакомы с тем чувством, когда делаешь миллион кадров в ожидании идеального, когда необходимо поймать момент, потому что через доли секунд кадр будет уже совсем не тот. Все мы знакомы с чувством, когда хочется ощутить себя профессиональным фотографом и получить уникальный, невероятно красивый снимок с помощью смартфона, который всегда под рукой, но у которого намного меньше возможностей, в сравнении с профессиональным фотоаппаратом. Научно-исследовательская команда Microsoft предложила решение этой проблемы и разработала Microsoft Pix — приложение для iPhone, предназначенное для настройки параметров съемки фотографий (ISO, экспозиция, фокус) с применением технологий искусственного интеллекта. В этом материале мы посмотрим на него с двух сторон: пользователя и разработчика.

Как это работает с точки зрения пользователя?

Computational Photography Group в исследовательском подразделении Microsoft Research, рассказал, что для него стимулом создать это приложение стало недовольство жены качеством фотографий их детей, снятых на телефон.

В приложении вы найдете несколько интересных возможностей, например: автоматическая стабилизация изображения, синхронизация с галереей, функция определения «открыты или закрыты глаза» и так далее. В него также встроены наборы фильтров и инструменты для редактирования фотографии, при этом все изменения запоминаются и всегда можно вернуть снимок к изначальному виду. С помощью Microsoft Pix можно снимать как фото, так и видео.

Принцип работы Microsoft Pix достаточно прост — приложение создает серию из десяти снимков, после чего, с помощью технологий искусственного интеллекта выбирает лучшие фотографии (до трех штук). Перед тем, как все «неудачные» кадры будут удалены, приложение, используя данные всех снимков из серии, устраняет шумы, подбирает оптимальное освещение и тона. Весь процесс занимает не более 1 секунды. Во время изменения внешних параметров снимка с помощью набора алгоритмов определяется, было ли в процессе съемки движение, которое можно преобразовать в анимацию и получить «живое фото».

Как это работает с точки зрения разработчика?

С точки зрения разработчика, Microsoft Pix — приложение, которое реализовано с помощью уже существующих инструментов и их доработки. Ниже предлагаем рассмотреть подробнее алгоритмы, технологии и сервисы использованные в разработке приложения. Краткое описание трех самых интересных:

  1. Алгоритм распознавания черт лица реализован с помощью когнитивных сервисов Microsoft. Microsoft Cognitive Services представляют собой набор интеллектуальных программных API-интерфейсов, работающих в облаке и позволяющих распознавать и интерпретировать запросы, переданные посредством привычных способов коммуникации. Например, в данном приложении был использован Face API, который распознает на изображениях лица по лицевым прямоугольникам и лицевым атрибутам, включая внешние признаки и позу. Также был использован Emotion API, который распознает эмоции человека с помощью алгоритмов искусственного интеллекта, работающих на основе мимических шаблонов. В данном приложении функциональность этих API была сокращена, т.к. для его реализации не необходимо распознавать только частичные эмоции и мимику лица: открыты или закрыта глаза, улыбается ли человек и прочее. Microsoft Cognitive Services можно воспользоваться совершенно бесплатно. Ограничения для Free-версии составляют 30,000 транзакций в месяц.
  2. Алгоритм устранения эффекта «дрожащих рук» реализован еще в 2012 году в виде отдельного приложения Cliplets для бесшовной циклической анимации, которое, к слову, абсолютно бесплатно. С помощью него была решена одна из самых частых проблем GIF-анимаций — слишком заметный переход от конца видеоролика к началу. Программа изолирует все движущиеся в кадре объекты и определяет скорость их движения, после чего оптимизирует движение всех элементов, чтобы движения в начале и в конце видео совпадали. Иначе говоря, одни объекты немного замедляются, другие немного ускоряются. В приложении Microsoft Pix были использованы алгоритмы Clipets, которые призваны стать заменой штативу. Если вам интересно реализовать подобный функционал, подробнее об алгоритмах можно прочитать в научной работе «Automated Video Looping with Progressive Dynamism».
  3. Алгоритм автоматизации зацикливания видео, или создания «живой фотографии», упоминается в научной работе, но в своем изначальном варианте он был крайне медленным. Для того, чтобы его можно было использовать в Microsoft Pix, были разработаны классификаторы, с помощью которых выборочно определяется элемент для зацикливания анимации. Сейчас этот процесс занимает не более 50 миллисекунд, а обработка изображения — не более 2 секунд (во время щелчка затвора).

Используя алгоритмы и облачные технологии, описанные выше, вы можете сами разработать подобное приложение. Кстати, приложение Microsoft Pix, является частью еще одного приложения, разработанного Джошем Вайсбергом с командой Microsoft — Microsoft Hyperlapse для iOS. Но это уже совсем другая история.

📎📎📎📎📎📎📎📎📎📎