Introducción a la cámara locable

HoloLens incluye una cámara orientada al mundo 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, igual que lo harían para cámaras de color en smartphones, portátiles o escritorios. Las mismas API universales de Windows Media Capture y Windows Media Foundation que funcionan en dispositivos móviles y de escritorio funcionan 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 la perspectiva.

Información de la cámara del dispositivo

HoloLens (primera generación)

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

  • Led de privacidad blanco frente al mundo que ilumina cada vez que la cámara está activa.

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

    Vídeo Versión preliminar Todavía Campo de vista horizontal (H-FOV) Uso sugerido
    1280x720 1280x720 1280x720 45 g (modo predeterminado con estabilización de vídeo)
    No aplicable No aplicable 2048x1152 67 g Imagen fija de resolución más alta
    1408x792 1408x792 1408x792 48 g Resolución overscan (relleno) antes de la estabilización de vídeo
    1344 x 756 1344 x 756 1344 x 756 67 g Modo de vídeo FOV grande con sobrescan
    896 x 504 896 x 504 896 x 504 48 g Modo de baja potencia y baja resolución para tareas de procesamiento de imágenes

HoloLens 2

  • Cámara de foto/vídeo (PV) de autofoco con balance de blancos automático, exposición automática y canalización completa de procesamiento de imágenes. El sistema de autofoco puede ajustar la distancia del objeto de 30 cm a infinito. La longitud focal efectiva para la lente de cámara PV HoloLens 2 es de 4,87 mm +/- 5%. Además de la variación del 5% debido a la tolerancia de fabricación, la longitud focal cambiará dinámicamente debido al sistema de autofoco. El recorrido af (trazo) es de hasta 0,2 mm.

  • Led de privacidad blanco frente al mundo que ilumina cada vez que la cámara está activa.

  • HoloLens 2 admite diferentes perfiles de cámara. Aprenda a detectar y seleccionar funcionalidades de cámara.

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

    Perfil Vídeo Versión preliminar Todavía Velocidades de fotogramas Campo de vista horizontal (H-FOV) Uso sugerido
    Heredado, 0 BalancedVideoAndPhoto, 100 2272x1278 2272x1278 15.30 64.69 Grabación de vídeo de alta calidad
    Heredado, 0 BalancedVideoAndPhoto,100 896 x 504 896 x 504 15.30 64.69 Secuencia de vista previa para la captura de fotos de alta calidad
    Heredado, 0 BalancedVideoAndPhoto, 100 3904x2196 64.69 Captura de fotos de alta calidad
    BalancedVideoAndPhoto, 120 1952 x 1100 1952 x 1100 1952 x 1100 15.30 64.69 Escenarios de larga duración
    BalancedVideoAndPhoto, 120 1504x846 1504x846 15.30 64.69 Escenarios de larga duración
    Videoconferencia, 100 1952 x 1100 1952 x 1100 1952 x 1100 15, 30,60 64.69 Vídeoconferencia, escenarios de larga duración
    Videoconferencia, 100 1504x846 1504x846 5, 15, 30,60 64.69 Vídeoconferencia, escenarios de larga duración
    Videoconferencia, 100 BalancedVideoAndPhoto, 120 1920x1080 1920x1080 1920x1080 15, 30 64.69 Vídeoconferencia, escenarios de larga duración
    Videoconferencia, 100 BalancedVideoAndPhoto, 120 1280x720 1280x720 1280x720 15, 30 64.69 Vídeoconferencia, escenarios de larga duración
    Videoconferencia, 100 BalancedVideoAndPhoto,120 1128x636 15, 30 64.69 Vídeoconferencia, escenarios de larga duración
    Videoconferencia, 100 BalancedVideoAndPhoto, 120 960 x 540 15,30 64.69 Vídeoconferencia, escenarios de larga duración
    Videoconferencia, 100 BalancedVideoAndPhoto, 120 760x428 15, 30 64.69 Vídeoconferencia, escenarios de larga duración
    Videoconferencia, 100 BalancedVideoAndPhoto, 120 640x360 15, 30 64.69 Vídeoconferencia, escenarios de larga duración
    Videoconferencia, 100 BalancedVideoAndPhoto, 120 500x282 15, 30 64.69 Vídeoconferencia, escenarios de larga duración
    Videoconferencia, 100 BalancedVideoAndPhoto, 120 424 x 240 15, 30 64.69 Vídeoconferencia, 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 emplear estabilización de vídeo.

Si desea que el contenido de la captura del usuario tenga el aspecto más adecuado 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 la captura de realidad mixta para desarrolladores.

Buscar la cámara del dispositivo en el mundo

Cuando HoloLens toma 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 implementar de forma creativa sus propios escenarios mediante su procesamiento de imágenes favorito o bibliotecas personalizadas de Computer Vision.

"Cámara" en otra parte de la documentación de HoloLens puede hacer referencia a la "cámara de juego virtual" (el frustum al 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 2, las secuencias de vídeo y de imagen todavía no se describen 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 los CameraIntrinsics están disponibles, las aplicaciones deben asumir que los fotogramas de imagen representan una cámara de pinhole perfecta.

En HoloLens (primera generación), la función undistortion del 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, está alineando hologramas con carteles o marcadores reales y observa un < desplazamiento de 10 px (aproximadamente 11 mm para hologramas situados a 2 metros), este error de distorsión podría ser la causa.

Escenarios de uso de cámara locables

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

Los fotogramas de la cámara de dispositivo vienen con 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 a la que estaba orientada la cámara (CameraToWorld.MultiplyVector(Vector3.forward)).

Tag/Pattern/Poster/Object Tracking

Muchas aplicaciones de realidad mixta usan una imagen reconocible o un patrón visual para crear un punto rastreable 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 que se han configurado para comunicarse con HoloLens a través de Wi-Fi.

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

  1. Un kit de herramientas de reconocimiento de patrones de imágenes, como código QR, etiquetas AR, buscador de caras, rastreadores de círculos, OCR, etc.
  2. Recopile fotogramas de imagen en tiempo de ejecución y páselos a la capa de reconocimiento.
  3. Desproyecto sus ubicaciones de imagen en posiciones del mundo o probablemente rayos del mundo.
  4. Coloque los modelos virtuales en 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 larga duración. Por este motivo, normalmente usamos el siguiente patrón:

  1. Subproceso principal: administra el objeto de cámara.
  2. Subproceso principal: solicita nuevos marcos (asincrónico).
  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 marcador de imagen solo proporcionan una ubicación de un solo píxel, lo que equivale a un rayo de posibles ubicaciones. (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 encontrar 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. Encuentra 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 ajustarse 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 en la que las esferas blancas representan ubicaciones de etiquetas de seguimiento en tiempo real y las esferas azules representan ubicaciones de etiquetas modeladas. Esto permite al usuario medir visualmente la calidad de alineación. Asumimos la siguiente configuración 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 posiciones de conexión son relativas a ellas).

Realizar un seguimiento o identificar objetos o caras etiquetados estacionarios o mover caras reales mediante LED u otras bibliotecas de reconocedores

Ejemplos:

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

Consulte también