Виртуальный контроллер для визуальных отображений
Иллюстрации
Показать всеИзобретение относится к виртуальным контроллерам для визуальных отображений. Технический результат заключается в повышении точности детектирования и отслеживания жестов и движений рук. Такой результат достигается благодаря тому, что камера захватывает изображение рук напротив фона, изображение сегментируется на области рук и области фона, различные жесты рук и пальцев изолируют части фона в независимые области, которым затем назначаются управляющие параметры для манипулирования визуальными отображениями. Несколько управляющих параметров могут быть ассоциированы с атрибутами нескольких независимых областей, образованных двумя руками, для расширенного управления, включающего в себя одновременные функции щелканья, выбора, выполнения, горизонтального перемещения, вертикального перемещения, прокручивания, перетаскивания, вращательного движения, изменения масштаба, развертывания, свертывания, выполнения функций работы с файлами и выполнения выбора из меню. 3 н. и 17 з.п. ф-лы, 5 ил.
Реферат
УРОВЕНЬ ТЕХНИКИ
Движения рук и сигналы руками являются естественными формами человеческого проявления и средства общения. Применение этого знания к взаимодействию человек-компьютер привело к развитию компьютерных методов, основанных на зрительном восприятии, которые предусматривают человеческую жестикуляцию в качестве компьютерного ввода. Компьютерное зрение - это методика, предусматривающая осуществление систем ввода человеческих жестов с целью фиксации свободных движений человеческих рук или тела. Многие основанные на зрительном восприятии методы, разработанные в настоящее время, однако, включают в себя неуклюжие упражнения, требующие неестественных жестов руками и дополнительного оборудования. Эти методы могут быть сложными и громоздкими, приводя к уменьшению эффективности вследствие повторяющихся движений руками в сторону от стандартных местоположений при использовании компьютера.
Современные компьютерные способы ввода обычно включают в себя как ввод текста с использованием клавиатуры, так и манипулирование курсором посредством мыши или стилуса. Повторяющиеся переключения между клавиатурой и мышью уменьшают эффективность для пользователей с течением времени. Методы компьютерного зрения пытаются улучшить несовершенства задач ввода человек-компьютер путем использования движений рук в качестве ввода. Такое использование было бы наиболее эффективным, если бы детектирование происходило при обычных положениях рук во время использования компьютера, таких как клавиатура. Многие из современных компьютерных методов, основанных на зрительном восприятии, применяют использование направленного или вытянутого пальца в качестве жеста ввода. Трудности детектирования такого жеста руки у местоположения клавиатуры или около него возникают вследствие сходства указывающего жеста с естественным расположением руки во время печатания.
Многие современные методы компьютерного зрения применяют парадигмы детектирования и отслеживания жестов для опознавания жестов и движений рук. Эти парадигмы детектирования и слежения являются сложными методиками, использующими замысловатое распознавание образов для восстановления формы и положения рук. Детектирование и слежение ограничено несколькими факторами, включающими в себя трудность в достижении разумной вычислительной сложности, проблемы с реальным детектированием из-за неопределенности в движениях человеческих рук и жестикуляции и отсутствие поддержки для методов, разрешающих взаимодействие более чем с одним пользователем.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Сущность этого изобретения предусматривает введение упрощенных признаков и понятий виртуальных контроллеров для видеотерминалов, которое также описывается ниже в Подробном описании. Эта сущность не предназначена для идентификации существенных признаков заявленного объекта изобретения, и она также не предназначена для использования в определении объема заявленного объекта изобретения.
В одном осуществлении виртуального контроллера для видеотерминалов камера или другое сенсорное устройство детектирует изображение одной или более рук на уровне фона. Изображение сегментируется на области рук и области фона, и с различными интервалами подсчитываются отдельные, независимые области фона - «дырки» - образованные на изображении большим пальцем и пальцем, составляющим замкнутое кольцо (например, одна дырка может быть создана каждой рукой). Большой палец и указательный палец, когда их используют таким образом, называются «интерфейс большого и указательного пальцев» (TAFFI). Возможны другие типы интерфейсов рук и пальцев. По меньшей мере один контрольный параметр присваивается тогда каждой распознаваемой дырке или независимой области фона в захваченном изображении, причем этот контрольный параметр обычно разрешает руке пользователя управлять некоторым аспектом отображаемого изображения на экране или мониторе. Например, функция щелканья мышью может быть назначена в качестве контрольного параметра, когда большой палец и указательный палец руки касаются друг друга и создают визуально независимую область фона. Контрольные параметры могут назначаться таким образом, что отображаемое изображение меняется в зависимости от каждого изменения формы и/или положения независимой области, ассоциированной с контрольным параметром, или в зависимости от формирования или расформирования независимой области (высокое состояние, когда большой палец и указательный палец касаются, и низкое состояние, когда большой палец и указательный палец разомкнуты).
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Повсюду на чертежах используются одинаковые цифры для ссылок на подобные признаки и компоненты.
Фиг.1 представляет собой схему примерной автоматизированной системы, в которой может быть осуществлен примерный виртуальный контроллер для визуального отображения.
Фиг.2 - блок-схема примерной системы виртуального контроллера.
Фиг.3 - схема сегментации изображения, использованной в примерном сегментаторе системы виртуального контроллера Фиг.2.
Фиг.4 - схема примерного управления интерфейсом большого и указательного пальцев.
Фиг.5 - схема последовательности операций примерного способа управления визуальным отображением с помощью жестов руки и пальцев.
ПОДРОБНОЕ ОПИСАНИЕ
Обзор
Это раскрытие описывает виртуальные контроллеры для визуальных отображений. В одном варианте осуществления примерная система обеспечивает навигацию отображения, такого как визуальный пользовательский интерфейс, типичный для монитора компьютера, с использованием компьютерных методик, основанных на визуальном восприятии, в применении к жестам рук и пальцев. В одном варианте осуществления пользователь печатает на клавиатуре и затем, например, запускает «интерфейс большого и указательного пальцев» или «TAFFI», приостанавливая печатание на клавиатуре и просто соединяя вместе большой палец и указательный палец одной руки (словно держа маленький стилус). Примерная система считывает это событие и присваивает контрольные параметры для характерных признаков независимой области фона, образованной жестом пальцев, для того чтобы управлять изображением на видеотерминале.
«Виртуальный» в словосочетании «виртуальный контроллер» относится к отсутствию устройства в физическом контакте с рукой пользователя. Так, в одном варианте осуществления, виртуальный контроллер состоит из камеры, установленной над руками и клавиатурой, и ассоциированной логической схемы для извлечения одного или более интерфейсов из визуального изображения рук пользователя. Разбиение на сегменты выделяет объекты рук из фона (например, при включении клавиатуры). Если пользователь соединяет указательный палец с большим (TAFFI, вверху), система распознает и табулирует независимую область фона, созданную этим жестом руки. То есть система распознает, что часть фона была визуально изолирована от остальной части основного фона касанием большого и указательного пальцев, сделавших полное замкнутое «кольцо», которое замыкает «дырку от бублика» области фона эллиптической формы. Детектирование визуального изображения способом, отличным от компьютерной камеры, также возможно. Например, двумерная матрица электродов или антенн, внедренных в клавиатуру или стол, может «формировать изображение» жеста руки с использованием электростатического или радиочастотного методов и обрабатываться способом, аналогичным захвату изображения с камеры.
В одном варианте осуществления независимая область фона считается отдельным визуальным объектом, когда она визуально разъединена или изолирована от других частей фона областями рук, или, в одном варианте осуществления, областями рук на изображении и/или на границе изображения. Когда изображение(я) рук и пальцев являются ограничивающими объектами для определения границ независимой области фона, тогда эллиптическая область между большим пальцем и указательным пальцем руки, которая создается, когда большой палец и указательный палец «смыкаются» (касаются друг друга), подсчитывается как новая независимая область фона приблизительно в тот момент, когда большой палец и указательный палец касаются. Новая независимая область фона может считаться «связным компонентом» в области анализа связных компонентов. Такие связные компоненты или новые независимые области фона - «дырки» - будут называться здесь «независимыми областями фона» или просто «независимыми областями». Следует понимать, что эта терминология относится к визуальному объекту, который считается отдельным, например, в области анализа связных компонентов.
Когда большой палец и указательный палец «разомкнуты», вновь образованная независимая область фона исчезает и снова становится частью большей независимой области фона.
В терминах области анализа связных компонентов связный компонент представляет собой группу пикселей в бинарном изображении с одинаковыми характерными признаками, которые группируются вместе на основании подобия характерных признаков. Каждый связный компонент часто соответствует отдельному визуальному объекту, увиденному человеком-наблюдателем. Каждую часть фона, которая визуально обособлена от других частей фона частью областей руки или пальцев на изображении, можно определить как независимую область или, на языке анализа связных компонентов, как вновь образованный связный компонент, отдельный от связного компонента фона.
Конечно, другие варианты осуществления могут использовать движения или касания других пальцев руки, образующих «дырку» или «независимую область». Так, «TAFFI» следует толковать свободно, как конфигурацию пальцев(а) и рук(и), которая визуально изолирует часть фона от остального общего фона. Например, большой палец и любой другой палец человеческой руки, или просто два пальца без большого пальца, также могут сформировать интерфейс «TAFFI». Для упрощения описания, однако, варианты осуществления будут как правило описываться в терминах «большого и указательного пальцев».
Как только модуль детектирования отличает новую независимую область фона от общей области фона, система ассоциирует вновь распознаваемую независимую область с одним или более управляющими параметрами, которые позволяют пользователю манипулировать отображаемым изображением на визуальном пользовательском интерфейсе. Отображаемое изображение на визуальном пользовательском интерфейсе может меняться посредством управляющего параметра, поскольку положение, форма и даже существование независимой области фона отслеживаются.
В одном варианте осуществления примерная система обеспечивает детектирование более чем одной независимой области, разрешая пользовательское управление над отображаемым изображением посредством многочисленных управляющих параметров, в котором могут участвовать одна или обе руки. Ассоциация многочисленных управляющих параметров с многочисленными независимыми областями разрешает управление отображаемым изображением относительно изменений формы, положения и существования каждой детектированной независимой области. Так, управление отображаемым изображением может включать в себя управление щелканьем, выбором, выполнением, горизонтальным перемещением, вертикальным перемещением, прокруткой, перетаскиванием, вращательным движением, изменением масштаба, развертыванием и свертыванием, функциями работы с файлами, развертыванием и использованием меню и т.д. Дополнительно, управляющие параметры могут также присваиваться зависимостям между многочисленными распознаваемыми независимыми областями. То есть по мере того как две независимые области двигаются по отношению друг к другу, например, различные управляющие параметры могут приписываться к расстоянию между ними. Например, по мере того как независимые области каждой руки отодвигаются друг от друга, изображение может изменяться в масштабе или растягиваться или может растягиваться по размеру или задавать направление, в котором меняется расстояние между независимыми областями.
В то время как признаки и понятия описанных систем и способов для виртуальных контроллеров могут быть осуществлены во многих различных средах, варианты осуществления виртуальных контроллеров описываются в контексте следующих примерных систем и сред.
Примерная среда
Фиг.1 иллюстрирует примерную систему 100, в которой могут быть осуществлены интерфейсные методики виртуального контроллера, такие как интерфейс большого пальца и указательного пальца, TAFFI, введенный выше. Примерная система 100 включает в себя «отображаемое изображение» 102 на визуальном пользовательском интерфейсе (мониторе, экране или «отображении» 103), камеру 104 в сочетании с вычислительным устройством 105, мышь 106, клавиатуру 108, руки пользователя 110, показанные в контексте (не часть аппаратного обеспечения системы, конечно), и визуально независимую область 112, образованную рукой 110(1) пользователя, используемой как TAFFI. Камера получает захваченное изображение 114 рук, которое будет использоваться примерным устройством TAFFI 115. (Захваченное изображение 114 показано только для описательных целей, примерная система 100 не обязана отображать то, что захватывает камера.) Вычислительное устройство 105, размещающее механизм 115 TAFFI, может быть настольным устройством, переносным устройством, PDA или другим вычислительным устройством 105, которое может успешно регистрировать ввод от камеры 104, так что механизм TAFFI 115 может детектировать некоторые жесты рук и использовать их как ввод пользовательского интерфейса.
Камера 104 захватывает изображение одной руки 110(1), содержащее TAFFI, в то время как другая рука 110(2) остается в «традиционном» (не TAFFI) печатающем положении. Захваченное изображение 114 показывает детектирование независимой области 112 для руки 110(1), формирующей TAFFI, но не детектирование независимой области для руки 110(2), которая по-прежнему печатает или использует мышь для дополнительного ввода. Детектирование независимой области 112 камерой 104 отображается как затемненная область (112) в захваченном изображении 114. Это захваченное изображение 114 демонстрирует фазу в процессе, который будет описан дополнительно ниже, на которой примерная система 100 разделяет руки 110 и фон на непрерывные, сегментные области, такие как большая область фона, области рук и меньшие области фона, составляющие независимую область 112, образованную посредством TAFFI руки 110(1).
Система 100 может быть системой, основанной на визуальном восприятии («компьютерном зрении»), которая обеспечивает управление визуальным пользовательским интерфейсом посредством ввода жестом руки, детектированным камерой 104 или другим датчиком. Другими словами, примерная система 100 может управлять выводом отображения визуального пользовательского интерфейса многих различных типов программ или приложений, которые могут выполняться на вычислительном устройстве, включая отображения на основе Web. Так, примерная система 100 может заместить традиционные пользовательские устройства ввода, такие как мышь 106 и, при желании, клавиатура 108, включая их функции выбора, перемещения и изменения объектов, отображаемых на визуальном пользовательском интерфейсе 102, или даже ввода текста.
Виртуальный контроллер детектирует особенные жесты и движения рук как ввод пользователя. В иллюстрированном варианте осуществления камера 104, использованная для детектирования, помещена где-то над руками и клавиатурой, будучи прикреплена к монитору 103. Камера 104, помещенная в этом положении, обладает полем зрения, которое охватывает по меньшей мере большую часть клавиатуры 108 и приблизительно сфокусирована на плоскости рук 110 пользователя в нормальном положении печатания. В одном варианте осуществления могут быть помещены источники света, такие как инфракрасные или видимые LED, чтобы освещать руки 110 и клавиатуру 108, и могут также быть ориентированы для уменьшения эффектов переменного окружающего освещения. В некоторых случаях может быть достаточно окружающего света, так что для камеры не нужны дополнительные источники света, чтобы получить изображение. В разных вариантах камера 104 и/или дополнительные источники света могут быть помещены между различными клавишами клавиатуры 108, так что камера 104 обращена вверх и способна детектировать жесты рук и движения рук над клавиатурой 108.
Примером камеры 104, которая может быть использована в иллюстрированной примерной системе 100, является Web-камера 104 LOGITECH, которая получает полутоновые изображения с высоким разрешением на частоте 30 Гц (Фримонт, Калифорния). Камера 104 может быть прикреплена либо к клавиатуре 108, либо к монитору 103, либо куда-либо еще, где удобно.
В примерной системе 100 рука пользователя 110(1) может сформировать TAFFI, который создает визуальную область, независимую от остальной области фона, когда большой палец и указательный палец касаются. В одном варианте осуществления потенциальный TAFFI и присутствие или отсутствие одной или более независимых областей 112 детектируются процедурой обработки изображения в реальном времени, которая выполняется в вычислительном устройстве 105, чтобы постоянно следить и определять состояние обеих рук 110, например печатают ли руки 110 или формируют жест для ввода. Эта процедура обработки может вначале определять, находятся ли большой палец и указательный палец пользователя в контакте. Если пальцы находятся в контакте, вызывая независимую область 112 образования TAFFI, которую следует распознать, позиция контакта может быть прослежена двумерно. Например, позиция контакта большого пальца и указательного пальца может быть зарегистрирована в компьютере 105 как позиция указывающей стрелки или позиция курсора. Это распознавание позиции образования TAFFI и ассоциированной с ним независимой области 112 используется таким образом для установления позиции курсора и для управления отображаемым изображением, в одном варианте осуществления.
Быстрые движения рук, производящие независимую область 112, где независимая область 112 формируется, расформировывается и затем формируется снова внутри некоторого интервала времени, могут моделировать или имитировать «щелканье» мышью и позволять пользователю выбирать отображаемый элемент. Быстрое формирование, расформирование и формирование вновь независимой области 112 могут также позволять пользователю перетаскивать или прокручивать выбранные порции отображаемого изображения, перемещать объект в горизонтальном, вертикальном или диагональном направлениях, поворачивать, изменять масштаб и т.д. отображаемого изображения 102. Кроме того, в одном варианте осуществления перемещение TAFFI, который сформировал независимую область 112, ближе или дальше от камеры 104 может привести к увеличению и уменьшению отображаемого изображения.
Управление отображаемым изображением посредством многочисленных TAFFI может задействовать более одной руки 110. Проиллюстрированная примерная система 100 Фиг.1 является вариантом осуществления управления TAFFI, в котором управление изображением происходит от TAFFI одной руки 110(1), в то время как противоположная рука 110(2) печатает и выполняет другие задания ввода на клавиатуре 108. Но в другом варианте осуществления управления TAFFI обе руки 110 могут формировать соответствующие TAFFI, приводя к детектированию по меньшей мере двух независимых областей 112 камерой 104. Двуручное управление TAFFI может обеспечить управление вводом для точно настроенной навигации визуального пользовательского интерфейса. Двуручный подход обеспечивает многонаправленное манипулирование изображением в дополнение к увеличению, уменьшению масштаба и вращательным перемещениям, где манипулирование является более изощренным из-за взаимодействия независимых областей 112 нескольких TAFFI по отношению друг к другу.
Примерная система
Фиг.2 иллюстрирует различные компоненты примерной системы 100 виртуального контроллера. Проиллюстрированная конфигурация системы 100 виртуального контроллера является только одним примером расположения. Многие расположения проиллюстрированных компонент, или других подобных компонент, возможны внутри объема предмета изобретения. Примерная система 100 виртуального контроллера имеет несколько компонентов, таких как механизм TAFFI 115, которые могут быть выполнены в аппаратном обеспечении, программном обеспечении или комбинациях оборудования, программного обеспечения, встроенного программного обеспечения и т.д.
Примерная система 100 включает в себя аппаратное обеспечение 202, такое как камера 104 или другой датчик изображения, клавиатуру 108 и дисплей 103. Устройство 115 TAFFI включает в себя другие компоненты, такие как сегментатор 204 изображения, модуль 206 отслеживания независимых областей, механизм 208 управляющих параметров, включающий в себя модуль 210 связи.
В одном варианте осуществления камера 104 детектирует изображение, интерпретируемое как одна или более рук 110 на уровне фона. Пиксели захваченного изображения 114 включают в себя контрастные значения параметра, который будет использоваться для отличия рук 110 на изображении от области(ей) фона на изображении. Пригодные параметры для сопоставления рук и фона могут включать в себя яркость, оттенки серого цвета, насыщенность цветовых компонентов, значение цветовой плоскости, векторную величину пикселя, заданное значение таблицы компонентов цветов и т.д. В разных вариантах осуществления камера 104 может использовать один или другой из этих параметров для отличия пикселей руки от пикселей фона, например, в зависимости от того, используется ли инфракрасное освещение вместо обычного видимого спектра. Иногда получение захваченного изображения 114 с использованием инфракрасного света приводит к тому, что руки большинства людей различных оттенков кожи проявляются с одинаковым контрастом по отношению к фону независимо от вариаций цвета кожи и тона видимого спектра вследствие различия расы, загара и т.д. Таким образом, детектирование рук на фоне изображения может быть легко выполнено в инфракрасном свете безотносительно к видимым оттенкам кожи.
Сегментатор 204, таким образом, разделяет захваченное изображение 114 на одну или более областей рук 110 и область(и) фона, например, путем сегментации бинарного изображения в соответствии с параметрами контраста или яркости, описанными выше. Сегментация бинарного изображения отличает пиксели области фона от пикселей любого другого объекта (переднего плана) или области, присутствующей на захваченном изображении 114. В одном варианте осуществления сегментатор 204 разделяет изображение, определяя вначале пиксели, которые соответствуют области фона. Каждому пикселю области фона присваивается значение, такое как бинарные «единицы» (1). Всем оставшимся пикселям на захваченном изображении 114 присваиваются отличные значения, такие как «нули» (0).
Фиг.3 иллюстрирует пример 300 сегментации бинарного изображения, выполненного сегментатором 204. Захваченное изображение 114 включает в себя объект 302 фона и объект 304 руки на фоне. Существует ряд способов для получения сегментированных изображений, большинство из которых хорошо известны в технике. В одном варианте осуществления сегментатор 204 отличает пиксели области фона от пикселей любого другого объекта или области, которая присутствует на захваченном изображении 114 или в примере 300. Различение пикселей в бинарном изображении выполняется посредством рассмотрения каждого пикселя, соответствующего фону, как «включенного» или как фиксированного значения, такого как «единица». Каждое другое значение пикселя на изображении может затем сравниваться со значением сохраненного изображения фона. Любое другое значение пикселя, которое существенно ярче, чем соответствующее значение пикселя фона, считается частью новой области или объектом изображения и помечается «выключенный», или ему придается отличное значение, такое как «нуль».
Пример 300 может также иллюстрировать различение области 302 фона от других областей изображения в виде разницы цветов. Область 302 фона показана как более темный цвет, что уравнивается с первым значением. Объект 304 руки, показанный как более светлый цвет, уравнивается со вторым значением, отличающим его от области 302 фона.
Возвращаясь к Фиг.2, устройство 206 отслеживания независимых областей определяет, с фиксированными интервалами времени, количество независимых областей 112 фона. Каждая часть фона, которая визуально обособлена от других частей фона по меньшей мере частью нефоновых областей рук (или границей изображения), определяется как независимая область 112. Для каждой воспринятой независимой области 112 модуль 206 отслеживания независимых областей находит область пикселей «1», полностью окруженную пикселями «0» (т.е. не связанную более непрерывно с остальными пикселями «1», составляющими главный фон). Другими словами, устройство 206 отслеживания независимых областей находит области изолированного фона, которые очерчиваются жестом TAFFI касания большого пальца и указательного пальца.
Точное детектирование независимой области 112 как отдельной области фона, указывающее на намерение пользователя выбрать объект на дисплее 103, например, может быть гарантировано, что независимая область лежит полностью внутри захваченного изображения 114, воспринятого камерой 104, т.е. что никакая порция независимой области 112 не лежит на границе захваченного изображения 114.
Тем не менее, в одном варианте осуществления разновидность модуля 206 отслеживания независимых областей может воспринимать независимую область 112, даже когда часть независимой области 112 находится «вне экрана» - не включенная как часть захваченного изображения 114. Это может быть выполнено путем определения независимой области 112 в виде области фона, отрезанной от основного фона частью руки 110 или частью границы захваченного изображения 114. Но это только вариант того, как разграничить независимую область фона.
Как только существование одной или более независимых областей установлено, модуль 210 связи ассоциирует контрольный параметр для управления операциями визуального графического дисплея 102 на пользовательском интерфейсе с каждой подсчитанной независимой областью. Манипулирование может включать в себя ряд механизмов, включая управление курсором внутри визуального пользовательского интерфейса. Управление курсором визуального графического отображения 102 может быть выполнено, но только когда независимая область детектирована и ассоциирована с управляющим параметром. Если детектирование независимой области прекращается, ассоциация с управляющим параметром прекращается, и управление курсором и манипулирование отключаются. Управление курсором может включать в себя ряд манипуляций, включая действие «щелканья», имитирующее ввод от мыши. Действие щелканья обеспечивает выбор желаемой части визуального изображения на отображении 102, отслеживание и перетаскивание и многонаправленное перемещение и управление курсором.
Модуль 210 связи обеспечивает ассоциацию заданного управляющего параметра с жестом руки или пальца или с изменением жеста. Как только управляющий параметр присвоен или ассоциирован с жестом руки или пальца, то механизм 208 управляющих параметров может далее различать, как жест руки и управляющий параметр связаны друг с другом. Например, простое касание большого пальца с указательным пальцем может быть использовано в качестве «включения-выключения», бинарного интерфейса или переключателя высоких-низких или других двух состояний. Хотя атрибут жеста руки может меняться непрерывно, может назначаться обеспечение переменного управления над манипулированием отображаемого изображения, таким как постепенные перемещения отображаемого изображения 102 через континуум.
Когда модуль 210 связи присваивает переменный управляющий параметр для управления отображаемым изображением 102, например, в зависимости от изменений формы или положения соответствующей независимой области, аспект переменности может быть выполнен путем расчета среднего положения всех пикселей, принадлежащих каждой независимой области, и затем отслеживания изменений в положении формы, создаваемой, когда рука формирует TAFFI. Перемещение рук меняет ориентацию эллиптической формы независимых областей и вынуждает соответствующие изменения в атрибуте элемента изображения, ассоциированного с присвоенным управляющим параметром.
Управление отображаемым изображением
Фиг.4 показывает пример TAFFI 400, иллюстрированный в контексте захваченного изображения 114. Иллюстрированная часть захваченного изображения 114 включает в себя область 302 фона, область 110 объекта руки, независимую область 112 и границу 408 изображения. Каждая из областей 302, 110 и 408 могут быть описаны как отдельные связные области или связные компоненты. Механизм 115 TAFFI отличает независимую область 112 от других связных компонентов, 302 и 110.
Механизм 115 TAFFI может, таким образом, использовать подсчет связных компонентов изображения как основу для осуществления виртуального котроллера для видеотерминалов. Подробнее, связные компоненты являются подмножеством пикселей или участком изображения, на котором каждый пиксель «связан» с каждым другим пикселем в подмножестве. Термин «связный» обозначает множество пикселей, для которого является возможным достичь каждого пикселя из любого другого пикселя путем пересечения пикселей, которые принадлежат этому множеству. В настоящее время существуют эффективные методы для расчета множества связных компонентов на изображении. Методы связных компонентов могут быть эффективными направлениями для определения свойств форм на изображении, так как они допускают исследование малых множеств компонентов, состоящих из многих пикселей внутри пикселей целого изображения.
Процесс расчета связных компонентов может привести к детектированию посторонних связных компонентов. Эти ненужные детектирования могут запутать определение релевантных независимых областей, образованных TAFFI или другими примерными интерфейсами, и поэтому затруднить осуществление виртуального контроллера. В одном варианте осуществления постороннее детектирование внешних связных компонентов может быть преодолено путем отбрасывания связных компонентов, которые имеют меньшее количество пикселей, чем в заранее определенном допустимом граничном значении.
В одном варианте осуществления механизм 115 TAFFI подтверждает, что выявленная независимая область 112 лежит полностью внутри границ изображения, т.е. полностью в пределах области 302 фона. Иногда это ограниченное детектирование независимой области 112, которое имеет достаточный размер и не включает в себя пикселей на границе 408 изображения, подкрепляет достоверную идентификацию ожидаемых независимых областей 408. В этом одном варианте осуществления надлежащее детектирование выполняется путем отказа от ложных кандидатов в связные компоненты или тех, которые не лежат полностью внутри изображения и которые содержат участки на границе 408 изображения.
Все же, в другом варианте осуществления механизм 115 TAFFI детектирует независимую область 112 путем выявления участка независимой области 112 внутри захваченного изображения 114 и участка, лежащего вне экрана за границей 408 изображения. В этом варианте осуществления анализ связных компонентов продолжается до тех пор, пока независимая область 112 не является смежной с точкой столкновения и/или не выходит за пределы границы 408 изображения. Это может произойти, когда рука, формирующая TAFFI и независимую область 112, только частично находится в поле зрения камеры и поэтому только частично внутри детектируемого изображения.
В одном варианте осуществления механизм 115 TAFFI использует центр независимой области 112 для установления позиции курсора и управления курсором внутри отображаемого изображения 102. Механизм 115 TAFFI может выполнять статистический анализ для каждой распознаваемой независимой области 112, где модуль отслеживания 206 независимых областей вычисляет «центроид» или среднее положение пикселей из всех пикселей, принадлежащих к каждой независимой области 112. Это вычисленное положение является суммой многих положений пикселей, приводя к стабильности и прецизионности для этого осуществления. Среднее положение пикселей может быть вычислено на том же этапе, что и подсчет связных компонентов, приводя к эффективному методу, который обеспечивает быстрые результаты с низкими затратами на обработку.
Рассматривая появление и исчезновение независимых областей 408 как средства управления визуальным отображением, в одном варианте осуществления среднее положение пикселей из всех пикселей, принадлежащих к независимой области 112, устанавливает положение курсора и управление, только когда независимая область 112 вновь детектируется в течение одного интервала повторяющегося процесса детектирования.
Управление курсором с детектированием независимых областей 408 может имитировать устройство 106 ввода мышь. Аналогично мыши 106, относительное движение для управления курсором может быть рассчитано из текущего и прошлого положения детектируемой независимой области 112, образованной TAFFI 400. Соединение вместе большого пальца и указательного пальца является естественным движением, которое предусматривает не требующего усилий защелкивающего действия, как с устройством ввода мышью. Использование фильтра Калмана с детектированием TAFFI может сгладить перемещение курсора по визуальному отображению 103.
Примерное устройство 115 TAFFI поддерживает выбор объектов отображаемого изображения 102 путем быстрого формирования, расформирования и нового формирования независимой области 112 с пороговым временным интервалом. Эти действия имитируют «щелканье» кнопкой мыши для функций «выбора» или «выполнения» и могут также поддерживать переход от отслеживания к перетаскиванию выбранного объекта. Например, перетаскивание может быть осуществлено путем имитирования события «мышь-вниз», следующего немедленно за последним формированием независимой области 112. Соответствующее событие «мышь-вверх» генерируется, когда независимая область 112 исчезает при разжимании большого пальца и указательного пальца. Например, в момент формирования независимой области на визуальном отображении пользовательского интерфейса может быть выбран объект, такой как зона прокрутки в документе. Сразу же за этим выбором положение руки, формирующее независимую область 112, может переместиться тем же способом, каким могла бы перемещаться мышь 106 для прокрутки вниз в документе.
Механизм 115 TAFFI может обеспечить большее управление визуальным отображением 102, чем простое имитирование обычной функции, основанной на мыши. Среднее значение и ковариация положений пикселей независимой области 112 (связного компонента) могут быть соотнесены с ориентированной эллиптической моделью формы независимой области 112 путем расчета собственных векторов ковариационной матрицы положений пикселей. Квадратный корень из абсолютной величины собственных значений дает их пространственную протяженность, в размерах основной и дополнительной осей, в то время как ориентация эллипса определяется как арктангенс одного из собственных векторов, с точностью до неопределенности в 180 градусов. Получающаяся в результате неопределенность может быть устранена путем выбора вычисленной ориентации или ориентации, повернутой на +180 градусов, с тем чтобы минимизировать разницу в ориентации из предыдущего кадра.
Механизм TAFFI 115 может вычислять одновременные изменения в положении, ориентации и масштабе из эллиптической модели независимой области 112, созданной примерным TAFFI 400. В разных вариантах осуществления изменения в масштабе могут быть также использованы для детектирования перемещения руки по направлению к камере и от камеры. Это предполагает, что рука пользователя, образующая независимую область 112, как правило, удерживается внутри фиксированного диапазона расстояний от камеры 104, так что размер и форма независимой области 112 меняются только внутри допусков, так что видимые изменения в ориентации отчасти ограничены плоскостью области 302 фо