«Этого никто не делал». Белорусы создают уникальную платформу распознавания жестов

16 ноября 2017, 09:00

ARRM.IO, стартап «с человеческим лицом», способный улучшить мир не на словах, а на деле, существует уже полгода, но до этого момента держался в тени. Команда из 20 человек создаёт систему по распознаванию жестов и интерпретации их в слова и команды — кажется, до них такого ещё не делали. Разработка сразу привлекла внимание значимых ИТ-фигур: сооснователем и инвестором проекта стал Роман Громов.

Читать далее...

dev.by поговорил об уникальной платформе с СЕО Ильёй Лесуном, директором по маркетингу Владом Островским и разработчиком и data-аналитиком Антоном Милютиным.

От игр до по-настоящему большой задачи 

Илья Лесун: ARRM.io — это аббревиатура с несколькими смыслами: Augmented Reality and Mixed Reality (дополненная реальность и смешанная реальность). Поменяли буквы местами — получили ARRM, а если выкинуть одну букву R, то останется Arm — рука. Мы тут занимаемся распознаванием жестов. Технология у нас базируется на классической математике, плюс немножко любимых всеми нейросетей, машинного и глубинного обучения. И делаем мы это всё, в основном, для виртуальной и дополненной реальности.

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

Потом нас попросили сделать проект ещё одной AR-игры для мобильной платформы с «виртуальным» персонажем в главной роли, с которым мы можем взаимодействовать жестами – передавать или брать предметы, побуждать его к каким-либо действиям. Мы довольно быстро смогли сделать Proof-of- Concept игры. Ладно, про игры позже расскажу подробнее. Наверное, на играх мы далеко не уедем, поэтому самое основное, что мы делаем сейчас — это полноценное распознавание жестов для сурдоперевода. Идея возникла в прошлом октябре.

Илья Лесун

Я вхожу в команду организаторов конкурса социальных проектов «Social Weekend». В прошлом году одним из победителей был проект «IT школа для слабослышащих (на базе школы MyFreedom)». Лидером проекта был Максим Молнар, неслышащий 3D-дизайнер. Проблема была в том, что спикер рассказывает, но Максиму никак не понять, что тот говорит, поэтому постоянно приходилось что-то писать в мессенджере. Я с ним пообщался и понял, что у глухих очень много проблем: объясниться с клерком в банке, в такси с водителем, — всё приходится делать через мессенджер.

Мой знакомый Антон занимался компьютерным зрением на неплохом уровне, мы обсудили вопрос и пришли к выводу: face recognition делают везде, а у слабослышащих есть реальная боль — они не могут слышать говорящих, а говорящие не могут понять их жесты. Скольким людям мы можем помочь, просто сделав ретранслятор для любой камеры: языка жестов в текст, языка жестов в голос, и наоборот — голоса в жесты!.. Датасет уже собран, 17 жестов собраны. Но есть проблема: глухие не общаются алфавитом, надо распознавать именно образы. 

Этого никто не делает?

Илья: Мы заняты созданием достаточно инновационного продукта — мы хотим показать, как и в каких целях его можно использовать. Тем не менее, себя мы не считаем новаторами, идея существует относительно давно, но качественно воплотить её пока никому не удалось. Google когда-то начинала заниматься этим, но в 2010 году название их проекта перестало упоминаться: не было достаточных технических возможностей. Есть OpenCV, который развивается с 1999 года. В интернете есть много решений, когда просят показать руку — и система её распознает. Но нет никакого практического применения. LeapMotion, в принципе, наши конкуренты.

Мы сами удивляемся, что никто не сделал этого до нас. Я гуглил, у кого патенты на распознавание жестов — оказалось, что ни у кого. Продуктовых патентов тоже ни у кого. Но и Google, и Apple, и Amazon, и Microsoft занимаются этим. 

Есть проекты по моделированию языка жестов. Вбиваешь текст — система через 3D-модель переводит его в жесты. Идея хорошая, но она недоработана. В чём польза для слабослышащего? Да ни в чём. Да, для обучения это удобно, но практического применения никакого нет. Жестовое управление браузером — есть похожие на наши наработки, но никто не сделал универсальный инструмент. Много решений для мимики, для распознавания лица — но все словно забыли, что есть ещё и руки, которыми тоже можно управлять.

Проблема: жестовые языки не универсальны, у них тоже существуют диалекты

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

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

Влад Островский

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

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

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

Буквально в субботу научились при распознавании отделять руку от лица, ведь есть много жестов, когда ладонь перекрывает лицо. И приходится воспринимать сразу два потока, сводить в один и выдавать решение. Всё зависит от того, что это за образы. Вот просто жест «я иду», а если я покажу его быстро — получится уже «я бегу».

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

Если встретятся двое глухих, которые изучали жестовый язык по разным системам, то их речь может значительно отличаться. Один учился в Минске, другой, допустим, в Борисове, — рядом. Но речь их будет отличаться примерно так же, как белорусский отличается от польского. Они всё равно друг друга поймут, потому что адаптируются друг под друга. Базовые слова и жесты одинаковы, а сложные конструкции уже могут отличаться. Но большинство базовых слов и словосочетаний люди из разных школ поймут всё равно.

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

Илья: Я уже знаю весь алфавит, где-то шесть слов и около 10 фраз. Буквы алфавита нужны для понимания моторики, жестов, а также для того, чтобы выразить имена собственные, заимствования, аббревиатуры. Или если кто-то заполняет за тебя документы, а ты ему диктуешь по буквам. У нас занятия с сурдопедагогом раз в две недели, и это лишь одно из направлений нашей работы. А ещё мы жестами шутим, подкалываем друг друга. Иногда показываем пошлые шутки.

Антон Милютин

Управление жестами — самый простой способ

Влад: Это не технология будущего, это технология настоящего. Вопрос в том, как это применять? Есть концепции Zero UI и No UI: отсутствие интерфейса либо нулевой пользовательский интерфейс. Компьютеры начинались с командной строки, которой было удобно пользоваться только специалистам. Потом появился графический интерфейс, дополнительные контроллеры, геймпады. Потихоньку всё становилось проще и удобнее. Но ведь нет ничего проще, чем жесты рук.

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

Илья: Управление браузером с помощью жестов — это уже не для глухих. Есть проект, который создает платформу для образования детей с ДЦП. Им тяжело адаптироваться к клавиатуре, но за счёт мышки и жестов они могут полноценно делать домашние задания. А если у меня проблемы с позвоночником, если у меня постельный режим, да ещё и моторика нарушена — а телевизор на другом конце комнаты, то мне намного проще делать это все удалённо, жестами. Управлять браузером, читалкой, телевизором становится намного проще, чем мышкой.

Влад: И простым людям будет проще пользоваться некоторыми функциями. Например, настроить компьютер под определённые жесты. Сложил большой и указательный палец кольцом — сработала команда «ОК, Google». Запустить браузер, открыть закладки, поисковую страницу можно буквально на ходу, ещё на пути к компьютеру. Лучше сделать один жест, чем 4-5 кликов.

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

Почему многие до сих пор не отказались от наличных денег в быту в пользу безнала? Надо зачислять деньги на счёт, вводить PIN-код. С карточкой это, кажется, несложно, но наличные — всё равно проще для многих. Сделать что-то меньшими усилиями — это хорошо для пользователя.

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

Илья: Приходишь домой — на подъезде домофон. Надо или вводить код, или прикладывать таблетку. А если настроить систему на распознавание определённого жеста, то открыть дверь будет намного проще. С++ легко интерпретируется практически везде. Поставить маленькую серверную — и всё хорошо обрабатывается.

Обучить систему — не сама большая сложность. Сложнее сделать фильтрацию, удаление шумов, понимание границ контуров. Процесс первостепенного анализа – самый тяжёлый. Мы написали свою технологию за неделю, а портировали её на мобильную платформу полтора месяца. Не проблема сделать технологию — проблема сделать её качественно. Известная истина: 20 процентов времени займёт разработка, остальные 80 процентов времени — отладка и улучшение функционала.

Как это работает

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

Для работы за настольным компьютером, за ноутбуком хватит встроенной камеры на 720 пикселей, да даже и меньше хватит — 640х480 точек. Чем больше расстояние, тем больше должно быть разрешение, чтобы распознавать жесты. Или камера должна быть с зумом.

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

Распознавание жестов начинается в момент захвата первого кадра и продолжается всё время, пока человек «говорит» — все это время система накидывает варианты. Как только вы прекратили говорить (например, опустили руки), нейросеть выбирает наилучший вариант. То есть, работа системы делится на две части: первая часть — забор жестов и их обработка, вторая — контекстное формирование фразы.

На компьютерах мы добились скорости обработки одного кадра за три сотых секунды.

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

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

Илья: Распознавание жестов, скорее всего, будет работать через сервер, потому что требуется обрабатывать большой объём данных. Если же говорить о браузере, то это будет клиентское решение. И наши мобильные игры — все тоже на клиенте, в рамках локальной машины.

Всего надо научиться распознавать тысячи три жестов, и это не учитывая связок из нескольких жестов. Три месяца мы думали, как сделать систему, за месяц придумали. Потом пошли на хакатон, там же и сделали прототип. За два часа до последнего чек-поинта у нас всё сломалось из-за компилятора, и мы никуда дальше не прошли. А с августа начали конкретно работать над жестами и вот за три месяца выучили 17 жестов. До марта собираемся научить систему примерно 150 основным фразам.

Сначала сделаем платформу, на которой слабослышащие смогут учить систему новым жестам. Затем — наводишь смартфон на человека, и программа интерпретирует жест в текст. И то же самое для компьютера с веб-камерой. Так что хотим MVP выпустить в марте, к этому идём.

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

Влад: Зато с каждым новым жестом система будет учиться быстрее. Это как учить иностранные языки: учишь первый — сложно, учишь второй — проще, а третий – совсем легко.

А вот теперь игры. Двигаешь пальцем — и виртуальный пистолет стреляет

Влад: Помимо сурдоперевода, внедряем нашу технологию в игры.

В каких-то играх команду 3D-объекту можно отдать через жест. Тут много работы для гейм-дизайнеров. Виртуальный объект на экране будет взаимодействовать с рукой человека в кадре. Не просто откликаться на действия пользователя, а реагировать на определённые жесты, прикосновения, поглаживания, щелчки. Самое первое, что пришло в голову — это использовать руку в стрелялках. Двигаешь указательным пальцем — виртуальный пистолет стреляет.

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

Часть нашей команды занимается игровыми продуктами, в которых нет жестов.

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

Медтех, автопром, энтерпрайз. И попросту листать Chrome, пока чистишь зубы 

Наш партнёр и сооснователь компании Роман Громов — СЕО ARiadna — ведёт всю бизнес-составляющую. И для ARiadna мы тоже собираемся внедрять жесты, потому что HoloLens, на которых вся ARiadna построена, очень ограничена в исходных жестах, их всего 3-5. И то они не очень точно работают; но можно в SDK встроить нашу технологию — тут никаких проблем.

Ещё мы планируем заниматься умными домами. Как в «Чёрном зеркале»: человек чистит зубы и с помощью жестов листает на зеркале Chrome. Ещё один кейс: с помощью веб-камеры мы листаем любую читалку, любое приложение.

Думали делать управление беспилотными автомобилями и дронами. Но на автошоу в Японии Toyota показала машину, которая управляется движениями руки, жестами. Тягаться с Toyota и Sony для нас нереально. 

Поэтому мы концентрируемся на медтехе: это упростит работу травматологов. Можно внедрять через HoloLens и с помощью жестов двигать 3D-модели зубов в полости человека. Вот такие планы на три года вперёд.

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

Медицина и игры, умный дом и энтерпрайз да наш социальный проект с распознаванием жестов — вот на чём концентрируемся. Быстрее всего делаются игры, и с них же проще получить деньги. А вкладывать средства стоит в первую очередь в медицину и в сурдоперевод.

Почему отказались от ICO: можно затеряться среди 95 процентов «скама»

Илья: У нас были планы попробовать выйти на ICO, но мы решили отказаться от этой затеи. Хотели собрать деньги на разработку — посмотреть, как это работает. Продукт у нас есть, и этим мы отличаемся от так называемого «скама» — кучи других проектов, которые без продукта, без идеи идут на ICO.

Влад: Многие выходят на ICO просто с идеей, часто невыполнимой, и это привлекает множество мошенников, желающих лишь обогатиться по такой схеме.

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

Влад: Наш «роудмэп» по развитию продуктов и технологий расписан до 2019 года. Однако если у нас будет больше ресурсов, то мы сразу же запустим дополнительные проекты, будем наращивать штат, и в какой-то момент за счёт этого наш план резко сузится по датам. Сейчас у нас работают 20 человек, но многие из них студенты и появляются в офисе лишь вечером.

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

Влад: Думаю, надо выходить на краудфандинг, чтобы собрать на душевую кабину.

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

Илья: В бизнес-девелопменте нам помогает Рома Громов, многими делами занимаемся сами. И кодингом, и маркетингом, и экономикой. Постоянно не хватает денег или времени. Спасибо партнёрам, помогли нам с офисом. Разных страхов и опасений, что прогорим, полно. Но толку бояться-то? Бояться можно каждую секунду, но надо дело делать. И Цукерберг нам пока не звонит: мы не публичная компания, мы не питчим стартапы. У нас нет известного медийного лица, чтобы на нас обратили внимание Юрий Мельничек или фонд братьев Гурских.

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

 

Текст: Александр Лычавко

Фото: Андрей Давыдчик

Обсуждение