Общие сведения о камере locatable
HoloLens включает в себя камеру с видом на мир, установленную на передней части устройства, которая позволяет приложениям видеть, что видит пользователь. Разработчики имеют доступ к камере и управление ими, как и для цветных камер на смартфонах, портативных компьютерах или настольных компьютерах. На HoloLens работают те же универсальные интерфейсы захвата мультимедиа Windows и API Windows Media Foundation, которые работают на мобильных устройствах и настольных компьютерах. Unity упаковал эти WINDOWS API для абстрагирования функций использования камеры в HoloLens. К задачам функций относятся обычные фотографии и видео (с голограммами или без них), а также определение положения камеры и перспективы на сцене.
Сведения о камере устройства
HoloLens (первого поколения)
Фиксированная фото- и видеокамера с автоматическим балансом белого, автоматической экспозицией и конвейером полной обработки изображений.
Белый индикатор конфиденциальности, обращенный к миру, который освещает каждый раз, когда камера активна.
Камера поддерживает следующие режимы (все режимы имеют пропорции 16:9) с 30, 24, 20, 15 и 5 кадров/с:
Видео Предварительный просмотр Еще Горизонтальное поле зрения (H-FOV) Предлагаемое использование 1280 x 720 1280 x 720 1280 x 720 45 00 (режим по умолчанию со стабилизацией видео) Н/Д Н/Д 2048x1152 67 00 Изображение с наибольшим разрешением 1408x792 1408x792 1408x792 48 00 Превышение разрешения (заполнение) перед стабилизацией видео 1344x756 1344x756 1344x756 67 00 Режим большого видео FOV с overscan 896x504 896x504 896x504 48 00 Режим низкого энергопотребления или низкого разрешения для задач обработки изображений
HoloLens 2
Камера фото-видео с автофокусировкой с автоматическим балансом белого, автоматической экспозицией и конвейером полной обработки изображений. Система автофокусировки может регулировать расстояние объекта от 30 см до бесконечности. Эффективное фокусное расстояние для объектива HoloLens 2 фотокамеры составляет 4,87 мм +/- 5%. В дополнение к отклонению в 5 % из-за допуска производства, фокусное расстояние будет динамически меняться из-за системы автофокусировки. Ход af (ход) составляет до 0,2 мм.
Белый индикатор конфиденциальности, обращенный к миру, который освещает каждый раз, когда камера активна.
HoloLens 2 поддерживает различные профили камеры. Узнайте, как обнаруживать и выбирать возможности камеры.
Камера поддерживает следующие профили и разрешения (все видео режимы имеют пропорции 16:9):
Профиль Видео Предварительный просмотр Еще Частота кадров Горизонтальное поле зрения (H-FOV) Предлагаемое использование Устаревшая версия, 0 BalancedVideoAndPhoto, 100 2272x1278 2272x1278 15.30 64.69 Высококачественная запись видео Устаревшая версия, 0 BalancedVideoAndPhoto,100 896x504 896x504 15.30 64.69 Предварительный просмотр потока для высококачественного захвата фотографий Устаревшая версия, 0 BalancedVideoAndPhoto, 100 3904x2196 64.69 Высококачественный фотосъемка BalancedVideoAndPhoto, 120 1952x1100 1952x1100 1952x1100 15.30 64.69 Долгосрочные сценарии BalancedVideoAndPhoto, 120 1504x846 1504x846 15.30 64.69 Долгосрочные сценарии Видеоконференция, 100 1952x1100 1952x1100 1952x1100 15, 30,60 64.69 Видеоконференций, длительные сценарии Видеоконференция, 100 1504x846 1504x846 5, 15, 30,60 64.69 Видеоконференций, длительные сценарии Видеоконференция, 100 BalancedVideoAndPhoto, 120 1920 x 1080 1920 x 1080 1920 x 1080 15, 30 64.69 Видеоконференций, длительные сценарии Видеоконференция, 100 BalancedVideoAndPhoto, 120 1280 x 720 1280 x 720 1280 x 720 15, 30 64.69 Видеоконференций, длительные сценарии Видеоконференция, 100 BalancedVideoAndPhoto,120 1128x636 15, 30 64.69 Видеоконференций, длительные сценарии Видеоконференция, 100 BalancedVideoAndPhoto, 120 960x540 15,30 64.69 Видеоконференций, длительные сценарии Видеоконференция, 100 BalancedVideoAndPhoto, 120 760x428 15, 30 64.69 Видеоконференций, длительные сценарии Видеоконференция, 100 BalancedVideoAndPhoto, 120 640 x 360 15, 30 64.69 Видеоконференций, длительные сценарии Видеоконференция, 100 BalancedVideoAndPhoto, 120 500x282 15, 30 64.69 Видеоконференций, длительные сценарии Видеоконференция, 100 BalancedVideoAndPhoto, 120 424x240 15, 30 64.69 Видеоконференций, длительные сценарии
Примечание
Клиенты могут использовать захват смешанной реальности для создания видео или фотографий вашего приложения, которые включают голограммы и используют стабилизацию видео.
Если вы хотите, чтобы содержимое записи пользователя выглядело как можно лучше, следует учитывать некоторые моменты. Вы также можете включить (и настроить) захват смешанной реальности непосредственно в приложении. Дополнительные сведения см. в записи смешанной реальности для разработчиков.
Поиск камеры устройства в мире
Когда HoloLens делает фотографии и видео, захваченные кадры включают расположение камеры в мире и модель объектива камеры. Эта информация позволяет приложениям рассуждать о положении камеры в реальном мире для сценариев дополненной визуализации. Разработчики могут творчески развертывать собственные сценарии с помощью предпочитаемой обработки изображений или пользовательских библиотек компьютерного зрения.
"Камера" в документации по HoloLens может относиться к "виртуальной игровой камере" (frustum, в который приложение отрисовывается). Если не описано иное, "камера" на этой странице относится к реальной цветовой камере RGB.
Ошибка искажения
На HoloLens 2 потоки видео и изображений неискажены в конвейере обработки изображений системы, прежде чем кадры становятся доступными для приложения. Поток предварительного просмотра содержит исходные искаженные кадры. Так как доступны только cameraIntrinsics, приложения должны предполагать, что кадры изображений представляют собой идеальную камеру.
В HoloLens (первого поколения) функция undistortion в обработчике изображений может по-прежнему оставлять ошибку до 10 пикселей при использовании CameraIntrinsics в метаданных кадра. Во многих случаях эта ошибка не имеет значения. Однако если, например, вы выравниваете голограммы с реальными плакатами или маркерами и видите < смещение в 10 пикселей (примерно 11 мм для голограмм, расположенных на 2 метра), эта ошибка искажения может быть причиной.
Сценарии использования камеры с поддержкой locatable
Показать фотографию или видео в мире, где они были сняты
Кадры камеры устройства поставляются с преобразованием "Камера в мир", которое можно использовать для отображения точного расположения устройства на момент захвата изображения. Например, можно разместить небольшой голографический значок в этом расположении (CameraToWorld.MultiplyPoint(Vector3.zero)) и даже нарисовать маленькую стрелку в направлении, к которому была обращена камера (CameraToWorld.MultiplyVector(Vector3.forward)).
Tag / Pattern / Poster / Object Tracking
Многие приложения смешанной реальности используют узнаваемое изображение или визуальный шаблон для создания отслеживаемой точки в пространстве. Приложение может отображать объекты относительно этой точки или создавать известное расположение. Типичным применением HoloLens является поиск реального объекта с тегами fiducials. Это может произойти, например, на планшетах, настроенных для взаимодействия с HoloLens через Wi-Fi.
Вам потребуется несколько вещей, чтобы распознать визуальный шаблон и разместить объект в мировом пространстве приложения:
- Набор средств распознавания изображений, таких как QR-код, теги дополненной реальности, поиск лиц, круг отслеживания, OCR и т. д.
- Соберите кадры изображений во время выполнения и передайте их на уровень распознавания.
- Распаковка их расположения изображений обратно в позиции в мире или вероятные мировые лучи.
- Расположите виртуальные модели по этим расположениям мира.
Некоторые важные ссылки для обработки изображений:
Сохранение частоты кадров в интерактивном приложении имеет решающее значение, особенно при работе с длительными алгоритмами распознавания изображений. По этой причине мы обычно используем следующий шаблон:
- Основной поток: управляет объектом камеры.
- Основной поток: запрашивает новые кадры (асинхронные).
- Основной поток: передайте новые кадры в поток отслеживания.
- Поток отслеживания: обрабатывает изображение для сбора ключевых точек.
- Основной поток: перемещает виртуальную модель в соответствие с найденными ключевыми точками.
- Основной поток: повторите шаг 2.
Некоторые системы маркеров изображений предоставляют только однопиксельное расположение, которое приравнивается к лучу возможных расположений. (Другие предоставляют полное преобразование, в этом случае этот раздел не требуется.) Чтобы добраться до одного трехмерного расположения, можно вычислить несколько лучей и найти конечный результат по их приблизительному пересечению. Чтобы получить этот результат, вам потребуется:
- Создайте цикл, который собирает несколько изображений камеры.
- Найти связанные точки признаков и их лучи мира.
С учетом двух или более отслеживаемых расположений тегов можно разместить смоделированную сцену в соответствии с текущим сценарием пользователя. Если вы не можете предположить, что сила тяжести, вам потребуется три расположения тегов. Во многих случаях мы используем цветовую схему, где белые шары представляют расположения отслеживаемых тегов в режиме реального времени, а синие — смоделированные расположения тегов. Это позволяет пользователю визуально оценить качество выравнивания. Предполагается, что во всех наших приложениях используется следующая настройка:
- Два или более смоделированных расположений тегов.
- Одно "пространство калибровки", которое в сцене является родительским для тегов.
- Идентификатор функции камеры.
- Поведение, которое перемещает пространство калибровки для выравнивания смоделированных тегов с тегами реального времени (мы осторожно перемещаем родительское пространство, а не сами смоделированные маркеры, так как другие соединения являются позициями относительно них).
Отслеживание или идентификация помеченных неподвижных или движущихся реальных объектов или лиц с помощью светодиодов или других библиотек распознавателя
Примеры:
- Промышленные роботы со светодиодами (или QR-кодами для медленно движущихся объектов).
- Выявление и распознавание объектов в комнате.
- Идентифицировать и распознавать людей в комнате, например, размещая голографические карточки контакта на лицах.