IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Traitement d'images Discussion :

Matrice de cooccurrences pour la comparaison de deux images


Sujet :

Traitement d'images

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 127
    Points : 70
    Points
    70
    Par défaut Matrice de cooccurrences pour la comparaison de deux images
    bonjour, je veux faire la comparaison entre la texture de deux images.
    Comment choisir la taille de la fenêtre des deux images avant qu'on les applique la matrice de cooccurrence.



    Images attachées Images attachées   

  2. #2
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour,

    de mémoire je n'ai rien lu concernant un algorithme qui permettrait de déterminer automatiquement la taille de la fenêtre.
    Je pense qu'il faut que tu fasses des tests sur ta base d'images et voir la taille de fenêtre qui minimise l'erreur.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  3. #3
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    De plus, je dirais que ça dépend surtout de la méthode de comparaison.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  4. #4
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 127
    Points : 70
    Points
    70
    Par défaut
    bonjour pseudocode.
    pour comparer deux texture, on peut estimer la similarité entre les matrices de cooccurrence des deux texture.
    on a besoin seulement des 4 caractéristiques suivants :
    L’énergie (T1) :
    L’entropie (T2):
    Le contraste (T3):
    Le moment inverse de différence (T4):

    La distance entre deux images H, I se calcule par la formule suivante :



    par exemple pout l'image ci-dessous, on a pas un probleme de choix de la taille et la position de la fenetre ( on peut prendre toute l'image) .



    Mais par contre, pour les deux image que j'ai posté dans (post#1], j'ai pas trouvé de solution, d'ailleur je me demande comment les systeme de recherche d'image par le contenu utilise le descripteur de texture pour comparer deux textures de deux images?
    Images attachées Images attachées   

  5. #5
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par bilzzbenzbilz Voir le message
    La distance entre deux images H, I se calcule par la formule suivante : (...)
    Ok, donc distance euclidienne sur 4 composantes.

    Mais par contre, pour les deux image que j'ai posté dans (post#1], j'ai pas trouvé de solution, d'ailleur je me demande comment les systeme de recherche d'image par le contenu utilise le descripteur de texture pour comparer deux textures de deux images?
    Une méthode (j'ai déjà du en parler) c'est de faire une segmentation par texture. Par exemple, le plus simple c'est de faire un split/merge: Tu découpes toute l'image en carrés de taille NxN (par exemple 32x32 ou 64x64) et tu calcules tes 4 coefficients pour chaque carré. Ensuite tu regroupes les carrés voisins qui ont les mêmes 4 coefficients (en utilisant ta formule et un seuil d'erreur). Le plus gros rassemblement de carré te donne la plus grosse zone homogène en texture => c'est ces coefficients que tu conserves pour cette image.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  6. #6
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 127
    Points : 70
    Points
    70
    Par défaut
    Oui, c'est une bonne idée, mais :
    que voulez vous dire par segmentation : un découpage simple de l'image (c'est à dire découper l'image en parties égales), ou bien, un découpage en regions homogènes, parceque dans le deuxième cas, on ne peut pas savoir à quel niveau on s'arrête lorsqu'on segmente une image.

  7. #7
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par bilzzbenzbilz Voir le message
    Oui, c'est une bonne idée, mais :
    que voulez vous dire par segmentation : un découpage simple de l'image (c'est à dire découper l'image en parties égales), ou bien, un découpage en regions homogènes, parceque dans le deuxième cas, on ne peut pas savoir à quel niveau on s'arrête lorsqu'on segmente une image.
    Découper en parties égales.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  8. #8
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 127
    Points : 70
    Points
    70
    Par défaut
    bonjour pseudocode .

    dans la matrice de cooccurrence, est ce qu'il y a une difference entre les martices de taille 32, 64, 128, 256 .

  9. #9
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonsoir,

    oui, il y a une différence
    Il faut tester différentes valeurs de réduction et garder celle qui convient le mieux
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  10. #10
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Effectivement, il n'y a quasiment que ça à faire.
    Dans le même temps, tout dépend de la taille de l'image. Sur une image 100x100, on va plutôt prendre une taille 32, pour du 10000x10000, conserver l'histogramme complet avec une taille 256 est tout à fait pertinent.

    Maintenant, tu compares des images de couleurs, je te suggère donc de taper dans des matrices de cooccurrence intra et intercanales (donc 6 matrices). Après, selon que tu veux faire, tu pourras passer aux paramètres de Haralick, mais sache que sur certaines de mes recherches, l'utilisation de tous les paramètres (et pas que 4, c'est très - trop - réducteur) entraînait une dégradation des performances de classification par rapport à l'utilisation des matrices de cooccurrence directement.

  11. #11
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 127
    Points : 70
    Points
    70
    Par défaut
    bonjour, et merci .
    je travaille avec des images de 384x256.

    Avant que je compare deux textures de deux images, je fait une conversion des images en niveau de gris

    d'après vous, il ne faut pas utiliser que les 4 paramètres?
    Quel est le meilleur moyen de comparer deux textures de deux images (après transformation en nivea de gris) ?

  12. #12
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Tout dépend l'objectif final. A mon avis, il ne faut JAMAIS passer en niveau de gris (surtout que ta formule ne l'empêche pas). Le concept de distance est très varié. Le problème dans ton cas est que ta distance n'est pas une vraie distance (si elle est nulle, ça ne veut pas dire que tes images sont identiques). Plus tu as de paramètres, mieux c'est. Il me semble que dans les tests que j'avais fait, j'en utilisais 9. Mais une fois de plus, j'ai montré qu'utiliser directement les matrices de coccurrence intra et intercanales pour de la classification était meilleur (et utiliser au moins les paramètres inter et intracanaux a aussi été démontré comme étant meilleur que les niveaux de gris). Et la distance que j'utilisais, c'était la distance quadratique entre les matrices.

    Une taille de 32 me paraît être un bon début.

  13. #13
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 127
    Points : 70
    Points
    70
    Par défaut
    J'ai appris que pour utiliser les matrices de cooccurrence, il faut que l'image soit en nivea de gris.
    je suis débutant et je ne sais pas comment utiliser les matrices de cooccurrence directement. De plus, c'est quoi matrice intra et intracanales ? merci.

  14. #14
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par bilzzbenzbilz Voir le message
    J'ai appris que pour utiliser les matrices de cooccurrence, il faut que l'image soit en niveaux de gris.
    La matrice de co-occurrence est un tableau qui indique combien de fois un pixel de couleur Ci est a coté (à une distance D) d'un pixel de couleur Cj.

    Les couleurs Ci, Cj, ...peuvent être des niveaux de gris, ou des couleurs RGB.

    Pour éviter d'avoir une matrice de taille 16millions x 16millions () on fait une réduction de l'espace des couleurs. Généralement on se limite a 166 couleurs -> recherche google sur: HSV 166 bins quantization.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  15. #15
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 127
    Points : 70
    Points
    70
    Par défaut
    bonjour pseudocode .
    Citation Envoyé par pseudocode Voir le message
    La matrice de co-occurrence est un tableau qui indique combien de fois un pixel de couleur Ci est a coté (à une distance D) d'un pixel de couleur Cj.
    j'ai déja utilisé votre algorithme http://www.developpez.net/forums/d41...ture-features/ mais je ne savais pas qu'on peut utiliser des images en couleurs.

  16. #16
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 127
    Points : 70
    Points
    70
    Par défaut
    est ce qu'il faur passer par l'espace HSV pour quantifier l'espace de couleurs.
    Parceque moi, j'utilise l'espace RGB et pour la quatification j'utilise l'algorithme des K-moyenne. merci.

    ce que je veux : c'est de calculer la similarité entre deux images à partir de leurs textures, Noubliez pas, je ne vais pas juger les deux images selon seulement leurs textures, j'utilise aussi une distance de similarité de leurs histogramme couleurs (pour comparer les deux images selon leurs couleurs).

  17. #17
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Citation Envoyé par bilzzbenzbilz Voir le message
    J'ai appris que pour utiliser les matrices de cooccurrence, il faut que l'image soit en nivea de gris.
    je suis débutant et je ne sais pas comment utiliser les matrices de cooccurrence directement. De plus, c'est quoi matrice intra et intracanales ? merci.
    intracanal, c'est ce que tu as l'habitude de faire. Tu aurais 3 matrices de cooccurrence. En fait, c'est comme si tu prenais 3 images en niveaux de gris et que tu calculais les matrices de cooccurrence.
    Ensuie, intercanal, au lieu de ne travailler que sur une image, tu travailles sur deux images en même temps. Quand tu augmentes la case i,j de la matrice de coccurrence, tu prends le premier canal pour i et le second pour j.

    pseudocode > non, on passe plus par 6 matrices de cooccurrence, c'est plus efficace.

    RGB ou HSV, c'est la même chose, en fait. Et si tu fais de la classification, tu devrais lire quelques publications à ce niveau. Ce que tu fais est largement sous-optimal par rapport à ce qui se fait dans la littérature.

  18. #18
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Citation Envoyé par bilzzbenzbilz Voir le message
    ce que je veux : c'est de calculer la similarité entre deux images à partir de leurs textures, Noubliez pas, je ne vais pas juger les deux images selon seulement leurs textures, j'utilise aussi une distance de similarité de leurs histogramme couleurs (pour comparer les deux images selon leurs couleurs).
    La texture, c'est quelque chose qui a des couleurs, donc tu te dois d'effectuer un travail correct et non pas des approximation qui datent du millénaire précédent.

  19. #19
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 127
    Points : 70
    Points
    70
    Par défaut
    Citation Envoyé par Matthieu Brucher Voir le message
    intracanal, c'est ce que tu as l'habitude de faire. Tu aurais 3 matrices de cooccurrence. En fait, c'est comme si tu prenais 3 images en niveaux de gris et que tu calculais les matrices de cooccurrence..
    d'après ce que j'ai compris : une matrice pour l'image du canal vert, une pour canal rouge, et une pour canal bleu.

    Citation Envoyé par Matthieu Brucher Voir le message
    Ensuie, intercanal, au lieu de ne travailler que sur une image, tu travailles sur deux images en même temps. Quand tu augmentes la case i,j de la matrice de coccurrence, tu prends le premier canal pour i et le second pour j..
    ça, j'ai pas compris.

    Je ne fait pas de la classification, j'ai une base d'images à partir de laquelle un utilisateur fait une requête (image), et j'essaie de trouver quelles sont les images similaire à l'image de la requête. Il s'agit de la recherche d'images.

  20. #20
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par Matthieu Brucher Voir le message
    pseudocode > non, on passe plus par 6 matrices de cooccurrence, c'est plus efficace.
    Ah ? Ca m'interesse. J'en suis resté au Spectral Clustering.

    Je me fais vieux .
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

Discussions similaires

  1. matrice de cooccurrence pour image couleur RGB
    Par Amine.ben dans le forum Traitement d'images
    Réponses: 4
    Dernier message: 08/05/2013, 17h44
  2. matrice de cooccurrence pour image couleur RGB
    Par Amine.ben dans le forum Images
    Réponses: 2
    Dernier message: 11/04/2013, 13h04
  3. Réponses: 1
    Dernier message: 12/03/2012, 21h46
  4. Matrice de cooccurrences pour utiliser les probabilités marginales
    Par Henry22 dans le forum Traitement d'images
    Réponses: 1
    Dernier message: 25/04/2010, 23h32
  5. Réponses: 8
    Dernier message: 30/01/2008, 23h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo