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 :

Template matching sur une radiographie


Sujet :

Traitement d'images

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2013
    Messages : 3
    Par défaut Template matching sur une radiographie
    Bonjour à tous!

    Je dois analyser sur des radiographies le développement de dents à leur état de germes et leur attribuer un score de maturation en fonction de leur morphologie. J'ai donc pensé qu'il peut être possible de systématiser le processus grâce à un logiciel.

    Je me suis donc tourner vers imageJ et son plugin Template Matching.
    J'ai sélectionner le germe dentaire de la radio (image en nuance de gris) et je l'ai comparé à ma base de données faite maison (plusieurs stades de maturité du germe sur une même image).
    L'idée est que le logiciel me donne l'image du germe la plus resssemblante possible et ainsi les coordonnées sur l'image bdd. Je pourrais ainsi donner un score à la dent (qui correspond à son degré de maturité), et entrer ce score dans un tableur.

    Les résultats sont assez bons, mais j'aurais aimé avoir plusieurs explications:

    - Suis-je sur la bonne voie? Il y a t-il un moyen plus simple de systématiser le procédé?
    - La base de donnée peut-elle être autre chose qu'une seule image? Comme par exemple une bdd Mysql avec des images? Je compte augmenter la bdd en ajoutant d'autres radio de germes.
    - Dois-je faire des modifications des images de germes de ma bdd? J'ai essayé de les passer en mode binaire, jouer sur les contrastes, appliquer un Canny Edge Detector, etc... et je voulais savoir lequels sont les plus adaptés à mon cas.
    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 : 46
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Citation Envoyé par ArtikZ Voir le message
    - Suis-je sur la bonne voie?
    Je pense

    Citation Envoyé par ArtikZ Voir le message
    Il y a t-il un moyen plus simple de systématiser le procédé?
    Pas forcément. Cela semble déjà assez simple "sur le principe".

    Citation Envoyé par ArtikZ Voir le message
    La base de donnée peut-elle être autre chose qu'une seule image? Comme par exemple une bdd Mysql avec des images? Je compte augmenter la bdd en ajoutant d'autres radio de germes.
    Je suis étonné que tu aies des bons résultats si tu compares avec une seule image par stade de maturité. Au plus tu as d'images par stade, au mieux c'est ! C'est surtout plus robuste.


    Citation Envoyé par ArtikZ Voir le message
    Dois-je faire des modifications des images de germes de ma bdd? J'ai essayé de les passer en mode binaire, jouer sur les contrastes, appliquer un Canny Edge Detector, etc... et je voulais savoir lequels sont les plus adaptés à mon cas.
    Cela pourrait être bien.
    Tu peux essayer ceci :
    - je pense que la forme est importante pour la maturité. Si j'ai raison, je te conseille d'extraire des indices de forme sur l'image binaire de la dent.
    - pour la texture, tu peux essayer d'extraire des indices de textures : Haralick's features, Gray Level Run Length Matrix, Gray Level Size Zone Matrix, des moments, etc.

    Puisque tu compares à des images, cela ressemble au principe de k-plus proche voisin.
    Si tu peux constituer une base d'apprentissage conséquente, tu peux alors tester des méthodes de classement différentes : réseaux de neurones, forêts aléatoires, régression logistiques, SVM, etc.
    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
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2013
    Messages : 3
    Par défaut
    Citation Envoyé par ToTo13 Voir le message
    - je pense que la forme est importante pour la maturité. Si j'ai raison, je te conseille d'extraire des indices de forme sur l'image binaire de la dent.
    Effectivement, la forme (et seulement la forme, pas la texture) est importante pour la maturité et ainsi déterminer le stade du germe.

    J'ai cherché comment extraire les indices de formes d'une image mais je sèche.
    En mettant l'image du germe en binaire, j'ai effectivement la forme (cf pièce jointe). C'est cette manipulation l'extraction de forme?

    Citation Envoyé par ToTo13 Voir le message
    Si tu peux constituer une base d'apprentissage conséquente
    Je peux effectivement augmenter ma bbd de germes.

    Citation Envoyé par ToTo13 Voir le message
    - pour la texture, tu peux essayer d'extraire des indices de textures : Haralick's features, Gray Level Run Length Matrix, Gray Level Size Zone Matrix, des moments, etc.
    Quel logiciel me conseillez-vous pour effectuer ces manipulations?

    J'ai une autre question:

    Les panoramiques présentent des zones flous, où le contraste entre le germe et l'os mandibulaire et faible (cf Flou). Il y a t-il moyen de mieux percevoir la forme de ces germes?

    Merci beaucoup d'avoir pris le temps de me répondre!
    Images attachées Images attachées   

  4. #4
    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 : 46
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Pour les Haralick's Features, tu trouveras certainement ton bonheur dans ImageJ et MatLab.
    Pour les autres caractéristiques de texture et de formes, tu risque de devoir les implémenter toi même. Je propose du exécutable Java sur mon site pour les GLSZM. Mais vu que tes dents ne sont pas très contrastées, ce n'est peut être pas la méthode la plus adaptée. Mais à tester tout de même.

    Essaie un étalement et étirement d'histogramme pour commencer.
    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.

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2013
    Messages : 3
    Par défaut
    Bonsoir,

    Je me permet de relancer la discussion car je bloque:
    J'ai réussi à extraire la forme des germes, j'en ai environ 10 pour chaque stade.
    J'ai ensuite testé avec un réseau de neurones sous Matlab, mais les résultats pour 2 des 8 stades ne sont pas satisfaisants.

    Je ne sais pas s'il faut que je continue sur les réseaux de neurones ou alors que j'utilise le plugin ImageJ (qui est je crois l'équivalent de matchTemplate sous openCV).

    Mon but final étant que le logiciel distingue automatiquement les germes puis leur attribue un stade.

    Pour le réseau de neurones, si j'ai bien compris, il faut présenter au réseau la même résolution d'image de germe. Le plus grand stade étant le stade 8 (environ 250x250 pixels), j'ai réparti les stades en plusieurs images de 250x250 pixels.
    Les plus petits germes sont donc aussi en 250x250, mais ainsi les germes adjacents apparaissent sur l'image du petit germe. Je pense que cela rend mon réseau de neurones beaucoup moins précis (voir image).

    J'ai aussi le même problème avec le plugin ImageJ. Si je ne détoure pas assez les images à analyser, le plugin reconnait les germes adjacents. Les germes ont "à peu près" la même position sur la radiographie, je me suis dit que le logiciel pourrait grossièrement encadrer le germe, mais les artéfacts des germes adjacents rendent la détection confuse avec le plugin d'ImageJ.

    Si vous avez la moindre piste, je suis preneur!
    Images attachées Images attachées  

  6. #6
    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 : 46
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Lorsque tu utilises un rdn, il te faut au moins trois fois plus d'échantillons (instances, individus, etc.) que de poids dans ton rdn.
    Si tu as 10 images pour chaque stade, tu en es TRES loin. Même si les résultats te semblent bons, ils ne sont en fait absolument pas représentatifs, voire simplement faux.

    Si tu veux donner directement l'image à ton rdn (donc sans extraire de caractéristiques), tu auras quelques chose d'énorme... mais faisable (à condition de respecter ce que j'ai dit précédemment). Tu seras alors plutôt dans un cas de Deep Learning et alors des simples rdn avec "back propagation" sont généralement mal adapté. Il vaut alors mieux utiliser des méthodes d'optimisations spécifiques au DNN.

    Sinon pour les images, un "Convolutional NN" serait sans doute plus adapté.

    Pour ma part je déteste donner un signal brute à un classifieur, je préfère extraire au préalable des caractéristiques.
    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.

Discussions similaires

  1. template multiple sur une liste
    Par carton99 dans le forum Débuter
    Réponses: 4
    Dernier message: 12/04/2010, 17h40
  2. Pattern Matching sur une InputStream?
    Par Phoxtrot dans le forum Général Java
    Réponses: 2
    Dernier message: 19/05/2008, 15h36
  3. Isoler une étiquette sur une radiographie
    Par Glenou dans le forum Images
    Réponses: 9
    Dernier message: 12/02/2008, 11h15
  4. [XSL][Templates]Du texte sur une page déterminée?
    Par cackybis dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 13/06/2006, 10h58
  5. Pointeur sur une fonction template
    Par Progs dans le forum Langage
    Réponses: 2
    Dernier message: 15/02/2006, 21h25

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