Среди человеческих изобретений можно найти немало удивительных открытий, которые в буквальном смысле влияли на историю. Колесо, письменность, электричество — все это поднимало человека на новый этап развития. Многие из этих изобретений остаются неизменными и по сей день — машины по-прежнему ездят на четырех колесах, а письменность, как и тысячи лет назад, использует в своей основе буквы.
Привыкая к сделанным открытиям, человек быстро начинает воспринимать их как нечто само собой разумеющееся. Возьмем, например, такие средства ввода информации, как мышь и клавиатура. Трудно себе представить что-нибудь более удобное и универсальное, чем эти два устройства для «общения» с компьютером. И все же отдельные энтузиасты продолжают искать альтернативу стандартным средствам ввода данных. Дать односложный ответ на вопрос, зачем им это нужно, просто невозможно. Это и поиск более удобного в быту интерфейса общения с компьютером, и разработка совершенных средств управления компьютеризированными системами, и, конечно, создание устройств, которые бы облегчили жизнь физически неполноценным людям.
Представьте себе, сколько могла бы потерять наука, не используй Стивен Хокинг, один из самых известных физиков-теоретиков, свои электронные гаджеты! Почти полностью парализованный, он может общаться со студентами и вести научную деятельность благодаря сложной электронной системе слежения за его единственным мускулом, который способен двигаться.
Мы считаем, что, поскольку самыми главными потребителями программ для управления компьютером при помощи веб-камеры являются люди с ограниченными физическими возможностями, они должны распространяться исключительно бесплатно. К сожалению, не все разработчики согласны с такой точкой зрения, и нередко можно встретить подобные приложения, распространяющиеся на коммерческой основе. Мы намеренно не включили ни одну из таких разработок в наш обзор, отдав предпочтение бесплатным решениям.
Работа этой утилиты основана на определении контрольной области изображения, полученного с помощью камеры. В качестве вспомогательного ориентира для утилиты удобно использовать какую-нибудь яркую метку. Такой меткой может служить, например, козырек кепки, оправа очков и так далее.
Программа непривередлива к используемым устройствам, а потому может работать практически с любой веб-камерой или другим источником видеосигнала.
В отличие от прочих приложений, предназначенных для управления компьютером при помощи камеры, программа Camera Mouse 2011 может использоваться не только для трекинга лица. Метку можно присвоить, например, руке, пальцу и так далее.
Как и в других программах, предназначенных для управления курсором с помощью веб-камеры, положение указателя мыши часто нестабильно. Курсор то и дело норовит съехать в сторону, нередко он просто «танцует» вокруг некоторой области экрана, даже если пользователь не выполняет никаких движений. Причина такого эффекта — в высокой погрешности определения координат курсора. Идентификация положения контрольной метки на экране — задача довольно сложная. На практике оказывается, что качества получаемой картинки не всегда достаточно для удовлетворительной обработки данных.
Чтобы программа более или менее уверенно контролировала указатель мыши, необходимо, чтобы оптика камеры была качественной, а также чтобы лицо пользователя было достаточно хорошо освещено. Трекинг выполняется в режиме реального времени, поэтому при резких движениях пользователя утилита может просто «потерять» точку слежения, и курсор сместится в сторону.
В Camera Mouse 2011 предусмотрен целый ряд настроек, предназначенных для минимизации погрешности при управлении курсором. Так, например, можно управлять скоростью перемещения курсора — чем точнее работает система, тем «мобильнее» может быть указатель мыши. Причем управлять скоростью перемещения курсора можно по двум направлениям, устанавливая значения для вертикальной скорости и горизонтальной.
Чтобы минимизировать дрожание курсора, можно использовать сглаженное движение, задав степень усреднения координат курсора. В таком режиме курсор станет инерционным, а путь его «торможения» будет длиннее.
Если пользователь работает с каким-то документом, например набирает текст в редакторе Word, излишняя активность курсора может мешать. Поэтому в настройках Camera Mouse 2011 можно установить ограничение области, дальше которой курсор не будет перемещаться.
Самое главное действие, которое должен выполнять виртуальный манипулятор, — щелчки мышью (переходы по ссылкам, нажатия на кнопки и тому подобное). Иначе управление курсором было бы бесполезной забавой. Но как реализовать эти столь нужные команды, если человек, скажем, с физическими недостатками, с трудом поворачивает голову? Не заставлять же его «рисовать» в воздухе носом особые жесты! Да и курсор не стоит на месте — все время так и норовит сместиться в сторону. Выход — сделать «автоматический клик». Как только курсор окажется в районе ссылки, пользователю достаточно удерживать его некоторое время в этом положении, и программа по истечении заданного в настройках утилиты интервала выполнит эмуляцию нажатия клавиши мыши. По большому счету и этот метод имеет свои недостатки — стоит оставить на секунду в покое курсор, например начать знакомиться с содержимым веб-страницы, как встроенный таймер начинает отсчет времени, и затем может произойти случайный переход по ссылке или бессмысленное нажатие какой-нибудь кнопки браузера.
Двойной щелчок мышью в Camera Mouse 2011, на наш взгляд, сделан не очень удачно. Эта возможность реализована с помощью дополнительной кнопки в интерфейсе окна программы.
⇡#Enable Viacam (eViacam) 1.5.1
Настройка Enable Viacam выполнена в виде пошагового мастера. Если предыдущая программа ориентировалась на определенную метку, то Enable Viacam «ищет» на картинке лицо человека. О том, насколько точно ей это удается, можно судить по красной рамке, которая в режиме реального времени перемещается вслед за движениями головы пользователя.
Чтобы программа случайно не выполнила какие-нибудь действия на компьютере в отсутствие пользователя, в настройках Enable Viacam можно установить автоматическое отключение мониторинга активности. Стоит только программе «потерять» лицо — и уже через несколько секунд дистанционное управление курсором прекращается.
Алгоритм управления курсором, реализованный в Enable Viacam, заставляет указатель мыши двигаться более плавно, чем в случае с Camera Mouse 2011. Настройки Enable Viacam позволяют управлять приоритетом процесса.
А еще, по сравнению с предыдущей утилитой, в программе намного удобнее реализован принцип работы с кнопками мыши. Для выбора действий, которые пользователь может выполнить с манипулятором, используется специальная панель Enable Viacam, которая появляется в верхней части экрана рабочего стола. С помощью функций, вынесенных на эту панель, виртуальную мышь можно переводить в режим перетаскивания окон, выполнять имитацию нажатия на ней правой, левой и даже средней кнопки.
Тонкая настройка нажатия клавиш такая же, как в Camera Mouse 2011, — устанавливается временная задержка, по истечении которой, если курсор находится в состоянии покоя, программа эмулирует нажатие кнопки мыши. Чтобы пользователь был уверен в том, что нажатие произошло, событие сопровождается звуковым сигналом.
После каждого нажатия программа переводит виртуальную мышь в стандартный режим. В этом режиме мышь не причинит никакого «вреда» — пользователь просто двигает курсор.
Как бы ни была удобна работа с виртуальной мышью, без клавиатуры за компьютером работать очень сложно. Enable Viacam позволяет быстро вызывать экранную клавиатуру, причем это может быть как стандартная виртуальная клавиатура системы, так и альтернативная. Команду для ее запуска пользователь прописывает в параметрах программы самостоятельно.
Программа может автоматически запускаться вместе с системой, а для большего удобства в ней предусмотрена возможность использования профилей с различными настройками движения курсора. Enable Viacam может быть установлена как на Windows, так и на Linux.
Эта программа была разработана сотрудниками Университета Лериды (Испания). Утилита не столь точно позиционирует указатель мыши, как, скажем, Enable Viacam, да и разобраться в работе этого приложения будет несколько сложнее, чем в предыдущем случае, — уж слишком непонятный интерфейс, без подсказок и текстовых обозначений. С другой стороны, у Head Mouse есть масса интересных особенностей.
Недостатки в точности управления курсором программа компенсирует с помощью автоматической калибровки, запускаемой при каждой паузе или после заданного временного интервала.
Утилиту можно настроить таким образом, чтобы движение курсора выполнялось быстрее, медленнее, в режиме зеркального отражения картинки камеры. Движение курсора может быть абсолютным, когда положение указателя жестко связано с жестами пользователя, или относительным, когда для управления курсором необходимо делать больше движений. В углу экрана постоянно отображается картинка с веб-камеры, по которой можно судить о том, насколько правильно ориентировано лицо пользователя.
Еще одна интересная особенность Head Mouse — возможность идентифицировать команды, отдаваемые глазом пользователя или его губами. На практике оказалось очень удобно (настолько, насколько такое управление вообще можно считать «удобным») выделять текст, подмигивая одним глазом. Утилита может выполнять любые действия, которые возможно осуществить с помощью трехкнопочной мыши, а также позволяет запускать эти команды с определенной задержкой срабатывания.
В настройках Head Mouse можно даже записать клавиатурные макросы, которые значительно упростят выполнение наиболее часто используемых команд. Выглядит это примерно следующим образом: пользователь закрывает глаз — и на экране возникает меню с несколькими макросами. Управляя курсором, пользователь выбирает нужный пункт, и записанная ранее последовательность команд автоматически выполняется. Например, это может быть часто повторяемый текст, который пользователь отправляет в чате или по почте, привычные в повседневной работе сочетания Ctrl+C, Ctrl+V и так далее.
Единственное серьезное неудобство, которое мы смогли обнаружить в процессе работы с этой программой, — необходимость выключения функции слежения за пользователем с помощью его же собственного лица, настоящая мышь в данном случае по какой-то причине игнорируется.
Кому-то рассмотренные в обзоре программы покажутся просто игрой, а для кого-то они станут неотъемлемой частью существования. А еще, если посмотреть на эти программы под другим углом, можно увидеть, что многие из них — прототипы будущих интерфейсов, которые рано или поздно придут в нашу жизнь. Устройства, которые можно включать взглядом, идентификация по лицу, жесты, предназначенные для «умного дома», и многое другое — вся эта «фантастика» не за горами.