Introducción a la cámara localizable

HoloLens incluye una cámara de visión general montada en la parte frontal del dispositivo que permite a las aplicaciones ver lo que ve el usuario. Los desarrolladores tienen acceso y control de la cámara, como lo harían con las cámaras de color en smartphones, portátiles o escritorios. Las mismas API Windows multimedia universales y Windows Media Foundation que funcionan en dispositivos móviles y de escritorio en HoloLens. Unity ha ajustado estas API de Windows para abstraer las características de uso de la cámara en HoloLens. Las tareas de características incluyen tomar fotos y vídeos normales (con o sin hologramas) y localizar la posición de la cámara en la escena y su perspectiva.

Información de la cámara del dispositivo

HoloLens (primera generación)

  • Se ha corregido el enfoque de la cámara de foto/vídeo (PV) con equilibrio de blanco automático, exposición automática y canalización de procesamiento de imágenes completa.

  • LED de privacidad blanca orientado al mundo que se enciende cada vez que la cámara está activa.

  • La cámara admite los siguientes modos (todos los modos tienen una relación de aspecto de 16:9) a 30, 24, 20, 15 y 5 fps:

    Vídeo Vista previa Todavía Campo de vista horizontal (H-FOV) Uso sugerido
    1280x720 1280x720 1280x720 45 deg (modo predeterminado con estabilización de vídeo)
    N/D N/D 2048x1152 67 deg Imagen de la resolución más alta
    1408x792 1408x792 1408x792 48 deg Resolución de sobreexploración (relleno) antes de la estabilización del vídeo
    1344x756 1344x756 1344x756 67 deg Modo de vídeo fov grande con sobreexploración
    896x504 896x504 896x504 48 deg Modo de baja potencia o baja resolución para tareas de procesamiento de imágenes

HoloLens 2

  • Cámara foto/vídeo (PV) con equilibrio de blanco automático, exposición automática y canalización de procesamiento de imágenes completa.

  • LED de privacidad blanca orientado al mundo que se enciende cada vez que la cámara está activa.

  • HoloLens 2 admite diferentes perfiles de cámara. Obtenga información sobre cómo detectar y seleccionar las funcionalidades de la cámara.

  • La cámara admite los siguientes perfiles y resoluciones (todos los modos de vídeo son relación de aspecto 16:9):

    Perfil Vídeo Vista previa Todavía Velocidades de fotogramas Campo de vista horizontal (H-FOV) Uso sugerido
    Legacy,0 BalancedVideoAndPhoto,100 2272x1278 2272x1278 15.30 64.69 Grabación de vídeo de alta calidad
    Legacy,0 BalancedVideoAndPhoto,100 896x504 896x504 15.30 64.69 Secuencia de vista previa para la captura de fotos de alta calidad
    Legacy,0 BalancedVideoAndPhoto,100 3904x2196 64.69 Captura de fotos de alta calidad
    BalancedVideoAndPhoto, 120 1952x1100 1952x1100 1952x1100 15.30 64.69 Escenarios de larga duración
    BalancedVideoAndPhoto, 120 1504x846 1504x846 15.30 64.69 Escenarios de larga duración
    Videoconferencia,100 1952x1100 1952x1100 1952x1100 15,30,60 64.69 Videoconferencia, escenarios de larga duración
    Videoconferencia,100 1504x846 1504x846 5,15,30,60 64.69 Videoconferencia, escenarios de larga duración
    Videoconferencia,100 BalancedVideoAndPhoto,120 1920x1080 1920x1080 1920x1080 15,30 64.69 Videoconferencia, escenarios de larga duración
    Videoconferencia,100 BalancedVideoAndPhoto,120 1280x720 1280x720 1280x720 15,30 64.69 Videoconferencia, escenarios de larga duración
    Videoconferencia,100 BalancedVideoAndPhoto,120 1128x636 15,30 64.69 Videoconferencia, escenarios de larga duración
    Videoconferencia,100 BalancedVideoAndPhoto,120 960 x 540 15,30 64.69 Videoconferencia, escenarios de larga duración
    Videoconferencia,100 BalancedVideoAndPhoto,120 760x428 15,30 64.69 Videoconferencia, escenarios de larga duración
    Videoconferencia,100 BalancedVideoAndPhoto,120 640 x 360 15,30 64.69 Videoconferencia, escenarios de larga duración
    Videoconferencia,100 BalancedVideoAndPhoto,120 500 x 282 15,30 64.69 Videoconferencia, escenarios de larga duración
    Videoconferencia,100 BalancedVideoAndPhoto,120 424x240 15,30 64.69 Videoconferencia, escenarios de larga duración

Nota

Los clientes pueden aprovechar la captura de realidad mixta para tomar vídeos o fotos de la aplicación que incluyen hologramas y emplean estabilización de vídeo.

Si desea que el contenido de la captura del usuario tenga el aspecto más bueno posible, hay algunas cosas que debe tener en cuenta. También puede habilitar (y personalizar) la captura de realidad mixta desde directamente dentro de la aplicación. Obtenga más información en mixed reality capture for developers (Captura de realidad mixta para desarrolladores).

Localización de la cámara del dispositivo en el mundo

Cuando HoloLens fotos y vídeos, los fotogramas capturados incluyen la ubicación de la cámara en el mundo y el modelo de lente de la cámara. Esta información permite a las aplicaciones razonar sobre la posición de la cámara en el mundo real para escenarios de creación de imágenes aumentadas. Los desarrolladores pueden crear sus propios escenarios de forma creadora con sus bibliotecas personalizadas de computer vision o procesamiento de imágenes favoritas.

"Cámara" en otra parte de HoloLens documentación puede hacer referencia a la "cámara de juego virtual" (el frustum en el que se representa la aplicación). A menos que se describa lo contrario, "cámara" en esta página hace referencia a la cámara de color RGB del mundo real.

Error de distorsión

En HoloLens, las secuencias de vídeo y de imagen todavía no sedistorgen en la canalización de procesamiento de imágenes del sistema antes de que los fotogramas estén disponibles para la aplicación. La secuencia de vista previa contiene los fotogramas distorsionados originales. Dado que solo están disponibles los elementos CameraIntrinsics, las aplicaciones deben asumir que los fotogramas de imagen representan una cámara de pinhole perfecta.

En HoloLens (primera generación), la función de desdistorsión en el procesador de imágenes puede dejar un error de hasta 10 píxeles al usar CameraIntrinsics en los metadatos del fotograma. En muchos casos de uso, este error no importa. Sin embargo, si, por ejemplo, alinea hologramas con pósteres o marcadores del mundo real y observa un desplazamiento de < 10 px (aproximadamente 11 mm para hologramas situados a dos metros de distancia), este error de distorsión podría ser la causa.

Escenarios de uso de cámara localizables

Mostrar una foto o un vídeo en el mundo donde se capturó

Los fotogramas de la cámara del dispositivo incluyen una transformación "Cámara a mundo" que se puede usar para mostrar exactamente dónde estaba el dispositivo cuando capturó la imagen. Por ejemplo, podría colocar un pequeño icono holográfico en esta ubicación (CameraToWorld.MultiplyPoint(Vector3.zero)) e incluso dibujar una pequeña flecha en la dirección en la que estaba orientada la cámara (CameraToWorld.MultiplyVector(Vector3.forward)).

Tag/Pattern/Poster/Object Tracking

Muchas aplicaciones de realidad mixta usan una imagen o un patrón visual reconocibles para crear un punto de seguimiento en el espacio. Una aplicación puede representar objetos relativos a ese punto o crear una ubicación conocida. Un uso típico de HoloLens es encontrar un objeto real etiquetado con fiduciales. Esto puede ocurrir, por ejemplo, en tabletas configuradas para comunicarse con HoloLens a través de Wifi.

Necesitará algunas cosas para reconocer un patrón visual y colocar un objeto en el espacio del mundo de la aplicación:

  1. Un kit de herramientas de reconocimiento de patrones de imagen, como código QR, etiquetas AR, buscador de caras, seguimientos de círculos, OCR, entre otros.
  2. Recopile fotogramas de imagen en tiempo de ejecución y pásenlos a la capa de reconocimiento.
  3. Desprotegen sus ubicaciones de imagen en posiciones del mundo o probables rayos del mundo.
  4. Coloque los modelos virtuales sobre estas ubicaciones del mundo.

Algunos vínculos importantes de procesamiento de imágenes:

Mantener una velocidad de fotogramas de aplicación interactiva es fundamental, especialmente cuando se trabaja con algoritmos de reconocimiento de imágenes de ejecución larga. Por esta razón, normalmente usamos el siguiente patrón:

  1. Subproceso principal: administra el objeto de cámara.
  2. Subproceso principal: solicita nuevos fotogramas (asincrónicos).
  3. Subproceso principal: pase nuevos fotogramas al subproceso de seguimiento.
  4. Subproceso de seguimiento: procesa la imagen para recopilar puntos clave.
  5. Subproceso principal: mueve el modelo virtual para que coincida con los puntos clave encontrados.
  6. Subproceso principal: repita el paso 2.

Algunos sistemas de marcadores de imagen solo proporcionan una ubicación de un solo píxel que equivale a un rayo de ubicaciones posibles. (Otros proporcionan la transformación completa, en cuyo caso esta sección no es necesaria). Para llegar a una única ubicación 3D, podemos calcular varios rayos y buscar el resultado final por su intersección aproximada. Para obtener este resultado, deberá:

  1. Cree un bucle que recopile varias imágenes de cámara.
  2. Busque los puntos de características asociados y sus rayos del mundo.

Dadas dos o más ubicaciones de etiquetas con seguimiento, puede colocar una escena modelada para que se ajuste al escenario actual del usuario. Si no puede asumir la gravedad, necesitará tres ubicaciones de etiquetas. En muchos casos, usamos una combinación de colores donde las esferas blancas representan ubicaciones de etiquetas con seguimiento en tiempo real y las esferas azules representan ubicaciones de etiquetas modeladas. Esto permite al usuario medir visualmente la calidad de alineación. Se supone que la siguiente configuración se ha configurado en todas nuestras aplicaciones:

  • Dos o más ubicaciones de etiquetas modeladas.
  • Un "espacio de calibración", que en la escena es el elemento primario de las etiquetas.
  • Identificador de la característica de cámara.
  • Comportamiento, que mueve el espacio de calibración para alinear las etiquetas modeladas con las etiquetas en tiempo real (tenemos cuidado de mover el espacio primario, no los propios marcadores modelados, porque otras conectaciones son posiciones relativas a ellos).

Realizar un seguimiento o identificar caras o objetos estacionados etiquetados o en movimiento del mundo real mediante LED u otras bibliotecas de reconocedores

Ejemplos:

  • Robots industriales con LED (o códigos QR para objetos de movimiento más lentos).
  • Identifique y reconozca los objetos de la sala.
  • Identifique y reconozca a las personas de la sala, por ejemplo, colocando tarjetas de contacto holográficas sobre caras.

Consulte también