Delen via


Gids voor het activeren van camerastuurprogramma's

In dit onderwerp wordt beschreven hoe u gezichtsherkenning inschakelt voor een infraroodcamera (IR). Dit is bedoeld voor OEM's en onafhankelijke hardwareleveranciers (IHV's) die deze functionaliteit op hun apparaten willen bieden.

FrameServer

In het volgende diagram ziet u hoe gezichtsverificatie werkt met de nieuwe stuurprogrammastack via FrameServer:

Windows Hello en frameserver.

DDIs voor gezichtsverificatie

Er zijn twee nieuwe DDI-constructies voor gezichtsverificatie beschikbaar in Windows 10, versie 1607 ter ondersteuning van Windows Hello:

  • KSPROPERTY_CAMERACONTROL_EXTENDED_FACEAUTH_MODE

    Deze eigenschaps-id wordt gebruikt om gezichtsverificatie in te schakelen en te configureren in het stuurprogramma met behulp van de volgende vlaggen:

    • KSCAMERA_EXTENDEDPROP_FACEAUTH_MODE_DISABLED

    • KSCAMERA_EXTENDEDPROP_FACEAUTH_MODE_ALTERNATIVE_FRAME_ILLUMINATION

    • KSCAMERA_EXTENDEDPROP_FACEAUTH_MODE_BACKGROUND_SUBTRACTION

    Zie het onderwerp KSPROPERTY_CAMERACONTROL_EXTENDED_FACEAUTH_MODE voor meer informatie over dit besturingselement en het gebruik van de bitvlagken om de modus voor gezichtsverificatie in te stellen.

  • MF_CAPTURE_METADATA_FRAME_ILLUMINATION

    Dit metagegevenskenmerk voor IR-camera's geeft aan dat frames actieve IR-verlichting gebruiken. Zie de tabel met verplichte metagegevenskenmerken in het onderwerp Capture Stats Metadata Attributes voor meer informatie.

Ondersteuning voor USB-camera

Als u gezichtsverificatie wilt inschakelen voor een infraroodcamera op uw apparaat, moeten er een correct geconfigureerde DeviceMFT-component en een UVC-extensie-eenheid (USB Video Class) worden opgegeven.

Het DeviceMFT-onderdeel configureren

Als uitgangspunt voor het bouwen van een DeviceMFT-onderdeel dat ondersteuning biedt voor gezichtsverificatie op uw apparaat, kunt u het sampledevicemft-voorbeeld gebruiken.

Als u het voorbeeld van het stuurprogramma wilt wijzigen, moet u de volgende wijzigingen aanbrengen in de broncode van het voorbeeld:

  1. Brontypegegevens toevoegen in het deviceMFT-onderdeel

  2. Label de verlichtingsvlag in het DeviceMFT-onderdeel

  3. Converteer de IKSControl in het DeviceMFT-onderdeel om te communiceren met de UVC-extensie-eenheid die u in de volgende sectie gaat bouwen:

Een UVC-extensie-eenheid (USB Video Class) bouwen

Als u een UVC-extensie-eenheid voor uw apparaat wilt bouwen, volgt u de instructies in het bouwen van het voorbeeldbeheer voor de extensie-eenheid. Dit onderwerp bevat informatie over het maken van de vereiste projectbestanden en bevat koppelingen naar voorbeeldcode in de volgende onderwerpen:

Voorbeeldinterface voor UVC-extensie-eenheden (bevat Interface.idl)

Sample Extension Unit Plug-in DLL (bevat Xuproxy.h en Xuproxy.cpp)

Voorbeeldregistervermelding voor UVC-extensie-eenheden (bevat Xusample.rgs)

Voorbeeldtoepassing voor UVC-extensie-eenheden (bevat TestApp.cpp)

Ondersteuning van AutoUpdate-gebeurtenissen met extensie-eenheden

Voorbeeld van extensie-eenheidsdescriptor

Het aanleveren van een UVC INF-bestand

Raadpleeg het onderwerp Extension Unit Plug-In Architecture voor meer informatie over hoe de voorbeeldcodemodules samenwerken.

INF-bestandsvermeldingen

Als u een UVC-apparaat wilt registreren onder KSCATEGORY_SENSOR_CAMERA, moet de promotievlag van de sensorcamera worden opgegeven:

HKR,,SensorCameraMode,0x00010001,0x00000001

Als u deze camera wilt verbergen voor een normale camera-app omdat deze geen RGB-streams heeft, gebruikt u de vlag voor het overslaan van opsomming als volgt:

HKR,,SkipCameraEnumeration,0x00010001,0x00000001

Hierdoor wordt de camera verwijderd uit KSCATEGORY_VIDEO, waardoor deze niet kan worden geïnventariseerd via de verouderde opsomming door reguliere camera-apps.

Zowel de SkipCameraEnumeration - als SensorCameraMode-vermeldingen moeten worden geplaatst in de sectie DDInstall.HW van het INF-bestand.

HLK-tests voor KSCATEGORY_SENSOR_CAMERA om te helpen bij het testen van drivers

HLK-tests (Hardware Logo Kit) zijn vereist voor zowel IR- als RGB-cameramodules. Deze test controleert de basisfunctionaliteit van RGB- en IR-camera's die worden gebruikt voor gezichtsverificatie met Windows Hello. De RGB-cameravereisten zijn al opgegeven in de HLK-testsuite.

Dit zijn tests waarvoor IR-cameramodules moeten worden ingeschakeld:

  1. Som alle KS-sensorcategorieën camera's op:

    • Apparaten die IR-streams ondersteunen, moeten in de categorie SENSOR_CAMERA vallen.

    • Apparaten die RGB-streams ondersteunen, vallen onder de categorie VIDEO_CAMERA.

    • Alleen voor één cameraapparaat dat IR- en RGB-stroom ondersteunt, moet het apparaat worden geregistreerd onder zowel KSCAMERA-categorieën: SENSOR_CAMERA als VIDEO_CAMERA.

  2. Streams zoeken waarvoor het kenmerk MF_DEVICESTREAM_ATTRIBUTE_FACEAUTH_CAPABILITY is gedefinieerd:

    • Als er geen stream is met het kenmerk MF_DEVICESTREAM_ATTRIBUTE_FACEAUTH_CAPABILITY gedefinieerd, sla de test dan over.

    • Als voor meerdere streams het kenmerk MF_DEVICESTREAM_ATTRIBUTE_FACEAUTH_CAPABILITY is gedefinieerd, mislukt u de test, omdat slechts één stream geschikt moet zijn voor Windows Hello.

    • Als MF_DEVICESTREAM_ATTRIBUTE_FRAMESOURCE_TYPES niet is ingesteld op IR voor deze stream, mislukt u de test, omdat er geen RGB-mediatypen voor deze stream kunnen zijn.

    • Selecteer deze stroom en controleer of het mediatype geschikt is voor Windows Hello (MJPG/L8/NV12) en of de resolutie groter is dan of gelijk is aan 320 x 320 pixels:

      1. Als Face Authentication-profiel wordt ondersteund, valideert u deze stream voor het profielmediatype.

      2. Als Face Authentication-profiel niet wordt ondersteund, valideert u het standaardmediatype van deze stream.

    • Controleer de ondersteuning voor een van de eigenschappen in de gezichtsauthenticatie DDI: Verlicht/onverlicht of omgevingssubstractie.

    • Stel de KS-eigenschap in op een ondersteunde eigenschap.

    • Streaming starten

  3. Runtime-eigenschappen controleren:

    • Controleer de tijdstempelprecisie (preview-test voor Face Authentication met metagegevens).

    • Controleer of het opstarten minder is dan 500 milliseconden (preview-test voor Face Authentication met metagegevens).

    • Controleer het streamen met een minimale framesnelheid met de volgende parameters: 15 FPS verlicht en 15 FPS omgeving of 15 FPS omgeving afgetrokken, resolutie groter dan of gelijk aan 320 x 320 pixels, mediatype L8/NV12, positieve stride op het voorbeeld:

      1. Als de verlichte eigenschap is ingeschakeld, controleer op metadata in de frames (verlichte/niet-verlichte paarframes bij 15 FPS).

      2. Als de eigenschap voor het aftrekken van de omgeving is ingeschakeld, controleer dan of er geen metagegevens zijn op de frames (omgevingsframes bij 15 FPS).

  4. Streaming stoppen

  5. Het KS-beheer uitzetten

  6. Gelijktijdigheid voor RGB + IR: getest als dit is gedefinieerd in het cameraprofiel

Als de bovenstaande HLK-tests niet worden doorgegeven, geeft Microsoft geen ondertekend stuurprogramma uit aan de OEM en werkt Windows Hello niet.

Foto's en video's vastleggen met MediaCapture

Windows.Media.Capture-naamruimte