65 айтишников задержаны.
32 — неизвестно где.
21 вышли на свободу.

Разработчики из AIMatter рассказали, чем занимаются в Google

В августе прошлого года СМИ сообщали: открытый проект Google помогает распознавать язык жестов с помощью смартфона. Сейчас команда готовится представить свой проект на технологической конференции Emerge, которая пройдет 1–3 июня. Накануне выступления разработчики Валентин Базаревский и Иван Грищенко рассказали Dev.by, как далеко зашло распознавание жестов, и может ли их нейросеть отличить жесты человека от жеста робота.

16 комментариев
Разработчики из AIMatter рассказали, чем занимаются в Google

В августе прошлого года СМИ сообщали: открытый проект Google помогает распознавать язык жестов с помощью смартфона. Сейчас команда готовится представить свой проект на технологической конференции Emerge, которая пройдет 1–3 июня. Накануне выступления разработчики Валентин Базаревский и Иван Грищенко рассказали Dev.by, как далеко зашло распознавание жестов, и может ли их нейросеть отличить жесты человека от жеста робота.

«Мы вовсе не распознаем язык жестов»

Валентин:

— Я и Иван работали в белорусской компании AIMatter, которую в 2017 году приобрела Google. Она занималась научно-прикладными разработками по быстрому запуску нейросетей на мобильных телефонах, и там было две большие технологии.

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

Иван:

То есть, какие-то технологии мы начинали делать еще в AIMatter.

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

А какие-то технологии вроде распознавания рук мы делали уже в Google, но на базе тех технологий, которые наработали с трекингом лиц, с сегментацией. Сейчас наши нейросети есть и в YouTube, и в Pixel-смартфоне — суммарно, мы посчитали, на наших сетках выполняются под полмиллиарда сессий в месяц. Немаленькая цифра.

Валентин:

— Вообще мы не занимаемся разработкой системы именно для сурдоперевода. Мы делаем технологии live perception, которые позволяют переводить неструктурированные данные из видеопотока камеры в трехмерное структурированное представление. Мы работаем в отделе, который называется Google Research. В нашей команде около 40 человек, она делится на несколько групп. Одна занимается нейросетями — здесь работаем и мы с Иваном, а всего человек десять. Есть группа, которая занимается библиотекой быстрого запуска нейросетей — тоже человек десять. Есть команда, которая занимается MediaPipe, open-source, — инфраструктурной частью. И еще одна команда занимается внедрением, когда к нам приходят другие команды и просят: мы хотим, чтобы наша технология работала в том или ином продукте Google. Они помогают продуктовым командам встраивать эту технологию, чтобы она работала максимально хорошо и без багов.

Иван:

— Мы делаем «руки», но мы делаем базовую core-технологию. Это наша цель. Мы хотим позволить другим людям делать что-то поверх этого. И это не единственное наше решение, мы создаем много разных решений: распознавание лица, распознавание 3D-объектов. Мы стараемся это все сделать в виде классной базы для других продуктов. И дальше внедряем либо в продукты Google, либо выкладываем в open-source.

В датасете — 100 тысяч фотографий рук

Валентин:

— Трекинг рук мы начали делать в марте 2019 года, известной эта работа стала в августе: мы выпустили пост, рассказали о ней и выложили в open-source.

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

Если же говорить о распознавании жестов, то стоит разделить его на две части. Первая часть — доменное преобразование из RGB, из картинки, в трехмерное положение руки в пространстве. А дальше мы делаем предположение, что взаимного расположения этих 21 точек достаточно, чтобы достоверно предсказать, что за жест сделан именно этой рукой. И когда мы выпустили систему, то увидели, что есть большой интерес с точки зрения именно языка жестов. Все об этом говорили, что, возможно, и сделало ту статью популярной, потому что не без гордости можно сказать, что это третий по популярности пост в блоге Google Research за 2019 год, его просмотрели где-то 200 тысяч разработчиков.

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

flickr

Но для решения задачи сурдоперевода информации о положении рук недостаточно: нужно и лицо, и экспрессия, чтобы понимать язык жестов. А еще и взаимное расположение рук, и расположение рук относительно тела. Если я показываю жест слева направо и наоборот — то это совершенно разные отношения между объектами, которыми я представляю жесты.

Распознает ли система человека без пальца?

Валентин:

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

Каждый раз, когда мы выпускаем новую модель, мы с ней выпускаем и документ — model card, который описывает назначение и ограничения модели. Такой model card есть и у технологии трекинга рук. Если у человека на хватает фаланги, то система «дорисует» ее. Но это не является гарантированным поведением. Вообще в подобных задачах надо исходить из того, как об этом думает живой человек. Человек может понять жест, даже если у его собеседника нет фаланги. Человек предполагает, где должна быть эта фаланга, — и это будет базисом для распознавания им жеста. Точно так же должен работать трекинг рук. Если понимает человек — то поймет и нейросеть.

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

Иван:

— Все, что семантически похоже на руку человека и имеет какой-то схожий оттенок, должно подходить. Целенаправленно мы это не тестировали, роботов в команду не нанимали. Но надо исходить из цели: для чего это делается? Если будет стоять задача распознавать жесты робота — это решается несложно. Сетка все обобщает, и ей в обучающую выборку надо добавить интересующий домен. Хочешь на роботах — пожалуйста, хочешь на животных — пожалуйста. Адаптировать технологию несложно.

Какие ограничения имеет система

Иван:

— Библиотека, которую делает часть нашей команды, поддерживает различные платформы: iOS, Android, CPU, GPU, можно даже в браузере запустить. Поэтому как таковой привязки к телефону нет, будет лишь разница, как быстро это будет работать. Но мы стараемся ориентироваться на телефоны, которым 3-5 лет, чтобы покрыть достаточно большую долю рынка. Да, некоторые решения у нас могут работать только на совсем новых телефонах, которые вышли лишь год назад, но в конечном итоге, прежде чем выпускать версию, мы ее ускоряем до производительности 3-5 летних телефонов.

Валентин:

— Мы стараемся исходить из того что live perceprion должен работать на 30 кадрах в секунду, как стандартный видеопоток. И поскольку все должно работать на устройстве в реальном времени, то 30 кадров в секунду для распознавания жеста руки — это замечательно; но если параллельно надо распознать вторую руку, лицо, тело, — то получается уже всего 7 кадров в секунду. А ведь есть еще постобработка, поэтому, разрабатывая новый алгоритм, мы стараемся сделать так, чтобы он работал со скоростью 100 кадров в секунду.

Иван:

— Есть размытие кадров. Можно идти по пути того, как думает человек. Человек пытается по временной составляющей угадать, что же там было в промежуточных кадрах с размытием: ты ведь не сильно обращаешь внимание на траекторию руки, — ты смотришь на начальную и конечную точку. Есть другой путь: воспользоваться технологиями. Современный флагманский телефон позволяет записывать видео с частотой чуть не в 1.000 fps, при этом в очень хорошем разрешении. Возможно, стоит подумать в этом направлении: тогда ты получишь более четкие кадры, больше промежуточных кадров, — сможешь превзойти человека с точки зрения восприятия.

Валентин:

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

Иван:

— Скорее всего, как простой разработчик ты не будешь иметь доступа к этим «сырым» фотографиям с разных камер одного телефона, а просто будешь получать одну картинку. Да скорее всего тебе и не надо туда лезть, чтобы сделать свой прототип.

Куда ушли конкуренты

Валентин:

— Очень сложно сравнивать нас и конкурентов, потому что у всех есть свой фокус. Я знаю, что свое решение есть у Facebook, но оно больше заточено под виртуальную реальность. Других open-source решений, которые бы работали в реальном времени на телефоне и решали задачу трекинга рук с такой же точностью, я не знаю.

Иван:

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

Где все это можно применить

Иван:

— Язык жестов — большая, сложная, нужная задача, но ее долго делать. А есть гораздо более простые и приземленные применения распознавания рук. Например, примерка украшений или управление чем-нибудь. В фильме с Томом Крузом «Особое мнение» показывали терминал, где он все жестами делал. И технологии уже достаточно близко к этому подошли. Управление голосом у нас уже есть, кое-где даже есть управление взглядом, например, для людей с инвалидностью есть такое управление клавиатурой, чтобы набирать текст. А управление руками пока еще не столь популярно, но это тоже интересное направление.

«Девайсами можно будет управлять с помощью жестов». AR-стартап Banuba — о новых разработках и кейсах с геймдевом и хирургами-косметологами
«Девайсами можно будет управлять с помощью жестов». AR-стартап Banuba — о новых разработках и кейсах с геймдевом и хирургами-косметологами
По теме
«Девайсами можно будет управлять с помощью жестов». AR-стартап Banuba — о новых разработках и кейсах с геймдевом и хирургами-косметологами

Валентин:

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

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

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

Иван:

— Например, управлять телевизором. Мне во время просмотра фильма нужны три кнопки: прокрутить вперед, назад и остановить, — и на пульте это делать неудобно. А можно просто задать набор из трех жестов и управлять телевизором.

Мы видели, что люди уже сделали несколько демо-приложений на основе MediaPipe. Скажем, точки на экране, ты можешь их двигать, объединять. https://twitter.com/madelinegannon/status/1254726531760431104 То есть, какой-то интерактив появился. Или какие-то видеоэффекты на основе «рук» сделаны. Чтобы что-то появилось в готовом продукте — еще слишком мало времени прошло. Если кто-то что-то и делает, то это не дошло до продуктовой фазы.

Валентин:

— Задача распознавания языка жестов — это лишь одно из применений, и наши технологии в этом определенно помогут. Мы делаем базовые технологии, и у нашей команды нет задачи сделать из этого конечный продукт. За это уже отвечают другие отделы компании: насколько им интересна та или иная технология и когда именно наработок уже достаточно, чтобы быть внедренными продукты Google. Что касается нашей команды, смежных задач с распознаванием рук еще очень много. Это и предсказание полной геометрии руки в трехмерном пространстве, и автоматическое задание жестов, и объединение всех технологий в большую единую систему, когда все будет работать вместе с лицами, телом, руками, другим предметами в окружающей среде. Просто какие-то технологии на этом большом пути могут уже использоваться в продуктах, при том что весь спектр задач Human Perception еще не реализован.

Иван:

—   Если задаться вопросом, «кому нужно распознавание рук в Google, будет сложно найти всех заинтересованных, Google слишком большой. Поэтому мы делаем классную технологию, демонстрируем возможные применения и рассказываем об этом. Google — это свой мир, в котором нужно пойти и продвинуть, рассказать всем. И когда мы это сделали — появляются люди, которым это интересно. Тут происходит такой стык. Есть продуктовые люди, которые горят какой-то идеей: блин, нам нужна технология, но мы не знаем, где ее взять. И есть мы, которые знают, как сделать эту технологию. Так мы друг друга находим, и так происходит внедрение наших технологий в продукты Google.

Что будет на Emerge

Валентин:

— На Emerge мы будем рассказывать, что сейчас можно сделать с помощью MediaPipe и тех сетей и алгоритмов, которые уже там есть, как это применить. Это будет первая часть, прикладная. Во второй мы расскажем, какие есть подводные камни, если вы хотите разработать свой алгоритм live perception: с чем люди сталкиваются, что надо учитывать, какие-то наши примеры для разработки технологий трекинга лиц, трекинга рук и так далее.

Иван:

— Мы расскажем, как делать легкие сетки, направленные на работу в реальном времени, потому что есть много тяжелых сеток, которые бьют State of the Art, но легкие версии которых достаточно трудно сделать. И больше расскажем об инфраструктуре для запуска. Ведь просто сделать быструю сетку недостаточно. Потом, чтобы это все запустить и чтобы это все заработало с минимальными накладными расходами, нужно знать много нюансов.

Раньше, чтобы поднять мобильное приложение с сервером, тебе нужна была куча знаний и куча времени, а сейчас пара часов и одна кнопка в Google Firebase. Готово — у тебя есть приложение. С machine learning примерно то же самое: несколько лет назад все заинтересовались машинным обучением — и было понятно, что его можно применять в каких-то устоявшихся областях и получать более эффективные решения уже давно существующих задач; но тогда было сложно запустить его с инженерной точки зрения. А сейчас появляются все больше фреймворков в открытом доступе. И собрать приложение уже занимает не месяцы, а, условно, день. MediaPipe ровно это и позволяет сделать. За пару команд ты собираешь демо-приложение тех же «рук» у себя на телефоне, которое работает в реальном времени, причем с запасом.

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

Хотите сообщить важную новость?

Пишите в наш Телеграм

Читайте также

В Android появился аналог AirDrop
В Android появился аналог AirDrop
В Android появился аналог AirDrop
Google презентовала смартфоны Pixel 4a
Google презентовала смартфоны Pixel 4a
Google презентовала смартфоны Pixel 4a
2 комментария
Google выпустила расширение для Chrome, которое «сдаёт» шпионящие сайты
Google выпустила расширение для Chrome, которое «сдаёт» шпионящие сайты
Google выпустила расширение для Chrome, которое «сдаёт» шпионящие сайты
Почему беспилотные стартапы всё никак не взлетят
Почему беспилотные стартапы всё никак не взлетят
Почему беспилотные стартапы всё никак не взлетят
Успехи разработчиков самоуправляемых автомобилей пока не оправдывают многие ожидания и обещания, данные несколько лет назад. Waymo очень старалась, но так и не успела запустить беспилотное такси к концу 2018 года, Cruise (дочка General Motors) передумала запускать аналогичный коммерческий сервис в 2019-м. Tesla снова и снова срывает амбициозные сроки разработки полноценного автопилота, которого расписывает Илон Маск. Издание Ars Technica рассказало о разных подходах к реализации технологий беспилотного вождения.
30 комментариев

Обсуждение

roseb
roseb Software Engineer в EPAM
12

А про дом Цепкало они что-нибудь рассказали?

12

дев.бай мелкий, конечно. Подержал чернуху главной новостью несколько часов и в кусты. В субботу с утра уже другой материал на главную.

Валентин и Иван - молодцы, но после вчерашнего - я бы на их месте запретил публиковать материал здесь.

5

это, по сути, вообще партнерский материал - реклама конференции emerge.

12

Думаете мы забудем, как вы жиденько об..?

7

Те кто работают тут, вам самим не противно?

colab-budwaiser
colab-budwaiser .Net developer в IBA Group
2

Думаю, в ближайшее время будет обращение dev.by, потому что это видится единственным выходом

3

Не будет никакого обращения. Скорее всего готовят вторую серию. Седат активно анонсы в предыдущей новости раздает.

colab-budwaiser
colab-budwaiser .Net developer в IBA Group
1

Правильно, dev.by - от слова "девелопмент" видимо, создание и реконструкция объектов недвижимости. Информация об особенностях ведения бизнеса девелопером доктором Седатом является актуальной для данного портала

10

Что там по Седату слышно?

10

Знаю Седата с детства. Он очень хороший и успешный человек, ни разу не подводил и вообще он самый честный человек на этой планете!!!!

4

И при чем тут вообще AI и Google

15

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

-2

Дев бай, который мы заслужили)
Чем занимаются в Гугл: 10 комментариев. Срач из-за дома Цепкало - почти 500

5

Просто про Гугл 40летние матери одиночки из Островца не читают в 2 часа ночи

colab-budwaiser
colab-budwaiser .Net developer в IBA Group
6

А как связан Седат и AIMatter? Просто новость не по теме ресурса, я уже привык что на главном ИТ ресурсе страны новости про доктора Седата

1

Ожидал увидеть интервью с уважаемым доктором Седатом или Каричами, а не про Google какой-то

Спасибо! 

Получать рассылки dev.by про белорусское ИТ

Что-то пошло не так. Попробуйте позже