Qu'est-ce qu'un filtre facial IA ?
Un filtre facial IA est une technologie qui utilise l'intelligence artificielle pour détecter et modifier les visages en temps réel. Ces filtres peuvent ajouter des effets spéciaux, modifier les traits du visage ou même remplacer complètement le visage par un autre. Ils sont largement utilisés dans les applications de médias sociaux, les jeux et les logiciels de visioconférence pour ajouter une touche amusante et créative aux interactions numériques.
La détection faciale est au cœur de cette technologie : l'IA analyse les images vidéo pour identifier les visages, puis localise des points de repère clés comme les yeux, le nez et la bouche. Ces points de repère sont utilisés pour superposer des effets spéciaux de manière précise et réaliste.
Les outils nécessaires : Scratch et Machine Learning for Kids
Pour créer notre filtre facial IA, nous utiliserons deux outils principaux :
-
Scratch : Un langage de programmation visuel développé par le MIT Media Lab, conçu pour être accessible aux enfants et aux débutants. Scratch utilise une interface basée sur des blocs, où les commandes sont représentées par des blocs que vous pouvez assembler pour créer des programmes interactifs.
-
Machine Learning for Kids : Une plateforme en ligne qui simplifie l'apprentissage automatique pour les enfants. Elle offre des outils pour entraîner des modèles d'IA avec des exemples, sans avoir besoin de compétences en codage avancées. Cette plateforme s'intègre parfaitement à Scratch, permettant aux enfants d'utiliser leurs modèles d'IA dans leurs projets Scratch. Machine Learning for Kids est accessible à l'adresse : https://machinelearningforkids.co.uk/
Ces deux outils combinés offrent un environnement idéal pour explorer l'IA de manière créative et intuitive. Avec Scratch, vous pouvez créer l'interface utilisateur et gérer l'affichage du filtre facial, tandis que Machine Learning for Kids vous permet d'entraîner un modèle d'IA pour détecter les visages et leurs traits.
Étape 1 : Configuration de Scratch et de l'extension Video Sensing
Avant de commencer à coder, vous devez configurer Scratch et activer l'extension Video Sensing. Voici les étapes à suivre :
-
Ouvrez Scratch : Accédez au site web de Scratch (scratch.mit.edu) et créez un nouveau projet.
-
Ajoutez l'extension Video Sensing : Dans l'éditeur Scratch, cliquez sur le bouton « Ajouter une extension » en bas à gauche de l'écran. Sélectionnez l'extension « Video Sensing » dans la liste.
-
Activez la caméra : Scratch vous demandera l'autorisation d'accéder à votre caméra. Accordez cette autorisation pour que Scratch puisse utiliser le flux vidéo de votre caméra.
-
Désactivez le lutin Scratch : vous pouvez cacher le chat original.
Une fois ces étapes terminées, vous serez prêt à utiliser les blocs de code de l'extension Video Sensing pour interagir avec le flux vidéo de votre caméra.
Étape 2 : Création des éléments du filtre facial
Maintenant, créons les éléments qui composeront notre filtre facial. Nous allons créer deux yeux de dessins animés et un nez rouge, que nous superposerons au visage détecté par l'IA.
- Créez un nouveau lutin pour l'œil gauche : Cliquez sur le bouton « Choisir un lutin » en bas à droite de l'écran et sélectionnez « Peindre ». Utilisez l'outil de dessin pour créer un œil de dessin animé simple. Vous pouvez utiliser des cercles et des couleurs vives pour le rendre amusant et attrayant.
- Dupliquez le lutin pour créer l'œil droit : Faites un clic droit sur le lutin de l'œil gauche et sélectionnez « Dupliquer ». Cela créera une copie de l'œil gauche, que vous pourrez renommer « œil droit ».
- Créez un nouveau lutin pour le nez : Répétez l'étape 1, mais cette fois, dessinez un nez rouge de dessin animé. Utilisez un cercle ou une forme ovale pour le nez, et assurez-vous qu'il est bien visible.
- Ajustez la taille et la position initiales des lutins : Sélectionnez chaque lutin et utilisez les champs « Taille » et « Position » dans le panneau d'informations du lutin pour ajuster leur taille et leur position initiales. Placez les yeux et le nez à un endroit où ils ne gêneront pas le visage lors du démarrage du programme.
Note : Pour un rendu plus amusant, vous pouvez également utiliser des images de dessins animés préexistantes pour les yeux et le nez. Scratch offre une bibliothèque de graphiques que vous pouvez utiliser à votre guise. Vous pouvez aussi utiliser des images Vectorielles pour un rendu plus professionnelle.
Étape 3 : Codage du suivi facial avec la détection faciale
Maintenant, passons au codage. Nous utiliserons les blocs de code de l'extension Video Sensing et de la détection faciale pour suivre les mouvements du visage et positionner les éléments du filtre facial en conséquence.
- Ajoutez l'extension Face Detection : Dans l'éditeur Scratch, cliquez sur le bouton « Ajouter une extension » en bas à gauche de l'écran. Sélectionnez l'extension « Face Detection » dans la liste.
- Créez un script pour l'œil gauche : Sélectionnez le lutin de l'œil gauche et ajoutez les blocs de code suivants :
quand le drapeau Vert est cliqué
basculer la vidéo sur on
mettre la transparence de la vidéo à 0
répéter indéfiniment
aller à x: (x position de l'œil gauche sur la vidéo) y: (24)
définir y à (y position de l'œil gauche sur la vidéo)
- Créez un script pour l'œil droit : Sélectionnez le lutin de l'œil droit et ajoutez les blocs de code suivants :
quand le drapeau vert est cliqué
basculer la vidéo sur on
mettre la transparence de la vidéo à 0
répéter indéfiniment
aller à x: (x position de l'œil droit sur la vidéo) y: (24)
définir y à (y position de l'œil droit sur la vidéo)
- Créez un script pour le nez : Sélectionnez le lutin du nez et ajoutez les blocs de code suivants :
quand le drapeau vert est cliqué
basculer la vidéo sur on
mettre la transparence de la vidéo à 0
répéter indéfiniment
aller à x: (x position du nez sur la vidéo) y: (24)
définir y à (y position du nez sur la vidéo)
Ces scripts permettent de positionner les yeux et le nez en fonction des coordonnées des traits du visage détectés par l'IA. Les valeurs numériques ajustent la position verticale des éléments du filtre.
Étape 4 : Ajustement de la taille des lutins en fonction de la distance au visage
Pour rendre le filtre facial plus réaliste, nous pouvons ajuster la taille des lutins en fonction de la distance entre le visage et la caméra. Plus le visage est proche, plus les lutins doivent être grands, et inversement.
- Ajoutez un bloc « définir la taille à » à chaque script : Dans les scripts de l'œil gauche, de l'œil droit et du nez, ajoutez un bloc « définir la taille à » à l'intérieur de la boucle « répéter indéfiniment ».
- Utilisez un opérateur pour calculer la taille : Remplacez la valeur numérique par un opérateur mathématique. Vous pouvez utiliser une formule simple comme
taille de la caméra / 10
pour calculer la taille des lutins en fonction de la taille du visage détecté par la caméra.
Voici un exemple de script modifié pour l'œil gauche :
quand le drapeau vert est cliqué
basculer la vidéo sur on
mettre la transparence de la vidéo à 0
répéter indéfiniment
définir la taille à (taille du visage sur la vidéo/10)
aller à x: (x position de l'œil gauche sur la vidéo) y: (24)
définir y à (y position de l'œil gauche sur la vidéo)
Répétez ces étapes pour les lutins de l'œil droit et du nez. Vous pouvez ajuster la formule pour obtenir l'effet de taille souhaité. Plus le diviseur est petit (par exemple, /5
au lieu de /10
), plus les lutins seront grands à une distance donnée.
Étape 5 : Optimisation et personnalisation
Une fois que vous avez créé un filtre facial IA fonctionnel, vous pouvez l'optimiser et le personnaliser pour le rendre encore plus amusant et attrayant. Voici quelques idées :
- Ajoutez des effets sonores : Utilisez l'extension « Son » de Scratch pour ajouter des effets sonores lorsque le filtre détecte un visage ou lorsque vous interagissez avec les éléments du filtre.
- Créez des animations : Animez les lutins des yeux et du nez pour les rendre plus expressifs. Vous pouvez utiliser des blocs de code pour modifier leur apparence, leur taille ou leur position au fil du temps.
- Ajoutez des options de personnalisation : Permettez aux utilisateurs de choisir différents types d'yeux, de nez ou d'autres éléments du filtre facial. Vous pouvez utiliser des variables et des blocs conditionnels pour contrôler l'apparence du filtre.
- Intégrez d'autres fonctionnalités d'IA : Explorez d'autres fonctionnalités de Machine Learning for Kids, comme la reconnaissance d'objets ou la classification de texte, pour ajouter des interactions encore plus avancées à votre filtre facial. Vous pouvez également changer l'apparence du filtre, ajouter des lunettes, des moustaches, etc.