Клинический случай

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

atutubalin

12 лет на форуме
Сообщения
411
Реакции
37
Ответ: Клинический случай

sabos сказал(а):
Конечно, спасибо за поправку. Я про относительное отверстие, когда задача требует переднюю линзу диаметром за 0.5 м, а ставят 0,09
Диаметр передней линзы определяет не только количество собираемого света, но и глубину резкости. Есть 50/1.0 и даже 50/0.9, сделайте им все лицо резко на открытой диафрагме (допустим, задача именно такая). То есть условия съемки нам диктуют и используемую диафрагму и максимальную выдержку.

Ну и по пути увеличения светосилы нельзя ходить бесконечно, даже по чисто физическим ограничениям.

sabos сказал(а):
Я конечно польщен, но признаюсь честно - это не мое изобретение, анализ с помощью диаграммы в науке уже лет 70 практикуют. Даже идея проверить сопряжение - не моя, мое здесь лишь сопоставление двух локусов. Можно ли отсюда какой практический смысл добыть? Терпение - дайте нам подумать... Пока навскидку проявились две проблемы этой матрицы, низкая (по сравнению с human'ом) спектральная разрешалка в диапазоне ~ 480-510 нм, и "загогулистость" зеленой области.
Вы рассматриваете суммарную кривую, толку в которой никакой нет (см. замечание про i1pro).

Если бы вдруг суммарная кривая была бы важна - ну так какие проблемы, наложите сверху светофильтр, срежьте лишнее.

Что же касается критерия L-I - я вот сходу согласен, если моя камера будет путать монохроматические смеси (как в примере в известной презентации Безрядина), шансов попасть на лазерное шоу с именно такими длинами волн немного. А в реальности важные цвета, как я уже писал, это смеси очень небольшого количества пигментов, нужно сосредоточиться на восстановлении этих смесей.

Ну и не забывать, что в реальности каналов может быть 4 (RGBE, CMYG, Олимпусы с двумя зелеными) или даже 6 (Fuji). Да, во многих случаях там пары близких красителей, но близкие не означает "одинаковые".
 

sabos

Участник
Сообщения
1 909
Реакции
285
Ответ: Клинический случай

atutubalin сказал(а):
Вы рассматриваете суммарную кривую
Я рассматриваю именно то, о чем пишу, внимательнее plz. Это три кривые спектральной чувствительности, три разные кривые, они формируют 3D пространство ответов, оболочку которого которое я проецирую на плоскость для наглядности. Неужели и это нужно разжевать, пощадите меня.
atutubalin сказал(а):
А в реальности важные цвета, как я уже писал, это смеси очень небольшого количества пигментов, нужно сосредоточиться на восстановлении этих смесей.
Ох, на больное место наступаете. И где бы взять список этого "очень небольшого количества пигментов" (и заодно еще нужен список "очень небольшого количества осветителей")? Да еще такой, который всех устроит. Предлагаешь коллегам Nickerson & Jerome (тот, что CIE95) - капризничают. Справедливо капризничают, нельзя колориметрией спектральный анализ делать, очень неточно это. Берешь TCS (test color samples) спектральную реконструкцию - капризничают, тусклые твои "Манселлы", несовременные. Берешь поярче R96 method new set - ругаются, мол корейцы-хитрецы fitting данным делают, дабы свой товар выгоднее выглядел. Споришь с ними, мол Schanda & János умницы, ведь отличные краски эпсону смоделировали - подозревают тебя в необъективности, мол у hewlett-packard краски еще лучше. Я спорю, я глазами вижу, что HP хуже - в ответ "set тенденциозен, метод тенденциозен, вернись в науку, будь строже".
atutubalin сказал(а):
Ну и не забывать, что в реальности каналов может быть 4 (RGBE, CMYG, Олимпусы с двумя зелеными) или даже 6 (Fuji).
Давайте данные, попробую посчитать и их. Без произвола, с наилучшей оптимизацией к human'y.
 

sabos

Участник
Сообщения
1 909
Реакции
285
Ответ: Клинический случай

atutubalin сказал(а):
Диаметр передней линзы определяет не только количество собираемого света, но и глубину резкости.

Не по теме:
В молодости, еще будучи аспирантом, я участвовал в решении похожей задачи. Непростая задача, но есть пара очень элегантных способов её решения, и даже без компьютеров (точнее, один из способов мы называли "оптическим вычислителем"). Но это конечно не mass production, не для фотолюбителей, это спецприменения. Все, более не оффтоплю.
 

atutubalin

12 лет на форуме
Сообщения
411
Реакции
37
Ответ: Клинический случай

sabos сказал(а):
Я рассматриваю именно то, о чем пишу, внимательнее plz. Это три кривые спектральной чувствительности, три разные кривые, они формируют 3D пространство ответов, оболочку которого которое я проецирую на плоскость для наглядности.
На какую плоскость, на XZ или на какую-то, произвольно взятую и разную для двух изучаемых сенсоров?
Не будет ли другая плоскость лучше в области зеленого?

Меж тем, я бы на кэноновские спектральные данные посмотрел бы (если сами снимали - вместе с методикой), от производителя таких данных я не видел.
 

sabos

Участник
Сообщения
1 909
Реакции
285
Ответ: Клинический случай

atutubalin сказал(а):
На какую плоскость, на XZ или на какую-то, произвольно взятую и разную для двух изучаемых сенсоров?
Как-то так, что-то похожее, но не совсем, ведь нет ортогональности осей, да и ортогональность не дает гарантии того, что увидишь максимумы лишь по одной проекции, все три нужно видеть.
atutubalin сказал(а):
Не будет ли другая плоскость лучше в области зеленого?
Можно напрячься, и сделать все три проекции, можно даже VRML соорудить. Но это уже желание нужно, доклад какой подготовить. Рано еще, повода нет, это еще лишь идея (моя лень умеет находить очень веские аргументы :) ). Адресовано было pell, а он не хуже меня знает старый-добрый прием, как максимумы у фигуры поймать.
atutubalin сказал(а):
я бы на кэноновские спектральные данные посмотрел бы
Мне в приват бросили несколько даташитов (кстати, спасибо), но это inside, да и не хочу нашу тему в эту флемоопасную область мериться пупками уводить.
atutubalin сказал(а):
если сами снимали - вместе с методикой
Я не особо всем этим cameramakers интересуюсь, по крайней мере не настолько, чтобы заморачиваться сложными измерениями.
 

sabos

Участник
Сообщения
1 909
Реакции
285
Ответ: Клинический случай

Охваты нескольких технологий захвата цвета. Данные после оптимизации (линейная трансформация) по методу nlPCRGBmin + WPPLS, без краевой спецобработки.
 

Вложения

  • InputColorGamut.png
    InputColorGamut.png
    18.9 КБ · Просм.: 950

Nikolay_Po

Частично освоивший
15 лет на форуме
Сообщения
588
Реакции
194
Ответ: Клинический случай

Глядя на графики sabosа, укрепляюсь в уверенности, что отрицательных XYZ быть не должно - нужно правильно проецировать!
А можно по Монте-Карло по миллиончику точек накидать в пространство камеры и каждую спроецировать на охват человека таким же образом - увидим цельную картинку?..
 

sabos

Участник
Сообщения
1 909
Реакции
285
Ответ: Клинический случай

Nikolay_Po сказал(а):
А можно по Монте-Карло по миллиончику точек накидать
Можно. Но математика мне говорит - «не нужно». Раз пространство линейно (энергетически), то максимумы спектрального пространства (пусть дельта-функции) в субпространство отображаются максимумами. Собственно суть локуса.

А точек накидаем, только руки дойдут. Но не случайно, сперва посмотрим на лучи равного цветового тона, а затем еще эквидистантность хочу проверить. Расчет трансформации по nlPCRGBmin + WPPLS конечно получше алгоритмов какого AdobeDNG, но навскидку вижу и там слабые места.

Уже сейчас можно сделать два важных вывода:
1. При разработке фильтров (в т.ч. CFA) mainstream индустрии не ставил и не ставит задачи охватить human'а. Видно, что они стремятся к классическим треугольным rgb-решениям, причем внутри HVS.
2. Любительские (и полупрофессиональные) камеры очень далеки от совершенства по критерию равномерности спектральной разрешалки (равномерность спектральной разрешалки есть гладкость хроматического контраста). Я проверял своей методой несколько CFA производства 2009, там всё равно остаются очень большие неравномерности, им еще далеко до топовых кремниевых систем, они даже на фоне пленки смотрятся убого. Собственно здесь и вижу источник страданий над «пластикой цвета» владельцев цифрофото.
 

atutubalin

12 лет на форуме
Сообщения
411
Реакции
37
Ответ: Клинический случай

sabos сказал(а):
Охваты нескольких технологий захвата цвета. Данные после оптимизации (линейная трансформация) по методу nlPCRGBmin + WPPLS, без краевой спецобработки.

Если можно, хотел бы две вещи уточнить
а) где и как прочитать про nlPCRGBmin, а то гуглование приводит примерно на такие же картинки в презентации Jack Holm

б) Если посмотреть на данные из презентации Холма, то там есть и побольше "выход за человеческий гамут" (в данной проекции) - а это то самое место, где мы разошлись в понимании и наверное надо как-то общие термины и т.п. находить
 

sabos

Участник
Сообщения
1 909
Реакции
285
Ответ: Клинический случай

atutubalin сказал(а):
где и как прочитать про nlPCRGBmin
Это сокращение от nonlinear prime colors RGB minimization. Причем minimization там методом наименьших квадратов, плюс удержание необычной нейтрали illuminant E (или Equi-energy). Ключевые слова (для гугленья) Equi-energy white point preserving least squares error minimization in nonlinear prime colors RGB, weighted by illuminant power.

Но не советую торопится с алгоритмом, как было отмечено выше, вижу и там слабые места. К примеру высокий (imho неприемлемо высокий) сдвиг цветового тона. Это неизбежная болезнь всех алгоритмов на базе least squares error minimization, им разрешено нарушать цветовой тон. Ближайший аналог - RI saturation в шопе.
atutubalin сказал(а):
есть и побольше "выход за человеческий гамут"
Там есть хитрость небольшая. Jack Holm с коллегами двигают свое пространство RIMM, т.к. цель презентации - показать преимущество RIMM перед XYZ, то расчет матрицы для XYZ (также по методу наименьших квадратов) не оптимизировался по вылету в нереальную область. Простим их за такой незамысловатый fitting данных.

Скажу больше, в очень интересных алгоритмах, что мне встречались, на первом этапе расчетов также есть вылет в нереальную область. Но потом втягивание данных в гамут. Этакая упрощенная версия «резиновой пленки».
 

sabos

Участник
Сообщения
1 909
Реакции
285
Ответ: Клинический случай

Если мы ограничиваем свою математику только матричной (линейной) трансформацией, то нам нужно рассчитать всего 9 чисел. 3 из них мы берем из нейтрали (нейтраль нужно удержать любой ценой), эту регулировку отдаем ручнику ББ RAW-конвертера, остается 6. Нужна система из шести уравнений. Можно взять 6 спектральных точек на локусе, и заставить transform сделать для них RAW->XYZ. Неидеальное решение, судьба остальных миллионов точек будет печальной. Можно взять массив спектральных точек (“training” stimuli) побольше, не только из локуса, но и реальных (пусть Colorchecker), и сделать оптимизацию методом наименьших квадратов. Можно вспомнить, что linear-energy метрика не годится для оптимизации, и оптимизировать в perceptual uniform color space, пусть по супер_dE2000. Можно на оптимизацию наложить доп. условия, пусть non-negative result, можно и не накладывать.

Как найти оптимум в этом произволе? Вспоминаем ICC - оно предложило три стратегии color rendering'a. Если вы предпочитаете яркие цвета, наивысшую насыщенность снимков - выбирайте saturation RI. Ой, небо стало малиновым, ой трава поголубела, ой лица зеленые... Пардон, вы выбрали saturation, он цветовой тон не удерживает. Желаете тон поточнее, выбирайте RI с удержанием лучей цветового тона.

В аттаче результаты работы алгоритма от наших первооснователей, это метод впервые предложил König для поиска fundamental color space (колбочковых функций). Учитывая сложность задачи (камера специально бралась очень слабая по color rendering) - imho неплохо справился алгоритм.
 

Вложения

  • Olympus-transform.png
    Olympus-transform.png
    6.7 КБ · Просм.: 917

sabos

Участник
Сообщения
1 909
Реакции
285
Ответ: Клинический случай

Nikolay_Po сказал(а):
укрепляюсь в уверенности, что отрицательных XYZ быть не должно - нужно правильно проецировать
Всё зависит от задачи. В колориметрии отрицательных XYZ быть не должно, как не должно быть окон отрицательной толщины у строителей или колес отрицательного диаметра у автомобилистов. Но нефизичность величин не пугает наших программистов, они живут в виртуальном мире, там и окна, и колеса такие бывают :).

Если всерьез, без сарказма, то повторюсь, вопрос определяет решение. Пусть я изменю нашу задачу сопряжения. Возьмем в качестве охвата не все возможные ответы камеры, а лишь реальные, т.е. ограниченные по ДД. atutubalin правильно подметил - нам не нужно гарантировать точность для неоновых вывесок и лазерных указок, там мы можем позволить себе сжатие, пусть даже clipping. Реальное отражение значительно скромнее по охвату - давайте сопрягать эти фигуры (см. аттач). Хорошо видно, что появляются нереальные (и даже отрицательные) величины. Но где именно они появляются? Внутри алгоритма, в матрице трансформации. В файле они появится не должны, ведь по условию задачи мы берем ограниченный гамут. Ой, а как же профилировать результат? Разве матрица трансформации не есть профиль? Ответ очень прост - не выкладывайте свои внутренности на всеобщее обозрение, уважайте коллег, пользуйтесь стандартами. Посмотрите на коммерческие программы, они также внутренние преобразования делают в своем спецпространстве - но на выходе ведь стандартный RGB. И "феномены" более не возникают, и float double precision уже не нужен.
 

Вложения

  • Reflection-gamut-transform.png
    Reflection-gamut-transform.png
    7.9 КБ · Просм.: 947

atutubalin

12 лет на форуме
Сообщения
411
Реакции
37
Ответ: Клинический случай

sabos сказал(а):
Но где именно они появляются? Внутри алгоритма, в матрице трансформации. В файле они появится не должны, ведь по условию задачи мы берем ограниченный гамут. Ой, а как же профилировать результат? Разве матрица трансформации не есть профиль? Ответ очень прост - не выкладывайте свои внутренности на всеобщее обозрение, уважайте коллег, пользуйтесь стандартами. Посмотрите на коммерческие программы, они также внутренние преобразования делают в своем спецпространстве - но на выходе ведь стандартный RGB. И "феномены" более не возникают, и float double precision уже не нужен.

Есть две проблемы, точнее глобально это одна проблема: не хочется изобретать велосипед на каждый чих:
1) Для преобразования и RAW-RGB в что-то хочется использовать готовый CMM, а не писать свой. Особенно в том случае, если это "что-то" описано табличным профилем (с матрицей проще, там можно и свой)
2) Точно так же, для профилирования очень не хочется изобретать собственный велосипед, а хочется использовать достижения науки.

Не все же обладают ресурсами Adobe, которая хрен знает на какой год существования Camera Raw (примерно на 5-й, DNG - 2004-й год, а выпустили в прошлом) таки была вынуждена выпустить профилировщик со своим внутренним форматом 'DNG Profle'. И X-Rite туда же.
 

sabos

Участник
Сообщения
1 909
Реакции
285
Ответ: Клинический случай

Я видимо не очень хорошо выразил мысль про workflow преобразований цвета. Есть железки и есть стандарты на working (connection) space. И то, и то описывается профилями. Безусловно железки индивидуальны, безусловно мы можем вытворять со своими железками всё, что считаем нужным, и их профили могут содержать те числа, которые мы считаем нужными (и что позволяет наш internal space и CMM). Но нужно ли особенности этой своей железки втягивать в цветокорректор, менять привычные приемы коррекции на специфичные, хранить эти особенности или передавать коллегам по цепочке, стоит ли этими подробностями себя/их беспокоить?

Простейший пример - компенсация своего монитора (display compensation). Разве вы делаете профиль своего монитора своим rgb working space?
 

atutubalin

12 лет на форуме
Сообщения
411
Реакции
37
Ответ: Клинический случай

sabos сказал(а):
Я видимо не очень хорошо выразил мысль про workflow преобразований цвета. Есть железки и есть стандарты на working (connection) space. И то, и то описывается профилями. Безусловно железки индивидуальны, безусловно мы можем вытворять со своими железками всё, что считаем нужным, и их профили могут содержать те числа, которые мы считаем нужными (и что позволяет наш internal space и CMM). Но нужно ли особенности этой своей железки втягивать в цветокорректор, менять привычные приемы коррекции на специфичные, хранить эти особенности или передавать коллегам по цепочке, стоит ли этими подробностями себя/их беспокоить?

Простейший пример - компенсация своего монитора (display compensation). Разве вы делаете профиль своего монитора своим rgb working space?

Да вы все правильно говорите. Но исходная картинка, с которой началось обсуждение тут, это иллюстрация проблемы, а не сама проблема.
 
Статус
Закрыто для дальнейших ответов.