Précédent   Forum du club des développeurs et IT Pro > Autres langages > Algorithmes > Contribuez
Contribuez Proposez vos articles, cours, tutoriels, FAQ, sources, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Actualité déjà publiée
 
Outils de la discussion
Publicité
'
Vieux 23/01/2009, 11h49   #41
bilzzbenzbilz
Nouveau Membre du Club
 
Inscription : décembre 2008
Messages : 127
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 127
Points : 39
Points : 39
Merci mais j'ai pas compris : " la forme du gradient est une courbe en S "

Est ce que vous pouvez me donner un exemple sous forme d'une image ou quelque chose pour que je puisse bien comprendre, merci beaucoup d'avance .
bilzzbenzbilz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2009, 14h45   #42
pseudocode
Rédacteur/Modérateur
 
Avatar de pseudocode
 
Homme Xavier Philippeau
Architecte système
Inscription : décembre 2006
Messages : 9 815
Détails du profil
Informations personnelles :
Nom : Homme Xavier Philippeau
Âge : 40
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Architecte système
Secteur : Industrie

Informations forums :
Inscription : décembre 2006
Messages : 9 815
Points : 16 461
Points : 16 461
Citation:
Envoyé par bilzzbenzbilz Voir le message
Merci mais j'ai pas compris : " la forme du gradient est une courbe en S ". Est ce que vous pouvez me donner un exemple sous forme d'une image ou quelque chose pour que je puisse bien comprendre, merci beaucoup d'avance .
Expliquer les valeurs propres avec un dessin, ça va pas être évident.

Disons que les 2 valeurs propres de la matrice de Harris représentent les 2 diamètres de l'ellipse qui "colle le mieux" à la courbe du gradient. Ces 2 diamètres sont des grandeurs orientées (= direction + longueur).



A gauche : dans le cas d'un "bord", on obtient une ellipse aplatie. La mesure de Harris sera très faible car l'un des deux diametrès est beaucoup plus petit que l'autre.

Au milieu : dans le cas d'un "coin", on obtient une jolie ellipse ronde. La mesure de Harris sera grande car les deux diamètres sont sensiblement de la même taille, et elle sera positive car l'ellipse est "ronde".

A droite : dans le cas d'un "S", on obtient une ellipse croisée (forme de huit).La mesure de Harris sera grande car les deux diamètres sont sensiblement de la même taille, mais elle sera NEGATIVE car l'ellipse est "croisée".
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
pseudocode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2009, 16h16   #43
bilzzbenzbilz
Nouveau Membre du Club
 
Inscription : décembre 2008
Messages : 127
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 127
Points : 39
Points : 39
vous méritez quelque chose pour votre effort , encore merci.
d'après l'explication :
si h<0 alors on est dans le premier cas ( diamètre plus grand que l'autre)
ou dans le 3ème cas ( forme S )
bilzzbenzbilz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2009, 16h39   #44
pseudocode
Rédacteur/Modérateur
 
Avatar de pseudocode
 
Homme Xavier Philippeau
Architecte système
Inscription : décembre 2006
Messages : 9 815
Détails du profil
Informations personnelles :
Nom : Homme Xavier Philippeau
Âge : 40
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Architecte système
Secteur : Industrie

Informations forums :
Inscription : décembre 2006
Messages : 9 815
Points : 16 461
Points : 16 461
Citation:
Envoyé par bilzzbenzbilz Voir le message
vous méritez quelque chose pour votre effort , encore merci.
d'après l'explication :
si h<0 alors on est dans le premier cas ( diamètre plus grand que l'autre)
ou dans le 3ème cas ( forme S )
"h", la mesure de Harris, est (en gros) le ratio entre la petite valeur propre et la grande valeur propre.

Donc dans le 1er cas, la mesure "h" va etre très petite. Et dans le 3ème cas, elle va etre grande mais négative.
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
pseudocode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2009, 11h23   #45
bilzzbenzbilz
Nouveau Membre du Club
 
Inscription : décembre 2008
Messages : 127
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 127
Points : 39
Points : 39
bonjour pseudocode , j'espére que vous ête bien.
j'ai les dernière question concernant l'algo HARRIS-FAST

Question 1 : Si j'ai bien compris d'aprés le code :

//isSpatialMaxima(int[][] hmap, int x, int y)
int n=8;
int[] dx = new int[] {-1,0,1,1,1,0,-1,-1};
int[] dy = new int[] {-1,-1,-1,0,1,1,1,0};
double w = hmap[x][y];
for(int i=0;i<n;i++) {
double wk = hmap[x+dx[i]][y+dy[i]];
if (wk>=w) return false;
}

on a qu'une seule chance d'avoir un point d'interêt dans chaque
voisinage de 8 ?

Question 2 :
d'aprés le code de la fonction : public int[][] filter(int window, double sigma, int minMeasure, int minDistance) {....}

window : c'est la taille de la fenetre du voisinage . ok
minMeasure : c'est la distance minimale entre deux points d'interêt . ok

----------------------------------------------------------------------

minMeasure : c'est quoi son rôle ?, comment choisir la meilleur valeur ?, que se passe t-il lorsqu'on change sa valeur ?

sigma : c'est quoi son rôle ?, comment choisir la meilleur valeur ?, que se passe t-il lorsqu'on change sa valeur ? merci .... .
bilzzbenzbilz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2009, 13h06   #46
pseudocode
Rédacteur/Modérateur
 
Avatar de pseudocode
 
Homme Xavier Philippeau
Architecte système
Inscription : décembre 2006
Messages : 9 815
Détails du profil
Informations personnelles :
Nom : Homme Xavier Philippeau
Âge : 40
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Architecte système
Secteur : Industrie

Informations forums :
Inscription : décembre 2006
Messages : 9 815
Points : 16 461
Points : 16 461
Citation:
Envoyé par bilzzbenzbilz Voir le message
on a qu'une seule chance d'avoir un point d'interêt dans chaque voisinage de 8 ?
Oui. Je considère qu'un point est un maximum local s'il est plus grand que ses 8 voisins.

Citation:
minMeasure : c'est quoi son rôle ?, comment choisir la meilleur valeur ?, que se passe t-il lorsqu'on change sa valeur ?
Je suggère de relire mon post #20, afin d'utiliser une valeur en pourcentage, plutot qu'une valeur absolue comme c'est la cas dans le code actuel.

Citation:
sigma : c'est quoi son rôle ?, comment choisir la meilleur valeur ?, que se passe t-il lorsqu'on change sa valeur ? merci .... .
En fait, ce paramètre est le "sigma²" (au carré) de la gaussienne. Ce paramètre fait varier les poids de la moyenne pondérée. On peut dire que ca revient a aplliquer un "flou" plus ou moins fort à l'image, et donc à gommer le bruit eventuel sur l'image d'origine.

Ce paramètre doit être relié à la taille de la fenetre (window). En utilisant le calcul du FWHM, on peut trouver des règles empirques. Generalement je choisis:

sigma² = (window+2)/(4.71)
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
pseudocode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2009, 14h24   #47
bilzzbenzbilz
Nouveau Membre du Club
 
Inscription : décembre 2008
Messages : 127
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 127
Points : 39
Points : 39
Conclusion, grace à vous j'ai compris le principe de detection de points d'interêt et comprendre votre algorithme.
Math.pow(Double.toString("merci")),10000000000000)
---------------------------------------------------------------------

Maintenant que j'arrive à detecter les points d'interêt dans les images,
supposons qu'on a deux images , comment faire une correspondance entre chaque point d'interêt de la première image avec le point d'interêt correspondant ( si il existe ) dans la deuxième image .
bilzzbenzbilz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2009, 14h57   #48
pseudocode
Rédacteur/Modérateur
 
Avatar de pseudocode
 
Homme Xavier Philippeau
Architecte système
Inscription : décembre 2006
Messages : 9 815
Détails du profil
Informations personnelles :
Nom : Homme Xavier Philippeau
Âge : 40
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Architecte système
Secteur : Industrie

Informations forums :
Inscription : décembre 2006
Messages : 9 815
Points : 16 461
Points : 16 461
Citation:
Envoyé par bilzzbenzbilz Voir le message
Maintenant que j'arrive à detecter les points d'interêt dans les images, supposons qu'on a deux images , comment faire une correspondance entre chaque point d'interêt de la première image avec le point d'interêt correspondant ( si il existe ) dans la deuxième image .
Là, on dépasse largement le cadre de cette contribution. Je suggère une petite recherche dans le forum sur ce sujet, puis sur internet avec les mots clés "point matching" et sinon la création d'une nouvelle discussion dans le forum "Traitement d'images".
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
pseudocode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2009, 21h51   #49
bilzzbenzbilz
Nouveau Membre du Club
 
Inscription : décembre 2008
Messages : 127
Détails du profil
Informations forums :
Inscription : décembre 2008
Messages : 127
Points : 39
Points : 39
j'ai filtré google ,ce forum, autres forum, mais toujours le même résultat : aucune information sur les étapes à faire .
bilzzbenzbilz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/01/2009, 15h12   #50
Methode
Membre régulier
 
Étudiant
Inscription : décembre 2006
Messages : 177
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2006
Messages : 177
Points : 71
Points : 71
Par défaut re

tu peux utiliser le voisinage de tes poits d'intérêts. tu en extrait des caractéristiques (couleurs, textures et formes). Ensuite il te faut parvenir a calculer des distances entre tes caractéristiques afin de dire si oui ou non les zones sont similaires...

mots clés:indexation d'image, caractéristiques bas-niveau
Methode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2009, 17h01   #51
badzed
Invité de passage
 
Inscription : mai 2009
Messages : 1
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 1
Points : 1
Points : 1
Par défaut probleme

salut pseudocode
pour quoi ton code na marche pas sur mon eclipse ?
j'espere que je besoin d'un package (bibliothèque)
merci
badzed est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2009, 19h45   #52
pseudocode
Rédacteur/Modérateur
 
Avatar de pseudocode
 
Homme Xavier Philippeau
Architecte système
Inscription : décembre 2006
Messages : 9 815
Détails du profil
Informations personnelles :
Nom : Homme Xavier Philippeau
Âge : 40
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Architecte système
Secteur : Industrie

Informations forums :
Inscription : décembre 2006
Messages : 9 815
Points : 16 461
Points : 16 461
Citation:
Envoyé par badzed Voir le message
salut pseudocode
pour quoi ton code na marche pas sur mon eclipse ?
j'espere que je besoin d'un package (bibliothèque)
merci
Le code du post #14 n'a besoin d'aucune bibliothèque supplémentaire. Il fonctionne très bien sous eclipse.
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
pseudocode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/06/2009, 17h11   #53
pseudocode
Rédacteur/Modérateur
 
Avatar de pseudocode
 
Homme Xavier Philippeau
Architecte système
Inscription : décembre 2006
Messages : 9 815
Détails du profil
Informations personnelles :
Nom : Homme Xavier Philippeau
Âge : 40
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Architecte système
Secteur : Industrie

Informations forums :
Inscription : décembre 2006
Messages : 9 815
Points : 16 461
Points : 16 461
Un petit message pour indiquer que j'ai posté le code d'un détecteur (minimaliste) de Harris-Laplace dans la contribution "pyramide gaussienne".

détecteur de Harris-Laplace

__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
pseudocode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2009, 16h41   #54
godhiva
Invité régulier
 
Inscription : juin 2009
Messages : 19
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 19
Points : 6
Points : 6
Bonjour,

Une petite question relative au plugin pour ij, quand on l'utilise, à quoi correspond le paramètre halfwindowsize qui est demandé ? Et à quoi sert il ?
godhiva est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2009, 17h41   #55
pseudocode
Rédacteur/Modérateur
 
Avatar de pseudocode
 
Homme Xavier Philippeau
Architecte système
Inscription : décembre 2006
Messages : 9 815
Détails du profil
Informations personnelles :
Nom : Homme Xavier Philippeau
Âge : 40
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Architecte système
Secteur : Industrie

Informations forums :
Inscription : décembre 2006
Messages : 9 815
Points : 16 461
Points : 16 461
Citation:
Envoyé par godhiva Voir le message
Bonjour,

Une petite question relative au plugin pour ij, quand on l'utilise, à quoi correspond le paramètre halfwindowsize qui est demandé ? Et à quoi sert il ?
C'est le rayon de la zone d'intégration, donc la demi-taille du noyau gaussien.
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
pseudocode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2009, 12h32   #56
mobi_bil
Membre à l'essai
 
Avatar de mobi_bil
 
Inscription : février 2009
Messages : 242
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 242
Points : 20
Points : 20
Bonjour Pseudocode,
Dans l'algorithme HarrisLaplace, plus précisement, dans le calcul du laplacian :

1 : Pourquoi vous avez utilisé un voisinage de 4 pixels seulement : pixel au-dessus, au-dessous, gauche et droite.

2 : D'ou vient la formule :
Citation:
float laplacian = -v11 + 0.25f*(v10+v01+v21+v12);
Normalement, le Laplacien est calculé à partir de la deuxième dérivée gaussienne.
On prend le sigma2 de l'image courante, on calcul la convolution de l'image originale par la deuxième dérivée gaussienne de sigma2.

Merci

Dans la calcul de Harris :
1 : comment avez vous obtenu ce masque gaussien : {1,2,1},{2,4,2},{1,2,1}
mobi_bil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2009, 13h46   #57
pseudocode
Rédacteur/Modérateur
 
Avatar de pseudocode
 
Homme Xavier Philippeau
Architecte système
Inscription : décembre 2006
Messages : 9 815
Détails du profil
Informations personnelles :
Nom : Homme Xavier Philippeau
Âge : 40
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Architecte système
Secteur : Industrie

Informations forums :
Inscription : décembre 2006
Messages : 9 815
Points : 16 461
Points : 16 461
Citation:
Envoyé par mobi_bil Voir le message
Bonjour Pseudocode,
Dans l'algorithme HarrisLaplace, plus précisement, dans le calcul du laplacian :

1 : Pourquoi vous avez utilisé un voisinage de 4 pixels seulement : pixel au-dessus, au-dessous, gauche et droite.
Je n'ai pas besoin de prendre plus grand : c'est l'image qui change d'échelle et pas le masque du filtre qui change de taille.

Citation:
2 : D'ou vient la formule :
Citation:
float laplacian = -v11 + 0.25f*(v10+v01+v21+v12);
Normalement, le Laplacien est calculé à partir de la deuxième dérivée gaussienne.
La dérivée seconde d'une gaussienne est une LoG (Laplacian of gaussian), c'est à dire l'opérateur Laplacien appliqué a une gaussienne, que l'on peut utiliser directement sur l'image originale.

Dans mon cas, l'image est déjà convoluée par une Gaussienne, donc je peux utiliser directement l'opérateur Laplacien : Lap(f(x,y)) = d²f(x,y)/dx² + d²f(x,y)/dy² en approximant la dérivée seconde par la limite du taux de variation : d²f(x)/dx² = ( (f(x+h)-f(x)) - (f(x)-f(x-h)) )/h² pour h tendant vers 0. Comme on est dans le cas discret, on prend h=1.

Citation:
Dans la calcul de Harris :
1 : comment avez vous obtenu ce masque gaussien : {1,2,1},{2,4,2},{1,2,1}
[1,2,1] sont les coefficients binomiaux gaussien. En les appliquant verticalement puis horizontalement sur un pixel on obtient le masque 2D.
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
pseudocode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2009, 15h56   #58
mobi_bil
Membre à l'essai
 
Avatar de mobi_bil
 
Inscription : février 2009
Messages : 242
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 242
Points : 20
Points : 20
Citation:
Envoyé par pseudocode Voir le message
laplacian = -v11 + 0.25f*(v10+v01+v21+v12);
Comme on est dans le cas discret, on prend h=1.
En utilisant le théorème, je trouve pour h=1 :

d²f(x)/dx²=v21+v01-2*v11
d²f(y)/dy²=v12+v10-2*v11

donc laplacian= -4*v11+v10+v01+v12+v21

Pourquoi vous avez divisée le laplacian par 4 ? c'est le même.

Merci pour votre aide.
mobi_bil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2009, 17h39   #59
pseudocode
Rédacteur/Modérateur
 
Avatar de pseudocode
 
Homme Xavier Philippeau
Architecte système
Inscription : décembre 2006
Messages : 9 815
Détails du profil
Informations personnelles :
Nom : Homme Xavier Philippeau
Âge : 40
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Architecte système
Secteur : Industrie

Informations forums :
Inscription : décembre 2006
Messages : 9 815
Points : 16 461
Points : 16 461
Citation:
Envoyé par mobi_bil Voir le message
En utilisant le théorème, je trouve pour h=1 :

d²f(x)/dx²=v21+v01-2*v11
d²f(y)/dy²=v12+v10-2*v11

donc laplacian= -4*v11+v10+v01+v12+v21

Donc, d'ou vient le v11 et le 0.25
C'est juste la même formule divisée par 4. Ce facteur n'a pas vraiment d'importance car dans le detecteur on cherche la position des extrema du Laplacien. La valeur du laplacien n'a pas vraiment d'importance.
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
pseudocode est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/06/2009, 18h19   #60
mobi_bil
Membre à l'essai
 
Avatar de mobi_bil
 
Inscription : février 2009
Messages : 242
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 242
Points : 20
Points : 20
J'ai compris, merci.
2 dernières choses :

1 : Pourquoi vous vérifiez si la valeur absolue de harris et laplacian est inférieure à 1 ? ( ce n'est pas le cas de l'ancien detecteur HarrisFast).
2 : Est ce que le but de diviser la valeur de harris par 255*255 est de manipuler de petites valeurs ?

Merci pour votre aide.
mobi_bil est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Actualité déjà publiée
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 03h04.


 
 
 
 
Partenaires

Hébergement Web