Nebulium 1 436 Posté(e) 7 février 2018 Il y a 2 heures, polo0258 a dit : voici trois saturnes Merci Polo Je suis en train de récupérer tes 3 images et WP 267 portable pour faire une tentative "Ours3" avant d'aller voir le site "Adler" que vient de m'indiquer"ms" 1956x1464, Drizzle. C'est AS3 qui t'introduit le "drizzle" ? Et de ton expérience, c'est mieux d'utiliser le "drizzle" plutôt que le format "natif" ? Ça empile plus finement ? Pour mes manips, j'aimerais un minimum de traitement depuis les pixels CCD Partager ce message Lien à poster Partager sur d’autres sites
polo0258 38 536 Posté(e) 7 février 2018 c'est un essai que j"ai fait en drizzle 1.5 sur les trois derniers films de 20000 images ! polo Partager ce message Lien à poster Partager sur d’autres sites
Nebulium 1 436 Posté(e) 7 février 2018 (modifié) L' exécution de l'ours3 sous Windows/ Python 2 réclame Tenserflow : mais : Pip installation on Windows TensorFlow supports only 64-bit Python 3.5 on Windows Je laisse donc tomber cette piste tant que ces Chinois-là n'auront pas actualisé leur soft ! Après Adler, j'irai faire un tour chez les autres. y compris les vidéastes dont un autre montreur d'ours comme cestui-là Je viens de trouver un frère au DCSCN, le DRCN. Il est récursif, beaucoup plus long à entraîner. Il faudrait que j'arrive à cranter TenserFlow sur ma CUDA. Un rapide essai en utilisant le modèle standard : python test.py --file yann_mars_256.png 1 2 3 4 5 1 = original 2 = DRCN avec modèle standard 3 = 2 boosté vigoureusement en FFT 4 = DCSCN avec modèle personnalisé planètes 5 = DCSCN avec modèle standard Je pencherais pour le DRCN ... Modifié 7 février 2018 par Nebulium Partager ce message Lien à poster Partager sur d’autres sites
-ms- 2 Posté(e) 8 février 2018 Sur une image c'est difficile de faire quelque chose : Partager ce message Lien à poster Partager sur d’autres sites
Nebulium 1 436 Posté(e) 8 février 2018 (modifié) Il y a 5 heures, ms a dit : Sur une image c'est difficile de faire quelque chose Oui, je vais m'attaquer aux sites video en SR. Un dernier essai sur la Saturne empilée depuis le film de 3000 images prétraité au WebDav, DRCN, modèle généraliste recalculé (basé par défaut sur "set5" dont on pourrait remplacer le contenu par celui de "mydataset") # training with simple model (will be good without GPU) python main.py —-end_lr 1e-4 —-feature_num 32 -—inference_depth 5 # puis : python test.py —-feature_num 32 -—inference_depth 5 --file saturne_polo_filmWebDav.png 1 2 3 Comme pour Mars plus haut. Il me semble qu'avec ces diverses méthodes aux résultats très proches on est à l'état de l'art pour la SR à partir d'une image unique.. Donc maintenant il faut passer aux bidouilles vidéo. Auparavant, je vais essayer de coupler le "Tenserflow-GPU" avec ma "CUDA", j'ai installé finalement : - cuda_8.0.61_win10.exe - cudnn-8.0-windows10-x64-v6.0.zip, (DLL "cudnn64_5.dll" ) Modifié 8 février 2018 par Nebulium Partager ce message Lien à poster Partager sur d’autres sites
-ms- 2 Posté(e) 9 février 2018 (modifié) Hors réseaux de neurones (TensorFlow et similaire), il faut pouvoir traiter par les algorithmes traditionnels : - le bruit, - le flou, - le vignetage, - la super-résolution. Il me manquait le dé-vignetage dans ma panoplie hors c'est fait depuis peu. L'autre point important c'est la vitesse, en optimisant les algorithmes, il devient possible de gagner un facteur 2 c'est à dire la différence de puissance existant entre une carte graphique GTX 1050 Ti (9694) et une carte graphique GT 1030 (4754), du coup la consommation est divisée par 2. J'attends maintenant avec impatience le processeur AMD Ryzen 5 2400G (5042) pour tester un boîtier de moins de 2 litres capable d'embarquer EVA pour l'espace. A moins de 170€ le processeur Ryzen 5 2400G qui incorpore le processeur graphique RX Vega 11 cela permet d'envisager un calculateur sous Linux à moins de 500€. Enfin, on peut aussi se poser la question de savoir si dans un patch de 8x8 pixels, on peut détecter à la fois le bruit et le flou, ce qui permettrait de réduire encore les temps de calcul. Modifié 9 février 2018 par ms Partager ce message Lien à poster Partager sur d’autres sites
FiatLux 300 Posté(e) 9 février 2018 (modifié) Hello MS, après un tour rapide sur ton site je ne trouve pas de réponse à ma question. Est-ce que EVA aura une fonction "stacking" en temps réel pour le CP (comme l'eVscope) ou se contentera-t-il de corriger la turbu (ce que ne fait pas l'eVscope, enfin à ma connaissance)? Merci, Amaury Modifié 9 février 2018 par FiatLux Partager ce message Lien à poster Partager sur d’autres sites
Nebulium 1 436 Posté(e) 9 février 2018 Il y a 2 heures, ms a dit : EVA pour l'espace Ce serait du gaspillage, il n' y a pas de turbu là-bas ! Partager ce message Lien à poster Partager sur d’autres sites
-ms- 2 Posté(e) 9 février 2018 (modifié) Citation Est-ce que EVA aura une fonction "stacking" en temps réel pour le CP (comme l'eVscope) ou se contentera-t-il de corriger la turbu (ce que ne fait pas l'eVscope, enfin à ma connaissance)? Pour le ciel profond, il manquait la détection et le traitement du vignetage (devignetting) c'est maintenant chose faite. Le ciel profond utilise un recalage non-rigide des patchs, la correction du bruit hybride, la fusion de zones et éventuellement la correction du vignetage. Ce que je n'ai pas vu avec l'eVscope c'est la capacité de fusionner les zones comme le fait par exemple notre cerveau en observation visuelle (le cœur des galaxies ou des nébuleuses ne doit pas être cramé). Compte tenu des nouveaux processeurs (Ryzen 5 2400G en particulier) le coût du calculateur va nettement chuter, le volume et la consommation vont aussi se réduire de moitié. Il devient alors possible de construire pour le coût d'un eVscope (ou similaire) une configuration automatisée bien plus puissante et évolutive. J'aime bien cet exemple qui résume à la fois le planétaire (la planète) et le ciel profond (les 3 satellites en arrière plan) : la fusion de zones permet d'obtenir des objets qui ne sont pas au même niveau de luminosité et de contraste à partir de rafales d'images brutes (ici au bout de 3s). Citation Ce serait du gaspillage, il n' y a pas de turbu là-bas ! Oui mais EVA a bien le droit de s'envoyer en l'air, non ? Modifié 9 février 2018 par ms 1 Partager ce message Lien à poster Partager sur d’autres sites
Nebulium 1 436 Posté(e) 9 février 2018 (modifié) Le 09/02/2018 à 14:28, ms a dit : le droit de s'envoyer en l'air, non ? Oh oui , bien sûr, j'en suis, je vais illico allumer mes boosters ! C'est laquelle ? Pour en revenir à nos affaires, voici les trois empilées (en drizzle 1.5x) de Polo : L'objectif : N'en tirer qu'une image, avec la meilleure résolution possible ! Sûr que Saturne n'est pas la référence pour travailler les détails, mais on fait avec ce que l'on a pour l'instant. Mais les bons films sur la Jupiter nouvelle ne sauraient tarder. Merci d'avance à ceux qui voudraient coopérer Modifié 14 février 2018 par Nebulium Partager ce message Lien à poster Partager sur d’autres sites
Nebulium 1 436 Posté(e) 14 février 2018 (modifié) Hello L'obstination et la patience ont fini par payer : J'arrive enfin à faire tourner sur mon portable de milieu de gamme WinPython3 et TensorFlow sous Win 10 avec la GPU de la carte graphique Nvidia GeForce 940MX. Certes, il n'a pas la puissance de calcul de la config EVA indiquée par "ms'" mais je ne vise pas le temps réel ! Cela n'a pas été sans mal à cause des incompatibilités entre les multiples versions plus ou moins matures de tous les logiciels concernés, plus quelques (rares) erreurs dans les fichiers PY proposés. Je reprends donc des essais plus méthodiques d'abord pour le traitement d'une image unique avec les pistes suivantes : 1. DCSCN (Fast and Accurate Image Super Resolution by Deep CNN with Skip Connection and Network in Network). Résumé. 2. DRCN (Deeply-Recursive Convolutional Network for Image Super-Resolution). Résumé. 3. DCGAN (Deep Convolutional Generative Adversarial Networks). 4. Éventuellement (car la doc en est légère) LPDR (Learned Primal-Dual Reconstruction). Résumé. Autres propositions ? et ensuite avec les techniques adaptées à la vidéo à partir de plusieurs images, pour l'instant, je ne tiens qu'une seule piste, écrite en Python2, il me faudra donc auparavant mettre au point l'utilisation de "2to3" : SPMC-VSR (detail-revealing Deep Video Super-resolution). Résumé. Autres propositions ? En ce moment, ma bécane mouline des modèles DCSCN basés sur les images HST, et c'est moi l'apprenti ! Voici un tout premier résultat en taille d'acquisition obtenu en empilant avec AS3 (que je maîtrise très peu, faute de pratique) les 3 images de Saturne par Polo traitées en DCSCN (avec le dataset HST_L) puis FFT : et avec une réduction d'une HST : après une trop rapide (ce n'est pas l'objet ici) révision en balance de couleurs et gamma, que je reprendrai plus tard. Voici d'ailleurs deux variantes HST, en réduction : ----------------------------------------------------------------------------------------------------------------------------------------------------------------- Je termine cette phase de premiers balbutiements en m'adressant à ceux qui voudraient jouer aussi : On peut utiliser Python (comme d'ailleurs Julia, la copine à "ms" ) pour les applications ci-dessus sans aucune connaissance en programmation. Le cas échéant,, je proposerai un petit tuto pour que chacun puisse jouer avec ses propres images. PS à l'attention de "ms", s'il (re)passe par ici : Ce graphe est le résultat de la construction d'un 1er modèle utilisant les versions "large" du HST Comment l’interpréter ? Je pense que la courbe bleue concerne l'application du modèle à chaque itération (il y en a eu 55) aux images HST (mydataset_L) et la rouge au dataset "set5" de 5 images classiques fournie dans la distribution. Il semble qu'une dizaine d'itérations suffirait. Modifié 15 février 2018 par Nebulium Partager ce message Lien à poster Partager sur d’autres sites
-ms- 2 Posté(e) 15 février 2018 (modifié) Je dirais plutôt une vingtaine. Pas facile de monter en décibels uniquement par une approche IA comme dans la vidéo ci-dessous faite avec SPMC-VSR : C'est pas mal, surtout en partant de là : Mais avec EVA je traite le débruitage, le défloutage et le defogging avant de faire la super résolution ce qui permet d'avoir une image beaucoup plus nette. Modifié 15 février 2018 par ms Partager ce message Lien à poster Partager sur d’autres sites
Nebulium 1 436 Posté(e) 15 février 2018 (modifié) Il y a 4 heures, ms a dit : avec EVA Woaaaawwwv! je traite EVA , l' Arlésienne ? Hello ms Trêve de plaisanterie (méchante ! ), voici une autre façon de voir ton exemple de SPMC-VSR : Copie d'écran des GIF, il faut oser ! Image de gauche en 150%, de droite en 38.5% en réglage d'affichage IView. Certes, on court après les micropouièmes, ça vaut la descente vers le zéro absolu Quand j'aurai (provisoirement) conclu en DCSCN avec les 3 Saturne de Polo (j'ai trouvé une autre HST pour le dataset, les mauvaises langues vont dire que je l'ai clonée dans les Polo's ), je tenterai le SPCM-VSR. Pour me faire gagner du temps, est-ce qu'avec ton Linux tu pourrais me traduire les .py de la distri de 2 en 3 ? Et au juste, les fichiers .pb, c'est quoi ? Merci PS : les vidéos de démo de ce site sont plutôt crades ! Il me semble que tu en connais un meilleur ? Modifié 15 février 2018 par Nebulium Partager ce message Lien à poster Partager sur d’autres sites
-ms- 2 Posté(e) 15 février 2018 Pour passer de Python 2 à Python 3 : a) remplacer tous les "print" par des "print(...)" les parenthèses b) remplacer tous les "xrange" par des "range" Il y a aussi l'utilitaire "2to3" qui permet de faire la conversion. Pour la vidéo ci-dessus, je ne l'ai pas encore traitée avec EVA parce que le defoggin est en cours mais si tu veux voir ce que donne EVA pour le traitement d'autres problèmes inverses (vignetage, flou de mouvement, flou astro, ...), il y a ce lien (voir les PSNR dingues) : Partager ce message Lien à poster Partager sur d’autres sites
Nebulium 1 436 Posté(e) 15 février 2018 (modifié) Il y a 6 heures, ms a dit : Pour la vidéo ci-dessus Où l'as-tu récupérée ? La route est encore longue ! Pas sûr que le modèle planétaire personnalisé soit plus performant que le généraliste proposé sur le site ! Modifié 15 février 2018 par Nebulium Partager ce message Lien à poster Partager sur d’autres sites
-ms- 2 Posté(e) 16 février 2018 Citation Pour me faire gagner du temps, est-ce qu'avec ton Linux tu pourrais me traduire les .py de la distri de 2 en 3 ? Tu vas dans le répertoire où les .py sont installés puis tu tapes : $ 2to3 -w . et tous les fichiers .py sont convertis (même dans les sous-répertoire). Le hic c'est qu'il y a un bug dans son code que je corrigerai plus tard. Partager ce message Lien à poster Partager sur d’autres sites
Nebulium 1 436 Posté(e) 16 février 2018 Pour l'instant, je suis assez déçu des résultats sur une seule image DCSCN, je suis donc passé sur le SPCM-VSR. Il y a 6 heures, ms a dit : tous les fichiers .py sont convertis (même dans les sous-répertoire). Merci, la manip est super , mais sous Windows, j'ai dû adapter ainsi : Créer un fichier "2to3.bat" contenant (à adapter selon le chemin d'installation personnel) : python "C:\DeepLearning\WinPython-64bit-3.6.3.0Qt5\python-3.6.3.amd64\Tools\scripts\2to3.py" %* le mettre dans : C:\DeepLearning\WinPython-64bit-3.6.3.0Qt5\scripts\ Ensuite, si le dossier dézippé "SPMC_VideoSR-master" est installé ainsi : C:\DeepLearning\SPMC\SPMC_VideoSR-master dans la fenêtre de commande de travail habituelle ouverte par "WinPython Command Prompt.exe", coller : cd C:\DeepLearning\SPMC 2to3 -w SPMC_VideoSR-master Les trois fichiers .py sont bien traduits (avec sauvegarde) Mais ensuite ça se gâte et là je suis paumé (bug ?) cd C:\DeepLearning\SPMC\SPMC_VideoSR-master python main_videosr_deploy_2x3f.py C:\DeepLearning\WinPython-64bit-3.6.3.0Qt5\python-3.6.3.amd64\lib\site-packages\h5py\__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`. from ._conv import register_converters as _register_converters 'nvidia-smi' n’est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes. Traceback (most recent call last): File "C:\DeepLearning\WinPython-64bit-3.6.3.0Qt5\python-3.6.3.amd64\lib\site-packages\numpy\core\fromnumeric.py", line 52, in _wrapfunc return getattr(obj, method)(*args, **kwds) AttributeError: 'list' object has no attribute 'argmax' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "main_videosr_deploy_2x3f.py", line 18, in <module> os.environ["CUDA_VISIBLE_DEVICES"]=str(np.argmax( [int(x.split()[2]) for x in subprocess.Popen("nvidia-smi -q -d Memory | grep -A4 GPU | grep Free", shell=True, stdout=subprocess.PIPE).stdout.readlines()])) File "C:\DeepLearning\WinPython-64bit-3.6.3.0Qt5\python-3.6.3.amd64\lib\site-packages\numpy\core\fromnumeric.py", line 1004, in argmax return _wrapfunc(a, 'argmax', axis=axis, out=out) File "C:\DeepLearning\WinPython-64bit-3.6.3.0Qt5\python-3.6.3.amd64\lib\site-packages\numpy\core\fromnumeric.py", line 62, in _wrapfunc return _wrapit(obj, method, *args, **kwds) File "C:\DeepLearning\WinPython-64bit-3.6.3.0Qt5\python-3.6.3.amd64\lib\site-packages\numpy\core\fromnumeric.py", line 42, in _wrapit result = getattr(asarray(obj), method)(*args, **kwds) ValueError: attempt to get argmax of an empty sequence C:\DeepLearning\SPMC\SPMC_VideoSR-master> Pourtant, TensorFlow et ma Nvidia fonctionnent bien en GPU dans le DCSCN , après avoir installé le "numpy+mkl" plutôt que le "numpy " seul (à cause d'une histoire de "blas"...) pip install numpy-1.14.0+mkl-cp36-cp36m-win_amd64.whl Aurais-tu une suggestion ? Merci PS : J'ai bien trouvé sur ce site les images de la vidéo en séquence PNG pour la source et vidéo MP4 pour le résultat. Reste à faire tourner ce bazar avec nos images astro. Partager ce message Lien à poster Partager sur d’autres sites
-ms- 2 Posté(e) 17 février 2018 (modifié) Faire de la super résolution x4 en vidéo sur la base de 3 images flous pour 1 image nette. Modifié 18 février 2018 par ms Partager ce message Lien à poster Partager sur d’autres sites
Nebulium 1 436 Posté(e) 17 février 2018 Ce Monsieur Xin-Tao est un pince sans-rire : ### Testing It would be very easy to understand the `test()` function and test on your own data. Il écrit ses *.py en Python 2. En ligne 5 de "main_videosr_deploy_4x3f.py" on trouve "import tensorflow as tf" Or le site TensorFlow dit : "TensorFlow supports Python 3.5.x and 3.6.x on Windows" Par conséquent, iInutile de croire que son truc va marcher avec Python 2.x, j'ai quand même essayé : C:\DeepLearning\SPMC2>pip install tensorflow Downloading/unpacking tensorflow Could not find any downloads that satisfy the requirement tensorflow Cleaning up... No distributions at all found for tensorflow Storing debug log for failure in C:\DeepLearning\WinPython-64bit-2.7.6.4\settings\pip\pip.log Le "pip.log" est éloquent ! Et je n'ai pas envie de casser mon TensotFlow-GPU laborieusement installé avec WP 3.6 et ma Nvidia ! Donc c'est râpé pour les essais astro, sauf à dégripper le plantage cité dans mon message précédent. Je vais essayer de trouver un site VSR plus coopératif, et en attendant, je vais un peu jouer avec les images test de "City" en faisant quelques mesures. Partager ce message Lien à poster Partager sur d’autres sites
Nebulium 1 436 Posté(e) 19 février 2018 Hello Voici un comparatif plus soigné : De g. à d. 1 2 3 4 1 L'original. 2. Agrandissement 4x en SPMC-VCR, avec 5 images. Extraction de la vidéo MP4, le médiainfo affiche un débit serré mais décent. 3. Réduction en 50% en "Bicubic" de (2). 4. Agrandissement en 2x "Bicubic" de (1). La différence entre "Bicubic" et "Lanczos 3" est imperceptible. Je tiens à disposition d'éventuels intéressés des jeux de courbes FFT. Pour moi, l'affaire est sans équivoque et j'attends impatiemment l'Arlésienne de "ms" Partager ce message Lien à poster Partager sur d’autres sites
-ms- 2 Posté(e) 19 février 2018 (modifié) En partant de la vidéo de 31 images 177x144 : La première image x2 : Modifié 19 février 2018 par ms Partager ce message Lien à poster Partager sur d’autres sites
Nebulium 1 436 Posté(e) 19 février 2018 (modifié) Bonjour ms Ouais, pas très claire, ton affaire, sur la forme : Tout d'abord, avec le fofo qui autorise le redimensionnement des images par le navigateur en géométrie variable selon les tailles de l'image et de sa fenêtre (et heureusement encore que j'aie pu trouver l'astuce de paramétrage de Chrome pour conserver les couleurs exactes), il faut absolument télécharger les images pour travailler dessus. Finies les copies d'écran de l'ancien fofo ! Je me suis assuré que les publications de mes copies d''écran des fenêtres FitsWork une fois téléchargés sont en tous points conformes. Ensuite, tes légendes sont plutôt du genre monacales, il faut se creuser un peu le ciboulot pour essayer de comprendre. Alors voici ce que j'ai compris, ci -dessous tes deux dernières images haute et basse après téléchargements sont en 1 et 2 respectivement et en 3 j'ai remis ma réduction par 2 de l'Ours 4x (image 20 du MP4, en 704x576, 24 de l'input en 177x144) : Pour la 1 je ne sais pas (original x 2 bicubique ou similaire ?) mais je suppose que la 2 est ton résultat EVA. Il y a déjà visiblement un problème d'échelle exacte pour la 2 J'ai quand même tiré le portrait des FFT de la 2 en blanc et de la 3 en jaune. Yorépafoto si les échelles étaient identiques ! Alors, si tu veux bien revoir ta copie (pas celle d'écran !) avec la règle à pixels ... PS et légender : Modifié 19 février 2018 par Nebulium Partager ce message Lien à poster Partager sur d’autres sites
-ms- 2 Posté(e) 19 février 2018 L'image du bas c'est le résultat obtenu avec une rafale de 31 images dont l'image du haut est la première. L'appareil photo est tenu à la main et il balaye légèrement le champ, pendant ce temps EVA recale les 30 images sur la première (flot optique avec déplacement important). C'est comme si tu veux faire une photo avec un dobson sans entraînement, il suffit de maintenir plus ou moins l'image au centre et de travailler entre 1/100s et 10s suivant l'objet. Partager ce message Lien à poster Partager sur d’autres sites
Nebulium 1 436 Posté(e) 19 février 2018 (modifié) OK, je comprend que dans ces conditions l'image finale soit en partie recadrée, mais pourquoi avoir modifié son échelle en x 2 +qque chose ? Modifié 19 février 2018 par Nebulium Partager ce message Lien à poster Partager sur d’autres sites
-ms- 2 Posté(e) 19 février 2018 (modifié) Parce que l'algorithme de flot optique parcourt les déplacements de l'image. Modifié 19 février 2018 par ms Partager ce message Lien à poster Partager sur d’autres sites