Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este tópico discute como habilitar a autenticação facial para uma câmera de infravermelho (IR) e destina-se a fabricantes de equipamentos originais (OEMs) e IHVs (fornecedores independentes de hardware) que desejam fornecer essa funcionalidade em seus dispositivos.
FrameServer
O diagrama a seguir mostra como a autenticação facial funciona com a nova pilha de drivers através do FrameServer.
DDIs de autenticação facial
Existem duas novas construções DDI de autenticação facial disponíveis no Windows 10, versão 1607 para suportar o Windows Hello:
KSPROPERTY_CAMERACONTROL_EXTENDED_FACEAUTH_MODE
Esse ID de propriedade é usado para ativar e configurar a autenticação facial no driver usando os seguintes sinalizadores:
KSCAMERA_EXTENDEDPROP_FACEAUTH_MODE_DISABLED
KSCAMERA_EXTENDEDPROP_FACEAUTH_MODE_ALTERNATIVE_FRAME_ILLUMINATION
KSCAMERA_EXTENDEDPROP_FACEAUTH_MODE_BACKGROUND_SUBTRACTION
Para obter mais informações sobre esse controle e como usar os sinalizadores de bits para definir o modo de autenticação facial, consulte o tópico KSPROPERTY_CAMERACONTROL_EXTENDED_FACEAUTH_MODE .
MF_CAPTURE_METADATA_FRAME_ILLUMINATION
Este atributo de metadados para câmeras IR especifica que os quadros estão usando iluminação IR ativa. Para obter mais informações, consulte a tabela de atributos de metadados obrigatórios no tópico Capture Stats Metadata Attributes.
Suporte para câmera USB
Para habilitar a autenticação facial para uma câmera infravermelha em seu dispositivo, você deve fornecer um componente DeviceMFT configurado corretamente e uma unidade de extensão USB Video Class (UVC).
Configurar o componente DeviceMFT
Como ponto de partida para criar um componente DeviceMFT que ofereça suporte à autenticação facial em seu dispositivo, você pode usar o exemplo sampledevicemft .
Para modificar o exemplo de driver, faça as seguintes alterações no código-fonte de exemplo:
Adicionar informações de tipo de origem no componente DeviceMFT
Marque o sinalizador de iluminação no componente DeviceMFT
Converta o IKSControl no componente DeviceMFT para se comunicar com a unidade de extensão UVC que você construirá na próxima seção:
Construa uma unidade de extensão de classe de vídeo USB (UVC)
Para construir uma unidade de extensão UVC para o seu dispositivo, siga as instruções em Construindo o controle de amostra da unidade de extensão. Este tópico contém informações sobre como criar os arquivos de projeto necessários e fornece links para código de exemplo nos seguintes tópicos:
Interface de exemplo para unidades de extensão UVC (contém Interface.idl)
DLL de plug-in de unidade de extensão de exemplo (contém Xuproxy.h e Xuproxy.cpp)
Entrada de registro de exemplo para unidades de extensão UVC (contém Xusample.rgs)
Exemplo de aplicação para unidades de extensão UVC (contém TestApp.cpp)
Suporte a eventos de atualização automática com unidades de extensão
Descritor de unidade de extensão de exemplo
Consulte o tópico Unidade de extensão Plug-In arquitetura para obter mais informações sobre como os módulos de código de exemplo funcionam juntos.
Entradas de arquivo INF
Para registrar um dispositivo UVC sob KSCATEGORY_SENSOR_CAMERA, a bandeira de promoção da câmera do sensor deve ser especificada:
HKR,,SensorCameraMode,0x00010001,0x00000001
Para ocultar essa câmera de um aplicativo de câmera normal porque ela não tem fluxos RGB, use o sinalizador de enumeração skip da seguinte maneira:
HKR,,SkipCameraEnumeration,0x00010001,0x00000001
Isso remove a câmera do KSCATEGORY_VIDEO, o que impedirá que ela seja enumerada por meio da enumeração herdada por aplicativos de câmera comuns.
As entradas SkipCameraEnumeration e SensorCameraMode devem ser colocadas na seção DDInstall.HW do arquivo INF.
Testes HLK para KSCATEGORY_SENSOR_CAMERA para auxiliar o teste do motorista
O teste do Kit de Logotipo de Hardware (HLK) é necessário para módulos de câmera IR e RGB. Este teste verifica a funcionalidade básica das câmeras RGB e IR usadas para autenticação facial do Windows Hello. Os requisitos da câmera RGB já estão especificados no conjunto de testes HLK.
Estes são testes que os módulos de câmera IR precisará passar para ser ativado:
Enumere todas as câmeras da categoria do sensor KS:
Os dispositivos que suportam fluxos IR têm de estar sob a categoria SENSOR_CAMERA.
Os dispositivos que suportam fluxos RGB entram na categoria VIDEO_CAMERA.
Apenas para um único dispositivo de câmera que suporta fluxo IR e RGB, deve registrar o dispositivo em ambas as categorias KSCAMERA: SENSOR_CAMERA e VIDEO_CAMERA.
Encontre fluxos que tenham o atributo MF_DEVICESTREAM_ATTRIBUTE_FACEAUTH_CAPABILITY definido:
Se nenhum fluxo tiver o atributo MF_DEVICESTREAM_ATTRIBUTE_FACEAUTH_CAPABILITY definido, ignore o teste.
Se vários fluxos tiverem o atributo MF_DEVICESTREAM_ATTRIBUTE_FACEAUTH_CAPABILITY definido, falhe no teste, pois apenas um fluxo deve ser compatível com o Windows Hello.
Se MF_DEVICESTREAM_ATTRIBUTE_FRAMESOURCE_TYPES não estiver definido como IR para este fluxo, falhe no teste, pois não pode haver tipos de mídia RGB nesse fluxo.
Selecione este fluxo e valide se o tipo de mídia é compatível com Windows Hello (MJPG/L8/NV12) e se a resolução é maior ou igual a 320 x 320 pixels:
Se o Perfil de Autenticação Facial for suportado, valide esse fluxo para o tipo de mídia de perfil.
Se o Perfil de Autenticação Facial não for suportado, valide o tipo de mídia padrão desse fluxo.
Verifique o suporte para uma das propriedades no DDI de autenticação facial: Iluminado/não iluminado ou subtração ambiente.
Defina a propriedade KS como a que é suportada.
Comece a transmitir
Verifique as propriedades de tempo de execução:
Verifique a precisão do carimbo de data/hora (teste de visualização para autenticação facial com metadados).
Verifique se a inicialização é inferior a 500 milissegundos (teste de visualização para autenticação facial com metadados).
Verifique o streaming a uma taxa de quadros mínima com os seguintes parâmetros: 15 FPS iluminado e 15 FPS em condições de luz ambiente ou 15 FPS com subtração de luz ambiente, resolução maior ou igual a 320 x 320 pixels, tipo de mídia L8/NV12, passagem positiva na amostra.
Se a propriedade iluminada estiver ativada, verifique a existência de metadados nos pares de quadros iluminados/não iluminados a 15 FPS.
Se a propriedade de subtração de ambiente estiver ativada, verifique se não há metadados em quadros (quadros de ambiente a 15 FPS).
Parar streaming
Desdefina o controle KS
Simultaneidade para RGB + IR: testado se definido no perfil da câmera
Se os testes HLK listados acima não forem aprovados, a Microsoft não emitirá um driver assinado para o OEM e o Windows Hello não funcionará.