Partager via


Guide d'installation du pilote de caméra

Cette rubrique explique comment activer l’authentification faciale pour une caméra infrarouge (IR) et est destinée aux fabricants d’équipements d’origine (OEM) et aux vendeurs de matériel indépendants (IHV) qui souhaitent offrir cette fonctionnalité dans leurs appareils.

FrameServer

Le schéma suivant montre comment fonctionne l’authentification faciale avec la nouvelle pile de pilotes via FrameServer :

windows hello et frameserver.

DDIs d’authentification faciale

Il existe deux nouvelles constructions DDI d’authentification faciale disponibles dans Windows 10, version 1607, pour prendre en charge Windows Hello :

  • KSPROPERTY_CAMERACONTROL_EXTENDED_FACEAUTH_MODE

    Cet identifiant de propriété est utilisé pour activer et configurer l’authentification faciale dans le pilote en utilisant les indicateurs suivants :

    • KSCAMERA_EXTENDEDPROP_FACEAUTH_MODE_DISABLED

    • KSCAMERA_EXTENDEDPROP_FACEAUTH_MODE_ALTERNATIVE_FRAME_ILLUMINATION

    • KSCAMERA_EXTENDEDPROP_FACEAUTH_MODE_BACKGROUND_SUBTRACTION

    Pour plus d’informations sur ce contrôle et sur la façon d’utiliser les indicateurs de bits pour définir le mode d’authentification faciale, veuillez consulter la section KSPROPERTY_CAMERACONTROL_EXTENDED_FACEAUTH_MODE.

  • MF_CAPTURE_METADATA_FRAME_ILLUMINATION

    Cet attribut de métadonnées pour les caméras IR spécifie que les images utilisent l’éclairage IR actif. Pour plus d’informations, consultez le tableau des attributs de métadonnées obligatoires dans la rubrique Capture Stats Metadata Attributes.

Prise en charge de la caméra USB

Pour activer l’authentification faciale pour une caméra infrarouge sur votre appareil, vous devez fournir un composant DeviceMFT correctement configuré et une unité d’extension USB Video Class (UVC).

Configurer le composant DeviceMFT

Comme point de départ pour la création d’un composant DeviceMFT prenant en charge l’authentification faciale sur votre appareil, vous pouvez utiliser l’exemple sampledevicemft.

Pour modifier l’exemple de pilote, apportez les modifications suivantes au code source de l’exemple :

  1. Ajouter des informations de type Source dans le composant DeviceMFT

  2. Taguer l’indicateur d’illumination dans le composant DeviceMFT

  3. Convertir l’IKSControl dans le composant DeviceMFT pour communiquer avec l’unité d’extension UVC que vous construirez dans la section suivante :

Construire une unité d’extension USB Video Class (UVC)

Pour construire une unité d’extension UVC pour votre appareil, suivez les instructions dans Création de l’exemple de contrôle d’unité d’extension. Cette rubrique contient des informations sur la création des fichiers de projet requis et fournit des liens vers des exemples de code dans les rubriques suivantes :

Exemple d’interface pour les unités d’extension UVC (contient Interface.idl)

Exemple de DLL de plug-in d’unité d’extension (contient Xuproxy.h et Xuproxy.cpp)

Exemple d’entrée de registre pour les unités d’extension UVC (contient Xusample.rgs)

Exemple d’application pour les unités d’extension UVC (contient TestApp.cpp)

Prise en charge des événements de mise à jour automatique avec des unités d’extension

Exemple de descripteur d’unité d’extension

Fourniture d’un fichier UVC INF

Consultez la rubrique Architecture plug-in d’unité d’extension pour plus d’informations sur le fonctionnement des modules de code d’exemple ensemble.

Entrées de fichier INF

Pour enregistrer un appareil UVC sous KSCATEGORY_SENSOR_CAMERA, l’indicateur de promotion de la caméra de capteur doit être spécifié :

HKR,,SensorCameraMode,0x00010001,0x00000001

Pour masquer cette caméra d’une application de caméra ordinaire car elle n’a pas de flux RGB, utilisez l’indicateur de saut d’énumération comme suit :

HKR,,SkipCameraEnumeration,0x00010001,0x00000001

Cela supprime la caméra de KSCATEGORY_VIDEO, ce qui l’empêchera d’être énumérée par l’énumération héritée par les applications de caméra ordinaires.

Les entrées SkipCameraEnumeration et SensorCameraMode doivent être placées dans la section DDInstall.HW du fichier INF.

Tests HLK pour KSCATEGORY_SENSOR_CAMERA pour aider à tester le pilote

Les tests du Hardware Logo Kit (HLK) sont requis pour les modules de caméra IR et RGB. Ces tests vérifient les fonctionnalités de base des caméras RGB et IR utilisées pour l’authentification faciale Windows Hello. Les exigences de la caméra RGB sont déjà spécifiées dans la suite de tests HLK.

Ce sont des tests que les modules de caméra IR devront passer pour être activés :

  1. Énumérer toutes les caméras de catégorie KS Sensor :

    • Les appareils qui prennent en charge les flux IR doivent être sous la catégorie SENSOR_CAMERA.

    • Les appareils qui prennent en charge les flux RGB vont sous la catégorie VIDEO_CAMERA.

    • Seuls les appareils à caméra unique qui prennent en charge les flux IR et RGB doivent enregistrer l’appareil sous les deux catégories KSCAMERA : SENSOR_CAMERA et VIDEO_CAMERA.

  2. Trouvez les flux qui ont l’attribut MF_DEVICESTREAM_ATTRIBUTE_FACEAUTH_CAPABILITY défini :

    • Si aucun flux n’a l’attribut MF_DEVICESTREAM_ATTRIBUTE_FACEAUTH_CAPABILITY défini, alors sautez le test.

    • Si plusieurs flux ont l’attribut MF_DEVICESTREAM_ATTRIBUTE_FACEAUTH_CAPABILITY défini, échouez le test, car un seul flux doit être compatible avec Windows Hello.

    • Si MF_DEVICESTREAM_ATTRIBUTE_FRAMESOURCE_TYPES n’est pas défini sur IR pour ce flux, échouez le test, car il ne peut pas y avoir de types de médias RGB sur ce flux.

    • Sélectionnez ce flux et validez que le type de média est compatible avec Windows Hello (MJPG/L8/NV12) et que la résolution est supérieure ou égale à 320 x 320 pixels :

      1. Si le profil d’authentification faciale est pris en charge, validez ce flux pour le type de média du profil.

      2. Si le profil d’authentification faciale n’est pas pris en charge, validez le type de média par défaut de ce flux.

    • Vérifiez la prise en charge de l’une des propriétés dans le DDI d’authentification faciale : éclairé/non éclairé ou soustraction ambiante.

    • Définissez la propriété KS sur celle qui est prise en charge.

    • Démarrer le streaming

  3. Vérifiez les propriétés en temps réel :

    • Vérifiez la précision du timestamp (test d’aperçu pour l’authentification faciale avec métadonnées).

    • Vérifiez que le démarrage est inférieur à 500 millisecondes (test d’aperçu pour l’authentification faciale avec métadonnées).

    • Vérifiez la diffusion en continu à un taux de trame minimum avec les paramètres suivants : 15 FPS éclairé et 15 FPS ambiant ou 15 FPS soustrait ambiant, résolution supérieure ou égale à 320 x 320 pixels, type de média L8/NV12, stride positif sur l’échantillon :

      1. Si la propriété éclairée est activée, vérifiez les métadonnées sur les images (paires d’images éclairées/non éclairées à 15 FPS).

      2. Si la propriété de soustraction ambiante est activée, vérifiez l’absence de métadonnées sur les images (images ambiantes à 15 FPS).

  4. Arrêtez la diffusion

  5. Désactivez le contrôle KS

  6. Concurrence pour RGB + IR : testé si défini dans le profil de la caméra

Si les tests HLK listés ci-dessus ne sont pas passés, Microsoft n’émettra pas de pilote signé à l’OEM, et Windows Hello ne fonctionnera pas.

Capture photos and video with MediaCapture

Windows.Media.Capture namespace