Nebulium 1437 Posted March 4, 2015 Hello Je viens de regarder la vidéo, effectivement très instructive.Je vais d'ailleurs tout à l'heure calculer les PSNR des traitements de Polo et Pascal.Mais j'ai cru comprendre que ces divers exemples avaient pour but de retrouver algorithmiquement l'image de référence. Mais, sauf si j'ai zappé quelque chose d'important (ce que je crains, parce quc les maths et moi, depuis bien longtemps !), comment faire quand on n'a pas d'image de référence ou à la rigueur seulement une image approximative de la réalité obtenue par les logiciels d'empilement + traitement actuels ou un paquet d'images plus crades les unes que les autres ? Dans un but strictement esthétique, on peut imaginer aboutir bientôt à un rendu à la "HST" intégrant les caractéristiques physiques d'un instrument de taille donnée réputé parfait, ainsi que tout le matériel associé.Mais quid de l'exactitude scientifique, par exemple pour quelqu'un s'intéressant à l'évolution d'un détail sur Jupiter, par exemple ?[Ce message a été modifié par Nebulium (Édité le 04-03-2015).] Share this post Link to post Share on other sites
-ms- 2 Posted March 4, 2015 Tien, pourquoi Pascal a rogné ses images (500x500) ? Le PSNR de l'image 512x512 de Polo est de 22.33 dB p/r à l'image de référence 'lena_color_512.tif', c'est assez loin de ce que donnent les algorithmes du quatrième parcours. Pour atteindre très rapidement une valeur de l'ordre de 30 dB, je procède de la façon suivante :a) recalage par l'algorithme des demons,b) restauration (défloutage et débruitage) par l'algorithme deconvtv de Chan,c) fusion par l'algorithme gff,d) pas d'interpolation puisque l'image en sortie à la même taille que les images en entrée (512x512).Ces 3 algorithmes permettent déjà de traiter la plupart des images faites par les amateurs (Lune, Jupiter, ...). Pour le Soleil et les images sous-marines je remplacerai l'algorithme des démons classiques par l'algorithme des démons spectraux. quote:Mais quid de l'exactitude scientifique, par exemple pour quelqu'un s'intéressant à l'évolution d'un détail sur Jupiter, par exemple ?Ben justement, le but c'est de comprendre ce qui se passe à chaque étape du processus pour obtenir les images les plus fidèles possibles.[Ce message a été modifié par ms (Édité le 04-03-2015).] Share this post Link to post Share on other sites
polo0258 40305 Posted March 4, 2015 bonjour à tous ! voici lena3 ,ça commence à être difficile! as2 30% des images retenues +reg: polo Share this post Link to post Share on other sites
-ms- 2 Posted March 4, 2015 Ben là tu chutes à PSNR = 15.61 dB soit un écart de presque 7 dB avec ton image précédente.Avec les algorithmes indiqués plus haut, le PSNR décroit lentement et c'est justement tout l'intérêt de la méthode. Quand j'aurais fini de tout coder en langage Julia, je posterai mes 2 images et j'indiquerai en plus du PSNR, les temps de calcul (pour l'instant j'ai une version Matlab/Octave qui est environ 15 fois plus lente que Julia). Share this post Link to post Share on other sites
michelR 5221 Posted March 4, 2015 Question idiote, avec quoi vous transformez les images PNG en AVI?Avec PIPP ça marche pô! Share this post Link to post Share on other sites
Nebulium 1437 Posted March 4, 2015 Avec VirtualDub.Il suffit de glisser-déposer la 1ère image de la séquence (numéros par incrément de 1) sur le raccourci de VD ou dans sa fenêtreSinon, AS!2 accepte (en principe) le dépôt de la séquence PNG sélectionnée en bloc dans sa fenêtre Share this post Link to post Share on other sites
Nebulium 1437 Posted March 5, 2015 Hello Chapeau, Polo !Moi qui croyait Lena 3 difficile à vivre !Je suis bon pour une Lena 4, c'est très facile à faire ! Je voudrais voir où Regis & cie cassent !Ta L3 encore plus naturelle que ta 1ère !Je viens de remettre en route l'appli PSNR.Les scripts de ms " *.jl "qui marchaient en LC et Juno ne marchent plus pour la visu des images en LC et plus du tout sous Juno .Je cherche ... ???Du coup, je n'ai pas encore fait les images de Pascal, mais ça va venir.Le calcul du PSNR se fait néanmoins en LC (charger le fichier dans le site ci-dessus, trouver le raccourci vers "Julia.exe" et copier-coller dans la fenêtre de Julia le code ci-dessous adapté), mais pour la dernière L3 de Polo en 512 couleur je trouve :julia> MSE = (MSE_R + MSE_G + MSE_B) / 3315.99088202582465julia> PSNR = 10 * log10( 255^2 / MSE)23.134058097147015ATTENTION :Je n'ai pas détouré avec assez de précision l'image de Polo, faut que je recommence ! , mais avant, dodo !Pour compléter les excellents tutos de ms, en voici un avec mes expériences Windaube7 pour les courageux paresseux, après une installation fraîche du pack Julia + Juno IDE :- Créer un répertoire "Images" dans le chemin " .../resources/app/julia/Images"- Mettre l'image de référence et l'image à mesurer dans le dossier "Images", après conversion éventuelle en TIF- S'assurer qu'elle est bien de même dimensions que la référence, sinon l'ajuster avec détourage ou bordure plutôt que redimensionnement- Adapter le code ci-dessous : * en indiquant le chemin complet : cd(".../resources/app/julia/Images") * en identifiant l'image à mesurer : # Read and view to be measured imageimgf = imread("L3polo30R_763643lena3g3ap175.tif")view(imgf)- Enregistrer le code sous "mesure_color_image.jl" dans le répertoire "Images"- Lancer "juno.exe"- Ouvrir le fichier "mesure_color_image.jl"- Evaluation " Eval all"Le même genre d'adaptation est à faire pour le fichier original "test_gray_image.jl"Juno vous suggèrera d'ajouter "Pkg.update()"Si la manip PSNR a marché, ne le faire que plus tard, ça peut durer plusieurs dizaines de minutes !code:# Installing Images package (if Images package not installed)Pkg.add("Images")# Installing ImageView package (if Images package not installed)Pkg.add("ImageView")# For reading .tif filesusing Images# For viewing .tif filesusing ImageView# Images's pathcd("D:/Progs_/juno/resources/app/julia/Images")# Read and view test imageimg = imread("lena_color_512.tif")view(img)# Read and view measured imageimgf = imread("L3polo30R_763643lena3g3ap175.tif")view(imgf)# Compute PSNRimg=255*separate(img)imgf=255*separate(imgf)mse_R = (img[:,:,1]-imgf[:,:,1]).^2mse_G = (img[:,:,2]-imgf[:,:,2]).^2mse_B = (img[:,:,3]-imgf[:,:,3]).^2MSE_R = sum(sum(mse_R)) / prod(size(img))MSE_G = sum(sum(mse_G)) / prod(size(img))MSE_B = sum(sum(mse_B)) / prod(size(img))MSE = (MSE_R + MSE_G + MSE_B) / 3PSNR = 10 * log10( 255^2 / MSE)[Ce message a été modifié par Nebulium (Édité le 05-03-2015).] Share this post Link to post Share on other sites
Pascal 77 0 Posted March 5, 2015 pour info, je maperçois que les images que j'ai mis plus haut sont redimensionnées en 500 x 500 par le site orange sur lequel je les ai déposées. malheureusement je n'ai plus de drop box ou autre pour les rendre accessible. sinon je confirme, le dépôt des 501 images sur la fenêtre AutoStakker marche très bien! Share this post Link to post Share on other sites
Nebulium 1437 Posted March 5, 2015 EDIT]=> MichelWoawwwwwww !Ton image vient d'arriver pendant que je rédigeais ce message, merci ! Ton résultat laisse songeur et en 512x512, SVP !Pour mesurer, je l'aimerais bien en PNG et surtout connaître tes paramètres de traitement pour "durcir" Lena4 Voici déjà une superposition transparence 30%:. Et la diférence entre les deuximages :. No commment !!!!!!!!!!!!!!![/EDIT]=> Pascal Merci de ta contribution Pour publier, tu peux utiliser HPics configuré sans redimensionnement ou utiliser chez ton FAI les pages perso "à l'ancienne" en FTP=> msCette affaire de mesure du PNSR n'est pas aussi simple qu'il y paraît, je pense qu'il faut remplir ces trois conditions :- Impératif, les deux images doivent avoir les mêmes dimensions et échelle, évidemment- Il faut les centrer correctement (ici c'est facile, mise au point sur l'oeil le plus proche, classique )- Il vaut mieux les détourer pour enlever tout ce qui n'est pas propre sur les bordsVoici ci-dessous à gauche Lena_std en 494 x494, à droite la Lena_3 de Polo :. Et maintenant leur superposition avec la Lena_3 de Polo rendue transparente à 30% :. Le calcul en LC donne maintenant :julia> MSE_R = sum(sum(mse_R)) / prod(size(img))274.6318234468139julia> MSE_G = sum(sum(mse_G)) / prod(size(img))352.33011659481934julia> MSE_B = sum(sum(mse_B)) / prod(size(img))178.64733891720894julia> MSE = (MSE_R + MSE_G + MSE_B) / 3268.536426319614julia> PSNR = 10 * log10( 255^2 / MSE)23.840771558356863et par Juno, je verrai plus tard...[Ce message a été modifié par Nebulium (Édité le 05-03-2015).] Share this post Link to post Share on other sites
-ms- 2 Posted March 5, 2015 L'image de michelR est flatteuse mais le traitement des bords la pénalise :PSNR = 24,15 dB ... on est encore assez loin de 30 dB. Je vous propose de commencer par une image 512x512 de Lena en niveau de gris avant d'attaquer la couleur parce que dans ce dernier cas il y a plusieurs approches qui donnent de plus ou moins bons résultats. Share this post Link to post Share on other sites
michelR 5221 Posted March 5, 2015 Nebulium, ne te méprends pas, mon image est faite avec ta première séried'images. J'habite un bled perdu avec un débit internet moyenâgeux, ça m'a déjà prisun sacré bout de temps pour charger 182 Mo, alors 340 j'ai le temps de voirpousser les arbres! Je vais essayer quand même, mais mon image ce sera pas pour tout de suite! Share this post Link to post Share on other sites
michelR 5221 Posted March 5, 2015 Bon, je viens de charger les images Lena3.Traitement fait à l'arrache.Pas mieux que les copains! Share this post Link to post Share on other sites
Nebulium 1437 Posted March 5, 2015 => MichelR"mon image est faite avec ta première série d'image"C'est toujours intéressant d'en connaître les conditions "avec un débit internet moyenâgeux"Oui, je connais, épisodiquement heureusement ... Ah, je viens de voir ton dernier résultat.Lena 3 ?Comment ?=> ms" le traitement des bords la pénalise"Oui, dès que l'on passe par la FFT, les bords raides faussent les manips, j'en avais discuté avec le Dr Tadrous, très coopératif sur le sujet quand il a un peu de temps.J'ai trouvé un algo de déconvolution en C un peu ancien qui ne passe pas par la FFT, mais je ne sais pas le recompiler pour Win7 .Pour des mesures crédibles, il faudrait sortir les bords du calcul, en tout cas, s'entendre sur une procédure précise,l'important c'est la qualité de la majorité de l'image, je vais revoir le script pour le N&B.En PNG 8 bits, c'est immédiat de biseauter les bords avec cette page que l'on peut enregistrer.Avec VirtualDub, pour un film, c'est du gâteau avec Photomasque"commencer par une image 512x512 de Lena en niveau de gris"OK, je vais faire une Lena3G.Dans mes essais sur les bonnes résolutions lunaires de Will (j'attends encore un peu pour la n° 3, "le Mur", je voudrais essayer dessus le logiciel de Chan, si j'arrive à l'utiliser avec Julia), je le fais en 16 bits, en créant un cadre noir autour d'une image blanche, je floute copieusement puis la multiplie par l'image à traiter. [Ce message a été modifié par Nebulium (Édité le 05-03-2015).] Share this post Link to post Share on other sites
-ms- 2 Posted March 5, 2015 Lena3 de michelR a un PSNR de 23.09 dB et l'écart de traitement avec Lena2 est de 1.06 dB.L'aspect "cartoon" des Lena3 traitées peut être évité en utilisant des algorithmes comme ceux du troisième parcours. Ces manips sont intéressantes parce quelles reflètent assez bien le cheminement des ces 10 dernières années dans le secteur du traitement d'images. quote:Pour des mesures crédibles, il faudrait sortir les bords du calcul, en tout cas, s'entendre sur une procédure précise,l'important c'est la qualité de la majorité del'image, je vais revoir le script pour le N&B.L'important c'est d'utiliser des algorithmes qui n'ont pas tous les inconvénients que vous essayez de masquer. Le PSNR est crédible dans la mesure où c'est de loin celui qui est le plus utilisé depuis des années.Il faut commencer par des images en niveaux de gris avant de s'attaquer à la couleur. Actuellement, en niveaux de gris, je suis à 31.17 dB pour une Lena fusionnée 256x256 et à 29.04 dB pour la même Lena interpolée x2. En couleur c'est chiffres devraient normalement être supérieur (j'aurai la confirmation vers Pâques). Share this post Link to post Share on other sites
michelR 5221 Posted March 5, 2015 "mon image est faite avec ta première série d'image"C'est toujours intéressant d'en connaître les conditions Me rappelle pô!Pour voir j'en ai refais une un peu meilleure.AS, 100% des images et AP size 20 plus ondelettes. Share this post Link to post Share on other sites
Nebulium 1437 Posted March 5, 2015 => MichelC'est donc une nouvelle Lena2.Merci pour les infos=> ms"les inconvénients que vous essayez de masquer."Je dirais plutôt contourner"Le PSNR est crédible dans la mesure où c'est de loin celui qui est le plus utilisé depuis des années."On s'est mal compris :Je ne conteste pas du tout l'emploi du PSNR ni du SSIM auquel on va très bientôt s'intéresser de près , alors je pose une question :Soit une image reconstituée plus ou moins décalée et/ou pivotée et/ou dont le pourtour, disons 5% par exemple de la largeur ou la hauteur est dégradé (franges, rebonds, etc) alors que la partie centrale semble (au pif) recevable.Est-ce que les mesures PSNR et SSIM diffèrent pour la totalité de l'image ou la partie centrale, comparées aux parties correspondantes de l'image d'origine ?PS Le script "DeconTV " pour Julia est-il prévu pour bientôt ?[Ce message a été modifié par Nebulium (Édité le 05-03-2015).] Share this post Link to post Share on other sites
wilexpel 10412 Posted March 5, 2015 Si si Jean, je suis là, je suis le post régulièrement mais c'est pointu comme sujet ! Share this post Link to post Share on other sites
-ms- 2 Posted March 5, 2015 quote:Est-ce que les mesures PSNR et SSIM diffèrent pour la totalité de l'image ou la partie centrale, comparées aux parties correspondantes de l'image d'origine ?C'est très bien expliqué dans le lien suivant : http://www.rennes.supelec.fr/ren/perso/jweiss/tv/perception/qualite.php En gros PSNR est une version "corrigée" du rapport SNR et c'est un traitement statistique sur toute l'image qui permet de comparer les algorithmes entre-eux.SSIM c'est un peu plus complexe et ça permet d'aller plus dans le détail quand PSNR a dégrossi le terrain. C'est pour cette raison que je l'utiliserai plus tard quand il faudra faire un choix plus fin entre différents parcours. quote:Le script "DeconTV " pour Julia est-il prévu pour bientôt ?Je l'utilise dans le quatrième parcours, c'est la version suivante que j'ai portée sous Julia : http://people.seas.harvard.edu/~schan/deconvtv_folder/deconvtv_image.html Sous Matlab/Octave c'est déjà très rapide mais sous Julia c'est en moyenne 15 fois plus rapide (et je ne parle pas des versions utilisant la mémoire partagée ou la programmation GPGPU). J'ai complété les deux premiers parcours par le script Julia qui génère mes images de test pour le flou et le bruit. Voir aussi le script PSNR.jl qui montre que l'algorithme de fusion gff rempli parfaitement son rôle (comparer le PSNR des images fusion.tif et interpolation.tif). Faites la même manip avec les logiciels actuels et essayez de dépasser 31 dB. [Ce message a été modifié par ms (Édité le 05-03-2015).] Share this post Link to post Share on other sites
michelR 5221 Posted March 5, 2015 Nebulium,=> MichelC'est donc une nouvelle Lena2.Merci pour les infosNon, c'est toujours l'ancienne, je n'ai pas affiché la nouvelle. Share this post Link to post Share on other sites
Nebulium 1437 Posted March 5, 2015 "C'est très bien expliqué..."Vouiiiiii "c'est un traitement statistique sur toute l'image"OK, m'en vais faire mes petites manips perso dès que ma Julia sera moins fantasque "----://people.seas.harvard.edu/~schan/deconvtv_folder/deconvtv_image.html"Merci pour ce lien très intéressant J'y relève :All images are blurred by Gaussian filter of size 9x9 and variance 5. Noise is additive Gaussian noise, with BSNR = 25dBJe vais m'en inspirer pour lena 4g (il n'y aura pas de lena 3g -en gamme de gris-), et avec le 2ème parcours"...dans le quatrième parcours"OK, merci Ce sera donc d'ici 2 semaines, ça me laissera le temps de digérer les parcours 1 et 2 Le mur de Will attendra Share this post Link to post Share on other sites
-ms- 2 Posted March 6, 2015 quote:Je vais m'en inspirer pour lena 4g (il n'y aura pas de lena 3g -en gamme de gris-), et avec le 2ème parcoursC'est de la fuite en avant ... le jour où tu dépasses 30 dB avec des images en niveau de gris alors là tu peux passer à la couleur sur les mêmes images. Prends simplement mon exemple de Lena gray 256x256 avec 3 images (bruit 40 dB et flous 5x5, 7x7 et 9x9). Actuellement je suis à 29.04 dB pour l'image 512x512 en niveau de gris interpolée et je ne passerai à la couleur que quand j'aurai atteint 30 dB. En remplaçant la brique "Regularized Restoration" par "DeconvTV Restoration"(troisième parcours) je devrai gagner le dB qui manque puis passer à la couleur (quatrième parcours). Ensuite, je pourrai m'attaquer au recalage avec les différents démons (classique, spectral) en commençant à nouveau par des images en niveau de gris (cinquième parcours) pour finir par la couleur (sixième parcours). Après, je pourrai commencer à traiter mes vidéos sous-marines (septième parcours) puis passer aux domaines suivants. quote:OK, m'en vais faire mes petites manips perso dès que ma Julia sera moins fantasqueJulia est développé sous Linux et mise à jour de temps en temps sous Windows. De ce fait l'environnement Windows est très aléatoire alors que l'environnement Linux, mis à jour en permanence, est très stable. Depuis la version 0.2 (un an environ) je n'ai plus aucun problème sous Linux et nous arrivons tranquillement à la version 0.4. En fait pour mes développements, je n'utilise que très peu de packages externes (Images et ImageView) tout le reste est dans Julia de base ou développé par moi. Dans un an ou deux, peut-être que la version Windows aura atteint le même niveau de stabilité mais en attendant c'est plus raisonnable de rester sous Linux (Ubuntu ou Mint). En plus les développements CUDA sur cartes embarquées à base de Tegra K1 ou maintenant X1 se font sous Linux.[Ce message a été modifié par ms (Édité le 06-03-2015).] Share this post Link to post Share on other sites
Nebulium 1437 Posted March 6, 2015 "C'est de la fuite en avant ... "Non, au contraire, je voulais dire que lena_4g, en gamme de gris sera, à la différence de lena_3 (pour moi, c'est le même script Vdub pour la couleur ou le monochrome), plus conforme au site Harvard, et "mieux" agitée + déformée Concernant Linux, peut-on le faire cohabiter avec win7 sans tout casser, et l'activer par exemple par lancement au boot ?) Share this post Link to post Share on other sites
-ms- 2 Posted March 6, 2015 Il suffit de te fabriquer sous Windows (LinuxLive USB Creator) une clé USB pour la bonne version de Linux Mint. Tu installes Linux Mint puis au lancement tu choisis entre Windows ou Linux Mint.Sous Linux, tu lances Juno avec les packages nécessaires (Images et ImageView) et après tu peux tout faire en restant dans Juno. Share this post Link to post Share on other sites
Nebulium 1437 Posted March 6, 2015 Gloups ![Ce message a été modifié par Nebulium (Édité le 06-03-2015).] Share this post Link to post Share on other sites