Как стать автором
Обновить

Пора избавляться от мышки или Hand Pose Estimation на базе LiDAR за 30 минут

Время на прочтение 9 мин
Количество просмотров 29K
Всего голосов 84: ↑84 и ↓0 +84
Комментарии 74

Комментарии 74

НЛО прилетело и опубликовало эту надпись здесь
Для случая перетащить что то на несколько пикселов, или кликнуть дважды в одну точку — будет неудобно без физического устройства типа мыши, которая трением убирает дрожание руки. Но если такое со временем будет внедрятся, то сам софт будет подстраиваться под новый способ управления, зоны клика станут большими, дрожание будет отфильтровываться программно.
Сейчас на Oculus Quest 2 вполне работает управление пальцами без контроллеров, не очень удобно, не во всех приложениях, но работает. Чтобы ютубом управлять достаточно. Там используются обычные камеры. Так что со временем это сможет развиться и перейти и в другие сферы.

Я как раз зашел, чтобы написать коммент про управление руками в Oculus Quest (в первой версии тоже отлично работает). Насколько я помню release notes там используется нейросеть для разпознавания пальцев, и работает все через камеру, без использования лидара.


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


А еще вас может купить Эппл, с их любовью к таким фишкам и учитывая встроенный в новый процессор нейросетевой ускоритель.

Спасибо, вам) Кажется, что лидары дешевеют и становятся точнее. ДУмаю что эта тенденция сохранится, вспомните автомобиль начала прошлого века или танк первой мировой войны? Или ваш первый смартфон етен или аймейт?))
А почему собственно нужно указывать именно пальцем руки?
Почему нельзя вращать/качать головой? Тем более, что взгляд (и нос) устремляется туда, куда нужно сделать перемещение?
Например, нажимаешь «шифт» активируется функция камеры и смотришь куда надо, глаза и нос указывают в точку на экране. Бросаешь клавишу «шифт» — можно печатать текст.
Жест указание указательным пальцем, остальный согнуты. Двумя пальцами — свайп. Тремя — скрыть. В остальных случаях не реагировать, а с глазами и носом жестов не получится.
взять две камеры и отказаться от использования дорогих лидаров?
Незнаю, не пробовал)
Я так понял, у вас лидар используется только для того, чтобы Z координату измерить в точках XY, которые получаются обработкой картинки с камеры. И причём каждый раз идёт сначала определение XY, а потом измерение Z. Потенциал лидара в данном случае не используется от слова совсем. Тут или давать приоритет измерениям лидара, фиксируя XY, чтоб они не дрожали, либо давать всю карту с лидара сети, которая распознаёт, где какая часть руки. Иначе же просто ещё одной камерой вместо лидара можно будет получить даже большую точность, чем сейчас есть.
Спорить не буду, но для этого ван нужно будет набрать хороший датасет. Как я уже писал в статье, текущие датасеты довольно слабые в плане разрешения.
А если на руку/палец прикрутить пассивный элемент, который проще отслеживать, и в этом случае не нужно анализировать положение фаланги. Что-то типа сложного зеркального элемента в виде линии, положение которого камера/лидар, лазер сразу четко определяет в пространстве без сложных распознований?
Пассивный — чтобы не нужны были аккумуляторы и следовательно вес. Как пластырь/татуировка.

А было бы точнее проще в реализации и удобнее перчатки с маячками и камера? Руку детектировать сложнее, руки разные бывают

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


Не столько трением, сколько массой.

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

Не столько трением, сколько массой.


Трение в том числе и от массы же зависит.
slowpoke_mode on Коэффициент любого типа трения у игровых мышей об коврики достаточно низок, масса играет минимальную роль. Мыши утяжеляют для улучшения контроля движения за счёт большей инертности (скрытая тавтология).

Такая проблема есть и при использовании мыши, в графических редакторах часто решается нажатием клавиши-модификатора, которая увеличивает "масштаб движения" мыши (курсор проходит меньше за то же движение рукой" или делает это параллельно с увеличением картинки (что видно отдельные пиксели как крупные квадратики). Что-то похожее можно и для управления руками использовать, когда нужно пиксели двигать.

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

Согласен. Плюс задержка будет, какая бы маленькая она не была. Да и как-то резко переходить от огромной игровой мыши к воздуху, не совсем удобно :)

Со временем лазер станет кучнее, ИИ по сильнее, ну и т.д.

Согласен. Я если честно не представляю, как это 12 кнопок мышки заменить на воздух. Я рассматриваю это в направлении игр, таких, как ВОВ, Айон, бс онлайн...

А не лучше ли допилить управление с LEAP )? Его хотя бы купить реально.
НЛО прилетело и опубликовало эту надпись здесь
И как, сильно ощущается нажатие на magic mouse? Может просто дело в привычке и в том что вы никогда не пробовали это делать хотя бы пару недель?
НЛО прилетело и опубликовало эту надпись здесь

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


Самый примитивный вариант: жест "ок" используется как аналог зажатой левой кнопки. Сцепили пальцы и двигаем руку — то же самое, как если бы тащили что-то курсором. Расцепили — перестали тащить.


Не знаю, может, так и используют такие жесты? Или нет?

В общем задача распознования жестов решена не плохо. Жесты буду делать чуть позже, как буду свободен.
Не у всех людей пальцы согнутся в нужный жест. Хотите для своей фирмы проблемы из-за дискриминации пользователей по возрасту? Или по здоровью?

Имелось ввиду скорее всего касание, а не нажатие (можно настроить касание как клик софтово) — вся поверхность мыши (включая место под ладонью) может распознавать 5 тачей одновременно. Т.е по ней можно тапать 2-3 пальцами, драгать в разные стороны разным количеством пальцев — это все распознается как разные жесты. Все то же самое относится и к внешнему тачпаду. Софт для настройки, например, этот http://magicprefs.com (скорее всего не работает на последней macos).

Сидел на magic mouse несколько месяцев. Не смог. Отсутствие тактильной связи при скролле — это вообще беда. Особенно в CAD-системах.

А по теме статьи: для жестовых устройств нужно гораздо больше жестов, чем кажется на первый взгляд. Жест «подвинуть курсор на полэкрана» должен отличаться от «подвинуть на пару пикселей», например. Дочно так же «прокрутить страницу» и «скролл на одну строку» и т.п. Выделение текста мышью или последовательное выделение графических объектов, расположенных в хаотическом порядке — тоже задача для жестовых устройств нетривиальная.
Скорее должно быть «не больше жестов», а должны быть жесты органично встраиваемые в программы. Например, для CAD системы «ухватить деталь», «перетащить деталь», «выполнить сечение». И тут уже распознаванием пальца-направления не обойтись — потребуется распознавание положения и движения всей кисти. Возможно нужен будет новый класс для таких жестовых устройств, чтобы система и софт могли работать с различными устройствами такого класса, и не приходилось адаптировать программы под каждое такое устройство.
Идея интересная, но только не вместо, а как дополнение к мыши. Махать постоянно пальцем или рукой по большому экрану будет достаточно тяжело. Плюс мышки в том, что там можно делать заметно меньшее движение из-за большей чувствительности. Плюс, как уже заметили выше, мышь немного сглаживает движения.
К тому же, глядя на изображения вижу потенциальную проблему с безопасностью, т.к. можно считывать набираемые на клавиатуре данные. Зато, можно сразу же делать и замену клавиатуре. Будет 2 в 1. И в качестве переносного девайса — вполне себе хороший вариант.
Время покажет, очень сложно перестроить свой мозг на что-то новое. Он цепляется за привычное, хочет жить в комфорте.
Вопрос не только в мозге, как мне кажется. Может тупо рука/палец уставать, если ей долго крутить по экрану. Но как дополнение, например для тех же жестов о которых писали выше — вполне.
От мышки тож устаёт, я переехал на вертикальную. Стало лучше. Мне ка если юзать всякие жести смахивания, то палец не будет сильно загружен и будет ок. Но все это конечно дело привычки.
Простите, а «вертикальная» — это как?
Лично мне классический вариант точно подходит, поскольку бо´льшую часть времени рука просто лежит на мышке и не напрягается. Да и мышку я привык двигать не кистью, а пальцами. При этом варианте лично у меня рука почти не напрягается.
Вот для разных жестов — да, вполне вариант.
Logitech MX Vertical, я привыкал дня 3-4. Сейчас очень доволен.

Есть аналог от Delux, тоже хорошая штука, пользовался пару лет, пока не перешёл на трекбол.

Сложно от мышки отвыкнуть

Сложновато немного написано. Как человек не особо шарящий — я не сразу все понял.
Все равно огромное спасибо за информацию

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

Паразитные мысли часто заставляют ваши конечности совершать непроизвольные движения? Мне кажется управление компьютером "силой мысли" надо сравнивать со слепым набором на клавиатуре.

Так как вы собираетесь фильтровать мысли? Или вы из тех, кто с 8 до 17 с перерывом думает исключительно о работе и только о поставленной задаче?

Точно так же, как вы фильтруете свои, чтобы набирать правильную последовательность символов на клавиатуре.

В качестве замены мышки для рабочего компа — как-то сомнительно. Для телевизоров — да, возможно и удобно (хотя есть приложения для телефонов и 3д мыши всякие..).
Круто! Я искренне тащусь от таких проектов. Единственное «но»: реализация очень интересная, но, ИМХО, чисто как пет-проект, так как слишком уж дорогая, требовательная к ресурсам и громоздкая замена мышке получается, а сейчас рынок требует мобильности.
Я сам таким занимался лет 5 назад, правда без лидара и с высокоскоростными камерами от PS2. В итоге пришел к тому, что носимый акселерометр (в виде перстня) гораздо практичнее.
Спасибо, согласен про пет проджект! Но если представить, что в монитор ноутбука вставят лидар. Эпл уже добавил с внешней стороны. Тепреь с внутренней, сам илдар маленький их можно сделать несколько, точность будет большая. Убираем сенсорный экран и трекпад, компинсируем стоимость.
Единственное «но»: реализация очень интересная, но, ИМХО, чисто как пет-проект, так как слишком уж дорогая, требовательная к ресурсам и громоздкая замена мышке получается, а сейчас рынок требует мобильности.


Мышка будет ничуть не дешевле, если вы будете её в единственном экземпляре делать.
Но производство сотнями миллионов экземпляров — кардинально меняет стоимость мыши.

Сравнивать серийное производство и штучное экспериментальное производство — смысла нет никакого.
Разница в цене и в 1000 раз может быть.
Главная беда современны depth камер — шумный, дико шумный сенсор… убивает на нет все что можно было бы крутого сделать на его базе.

сначала нужно избавиться от шума

p.s. если камера не шумит, можно воспользоваться совокупными данными с depth камеры и обычной — приняв за точку отсчета координат данные именно с малошумящей камеры, а лидар использовать как инструмент распознавания объектов.

p.p.s. нарисуйте на пальцах простой для распознавания контрастный узор, и пользуйтесь двумя обычными камерами, смотрящих на руки.
нарисуйте на пальцах


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

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

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

Мне кажется, или вы изобрели тачпад?

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


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

Ну да, похоже, только с тачпадом надо руку поднимать и возить пальцем по нему.

А зачем отрывать? У меня нет под рукой условного макбука, но сомневаюсь, что даже на самом крупном таче придётся отрывать запястье от стола. Если речь про его расположение под клавиатурой, то существуют внешние.
Или речь про размеры площадки, сравнимые с игровыми поверхностями для мышек (40х50см и больше)? А зачем? Качественный тачпад 10х15 для бытовых задач достаточен. Надо больше — Wacom в помощь. Там и А3 размер есть.

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


В любом случае конечно это очень дорогой огород в сравнению с трэкпадом или тачпадом. Камера стоит 350 баксов, но может придумают со временем что поудобнее.

Не хочу обесценить труд автора, но пробовали ли вы когда-то вешать занавески/шторы на каринизе? Уже через пару минут «рук на весу» они становятся ватными, и их хочется опустить. Точно также и с этими интерфейсами — это круто и зрелищно, но не практично. Даже XBox/Kinect страдает этой осбенностью.
В качесте proof-of-concept очень круто. Можно потом применять в более подходящих целях.
Рука лежит на клаве, крутим пальцем.
Ну на видео видно что палец выпрямлен, а на загнут как бывает когда работает с тачпадом. Я попробовал манипулировать пальцем таким образом, и у меня сразу начало ныть в запястье. По ощущениям примерно также как будто-то бы рука на весу.
Это у меня так только ?!
Мне было достаточно удобно. Время покажет, будет это работать или нет.

IMHO, лучший манипулятор графической информации это трекбол. Всё, что требует более или менее длительного нахождения даже пальца на весу и не фильтрует дрожание руки, мягко говоря не очень эргономично.

Лучший для чего? Играть и близко не лучший, пишу как человек использующий два разных трекбола и дома и на работе несколько лет. У верен что для работы во многих приложениях так же он явно будет не удобен как и в некоторых играх.
Для повседневной работы за компьютером да, намного удобней всего и очень устраивает, причем не важно какой он.

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

Единственное для чего не подходит — игра в шутеры.

Просто у вас не было достаточной мотивации ;)
:)

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

Зарегистрируйтесь на Хабре , чтобы оставить комментарий