ms

Membre
  • Compteur de contenus

    7 451
  • Inscription

  • Dernière visite

  • Pays

    France

Réputation sur la communauté

286 Très bonne réputation

2 abonnés

  1. Je n'utilise pas Anaconda et conda parce que ce sont des usines à gaz mais simplement les commandes pip pour python et pip3 pour python3 : $ pip install tensorflow-gpu ou $ pip install tensorflow-gpu Le "Deep Image Prior" remplit des zones endommagées en utilisant les textures de proximité (donc pas d'apprentissage nécessaire). Il offre par exemple la possibilité de reconstruire une image de Jupiter ou de Saturne à partir des zones de meilleure qualité formant l'image initiale. Je pense que le "Deep Image Prior" s'applique sur une image obtenue à partir de milliers d'images brutes, une image dans laquelle ne figurent que les meilleurs patchs. C'est ce que je suis en train d'essayer de faire avec "sat_polo_3.png" qui est fabriquée à partir des meilleurs patchs extraits de 21.000 images brutes. C'est "sat_polo_4.png" une des itérations, à suivre ... Je viens de tomber sur ce lien : https://github.com/NREL/deep-image-prior-cfd
  2. J'apporte encore quelques modifs au programme python et je la poste après.
  3. Je fais un petit essai en un peu plus rugueux (dé-floutage) et en ne conservant que la couche rouge :
  4. Non, "sat_polo_3.png" c'est fait à partir de 14x1500=21000 images et non de 16 comme ci-dessus. En fait, je voudrais faire 30x1500=45000 images quand Saturne se présentera.
  5. 16 images tif + correction des distorsions par centroïde + estimation & correction du bruit + correction du résidu de chromatisme + balance des blancs. Avec seulement 16 images brutes on ne peut pas demander la lune sauf si une de ces images est prise effectivement depuis la lune.
  6. C'est normal vu le nombre d'itérations mais cela n'enlève rien à cette approche qui permet de dé-flouter et de dé-bruiter. Ce que je retiens de ce post ouvert par Neb, c'est qu'il est tout à fait possible d'obtenir une image correcte de Saturne à partir de 16 images brutes de bonne qualité. Bien sûr il faut utiliser les algorithmes adaptées à la situation pour éviter de se retrouver avec une division de Cassini tordue comme dans les images postées par ValereL. J'ai repris mon image du 11/02 à 12h42 obtenue à partir des 16 fichiers tif de Neb et je lui ai ôtée un résidu de chromatisme. Je ne pense pas qu'elle soit sur-traitée et en plus sa division de Cassini me semble correcte :
  7. J'ai mis l'image 896x896 (SR x2) à la même échelle que la tienne et avec le même nombre d'itérations :
  8. la lune le 11/02/2019 (58792)

    Belle couleur.
  9. Bien Neb et tu peux encore améliorer ton image (voir extrait du code suivant ) en 448x448 ou même 896x896 : import tensorflow as tf import numpy as np import scipy.stats as st # Name of image to upscale. Must be a dimxdim PNG. image_name = "sat_polo_3.png" dim = 448 def load_image(filename, dim): with open(image_name, 'rb') as f: raw_image = tf.image.decode_png(f.read()) converted = tf.image.convert_image_dtype( raw_image, tf.float32, saturate=True ) resized = tf.image.resize_images( images = converted, size = [dim, dim] ) resized.set_shape((dim,dim,3)) #blur = gblur(tf.expand_dims(resized, 0)) blur = tf.expand_dims(resized, 0) return blur ... Tu n'a pas à flouter l'image puisque celle que tu veux améliorer est déjà floutée (le fichier corrupt.png doit être l'image que tu veux améliorer). Si tu veux faire de la super résolution X2 il faut doubler la variable dim (dim = 448*2). Comme je l'avais indiqué précédemment, l'utilisation de "tensorflow-gpu" facilite pas mal la tâche. D'autre part seuls numpy, scipy.stats et tensorflow sont nécessaires avec python (2 ou 3) bien sûr. J'ai fait un test sur "sat_polo_3.png" en x1 et x2, le résultat est bluffant (image beaucoup plus fine). Avec les mêmes outils, tu peux aussi gérer le dé-bruitage, le dé-floutage, l'inpainting, ... il suffit de se plonger dans la doc de Tensorflow. Enfin pour ceux qui n'ont pas de carte graphique, il existe le dispositif Intel® Movidius™ Myriad™ 2 qui se branche sur un port USB3, il supporte TensorFlow et Caffe : C'est cool de faire tourner une application sous Ubuntu sur un RPi3 (ou similaire UDOO X86 ou mieux UDOO Bolt) avec un dispositif coûtant moins de 100 euros.
  10. Celle du milieu avec un filtre un peu mieux éduqué pourrait être sympat. Dans ce post, on voit déjà ce qu'il est possible d'obtenir avec 16 bonnes images brutes. Je te posterai une version "Deep Image Prior" réalisée avec tensorflow-gpu à partir de tes 16 images brutes sélectionnées. Cette approche sans apprentissage apporte plus de finesse et une correction correcte du bruit. Je suis parti du modèle suivant pour la super résolution : https://github.com/beala/deep-image-prior-tensorflow
  11. C'est bien ce que je pensais : Celle du haut c'est en sortie du centroïde et celle du bas c'est après dé-bruitage. Pour la balance des blancs, tu utilises quoi ? C'est cool cette technique avec 16 trames, tu utilises le centroïde pour redresser les images puis tu empiles tes 16 images puis tu utilises un algorithme de dé-bruitage et dé-floutage à l'aveugle. Sous CUDA cela prend moins de 1s pour obtenir l'image finale. Avec le centroïde pas besoin de recentrer les 16 meilleures images brutes puisqu'il utilise le flot optique pour le faire : Tiens, j'ai testé la qualité des images alignées avec mon algo de sélection (inférieur à 0,012) :