Accédez aux ressources directement depuis les compétences, savoirs, activités professionnelles, centres d'intérêt des référentiels, ainsi qu'aux sujets d'examen et séminaires nationaux.
publié le 22 juin 2025 par Olivier TOURVIEILLE
Nous allons développer un algorithme simple capable de reconnaitre une image automatiquement à partir de l’apprentissage d’une base d’images sources. Pour cela, nous allons utiliser l’algorithme KNN, dit de recherche des « k plus proches voisins » en utilisant la norme euclidienne. Nos images recherchées seront supposées prétraitées.
Objectifs : Mettre en oeuvre l’algorithme knn (k plus proches voisin) dans le contexte d’actualité de conduite autonome
Matière : Sciences de l’Ingénieur et Informatique du Tronc Commun
Niveau : CPGE SPE : MP-PC-PT-PSI
Activité : TD/TP/cours réalisé en classe généralement en 2h sans les partie confusion + scikitlearn, compter 3h sinon. Pas besoin de cours, ce sujet est conçu pour introduire les notions au programme tout en programmant.
Séquence : Chapitre « Intelligence artificielle » - Méthode knn
Matériel : Ordinateur avec logiciel de programmation en langage Python (ex : Pyzo+Anaconda). Modules numpy et matplotlib impératifs + scikit-learn pour la SI
Compétences du programme de S.I. :
o C1.3.8 - Analyser les principes d'intelligence artificielle. S3
o C3.1.3 - Choisir une démarche de résolution d'un problème d'ingénierie numérique ou d'intelligence artificiel. S3
o C3.3.3 - Résoudre un problème en utilisant une solution d'intelligence artificielle. S3
o C4.3.3 - Effectuer des traitements à partir de données. S3
Compétences du programme d’I.T.C. : Algorithme des k plus proches voisins (matrice de confusion, lien avec l'apprentissage supervisé)
- Ce sujet est très apprécié des élèves, qui comprennent bien ce qu’il se passe, et la détection fonctionne très bien.
- Les images que j’ai utilisées pour la base de données sont de vraies images glanées sur le web, avec l’objectif de trouver différentes situations. Il n’y a pas de triche.
- Le dossier « Elèves » est à donner aux élèves, intégralement (2 codes + deux dossiers). Il y a régulièrement des problèmes de chemins de fichiers, les élèves ayant du mal à comprendre tout ce qui est derrière. Je vous propose donc une « Check Fichiers » permettant de s’en sortir rapidement sur les erreurs « FileNotFoundError: [Errno 2] No such file or directory: 'test.txt' »
- Le programme d’informatique n’aborde pas de modules d’IA. Il est donc possible de réaliser la première partir du sujet jusqu’à scikitlearn. Le programme de SI aborde les modules, j’ai donc ajouté la partie IA gérée avec ce module à la fin spécifiquement pour la SI.
- La partie sur la matrice de confusion à programmer sois même est optionnelle, en effet, elle est un peu longue à programmer et on trouve la même matrice quel que soit le
nombre de voisins.... Je laisse uniquement les élèves en avance la réaliser, l’avantage est qu’ils comprennent alors bien ce qu’elle représente.
- Dans une autre activité proposée sur éduscol STI (TP Détection et extraction de panneaux de signalisation routière), je propose un sujet permettant, à partir d’une photo contenant un ou plusieurs panneaux de signalisation cerclés de rouge, de réaliser l’algorithme permettant d’en extraire des images de panneaux recadrés au format des images de ce sujet. On peut alors comprendre la procédure intégrale, de la photo prise en situation jusqu’à la qualification du panneau présent dedans.
- En dernière page, j’explique comment procéder pour compléter la base de données.