Bob Saint-Clar

traitement d'images

Messages recommandés

Ca fait quelques années que je me pose la question : à votre connaissance, utilise-t-on en astronomie des logiciels de traitement d'image basés sur les outils de la Morphologie Mathématique (érosions, ouvertures, reconstructions, squelettisation, etc) ? J'entends toujours parler d'ondelettes (qu'est-ce que c'est que ce truc ?), et c'est tout…

Dans le cadre de mon travail, j'emploie le logiciel Micromorph, développé par l'Ecole des Mines de Paris, pour extraire de scènes satellitaires des informations basées sur une sorte de " reconnaissance des formes " sommaire : où sont les villes, où sont les routes, où sont les habitations, par exemple. Je n'ai pas encore eu l'occasion de m'attaquer à des images astronomiques, tout simplement parce que je ne fais plus de prise de vue depuis très longtemps, et les clichés qu'on peut importer d'Internet sont déjà traités, il n'y a souvent plus grand-chose à faire…

D'où ce post : je souhaiterais essayer quelques traitements sur des images BRUTES, justes acquises ou scannées, pour savoir une bonne fois si la MorphoMath est intéressante ou non en astronomie. Je pressens de bons résultats sur les galaxies, la Lune et les taches solaires (ne me demandez pas pourquoi, ce post n'y suffirait pas). Je recherche donc un aimable astronome amateur qui accepterait de m'envoyer quelques-unes de ces œuvres NON TRAITEES : je ferai ce que je peux avec, puis je lui retournerai le(s) résultat(s) : comme l'auteur connaît bien son cliché et l'aura lui-même déjà traité de son coté, il pourra comparer et me livrer ses impressions. Si ça n'apporte rien, basta, on oublie et on passe à autre chose. Mais si ça paie... ?

Voilà, j'attends vos commentaires (et surtout, vos images)…

Partager ce message


Lien à poster
Partager sur d’autres sites
les ondelettes c'est en fait un filtrage multirésolution (à différentes échelles). On peut donc débruiter efficacement les images. Bon pour l'usage du traitement en ondelettes en astro, je vous reporte à la page de mon ancien maître de stage Albert Bijaoui : http://www.obs-nice.fr/paper/bijaoui/PAPERS.html

sinon une page que je trouve formidable sur les ondelettes (mais en anglais, désolée...): http://engineering.rowan.edu/~polikar/WAVELETS/WTtutorial.html

Par contre la morpho math ne me paraît pas adaptée au problème du débruitage qui est le problème essentiel en astro...

Partager ce message


Lien à poster
Partager sur d’autres sites
en fait les ondelettes c'est de la transformee de fourier (en gros)

le probleme en astro dans la plupart des cas, c'est que les objets-cibles sont limites par le rapport signal sur bruit.

autrement dit y a beaucoup de bruit pour pas beaucoup de signal.

Partager ce message


Lien à poster
Partager sur d’autres sites
Au contraire, la morphomath est très bien adaptée au débruitage, puisqu'elle permet d'intervenir à des échelles bien précises, et selon des modalités très diverses. Elle intègre d'ailleurs plusieurs filtres spécifiquement employés à cette tâche. Envoyez-moi une image bruitée, je ne ferai pas de miracles, mais ça me démange d'essayer...

Merci pour ces liens sur les ondelettes, je vais aller voir ça.

Partager ce message


Lien à poster
Partager sur d’autres sites
je vois que nos posts se sont croisés
Je me suis mal exprimée, oui la transformation en ondelettes est une sorte de transformée de Fourier, mais à différentes échelles. En gros, du moins pour les transformées discrètes, on transforme l'image de départ, puis on retransforme la même image mais en prenant un pixel sur deux. Le traitement du bruit s'effectue en seuillant les coefficients de la transformée obtenue, en supposant que le bruit est blanc.
Voilà le principe.

Partager ce message


Lien à poster
Partager sur d’autres sites
ah, et si tu as des liens pratiques sur la morpho math ca m'intéresse. J'avais surtout vu en cours que c'était un outil de reconnaissance de forme, je ne connaissais pas l'application de réduction de bruit, mais en y réfléchissant oui ca pourrait être intéressant, mais sur des objets planétaires effectivement. Pour des galaxies, j'ai l'impression que ca va rien rendre si l'image est bien piquée...

Partager ce message


Lien à poster
Partager sur d’autres sites
Je n'ai pas de lien précis, ça doit se trouver sans trop de difficulté. Je vais essayer de t'en trouver (je vais surtout repotasser un peu le filtrage, pour être au point, ça date un peu... mais j'ai mes cours à domicile! Ce qu'il ne faut pas faire en vacances, j'te jure...)

Partager ce message


Lien à poster
Partager sur d’autres sites
En astronomie, les prétraitements semblent très développés.

Après avoir résolu les problèmes liés au bruit, l'analyse morphologique peut être intéressante car elle est le point d'entrée pour la reconnaissance d'objets évolués.

Le reconnaissance de ces objets à partir de morphèmes nécessite des connaissances syntaxiques et sémantiques.

Il existe un modèle appelé "tableau noir" qui permet de faire cohabiter ces différentes sources de connaissances afin d'en extraire de façon oportuniste des objets.

Je crois que cela pourrait s'appliquer à la recherche automatique de supernovas, de comètes, de météores et autres objets.

Partager ce message


Lien à poster
Partager sur d’autres sites
Celinedl,

En fait, je viens de réaliser quelques manip sur une image de M31 (une image parfaite d'ailleurs, mais en la dégradant…) : La MorphoMath dispose d'outils de débruitages et reprend les filtres et les convolutions, mais ça ne change pas grand-chose à ce qui existe par ailleurs (même photoshop intègre quelques-uns de ces filtres et gère les convolutions). Sur ce plan, tu as raison, les ondelettes font certainement mieux.

En revanche, je viens de comprendre pourquoi je m'attendais à de bons résultats sur les taches solaires et surtout, sur les galaxies : parce que la MorphoMath permet de réaliser des sortes de " masques flous " qui ne génèrent aucun artefact dans l'image. Si cette dernière est propre, les résultats sont vraiment très bons, parce qu'on peut pousser le traitement ; avec un masque flou classique, des artefacts apparaissent (par exemple, des cercles sombres autour des étoiles) et le bruit remonte fortement si on insiste.

Voilà les résultats de mes manips : je n'ai mis que les liens pour que les possesseurs de modems ne soient pas à la rue, les fichiers sont gros…
http://www.aas.org/~aastra/M31.jpg est l'image originale. C'est une pitié de retoucher quelque chose d'aussi joli, je suis d'accord, le but n'est pas de l'améliorer, mais de voir ce que l'on peut faire pour lui donner un peu plus de pêche, de contraste quoi, sans trop l'abîmer : je veux sortir les détails des bras extérieurs, trop pâles, et des nébulosités sombres intérieures au disque… typiquement le résultat d'un bon masque flou.
http://ghhat.univ-lyon2.fr/~drouot/m31pho.jpg est le résultat de l'utilisation, dans photoshop de l'outil renforcement (je me demande comment il travaille, dans le détail). J'ai fait de mon mieux pour ne pas trop massacrer l'original, tout en ressortant les nodosités des bras extérieurs (clairs) et des nébuleuses absorbantes du disque (sombres). L'histogramme a été modifié dans la foulée. Pas facile, d'autant que le bruit devient vite gore (il résulte de la compression .jpg) si on insiste !
http://ghhat.univ-lyon2.fr/~drouot/m31mf.jpg est un masque flou, toujours réalisé sous photoshop. On peut sans doute faire mieux, mais franchement, je ne suis pas trop mécontent du résultat. Le contraste global a été retouché pour que l'on puisse comparer les images entre elles. Là encore, insister fait ressortir dramatiquement le bruit, et des artefacts apparaissent rapidement ; le dosage n'est pas du tout évident.
http://ghhat.univ-lyon2.fr/~drouot/m31morpho.jpg est le résultat d'un pseudo " masque flou " : le principe est le même, en gros, mais les images soustraites ne sont pas des floutages de l'original, ce sont des reconstructions en teintes de gris à partir d'ouvertures et de fermetures de la couche bleue. Je n'ai travaillé que sur cette dernière parce que c'est assez long ; on obtiendrait un résultat plus clean en travaillant sur chaque couche, puis en les recomposant en trichromie. Cette image me semble la moins moche (outre l'original), dans la mesure où le contrat de départ (ressortir les détails clairs et sombres sans bruiter ni créer d'artefacts) est à peu près respecté. Bien sûr, ce n'est que mon avis et il est contestable. A tester sur des images amateur,.

Je te tiens au courant si je reçois des images à maniper. Mais dis-moi, que fais-tu comme études ou travail ? Tu fais dans le traitement d'images ?

(pour ms) : effectivement, la morphomath est utilisée en reconnaissance de forme et en analyse de structures/textures, mais peu (je crois) en astronomie. Je vous tiens au courant de mes essais...

[Ce message a été modifié par Bob Saint-Clar (Édité le 09-08-2002).]

Partager ce message


Lien à poster
Partager sur d’autres sites
Bravo, c'est un travail interessant.

A ma connaissance la morpho math n'est pas beaucoup utilisee en astronomie. J'avais utilise, il y a tres longtemps, un filtrage erosion-dilatation pour enlever les etoiles d'images de galaxies. Le resultat n'est pas franchement meilleur qu'un masque flou, en tout cas rien a voir avec une soustraction de PSF comme on le ferait de nos jours.
Je pense que ces manipulations morpho math peuvent etre utiles pour la detection (parcequelle sont peu couteuses) mais pas vraiment pour l'analyse.

Le probleme de la reconnaissance, ou classification, automatique des objets reste un reel challenge. Pour l'instant on ne sait pas faire aussi bien avec un programme qu'avec l'oiel pour classer les galaxies (quelquechose comme la classification de Hubble). Pourtant on ne peut plus envisager de regarder les images a l'oeil: Les telescope modernes produisent 10-50 Tbytes/an de donnees qui sont disponibles dans les archives et encore tres partiellement utilisees.

Les bonnes idees dans ce domaine sont donc tout a fait bienvenues!

Partager ce message


Lien à poster
Partager sur d’autres sites
Merci pour vos remarques. Effectivement, un filtrage alterné à base d'ouvertures et fermetures permet d'effacerles étoiles ; si on prend le centre morphologique de deux images ainsi générées (la première commence par une ouverture, la seconde par une fermeture), le résultat est encore meilleur. j'ai mis deux essais en ligne à partir d'une image NB de M31 :
http://ghhat.univ-lyon2.fr/~drouot/M31.jpg (l'original)
http://ghhat.univ-lyon2.fr/~drouot/m31auto.jpg (filtrage par un élément structurant de taille 1, matrice hexagonale)
http://ghhat.univ-lyon2.fr/~drouot/m31auto2.jpg (idem, elt de taille 2)

Que de manips en perspective...

Partager ce message


Lien à poster
Partager sur d’autres sites
C'est en effet tres joli, du moins pour l'aspect visualisation.

Qu'appelles tu "element structurant de taille 1", ca n'est clairement pas une boule de 1 pixel de rayon, qu'est ce que c'est?

Comment fonctionne ton algorithm pour faire des operations sur un hexagone?

Partager ce message


Lien à poster
Partager sur d’autres sites
Ph :

le logiciel converti la matrice carrée de l'image de M31 en matrice hexagonale : cela permet de minimiser les effets anisotropes lors des érosions/dilatations (sur une matrice carrée, les directions diagonales sont suraffectées par rapport aux directions cardinales). Ensuite, il génère un élément structurant de taille 1, c'est-à-dire un petit hexagone de 7 pixels (6 pixels entourent un 7ème) : cet élément est déplacé dans toute l'image, pixel par pixel, en commencant par le bord haut gauche. A chaque étape, le logiciel effectue une opération arithmétique sur les pixels en couronne, et affecte le résultat au pixel central (dans le cas d'une érosion en teintes de gris, par exemple, il lui affecte la valeur minimale). Pour un élément structurant de taille 2, tu ajoutes une couronne de pixels supplémentaires. L'intérêt de ce genre de manip est que chaque pixel voit sa valeur réaffectée en fonction de celle de ses voisins, et non en fonction de l'image complète (on appelle d'ailleurs ce genre de manip une opération de voisinage).
Pour la première image, l'élément structurant est donc une matrice de 7 pixels ; pour la seconde, la matrice est de 19 (1 pixel entouré par 18 autres). On peut évidemment changer la forme de l'élément structurant, de sorte à n'affecter que des objets linéaires, par exemple.

ms :

Tiens, c'est un concept importé des travaux en IAD? Le monde est petit (rapport à ma thèse)! Là je dois me sauver, mais il faudra que je lise tout ça en détail. Merci pour cette excellente référence.

Vivement la rentrée, parce que pour ces vacances, j'ai vraiment trop de taf... :-)

Partager ce message


Lien à poster
Partager sur d’autres sites
Comment re-echantillonnes tu l'image sur une grille hexagonale?

Partager ce message


Lien à poster
Partager sur d’autres sites
Merci de bien vouloir prendre cette peine.

Partager ce message


Lien à poster
Partager sur d’autres sites
J'ai trouvé, c'est très couillon en fait : pour passer d'une trame carrée à une trame hexagonale, le logiciel décale d'un demi-pixel (vers la doite) chaque ligne paire. Ca génère effectivement une trame hexagonale, sans interpolation. Cette trame hexagonale n'est pas composée de pixels à six cotés (de fait, j'aurais des problèmes à l'affichage!), mais tout simplement de pixels carrés réarangés.

Partager ce message


Lien à poster
Partager sur d’autres sites
Bien sur que les pixels restent carres (dans le sens ou on les range dans un tableau a 2D).
Mais en faisant comme tu dis, tu n'obtiens pas des hexagones reguliers (la distance sur le ciel entre deux centres de pixels n'est pas la meme dans toutes les directions, si je ne me trompe); c'est bien sur pas grave, je cherche seulement a comprendre.

Quelles sont les coordonnees dans l'image initiale des 6 pixels voisins?

Merci beacoup pour tes explications.

Partager ce message


Lien à poster
Partager sur d’autres sites
Je viens de me recasser un peu la tete sur cette question et j'arrive a ma meme conclusion qu'il y a ... 15 ans! Je crois que la solution optimale est de convoluer 4 boules a 1D (les directions cardinales et diagonales). On arrive a un filtre octogonal qui n'est ps trop pire, et que me semble etre le plus economique en calculs. Mais j'ai peut-etre faux.

Partager ce message


Lien à poster
Partager sur d’autres sites
Tu as raison, il y a une incidence sur les traitements de cette trame hexagonale imparfaite : en vertical, les transformations sont exagérées de 12% environs. Ca se voit surtout lorsque ces transformations sont de grande taille ; voilà ce que cela donne pour une dilatation à 200 d'un pixel :
http://ghhat.univ-lyon2.fr/~drouot/hexa.jpg

Avec une dilatation plus isotrope (la trame est toujours hexagonale, mais l'élément structurant change de forme à chaque cycle) :
http://ghhat.univ-lyon2.fr/~drouot/duodeca.jpg

On voit bien que la figure obtenue est un peu plus haute qu'elle ne devrait. Cet effet est insensible sur de petites transformations ; il suffit de tourner son image de 90° et de recommencer pour s'en convaincre, ou de réaliser une soustraction de deux images identiquement traitées, mais perpendiculairement orientées : des différences perceptibles n'apparaissent que pour de gros éléments structurants (ou bien sûr pour des opérations très "déformantes", comme la dilatation prise ici en exemple).

Partager ce message


Lien à poster
Partager sur d’autres sites
Je ne comprends pas tout. Mais j'abuse peut etre...
Dans la cas de ta boule hexagonale la plus simple, quelles sont les coordonnees (sur le ciel) des 6 pixels voisins?

Partager ce message


Lien à poster
Partager sur d’autres sites
Tu n'es pas le seul..!

Le plus efficace est peut-être de consulter le site du logiciel et leur rubrique FAQ ?
http://malte.ensmp.fr/Micromorph/mmorphf.htm

De mon coté, c'est ce que tu entends par "coordonnées sur le ciel" des pixels voisins dans la trame hexagonale que je ne saisis pas : par rapport au pixel central, leur position résulte du décalage ci-dessus indiqué dans la matrice carrée (soit un demi vers la droite), ce qui induit une déformation, mais ce ne doit pas être ta question, puisque tu l'avais déjà remarqué toi-même..?

Partager ce message


Lien à poster
Partager sur d’autres sites
La discussion pourrait devenir trop technique pour les auditeurs de ce forum... d'ailleurs c'est un peu un dialogue en ce moment.

Mais juste ce que je ne comprends pas c'est que tu dis qu'il n'y a pas de re-echantillonage. Pour re-echantillonne sur une grille hexagonale, j'aurais intercale un pixel suppementaire au mileur de chaque groupe de 4 (ce qui double le nombre de pixels), ensuite c'est facile de les arranger dans un tableau. Remplacer les lignes impaires par la moyenne de deux pixels consecutifs est equivalent (mais n'augmente pas le nb de pixels): Je suppose que c'est ce que tu fais, car je ne vois pas comment s'en sortir en decalant seulement d'un demi pixel...

Les outils que tu utilises on l'air tres performants.

Ceci dit, la question etait interessante. J'ai passe la motie de ma journe a ecrire un pgm d'erosion et de dilatation et je ma'muse avec (c'est pas du tout ce que j'avais l'intention de faire aujourd'hui!)

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant