ОТСЛЕЖИВАНИЕ ВЫРАЖЕНИЯ ЛИЦА
FACIAL EXPRESSION TRACKING

Уровень техники
[0001] Различные носимые устройства представлены на рынке для конкретных целей. Например, интеллектуальные очки и дисплеи, устанавливаемые на голове, могут определять, на что смотрит пользователь. Однако, эти устройства не предоставляют полезный вид пользователя, после того как устройство спозиционировано напротив пользователя и имеет направленные наружу камеры и/или камеры, направленные на глаза пользователя для отслеживания глаз. Настоящие концепции могут предлагать дополнительную функциональность на носимом устройстве посредством предоставления полезных видов пользователя, даже когда камеры расположены очень близко к пользователю.
Сущность изобретения
[0002] Описание относится к отслеживанию выражения лица. Один пример может включать в себя структуру ориентации, сконфигурированную, чтобы позиционировать носимое устройство относительно лица пользователя. Пример может также включать в себя камеру, закрепленную посредством структуры ориентации параллельно или под небольшим углом к лицу пользователя, чтобы захватывать изображения по всему лицу пользователя. Пример может дополнительно включать в себя процессор, сконфигурированный, чтобы принимать изображения и преобразовывать (сопоставлять) изображения в параметры, ассоциированные с моделью аватара.
[0003] Вышеприведенный пример предназначен, чтобы обеспечивать быстрое ознакомление, чтобы помогать читателю, и не предназначен, чтобы определять рамки концепций, описанных в данном документе.
Краткое описание чертежей
[0004] Сопровождающие чертежи иллюстрируют реализации концепций, передаваемых в настоящем документе. Признаки иллюстрированных реализаций могут быть легко поняты посредством ссылки на последующее описание, взятое вместе с сопровождающими чертежами. Аналогичные ссылочные номера на различных чертежах используются повсюду, где возможно, чтобы указывать аналогичные элементы. Дополнительно, самая левая цифра каждого ссылочного номера передает чертеж и ассоциированное обсуждение, где ссылочный номер впервые вводится.
[0005] Фиг. 1 и 4-5 показывают примеры носимых интеллектуальных устройств в соответствии с некоторыми реализациями настоящих концепций.
[0006] Фиг. 2-3 показывают примеры сценариев визуализации в соответствии с некоторыми реализациями настоящих концепций.
[0007] Фиг. 6 - это примерный процесс визуализации в соответствии с некоторыми реализациями настоящих концепций.
[0008] Фиг. 7-11B показывают аспекты примерных систем визуализации более подробно в соответствии с некоторыми реализациями настоящих концепций.
[0009] Фиг. 12 показывает примерную систему визуализации в соответствии с некоторыми реализациями настоящих концепций.
Обзор
[00010] Описание относится к захвату полезной визуальной информации о пользователе, такой как информация о выражении лица, с камер, расположенных очень близко и/или под очень небольшими углами к пользователю. Концепции могут быть реализованы на различных носимых интеллектуальных устройствах, которые используют камеры с малым углом.
[00011] Один аспект настоящих концепций включает в себя способность получать полезную информацию из изображений с малым углом пользователя. Например, камера или камеры могут быть расположены близко к пользователю и захватывать изображения, которые почти параллельны лицу пользователя. Обычно такие изображения будут иметь небольшую ценность. Настоящие реализации могут получать полезную информацию из этих изображений. Полезная информация может быть использована в различных целях, например, чтобы управлять аватаром пользователя реалистичным образом.
[00012] Вводный фиг. 1 показывает примеры нескольких носимых интеллектуальных устройств 102. В этом случае носимое интеллектуальное устройство 102(1) показано как интеллектуальный головной убор, носимое интеллектуальное устройство 102(2) показано как интеллектуальная головная повязка, носимое интеллектуальное устройство 102(3) показано как интеллектуальные очки, а носимое интеллектуальное устройство 102(4) показано как интеллектуальный микрофон. Конечно, рассматриваются другие примеры. Носимые интеллектуальные устройства 102 могут включать в себя один или более датчиков. В этом примере датчики показаны как камера 104 с малым углом, камера 106 отслеживания глаз и/или микрофон 108. (Отметим, что носимые интеллектуальные устройства 102(1) и 102(3) включают в себя как камеру с малым углом, так и камеру отслеживания глаз. В отличие от этого, носимые интеллектуальные устройства 102(2) и 102(4) не включают в себя камеру отслеживания глаз). Камеры могут быть камерами видимого света и/или инфракрасными камерами, и/или камерами глубины, среди прочего. Функциональные возможности этих элементов объясняются ниже. Носимые интеллектуальные устройства могут также включать в себя структуру 110 ориентации. Структура ориентации может быть показана как оправа, повязка, козырек или другая структура, которая помогает поддерживать позицию и/или ориентацию датчиков относительно пользователя. Как упомянуто выше, некоторые иллюстрированные реализации используют как камеру 104 с малым углом, так и камеру 106 отслеживания глаз. Другие реализации могут использовать одну камеру, которая может захватывать данные, которые в ином случае будут подаваться посредством двух камер. Например, камера 104 с малым углом с линзой "рыбий глаз" может быть использована, чтобы захватывать фрагменты лица пользователя, такие как глаз, рот, щека и/или челюсть.
[00013] Резюмируя, носимые интеллектуальные устройства становятся все более распространенными. Носимые интеллектуальные устройства зачастую включают в себя камеры. Однако, поскольку камеры находятся так близко к пользователю и/или позиционируются в необычных ориентациях, камеры не могут предоставлять полезные изображения пользователя, особенно лица пользователя. Настоящие реализации могут позиционировать эти камеры и обрабатывать их изображения способом, который создает полезную информацию о выражении лица пользователя, движениях рта, миганиях глаза, направлении взгляда глаза и т.д.
[00014] Фиг. 2 показывает сценарий использования, который подразумевает 'первого пользователя', носящего носимое интеллектуальное устройство 102(1), и 'второго пользователя', носящего носимое интеллектуальное устройство 102(2), и два устройства 202(1) и 202(2) отображения. Предположим, что первый пользователь находится в первом местоположении поблизости от устройства 202(1) отображения, а второй пользователь находится во втором местоположении, отделенном от первого местоположения некоторым расстоянием, и что второй пользователь находится поблизости от устройства 202(2) отображения. В этом примере (как показано на фиг. 1), носимое интеллектуальное устройство 102(1) включает в себя камеру 104(1) с малым углом и другую камеру (например, камеру отслеживания глаз) 106(1), направленную на глаз первого пользователя. Носимое интеллектуальное устройство 102(2) включает в себя камеру 104(2) с малым углом.
[00015] В этом сценарии носимое интеллектуальное устройство 102(1) может захватывать изображения первого пользователя. Эти изображения могут быть использованы, чтобы управлять представлением первого пользователя. В этом случае представление первого пользователя показано как аватар 204(1) первого пользователя, который представляется на устройстве 202(2) отображения, которое находится поблизости от второго пользователя. Аналогично, носимое интеллектуальное устройство 102(2) может захватывать изображения второго пользователя. Эти изображения могут быть использованы, чтобы управлять представлением второго пользователя. В этом случае представление второго пользователя показано как аватар 204(2) второго пользователя, который представляется на устройстве 202(1) отображения, которое находится поблизости от первого пользователя. В этом сценарии пользователи могут связываться друг с другом, и их соответствующие аватары могут отражать движения их глаз, выражения лиц, движения челюстей и/или движения рта (такие как вызванные произношением) друг другу.
[00016] Аватары 204 могут быть показаны в любой форме, такой как рисованный персонаж или сгенерированный компьютером персонаж, который захватывает движения глаза, выражения лица и/или движения рта, но необязательно похож на пользователя. В других реализациях аватар может быть реалистичным представлением (например, увеличенным фотореалистичным изображением) пользователя. Возможность видеть соответствующие аватары во время обсуждения может обеспечивать более оживленное и приятное обсуждение, чем только голосовая связь. Например, возможность видеть реакцию другого пользователя во время обсуждения может обеспечивать обратную связь, которая имитирует беседу лицом к лицу.
[00017] Отметим также, что в то время как только два пользователя вовлечены в сценарии на фиг. 2, другие реализации могут вовлекать дополнительных пользователей. Дополнительно, поскольку камера 104 с малым углом и/или камера 106 отслеживания глаз могут отслеживать глаза пользователя, реализации могут различать, на какого пользователя смотрят отдельные пользователи (например, первый пользователь и второй пользователь смотрят на аватар третьего пользователя). Эта информация может быть отражена в аватаре пользователя и может быть полезной частью процесса связи точно также как в сценариях групповой беседы лицом к лицу.
[00018] Фиг. 3 показывает другой сценарий использования, который аналогичен сценарию использования на фиг. 2. Этот конкретный сценарий использования затрагивает два набора носимых интеллектуальных устройств 102(3)(A) и 102(3)(B). Хотя явно не показано, предположим, что носимые интеллектуальные устройства носятся первым пользователем и вторым пользователем на фиг. 2. Аналогично обсуждению выше относительно фиг. 2, носимое интеллектуальное устройство 102(3)(A) может захватывать изображения с малым углом для первого пользователя и использовать данные изображения, чтобы управлять представлением (например, аватаром 204(1)) первого пользователя, которое может быть отображено для второго пользователя. Аналогично, носимое интеллектуальное устройство 102(3)(B) может выполнять ту же функцию относительно второго пользователя, чтобы управлять представлением (например, аватаром 204(2)) второго пользователя, которое может быть отображено для первого пользователя.
[00019] Таким образом, носимое интеллектуальное устройство 102(3)(A) показывает, что первый пользователь видит аватар 204(2) второго пользователя, когда смотрит через носимое интеллектуальное устройство 102(3)(A), и носимое интеллектуальное устройство 102(3)(B) показывает, что второй пользователь видит аватар 204(1) первого пользователя, когда смотрит через носимое интеллектуальное устройство 102(3)(B). Вкратце, носимые интеллектуальные устройства 102(3)(A) и 102(3)(B) иллюстрируются с точки зрения первого пользователя и второго пользователя, хотя пользователи сами не показаны. Носимые интеллектуальные устройства 102(3)(A) и 102(3)(B) могут захватывать информацию изображения о владельце, которая используется, чтобы управлять аватаром владельца (например, пользователя). Аватар показывается посредством носимого интеллектуального устройства другого пользователя, которое одновременно захватывает данные изображения для управления аватаром этого пользователя. Иначе говоря, аватар 204(2) второго пользователя отображается для первого пользователя посредством носимого интеллектуального устройства 102(3)(A). Аналогично, аватар 204(1) первого пользователя отображается для второго пользователя посредством носимого интеллектуального устройства 102(3)(B). Таким образом, эта реализация может предоставлять автономное носимое интеллектуальное устройство, которое обеспечивает видеовызов и/или другие использования.
[00020] Фиг. 4 и 5 показывают вид спереди и вид сбоку, соответственно, третьего пользователя. В этом случае, 'третий пользователь' носит носимое интеллектуальное устройство 102(3) (например, интеллектуальные очки) и носимое интеллектуальное устройство 102(4) (например, интеллектуальный микрофон, прикрепляемый к одежде). В этом случае, третий пользователь носит два носимых интеллектуальных устройствах в целях объяснения. Альтернативно, пользователь может использовать одно из двух этих носимых интеллектуальных устройств без другого. Фиг. 4-5 также показывают базовую плоскость 402, которая может помогать иллюстрировать пример того, что обозначается термином "камера с малым углом" в настоящем обсуждении. В этой реализации базовая плоскость 402 проходит через или включает в себя переднюю сторону глаз пользователя и рта пользователя.
[00021] В этом примере камеры 104 с малым углом могут быть ориентированы под углом менее чем приблизительно +/- 45 градусов относительно базовой плоскости 402 (например, камеры с малым углом могут захватывать изображения, в целом, параллельно поверхности лица пользователя). В отличие от этого, традиционные камеры, такие как используемые в интеллектуальном телефоне, планшете или системе видеоконференции, сконфигурированы, чтобы быть ориентированными, в целом, перпендикулярно базовой плоскости 402, и не могут захватывать значащую информацию изображения с малых углов.
[00022] В этом примере камера 104(3) с малыми углами для носимого интеллектуального устройства 102(3) позиционируется, в целом, в или близко к базовой плоскости 402 и конфигурируется, чтобы захватывать изображения, представленные стрелками 404 в направлении вдоль или параллельно базовой плоскости. Аналогично, камера 104(4) с малыми углами для носимого интеллектуального устройства 102(4) позиционируется, в целом, в или близко к базовой плоскости 402 и конфигурируется, чтобы захватывать изображения, представленные стрелками 406 в направлении вдоль или параллельно базовой плоскости 402.
[00023] Фиг. 6 показывает примерную последовательность 600 операций процесса для осуществления настоящих концепций. В целях объяснения, последовательность 600 операций процесса может быть разделена на стадию 602 обучения и стадию 604 применения. Стадия обучения может строить модель аватара для пользователя на этапе 606. Как упомянуто выше, аватар может быть фотореалистичной или некоторой другой формой. Аватар пользователя может быть определен через модель 608 аватара. Модель аватара может включать в себя множество лицевых параметров или параметров анимации, таких как соответствующие взгляду глаза, движения рта и т.д. Дополнительно, процесс может обучаться для корреляции между сенсорными входными данными и параметрами анимации аватара на этапе 610, чтобы создавать соответствие 612. Эта часть последовательности операций процесса может быть осуществлена посредством одновременной регистрации пользователя с носимым интеллектуальным устройством (например, с датчиками на носимом интеллектуальном устройстве) и другим устройством формирования изображения, таким как камера типа "красный, синий, зеленый плюс глубина" (RGBD). RGBD-камера может быть в обычной (как правило, перпендикулярной к плоскости 402 на фиг. 4) ориентации. Действия пользователя могут быть захвачены посредством интеллектуального устройства, такого как камера с малым углом, микрофон и/или другие датчики (см. фиг. 1), и посредством RGBD-камеры. Соответствие 612 может соотносить конкретные действия пользователя для пользователя, которые захватываются посредством RGBD-камеры и носимого интеллектуального устройства, с конкретными параметрами анимации аватара.
[00024] Стадия 604 применения может быть осуществлена исключительно с помощью носимого интеллектуального устройства. В этом случае различные типы данных 614 датчика могут быть собраны посредством носимого интеллектуального устройства. В этом примере данные 614 датчика могут включать в себя видеоданные, аудиоданные и/или контактные данные, среди прочего, в зависимости от конфигурации датчика носимого интеллектуального устройства. (Контактные данные могут быть собраны посредством датчика в соприкосновении с кожей пользователя, который обнаруживает движение кожи, мышечное сокращение и т.д.). Данные 614 датчика могут быть обработаны на этапе 616, чтобы получать входные данные 618 датчика. Входные данные 618 датчика могут быть преобразованы в параметры анимации аватара на этапе 620 с помощью модели 608 аватара и соответствия 612 со стадии 602 обучения. Этот аспект выводит параметры 622 анимации аватара для стадии 604 применения. Параметры 620 анимации аватара (и модели 608 аватара) могут быть отправлены по сети 624 для удаленного воспроизведения аватара и анимации на этапе 626. Конкретные аспекты последовательности 600 операций процесса описываются более подробно ниже относительно фиг. 7-12.
[00025] Вкратце, настоящие концепции могут охватывать систему для отслеживания выражения лица на основе установленных на теле, направленных внутрь (например, отслеживающих глаза) и/или имеющих малый угол камер. Изображения с этих камер могут быть использованы так, что пользователь может быть представлен с помощью анимированных аватаров на удаленной стороне.
[00026] Фиг. 7 показывает примерную систему 700, которая может обеспечивать отслеживание выражения всего лица с носимого интеллектуального устройства 102(3). (Фиг. 7 является отчасти избыточным для фиг. 6, но имеет отличный акцент, который помогает объяснять концепции, введенные относительно фиг. 6). В целях объяснения, система 700 делится на столбец 701(1) входных данных и столбец 701(2) выходных данных.
[00027] В этом случае система 700 включает в себя эталонную камеру, такую как камера видимого света (например, камера 702 черного и белого или красного, зеленого, синего (RGB)) или красного, зеленого, синего цвета+глубины (RGBD). Одним примером такой камеры глубины является камера глубины Kinect Brand, предложенная корпорацией Microsoft. RGBD-камера 702 может быть ориентирована по направлению к пользователю обычным образом (например, как правило, направлена на пользователя перпендикулярно базовой плоскости, описанной выше относительно фиг. 4-5). (Отметим, что в иллюстрации на фиг. 7 пользователь обращен лицом вперед, а RGBD-камера 702 обращена в бок пользователя. RGBD-камера будет фактически находиться спереди пользователя (например, расположена, чтобы захватывать изображения анфас пользователя).
[00028] Во время стадии 602 обучения RGBD-камера 702 может захватывать изображения 704 анфас. Аналогично, камера 104(3) с малым углом носимого интеллектуального устройства и камера 106(3) отслеживания глаз захватывают изображения 706 и 708, соответственно, пользователя одновременно с RGBD-камерой 702. Отметим, что вследствие масштаба чертежа эти элементы трудноразличимы на фиг. 7, но без труда видимы на фиг. 1, 4 и 5. Вследствие ограниченного поля обзора камеры 104(3) с малым углом и камеры 106(3) отслеживания глаз, только часть лица пользователя видна в каждой камере 104(3) и 106(3). В частности, камера 104(3) с малым углом направлена на низ щеки по направлению к рту и подбородку, как указано в изображениях 706, в то время как камера 106(3) отслеживания глаз направлена на глаз пользователя, как указано посредством изображений 708. (Отметим, что иллюстрированные изображения являются показательными в целях объяснения и не предназначены быть ограничивающими. Дополнительно, тип линзы, используемой в камере с малым углом, может влиять на изображения, также как и угол ориентации по отношению к пользователю. Например, линзы "рыбий глаз" могут захватывать больше лица пользователя в данной ориентации, чем стандартная линза. В такой реализации может быть использована одна камера 104(3) с малым углом, которая захватывает глаз и рот в изображениях 706 и не использует два набора изображений (например, не использует изображения 708 или камеру, которая захватывает их).
[00029] В еще одной реализации другие данные датчика могут дополнять данные изображения с камеры 104(3) с малым углом. Например, вспомним, что фиг. 6 указывал различные другие формы данных 614 датчика помимо изображений (например, видео), например, аудиоданные и/или контактные данные пользователя могут быть использованы. В таком случае камера 104(3) с малым углом может быть лишь камерой на интеллектуальном носимом устройстве. Камера 104(3) с малым углом может захватывать глаз пользователя и щеку, но не рот, например. В таком случае, аудиоданные с микрофона (см. микрофон 108, на фиг. 1) могут захватывать аудиоданные, которые могут быть использованы в построении 606 модели. Например, отдельные звуки, издаваемые пользователем, могут быть преобразованы в отдельные значения параметра аватара, относящиеся к движениям рта и/или выражению лица, во время стадии 602 обучения. Таким образом, аудиоданные могут быть использованы для некоторых из параметров аватара, и данные изображения с камеры 104(3) с малым углом могут быть использованы для других параметров аватара.
[00030] В иллюстративной конфигурации, во время стадии 602 обучения, потоки изображений части лица с двух камер 104(3) и 106(3) носимого интеллектуального устройства 102(3) могут быть использованы, чтобы оценивать полное выражение лица пользователя, когда оценивается в свете изображений 704 анфас. Оценка может включать в себя информацию о множестве параметров выражения лица. Множество параметров выражения лица могут быть использованы, чтобы управлять анимированным аватаром 710 пользователя. Например, некоторые реализации могут использовать алгоритм отслеживания выражения лица на основе глубины, чтобы автоматически собирать обучающие данные для пользователя. Множество алгоритмов машинного обучения могут затем быть использованы, чтобы строить модели для того, чтобы оценивать параметры выражения лица, из обучающих данных. Среди многих возможных способов, могут быть использованы гребневая регрессия, изучение признака многозадачности и/или сверточные нейронные сети, среди прочего.
[00031] Иначе говоря, во время стадии 602 обучения набор обучающих изображений (например, видеозаписей), захваченных посредством носимого интеллектуального устройства 102(3), и соответствующие выражения лица в реальной ситуации (например, изображения 704) с RGBD-камеры 702 могут быть использованы, чтобы строить модель аватара (608 на фиг. 6), которая описывает их соотношение. Отметим, что, в то время как изображения реальной ситуации получаются с помощью RGBD-камеры в этой реализации, другие реализации могут использовать другие типы датчиков или камер. Например, изображения реальной ситуации могут быть получены с помощью стандартной RGB-камеры, инфракрасной камеры и/или другого типа датчика. На стадии 604 применения модель может быть использована, чтобы сопоставлять входные изображения 706(1) и 708(1) (например, потоки видеопар) с носимого интеллектуального устройства с набором параметров выражения лица, которые могут быть использованы, чтобы управлять аватаром 710(1) на удаленной стороне. Конкретные аспекты, которые внесены на рассмотрение выше относительно фиг. 6-7, описываются более подробно ниже.
Получение данных
[00032] Вспомним из фиг. 4-5, что в этой реализации камеры носимого интеллектуального устройства 102(3) позиционируются ассиметрично (например, камера 104(3) с малым углом направлена параллельно лицу по направлению ко рту, а камера 106(3) отслеживания глаз направлена на глаз пользователя). Одной мотивацией для асимметрии является то, что только одна камера используется, чтобы захватывать лишние части лица (например, взгляд может быть, главным образом, описан посредством положения одного глаза), но части лица, которые могут быть асимметричны, такие как щеки, захватываются посредством двух камер. Конечно, другие конфигурации, такие как три или более камер в симметричных и/или асимметричных конфигурациях, рассматриваются.
[00033] Обращаясь к фиг. 7, различные подходы могут быть использованы, чтобы отслеживать выражения лица из входных данных RGBD-камеры (например, изображений 704). Например, среди прочего, могут быть использованы алгоритмы RGBD-отслеживания, такие как алгоритмы отслеживания аватара Microsoft Kinect. Некоторые реализации алгоритма RGBD-отслеживания могут работать по предположению, подразумевающему набор персонализированных сеточных моделей , где  является положением в покое, а  являются дополнительными смещениями, которые представляют разницу между положением в покое и некоторыми выражениями лица. Произвольное выражение лица может, таким образом, быть сформировано как:
(1)
где  являются весовыми коэффициентами смешивания для позы .
[00034] Алгоритмы RGBD-отслеживания могут использовать множество смешанных форм, например, 48 смешанных форм, таким образом, для каждого захваченного кадра, они будут формировать 48 весовых коэффициентов смешивания. Следовательно, задача оценки выражения лица может быть переформулирована в проблему изучения 48 функций регрессии, каждая из них преобразует информацию, принятую из изображений носимого интеллектуального устройства, в соответствующие весовые коэффициенты смешанной формы.
[00035] Обсуждение, которое следует, относится к отслеживанию выражения лица, начиная с предварительной обработки изображения.
[00036] Некоторые реализации могут выполнять предварительную обработку для входных данных изображения, чтобы увеличивать надежность алгоритма для пользователей, носящих различную одежду, небольшого перемещения при одевании и снятии носимого интеллектуального устройства и различия между пользователями.
[00037] Первый тип предварительной обработки может относиться к фильтрации кожи. Этот процесс может быть основан на трех этапах. Первое, может быть использован простой классификатор, чтобы оценивать вероятность того, что каждый пиксел является кожей. Использование лишь пиксельной классификации может не быть достаточно надежным, поскольку некоторые ложные положительные пикселы могут быть обнаружены, в частности, так, когда краевые зоны возникают в фоне. Для того, чтобы делать процесс более надежным, некоторые реализации могут обнаруживать края изображения и между краями отыскивать (потенциально) оптимальный край, который разделяет кожу и фоновые области.
[00038] Для осуществления, эти реализации могут сначала применять модуль обнаружения краев по способу Кэнни (или другой) по всему изображению. Чувствительность модуля обнаружения может быть задана так, чтобы быть высокой, так что набор из множества краев обнаруживается, так что любые полезные края включаются в набор. Наконец, эти реализации могут отыскивать (потенциально) оптимальный край с помощью алгоритма динамического программирования, который использует информацию, собранную в предыдущих двух процессах. Этот способ может итерировать по столбцам изображения, слева направо, например. Относительно каждого столбца, процесс может вычислять для каждого пиксела, принадлежащего краю, вероятность того, что он является частью (потенциально) оптимального края. Это может быть вычислено на основе вероятностей кожи для пикселов выше и ниже его, а также на основе вероятностей левых соседних пикселов, которая была вычислена в предыдущей итерации.
[00039] Фиг. 8 показывает один такой пример. Первый пример показывает изображение 800(1) с направленной внутрь камеры 106(3) отслеживания глаз (фиг. 4-5) перед обработкой. Это объяснение касается цвета, который трудно иллюстрировать на схематичных чертежах. В первом примере область 802, показанная в поперечной штриховке, является фоном, который имеет цвет, аналогичный соседней коже 804 и, как таковая, может быть трудно различимой. Граница 806 может быть обнаружена, и во втором примере цвет фоновой области изменяется на контрастирующий цвет (в этом случае белый, представленный диагональными линиями), как указано по ссылке 808 в обработанном изображении 800(2).
[00040] Фиг. 9 показывает пример второго типа предварительной обработки, используемой некоторыми реализациями. Этот второй тип предварительной обработки может обрабатывать небольшое перемещение камеры или различие между различными пользователями. В таких случаях может быть использован способ совмещения, который выравнивает все изображения (в этом случае левое изображение 900(1) и правое изображение 900(2)) на основе сравнения с шаблоном. Складка 902 между носом и щекой и внешний уголок 904 правого глаза отыскиваются в левом и правом изображениях 900(1) и 900(2) камеры, соответственно, и входные изображения корректируются соответственно, чтобы уменьшать погрешность совмещения между изображениями. Как показано в экспериментальных результатах, этот этап совмещения может быть очень полезным для обучения новых пользователей.
[00041] После предварительной обработки две формы входного изображения могут быть использованы: необработанные пикселы и описания местного двоичного шаблона (LBP).
[00042] В целях объяснения, обозначим обучающие входные данные матрицей , которая содержит N обучающих примеров, которые имеют размерность d, и  обучающих меток (весовых коэффициентов смешанной формы, полученных из алгоритма RGBD-отслеживания).  может быть использовано, чтобы обозначать t-ый столбец для Y, т.е., весовые коэффициенты реальной ситуации для t-й смешанной формы. Дано, что проблема машинного обучения может состоять во многовыходной регрессии, были использованы три алгоритма машинного обучения (гребневая регрессия, изучение признака многозадачности и сверточные нейронные сети). Конечно, в других реализациях могут быть использованы другие алгоритмы машинного обучения.
Гребневая регрессия
[00043] Гребневая регрессия (RR) может изучать линейную модель для каждых из выходных данных, решая следующую проблему оптимизации:
(2)
где  является d-размерным весовым вектором для смешанной формы t.Отметим, что вышеописанная проблема независимо решается для каждой смешанной формы.
Изучение признака многозадачности
[00044] Примем во внимание, что весовые коэффициенты смешанной формы вместе должны описывать выражение лица, и эти смешанные формы являются неортогональными, они могут ожидаться как линейно коррелированные. В результате, изучение признака многозадачности (MTFL) может быть использовано для настоящей задачи. MTFL может пытаться применять общности между весовыми коэффициентами смешанной формы, изучая все задачи одновременно. MTFL может пытаться решать следующую проблему оптимизации:
(3)
где  обозначает квадрат нормы Фробениуса матрицы, т.е., сумму квадратов ее элементов. Как показано на фиг. 10, может быть общий слой для всех задач, сформированный посредством умножения входных данных с матрицей D, которая представляет совместно используемые признаки 1002. Выходной слой 1004 затем формируется посредством умножения совместно используемых признаков с матрицей C. Оба слоя являются линейными.
[00045] Проблема в уравнении (3) является невыпуклой. Вместо этого процесс может оптимизировать свою эквивалентную выпуклую проблему, предоставленную посредством:
(4)
обозначает следовую норму матрицы, а именно сумму ее сингулярных чисел.
где ; и
Нейронные сети
[00046] Фиг. 11A и 11B показывают две сверточных нейронных сети 1100(1) и 1100(2). Первая сверточная нейронная сеть 1100(1) принимает входные изображения 1102(1) на сверточном слое 1104(1). В этом примере сверточный слой 1104(1) имеет 16 ядер размером 3×3. Выходными данными сверточного слоя является маска (DO), разрешенная и полностью присоединенная к слою 1106(1) из 50 узлов. Выходные данные со слоя 50 узлов затем отправляются на выходной слой 1108(1) из 48 узлов, который создает окончательные выходные данные 1110.
[00047] Вторая сверточная нейронная сеть 1100(2) включает в себя первый слой, который также является сверточным слоем 1104(2) с 16 ядрами размером 3×3. Первый сверточный слой 1104(2) принимает входные изображения 1102(2). Выходные данные первого сверточного слоя плотно соединяются со вторым скрытым слоем 1106(2). В этом примере второй скрытый слой имеет 200 скрытых блоков. Выходные данные второго скрытого слоя направляются на третий слой 1108(2). В этом примере третий слой является полносвязанным слоем, который также имеет 200 выходных узлов. В этом примере конечный слой 1112 принимает выходные данные третьего слоя 1108(2), чтобы создавать конечные выходные данные 1114. Третий слой 1108(2) может быть полносвязанным слоем с 48 выходами. В некоторых реализациях нелинейность выпрямленного линейного блока (ReLU) используется во всех сверточных и полносвязанных слоях кроме выходных слоев. Кроме того, маска разрешается на некоторых из полносвязанных слоев.
[00048] Вкратце, вышеприведенное описание объясняет, как выполнять отслеживание выражения лица с носимых камер (например, камер носимых интеллектуальных устройств), которые позиционируются в необычных ориентациях, например, почти параллельно лицу пользователя. Данные реальной ситуации могут быть получены с помощью камеры глубины одновременно с камерами носимых интеллектуальных устройств. Алгоритм может быть использован отслеживания выражения лица на основе глубины, чтобы соотносить информацию изображения от двух камер в данных реальной ситуации. Данные реальной ситуации могут быть использованы, чтобы обучать модель регрессии, ассоциированную с параметрами лица. Впоследствии, изображения с носимого интеллектуального устройства могут быть обработаны с помощью модели регрессии, чтобы получать параметры для управления аватаром пользователя.
[00049] Фиг. 12 показывает систему 1200 визуализации. В целях объяснения система 1200 включает в себя два носимых интеллектуальных устройства 102(3)(A) и 102(3)(B), показанных как интеллектуальные очки. Эти иллюстрированные носимые интеллектуальные устройства представляют две конфигурации устройства, любая из которых может быть применена к другим носимым интеллектуальным устройствам помимо интеллектуальных очков. Вкратце, носимое интеллектуальное устройство 102(3)(A) представляет центральную конфигурацию операционной системы, а носимое интеллектуальное устройство 102(3)(B) представляет конфигурацию системы на кристалле. Эти аспекты описаны более подробно ниже. Система 1200 также включает в себя устройство 1202, которое не является носимым интеллектуальным устройством. В этом случае, устройство 1202 показано как смартфон, но предназначено быть показательным для любого типа устройства, с которым носимые интеллектуальные устройства могут связываться. Система 1200 дополнительно включает в себя удаленные ресурсы 1204, такие как облачные ресурсы, с которыми носимые интеллектуальные устройства могут связываться через сеть(и) 1206. Одно из двух или оба из устройства 1202 и удаленных ресурсов 1204 могут работать во взаимодействии с носимым интеллектуальным устройством, чтобы реализовывать настоящие концепции. Любое из носимых интеллектуальных устройств 102(3)(A) и 102(3)(B), устройства 1202 и/или удаленных ресурсов 1204 может поддерживать или включать в себя компонент 1208 управления аватаром. Компоненты управления аватаром будут описаны более подробно после обсуждения других элементов носимых интеллектуальных устройств 102(3)(A) и 102(3)(B).
[00050] В целях объяснения, носимое интеллектуальное устройство 102(3)(A) организуется в приложение 1210, операционную систему 1202 и аппаратные средства 1214. Носимое интеллектуальное устройство 102(3)(B) организуется в совместно используемые ресурсы 1216, выделенные ресурсы 1218 и интерфейс 1220 между ними.
[00051] Носимые интеллектуальные устройства 102(3)(A) и 102(3)(B) могут дополнительно включать в себя структуру 110 ориентации, которая может включать в себя оправу 1222 и которая соединяется с дужками 1224. Дужки могут протягиваться по длинной оси (параллельной оси x-координат) и заканчиваться в заушниках 1226. Оправа может поддерживать (пару) линзы 1228. Носимые интеллектуальные устройства могут дополнительно включать в себя запоминающее устройство 1230, процессор 1232, аккумулятор 1234 (или другой источник питания), датчики 1236 и/или компонент 1238 связи. Носимые интеллектуальные устройства могут альтернативно или дополнительно включать в себя другие элементы, такие как устройства ввода/вывода, шины, графические карты (например, графические процессоры (GPU)), и т.д., которые не иллюстрируются или обсуждаются здесь ради краткости. В одной конфигурации аккумулятор 1234 может быть расположен в одном из заушников 1226, в то время как компонент 1238 связи, запоминающее устройство 1230 и процессор 1232 располагаются в другом.
[00052] В этом примере датчики 1236 показаны как камера 104 с малым углом, камера 106 отслеживания глаза и микрофон 108. Отметим, что, когда используется здесь, камера может считаться любым типом датчика, который может захватывать информацию об отличительных признаках пользователя. Камера может быть камерой видимого света или других длин волн. Камеры могут использовать различные типы линз. Например, камеры могут использовать выпуклые линзы, асферические линзы и/или линзы "рыбий глаз", среди прочего. Линза "рыбий глаз" может предоставлять возможность одной камере захватывать большой фрагмент лица пользователя, что может в ином случае влечь за собой использование двух камер для захвата. Дополнительные подробности о камере(ах) описываются выше, начиная с фиг. 1. Конечно, в то время как камеры описываются подробно, другие реализации могут альтернативно или дополнительно использовать другие типы датчиков 1236.
[00053] Очковые линзы 1228 могут быть корректирующими или некорректирующими. В некоторых реализациях линзы могут иметь способность отображать изображения для просмотра пользователем. Отображение может быть выполнено посредством проецирования или посредством включения светоизлучающих диодов или других компонентов в линзы.
[00054] Компонент 1238 связи может включать в себя приемник и передатчик и/или другую радиочастотную схему для связи с помощью различных технологий, таких как сотовая связь, Wi-Fi (IEEE 802.xx), Bluetooth и т.д.
[00055] Компонент 1208 управления аватаром может принимать входные данные от датчиков 1236. Компонент 1208 управления аватаром может использовать модель аватара, чтобы получать параметры анимации от данных датчика, чтобы управлять аватаром пользователя. Компонент 1208 управления аватаром на отдельном носимом интеллектуальном устройстве 102(3) может быть относительно надежным, так что он обрабатывает данные датчика, чтобы определять значения параметров анимации. Например, носимое интеллектуальное устройство 102(3)(A) может определять значения параметра анимации от датчиков 1236(1). Носимое интеллектуальное устройство 102(3)(A) может анимировать аватар пользователя и отправлять анимацию другому устройству, или он может отправлять значения параметра анимации другому устройству для выполнения.
[00056] Например, относительно носимого интеллектуального устройства 102(3)(A), компонент 1208(1) управления аватаром может отправлять значения параметра анимации компоненту 1238(1) связи для связи с удаленным устройством, таким как носимое интеллектуальное устройство 102(3)(B). Компонент 1208(2) управления аватаром принимающего устройства может управлять аватаром пользователя на основе принятых значений параметра анимации. В то же самое время компонент 1208(2) управления аватаром удаленного устройства может принимать данные от датчиков 1236(2), обрабатывать данные датчика, чтобы определять значения параметра анимации и отправлять значения параметра анимации носимому интеллектуальному устройству 102(3)(A).
[00057] В других конфигурациях носимое интеллектуальное устройство 102(3)(A) может быть менее надежным и может отправлять некоторые данные датчика устройству 1202 или удаленным ресурсам 1204 для обработки посредством компонента 1208(3) или 1208(4) управления аватаром, соответственно. Эти компоненты 1208(3) или 1208(4) управления аватаром могут определять значения параметра анимации от имени носимого интеллектуального устройства 102(3)(A) и сообщать их носимому интеллектуальному устройству 102(3)(B) от имени носимого интеллектуального устройства 102(3)(A).
[00058] В еще одной конфигурации носимое интеллектуальное устройство 102(3)(A) может отправлять значения параметра анимации устройству 1202. Устройство 1202 может захватывать 'обычный' видеопоток пользователя (например, в видеовызове) и отправлять видеопоток носимому интеллектуальному устройству 102(3)(A). Таким образом, носимое интеллектуальное устройство 102(3)(A) будет видеть обычное видеоизображение пользователя устройства 1202, в то время как пользователь устройства 1202 будет видеть анимированный аватар пользователя носимого интеллектуального устройства 102(3)(A).
[00059] С одной точки зрения, носимые интеллектуальные устройства 102(3)(A) и 102(3)(B), устройство 1202 и/или удаленные ресурсы 1204 могут быть представлены как компьютеры.
[00060] Термин "устройство", "компьютер" или "вычислительное устройство", когда используется в данном документе, может означать любой тип устройства, которое имеет некоторый объем возможности обработки и/или возможности хранения. Возможность обработки может быть предоставлена посредством одного или боле процессоров, которые могут выполнять данные в форме компьютерно-читаемых инструкций, чтобы обеспечивать функциональность. Данные, такие как компьютерно-читаемые инструкции и/или связанные с пользователем данные, могут храниться в запоминающем устройстве, таком как запоминающее устройство, которое может быть внутренним или внешним по отношению к компьютеру. Запоминающее устройство может включать в себя любое одно или более из энергозависимой или энергонезависимой памяти, накопителей на жестком диске, флэш-запоминающих устройств и/или оптических запоминающих устройств (например, CD, DVD и т.д.), удаленного запоминающего устройства, среди прочего. Когда используется в данном документе, термин "компьютерно-читаемые носители" может включать в себя сигналы. В отличие от этого, термин "компьютерно-читаемые носители хранения" исключает сигналы. Компьютерно-читаемые носители хранения включают в себя "компьютерно-читаемые запоминающие устройства". Примеры компьютерно-читаемых запоминающих устройств включают в себя энергозависимые носители хранения, такие как RAM, и энергонезависимые носители хранения, такие как накопители на жестких дисках, оптические диски и флэш-память, среди прочего.
[00061] Примеры устройств могут включать в себя традиционные вычислительные устройства, такие как персональные компьютеры настольные компьютеры, компьютеры-ноутбуки, сотовые телефоны, смартфоны, персональные цифровые помощники, компьютеры планшетного типа, цифровые электронные доски, камеры, носимые устройства, такие как интеллектуальные очки, или любые из несметного числа постоянно развивающихся или еще должных быть разработанными типов вычислительных устройств.
[00062] Как упомянуто выше, носимые интеллектуальные устройства 102(3)(B) могут быть задуманы как тип конструкции системы на кристалле (SOC). В таком случае функциональность, обеспечиваемая устройством, может быть интегрирована в одной SOC или множестве соединенных SOC. Один или более процессоров могут быть сконфигурированы, чтобы координироваться с совместно используемыми ресурсами, такими как память, устройство хранения и т.д., и/или одним или более выделенными ресурсами, такими как аппаратные блоки, сконфигурированные, чтобы выполнять некоторую специальную функциональность. Таким образом, термин "процессор", когда используется в данном документе, может также ссылаться на центральные процессоры (CPU), графические процессоры (GPU), контроллеры, микроконтроллеры, процессорные ядра или другие типы устройств обработки.
[00063] В целом, любые из функций, описанных в данном документе, могут быть реализованы с помощью программного обеспечения, микропрограммного обеспечения, аппаратных средств (например, схемы с фиксированной логикой), ручной обработки или комбинации этих реализаций. Термин "компонент", когда используется в данном документе, как правило, представляет программное обеспечение, микропрограммное обеспечение, аппаратные средства, устройства целиком или сети или их комбинацию. В случае программной реализации, например, они могут представлять программный код, который выполняет указанные задачи при выполнении на процессоре (например, CPU или нескольких CPU). Программный код может быть сохранен на одном или более машиночитаемых устройств памяти, к примеру, машиночитаемых носителей хранения данных. Признаки и технически приемы компонента являются платформенно-независимыми, означающими, что они могут быть реализованы на множестве коммерческих вычислительных платформ, имеющих множество конфигураций обработки.
[00064] Отметим, что в любой из настоящих реализаций конфиденциальность пользователя может быть защищена посредством предоставления возможности визуализации признаков, только когда пользователь дает свое явное согласие. Все процедуры конфиденциальности и защиты могут быть реализованы, чтобы защищать пользователя. Например, пользователь может предоставлять авторизацию (и/или определять условия авторизации). Носимое интеллектуальное устройство лишь возобновляет отслеживание лица пользователя согласно условиям авторизации. Иначе, информация о пользователе не собирается. Аналогично, пользователю может быть предоставлена возможность определять использование его/ее данных, которые включают в себя данные визуализации. Любое использование данных визуализации должно согласовываться с определенными пользовательскими условиями.
Заключение
[00065] Настоящие реализации могут получать полезную информацию от камеры с малым углом (и/или других датчиков), которые лишь захватывают частичный вид лица пользователя. Настоящие реализации могут использовать алгоритмы машинного обучения, чтобы оценивать параметры выражения лица на основе данных обучения, собранных с помощью датчиков глубины, таких как датчик глубины Kinect Brand, предложенный корпорацией Microsoft. Настоящие реализации могут надежно отслеживать выражение лица людей даже с очень ограниченных углов обзора камер.
[00066] Описанные способы или процессы могут быть выполнены посредством систем и/или устройств, описанных выше, и/или посредством других устройств и/или систем. Порядок, в котором способы описываются, не подразумевает толкование в качестве ограничения, и любое число описанных действий может быть объединено в любом порядке, чтобы реализовывать способ или альтернативный способ. Кроме того, способ может быть реализован в любых подходящих аппаратных средствах, программном обеспечении, микропрограммном обеспечении, или их комбинации, так что устройство может реализовывать способ. В одном случае способ хранится на компьютерно-читаемых носителях хранения как набор инструкций, так что исполнение посредством процессора вычислительного устройства инструктирует вычислительному устройству выполнять способ.
[00067] Хотя технические приемы, способы, устройства, системы и т.д., принадлежащие к визуализации информации, описываются на языке, специфичном для структурных признаков и/или методологических действий, должно быть понятно, что предмет изучения, определенный в прилагаемой формуле изобретения, не ограничивается обязательно характерными признаками или описанными действиями. Точнее, характерные признаки и действия раскрываются как примерные формы реализации заявленных способов, устройств, систем и т.д.