Всего за год существования стартап Banuba с дев-центром в Минске без лишнего шума подал заявки на шесть технологических патентов в областях, связанных с компьютерным зрением и дополненной реальностью. Вместо разработки массовых приложений компания, в которую вложился белорусский ИТ-предприниматель Виктор Прокопеня, делает ставку на исследования и создание комплексных технологий, на основе которых будет выпускать собственные продукты. Рассказ участников амбициозного ИТ-проекта — в эксклюзивной публикации dev.by.
Читать далее
Как оказалось, связь между белорусским ИТ-предпринимателем и новым амбициозным проектом намного более прочная, чем просто инвестиции. Но обо всём по порядку.
История Banuba: на базе exp (capital) и на волне интереса к дополненной реальности
«На длинной дистанции выигрывают те, кто двигает прогресс — поэтому мы сами пытаемся его двигать. Мы не играем по готовым правилам, а хотим создавать их сами. А потому занимаемся задачами, решение которых кажется почти невозможным», — так CEO и сооснователь Banuba Development Вадим Нехай объясняет успехи компании.
Идея создания Banuba возникла весной 2016 года на волне интереса больших компаний вроде Apple, Facebook и Snapchat к технологиям дополненной реальности.
— Сейчас рынок виртуальной реальности превышает рынок дополненной реальности, но по всем прогнозам через 5-10 лет AR превзойдёт VR чуть ли не в три раза, — рассказывает Вадим. — Причины просты: дополненная реальность у многих уже в кармане. Смартфон — достаточная инфраструктура для внедрения технологий, и многие базовые AR-сценарии можно предоставлять на мобильных устройствах уже сейчас. Виртуальная реальность требует гораздо больше вычислительных мощностей, а её мобильность пока очень сильно ограничена.
Костяк стартапа составили бывшие сотрудники компании Виктора Прокопени exp (capital). Успешный финтех-проект к тому моменту вышел на стадию эксплуатации, и многие его разработчики получили возможность перенести опыт в технологиях машинного обучения на новые задачи.
Сейчас в Banuba работает тридцать человек (большинство из которых — в минском офисе на улице Интернациональной), и в ближайшее время компания планирует расшириться ещё вдвое.
— Мы занимаемся исследованиями, частной наукой, и в этом смысле продолжаем линию exp (capital), — поясняет Вадим Нехай. — Главная задача нашего исследовательского подразделения — разработать портфель первичных технологий, дающий возможность создавать самые разнообразные AR-продукты. То, что мы разрабатываем сегодня — это скорее шоукейсы технологий, демонстрация потенциала компании.
Он подчёркивает, что все технологии и продукты Banuba создаются «вокруг камеры».
— Наверное, можно сказать, что сегодня камера настолько важна для пользователя смартфона, как и зрение для человека. Количество информации, которую пользователи создают с помощью камеры, растёт огромными темпами. Смартфоны уже умеют «читать» фотографии, начинают различать глубину изображения (например, depth sensing camera в Lenovo Phab 2 Pro), а в перспективе научатся оцифровывать и распознавать 3D-объекты, что позволит создавать изображения максимально близко к тому, как видит мир человек, — рассказывает Вадим Нехай, добавляя, что «пока мы находимся лишь в самом начале того, что может делать камера».
«Нас интересуют не отдельные технологии, а их комплекс»
Главный фокус исследований Banuba — технологии компьютерного зрения для обработки видеопотока в реальном времени.
Обработка разбивается на три основных этапа: распознавание (detection), регулировка (alignment) и отслеживание (tracking). На первом этапе приложение должно обнаруживать объект на кадре видеопотока и указывать его примерные координаты. На втором — делать уточнение обнаружения до уровня pixel perfect. Третий этап характерен только для работы с видео — приложение следит, как объект перемещается в кадре, изменяется, трансформируется при поворотах.
— Компаний, способных выполнить задачу первого этапа, — множество. Со вторым этапом справляются лишь некоторые из них, с третьим — единицы. У нас есть разработки для каждого из трёх, но мы продолжаем над ними работать — улучшить можно ещё очень многое, — рассказывает CEO Banuba Development. — Схемы применения такой связки могут быть разными. Можно накладывать виртуальные элементы на сцену объективной реальности. А можно применить обратный подход: например, выделить мимику и жесты реального пользователя и перенести их на аватара в игровой сцене.
В стартапе подчёркивают, что их интересуют не отдельные технологии, а именно их комплекс, технологический портфель.
— Распознавание лица само по себе не делает дополненную реальность по-настоящему полезной, — убеждён Вадим Нехай. — Чтобы AR стала применимой в ежедневных пользовательских активностях, к распознаванию нужно добавить целую цепочку других технологий — и мы работаем именно над созданием такой цепочки.
Улыбки вместо лайков, взгляд вместо тачскрина
— Не зря говорят, что лицо — зеркало души человека: иногда оно может выражать внутреннее состояние даже лучше, чем слова или действия, — продолжает наш собеседник. — Человек — существо иррациональное, многие наши решения основаны на эмоциях, чувствах, интуиции. Все эти детали явно или неявно отражаются на наших лицах, и если компьютер научится «читать лицо» человека, то у него появится возможность наладить с пользователем взаимодействие абсолютно нового уровня, органичное и естественное.
В Banuba уже научились распознавать некоторые мимические выражения на лице — первоначальное «чтение лица» происходит. Теперь задача — приблизиться к определению эмоций: «Не просто распознавать мимику, а именно понимать эмоциональное состояние человека».
В компьютерной науке есть отдельная область, affecting computing, которая изучает устройства, способные распознавать, интерпретировать, обрабатывать и симулировать человеческий опыт, чувства и эмоции пользователя. Эта отрасль очень близка к глубинному обучению, также используется в алгоритмах распознавания лица, детектирования эмоций и жестов. В эту область специалисты Banuba всё больше погружаются в своих исследованиях.
— Профессор Пол Экман много лет проводил всесторонние исследования на тему анализа феномена лжи. Итогом стала книга «Психология лжи», в которой он приводит много факторов, по которым можно определить, говорит человек правду или врёт, — рассказывает Вадим Нехай. — Один из этих факторов — микровыражения лица, то есть мимические признаки, неконтролируемые человеком. Многие эмоции тоже отражаются в таких микровыражениях — а значит, их тоже можно анализировать и распознавать.
В Banuba признаются, что если они смогут делать это с достаточной точностью, то получат множество вариантов использования технологии. Например, успешность продуктов можно будет оценивать не по количеству «лайков» и «расшаров» в соцсетях, а по эмоциям, которые человек испытывает, взаимодействуя с этим продуктом. Радость или гнев, удивление или ненависть, нейтральное выражение лица — вся эта информация гораздо больше скажет о том, насколько продукт подходит человеку.
Подобные вещи уже работают в рекламе. Крупные компании — Coca Cola, Disney — экспериментируют со считыванием выражения лица в момент просмотра рекламных роликов, анализируют, нравится ли ролик людям, какие ощущения он вызывает в разные моменты. Используют такие технологии и в автомобилях, чтобы понять, отвлекается ли человек от дороги, ощущает ли он стресс. Смартфон может проактивно рекомендовать перерыв в работе, если пользователь устал — он способен «читать» приметы вроде сонных глаз или замедленных движений.
Мы уже наблюдаем повышенный интерес брендов к новому виду рекламы — видеофильтрам в мобильных приложениях. Дополненная реальность в мессенджерах — это, по сути, смайлики нового поколения. На смену же принципу mobile first приходит camera first.
Ещё одно применение распознавания эмоций — в электронном образовании, рассказывают в Banuba. Уже существуют e-learning-программы, которые по выражению лица могут определять, испытывает ли человек трудности с пониманием материала. Эти же технологии используются в электронной терапии — удалённом общении врачей с пациентом. Можно консультировать пользователя в зависимости от «считываемого» с его лица состояния, предоставлять ему психологические сервисы. Ещё одно интересное применение — помощь людям, больным аутизмом, в считывании и понимании эмоционального состояния других людей.
— Всё это — возможности создания абсолютно нового UX, а вместе с ним — прорывных инновационных продуктов, — рассказывает Вадим Нехай. — Один из наших патентов в этом направлении называется Line of Sight: вместе с определением лица на видеопотоке мы умеем отслеживать взгляд пользователя. Соответственно, мы можем проецировать направление взгляда на экран смартфона. По сути, взгляд при этом заменяет тачскрин: человек может взаимодействовать с экраном, выбирать пункты меню, передвигать элементы без рук — одним только взглядом.
Например, готовит человек еду, руки у него заняты или испачканы — а он может переворачивать страницы или изменять уровень громкости звука взглядом. Музыкант может переворачивать ноты, не отрывая рук от инструмента. Цельное приложение на этом не построишь, но в отдельных моментах эти вещи будут работать лучше, чем управление руками.
Попытки применения подобного UX уже есть. У Samsung, например, на одном из девайсов была возможность перелистывать страницы электронной книги, проводя линию взглядом. Разумеется, у такого интерфейса есть ограничения, пока не получается полностью избежать ложных срабатываний. И всё же это важная и необычная инновация, на основе которой можно строить микрокейсы.
Очевидно, что будущее технологий — за повсеместным внедрением распознавания эмоций и уходом от кликов, что коренным образом изменит UX.
И патент Line of Sight, и другие наши поиски в этой области связаны с ещё одним большим трендом — No UI, который призван решить глобальную проблему существующих продуктов и технологий. Сейчас человеку приходится подстраиваться под продукт, проходить процесс пользовательской адаптации (user adoption).
Всё шире распространяются чат-боты, способные заменять часть пользовательского интерфейса, избавлять нас от лишних окон и решений — а значит, и сокращать время и усилия, необходимые на адаптацию к интерфейсу. Однако пока эти боты совершенно бездушны — а если они научатся понимать, какие эмоции испытывает человек, то и сами смогут стать более «эмоциональными». Такие примеры уже есть: IBM Watson умеет распознавать сарказм, анализируя текст сообщений.
Если роботы и компьютеры научатся вести себя «человеческим» образом, считывая и учитывая эмоции, это станет переломным моментом. А вслед за этим на новый уровень выйдет и No UI: технология позволит продукту подстраиваться под пользователя, а не наоборот.
«Очень прикладная» математика для глубокой оптимизации
В мире уже существуют системы компьютерного зрения и машинного обучения, способные в реальном времени обрабатывать видеопоток. Однако работают они лишь на мощных серверах, а значит, недоступны массовому пользователю. Отсюда — второй фокус исследований в Banuba: оптимизация алгоритмов с целью сократить зазор между низкими вычислительными возможностями доступных мобильных устройств и высокой ресурсоёмкостью AR-технологий.
— Мы занимаемся и оптимизацией алгоритмов самого машинного обучения, и доведением наших технологий до возможности запускаться на мобильных устройствах, — рассказывает dev.by Вадим Нехай. — Для оптимизации нужна математика, причём очень конкретная и очень прикладная, не только университетская. Многие разработчики приходят к нам как раз потому, что здесь есть возможность применять на практике математические знания.
Чтобы качественно оптимизировать приложения на мобильных устройствах, требуется глубокое понимание, как эти устройства работают. Нужно знать особенности их операционных систем, процессоров, GPU. В Banuba работают люди очень высокой технической квалификации, и я считаю это одним из наших конкурентных преимуществ — при прочих равных мы можем выжать из мобильных устройств больше, чем другие компании.
Например, в смартфонах реализовано изменение тактовой частоты процессора в зависимости от нагрузки — CPU Frequency Scaling. Обычный сценарий работы с мобильным устройством — кратковременное использование: открыл, поработал пару минут, закрыл. При длительных действиях операционная система может принудительно снижать частоту процессора, чтобы сэкономить заряд батареи и защитить девайс от перегрева.
На работу большинства приложений это не влияет. Но для обработки видео в реальном времени нужно систематически потреблять много вычислительной мощности, и мы не можем позволить ОС снижать тактовую частоту — слишком уж сильно от этого страдает UX. Оптимизировать алгоритмы с учётом перспективы остаться без мощностей процессора — тоже не вариант: чтобы сделать качественное приложение, требуется много ресурсов, и добровольно отказываться от них было бы противоречием. Пришлось потратить немало времени, чтобы найти хороший способ обойти это искусственное ограничение — но у нас получилось.
В стартапе замечают, что производительность устройств тоже растёт высокими темпами, и этот рост вкупе с оптимизацией вызывает синергический эффект. Сейчас большинство алгоритмов машинного обучения работает на GPU — отдельные графические чипы есть во всех новых смартфонах. Но на деле для этого нужен особый вычислительный ресурс, «заточенный» под машинное обучение. И такой продукт наверняка скоро появится на массовом рынке. Intel, например, уже занимается его разработкой.
— Banuba участвует в программе по поддержке исследований компании NVIDIA — мы плотно общаемся по самым разным темам и знаем, каких изменений можно ждать от техники в ближайшие годы, — рассказывает CEO минского офиса компании. — Например, уже можно смело прогнозировать появление волны устройств, способных распознавать глубину изображения — а это может открыть очень интересные возможности для развития AR-технологий.
«Данные — новая нефть»: как машинное обучение трансформирует разработку продуктов
Banuba сохраняет родственную связь с exp (capital): офисы компаний находятся в одном здании, и у стартапа есть прямой доступ к мощным вычислительным ресурсам коллег. Вадим Нехай считает этот момент одним из важнейших преимуществ компании — за счёт мультипроцессорных комплексов exp (capital) разработчики Banuba могут в разы ускорять выполнение задач машинного обучения.
— Нынешнее движение в сфере нейронных сетей и глубинного обучения — это очень серьёзный прорыв. Но мы пытаемся не ограничиваться популярными направлениями, отслеживаем все интересные идеи и технологические решения, связанные с машинным обучением, пробуем разные варианты. Даже используем техники машинного обучения для подбора параметров алгоритмов машинного обучения — получается метаобучение. Проводим его в облаке — местные провайдеры успешно справляются с нагрузкой на сеть.
Сооснователь Banuba Development считает, что уже в скором времени машинное обучение может полностью трансформировать разработку продуктов — на место классической схемы «сначала идея — потом данные» придёт data-центричная разработка.
— Данные — это новая нефть. Если у вас есть большой набор данных, должным образом оформленный и подготовленный, то вы можете разрабатывать продуктовую идею исключительно на его основе, — говорит Вадим Нехай. — Отдельные люди в нашей компании занимаются подготовкой и кондиционированием наборов данных. Есть и несколько интересных ноу-хау в этой области: в ситуациях, где большинство компаний получит набор из сотен тысяч фотографий, нам иногда удаётся получить десятки миллионов.
Где брать нужные данные, как их готовить, как правильно учитывать права на их использование — всё это очень важные вопросы. Любой современный продуктовый менеджер должен осознавать, как важно собирать максимум данных и извлекать из них ценную информацию. На её основе можно выстраивать так называемый «умный пользовательский опыт» — персонифицировать приложения под человека и среду, в которой он находится. Можно подстраиваться под местоположение пользователя, анализировать паттерны его поведения, определять основные периоды его активности, наконец, изменять кейсы приложения в зависимости от заряженности батареи.
Высокий пилотаж визуального программирования: «У нас всё своё, халява не пройдёт»
Самой очевидной сферой распространения дополненной реальности остаётся индустрия развлечений, и это обуславливает ещё один технологический интерес Banuba — визуальное программирование.
Стартап разрабатывает собственные решения для визуализации объектов в виртуальных сценах. Схожими вещами занимается геймдев, однако, по словам Вадима Нехая, опыт игровых разработчиков часто оказывается недостаточным для работы над задачами Banuba:
— В Беларуси много игровых компаний, и мы планировали, что сможем без проблем отыскать под сложные задачи визуального программирования людей с высокими навыками VFX. Оказалось, это нетривиальная задача: в основном люди из геймдева программируют игровую логику, геймплей, а визуальную часть используют готовую, из движков вроде Unity. В итоге основное процессорное время их программы проводят в коде игрового движка, а критичность скорости «авторского» кода сильно снижается.
CEO Banuba Development отмечает, что программирование эффектов дополненной реальности — это высокопилотажная область, которая требует глубоких математических знаний и чёткого понимания, как трансформировать внешнюю визуальную идею в конкретный программный код. К тому же этот код должен хорошо работать на разных устройствах, в том числе на телефонах:
— У нас всё своё, никаких движков — халява не пройдёт, прав на ошибку не так уж много. Поэтому мы всегда рады опытным разработчикам под OpenGL, которые понимают, как связать физическое моделирование с визуализацией, знают разные оптические способы представления объектов. Если, например, вы можете запрограммировать на OpenGL водную поверхность со всеми рефракциями или флаг, колышущийся на ветру при солнечном свете — для вас у нас есть много очень интересной работы.
Низкоуровневая оптимизация и продуктово-исследовательский баланс
Основные языки исследовательского отдела Banuba — C, C++ с минимумом объектно-ориентированного подхода. Для пользовательских интерфейсов используются традиционные Objective-C для iOS и Java для Android. В компании высоко ценят опыт низкоуровневой оптимизации. По словам Вадима Нехая, значительную часть кода приходится писать на платформо-специфичном ассемблере. Для работы с процессорами x86 нужно разбираться в SSE/AVX, для программирования под ARM — знать особенности архитектуры Neon. На таком же низком уровне нужно писать и код при переносе алгоритмов на GPU.
Однако ключевым моментом для попадания в Banuba Development сооснователь стартапа считает не глубину познаний в мобильном «железе» и не опыт в машинном обучении:
— Главное — уметь учиться, быть самокритичным и открытым к новому. Не просто выполнять задачи из списка, как на аутсорсных конвейерах. Не уходить в сторону при столкновении с необычной проблемой, а ставить вопрос: «Почему так?» — и разбираться с причинами, как бы глубоко они ни были запрятаны.
Многие получают в Banuba по-настоящему уникальный опыт, потому что сталкиваются с абсолютно новыми сферами: например, iOS- и Android-разработчики прокачиваются в визуальном программировании, специалисты по машинному обучению — в тонкостях мобильного железа.
Мы стараемся выдерживать баланс между исследовательской работой и продуктовым мышлением. Результат исследований не всегда получается положительным, и с продуктовой точки зрения это не очень хорошо. Зато с исследовательской позиции, отрицательный результат — тоже знания и опыт. Мы пробуем многое, и многое не получается — но простые задачи нам неинтересны. Пробиваться через трудности и двигать прогресс на долгой дистанции — куда важнее, чем гнаться за сиюминутным успехом, — подытоживает CEO и сооснователь стартапа, о котором, вероятно, вскоре узнает весь технологический мир.
Не сомневается в этом и Виктор Прокопеня.
«Мы уверены, что Banuba сможет привнести свежие идеи и инновационные решения в сектор дополненной реальности, и рады оказать поддержку этой компании», — отметил он после закрытия инвестиционного раунда в $5 млн.
Фото: Андрей Давыдчик
Эта публикация подготовлена в рамках рубрики INSIDE-AR в партнёрстве с Banuba Development.
Что такое партнёрский материал?
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.