Présentation d'une solution logicielle de reconnaissance faciale personnalisée

Innowise a développé une solution de reconnaissance faciale avancée pour renforcer la sécurité et rationaliser les processus d'identification.

Client

Région
AU
Client depuis
2022

Notre client est une société australienne de développement de logiciels et de conseil en informatique spécialisée dans la fourniture de solutions informatiques sur mesure pour le secteur de la vente au détail. Avec une solide expérience, ils ont conceptualisé, conçu et lancé avec succès des solutions numériques dans diverses catégories de vente au détail, y compris les marchandises générales, l'habillement et l'épicerie.

Opérant à l'échelle mondiale - depuis les multinationales du commerce de détail jusqu'aux propriétaires de magasins indépendants - cette société propose une série de produits et de services hautement évolutifs.

Défi

Améliorer la précision de la reconnaissance faciale dans le secteur de la vente au détail

Au départ, la tâche semblait simple : développer une solution de reconnaissance faciale capable d'identifier de manière fiable et en temps réel des individus dans des environnements de vente au détail. Mais quiconque connaît les flux vidéo du monde réel sait qu'ils sont rarement parfaits.

La principale difficulté résidait dans l'irrégularité de la qualité vidéo. Les environnements de vente au détail sont imprévisibles - les caméras enregistrent souvent des séquences sous un mauvais éclairage, sous des angles peu pratiques et au milieu de mouvements constants. Par conséquent, les visages apparaissent flous, ombrés ou déformés, ce qui complique la détection et l'alignement des caractéristiques faciales essentielles telles que les yeux, le nez et la bouche.

Dans certains cas, un éclairage irrégulier masquait les détails du visage, tandis que dans d'autres, la combinaison du flou et des ombres rendait les méthodes de reconnaissance traditionnelles inefficaces. Il ne s'agissait pas de problèmes occasionnels, mais de conditions quotidiennes auxquelles notre équipe devait faire face.

Pour y parvenir, nous avions besoin de plus que d'algorithmes avancés. Nos ingénieurs ont dû concevoir un système capable de traiter des données imparfaites et désordonnées, d'extraire des données significatives d'une vidéo de faible qualité et incohérente et de fournir des résultats clairs et exploitables. En d'autres termes, la solution logicielle de reconnaissance faciale personnalisée devait s'adapter aux défis du monde réel, et non les combattre.

Solution

Améliorer la sécurité et l'efficacité du commerce de détail grâce à un système de reconnaissance faciale

L'approche de notre équipe en matière de développement de logiciels de reconnaissance faciale personnalisés s'est concentrée sur trois objectifs essentiels : la précision, le traitement en temps réel et l'adaptabilité à des données de faible qualité.

Détection et reconnaissance fiables des visages

Au cœur de la solution, nous avons intégré des algorithmes avancés d'apprentissage profond pour garantir une détection et une reconnaissance précises des visages, même dans des conditions exigeantes telles qu'un faible éclairage, des angles inhabituels et des entrées à faible résolution.

Détection et alignement des visages

Nous avons utilisé RetinaFace pour sa rapidité et sa précision dans la détection des visages, excellant particulièrement dans les images à faible résolution et les conditions d'éclairage difficiles. Nous avons opté pour la détection des repères faciaux de MediaPipe afin d'identifier et d'aligner les caractéristiques essentielles telles que les yeux, le nez et la bouche. En conséquence, le système a pu traiter diverses entrées avec une plus grande stabilité et une plus grande précision. Cela a permis un prétraitement cohérent des visages, même en cas de désalignement ou d'angles inhabituels.

Modèles précis de reconnaissance des visages

Pour la reconnaissance des visages, nous avons utilisé la technique ArcFace, connue pour ses performances élevées en matière de génération d'encastrements faciaux discriminants. Afin d'optimiser la précision pour les environnements de vente au détail, l'équipe a affiné le modèle de base en utilisant des données spécifiques au domaine avec des augmentations ciblées, y compris le flou simulé et la distorsion d'angle. En conséquence, le système a atteint une précision de reconnaissance faciale de 85-90% dans des conditions difficiles et a maintenu une précision de plus de 95% avec des données d'entrée de haute qualité.

Amélioration de la précision des images et des performances du système

Les images de surveillance comportent souvent des imperfections. C'est pourquoi, dans le cadre de nos services personnalisés de développement de la reconnaissance faciale, nous avons mis au point un solide pipeline de prétraitement des images afin de nettoyer les entrées avant la reconnaissance.

L'une des principales avancées que nous avons réalisées a été la localisation des yeux. L'intégration des pipelines MediaPipe a amélioré la capacité du système à détecter le centre des pupilles des yeux. L'alignement et la stabilisation des visages s'en sont trouvés grandement améliorés, ce qui nous a permis de filtrer les images mal capturées ou mal alignées. Ainsi, seules les images propres et de haute qualité ont été reconnues, ce qui a permis d'améliorer la précision globale du système.

Traitement efficace des images par lots

Nous avions besoin de traiter d'énormes quantités de données vidéo, nous avons donc créé un module de traitement d'images par lots en utilisant PyTorch et MediaPipe.

Nous avons également développé un module permettant d'extraire et de traiter en masse les images des flux vidéo, ce qui permet de gagner du temps et de réduire les tâches manuelles. Le système optimisé traite de grands volumes de données de manière transparente, même dans des environnements de vente au détail très fréquentés.

Intégration à un système de vidéosurveillance

L'intégration d'un logiciel de reconnaissance faciale personnalisé à un système de télévision en circuit fermé (CCTV) consiste à combiner une technologie de reconnaissance faciale avancée à l'infrastructure de surveillance existante. Cette intégration reconfigure les capacités de surveillance, permettant une identification précise et en temps réel des individus dans les magasins ou les entrepôts. Un tel système renforce les mesures de sécurité contre les accès non autorisés et optimise la gestion des employés grâce au suivi des présences et au contrôle du comportement au travail. Avec une telle approche holistique, l'environnement d'un point de vente devient beaucoup plus sûr et efficace.

Désormais, la solution personnalisée de reconnaissance faciale accède aux flux vidéo en direct des caméras de vidéosurveillance et utilise des algorithmes basés sur PyTorch et MediaPipe pour détecter et analyser les caractéristiques uniques du visage, telles que la forme des yeux, du nez et de la bouche.

En utilisant des modèles de réidentification des personnes (Re-ID), le système suit les individus d'une caméra à l'autre, même en cas d'occultation ou de déplacement d'une zone à l'autre. Associé à un traitement en continu au niveau de l'image grâce aux capacités d'inférence de PyTorch, le système permet également une reconnaissance en temps réel avec une latence inférieure à 200 ms, même sur plusieurs flux en direct.

Technologies

AWS (Kinesis Video Streaming, EC2, EKS, ECR, S3, Glue)
Actions GitHub, Kubernetes, Nginx
PyTorch, MediaPipe

VCS

Git, GitHub

Processus

Nous avons commencé par des ateliers intensifs pour comprendre les objectifs du projet et les défis à relever, comme la gestion d'une qualité vidéo médiocre, le traitement en temps réel et l'évolutivité du système. Notre équipe a réalisé un audit détaillé de l'installation de vidéosurveillance du client, en évaluant les types de caméras, les fréquences d'images et la qualité vidéo afin de s'assurer que le logiciel de reconnaissance faciale personnalisé fonctionnerait de manière fiable dans des conditions réelles.

Conception du système et planification de l'architecture

Ensuite, notre équipe a conçu une architecture évolutive et distribuée capable de traiter simultanément plusieurs flux en direct. Chaque partie du système - détection, prétraitement et reconnaissance des visages - a été construite comme un composant indépendant, garantissant un flux de données fluide et une tolérance aux pannes. Nous avons également défini des points d'intégration pour connecter la solution au réseau de vidéosurveillance existant du client.

Développement et mise en œuvre

Nous avons suivi une approche de développement agile, en fournissant des résultats par étapes et en recueillant régulièrement des informations en retour pour affiner le système. Voici comment nous avons abordé chaque domaine critique :

  • Détection et alignement des visages : Nos ingénieurs ont construit et optimisé le pipeline de détection pour stabiliser les vidéos entrantes, en relevant des défis tels qu'un éclairage incohérent, des angles inhabituels et des mouvements.
  • Traitement préalable de l'image : Notre équipe a amélioré les images vidéo en les filtrant et en les stabilisant, afin de garantir que seules les images propres et utilisables soient prises en compte pour la reconnaissance.
  • Modèles de reconnaissance : En utilisant des échantillons de vidéos réelles, nous avons affiné le pipeline de reconnaissance afin d'identifier avec précision les visages, même sous des angles extrêmes ou des obstructions partielles.
  • Optimisation du traitement par lots : Pour gérer efficacement de grands volumes de vidéos, nous avons optimisé les flux de traitement par lots pour les séquences archivées tout en réduisant la charge sur les opérations en temps réel.

À chaque sprint, nous avons procédé à des tests rigoureux et à un contrôle des performances afin d'éliminer les goulets d'étranglement et d'assurer une progression constante.

Essais et validation

Nos spécialistes de l'assurance qualité ont mis le système à l'épreuve pour valider ses performances dans des conditions réelles. réelles :

  • Essais fonctionnels : Chaque module a été testé individuellement et dans le cadre de la filière complète.
  • Tests de résistance : Notre équipe a évalué la capacité du système à traiter des flux de caméras multiples sous de lourdes charges.
  • Validation en situation réelle : En utilisant des flux vidéo réels de magasins, nous avons vérifié que le système fournissait des résultats cohérents, même en cas de mauvais éclairage, de flou de mouvement ou de faible résolution.
  • Tests de cas limites : Notre équipe a testé des scénarios difficiles, tels que des visages partiels et des angles extrêmes, afin de garantir la robustesse et la fiabilité du système. pour garantir la robustesse et la fiabilité.

Tout au long des tests, nous avons suivi les indicateurs de performance - précision, vitesse et taux de rejet des images - et nous avons affiné le système pour obtenir des résultats optimaux. et nous avons ajusté le système pour obtenir des résultats optimaux.

Déploiement et intégration

Une fois le logiciel d'analyse faciale personnalisé prêt, notre équipe l'a déployé dans l'environnement de production du client avec un minimum d'interruption. de production du client avec un minimum d'interruption. Le système a été configuré pour traiter les flux vidéo en direct et s'intégrer avec l'infrastructure de vidéosurveillance existante. Pour garantir un déploiement sans heurts, nous avons également organisé des sessions de formation et fourni une documentation détaillée à l'équipe du client. de formation et une documentation détaillée pour l'équipe du client.

Maintenance et assistance post-déploiement

Dans le cadre de notre rôle en tant que société de développement de logiciels de reconnaissance faciale personnalisés, nous fournissons des mises à jour et une assistance continues afin d'améliorer l'efficacité et l'évolutivité du système. des mises à jour et un soutien continus pour améliorer l'efficacité et l'évolutivité du système.

Équipe

1

Analyste
commercial

1

Chef de projet

1

Ingénieur ML

1

QA

1

Développeur Back-End

1

Développeur Front-End

Résultats

Sécurité renforcée et identification simplifiée des visages

Notre équipe a mis au point un système de reconnaissance faciale qui a relevé avec succès les principaux défis du monde réel, notamment la faible résolution, le faible éclairage et le flou de mouvement. Grâce à une conception et une optimisation minutieuses, nous avons amélioré l'efficacité opérationnelle de 70%, en réduisant le temps de vérification des employés de 20 secondes à moins de 5 secondes par personne.

Nos ingénieurs ont veillé à ce que le système puisse gérer des charges de travail exigeantes en mettant en œuvre des pipelines de traitement efficaces. Ainsi, le système traite désormais des milliers de visages par seconde sur plusieurs flux vidéo. En utilisant l'infrastructure AWS optimisée pour les GPU et en affinant les performances, nous avons pu maintenir un fonctionnement fluide et cohérent, même pendant les heures de pointe de la vente au détail.

Nos efforts ont également permis de renforcer les résultats en matière de sécurité. Les mécanismes d'alerte en temps réel développés par notre équipe permettent au système de générer des notifications instantanées pour les personnes non autorisées. En conséquence, les temps de réponse en matière de sécurité ont diminué de 40%, ce qui permet aux équipes sur place d'agir plus rapidement et d'améliorer la connaissance globale de la situation.

La fiabilité a été une priorité tout au long du projet. Les optimisations réalisées par notre équipe ont permis de garantir un temps de fonctionnement de 99,9% et d'assurer un fonctionnement ininterrompu des processus critiques tels que le contrôle d'accès et la surveillance en direct. L'intégration transparente avec les systèmes existants du client a également contribué à une réduction de 20-25% des incidents liés à la sécurité, aidant les détaillants à créer des environnements plus sûrs et mieux gérés.

Dans l'ensemble, la solution s'est avérée rapide, précise et évolutive. Elle a non seulement optimisé la sécurité, mais aussi simplifié la gestion des présences et amélioré les flux de travail opérationnels quotidiens, offrant ainsi des résultats tangibles pour les environnements de vente au détail.

Durée du projet
  • Mai 2022 - octobre 2022
99.8%
vérifications en moins de 200 ms par image sur des instances AWS optimisées par le GPU
85-90%
précision de la reconnaissance des visages en cas de faible éclairage ou de flou de mouvement

50%

moins d'interventions manuelles grâce à une identification automatisée fiable

Contactez nous

Reservez un appel ou remplissez le formulaire ci-dessous et nous vous contacterons dès que nous aurons traité votre demande.

    S’il vous plaît, ajoutez les détails du projet, la durée, la pile technologique, IT spécialistes nécessaires et d'autres informations pertinentes
    Pour nous aider à mieux le comprendre.
    Nécessaires et d'autres informations pertinentes
    Joindre des documents supplémentaires au besoin
    Charger fichier

    Vous pouvez joindre jusqu'à 1 fichier de 2MB au total. Fichiers valides : pdf, jpg, jpeg, png

    Nous vous informons que lorsque vous cliquez sur le bouton Envoyer, Innowise traitera vos données personnelles conformément à notre politique de confidentialité. Politique de confidentialité dans le but de vous fournir des informations appropriées. En fournissant un numéro de téléphone et en soumettant ce formulaire, vous acceptez d'être contacté par SMS. Les tarifs des messages et des données peuvent être appliqués. Vous pouvez répondre STOP pour ne plus recevoir de messages. Répondez Aide pour plus d'informations.

    Que se passe-t-il ensuite?

    1

    Après avoir reçu et traité votre demande, nous reviendrons vers vous pour détailler les besoins de votre projet et signer un accord de non-divulgation pour assurer la confidentialité des informations.

    2

    Après avoir examiné les exigences, nos analystes et nos développeurs élaborent une proposition de projet avec l'étendue des travaux, le nombre de membre de l'équipe, les délais et les coûts des coûts.

    3

    Nous organisons une réunion avec vous pour discuter de l'offre et parvenir à un accord.

    4

    Nous signons un contrat et commençons à travailler sur votre projet le plus rapidement possible.

    Спасибо !

    Cообщение отправлено.
    обработаем ваш запрос и свяжемся с вами в кратчайшие сроки.

    Merci !

    Votre message a été envoyé.
    Nous traiterons votre demande et vous recontacterons dès que possible.

    Merci !

    Votre message a été envoyé. 

    Nous traiterons votre demande et vous contacterons dès que possible.

    flèche