Як працюють Leap Motion і Microsoft Kinect. Короткий огляд.

Пристрій Leap Motion з’явився на ринку не так давно, але вже встиг здобути свою аудиторію, яка й далі зростає. Сфера застосування цієї технології доволі широка й обмежена хіба що уявою розробника. Найчастіше пристрій використовують в ігровій індустрії та в рекламі.
Пристрій Leap Motion для керування рекламною голографічною вітриною
Мінімальні системні вимоги:
Windows® 7 або Windows® 8
AMD Phenom ™ II або Intel® Core ™ i3
2 ГБ оперативної пам’яті
Порт USB 2.0
Підключення до інтернету
Leap Motion працює виключно на платформах Windows, MAC OS, Linux, і, судячи з інформації на офіційному форумі, розробники цього пристрою поки що не планують підтримувати мобільні платформи. Гадаю, річ у тім, що мобільні пристрої ще недостатньо потужні для роботи з технологією Leap Motion.

Кут огляду пристрою — 120 градусів у глибину (уздовж осі Z) і 150 градусів завширшки (уздовж осі X).
Висота зони видимості (уздовж осі Y) — максимум 25 см, і її можна змінити в налаштуваннях програмного забезпечення, яке йде в комплекті
.

Перш ніж братися за розробку під новий пристрій, завжди варто розуміти, як він працює. Що глибше ви розберетеся в технічних деталях, то легше буде проєктувати інформаційні системи з такими пристроями. Ці знання дадуть змогу не лише передбачити виняткові ситуації, коли пристрій фізично неможливо застосувати, а й розширити сферу застосування — адаптувавши апаратну частину під конкретні завдання.
Технічно Leap Motion, про який ідеться, не є чимось надскладним. Усередині — дві інфрачервоні камери та три потужні інфрачервоні світлодіоди.

Принцип роботи пристрою простий: інфрачервоні (ІЧ) діоди підсвічують руки, а інфрачервоні камери знімають їх і передають зображення програмному процесору Leap Motion. На програмному рівні до справи беруться математичні алгоритми, які виділяють контури рук і відстежують координати пальців. Починаючи з версії SDK 2.0, Leap Motion навчився розрізняти складові кисті: алгоритм визначає кістки кисті та зап’ястка й відстежує їхній рух у просторі. Так відкриваються нові горизонти для розширення бази розпізнаваних жестів.

Багато хто на форумах і в приватних розмовах запитує: чи можна використати Leap Motion або Kinect як тепловізор? Більшість переконана, що інфрачервона камера потрібна, щоб виділити людину за теплом, і це велика помилка. Річ у тім, що ІЧ-камера й тепловізор — цілком різні пристрої. Обидва побудовані на сприйнятті невидимого інфрачервоного випромінювання, але спектр, який вони вловлюють, різний. Для матриць тепловізорів беруть інші матеріали — чутливіші, здатні вловити ІЧ-хвилі, випромінені навіть за низьких температур. Саме тому тепловізори доволі дорогі.
Якщо ви хочете використати цей пристрій як тепловізор, варто спершу запитати себе: який діапазон температур ви хочете відстежувати?
Спираючись на фізичний закон Віна, можна обчислити максимум випромінювальної здатності тіл. Оскільки ця стаття про інше, розрахунків не наводитиму — дам лише кілька обчислених довжин хвиль:
– Тіло людини: 9300 нм
– Вогонь: 3000 нм
Інфрачервона камера Leap Motion і Microsoft Kinect не зафіксує температуру тіла людини, а от полум’я запальнички чи розжарену нитку лампи побачити можна.
Проведімо експеримент. Візьмімо сенсор Microsoft Kinect і щільно закриймо інфрачервоний випромінювач металевою заглушкою. Тепер запустімо програму, яка просто виводитиме на екран зображення з інфрачервоної камери. Екран чорний, бо в кімнаті немає інфрачервоного випромінювання. Але варто запалити запальничку, як на екрані з’являється картина інфрачервоного випромінювання від вогню.




Так само можна навести інфрачервону камеру на настільну лампу. Видно, як лампа світиться, але її світло не відбивається ні від руки, ні від предметів навколо.



Матриця будь-якої цифрової камери чутлива до інфрачервоного випромінювання. Щоб звузити спектр сприйняття ІЧ, ставлять спеціальні ІЧ-фільтри — вони є в кожній цифровій камері.
Щоб переконатися в моїх словах, візьміть пульт від телевізора, наведіть його на вебкамеру чи камеру мобільного телефона, натисніть кнопку — і тієї ж миті на екрані свого пристрою побачите світіння інфрачервоного діода, хоча насправді його випромінювання лежить поза межами сприйняття людського ока. Оскільки в камері стоїть ІЧ-фільтр, аж такого яскравого світіння діода ви не побачите. А якщо фільтр прибрати, світло буквально засліпить матрицю камери.

Інфрачервоні фільтри поділяються на кілька типів:
відсікальний фільтр — відрізає лише інфрачервоне випромінювання. Такі фільтри є в більшості сучасної фототехніки: у вебкамерах, фотоапаратах, камерах мобільних телефонів тощо. Фільтр ставлять між сенсором камери та об’єктивом. Візуально його впізнають за кольором: він буває синій, рожевий та інших відтінків, а на світлі може переливатися всіма кольорами веселки. Ці характеристики залежать від того, який спектр хвиль потрібно відсікти.

пропускний фільтр — пропускає лише інфрачервоне випромінювання, а решту хвиль видимого спектра відрізає. Такий фільтр зазвичай чорний. Ці фільтри застосовують у виробництві тепловізорів; ними широко користуються й фотографи для зйомки в техніці, яку називають «інфрачервона фотографія», а в побуті цей тип фільтра відомий нам як сонцезахисні окуляри. Саме такий фільтр використано в нашому пристрої Leap Motion. Чорна глянцева поверхня цього пристрою — це і є ІЧ-пропускний фільтр.

Отже, інфрачервона камера разом із пропускним фільтром потрібні в Leap Motion для того, щоб сприймати лише вузький інфрачервоний спектр.

Попри те, що інфрачервоне підсвічування та фізика випромінювання забезпечують найякіснішу підготовку зображення до програмної обробки, цей пристрій не можна використовувати під прямим сонячним світлом або за наявності інфрачервоного освітлення. Якщо LeapMotion стоїть біля вікон, зображення може не розпізнаватися.
Руки розпізнаються досить швидко, але швидкість залежить від потужності комп’ютера.
Із цим може бути пов’язана й неможливість розпізнати жест.

У такому разі координати руки збиватимуться й смикатимуться на екрані, а це заважає, коли потрібно виконати якісь точні дії. Певен: керувати роботом-сапером через Leap Motion я б не взявся 😉
Також Leap Motion не розпізнає жестів, у яких дві руки стуляються разом.

Мене приємно здивувало оновлення бібліотек Leap Motion до другої версії. Добре відчутно, що алгоритми розпізнавання стали точнішими.
Якщо ви натрапили на цю статтю в пошуках відповіді на запитання «Чи варто витрачати час на технологію Leap Motion?», моя відповідь: «однозначно варто!».
Сьогодні Leap Motion — чудовий і доступний інструмент для безконтактного керування програмами чи пристроями, де керування будується на найпростіших жестах рукою. Leap Motion відкриває нові горизонти для розробників ПЗ. Не сумніваюся, що далі цей пристрій розвиватиметься і в нових версіях усі теперішні помилки та недоліки врахують і виправлять.
Сподіваюся, інформація була для вас корисною.