mode 4 couleurs to8

C'est le lieu des discussions diverses et variées, mais toujours en rapport avec le thème général du forum et dans l'esprit de celui-ci. Contient des rubriques électroniques.

Modérateurs : Papy.G, fneck, Carl

hermin

Re: mode 4 couleurs to8

Message par hermin »

Là, il sera difficile de faire mieux. :D ouuaff !
Image
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: mode 4 couleurs to8

Message par __sam__ »

Ah, ca n'est plus la palette précédente à présent. On a noir=(0,0,0) rouge=(255,104,104) jaune=(179,255,104) bleu=(104,179,255). On ne parle donc plus d'une palette universelle passe-partout.

Tu n'as pas la source de cette dernière image que je vois ce que mes algos peuvent trouver ?
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
hermin

Re: mode 4 couleurs to8

Message par hermin »

Une palette universelle ? C'est une palette unique plutôt ! Qui plus est, dont l'image est réduite en saturation et en luminosité. L'image est très sombre et quasi noir et blanc lors de l'application de la palette. C'est seulement après que j'etends TSV et que la palette, enfin ses couleurs, sont celles que tu relèves sur l'image. :)
Pour te faire parvenir l'image, il est tard et le PC est éteint. Je te la ferais parvenir demain.

Bonne nuit. :)
hermin

Re: mode 4 couleurs to8

Message par hermin »

Voici l'image originale.
Image
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: mode 4 couleurs to8

Message par __sam__ »

Avec une mesure d'erreur basée sur un blur (flou) de rayon 1.5 et la distance moyenne entre les pixels de l'image tramée+floutée et la source dans l'espace RGB linéaire, j'ai lancé plusieurs algos de réduction de couleurs et j'obtiens les images suivantes. Tous ces algos visent à obtenir la plus petite erreur. Ce qu'on constate c'est qu'ils convergent tous sensiblement vers la même palette qui est la meilleure mathématiquement parlant.

Je souligne mathématiquement car visuellement pour nous humains elle est moins proche de l'originale que la version que tu as proposée. La différence vient du calcul de l'erreur qui ne tient pas suffisamment compte du modèle psycho-perceptif de l'oeil humain. Ici seul le mélange (blur) entre pixels voisins et le RMS dans l'espace euclidien des couleur linaire (sRGB) est utilisé. Sans doute qu'avec un espace des couleurs s'approchant mieux de la perception humaine (un deltaE par exemple), on aurait d'autres optima. Hélas, ces algos sont déjà trop lent pour mesurer un truc aussi couteux en cpu que le deltaE dans mon environnement de test.

On remarque que le plus rapide (en nombre d'évaluations) est le hill-climbing mais qu'il sacrifie le bleu du pantalon d'Obelix au profit du rouge qui rend la surface du sol et des zones d'ombres super proche de l'image originale. L'erreur finale est voisine des autres: on doit être coincé dans un minimum local sans bleu. Les minima locaux combinés à un calcul d'erreur lent (il faut 1 sec par image) rendent l'exercice de la recherche automatisée de meilleur palette assez difficile, mais passionnant car ca permet de tester pleins d'heuristiques pour accélérer les algos de base.

Ce qui est le plus curieux est que souvent au cours de la recherche je trouve visuellement qu'on a une image "très bonne".. et pourtant qui n'est pas retenue jusqu'au bout car elle ne représente pas l'erreur minimale. C'est très surprenant. Cela confirme que la fonction d'évaluation des palettes candidates (et plus précisément la mesure d'erreur entre l'image tramée avec cette palette et l'originale), ne reflète pas bien la façon dont le cerveau évalue les couleurs ([EDIT] Ca n'est pas que ca. Il y a un autre facteur découvert plus bas dans le fil de discussion). C'est cela que j'aimerais améliorer (en plus de la vitesse de recherche), mais les calculs du deltaE du CIEDE2000 sont vraiment trop affreux à coder et on a vite fait de se planter dans l'un des signes et obtenir n'importe quoi au final sans s'en rendre compte tout de suite. J'ai jamais eu le courage de faire un truc qui marche avec le deltaE, pourtant ca pourrait être instructif.
Pièces jointes
Hill climbing (err=0.0388 après 612 évaluation).
Hill climbing (err=0.0388 après 612 évaluation).
jbju_hc.gif (14.04 Kio) Consulté 2731 fois
Algorithme génétique avec population de 100 individus stoppé à 110 générations car meilleur score est resté inchangé sur 30 générations (err=0.0377 après 11109 évaluations)
Algorithme génétique avec population de 100 individus stoppé à 110 générations car meilleur score est resté inchangé sur 30 générations (err=0.0377 après 11109 évaluations)
jbju_ga.gif (12.67 Kio) Consulté 2731 fois
Recuit simulé (err=0.0384 après 1899 évaluations)
Recuit simulé (err=0.0384 après 1899 évaluations)
jbju.gif (12.83 Kio) Consulté 2731 fois
Dernière modification par __sam__ le 04 juil. 2018 09:22, modifié 2 fois.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: mode 4 couleurs to8

Message par __sam__ »

J'ai compris ce qui faisait que je trouvais qu'à un moment on avait une bonne image et puis que ca se dégradait lors de la recherche dans le hill-climbing progressif. En fait c'est lié à la luminosité de l'image. Dans le cas d'idéfix, si au lieu de laisser le hill-climbing progressif monter jusqu'à 100% de luminosité, je le limite à 87.5, j'obtiens une image dont l'erreur est nettement meilleure que celles précédentes. L'erreur est de 0.038 à 100% de luminosité, mais descend à 0.0276 à 88% de luminosité ce qui est nettement mieux. On est à peine moins lumineux, mais la qualité est bien meilleure!

Bref, quelque part il faut faire varier le niveau de luminosité parallèlement à la recherche, et stopper lorsque l'erreur grossi trop (ici elle grossit de 40% à pleine de luminosité.)

Pour ref voici ton image (un chouille sombre, mais très colorée)
Image
l'originale:
Image
et enfin le résultat du hill-climbing progressif avec un max de luminosité limité à 87.5% (err=0.0276 en 694 évaluations). Remarquez comment l'algo obtient du blanc à partir d'un mélange de 2 couleurs seulement 8) Le resultat est du coup plus lumineux et plus proche de la source à mon avis.
hill-clibing à 87.5% de luminosité (err=0.0276 en 694 évaluations)
hill-clibing à 87.5% de luminosité (err=0.0276 en 694 évaluations)
jbju.gif (13.22 Kio) Consulté 2713 fois
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
hermin

Re: mode 4 couleurs to8

Message par hermin »

En effet ! :shock: C'est vraiment top. Je ferais jamais mieux, c'est sûr ! :( je me console en t'ayant fait plancher sur la luminosité. :) Et... Tu penses pouvoir faire encore mieux ? 8)
Tu pourrais poster une planche de quelques images de bande dessinée très colorés réalisé avec ton algorithme hill climbing ? Je veux bien me rendre compte du fait de ton algorithme.
Avatar de l’utilisateur
jimpqfly
Messages : 832
Inscription : 03 mars 2018 17:56
Localisation : Région Parisienne

Re: mode 4 couleurs to8

Message par jimpqfly »

Ce dernier exemple est impressionnant... C'est bien du 320x200?
Http://www.gloub.com/musee , admin du groupe FB Anciens Ordinateurs, sponsor de la réfection du Micral N: https://micral.mo5.com
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: mode 4 couleurs to8

Message par __sam__ »

oui oui, et 4 couleurs.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Avatar de l’utilisateur
DataPro
Messages : 2790
Inscription : 07 févr. 2011 17:03
Localisation : France - Auvergne

Re: mode 4 couleurs to8

Message par DataPro »

Bravo à SAM pour cette dernière image.
Je ne suis pas d'accord pour modifier le réglage du CRT pour que l'image soit plus lumineuse. Un écran CRT se calibre comme n'importe quel autre écran. Donc une fois bien réglé, en toute logique, on ne doit pas y revenir.
Recherche: cartouches Mattel Intellivision Imagic (loose)
Star Jacker et Lode Runner sur Yeno/SEGA SC-3000
hermin

Re: mode 4 couleurs to8

Message par hermin »

Je viens de remarquer qu'il s'agit d'une palette qui n'est pas fixe... Je me disais aussi. :) Pour le To8, c'est parfait. Je devrais peut-être également me pencher sur cette méthode. Enfin, au vue de cette image, je pense que l'on a pas besoin de moi. :) La technique de "maître Sam" est vraiment correct. Attendons tout de même son propre avis. 8)
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: mode 4 couleurs to8

Message par __sam__ »

Oh sisi on a besoin de tout le monde. La discussion amène des nouvelles idées, où même dévoile des possibilités nouvelles. C'est vrai que j'avais un peu mis de coté le mode 4coul dans mes plugins graphX2, mais à présent si j'obtiens un algorithme rapide et robuste, je me dis qu'un nouveau plugin pour convertir en bm4 serait super aussi.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
hermin

Re: mode 4 couleurs to8

Message par hermin »

...J'ai converti l'image en me servant de couleurs approchantes comme tu le fais. C'est pas mal, même si je les ai choisi au hasard. :)
Image
Image
hermin

Re: mode 4 couleurs to8

Message par hermin »

Je pense qu'en prenant des couleurs clair pour avoir correctement le blanc, on peut avoir de belles images en 4 couleurs. Elle est pas loin "la" palette calculé. :)
__sam__
Messages : 7923
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: mode 4 couleurs to8

Message par __sam__ »

Idéfix a du manger un ou deux Stroumphs car il a pris une teine bleutée. Sinon trève de plaisanteries, tu devrais t'inscrire tu sais ;)
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Répondre