Programme FORMATION PYTHON SCIENTIFIQUE ET TRAITEMENT D'IMAGES

Participants : Développeurs et experts techniques

Durée : 5 jours - 35 heures
Tarif : Nous contacter pour une formation INTER – INTRA ou en COURS PARTICULIER

La formation est délivrée en présentiel ou distanciel (e-learning, classe virtuelle, présentiel et à distance). Le formateur alterne entre méthodes démonstrative, interrogative et active (via des travaux pratiques et/ou des mises en situation). La validation des acquis peut se faire via des études de cas, des quiz et/ou une certification.

Cette formation est animée par un consultant-formateur dont les compétences techniques, professionnelles et pédagogiques ont été validées par des diplômes et/ou testées et approuvées par l’éditeur et/ou par Audit Conseil Formation.

Dates des formations
Contactez-nous pour des informations sur les disponibilités pour cette formation.
Logo ACF

Demande de devis

Formation
Cadre
Nom/Prénom
Société
E-mail
Téléphone
Période
Evaluer mon niveau

Les objectifs

Posséder
Posséder
une vue d’ensemble de l’écosystème scientifique de Python.
Connaître
Connaître
les librairies scientifiques incontournables pour la science des données.
Être
Être
capable de manipuler des données volumineuses avec Python.
Comprendre
Comprendre
l’intérêt de la datavisualisation.

pré-requis

Connaissances de base du langage Python
Connaissances de NumPy et SciPy.

Moyens pédagogiques, techniques et d'encadrement

  • 1 poste de travail complet par personne
  • De nombreux exercices d'application
  • Mise en place d'ateliers pratiques
  • Remise d'un support de cours
  • Remise d'une attestation de stage

Modalités d'évaluation des acquis

- Evaluation des besoins et objectifs en pré et post formation
- Evaluation technique des connaissances en pré et post formation
- Evaluation générale du stage

Accessibilité handicapés

  • Au centre d’affaires ELITE partenaire d’ACF à 20 m.
  • Guide d’accessibilité à l’accueil.

Le Programme

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 matin : numpy, matplotlib et programmation avec numpy

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.

Jour 1 Après-midi: numpy, matplotlib

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

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 matin : caractérisation et 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

Jour 5 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