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 du signal Discussion :

Traitement d'image, comment distinguer des types?


Sujet :

Traitement du signal

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 6
    Points : 1
    Points
    1
    Par défaut Traitement d'image, comment distinguer des types?
    Bonsoir, je debute un programme visant a distinguer des types dans une image, genre une photo d'un dessin. Quel genre de segmentation puis-je appliquer? sur quels criteres se baser?
    J'aurais besoins de quelques idées svp! merci

  2. #2
    Membre actif Avatar de ronan99999
    Inscrit en
    Juillet 2003
    Messages
    279
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Juillet 2003
    Messages : 279
    Points : 299
    Points
    299
    Par défaut
    L'année derniére quelqu'un avait (si je me rappel bien) posté un topic sur le meme sujet: diférence entre photo dessin etc...
    Parcontre je n'arrive pas à le retrouver.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Merci d'avoir cherché ronan, moi aussi j'ai fait une petite recherche mais pas grand chose d'interessant!

    Quelqu'un a deja entendu parler de la methode K-means?

  4. #4
    Membre confirmé
    Profil pro
    Enseignant
    Inscrit en
    Avril 2004
    Messages
    440
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2004
    Messages : 440
    Points : 451
    Points
    451
    Par défaut
    Quelqu'un a deja entendu parler de la methode K-means?
    Oui...
    Par contre je vois pas bien ce que la segmentation vient faire là... Je pense que la reconnaissance photo/dessin ça doit se baser sur des apporches statistques... Quand tu dis dessin, c'est un croquis (que les contours) ou alors une image qui se rapproche d'une photo (avec des couleurs et tout)...

    Tu peux être plus précis sur les dessins ??

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Je veux pouvoir séparer le dessin de la photo (tous deux contenus dans l'image). Un dessin peut etre un croquis ou contenant des couleurs.

  6. #6
    Membre confirmé
    Profil pro
    Enseignant
    Inscrit en
    Avril 2004
    Messages
    440
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2004
    Messages : 440
    Points : 451
    Points
    451
    Par défaut
    Ok...
    Effectivement les K-means c'est peut-être pas mal pour segmenter : en fait ça consiste à se placer dans un espace de paramètres où chaque pixel est représenté dans cet espace.
    Par exemple on peut considérer un espace de paramètres à deux dimensions du genre en x l'intensité du pixel, en y la variance autour de ce pixel (calculée dans un cercle de rayon 3 disons).
    ça va créer des amas de points, chaque amas correspondant à une classe...

    Le k-means consiste à détecter K amas de façon récursive (K/2 itérations je crois):
    1 - on calcule le barycentre des points dans l'espace des paramètres
    2 - on sépare en 2 l'espace des paramètres : on remplace l'ancien centroïde par deux centroïdes quasi à côté de l'ancien centroïde, mais répartis chacun d'un côté et de l'autre de la séparation
    3- on fait converger chaque centroïde vers sa vraie valeur (recalcul des barycentres)
    4- on sépare à nouveau chaque centroïde en 2 centroïdes de part et d'autre de la séparation nouvellement créée, et on recommence....

    Voilà les grandes lignes... A la fin tu as K centroïdes séparés par K régions (dans ton espace de paramètres) : chaque région est une classe, donc chaque pixel d'une région de l'espace de paramètres est affecté à l'une des K classes.


    Bon là je t'ai donné un exemple d'espace de paramètres, mais c'est à toi de définir les paramètres pertinents qui caractérisent le mieux ce que tu cherches, et ça peut être un espace à n dimensions...
    Pour ce qui est du choix des paramètres, je sais pas trop... certainement l'intensité et la variance, mais peut-être aussi d'autres choses... Le problème c'est que les K-moyennes seuls, ça prend mal en compte tout ce qui est "approche région" et qui pourrait t'apporter des trucs... Par exemple on peut associer dans les K-moyennes les champs de Markov, il paraît que c'est rudement efficace (tout le monde utilise ça aujourd'hui). Les champs de Markov prennent en compte l'information spatiale des pixels (cad ce qu'il y a autour du pixel). Par contre je ne connais pas la façon de procéder, je sais juste que ça existe...

    Je sais pas si j'ai été très clair...
    A+

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Merci, mais ca ma l'air un peu compliqué donc peux pas te dire si c'est clair ou pas !
    Je vais essayer de tester deja ce que ca donne et voir ce que je trouve sur les champs de Markov!
    Tu penses que ca me donneras ce que je veux cad des classes bien separees (dessin et photo)? sinon penses-tu que ce soit une bonne méthode?

    merci encore!

  8. #8
    Membre confirmé
    Profil pro
    Enseignant
    Inscrit en
    Avril 2004
    Messages
    440
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2004
    Messages : 440
    Points : 451
    Points
    451
    Par défaut
    Disons que c'est une bonne méthode si tu te places dans le bon espace de paramètres... C'est une méthode généralement utilisée en imagerie multimodale (ex:IRM où on a plusieurs images correspondant à plusieurs modes d'acquisition), mais qui peut s'appliquer à ton cas...

    Après le tout c'est de trouver l'espace de paramètres pertinents, et là faut vraiment réfléchir dessus... J'ai pas vraiment d'idée comme ça, faudrait voir les images, et puis moi y en a que en DEA, vaudrait peur être mieux que tu demandes à un chercheur pcq là c'est assez pointu...

    A+

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Je pense que la frontière entre photo et dessin est très difficile à déterminer.

    Pour certain type de dessin tu peux peut etre te baser sur la présence de contours noirs, la présence de zone de couleur uniforme (en considérant qu'il n'y ait pas d'ombrage...). Sinon, bah,..., bon courage !

    Pour les contours noirs par exemple, tu peux détecter les contours de l'image (filtre de canny par exemple) et vérifier que chaque point de contour correspond à un pixel noir (ce qui n'est normalement pas le cas pour une photo)
    Une idée comme ça...

    Question : :
    S'il s'agit de la photo d'un dessin ?
    Ou du dessin fait à partir d'une photo ??

  10. #10
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par ToonJ
    Je pense que la frontière entre photo et dessin est très difficile à déterminer.

    Pour certain type de dessin tu peux peut etre te baser sur la présence de contours noirs, la présence de zone de couleur uniforme (en considérant qu'il n'y ait pas d'ombrage...). Sinon, bah,..., bon courage !

    Pour les contours noirs par exemple, tu peux détecter les contours de l'image (filtre de canny par exemple) et vérifier que chaque point de contour correspond à un pixel noir (ce qui n'est normalement pas le cas pour une photo)
    Une idée comme ça...

    Question : :
    S'il s'agit de la photo d'un dessin ?
    Ou du dessin fait à partir d'une photo ??
    Pour repondre a ta question ce n'est pas de la photo d'un dessin ni d'un dessin fait a partir d'une photo, mais d'un dessin par exemple fait sur un ordinateur (ex: dessin d'un bonhomme sur paint).

    Les photos contiennent bcp plus de petits details que les dessins donc bcp plus de hautes frequences. J'ai bidouiller un peu les transformees (DCT) mais je sais pas comment l'appliquer a mon probleme avec la classification k-means.

  11. #11
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    J'ai cherché sur le net mais y'a bcp de maths!
    En quoi consiste l'algo de Markov? quelqu'un sait ou je peux trouver l'algo?

  12. #12
    Membre confirmé
    Profil pro
    Enseignant
    Inscrit en
    Avril 2004
    Messages
    440
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2004
    Messages : 440
    Points : 451
    Points
    451
    Par défaut
    ça les maths avec markov tu peux pas y échapper..
    C'est pas un algo, c'est tout un domaine des mathématiques du traitement du signal....

    ça se base sur le calcul de probabiltés à priori, etc...

    Je saurais pas vraiment en parler plus en détails car je suis vraiment pas expert là-dedans, mais à mon avis tu auras pas le choix si tu veux vraiment une segmentation efficace...

    Mais qui te demande de faire ça ? C'est pour toi, ou un stage, projet ?
    Quel niveau ?

    Car à mon avis c'est vraiment pointu, limite sujet de recherche... Enfin bon c'est à prendre avec des pincettes ce que je dis car je ne connais pas toutes les méthodes de traitement d'images, et peut être que c'est un sujet qui a déjà été traité...

    Sinon tu peux tenter un truc du genre "chercher les grandes régions homogènes" (filtrages de bases tels que passe-bas etc...), mais ça donnera pas des trucs géniaux...

    [EDIT]Qui t'a parlé des K-means ? C'est peut être à cette personne qu'il faut poser la question, elle a sûrement une idée derrière la tête...

    [EDIT2]En ce qui concerne les DCT, c'est peut être une meilleure voie... Tu pourrais rechercher les zones homogènes avec les DCT, mais il manque une étape pour savoir quelles sont les régions homogènes qui correspondent au dessin... Vraiment pas simple ce problème...

  13. #13
    Nouveau membre du Club
    Inscrit en
    Mai 2005
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 35
    Points : 31
    Points
    31
    Par défaut
    Hum, utiliser les modèles de Markov pour ton problème me paraît bizarre, mais pourquoi pas . En général, c'est plus utiliser pour la reconnaissance de la parole. De plus, c'est une méthode assez complexe à programmer (notamment des problèmes de virgule flottante assez pénibles), mais cela dit une version light est envisageable assez rapidement.
    Si tu veux de diriger vers cette voie, il existe HTK sous linux qui te permet de créer des modèles pour des mots (alors pourquoi pas des images) et qui fait tout le traitement pour toi. Avant de te lancer là-dedans, peut-être faudrait-il que tu testes des choses avec HTK avant, genre lui faire "écouter des images" par exemple.

    Par contre, pourquoi ne pas faire une "moyenne" des fréquences représentant d'une part les photos, d'autre part les dessins (apprentissage).
    Tu as ainsi 2 classes.
    Et ensuite, calculer la transformée de l'échantillon à analyser, et utiliser pour la reconnaissance soit les k plus proches voisins comme explicités ci-dessus, soit le maximum de vraisemblance avec une distance de mahalanobis ?

    Cela dit, difficile de faire la différence entre une photo et un dessin représentant fidèlement la photo par exemple.

    Peut-être existe-t-il des spécificités de "grain" sur une photo que tu peux extraire et qui sont absentes des dessins

    A suivre

  14. #14
    Membre habitué Avatar de Metal Tom
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 119
    Points : 129
    Points
    129
    Par défaut
    Sur un dessin il doit y avoir beaucoup de contours. Essaye des gradients, des Laplaciens et tout le toutim.

  15. #15
    Membre confirmé
    Profil pro
    Enseignant
    Inscrit en
    Avril 2004
    Messages
    440
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2004
    Messages : 440
    Points : 451
    Points
    451
    Par défaut
    Sur un dessin il doit y avoir beaucoup de contours. Essaye des gradients, des Laplaciens et tout le toutim.
    Bah non justement, il y en a apparemment moins que sur une photo.
    Un gradient, ça donne les contours, et... ??

    Bon on pourrait chercher justement les zones à faible fréquence, mais il y en a aussi sur les photos donc... pas robuste tout ça!

    Sinon pour ce qui est de Markov et apprentissage, à mon avis c'est vraiment la meilleure approche... (Markov est aussi très utilisé en imagerie ).

  16. #16
    Nouveau membre du Club
    Inscrit en
    Mai 2005
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 35
    Points : 31
    Points
    31
    Par défaut
    Tu peux nous donner des exemples représentatifs des photos et dessins que tu comptes traiter (les plus pénibles à traiter selon toi, si possible).

    ++

Discussions similaires

  1. [C#] comment manipuler des types inconnus ?
    Par clinic dans le forum C#
    Réponses: 10
    Dernier message: 09/07/2007, 13h01
  2. [Traitement d'image] Comment modifier une image côté serveur ?
    Par pontus21 dans le forum Webdesign & Ergonomie
    Réponses: 7
    Dernier message: 21/08/2006, 13h57
  3. [Image]Comment convertir des images bmp en jpg avec PHP ?
    Par amarcil dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 15/04/2006, 14h59
  4. [Traitement d'image] Où trouver des images pour illustrer mon site ?
    Par langela94 dans le forum Webdesign & Ergonomie
    Réponses: 4
    Dernier message: 24/01/2006, 18h44
  5. [VB.Net] Comment comparer des types?
    Par smedini dans le forum VB.NET
    Réponses: 1
    Dernier message: 20/01/2006, 13h00

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