Вход

Просмотр полной версии : Проблемы оптимизации (bias / dark) на Canon EOS


BorisE
16.01.2012, 16:31
Как следует из теории, любой dark frame содержит в себе и bias frame.
Другими словами, каждый пиксел в dark frame содержит значение bias пьедестала в этом пикселе + накопленный темновой ток в этом пикселе. Ну и плюс на все это накладывается шум считывания.

Если перейти к цифрам, то средний bias для Canon500D должен быть в районе 1024 ADU (где-то так и получается по факту в bias кадре). Среднее значение Dark’а должно быть, следовательно, ~1024ADU + среднее значение темнового тока (зависит от температуры), ну и плюс шум считывания.

Это теория. А теперь практика, которая вводит меня в состояние когнитивного диссонанса:
- среднее значение мастербиаса (из суммы 21 биасов) равно 1024.768ADU;
- среднее значение мастердарка (сумма 34 кадров, выдержка 300 сек, iso1600, температура по датчику canon’а 5-10 градусов) 1023.55ADU
Т.о. среднее значение пиксела в bias фрейме больше, чем среднее значение в темновом кадре! bias>bias+dark => Отрицательный темновой ток?! Или недопонимание чего-то?

Просьба объяснить неучу…

monstr
16.01.2012, 18:05
Теория изложена верно, но для перехода к практике нужны анализируемые файлы.

Еще нужно проверить методику получения мастердарка. Возможно, в нем уже вычтен мастербиас и добавлен педестал. Глянь заголовки мастердарка.

monstr
16.01.2012, 18:05
Теория изложена верно, но для перехода к практике нужны анализируемые файлы.

Еще нужно проверить методику получения мастердарка. Возможно, в нем уже вычтен мастербиас и добавлен педестал. Глянь заголовки мастердарка.

BorisE
16.01.2012, 19:47
Теория изложена верно, но для перехода к практике нужны анализируемые файлы.

Еще нужно проверить методику получения мастердарка. Возможно, в нем уже вычтен мастербиас и добавлен педестал. Глянь заголовки мастердарка.

Я привел данные, так сказать, в сопоставимых показателях (на самом деле из masterdark'а был вычтен masterbias и добавлен пьдестал).

Но в принципе, я правильно считаю, что здесь что-то не так?

masterbias (http://astro.interomania.ru/Master_Bias 1_4770x3178_Bin1x1_Temp1600C_ExpTime0ms.fit)
masterdark (http://astro.interomania.ru/Master_Dark 1_4770x3178_Bin1x1_Temp1600C_ExpTime300s.fit) (вычтен masterbias и добавлен пьедестал 300)
одиночный dark (http://astro.interomania.ru/dark_01.fit)

Обработка калибровочных кадров в MaximDL (сложение по sigma clipping). Перепроверено пошагово в PixInsight с простым average.

monstr
17.01.2012, 10:40
Я привел данные, так сказать, в сопоставимых показателях (на самом деле из masterdark'а был вычтен masterbias и добавлен пьдестал).

Но в принципе, я правильно считаю, что здесь что-то не так?

masterbias (http://astro.interomania.ru/Master_Bias 1_4770x3178_Bin1x1_Temp1600C_ExpTime0ms.fit)
masterdark (http://astro.interomania.ru/Master_Dark 1_4770x3178_Bin1x1_Temp1600C_ExpTime300s.fit) (вычтен masterbias и добавлен пьедестал 300)
одиночный dark (http://astro.interomania.ru/dark_1.fit)

Одиночный дарк не качается. Перевыложи плиз.

BorisE
17.01.2012, 10:43
Одиночный дарк не качается. Перевыложи плиз.
Поправил

monstr
17.01.2012, 10:47
Поправил

И правда, странный дарк. Ещё, не затруднит ли тебя:
- выложить одиночный BIAS;
- проверить, выключен ли на камере "шумодав при длительных выдержках", ровно как и все остальные шумодавы.

BorisE
17.01.2012, 11:26
И правда, странный дарк. Ещё, не затруднит ли тебя:
- выложить одиночный BIAS;
- проверить, выключен ли на камере "шумодав при длительных выдержках", ровно как и все остальные шумодавы.

одиночный bias (http://astro.interomania.ru/bias_01.fit)

Шумодавы вроде отключал, но обязательно перепроверю.

monstr
17.01.2012, 13:59
одиночный bias (http://astro.interomania.ru/bias_01.fit)

Шумодавы вроде отключал, но обязательно перепроверю.

Какая-то и правда, "магия".
Причину такого косяка допускаю в:
- включенных шумодавах камеры;
- каких-то мне неизвестных (и не зафиксированных в заголовках фита) преобразованиях кадра, полученного с камеры;
- ошибка софта, получающего кадры.

Исследование я бы начал с кадров с фотика, полученных через EOS Utility. Если проблемы там нет, то очевидно что она в максиме - надо изучать эту часть. Если же и там кадры уже с таким феноменом, надо изучать настройки камеры.

Вот одиночные калибровочные с моего Canon 400 (12 бит) от 02.03.2009: ftp://home.milantiev.com/pub/Calibrate/canon/

-----

Аха, глянул их. И всё именно так и есть, как у тебя:

BIAS
Maximum 345.000
Minimum 177.000
Average 257.152
Std Dev 4.989

DARK
Maximum 4057.000
Minimum 164.000
Average 257.110
Std Dev 5.207

То есть среднее по двухминутному дарку меньше среднего по биасу.
Сейчас у меня нет возможности проанализировать все файлы - они дома, я в офисе - на предмет правило это или исключение.

Я могу ещё объяснить, почему среднее по дарку не особо отличается от среднего по биасу - влияние горячих не большое, так как их мало, но почему оно меньше... а если оно ещё и всегда меньше :)

onwlad
17.01.2012, 16:46
Т.о. среднее значение пиксела в bias фрейме больше, чем среднее значение в темновом кадре! bias>bias+dark => Отрицательный темновой ток?! Или недопонимание чего-то?


Уровень (пьедестал) биаса слегка плавает, менятся. Даже на термостабилизированных CCD при одной и той-же температуре на чипе, но при разных температурах наружного воздуха она может различаться в пределах 1-3 ADU. А тепловой (темновой) ток не слишком велик. Отсюда и возникает погрешность. Для оценок темнового тока надо смотреть не на средние значения, а Std Dev площадок биаса и темнового кадра.

BorisE
17.01.2012, 18:19
Уровень (пьедестал) биаса слегка плавает, менятся. Даже на термостабилизированных CCD при одной и той-же температуре на чипе, но при разных температурах наружного воздуха она может различаться в пределах 1-3 ADU. А тепловой (темновой) ток не слишком велик. Отсюда и возникает погрешность. Для оценок темнового тока надо смотреть не на средние значения, а Std Dev площадок биаса и темнового кадра.

Проверил по кадрам. Если говорить об одиночных биас кадрах, то да, он плавает на 2..3 ADU. Как я понимаю, это происходит из-за добавление шума считывания. Но в среднем значение близко к пьедесталу (1024), что и показывает суммирование большого числа кадров.

По идее, шум считывания объясняет то, что отдельно взятый дарк может быть меньше биаса, но в среднем (при суммировании большого количества кадров) должно выполняться правило "неоткалиброванный дарк">"биаса", разве нет?

Или просто остаточный шум считывания даже на сумме из 21 кадра больше, чем уровень темнового тока?

BorisE
17.01.2012, 18:38
Для оценок темнового тока надо смотреть не на средние значения, а Std Dev площадок биаса и темнового кадра
Можно чуть подробнее.

Насколько я начитался книжек, Std dev одиночного биаса - это разброс "нежелательного" сигнала + шум считывания. Суммы биасов - практически полностью только разброс "нежелательного" сигнала.
В дарках тоже самое, только уровень "нежелательного" сигнала гораздо больше (темновой ток "обычных" пикселов, горячие пикселы, наводки от электроники, ...)

Как оценить размер только темнового тока по этим показателям? Нужно сравнивать stdev усредненного дарка и stdev усредненного биаса?

Rain Dog
17.01.2012, 23:24
Посмотрел у себя на кэноне - тоже самое. Среднее значение у дарков и биасов не сильно отличается. Правда у дарка чуть-чуть, но больше. Может это говорит о том, что у кэнона основной вклад в шум вносит не тепловая генерация, а ошибки считывания и т.п., которые и составляют биас? Интересно что у QHY8 с этим... =)

onwlad
18.01.2012, 00:23
Насколько я начитался книжек, Std dev одиночного биаса - это разброс "нежелательного" сигнала + шум считывания. Суммы биасов - практически полностью только разброс "нежелательного" сигнала.


Std dev выделенной площадки одиночного биаса - это шум биаса в ADU.
Если вычесть из одного одиночного биаса другой одиночный биас, затем измерить Std dev площадки и поделить на корень из 2 - то получим величину шума считывания в ADU.
В сумме биасов действительно нет шума считывания, только постоянная составляющая.



Как оценить размер только темнового тока по этим показателям? Нужно сравнивать stdev усредненного дарка и stdev усредненного биаса?

Прямая оценка темнового тока по классическим методикам (через разницу средних значений), как стало понятно, не работает. Причина? Ну, не знаю. Может внутренние алгоритмы кэнона пьедестал корректируют каким либо хитрым образом?

Попробуйте измерить на биасах величину шума считывания в ADU (как показано выше).
Далее темновой ток можно вытащить из формулы:

stdev одиночного дарка (ADU) = корень квадратный из суммы шума считывания (ADU) в квадрате и произведения темнового тока в (ADU/сек) с величиной выдержки (сек.).
Далее если известен гейн камеры (в электрон / ADU) то вычислить темновой ток уже в электрон / секунду.

Вроде так.

monstr
18.01.2012, 01:43
-10°C

BIAS
Maximum 1578.000
Minimum 1314.000
Average 1402.800
Std Dev 16.764

DARK 10m
Maximum 65535.000
Minimum 1311.000
Average 1402.812
Std Dev 108.346

BorisE
18.01.2012, 14:28
Std dev выделенной площадки одиночного биаса - это шум биаса в ADU.
Если вычесть из одного одиночного биаса другой одиночный биас, затем измерить Std dev площадки и поделить на корень из 2 - то получим величину шума считывания в ADU.
В сумме биасов действительно нет шума считывания, только постоянная составляющая.
Да, я измерял и так, и чуть по другому - мне вторая методика больше нравится из-за ее "прозрачности" - std dev(одиночный биас - усредненный биас). Результат независим от температуры и составляет ~20ADU на iso1600.

Прямая оценка темнового тока по классическим методикам (через разницу средних значений), как стало понятно, не работает. Причина? Ну, не знаю. Может внутренние алгоритмы кэнона пьедестал корректируют каким либо хитрым образом?

Попробуйте измерить на биасах величину шума считывания в ADU (как показано выше).
Далее темновой ток можно вытащить из формулы:

stdev одиночного дарка (ADU) = корень квадратный из суммы шума считывания (ADU) в квадрате и произведения темнового тока в (ADU/сек) с величиной выдержки (сек.).
Далее если известен гейн камеры (в электрон / ADU) то вычислить темновой ток уже в электрон / секунду.

Вроде так.
Ага, я кажется понял вашу идею. Мы можем измерить дробовой шум (shot noise) от темнового тока, а он равен sqrt(темновой ток).

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

Расчеты тогда такие (все расчеты произведены в PixInsight, снимки на Canon500D, ISO1600, время экспозиции дарков 300сек, температура по датчику фотоаппарата от +4 до +11):
- masterbias (mean/median [min...max] stdev): 1024.729/1025.048 [774.714...1944.286] 6.329
- одиночный bias: 1024.8/1025.0 [399.0...1894.0] 20.7
- "одиночный биас" - masterbias + пьедестал 1000ADU (READOUT_NOISE): 1000.1/1000.0 [365.0...1864.0] 19.7
Итого шум считывания: 19.7ADU

- masterdark (сумма только 5 кадров): 1023.797/1023.200 [532.750...15615.000] 22.641
- одиночный dark: 1023.7/1023.0 [389.0...15615.0] 32.0
- "одиночный dark" - masterdark + пьедестал 1000ADU (DARK_NOISE): 999.9/1000.0 [369.0...8296.0] 22.0

Тогда, соответственно, по формуле мы получим следующее уравнение:
Stdev (DARKNOISE)= SQRT[ stdev(READOUT_NOISE)^2 + (SQRT(DCt*T))^2 ], где DCt – темновой ток в единицу времени, T – время экспозиции кадра

Переходя к числам и упрощая: 22.0=SQRT[19.7^2+DCt*T], откуда темновой ток равен DCt*T=95,91 ADU, или, т.к. это 300 сек дарки, DCt=0,32 ADU/сек.

Т.е. чисто теоретически, уровень DARK’а должен быть где-то 1024+96=1120, а он равен 1024...

Отсюда, можно сделать следующие выводы:
- я использую ошибочную теоретическую модель
- я использую нерепрезентативные данные
- Canon "обрезает" пьедестал до 1024 по каким-то своим алгоритмам...

P.S. А вот в случае QHY8L, я думаю, темновой ток действительно просто очень мал...

onwlad
18.01.2012, 16:30
Ага, я кажется понял вашу идею. Мы можем измерить дробовой шум (shot noise) от темнового тока, а он равен sqrt(темновой ток).

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



Да, вычитание именно мастербиаса или мастердарка из одиночного кадра позволяет эффективно убрать именно постоянную составляющую шумов.
Касательно полученных цифр, у меня получились похожие значения - шум считывания 20 ADU, темновой ток порядка 0,4-0,5 ADU в секунду. Измерение проводилось на одиночных кадрах, для уменьшения влияния крупномасштабных влияний постоянной составляющей измерение stdev проводил по площадкам 100 х 100 пиксел.

Кстати, к вопросу возможной нерепрезентативности

http://astrosurf.com/buil/50d/test.htm

уровень биаса на 14 разрядных Кэнонах все те же 1024 единиц ADU, поразительное совпадение, однако.

BorisE
18.01.2012, 16:41
Кстати, к вопросу возможной нерепрезентативности

http://astrosurf.com/buil/50d/test.htm

уровень биаса на 14 разрядных Кэнонах все те же 1024 единиц ADU, поразительное совпадение, однако.

И, кстати, если брать уровень темнового тока из приведенных по ссылке данных для Canon 50D в пересчете на iso1600 он должен быть равен 0.42 ADU/сек. Что по порядку соответствует полученным расчетным...

Значит что-то не так делает Canon. Поиск по cloudynights и прочим ничего пока не дал...

onwlad
18.01.2012, 17:01
Определено!
А то можно подумать, что темновой ток чуть ли не отрицательный.

BorisE
18.01.2012, 17:08
Есть, нашел! Источник, вроде, авторитетный :)
http://www.stark-labs.com/craig/articles/assets/DSLRvsCCD_API.pdf Читать прямо с первой строчки четвертой страницы.

Оказывается, цифровой процессор Canon автоматически регулирует уровень черного в кадрах. И это неотключаемо. Причем на 350D там таже обратный эффект наблюдается - уровень темнового кадра уменьшается с ростом выдержки.

И там же сразу содержится следствие из этого - что никакого масштабирования темнового кадра на этих Canon делать нельзя.

onwlad
18.01.2012, 17:46
Есть, нашел! Источник, вроде, авторитетный :)


Да, Крейгу Старку, конечно верить можно.
Можно считать вопрос решеным и закрытым!

Rain Dog
18.01.2012, 21:41
С большим интересом почитал! Спасибо за ссылку. Я сам догадывался что кэнон что-то делает, или что-то мы не правильно считаем. Провел маленький эксперимент. Это кадры BorisE. Смотрел все в ирисе, сначала посмотрел статистику, затем вычел из всего кадра минимальное значение и опять посмотрел статистику:
До вычитания.
bias:
Mean: 1025.0
Median: 1025
Sigma: 20.8
Maxi.: 1909.0
Mini.: 410.0

dark:
Mean: 1023.7
Median: 1023
Sigma: 32.0
Maxi.: 15615.0
Mini.: 389.0

После вычитания.
Bias:
Mean: 615.0
Median: 615
Sigma: 20.8
Maxi.: 1499.0
Mini.: 0.0

dark:
Mean: 634.7
Median: 634
Sigma: 32.0
Maxi.: 15226.
Mini.: 0.0

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

Еще у меня вопрос, откуда формула для шума считывания? Я не встречал такой формулы. Но с другой стороны этот шум не важен, т.к. обычно он убивается количеством кадров.

BorisE
18.01.2012, 22:19
Да, Крейгу Старку, конечно верить можно.
Можно считать вопрос решеным и закрытым!

Я удивлен, что это не очень широко известно, т.к. при использовании DSLR это, в принципе, оказывает существенное влияние на процесс калибровки:
- условия съемки дарков должны быть максимально приближены к лайтам, т.к. оптимизация дарков не работает;
- не остается ни одного аргумента в пользу съемки биасов - лучше снимать дарк флеты: по трудоемкости это сопоставимо, а на итоговый SNR будет влиять больше;
- если все же используете биасы, обязательно нужно добавлять значительный искусственный пьедестал (на iso1600 Canon500 не менее 500ADU), иначе masterdark будет испорчен.

Поправьте меня, если я не прав.

BorisE
18.01.2012, 22:25
Еще у меня вопрос, откуда формула для шума считывания? Я не встречал такой формулы. Но с другой стороны этот шум не важен, т.к. обычно он убивается количеством кадров.
Это не совсем формула, это скорее подход к его оценке. Теория проста - обычный одиночный биас кадр содержит в себе "нежелательный" сигнал+шум считывания. Путем усреднения множества биасов (т.е. получение мастербиаса), убирается шум считывания (уменьшается в sqrt(кол-во биасов) раз) и остается один "нежелательный" сигнал (фактически, неравномерность пьедестала от пиксела к пикселу). Если теперь вычесть из одиночного биаса мастербиас, то останется один шум считывания. Он характеризуется параметром stdev такого кадра.

Для иллюстрации, я приложил файлы - на одиночном кадре сложно заметить какой-то рисунок сигнала из-за шума, но на той же области после суммы 21 кадра хорошо заметен узор - это и есть нежелательный сигнал.

Rain Dog
18.01.2012, 22:41
Это не совсем формула, это скорее подход к его оценке. Теория проста - обычный одиночный биас кадр содержит в себе "нежелательный" сигнал+шум считывания. Путем усреднения множества биасов (т.е. получение мастербиаса), убирается шум считывания (уменьшается в sqrt(кол-во биасов) раз) и остается один "нежелательный" сигнал (фактически, неравномерность пьедестала от пиксела к пикселу). Если теперь вычесть из одиночного биаса мастербиас, то останется один шум считывания. Он характеризуется параметром stdev такого кадра.

Я понял как считать. Только не понял почему он называется шумом считывания. Просто какой-то случайный шум.
Сейчас сделал по 10 биасов с разными исо и посчитал. Получилось: 1,8 2,1 2,8 4,5 8,0 соответственно при исо от 100 до 1600. Получилась линейная зависимость от исо, что может означать что это действительно как-то связано с шумом считывания... Все считал в ирисе.

BorisE
18.01.2012, 22:58
Я понял как считать. Только не понял почему он называется шумом считывания. Просто какой-то случайный шум.

Насколько я понимаю, в bias-кадре просто не содержится других видов шумов в существенном объеме (теория говорит, что есть еще очень небольшой темновой ток, который создавает очень-очень небольшой шум; плюс есть случайный шум от собственно нежелательного сигнала, плюс еще, наверное, что-нибудь, но все это намного меньше шума считывания).

Сейчас сделал по 10 биасов с разными исо и посчитал. Получилось: 1,8 2,1 2,8 4,5 8,0 соответственно при исо от 100 до 1600. Получилась линейная зависимость от исо, что может означать что это действительно как-то связано с шумом считывания... Все считал в ирисе.
Отлично, вы можете сравнить с полученными Christian Buil'ем для некоторых камер значениями по ссылке (http://astrosurf.com/buil/50d/test.htm) выше.
Только что-то очень мало получилось (мы выше считали, что для Canon500 на iso1600 шум считывания составляет около 20ADU).

UPD.А, понял почему мало - Canon1000D 12bit'ный..

onwlad
18.01.2012, 23:06
Да, все же для нетермостабилизированной зеркалки, с ее более сильными темновыми токами, лучше использовать честный дарк.
По своему опыту, при использовании охлаждаемой ПЗС, замена дарков биасами при калибровке по темновому току практически никак не отражается на конечном результате.

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

BorisE
18.01.2012, 23:36
С другой стороны немного несогласен, что кэноновские дарки - биасы несколько как сказать "неправильны" и невзаимозаменяемые. Значение пьедестала не важно, а структура и сами шумы явно не корректируются. Скорее всего для экономии времени(окончательно проверить можно только опытом), и вполне корректным будет применение биасов скажем для дарк флэтов.

В вопросе ненужности биас'ов я рассуждал так:
1. Как известно, правильная калибровка подразумевает использование darkflat'ов и/или bias'ов (http://deepskystacker.free.fr/english/theory.htm#CalibrationProcess)
2. Если используются darkflat'ы, то bias'ы, как я понимаю, нужны только для масштабирования дарков, т.к при вычитании дарка из лайта вы одновременно вычитаете и биас (подробнее, см. http://www.shvedun.ru/astrofoto-jim-2.htm)
3. Т.к. с вышеопределенным подходом процессора Canon к обработке изображений о масштабировании дарков можно забыть, то в случае использования darkflat'ов использование bias'ов уже ни к чему.
4. Т.е. остается рассмотреть только две альтернативы - использовать или darkflat, или bias (для вычитания из flat'а). Вычитание masterdarkflat из flat'а в отличие от вычитания masterbias'а откорректирует flat не только на "нежелательный" сигнал в bias'е, но и плюс уберет "нежелательный" сигнал темнового тока (пусть и незначительного на типичных выдержках для flat'ов) - например, уберет хотя бы самые "быстрые" горячие пикселы.

Т.о. вариант с darkflat'ом выглядит предпочтительней. Но вы правы, это нужно проверять опытом.

NKV
05.02.2012, 21:33
Canon растягивает или вычитает? Каков вердикт?

BorisE
05.02.2012, 22:17
Собственной квалификации мне не хватает для соответствующих тестов, но г-н Старк в еще одной статье (http://www.stark-labs.com/craig/articles/assets/3CanonDSLRs_ATT09.pdf) провел исследование этого эффекта, и пришел к выводу, что именно что масштабирует...

NKV
06.02.2012, 07:58
г-н Старк в еще одной статье (http://www.stark-labs.com/craig/articles/assets/3CanonDSLRs_ATT09.pdf) провел исследование этого эффекта, и пришел к выводу, что именно что масштабирует...Спасибо!