?

Log in

No account? Create an account
Anatoly Skoblov
Исследуем камеру. Часть 1 
9th-Jun-2008 03:06 pm
Змей
Я (да и не только я) часто ссылаюсь на тесты динамического диапазона камеры и тональных кривых для перевода в jpeg, которые приводит в своих тестах Phil Askey (www.dpreview.com). Пример такого отчета можно посмотреть тут:
http://www.dpreview.com/reviews/canoneos450d/page21.asp

К сожалению, результаты мне не очень нравятся:
- непонятно, что за кривые приведены - яркость, или значение по одному каналу;
- не понятно, как кривая расположена относительно точки, по которой измеряется экспозиция (что означает 0 на графике);
- использование ACR для изучения RAW добавляет лишние неопределенности;
- тесты RAWа абсолютно не демонстрируют линейность матрицы (а ведь она линейна!).

к тому же, точность тестов Фила иногда подвергается сомнению из-за плохо описанной методики тестирования и непоняток с правильностью используемого им источника света (не всякая лампа дает верный контраст шкалы на "серебрянной" пленке), см. для примера текст и комментарии (про свет)
http://blog.lexa.ru/2008/05/21/udar_kosinusom.html

В связи с этим я решил провести тест сам. Для проведения теста я выбрал наиболее тупую и устойчивую для атак сетевых троллей методику тестирования. Жертвой тестов пала камера Canon EOS 350D (при тестировании использовался объектив EF-S 17-55/2.8). Другие камеры будут подвергнуты насилию чуть позже, после окончательной обкатки технологии тестирования.



При тестировании мне необходимо было измерить значения в RAW'е и jpeg'е в нескольких точках с известной яркостью.
- самый хитрый способ для такого тестирования заключается в съемке 2 кадров с картой, имеющей зоны разной яркости, однако он требует написания программы для обработки и непрозрачен для критика;
- промежуточный вариант, который использует Фил - съемка калиброванной шкалы с большим диапазоном яркостей, и измерение значений в "клетках" этой шкалы. К сожалению, тест зависит от освещения, и вообще - у меня нет такой шкалы.
- самый тупой метод заключается в съемке равномерно окрашенной мишени одной яркости (лучше серой, или близкой к ней). Для получения значений откликов матрицы для разных исходных значений, вместо изменения яркости мишени (что непросто сделать с нужной точностью в домашних условиях) я изменял экспозицию. С точки зрения матрицы нет никакой разницы - изменилась ли яркость снимаемого объекта при фиксированной экспозиции, или на ту же величину изменилась экспозиция, зато изменять экспозицию я могу с достаточно высокой точностью в очень широком диапазоне (конечно, если не увеличивать выдержку до такой величины, чтобы тепловые шумы начали сильно влиять на результат).

Проведение теста

Съемка велась с фиксированной диафрагмой (объектив прикрыт на 2 стопа от максимального отверстия), на ISO 100, выдержка изменялась от 10с до 1/4000. При этом на большой выдержке возможно влияние тепловых шумов, а самые короткие выдержки могут отрабатываться затвором любительской камеры недостаточно точно, однако в анализе используются выдержки от 6с до 1/800, поэтому обоими факторами можно смело пренебречь (хотя влияние выдержки на шумы нуждается в отдельном тесте, который будет проведен позже).

В качестве мишени использовался обычный некалиброванный LCD-монитор с MVA-матрицей, на который выводился "серый квадрат", который каждый может нарисовать сам, или воспользоваться моим (каждый пиксель индивидуально окрашен вручную с помощью космических нанотехнологий)
http://pics.livejournal.com/skoblov/pic/000fq67g
искусственное освещение отсутствовало, дневной свет - минимальный. Такая мишень вполне может считаться "условно серой", точность серого цвета в данном эксперименте тут не важна. Съемка велась на максимальном ФР (55мм), объектив был расфокусирован по максимуму, чтобы снимать серый цвет, а не пиксели матрицы.

Для измерения значения пикселей в RAW использовалась программа RAW Analyzer, которая выводит данные о значении пикселей для любой выделенной области:


Нас интересует строчка RAW, в который приведены данные для каждого канала независимо (причем для каждого пишется минимальное, максимальное и среднее значение по выделенной области, а так же среднеквадратичное отклонение).

Поскольку яркость монитора не постоянна, для анализа использовалась небольшая область размером примерно 100x100 пикселей, в которой влияние монитора невелико, причем одна и та же область во всех тестовых кадрах (кадры снимались со штатива). При выборе куска картинки для анализа я убедился, что значения в нем не обладают никакими локальными аномалиями из-за грязи на мониторе или на матрице (т.е. аналогичные куски по соседству имеют те же самые цифры)

все полученные значения записывались в таблицу в excel'е. Несмотря на то, что в этом анализе используется только среднее значение, я записал все для последующего анализа

Значения в jpeg получались из парного jpeg, который записывался камерой вместе с RAW (режим RAW+jpeg). Значения получались в фотошопе с помощью пипетки 50x50 пикселей, наведенной примерно на середину той же области, что и в RAW Analyzer'е. При съемке был выставлен фиксированный ББ "пасмурно", выдающий наиболее близкий к серому цвет для моей мишени.

Результаты теста приведены в таблице:


Слева направо:
- экспозиция (текстовое значение; величина в секундах; рассчитанное экселем смещение экспозиции в стопах, EV)
- результаты измерений для каналов R, G, B (RAW), по 4 значения на каждый канал
- результаты измерений для каналов R, G, B (JPEG)

Желтым фоном выделена строка значений, полученных при экспозиции, выставленной точечным замером экспозиции. Серым фоном - промежуточные шаги экспозиции (с шагом 1/3 EV, сделанные для повышения точности измерений на краях и построения графика для jpeg)

Результаты:

График зависимости значений в RAW от яркости на входе. Построен в трех масштабах для изучения светов, полутонов и максимальных теней, значения по обоим осям - линейные:



Как Вы можете убедиться, просто взглянув на график, матрица у моего 350d все-таки весьма близка линейности (я общался с людьми, для которых факт линейности матрицы не очевиден). Практика подтвердила теорию - тем лучше для практики :) Лишь в области крайних теней, где шумы приближаются к полезному сигналу, график начинает "дергаться", но линейность страдает не сильно.

Более удобный для изучения график той же кривой. Значения по горизонтали измерены в шагах экспозиции (т.е. логарифм по основанию 2), по вертикали - те же значения из RAW, из которых вычтено 255 (чтобы минимальное значение получилось равным 1), с логарифмической шкалой:


3 варианта того же графика для jpeg. Во всех трех по вертикальной оси - значения sRGB-цветов в JPEG, по горизонтальной оси - шаги экспозиции в первом и линейное значение экспозиции во втором и третьем (третий график - это копия второго, но только для области теней):



Невооруженным глазом видно "схлопывание" деталей в светах ярче 1 EV от яркости измеренного экспонометром объекта (если возле отметки 0 EV на стоп изменения яркости приходится примерно 60 разных значений, то при перемещении к максимальным светам эта цифра падает до 40 и меньше), поэтому я советую не использовать JPEG, если Вы планируете обрабатывать фотографии и повышать контраст ярких объектов.

И наконец, график сравнения RAW и JPEG (JPEG - пунктиром):



Видно, что от крайних теней и до 0 EV линии практически параллельны, т.е. JPEG и RAW дают примерно одинаковую проработку градаций (значения в зеленом канале в RAW больше в 2 раза, но и шумов там больше). В области светлее 0 EV jpeg начинает драматически проигрывать RAW'у и по ДД (он обрезан на 1 стоп в JPEG в светах) и по градациям яркости (количество разных значений на 1 стоп экспозиции в jpeg падает, а в RAW - растет).

Как несложно убедиться, динамический диапазон камеры при съемке в RAW составляет примерно 10,5 EV по одному каналу (что не удивительно для 12-битного АЦП). Из-за разной чувствительности каналов, при съемке серого объекта, если не допускать клиппинга ни по одному из каналов, мы получим ДД около 9EV. При частичном клиппинге, который может восстановить RAW-конвертер - примерно 10EV, и около 12 EV при ручной борьбе с клиппингом и тенями.

При съемке в jpeg, внутрикамерный конвертер ограничился ДД 8.5 EV (если измерить зону без частичного клиппинга).

Обратите внимание: я привел максимальную оценку ДД, не учитывающую величину шумов (тени исследовались до минимально возможного уровня, на котором в RAW еще виден результат изменения экспозиции в результате усреднения по достаточно большому фрагменту)! Довольно большая цифра ДД вовсе не означает, что Вы можете ошибиться на 4 EV при съемке сюжета в пасмурную погоду (с контрастом порядка 7 EV) и исправить эту ошибку в RAW-конверторе! Хоть камера и распознает яркости объектов в очень глубокой тени, уровень шумов там таков, что использовать эту информацию для экспокоррекции не стоит - шумы съедают мелкие детали, оставляя лишь форму объектов размером в десятки пикселей. Кроме того, посмотрите в таблицу - значения в RAW для самых темных зон отличаются на единицы! Из-за линейности матрицы самые темные объекты имеют в RAW 2-4 градации яркости при изменении яркости в 2 раза! Это нормально, если Вам нужно, чтобы в тени угадывались формы объектов, но абсолютно не годится для высветления.

Если мы наложим дополнительные ограничения по шумам на область теней, то получим меньшую величину ДД (т.н. "полезный ДД"), зависящую от наших требований к качеству изображения и способности камеры передавать мелкие детали. Это явление я буду изучать в следующей серии исследования.

Таким образом, снимая на этой камере в RAW и сравнивая результат с JPEG, Вы можете рассчитывать примерно на 1 стоп запаса для экспокоррекции в светах без клиппинга (и еще немножко, если конвертор хорошо справится с частичным клиппингом), причем картинка не потеряет в качестве (ровно наоборот - станет лучше), и примерно на 1 стоп - в тенях (да и то, результат обработки с экспокоррекцией в плюс на этой камере лично мне не нравится, но чуть-чуть подтянуть тени можно). Больше у нее никаких запасов нет.

Обратите внимание: смещение каналов в RAW зависит от цвета фотографируемой мишени и параметров чувствительности каналов у камеры (могут быть разные у разных моделей даже одного производителя). В JPEG к этому добавляется влияние баланса белого, а на форму кривой jpeg влияют также настройки яркости, контраста и highlights tone priority.

Важное замечание о гистограмме в камере: камера всегда показывает гистограмму для JPEG'а, даже при съемке в RAW. Поэтому прочтите написанное выше про запас в RAW'е относительно JPEG'а и не забывайте, изучая гистограмму на экране камеры.

P.S. Я люблю критику и не ленюсь объяснять свою позицию, но невменяемые "комментаторы" будут баниться. Первым нас покинул slowkukuing, не внявший предупреждению. Впрочем, все написанное до "последнего китайского предупреждения" я оставляю на память грядущим поколениям. Один дурак задаст столько вопросов, что и 100 мудрецов не ответят. Я тут отвечаю один, причем не мудрец, увы, поэтому дураков не выношу.
Comments 
9th-Jun-2008 02:26 pm (UTC)
спасибо )
9th-Jun-2008 04:06 pm (UTC)
спасибо!, хоть единичка запаса, но все-таки есть)
(Deleted comment)
9th-Jun-2008 05:36 pm (UTC)
Главное - самому понятно :)
(Deleted comment)
9th-Jun-2008 05:09 pm (UTC)
Кстати, а почто ты не поставил ББ прямо по той же мишени ?
9th-Jun-2008 05:17 pm (UTC)
А зачем? :)

Мысль такая была, но я хотел получить картинку, приближенную к боевой, у которой осталось какое-то расхождение между каналами.
9th-Jun-2008 05:15 pm (UTC)
Очень интересный результат. Пытаюсь понять как на запас по светам может повлиять изменение спектра освещения. Что-то голова забита другим, не могу сообразить. Т.е. если цветовая температура повышается, то красный становится менее недоэкспонированным, при этом он подтянется к зелёному или зелёный к нему? Не соображу.
9th-Jun-2008 05:22 pm (UTC)
Смещение между каналами, естественно, зависит от цвета мишени, и свойства матирцы (у Кенона зеленый чуть сильнее синего, красный - заметно слабее)

при повышении температуры цвет съезжает в желтый, т.е. растут сразу зеленый с красным.

Следующая моя заметка будет посвязена "псевдо-HDR" с вытягиванием облаков из клиппинга по выжившему красному каналу :)
9th-Jun-2008 05:45 pm (UTC)
Вы, Скоблов, молодец!
изумительная дотошность)
9th-Jun-2008 05:52 pm (UTC)
На самом деле меня давно мучал вопрос, что умеет моя камера точно.

А еще задолбали любители, теперь я могу их послать быстро вкуривать текст, вместо попыток переубедить пустыми словами и ссылками на Фила, у которого ничего не понятно :)
(no subject) - Anonymous - Expand
9th-Jun-2008 06:41 pm (UTC)
по-моему, очень толково. Спасибо за статью!

Жаль нет влияния ISO на ДД. Правда, это удлиннило бы эксперимент в разы.
9th-Jun-2008 07:13 pm (UTC)
Будет продолжение - по шумам и потере ДД, в зависимости от ISO и выдержки.

Грубый тест показывает, что ISO 800 - это минус 1 EV от ISO 100, ISO 1600 - еще минус 1 EV (т.е. можно и не использовать его, а просто ставить недодержку 1 EV на ISO 800). Но впереди нормальное исследование
10th-Jun-2008 01:41 pm (UTC)
Anonymous
Здорово. Тест аналогичен заводскому методу тестирования и калибровки поканального усиления и LUT для линеаризации. Объектив лучше брать подлиннее, хотя бы 135мм. Какая частота у монитора? Можно ли монитор включить через стабилизатор?

--
ib
10th-Jun-2008 04:41 pm (UTC)
Подлиннее у меня объектив весьма дерьмовый, поэтому я делал это на 55мм. Я думаю, это не важно - я замерял по достаточно небольшому участку.

Частота ... у LCD это разве важно? Я специально отразил акт использования MVA-матрицы, чтобы читатель точно был уверен, что ничего не мерцает. Чем может помочь стабилизатор - не знаю.

Проблема в следующем тесте - там надо бы поснимать миру, а ее расфокусированным объективом снимать глупо. Видимо придется снимать широкоугольником с приличного расстояния, чтобы иметь более-менее равномерный цвет.
11th-Jun-2008 08:30 am (UTC)
Обращаю внимание почтенной публики, что различать уровни 257-258-259-260
при дисперсии больше двух - это какая-то странная методика обработки данных.
11th-Jun-2008 08:41 am (UTC)
Алексей, четвертая цифра - это не дисперсия, а корень из нее.

Перечитываем вот этот кусок текста:
Обратите внимание: большая цифра ДД вовсе не означает, что Вы можете ошибиться на 4 EV при съемке сюжета в пасмурную погоду (с контрастом порядка 7 EV) и исправить эту ошибку в RAW-конверторе! Хоть камера и распознает яркости объектов в очень глубокой тени, уровень шумов там таков, что использовать эту информацию для экспокоррекции не стоит - шумы съедают мелкие детали, оставляя лишь форму объектов размером в десятки пикселей. Кроме того, посмотрите в таблицу - значения в RAW для самых темных зон отличаются на единицы! Из-за линейности матрицы самые темные объекты имеют в RAW 2-4 градации яркости при изменении яркости в 2 раза! Это нормально, если Вам нужно, чтобы в тени угадывались формы объектов, но абсолютно не годится для высветления.

На объектах, размером в "десятки пикселей", шумы сглаживаются шумодавом и глазом и их начинает различать не только регистрирующий прибор.
12th-Jun-2008 09:29 pm (UTC)
Спасибо! Прочитал - перевариваю...
13th-Jun-2008 07:51 pm (UTC)
Отличная статья! Буду показывать ее людям, которые все еще защищают JPEG.
13th-Jun-2008 07:56 pm (UTC)
последний график наглядно показывает, пчоему нельзя снимать в jpeg если планируется обработка :)
16th-Jun-2008 12:13 am (UTC)
Изложенный метод - это тот самый метод, которым пользовался Филл, пока от него не отказался в пользу теперешего (по таблице).

Изложенный метод безграмотный, поскольку не учитывает как минимум две вещи:
1. уровень шумов в тенях, чем и будет обусловлена (вернее - срезана) нижняя граница диапазона.
2. MFT (опять же - больней всего ударит по теням).

Филл меряет правильно - он смотрит в каком диапазоне камера ещё различает "градации серого", причём в обстановке "приближённой к боевой" - при экспозиции выставленной по уровню "серого" (т.е. на той экспозиции, которую камера и выберет).

кстати, говорить об линейности матрицы на основании представленных материалов тоже нелепо - все замеры велись с постоянной интенсивностью засветки. Такие "замеры" _ничего_ не говорят об функции отклика (т.е. той самой пресловутой гамме)
16th-Jun-2008 10:39 am (UTC)
Я ничего ен имею против тестирования по таблице - как я уже сказал, сомневаюсь в точности этой таблицы не я. Лично меня не устраивает в тестах Фила другое, о чем написано выше.

Уровень шумов тут учитывается, они приведены в четвертой колонке по каждому каналу (среднеквадратичное отклонение). Какой уровень выбрать для среза нижней границы - каждый решает сам исходя из требования к результату. Я тестировал максимальный диапазон, в котором камера дает отклик (т.е. различает именно уровни серого, поскольку измерение ведется по среднему уровню по площади плашки примерно 100x100), причем в выводах у меня написано, чего не следует ждать от этой цифры (читаемости мелких деталей в тенях на гнижней границе диапазона). Оценка ДД у меня практически та же, что и у Фила, причем он тоже измерял срединй уровень по площади клетки в таблице.

MFT тут вообще никаким образом - это тема для исследования влияния шумов на различимость деталей, а не для оценки ДД.

"все замеры велись с постоянной интенсивностью засветки"

Что Вы называете "засветкой"? Я исследовал отклик матрицы на изменяющийся сигнал на входе. Для изменения мне не обязательно менять яркость - можно менять и экспозицию. Матрице пофиг (если забыть про тепловые шумы, зависящие от вермени, и прочее).

Откуда вдруг в рассуждениях взялась "гамма" как функция отклика - я не понимаю. Отклик должен быть линейным и он получился линейным.
10th-Apr-2009 04:21 pm (UTC)
А почему в области 255-285 нелинейные графики?
19th-May-2010 02:58 pm (UTC)
И ты прав, и ты прав, и ты тоже прав (с) ;)
Прежде всего, хотелось бы поблагодарить Анатолия за попытку выяснить и выдать нагора практически полезные данные.
Но мне тоже не все "понравилось" в этом эксперименте. Не буду усуглублять. Но то, что использованный источник не подходит очевидно. К сожалению, это далеко не все. Все почему-то забыли про усилители сигнала матрицы. Отклик матрицы на краях нелинеен. Его лианиризуют. Со всеми вытекающими последствиями. А неучет понятия ББ вносит еще бОльшую неразбериху. Что такое ББ с аппаратной точки зрения - это различное усиление по каналам. Оно нам надо? Ответа может быть 2:
1) да, если мы хотим исследовать потенциальные возможности системы. Для этого нужно подобрать освещение, которое будет соответствовать единичному (или равному) усилению в каждом канале.
2) нет, если нам нужны реальные, практически применимые выводы. Но, тогда нам необходимо проводить тесты при освещении, для которого мы эти выводы задумали. Тогда мы получим реальный практический (т.е. полезный) ДД, забыв про все аппаратные навороты как про "черный ящик".

Чего я не понял, так это комментариев автора под графиком джипега :(
Надеюсь, что Анатолий проведет повторный эксперимент и расскажет нам о результатах. Я, в качестве мишени, часто использую катушку хлопковых ниток серого цвета, убедившись, что они не флюорисцируют. Это позволило мне выявить потенции моего фота очень точно. Так, по джипегу моя ЦМ дала 3-3,5 стопа чистого ДД и 4-4,5 по РАВу (10бит). Все остальное оказалось от лукавых маркетологов.
19th-May-2010 04:10 pm (UTC)
> Но то, что использованный источник не подходит очевидно.

Его мерцание не сказывается на результате замера. Я делал контрольные замеры с короткой выдержкой, не плавают цифры.

> Все почему-то забыли про усилители сигнала матрицы. Отклик матрицы на краях нелинеен. Его лианиризуют. Со всеми вытекающими последствиями.

Я исследую данные после усилителя, на выходе АЦП. Для меня усилитель - черный ящик в электронной схеме.

> А неучет понятия ББ вносит еще бОльшую неразбериху. Что такое ББ с аппаратной точки зрения - это различное усиление по каналам.

ББ с аппаратной точки зрения не существует в большинстве камер. Моя - не исключение. Снимите одно фото с разным ББ и посмотрите данные в RAW.

> Чего я не понял, так это комментариев автора под графиком джипега :(

Да я вроде бы все написал развернуто.

> Так, по джипегу моя ЦМ дала 3-3,5 стопа чистого ДД и 4-4,5 по РАВу (10бит). Все остальное оказалось от лукавых маркетологов.

Нереальная цифра даже для мыльницы.
28th-Dec-2010 06:24 am (UTC)
Anonymous
да этот Phil Askey вообще дибил какой-то. я вообще не понимаю что он делает на этом сайте и кто его пустил проводить обзоры матриц.
Page 1 of 2
<<[1] [2] >>
This page was loaded Nov 17th 2018, 9:08 pm GMT.