Image Processing using Finite Automata Jean-Christophe Janodet Journée SATTIC
Représentation des images avec des automates Travaux de K. Culik et J. Kari (début des 90s) Plan 1. Images de résolution multiple 2. Images dénotées par des automates 3. Applications de cette représentation
Image de résolution finie Image = tableau de 2 k x 2 k pixels = fonction = fonction {1,2,…, 2 k }x{1,2,…, 2 k } C avec C = {Blanc, Noir} pour les images binaires C = {Blanc, Noir} pour les images binaires C = [0,1] pour les images à niveau de gris C = [0,1] pour les images à niveau de gris C = [0,1] 3 pour les images couleurs C = [0,1] 3 pour les images couleurs
Relation Image / Automate Plutôt que des coordonnées dans un tableau, utilisation de mots sur lalphabet {0,1,2,3} comme adresses des pixels Plutôt que des coordonnées dans un tableau, utilisation de mots sur lalphabet {0,1,2,3} comme adresses des pixels Plutôt quune fonction quelconque dans C, Plutôt quune fonction quelconque dans C, une image binaire (pixels noirs et blancs) est représentée par un DFA (adresses des points noirs) une image binaire (pixels noirs et blancs) est représentée par un DFA (adresses des points noirs) une image à niveau de gris est représentée par un automate à multiplicité (WFA) une image à niveau de gris est représentée par un automate à multiplicité (WFA) une image couleur est représentée par 3 WFA une image couleur est représentée par 3 WFA
Adressage des pixels Pixels désignés par des mots de Σ k, avec Σ = {0,1,2,3} plutôt que des couples de {1,2,…, 2 k }x{1,2,…, 2 k } Image de résolution 2 k x 2 k = fonction f :Σ k C
Image de résolution multiple
Définition Généralisation : Image = fonction Généralisation : Image = fonction f :Σ * C telle que pour tout k 0, la restriction de f à Σ k, notée f k, soit une image de résolution 2 k Intuitivement, on souhaite que pour tout k0, f k soit une approximation de f k+1 ; dans ce cas, f est limage « réelle » Intuitivement, on souhaite que pour tout k0, f k soit une approximation de f k+1 ; dans ce cas, f est limage « réelle »
Cas des images à niveau de gris f est Average Preserving (AP), ssi pour tout mot wєΣ * f(w)=( f(w0) + f(w1) + f(w2) + f(w3) ) / 4
Exemple On considère f :Σ * [0,1] défini par f(ε) = ½, f(w1)=f(w2)=f(w), f(w0) = f(w) – (½) |w|+2, f(w3) = f(w) + (½) |w|+2
Cas des images binaires Image = fonction f :Σ * { Noir, Blanc } Image = fonction f :Σ * { Noir, Blanc } Image = langage f (des points Noir) de Σ * Image = langage f (des points Noir) de Σ *
Propriété AP pour images binaires En termes de fonction, f est AP si En termes de fonction, f est AP si f(w) = max( f(w0), f(w1), f(w2), f(w3) ) avec Blanc < Noir En termes de langage, f est AP si En termes de langage, f est AP si f est prefix closed : si uv є f, alors u є f f est prefix closed : si uv є f, alors u є f f est prefix trimmed : si u є f, alors uv є f pour un vε f est prefix trimmed : si u є f, alors uv є f pour un vε
Contre-exemple Tout langage f de Σ * définit une image de résolution multiple, mais elle nest pas nécessairement AP
Images binaires et DFA
Images à niveau de gris et WFA
Images couleurs et WFA
Encodage / Décodage Passage dun WFA de n états à une image de N = 2 k x 2 k pixels : Passage dun WFA de n états à une image de N = 2 k x 2 k pixels : Passage dune image de résolution multiple à un WFA : comme lalgorithme DEES (Denis et al, 2006), on crée des états quand ils ne sexpriment pas comme combinaison linéaire des autres, sinon on ajoute des transitions Passage dune image de résolution multiple à un WFA : comme lalgorithme DEES (Denis et al, 2006), on crée des états quand ils ne sexpriment pas comme combinaison linéaire des autres, sinon on ajoute des transitions
Exemple de construction
Cas dune image de résolution finie Problème : Problème : on na quune approximation de limage réelle, la valeur de f(w) nest pas connue pour tout mot wєΣ * on na quune approximation de limage réelle, la valeur de f(w) nest pas connue pour tout mot wєΣ * il sagit dexprimer un état comme combinaison linéaire des autres… il sagit dexprimer un état comme combinaison linéaire des autres… Un problème dinférence grammaticale ? Un problème dinférence grammaticale ? Une opportunité pour compresser les images … Une opportunité pour compresser les images …
Exemple, après compression
Opérations sur les WFA Etant donnés A de n états et B de m états reconnaissant f et g, on peut construire : un WFA de m+n états reconnaissant f U g et faire la somme de deux images un WFA de m+n états reconnaissant f U g et faire la somme de deux images un WFA de n états reconnaissant λf et rehausser le contraste (?) un WFA de n états reconnaissant λf et rehausser le contraste (?) un WFA de m.n états reconnaissant f.g un WFA de m.n états reconnaissant f.g
Application du produit
Utilisation de transducteurs : Zoom
Autres transducteurs
Questions Quelle relation entre extraction du WFA dune image et apprentissage des WFA de langages stochastiques ? Quelle relation entre extraction du WFA dune image et apprentissage des WFA de langages stochastiques ? Comment mesurer la distance entre deux WFA et faire de la classification dimages ? Comment mesurer la distance entre deux WFA et faire de la classification dimages ? Autres … Autres …