
Partager:
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.
Créer une application sécurisée d'identification faciale à l'aide de l'API Video de Vonage
Temps de lecture : 4 minutes
Dans le contexte actuel de pandémie mondiale, de nombreux secteurs d'activité ont maximisé l'adoption du numérique pour augmenter la productivité et mettre en place des techniques de mise en œuvre efficaces afin de servir des cas d'utilisation très répandus pour leur clientèle. L'identification faciale est de plus en plus répandue, comme en témoigne la prolifération de cette technologie dans des secteurs d'activité tels que :
Hospitalité (compagnies aériennes et gestion hôtelière)
Processus de paiement lors de l'enregistrement à l'hôtel sur le téléphone portable ou l'appareil photo fourni par les vendeurs.
Enregistrement des vols et procédure d'embarquement
Télémédecine
Identification des patients lorsque des services d'urgence sont nécessaires afin de réduire les formalités administratives.
Services de gestion hospitalière, en examinant le visage des médecins, des patients et des infirmières praticiennes afin d'éviter les erreurs de communication et de fournir des informations cohérentes à transmettre.
Service clientèle
Identification de l'utilisateur
Prévention de la fraude
Inscription sur les listes électorales
Gérer la fraude électorale
Dans tous les cas d'utilisation mentionnés ci-dessus, l'identification faciale peut être activée à l'aide de l'API vidéo de Video API de Vonage de Vonage, qui permettra d'offrir des services sans contact tout en protégeant les données de l'utilisateur et les informations personnelles, et en vous aidant à fournir des solutions personnalisées sûres et sécurisées.
Dans cet article de blog, nous allons vous présenter notre Video API en utilisant l'identification faciale. Il suffira de quelques méthodes et fonctions pour que vos développeurs comprennent le flux de travail, y compris l'abonnement, la détection, l'identification et la correspondance de l'identification faciale en personnalisant ces attributs dans leurs solutions personnalisées. Notre objectif est de réduire le temps de développement en démarrant avec une bonne longueur d'avance en utilisant notre base de code d'exemple qui est prêt à être utilisé pour l'identification faciale à l'aide de notre plateforme opentok.
Résumé
Pour construire une application complète d'identification faciale à l'aide de notre Video API, nous utilisons les méthodes et les objets mentionnés dans notre exemple de code. Vous pouvez trouver plus d'informations sur notre code de référence opentok intégré à l'API visage de Microsoft.
Technologies et conditions préalables
Opentok JS API
Microsoft face API
Téléchargement d'une capture d'écran de l'image de l'abonné sur le serveur
Dans le cas d'utilisation mentionné, le client fournit sa photo lors de la procédure d'inscription, qui est ensuite stockée dans le backend. Lorsque le client a rejoint l'appel vidéo, nous pouvons utiliser l'API Video de Vonage pour obtenir une capture d'écran du flux vidéo du client et la télécharger sur le serveur pour la détection des visages.
Dans le code ci-dessous, nous avons utilisé subscriber.getImgData() pour obtenir un écran du flux vidéo et le télécharger vers le 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 est une méthode d'aide appelée par la fonction sendScreenShot qui convertit la chaîne base64 en un tableau d'octets afin que nous puissions l'envoyer au serveur en tant que multipart/form-data.
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;
}
Identification de FaceID à l'aide de l'API de Microsoft pour comparer les résultats de l'identification du visage
Identifying FaceID Using Microsoft API To Compare Matched Face ID Results
Détection de FaceID dans Opentok
La méthode detectFace s'exécute côté serveur. Elle détecte les traits du visage à partir d'une image donnée et renvoie un identifiant. Nous appelons cette méthode deux fois : d'abord lorsque l'image du client a été téléchargée au moment de l'inscription (id1), puis avec la capture d'écran du flux vidéo (id2).
Vous trouverez ci-dessous un exemple de code :
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
Verify FaceID dans OpenTok
Pour la dernière étape de la vérification, nous utilisons la méthode verifyFace() et transmettons les ID d'image id1 et id2 en tant qu'entrées. Ici, l'API visage de Microsoft compare ces deux visages (id1 & id2), compare l'instantané avec la photographie soumise lors de la procédure d'inscription et fournit un résultat comprenant la correspondance/la non-correspondance et un score.
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
Contexte
L'objectif principal de l'équipe des solutions clients de Vonage API est de permettre à nos développeurs de franchir les barrières de l'innovation en étendant les services de développement, d'intégration et d'assistance. Nous travaillons avec nos leaders mondiaux qui partagent un objectif commun, celui de devenir des entreprises rentables centrées sur le client en accélérant votre taux de croissance global.
Une partie de notre offre de services accélérés consiste à minimiser votre délai de développement en fournissant une mise en œuvre guidée, un déploiement et une adoption optimale qui aideront à optimiser, à mettre à l'échelle votre application et à entrer sur le marché plus rapidement.
Conclusion
Chez Vonage, nous nous concentrons sur nos valeurs fondamentales en plaçant l'intérêt du client au premier plan. Grâce à nos efforts constants en matière d'innovation, nous nous engageons à fournir à notre communauté de développeurs les fonctionnalités les plus récentes et les plus performantes, vous permettant ainsi de personnaliser votre application afin qu'elle corresponde au mieux à vos scénarios d'utilisation.
Nous constatons régulièrement une augmentation de l'utilisation de la vidéo et, compte tenu de la demande croissante de Video, nous nous concentrons davantage sur le déploiement de ressources qualifiées pour mieux vous aider et vous servir afin de réaliser des intégrations réussies avec nos partenaires et nous-mêmes. Il est facile de commencer à utiliser l'API Video de Vonage. inscrivez-vous à votre Account gratuit et profitez pleinement de notre offre dès aujourd'hui !
Nous serions ravis de connaître votre avis sur les fonctionnalités, les documents destinés aux développeurs et le contenu des articles de blog. Laissez un commentaire ci-dessous, contactez-nous sur sur Twitter ou rejoignez notre canal Slack de la communauté.
Partager:
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.