7. Apprentissage automatique¶
La plupart des détecteurs du chapitre sur l’image étaient codés à la main pour une cible spécifique : des plages de couleur réglées à la main pour le suivi de blobs, des motifs de poids dérivés à la main pour les filtres de contours, des hypothèses géométriques fixes pour les détecteurs de lignes et de cercles. Chaque algorithme couvrait un type de tâche, et ajouter une nouvelle cible signifiait écrire un nouvel algorithme. L”apprentissage automatique change le flux de travail. Au lieu d’un algorithme par cible, l’application charge un modèle entraîné – une pile de poids produite hors carte sur un ordinateur de bureau avec de nombreuses images d’exemple – et l’exécute sur la caméra. Le même moteur qui exécute un détecteur de visages exécute un estimateur de pose de main, un suivi de pose corporelle, un classificateur d’objets, ou tout ce pour quoi un modèle a été entraîné.
Le module ml est la boîte à outils. Chaque opération s’appuie sur un unique objet Model qui charge un fichier de modèle depuis la mémoire flash, gère ses tenseurs d’entrée et de sortie quantifiés, distribue chaque inférence au bon moteur sur la caméra, et achemine les tenseurs résultants à travers un post-processeur optionnel qui les reconvertit en la forme de résultat sur laquelle l’application peut agir – boîtes, points clés, classes, ou quoi que ce soit pour quoi le modèle est destiné.
Le module ml
Le pipeline d'inférence
Moteurs d'inférence
Décoder la sortie
Conclusion