Segmentation par markov

cs_anne-lise Messages postés 13 Date d'inscription mercredi 19 novembre 2003 Statut Membre Dernière intervention 30 septembre 2005 - 20 juin 2005 à 17:59
souicioql Messages postés 24 Date d'inscription mercredi 12 mai 2010 Statut Membre Dernière intervention 26 mai 2011 - 22 janv. 2011 à 10:11
bonjour,

je cherche à faire une segmentation d'image par la méthode de Markov.
Est ce que quelqu'un a les codes ? Est ce que vous savez où je peux me
les procurer ?

Merci d'avance !
Anne-Lise

9 réponses

cs_adnan05 Messages postés 16 Date d'inscription jeudi 21 octobre 2004 Statut Membre Dernière intervention 23 décembre 2014
2 mars 2007 à 18:08
Envoyer moi ton mail.
j'ai un projet avec c++ builder 6
sur la segmentation marcovient
0
cs_adnan05 Messages postés 16 Date d'inscription jeudi 21 octobre 2004 Statut Membre Dernière intervention 23 décembre 2014
2 mars 2007 à 18:10
au
ghassir@gmail.com
0
skysatoran Messages postés 1 Date d'inscription mardi 8 janvier 2008 Statut Membre Dernière intervention 2 mai 2008
2 mai 2008 à 11:58
salut mon email est [mailto:skysatorn@hotmail.com skysatorn@hotmail.com] 
je travail aussi sur ce type de pb mais c'est pour la detection de mouvement et exactement d'obtacle sur une route et avec matlab
0
jamsebouki Messages postés 1 Date d'inscription lundi 16 février 2009 Statut Membre Dernière intervention 2 mai 2010
2 mai 2010 à 00:29
Moi aussi je cherche à faire une segmentation d'image par la méthode de Markov.
mon email boukiboudi@hotmai.fr
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
loginsaid Messages postés 1 Date d'inscription lundi 18 mai 2009 Statut Membre Dernière intervention 20 mai 2010
20 mai 2010 à 00:00
bonjour,
je cherche à faire une segmentation de texte d'une image j'ai besoin de code en Matlab.
si quelqu'un peut m'aider pour mon projet "segmentation d'un texte Multi-langue ", voilà mon email said-maths@hotmail.fr
Merci d'avance !
Said
0
souicioql Messages postés 24 Date d'inscription mercredi 12 mai 2010 Statut Membre Dernière intervention 26 mai 2011
12 janv. 2011 à 19:21
Segmentation des images par la théorie des champs de Markov. Cette segmentation est effectuée par l’algorithme EM. Cet algorithme a l’avantage de calculer l’image segmentée ainsi que les paramètres du modèle proposé.
Le but est de chercher la classe la plus probable au sens de la probabilité a posteriori, obtenue par la maximisation de P(x/y) ou bien la minimisation d’une fonctionnelle d’énergie U(x/y) Les méthodes utilisées sont de type déterministe comme l’ICM ou de type stochastique comme le recuit simulé. Malheureusement
0
souicioql Messages postés 24 Date d'inscription mercredi 12 mai 2010 Statut Membre Dernière intervention 26 mai 2011
12 janv. 2011 à 19:27
algorithme ICM
i)
initialisation de l'algorithme ICM : il s'agit de fournir à l'algorithme ICM une
image classifiée et d'estimer les paramètres a de la classification initide.
Les paramètres a correspondent à la moyenne et à la variance de chaque classe. Classifications par algorithme K means
ii)
A partir d'une configuration initiale, les étapes suivantes chaque pixel :
a) Pour chaque classe :
1) calcul de l'énergie U(x/y) (équation );
2) calcul de l'énergie U(x) (équation );
3) calcul de l'énergie globale U(x,y) = U(x/y) + U(x) .
b) Recherche de la classe d'énergie minimale.
iii) On affecte l'étiquette de la classe, trouvée dans l'étape b), au site courant.
iv) S'il y a eu des changements sur l'image classifiée et si le nombre de changements est supérieur à un seuil défini par I'utiliçateur, on retourne a l'étape (ii). Sinon, l'algorithme ICM s'arrête.
0
souicioql Messages postés 24 Date d'inscription mercredi 12 mai 2010 Statut Membre Dernière intervention 26 mai 2011
12 janv. 2011 à 19:32
code L’algorithme du K-means avec matlab

function [mask,mu,v,p]=kmeans(ima,k)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%
% Input:
% ima: grey color image
% k: Number of classes
% Output:
% mask: clasification image mask
% mu: vector of class means
% v: vector of class variances
% p: vector of class proportions
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% check image
z1=ima;
ima=double(ima); % afficher image conne valeur double
copy=ima; % copy les valeur dimage ima

ima=ima(:); % afficher image ima comme vectorize
mi=min(ima); % min vecteur ima
ima=ima-mi+1; % is ima image aolre le min=0 donc ima=ima+1;
m=max(ima); %max vecteur ima
s=length(ima); %les nombre de element de vecteur

% create image histogram

h=Frequence(ima); %calcule Fréquence d'image
x=find(h);% is h(i)!=0 alors x(i)=i
h=h(x);
x=x(:);% Valeurs xi
h=h(:);

% initiate parameters

mu=(1:k)*m/(k+1);%(1:k) vecteur 1->k
v=ones(1,k)*m;% ones vecteur [1 1 1 ->1 k]*m
p=ones(1,k)*1/k;

% start process

sml = mean(diff(x))/1000; %calcule la moyne diff(x)
while(1)
% Expectation
prb = distribution(mu,v,p,x);% resulta sortire ci matrice
scal = sum(prb,2)+eps; %la somme de matrice
loglik=sum(h.*log(scal));% lasomme deus produit de matrice h et log(scal)

%Maximizarion
for j=1:k
pp=h.*prb(:,j)./scal; %Répétition ni
p(j) = sum(pp);% N
mu(j) = sum(x.*pp)/p(j); % X=1/N(somm(nixi))
vr = (x-mu(j));% xi-X
v(j)=sum(vr.*vr.*pp)/p(j)+sml;% V=1/N(somm ni(care(xi-X)))
end
p = p + 1e-3;
p = p/sum(p);

% Exit condition
prb = distribution(mu,v,p,x);
scal = sum(prb,2)+eps;
nloglik=sum(h.*log(scal));
if((nloglik-loglik)<0.0001) break; end;


end


% calculate mask
mu=mu+mi-1; % recover real range
s=size(copy);
mask=zeros(s);

for i=1:s(1),
for j=1:s(2),
for n=1:k
c(n)=distribution(mu(n),v(n),p(n),copy(i,j));
end
a=find(c==max(c));
mask(i,j)=a(1);
end
end



function y=distribution(m,v,g,x)
x=x(:);
m=m(:);
v=v(:);
g=g(:);
for i=1:size(m,1)
d = x-m(i);
amp = g(i)/sqrt(2*pi*v(i));
y(:,i) = amp*exp(-0.5 * (d.*d)/v(i));
end


function[h]=Frequence(datos)
datos=datos(:);%remlasse datos mateci avec vecteur
ind=find(isnan(datos)==1);
datos(ind)=0;
ind=find(isinf(datos)==1);
datos(ind)=0;
tam=length(datos);
m=ceil(max(datos))+1;
h=zeros(1,m);
for i=1:tam,
f=floor(datos(i));
if(f>0 & f<(m-1))
a2=datos(i)-f;
a1=1-a2;
h(f) =h(f) + a1;
h(f+1)=h(f+1)+ a2;
end;
end;
h=conv(h,[1,2,3,2,1]);
h=h(3:(length(h)-2));
h=h/sum(h);
0
souicioql Messages postés 24 Date d'inscription mercredi 12 mai 2010 Statut Membre Dernière intervention 26 mai 2011
22 janv. 2011 à 10:11
Un problème posé en imagerie multivariée est l’hétérogénéité des informations portée sur les images et donc la distribution des classes.

Segmentation des images individuellement en entrée (images univariées) par la théorie des champs de Markov. Cette segmentation est effectuée par l’algorithme ICM. Cet algorithme a l’avantage de calculer l’image segmentée ainsi que les paramètres du modèle proposé

Le but est de chercher la classe la plus probable au sens de la probabilité a posteriori, obtenue par la maximisation de P(x/y) .ou bien la minimisation d’une fonctionnelle d’énergie U(x/y).
U(x/y) dépend de plusieurs paramètres qu’on doit déterminer. Pour palier à ce problème, nous avons utilisé l’algorithme ICM pour calculer le champ des classes (segmentation).
Cet algorithme se déroule de façon itérative en deux étapes jusqu’à la convergence :
1. Une étape de modélisation des champ des observations p(x/y) et des classes p(x) .
2. Une étape d’estimation des paramètres incluant une phase d’optimisation de la probabilité a posteriori . par algorithme ICM .


initialisation de l'algorithme ICM : il s'agit de fournir à l'algorithme ICM une
image classifiée et d'estimer les paramètres a de la classification initide.
Les paramètres a correspondent à la moyenne et à la variance de chaque classe. Classifications par algorithme K means

la loi gaussienne

La densité de probabilité conditionnelle P(a\K) peut être modélisée par une loi gaussienne. Telle que :
P(a_s\K)=1/√(2πδ_k^2 ) e^(((a_s-μ_k))/(2δ_k^2 )) (2.10)
Avec : δ_k^2 est la variance de la classe k.
0
Rejoignez-nous