Guía de incorporación de controladores de cámara
En este tema se analiza cómo habilitar la autenticación facial para una cámara de infrarrojos (IR) y está destinado a fabricantes de equipos originales (OEM) y proveedores de hardware independientes (IHVs) que desean proporcionar esta funcionalidad en sus dispositivos.
FrameServer
En el diagrama siguiente se muestra cómo funciona la autenticación facial con la nueva pila de controladores a través de FrameServer:
DDI de autenticación facial
Hay dos nuevas construcciones DDI de autenticación facial disponibles en Windows 10, versión 1607 para admitir Windows Hello:
KSPROPERTY_CAMERACONTROL_EXTENDED_FACEAUTH_MODE
Este ID de propiedad se utiliza para activar y configurar la autenticación facial en el controlador mediante los siguientes indicadores:
KSCAMERA_EXTENDEDPROP_FACEAUTH_MODE_DISABLED
KSCAMERA_EXTENDEDPROP_FACEAUTH_MODE_ALTERNATIVE_FRAME_ILLUMINATION
KSCAMERA_EXTENDEDPROP_FACEAUTH_MODE_BACKGROUND_SUBTRACTION
Para obtener más información sobre este control y cómo usar las marcas de bits para establecer el modo de autenticación facial, consulte el tema KSPROPERTY_CAMERACONTROL_EXTENDED_FACEAUTH_MODE.
MF_CAPTURE_METADATA_FRAME_ILLUMINATION
Este atributo de metadatos para cámaras IR especifica que los fotogramas usen iluminación de IR activa. Para obtener más información, consulte la tabla de atributos de metadatos obligatorios en el tema Capturar atributos de metadatos de estadísticas.
Compatibilidad con la cámara USB
Para habilitar la autenticación facial para una cámara de infrarrojos en su dispositivo, debe proporcionar un componente DeviceMFT configurado correctamente y una unidad de extensión de clase de vídeo USB (UVC).
Configuración del componente DeviceMFT
Como punto de partida para crear un componente DeviceMFT que admita la autenticación facial en el dispositivo, puede usar el ejemplo sampledevicemft.
Para modificar el ejemplo de controlador, realice los siguientes cambios en el código fuente de ejemplo:
Agregue información del tipo de origen en el componente DeviceMFT
Etiquete la marca de iluminación en el componente DeviceMFT
Convierta el IKSControl en el componente DeviceMFT para comunicarse con la unidad de extensión UVC que compilará en la sección siguiente:
Creación de una unidad de extensión de clase de vídeo USB (UVC)
Para compilar una unidad de extensión UVC para el dispositivo, siga las instrucciones de Creación del control de ejemplo de unidad de extensión. Este tema contiene información sobre la creación de los archivos de proyecto necesarios y proporciona vínculos a códigos de ejemplo en los temas siguientes:
Interfaz de ejemplo para unidades de extensión UVC (contiene Interface.idl)
DLL de complemento de unidad de extensión de ejemplo (contiene Xuproxy.h y Xuproxy.cpp)
Entrada del Registro de ejemplo para unidades de extensión UVC (contiene Xusample.rgs)
Aplicación de ejemplo para unidades de extensión UVC (contiene TestApp.cpp)
Compatibilidad con eventos de actualización automática con unidades de extensión
Descriptor de unidad de extensión de ejemplo
Aprovisionamiento de un archivo INF de UVC
Consulte el tema Arquitectura de unidad de extensión Plug-In para obtener más información sobre cómo funcionan conjuntamente los módulos de código de ejemplo.
Entradas de archivo INF
Para registrar un dispositivo UVC en KSCATEGORY_SENSOR_CAMERA, se debe especificar la marca de promoción de cámara del sensor:
HKR,,SensorCameraMode,0x00010001,0x00000001
Para ocultar esta cámara de una aplicación de cámara normal porque no tiene secuencias RGB, use el indicador de enumeración de omisión como se indica a continuación:
HKR,,SkipCameraEnumeration,0x00010001,0x00000001
Esto elimina la cámara de KSCATEGORY_VIDEO, lo que impedirá que se enumere a través de la enumeración heredada mediante aplicaciones de cámara normales.
Las entradas SkipCameraEnumeration y SensorCameraMode deben colocarse en la sección DDInstall.HW del archivo INF.
Pruebas de HLK para KSCATEGORY_SENSOR_CAMERA para ayudar en las pruebas de controladores
Las pruebas del Kit de logotipo de hardware (HLK) son necesarias para los módulos de cámara IR y RGB. Esta prueba verifica la funcionalidad básica de las cámaras RGB e IR utilizadas para la autenticación facial de Windows Hello. Los requisitos de la cámara RGB ya se especifican en el conjunto de pruebas HLK.
Se trata de las pruebas que los módulos de cámara IR deberán superar para habilitarse:
Enumerar todas las cámaras de categoría de sensor KS:
Los dispositivos que admiten secuencias de IR deben estar en la categoría SENSOR_CAMERA.
Los dispositivos que admiten secuencias RGB se encuentran en la categoría VIDEO_CAMERA.VIDEO_CAMERA.
Solo para un único dispositivo de cámara que admita la transmisión IR y RGB, debe registrar el dispositivo en las categorías KSCAMERA: SENSOR_CAMERA y VIDEO_CAMERA.
Buscar secuencias que tengan definido el atributo MF_DEVICESTREAM_ATTRIBUTE_FACEAUTH_CAPABILITY:
Si ninguna secuencia tiene el atributo MF_DEVICESTREAM_ATTRIBUTE_FACEAUTH_CAPABILITY definido, omita la prueba.
Si varias secuencias tienen el atributo MF_DEVICESTREAM_ATTRIBUTE_FACEAUTH_CAPABILITY definido, no pasará la prueba, ya que solo una secuencia debe ser compatible con Windows Hello..
Si MF_DEVICESTREAM_ATTRIBUTE_FRAMESOURCE_TYPES no está establecido en IR para esta secuencia, no pasará la prueba, ya que no puede haber tipos de medios RGB en esta secuencia.
Seleccione esta secuencia y compruebe que el tipo de medio es compatible con Windows Hello (MJPG/L8/NV12) y que la resolución es mayor o igual que 320 x 320 píxeles:
Si se admite el perfil de autenticación facial, valide esta secuencia para el tipo de medio del perfil.
Si no se admite el perfil de autenticación facial, valide el tipo de medio predeterminado de esta secuencia.
Compruebe la compatibilidad con una de las propiedades de la DDI de autenticación facial: sustracción de iluminación o sin iluminación, o ambiental.
Establezca la propiedad KS en la que se admite.
Iniciar streaming
Comprobar las propiedades en tiempo de ejecución:
Compruebe la precisión de la marca de tiempo (prueba de vista previa de la autenticación facial con metadatos).
Compruebe que el inicio es inferior a 500 milisegundos (prueba de vista previa para la autenticación facial con metadatos).
Compruebe el streaming a una velocidad de fotograma mínima con los siguientes parámetros: 15 FPS de iluminación y 15 FPS ambientales o 15 FPS ambientales de sustracción, resolución mayor o igual a 320 x 320 píxeles, tipo de medio L8/NV12, paso positivo en la muestra:
Si la propiedad iluminada está habilitada, compruebe si hay metadatos en fotogramas (fotogramas de par iluminados o no iluminados a 15 FPS).
Si la propiedad de sustracción ambiental está habilitada, compruebe que no haya metadatos en los fotogramas (fotogramas ambientales a 15 FPS).
Detener el streaming
Desactivar el control KS
Simultaneidad para RGB + IR: probado si está definida en el perfil de cámara
Si no se superan las pruebas HLK enumeradas anteriormente, Microsoft no emitirá un controlador firmado al OEM y Windows Hello no funcionará.