Адекватность матричных профилей

  • Автор темы Автор темы Samsonov
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
Ответ: Адекватность матричных профилей

ch_alex сказал(а):
Часто рассогласование может иметь несколько минимумов, и в какой попадёт метод спуска — никто заранее знать не может. Важным моментом часто бывает первичное приближение на первом шаге. Если первый шаг неудачен, то он приводит к локальному минимуму.
Да, возможно, всё дело действительно в этом. Вот если бы объединить неплохое первое приближение по профилю с подогнанными данными и последующее уточнение по расширенному профилю — кто знает, может и получилось бы гораздо точнее.

Решил попробовать делать профили с подгонкой. Результат ухудшился. Стал дотошно сравнивать свои матричные данные с данными из профиля Gretag — и было мне откровение. Оказывается, «подгонка R/G/B» — это не просто поиск точки между XYZ(Rmax) и XYZ(Rmin), к примеру, и даже не поиск точки внутри охвата устройства. Точка, записываемая в модель как «XYZ базового стимула», может находиться далеко за пределами охвата!

Пример. В моей симуляции монитора максимальные значения R/G/B-стимулов формируются на основе цветностей Wide Gamut RGB и белой точки D50, то есть при очень широком хроматическом охвате имеем довольно слабый синий: яркость всего 1,6 при яркости белого 95. Чёрная точка составляется из примерно таких же R/G/B-цветностей, но с температурой D65, поэтому соотношения яркостей немного другие. Давайте сравним координаты синего:
  • параметры симуляции: Yxy = 1,602 / 0,1570 / 0,0180 — при максимальной интенсивности
  • параметры симуляции: Yxy = 0,046 / 0,1820 / 0,1220 — при минимальной интенсивности
  • честный профиль: Yxy = 1,562 / 0,1569 / 0,0176
  • профиль Gretag: Yxy = 2,281 / 0,1331 / 0,0272
Как видите, мой профилировщик довольно точно угадал истинную цветность чистого синего стимула, тогда как гретаговский алгоритм выдаёт нечто вообще не поддающееся осмыслению, хотя и приводящее в итоге к неплохим результатам. И как он это делает? Ведь несмотря на то, что его данные указывают на более яркий синий, расчёт XYZ→RGB по такому профилю приводит к получению RGB-данных с большей синей компонентой, нежели по другим профилям, хотя по идее должно быть наоборот: раз синий ярче, его надо давать меньше. Возможно, это просто потому, что цветность такого «оптимального» синего соответствует более голубому синему, который ближе к зелёному, и потому его приходится давать в большем объёме. Но всё равно чудно получается.

Когда бы «подгонка» состояла просто в поиске компромиссной точки на градационной шкале или около неё, я бы ещё мог пораскинуть мозгами. Но когда даже элементарно яркость «оптимального» чистого стимула больше, чем яркость замера, содержащего также примеси других стимулов, — тут моей фантазии не хватает. А если ещё учесть, что эта точка лежит явно вне хроматического охвата (да и охвата в целом), то вообще не ясно, куда копать.
 
Ответ: Адекватность матричных профилей

Я всё никак не доберусь до анализа расчёта XYZ. К сожалению, простое суммирование взвешенных спектральных данных, которое пропагандируется на каждом шагу, нельзя считать приемлемым, особенно взглянув на кривые взвешивания. Это понятно любому школьнику, который изучил азы численного интегрирования. Выполняется ли при этом процесс Эйткена для уточнения значения интеграла по 3 сеткам с разным шагом - не знаю. Нужно копать. Мне кажется, что одна из "заноз" (не корень, конечно же) находится в этой самой "мелочи". Которая может стоить слишком дорого, если на ошибочных вычислениях построить фундаменты нескольких моделей.

ЗЫ. Прошу не сильно меня ругать - мне, как дилетанту, проще тявкать на здание науки о цветовоспроизведении. ;)
 
Ответ: Адекватность матричных профилей

Кстати, насчёт давнего тезиса о том, что неучёт чёрного в значительной степени компенсируется естественными свойствами дисплея: мол, конечный охват всё равно сглаживает ошибки gamut mapping'а. Так вот, во второй части обзора [THREAD=39278]HP DreamColor LP2480zx[/THREAD] проводится «прикладная валидация», где профиль служит не для того, чтобы угадать XYZ на экране при заданных RGB-значениях, а, как это бывает в жизни, для сравнения заданных XYZ-стимулов с экранными XYZ-откликами, полученными на основе попытки отобразить заданные стимулы в пространство дисплея.

По-моему, результаты красноречиво свидетельствуют, что чем светлее чёрная точка, тем погрешность «вульгарной» модели становится всё выше и выше, тогда как при наличии информации о чёрном удаётся поддерживать точность в любом режиме. И это, заметьте, при том что мои профили были «честными», без подгонок (и без ETRC, естественно); возможно, будь там комбинация из подогнанных значений и информации о чёрном, аккуратность расчётов оказалась ещё выше.


ch_alex сказал(а):
Простое суммирование взвешенных спектральных данных нельзя считать приемлемым, особенно взглянув на кривые взвешивания. Мне кажется, что одна из «заноз» находится в этой самой мелочи, которая может стоить слишком дорого, если на ошибочных вычислениях построить фундаменты нескольких моделей.
Все мои эксперименты проводились на наборах готовых XYZ-значений, и каждая программа получала в распоряжение один и тот же набор. И не важно, как именно он получен, — наша задача описать монитор, как есть. Другое дело, что когда проводим валидацию, может всплывать это расхождение между SPD и XYZ, если оно действительно имеет место, но тут уж мы ничего поделать не можем.

Возможно, я ходил в очень отсталую школу, но у нас не проходили ничего, связанного с именем Эйткена, поэтому ваш комментарий мне не очень ясен. Если он не связан с адекватностью матричной модели, то не лучше ли создать отдельную тему, где подробно всё расписать?
 
Ответ: Адекватность матричных профилей


Не по теме:
Может и стоит... Вообще-то это чистая математика. По процессу Эйткена имеется 2 страницы мелким книжным текстом с формулами. Могу отсканить.

ЗЫ. Если вспомнить метод прямоугольников, трапеций и парабол, то процесс Эйткена позволяет получить интеграл на основе метода трапеций с точностью, превышающей точность метода парабол. При определённых заранее сетках можно в значительной мере снизить погрешность вычисления XYZ. При этом просто потребуется заранее рассчитывать промежуточные суммы, которые впоследствии будут учтены.

 
Статус
Закрыто для дальнейших ответов.