Ce cours Python d’intelligence artificielle, vous permettra de réaliser des analyses de données. Vous apprendrez à transformer une image et à en extraire des informations.
- Posséder une vue d’ensemble de l’écosystème scientifique de Python. - Connaître les librairies scientifiques incontournables pour la science des données. - Être capable de manipuler des données volumineuses avec Python. - Comprendre l’intérêt de la datavisualisation. - Connaitre les bases et algorithmes de traitement d’image avec le module Scikit-Image.
• Connaissances de base du langage Python • Connaissances de NumPy et SciPy.
Développeurs et experts techniques
Prérequis - 3h Faut-il le faire ? • Installation de l’environnement python anaconda. • Environnement virtuel. • Installation de modules avec l’interface anaconda. • Installation par pip. • Démarrage de l’IDE spyder. • Démarrage de jupyter pour l’exemple. Quel est l’environnement de développement utilisé dans l’entreprise ? Jour 1 : numpy et matplotlib Matinée : Programmation avec numpy import numpy as np • Comment créer un tableau simple – 0, 1, 2, 3 dimensions – np.array(2) – np.array([1, 2, 4, 7, -3]) • Comment générer des tableaux constants: – np.ones – np.zeros – np.ones_like • La manipulation des tableaux, l’accès aux données – Les indices. – Les propriétés des tableaux (dimensions, type) – Rappels sur les types (au besoin) np.float, np.uint8. . . – le slicing A[begin:end] A[begin:end:step] – Alias ou copie – itérations (boucles for) – join, split – recherche == ou np.where – utilisation de masques binaires – Opérations vectorisée avec numpy (addition, soustraction, multiplication, etc.) – Evaluation du temps de calcul, comparaison avec une boucle %timeit • Où trouver la documentation en ligne – Chercher comment générer une matrice aléatoire – Loi uniforme – Loi gaussienne • Introduction à matplotlib – Génération de graphes (courbes) – Représentation sous forme d’images (tableau aléatoire) – Les labels, commentaires, etc. – Les couleurs – Export du graphe sous forme de fichier (pdf, png) • Affichage/Calcul d’un histogramme – Calcul sur des matrices aléatoires – Avec matplotlib plt.histogram – Avec numpy np.histogram • Approximation de Pi par une méthode de Monte-Carlo – Comparaison de l’approche classique par boucle et de l’approche vectorisée – Distribution uniforme de points dans un espace défini – On calcule la distance à l’origine – On compte le nombre de points dont la distance est inférieure à un seuil, ce qui permet d’évaluer Pi. Après-midi • Utilisation de meshgrid pour générer des fonctions 2 dimensions – exercice : tracer un cercle et l’afficher – générer une fonction bizarre et la représenter avec matplotlib surf • Nombres complexes – algèbre complexe – exercice avec des complexes : marche aléatoire, représentation. Jour 2 : scipy et pandas Matin : scipy • Intégration • Interpolation • Ajustement de courbe (fitting) • un peu de transformée de Fourier sur des sinus/cosinus Après-midi : pandas • Type de fichiers gérés • Chargement de données (fournies) • Manipulation des données, affichage. • Exercice de calcul d’une moyenne mobile et du MACD sur des données boursières • Création d’un fichir xls avec des feuilles multiples Jour 3 : scikit-learn • Rappel des bases pour l’apprentissage et la classification: fit, predict. Apprentissage non supervisé : kmeans - Génération de plusieurs nuages de points - Partitionnement par kmeans - Evaluation des résultats (matrice de confusion) - workflow : fit/predict Apprentissage supervisé : régression linéaire • utilisation des données sklearn Utilisation de la normalisation Jour 4 : introduction au traitement des images Utilisation de Scikit-image Matinée • Documentation • Chargement des images • type des données, format des données • affichage • conventions (0-255, 0-1, noir-blanc) • premiers filtres linéaires (flou, contours) • filtres gaussiens • histogramme • rehaussement d’images (equalizehist) • filtres non linéaires () Après midi : segmentation et caractérisation - début de segmentation - seuil manuel - seuil automatique suivant le niveau en algorithmique, faire coder l’algo (pour les débutants) ou passer directement à la fonction scikit-image otsu - étiquetage (label) - kmeans avec des images couleur - distribution des tailles d’objets Jour 5 : caractérisation Matin : Mesures • périmètre et aire – tracé d’un carré binaire – rotation de l’image – évaluation du périmètre en fonction de l’angle de rotation – plusieurs méthodes de périmètre (opencv, skimage), à comparer • Analyse de la segmentation – utilisation de regionprops, regionprops_table – export avec pandas dans fichier xls Après-midi : un peu de morpho-maths • Amélioration (par ouverture/fermeture, dilatation/erosion) d’une image binaire segmentée (cellules) • utilisation de OpenCV • Watershed et segmentation – séparation des objets convexes et connectés Fin : prévoir débriefing discussion 1h
Délai d'accès : 10 jours
Méthode mobilisées : En distanciel, vous devez disposer d'un ordinateur avec une connexion Internet. En présentiel, les locaux, dont nous faisons usage, disposent d'ordinateur et de connexion Internet. Dans les deux cas, votre formateurs vous accompagnera en début de formation pour installer les outils dont vous aurez besoin. Le formateur mobilise tous les moyens pédagogiques pour transmettre son savoir : Présentation théorique de concepts, exemple concrets, exercices pratiques, quiz et applications.
Modalités d'évaluation : Exercices, Quiz et Applications.
Accessibilité : Nos formations en distanciel sont accesibles à tous, en utilisant un outil de vidéo conférence. Pour les formations en présentiel, les locaux dont nous faisons usage respectent la norme ERP 5 pour l'accueil des personnes en situation d'handicap .
Horaires de formation : de 9h à 12h et de 14h à 18h.
Adresse d'accueil en présentiel : Village 5 - 50 place de l'Ellipse. 92000 La Défense.