СПОСОБ УПРАВЛЕНИЯ УСТРОЙСТВОМ С ПОМОЩЬЮ ЖЕСТОВ И 3D-СЕНСОР ДЛЯ ЕГО ОСУЩЕСТВЛЕНИЯ
METHOD OF CONTROLLING DEVICE USING GESTURES AND 3D SENSOR FOR REALISING SAID METHOD

Область техники
Изобретение относится к области бесконтактного взаимодействия пользователей с управляемыми устройствами, а именно к управлению устройством, оснащенным 3D-сенсором, при помощи подаваемых пользователем жестов.
Уровень техники
Известны способы управления устройствами, позволяющие интерпретировать жесты оператора или пользователя как команды для управляемых устройств. Наибольшие возможности для управления жестами предоставляет бесконтактное трехмерное восприятие положения тела пользователя и движений частей его тела, таких как голова, детали лица, глаза, руки и ноги. Указанное трехмерное восприятие и выдачу управляющих команд на устройство, как правило, осуществляют при помощи 3D-сенсора или совокупности устройств, выполняющей функции 3D-сенсора.
Воспринимаемые 3D-сенсором движения пользователя интерпретируются как команда лишь в случае, если в упомянутых движениях удается распознать ожидаемое движение, так называемый командный жест.
Известные способы управления устройствами посредством жестов, как правило, ограничены в быстродействии и в разрешающей способности воспринимающей 3D-сцену аппаратуры, что в свою очередь ограничивает способность различать мелкие движения и мелкие части тела.
Поэтому известные способы управления позволяют реализовать управление мелкими движениями или мимикой лица только непосредственно вблизи 3D-сенсора, но при этом крупные движения, например движения рук и ног, остаются вне захватываемого кадра.
На средней и большой дистанции от 3D-сенсора - наоборот, крупные движения пользователя различимы, а мелкие, такие как движения пальцев, оказываются уже за пределом возможностей сенсора.
Другой недостаток известных способов - ограниченная селективность распознавания командных жестов. Под селективностью здесь подразумевается способность уверенно отличать один командный жест от другого, а также любой командный жест от прочих движений пользователя, не являющихся командными жестами.
При недостаточной селективности, 3D-сенсор способен неверно интерпретировать или не распознать командный жест, или же принять за командный жест непроизвольное движение пользователя.
Недостаток селективности в известных способах компенсируют путем введения специальных правил подачи командных жестов, например, пользователь вынужден перед подачей команды принять заранее определенную позу или делать определенное движение в течение нескольких секунд, чтобы привести 3D-сенсор в состояние ожидания командного жеста.
Другой способ компенсации недостатка селективности известных способов заключается в том, что пользователя ограничивают в скорости жестикуляции и вынуждают использовать только простейшие акцентированные, замедленные, легко узнаваемые и надежно отличимые один от другого жесты, а также избегать лишних движений.
Как требование дополнительных подготовительных движений, так и ограничения на движения причиняют пользователям определенные неудобства и требуют предварительного обучения обращению с 3D-сенсором.
Аналоги изобретения
Известна заявка на патент США №2010118123 "Карта глубин с использованием проецируемых образцов". Получаемая 3D-карта может быть использована для обеспечения пользовательского интерфейса, основанного на жестах, вместо использования элементов с тактильным интерфейсом, таких как мышь, джойстик и прочих устройств.
Согласно осуществлению изобретения, раскрытому в заявке, для создания 3D-карты объекта используется система, включающая осветительную установку, устройство захвата изображения и процессор. Осветительное устройство состоит из транспаранта с фиксированным образцом пятен и источника света, который сконфигурирован для освещения транспаранта и проецирования образца пятен на объект. Объектом является все тело или часть тела человека, такая как кисть руки. Устройство захвата изображения сконфигурировано для захвата изображения образца, содержащего проекцию образца на объект. Для обработки захваченного изображения и для создания трехмерной карты объекта устройство захвата изображения соединено с процессором.
Согласно одному из вариантов, устройство, формирующее изображение, проецирует образец пятен.
Процессор вычисляет 3D-координаты точки на поверхности объекта способом триангуляции, основанным на поперечном перемещении пятен в изображении образца, проецируемого на объект, относительно эталонного изображения.
Источник света представляет собой, например, точечный источник, такой как лазер. Оптическое излучение может быть любым, включая инфракрасный (далее в тексте - ИК) и ультрафиолетовый свет, а также видимое излучение. Транспарант зафиксирован в корпусе осветительного устройства и содержит образец пятен.
Устройство захвата изображения содержит оптический объектив, который фокусирует изображение на сенсор с набором элементов, таких как CCD или CMOS. Устройство захвата изображения может содержать полосовой фильтр, чтобы сенсор принимал только свет в полосе излучения источника света.
Работает система следующим образом. Источник света просвечивает транспарант оптическим излучением, проецируя изображение образца пятен на объект. Сенсор получает изображение объекта и передает его процессору, который формирует 3D-карту объекта и может, например, передать ее на дисплей.
Недостатком способа формирования 3D-карты путем проекции пятен является уменьшенное разрешение получаемой 3D-карты по сравнению с разрешением используемой светочувствительной матрицы.
Известна заявка на патент США №20100020078, в которой раскрываются система и метод для создания трехмерной карты объекта.
Система содержит устройство изображения, которое генерирует и проецирует множество лучей на объект и захватывает изображение, отраженное объектом.
Процессор изображения обрабатывает данные изображения, генерируемые устройством изображения, для воссоздания 3D-карты объекта. Термин 3D-карта относится к множеству 3D-координат, представляющих воспринимаемую системой поверхность объекта. Процессор изображения вычисляет 3D-координаты точек на поверхности объекта, определяя различие в интенсивности освещения. Процессор изображения может быть отдельным устройством или микросхемой в корпусе устройства изображения. 3D-карта, получаемая процессором изображения, может быть использована для различных назначений. Например, карта может быть направлена на выходное устройство, такое как дисплей. Если объект это тело или часть тела, например, кисть руки, система может быть использована для обеспечения основанного на жестах пользовательского интерфейса, для интерактивного управления приложением, вместо элементов с тактильным интерфейсом, таких как мышь или джойстик.
Устройство изображения содержит осветительную установку с двумя источниками света, которые одновременно или последовательно проецируют освещение на объект. Источники света могут излучать как когерентное, так и некогерентное излучение с любой длиной волны, включая ИК и ультрафиолетовое излучение.
Устройство захвата изображения получает излучение, которое отражается от объекта. Устройство захвата изображения содержит оптический объектив, который фокусирует изображение на сенсор, содержащий массив чувствительных элементов CCD или CMOS. Устройство захвата изображения может также содержать один или более полосовых фильтров, подобранных и расположенных так, что сенсор получает свет только в полосе пропускания, отфильтровывая внешнюю засветку, которая может снижать контрастность изображения проецируемого образца. Для составления 3D-карты процессор изображения определяет расстояние (z координату) различных точек (x,y) на объекте, основываясь на разнице в излучаемом и отраженном свете. Для этого необходимо, чтобы освещение источников отличалось.
Процессор изображения определяет яркость точки на объекте, освещаемой первым и вторым лучами. Координаты x и y соответствуют координатам пикселя на изображении. Z координата определяется процессором изображения путем сравнения интенсивности отраженных лучей.
Известна заявка на патент США №2010199228 "Набор текста жестами". Согласно описанию, система состоит из вычислительного средства и устройства захвата. Вычислительное средство может быть компьютером, игровой системой, консолью или подобным и может включать аппаратные и/или программные компоненты.
Согласно одному из вариантов изобретения, система может быть подключена к аудиовизуальному устройству, такому как телевизор, монитор, телевидение высокой четкости (HDTV), или к чему-то подобному. Например, вычислительное средство может включать видеоадаптер, такой как видеокарта и/или аудиокарта, такая как звуковая карта, которая может обеспечить аудиовизуальный сигнал. Аудиовизуальное устройство может быть подключено к вычислительному средству через, например, S-видеокабель, коаксиальный кабель, кабель HDMI, VGA кабель или подобное.
Устройство захвата может включать ИК-источник, трехмерную камеру и RGB камеру. Например, используя технологию "time-of-flight", можно замерить время между исходящим светом от ИК-источника и входящим светом и определить расстояние от устройства захвата до объекта в сцене.
Особенностью применения упомянутой технологии "time-of-flight" для определения расстояния от устройства захвата до объекта, то есть глубины, является хорошая точность определения больших значений глубины, но значительная погрешность в определении малых значений глубины, что лишает этот способ универсальности.
Согласно другому варианту изобретения, может быть использован структурированный свет для получения информации глубины. Образец сетки или полосы может быть спроецирован на сцену с помощью, например, ИК-источника. Попадая на объект, образец деформируется и захватывается 3D-камерой или RGB камерой. А затем может анализироваться для определения физического расстояния от устройства захвата до объекта.
Устройство захвата может дополнительно включать процессор, который может быть связан с компонентом камеры. Процессор может содержать, например, инструкции для получения глубины изображения, выполнять преобразование объекта в его скелетное представление. Также устройство захвата может дополнительно включать компонент памяти. Он может быть как интегрированным в процессор, так и быть отдельным компонентом.
Устройство захвата связано с вычислительным средством через канал связи. Это может быть проводная связь (например, USB соединение, Firewire соединение, кабельное Ethernet соединение) или беспроводное соединение.
Устройство захвата генерирует модель скелета и передает по каналу связи вычислительному средству, которое получает данные глубины для распознавания жеста пользователя для управления приложением.
Вычислительное средство может включать распознаватель жестов. Захваченные данные могут сравниваться с жестами в распознавателе, для управления приложениями.
Известен дисплей для определения жестов из заявки РСТ WO 2011011029. Система включает панель с поверхностью для отображения изображений и трехмерный оптический сенсор. Панель может быть жидкокристаллическим дисплеем, плазменным дисплеем электроннолучевой трубкой (CRT), OLED или проекционным дисплеем, например, DLP. Трехмерный оптический сенсор захватывает свет, отраженный от объекта. Источник света, освещающий объект, может быть, например, ИК или лазерным источником. Объектом может быть кисть руки пользователя или палец. Источник света может излучать структурированный свет, который проецирует на объект, например, сетку. Сенсор может также работать, например, по технологии "time-of-flight". По одному из вариантов изобретения трехмерный оптический сенсор может быть встроен в панель отображения, по другому - может быть внешним. Если кисть руки и пальцы пользователя находятся в поле обзора трехмерного оптического сенсора, свет от источника света отражается от объектов и просматривается сенсором, генерирующим данные, которые направляются контроллеру. Данные могут включать, например, координаты x, y, z пальцев и кистей рук пользователя. Если, например, пользователь хочет увеличить объект на дисплее, он должен сжать кулак и переместить его в z-направлении. Когда объект будет увеличен до желаемого размера, пользователь может открыть свой кулак, предотвращая дальнейшее увеличение объекта.
Трехмерный оптический сенсор может определить жест. Например, пользователь может переместить руку справа налево перед дисплеем, перелистывая страницы книги, отображенной на дисплее. Трехмерный оптический сенсор может генерировать данные, которые получит вычислительная система. Контроллер вычислительной системы может определить различные положения руки.
Заявка РСТ WO 2011011029 содержит также описание модуля оптического сенсора, который включает источник света и трехмерный оптический сенсор. Модуль оптического сенсора может захватывать данные, такие как высота, ширина и глубина объекта. Модуль оптического сенсора может соединяться с вычислительным устройством через порт связи для передачи захваченной информации. Например, порт связи может быть портом шины USB или IEEE1394 портом. Порт связи может быть частью контроллера ввода-вывода вычислительного устройства. Контроллер ввода-вывода может быть соединен с машиночитаемым носителем и с контроллером. Контроллер может получать данные, захваченные трехмерным оптическим сенсором, через порт связи контроллера ввода-вывода. Контроллер может определить расстояние от модуля оптического сенсора до объекта и от объекта до дисплея, основываясь на расстоянии от объекта до модуля трехмерного оптического сенсора.
Заявка РСТ WO 2011011029 наиболее близка к предлагаемому изобретению и принята за прототип.
Недостатком прототипа и прочих известных способов управления устройствами, основанных на распознавании жестов пользователя, является постоянное ожидание подачи жеста пользователем. Вычислительный блок пытается распознать управляющий жест в каждом движении пользователя. Воспринятое камерой движение пользователя сравнивают с каждым из ожидаемых вычислительным блоком жестов. Нагрузка на процессор вычислительного блока кратна количеству одновременно ожидаемых жестов, поэтому, в силу ограниченной производительности процессора, ограничено и разнообразие возможных команд.
Недостатком прототипа и прочих известных устройств для распознавания жестов является передача изображения, исходного или частично обработанного, например скелетизированного, на вычислительное устройство по внешним интерфейсам, таким как S-video кабель, коаксиальный кабель, USB кабель и тому подобным. Большой объем передаваемых данных и ограниченная пропускная способность внешнего интерфейса ограничивают скорость реакции системы на жесты пользователя.
В известных системах для определения жестов не удается осуществить распознавание одним техническим устройством одновременно и крупных жестов, такие как движения ног, рук, включая движение плеча и предплечья, и мелких жестов, включая движение отдельных фаланг пальцев. Указанная проблема связана, в основном, с низким разрешением воспринимаемого 3D-изображения, с ограниченной точностью определения координат и с недостаточным быстродействием системы в целом. Практически, известные системы могут распознавать мелкие жесты с малого расстояния, когда, например, большая часть захваченного кадра содержит крупное изображение кисти руки, или распознавать только крупные жесты, когда в кадр помещается пользователь целиком.
В общем случае, такое разделение является недостатком, который сужает функциональные возможности систем управления, основанных на распознавании жестов и накладывает на пользователя ограничения по месту подачи команд и разнообразию одновременно ожидаемых жестов.
Раскрытие изобретения
Задачей, на решение которой направлено заявленное изобретение, является увеличение разнообразия воспринимаемых жестов, включая одновременное восприятие крупных и мелких жестов, улучшение селективности распознавания жестов, а также минимизация времени, затрачиваемого на распознавание жеста и выдачу команды устройству.
Другой задачей является создание 3D-ceнcopa с улучшенными характеристиками разрешения и быстродействия, достаточными для одновременного восприятия крупных и мелких жестов, включая жесты руками, ногами, туловищем, головой, пальцами рук, подаваемых пользователем в произвольном, удобном для него темпе.
Сущность изобретения заключается в том, что предложен способ управления устройством с помощью жестов, позволяющий расширить возможности машинного распознавания жестов, а именно улучшить селективность распознавания жестов, уменьшить время отклика системы на подаваемые команды, увеличить допустимое количество жестов в жестовом интерфейсе, допустить подачу с одной дистанции жестов руками и жестов пальцами, а также уменьшить время, затрачиваемое на распознавание жеста и выдачу команды устройству. Предложен также 3D-сенсор с улучшенными характеристиками разрешения и быстродействия, позволяющий осуществить указанный способ.
Предложенный способ управления устройством с помощью жестов, подаваемых пользователем, заключается в том, что захватывают трехмерное изображение, распознают жест и выдают на управляемое устройство соответствующую жесту команду, при этом в окружающем пользователя пространстве выделяют, по меньшей мере, одну сенсорную область, с каждой сенсорной областью ассоциируют, по меньшей мере, один ожидаемый жест и с каждой комбинацией сенсорной области и жеста ассоциируют одну команду, определяют положение глаз пользователя, положение его головы и положение его руки, определяют условную линию взгляда, исходящую из органа зрения пользователя и направленную в видимую пользователем точку окружающего пространства, проверяют, направлена ли условная линия взгляда на сенсорную область, анализируют подаваемый рукой пользователя жест и в случае, если жест подают одновременно с наведением условной линии взгляда на сенсорную область, то на управляемое устройство выдают команду, ассоциированную с данной комбинацией сенсорной области и поданного жеста.
Предложенный 3D-сенсор для управления устройством с помощью жестов включает в себя вычислительный блок, ИК-проектор и ИК-камеру, причем ИК-проектор и ИК-камера соединены с локальной шиной вычислительного блока, а вычислительный блок сконфигурирован для создания ИК-проектором модулированной подсветки, анализа изображения, полученного с ИК-камеры, вычисления условной линии взгляда пользователя, вычисления сенсорной области, на которую направлена условная линия взгляда пользователя, распознавания жеста пользователя и выдачи команды для управляемого устройства.
Краткое описание чертежей
На фиг.1(а,б,в) изображены плоские сенсорные области прямоугольной формы.
На фиг.1,а изображены две раздельные сенсорные области.
На фиг.1,б изображены три смежные сенсорные области.
На фиг.1,в изображены две частично перекрывающиеся сенсорные области.
На фиг.2(а,б) изображены примеры возможного расположения сенсорных областей, связанных с дисплеем.
На фиг.2,а изображен дисплей с сенсорными областями, внешними по отношению к дисплею и внутренними по отношению к дисплею.
На фиг.2,б изображены сенсорные области, пересекающие границы дисплея.
На фиг.3(а,б,в) изображена условная линия взгляда, определенная тремя различными способами.
На фиг.3,a изображена условная линия взгляда, определенная по углам наклона и поворота лица пользователя.
На фиг.3,б изображена условная линия взгляда, определенная как луч, пересекающий точку, связанную с кистью руки пользователя.
На фиг.3,в изображена условная линия взгляда, определенная как луч, направление которого вычислено по положению зрачков и/или контуров радужных оболочек глаз пользователя.
На фиг.4 изображена сенсорная поверхность, расположенная в плоскости дисплея, закрепленного на стене.
На фиг.5(а,б) изображен 3D-сенсор.
На фиг.5,а изображена принципиальная схема 3D-сенсора.
На фиг.5,б условно изображен 3D-сенсор в одном корпусе с камерами и проектором.
Осуществление изобретения
Осуществление изобретения достигается следующим образом: при получении данных, свидетельствующих о подаче жеста пользователем, соответствующую жесту заранее предопределенную команду на управляемое устройство выдают только тогда, когда пользователь смотрит в направлении заранее определенной области пространства, с которой ассоциирован поданный жест.
Сенсорная область
Упомянутая заранее определенная область пространства далее в описании, а также в формуле изобретения, именуется сенсорной областью, поскольку назначение упомянутой заданной области - "почувствовать", что пользователь на нее смотрит. Сенсорная область, в общем случае, может быть объемной или двумерной. В большинстве случаев удобнее использовать двумерную плоскую сенсорную область, например, прямоугольной формы (см. фиг.1 и 2). Одновременно могут быть заданы одна сенсорная область или несколько раздельных сенсорных областей, как, например, раздельные сенсорные области 1 и 2 на фиг.1,а; смежных сенсорных областей, как, например, смежные сенсорные области 1, 2 и 3 на фиг.1,б или взаимно перекрывающихся сенсорных областей, как, например, перекрывающиеся сенсорные области 1 и 4 на фиг.1,в.
Задать сенсорную область - означает установить диапазон координат, все точки внутри которого принадлежат сенсорной области.
Ассоциация жеста с сенсорной областью
Еще одним условием выдачи команды на устройство является то, что поданный пользователем жест заранее поставлен в соответствие рассматриваемой сенсорной области, иначе говоря, ассоциирован с нею. С каждой сенсорной областью могут быть ассоциированы один или несколько жестов. Назначение предварительной ассоциации жестов с сенсорной областью - разрешить 3D-сенсору выдавать команды только в ответ на некоторые, заранее заданные жесты и таким образом ограничить число жестов, одновременно ожидаемых 3D-сенсором. В простейшем случае, с одной сенсорной областью ассоциирован единственный жест, что позволяет снизить требования к точности распознавания жеста и увеличить практическое быстродействие 3D-сенсора.
Перекрытие временных интервалов жеста и взгляда
Время подачи жеста, как правило, ограничено и невелико, поскольку продолжительная жестикуляция утомительна для пользователя. Продолжительность взгляда на сенсорную область может варьироваться и, в том числе, превышать продолжительность жеста.
Если временные интервалы жеста и взгляда имеют общий участок, то жест и взгляд считают одновременными.
В другом варианте выполнения предлагаемого способа, жест и взгляд считают одновременными, если некоторые участки временных интервалов жеста и взгляда укладываются в заранее установленный общий временной интервал.
Определение направления взгляда
Для определения направления взгляда предлагается использовать условную линию взгляда, которая в достаточной, для целей управления устройствами, мере совпадает с действительной линией взгляда пользователя.
Линия взгляда - это отрезок прямой линии, который берет начало в органе зрения пользователя и заканчивается на предмете, на который пользователь в данный момент времени смотрит.
В каждый момент пользователь способен отчетливо видеть некоторую область пространства вокруг точки, на которой сосредоточено его внимание. Указанная точка далее для краткости именуется истинной точкой внимания. Для осуществления предлагаемого изобретения, вместо истинной точки внимания допустимо использовать условную точку внимания, то есть найденную с некоторой погрешностью точку, также находящуюся в пределах упомянутой видимой пользователем области.
Условную точку внимания определяют как точку пересечения условной линии взгляда с поверхностью сенсорной области.
Условную линию взгляда можно определять различными способами. Частные примеры способов определения условной линии взгляда описаны ниже.
Определение положения органа зрения
Чтобы определить пространственное положение условной линии взгляда, необходимо прежде всего определить положение органа зрения пользователя. Известно, что степень бинокулярности зрения у разных людей может быть различной: у пользователя может функционировать один глаз или оба, причем во втором случае один глаз может функционально доминировать над другим глазом. В упомянутых случаях будет естественным считать положением органа зрения центр доминирующего глаза.
Если у пользователя доминирование одного из глаз не выражено, то есть глаза функционально равнозначны, то положением органа зрения можно считать середину отрезка 8, соединяющего центры глаз (см. фиг.3,в). В некоторых случаях может оказаться удобным считать положением органа зрения некую точку на отрезке 8, соединяющем центры глаз, занимающую промежуточное положение между концом и серединой отрезка, то есть смещенную в сторону одного из глаз. Целесообразно выбрать один из описанных вариантов расположения органа зрения до начала управления прибором. Выбор варианта можно осуществить автоматически, например, путем калибровки 3D-сенсора, или установить принудительно, путем ручной настройки 3D-сенсора. Целью такой настройки является комфорт пользователя и минимизация ошибок при управлении устройством.
Вышеописанные варианты определения положения органа зрения не исчерпывают всех возможных вариантов, но являются наиболее естественными и удобными.
Нахождение положения органа зрения
Различные способы нахождения глаз на изображении известны в существующем уровне техники. Задача нахождения глаз решается, например, в патентах RU 2382408, US 7620217, US 7876931.
На захваченном изображении находят глаза пользователя, вычисляют 3D-координаты центров глаз и вычисляют 3D-координаты органа зрения. А в случаях, когда зрачки или ирисы пользователя по какой-либо причине не видны или не находятся 3D-сенсором, центром глаза можно считать середину глазницы или середину линзы очков.
Определение направления условной линии взгляда
Использование условной линии взгляда вместо поиска истинного направления взгляда обусловлено следующими обстоятельствами.
Во-первых, истинное направление взгляда бывает трудно определить: нет уверенности, что глаза направлены в ту же точку, что и внимание, а кроме того, левый и правый глаза не у всех и не все время направлены в одну точку.
Во-вторых, известны только косвенные способы определения, куда направлен взгляд, и в данном смысле, любой из этих способов определяет именно условное направление взгляда.
В-третьих, нет необходимости в собственно взгляде. Достаточно определить, куда бы человек хотел посмотреть во время подачи команды.
Таким образом, возможно применение предлагаемого способа в том числе и незрячими пользователями.
В зависимости от поставленной цели можно выбирать наиболее простой способ определения условной линии взгляда, что снижает требования к быстродействию аппаратуры и позволяет применять более дешевые аппаратные решения.
Варианты способов определения направления условной линии взгляда
В одном из вариантов предлагаемого способа направление условной линии взгляда определяют по углам наклона и поворота лица пользователя (см. фиг.3,а). Для этого на захваченном изображении находят лицо, находят глаза и подбородок. Трехмерные координаты трех точек, а именно центров глаз и подбородка, задают плоскость 7, проходящую через указанные три точки.
В первом приближении, условной линией взгляда 6 считают перпендикуляр к этой плоскости, проведенный через точку, принятую за положение органа зрения. В действительности, пользователь может, к примеру, иметь привычку смотреть слегка искоса или исподлобья. Для того, чтобы учесть эти персональные особенности пользователя, можно скорректировать углы направления условной линии взгляда путем калибровки 3D-сенсора и предоставить пользователю возможность управлять устройством в привычной и комфортной для него манере.
В другом предлагаемом варианте (см. фиг.3,б) за условную линию взгляда 6 принимают луч, пересекающий точку, связанную с кистью руки пользователя. Например, это может быть крайняя верхняя точка кисти руки или крайняя верхняя точка удлиненного предмета в руке пользователя. Преимуществом данного варианта является быстродействие, поскольку для нахождения линии взгляда достаточно найти положение органа зрения и положение руки пользователя. Две найденные точки задают прямую, которую в данном варианте предлагаемого способа считают линией взгляда. Данный вариант может оказаться и наиболее комфортным для пользователя, поскольку избавляет его от необходимости двигать головой и даже перемещать точку внимания на сенсорную область. Достаточно держать сенсорную область 1 в поле зрения и указать на нее рукой, держа кисть на уровне глаз.
В третьем варианте (см. фиг.3,в) направление взгляда вычисляют по положению зрачков и/или контуров радужных оболочек глаз пользователя, и условную линию взгляда 6 определяют как луч, направленный в вычисленном направлении взгляда.
Для достижения наибольшей точности в определении направления условной линии взгляда можно использовать комбинацию двух или трех указанных вариантов, а также автоматически переходить от одного варианта определения направления условной линии взгляда к другому варианту, в зависимости от текущих изменений условий съемки. Предпочтительный вариант определения направления условной линии взгляда может быть выбран заранее путем ручной или автоматической настройки 3D-сенсора или управляемого устройства, частью которого является 3D-сенсор.
Множество сенсорных областей
По сравнению с единственной сенсорной областью, использование нескольких сенсорных областей позволяет уменьшить количество одновременно ожидаемых 3D-сенсором жестов, что в свою очередь позволяет снизить вероятность ложных срабатываний из-за непроизвольно выданных команд или ошибок классификации схожих жестов. Схожие жесты, которые легко принять один за другой, достаточно отнести к различным, отстоящим одна от другой сенсорным областям, чтобы исключить саму необходимость выбора между этими жестами. В результате смягчаются требования к аккуратности исполнения жеста, к амплитуде движений, к паузам между жестами. С другой стороны, в разных сенсорных областях одному и тому же жесту могут соответствовать различные команды, и при небольшом наборе распознаваемых 3D-сенсором жестов, в крайнем случае с использованием даже одного единственного жеста, можно реализовать обширное меню команд за счет множества сенсорных областей.
Визуализация сенсорной области
В некоторых вариантах выполнения предлагаемого способа, сенсорная область может быть визуализирована. Это позволяет пользователю более точно направить условную линию взгляда на сенсорную область. Наиболее просто визуализировать сенсорную область, расположенную вблизи реальной поверхности, например стены, окна, экрана телевизора. Визуализацию осуществляют с помощью индикации контуров, углов или всей площади сенсорной области световыми приборами, такими как лампы, светодиоды, лазер, а также дисплей или проектор. В другом варианте сенсорную область связывают с подвижным предметом, таким как, например, робот-пылесос. В этом случае сенсорную область перемещают по мере передвижения предмета-носителя сенсорной области.
Сенсорные области, связанные с дисплеем
Вариант визуализации сенсорной области при помощи дисплея осуществляют следующим образом (см. фиг.2). Сенсорную область выделяют в плоскости, совпадающей с поверхностью дисплея. Сенсорные области могут быть расположены в пределах дисплея 5, как, например, сенсорные области 3 и 4 на фиг.2,а, на границах или углах дисплея 5, как, например, сенсорные области 1 на фиг.2,б, а также вне дисплея 5, то есть в стороне, сверху или снизу от границ дисплея 5, как, например, сенсорные области 1 на фиг.2,в.
С помощью дисплея также визуализируют реакцию устройства на команды пользователя. В зависимости от состояния управляемого устройства, на дисплей может быть выведено визуальное обозначение сенсорных областей, сообщения для пользователя, меню или изображение каких-либо прочих объектов.
3D-сенсор
Для определения координат частей тела пользователя, вычисления условной линии взгляда пользователя, вычисления сенсорной области, на которую направлена условная линия взгляда пользователя, распознавания жеста и выдачи команды для управляемого устройства предлагается использовать 3D-сенсор, включающий в себя вычислительный блок, ИК-проектор и ИК-камеру. Новым в 3D-сенсоре является то, что ИК-проектор и ИК-камера соединены с локальной шиной вычислительного блока, а вычислительный блок сконфигурирован для создания ИК-проектором модулированной подсветки, анализа изображения, полученного с ИК-камеры, вычисления условной линии взгляда пользователя, вычисления сенсорной области, на которую направлена условная линия взгляда пользователя, распознавания жеста и выдачи команды для управляемого устройства.
Анализ изображения
В части анализа изображения, полученного с ИК-камеры, вычислительный блок сконфигурирован для фильтрации изображения, получения карты свернутых фаз, преобразования ее в карту развернутых фаз, вычисления карты глубин, вычисления 3D-координат частей тела пользователя.
Преимущества локальной шины
Соединение ИК-проектора и ИК-камеры с вычислительным блоком посредством локальной шины дает существенный выигрыш в скорости передачи данных между вычислительным блоком, ИК-проектором и ИК-камерой, по сравнению с используемым в известных 3D-устройствах соединением посредством внешнего интерфейса (USB и ему подобных). Это позволяет в целом ускорить отклик управляемого устройства на управляющий жест пользователя.
Преимущества общего корпуса
Чтобы сделать возможным использование только локальной шины вычислительного блока для соединения элементов 3D-сенсора, упомянутые элементы расположены в одном общем корпусе 9 (см. фиг.3,б и фиг.5,б).
Кроме того, совмещение всех компонентов 3D-сенсора в едином корпусе делает его мобильным, поскольку облегчает возможность, при желании, использовать 3D-сенсор поочередно с различными управляемыми устройствами.
Цветная видеокамера
В наиболее универсальном варианте исполнения, 3D-сенсор дополнительно включает в себя цветную видеокамеру, что расширяет возможности применения 3D-сенсора в мультимедийных приложениях.
В другом варианте, компоненты 3D-сенсора, например, цветная видеокамера, могут быть размещены вне общего корпуса.
Интерфейс для соединения с дисплеем
В одном из вариантов 3D-сенсора с цветной видеокамерой, вычислительный блок 3D-сенсора снабжен интерфейсом для передачи видеосигнала на дисплей. Дисплей может быть элементом управляемого устройства, такого как телевизор, бытовой прибор с небольшим жидкокристаллическим дисплеем или отдельным устройством вывода информации, таким как компьютерный монитор.
Наибольшие преимущества соединения 3D-сенсора с дисплеем могут быть получены при условии, что в плоскости дисплея заданы сенсорные области, связанные с дисплеем. Для того, чтобы знать взаимное расположение сенсорных областей и дисплея, должно быть известно взаимное расположение дисплея и 3D-сенсора, для чего можно либо выложить дисплей и 3D-сенсор в одном корпусе, либо предусмотреть постоянное место для точного разъемного крепления 3D-сенсора на корпусе или вблизи корпуса дисплея, например выполнить корпус дисплея с нишей в форме 3D-сенсора. Возможен и вариант размещения 3D-сенсора отдельно от дисплея, в этом случае требуется обеспечить неподвижность обоих устройств во время сеанса управления и перед сеансом управления получить данные об их взаимном положении путем проведения калибровки. Таким образом, один из вариантов исполнения 3D-сенсора предусматривает его размещение в едином корпусе с дисплеем, а в другом варианте 3D-сенсор и дисплей установлены в отдельных корпусах. При этом 3D-сенсор или дисплей или оба указанных компонента могут быть установлены как в одном корпусе с управляемым устройством, так и отдельно от него.
Жидкостные объективы
Одним из важных факторов, определяющих разрешающую способность 3D-сенсора, является способность объективов видеокамер фокусироваться на требуемое расстояние. Скорость фокусировки в свою очередь влияет на быстродействие 3D-сенсора в целом.
Для быстрой автоматической фокусировки используемых в 3D-сенсоре камер как ИК-камеры, так и цветной видеокамеры в одном из вариантов исполнения 3D-сенсора использованы жидкостные объективы. Жидкостный объектив электрически соединен с вычислительным блоком и может менять свое фокусное расстояние по его команде.
В совокупности, применение жидкостных объективов, соединения элементов 3D-сенсора через локальную шину, а также проведение всех вычислительных операций, вплоть до формирования управляющей команды, внутри вычислительного блока 3D-сенсора позволили поднять быстродействие 3D-сенсора настолько, чтобы иметь возможность распознавать жесты, включая жесты руками и пальцами рук, в органичном для пользователя темпе, без применения ограничений на скорость, частоту и амплитуду подачи жестов.
Описание работы 3D-сенсора
Работает 3D-сенсор следующим образом.
Используется известный в уровне техники принцип модулированной подсветки.
ИК-проектор освещает участок пространства, находящийся в области действия 3D-сенсора, так называемую сцену, и все предметы, находящиеся в пределах сцены, инфракрасным светом, изменяемым в пространстве и во времени. Для этого на сцену проецируется картина, в которой освещенность точек изменяется от нуля до максимального значения в горизонтальном направлении. Один кадр содержит несколько периодов указанного изменения освещенности. Таким образом, проецируемая картина представляет собой вертикальные полосы с пилообразным профилем яркости. Кроме того, в последовательно проецируемых кадрах картину смещают в горизонтальном направлении. ИК-камера воспринимает освещенные модулированным ИК-светом предметы сцены, в частности пользователя, и по локальной шине передает видеосигнал вычислительному блоку. Вычислительный блок сопоставляет изменения в яркости элементов принятого видеосигнала с изменениями яркости исходного видеосигнала, модулирующего проецируемую на сцену ИК-подсветку. Совокупность фаз яркости для всех точек воспринятого ИК-камерой кадра, полученных при полосчатой подсветке, называют картой свернутых фаз. Вычислительный блок преобразует карту свернутых фаз в карту развернутых фаз. Вычисленная для каждой точки принятого кадра развернутая фаза, с учетом известной соответствующей фазы подсветки в данной точке, позволяет вычислить расстояние от данной точки до 3D-сенсора, называемую координатой глубины, или просто глубиной точки. Совокупность вычисленных расстояний для всех точек воспринятого ИК-камерой кадра называют картой глубин. Координаты точки сцены, включая координату глубины, называют 3D-координатами данной точки. Совокупность 3D-координат всех точек, попавших в один кадр ИК-камеры, составляет 3D-карту сцены. Описанный способ получения 3D-карты сцены известен и детально излагается, например, в диссертации "High-resolution, Real-time 3-D Shape Measurement. A Dissertation Presented by Song Zhang to The Graduate School in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy in Mechanical Engineering Stony Brook University May 2005".
В зависимости от текущего состояния управляемого устройства, вычислительный блок задает одну или несколько сенсорных областей, а также ассоциирует с заданными сенсорными областями соответствующие текущему состоянию управляемого устройства командные жесты. Вычислительный блок анализирует 3D-карту сцены и распознает в ней пользователя, определяет расположение частей тела пользователя, определяет условную линию взгляда и проверяет, находится ли условная точка внимания в одной из сенсорных областей. Кроме того, вычислительный блок распознает жесты пользователя. В том случае, если командный жест подан в то время, когда условная точка внимания оказывается внутри сенсорной области, 3D-сенсор выдает на управляемое устройство ассоциированную с данным жестом команду. Для передачи команды, в зависимости от конфигурации управляемого устройства, 3D-сенсор использует инфракрасный приемник-передатчик или другой интерфейс, например, проводную сеть LAN или беспроводную сеть Wi-Fi. Некоторые из командных жестов, подтвержденных взглядом пользователя, обрабатывает сам 3D-сенсор. Например, по жесту пользователя, 3D-сенсор загружает из сети интернет требуемый пользователем мультимедийный контент и направляет его на управляемое устройство - дисплей, по НDМI-интерфейсу.
Описание наилучшего варианта выполнения изобретения
Примером наиболее удачного применения предлагаемых способа и 3D-сенсора является использование системы, состоящей, по существу, из 3D-сенсора, соединенного с дисплеем, для интерактивного выбора и воспроизведения мультимедийного контента, получаемого из сети интернет.
3D-сенсор соединен с дисплеем по HDMI интерфейсу. Кроме того, 3D-сенсор оснащен LAN и Wi-Fi интерфейсами для связи с сетью Ethernet.
Аппаратная часть 3D-сенсора (см. фиг.5) содержит корпус 9, внутри которого установлены следующие элементы:
- Вычислительный блок 12, аналогичный модели Nvidia Tegra3, являющийся базовой платформой и включающий в себя центральный процессор, модуль обработки изображения и звука, графический процессор для формирования графического пользовательского интерфейса.
- Источник 13 ИК-подсветки с переменной во времени и пространстве модуляцией, соединенный с вычислительным блоком через локальную шину 17 типа PCI-E.
- ИК-камера 14 для получения 3D-изображения, соединенная с вычислительным блоком через локальную шину 17 типа PCI-E.
- Цветная камера 15 для получения цветного изображения.
- Жидкостные объективы 16 для быстрой фокусировки цветной камеры 15 и инфракрасной камеры 14.
- Модуль 18 НDМI-интерфейса для передачи видеоизображения в формате HD
- Модуль 19 аудиоинтерфейса.
- Модуль 20 для подключения к проводной сети LAN и беспроводной сети Wi-Fi.
- Блок питания 21.
Кроме приведенных на фиг.5 элементов, 3D-сенсор содержит:
- Микрофон для приема звуков сцены, в частности голоса пользователя, который может быть использован, например, для идентификации пользователя по голосу или для подачи дополнительных голосовых команд.
- ИК-приемник/передатчик для управления внешними устройствами.
- Модуль для подключения периферийных устройств через USB-интерфейс и SATA-интерфейс.
Назначением 3D-сенсора является получение трехмерного изображения, нахождение на снимаемой сцене пользователя, идентификация пользователя и подключение соответствующего пользовательского профиля, то есть заранее установленного для данного пользователя комплекта настроек и параметров доступа;
вычисление условной линии взгляда пользователя, проверка условия, находится ли условная точка внимания внутри одной из сенсорных областей, и при обнаружении условной точки внимания внутри сенсорной области - включение режима ожидания командных жестов, ассоциированных с данной сенсорной областью;
в случае определения командного жеста, подтвержденного взглядом на сенсорную область - выдача команды на управляемое устройство, которым в данном примере является дисплей.
Сенсорная поверхность
Для упрощения расчетов по определению расположения условной точки внимания относительно сенсорных областей в пространстве задают виртуальную плоскость, которая далее в тексте описания именуются сенсорной поверхностью. В данной реализации изобретения, сенсорная плоскость 10 (см. фиг.4) совпадает с плоскостью дисплея 5, установленного на стене 11. На прямоугольных участках сенсорной плоскости задают сенсорные области.
В зависимости от текущего состояния системы, состоящей из дисплея и 3D-сенсора, сенсорная поверхность может целиком состоять из сенсорных областей или содержать одну или несколько раздельных, смежных или взаимно перекрывающихся сенсорных областей.
Назначение сенсорной поверхности - нахождение условной точки внимания пользователя. Зная положение органа зрения и условной линии взгляда, вычисляют точку пересечения условной линии взгляда с сенсорной поверхностью и полагают ее условной точкой внимания. Зная положение условной точки внимания на сенсорной поверхности, проверяют, находится ли данная точка внутри сенсорной области. Если условная точка внимания оказывается внутри сенсорной области, 3D-сенсор ожидает от пользователя подачу жеста, единственного или одного из множества жестов, ассоциированных с этой сенсорной областью.
Сенсорная область, связанная с границей дисплея
В некоторых из режимов работы описываемой системы, на сенсорной поверхности выделяют сенсорные области, связанные с границами дисплея. Такая сенсорная область представляет собой прямоугольник на сенсорной поверхности, как правило, вытянутый вдоль границы дисплея и может включать в себя как участки сенсорной поверхности внутри дисплея, так и участки сенсорной поверхности снаружи дисплея. Связанная с границей дисплея сенсорная область может пересекать границу дисплея (см. фиг.2,б), или примыкать к границе дисплея, или лежать на некотором расстоянии от границы дисплея, как сенсорные области 1 на фиг.2,a. Сенсорная область, связанная с границей дисплея, используется для определения движения условной точки внимания поперек границы дисплея. Например, при перемещении условной точки внимания через границу дисплея в направлении снаружи дисплея - внутрь, на дисплей выводят ряд графических объектов, совокупность которых является визуализацией доступного к воспроизведению мультимедийного контента и может выполнять функцию меню.
Дополнительные условия выдачи жеста
В том режиме работы описываемой системы, в котором определение условной линии взгляда производится без учета положения руки, для выдачи командного жеста может быть поставлено более сложное условие: условную линию взгляда, направленную на сенсорную область, должна пересечь кисть руки или, как вариант, другая часть руки. Например, при жесте руки, пересекающем линию взгляда, направленную на сенсорную область, происходит визуализация мультимедийного контента, ассоциированного с данной сенсорной областью.
Получение трехмерного изображения
Получение трехмерного изображения осуществляется с помощью освещения снимаемой сцены модулированной ИК-подсветкой и последующей обработки полученной картинки. Обработка полученной картинки происходит на специализированном чипе SoC (System on chip) и блоке CPU.
Для получения модулируемой подсветки используется ЖК-панель с зеркальной подложкой, изготовленной по технологии FLCOS и источник ИК-освещения.
Для получения изображений используются матрицы с разрешением 1920×1080 и скоростью сканирования 60 кадров/сек.
Для настройки на резкость используются жидкостные объективы, обладающие большим быстродействием и большим временем наработки на отказ.
Первым результатом работы 3D-сенсора являются два потока изображений:
1. Поток с информацией о расстоянии до каждой точки изображения, называемый 3D-образом.
2. Поток с цветным изображением.
Полученный 3D-образ обрабатывается программной частью 3D-сенсора.
Программная часть 3D-сенсора содержит следующие модули:
- модуль классификации объектов и улучшения изображений;
- модуль управления доступом;
- модуль выделения частей тела;
- модуль построения общего скелета изображения;
- модуль интерпретации жестов и формирования команд.
Результатом работы программной части 3D-сенсора является распознавание пользователей, а также их движений, что является основой реализации пользовательского интерфейса на основе распознавания жестов для игровых, тренажерных и прочих интерактивных приложений.
3D-сенсор способен идентифицировать пользователя с одной из ранее зарегистрированных персон по изображению лица, проводить регистрацию нового пользователя, находить положение глаз пользователя, наклон и поворот головы, положение остальных частей тела, включая руки, ноги, пальцы рук, а именно две последние фаланги каждого видимого на изображении пальца, определять в пространстве сцены набор сенсорных областей, соответствующий текущему состоянию 3D-сенсора, обнаруживать факт присутствия условной точки внимания в одной или одновременно нескольких сенсорных областях, распознавать жест, подаваемый ногой, рукой, кистью руки или пальцами и, в зависимости от положения условной точки внимания, выдавать соответствующую команду управляемому устройству.