Главная

Статьи

Веб-камера замість миші


Частина 1

Комп'ютерна миша була винайдена в 1968 році. Це був величезний квадратний «праска» на коліщатках і представляв собою чисто лабораторну розробку. У серію комп'ютерні миші пішли тільки в 1981 році, і коштували вони як автомобіль. Спочатку розроблена як додатковий пристрій введення, комп'ютерна миша поступово стала практично найважливішим пристроєм. Задумайтесь, адже без клавіатури цілком можна обійтися - все робиться мишею. А тепер уявіть, що ви не можете взяти її в руку або взагалі не можете користуватися руками. В такому випадку комп'ютер для вас стає недоступний і єдине вікно в світ закрито. На щастя, вже давно ведуться розробки по активному використанню веб-камер в якості додаткового пристрою введення і управління. Для людей з обмеженими можливостями камера може замінити і миша, і клавіатуру.

Алгоритм розпізнавання осіб вже відносно давно використовується в цифрової фото- і відеоапаратури і в цілому досить точний. В Інтернеті можна знайти вихідні коди коду для самостійного використання, якщо ви - програміст . Виходячи з цього, написати програму, яка, отримуючи дані з веб-камери, керувала б курсором миші, не представляє складності. Головні труднощі в тому, щоб максимально наблизити результат до природного управління покажчиком миші і врахувати всі фізичні особливості середньостатистичної людини. Протестувавши кілька спеціалізованих програм, я виявив дві основні проблеми - це точність позиціонування курсора і спосіб імітації «кліка» лівою клавішею миші. Перша проблема, мабуть, виникає через те, що людська голова не такий точний інструмент, як рука. У звичайному житті нам немає необхідності акуратно рухати головою в просторі, повертаючи і нахиляючи її по міліметру. Найпростіші програми однозначно пов'язують точку на зображенні і курсор миші. З урахуванням затримки в обробці відео і, відповідно, спізнюється реакції комп'ютера найменший рух голови відправляє покажчик на пів-екрану в сторону. Тому тут потрібна певна вправність для комфортної роботи. Більш складні розробки враховують ці особливості, компенсують дрібні рухи в межах певного діапазону, імітують інерційний рух, плавно уповільнюючи курсор.

Друга проблема - це імітація натискання на кнопку миші. Найпростіший варіант - це автоматичне постійне «кликання» через рівні проміжки часу. Теоретично цього досить, проте є ймовірність, що сигнал про натискання кнопки співпаде з моментом, коли курсор знаходиться не там, де ви хотіли. Більш просунуті системи враховують швидкість пересування покажчика і «клацають», коли він зупиняється. Ще більш складні розробки використовують інтелектуальне розпізнавання міміки, завдяки чому «клікати» можна очима або ротом.

У країнах, де індустрія забезпечення життя осіб з обмеженими можливостями більш розвинена, недорого продаються готові програмно-апаратні набори зі спеціальною веб-камерою і навіть з інфрачервоним сканером, які дозволяють максимально точно отримати антропометричні дані. Як альтернативне рішення можна використовувати універсальні програми, в більшості своїй безкоштовні, що працюють від будь-якої наявної веб-камери, підключеної до комп'ютера. Хоча тут криється ще одна складність - не всі розробки можуть коректно працювати з дійсно будь-камерою. Плюс в безкоштовних програмах, як правило, досить мізерний набір функцій. Як приклад ми розглянемо три безкоштовних продукту і один платний. По суті, це практично все, що можна знайти в Інтернеті з широко розповсюджуваного програмного забезпечення. В якості апаратної складової використовувався бюджетний ноутбук ASUS з вбудованою камерою. Тести проводилися над безкоштовними Camera Mouse, HeadMouse і eViacam. KAR Disability - платна програма. З неї і почнемо.

З KAR Disability скоєно несподівано трапилася цікава історія. На офіційному сайті відсутні будь-які посилання для скачування пробної версії. На щастя, скачати дистрибутив можна в каталозі Softkey.ru. При установці програма відразу вимагає ліцензійний код і без нього встановлюватися відмовляється. Спілкування з розробником, месьє Олександром Хоффманном, виявило, що у продукту дійсно відсутня демоверсія. З огляду на те, що програма призначена для осіб з обмеженими можливостями, чия платоспроможність, принаймні у нас в країні, також обмежена, - це досить дивно. Однак в результаті листування пан Хоффманн погодився з моїми доводами і пообіцяв постаратися оперативно вирішити це питання, за що йому велике спасибі. В результаті у мене є повнофункціональна версія, люб'язно і абсолютно безоплатно надана автором, про яку я готовий детально розповісти, щоб у зацікавлених потенційних покупців була можливість прийняти рішення про покупку, хоча б на основі цього огляду.

Інтерфейс KAR Disability дуже простий. Крім стандартного для цього софта вікна з зображенням з камери є кнопка налаштувань, кнопка центрування курсора і згортання вікна. Два чек-боксу ( «галки») включають-вимикають власне функцію управління мишею через камеру і можливість імітувати «кліки». В налаштуваннях камери доступні, по-перше, системні настройки, тобто вихідні безпосередньо від використовуваного драйвера конкретного пристрою. По-друге, там ви знайдете управління чутливістю. Від чутливості, грубо кажучи, залежить, наскільки сильно треба крутити головою, щоб зрушити курсор миші або, навпаки, можна налаштувати програму так, щоб курсор не смикався від найменшого руху людини. В принципі стандартні параметри цілком адекватні і змінювати їх немає необхідності.

Відносно якості обробки сигналу з камери - KAR Disability мені дуже сподобалася. Встановити покажчик навіть на невеликий об'єкт (кнопка, пункт меню) і зафіксувати його на ньому, щоб стався «клік», досить просто. Немає відчуття, що ви намагаєтеся керувати курсором силою думки, як в інших програмах, а він не слухається - все відбувається природно. Кнопка центрування покажчика мені здалася не особливо корисною. Коли курсор починає рассінхронізіровиваться з головою (це природний процес), то простіше наблизити його до краю і зрушити голову на потрібний кут, щоб після повернення покажчик виявився приблизно в центрі. Звичайно, для такого способу управління потрібна вправність, так само як було і для ручної миші, за часів її появи. Просто руками користуватися зручніше і звичніше. Хоча ми також піднімаємо її і пересуваємо в сторону, коли покажчик «поїхав» за межі можливості кисті руки.

Кліки KAR Disability імітує, я так розумію, одним з найпопулярніших у розробників аналогічних програм способом. Він і простий в реалізації, і зручний у використанні. «Клік» проводиться автоматично тоді, коли курсор зупиняється на місці. Єдине, що залишилося незрозумілим, - це чому «галка», що відповідає за ці кліки за замовчуванням, завжди вимкнена при запуску програми. Але, можливо, я щось не так зрозумів. В іншому нарікань немає, проте для повноти картини необхідно також детально розглянути і інші програми для управління мишею за допомогою веб-камери.

https://www.youtube.com/watch?v=l1aB-ONrx34

Частина 2

У першій частині детально була розглянута платна програма KAR Disability, яку можна придбати в каталозі Softkey. Відсутність демоверсії і наявність завищеною, на мій погляд, ціни сильно ускладнює прийняття рішення про покупку. Проте радує те, що програма дійсно не вимоглива до апаратного забезпечення. Я сподіваюся, що огляд її можливостей, написаний за результатами тестування повнофункціональної версії, люб'язно наданої її розробником, паном Хоффманном, допоможе користувачам хоча б заочно ознайомитися з цією програмою. Однак в Інтернеті існують і безкоштовні аналоги, що відрізняються за якістю і можливостям. Їм і присвячена друга частина огляду.

Наступною програмою, яку дуже хотілося подивитися, була HeadMouse. Заявлена ​​можливість використовувати міміку для управління натисканням кнопок миші вигідно відрізняє цю програму від інших розробок. Однак дива не сталося. Жодна з версій HeadMouse не "побачила» вбудовану камеру і працювати відмовилася. Причому в надрах Інтернету я знайшов сторінку іспанського каталонського університету, кафедра робототехніки якого займається проблемою розпізнавання зображення з камери. І серед результатів тестування була таблиця з аналізом дослідів якраз над HeadMouse третьої версії. З цих даних стало зрозуміло, що програма принципово не працює з камерами, інтегрованими в ноутбук, - тільки з окремо підключаються через USB пристроями.

Другим претендентом стала також безкоштовна розробка - Camera Mouse. Судячи з офіційним сайтом програми, це дуже «розкручений» проект , Для якого різні програмісти пишуть доповнення, розширення та плагіни. Тому в плані можливостей, налаштувань і різних додаткових функцій Camera Mouse найбільш розвинена. Вона надає різні способи включення і відключення використання камери, автоматичний режим позиціонування точки відстеження, варіанти перемикання режимів програми, в тому числі і без використання клавіатури. Під точкою відстеження мається на увазі невелика область на зображенні, за пересуванням якої програма стежить і виробляє сполучення її з курсором. Розробники рекомендують відзначити внутрішній кут ока, мені зручніше було використовувати ніс. Але в принципі цей метод дозволяє управляти мишею взагалі будь-яким предметом, що рухається перед камерою (це я теж перевірив). Таким чином, схоже, що Camera Mouse взагалі не розпізнає ні голову, ні особа, а просто стежить за об'єктом, «видимим» нею через веб-камеру.

https://youtu.be/4FhxDj2udzU

Крім самої програми на офіційному сайті ви знайдете безліч додаткових розробок, покликаних полегшити використання миші через камеру, а також посилання на дружні проекти. Там є цікаві екранні клавіатури (тільки з латиницею), модифікатори, що допомагають імітувати подвійний клік, drag-n-drop, скролл і інші операції з мишею. Є нескладні ігри, засновані на використанні веб-камери. Однак особисто мені здалися всі ці доповнення занадто складними. Хоча, звичайно, якщо немає можливості користуватися руками, то будь-який альтернативний варіант буде краще, ніж нічого. Друге, що відразу звертає на себе увагу, - «смикання» курсору. Це як раз той випадок, коли точно встановити покажчик дуже складно, так як він рухається і тремтить від найменшого повороту голови. У програмі є функція пом'якшення руху, але вона, як написано в самій програмі, робить рухи курсора більш плавними за рахунок втрати точності позиціювання. «Кліки» в програмі імітуються шляхом передачі безперервного сигналу натискання клавіші миші через рівні проміжки часу, коли курсор нерухомий.

І, нарешті, остання програма - eViacam. Вона дуже схожа на KAR Disability і по інтерфейсу, і по роботі. Курсор позиціонується також досить точно, «клік» проводиться або при зупинці курсору, або можна включити безперервне «кликання». При використанні програми на екрані постійно присутній дуже корисна панель з великими кнопками, що дозволяє перемикати режими «кліка» (подвійний, перетягування і так далі). Однак виявилося, що у eViacam використовується якийсь особливий алгоритм розпізнавання. На зображенні це виглядає як велика рамка навколо вашої голови, без видимого зв'язку з нею, як у інших програм. Суб'єктивно відмінність полягає в тому, що інші програми все-таки «бачать» особа. eViacam ж постійно збивається і втрачає голову, в прямому сенсі цього слова. Рамка відповзає в сторону, і доводиться зупинятися і давати можливість програмі виправитися. Можливо, саме з цієї причини розробники зробили майстер настройки, який просить вас покриття головою в зазначених напрямках, щоб програма краще розпізнала об'єкт спостереження. Але і це не сильно допомагає.

На початку роботи над оглядом, поки я чекав відповіді від автора KAR Disability, саме eViacam я планував віддати перевагу. На другому місці була Camera Mouse. Але, провівши більш докладні тести, довелося змінити думку. KAR Disability стала безумовним лідером, Camera Mouse так і залишилася на другому місці, а eViacam довелося опустити на третє, так як користуватися нею дуже незручно через недосконалість алгоритму розпізнавання. Хоча в усьому іншому вона нічим не поступається KAR Disability і навіть перевершує. HeadMouse, як ви розумієте, довелося зняти зі змагань і дискваліфікувати без оголошення результату. Виходячи їх всього вищеописаного, я все-таки можу порекомендувати KAR Disability для використання. Вона проста і надійна, хоч в ній і відсутні будь-які додаткові можливості, як в інших розробках. Решта програми можна використовувати в якості повноцінної альтернативи. У будь-якому випадку краще їх все протестувати на конкретному обладнанні. Цілком можливо, що з іншого веб-камерою програми поводяться інакше.

І останнє, про що хотілося сказати, це про ціну на ліцензію для KAR Disability. Звичайно, як програма вона суб'єктивно дійсно краще розглянутих безкоштовних аналогів. Однак виставлена ​​ціна, в 2-3 рази перевищує середнє посібник по інвалідності в Росії, перекреслює всі її гідності. Зрозуміло, що користуватися комп'ютером простіше, якщо поруч є піклується людина, яка допоможе натиснути потрібну кнопку і купить необхідне програмне забезпечення. Однак хочеться побажати розробнику KAR Disability переглянути цінову політику, про що неодмінно буде згадано в листі, повідомленні-(на його прохання) про публікації даної статті. Сподіваюся, він прислухається.

https://youtu.be/5nAOiB9TrW0

Іван Афанасьєв

джерело: softkey.info

Com/watch?