Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Potentiels basés patchs pour l’extraction inter...

Potentiels basés patchs pour l’extraction interactive de contours

GRETSI 2019

Olivier Lézoray

August 27, 2019
Tweet

More Decks by Olivier Lézoray

Other Decks in Research

Transcript

  1. Potentiels bas´ es patchs pour l’extraction interactive de contours Thoraya

    Ben Chattah, S´ ebastien Bougleux, Olivier L´ ezoray Normandie Univ, UNICAEN, ENSICAEN, CNRS, GREYC, 14000 Caen, France [email protected] https://lezoray.users.greyc.fr
  2. Introduction Segmentation interactive : extraction pr´ ecise d’objets avec des

    entr´ ees fournies par l’utilisateur germes de r´ egions FG/BG Points sur le contour 4 / 30
  3. Introduction Exemple de m´ ethodes bas´ ees sur les contours

    : Ciseaux intelligents (impl´ ement´ es dans GIMP) 5 / 30
  4. Chemins minimaux Chemins minimaux pour l’extraction d’objets bas´ ee contour

    Trouver le chemin le plus court entre deux points donn´ es grˆ ace ` a une fonction de coˆ ut par pixel Coˆ ut pertinent : fonction d´ ecroissante de l’amplitude du gradient Les chemins les plus courts ont tendance ` a suivre les bords 6 / 30
  5. Chemins minimaux ´ Etant donn´ e une image f :

    ⌦ ⇢ R2 ! Rn + et deux germes p s , p e 2 ⌦ situ´ es sur le contour d’un objet Objectif: trouver un chemin : [0, 1] ! ⌦ tel que (0) = p s et (1) = p e qui repr´ esente un morceau de contour : L( ) = Z 1 0 P( (s))k 0(s)kds. (1) P est une fonction de potentiel issue de l’image f qui doit avoir des valeurs faibles pour les contours. L( ) est plus faible quand le contour passe par des valeurs faibles de P ! minimiser L( ) ´ etant donn´ e une paire de points de d´ epart/fin. Objectif : trouver le chemin g´ eod´ esique L( ⇤) = min 2A (ps , pe ) L( ) (2) 7 / 30
  6. Chemins minimaux Premi` ere ´ etape: calculer la carte de

    distance g´ eod´ esique U{ ps } : ⌦ ! R + d’un point p s ` a tout autre point p 2 ⌦ U{ ps } (p) = d(p s , p) = min 2A (ps , p) L( ) (3) Ceci peut ˆ etre fait e cacement avec l’algorithme de propagation de front ”Fast Marching” (similaire ` a l’algorithme du chemin le plus court de Dijkstra sur un graphe). Seconde ´ etape : le chemin minimal entre p s and p e peut ˆ etre construit par r´ etro-propagation (descente de gradient) en partant de p e le long du gradient de la carte U ps jusqu’` a atteindre p s 8 / 30
  7. Extraction interactive de contour par Livewire Comment se fait l’interaction

    avec l’utilisateur dans l’extraction interactive de contours par chemins minimaux entre points germes ? Initialization f : ⌦ ! [0, 255]3 potentiel P carte de distance U p1 ajout de p 1 ` a S (issu de cet article) 9 / 30
  8. Introduction Extraction interactive de contour par Livewire Initialisation ajouter p

    2 ` a S Mise ` a jour du potentiel Calcul du chemin minimal P[ ] = +1 10 / 30
  9. Introduction Extraction interactive de contour par Livewire Initialisation ajouter p

    3 ` a S ajouter p 4 ` a S etc. jusqu’` a fermeture du contour 11 / 30
  10. Potentiels bas´ es patchs Les potentiels classiques sont locaux et

    n’exploitent qu’une information au niveau pixel Ceci ne prend pas en compte les r´ egions de part et d’autre du contour d´ elimit´ e Un contour est une courbe s´ eparant deux r´ egions R+ et R de mani` ere optimale Chaque r´ egion a habituellement des caract´ eristiques di↵´ erentes de l’autre Notre proposition : concevoir des potentiels bas´ es sur des patchs comme descripteurs de texture Un patch au pixel p i est P(p i ) = (f (p i + t), 8t 2 [ w, w]2 )T 2 R3(2w+1)2 14 / 30
  11. Potentiels bas´ es patchs Potentiels bas´ es pixels voisins :

    Un pixel est consid´ er´ e comme sur un contour si le patch ` a sa gauche est di↵´ erent de celui ` a sa droite. dc dc dl dr P 1 (p) = max ✓ d✓, 1 c (p) PAF 2 (p) = max ✓ AF(d✓, 1 s (p)) AF 2 {min, max, mean} d ✓, 1 s = { d ✓, 1 l , d ✓, 1 c , d ✓, 1 r } avec comme di↵´ erences entre patchs : centr´ ee sur p: d✓, c (p) = d P(pl ,✓, ), P(pr ,✓, ) upwind gauche: d✓, l (p) = d P(p), P(pl ,✓, ) upwind droite: d✓, r (p) = d P(p), P(pr ,✓, ) avec d(P(p i ), P(p j )) = kP(p i ) P(p j )k 2 et ✓ 2 {0 , 45 , 90 , 135 } et la distance entre les pixels le long de la ligne. 15 / 30
  12. Potentiels bas´ es patchs Potentiels bas´ es bande : op`

    ere sur un voisinage plus large pour discriminer les pixels contour et non contour. ´ etendre P2 ` a un voisinage plus large, obtenu avec > 1 bas´ e sur une bande de ns patchs de chaque cot´ e du pixel central p ´ evite les superpositions avec le patch P( p ) en consid´ erant les pixels ` a une distance 2 [✏, ✏ + ns ] PAF 3 ( p ) = max ✓ AF ✓⇢ min 2 [ ✏,✏ +ns] d ✓, s ( p ), 8 s 2 { l , c , r } ◆ dc dl dr   16 / 30
  13. Potentiels bas´ es patchs Potentiel bas´ e patch germe-d´ ependant

    les potentiels propos´ es ne prennent pas en compte les germes pr´ ec´ edemment positionn´ es ´ etant donn´ e un germe ps , les r´ egions R+ ✓ s ( ps ) et R ✓ s ( ps ) sont d´ efinies ` a partir de la normale ` a s 1 , s au point ps : Ns = ( ⇤0 s 1 , s ( ps ))?/k ⇤0 s 1 , s ( ps )k par l’angle: ✓ s = arg min ✓ \( Ns , ps pl ,✓, 1 s ) R+(ps ) R- (p s ps γ ) ) doit ˆ etre similaire aux autres r´ egions pour les points suivants du contour 17 / 30
  14. Potentiels bas´ es patchs Potentiel bas´ e patch germe-d´ ependant

    ´ etant donn´ e un germe ps , on consid` ere les r´ egions R+ ✓ s ( ps ) et R ✓ s ( ps ) 8 p 2 ⌦, calculer toutes les distances deux ` a deux entre R+ ✓ s ( ps ) et R+ ✓ ( p ), 8✓ P4(pi ) = min ✓ ( min q1 ⇥ q2 q1 2R+ ✓ (p) q2 2R+ ✓ s (ps ) d( P (q1) , P (q2)) + min q1 ⇥ q2 q1 2R ✓ (p) q2 2R ✓ s (ps ) d( P (q1) , P (q2))) avec des patches 5x5 pour P ( · ) contenus dans une limite de ⇡/ 4 de l’angle ` a l’horizon R+(ps ) R-(ps ) ps R+(p) R-(p) p ! 18 / 30
  15. Potentiels bas´ es patchs Potentiel bas´ e patch germe-d´ ependant

    Pour le premier germe p1 , aucune id´ ee de l’orientation chercher l’angle maximisant les di↵´ erences entre les patchs de R+ ✓ ( p1 ) et R ✓ ( p1 ) ✓ 1 = arg max ✓ max q1 ⇥ q2 q1 2R+ ✓ (p1) q2 2R ✓ (p1) d (P( q1 ), P( q2 )) Potentiels bas´ es patchs combin´ es P 5 = ↵Pmax 3 + (1 ↵)P 4 ) noter que cela doit ˆ etre recalcul´ e ` a chaque ´ etape de l’extraction (puisque cela d´ epend du dernier germe) 19 / 30
  16. R´ esultats Simulation de l’utilisateur pour l’´ evaluation de l’extraction

    des contours simuler le comportement d’un utilisateur humain avec un agent chercher le plus long chemin avec une erreur minimum, en partant d’un germe ps le chemin doit ˆ etre contenu dans un tube de rayon r sur les deux cot´ es de la v´ erit´ e terrain r´ ealis´ e par une recherche dichotomique le long du contour de la v´ erit´ e terrain p s p e 2r v´ erit´ e terrain recherche du plus long chemin zoom 22 / 30
  17. R´ esultats Simulation de l’utilisateur pour l’´ evaluation de l’extraction

    des contours et ainsi de suite jusqu’` a ce que le contour soit ferm´ e v´ erit´ e terrain recherche du plus long chemin zoom apr` es plusieurs ´ etapes recherche du plus long chemin fin 23 / 30
  18. R´ esultats Dataset ISEG [Gulshan & al. Geodesic star convexity

    for interactive image segmentation. CVPR 2010] Quelle est la meilleure taille de patch ? On consid` ere w 2 {1, 2, 3} correspondant ` a des patchs 3 x 3, 5 x 5 et 7 x 7 w = 1 w = 2 w = 3 Nombre de fois qu’un potential donne le % minimum de germes ) Meilleurs r´ esultats principalement obtenus avec un potentiel bas´ e bande Pmax 3 et w = 2 24 / 30
  19. R´ esultats R´ esultats quantitatifs sur ISEG Moyenne Moyenne Potentiel

    Rayon % germes Indice de Jaccard PE 2 4.58 0.96 3 2.96 0.95 4 2.31 0.94 Pmax 3 2 3.93 0.97 3 2.67 0.95 4 2.12 0.94 P4 2 4.42 0.95 3 3.13 0.93 4 2.52 0.91 P5 2 3.67 0.97 3 2.38 0.95 4 1.86 0.94 Une di↵erence de 0 . 1 pourcent correspond ` a 1 . 5 germe PE : potentiel classique (fonction d´ ecroissante du gradient, au niveau pixel) 25 / 30
  20. R´ esultats R´ esultats quantitatifs sur ISEG PE , #germes=28

    Pmax 3 , #germes=34 P4, #germes=26 P5, #germes=24 PE , #germes=38 Pmax 3 , #germes=53 P4, #germes=37 P5, #germes=32 26 / 30
  21. R´ esultats R´ esultats quantitatifs sur ISEG PE , #germes=48

    Pmax 3 , #germes=26 P4, #seeds=45 P5, #germes=32 PE , #germes=47 Pmax 3 , #germes=37 P4, #seeds=46 P5, #germes=28 27 / 30
  22. Conclusion Nous avons propos´ e : de nouveaux potentiels bas´

    es patchs pour l’extraction de contour des r´ esultats quantitatifs ` a l’aide d’un agent simulant un utilisateur Cela permet d’am´ eliorer les potentiels classiques reposant sur un gradient local au niveau pixel de r´ eduire l’interaction utilisateur (en termes de nombre de germes requis pour l’extraction du contour) 29 / 30