p. 08 Petite introduction au Machine Learning
p. 20 Évaluez efficacement les frameworks de Machine Learning
p. 36 Utilisez la régression linéaire pour la prédiction
p. 56 La malédiction de la dimension
p. 74 Comment coder un système de recommandation en Python : l'exemple de Mangaki
p. 88 L'Univers, ses galaxies et le machine Learning
p. 112 Prédiction de structures secondaires de protéines
p. 120 Recherche de molécules innovantes
Avec l’explosion du nombre de données disponibles, il faut trouver des méthodes efficaces de traitement pour parvenir à en faire émerger des connaissances. En effet, posséder des milliards et des milliards de données dans différents domaines n’a strictement aucun intérêt en soi si l’on est incapable de les faire « parler », d’établir des relations entre elles ou des inférences. Si nous prenons l’exemple de la biologie, à quoi bon posséder des génomes séquencés si nous nous arrêtons à leurs séquences de nucléotides ? Cela ne nous renseigne en aucune manière sur le fonctionnement de l’organisme étudié. Il faut pour cela passer par les acides aminés, les gènes et leur organisation sur le génome, les protéines, leur structure et leur fonction, etc. Et lorsque les données croissent drastiquement, il n’est plus question d’annotation manuelle et d’expériences (si ce n’est pour valider des hypothèses), il faut un outil informatique puissant qui va aider à faire des prédictions. Cet outil, utilisé par le data scientist (l’expert scientifique chargé de l’analyse de données), peut être le machine learning, thème de ce guide.
De nombreux frameworks permettent d’utiliser le machine learning relativement simplement et ils vous seront présentés de manière plus ou moins avancée dans les différents articles que vous pourrez lire dans les pages suivantes. Il faut toutefois noter deux éléments fondamentaux :
Pour que ce guide soit complet, nous avons voulu le bâtir de manière à proposer des articles présentant les bases théoriques et des exemples pratiques, illustrant comment appliquer le machine learning sur des données et quelles informations en retirer. Vous devriez donc avoir entre les mains tout ce qu’il vous faut pour vous lancer, il ne reste plus qu’à trouver les données...
Tristan Colombo
p.10 Découvrez le monde fabuleux d'OpenCV
p.28 Mesurez les couleurs : les bases de la colorimètrie
p.40 Reconnaissez les expressions d'un visage
p.50 Reconnaissez les chiffres en écriture digitale
p.58 Comptez le nombre de bonbons d'une coupelle
p.74 Complétez les méthodes de détection d'OpenCV : le Classifier Cascade Haar
p.102 Réalité augmentée : intégrez un objet virtuel 3D à une vidéo en temps réel
p.100 Pilotez une application par le regard
p.112 Reconstruisez des objets en 3D avec la vision stéréoscopique
L’automobile est un secteur qui est en pleine évolution voire révolution et qui intègre de plus en plus de fonctions d’assistance jusqu’à ce que les voitures soient elles même en passe de devenir complètement autonomes. Nombre des fonctions employées utilisent la vision par ordinateur : caméra de recul, détection de dépassement de ligne, etc. Mais le secteur automobile n’est pas le seul domaine d’application où la vision artificielle est employée. Il ne passe pas un jour où nous ne voyons pas une annonce marketing autour des smartphones promouvant telle ou telle soi-disant fonction innovante comme la reconnaissance faciale, la lecture d’émotions ou alors la transformation de votre visage en avatar.
Certes, l’évolution technologique de ces dernières années permet aujourd’hui nombre d’applications qui étaient il y a peu réservées à des expériences de laboratoire. La réalité virtuelle et la réalité augmentée en sont deux beaux exemples. Cependant, le traitement d’images et de flux vidéos sur lequel sont basées ces fonctions est encore considéré comme réservé à une élite aux compétences mathématiques pointues ou à des utilisateurs expérimentés de logiciels spécifiques tels que Photoshop. Les logiciels libres ont participé au changement de mentalité et continuent à faire bouger les lignes avec par exemple The GIMP, Krita, Blender, etc. qui n’ont rien à envier aux logiciels propriétaires. Pour preuve, nombre d’entre eux sont de plus en plus utilisés par les grosses productions hollywoodiennes comme Pixar, Dreamworks ou autres qui ont elles-mêmes contribué au développement de logiciels libres avec OpenSubdiv [1].
Dans ce guide, vous allez découvrir OpenCV qui est un ensemble de librairies sous licence BSD dédiées à la vision par ordinateur et par conséquent au traitement d’images et de flux vidéos. Ces librairies intègrent également des fonctions de deep learning qui ne seront pas abordées dans ce guide. Pour ceux qui souhaitent découvrir cet autre sujet, je vous invite à lire le hors-série numéro 94 sur le machine learning [2]. De plus, pour utiliser OpenCV, il n’est pas nécessaire d’être un expert en mathématiques, bien qu’il soit évident que des connaissances de base soient un avantage comme vous le constaterez en parcourant les différents sujets que nous allons aborder.
Ce guide est construit autour de quatre thèmes progressifs :
Pour toute nouvelle application ou idée que vous souhaitez mettre en œuvre, ne vous arrêtez pas à la perception du monde telle que vous l’avez avec vos yeux, mais posez-vous la question de ce que vous recherchez réellement : détecter un mouvement, une couleur, une variation, un objet spécifique...?
Bonne lecture.
Laurent Delmas
[1] OpenSubdiv : https://github.com/PixarAnimationStudios/OpenSubdiv
[2] Collectif, « Machine learning », GNU/Linux magazine HS n°94, janvier-février 2018 : https://connect.ed-diamond.com/GNU-Linux-Magazine/GLMFHS-094
Domotique / Raspberry Pi : Contrôlez l'accès d'une résidence à distance...
Lire plus ➤Compilation, versioning, crossbuild, release et conteneurisation en un...
Lire plus ➤Administration système : Comprendre et utiliser les nouvelles pratiques...
Lire plus ➤Arduino / RP2040 / STM32 / ESP Programmez vos microcontrôleurs en...
Lire plus ➤