УСТРОЙСТВА, СИСТЕМЫ И СПОСОБЫ ВИРТУАЛИЗАЦИИ ЗЕРКАЛА
DEVICES, SYSTEMS AND METHODS OF VIRTUALISING MIRROR

Область техники
Настоящее изобретение относится, в целом, к системам формирования изображения и отображения данных и, более конкретно, к мониторам и интерактивным дисплеям, применяемым, например, в сферах розничной торговли и/или обслуживания, в медицине или в быту, при проведении видеоконференций, игр и т.п. Особые реализации относятся к виртуализации зеркала в ситуациях, когда пользователь ожидает увидеть зеркало, например, во время примерки одежды. Другая особая реализация относится к ситуациям, когда естественный внешний вид является предпочтительней стандартного видеоизображения, например, при проведении видеоконференций.
Уровень техники
Стандартное зеркало (т.е. отражающая поверхность) представляет собой широко известное и чрезвычайно надежное средство, позволяющее человеку увидеть свой фактический внешний вид в реальном времени. Ранее были предложены несколько альтернатив, основанных на сочетании камеры и экрана, с целью заменить стандартное зеркало. Однако эти технологии не смогли найти должного применения, и не были приняты в качестве правдоподобно обеспечивающих изображение человека, видимое им в стандартном зеркале. Причина этого преимущественно заключается в том, что создаваемое камерой изображение значительно отличается от создаваемого зеркалом изображения.
В заявке на выдачу патента США №13/843,001 авторами настоящего изобретения была предложена новая технология (компьютеризированный способ) для решения задач трансформации и преобразования неподвижного изображения или двухмерного или трехмерного видео, созданного при помощи одной или нескольких камер без каких-либо дополнительных датчиков или с ними, чтобы создать впечатление зеркального отображения или видеоконференции, имитирующей реальное присутствие.
Сущность изобретения
Нижеследующее краткое раскрытие настоящего изобретения включено в настоящий документ для того, чтобы обеспечить базовое понимание некоторых аспектов и признаков настоящего изобретения. Указанное краткое раскрытие не является обширным обзором настоящего изобретения и, следовательно, оно не предназначено для конкретной идентификации ключевых или важных элементов настоящего изобретения или для ограничения его объема. Его единственной целью является упрощенное представление некоторых концепций настоящего изобретения, которое следует рассматривать в качестве вступления к подробному раскрытию настоящего изобретения, которое представлено ниже.
В предложенном изобретении прилагается компьютеризированная технология, согласно которой получают видео, неподвижное изображение или группу неподвижных изображений перед или после преобразования, описанного в заявке на выдачу патента США №13/843,001, и выполняют компьютеризированный способ для обеспечения дополнительных функциональных возможностей, таких как пользовательский интерфейс, дополненная реальность, изменение цвета, изменение текстуры, манипуляция с формой объекта, тела или фона и т.п. Дополнительно, подход на основе калиброванной виртуальной камеры позволяет выполнять измерения для определения границ тела, изгиба тела и типа тела, исходя из двухмерного или трехмерного изображения или видео.
Для того чтобы реализовать возможности дополненной реальности, вначале необходимо создать двухмерную и/или трехмерную модель или маску для одного или нескольких предметов или элементов (например, рубашки, платья, штанов, головы, обуви, очков, всего тела и т.п.), после чего осуществляют манипуляции с моделью или маской для реализации функций дополненной реальности, таких как замена и манипуляции с цветом и текстурой, геометрическое измерение или полное удаление объекта. Настоящая технология отличается от других технологий, в которых предусмотрено использование только трехмерной камеры (инфракрасной камеры или камеры с двойным полем зрения). Согласно раскрытым ниже технологиям можно построить модель с использованием данных от одной обычной камеры и улучшить результаты посредством использования нескольких камер или дополнительной информации от инфракрасной, трехмерной камеры или других датчиков, а также информации, относящейся к желаемому объекту манипулирования.
Некоторые варианты осуществления могут включать многоуровневую идентификацию пользователя. В частности, варианты осуществления могут включать улучшенное распознавание лица, изучение пользователя и адаптацию. Известные способы распознавания лица могут использовать алгоритмы, которые могут быть очень чувствительными к положению лица. Согласно настоящей технологии сглаженное представление положения лица может быть сгенерировано для адаптации к различным положениям и углам камеры.
Различные варианты осуществления включают идентификацию кода, например, QR-кода, одномерного кода, скрытого кода и т.п. Варианты осуществления могут быть адаптированы для обнаружения кодов на относительно больших расстояниях и при относительно небольшом изображении по сравнению с изображением, которое проецируют или подвергают другому оптическому искажению. Кроме того, указанная идентификация может включать беспроводную идентификацию, например, при помощи NFC, полосы частот WiFi, трехмерного микроволнового излучения, чипа нательной компьютерной сети (НКТ) и т.п. Беспроводная идентификация может быть выполнена при помощи мобильного устройства, часового стекла, микрочипа или любого другого переносного устройства или микрочипа. К другим технологиям измерения параметров тела могут относиться снятие отпечатков пальцев, идентификация тела, распознавание типа тела, глаз, ладони, корреляция рентгенограммы, измерение температуры тела, пульса, артериального давления и т.п.
Согласно другому аспекту раскрыты пользовательский интерфейс и способы ручного или автоматического регулирования и управления возможностями виртуального зеркала.
Согласно дополнительным вариантам осуществления раскрыты физическая конструкция и внешний вид продукта для увеличения практичности и функциональности, а также получаемого пользователем впечатления в целом.
Согласно некоторым вариантам осуществления предлагается невременный (нетранзиторный) машиночитаемый носитель для управления монитором, камерой и процессором, сконфигурированный таким образом, чтобы отображать на мониторе имитирующее зеркало изображение, при этом указанный носитель содержит: в случае устройства, содержащего процессор и запоминающее устройство, в котором сохранена программа для выполнения процессором, программу, содержащую инструкции для следующих действий: захват изображения или видео из системы; калибровку изображения или видео на основе системы отслеживания пользователя; обнаружение края объекта, присутствующего на захваченном изображении или видео; измерение параметров объекта; и создание характеристики измерения объекта.
Согласно некоторым вариантам осуществления предлагается реализуемый компьютером способ управления системой, характеризующейся наличием монитора, камеры и процессора, сконфигурированный таким образом, чтобы выводить на монитор изображение пользователя, и предусматривающий наличие: в случае устройства, содержащего процессор и запоминающее устройство, в котором сохранена программа для выполнения процессором, программы, содержащей инструкции для следующих действий: захват изображения или видео из системы; идентификация элемента на изображении или видео; выбор идентифицированного элемента; визуализация исходной модели выбранного элемента; выбор нового внешнего вида для выбранного объекта; и визуализация новой модели на основе исходной модели и выбранного нового внешнего вида для элемента. Процессор выполняет искажающее преобразование, включающее операцию для создания изображения пользователя, которое имитирует изображение, видимое пользователем, когда он смотрит в обычное зеркало. Указанное искажающее преобразование может включать стадии: получение сформированного камерой цифрового изображения; зеркальное отражение изображения относительно вертикальной оси таким образом, чтобы поменять местами правую и левую стороны изображения; применение преобразования отображения к изображению для его модификации таким образом, чтобы оно имитировало отражение в зеркале; изменение размеров изображения для того, чтобы уменьшить отклонения, вызванные изменениями в удалении объекта от камеры; и вывод изображения на монитор после осуществления зеркального отражения, преобразования отображения и изменения размеров.
Согласно другому аспекту компьютеризированный способ предусматривает наличие команд по меньшей мере для одно из группы, состоящей из: комплексного сшивания на основе точки обзора и местоположения пользователя перед монитором; анализа изображения и видео для лучшего использования инвентаря магазина и для поддержки платформы электронной коммерции; корректировки оптического искажения изображения или видео; применение множества камер для предоставления дополнительной информации; и представления модели локально или в удаленном местоположении на мобильном устройстве или стационарном мониторе.
Согласно дополнительным аспектам способ получения данных измерений выбранного объекта на изображении предусматривает выполнение по меньшей мере одного из группы, состоящей из: измерения в пикселях и преобразования измеренных пикселей в известные единицы измерения на основе модели внешней границы, множества двухмерных срезов, трехмерной модели, статистической оптимизации, сравнения с ранее полученным набором данных измерений, относящихся к пользователю, установления точки фокусировки для измерений на основе одной или нескольких характеристик пользователя, установления точки фокусировки для измерений на основе высоты пользователя, установления точки фокусировки для измерений на основе пола пользователя, установления зоны, соответствующей вероятной груди/грудной клетке пользователя, на основе высоты и пола пользователя, и установления зоны, соответствующей вероятному пупу пользователя, на основе высоты и пола пользователя.
Согласно другим аспектам способ создания характеристики измерения объекта на изображении предусматривает выполнение по меньшей мере одного из группы, состоящей из: сохранения анализированных данных в качестве вектора с заданием веса, что позволяет выполнить сравнение путем оценивания одного или нескольких атрибутов между пользователями, записи обработанного изображения для дальнейшего сравнения, записи обработанного изображения для дальнейшего логического вывода дополнительной информации, записи обработанного изображения для создания возможности применения дополнительных технологий корреляции изображений, добавления ориентиров к изображению для способствования корреляции, а также добавление линий к изображению для способствования корреляции.
Краткое описание чертежей
На прилагаемых фигурах, которые включены в настоящее описание, изображены один или несколько иллюстративных вариантов осуществления настоящего изобретения, раскрытого в настоящем документе, при этом фигуры совместно с подробным описанием служат для пояснения принципов и иллюстративных реализаций настоящего изобретения. Специалисту в данной области техники будет понятно, что фигуры приведены лишь в качестве иллюстрации, и что представленные на них изображения могут быть адаптированы на основании текста описания, а также сути и объема раскрытых в нем идей.
Используемые на фигурах номера позиций соотносятся с номерами позиций, используемыми в описании.
На фиг. 1 представлен вариант осуществления дополненной реальности для имитации зеркального внешнего вида на плоской поверхности дисплея.
На фиг. 2 представлен вариант осуществления модуля дополненной реальности.
На фиг. 3 представлен вариант осуществления модуля дополненной реальности, который может заменить часть тела, цвет, ориентацию и текстуру предмета или объекта на фоне или переднем плане изображения.
На фиг. 4 представлен вариант осуществления способов вычислений, направленных на создание модели для замены цвета и текстуры.
На фиг. 5 представлен пример способа извлечения размеров тела из изображения, нескольких изображений или короткого видео.
На фиг. 6 представлен пример связанного с системой безопасности практического применения для многоуровневого изучения и аутентификации пользователя.
На фиг. 7 представлен пример связанного с системой безопасности практического применения для параллельной или внутриполосной манипуляции камерой.
На фиг. 8а-8с представлены схемы для совместного использования эффекта зеркального отображения в видеоконференции, предусматривающей возможность голосового общения.
На фиг. 9 изображен пример двухмерных входных данных, вводимых в генератор модели.
На фиг. 10 представлен пример двухмерной модели рубашки, полученной на основе изображения, представленного на фиг. 9.
На фиг. 11 представлена схема, иллюстрирующая классификацию типов мужского тела.
На фиг. 12 представлена схема, иллюстрирующая классификацию типов женского тела.
На фиг. 13 представлен пример результата выполнения дополнительных процессов, которые удаляют руки от тела и указывают различные интервалы, в которых следует определять конкретные размеры параметров тела.
На фиг. 14 изображен пример преобразования потока данных камеры для создания эффекта зеркального отражения окружающей обстановки.
На фиг. 15 представлен пример виртуального зеркала с возможностью распознания и аутентификации пользователя, а также с пользовательским интерфейсом.
На фиг. 16 представлен пример виртуального зеркала с полиэкранным режимом и эскизами.
На фиг. 17 представлен вариант осуществления алгоритма использования предлагаемой системы.
Подробное описание
Нижеследующие примеры иллюстрируют некоторые варианты осуществления и аспекты настоящего изобретения. Специалистам в данной области техники будет очевидно, что различные модификации, дополнения, замены и т.п. могут быть выполнены без изменения сути и объема настоящего изобретения, и что такие модификации и варианты входят в объем настоящего изобретения, определенный в прилагаемой формуле изобретения. Нижеследующие примеры не предназначены для какого-либо ограничения настоящего изобретения. Для того чтобы упростить осмысление различных вариантов осуществления, в настоящий документ включены описания различных признаков под отдельными заголовками. Однако эти признаки могут быть реализованы индивидуально или в сочетании друг с другом так, чтобы воспользоваться преимуществом определенного(ых) признака(ов) для определенного практического применения.
Общий обзор
В вариантах осуществления настоящего изобретения используют камеру и дисплей с плоским экраном для того, чтобы создать у пользователя при взгляде на указанный дисплей такое же впечатление, как будто бы он смотрит в зеркало. То есть формирующий изображение поток данных, получаемый от камеры, модифицируют и трансформируют таким образом, чтобы, при его отображении на экране, создавалось впечатление отражения в зеркале, а не потока записанных видеоданных. Так как виртуальное зеркальное изображение получено цифровым способом, оно может быть сохранено и обработано для обеспечения дополнительных расширенных характеристик или функций. Например, изображение может быть обработано для смены цветов, для обеспечения многоуровневой идентификации и аутентификации пользователя и для обеспечения измерения параметров тела пользователя. Система содержит калиброванную камеру, в результате чего указанная система способна обеспечивать функции дополненной реальности, например, изменение цвета, текстуры, формы элементов тела или заднего плана, например, в виртуальном зеркале или в практических применениях, связанных с видеоконференциями. Она также способна осуществлять измерения тела и мониторинг тела для практического применения в коммерческих целях, связанного с безопасностью практического применения и связанного со здравоохранением применения.
Касательно аппаратного обеспечения следует отметить, что различные варианты осуществления могут включать в себя одну или несколько камер, использующих любые типы датчиков, включая, кроме прочего, CCD, CMOS, IR CMOS и т.п., любые протоколы преобразования форматов, включая HDMI, Firewire, USB, IP, HDbaseT wireless и т.п., a также любые доступные разрешения, включая HD, regular SIF, 4k, 8k и т.п. Дисплей может включать один экран или несколько экранов или виртуальный экран, а также стандартные экраны, которым присущи любые размеры, формы и пропорции. Дисплей также может включать зеркальные экраны, интеллектуальные телефоны или планшеты, проекторы, голограммы, трехмерные экраны, очки Google, проекционный головной дисплей (ПГД), очки (с переключаемым затемненным слоем) и т.п.
Согласно раскрытым вариантам осуществления камера может быть расположена в любом месте. Согласно наилучшему варианту камеру устанавливают над экраном и направляют к пользователю. Кроме того, камера может быть расположена внизу экрана, по бокам экрана или позади экрана, когда он является двунаправленным экраном. В случае трехмерного режима две камеры могут быть установлены, например, вверху и рядом друг с другом, что может обеспечить получение отличных результатов и упростить компьютеризированный способ. Кроме того, манипулирование в трехмерном режиме может быть осуществлено посредством одной камеры при перемещении и/или повороте пользователя.
Варианты осуществления могут включать компьютеризированный способ для охвата всего тела или части тела, а также выбора различного масштабирования для каждого пользователя (например, коррекцию головы и/или глаз, направления взгляда/точки обзора и подобного).
Каждый из раскрытых вариантов осуществления может быть реализован на двухмерном или трехмерном статическом изображении на твердом носителе, двухмерном или трехмерном статическом цифровом изображении, аналоговом или цифровом видео, которое было записано аналоговой или цифровой камерой или устройством захвата изображений HDMI (или эквивалентом), IP, USB, Firewire (проводного или беспроводного) и т.п. Каждый из раскрытых вариантов осуществления может быть реализован на цифровом потоковом видео, которое может быть передано в вычислительное устройство при помощи любого подходящего способа связи, такого как USB, HDMI, IP по кабелю cat-5 или волоконно-оптическому кабелю, WLAN, Firewire, HDbaseT, любое сочетание причисленного выше в одножильном кабеле или многожильном кабеле. Каждый из раскрытых вариантов осуществления может быть реализован в случае, когда вычислительное устройство расположено в камере, в экране, в облаке или в компьютере, включая рабочую станцию, сервер и т.п.
Каждый из раскрытых вариантов осуществления может быть реализован в случае, когда вычислительное устройство распределено между системными элементами, например, выполнение стадий компьютеризированного способа может происходить частично в камере, частично в элементе для приема видео данных, частично в графическом процессоре (ГП) экрана, частично в облаке, частично в интеллектуальном устройстве пользователя или в любом их сочетании. Каждый из раскрытых вариантов осуществления может быть реализован в случае, когда вычислительное устройство расположено в интеллектуальном телефоне, планшете, портативном компьютере, экране, камере, головном дисплее, очках Google и т.п.
Каждый из раскрытых вариантов осуществления может быть осуществлен в случае, когда видео предварительно обрабатывают для извлечения трехмерной модели заданного предмета, при этом предварительный выбор может быть осуществлен вручную пользователем или автоматически путем использования правил выбора. Получение модели может быть осуществлено локально процессором цифровой обработки сигнала (ПЦОС)/центральным процессором (ЦП), следующих за камерой, в облаке или в пользовательском приложении, установленном на устройстве пользователя. Наиболее эффективным представляется извлечение модели одного объекта или стационарного изображения в ГП (графическом процессоре); в этом случае будет достаточно стандартного центрального процессора (ЦП).
Каждый из раскрытых вариантов осуществления может быть реализован в случае, когда визуализацию осуществляют локально в терминале дополненной реальности, в облаке или в мобильном устройстве пользователя. Визуализация может быть осуществлена в ГП для одного изображения или короткого видео; в этих случаях достаточную производительность может обеспечить ЦП.
Каждый из раскрытых вариантов осуществления может быть реализован в случае, когда для увеличения качества видео применяют технологии улучшенной визуализации, такие как интерполирование объекта или изображения для повышения разрешения и децимация после объединения для сглаживания углов и устранения зубцеобразного эффекта. Настоящее изобретение может устранить мерцающие края, например, путем покадрового сглаживания модели, путем устранения допускаемых изменений в каждом кадре на краях, путем сглаживания краев в каждом кадре, путем применения усредняющих фильтров к одному или нескольким кадрам и т.п. Дополнительные улучшения могут быть обеспечены путем увеличения частоты смены кадров и применения технологии дополнительного сглаживания к добавленному кадру для того, чтобы сгладить эффект, который будет возникать при исходной частоте смены кадров.
Каждый из раскрытых вариантов осуществления может быть реализован независимо от того, находится ли экран возле камеры. Например, экран может находиться в комнате управления. Доступ к основному потоку данных камеры или записанной информации может быть получен при помощи дистанционного управления, при помощи обращения непосредственно к физической инфраструктуре или через облако.
Согласно одному варианту осуществления управление функциональными возможностями терминала может быть осуществлено при помощи жестов, движения глаз, движения ладоней, движения пальцев или электронной вычислительной машины. Управление предлагаемой системой может быть осуществлено при помощи дополнительного оборудования, такого как лазерный указатель, модуль речевого управления, беспроводной модуль или модуль ультразвукового слежения.
Сегментация
Точная сегментация объектов и/или элементов из изображения или видео является одной из наиболее сложных проблем в данной области техники. Известные технологии для решения этой проблемы представляют собой чистый компромисс между точностью и скоростью. До настоящего изобретения не существовало удовлетворительного решения этой проблемы. Применение инфракрасной (ИК) камеры с трехмерным (3D) измерением удаленности представляет собой один из подходов в данной области техники; однако этому подходу присуще неудовлетворительное качество. Например, края, искажение изображения и/или несовпадение из-за низкого разрешения между инфракрасной и обычной камерами препятствуют успешной и удовлетворительной сегментации. Технологии хроматического разделения и обнаружения краев являются очень требовательными к компьютерным ресурсам и не дают соответствующей производительности. Некоторые технологии для получения модели пользователя или объекта предполагают, например, наличие зеленого фона, который является легкоразличимым, при этом они не могут быть использованы в практических применениях, в которых отсутствует указанный зеленый фон.
После получения модели предмета или предметов, над которыми будут производиться манипуляции, вторая проблема заключается в плавном выполнении визуализации, при котором модель будет обновляться и плавно визуализироваться обратно в исходное видео или другое видео дополненной реальности с новой информацией. Раскрытые ниже варианты осуществления обеспечивают плавную визуализацию относительно быстро и с хорошим качеством, так что указанные манипуляции могут быть выполнены в реальном времени, полуреальном времени или относительно быстро в зависимости от требований конкретного практического применения. Кроме того, эти варианты осуществления адаптированы для осуществления манипуляций с предметами (цвет, текстура, форма) в реальном времени, на входе основного потока данных камеры или в автономном режиме на записанных пользователем видеоданных.
На основании модели, маски и/или альфа-канала для каждого объекта из видео, движения пользователя могут быть изучены, и различные объекты, соответствующие или не соответствующие форме или фигуре указанного объекта, могут быть правдоподобным образом установлены. Раскрытые варианты осуществления можно отличить от известных технологий, в которых предпринимается попытка выполнить все виртуально. Указанные варианты осуществления могут предусматривать осуществления манипуляций с маской для охвата других изменений, таких как другая одежда, изменение лица пользователя, изменения типа тела пользователя, удаление пользователя из изображения и т.п.
Другим раскрытым признаком является распознавание одежды, которое может идентифицировать предметы и одежду пользователя. Например, распознавание может включать идентификацию скрытого кода или информации на ткани.
К другим признакам и вариантам осуществления может относиться следующее: микроволновой сканер, при этом микроволновой датчик встроен в экран; функции измерения параметров тела, включающие, например, определение двухмерной или трехмерной границы тела или генерирование двухмерной/трехмерной модели/маски из видео; аналитическое заключение на основе измерений, например, тип тела, происхождение, пол, возраст, предлагаемые размеры одежды, предлагаемая диета или лечение и т.п.; отслеживание изменения границы тела во времени для диагностики, идентификации изменений, идентификации пользователя и т.п.
Согласно некоторым вариантам осуществления основной поток данных камеры может подвергаться манипуляциям в реальном времени для изменения внешнего вида пользователя или его полного исчезновения из видео или изображения. В этом случае ПЦОС камеры или отдельное выполняющее функции ПЦОС или ГП устройство требуется для получения потока данных камеры, обработки потока данных камеры при помощи центра дистанционного управления и упаковки его обратно в виде основного потока данных камеры. Согласно одному варианту осуществления параллельная обработка основного потока данных камеры (анализатор) также является одной из опций.
Ниже приведены несколько примеров дополнительных практических применений, в которых может быть использована технология согласно настоящему изобретению. В частности, преобразование исходного видео может быть использовано для создания правдоподобной виртуальной одежды.
Преобразование исходного видео может быть использовано для создания правдоподобной видеоконференции, во время которой пользователь/пользователи, находящийся/находящиеся на другой стороне линии, может/могут увидеть изображение другого участника конференции так, как будто бы он смотрит непосредственно на них, а не изображение, полученное с точки съемки камеры. Альтернативно, преобразование может быть использовано для создания такого изображения, как будто бы пользователь смотрит в глаза другого пользователя, чтобы создать правдоподобное впечатление живого общения.
Преобразование исходного видео для дополненной реальности может быть осуществлено в различных целях, включая, кроме прочего, следующее: осуществление манипуляций с телом и изменение его размеров, измерение параметров тела, осуществление медицинской диагностики/мониторинга/подготовки и/или слежение, проведение игр, подбор одежды, определение возраста, проведение заседаний, обеспечение безопасности, осуществление имитации всего тела, обучение танцам, подбор причесок, общая подготовка, осуществление путешествий и т.п.
Варианты осуществления могут быть использованы в видеоконференциях или играх, во время которых пользователь захочет изменить свой внешний вид (например, цвет кожи лица, одежду, лицо и подобное). В соответствии с настоящим изобретением модель может позволить плавное изменение с обеспечением желаемого внешнего вида или даже создать изображение, на котором пользователь исчезнет из видео.
Указанные варианты могут быть использованы в связанных с безопасностью практических применениях совместно с точным распознаванием лица посредством калиброванной системы EyesMatch (см. заявку на выдачу патента США №13/843,001), когда проекционная перспектива камеры направлена на глаза пользователя, совместно с распознаванием Dynamic QR (быстрый ответ) кода (например, авторизация и управление доступом пользователя при помощи мобильного приложения или бейджа, при этом QR-код может быть сгенерирован для мобильного приложения из облака, а затем может быть проверен средствами аутентификации пользователя в приложении), совместно с распознаванием, сканированием и изучением всего тела, совместно с распознаванием предметов (например, одежды, униформы, бейджа и т.п.), совместно с беспроводным анализатором (например, анализатор трафика, передаваемого по сети WiFi, по сети сотовой связи, ультразвуковыми устройствами и т.п.), совместно с ИПП для базы данных системы безопасности, совместно с системами определения местоположения, совместно с публичной информацией и т.п. Указанные варианты осуществления могут быть использованы совместно с действием по предотвращению угрозы на основании распознавания определенной активности (например, запирание двери, включение/выключение света, создание тумана, применение оружия, например, удар электрическим током, стрельба, манипуляция с документами и подобное). Благодаря геометрии калиброванного изображения местонахождение цели на изображении может быть с высокой точностью определено, а также использовано для управления осуществлением высокоточной и эффективной атаки цели без риска для остальных.
Могут быть осуществлены регистрация и сравнение внешнего вида в реальном времени и в автономном режиме, так что пользователь сможет следить за изменениями внешнего вида во времени и на протяжении нескольких лет. Эти процессы могут быть предусмотрены для различных целей, включая медицинский учет, например, температуры, артериального давления и т.п., который может выполняться в течение заданного периода времени, между несколькими осмотрами, а также с использованием множества различных датчиков.
Согласно другим вариантам осуществления калиброванная одиночная камера/несколько камер с дополнительной информацией от других датчиков или без нее могут быть использованы для диагностики или наблюдения за пациентом. Например, настоящее изобретение может быть использовано, кроме прочего, для мониторинга и предупреждения о проблемах кожи, таких как злокачественная меланома, изменения молочной железы, которые могут быть причиной для дополнительного исследования на предмет рака молочной железы, измерения частоты сердечных сокращений и артериального давления, мониторинга с последующей регистрацией измерений температуры пациента, глаукоматозного ореола пользователя, состояния кожи и ногтей на пальцах, а также проблем с глазами, тенденций изменения и изменений позвоночника, костей, мускулов и гибкости тела.
Платформа дополненной реальности
На фиг. 1 представлена функциональная схема системы для платформы дополненной реальности, поддерживающей обработку видео/изображения в режиме реального времени или автономном режиме. Указанная система может содержать одно или несколько (1:n) устройств 101 ввода, включая видеокамеру, фотокамеру, инфракрасную камеру, двухмерную камеру или трехмерную камеру. Устройство 101 ввода может быть адаптировано для посылки информации в один или несколько модулей 102, 103, 104, 105, 107, 108 и 109 дополненной реальности в системе машинного зрения. Один или несколько модулей 102, 103, 104, 105, 107, 108 и 109 дополненной реальности в системе машинного зрения могут быть адаптированы для посылки информации одному или нескольким (1:m) экранам 106. Один или несколько модулей 102, 103, 104, 105, 107, 108 и 109 дополненной реальности в системе машинного зрения могут быть адаптированы для посылки информации в модуль 110 интерфейса или пользовательского интерфейса и получения информации от него. Интерфейс 110 может быть адаптирован для посылки информации в одно или несколько из облака, сети/хранилища или устройства пользователя, такого как интеллектуальный телефон или планшет, и получения информации от них.
К одному или нескольким модулям 102, 103, 104, 105, 107, 108 и 109 дополненной реальности в системе машинного зрения могут относиться модуль 102 отбора изображения, модуль 103 преобразования EyesMatch, модуль 104 дополненной реальности, модуль 105 записи неподвижного кадра/видео, модуль 107 событий-триггеров, модуль 108 управляющего элемента и модуль 109 заводской калибровки.
Модуль 102 отбора изображения может включать один или несколько из следующих элементов или функций: корректирующие фильтры, конвертирование формата, отделение видеокадра, обрезка изображения, изменение размеров изображения, сшивка изображений и т.п. Модуль 102 отбора изображения может быть адаптирован для посылки информации в модуль 103 преобразования EyesMatch. Модуль 102 отбора изображения может быть адаптирован для посылки информации в модуль 107 событий-триггеров и получения информации от него.
Модуль 103 преобразования EyesMatch может быть адаптирован для применения к изображению преобразования для надлежащего отображения с тем, чтобы сопоставить точку съемки камеры с теоретической зеркальной точкой обзора (отражением глаз пользователя) и заполнить нечеткие пиксели, если они появились после указанного преобразования. Модуль 103 преобразования EyesMatch может быть адаптирован для посылки информации в модуль 104 дополненной реальности и/или в модуль 105 записи неподвижного кадра/видео. Кроме того, модуль 103 преобразования EyesMatch может быть адаптирован для посылки информации в модуль 108 управляющего элемента и получения информации от него. Дополнительно, модуль 103 преобразования EyesMatch может быть адаптирован для посылки информации в один или несколько из экранов 106 для демонстрации изображения, которое имитирует отражение в зеркале.
Модуль 104 дополненной реальности может быть адаптирован, например, для обеспечения виртуальной замены цвета и текстуры, виртуальной примерки одежды, вставки объекта и т.п. Модуль 104 дополненной реальности может быть адаптирован для посылки информации в модуль 108 управляющего элемента и/или в модуль 105 записи неподвижного кадра/видео и получения информации от них. Кроме того, модуль 104 дополненной реальности может быть адаптирован для посылки информации одному или нескольким экранам 106 для демонстрации изображения, которое имитирует отражение в зеркале, модифицированное при помощи изменений, выполненных модулем 104 дополненной реальности.
Модуль 105 записи неподвижного кадра/видео может быть адаптирован для записи одиночного изображения (кадра) или короткой видеозаписи под управлением программных средств. Модуль 105 записи неподвижного кадра/видео может быть адаптирован для посылки информации в модуль 108 управляющего элемента и получения информации от него. Кроме того, модуль 105 записи неподвижного кадра/видео может быть адаптирован для посылки информации одному или нескольким экранам 106.
Модуль 107 событий-триггеров может включать один или несколько из следующих элементов или функций: распознавание пользователя, находящегося пред зеркалом, распознавание лица, распознавание подаваемых жестами команд пользователя, распознавание предметов, измерение расстояния, измерение параметров/оценивание тела пользователя (включая, например, высоту, возраст, массу, этническую группу, пол и т.п.) и вычисление теоретической точки обзора пользователя на теоретическом зеркале. Модуль 107 событий-триггеров может быть адаптирован для посылки информации в модуль 108 управляющего элемента и получения информации от него.
Модуль 108 управляющего элемента может включать один или несколько из следующих элементов или функций: осуществление регулирования и управления с целью настроить камеру для обеспечения оптимального качества съемки, а также с целью настроить другие аппаратные элементы, интерфейс между модулями алгоритма и высшим интерфейсом управления кодами/интерфейсом приложений/пользовательским интерфейсом, и осуществление направления калиброванных данных от изготовителя в элементы алгоритма. Модуль управляющего элемента может быть адаптирован для посылки информации в модуль 109 заводской калибровки и получения информации от него.
Модуль 109 заводской калибровки может быть адаптирован для определения необходимого преобразования отображения между точкой съемки камеры и точкой взгляда пользователя перед экраном. Кроме того, модуль 109 заводской калибровки может быть адаптирован для калибровки изображения на основании расстояния, заданного положения (например, отметок на полу), высоты пользователя или любого их сочетания.
В нижеследующем описании, которое выполнено со ссылками на фиг. 1, описывается пример одного варианта осуществления настоящего изобретения; при этом другие потоки или функциональные возможности могут быть распределены между модулями, представляя дополнительные варианты осуществления, которые являются частью настоящего изобретения. Авторы настоящего изобретения предлагают два способа предоставления возможностей дополненной реальности (в реальном времени и в автономном режиме). Оба способа предусматривают подачу в модуль 104 дополненной реальности реальных изображений или видеоданных, которые поступают в режиме реального времени или которые подверглись обработке, например, при помощи модуля 103 преобразования EyesMatch. То есть изображение, с которым работает модуль 104 дополненной реальности, может быть преобразованным изображением, которое представляет собой зеркальное отражение пользователя.
Одной особенностью является то, что пользователь может задать вручную или автоматически (например, при помощи интерфейса 110) правила, касающиеся того, какие предметы он хотел бы подвергнуть обработке или манипуляциям и какой конечный результат он ожидает получить, например, автоматическое правило может представлять собой что-то типа автоматической идентификации рубашки пользователя, которая может быть автоматически или вручную перенастроена на другой цвет, или пользователь выбирает рубашку вручную при помощи сенсорной панели и выбора цвета. После этого выбранный объект может быть обработан и извлечен/сегментирован, а затем записан в базу данных, связанную с исходными записанными видео или изображением. Затем модуль 104 дополненной реальности может обработать модель/маску в режиме реального времени при заданной частоте смены кадров, которая может быть выше или ниже оригинальной, при этом размер изображения или видео может быть таким же или отличаться от исходного размера. Некоторые практические применения не требуют «живой» дополненной реальности (но все же могут предусматривать ее наличие), например, примерка одежды, во время которой пользователь хотел бы видеть свое изображение с модификацией (одна или несколько опций). После того как извлеченный из «живой» сцены объект сохранен, намного облегчается процесс визуализации многочисленных изменений (например, цвета, текстура, размера и т.п.). Кроме того, легче выполнить более длительный процесс с большей точностью, с более высоким качеством и с использованием процесса, который обеспечивает больше информации, например, движение пользователя, измерение параметров тела, и качество на основе интегрирования кадра и т.п. Для других практических применений, которые требуют процессов в режиме реального времени, таких как видеоконференция, более подходит вторая опция. При использовании второй опции производительность должна быть адаптирована таким образом, чтобы быть как можно ближе к реальной частоте смены кадров камеры для предотвращения появления задержек/запаздываний, которые могут повлечь за собой сброс кадров и низкую производительность. Если задержки/запаздывания имеют место, то они могут быть отрегулированы таким образом, чтобы получить плавное видео без запаздываний кадров. Такая регулировка может быть выполнена при помощи буферов, временных меток изображений плюс некоторая задержка, или при помощи временных меток и переупорядочивания кадров для визуализации.
Настоятельно рекомендуется, чтобы процесс визуализации для входного видеосигнала выполнялся в устройстве типа ПЦОС или ГП для того, чтобы избежать появления задержек в видеоданных. В случае первой опции (автономный режим), создание маски/модели может быть также выполнено в ЦП. В случае второй опции, маска/модель может быть также создана или рассчитана в ГП/ПЦОС.
В модуле 107 событий-триггеров некоторая часть функций триггера может быть полностью автоматизирована, например, некоторый процесс может быть запущен в случае, если произошло обнаружение лица или обнаружение присутствия. Некоторые из триггеров могут быть выполнены полуавтоматическими и управляться из модуля 110 пользовательского интерфейса, что может включать любой способ управления компьютеризированным устройством. Некоторая часть функций события-триггера заключается в расчете преобразования изображения на основе геометрической информации, калибровки и/или отслеживания пользователя в реальном времени, например, положения самого пользователя, его глаз, головы, рук, позы, движений и т.п. Отслеживание может быть выполнено с использованием одно или нескольких технологий, таких как вычитание фона, распознавание по шаблонам, цветовая сегментация и т.п. Функции для расчета преобразования на основе отслеживания могут также быть реализованы в других модулях.
Модуль 108 управляющего элемента может быть выполнен для конфигурирования настройки системы, камеры, аутентификации и т.п., при этом он также может предоставлять информацию от функции для расчета преобразования на основе отслеживания в модуль преобразования фактической геометрии или модуль дополненной реальности и т.п.
В отношении модуля 109 заводской калибровки следует отметить, что некоторая часть информации, необходимой для расчета преобразования, применимого к изображению/видео, может быть сгенерирована во время заводской калибровки или может быть вычислена на основании дополнительной информации о фактической ориентации камеры во время эксплуатации, например, высоты расположения камеры над полом или столом и т.п., точки съемки в трехмерном пространстве, поле обзора линз и т.п. Заводская информация плюс фактическая геометрия практической реализации могут быть обработаны и доставлены надлежащему элементу в системе, который будет использовать информацию для улучшения калибровки и точности.
Дополнительно к применению на локальном экране с целью создать виртуальное зеркало, настоящее изобретение может быть использовано для отправки либо видео совместно со средствами для его преобразования, либо фактически обработанного или преобразованного видео на другой адрес в облаке или локальный адрес в качестве односторонней или двухсторонней видеоконференции.
На фиг. 2 представлен пример модуля дополненной реальности, который может соответствовать описанному выше модулю 104 дополненной реальности. В частности, модуль дополненной реальности может характеризоваться наличием функции предоставления пользователю возможности виртуально одевать себя, изменять свой внешний вид, например цвет кожи, примерять аксессуары и т.п. Согласно этому варианту осуществления указанная система получает входящее изображение или видео, например, из компьютеризированного способа EyesMatch 201, или из любого другого источника изображений/видео, например, интеллектуального телефона пользователя, камеры системы безопасности, очков Google, мобильной камеры или стационарной камеры. Дополнительные варианты осуществления могут содержать дополнительную геометрическую информацию, которая будет способствовать вычислению пропорций, например, высоты пользователя, направления взгляда и т.п. Если видео и изображение пользователя поступило из модуля EyesMatch (калиброванное изображение/видео), может быть создана более полная модель, что позволяет выполнить измерение параметров тела, определение позы объекта, определение размера, высокоточное обнаружение ориентации и т.п. Дополнительная информация, которая может быть вычислена из калиброванного объекта или видео, может позволить выполнить подгонку объекта, замену объекта и вставку новых объектов в кадр/видео, так как любое искажение, вызванное расположением и полем обзора камеры, учитывается и корректируется. Эти корректировки позволяют осуществить высокоточные измерения высоты пользователя, талии пользователя и т.п., а также подгонку тела пользователя к классифицированным типам тел.
Модуль 202 выбора может получить информацию о выборе от интерфейса 206, вводимую либо вручную пользователем (например, координаты X, Y или название объекта), либо автоматически посредством способа выбора, например, механизма, который может автоматически обнаруживать определенные объекты, такие как штаны, рубашки и т.п. Например, при помощи интерфейса 206 пользователь может выбрать предмет одежды, у которого должны быть изменены параметры, такие как цвет или тип ткани. Этот выбор направляют в модуль 202 выбора для того, чтобы надлежащий предмет, модификацию которого предстоит осуществить, был извлечен из остального изображения.
Извлечение объекта является довольно сложной задачей. Например, если на пользователе надета красная рубашка, а на заднем плане расположено красное кресло и пользователь стоит на красном ковре, человеческий глаз легко отличит, какая из красных частей принадлежит рубашке, а какая нет. Однако осуществление такого определения автоматически при помощи компьютера является довольно сложной задачей. Более того, в зависимости от освещения и складок на рубашке, различным пикселям, принадлежащим к рубашке, при отображении на экране будут присущи другие цвета. Таким образом, если пойти по пути простого выбора всех красных пикселей, то некоторые темные пикселя, принадлежащие к рубашке, не будут выбраны, при этом будут выбраны некоторые пикселя, принадлежащие креслу или ковру.
Модуль 203 извлечения может определить положение объекта (т.е. положение всех пикселей, которые принадлежат объекту) и отобрать образцы цвета (или усредненный цвет объекта, который может включать в себя более одного цвета). Модуль 203 может использовать эту информацию для создания черно-белой маски, которую вначале используют для генерирования текстурированной двухмерной или трехмерной полутоновой и цветной маски.
Технология извлечения объекта основана на 3D цветовой корреляции или любой другой технологии, такой как кратчайшее евклидово расстояние между усредненным цветом объекта и цветом пикселя, для отделения пикселей объекта от всего изображения. Решение о принадлежности пикселя объекту может быть принято на множестве уровней и не ограничено следующими примерами:
1. Цветовая корреляция и первое решение может быть основано на пороговом значении евклидового расстояния, при этом пороговое значение евклидового расстояния находится в цветовом пространстве RGB (красный, зеленый, синий) или в хроматическом цветовом пространстве. То есть, для каждого пикселя, евклидово расстояние измеряют от цвета пикселя до цвета объекта, который устанавливают на основе единого или усредненного цвета объекта. Если цвет пикселя находится на расстоянии, которое превышает пороговое значение, то определяют, что он не принадлежит объекту.
2. Фильтрация шума путем применения морфологических операторов, таких как разбавление и размывание, которые могут улучшить решение, касающееся пикселей, которые были «неправильно маркированы» как часть или как не часть объекта. В большинстве реализаций форма объекта будет известна или может быть оценена. Например, если пользователь выберет штаны, система будет иметь представление о форме штанов. Таким образом, результаты выбора на описанной выше стадии (1) могут быть дополнительно откорректированы путем проверки того, находится ли каждый исключенный пиксель в пределах предполагаемой формы и следует ли включить его в объект, и наоборот, находится ли включенный пиксель фактически за пределами предполагаемой формы штанов и следует ли его исключить.
3. Принятие решения на основе информации из предыдущего или последующего кадров или от соседних пикселей в ряду или вокруг указанного пикселя. На этой стадии принимается важнейшее решение в указанном процессе. В большинстве практических реализаций периодический выбор последовательных пикселей сначала в качестве принадлежащих, а затем в качестве не принадлежащих указанному объекту, был бы необычным. Физические объекты больше одного пикселя и покрыты больше чем одним пикселем. Следовательно, пиксели будут сгруппированы в качестве принадлежащих или не принадлежащих объекту, при этом проверка соседних пикселей может быть использована для подтверждения выбора.
4. Удаление объекта от исходного выбора, которое может быть использовано в качестве порогового значения. Например, для каждого пикселя, рассчитывают расстояние в декартовой системе координат до изначально выбранного пикселя и, если оно выходит за пределы ожидаемого расстояния, то считается, что пиксель находится за пределами объекта и vice versa.
5. Непрерывность поверхности объекта. Если мы знаем, что поверхность объекта продолжается, то мы можем отфильтровать некоторые шумы. Например, иногда изображение может характеризоваться наличием отражений и затенений, в результате которых цвет пикселя будет казаться резко отличающимся от истинного цвета и, следовательно, такой пиксель будет отмечен в качестве не относящегося к объекту. Однако объект представляет собой в целом непрерывную поверхность. Таким образом, непрерывность может быть использована для устранения такой неверной маркировки.
6. Края объекта. Мы может сделать решение более совершенным в области краев при помощи обнаружения краев, которое может быть осуществлено с использованием высокочастотных фильтров или других технологий.
7. Решение на основе энергии цвета. Одна из проблем цветоделения заключается в том, что цвет в условиях слабого освещения может выглядеть черным, при этом динамический диапазон решения значительно снижается. Темные/черные пиксели могут быть изолированы и другие технологии могут быть применены для того, чтобы решить, принадлежит ли темный/черный пиксель объекту, например, система согласно настоящему изобретению может определить, находится ли пиксель внутри границы объекта, или имеет место изменение удаления энергии от цвета объекта с учетом стандартного отклонения.
8. Применение предшествующей информации об ожидаемой форме объекта для получения лучших результатов.
9. В случае если объект представляет собой сочетание нескольких цветов или форм, или на него нанесены логотипы или другие рисунки, могут быть использовано цветовая корреляция и объединение. Дополнительно, любой из многоуровневых способов, рассмотренных выше, может быть использован для получения более высокоуровневого решения в отношении объекта.
10. Решение может также базироваться на большинстве или решении, касающемся соседних пикселей/изображения, в качестве средневзвешенного коэффициента, используемого в решении. Если мы обрабатываем решение по изображению в качестве вектора, для упрощения процесса можно обратить внимание на соседей в этом же ряду или в этой же колонке в зависимости от того, как матрица изображения трансформировалась в вектор.
11. Оценка стандартного отклонения цвета текстуры/материала предмета может также дополнительно предоставить важную информацию для сегментации объекта. Согласно некоторым практическим реализациям имеется база данных, содержащая информацию о различных тканях и их текстурах, для помощи при таком определении.
12. Любое сочетание двух или более приведенных выше стадий 1-11.
Маска, используемая для визуализации, может представлять собой простую черно-белую маску. Тем не менее, для того чтобы создать правдоподобное ощущение объекта, может потребоваться дополнительная информация о текстуре и внешнем виде объекта. Для того чтобы получить важную дополнительную информацию, маска может быть применена к исходному кадру или видео, и могут быть получены RGB или полутоновая текстура, затенение или шкала яркости для объекта. Эта информация более точно и более правдоподобно описывает изменения цвета, так как в ней отражены такие характеристики исходного объекта, как текстура складок, затенение, отражение света, характерные признаки материала и т.п.
Маска модели может быть построена в форме слоев для обеспечения улучшенной манипуляции. Примеры потенциальной слоистой структуры могут быть следующими:
1. Черно-белая маска (для сегментации объекта). Использование черно-белой маски может быть очень важным, так как оно помогает отличить объект от фона или от других элементов, находящихся поблизости от него. Множество технологий могут быть использованы с целью оптимизации решения по маске/границам объекта.
2. Маска краев объекта - представляет края или контур объекта.
3. Маска красного цвета - представляет красные области объекта.
4. Маска зеленого цвета - представляет зеленые области объекта.
5. Маска синего цвета - представляет синие области объекта.
6. Текстуры, распространяющиеся на все цветовые маски - представляют внешний вид текстур объекта.
7. Маска затенения или яркости - представляет затененные или яркие области объекта. Она может представлять собой карту распределения интенсивности для всех пикселей, принадлежащих объекту.
8. Маска отражения света от материала - представляет отражение света от объекта.
9. Маска поглощение света материалом - представляет области объекта, поглощающие свет.
10. Маска на основе данных из других датчиков, таких как ИК-датчик, микроволновой датчик, датчик удаленности, ультразвуковой датчик, датчик диапазона ультравысоких частот и т.п.
11. Слои, подобные описанным выше.
После того как модель маски будет содержать необходимую информацию, чтобы изменить цвет или текстуру, модуль 204 визуализации может быть использован для изменения определенного слоя/слоев и повторного генерирования объекта на основе множества слоев, что в результате приводит к созданию визуализированного видео 205, которое является крайне реалистичным. Например, если на пользователя одета красная рубашка, красная маска может быть заменена синей маской для того, чтобы визуализировать пользователя в синей рубашке. Так как другие маски остаются без изменений, синяя рубашка будет визуализирована со всеми характерными признаками красной рубашки, такими как затененность, яркость, отражение, текстура и т.п., в результате чего будет визуализирована очень реалистичная синяя рубашка, которой присущи такие же складки и которая повторяет такие же контуры тела, как и красная рубашка. Кроме того, может быть добавлен эффект от некоторых слоев путем операции умножения или путем добавления к кадру модифицированного слоя. Операции вычитания или деления могут также определять отношения между слоями. К дополнительным технологиям, которые позволяют выполнить более сложные манипуляции с предметами, относится технология регистрации, которая может быть основана на растягивании/трансформации нескольких точек объекта или материала для его соответствия границам обрабатываемого объекта.
Модуль может получить исходное видео/изображение, смоделированную мультиканальную маску и требуемое изменение. Требуемое изменение может быть любым сочетанием цвета, яркости, материала, текстуры, символа/логотипа, печатного рисунка, ткани и т.п.
Согласно одному варианту осуществления требуемое изменение может быть за пределами или внутри исходных границ объекта, и модифицированная маска для новых границ объекта может быть создана для замены исходной модели маски.
Согласно одному варианту осуществления требуемое изменение относится к ткани с определенно ориентированной текстурой и цветом, которая может быть вставлена с определенной ориентацией. Согласно этому варианту осуществления ориентация материала может быть модифицирована, а затем соответствующим образом применена. Например, в базе данных могут храниться маски, соответствующие различным тканям, так что пользователь может изменить ткань надетого на него предмета одежды путем простого выбора другой ткани при помощи пользовательского интерфейса. После этого система заменит маску, соответствующую фактическому предмету одежды, надетому на пользователя, на маску ткани, соответствующую выбранной ткани.
Согласно одному варианту осуществления требуемое изменение может представлять собой маску примерки другого пользователя. При помощи технологии регистрации маска примерки другого пользователя может быть применена для подгонки нового объекта к аналогичному объекту пользователя с целью примерки. Например, с первого пользователя снята мерка для рубашки, а со второго пользователя снята мерка для куртки. Для того чтобы показать первому пользователю то, как выглядит куртка для второго пользователя, указанный способ может использовать технологию регистрации, которая выполняет подгонку куртки второго пользователя с тем, чтобы получить и использовать корректную форму границы тела первого пользователя, что может создать более правдоподобную подгонку. Одно из преимуществ этого способа заключается в том, что куртка будет выглядеть более реалистично благодаря тому, что ее визуализируют с сохранением всех текстур от второго пользователя. Для того чтобы добиться таких результатов, этот способ может осуществить регистрацию ориентации, местоположения и размера первого пользователя. Точка регистрации может включать, например, среднюю точку между глаз, края плеч, края талии, колени и т.п. Посредством растяжения или сжатия, вызванных совмещением точки регистрации одного пользователя с точкой регистрации другого пользователя, одежда одного пользователя может быть показана так, как если бы она была одета на другого пользователя.
Согласно одному варианту осуществления маска может быть использована в качестве ориентиров для регистрации виртуального объекта. Согласно одному варианту осуществления маска совместно с записью фона, надлежащим образом преобразованной для замены пользователя, могут быть использованы для удаления пользователя/предмета из изображения/видео.
Согласно одному варианту осуществления может быть осуществлен выбор одного объекта или нескольких (1:n) объектов, моделирование которых необходимо произвести. В случае видео маску создают для каждого кадра. Если пользователь повернется вокруг своей оси, то может быть получена трехмерная или частично трехмерная покадровая модель. На основе этой покадровой модели могут быть получены различные перспективы, которые будут использованы для создания трехмерной модели, которая включает некоторые или все движения пользователя. Впоследствии эта информация может быть использована для создания более правдоподобной виртуальной одежды. Другим словами, в настоящем способе могут быть использованы движения самого пользователя при формировании модели.
Согласно одному варианту осуществления настоящего изобретения визуализация может быть осуществлена в ГП, ЦП, ГП облака или ЦП облака. Входные элементы, визуализацию которых необходимо осуществить, могут поступать из ЦП, из базы данных пользователя в облаке или от активной линии обмена данными с инвентарем/другой базой данных/устройством трехмерной печати, базой данных электронной коммерции, базой данных социальной сети и т.п.
Изменения цвета предмета могут быть основаны на фактической примерке и доступном инвентаре или необязательной трехмерной печати на месте или в заводских условиях для кастомизации. Одно преимущество по сравнению с обычной виртуальной примеркой заключается в том, что предмет одежды показан надетым на тело пользователя так же, как он будет выглядеть в реальности, поскольку при помощи соответствующих масок будут перенесены все складки, тени и т.п. Это является очень важным признаком исходя из многих аспектов. Пользователь может узнать, как предмет одежды сидит на нем, как он может влиять на форму его тела и изменять ее и т.п.
Согласно одному варианту осуществления аксессуар или любой другой предмет может быть добавлен путем изучения динамического движения и модели маски релевантного объекта. Кроме того, фон может быть дополнен таким образом, чтобы изменить существующее окружение или создать отличающееся окружение при помощи одной и той же технологии. После того как все требуемые объекты буду маркированы, может быть получена маска указанных объектов, и затем объединенная маска может быть использована для изменения фона.
Согласно одному варианту осуществления модуль визуализации может визуализировать объект с использованием улучшенной технологии визуализации, которая предусматривает интерполяцию объекта и кадра с повышением разрешения, может объединить объект с высоким разрешением, может сгладить края и может осуществить децимацию объекта обратно в требуемое разрешение с лучшим качеством встраивания в кадр. Дополнительные технологии включают работу непосредственно с краем объекта путем усреднения при помощи некоторого средневзвешенного коэффициента значения пикселя с тем, чтобы лучше смешать объект с фоновым цветом.
На фиг. 3 представлен модуль дополненной реальности, который может заменить часть тела, цвет, ориентацию и текстуру предмета или объекта на переднем или заднем плане изображения, например, указанный модуль может изменить прическу пользователя, изменить глаза пользователя, изменить цвет кожи или волос, может изменить положение глаз и т.п.
Модули 301, 302, 303 и 306 могут работать подобно модулям 201, 202, 203 и 206, входящим в состав описанного ранее модуля дополненной реальности. Модуль 304 может характеризоваться наличием способности вычислять или получать дополнительную информацию, такую как положение головы или направление движения тела, непосредственно из модуля EyesMatch или модуля 307, использующего специализированный детектор движения или ориентации предмета в трехмерном пространстве, и может использовать эту информацию для модификации требуемой части тела, например, получение определенного положения головы позволит выполнить коррекцию направления взгляда путем перемещения глаз маски/модели в требуемом направлении. Кроме того, обнаружение головы может позволить добавить волосы с обеспечением их надлежащей ориентации, шляпу и т.п.
Согласно одному варианту осуществления, когда некоторые размеры требуемой маски меньше исходной маски, модуль 307 может осуществить или произвести в реальном времени или автономном режиме преобразование EyesMatch записанного изображения или видео заднего плана. Благодаря изображению или видео с преобразованным задним планом появляется возможность визуализировать часть тела или предмета с использованием манипуляций с задним или передним планом, например, если необходимо удалить голову или верхнюю часть тела пользователя из видео. Изображение или видео с преобразованным задним планом может быть применено к маске, которая захватывает голову и верхнюю часть тела, и результат может быть визуализирован с преобразованным или не преобразованным исходным видео. Результатом может быть визуализированное видео 305 без головы и верхней части тела пользователя.
Например, в более сложном случае может потребоваться уменьшить длину существующего платья. С этой целью в модуле 304 могут быть выполнены манипуляции с маской для создания более короткой маски для нового платья, и разница между исходной маской и маской после манипуляции может представлять собой новую маску для манипуляции. Некоторые части новой маски будут представлять собой оценку ног пользователя, а другие части новой маски будут представлять собой фон, который будет снова виден из-за более короткой длины платья. Новая маска может быть разделена на ноги и фон, и новый визуализированный объект может принимать форму сочетания фонового изображения и прогнозируемых ног для создания нового визуализированного предмета одежды. Результатом, полученным после визуализации модифицированного предмета одежды на видео, будет пользователь в более коротком платье. Многочисленные техники могут быть использованы для прогнозирования внешнего вида ног в используемой области.
Colograma
Для того чтобы осуществлять манипуляции с цветом и внешним видом элемента в кадре, необходимо идентифицировать пиксели, принадлежащие этому элементу. Обычно это осуществляют путем сравнения цветов, при этом предполагают, что пиксели одного цвета принадлежат одному и тому же объекту. Однако этой процедуре присуща низкая точность. Согласно раскрытым вариантам осуществление сравнение осуществляют с использованием отличных от цвета переменных. В этом способе предпринята попытка имитировать глаз человека, который может различать объекты, даже если части объектов затенены, а другие части интенсивно освещены или даже отражают свет. Например, согласно одному варианту осуществления объект распознают в качестве известного объекта, которому присущи прогнозируемые границы.
В контексте виртуального зеркала к таким объектам могут относиться предметы одежды, такие как рубашка, штаны, куртка и т.п. Следовательно, когда пользователь выбирает рубашку в качестве объекта манипуляций, система применяет прогнозирующую ассоциацию для того, чтобы спрогнозировать положение пикселей, которые должны входить в состав объекта. Например, все пиксели, находящиеся выше головы пользователя, и все пиксели, находящиеся ниже талии пользователя, не должны относиться к рубашке. Таким образом, происходит сокращение пространства поиска. Эффективность такого прогнозирующего алгоритма увеличивается, когда его применяют к кадру, прошедшему процедуру калибровки по технологии Eyesmatch. В качестве яркого примера сочетания этих способов рассмотрим ситуацию, в которой пользователь решил изменить только цвет туфель, при этом, когда кадр калибруют с использованием технологии Eyesmatch, известно приблизительное положение туфель, и все пиксели, находящиеся выше ступни пользователя, могут быть проигнорированы при поиске пикселей, принадлежащих туфлям. Это существенно ограничивает область поиска.
Таким образом, для того чтобы идентифицировать объект для манипуляции, помимо сравнения цветов пиксели могут быть оценены при помощи прогноза местоположения предмета, известной или приблизительной геометрии объекта, текстуры объекта, стандартного отклонения от текстуры, стандартного отклонения от репрезентативного цвета и т.п. Каждой из этих переменных может быть присвоено весовое значение, используемое в статистической оценке каждого пикселя. Кроме того, для каждого параметра может быть присвоено различное значение ошибки или статистического отклонения.
На фиг. 4 представлены способы вычисления, направленные на создание модели для изменения цвета и текстуры, которые могут именоваться Colograma. Эта технология является наиболее предпочтительной для параллельного вычисления, которое поддерживает большое количество пользователей или большое количество кадров/видеозаписей, в отличие от технологий сверхкачественной замены цветов, которые могут применяться в программных продуктах, таких как Photoshop.Такие способы могут требовать значительного времени и могут не подходить для работы с большим количеством изображений или видео пользователей. Следует отметить, что описание последовательности, представленной на фиг. 4, является лишь примером, и что любая производная от изображенной последовательности операций является частью настоящего изобретения.
Одна из проблем, возникающих при замене цвета объекта на видео или изображении, заключается в точной идентификации релевантных пикселей объекта. В случае видеофайла скорость является ограничивающим фактором для подходящего преобразования. На фиг. 4 представлен упрощенный пример способа сегментирования/извлечения объекта из видео. Способ, представленный на фиг. 4, может быть выполнен при помощи систем, описанных со ссылками на фиг. 2 и 3.
r
r
g
g
b
b
W
W
W
В модуле 401 получают модифицируемое изображение или видео. В модуле 402 кадр цветного изображения или видео преобразуют в вектор-столбец, что является необязательным, хотя преобразование данных в векторную форму изображения может значительно ускорить время процесса. Размер вектора равен 1×n, при этом n представляет собой общее количество пикселей в кадре, т.е. общее количество пикселей по ширине умножить на общее количество пикселей по высоте кадра, умножить на 3 для каждого из цветов RGB. Кроме того, в модуле 403 устраняют эффект яркости. Существует множество технологий для устранения эффекта яркости. Согласно этому примеру используют усреднение по энергии для каждого пикселя в хроматическом пространстве XYZ путем деления каждого пикселя на сумму XYZ. Цветовое пространство CIE XYZ включает все цветовые ощущения, которые может воспринять средний человек. Y определяют как светимость (яркость), при этом для любого данного значения Y плоскость XZ будет содержать всевозможные значения цветности при этой светимости. Например, матрица 3×3 может быть применена для преобразования RGB в XYZ с использованием координат цветности системы RGB (x, y), (x, y) и (x, y), а также ее эталонного белого (X, Y, Z).
Параллельно в модуле 404 осуществляют выбор объекта путем определения сравнительного цвета, который может быть использован для анализа всех пикселей с тем, чтобы определить принадлежность к объекту каждого из пикселей. Сравнительный цвет определяют путем статистического анализа цвета K пикселей, которые, как полагается, принадлежат объекту. Это может быть выполнено путем выбора нескольких точек K(х,y), которые, как считается, принадлежат к преобразуемому объекту, например, исходя из знания геометрии или приблизительного положения объекта на изображении. К представляет собой количество местоположений/зон с различимым цветом, которые могут быть сегментированы из фона или других объектов. Согласно некоторым реализациям для каждого местоположения осуществляют выбор окна или зоны вблизи определенной точки для того, чтобы убедиться в том, что точка или пиксель является не аномалией, а представителем конкретной зоны. Затем в модуле 405 каждую точку K(х,y) подвергают преобразованию, которое аналогично преобразованию, осуществляемому в модуле 403. В модуле 406 осуществляют k итераций для того, чтобы найти цвет каждого пикселя, и, исходя из этого, определить наиболее подходящий репрезентативный цвет объекта. Этот цвет может быть использован для проведения последующего исследования с тем, чтобы найти все пиксели, которые принадлежат объекту. Согласно этой технологии К равно или больше 2. Для каждого k вычисляют эвклидово расстояние в двухмерной или трехмерной системе координат. Минимальное расстояние и значение К сохраняют и используют в качестве сравнительного или репрезентативного цвета. Эта операция может быть осуществлена для всех пикселей одновременно при помощи относительно быстрого процесса.
,
После осуществления K итераций может быть получено маркированное изображение. Евклидово расстояние «dist» является лишь примером вычислительного способа выявления различия между цветами; при этом существуют другие способы вычисления расстояния между цветами, например, модель цветового различия на основе человеческого восприятия цвета (хроматизм, насыщение и яркость), усовершенствованные калиброванные технологи для сопоставления чувствительности и способности отличать цвет человеческим глазом, такие как CIE76, CIE94, CIEDE2000 и т.п., или любое сочетание с растяжением по глубине гистограммы от инфракрасной/трехмерной камеры, цветовой интеграцией во времени или любым другим способом улучшения чувствительности обнаружения цвета (модуль 411). Применение дополнительной информации из модуля 411 или пересечение с ней может произойти в модуле 406 сравнения расстояния, на конечной стадии работы модуля 409 создания модели или любом сочетании в зависимости от природы дополнительной информации (детерминистической, статистической, переменной во времени и т.п.).
Например, при использовании инфракрасной камеры изображение, снятое указанной камерой, может быть совмещено с изображением, снятым стандартной камерой. Затем изображение инфракрасной камеры может быть использовано для упрощения отделения пользователя от фона. Эта информация может быть использована для ограничения пикселей изображения стандартной камеры, которые оценивают на предмет того, принадлежат ли они объекту или нет. Например, при выполнении сравнения при помощи вектора, информация из инфракрасной камеры может быть использована для уменьшения количества данных в векторе, который должен быть оценен. Аналогично, маска текстуры может быть использована для удаления пикселей из вектора оценки. Например, текстура ковра может быть сохранена и любая секция изображения, характеризующаяся наличием этой такой же текстуры, может быть удалена из оценки, так как известно, что ковер не имеет отношения к одежде пользователя. Таким образом, несколько слоев или масок могут быть использованы для обработки вектора, а также для увеличения точности результатов изоляции объекта и присваивания всех пикселей, которые принадлежат объекту.
Помимо цветового различия могут быть использованы другие технологии, которые могут предоставить дополнительную информацию об объекте для улучшения конечного решения, такие как правдоподобие зоны (данный пиксель должен иметь соседей или должен быть окружен некоторым количеством пикселей), характеристика зоны, фильтры границы для изоляции границы объекта перед вынесением решения, данные удаленности (которые обычно необходимы для сопоставления контура указанных данных с конечным изображением объекта в двухмерной или трехмерной системе координат), интегрирование по времени для определения, находится ли пиксель в зоне объекта на протяжении множества кадров, и т.п.
Модуль 407 является примером одного варианта осуществления, как отличить требуемые цвета от остального цветового пространства. В модуле 407 все пиксели, которым присуще расстояние, превышающее пороговое значение, сбрасывают на ноль в качестве нерелевантных (пиксель с цветом, отличающимся от любого цвета 1 до k), при этом всем релевантным пикселям присваивают значение 1, создавая бинарную маску, которая идентифицирует все пиксели, принадлежащие объекту.
Модуль 407 представляет собой пример, в котором существует необходимость отделить определенный цвет или цвета. В этом случае все индексы могут быть обнулены за исключением необходимого. Процесс протекает следующим образом: обнуление всех нерелевантных индексов, получение значения фона и нерелевантных цветов, равного нулю, и выбор объекта желаемого цвета, маркированного единицей. Если объекту присуще более одного цвета, единица может быть присвоена любым выбранным индексам от 2 до k+1, а ноль будет присвоен все остальным.
В модуле 408 черно-белый фильтр может быть использован для удаления шума и сглаживания формы объекта. Другие технологии могут быть использованы для улучшения решения о том, какие из пикселей относятся к объекту. В результате индекс для всех релевантных цветов начинается с 2 до K+1.
В модуле 409 полученную черно-белую маску применяют к исходному цветному изображению, и получают трехмерную модель изменений цвета и текстуры. Модель может быть 2D альфа-каналом полутоновой шкалы или 3D в цветовом пространстве. Модуль 410 может получить двухмерную или трехмерную модель объекта. В случае видео, снимаемого одной камерой, существует возможность получить трехмерную модель, если пользователь двигается перед камерой, например, поворачивается на 360° перед камерой. В этом случае также можно осуществить измерение объекта в нескольких срезах для оценки изгибов тела пользователя в трехмерном пространстве.
Ниже приведен пример ввода двухмерных данных в генератор модели, в котором необходимо создать модель голубой рубашки пользователя, изображенного на фиг. 9. На фиг. 10 приведен пример двухмерной модели или маски рубашки без данных о цвете. Вместо этого, генерируют полутоновую маску выбранного объекта, который в этом случае является рубашкой, и указанная маска может быть использована с применением любого цвета. Следовательно, сохраняется текстура рубашки, что относительно упрощает манипуляцию с цветом или текстурой или даже изменение границы модели для создания другого объекта.
Модель, основанная только на изменении цвета, является не идеальной с точки зрения качества, следовательно, дополнительная информация и технологии могут быть использованы для улучшения качества модели объекта (см. модуль 411). Обеспечивающие дополнительную информацию технологии, такие как интерполяция и децимация или сглаживание краев, могут быть применены после обработки при помощи модуля 410 с тем, чтобы улучшить качество модели.
Измерения параметров тела
На фиг. 5 представлен пример способа извлечения размеров тела из изображения, нескольких изображений или короткого видео. Измерения параметров тела могут быть использованы для различных практических применений и служб, таких как, например, оценка массы, определение наилучшим образом сидящей одежды, мониторинг формы и массы тела во времени и т.п. Поскольку система получает много изображений пользователя в различных позах и ориентациях, можно выбрать лучшее изображение для осуществления измерения параметров тела. Определение того, какое из изображений выбрать, может быть осуществлено перед процессом, представленным на фиг. 5, или как его часть. В частности, хорошие данные измерения тела могут быть получены, когда тело пользователя на изображении выровнено перпендикулярно оптической оси камеры. Это может быть определено путем первоначального определения, располагается ли лицо симметрично вдоль вертикальной линии, проходящей посредине расстояния между глазами. Если лицо выглядит симметрично вдоль этой линии, вертикальную линию, проходящую вдоль центра тела, можно использовать для подтверждения того, что тело является симметричным вдоль этой линии. На этой стадии может быть выполнено удаление рук из изображения, чтобы только центр тела рассматривался при определении симметрии. Процесс удаления рук из изображения более подробно описан ниже.
2
В модуле 501 анализ изображения проводят с использованием анализа границы тела и индикатора массы тела (ИМТ), применяя вначале процесс, подобный подходу EyesMatch, описанному в заявке на выдачу патента США №13/843,001. Согласно этому подходу изображение переупорядочивают и преобразовывают для компенсации искажения из-за настроечной конфигурации камеры, а также оптического искажения. Примеры вызывающих искажение настроечных факторов включают расстояние от пользователя до камеры, высоту расположения камеры, угол проекции камеры, оптическую систему поля обзора камеры и другие оптические искажения. После коррекции изображения каждый представленный одним пикселем участок может иметь примерно одинаковую площадь (см). Обработка может быть выполнена в ЦП, ГП, ПЦОС, расположенном в камере, локальном компьютере поблизости от камеры или удаленном сервере.
Модуль 502 является необязательным элементом, который может выполнить преобразование двухмерного изображения в векторную форму для ускорения обработки. Размер вектора представляет собой ширину изображения, умноженную на высоту изображения, умноженную на три пикселя (для RGB). Изображение, введенное в модуль 501, может также уже представлять собой вектор. Некоторые типы обработки изображений проще выполнить в отношении двухмерной матрицы, тогда как другие типы обработки изображения лучше подходят для векторного изображения.
В модуле 504 можно выполнить определенные манипуляции с цветом для того, чтобы устранить эффекты освещения и насыщенности на векторном изображении. Это выполняется подобно тому, как описано выше в отношении модуля 403.
В модуле 506 изображение может быть пропущено через фильтр обнаружения краев, который подчеркивает изменения цвета и улучшает видимость границы тела. Механизм обнаружения краев может сохранять края границы тела, при этом он может работать с различными направлениями краев. Например, фильтр обнаружения краев, который характеризуется возможностью обнаружения вертикальных, горизонтальных краев и краев под углом +/-45°, может обеспечивать хорошее обнаружение краев границы тела.
Модули 504 и 505 могут предоставлять дополнительную информацию для алгоритма, который помогает осуществить анализ изображения, например, пол, возраст, расу пользователя и т.п., а также статистические пропорции, связанные с этой информацией. Эта информация может быть использована позже для облегчения поиска частей тела. Данные измерения роста могут быть использованы совместно с дополнительной информацией о пропорциях тела для облегчения поиска определенных частей тела, например, груди, пупка, талии, таза и т.п.
Модуль 507 может обеспечить обнаружение головы. Существует множество технологий для обнаружения головы. Например, можно взять изображение с выделенными краями, зеркально отразить его вдоль длины тела и выполнить корреляцию между изображениями. Пик корреляции может указывать на центр массы тела. Другой альтернативный способ представляет собой вычисление центра массы центроида только на основе краев. Вычисление центра массы центроида может быть менее точным, когда свет, падающий на пользователя, является недостаточно равномерным; однако эта технология может быть более быстрой. Другие технологии могут быть основаны на распознавании образа, обнаружении глаз, носа и формы головы. После того как центр массы найден, релевантное окно может быть вырезано для идентификации тела на изображении. Кроме того, при помощи выделенного края конца головы может быть определена высота (рост) пользователя в пикселях. Поскольку изображение характеризуется равномерным весом единицы длины на каждый пиксель, общая высота может быть соответственно вычислена. Предполагается, что преобразование, выполняемое в модуле 501, будет давать единообразные обработанные изображения для некоторых условий, например, удаления 1-5 метров (м), на которых фактическая высота пользователя на экране в пикселях будет пропорциональна фактической высоте пользователя. Дополнительные факторы могут быть добавлены, если это предположение не является обязательным для всех расстояний.
Модуль 508 может измерять размер частей тела в пикселях. Эта технология может представлять собой дополнительную обработку интересуемой области с тем, чтобы еще больше выделить часть тела. На фиг. 13 представлен пример результата выполнения дополнительных процессов, которые удаляют руки от тела и указывают на различные интервалы, в которых следует определять конкретные размеры тела. Интервалы могут быть вычислены путем генерирования вертикальной центральной линии 1301, которая может проходить через центр тяжести или ось вертикальной симметрии изображения пользователя. Затем могут быть добавлены горизонтальные секущие линии для того, чтобы сгенерировать области, подходящие для измерения параметров тела. Например, линия 1303 устанавливает границы места, в котором ноги соединяются с туловищем, а линии 1304 и 1305 устанавливает границы самой узкой области талии.
Данные измерений в пикселях могут быть переведены в сантиметры (см) в соответствии с расчетной кривой, например, шея может быть смоделирована в виде цилиндра, так что измеренная ширина шеи в пикселях может быть представлена как 2×R (где R - радиус) в пикселях, а затем величины радиусов в пикселях могут быть преобразованы в сантиметры при помощи калибровки. Груди мужчины присуща более эллиптичная модель, так что преобразование будет слегка отличаться. Если доступны дополнительные измерения, выполняемые с одной или нескольких сторон тела, такие измерения могут быть добавлены для предоставления более точной информации для модели.
В модуле 510 данные измерений могут быть выведены из типа тела пользователя, например, формы в виде груши, когда таз шире груди и талии (см. фиг. 11 и 12). Кроме того, некоторые виды анализа могут предложить следующее:
1. Определение риска для здоровья на основе состояния тела в контексте сердечных заболеваний и т.п.;
2. Определение типа одежды, который наилучшим образом подходит к типу фигуры пользователя;
3. Выявление тенденций изменений, происходящих в теле пользователя, для сравнения с исходным состоянием;
4. Создание специализированной рекламы, основанной на типе тела пользователя (например, пользователи с телом типа мезоморф/ендоморф могут получить специализированные купоны для питания, которое наилучшим образом подходит к их типу тела);
5. Распознавание тела; и
6. Выполнение диагностики тела, что позволяет осуществлять наблюдение за изменениями тела во времени (состоянием позвоночника, гибкостью, возникновением потенциальных опухолей и т.п.).
Информация о ИМТ пользователя может быть установлена или оценена исходя из модели объекта, описанной на фиг. 4, или непосредственно при помощи анализа изображения для получения ИМТ, как описано на фиг. 5.
В различных практических применениях «изучение» текстуры определенных изделий на изображении является предпочтительным. Согласно различным вариантам осуществления вначале выполняют отделение объекта от изображения для того, чтобы измерить текстуру с хорошим разрешением. Согласно одному варианту осуществления после сегментирования элемента или части тела может быть реализована дополнительная детальная реконструкция или измерение текстуры. Измерение текстуры может быть выполнено при помощи двухкоординатных или трехкоординатных датчиков (камеры).
В вариантах осуществления, в которых используют двухкоординатный датчик, могут быть реализованы следующие два примера. Поскольку пользователь будет двигаться перед зеркалом, указанная система может получить два изображения (например, два последовательных изображения), которые будет использованы для расчета удаленности или текстуры. Существует множество способов для осуществления этого, и, например, система может извлечь два или более изображений из видео и, исходя из данных обнаружения центра массы, может рассчитать расстояние, а также использовать указанное расстояние для стереоскопического расчета текстуры. То есть, при получении стереоскопического изображения при помощи двух камер, расстояние между камерами является известным, так что может быть выполнена триангуляция с использованием расстояния между двумя камерами и их угла оптической оси. Однако если имеется лишь одна камера, тогда система делает снимки двух изображения при помощи одной камеры, при этом указанные снимки разделены по времени. Следовательно, положение пользователя на первом изображении будет несколько отличаться от положения пользователя на втором изображении. Затем система вычисляет разницу между двумя изображениями и осуществляет обратную триангуляцию. Это может быть выполнено путем вычисления, например, центра массы каждого изображения, за которым следует вычисление расстояния х-y между двумя центами массы (например, в пикселях). Это может быть использовано для осуществления обратной триангуляции, как будто бы два изображения были получены при помощи двух камер. Другие ориентиры могут быть использованы для вычисления расстояния, например, процессор может идентифицировать глаза на двух изображениях, а также вычислить расстояние между глазами на двух изображениях. Другой опцией является определение вращения пользователя, т.е. (r,), и осуществление обратной триангуляции с использованием этих данных. В любом из этих способов, так как высота установки камеры может превышать высоту цента массы пользователя, например, камера может быть установлена сверху монитора, обратная триангуляция может быть использована для вычисления удаленности, действуя в качестве датчика удаленности.
Альтернативно, система может отыскать приметные ориентиры на двух изображениях и попытаться совместить их, а потом удалить все ориентиры без четкой идентификации. Это может быть выполнено при помощи, например, технологии сопоставления случайных образцов RANSAM для того, чтобы отыскать из случайного набора ориентиров группу, которая характеризуется подобным поведением, и использовать эти ориентиры с тем, чтобы найти расстояние в пикселях для измерения текстуры или трехмерной конструкции элемента.
Другой опцией является оценка расстояния между зеркалом и телом на основании удаления и вращения тела. Например, если система может измерить положение тела пользователя, она сможет оценить текстуру.
С трехкоординатным датчиком система может работать так же, как и с двухкоординатным датчиком, хотя для улучшения динамического диапазона и точности, системе необходимо будет изолировать измеряемый элемент. Вычитание фона может быть улучшено при помощи грубого порога измерения удаленности. Система может оценивать текстуру в каждом кадре или через несколько кадров и просто сгладить изменения текстуры между кадрами посредством фильтра Калмана или других технологий интерполирования/экстраполирования.
Согласно некоторым вариантам осуществления только трехкоординатный датчик будет генерировать данные измерения удаленности, которые будут использованы для управления параметрической моделью аватара пользователя. Пользователь может быть виртуально одет, а также полностью исследован со всех сторон. Дополнительно, система может управляться таким образом, чтобы адаптировать координатное перемещение к пользователю для связанного с зеркалом практического применения или видеоконференции. Для того чтобы сопоставить движение аватара с движениями пользователя, может быть использована технология регистрации, в которой ориентиры регистрации могут быть распределены различными способами, например, при помощи технологии автоматического обнаружения приметных элементов и технологии случайного отбора и сопоставления RANSAM. После того как у системы появятся ориентиры, перемещение аватара на основе фактических перемещений пользователя облегчается. Данные от датчика удаленности или трехмерной камеры могут пройти через аналогичный программный механизм преобразования отображения, при этом результат может быть основой для создания более точного трехмерного аватара пользователя. Аватар может быть полностью или частично использован в качестве базы модели для представления виртуальных элементов на пользователе.
Другая технология, предназначенная для того, чтобы добиться соответствия отображения при помощи регистрации, заключается в идентификации элемента на изображении, такого как голова, руки, верхняя часть тела и ноги, и сопоставления движения аватара с движением этих элементов. Движение может быть измерено и оценено в каждом кадре или через несколько кадров, и сглаживание грубых движений аватара может быть выполнено при помощи технологии фильтра Калмана. Движение аватара может быть осуществлено в реальном времени, полуреальном времени или в автономном режиме.
Согласно некоторым вариантам осуществления система принимает поток изображений (поступающий либо от одной камеры, от двух камер или от трехмерной камеры) и использует указанный поток изображения для генерирования виртуальной реальности в реальном времени. Исходные изображение, поступающие из камеры, отбрасывают, и вместо них на мониторе отображается виртуальный мир. Поскольку изображения в реальном времени используют для генерирования виртуальной реальности, изображения виртуальной реальности правдиво представляют реальный мир, отображаемый камерами. Таким образом, как отмечено выше, изображения в реальном времени могут быть использованы для генерирования аватара в реальном времени, при этом аватар правдиво представляет пользователя, запечатленного на изображениях. С другой стороны, фон и предметы одежды, одетые пользователем, могут быть изменены, в результате чего аватар пользователя может быть отображен так, как будто бы он находится в другом месте и на нем одета такая же или другая одежда. Например, если пользователь меряет лыжную куртку, то изображения в реальном времени могут быть использованы для генерирования аватара, который соответствует пользователю и который одет в такую же куртку, при этом фон может быть изменен таким образом, чтобы отображался лыжный склон, так что пользователь сможет увидеть себя одетым в лыжную куртку на лыжном склоне.
С другой стороны, также возможно сохранить изображения в реальном времени, а затем работать с ними в автономном режиме, в результате чего доступна большая производительность для того, чтобы сгенерировать видеофильм с использованием аватара, полученного на основании пользователя. Затем видеофильм может быть отправлен пользователю, например, по сети Интернет.
Связанные с безопасностью и другие практические применения
На фиг. 6 представлен пример связанного с системой безопасности практического применения для многоуровневого изучения и аутентификации пользователя. Это всего лишь один пример возможной реализации порядка выполнения; при этом любая модификация порядка выполнения или другое разделение функций между модулями диаграммы является частью настоящего изобретения.
Как и на предыдущих фигурах, неподвижные кадры или видеоданные из устройства 601 могут поступать в модуль 602 отбора изображения. Модуль 602 отбора изображения может управляться событием-триггером, например, событиями-триггерами, описанными ранее и обработанными модулем 607 событий-триггеров, которые могут предоставить информацию и правила отслеживания для запуска процесса отбора изображения. В частности, модуль 602 отбора изображения может отбирать изображение из устройства 601 ввода и направлять его в модуль 603 преобразования EyesMatch совместно с дополнительной информацией отслеживания (геометрическими измерениями в реальном времени). Исходя из информации отслеживания и условий события, модуль 603 преобразования EyesMatch может рассчитывать преобразование для осуществления манипуляций с точкой съемки, углом обзора камеры и т.п., чтобы создать калиброванное изображение сцены. Дополнительно, преобразование EyesMatch может быть осуществлено локально в ГП/ЦП/ПЦОС, в облаке и т.п. Согласно одному варианту осуществления расширенная информация о пользователе или о геометрической структуре сцены может поступать в алгоритм отслеживания и может участвовать в калибровке. Дополнительная информация может быть предоставлена в качестве единовременной геометрической информации, такой как рост пользователя, расстояние между его глазами и т.п. В этом случае дополнительная геометрическая информация может быть использована для вычисления требуемой информации. Различия между искаженным изображением и известной геометрией могут быть использованы для расчета и калибровки преобразования.
Калиброванные выходные данные из модуля 603 преобразования EyesMatch могут быть направлены в модуль 604 сканера безопасности, который также может именоваться модулем анализа сцен. Модуль 604 сканера безопасности может быть адаптирован для изучения одного или более из следующего: сканирование границы тела или изгиба тела на основе нескольких технологий, таких как, например, обнаружение краев, статистическое обнаружение краев, ИК-камера, микроволновой датчик, трехмерная камера, одиночная камера и несколько срезов, когда пользователь поворачивается на 180°. Полная трехмерная модель тела может также быть получена, когда пользователь поворачивается перед видеокамерой, и одежда пользователя может быть извлечена в альфа-канал, как описано в технологии, изображенной на фиг. 4, т.е. Colograma, и т.п.
Другие способы изучения и аутентификации включают, например, обнаружение одежды, при помощи которого характеристику предмета создают и сохраняют в базу данных. База данных может быть обновлена при помощи сети Интернет, путем сканирования одежды из многочисленных баз данных и электронных магазинов или путем активного сканировании и обновления информации оператором, например, может быть введена униформа персонала службы безопасности, тип ткани и т.п.
Кроме того, сочетание технологии EyesMatch с распознаванием лица может позволить оператору установить камеру на высоте, превышающей рост человека, например, над дверным проемом, и наклонить ее вниз под углом приблизительно 30-45°; такая установка камеры позволяют пользователю свободно проходить под камерой. Согласно этому сценарию, например, рабочий диапазон распознавания лица составляет приблизительно 1-5 метра перед камерой. Это является преимущественным, так как известные системы распознавания лица характеризуется низкой точностью, когда сканирование головы пользователя осуществляется под углом +/-15°.
Дополнительные датчики аутентификации тела могут предусматривать проверку голоса, запаха, ладони, отпечатков пальцев, глаз, ДНК, скелета при помощи датчиков рентгеновского излучения или ультразвука, зубов, волос, отпечатков, цвета кожи, глаз, крови, глаукоматозного ореола, отметок на коже, ушей и т.п.
Видеоданные, неподвижные кадры или анализированные данные, поступающие непосредственно из камеры, из модуля 604 преобразования EyesMatch, из обработанного изображения или из данных от датчиков, могут быть сохранены в модуле 605 записи неподвижных кадров/видео.
Видео/изображение или анализированные данные могут быть отображены на экране перед пользователем (в полном размере или с уменьшением размера), переданы в облако или переданы непосредственно в центр управления для отображения на экране 606 или в некоторый модуль для дополнительной обработки и анализа.
Модули 607, 608, 609 и 610 аналогичны соответственно модулям 107, 108, 109 и 110 (см. фиг. 1 и связанное с ней описание).
На фиг. 7 представлен пример связанного с системой безопасности практического применения для параллельной или внутриполосной манипуляции камерой.
Возможности устройства, изображенного на фиг. 7, могут быть реализованы в автономном устройстве так, как это изображено на фиг. 7, или как часть возможностей ПЦОС камеры; управление активацией опции может быть осуществлено по беспроводной связи или при помощи проводной инфраструктуры. Дополнительно, некоторые из возможностей могут быть реализованы в удаленном местоположении, например, измерение и отслеживание. Дополнительно, устройство может быть расположено перед камерой и может проецировать модифицированное изображение на небольшом экране в камеру.
Основной поток данных камеры может поступать в устройство или устройство может быть адаптировано для ответвления и анализа основного потока данных камеры. Устройство может быть адаптировано таким образом, чтобы после осуществления обработки выполнять параллельную посылку данных оператору.
Устройство может характеризоваться возможностью обработки множества изображений, возможностью геометрического преобразования EyesMatch, например, в модуле 703 преобразования EyesMatch, возможности измерения параметров тела и аутентификации пользователя, например, в модуле 704 сканера безопасности, и возможностями дополненной реальности, например, в модуле 706 дополненной реальности, при этом манипуляции с изображением могут быть выполнены в основном потоке данных или параллельно основному потоку данных, например, манипуляции могут включать в себя изменение типа тела пользователя, цвета волос и кожи пользователя, предметов, удерживаемых пользователем, прически, полное исчезновение пользователя и т.п. Эти возможности являются очень важными для применения в целях обеспечения безопасности.
Дополнительно, поток видеоданных может быть направлен в другое устройство, такое как робот, проекционный головной дисплей, пользовательское приложение и т.п.
Интерфейс для управления функциональными возможностями устройства может быть реализован при помощи проводной или беспроводной инфраструктуры или может быть реализован локально или удаленно. Модуль измерений может находиться внутри устройства или в облаке.
Согласно одному варианту осуществления указанные возможности могут быть осуществлены, например, в реальном времени или в автономном режиме. Активирование устройства может быть осуществлено, например, периодически в ответ на событие-триггер или вручную в случае необходимости или по желанию.
Указанное устройство может поддерживать осуществляемое в реальном времени управление и триггеры для других устройств, например, проектор для изменения изображения, которое пользователь может видеть (маскировка), или событие-триггер для высокоточного устройства устранения угрозы, которое нуждается в точном координировании спереди камеры.
Пользователь может поделиться видео в режиме реального времени с дополнительными терминалами. Существует множество путей осуществления этой операции. Некоторые иллюстративные сценарии рассмотрены более подробно ниже.
Существует возможность поделиться впечатлением зеркального отображения с одним или несколькими удаленными пользователями, при этом пользователь видит себя на локальном терминале, и удаленный пользователь видит отражение указанного пользователя в зеркале и разделяет полученное им впечатление. Удаленный пользователь может использовать любое подходящее устройство; при этом основной эффект заключается в том, чтобы увидеть пользователя, который стоит перед зеркалом и выполняет некоторые действия, предназначенные для просмотра. Пользователь сможет увидеть свое зеркальное отображение на основе технологии EyesMatch или любой другой технологии. На фиг. 8а представлен этот сценарий. Удаленный пользователь может только видеть трансляцию видео пользователя, писать пользователю, говорить с пользователем и/или отображаться в небольшом окне на зеркальном экране.
На фиг. 8 представлено совместное использование эффекта зеркального отображения в видеоконференции, предусматривающей возможность голосового общения. Как изображено на фиг. 8а, впечатлением зеркального отображения можно поделиться в режиме реального времени с пользователем/пользователями в облаке или посредством другого зеркального терминала. В первом случае пользователь может видеть себя в зеркальном режиме, однако поток видеоданных, который идет в облако, нуждается в дополнительном зеркальном отражении для коррекции направления взгляда на другой стороне. Следовательно, когда пользователь (в зеркальном режиме) смотрит вправо или влево, его глаза/взгляд на другой стороне будут/будет перемещаться в надлежащем направлении, как если бы он смотрел в этом направлении.
На фиг. 8b представлено совместное использование полноразмерной видеоконференции. В отличие от обычной видеоконференции, в которой изображение из камеры может быть передано «как есть» на другую сторону, в зеркальном терминале изображение, пересылаемое другой стороне, должно быть зеркально отражено слева направо в удаленном местоположении. Это может быть осуществлено при помощи зеркального отражения полученного зеркального изображения локально или в удаленной стороне.
Рассмотрим фиг. 8b, когда два или более пользователей общаются друг с другом с использованием полноразмерных терминалов, пользователь/пользователи в одном терминале будут видеть пользователя/пользователей с другой стороны в надлежащей ориентации. Как показано на фиг. 8b, пользователь может видеть себя на локальном экране с левой стороны, при этом указанный пользователь может видеть другого пользователя с правой стороны на указанном экране. В этом случае локальное видео уже зеркально отражено, при этом дополнительный разворот/отражение будут необходимы при передаче потока видео в удаленное местоположение/местоположения (при трансляции).
Любые сочетания зеркального отображения, отражения, поворота и подобных действий, осуществляемых в отношении локального или передаваемого видео для того, чтобы согласовать указанный эффект локального зеркала и коррекции взгляда с другим удаленным местоположением, являются частью настоящего изобретения.
Согласно одному варианту осуществления оба терминала настроены при помощи технологии EyesMatch/калиброваны с одинаковыми геометрическими параметрами и размерами; при этом любой из терминалов создает полноразмерное зеркальное отображение и посылает его в удаленное местоположение/местоположения. Впечатление присутствия в полный рост и сопоставление глаз (технология EyesMatch) будет также иметь место при проведении видеоконференции, при этом у пользователя будет создаваться ощущение, что участники конференции смотрят в глаза друг другу.
Согласно одному варианту осуществления, когда в одном местоположении находятся несколько пользователей, коррекция EyesMatch или коррекция искажения тела может быть выполнена для каждого пользователя с использованием возможности отслеживания каждого пользователя или для всех пользователей одновременно. Для того чтобы устранить линейный эффект, в этом случае возможности дополненной реальности могут заменить фон, как описано выше. В режиме дополненной реальности технология Colograma или другая технология могут быть использованы для замены существующего фона на однородный фон. Соединительная линия может быть расположена между пользователями для устранения линий или разрывов в отношении самих пользователей.
Согласно одному варианту осуществления, когда используют более двух терминалов, экран может быть разделен для того, чтоб несколько пользователей из нескольких местоположений могли быть отображены одновременно, или несколько экранов могут быть размещены рядом друг с другом, как изображено, например, на фиг. 8. В частности, на фиг. 8с представлено несколько зеркал/полноразмерных терминалов с полиэкраном или несколькими экранами. Как изображено на фиг. 8, порядок, в котором пользователи отображены в зеркале, предусматривает связь с корректным отображением взглядов пользователей. Например, когда пользователь смотрит вправо относительно удаленного экрана, после разворота, он будет наблюдать пользователя, смотрящего влево в направлении удаленного пользователя.
Следует отметить, что это является лишь примером и что любое количество пользователей рядом с экраном или в удаленном местоположении должны быть организованы для обеспечения надлежащего отображения взгляда. Согласно одному варианту осуществления дополнительное улучшение взаимодействия взглядов или глаз пользователей может быть применено для увеличения впечатления. Согласно одному варианту осуществления экран может включать поддержку трехмерного режима, при этом поддержка трехмерного режима предусмотрена для каждого пользователя на экране.
Согласно одному варианту осуществления, помимо обработки EyesMatch или любой другой компьютеризированной обработки изображения с одной стороны, в удаленном местоположении может существовать дополнительная компьютеризированная возможность обрабатывать видео на дальнем конце на основе локального отслеживания пользователя, например, если пользователь пододвинется к экрану, видео или изображение на дальнем конце будет обработано так, чтобы при отображении выглядеть немного больше для более полного ощущения живого общения. В другом примере, когда пользователь приблизится к экрану на одном конце, произойдет увеличение его поля обзора на дальнем конце.
Пользовательский интерфейс
Настоящее изобретение включает признаки виртуальной системы управления виртуальным зеркалом для облегчения удобства работы с виртуальным зеркалом. Виртуальная система управления виртуальным зеркалом может включать множество режимов работы, включая, например, состояние «включено», состояние «выключено», перезапуск, режим зеркального отображения, режим отображения, режим ожидания и т.п. Виртуальная система управления виртуальным зеркалом может включать аутентификацию и регистрацию пользователей, которые могут быть выполнены автоматически, вручную или полуавтоматически. Виртуальная система управления виртуальным зеркалом может включать оптимальную последовательность операций для облегчения и улучшения взаимодействия с пользователем.
Виртуальная система управления виртуальным зеркалом может включать один или несколько интерфейсов для управления зеркалом, например, автоматическое распознавание жестов, голоса, взгляда, управление при помощи мобильного приложения, удаленного специалиста, локального содействия и т.п. Виртуальная система управления зеркалом может включать комплексное сочетание интерфейсов, включая следующее: воспроизведение записанного видео (в автоматическом или ручном режиме); продвинутые эффекты (изменения цвета предметов, элементы дополненной реальности, элементы игр, изменение фона, трехмерные эффекты, эффекты освещения и т.п.); режим экрана (ориентация экрана/полноразмерный экран или полиэкран); совместное использование технологий и способов для того, чтобы поделиться впечатлениями с друзьями/специалистами в реальном времени и «на ходу»; мобильное пользовательское приложение для управления отображением и совместным использованием, например, совместным использованием частных видео клипов и изображений, полученных при помощи виртуального зеркала или мобильного устройства пользователя; дистанционное управление розничными продажами или предприятием для общего руководства (предоставление информации розничных операторов о пользователе в реальном времени с улучшенными возможностями управления и анализа); и модуль для обучения пользователя работе с указанным зеркалом (анимация, видео, голосовая помощь, визуальные подсказки и т.п.).
На фиг. 14, 15 и 16 представлены примеры последовательности операций для пользовательского интерфейса (ПИ) виртуального зеркала, которые могут быть выполнены в заданном порядке для создания впечатления зеркального отображения. Когда указанная система не используется пользователями, зеркальный экран и/или вычислительное устройство, которое выводит данные на экран, могут быть выключены или оставаться включенными с демонстрацией экранной заставки для предотвращения преждевременного выхода из строя электроники дисплея. Зеркальный терминал может быть выполнен с возможностью автоматического запитывания. Управление зеркальным терминалом может осуществляться локально при помощи пульта или дистанционно через облако для осуществления перезагрузки и перевода в нормальный режим эксплуатации.
Когда система включена, перед тем как пользователь станет перед зеркалом, указанная система работает в режиме ожидания, во время которого контроллер может выполнять преобразование для имитации зеркального отражения. После того как пользователь входит в определенную зону перед полем обзора камеры, процессор может отслеживать пользователя в записываемом изображении. На основании отслеживания механизм обработки видеоданных процессора может рассчитать преобразование изображения для имитации свойств зеркала.
В режиме ожидания, когда перед зеркалом нет пользователя, монитор обычно может отображать экранную заставку, статическое изображение, видео клипы и т.п. Для обобщения всех этих примеров может быть использован термин «изображение режима ожидания», при этом термин «изображение» включает видео. Во время режима ожидания монитор может также отображать фоновое изображение, записанное камерой в этом конкретном случае. Для того чтобы надлежащим образом отобразить фоновое изображение так, чтобы оно выглядело подобно зеркальному отражению, механизм обработки видеоданных контроллера может принять настройки по умолчанию (например, 2 метра от монитора) и применить преобразование, ориентированное на дистанцию два метра, к потоку данных камеры для создания эффекта зеркального отображения в отношении окружающей обстановки, как изображено, например, на фиг. 14.
Согласно различным вариантам осуществления система способна автономно распознавать присутствие пользователя перед камерой и автоматически запустить процедуру имитации зеркала, включая идентификацию пользователя, сопоставление учетной записи и т.п. Согласно одному варианту осуществления присутствие пользователя определяют путем постоянного анализа изображений, получаемых камерой, для обнаружения изменений в изображении и идентификации пользователя. В одном примере зона-триггер может быть обозначена посредством коврика или при помощи особых отметок на ковре перед камерой и в пределах ее поля обзора. Ковер может быть выполнен таким образом, чтобы характеризоваться специальным рисунком или цветом, который облегчает отслеживание и обнаружение пользователя. Дополнительно, цвета ковра могут улучшить качество видео, например, путем увеличения контраста. Например, более светлые цвета могут быть использованы для того, чтобы улучшить освещенность, а также качество полученного в результате видео. Согласно одному варианту осуществления более светлые и более темные цвета могут чередоваться в рисунке на ковре с интервалами 5-10 см для того, чтобы, когда на ковре стоит пользователь, обутый в темные или светлые туфли, туфли пользователя могли быть легко обнаружены и отслежены, и максимальная ошибка по дальности составляла не более половины интервала разделения цветов, т.е. 5-10/2. Согласно одному варианту осуществления ковер может содержать инструкции для пользователя, информирующие его о том, как работать с зеркалом. Альтернативно, согласно одному варианту осуществления включение устройства может быть обеспечено, когда пользователь наступит ступней на сенсорную площадку для того, чтобы управлять зеркалом при помощи ступни, а не при помощи рук или голоса. Согласно одному варианту осуществления зеркало может указать пользователю на то, чтобы ему необходимо находиться в определенном месте, например, когда пользователь подойдет ближе к зеркалу, зеркало может переключиться обратно режим ожидания или может обрезать на изображении ноги пользователя и т.п.
Система может быть сконфигурирована таким образом, что, когда пользователь войдет в зону отслеживания и регистрации перед зеркалом, механизм обработки видеоданных контроллера среагирует и начнет отслеживать объект. Исходя из местонахождения объекта, механизм обработки видеоданных может корректировать преобразование видео для имитации свойств зеркала. Дополнительные входные данные для осуществления отслеживания могут включать рост, пространственное расположение, положение пользователя и т.п., как описано в отношении процесса EyesMatch. На этой стадии пользователь все еще не зарегистрирован системой, так что может быть осуществлен дополнительный процесс идентификации пользователя. Например, аутентификация может включать распознавание лица, предъявление специальной карточки, которую пользователь может предоставить системе для сканирования, использование мобильного устройства пользователя (обмен аудиоданными, беспроводной обмен данными, обмен кодом QR (быстрый обмен)) или использование других биометрических элементов регистрации.
Согласно одному варианту осуществления, так как распознание лица не обеспечивает 100% надежности результатов, может быть предусмотрено отображение на экране дополнительных элементов для распознавания, например, путем их появления на экране в течение оптимального периода времени, такого как несколько секунд. Согласно текущему примеру на экране открываются прямые скобки 1505 для ввода QR-кода (см. фиг. 15), и пользователь может показать зеркальное отражение бейджа с QR-кодом или QR-кода, который был отправлен его уникальному приложению, которое установлено, например, в интеллектуальном телефоне, и эффективно передать данные системе о том, что настоящее изображение лица связано с аутентифицированным пользователем. Эта технология может быть использована для обеспечения полуавтоматического слияния данных пользователя в случае, когда определенный пользователь имеет более одной учетной записи, основанной на изображении лица. Кроме того, после того как слияние информации о лице будет осуществлено, дополнительные измерения и/или улучшения могут быть осуществлены для улучшения последующего распознавания лица пользователя. То есть, когда пользователь был аутентифицирован при помощи QR-кода, всю информацию о лице, связанную с эти конкретным кодом, которая получена во время текущей и всех предыдущих сессий, используют для обновления информации для распознавания лица, относящейся к этому пользователю.
Согласно одному конкретному примеру, изображенному на фиг. 15, изображение на мониторе содержит рамку 1505, наложенную сверху на видеоизображение. Следовательно, пользователь, смотрящий на монитор, увидит свое искусственное «отражение» и наложенную сверху рамку или скобки 1505. Затем пользователь может показать код так, чтобы он находился внутри рамки, отображаемой на мониторе. Согласно одному примеру код представляет собой штрихкод, напечатанный на карточке. Согласно другому примеру пользователь может загрузить приложение в свое мобильное устройство, такое как интеллектуальный телефон. Указанное приложение включает штрихкод, такой как QR-код, соответствующий пользователю или его интеллектуальному телефону. Когда пользователь видит рамку, он открывает приложение и располагает свой интеллектуальный телефон таким образом, чтобы его отражение располагалось внутри рамки. После этого контроллер идентифицирует код, находящийся внутри рамки, и, тем самым, идентифицирует пользователя.
Когда пользователь идентифицирован, может быть открыта учетная запись пользователя, а также могут быть отображены его последние записи и изменения, например, согласно одному варианту осуществления конфигурация 1510 в виде группы эскизов может быть отображена, так как показано на фиг. 15. Альтернативно, может быть изображена другая строка управляющих элементов. Если пользователь не идентифицирован, то может начаться процесс регистрации пользователя, при этом через несколько секунд может быть открыта новая учетная запись и зеркало может быть автоматически сконфигурировано для начала записи. Например, если пользователь не идентифицирован, на мониторе может быть отображен код, такой как QR-код, с тем, чтобы пользователь мог отсканировать его при помощи мобильного устройства для загрузки приложения. После того как приложение загружено, и пользователь завершил процесс регистрации, приложение на устройстве пользователя будет содержать код, который может быть помещен в рамку при последующих визитах.
Согласно одному варианту осуществления система может записывать и сохранять видеоклип длиной n секунд, например, 10-13 секунд достаточно, чтобы позволить пользователю получить хорошее впечатление о том, как выглядит конкретный предмет одежды, при этом указанный видеоклип может включать, например, изображение поворачивающегося вокруг своей оси пользователя и т.п. Следовательно, несмотря на то, что пользователь может продолжать осматривать конкретный предмет одежды в зеркале, а контроллер может продолжать осуществлять преобразование для имитации зеркала, система записывает только некоторую часть всей сессии. Указанный отрезок сессии может быть сохранен в базе данных, например, в облаке, и будет доступен во время следующих сессий этого же пользователя, может быть доступен для скачивания на устройство пользователя и/или может быть доступен для отправки другим пользователям или устройствам. Например, у пользователя может быть возможность загрузить указанную сессию в социальные сети или другие приложения.
Согласно одному варианту осуществления, хотя зеркало может быть сконфигурировано для автоматического начала записи при распознавании пользователя, если пользователь не хочет использовать такое автоматическое распознавание, зеркало может быть сконфигурировано для локального сохранения видео, пользователь может выбрать один из предыдущих эскизов, зеркало сконфигурировано для переключения в режим отображения и зеркало сконфигурировано для воспроизведения видео. То есть пользователю может быть предложено выполнение процесса, в ходе которого конкретная сцена вырезается пользователем и не сохраняется в системе.
Согласно одному варианту осуществления один или несколько эскизов 1510 могут быть добавлены для отображения зеркалом, что может быть использовано, когда используется узкая конфигурация экрана, например, 21:9, или любая другая широкоэкранная конфигурация. Согласно одному варианту осуществления эскизы 1510 могут отображаться таким образом, чтобы появляться в отдельной строке рядом с потоком данных зеркального отображения или под потоком имитирующих зеркальное отображения видеоданных. Эта особенность может быть использована в том случае, когда ширина экрана больше, чем необходимо или задано для потока имитирующих зеркальное отображения данных. Согласно одному варианту осуществления шесть (6) эскизов 1510 представлены пользователю, при этом следует отметить, что может быть отображено любое подходящее количество эскизов. Размер эскизов может быть настраиваемым для того, чтобы оставить приемлемую область экрана для отображения. Каждый эскиз 1510 включает гиперссылку на предыдущую сессию пользователя, обращение к которой может быть осуществлено путем активирования указанной гиперссылки. Гиперссылка может быть активирована различными способами, такими как, например, движение руки, манипулятор типа «мышь», устройство дистанционного управления и т.п. Согласно одному примеру контроллер идентифицирует руку пользователя на изображении. При перемещении руки пользователя вверх или вниз, контроллер осуществляет отслеживания указанного перемещения и на его основании выделяет на экране соответствующий эскиз. Когда пользователь сжимает пальцы своей руки в кулак, котроллер активирует гиперссылку, соответствующую эскизу, выделенному на экране в этот момент.
Согласно одному варианту осуществления, как можно увидеть, например, на фиг. 15, также может быть отображен индикатор 1520 записи. Индикатор записи может представлять собой отображение слова, такого как «Rec» («Запись»), красного круга и т.п.
Кроме того, может быть отображен текст или имя пользователя, как показано позицией 1515 на фиг. 15. Согласно одному варианту осуществления дополнительный пароль может быть связан с пользователем и отображаться в качестве текста 1515, и пользователь может воспользоваться этой основанной на пароле аутентификацией и применить ее в процессе регистрации. Согласно одному варианту осуществления сотрудник или сам пользователь может ввести номер телефона, адрес электронной почты, пароль для передачи сигнала по технологии NFC или любую другую идентификационную информацию, а также получить ссылку для доступа к базе данных в облаке сразу или спустя некоторое время.
Согласно одному варианту осуществления также могут быть добавлены дополнительные возможности управления, такие как начало записи, стирание видео, добавление видеоэффектов, таких как освещение, изменение цвета, выбор фона и т.п. Согласно одному варианту осуществления все видеоклипы могут быть загружены в облако и могут быть стерты из локального терминала после предварительно запрограммированного периода времени. Согласно одному варианту осуществления видеоклипы могут быть обработаны после записи путем применения к ним различных эффектов, которые улучшают качество видео или изменяют видео с тем, чтобы отразить эффекты дополненной реальности или осуществить анализ для измерения границ тела/снятия меток/определения ИМТ. Согласно одному варианту осуществления видеозапись может включать аудиозапись окружающего среды для дальнейшего анализа. Согласно одному варианту осуществления видеозапись может включать в себя запись окружающей среды с использованием беспроводной локальной сети для того, чтобы записать МАС-адреса пользователей, и позже посредством дополнительной корреляцией может быть адаптирована для связи МАС-адреса мобильного устройства с пользователем.
Настоящее изобретение включает в себя систему, предназначенную для того, чтобы облегчить пользователю управление зеркалом. Согласно одному варианту осуществления, если пользователь распознан зеркалом и находится в заданной зоне, то пока он будет стоять в этой зоне, и пока никто другой не будет распознан, этот пользователь будет иметь возможность управлять зеркалом, например, воспроизводить, запускать и останавливать изображение/видео, удалять изображения/видео, добавлять элементы дополненной реальности и т.п. При использовании в розничной торговле пользователь может также управлять зеркалом посредством жестов или своего мобильного устройства, такого как интеллектуальный телефон, с использованием специализированного приложения или дополнительных элементов управления. Согласно одному варианту осуществления управление жестами может обеспечивать некоторые основные функции, а пользовательское приложение может предназначаться для обеспечения более расширенных функций по сравнению с управлением жестами. Согласно одному варианту осуществления продавец в магазине или продавец, доступный виртуально/удавлено в облаке, может помочь пользователю управлять зеркалом. Согласно одному варианту осуществления пользователь может настроить ПИ согласно своим предпочтениям при помощи своего приложения или через сеть. Все специализированные пользовательские настройки могут быть добавлены в учетную запись пользователя, например, пользователь может изменить продолжительность записи сессии, количество эскизов и т.п.
В режиме по умолчанию пользователь может видеть свои последние видео. Эти видео могут быть взяты из определенного места хранения в зеркале, при этом они могут быть вызваны из центрального места хранения, например, из облака. Пользователь может задать внешний вид эскизов локальных видео примерки одежды. При помощи своего приложения пользователь может видеть все эскизы, при этом он может прикоснуться к ним или использовать любой другой способ выбора для активации воспроизведения видео, связанного с конкретным эскизом.
Согласно одному варианту осуществления эскизы 1510 сконфигурированы таким образом, чтобы отображаться поверх потока данных имитируемого зеркального отображения, как можно увидеть, например, на фиг. 15. Эти эскизы могут быть отправлены на задний план при воспроизведении имитирующего зеркальное отображение видео в реальном времени или в полиэкранном режиме, когда система не идентифицирует каких-либо управляющих жестов, как показано, например, на фиг. 16. Пользователь также может настроить экран таким образом, чтобы он работал в полиэкранном режиме, как изображено, например, на фиг. 16. В частности, на фиг. 16 представлен вариант подобной настойки, при которой пользователь может по-прежнему видеть себя в режиме реального времени на одной стороне экрана, а также может воспроизводить ранее записанные видео на другой стороне экрана.
Согласно одному варианту осуществления устройство дистанционного управления пользователя может автоматически получить информацию для идентифицированного пользователя, так продавец в магазине может послать пользователю ссылку на его учетную запись для осуществления регистрации или для того, чтобы помочь пользователю с дополнительными возможностями, например, со сменой цветов одежды или сменой одежды в целом.
Согласно одному варианту осуществления пользователь может использовать свое мобильное устройство для инициации видео звонка с использованием зеркала удаленному специалисту или другу, который может помочь ему советом в реальном времени. Звонок может быть выполнен при помощи специализированного приложения или любого другого стороннего приложения, например, приложения Skype. Поток видеоданных зеркального отображения может быть направлен в локальное приложение Skype, и удаленный пользователь может получить поток данных зеркального отображения в реальном времени. Например, поступающее в режиме реального времени или сохраненное имитирующее зеркальное отображение видео может быть послано на устройство пользователя при помощи, например, соединения WiFi. Затем приложение обеспечивает взаимодействие между скаченным или потоковым видео и приложением обмена данными, таким как приложение Skype. С другой стороны, указанное приложение может позволить пользователю посылать ссылку, например, при помощи электронной почты или службы коротких сообщений, чтобы предоставить доступ к облаку третьей стороне для потоковой передачи имитирующего зеркальное отображение видео в режиме реального времени.
На фиг. 17 представлен вариант осуществления алгоритма использования предлагаемой системы. В частности, на фиг. 17 представлен вариант осуществления алгоритма использования пользователем дополнительных вариантов, которые были описаны выше со ссылками на фиг. 14, 15 и 16. На стадии 1701 зеркало находится в состоянии ожидания, при котором на мониторе отображается изображение режима ожидания. Изображение режима ожидания может быть, например, экранной заставкой, рекламой, слайд-шоу или просто изображением поля обзора перед камерой, преобразованным контроллером таким образом, чтобы имитировать зеркальное отражение поле обзора.
На стадии 1702, когда пользователь подошел к зеркалу, и система определила его присутствие, например, при помощи датчиков движения или путем обнаружения изменения изображения, регистрируемого камерой, система инициирует работу в зеркальном режиме. То есть контроллер осуществляет операцию преобразования изображения пользователя таким образом, чтобы изображение, представленное на мониторе, имитировало отражение пользователя в зеркале. На стадии 1703 система инициирует процедуру аутентификации для идентификации и аутентификации пользователя. Например, согласно одному варианту осуществления система использует распознавание лица для идентификации и аутентификации пользователя, при этом согласно другом варианту осуществления пользователь может быть аутентифицирован при помощи некоторого устройства, такого как интеллектуальный телефон, которому присущи такие возможности, как обмен данными по WiFi, Bluetooth, NFC и т.п. Например, согласно одному варианту осуществления распознавание лица используют для идентификации пользователя, но для аутентификации пользователя предусматривают вторую стадию, включающую использование, например, QR-кода. Если пользователь не был идентифицирован, например, это новый пользователь, ему могут предложить создать учетную запись. Например, QR-код может быть отображен на мониторе, в результате чего пользователь может произвести его сканирование при помощи своего мобильного устройства для того, чтобы загрузить приложение в указанное устройство. В ином случае, или если пользователь откажется создавать учетную запись, пользователь может продолжить использовать зеркало в качестве гостя, при этом некоторые особенности, например, удаленный доступ к сохраненным изображениям, могут быть недоступны в режиме гостевого доступа.
На стадии 1704 пользователю предоставляют возможность управления дисплеем. Согласно одному варианту осуществления личные настройки управления сохраняют для каждого конкретного пользователя и активируют после его распознавания. В ином случае предусмотрен обычный пользовательский интерфейс, например, активируемый при помощи жестов рук интерфейс. Согласно одному варианту осуществления, когда пользователь был распознан или примерил несколько предметов одежды в течение одной и той же сессии, его предыдущие попытки представляют в качестве эскизов, отображаемых сбоку основного дисплея. Когда пользователь поднимет руку, соответствующую стороне, с которой отображены эскизы, эскиз, соответствующий высоте поднятия руки, будет подсвечен для последующего выбора. По мере того как пользователь поднимает или опускает руку, другой эскиз, соответствующий высоте поднятия руки, подсвечивается для выбора. Затем, при сжатии пользователем пальцев руки в кулак, произойдет выбор подсвеченного эскиза и отображение соответствующего изображения или видео на основном экране.
На стадии 1705 изображения или видео каждой сессии могут быть сохранены в облаке и могут быть доступны посредством дистанционного доступа при помощи, например, интеллектуальных телефонов, планшетов и т.п. Таким образом, пользователь может дистанционно общаться с друзьями и получить их мнение о примеренном предмете одежды. Например, пользователь может послать другу ссылку на записанную попытку или «живое» потоковое видео из системы. Таким образом, пользователь может поделиться впечатлением от посещения магазина с удаленными людьми.
Более того, на стадии 1705, так как система способна идентифицировать пользователя и вычислить его параметры, такие как рост, масса и т.п., указанная система может быть способна осуществить доступ к базе данных доступных предметов одежды, которые были бы рекомендованы для пользователя исходя из этих параметров. Более конкретно, если пользователь записал две примерки двух различных рубашек в рамках одной и той же сессии, указанная система может заключить, что пользователь заинтересован в покупке рубашки и порекомендовать либо альтернативные товары, т.е. другие рубашки, либо дополняющие товары, например, определенные штаны, которые хорошо подходят под рубашки. Кроме того, так как система может идентифицировать рубашку и ее бренд, она может предложить определенное поощрение от производителя, что проиллюстрировано в блоке, в котором описана стадия 1706.
Кроме того, на стадии 1706 пользователю может быть предоставлена возможность изменения цветов без фактического изменения предмета одежды. Как пояснено выше, благодаря использованию нескольких масок и слоев система способна изменять цвет изделия с сохранением реалистичного визуального эффекта ткани изделия, надетого пользователем. Поскольку система может сохранять слой затенения, слой текстуры, слой отражения и т.п., слой цвета может быть изменен с сохранением всех других слоев, в результате чего визуализированное изображение сохранит все характеристики исходного изображения и только цвет претерпит изменения.
Для того чтобы увеличить комфорт работы с зеркалом, дополнительное приложение может сделать доступными дополнительные функции и настройки, например, опытный пользователь, для которого использование жестов является комфортным, может активизировать дополнительные жесты, которые помогут с управлением расширенными функциональными возможностями без использования приложения сенсорного интерфейса. Если использование жестов вызывает трудности у пользователей, для них могут быть предоставлены основные автоматизированные функции, при этом приложение для мобильных устройств может быть использовано для управления другими расширенными функциональными возможностями.
Согласно одному варианту осуществления зеркальный терминал может быть сконфигурирован для идентификации поведения пользователя и адаптации управления жестами к действиям, выполняемым пользователем для осуществления управления, например, некоторые пользователи будут показывать, некоторые будут хватать, а некоторые пользователи будут толкать при попытке управления эскизом. Система может быть адаптирована для изучения и обновления управления в профиле каждого пользователя.
Согласно одному варианту осуществления зеркальный терминал может отображать предназначенные для пользователя инструкции, так что, когда система идентифицирует пользователя, который некорректно управляет зеркалом, может быть отображено краткое пояснение, которое подскажет пользователю необходимые действия.
Согласно одному варианту осуществления зеркало может быть адаптировано для демонстрации заданных характеристик на основе информации, касающейся ознакомления пользователя с системой, например, на основе того, использует ли пользователь систему в первый раз, на основе количества видеозаписей в системе для конкретного пользователя, на основе того, когда в последний раз пользователю были необходимы предоставляемые системой инструкции, может быть адаптировано для предоставления относительно простой голосовой помощи касательно функциональных возможностей, может быть адаптировано для предоставления помощи удаленного специалиста и т.п.
Согласно одному варианту осуществления концепция заданного количества эскизов, как изображено на фиг. 15 и 16, может быть заменена на слайд-меню из эскизов.
В штатном режиме, как изображено, например, на фиг. 15 и 16, пользователь может двигать своими руками вниз и вверх для выбора эскизов, при этом, когда рука пользователя останавливается, ближайший эскиз может быть выбран и может быть обозначен таким образом, чтобы пользователь получил обратную связь от выбора. Например, голубая тень может быть отображена вокруг выбранного эскиза для того, чтобы обозначить выбор. Когда пользователь выполнит движение руками/пальцами, направленное на то, чтобы схватить, толкнуть или указать на эскиз, может начаться воспроизведение видео на основе настроек режима отображения, при этом пользователь может остановить видео и осуществить другие операции и т.п. Как только пользователь, например, остановит воспроизводимое видео, поверх эскиза будет отображен знак паузы для того, чтобы отметить состояние воспроизводимого видео, а также для того, чтобы пользователь понял, что его команда была принята зеркальным терминалом.
Согласно одному варианту осуществления, в целях дополнительного упрощения работы, управление жестами рук может быть сконфигурировано для выполнения перемещения между эскизами даже тогда, когда пользователь перемещает свои руки влево и вправо, а не вверх и вниз, или в любом другом направлении. Система может быть сконфигурирована для адаптации к размаху и скорости движения рук пользователя таким образом, чтобы пользователь мог видеть свой выбор, в результате чего он также может адаптировать скорость и размах движения своих рук.
Указанные варианты осуществления могут быть реализованы в невременном машиночитаемом носителе для управлением монитором, камерой и процессором таким образом, чтобы выводить на монитор имитирующее зеркало изображение, при этом указанный носитель содержит: в случае устройства, содержащего процессор и запоминающее устройство, в котором сохранена программа для выполнения процессором, программу, содержащую команды для следующих действий: определение присутствия пользователя; инициация имитирующего зеркало режима для вывода на монитор имитирующего зеркало изображения; инициация процесса аутентификации; и выдача инструкций пользователю для управления монитором.
Расширенный мерчандайзинг
Предлагаемая система зеркального отображения может быть использована для предоставления расширенного мерчандайзинга путем обеспечения лучшего сервиса пользователям, продвижения товаров, а также предоставления обратной связи для мерчандайзеров. Зеркало может быть сконфигурировано таким образом, чтобы дополнить и расширить бизнес-процесс. Поскольку зеркальный терминал согласно настоящему изобретению является новым устройством на рынке, применение зеркала для создания потока поступлений дохода также является уникальным. Следующие новые варианты осуществления включают подробные данные, предоставляющие примеры того, как активное зеркало может быть использовано для расширения бизнеса, а также для создания нового потока поступлений дохода.
Например, согласно одному варианту осуществления логотип определенного бренда или партнера или любой другой логотип может быть добавлен к записанному видео, так что пользователь получит, например, видео с логотипом указанного бренда, и сможет поделиться готовым видео со своими друзьями. Следовательно, одна сессия, записанная системой, может быть использована для продвижения конкретного предмета и/или бренда. Например, если пользователь загрузит указанную сессию на сайт социальной сети, то она может быть просмотрена множеством пользователей, каждый из которых увидит наложенный логотип.
Согласно одному варианту осуществления указанное зеркало сконфигурировано для предоставления правдоподобной дополненной реальности при помощи предмета одежды, который ранее примерялся другим пользователем с подобным типом тела. Эта технология сопоставления создает у пользователя более правдоподобное впечатление, а также дает пользователю лучшие рекомендации.
Указанное зеркало может отображать вставки рекламы, купонов и логотипов в режиме ожидания, на определенной части экрана зеркала или в полиэкранном режиме. Кроме того, зеркало может вставить рекламу, купоны и логотипы в записанное видео, так что пользователь сможет просмотреть видео с рекламой/купонами/логотипом. Эти визуальные представления данных могут быть проданы в качестве рекламы. Пользователь может поделиться этими данными с другими пользователями, например, путем загрузки сессии на сайты социальных сетей. Пользователю может быть предложено поощрение в обмен на распространение рекламы/купона/логотипа.
Сессия примерки одежды пользователя может быть проанализирована в отношении измерений и/или характеристик, таких как ИМТ, пол, происхождение, возраст, данные измерения параметров тела, выражение лица, тон голоса, рекомендованный размер и т.п. Эти данные могут быть включены в приложения для электронной коммерции. Кроме того, указанные данные имеют высокую ценность и могут быть совместно использованы брендами, пользователем, третьими лицами на основе соглашения с пользователем и брендами и т.п. При помощи настоящего изобретения может быть создан поток поступлений дохода на основе анализированных данных, касающихся пользователя, например, путем предоставления пользователю узконаправленной и специализированной рекламы в соответствии с записанными сессиями.
Зеркало может быть сконфигурировано в качестве сервиса, который позволяет пользователю привлекать специалистов, друга или консультанта с тем, чтобы получить их мнение в отношении конкретной покупки. Дополнительный доход может быть получен при использовании настоящего изобретения для продвижения возможностей дополнительных продаж, связанных с рекомендациями удаленного специалиста. Специалисты могут быть оценены пользователем, и пользователь может воспользоваться услугами своего любимого специалиста или выбрать специалиста, назначенного определенным брендом.
Пользователю может быть представлено изображение, содержащее предложение и/или поощрение для конкретного предмета, примеренного пользователем, например, с различными цветами. Этот способ представляет дополнительную возможность для продвижения дополнительных продаж. Дополненная реальность может быть использована для продвижения дополнительных продаж. В частности, исходя из информации, полученной зеркалом, и попыток других пользователей, может быть сгенерировано более привлекательное изображение дополненной реальности, которое основано на сочетании информации об определенном пользователе и подобных пользователях, которым присущ подобный тип тела.
Согласно одному варианту осуществления социальная сеть, используемая пользователем, может быть интегрирована таким образом, чтобы помочь пользователю и/или помочь оставить комментарии в отношении примеряемого пользователем предмета одежды. Система может быть сконфигурировано таким образом, чтобы пользователь мог поделиться своими видео. Функции социальных сетей могут быть использованы для увеличения базы данных доступных абонентов.
Согласно одному варианту осуществления пользователь может загрузить в систему свои собственные фотографии, при этом механизм обработки видеоданных может быть сконфигурирован для обработки указанных изображений и выполнения подобного анализа ИМТ, лица, происхождения и т.п. Система может предоставить данные о рекомендованных размерах для практических приложений для электронной коммерции. Система может предоставить изображение купленного предмета с различными цветами. Таким образом, зеркало может быть использовано для получения маркетинговой информации для соответствующей базы данных, даже если пользователь не стоит физически перед указанным зеркалом.
Согласно одному варианту осуществления пользователь может увидеть спрогнозированный для него размер при помощи приложения и скорректировать данные измерений, что может быть использовано для улучшения модели прогнозирования размеров и включения поправок для конкретных брендов.
Физическая конструкция
Настоящее изобретение включает также механическую конструкцию и конфигурацию внешнего вида оборудования. Экран может быть установлен таким образом, чтобы располагаться на стенке либо горизонтально, либо вертикально, или может быть выполнен с возможностью перемещения между вертикальным и горизонтальным положениями (при помощи более крупного или подобного механического решения экран может быть наклонен, повернут и т.п.). Экран может быть установлен на специализированной стойке, установлен на стенке или позади стенки. Когда экран установлен внутри стенки, необходимо предусмотреть вентиляционный канал для отвода теплового излучения с тем, чтобы обеспечить надлежащее функционирование экрана и вычислительного устройства.
Согласно одному варианту осуществления экран может иметь пропорции зеркала, например, 21:9.
Согласно другому варианту осуществления экран может иметь обычные пропорции, т.е. 16:9, при этом путем задания надлежащих установок отображения он может быть преобразован в полиэкран или растянут с отображением темных полос по бокам для того, чтобы получить пропорции зеркала, т.е. 21:9.
Согласно одному варианту осуществления экран может быть выполнен матовым для того, чтобы устранить блики, которые могут быть видны на темных цветах. Другими словами, когда пользователь одет в черную одежду, а экран не является матовым, пользователь может видеть свое истинное зеркально отображение; при этом следует отметить, что этот эффект является нежелательным и может ухудшить, исказить или полностью разрушить эффект виртуального зеркала.
Рамка может быть выполнена так же, как это изображено на фиг. 14, 15 и 16. Может быть использована минимальная рамка, или рамка может быть спрятана за стену.
Согласно одному варианту осуществления камеры или управляемые камеры могут быть установлены в рамке. Камера может быть установлена над рамкой экрана, может быть спрятана и может быть установлена на стене. Камера может быть оснащена светозащитной блендой, которая может быть удалена из изображения при помощи фильтров. Так как камера направлена вниз, крышка, которая будет скрывать большую часть корпуса, может блокировать поле обзора.
Экран может быть светодиодным экраном, жидкокристаллическим экраном, плазменным экраном, проектором и т.п.
Фон может быть подобран таким образом, чтобы обеспечить лучший баланс белого цвета, что в результате дает более высокое качество видео.
Освещение может включать сочетание белого света, желтого света или любое их сочетание, испускаемое сочетанием точечных источников или прожекторов, и может быть сконфигурировано для улучшения качества видео и цветов.
Специализированный ковер может быть использован для обеспечения изменений фона, определения пользовательской зоны, улучшения обнаружения и отслеживания пользователя перед камерой, инструктирования пользователя о том, где ему стоять, и инструктирования пользователя о том, как работать с зеркалом.
Заключение
Каждый из идентифицированных выше модулей или программ соответствует набору команд для осуществления описанной выше функции. Эти модули и программы (т.е. наборы команд) не обязательно должны быть реализованы в качестве отдельных программных продуктов, процедур или модулей, и, следовательно, различные поднаборы этих модулей могут быть объединены или другим образом реорганизованы в различных вариантах осуществления. Согласно некоторым вариантам осуществления запоминающее устройство может хранить поднабор идентифицированных выше модулей и структур данных. Кроме того, запоминающее устройство может хранить дополнительные модули и структуры данных, описание которых не было приведено выше.
Проиллюстрированные аспекты настоящего раскрытия могут быть практически осуществлены в распределенных вычислительных средах, в которых определенные задачи решаются при помощи удаленных устройств обработки данных, которые связаны друг с другом через сеть передачи данных. В распределенной вычислительной среде программные модули могут быть расположены как на локальных, так и удаленных запоминающих устройствах.
Более того, следует иметь ввиду, что различные компоненты, описанные в настоящем документе, могут включать электрическую(ие) схему(ы), которая(ые) может(могут) включать подходящее количество компонентов и схемных элементов для того, чтобы реализовать варианты осуществления настоящего изобретения. Кроме того, следует понимать, что многие из различных компонентов могут быть реализованы на одном или нескольких чипах с интегральными схемами (ИС). Например, согласно одному варианту осуществления набор компонентов может быть реализован в одном чипе с ИС. Согласно другим вариантам осуществления один или несколько из соответствующих компонентов изготовлены или реализованы на отдельных чипах с ИС.
Описанное выше включает в себя иллюстративные варианты осуществления настоящего изобретения. Разумеется, невозможно описать каждое из возможных сочетаний компонентов или методик в целях описания заявляемого объекта, но следует понимать, что существует множество дополнительных сочетаний и комбинаций указанных компонентов и методик в пределах объема настоящего изобретения. Следовательно, предполагается, что заявляемый объект включает в себя все изменения, модификации и варианты, которые находятся в пределах сути и объема прилагаемой формулы изобретения. Более того, представленное выше описание иллюстративных вариантов осуществления настоящего изобретения, включая то, что описано в реферате, не должно рассматриваться в качестве исчерпывающего и не предназначено для какого-либо ограничения раскрытых вариантов осуществления раскрытыми конкретными формами. Хотя конкретные варианты осуществления и примеры описаны в настоящем документе в иллюстративных целях, специалистам в данной области техники понятно, что могут быть выполнены различные модификации, которые рассматриваются в качестве находящихся в пределах объема этих вариантов осуществления и примеров.
В частности, касательно различных функций, выполняемых описанными выше компонентами, устройствами, схемами, системами и т.п., термины, применяемые для описания таких компонентов, предназначены для соответствия, если не указано другое, любому компоненту, который выполняет определенную функцию описанного компонента (например, функциональному эквиваленту), даже если он не является структурно эквивалентным описанной структуре, который выполняет функцию в приведенных в настоящем документе иллюстративных аспектах заявленного объекта. В связи с этим также следует признать, что настоящее изобретение включает систему, а также машиночитаемый носитель, содержащий машиновыполняемые команды для выполнения действий и/или событий различных способов заявленного объекта.
Упомянутые выше системы/схемы/модули были описаны со ссылками на взаимодействие между несколькими компонентами/блоками. Следует понимать, что такие системы/схемы и компоненты/блоки могут включать в себя эти компоненты или определенные субкомпоненты, некоторые из определенных компонентов или субкомпонентов и/или дополнительные компоненты, а также их различные комбинации и сочетания. Субкомпоненты могут также быть реализованы в качестве компонентов, связанных с возможностью обмена данными с другими компонентами, а не включенными в состав исходных компонентов (иерархическая реализация). Дополнительно, следует понимать, что один или несколько компонентов могут быть объединены в единый компонент, обеспечивающий общую функциональность, или разделены на несколько отдельных субкомпонентов, при этой один или несколько промежуточных слоев, таких как слой управления, могут быть предусмотрены для связи с возможностью передачи данных с этими субкомпонентами для того, чтобы обеспечить комплексную функциональность. Любые компоненты, описанные в настоящем документе, также могут взаимодействовать с одним или несколькими другими компонентами, которые специально не описаны в настоящем документе, но известны специалистам в данной области техники.
Дополнительно, хотя конкретный признак настоящего изобретения может быть раскрыт в отношении только одной из нескольких реализаций, такой признак может быть объединен с одним или несколькими другими признаками из других реализаций с учетом возможной необходимости и преимуществ для любого данного или конкретного практического применения. Кроме того, в случае если термины «содержит», «содержащий», «характеризуется наличием», «включает», их варианты и другие подобные слова используются в описании или в формуле изобретения, эти термины следует рассматривать в качестве инклюзивных, аналогично термину «содержащий», а не исключающих наличие каких-либо дополнительных или других элементов.
В контексте настоящей заявки предполагается, что термины «компонент», «модуль», «система» или подобные относятся, в целом, к связанному с применением компьютера объекту, аппаратному обеспечению (например, схеме), сочетанию аппаратного и программного обеспечения, программному обеспечению либо объекту, связанному с вычислительной машиной с одной или несколькими определенными функциональными возможностями. Например, компонент может быть, кроме прочего, процессом, выполняемым процессором (например, процессором цифровой обработки сигнала), процессором, объектом, исполнимым модулем, потоком выполнения, программой и/или компьютером. В качестве иллюстрации, как приложение, выполняемое контроллером, так и сам контроллер могут быть компонентами. Один или несколько компонентов могут находиться внутри процесса и/или потока выполнения, и компонент может быть расположен на одном компьютере и/или распределен между двумя или более компьютерами. Кроме того, «устройство» может выступать в форме специально разработанного аппаратного обеспечения; универсального аппаратного обеспечения, сделанного специализированным путем запуска на нем программного обеспечения, которое позволяет аппаратному обеспечению осуществлять определенную функцию; программного обеспечения, хранимого на машиночитаемом носителе; или их сочетания.
Вычислительные устройства, как правило, содержат различные средства, которые могут включать машиночитаемые носители и/или средства связи. Как правило, машиночитаемым носителем может быть любой доступный носитель, доступ к которому может быть осуществлен компьютером, который обычно является постоянным, и который может включать энергозависимые и энергонезависимые носители, удаляемые и стационарные носители. Например, машиночитаемый носитель может быть реализован с использованием любого способа или технологии для хранения информации, такой как машиночитаемые команды, программные модули, структурированные данные или неструктурированные данные. Машиночитаемый носитель может включать, кроме прочего, запоминающее устройство с произвольной выборкой, постоянное запоминающее устройство (ПЗУ), электронно-перепрограммируемое ПЗУ, флэш-ПЗУ или другие подобные технологии, CD-ROM, универсальный цифровой диск (DVD) или другой накопитель на оптических дисках, кассетные устройства на магнитной ленте, магнитную ленту, накопитель на магнитных дисках или другие магнитные запоминающие устройства, или материальный и/или невременный носитель, который может быть использован для хранения информации. Машиночитаемый носитель может быть доступен одному или нескольким локальным или удаленным вычислительным устройствам, например, через запросы доступа, опросы или другие протоколы извлечения данных, для множества операций в отношении информации, хранимой носителем.
Средства связи обычно преобразовывают машиночитаемые команды, структуры данных, программные модули, а также другие структурированные и неструктурированные данные в информационный сигнал, который может быть кратковременным сигналом, таким как модулированный информационный сигнал, например, в несущую волну или другой механизм переноса, и включают любые средства доставки и переноса информации. Под термином «модулированный информационный сигнал» или сигналы следует понимать сигнал, которому присуще одна или несколько характеристик, установленных или измененных таким образом, чтобы закодировать информацию в одном или нескольких сигналах. Например, средства связи включают проводные средства, такие как проводная сеть или прямое проводное соединение, и беспроводные средства, такие как акустические, радиочастотные, инфракрасные и другие беспроводные средства.
Принимая во внимание описанные выше иллюстративные системы, методики, которые могут быть реализованы в соответствии с описанным объектом, будут лучше понятны со ссылками на блок-схемы, изображенные на различных фигурах. Для упрощения пояснения методики проиллюстрированы и описаны в качестве ряда действий. Однако действия в соответствии с настоящим раскрытием могут выполняться в различных порядках и/или одновременно, а также совместно с другими действиями, которые не представлены и не описаны в настоящем документе. Кроме того, не все представленные на фигурах действия могут быть необходимы для реализации методик в соответствии с раскрытым объектом. Кроме того, специалистам в данной области техники будет понятно и ясно, что методики могут быть представлены альтернативным способом в качестве ряда взаимосвязанных состояний при помощи диаграммы состояний или событий. Дополнительно, следует понимать, что методики, раскрытые в настоящем описании, могут быть сохранены в изделии промышленного производства для обеспечения транспортировки и передачи указанных методик в вычислительные устройства. В контексте настоящего документа предполагается, что термин «изделие промышленного производства» охватывает компьютерную программу, которая может быть считана из любого машиночитаемого устройства или носителя, например, хранимую на сервере, который соединен с облаком.
В целях пояснения приведенной выше описание было выполнено со ссылками на конкретные варианты осуществления. Однако приведенные иллюстративные обсуждения не должны рассматриваться как исчерпывающие или в качестве ограниченных раскрытыми точными формами. Различные модификации и изменения возможны в свете описанных выше идей. Указанные варианты осуществления были выбраны и описаны для наилучшего пояснения принципов аспектов и практических применений, чтобы, тем самым, дать возможность другим специалистам в данной области техники наилучшим образом использовать аспекты и различные варианты осуществления с различными модификациями, которые подходят для предполагаемого конкретного применения.