Nebulium

Les bonnes résolutions de Will : n°2, Purbach

Messages recommandés

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).]

Partager ce message


Lien à poster
Partager sur d’autres sites
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).]

Partager ce message


Lien à poster
Partager sur d’autres sites

bonjour à tous !
voici lena3 ,ça commence à être difficile!

as2 30% des images retenues +reg:

polo

Partager ce message


Lien à poster
Partager sur d’autres sites
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).

Partager ce message


Lien à poster
Partager sur d’autres sites
Question idiote, avec quoi vous transformez les images PNG en AVI?

Avec PIPP ça marche pô!

Partager ce message


Lien à poster
Partager sur d’autres sites
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être

Sinon, AS!2 accepte (en principe) le dépôt de la séquence PNG sélectionnée en bloc dans sa fenêtre

Partager ce message


Lien à poster
Partager sur d’autres sites
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) / 3
315.99088202582465

julia> PSNR = 10 * log10( 255^2 / MSE)
23.134058097147015

ATTENTION :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 image
imgf = 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 files
using Images

# For viewing .tif files
using ImageView

# Images's path
cd("D:/Progs_/juno/resources/app/julia/Images")

# Read and view test image
img = imread("lena_color_512.tif")
view(img)

# Read and view measured image
imgf = imread("L3polo30R_763643lena3g3ap175.tif")
view(imgf)

# Compute PSNR
img=255*separate(img)
imgf=255*separate(imgf)
mse_R = (img[:,:,1]-imgf[:,:,1]).^2
mse_G = (img[:,:,2]-imgf[:,:,2]).^2
mse_B = (img[:,:,3]-imgf[:,:,3]).^2

MSE_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) / 3

PSNR = 10 * log10( 255^2 / MSE)


[Ce message a été modifié par Nebulium (Édité le 05-03-2015).]

Partager ce message


Lien à poster
Partager sur d’autres sites
pour info, je m’aperç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!

Partager ce message


Lien à poster
Partager sur d’autres sites
EDIT]
=> Michel

Woawwwwwww !
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

=> ms
Cette 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 bords

Voici 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.6318234468139

julia> MSE_G = sum(sum(mse_G)) / prod(size(img))
352.33011659481934

julia> MSE_B = sum(sum(mse_B)) / prod(size(img))
178.64733891720894

julia> MSE = (MSE_R + MSE_G + MSE_B) / 3
268.536426319614

julia> PSNR = 10 * log10( 255^2 / MSE)
23.840771558356863


et par Juno, je verrai plus tard...

[Ce message a été modifié par Nebulium (Édité le 05-03-2015).]

Partager ce message


Lien à poster
Partager sur d’autres sites
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.

Partager ce message


Lien à poster
Partager sur d’autres sites
Nebulium, ne te méprends pas, mon image est faite avec ta première série
d'images.

J'habite un bled perdu avec un débit internet moyenâgeux, ça m'a déjà pris
un sacré bout de temps pour charger 182 Mo, alors 340 j'ai le temps de voir
pousser les arbres!

Je vais essayer quand même, mais mon image ce sera pas pour tout de suite!

Partager ce message


Lien à poster
Partager sur d’autres sites
Bon, je viens de charger les images Lena3.

Traitement fait à l'arrache.

Pas mieux que les copains!

Partager ce message


Lien à poster
Partager sur d’autres sites
=> 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).]

Partager ce message


Lien à poster
Partager sur d’autres sites
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).

Partager ce message


Lien à poster
Partager sur d’autres sites
"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.

Partager ce message


Lien à poster
Partager sur d’autres sites
=> Michel
C'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).]

Partager ce message


Lien à poster
Partager sur d’autres sites
Si si Jean, je suis là, je suis le post régulièrement mais c'est pointu comme sujet !

Partager ce message


Lien à poster
Partager sur d’autres sites
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).]

Partager ce message


Lien à poster
Partager sur d’autres sites
Nebulium,

=> Michel
C'est donc une nouvelle Lena2.
Merci pour les infos

Non, c'est toujours l'ancienne, je n'ai pas affiché la nouvelle.

Partager ce message


Lien à poster
Partager sur d’autres sites
"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 = 25dB

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 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

Partager ce message


Lien à poster
Partager sur d’autres sites
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 parcours

C'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 fantasque

Julia 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).]

Partager ce message


Lien à poster
Partager sur d’autres sites
"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 ?)

Partager ce message


Lien à poster
Partager sur d’autres sites
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.

Partager ce message


Lien à poster
Partager sur d’autres sites
Gloups !

[Ce message a été modifié par Nebulium (Édité le 06-03-2015).]

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