Auteur Sujet: Comparer la qualité des différents formats d'image (JPEG, WebP, AVIF, JPEG XL)  (Lu 78 fois)

0 Membres et 1 Invité sur ce sujet

vivien

  • Administrateur
  • *
  • Messages: 51 242
    • Bluesky LaFibre.info
Je découvre qu'en important un SVG dans GIMP, on reste à 8 bits / couleur :

La source de mes images est donc du 8 bits.

Si je compare le PNG16 bits avec le PNG8 bits, je n'obtiens pas l seuil de 100% :

$ ssimulacra2 png_rvb_8bits_sans_perte.png png_rvb_16bits_sans_perte.png
95.35676076
$ ssimulacra2 png_rvb_16bits_sans_perte.png png_rvb_8bits_sans_perte.png
95.35673729


Si je convertis le PNG 8 bits en PNG 16bits, quand je compare avec SSIMULACRA2 le même fichier, j'ai bien un seul de 100.000 (correspondance parfaite), ce qui est normal :

$ ssimulacra2 png_rvb_16bits_sans_perte.png png_rvb_8bits_sans_perte_converti_16bits.png
100.00000000

J'en conclus, qu'il ne peut donner 100% que si les deux fichiers ont le même nombre de bits.

Par mesure de précaution, je pense qu'il sera peut-être bon de convertir tous mes fichiers en PNG 16bits, même ceux comme le JPEG qu'il sait traiter directement.

vivien

  • Administrateur
  • *
  • Messages: 51 242
    • Bluesky LaFibre.info
PSNR et SSIM sont les 2 grands classiques mais de moins en moins pertinents. VMAF : non, seulement utile pour la vidéo et ne prend pas en compte tout un tas de défauts perceptuels, dont le banding.

Donc... peut-être SSIMULACRA2 ? https://github.com/cloudinary/ssimulacra2

Ou alors une des nouvelles variantes de SSIM...

Ou alors DISTS (se repose sur de l'apprentissage machine) : https://github.com/dingkeyan93/DISTS
Une autre possibilité : Butteraugli de Google
https://github.com/google/butteraugli

Il s'installe très simplement sous Linux : sudo apt install butteraugli

Ligne de commande : butteraugli image1.{png|jpg} image2.{png|jpg}
(il ne supporte que PNG et JPEG)

Il peut générer une heat map (carte de chaleur) qui montre où dans l'image il a trouvé des défauts perceptuels :
butteraugli image1.{png|jpg} image2.{png|jpg} heatmap.pnm




Voici la comparaison SSIMULACRA2 et Butteraugli par gemini (désolé Leon) :

Question : Quels sont les avantages et inconvénients de SSIMULACRA2 et Butteraugli pour mesurer la qualité visuelle d'une image compressée, par rapport à l'image originale ?

Réponse Gemini :

C'est une excellente question qui touche au cœur de l'évaluation moderne de la qualité d'image. SSIMULACRA2 et Butteraugli sont deux des métriques de qualité perceptuelle ("Full-Reference") les plus avancées, toutes deux conçues pour surpasser les anciennes métriques comme le PSNR ou le SSIM.

Elles partagent un objectif commun : prédire un score de qualité qui correspond à ce qu'un être humain percevrait. Cependant, elles ont des philosophies de conception et des spécialités différentes.

La principale différence est la suivante :

- Butteraugli (par Google) est un modèle psychophysique. Il tente de modéliser le fonctionnement du système visuel humain (en particulier la perception des couleurs) pour trouver le seuil où les différences deviennent perceptibles.

- SSIMULACRA2 (par Cloudinary) est une métrique d'ingénierie "feature-based". Elle a été spécifiquement conçue pour détecter et pénaliser les artefacts de compression que les codecs modernes (AVIF, JXL, WebP) introduisent et que les humains trouvent gênants.

🦋 Butteraugli
Développé par Google, Butteraugli est un outil fondamental utilisé dans le développement de leurs codecs, notamment Guetzli et JPEG XL.

Avantages
- Modélisation psychophysique : C'est sa plus grande force. Il modélise en profondeur la sensibilité humaine à la couleur.
- Impériale sur la couleur : Butteraugli est extrêmement sensible à la dégradation de la chrominance (couleur), comme le bruit de couleur ou les bavures, auxquels l'œil humain est très attentif.
- Modélisation du masquage : Il est très bon pour comprendre si un artefact de compression est "caché" (masqué) par une zone de texture élevée, le rendant ainsi moins visible.
- Sortie de carte de chaleur : Plus qu'un simple score, il génère une "carte de chaleur" (heat map) qui montre où dans l'image il a trouvé des défauts perceptuels.

Inconvénients
- "Pardon" pour certains artefacts modernes : C'est son principal défaut par rapport à SSIMULACRA2. Des études ont montré qu'il pouvait être trop indulgent envers des artefacts comme le "smoothing" (lissage excessif des textures, donnant un aspect "plastique") ou le "ringing" (halos près des bords), qui sont courants dans les codecs comme AVIF ou WebP.
- Vitesse de calcul : Il est assez lent. Il est plus rapide que les métriques de deep learning (comme DISTS), mais nettement plus lent que SSIMULACRA2.
- Conçu pour la haute qualité : Il a été principalement optimisé pour le seuil de "différence à peine perceptible" (JND - Just Noticeable Difference), ce qui le rend excellent pour le "visuellement sans perte", mais potentiellement moins précis pour des compressions de qualité moyenne ou basse.

🚀 SSIMULACRA2
Développé par Jon Sneyers (Cloudinary), SSIMULACRA2 est une évolution de métriques antérieures (MS-SSIM, SSIMULACRA) spécifiquement affinée en utilisant des tests subjectifs pour corriger les échecs des autres métriques.

Avantages
- Meilleure corrélation subjective (pour la compression) : C'est l'argument principal. Dans les benchmarks publics comparant les scores des métriques aux notes données par les humains, SSIMULACRA2 l'emporte très souvent.
- Spécialiste des artefacts modernes : Il est conçu pour "chasser" les défauts que Butteraugli et d'autres ignorent. Il est excellent pour pénaliser :
  1/ Le "ringing" (halos).
  2/ Le "smoothing" (perte de texture / aspect "plastique").
  3/ Le "banding" (bandes dans les dégradés de couleur).
- Vitesse : Il est nettement plus rapide que Butteraugli, en particulier sur GPU, ce qui le rend plus pratique pour les tests à grande échelle.
- Bon équilibre : Il analyse la structure, les bords et les textures à plusieurs échelles (multi-scale) pour obtenir son score, ce qui le rend très robuste.

Inconvénients
- Moins "fondamental" : Il s'agit moins d'un modèle pur du système visuel humain que d'un outil d'ingénierie hautement optimisé. Il est "entraîné" sur ce qui déplaît aux humains dans la compression.
- Moins sensible à la couleur que Butteraugli : Bien que très compétent, il est généralement admis que Butteraugli reste le "gold standard" si votre préoccupation unique est la fidélité absolue des couleurs.

✅ Lequel choisir ?

- Utilisez SSIMULACRA2 si votre objectif principal est de comparer différents codecs (AVIF, JXL, WebP) ou différents réglages pour savoir lequel produit l'image perçue comme la meilleure par un humain. C'est actuellement la métrique de référence pour le benchmarking de compression.

- Utilisez Butteraugli si vous développez un nouveau codec et que vous avez besoin d'un modèle psychophysique robuste, ou si votre priorité absolue est de garantir la fidélité des couleurs et d'éviter les seuils de différence à peine perceptibles.