Splunk est une plateforme fantastique pour importer, stocker, rechercher et analyser des données à partir de logs, de métriques et de traces provenant d’une grande variété de sources. Mais devons-nous pour autant ignorer toutes les données qui n’entrent pas dans ces catégories, comme les données d’image et de vidéo par exemple ? Bien sûr que non !
Les images, les enregistrements audio et d’autres sources de données « binaires » lisibles par machine sont susceptibles de constituer des sources d’informations précieuses dans de nombreuses situations. Encore faut-il que nous trouvions un moyen de rendre ces données accessibles de manière significative.
La tâche peut sembler ardue, mais des décennies de recherche et de développement ont abouti à un certain nombre de systèmes et de services capables de commencer à interpréter ces données de manière significative. Dans ce blog, j’aimerais vous parler de l’une de ces approches, qui permet de mettre des métadonnées d’image acquises par machine learning à la disposition de Splunk.
Rekognition est un service de vision par ordinateur d’AWS. Il vous permet de générer divers types de métadonnées sur des images ou des vidéos stockées dans AWS S3 ou sur les flux de données correspondants. Vous pouvez l’utiliser pour détecter les visages dans une image et dire s’ils ont l’air heureux ou contrariés. Vous pouvez suivre l’apparition d’une célébrité dans une vidéo, ou l’utiliser pour détecter et étiqueter des objets particuliers dans une scène.
La valeur commerciale de ce type de données vient de la mise en contexte des sources de données basées sur des images ou des vidéos. Par exemple, des détections d’étiquettes personnalisées peuvent être utilisées pour mettre en œuvre un processus d’assurance qualité à l’aide d’une caméra qui filmerait une ligne de fabrication et dont les données seraient transmises directement à Splunk. Superviser un flux de caméra peut vous permettre d’analyser les modèles de circulation piétonnière dans une installation logistique, afin d’en améliorer l’efficacité. Pour donner un dernier exemple, ce type de service peut analyser le contenu importé dans votre application web à grande échelle. Mais on peut imaginer des applications plus débridées, comme la mise en place de systèmes visant à détecter et suivre la faune sauvage à l’aide de webcams publiques.
Mais aujourd’hui mon objectif est plus simple. Je vais essayer de comprendre comment Shelly Kornbloom, « VP Opérations spéciales marketing et restauration » de la Splunk T-Shirt Company, utilise la puissance de la vision par ordinateur.
J’ai créé quelques projets amusants en utilisant ce type de données avec l’aide de collègues talentueux. À l’occasion de .conf19 vous avez peut-être vu notre photomaton « Splunk Your Face », qui a pris des photos des participants et créé des statistiques créatives sur les Splunkers participants, telles que « quelle est la taille moyenne de la barbe des participants ? ». Cette année, j’ai utilisé la caméra de mon ordinateur portable pour suivre mon humeur pendant mes heures de travail sur une semaine, j’ai ainsi su quand j’avais l’air heureux, triste ou confus, ce qui me donnait un bon aperçu de ma propre santé mentale en période de Covid.
La création du pipeline de données dans Splunk pour prendre en charge le traitement et l’ingestion des métadonnées d’image est remarquablement simple si vous avez une certaine expérience avec AWS et Boto, le SDK Python d’AWS.
Pour mes propres projets, j’ai utilisé un simple script python local pour capturer des images à partir d’une caméra locale et les télécharger dans un bucket S3 sécurisé. Une fonction lambda est déclenchée sur les fichiers placés dans le bucket, qui prend la référence à chacune des images et l’envoie au service Rekognition.
Une fois que la réponse (qui, chose pratique, se présente sous la forme d’un objet JSON) a été récupérée dans notre fonction lambda à partir de Rekognition, nous pouvons la transmettre à Splunk via le Collecteur d’événements HTTP (HEC).
Les données renvoyées par l’API de reconnaissance faciale contiennent de nombreuses métadonnées sur le contenu de l’image. Dans les exemples ci-dessous, nous avons pris des extraits de quelques tableaux de bord créés pour analyser les images traitées par notre système.
Le point de terminaison API DetectLabels nous indique toutes les autres étiquettes que l’algorithme pense pouvoir appliquer à chaque image. Ici, nous avons utilisé l’application word cloud pour afficher nos étiquettes dans différentes tailles et couleurs en fonction de notre degré de confiance dans l’étiquette, et nous pouvons les afficher dans notre tableau de bord, à côté de l’image elle-même :
L’API DetectFaces a détecté des visages dans nos images de test, en a estimé l’âge et essayé de nous dire quelles émotions sont visibles sur chacun d’eux. Alors, que pense vraiment Shelly ?
Je pense que notre image de Shelly ici est la clé pour identifier ses motivations. Sous la projection sans faille d’une confiance lumineuse et déterminée se cache une bonne dose de confusion. Ça me semble parfaitement juste !
Et avec cela, nous pouvons désormais importer des images dans un bucket S3, puis interroger et référencer leurs métadonnées dans Splunk. Dans certains projets auxquels j’ai participé, nous sommes allés un peu plus loin en apportant quelques modifications supplémentaires :
J’espère que cet exemple vous a donné quelques idées personnelles. Je voulais vous montrer que nous n’avons pas besoin de nous limiter aux données machine « classiques » et aux sources de données traditionnelles. Dans la plateforme Data-to-Everything de Splunk, c’est vous qui fixez les limites !
Bon Splunking,
Josh
*Cet article est une traduction de celui initialement publié sur le blog Splunk anglais.
La plateforme Splunk élimine les obstacles qui séparent les données de l'action, pour donner aux équipes d'observabilité, d'IT et de sécurité les moyens de préserver la sécurité, la résilience et le pouvoir d'innovation de leur organisation.
Fondée en 2003, Splunk est une entreprise internationale. Ses plus de 7 500 employés, les Splunkers, ont déjà obtenu plus de 1 020 brevets à ce jour, et ses solutions sont disponibles dans 21 régions du monde. Ouverte et extensible, la plateforme de données Splunk prend en charge les données de tous les environnements pour donner à toutes les équipes d'une entreprise une visibilité complète et contextualisée sur l'ensemble des interactions et des processus métier. Splunk, une base solide pour vos données.