Connect with us

Разработка

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

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

AppTractor

Опубликовано

/

     
     

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

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

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

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

Как возникают идеи создания таких приложений? Они рождаются из решения задач, призванных улучшить нашу жизнь. Джош Вайсберг, ведущий менеджер Computational Photography Group в исследовательском подразделении Microsoft Research, рассказал, что для него стимулом создать это приложение стало недовольство жены качеством фотографий их детей, снятых на телефон.

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

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

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

13874881_1145314318860366_1195035936_n

С точки зрения разработчика, 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. Но это уже совсем другая история.

AppTractor
Комментарии Facebook
Продолжить чтение
Click to comment

You must be logged in to post a comment Login

Leave a Reply

Обучение

Разработка iOS 11 приложений на Swift

Стэнфордский университет опубликовал новую версию курса по Swift в iTunes U.

Леонид Боголюбов

Опубликовано

/

В новом курсе учтены все изменения, сделанные в iOS 11 и новой версии Swift.

Темы:

  • Инструменты и API, которые понадобятся для разработки приложений для iPhone и iPad/
  • Пользовательский интерфейс.
  • MVC-парадигма.
  • Анимации.
  • Многопоточность.
  • Работа с сетью.

Курс бесплатен и доступен для прохождения на iPhone и iPad. Язык – английский.

 

Леонид Боголюбов
Комментарии Facebook
Продолжить чтение

Новости

Интересные материалы: 16.11

Лучшие материалы о разработке и маркетинге технологических продуктов.

Леонид Боголюбов

Опубликовано

/

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

Леонид Боголюбов
Комментарии Facebook
Продолжить чтение

Разработка

Почему не надо патентовать идею мобильного приложения

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

AppCraft

Опубликовано

/

Автор:

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

В этой статье мы тезисно перечислим причины этого не делать.

Что такое патент

Патент – это охранный документ, удостоверяющий исключительное право, авторство и приоритет изобретения, полезной модели либо промышленного образца. В случае с разработкой мобильного приложения, являющегося программным обеспечением, получить патент в России и Европе на алгоритмическую часть (непосредственно программу) не удастся: статья 52 европейской патентной конвенции прямо запрещает патентование программ для ЭВМ.

Поэтому в случае с мобильными приложениями, как правило, защищается не сам продукт, а общая идея функционирования сервиса, отражающая некоторую новизну подхода к решению той или иной задачи. Запатентовать код тоже можно, но только в некоторых юрисдикциях, например, в США или Южной Корее.

Это долго и дорого

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

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

Вы потратите минимум 50–100 тысяч рублей (если часть работы будете делать самостоятельно) и не меньше 3–4 месяцев, если делать все очень быстро.

После этого вы можете получить отказ на регистрацию от патентного бюро, потому что описание недостаточно детальное, не содержит инновационности, дублирует уже существующие патенты и т.д. Только 56% патентов регистрируется, соответственно, 44% – отклоняется.

При этом, по статистике, 97% (!) патентов генерируют прибыли меньше, чем стоимость их оформления.

Вы патентуете не то, что нужно

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

Пол Грэм, один из известнейших предпринимателей в IT и основатель Y Combinator, говорит, что по его опыту от 70 до 100% проектов имеют разные ключевые идеи на старте и через 3 месяца операционной работы.

Так происходит из-за того, что бизнес – это решение реальных проблем. Он развивается и растет в синергии с потребностями людей, которые:

  1. вам досконально неизвестны на стадии идеи;
  2. меняются со временем;
  3. решаются так, как хочется им, а не вам.

Как только вы начнете запускать идею, с вероятностью близкой к 100% вам придется если не полностью изменить вашу задумку, то значительно ее переработать. Зачем в этом случае патентовать в самом начале то, от чего в последствие вы сами откажетесь?

Забывается главное

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

Фокусируясь на защите идеи, вы сразу же отстаете в скорости ее развития и реализации.

Патент – не единственный способ защититься

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

  • Купите домен с именем продукта. Хорошее имя дает сильный эффект, а при решении любых споров покупка вашего домена в более ранний срок, чем оформление торговой марки конкурента, решает многие вопросы.
  • Создайте группы в социальных сетях с названием проекта. Как и в случае с доменом, хорошие названия имеют и хорошие поисковые позиции, и неплохо запоминаются, и становятся недоступны конкурентам.
  • Зарегистрируйте торговую марку. Это не быстро в некоторых юрисдикциях (например, в России), но во многих странах осуществляется в течение нескольких дней и с минимальными затратами.

Итого

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

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

AppCraft
Комментарии Facebook
Продолжить чтение

Календарь

ноябрь

17ноя - 19Весь деньТИЛТЕХ МЕДХАК

24ноя - 26Весь деньWhat the hack?!

25нояВесь деньSmart Taler 2017

25нояВесь деньLadies Code: время технологий

30нояВесь деньSmart Cars & Roads 2017

декабрь

5дек18:30- 22:00Яндекс изнутри: глазами iOS-разработчика

8дек - 9Весь деньКубок СTF России

9дек - 10Весь деньGames Gathering 2017

9декВесь деньЛекционный день по игровой индустрии

Наша рассылка

Каждому подписавшемуся - "1 час на UI аудит": бесплатный ускоренный курс для разработчиков веб и мобильных приложений!

Нажимая на кнопку "Подписаться" вы даете согласие на обработку персональных данных.

Наш Facebook

Популярное

X

Спасибо!

Теперь редакторы в курсе.