1 / 68

Introduction à la vision artificielle Première partie Traitement des images

Introduction à la vision artificielle Première partie Traitement des images. Patrick Hébert Génie électrique et génie informatique Université Laval *collaboration Éric Samson (Revisité par A. Bendada en 2013, D. Laurendeau en 2014). Mise en contexte….

field
Download Presentation

Introduction à la vision artificielle Première partie Traitement des images

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction à la vision artificielle Première partieTraitement des images Patrick Hébert Génie électrique et génie informatique Université Laval *collaboration Éric Samson (Revisité par A. Bendada en 2013, D. Laurendeau en 2014)

  2. Mise en contexte… • Qu'est-ce que la caméra embarquée permet au robot de faire? • Reconnaitre et localiser les objets sur le terrain, i.e. évaluer la position relative au robot, évaluer la position relative des tableaux de commandes dans leurs cadres, la zone des rondelles, la zone cible, les obstacles, etc.) • En complément à la Kinect, évaluer sa position et son orientation sur le terrain (par rapport aux bandes, coins, à la zone de lecture de la résistance, à la zone de lecture des commandes, etc.) robot

  3. Mise en contexte… • Le cours d'introduction à la vision couvre en particulier 2 étapes du processus de vision qui sont nécessaires à l'atteinte de ces objectifs : • Reconnaître les objets dans les images Traitement des images • Calculer la position des objets par rapport au robot et celle du robot dans l’environnementÉtalonnage géométrique de la caméra et du système

  4. Mise en contexte • Ces deux étapes s'inscrivent dans le cycle global "perception/action" du processus de vision • Perception initiale de l'environnement • Formation des images/acquisition • Traitement des images et reconnaissance • Repérer les objets de l'aire de travail dans l'image • Analyse des données • Calculer la position des objets et du robot • Planification et prise de décision • Déterminer la prochaine commande à transmettre au robot • Exécution • Transmission de la commande au robot

  5. Plan de la présentation • Espaces des couleurs • Traitement des images : Introduction • Filtrage • Segmentation • Extraction de régions • Extraction de contours • Détection de coins • Conclusion

  6. Espaces des couleurs… • En général, on représente la couleur à l'aide de 3 valeurs  Espace en 3 dimensions • L'espace le plus connu est RGB (Red, Green, Blue) • Lié au système visuel humain • L'œil perçoit la couleur à l'aide de trois types de capteurs (cônes) sensibles à trois plages de longueurs d'onde. Note: les bâtonnetssontaussiphotosensibles mais ne “différencient” pas les couleurs. Ils sontsurtoututiles pour la vision périphérique et la vision nocturne. Absorption de la lumière par les cônes de l’œil humain *tirée de Gonzales & Woods 6

  7. Principe de la caméra couleur… Couleurs additives

  8. Principe de la caméracouleur… Couleurs additives

  9. Principe de la caméra couleur… Couleurs additives

  10. Sortie d’une caméra couleur Image numérique couleur Mosaïque à filtres de Bayer Matrice 3D

  11. Espaces des couleurs… • L'espace RGB (suite) • Largement utilisé en informatique (moniteurs) • Teintes de gris  R=G=B • le long de la diagonale Génération de couleurs Cube de couleurs RGB Cube RGB 24-bits

  12. Espaces des couleurs… • Problème: L’espace RGB n’est pas intuitif pour l’utilisateur (e.g. Photoshop) Exemple: On veut baisser la saturation (i.e. la « pureté) de la couleur du disque orange de 50% Cesvaleurssemblent aléatoires

  13. Espaces des couleurs… • HSV Hue (H), Saturation (S), Value (V) • Séparation de la teinte, de la saturation et de l'intensité • Plus intuitif pour identifier et décrire ou spécifier les couleurs • Traitement des ombresplus facile lors de la segmentation Ombre  même teinte mais intensité différente. • V (intensité): une hauteur entre 0 (noir) et 1 (blanc) • La teinte est contenue dans H (Hue) : un angle (0  360°) • S (Saturation = pureté): un rayon entre 0 et 1: • S = 0 niveau de gris • S = 1 couleur pure Espace HSV

  14. Espaces des couleurs… • HSV - Le modèle HSV est particulièrement utilisé dans les applications graphiques. - La teinte est sélectionnée sur la région circulaire; la saturation et l’intensité sont sélectionnées a posteriori sur un triangle. Exemple: On veut baisser la saturation du disque orange de 50% Roue de couleurs HSV

  15. Espaces des couleurs… • Passage RGB  HSV : Formules Référence sur les conversions: http://en.wikipedia.org/wiki/HSL_and_HSV

  16. Espaces des couleurs : Exemple récapitulatif 1 Red Green Blue Hue Saturation Value Design III / GEL-21405 H06

  17. Plan de la présentation • Espaces des couleurs • Traitement des images : Introduction • Filtrage • Segmentation • Extraction de régions • Extraction de contours • Détection de coins • Conclusion

  18. Traitement des images : introduction • Le traitement simple des images peut se faire en 2 étapes: • Traitement sur les pixels • Filtrage • Regroupement en régions • Détection de contours • Détection de points d'intérêt (coins) • Interprétation Reconnaissance basée sur les modèles Est-ce que ce groupe de pixels "jaunes" peut correspondre à une balle sphérique ou à une cible rectangulaire?

  19. Traitement des images : introduction • Plusieurs facteurs influencent le traitement et l'interprétation des images • Éclairage variable Heure du jour, éclairage naturel ou artificiel • Arrière-plan (circulation autour de la table!) • Points de vue différents Un objet peut présenter des formes très différentes selon le point de vue • La simple projection d'un espace 3D à 2D pour un objet opaque • La réflectance des matériaux • Bruit du capteur • …

  20. Traitement des images : introduction • Pour éviter des résultats indésirables (e.g. fausse alarme, non-détection), il faut que le traitement et l'interprétation soient robustes aux variations des facteurs hors de votre contrôle • Robustesse au niveau du traitement • (ex. Seuillage adaptatif) "et/ou" • Robustesse au niveau de l'interprétation (ex. Confirmation de la reconnaissance en utilisant un 2e traitement (différent)).

  21. Plan de la présentation • Espaces des couleurs • Traitement des images : Introduction • Filtrage • Segmentation • Extraction de régions • Extraction de contours • Détection de coins • Conclusion

  22. Filtrage linéaire • Convolution de l'image avec un masque (noyau) fixe • La convolution est une opération linéaire • commutative A * E = E * A • associative A * (B * E) = (A * B) * E Exemple de masque Équation de convolution (voir cvSmooth dans OpenCV)

  23. Filtrage linéaire • Exemple de filtre : Le filtre de moyennage • Chaque pixel de l'image résultat prend comme valeur la somme des pixels voisins.

  24. Filtrage linéaire • Filtrage linéaire : Attention aux effets de bord ! • les ignorer  image résultat plus petite • on peut ajouter des valeurs constantes sur les bords mais … • on peut considérer l'image comme étant périodique mais … • on peut considérer le bord de l'image comme un miroir mais …

  25. Filtrage linéaire passe bas Connexité 8-voisins Connexité 4-voisins 1. Filtre moyenneur Image d’origine m x m = 9 x 9 m x m = 5 x 5 m x m = 15 x 15 m x m = 35 x 35

  26. Filtrage linéaire passe bas 2. Filtre Gaussien… • * Meilleur comportement fréquentiel (réduit le recouvrement spectral p/r au filtre moyenneur). • Préserve mieux les arêtes. • On choisit la taille du filtre w (en pixel) • tel que Exemple

  27. Filtrage linéaire passe bas 2. Filtre Gaussien… Attention: Plus la gaussienne est large, plus le flou est marqué. En général, un sigma est utilisé pour réduire le bruit. Image non filtrée

  28. Filtrage linéaire passe bas 2. Filtre Gaussien • Propriété du filtre gaussien Filtre séparable • Filtrer l'image avec le filtre gaussien 1D vertical • Filtrer le résultat avec le filtre gaussien 1D horizontal Exemple Filtre 1D vertical : Filtre 1D horizontal :

  29. Filtrage linéaire passe haut Principe des filtres de rehaussement d’arêtes f(x)

  30. Filtrage linéaire passe haut Effet du bruit sur les filtres de rehaussement d’arêtes Filtre Gradient Filtre Laplacien Filtre Gradient Filtre Laplacien 3- Bruit élevé 1- Sans bruit 2- Faible bruit 4- Bruit trèsélevé

  31. Filtrage linéaire passe haut 1. Filtre Gradient (Masque de Prewitt) Gradient horizontal : Gradient vertical : • Attention : la dérivée est sensible au bruit. Faire un filtrage gaussien avant de l'utiliser ou bien appliquer un masque de Sobel. • À noter :

  32. Filtrage linéaire passe haut 2. Filtre Laplacien… • Arêtes aux passages par zéro • Plus sensible au bruit LOG : Laplaciend’unegaussienne • Ne permet pas de déterminer la direction du gradient

  33. Filtrage linéaire passe haut 2. Filtre Laplacien • Utilisé souvent en • renforcement des contours Image filtrée par le laplacien Image originale Image avec contours renforcés Image avec contours renforcés *Tirée de Gonzales & Woods

  34. Note sur le filtrage non-linéaire • Le résultat n'est pas une combinaison linéaire des pixels de l'image à traiter mais plutôt une fonction non-linéaire telle qu'un min, un max ou la médiane.

  35. Opérateurs morphologiques Tiré de Alain Boucher - IFI

  36. Opérateurs morphologiques Fonctions dans OpenCV : erode, dilate, open, close.

  37. Érosion

  38. Dilatation

  39. Érosion - Dilatation

  40. Ouverture - Fermeture Isoler les surfaces présentes dans l’image, lisser les contours. Recoller des morceaux de surfaces proches de manière à fermer des contours disjoints, lisser les contours.

  41. Exemple récapitulatif Ouverture: -Les petits détails sont supprimés. - Les objets « massifs » retrouvent leurs formes. Fermeture: -Les petits trous ou les fentes fines sont bouchés. - Les objets « massifs » retrouvent leurs formes.

  42. Plan de la présentation • Traitement des images : Introduction • Espaces des couleurs • Filtrage • Segmentation • Contours • Points d'intérêt : coins • Régions

  43. Exploitation des contoursRetour au filtrage passe haut • Intérêt • Moins sensibles que les régions aux variations d'éclairage • Difficultés • Contours incomplets (par parties) • Il faut regrouper les contours d'un même objet

  44. Extraction de contours (Filtre de Canny) • Calculer les gradients horizontal et vertical (EX et EY) EX EY

  45. EX ES EY Extraction de contours (Canny) • Calculer les gradients horizontal et vertical (EX et EY) • Calculer les images :

  46. Extraction de contours (Canny) • Calculer les gradients horizontal et vertical (EX et EY) • Calculer les images : • Éliminer les réponses non-maximales • Un pixel a une réponse maximale si ses deux voisins, situés dans l'axe de sa normale, ont une réponse inférieure. Un pixel non max est mis à zéro

  47. Extraction de contours (Canny) • Calculer les gradients horizontal et vertical (EX et EY) • Calculer les images : • Éliminer les réponses non-maximales • Un pixel a une réponse maximale si ses deux voisins, situés dans l'axe de sa normale, ont une réponse inférieure. Un pixel non-max est mis à zéro. • Seuillage par hystérésis (2 seuils) • Si réponse du pixel >Seuil 1  Contour • Suivre le contour tant que la réponse des pixels rencontrés soit >Seuil 2

  48. Extraction de contours (Canny) 5. Sortie du détecteur de contours de Canny : Image de contours (binaire) Exemple sur l’impact du seuillage et l’effet de l’ombrage Design III / GEL-3004 (voir aussi : OpenCV : les fonctions canny etfindContours)

  49. Plan de la présentation • Traitement des images : Introduction • Espaces des couleurs • Filtrage linéaire • Segmentation • Contours • Points d'intérêt : coins • Régions

  50. Détecteur de coins et points isolés • Détecteur de Harris • Constat: les détecteurs d'arêtes se comportent moins bien près des coins • Proposition: détecter les endroits où le gradient est fort dans plus d'une direction • Réalisation: détecteur de Harris • Voir aussi dans Open CV la fonction : Good features to track

More Related