
Compartilhar:
Akshita is Customer Solutions Manager at Vonage with a background in technical account project management and solution architecture. Akshita has been working as a technical client advocate since 2015 and spends her days focused on consulting services helping her clients succeed.
Crie um aplicativo seguro de identificação facial usando a Video API da Vonage
Tempo de leitura: 4 minutos
Na atual pandemia global, muitos setores da indústria maximizaram a adoção de tecnologias digitais para ampliar a produtividade e implementar técnicas eficazes que atendam a uma ampla gama de casos de uso para sua base de clientes. O reconhecimento facial tornou-se mais comum, evidenciando a ampla difusão dessa tecnologia em setores como:
Hotelaria (Companhias aéreas e gestão hoteleira)
Processo de pagamento no check-in em hotéis, por meio de celular ou câmera fornecida por seus fornecedores
Check-in e processo de embarque
Telemedicina
Identificação do paciente em situações em que são necessários serviços de emergência, a fim de ajudar a minimizar a burocracia manual
Serviços de gestão hospitalar, por meio da identificação de médicos, pacientes e enfermeiros para evitar falhas de comunicação e garantir que as informações transmitidas sejam consistentes
Atendimento ao Cliente
Identificação do usuário
Prevenção de fraudes
Cadastro eleitoral
Combater a fraude eleitoral
Em todos os casos de uso mencionados acima, o reconhecimento facial pode ser ativado usando a Video API da Vonage , que possibilitará a prestação de serviços sem contato, ao mesmo tempo em que protege os dados e as informações pessoais dos usuários, ajudando você a oferecer soluções personalizadas seguras e confiáveis.
Nesta postagem do blog, vamos guiá-lo pela nossa Video API usando o reconhecimento facial. Bastarão alguns métodos e funções para que seus desenvolvedores compreendam o fluxo de trabalho, incluindo a assinatura, a detecção, a identificação e a correspondência do reconhecimento facial, personalizando esses atributos em suas soluções personalizadas. Nosso objetivo é reduzir o tempo de desenvolvimento, dando um bom impulso inicial com nossa base de código de exemplo, pronta para uso com o reconhecimento facial na nossa plataforma opentok.
Resumo
Para desenvolver um aplicativo completo de identificação facial usando nossa Video API, utilizamos métodos e objetos conforme mencionado em nosso trecho de código de exemplo. Você pode encontrar mais informações em nosso código de referência do Opentok integrado à API de reconhecimento facial da Microsoft.
Tecnologias e pré-requisitos
API do Opentok em JS
API Face da Microsoft
Envio de captura de tela da imagem do assinante para o servidor
No caso de uso mencionado, o cliente fornece sua fotografia durante o processo de cadastro, que é então armazenada no backend. Quando o cliente entra na videochamada, podemos usar a Video API do Vonage para capturar uma imagem da transmissão de vídeo do cliente e enviá-la ao servidor para detecção facial.
No código abaixo, utilizamos subscriber.getImgData() para capturar um quadro do fluxo de Video e enviá-lo para o backend.
function sendScreenShot() {
var imgdata = undefined;
if (subscriber) {
imgdata = subscriber.getImgData();
}
if (imgdata != undefined) {
try {
var blob = this.b64toBlob(imgdata, "image/png");
let formData = new FormData();
formData.append('customer', blob);
let res = await $HTTPDEMO.post('/faceIDDemo.php',
formData, {
headers: {
'Content-Type': 'multipart/form-data'
}
}
);
console.log(res.data);
if (res.data.status != "success") {
alert("Error uploading the file");
} else {
}
} catch (error) {
alert("error posting screenshot");
console.log(error);
}
}
}
step 1
b64toBlob é um método auxiliar chamado pela função sendScreenShot que converte uma string base64 em uma matriz de bytes para que possamos enviá-la como multipart/form-data ao servidor.
function b64toBlob(b64Data, contentType, sliceSize) {
contentType = contentType || '';
sliceSize = sliceSize || 512;
var byteCharacters = atob(b64Data);
var byteArrays = [];
for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {
var slice = byteCharacters.slice(offset, offset + sliceSize);
var byteNumbers = new Array(slice.length);
for (var i = 0; i < slice.length; i++) {
byteNumbers[i] = slice.charCodeAt(i);
}
var byteArray = new Uint8Array(byteNumbers);
byteArrays.push(byteArray);
}
var blob = new Blob(byteArrays, {
type: contentType
});
return blob;
}
Identificação do Face ID usando a API da Microsoft para comparar os resultados correspondentes do Face ID
Identifying FaceID Using Microsoft API To Compare Matched Face ID Results
Detecção do FaceID no Opentok
O método `detectFace` é executado no lado do servidor. Ele detecta as características faciais de uma determinada imagem e retorna um identificador. Chamamos esse método duas vezes: primeiro, quando a imagem do cliente é enviada no momento do cadastro (id1) e, em seguida, com a captura de tela da transmissão de Video (id2).
Segue abaixo um trecho de código de exemplo:
function detectFace($img){
global $faceid_endpoint, $data_dir_url,$faceid_key;
$client = new GuzzleHttp\Client([
'base_uri' => $faceid_endpoint
]);
$resp = $client->request('POST', 'face/v1.0/detect?recognitionModel=recognition_02&detectionModel=detection_02', [
'headers' => [
'Content-Type' => 'application/json',
'Ocp-Apim-Subscription-Key' => $faceid_key
],
'json' => ['url'=> $data_dir_url.$img]
]);
$json = json_decode($resp->getBody(),true);
return $json[0];
}
Detecting FaceID in Opentok
Verificação do FaceID no OpenTok
Para a última etapa da verificação, utilizamos o método verifyFace() e passamos os IDs das imagens id1 e id2 como entradas. Nesse momento, a API de reconhecimento facial da Microsoft compara esses dois rostos (id1 e id2), compara o instantâneo com a fotografia enviada durante o processo de cadastro e fornece um resultado que inclui a correspondência ou não correspondência e uma pontuação.
function verifyFace($id1,$id2){
global $faceid_endpoint, $data_dir_url,$faceid_key;
$client = new GuzzleHttp\Client([
'base_uri' => $faceid_endpoint
]);
$resp = $client->request('POST', 'face/v1.0/verify', [
'headers' => [
'Content-Type' => 'application/json',
'Ocp-Apim-Subscription-Key' => $faceid_key
],
'json' => [
'faceid1'=>$id1,
'faceid2'=>$id2
]
]);
return $resp->getBody();
}
Verifying FaceID in OpenTok
Contexto
O principal objetivo da equipe de soluções para clientes da Vonage API é permitir que nossos desenvolvedores superem as barreiras à inovação, por meio da ampliação dos serviços de desenvolvimento, integração e suporte. Trabalhamos com nossos líderes globais, que compartilham o objetivo comum de alcançar negócios sustentáveis, visando tornar-se empresas lucrativas e centradas no cliente, acelerando sua taxa de crescimento global.
Parte da nossa oferta de serviços acelerados consiste em minimizar o seu prazo de desenvolvimento, oferecendo implementação orientada, implantação e adoção com orientação especializada, o que ajudará a otimizar e escalar sua aplicação, além de permitir que você chegue ao mercado mais rapidamente.
Conclusão
Na Vonage, nos concentramos em nossos valores fundamentais, colocando os interesses do cliente em primeiro lugar. Com nossos esforços constantes em prol da inovação incansável, estamos comprometidos em oferecer à nossa comunidade de desenvolvedores os recursos mais recentes e avançados — permitindo que você personalize seu aplicativo para se adequar da melhor forma aos seus cenários de uso.
Temos observado constantemente um aumento significativo no uso de nossos serviços de Video e, com essa demanda crescente, estamos cada vez mais focados em alocar recursos qualificados para melhor ajudá-lo e atendê-lo, a fim de garantir integrações bem-sucedidas entre você, nossos parceiros e nós. É muito fácil começar a usar a Video API da Vonage, então cadastre-se para obter sua conta gratuita e aproveite ao máximo nossa oferta hoje mesmo!
Adoraríamos receber seus comentários sobre os recursos, a documentação para desenvolvedores e o conteúdo das postagens do blog. Deixe um comentário abaixo ou entre em contato conosco no Twitter ou participe do nosso canal da Comunidade no Slack.
Compartilhar:
Akshita is Customer Solutions Manager at Vonage with a background in technical account project management and solution architecture. Akshita has been working as a technical client advocate since 2015 and spends her days focused on consulting services helping her clients succeed.