Journal "Nettoyage" d'images : GREYCstoration 2.8

Posté par  (site web personnel) .
Étiquettes :
0
7
mar.
2008
Hello.
Je me permets d'écrire un journal pour signaler que la version 2.8 de GREYCstoration vient de sortir.

GREYCstoration [1] est un programme libre qui a pour but principal le débruitage d'image. Il est fourni sous forme d'un outil en ligne de commande, mais également sous forme d'un plug-in permettant son utilisation sous GIMP. Sous sa forme la plus brute (ligne de commande), il permet aussi le redimensionnement et l'inpainting d'images (reconstruction de zones manquantes).

Un nouveau mode de "nettoyage d'image" est apparu dans cette version 2.8, avec l'option '-clean'. Ce mode est basé sur l'utilisation d'une EDP de diffusion appliquée dans l'espace des patchs de l'image (voir [2] pour plus d'infos sur la technique employée). Cette nouvelle option vient renforcer le mode '-restore' déjà utilisable dans les versions précédentes pour tenter de débruiter des images. Les deux modes donnent des résultats différents, il n'y a pas forcément de meilleur mode, tout dépend du type de bruit présent dans l'image à traiter. De mon point de vue, le mode '-clean' permet de garder des détails fins même lorsque le bruit à supprimer est très granuleux (voir [3] et [4]). L'intérêt ici, c'est surtout d'avoir encore un peu plus de choix pour traiter vos images !

Pour le moment, ce mode "nettoyage" n'existe que pour la version "ligne de commande" de GREYCstoration. J'aimerais bien sûr que le plug-in GIMP bénéficie de ce nouvel algorithme, mais je dois bien admettre que je suis une bille en programmation d'interfaces graphique. En gros, il faudrait ajouter un nouvel onglet dans l'interface du plugin, permettant de choisir l'un ou l'autre des mode 'restore' ou 'clean'. Je vais essayer de voir comment faire, mais çà risque de me prendre beaucoup de temps. Si quelqu'un est plus expérimenté, je veux bien de l'aide ! Pour le programmeur, GREYCstoration se présente sous la forme d'une API très simple à appeler (le plug-in existant l'utilise déjà d'ailleurs). Il y a juste une nouvelle fonction qui est apparue dans la version 2.8 de cette API, et qu'il faudrait interfacer dans le plug-in (avec deux trois paramètres à laisser choisir par l'utilisateur).

GREYCstoration étant basé sur la bibliothèque libre CImg [5], il est naturellement multi-plateforme. Je recherche donc également des volontaires pour la compilation de GREYCstoration 2.8, sur différentes plateformes auxquelles je n'ai pas accès. Si le coeur vous en dit...

Voila je crois que j'ai tout dit, n'hésitez pas à me donner des retours sur ce petit logiciel,si vous avez le temps de tester (l'installation de ImageMagick est vivement conseillé pour pouvoir lire des formats d'images variés).

[1] Site web de GREYCstoration : http://www.greyc.ensicaen.fr/~dtschump/greycstoration/
[2] Rapport de recherche expliquant la méthode de nettoyage d'image : http://www.greyc.ensicaen.fr/~dtschump/data/cahier_greyc08-0(...)
[3] Exemple d'utilisation du nouveau mode de débruitage : http://www.greyc.ensicaen.fr/~dtschump/greycstoration/img/re(...)
[4] Autre exemple : http://www.greyc.ensicaen.fr/~dtschump/greycstoration/img/re(...)
[5] CImg : C++ Template Image Processing Library : http://cimg.sourceforge.net
  • # Onglet

    Posté par  . Évalué à 4.

    Est-ce qu'il ne serait pas plus intéressant d'avoir les aperçus pour les deux modes dans la même fenêtre afin de voir quel traitement rend "mieux" sur l'image en cours (ce qui ne serait pas très pratique ni ergonomique avec des onglets) ?

    Les résultats sont impressionnants, bravo et merci !
    • [^] # Re: Onglet

      Posté par  (site web personnel) . Évalué à 3.

      Le problème c'est que ca prend quand même un temps non négligeable pour le calcul, et déjà pour une preview c'est quelquefois un peu long avec certains paramètres, donc avec deux previews en même temps, ca risque de ramer sévère...
      Mais c'est une bonne idée dans l'absolu.

      David.
      • [^] # Re: Onglet

        Posté par  (site web personnel) . Évalué à 3.

        Avec la démocratisation des processeurs multicore, l'idée n'est pas si utopique (si suffisamment de mémoire est disponible).
        De plus, si les deux traitements possèdent des phases communes, il est peut-être possible de ne les effectuer qu'une seule fois (mais je dois avouer que je n'ai pas du tout regardé les algos).
        • [^] # Re: Onglet

          Posté par  (site web personnel) . Évalué à 5.

          Avec la démocratisation des processeurs multicore, l'idée n'est pas si utopique

          Tout le monde n'a pas de multicore, et une des raisons pour laquelle j'utilise GNU/Linux, c'est justement que la course à l'armement y est moins rapide. Quand une nouvelle version d'un logiciel sort, je n'ai pas besoin de changer mon proc. Avec ce genre de raisonnement, on a ... Windows Vista.

          Par contre, avec des onglets, on peut imaginer que je suis sur l'onglet 1, il calcule la prévisualisation. Je passe sur l'onglet 2, il calcul l'autre prévisualisation. Celles ci sont mise en mémoire, et s'affichent alors cote à cote dans les deux onglets.

          Sinon, comme tout le monde, un grand merci pour ce programme. GREYCstoration a une certaine cote sur les site de photos, ou il est souvent comparé aux grands nom de la retouche qui valent beaucoup de $.
          • [^] # Re: Onglet

            Posté par  (site web personnel) . Évalué à 3.

            C'est n'importe quoi ce poste. Evidement que si tu as de la puissance de calcul, il faut l'utiliser pour se simplifier la vie !

            Il serait absurde de limiter tous les logiciels au plus petit dénominateur commun. Il est tout aussi absurde de demander un bi-core avec 2Go de ram pour faire un traitement de texte. Ce qui est regrettable, c'est de demander de la puissance parce que le codeur est trop feignant pour optimiser son code.

            Mais que la puissance soit bien utiliser pour du traitement d'image, je ne voix vraiment pas pourquoi s'en priver !

            "La première sécurité est la liberté"

            • [^] # Re: Onglet

              Posté par  (site web personnel) . Évalué à 3.

              Pourquoi c'est n'importe quoi ? Ce n'est pas limiter "au plus petit dénominateur commun" que de faire un cache de l'image calculé pour avoir une prévisualisation des deux rendus, plutôt que de faire systématiquement le calcul des deux en parallele.
              Le mec avec son quadri-core, il va avoir la prévisualisation en 0.2s, moi avec mon athlon 2000Xp machin, je vais poireauter 3 secondes. Si en plus il me calcule la prévisualisation de l'autre onglet simultanément, je vais attendre 6 secondes. En plus, plus la machine est rapide, moins ça serait contraignant de faire les calculs l'un après l'autre.
              Il est absurde de laissser la retouche d'image uniquement aux quadri-core. Car entre utiliser la puissance de calcul pour "se simplifier la vie" et être "trop feignant pour optimiser son code", la marge est faible...
              En plus, avec l'arrivé des EEE PC et compagnie, je ne trouve pas si absurde de "limiter tous les logiciels au plus petit dénominateur commun", un programme rapide sur un Celeron Mobile @ 600mhz sera ultra rapide sur un Core2Duo, ou est le problème ?
              • [^] # Re: Onglet

                Posté par  (site web personnel) . Évalué à 2.

                "un programme rapide sur un Celeron Mobile @ 600mhz sera ultra rapide sur un Core2Duo, ou est le problème ?"

                A te lire on a l'impression que tu crois réellement que tous les programmes peuvent rapide sur un Celeron@600Mhz...

                "La première sécurité est la liberté"

                • [^] # Re: Onglet

                  Posté par  . Évalué à 4.

                  un certain nombre pourrait quand même être sacrément rapide ... allez on va prendre un celeron 2179 Mhz .
                  (portable du boulot)
                  OOimpress, pour édite UNE ligne de texte me prend 10 s de 100% CPU.

                  Si je vais sur clubic, même pénalité.

                  Alors on se dit que certains codeur feraient quand même bien de savoir qu'il n'y a pas que octo-quad core 2.2 Ghz 32 Go de RAM sur terre
                  • [^] # Re: Onglet

                    Posté par  . Évalué à 3.

                    Ben pas de souci alors, une prévisualisation débrayable et le tour est joué, tout le monde est content, c'est une checkbox et basta :)
  • # Bravo et merci !

    Posté par  . Évalué à 8.

    Un petit mot pour te remercier pour ce travail, qui est vraiment impressionnant !

    Beaucoup de mes photos passent par Greycstoration.

    ­La faculté de citer est un substitut commode à l'intelligence -- Somerset Maugham

    • [^] # Re: Bravo et merci !

      Posté par  . Évalué à 3.

      toujours aussi impressionnant ce travail...
      Je connais pas grand chose de ce domaine mais les exemples (et mes experimentations) de GREYCstoration me donnent vraiment l'impression d'etre dans un film americain (surtout a cause de l'inpainting).

      A quand la possibilite de reconstituer une scene en 3D a partir d'une unique image en noir et blanc d'une miserable camera de securite de supermarche ?
      A quand la possibilite de suivre la vie en temps reel d'un dangereux terroriste depuis n'importe quel ordinateur en cliquant 3 ou 4 fois sur un site gouvernemental US accessible publiquement ??
      Et surtout : a quand la possibilite de pirater le monde en se promenant dans un univers 3D top fun ???
  • # Détramage de scan de livre

    Posté par  . Évalué à 2.

    Est ce le bon outil pour se passer des trames d'impression lorsue l'on scanne une page d'un livre ou prospectus?
  • # Bravo et plus encore

    Posté par  (site web personnel) . Évalué à 5.

    Petit post pour féliciter une fois encore David pour son travail. J'utilise GreycStoration dans une chaine de traitement d'images scannées. L'éditeur pour lequel je bosse publie tous les ans des annales du BAC et du brevet, et chaque année nous recevons des lots d'images scannées à partir des énnoncées de épreuves...et souvent, déjà dans les énnoncées des épreuves, les documents imprimés sont de mauvaises qualité. Imaginez ce qu'on peut avoir après numérisation au scanner à plat, sachant que ce n'est pas forcément numériser par des pros de l'infographie, mais souvent par des profs, qui nous prépare les documents...

    Merci David !
    Je t'avais promis de t'envoyer des exemple de traitement de nos documents...j'ai oublié/été trop occupé/resté trop longtemps mouler sur DLFP...mais cette année je vais le faire.
    • [^] # Re: Bravo et plus encore

      Posté par  . Évalué à 1.

      Je rajoute un bravo pour le logiciel en général, magique, et pour l'ergonomie de l'interface en ligne de commande et la doc web en particulier : on comprend presque ce qu'on fait sans rien y connaître.

      Ça tourne très bien sur mon vieux linux/ppc.

      Le seul point un peu limite c'est la compilation, puisque tout le code ou presque est placé dans un seul fichier .h de 30 000 lignes -pas de précompilation des en-têtes etc : la compilation prend plus de 20 minutes et quasiment 200 Mo de mémoire !
      Mais bon, on ne compile qu'une fois (contrairement à la restauration qui demande beaucoup d'essais -de toutes façons, faire tourner le ventilateur de la machine ça évacue la poussière).
  • # Plug-in GIMP mis à jour

    Posté par  (site web personnel) . Évalué à 6.

    Bon ca y'est j'ai essayé de bidouiller un peu pour qu'on puisse lancer le nouveau mode dans le plug-in GIMP. Je n'ai pas réussi à faire d'onglets, mais j'ai pu ajouter de nouveaux sliders/boutons pour sélectionner le mode de débruitage . Ce n'est pas très beau mais ca a l'air de fonctionner. GTK est encore très obscur pour moi...
    En attendant que le côté 'cosmétique' s'améliore, au moins il y a déjà la fonctionnalité ! J'ai mis l'archive à jour pour ceux que ca intéresse..

    David.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.