СПОСОБ И УСТРОЙСТВО ДЛЯ ОБНАРУЖЕНИЯ И ОТСЛЕЖИВАНИЯ В РЕАЛЬНОМ ВРЕМЕНИ ГЛАЗ НЕСКОЛЬКИХ НАБЛЮДАТЕЛЕЙ
METHOD AND APPARATUS FOR REAL-TIME DETECTING AND TRACKING EYES OF SEVERAL VIEWERS

Область техники, к которой относится изобретение
Настоящее изобретение относится к способу и устройству для бесконтактного обнаружения и отслеживания положений глаз или зрачков нескольких наблюдателей в режиме реального времени.
Входные данные содержат изображение в виде последовательности цифровых видеокадров, которые собираются одним или несколькими датчиками изображения.
Определение опорных точек глаз нескольких наблюдателей не требует использования дополнительных вспомогательных средств, таких как очки, наушники или световые указатели.
В отличие от применения в стационарном состоянии, например при контроле водителей или пилотов, где диапазон телодвижений, в частности диапазон по глубине, весьма ограничен и поэтому может считаться практически стационарным, настоящее изобретение служит для определения положения глаз в широком «прицельном» диапазоне, справляется с быстрым передвижением наблюдателя и определяет координату по глубине в относительно большом диапазоне, например от 0,5 до 3,5 м.
Эффективная и точная реализация обнаружения положения глаз в реальном времени - это основное средство сопряжения в системе «человек-машина». Основной областью применения изобретения является устройство обнаружения и отслеживания положения глаз пользователя автостереоскопических дисплеев. Такие дисплеи предоставляют наблюдателям впечатление стереоскопического изображения без использования каких-либо вспомогательных средств, таких как, например, поляризационные очки. Также изобретение применяется, например, в видеоголографии, в области обнаружения людей, лиц или направлений наблюдения.
Автостереоскопические дисплеи, в которых изображение отслеживается посредством так называемых следящих устройств, обеспечивают многочисленных наблюдателей высокой степенью мобильности в широкой области видимости.
Безошибочное обнаружение и отслеживание глаз, положения глаз или зрачков также является важным звеном системы «человек-машина» в этих видах представления изображения.
Следящие устройства, которые работают надежно и безошибочно, обычно незаметны для наблюдателей. Однако во многих случаях, при применении, ошибки системы отслеживания вызывают нежелательные побочные эффекты, которые, например, в области трехмерных приложений вызывают ошибочное восстановление изображения или перекрестные искажения. К следящему устройству предъявляются высокие требования в отношении точности, надежности и безошибочности.
Также система должна быть в достаточной мере эффективной и точной, чтобы правильно отслеживать все основные перемещения и, следовательно, позволять наблюдателю свободно перемещаться во всех трех направлениях.
Уровень техники
Известно несколько типов коммерчески доступных бесконтактных следящих систем. Простые модели обычно характеризуются базовым программным обеспечением для стандартных операционных систем и имеют стандартизованные аппаратные и программные интерфейсы.
Документ WO 03/079 902 А1 «Обнаружение и отслеживание положений глаз при различных условиях освещенности в реальном времени», Zhiuei Zhu Qiang Ji, описывает способ бесконтактного обнаружения положения глаз в реальном времени, который содержит в основном этап обнаружения положения глаз и этап отслеживания глаз. Этап обнаружения положения глаза включает в себя сочетание способа активного освещения и распознавания образов. После того как были в первый раз обнаружены глаза наблюдателя, выполняется отслеживание глаз, при этом последний этап содержит сочетание и синтез различных алгоритмов и технических средств. Несмотря на сочетание и синтез нескольких средств все же существует проблема, состоящая в том, что значительные и резкие перемещения головы во всех трех направлениях не смогут быть отслежены в реальном времени, а обработке данных в реальном времени может препятствовать задержка по времени между предоставлением данных о положении и получением изображения. В частности, это относится к обнаружению положения глаза в направлении глубины при неблагоприятных условиях окружающей среды.
В автомобиле, например, лицо водителя всегда расположено в пределах предсказуемого расстояния относительно приборной панели. Более того, в вертикальном и горизонтальном направлении имеются лишь небольшие изменения положения. В частности, очень мал диапазон движения в направлении глубины, так что обычно положение по глубине может быть экстраполировано с достаточной точностью, даже если используется только одна камера.
Цель настоящего изобретения - обеспечить широкий диапазон перемещения по всем трем измерениям наблюдаемого пространства при малом времени вычислений. В отличие от упомянутого аналога определение положения глаз производится в трех измерениях, включая глубину. Предпочтительно, диапазон по глубине является широким и составляет от 0,5 до по меньшей мере 3,5 м. Для определения глубины, с одной стороны, требуется большое количество независимо расположенных камер для осуществления возможности захвата изображений целевой области с различных перспектив. Более того, для определения положения глаз на расстоянии вплоть до нескольких метров требуются камеры, имеющие высокую разрешающую способность, что приводит к большому числу данных в расчете на одну камеру и на один видеокадр.
Проблема обработки большого количества данных в реальном времени становится особенно важной, когда имеется несколько наблюдателей, подлежащих обнаружению. Особенно большие объемы вычислений требуют этапы процесса обработки при обнаружении наблюдателей, которых трудно различить из-за влияния освещения, отражения или очковых линз. Практика показывает, что обнаружение третьего или четвертого человека, который частично скрыт или который стоит несколько в стороне, часто может быть достигнуто только с помощью обширной, требующей больших затрат времени вычислительной работы. Однако необходимая вычислительная работа для обнаруживаемого в настоящий момент с большим трудом наблюдателя не должна негативно сказываться на слежении в реальном времени за остальными наблюдателями.
Проблемы, возникающие при обнаружении положения глаз, заключаются в том, что входные видеокадры не могут больше непрерывно обрабатываться в режиме реального времени. Максимально допустимое время вычислений в расчете на человека и в расчете на кадр может быть превышено, если, например, глаза закрыты очковыми линзами или наушниками или если наблюдатель резко отворачивается от камер хотя бы только на мгновение.
Учитывая недостатки аналога, целью настоящего изобретения является создание способа, позволяющего определять положения глаз большого количества наблюдателей в реальном времени, даже если наблюдатель(и) производит энергичные резкие движения головы во всех трех измерениях.
Способ позволяет обнаруживать положения глаз в широкой целевой области, компенсировать резкие движения наблюдателей и определять координату по глубине в широком диапазоне.
Более того, при минимизации числа ошибок время запаздывания между приемом изображения, которым является считывание видеокадра, и выдачей результата, которой является предоставление данных о положении глаз, должно резко сокращаться. Кроме того, способ позволит достигнуть безошибочных результатов в режиме реального времени, даже если используются камеры с высокой разрешающей способностью.
Раскрытие изобретения
Способ применяется для обнаружения и отслеживания опорных точек глаз множества наблюдателей в режиме реального времени. Входные данные содержат данные изображения в виде последовательности цифровых видеокадров, которые получают одним или несколькими датчиками изображения, например камерой. Опорными точками глаз являются положения зрачков и/или уголков глаз.
Способ содержит совместное действие инстанций определителя лиц для обнаружения лиц, за которым следует иерархически зависимая инстанция определителя глаз для обнаружения области глаз, и инстанция отслеживания глаз для обнаружения и отслеживания опорных точек глаз. Инстанция отслеживания глаз является иерархически зависимой от инстанции определителя глаз. «Инстанцией» обозначается подпрограмма, реализующая конкретную задачу - обнаружение лица, обнаружение положения глаза наблюдателя в видеокадре и др. Соответствующая инстанция является конкретной реализацией определенного программного образца (объекта).
Изобретение основывается на идее, что поиск положения глаза реализовывается в пределах иерархически организованной стандартной программы, которая предназначается для постепенного сокращения области поиска, начиная с полного видеоизображения. Режим реального времени достигается вследствие иерархического постепенного уменьшения и разделения области поиска, начиная с полного видеокадра для инстанции определителя лица к уменьшенной целевой области лица для инстанции определителя глаза или инстанции отслеживания глаза. Кроме того, инстанция или группа инстанций в каждом случае выполняется в специализированном вычислительном блоке, причем отдельные операции выполняются параллельно.
Инстанция определителя лица осуществляет поиск положения головы или лица каждого наблюдателя в области полного видеоизображения. Инстанция, таким образом, определяет из данных полного видеоизображения, которое представляет соответствующую целевую область лица, намного меньшее количество данных для каждого лица, и предоставляет эту ограниченную область инстанции определителя глаза.
Инстанция определителя глаз является иерархически зависимой по отношению к инстанции определителя лица. Из данных целевой области лица инстанция определителя глаза должно обрабатываться только значительно сокращенное количество данных. Используя эти данные, инстанция обнаруживает положение глаза или глаз и выделяет целевую область глаз с намного меньшим количеством данных по сравнению с целевой областью лица. И только эта ограниченная область поиска предоставляется следующей иерархически зависимой инстанции отслеживания глаза.
Затем инстанция отслеживания глаза с высокой скоростью определяет в значительно уменьшенном количестве данных области поиска глаза требуемые опорные точки глаза. Иерархически сокращая области поиска и объем данных, инстанция отслеживания глаза работает очень эффективно и быстро.
В соответствии с настоящим изобретением для сокращения общего времени задержки процесса инстанция определителя лица и инстанция определителя/отслеживания глаза должны выполняться независимо друг от друга в отдельных параллельных процессах. Параллельный принцип, осуществляющийся посредством предоставления инстанции или группы инстанций в специализированный вычислительный блок, может быть осуществлен в нескольких вариантах реализации.
В наиболее предпочтительном варианте реализации изобретения одна инстанция определителя лица для каждой камеры выполняется в специализированном вычислительном блоке. Затем каждому наблюдателю, который обнаружен инстанцией определителя лица, назначается специализированный вычислительный блок для реализации инстанции определителя глаза и, затем, инстанции отслеживания глаза. Если инстанция определителя лица обнаруживает новое лицо, то инстанция определителя глаза и инстанция отслеживания глаза получают команду или инициализируются немедленно, и эти инстанции будут выполняться в специализированном, специально назначенном вычислительном блоке. Немедленное отслеживание после обнаружения лица также осуществляется для лиц, которые были потеряны в течение короткого периода, но были обнаружены вновь.
Главное преимущество этого изобретения состоит в том, что инстанция определителя лица никоим образом не блокируется или задерживается, поскольку зависимые инстанции теперь выполняются в специализированных вычислительных блоках. Инстанция определителя лица продолжает искать лица в данных текущего видеокадра, при этом сохраняются все другие компьютерные ресурсы. Промежуточные и частичные результаты поиска, которые были определены, передаются в инстанцию управления для дальнейшей обработки/распределения или частичные результаты, предоставленные инстанциями отслеживания/определителя глаза, принимаются инстанций управления, чтобы обеспечить возможность экстраполировать целевые области в положительном цикле управления.
Обеспечиваемое настоящим способом немедленное выполнение инстанций существенно сокращает время ответной реакции и формирует первое основание для работы в реальном времени.
Также работа в реальном времени обеспечивается за счет постепенного иерархического сокращения и деления области поиска, начиная с полного видеоизображения для инстанции определителя лица до сокращенной целевой области лица для инстанции определителя глаза или инстанции отслеживания глаза.
И, наконец, в соответствии с изобретением работа в реальном времени также обеспечивается и гарантируется посредством выполнения инстанции или группы инстанций параллельно в отдельных процессах в специализированных вычислительных блоках. Также возможны другие варианты в отношении параллельности инстанций. Как указывалось выше, инстанция определителя лица и инстанция определителя/отслеживания глаза может быть выполнена в специализированных вычислительных блоках. Кроме того, инстанция определителя лица/определителя глаза может быть выполнена в специализированных компьютерных блоках. Очевидно также, что возможно также выполнять инстанцию определителя глаза в специализированном компьютерном блоке. Однако это - инстанция, для выполнения которой требуется относительно мало вычислительного времени, поэтому предпочтительно для нее использовать один из вычислительных блоков, используемых для инстанций определителя лица или отслеживания глаза, требующих большого объема вычислений.
Управление и контроль инстанций и обмена данными между инстанциями предпочтительно осуществляют с помощью инстанции управления. В частности, эта инстанция управляет предоставлением обнаруженных лиц или целевых областей лица в инстанции определителя глаза/отслеживания глаза в специализированых вычислительных блоках. Обмен данными включает, в основном, повторную инициализацию инстанций путем предоставления областей поиска, обмен промежуточными и окончательными результатами инстанций и передачу в итоге опорных точек глаз на внешний интерфейс.
Например, инстанция управления обновляет и повторно инициализирует инстанции определителя глаза и отслеживания глаза, соответствующие уже отслеженному лицу. Инстанция управления выбирает, проверяет и оценивает достоверность найденных целевых областей лица и целевых областей глаза. Соответствующие оценочные параметры определяются инстанциями в ходе процесса и используются инстанцией управления для осуществления оптимального управления процессом выполнения инстанций, а также распределения имеющихся вычислительных блоков.
Предлагаемый способ позволяет обнаружить положение глаза множества наблюдателей в реальном времени, даже если наблюдатели совершают сильные и резкие движения головой по всем трем измерениям. Проверено, что с помощью способа можно добиться работы в режиме реального времени с данными камер с высокой разрешающей способностью.
Краткое описание чертежей
Следующие чертежи иллюстрируют варианты реализации способа согласно изобретению при использовании в сочетании со следящим устройством для автостереоскопичекого дисплея.
Фиг.1 - схематическое представление разделенных, уменьшенных областей поиска инстанций определителя лица, определителя глаз и отслеживания глаз.
Фиг.2 - блок-схема параллелизации иерархически структурированных инстанций способа в соответствии с изобретением.
Фиг.3 - расположение компонентов устройства согласно изобретению и блок-схема параллелизации иерархически структурированных инстанций способа в соответствии с изобретением.
Осуществление изобретения
Фиг.1 представляет разделенные уменьшенные области поиска инстанций согласно настоящему способу. Изображения в виде последовательности цифровых видеокадров VF множества датчиков изображения, например инфракрасной стереокамеры, получают в качестве входных данных. Фиг.1 схематически показывает часть полного видеокадра VF, определяемого системой координат.
Первая инстанция определителя лица анализирует данные полного видеокадра VF и обнаруживает в полном видеокадре лица наблюдателей. На фиг.1 показаны данные двух лиц. Очевидно, первое лицо (левое) расположено около камеры, в то время как второе лицо (правое) находится на большем расстоянии от камеры.
Инстанция определителя лица выбирает из данных полного видеокадра VF для каждого обнаруженного лица уменьшенную область данных, которая соответствует целевой области GZ лица. Индексы относятся к первому лицу, показанному на фигуре слева. Выбранная целевая область GZ лица формирует уменьшенную область поиска для последующей инстанции определителя глаза. Инстанция определителя глаза выбирает в этой области поиска положение глаза и в результате еще больше сокращает количество данных целевой области GZ лица для получения существенно меньшего количества данных, соответствующих целевой области AZ глаза.
Данные целевой области AZ глаза, содержащие положения глаз, являются входными данными для последующей инстанции ЕТ отслеживания глаза, которая определяет в качестве результата вычислений опорные точки глаза в целевой области AZ глаза в текущем видеокадре, а также в отслеженной целевой области AZ глаза в последующих видеокадрах в соответствии с уже определенной последовательностью движения.
Информация об опорных точках предыдущих видеокадров в соответствии с движением наблюдателя используется для отслеживания и актуализации целевой области AZ глаза и экстраполяции областей в текущем и последующем видеокадрах. Если наблюдатель передвигается в направлении глубины, содержание изображения дополнительно может быть изменено в размере.
Как показано на фиг.1, целевая область глаза может содержать несколько раздельных частей. Как показано на фиг.1, эти целевые области имеют неправильную, но предпочтительно выпуклую форму, в зависимости от положения головы наблюдателя и его направления наблюдения. В простом варианте реализации эти области представляются списком параметризованных геометрических поверхностей, таких как эллипсы, круги или прямоугольники.
Фиг.2 основывается на последнем варианте и показывает блок-схему параллелизации инстанций. Фиг.2 показывает иерархическую структуру инстанции FF определителя лица, инстанции EF определителя глаза и инстанции ЕТ отслеживания глаза и распределение по специализированным вычислительным блокам R1-R2.
В этом варианте использованы три вычислительных блока R1-R3. Первый вычислительный блок R1 предназначен для инстанции FF определителя лица. Эта инстанция обнаруживает лицо первого наблюдателя в данных видеокадра и определяет целевую область GZ лица. Далее специализированному вычислительному блоку R1 мгновенно предоставляется целевая область лица с целью выполнения инстанции определителя глаза и, после этого, инстанции отслеживания глаза.
На фиг.2 показан поток данных уменьшенных целевых областей, т.е. целевой области GZ лица и целевой области AZ глаз для последующих инстанций соответственно. Инстанция ЕТ отслеживания глаза предоставляет данные опорных точек глаза в инстанцию управления с более высоким уровнем (не показан) или на внешний интерфейс. В это же самое время информация об опорных точках, обнаруженных в предшествующих видеокадрах, используется для отслеживания целевой области AZ глаз и для экстраполяции ее для последующих кадров при передвижении наблюдателя. Данные текущей целевой области глаз и областей предшествующих кадров, таким образом, используются снова в инстанции ЕТ отслеживания глаза, как показано на фиг.2.
Второй наблюдатель обнаруживается и отслеживается таким же образом. Если имеется больше наблюдателей, чем вычислительных блоков, то инстанция определителя/отслеживания глаза предпочтительно выполняется для каждого наблюдателя (или, другими словами, для каждой целевой области лица), в виде независимого, обрабатываемого параллельно процесса, причем, естественно, множество процессов выполняется в общем вычислительном блоке.
На фиг.3 представлены схема расположения элементов и логическая блок-схема параллелизации иерархически структуированных инстанций на примере видеоданных с множества камер в разных позициях. Для обнаружения и отслеживания глаза работа каждой камеры основывается на способе согласно вышеописанным вариантам его реализации. Таким образом, каждая камера ставится в соответствие со способом параллелизации инстанций, как показано на фиг.1 и фиг.2.
Левая система обнаруживает на основании видеоданных VFL с левой стороны (видеоданные левые) целевую область GZ1-L лица первого наблюдателя с помощью инстанции FF определителя лица, выполняемой в первом вычислительном блоке R1. Соответствующая инстанция EF определителя глаза и инстанция ЕТ отслеживания глаза выполняются в вычислительном блоке R2. Что касается рассматриваемого устройства, то эти вычислительные блоки обычно конфигурированы в виде центральных процессоров (CPUs) или цифровых сигнальных процессоров (DSPs).
Вторая группа инстанций, выполняемых в вычислительном блоке R3, относится ко второму наблюдателю. Другие инстанции и вычислительные блоки, показанные на фиг.3, которые обозначены как VFR (видеокадр правый) и содержащие индекс R, относятся к правостороннему изображению и соответствующим инстанциям или элементам устройства.
Блок управления, не показан, осуществляет управление отдельными процессами и организацию обмена данными во время процесса. Обмен данными происходит, в частности, между вычислительными блоками, которые относятся к одному наблюдателю. Например, уже имеющаяся в распоряжении информация левого изображения используется для определения и экстраполирования положения в правом изображении, информационное наполнение которого несущественно отличается от левого изображения в пределах допускаемых отклонений. Трансформация частичных результатов может основываться на х-у пиксельном положении глаза в левом изображении, расстоянии до наблюдателя, которое определено при предыдущем вычислении глубины, и параметров камеры. Например, данные целевой области AZ1-L глаза, обнаруженной в левой половине изображения, служат входным параметром для правой половины изображения AZ1-R и трансформируются, если необходимо. Тогда имеется возможность использовать другие алгоритмы или другие управляющие параметры, чем те, что использовались для процесса с левой стороны.
Информация, требуемая для этого вычисления, содержит, главным образом, такие параметры, как разрешающая способность и шаг элемента изображения камер, фокусное расстояние линзы объектива, расстояние между изображением, сформированным линзой объектива, и камерой, а также расстояние и ориентация камер.
Устройство содержит, в основном, коммуникационные компоненты, программируемые логические модули, процессоры, постоянные запоминающие устройства (ROM) и оперативные запоминающие устройства (RAM). Вычислительные блоки предпочтительно оптимизированы и конфигурированы для заданных целей, в частности для вышеупомянутых инстанций. Также в предпочтительном варианте устройство дополнительно содержит специализированные вычислительные блоки для выполнения вспомогательных процессов, таких как изменение размера, коррекция градации тонов на изображении и т.п.