Comprendre l’intelligence artificielle et Custom Vision
Votre projet étant prêt, profitons-en pour nous faire une idée des tâches qui nous attendent. Comme son nom l’indique, l’intelligence artificielle (IA) se caractérise par son côté artificiel. L’IA est une intelligence simulée qui repose sur une énorme quantité de données.
En particulier, si nous nous penchons sur la détection d’objet de l’IA Custom Vision, nous pouvons décomposer le processus en deux étapes :
- Vous indiquez à l’intelligence artificielle l’endroit où se trouve un objet dans une image.
- Vous donnez à l’IA une image contenant l’objet et elle vous indique où se trouve l’objet.
Cela semble assez simple, mais comment l’IA s’y prend-elle ?
Reconnaissance d’images : Couleur
Même s’il n’entre pas dans le cadre de ce module de détailler la façon dont l’IA est créée, nous pouvons commencer à comprendre comment elle fonctionne. Les ordinateurs s’appuient sur ce qui peut être converti en données (plus précisément, des nombres). Vous pouvez imaginer un ordinateur qui, quand vous lui présentez une image, peut parcourir chaque pixel et vous indiquer la couleur correspondante. Cet ordinateur ne serait pas « intelligent », mais il serait en mesure de vous indiquer la couleur de chaque pixel au fur et à mesure de son parcours.
Imaginez maintenant que l’ordinateur soit un peu plus intelligent au point de pouvoir identifier la couleur principale d’une image. Nous pouvons déjà commencer à enseigner (ou entraîner dans le langage de l’IA) l’ordinateur à identifier les images. Par exemple, si je montrais à l’ordinateur cette image de Cabriole :
L’ordinateur comprendrait probablement que les images principalement blanches et jaunes seraient des images de Cabriole. Mais comment l’ordinateur interprèterait-il cette image de Chang'e ?
Cette image ayant également beaucoup de blanc et de jaune, l’ordinateur penserait probablement qu’il s’agit aussi d’une image de Cabriole.
Et comment l’ordinateur interprèterait-il cette image de Cabriole avec, en fond, le ciel nocturne ?
Malgré la présence de blanc, l’absence totale de jaune amènerait probablement l’ordinateur à penser qu’il ne s’agit pas d’une image de Cabriole.
Reconnaissance d’images : Forme
Pour que les images de différents objets aux couleurs similaires ou d’un même objet avec des couleurs différentes soient prises en compte, nous avons fait évoluer les algorithmes IA afin qu’ils commencent à reconnaître les lignes et les formes. Vous pouvez commencer à imaginer comment cela a été réalisé au début du développement de l’intelligence artificielle. Une ligne ou une forme peut être décrite comme un changement de couleur.
Au lieu de simplement effectuer le suivi des couleurs d’agrégats dans une image, l’ordinateur commencerait également à prendre en compte la position de ces couleurs. Si les mêmes couleurs sont à côté les unes des autres, elles créent probablement une ligne ou une forme.
Ce type d’analyse peut être utile, par exemple, si nous commençons à identifier les images de la Lune. À présent, nous pouvons affirmer que la Lune est dans une image s’il y a un cercle blanc, généralement sur un arrière-plan bleu ou noir, comme ceci :
Et si nous montrions cette image à l’ordinateur :
L’ordinateur pourrait toujours la reconnaître, car il existe un cercle blanc distinct sur un arrière-plan bleu ou noir.
Mais l’ordinateur ne serait probablement pas en mesure de reconnaître ceci comme étant une image de la Lune :
En effet, il ne s’agit pas d’un cercle blanc complet.
Reconnaissance d’images : IA avancée
Comme vous pouvez le voir, l’IA, notamment concernant la reconnaissance d’images, a progressivement gagné en complexité en raison des investissements réguliers dans les moyens d’aider les ordinateurs à identifier ce qu’on leur présente. De nos jours et dans l’IA qui pilote la ressource Custom Vision d’Azure, la reconnaissance d’images prend en compte beaucoup plus que la simple couleur ou forme. L’IA a été entraînée sur des milliers et des millions d’images. L’IA peut détecter des différences subtiles entre les chats et les chiens, qui peuvent paraître évidentes pour un humain. Toutefois, si on présentait à un ordinateur deux formes brunes de même taille, possédant quatre jambes, une queue et des oreilles, vous pourriez entrevoir à quel point il est impressionnant que les caractéristiques d’un chat puissent être différenciées de celles d’un chien.
Entraînement sur des images spécifiques
Même si l’IA avancée est capable de détecter un grand nombre d’objets courants (chiens ou chats, voitures ou vélos), il reste du travail à faire si vous souhaitez entraîner une intelligence artificielle à reconnaître un objet spécifique, par exemple, un personnage spécifique dans un film donné, comme Cabriole.
C’est là qu’entre en jeu le service Custom Vision. En arrière-plan, ce service a une IA qui a déjà une connaissance du monde, mais elle ne sait rien de Cabriole (ou de votre animal de compagnie). Nous allons donc fournir un grand nombre d’images de Cabriole et indiquer à l’IA qu’elles représentent ce personnage. Chaque image de Cabriole que nous fournissons donne à l’IA plus de données sur les caractéristiques qui représentent précisément Cabriole. L’intelligence artificielle pourra d’autant mieux reconnaître Cabriole dans une grande image que le nombre d’images la représentant est élevé et qu’elles ont des angles, des éclairages et des tailles différents.
C’est ce qu’on appelle l’entraînement de l’IA.
Nous allons ensuite tester notre IA pour voir si elle a été entraînée correctement. Pour ce faire, nous lui donnons des images qui contiennent Cabriole et qu’elle n’a jamais vues auparavant. Il est essentiel que vous fassiez le test avec des images que l’IA n’a pas utilisées pour l’entraînement. Sinon, vous ne testez pas réellement sa capacité à reconnaître Cabriole. Vous ne faites que reconnaître sa capacité à se souvenir qu’elle a vu telle ou telle image.
Il s’agit de l’étape de prédiction de notre projet, qui consiste à tester l’IA.
Une fois que vous avez vérifié que la prédiction de l’IA est suffisamment précise, vous pouvez déployer votre IA afin que d’autres personnes puissent l’utiliser pour identifier des objets à l’aide de téléphones ou d’ordinateurs. Cette activité n’entre pas dans le cadre de ce module, mais vous devez absolument l’essayer !
Notes
Vous rappelez-vous que quand nous avons créé le projet Custom Vision dans le portail Custom Vision, nous pouvions indiquer une localisation pour l’entraînement et une autre pour la prédiction ? En effet, vous pouvez, par exemple, effectuer l’entraînement de votre IA depuis votre domicile à Seattle, Washington. Dans ce cas, vous pouvez utiliser les ressources cloud qui sont proches de vous, afin que le processus soit rapide. Toutefois, vous pouvez déployer cette IA pour votre mère qui vit à Londres et souhaiter qu’elle obtienne les prédictions rapidement. Vous pouvez, à cette fin, utiliser des ressources cloud plus proches de celle-ci.