Lien entre BxU et MTF50

Démarré par sylvatica, Mai 02, 2013, 06:38:26

« précédent - suivant »

MBe

Citation de: sylvatica le Mai 10, 2013, 17:54:19

DxO Analyzer est capable de tracer les courbes MTF dans deux directions orthogonales (je crois qu'ils regardent cela en horizontal et en vertical).


Je savais pas et j'ai un peu cherché sur leur site.
j'ai trouvé cela : http://www.dxomark.com/index.php/About/In-depth-measurements/DxOMark-testing-protocols/MTF

Avec des cercles noir sur fond blanc (" mire BxU"), il est peut être possible de calculer une PSF et une MTF, mais cela ne doit pas être très simple. Avec la mire de type damier incliné à 5°(comme le lien le montre), on revient sur ma méthode slanted edge.
c'est pourquoi je disais que les utilisateurs de DxO Mark et BxU, je ne pensais pas qu'ils accédaient à des résultats de MTF, maintenant je me trompe peut être(?).
Citation de: sylvatica le Mai 10, 2013, 17:54:19

En fait, le problème essentiel semble lié au fait que la MTF d'un capteur est quelque chose de très difficile à définir. En effet, le passage du continu (image réelle) au discret (image numérique) fait qu'on ne peut plus vraiment parler de MTF. Il y semble y avoir différentes approches pour contourner ce problème. Je le suis amusé à théoriser un peu cela, et à calculer ensuite la "MTF" d'un capteur monodimensionnel, monochrome, idéal. Avec cette théorie, on trouve une MTF de Sinc[pi u]^3. J'ai vu des bouquins qui semblaient passer totalement au travers de ce problème et qui balancaient la formule Sinc[pi u]. Du coup, je ne sais pas bien ce qu'ils font.

Ce qui est clair est que le pogramme de MTF que j'ai écrit donne une MTF de Sinc[pi u]^3 pour un tel capteur.

Cette subtilité semble compliquer très fortement la manipulation de ces courbes MTF. Il faut par exemple être très prudent avant de les multiplier. Je me demande si la majorité ne se met pas dedans en faisant ce genre d'erreur. Ce dont je suis sur, c'est que le directeur scientifique de DxO est assez compétent pour ne pas faire ce genre d'erreur. Comme je n'ai plus de contacts avec lui, je ne peux pas lui demander. J'ai quelques connaissances qui font de la recherche en astronomie, je vais essayer de les contacter pour mieux comprendre ce qui se passe ici.

Concernant le fait que cette dérivé de la MTF doit être nulle à l'origine, d'un point de vue théorique, il est possible que ce ne soit pas toujours le cas, notamment lorsque la Point Spread Function ne tend pas assez rapidement vers 0 à l'infini, ce qui peut entrainer la non dérivabilité de la MTF à l'origine. Mais j'ai du mal à comprendre comment c'est possible en pratique. Bref, je suis dans le flou...

Oui le vrai problème est bien de passer du continu vers la discrétisation, et ton hypothèse "d'un capteur monodimensionnel, monochrome, idéal" mes semble correct. de toute façon, l'espace entre 2 photosites (en vertical ou horizontal) est "négligeable" devant la taille du photosite.
L'unité c/pixel considère des photosites carrés qui sont côtes à côtes.

MBe

Sylvatica,

il est également possible de faire l'analogie entre les grains d'argent déposés sur un film et les photosites ( je n'ai pas "sous la main" la taille ou les taille (car ils n'étaient par forcément tous identiques) des grains d'argent à comparer aux photosites), même si le dépôt de ces grains d'argents étaient également aléatoire. il faut donc faire simple au début et complexifier pas à pas.

D'autre part avec la méthode slanted edge, quand tu photographies ton barreau incliné à 5°, tu vas "illuminer" des milliers de photosites avec ce front, ton jpeg ou tiff en sera le résultat. la discretisation sur quelques  photosites ne devient elle pas négligeable par rapport à ta mire ?

sylvatica

#77
Au passage, merci à SurSon, MBe, Verso92, Madko, Chelmimage de tout ces messages qui sont toujours très agréables.

Sinon, j'en reviens à mon mystère de courbe MTF dont la dérivée n'est pas nulle en 0, que l'on voit sur les captures d'écran d'Imatest, de QuickMTF et beaucoup de publications. J'ai retourné le truc dans tous les sens, et à part les courbes théoriques de diffraction, je ne vois vraiment pas comment une courbe MTF mesurée par un logiciel peut ne pas être plate à l'origine. J'en ai d'ailleurs fait une "preuve" plus haut.

J'ai donc pris une de mes images dont j'ai généré la courbe MTF avec mon logiciel et QuickMTF. J'ai superposé ma courbe (en brun) avec les graphes de QuickMTF. La courbe que j'ai tracé doit correspondre à la courbe noire de QuickMTF. Les courbes sont globalement les mêmes et donnent des MTF50 proches (0.229 cycles/pixel pour la mienne et 0.225 pour QuickMTF). Cependant, on voit deux différences :
- Ma courbe est beaucoup plus lisse. Elle ne présente pas cet effet toboggan.
- Elle s'aplatit au voisinage de 0, contrairement à la courbe de QuickMTF.
En regardant un peu plus haut dans ce fil, vous verrez que mes premières courbes étaient "en toboggan", et une petit touche personnelle (ce n'est pas un lissage pipeau mais bel et bien un meilleur algo de calcul) me permet d'avoir ces courbes qui sont de bien meilleure qualité.

Ma conclusion est que l'algo "officiel" du calcul de MTF par la méthode de "slanted edge" (ISO 12233), n'est pas fantastique. Je pense avoir fait quelque chose de mieux. Vous remarquerez au passage que cela ne change pas beaucoup la MTF50, donc je me suis un peu emporté sur Imatest, mais cela ne fait vraiment pas "sérieux". Je commence à comprendre pourquoi Imatest ne comprend rien au BxU : leurs courbes ne sont pas bonnes au voisinage de 0, et ils ne peuvent surement pas comprendre cette subtilité de calcul de "dérivée seconde" à l'origine.

Au final, j'ai bien l'impression que mon programme est bon. Je vais pouvoir enfin faire des essais "pratiques" avec une barre oblique pour le calcul de MTF et une image très détaillée à côté. On verra bien ce qui se voit sur les courbes MTF et ce qui ne se voit pas.

sylvatica

Au passage, voici les différences de MTF50 entre mon logiciel et QuickMTF, sur ma série de photos :

f4 - SylvaticaMTF 0.2287 cycles/pixel - QuickMTF 0.225 cycles/pixel
f5.6 - SylvaticaMTF 0.2163 cycles/pixel - QuickMTF 0.220 cycles/pixel
f8 - SylvaticaMTF 0.1830 cycles/pixel - QuickMTF 0.185 cycles/pixel
f16 - SylvaticaMTF 0.167 cycles/pixel - QuickMTF 0.167 cycles/pixel
f32 - SylvaticaMTF 0.093 cycles/pixel - QuickMTF 0.095 cycles/pixel

C'est assez proche.

MBe

Citation de: sylvatica le Mai 11, 2013, 03:42:39
Au passage, merci à SurSon, MBe, Verso92, Madko, Chelmimage de tout ces messages qui sont toujours très agréables.

Sinon, j'en reviens à mon mystère de courbe MTF dont la dérivée n'est pas nulle en 0, que l'on voit sur les captures d'écran d'Imatest, de QuickMTF et beaucoup de publications. J'ai retourné le truc dans tous les sens, et à part les courbes théoriques de diffraction, je ne vois vraiment pas comment une courbe MTF mesurée par un logiciel peut ne pas être plate à l'origine. J'en ai d'ailleurs fait une "preuve" plus haut.

J'ai donc pris une de mes images dont j'ai généré la courbe MTF avec mon logiciel et QuickMTF. J'ai superposé ma courbe (en brun) avec les graphes de QuickMTF. La courbe que j'ai tracé doit correspondre à la courbe noire de QuickMTF. Les courbes sont globalement les mêmes et donnent des MTF50 proches (0.229 cycles/pixel pour la mienne et 0.225 pour QuickMTF). Cependant, on voit deux différences :
- Ma courbe est beaucoup plus lisse. Elle ne présente pas cet effet toboggan.
- Elle s'aplatit au voisinage de 0, contrairement à la courbe de QuickMTF.
En regardant un peu plus haut dans ce fil, vous verrez que mes premières courbes étaient "en toboggan", et une petit touche personnelle (ce n'est pas un lissage pipeau mais bel et bien un meilleur algo de calcul) me permet d'avoir ces courbes qui sont de bien meilleure qualité.

Ma conclusion est que l'algo "officiel" du calcul de MTF par la méthode de "slanted edge" (ISO 12233), n'est pas fantastique. Je pense avoir fait quelque chose de mieux. Vous remarquerez au passage que cela ne change pas beaucoup la MTF50, donc je me suis un peu emporté sur Imatest, mais cela ne fait vraiment pas "sérieux". Je commence à comprendre pourquoi Imatest ne comprend rien au BxU : leurs courbes ne sont pas bonnes au voisinage de 0, et ils ne peuvent surement pas comprendre cette subtilité de calcul de "dérivée seconde" à l'origine.

Au final, j'ai bien l'impression que mon programme est bon. Je vais pouvoir enfin faire des essais "pratiques" avec une barre oblique pour le calcul de MTF et une image très détaillée à côté. On verra bien ce qui se voit sur les courbes MTF et ce qui ne se voit pas.

Imatest dans sa documentation indique pour la dérivée première à fréq(0) :

The derivative (d/dx) of the averaged 4x oversampled edge is calculated. A windowing function is applied to force
the derivative to zero at its limits.

Hier au soir j'ai fait des recherches sur la méthode employée pour faire le calcul de MTF, elle est décrite dans les normes ISO 12233:2000 et 14524  et sont malheureusement payantes comme beaucoup de normes. Il n'est pas impossible qu'il y ait une approximation qui soit faite au voisinage de Freq (0) ?

La doc d'Imatest n'est pas très facile à lire car les informations sont éparpillées un peu partout dans les 451 pages, j'ai l'impression qu'elle a été écrite au" fil de l'eau".
Tes résultats et la forme de tes courbes me semblent pertinents, la précision aussi bonne que celle des autres logiciels (Imatest, Quick MTF), donc en effet l'exploitation est possible.

Pour en revenir à la discrétisation, je suis convaincu que la méthode slanted edge a été adoptée par rapport à d'autres ( LSF, PSF...) car elle permet de "lisser" le design des capteurs et de considérer que l'on est en face d'un capteur "continu".

Pour la mire de Dxo Mark ( cercles noirs sur fond blanc) il est quasi certain que le diamètre de ces cercles et de la distance de prise de vue à son importance pour le calcul du Bxu, afin, là aussi de s'affranchir des problèmes de discrétisation.

MBe

#80
Citation de: sylvatica le Mai 11, 2013, 03:42:39
Au final, j'ai bien l'impression que mon programme est bon. Je vais pouvoir enfin faire des essais "pratiques" avec une barre oblique pour le calcul de MTF et une image très détaillée à côté. On verra bien ce qui se voit sur les courbes MTF et ce qui ne se voit pas.

Je ne pense pas qu'il soit possible avec des courbes de MTF de quantifier et de voir toutes les qualités / défauts d'un système d'images, mais il y a beaucoup d'informations, qui, si elles ne sont pas suffisantes,elles  permettent de discriminer correctement et de façon répétable des systèmes.

sylvatica

Voici donc une série de photos prises avec à côté : MTF50 - BxU - Courbe MTF en entier.

J'ai donc fait une série d'ouvertures avec un D800 et un 35mm f1.4. J'ai mis côte à côte un visage bien connu (Il est malheureusement illégal de faire la même chose avec les visages européens) et un carré incliné pour être analysé par mon programme. Les deux étaient très prêt du centre, et il est donc raisonnable de supposer qu'il n'y a aucun astigmatisme ici. Tout à été fait sur pied, mirroir relevé, déclencheur souple, mise au point en Live-View, ISO 100. Le développement a été fait avec Capture NX, Balance des blancs faite à la main, Accentuation 1, Aberration chromatique latérale automatique et aberration chromatique longitudinale à 50. Tout le reste est à 0.

Voici donc la liste des crops 100%, avec en dessous : l'ouverture, la MTF50 en cycles/pixel, le BxU. Chaque série de crops sera suivi des courbes MTF en entier (J'ai limité la courbe à 0.5 cy/p, de toute façon, après c'est presque nul). Les couleurs vous permettront de savoir à quelles photos cela correspond.

sylvatica


sylvatica

En ordonnée, la MTF et en abscisse, la fréquence en cycles par pixel. Ces courbes correspondent aux images du post au dessus.

sylvatica


sylvatica

En ordonnée, la MTF et en abscisse, la fréquence en cycles par pixel. Ces courbes correspondent aux images du post au dessus.

sylvatica


sylvatica

En ordonnée, la MTF et en abscisse, la fréquence en cycles par pixel. Ces courbes correspondent aux images du post au dessus.

sylvatica

#88
La compression nécessaire pour CI étant trop forte, j'ai mis les fichiers moins compressés ici.
https://www.dropbox.com/s/2sdpgr997cn2qpl/washington-1.jpg
https://www.dropbox.com/s/xawhcprcap2zyy7/washington-2.jpg
https://www.dropbox.com/s/5cpkjzx9to9tkra/washington-3.jpg

Et voici mes remarques :
- Le moiré est évident sur le fond, aux focales f2.8, f4, f5.6 et f8. Cela prouve que le D800 est bien assez grand pour faire du moiré, et qu'il est possible de faire du moiré avec des MTF50 bien en dessous de la fréquence de Nyquist.
- On voit bien qu'entre 0 et la MTF50, sur toutes les courbes, la MTF ressemble très fortement à une gaussienne. On est donc dans des conditions ou il est inutile de se battre entre MTF50 et BxU. Ce sont des "unités" différentes, mais ils mesurent bel et bien la même chose.
- MTF50 et BxU sont capables de faire des différences extrêmement subtiles entre les optiques. Regardez par exemple la série f4, f5.6, f8 ou le BxU augmente entre 0.57 et 0.93. En s'arrachant les yeux, on voit quelque chose entre f5.6 et f8 (J'ai un petit avantage car j'ai les deux fichiers et je peux passer de l'un à l'autre), mais je n'arrive rien à voir entre f4 et f5.6.

sylvatica

J'ai failli passer à côté de ce bijou.

Regardez bien les deux photos suivantes. L'une est faite à f2, l'autre à f11. Je préfère largement la seconde. Seulement le BxU donne "gagnant" la première alors que la MTF50 donne gagnant la seconde.

sylvatica

#90
On voit bien sur ce graphe de MTF que la courbe verte (f11) est très légèrement en dessous de la courbe rouge (f2) au tout début de la courbe, ce qui explique que le BxU donne gagnant la photo prise à f2. Seulement, entre 0.15 cycles/p et 0.35 cycles/p, c'est la courbe verte (f11) qui est largement au dessus de la courbe rouge (f2), ce qui explique pourquoi l'image parait plus nette.

Cela prouve bien que le BxU, même si il est mathématiquement très agréable, n'est pas meilleur que la MTF50 pour juger de la sensation de netteté.

Je commence à comprendre pourquoi DxO utilise maintenant la SQF (Subjective Quality Factor), car même si ils ne prononcent pas la nom (ce n'est pas le genre de le maison de dire que le truc le plus intelligent sur la sensation de netteté à été fait chez Kodak et non chez DxO), c'est bien cela : The DxOMark score for Sharpness is based on the Perceptual Megapixel (P-Mpix) concept that weights the Modulation Transfer Function (MTF) of the lens with the human visual acuity. Read more about Perceptual Megapixels.

Voici une explication de la SQF : http://www.imatest.com/docs/sqf

sylvatica

#91
Sur la page, d'Imatest, on voit d'ailleurs que la SQF a été dévelopée pour Popular Photography. On voit même un lien entre la SQF et une note de qualité : Poor - Fair - Good - Very Good - Excellent.

En français, ça fait : Faible - Moyen - Bon - Très bon - Excellent. Ca vous rappelle quelque chose ?  ;D  Par contre, il semble que les notes de JMS ne se fassent pas avec le SQF, mais uniquement avec le BxU calculé sur les fichiers redimensionnés avant passage dans DxO.

restoc

Félicitations et remerciements.

Si je puis permettre de résumer pour les non ou anciens matheux avec un côté bassement utilitaire:

-DXO fournit des mesures de sharpness avec leur BXu équivalentes et justes du point de vue math à la Mtf.
-Kodak et d'autres avec une vision plus photographique ont introduit il y a longtemps une grandeur plus "photographique"la SQF ou accutance qui intégre certains facteurs reproductibles et mesurables de la perception humaine puisque finalement c'est le filtre humain qui est le juge. C'est donc la SQF qui est in fine essentielle pour le photographe. BXU et Mtf sont plus intellectuellement confortables par leur caractères exact donc incontestables.
Ma conclusion ( que vous pouvez amender):

-la SQf reste toutefois incomplète comme mesure "globale" car si elle intègre la distance de vue, l'acuité visuelle, elle ne traite pas les autre paramètres de la vision de la vraie vie; sensibilité au micro contrastes en fonction de la longueur d'onde, au traitement des angles d'incidence qui participent à la notion de nétteté etc.

-On n'a toujours pas trouvé comment calculer/définir la différence bien perceptible de rendu, ou du fameux "modelè" qui fait qu'à deux Bxu équivalents on préfère un objectif à un autre ou une marque à une autre.
-Il reste donc du travail à Jms pour nous décrire un rendu plus photographique qui est celui qu'on recherche. Mais là il faut constituer un groupe représentatif d'Yeux, pas seulement ceux de Jms ! ;)
-Il reste du travail théorique pour modéliser tout çà... A vos crayons et ordinateurs.

Merci d'avance  :) :)



sylvatica

Citation de: restoc le Mai 12, 2013, 07:12:21
Félicitations et remerciements.

Merci.

Citation de: restoc le Mai 12, 2013, 07:12:21
-DXO fournit des mesures de sharpness avec leur BXu équivalentes et justes du point de vue math à la Mtf.

DxO semble mettre le BxU à la retraite. Je ne trouve plus aucune référence au BxU sur leur site. Ils semblent donc désormais utiliser la SQF, surement parce qu'ils se sont rendu compte que c'était mieux.

- Sur leur site "The DxOMark score for Sharpness is based on the Perceptual Megapixel (P-Mpix) concept that weights the Modulation Transfer Function (MTF) of the lens with the human visual acuity. Read more about Perceptual Megapixels.". C'est exactement la SQF, bien qu'ils ne disent pas le nom.
- Sur un papier récent publié par DxO, http://www.dxo.com/var/dxo/storage/fckeditor/File/embedded/Dead_Leaves_Model_EI2010.pdf, ils font référence à la SQF dans la partie 5.1. Au passage, ils prennent la même fonction de poids que sur le site d'Imatest.

restoc

Bon çà nous simplifiera la vie: plus que  Mtf 50 et SQF/P-megapixels

Ps . Ai je bien lu que l'on peut avoir du moiré en dessous de Nyquist ?


sylvatica

#95
Citation de: restoc le Mai 12, 2013, 07:42:26
Ps . Ai je bien lu que l'on peut avoir du moiré en dessous de Nyquist ?

On peut avoir du moiré avec une MTF50 en dessous de Nyquist. Mais les fréquences qui font du moiré sur mes photos sont surement au dessus de Nyquist.

Citation de: restoc le Mai 12, 2013, 07:42:26
Bon çà nous simplifiera la vie: plus que  Mtf 50 et SQF/P-megapixels

JMS semble toujours faire ses tests basés sur les BxU.

Concernant la surprise entre f2 et f11 sur le Nikon 35mm F1.4, j'ai regardé son livre sur le D800 et j'ai vu qu'au centre à f11, le 35mm était mieux noté qu'à f2, contrairement à ce que je vois avec mon test. J'ai ensuite recalculé les BxU avec la netteté sur 3, comme JMS le fait, et la surprise : le BxU est maintenant meilleur à f11 qu'à f2 !

restoc

Merci.
PS dans une industrie que je connais bien, on teste la résolution  des systèmes objectifs/capteurs très "spéciaux" avec une autre approche que la Mtf car il faut obtenir de mesures vraies ( qualification absolue) par tranche de modulation/fréquence et pas simplement une prédiction par courbe. Le banc de mesure est une usine à gaz vu la taille des systèmes, on oublie pour nos Apn.

MBe


Félicitations Sylvatica, toutes ces mesures sont plus qu'intéressantes, elle révèlent beaucoup d'informations.
Citation de: sylvatica le Mai 12, 2013, 07:52:06

Concernant la surprise entre f2 et f11 sur le Nikon 35mm F1.4, j'ai regardé son livre sur le D800 et j'ai vu qu'au centre à f11, le 35mm était mieux noté qu'à f2, contrairement à ce que je vois avec mon test. J'ai ensuite recalculé les BxU avec la netteté sur 3, comme JMS le fait, et la surprise : le BxU est maintenant meilleur à f11 qu'à f2 !

Je ne suis pas surpris, je me demande même si les "ondulations" bien visibles sur les courbes de MTF à f:1,4, f:11, f:16 ne sont pas dues à l'accentuation de 1 ? (en réglant l'accentuation avec intensité, rayon, on modifie le la courbe de FTM pour une plage de fréquence spatiale)

Les courbes de FTM restent un excellent critère de discrimination de systèmes d'imagerie, à condition d'avoir des mesures faites avec rigueur.

sylvatica

Je viens de refaire des tests. En fait, l'algorithme de calcul de la MTF dépend fortement de la fenêtre de Hamming choisie. Le BxU dépend énormément de cette fenêtre. Pour la choisir, de nombreuses recettes de cuisine semblent exister dans SFRMAT, écrit par Peter Burns, l'inventeur de la méthode "slanted edge".

En choisissant "à la main" la fenêtre de Hamming, je retrouve des BxU qui sont en accord avec l'impression visuelle entre mes deux tests à f2 et f11. Il faut que je réfléchisse à un truc un peu plus intelligent pour cela.

En tout cas, la méthode "slanted edge" semble bien folklorique. Et comme disait un de mes profs de physique : "Quand on ne sait pas ce qu'on cherche, on ne sait pas ce qu'on trouve."

MBe

Citation de: sylvatica le Mai 12, 2013, 19:30:54
Je viens de refaire des tests. En fait, l'algorithme de calcul de la MTF dépend fortement de la fenêtre de Hamming choisie. Le BxU dépend énormément de cette fenêtre. Pour la choisir, de nombreuses recettes de cuisine semblent exister dans SFRMAT, écrit par Peter Burns, l'inventeur de la méthode "slanted edge".

En choisissant "à la main" la fenêtre de Hamming, je retrouve des BxU qui sont en accord avec l'impression visuelle entre mes deux tests à f2 et f11. Il faut que je réfléchisse à un truc un peu plus intelligent pour cela.

En tout cas, la méthode "slanted edge" semble bien folklorique. Et comme disait un de mes profs de physique : "Quand on ne sait pas ce qu'on cherche, on ne sait pas ce qu'on trouve."
C'est bien l'inconvénient de la méthode et une de ses limites, il est possible d'y palier (en partie) en augmentant la surface d'acquisition et en procédant à une moyenne (lissage) sur les données., et/ ou d'employer la méthode du vernier décrite dans le doc e2v.
Il est possible également qu'entre 2 photos, un décalage de quelques minutes d'angle "n'illumine" pas tout à fait les photosites de la même façon.

Le phénomène est identique avec Quick FTM?