Comparaison de 3 façons de déployer un classificateur de masque facial: Tensorflow, toile AWS et rekognition

DEV - 10/07
🛠️ Introduction il y a quelques années, j'ai construit un classificateur d'images de masque facial simple à l'aide de keras ...

🛠️ Introduction

Il y a quelques années, j'ai construit un classificateur d'images simples de masque facial à l'aide de Keras et TensorFlow, formé localement sur mon propre matériel. Récemment, j'ai décidé de revoir ce projet pour plusieurs raisons:

  • Pour voir à quel point il y a 4 à 5 ans.
  • Pour essayer d'exécuter des travaux de formation personnalisés dans Amazon Sagemaker Studio, au lieu de compter sur ma propre machine.
  • Et pendant que j'étais là, je voulais comparer mon modèle formé sur mesure avec d'autres façons de construire et de déployer des modèles sur AWS, y compris des outils à faible code / sans code et des API de vision informatique à l'emploi.

Voici les trois approches que j'ai testées:

✅ Apprentissage en profondeur classique: exécuter mon cahier de jupyter original à l'intérieur d'une instance JupyterLab SageMaker Studio, recyclant le modèle avec Tensorflow, puis l'hébergeant pour une démo frontale utilisant Tensorflow.js + S3.

⚙️ Low-Code / No-Code: Utilisation du canevas SageMaker AWS, qui vous permet de télécharger des images et de créer des modèles via une interface utilisateur de points et de clic, sans écrire de code.

🧠 Service pré-formé entièrement géré: L'utilisation de l'API d'analyse faciale d'AWS Rekognition pour voir s'il peut détecter directement les masques - aucune formation requise.

Pour chaque méthode, je voulais évaluer:

  • Facilité de formation / configuration
  • Options de déploiement (peut-il fonctionner dans le frontend? Backend uniquement? En temps réel ou en lot?)
  • Coût de tarification AWS
  • Coût et latence de calcul (à quelle vitesse peut-il retourner les prédictions?)

Dans le reste de cet article, je vais traverser chaque méthode, comparer leurs résultats et partager ce que j'ai appris en cours de route.

📦 Méthode 1: Apprentissage en profondeur classique (TensorFlow + Jupyter)

📜 Revisiter l'ancien projet

Le point de départ de cette méthode est mon ancien projet: 👉 Alexretana / facemaskClassifier sur github

Il s'agissait d'un petit projet de vision par ordinateur que j'ai créé il y a quelques années pour explorer l'apprentissage du transfert et des modèles pré-entraînés. L'objectif était de construire un pipeline qui pouvait détecter les visages dans une image et de classer si chaque visage portait un masque. Pour ce faire, j'ai combiné un modèle Yolov3 (pré-entraîné pour détecter les visages) avec un classificateur personnalisé formé pour reconnaître les masques.

Le flux de travail était simple: étant donné une image d'entrée, le modèle YOLOV3 identifierait et dessinerait des boîtes de délimitation autour des faces. Chaque visage détecté serait ensuite recadré et transmis au classificateur de masque, qui prédisait «masque» ou «pas de masque» ainsi qu'un score de confiance. Enfin, le pipeline a superposé les étiquettes sur l'image pour montrer les résultats.

J'ai beaucoup appris au cours de ce processus, en particulier sur le chargement et les modèles pré-entraînés, l'extr...
[Courte citation de 8% de l'article original]

Loading...