Jiaan

Inspiration

Le monde est un endroit dangereux, et s’isoler derrière des murs ou des grilles au nom de la sécurité est un frein aux opportunités clés d’échanges culturels. En général, la violence sur les lieux de travail obéit à ce modèle destructif dans les régions à forte criminalité du point de vue statistique. Les stations-service, les centres commerciaux, les épiceries et les magasins express installent des cages obstructives entre leurs employés et la clientèle par mesure de renforcement de la sécurité. Certes, la sécurité du lieu de travail s’en trouve améliorée, mais à un coût considérable pour la communauté. Jiaan est donc une opportunité de changer positivement les réactions, la culture du lieu de travail et la communauté traditionnelles. Le système de sécurité intelligent identifie les menaces en temps réel et permet de prendre des mesures à cet effet. Mon objectif est de réduire, et à terme, d’éliminer les actes de violence prolongés susceptibles autrement d’amener un employé à envoyer une notification aux autorités a posteriori.

Fonctionnement

Jiaan détecte et classe les objets dans un flux en temps réel et mesure un niveau cumulé de menace permettant de déclencher une réponse configurée. En cas de détection d’un niveau de menace élevé résultant de la présence d’une arme de poing, une notification peut être immédiatement envoyée aux autorités, aux agences de sécurité, à la direction de l’organisation, voire aux employés présents sur place. Le système réduit de manière significative le délai de notification d’un acte de violence potentiel au personnel et/ou aux autorités, et diffuse les notifications de menaces en vue d’améliorer la sensibilisation sur site.

Créé par : Matthew Pettit

Création

Un modèle affiné a été tiré du modèle réduit VGG16, en utilisant le système Single Shot MultiBox Object Detection sur un volume d’images annotées de 2,6 Go présentant à la fois des interactions violentes et non violentes. Dès que le modèle a commencé à produire des résultats satisfaisants pour le présent projet, le modèle personnalisé a été optimisé à l’aide de l’outil de Deep Learning d’Intel et transféré sur l’appareil DeepLens.

Les microservices des fonctions Lambda d’Amazon ont été développés dans Python afin de prétraiter et interpréter le flux en direct, ainsi que d’y agir, à partir de l’appareil DeepLens. L’objectif étant de mesurer un niveau de menace généré par le calcul de l’exactitude et la classification de l’objet détecté.

Défis à relever

Dans le cadre du développement du projet Jiaan, j’ai été confronté à trois défis majeurs et à environ trois douzaines de défis mineurs. Le premier défi majeur résidait dans l’identification d’un réseau optimal permettant de détecter et prédire avec exactitude et efficacité la classification de plusieurs objets au sein d’une même image. Lors de la création de ce projet, j’ai d’abord utilisé la classification d’objets CNN, qui ne permettait pas prédire de manière exacte une ou plusieurs menaces au sein d’une même image. En conséquence, il a fallu mener davantage de recherches et créer un modèle plus poussé pour le projet afin d’implémenter un réseau Single Shot MultiBox Detection.

Le deuxième gros défi consistait à planifier les cycles de formation à partir d’ensembles de données uniques destinés au projet. La formation nécessitait d’acquérir un nombre significatif de nouvelles ressources, de les annoter et d’y former le modèle. Il a fallu plus de 100 heures de travail manuel pour collecter et annoter un ensemble de données mesurables. Plus de 500 heures ont été consacrées à la formation du modèle sur les ressources acquises, une durée qui a dû être réduite par les coûts.

Résoudre quelques problèmes posés par l’optimisateur de modèles et le moteur d’inférence d’Intel a pris beaucoup de temps, qui aurait pu être mis à profit pour améliorer le modèle. L’essentiel de la dernière semaine a été consacré à l’ingénierie inverse du framework d’Intel, aux débogages de l’optimisateur et au flashage de DeepLens. L’expérience m’a toutefois permis de tirer des leçons, et je comprends désormais mieux l’ensemble d’outils de Deep Learning d’Intel.

Les réalisations qui font ma fierté

  • Création d’un modèle\ alimenté par SSD r-CNN
  • Développement de mes connaissances dans le domaine des API MXNET et SageMaker à partir de mon expérience antérieure limitée à OpenCV et Numpy
  • Acquisition de connaissances poussées en matière de technologies sous-jacentes de Greengrass, DeepLens et SageMaker
  • Optimisation de ma patience lors de l’annotation de milliers d’images

Leçons apprises

Créer une application intelligente axée sur Deeplens ou développer un projet de Machine Learning est une tâche de gestion de projet au même titre qu’une tâche de développement. La capacité des ressources dépend de plusieurs variables, susceptibles de causer une brusque interruption du processus qu’il faut résoudre à travers la planification. 

Quelle est la prochaine étape ?

Jiaan sera élargi pour inclure un champ de classifications de menaces plus vaste adapté à un environnement réel où le projet peut être mis en œuvre, puis rétrocédé à la communauté.

Créé avec

deeplens
python
greengrass
lambda
sagemaker
iot
ssd