Forum général.cherche-logiciel Améliorer la définition d'une photographie.

Posté par  . Licence CC By‑SA.
Étiquettes :
3
4
mai
2019

Bonjour,

J'ai utilisé, pour essayer, le site "Let's Enhance" et ça fonctionne pas mal, mais je ne suis pas fan de plusieurs choses : ça ne me semble pas libre, je ne sais pas ce qu'ils font des photographies et, dernier point, quand j'ai eu quelques erreurs (l'image qui charge indéfiniment mais qui me coûte un crédit, des résultats ratés qui me coûtent un crédit…), j'ai trouvé ça très gênant.

https://letsenhance.io/

Je recherche donc un équivalent libre si possible, même si la méthode est plus complexe et longue à utiliser ! Merci ! :)

  • # Entropie

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

    Le second principe de la thermodynamique implique qu'on ne peut pas améliorer le degré d'information d'une photographie. On peut jouer sur des paramètres mais globalement, on ne peut pas «améliorer» sa définition avec un simple automate.

    • [^] # Re: Entropie

      Posté par  . Évalué à 2.

      Ça fonctionne plutôt pas mal sur Let's Enhance, très franchement. J'ai pu doubler la définition de photographies sans trop de pertes visibles : au contraire, le confort de visionnage valait bien les quelques problèmes possibles (dont la plupart me sont restés invisibles).

      • [^] # Re: Entropie

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

        Je ne dis pas que des algorithmes ne marchent pas pour donner l'impression d'une amélioration de la définition mais il n'y a pas d'amélioration intrinsèque. L'algorithme peut toujours être rejouer de A vers B mais on ne peut pas retourner de B vers A sans perdre des informations (si le format est par exemple le jpg).

        • [^] # Re: Entropie

          Posté par  . Évalué à 4.

          Pour avoir colorisé des photographies anciennes, je peux t'assurer que l'amélioration était notable. Je grossis le trait, mais à la place d'avoir 12 pixels qui regroupent l'œil et le sourcil, il y en avait 96, et c'était bien plus lisible, certaines expressions ressortaient mieux, le travail était plus simple aussi. Pour la végétation, c'était aussi très utile.

          • [^] # Re: Entropie

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

            Si tu fais un travail manuel, tu peux ajouter de l'information à la photographie par cet apport externe et donc améliorer l'entropie du système (sinon pas de tableau, d'artiste…). Mais si c'est un algorithme automatique, ce n'est pas possible.

            Cela dit, ce n'est pas pour cela qu'il n'y a pas des algorithmes qui nous permettent d'avoir l'impression que c'est mieux. Le résultat final peut nous sembler mieux car notre vision n'est pas complète, nous n'avons qu'une vue partielle des données dans une image. Je dis juste qu'intrinsèquement, on perds de l'information.

            Les deux ne sont donc pas incompatible : perte d'information mais meilleur résultat visuel.

            • [^] # Re: Entropie

              Posté par  . Évalué à 5. Dernière modification le 04/05/19 à 14:31.

              Es-tu bien certain que les lois de la thermodynamique s'appliquent à la restauration d'image ?

              Moi j'ai du mal à voir le rapport franchement. Oui je connais, l'eau tiède qui ne peut pluss être séparée en eau chaude d'un côté et eau froide de l'autre, toussa… Mais l'interpolation linéaire, la banque d'image de référence etc… une grande part d'une photo est prévisible, y compris par un algorithme.

              En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

              • [^] # Re: Entropie

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

                En fait, on ne peut pas extraire davantage d'informations de l'image qu'elle n'en contient elle-même.

                En revanche, rien n'empêche d'avoir des algorithmes (ou un bon dessinateur) qui va rajouter de l'information qui ne proviendra pas de l'image elle-même mais d'autres images semblables, ou de toute autre source de connaissance extérieure. On aura au final une image qui sera certainement proche de l'image d'origine.

                • [^] # Re: Entropie

                  Posté par  . Évalué à 3.

                  En fait, on ne peut pas extraire davantage d'informations de l'image qu'elle n'en contient elle-même.

                  Oui bien sûr mais attention au mot "information". Il y a d'autres informations dans une image que la simple couleur des pixels, par exemple par l'analyse de motifs répétitifs, ou d'analyse de contenu (un chien, une voiture…). Les algorithmes sont là pour extraire cette information pour ajouter des pixels.

                  Pour illustrer avec un exemple simpliste : si je te donne une photo N&B d'une voiture, tu ne peux pas savoir sa couleur bien évidemment… sauf si tu reconnais la voiture et que tu sais qu'elle n'a existé qu'en une seule couleur. L'information de couleur était sous une autre forme que les pixels, mais elle était bien contenue dans l'image.

                  En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

                  • [^] # Re: Entropie

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

                    C'est exactement ce que je dis : tu peux ajouter une source d'information extérieure (le fait que la voiture n'existe qu'en une seule couleur est extérieur).

            • [^] # Re: Entropie

              Posté par  (site Web personnel) . Évalué à 4.

              En quoi l'apport externe d'un humain est différent de l'apport externe d'un réseau neuronal ?
              Combler les trous à l'aide d'un algorithme, ça peut permettre d'obtenir plus d'information. Ou en tout cas plus d'information qui a une grande probabilité de correspondre au sujet initial. Le résultat final n'est pas une photo fidèle du sujet, c'est une représentation qui a une haute probabilité d'être identique au sujet. C'est la méthode qui a permis d'obtenir une photo d'un trou noir.

              Katie Bouman l'explique bien dans ses présentations.
              https://www.dailymotion.com/video/x75mys4

              • [^] # Re: Entropie

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

                En quoi l'apport externe d'un humain est différent de l'apport externe d'un réseau neuronal ?

                Je pensais à tous les traitements basés sur l'image elle même, certains très puissants qui sont basés sur des équations différentielles. Ces traitements améliorent le contraste ou la netteté mais pas la quantité d'information.

                Pour un réseau de neurone, je ne sais pas mais j'ai envie de dire contre le sens premier que cela ne change rien. L'image finale est certes plus belle mais elle n'a pas plus d'information. Cependant, le réseau de neurones stocke en partie les milliers (millions d'image) qu'on lui a fait mangé donc il est possible qu'il en injecte une partie dans l'image finale ? Dans ce cas là, l'image finale pourrait (conditionnel car j'ai quand même des doutes) avoir plus d'information globalement que l'image initiale mais pas plus d'information sur la « réalité » représentée par l'image initiale. Reprenons l'exemple de la voiture vendue en une seule couleur, par exemple rouge. Le logiciel va alors la mettre en rouge. En pratique, le propriétaire l'avait peut être repeinte en jaune. On n'en sais rien. Le réseau de neurone crée une fausse réalité, certes belle, mais n'ayant pas plus d'information sur la réalité initiale que la première image. Le traitement a crée une image composite. Ce serait intéressant d'avoir l'avis de David Tschumperlé car c'est lui le super spécialiste ici de ce genre de question ;-)

                Si tu combles un trou avec une copie d'une autre image, là tu as un apport d'information extérieure. Dans le cadre du trou noir, il me semble que ce sont des millions de données mixer qui ont donné l'image finale. Le cas me semble donc très éloigné du présent sujet. On récupère des gouttes d'information à droite et à gauche pour les assembler dans une seule et même vue 2D.

                • [^] # Re: Entropie

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

                  Cependant, le réseau de neurones stocke en partie les milliers (millions d'image) qu'on lui a fait mangé donc il est possible qu'il en injecte une partie dans l'image finale ? Dans ce cas là, l'image finale pourrait (conditionnel car j'ai quand même des doutes) avoir plus d'information globalement que l'image initiale mais pas plus d'information sur la « réalité » représentée par l'image initiale.

                  C'est tout l'intérêt des systèmes modernes d'apprentissages automatiques. On est d'accord. On a pas "la réalité", on a de l'information qui a une grande probabilité de correspondre à la réalité.

                  Le cas me semble donc très éloigné du présent sujet. On récupère des gouttes d'information à droite et à gauche pour les assembler dans une seule et même vue 2D.

                  Let’s Enhance uses cutting-edge Image Super Resolution technology based on Deep Convolutional Neural Networks. Before appearance of this technology it was impossible to dramatically increase photo or image size without losing quality. Your best option in Photoshop, called Bicubic Interpolation - made your image unsharp and blurry. Those of you on the math side of the things could argue – however you increase image resolution – there is no new information about the image - you just can’t add extra quality! This is not true in a case when Neural Network and AI is used. Our neural network is trained on a huge dataset of images, so it learns typical features of physical objects – bricks of walls, hair and skin. After the network recognises those features on the images uploaded and add extra details, based on its general knowledge the the world.

                  Si j'en crois leur description, c'est plus que des gouttes mais le principe n'est pas si éloigné. Dans le cadre du trou noir, pour obtenir une image de "la réalité", il aurait fallu transformer la Terre en boule à facette avec des millions de télescopes. On en a 8 et l’algorithme a permis de combler les trous et les manques.

                  C'est en comparant les résultats de différentes approches qu'ils se sont rendu compte qu'ils obtenaient à chaque fois le même résultat et donc que l'image finale avait une grande probabilité de correspondre à la réalité.

                • [^] # Re: Entropie

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

                  Dans ce cas là, l'image finale pourrait (conditionnel car j'ai quand même des doutes) avoir plus d'information globalement que l'image initiale mais pas plus d'information sur la « réalité » représentée par l'image initiale.

                  Je crois que vous vous prenez tous la tête. Bien sûr que ces réseaux de neurones n'ont pas plus d'informations sur la "réalité" de l'image. Mais c'est quoi la réalité? En photographie, ou en imagerie artistique de manière générale, le but est d'avoir une bonne image finale. Quand ce sont des images représentants la réalité, le terme employé généralement est "crédibilité". On veut surtout une belle image crédible, pas forcément réaliste.

                  Pour en revenir donc à la demande initiale, Stinouff vous dit qu'il a testé ce site et que ça lui a donné des bons résultats, et vous venez tous lui faire la leçon que c'est pas possible de créer des informations qui n'existent pas alors qu'il a eu des résultats probants, là en vrai devant ses yeux! Et oui, vous avez raison dans la théorie (on ne crée pas de l'information à partir de rien), mais dans la pratique, ces algorithmes basés sur des réseaux de neurone y arrivent bien. Certes ces données créées viennent de l'apprentissage avec d'autres images. Certes ce n'est donc "pas la réalité". Mais même l'image originelle est-elle la "réalité"? J'ai lu suffisamment d'articles de photographes ou vu de confs de photographes qui expliquent que la photographie n'est pas la réalité pour affirmer que "non", ce n'est pas la réalité (au point qu'il y a des articles Wikipedia sur le sujet!). La photographie n'est pas la réalité donc déjà à la base, vous basez votre argumentation sur quelque chose de fragile. :-D

                  Perso je n'ai pas testé ce site car je n'ai pas envie de faire un compte et d'y balancer plein de photos persos, mais je n'ai pas de doute que c'est possible d'agrandir en gardant un résultat crédible. Les algos dits de "Super Resolution" sont très à la mode depuis plusieurs années, y a pleins de papiers de recherche sur des solutions diverses et a priori l'usage de réseaux de neurones sont une des solutions communes. Vous pourrez voir plein d'exemples sur des centaines d'articles sur le web qui montrent des résultats parfois impressionnants. Ça peut donner des résultats crédibles dans certains cas, c'est un fait. Faites juste une recherche sur le sujet.

                  Bon et maintenant pour faire une réponse à Stinouff: malheureusement, je ne crois pas qu'il existe une solution libre simple à mettre en place à l'heure actuelle pour la super résolution. En tous cas, pas dont j'ai entendu parler. :-/

                  En fait de ce que j'en ai compris, ce qui marche le mieux pour l'instant, c'est les réseaux de neurones, avec beaucoup de couches. On en arrive à avoir un modèle qui fait plusieurs GB. Pour une application de bureau, plusieurs GB à garder en mémoire juste pour faire tourner son algorithme (plus l'OS, le programme, l'image d'entrée, de sortie, etc.), c'est assez contraignant. Sans compter l'espace disque. Imaginez si GIMP par exemple faisait 10GB à l'installation sur votre disque (et si on se mettait à avoir plusieurs filtres utilisant des réseaux de neurones, ça pourrait grimper vite). Ce serait un problème!
                  Voilà, donc de ce que je comprends, ce serait le principal problème à ces algorithmes de nos jours. Technologiquement ce n'est pas forcément très complexe, et les papiers de recherche sont en général publics, donc implémentables. En plus on a des logiciels libres pour entraîner des réseaux de neurones (on lit parfois sur le sujet sur linuxfr). Donc y a pas grand chose techniquement qui empêcherait d'avoir ça si ce n'est que ce n'est pas pratique à utiliser. Et ça explique pourquoi la plupart des implémentations de nos jours sont des gens qui font tourner leur réseau sur un serveur qui ne fait que traiter des images à travers ce modèle, avec un business model consistant à faire payer les gens pour y uploader leur photos et obtenir un résultat.

                  Film d'animation libre en CC by-sa/Art Libre, fait avec GIMP et autre logiciels libres: ZeMarmot [ http://film.zemarmot.net ]

                  • [^] # Re: Entropie

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

                    Je crois que vous vous prenez tous la tête.

                    Pas du tout. Depuis le début je dis que le résultat peut être visuellement des plus réussi et agréable à l’œil. Mais DLFP ne serait pas linuxfr si on ne pouvait pas profiter d'un post pour philosopher autour de celui-ci ;-)

                  • [^] # Re: Entropie

                    Posté par  . Évalué à 1.

                    Merci pour le partage de tes réflexions ! :)

    • [^] # Re: Entropie

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

      On est pas en physique, on est en perception (captation par l'œil et interprétation par le cerveau d'un être humain). Regarde du côté de la reconstruction d'image de G'MIC, ça "invente" ce qui est masqué d'une façon très réaliste.

      Autres news sur G'MIC.

      Et les logiciels de retouche photo savent utiliser des informations éventuellement présentes mais non perceptibles à la base.

      Python 3 - Apprendre à programmer dans l'écosystème Python → https://www.dunod.com/EAN/9782100809141

      • [^] # Re: Entropie

        Posté par  . Évalué à 1.

        Merci. :)

      • [^] # Re: Entropie

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

        Extrait de https://fr.m.wikipedia.org/wiki/R%C3%A9versibilit%C3%A9_thermodynamique

        "
        L'interprétation statistique de l'entropie et la théorie de l'information (avec notamment l'entropie de Shannon) fournissent également des interprétations à l'irréversibilité des transformations. Elle correspond :
        - à une évolution spontanée de tous les systèmes vers l'uniformité ; quand toutes les grandeurs intensives décrivant le système sont uniformes, le système ne peut plus évoluer spontanément.
        - à une perte d'information sur l'état du système ; toutes les évolutions s'arrêtent lorsque le désordre du système est le plus grand possible.
        "

        Encore une fois, il ne faut pas confondre information dans une image et effet visuel. Une image avec plus d'information peut être moins belle.

        Je reprends le concept. Ton image initiale A subit un traitement et donne une image B. Si le traitement est réversible, alors B contient autant d'information que A. Si le traitement n'est pas réversible, B contient moins d'information que A sur l'état initial, c'est à dire cette prise de photon à l'instant t d'un instant de l'espace temps. La plupart des traitements sont irréversibles.

        Conclusion : on sauve toujours les originaux qui ont intrinsèquement le plus d'information. On peut toujours refaire les traitements qui donnent de beaux effets visuels.

        Après on est humain donc on n'est pas là pour faire de la théorie de l'information sur toutes ses photos personnelles, donc ne garder que le résultat d'un traitement parce qu'il est plus joli visuellement est tout à fait compréhensif ;-)

        • [^] # Re: Entropie

          Posté par  . Évalué à 1.

          C'est effectivement bien plus joli et me permet de plus grandes impressions (ce qui fait plaisir à mon aïeule qui n'y voit plus très bien sur les petites photographies).
          Évidemment, les données initiales ont été prises et elles sont sur les photos. Le reste, ce n'est que de la reconstruction, de l'invention intelligente et le degré de véracité de l'information ne devient plus qu'une probabilité à laquelle on se raccroche…et cela est déjà pas mal du tout je trouve ! :p

    • [^] # Re: Entropie

      Posté par  . Évalué à 4.

      Le second principe de la thermodynamique implique qu'on ne peut pas améliorer le degré d'information d'une photographie. On peut jouer sur des paramètres mais globalement, on ne peut pas «améliorer» sa définition avec un simple automate.

      Non, le second principe dit qu’un système fermé ne peut voir son entropie qu’augmenter. En principe, tu peux apporter de l’information/négentropie de "l’extérieur" avec des "informatives priors" (désolé, je connais pas le terme en français). C’est d’ailleurs ce que font les outils genre letsenhance, même s’ils ne sont pas explicitement développés autour de la notion de distribution de probabilités.

      Pour creuser un peu: dans une série temporelle, si tu as un point f(0) = 5 et f(1) = 10 le second principe de la thermodynamique te dit "que tu ne peux pas améliorer la définition à l’aide d’un simple automate", c’est à dire que 7.5, -epi et gogolplex sont équiprobables pour f(0.5). Mais si tu sais que t=0 et t=1 sont suffisamment proches et que le processus sous-jacent est "suffisament continu", alors tu peux raisonnablement interpoler f(0.5) ~ 7.5 (interpolation que tu peux affiner si tu as f(-1) et f(2)). Tu as "créé de l’information à l’aide d’un automate" (tu as transformé la probabilité de distribution de P(f(0.5)) de la distrubtion uniforme vers un dirac). Si tu regardes ce que tu as fait par cette interpolation d’un point de vue théorique, ça ne viole pas le second principe de la thermodynamique parce que tu as apporté de l’information de "l’extérieur" (ie ce n’est plus un système fermé) de par tes présupposés "t=0 et t=1 sont suffisament proches et le processus sous-jacent est suffisament continu" (= informative priors : tes priors "crééent" de l’information).

      C’est exactement la même chose pour les systèmes type letsenchance. Ils ont le droit de créer de l’information, parce qu’ils partent du présupposé correct que la distribution de probabilités sur les photographies n’est pas la distribution uniforme sur l’ensemble des images possibles (qu’il est par exemple totalement déraisonnable d’interpoler un pixel jaune fluo entre deux pixels gris-sombres adjacents d’une photographie, et qu’éliminer la possibilité "jaune fluo" réduit l’entropie/apporte de l’information).

      • [^] # Re: Entropie

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

        Si tu lis tous mes posts, c'est globalement ce que je dis ;-)

        Cela étant dit, en science, s'il te manque un point et que tu l'interpoles pour le rajouter sur la courbe en disant que c'est une information sur la manip, on n'est pas loin de la supercherie…

  • # peut-être avec G'MIC

    Posté par  (site Web personnel) . Évalué à 4.

    https://gmic.eu/

    Outre la librairie, il est accessible sous la forme d'extension pour des logiciels de dessin ou de retouche d'image, et je viens de voir qu'il y a aussi un site pour tester en ligne https://gmicol.greyc.fr/

    Python 3 - Apprendre à programmer dans l'écosystème Python → https://www.dunod.com/EAN/9782100809141

  • # Ils sont pas mauvais chez "Let's Enhance"

    Posté par  . Évalué à 3.

    C'est vraiment marrant, j'ai testé "Let's Enhance" samedi et je me suis fait la même réflexion que j'aimerais trouver un équivalent libre (pour rester maitre des données).

    Force est de constater que le traitement est assez efficace, j'ai testé avec l'agrandissement de G'MIC (DCCI) et y'a pas photo ! ;-)

    Voici le résultat de mes tests en partant d'une photo de Brad Pitt, retrécie jusqu'à 128x128 et puis agrandie x4 avec GIMP (cubic), G'MIC (DCCI) et Let's Enhance (magic) : https://www.dropbox.com/sh/ts6zsrxw73jece9/AABkjElPM2dZKZAdixdjSG7Va?dl=0

    En prime, deux liens sur le sujet :
    https://discuss.pixls.us/t/new-gmic-filter-dcci-2x-resize-updated/484
    https://photographylife.com/how-to-increase-the-resolution-of-an-image (en anglais)

    • [^] # Re: Ils sont pas mauvais chez "Let's Enhance"

      Posté par  (site Web personnel) . Évalué à 4.

      Il est fort probable que le service en ligne fait un agrandissement puis applique d'autres traitements pour compenser les défauts créés. Il faudrait trouver la combinaison de filtres & paramètres correspondants dans GIMP ou Krita…

      Python 3 - Apprendre à programmer dans l'écosystème Python → https://www.dunod.com/EAN/9782100809141

    • [^] # Re: Ils sont pas mauvais chez "Let's Enhance"

      Posté par  . Évalué à 1.

      J'ai vraiment eu des résultats convaincants sur pas mal de photographies, notamment des anciennes.

Suivre le flux des commentaires

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