星撮り日記

CMOSカメラのオフセットについて

2020/12/07
機材 12
こんにちは、nabeです。

ブラックフライデーセールに踊らされて買ったASI2600MC Proが届きました。APS-Cのカラーカメラで16bitのA/Dコンバーター、2600万画素裏面照射型。これで20万というのだから、下手したら最新のAPS-Cカメラを天体改造するより安上がりです。ものすごいゲームチェンジャーだと思います。

で、今まさにベランダでファーストライトを行っているわけですので、こちらは作例とともに後日記事にしたいと思います。

それで、CMOSカメラのオフセットについてはいつもドライバの標準値を使っていましたが、本当にそれで正しいのかという疑問が出てきたのです。CMOSカメラのよくわからないオフセットについて今回は少し調べてみました。
スクリーンショット 2020-12-07 005827
CMOSカメラの設定画面。Highest Dynamic Rangeのデフォルトは50でした。


■オフセットとはなんぞや?

オフセットとは下駄のようなものです。シグナルがゼロやマイナスになると画像処理の上で不都合が生じるため、予めゼロやマイナスの値を発生させないように最低値を底上げしてしまおうというものになります。大きすぎると微弱な信号はオフセットに埋もれてしまい、小さすぎるとおかしなダークやバイアスになってしまいます。



■どうしてオフセットが必要なの?

皆様御存知の通り、カメラは全く光を受けていない状態でも画素ごとに明るさが異なるノイズパターンを持っています。これがバイアスノイズ(リードアウトノイズとも)と呼ばれるものです。

Hny_スクリーンショット 2020-12-07 004445
1/10000000秒露光のバイアスノイズ

オフセットが低すぎると、このノイズの一番暗いところが0より小さくなってしまって、正しく減算が行われなくなってしまうという問題が起こります。スクリーンショット 2020-12-07 005055
ASI2600MC gain0 offset0 1/10000000s bias

マカリというFITデータを解析できるフリーのソフトウェアで最小カウントを調べると、0.00000と表示されています。画像にマイナスの値は記録できない(存在しない)ので0よりも暗いピクセルがすべて0として記録されてしまっているからだと推測しています。

平均値を見ても1.9と小さく、多くのピクセルが0に張り付いてしまっていて、この画像を使ってバイアスやダーク減算の処理を行っても正しい結果が得られないことは感覚的におわかりいただけるかと思います。

要は、最小カウントが0にならないようにオフセットをかけて、データが0に張り付かないようにしないといけない訳です。



■調べてみました

ゲインとオフセットを変えて、先程の画像解析ソフトマカリでそれぞれの最小輝度を調べて、最小値が0に張り付かないオフセットを探ってみることにしました。

2020-12-06 (1)
ASCOMドライバから都度オフセットを変更して撮影を行いました。ちょっとめんどくさい(笑)

スクリーンショット 2020-12-07 005658

結果はこちら。詳しく見ていくとオフセット0・5・10まではすべて最小輝度が0に張り付いてしまっているのが分かります。オフセットが15のときに最小輝度が28となって、その後5増えるごとにほぼリニアな増加傾向を示しています。

では、バイアスではなく長秒露光のダークノイズではどうなっているでしょうか。

スクリーンショット 2020-12-07 011151

こちらも先程のバイアスとほぼ同じようにほぼリニアなグラフになりました。15の時の輝度に少し違いがありますが、50の時はどちらも395付近になりますので、露光時間に関わらずオフセットは一定の値が乗ると考えて良さそうです。

先程のテストは冷却温度0℃で行いましたが、温度が変わるとどうでしょうか?
同じゲイン、オフセット、露出時間で冷却温度を15℃にして同じように計測してみました。
スクリーンショット 2020-12-07 012335
最大輝度は大幅に上がっていますが、これはおそらくダークノイズの影響です。4万カウントもダークが乗るなんて恐ろしいですね。0℃冷却では大体1万カウントでしたから、4倍近くノイズレベルが大きいということになります。冷却バンザイ。
肝心の最小輝度についてはこちらも15からリニアな増加を示す傾向は同じでした。このことからも、温度依存は無いと考えて良さそうです。

よって、自分の所持しているASI2600MCではオフセットは15~20で使うのが最もダイナミックレンジを稼げるポイントだと言うことが分かります。

ところで、オフセットを上げていけば最小輝度はどんどん上がり、底付きは無くなるわけですが、上げ過ぎも良くないのだと思います。A/Dコンバーターが16bitの場合、2の16乗で65535段階の階調がありますから、100や200のオフセットの下駄は誤差だと言えます。ただ、ASI533のように14bitのA/Dコンバーター搭載機の場合は階調が16384段階、ASI1600のような12bit機では4096階調になりますので、オフセットで下駄を履かせすぎると相対的に影響が大きいことはお分かりいただけると思います。
スクリーンショット 2020-12-07 020123
14bit機のASI533のオフセットはデフォルトで70になっていますが、計測してみると最小輝度が2640※になってしまいます。実際は16bitの容器に収めるために4倍した数値のため、660カウントの下駄が履かされているわけですが、14bitに変換すると実に4%もの下駄を履かされている計算になります。ちょっと大きすぎる気がするので、5とは言わずとも10~15での運用に変更しようかと考えています。

ところで、何故ASI2600MCはゲイン0運用で、ASI533MCはゲイン100運用なのかというと、このA/Dコンバーターのビット数の違いがあるためです。
2機種とも、実はピクセルピッチは同じで、フルウェルキャパシティも50,000と同じで、兄弟のようなセンサーなのですが、2600MCは16bit機なのに対して、533MCは14bit機になっています。

ビット数が違えば、同じゲインでもA/Dコンバーターがカウントする光子の値が違ってきます。ASI2600MCはゲイン0の時に約0.8e-/ADUとなっています。0.8光子で1の輝度を返すという設定ですね。この場合、フルウェルキャパシティの50,000光子をカウントした時に62,500の輝度を記録するようになります。16bitの65535階調をうまく使い切れるように実にうまく設計されています。

ゲインが100を超えると読み出しノイズが下がるHCGモードが作動しますが、フルウェルキャパシティは低下し、リードノイズが下がると言っても、元々十分低い読み出しノイズなので無視しても良いレベルだと考えています。

ASI533の場合、50,000カウントのフルウェルキャパシティを14bitの16384階調に収めるためにASI2600MCとゲインの設定が異なります。
ASI533MCのゲイン0のときの設定は3.1e-/ADUとなっていますので、3.1個の光子で1を記録するという設定になっています。この設定によって50,000の光子を溜め込んでも16384階調にすべてを収められるというわけです。

ただ、3個も光子が飛んでこないような淡い天体の光は十分に捉えることができないかもしれません。どのみち16384階調に収められてしまうのであれば、50,000e-のフルウェルキャパシティを少し削ってでも、HCGモードが有効になって、読み出しノイズが下がる1.0e-/ADUのユニティゲインで露光したほうが得だと考えたためです。オリオン大星雲のような極端に輝度差の大きな天体はゲイン0が有効かもしれませんが、自分が撮影するような淡い天体は今の所ゲイン100ですべてうまく行っています。

蛇足にしては少し長い説明になってしまいましたが、似たようで全く違う特性のセンサーに仕上がっているのがこの2台の面白いところです。
ゲインとオフセットがCMOSカメラを扱う上で大きな壁になっていることは間違いないと思います。特に自分のようにカメラ畑で育った人間としては、ゲインを上げるとノイズが減るという事実※に最初は困惑しました。※信号は増幅され、読み出しノイズが相対的に小さくなるため。

自分が参考にさせてもらっているブログでも「パーソナルリアリティの確率」が挙げられていますが、本当にそのとおりだと思います。
様々な情報から自分の機材や撮影スタイルに合わせてトライアンドエラーで最適解を探っていく作業がどうしても必要になります。そのためにも、ゲインやオフセットに対して理解を深めていくのは重要なことだと思います。



■今回不明な点

オフセットを最小輝度が0に張り付かないギリギリにした時、ダークやバイアスの減算を行った場合、もしかすると負の値が生まれてしまう可能性があるので、メーカーのデフォルトは少し高めのオフセット設定になっているのかもしれません。
こればかりはまだ処理をしていないので不明ですが、最小値ギリギリでの運用は避けたほうが良いかもしれません。例えば2600MCならオフセット15ではなく20~25程度にするのが賢い運用だと思います。

何故オフセットが手動で設定できる(設定しなければいけない)ようになっているのかについては、推測ですがセンサーの個体差があるからだと思っています。今回自分の個体では上記のような設定で底付きが解消されることが分かりましたが、同じ型番のセンサーでもバラツキが有るのではないでしょうか?
メーカーが「少なくとも最小値が0にならない設定」としてプリセットを組んでいるのであれば、50や70などの高いオフセット値も分かる気がします。

マカリはフリーソフトなので、もしASI2600やASI533をお持ちの方が居たらぜひ同じように調べてみると面白いかもしれません。

専門家ではないので全く間違ったことを書いてるかもしれません。「これは違うよ!」というのがありましたらご指摘いただけると幸いです。

なかなか一筋縄では行かないCMOSカメラですが、特性がわかってくると根拠を持って設定を組めるようになるので、より一層面白みが増してきます。

■今回参考にさせていただいたページ

あしあと~星空航海日誌~
https://oozoraashiato.blog.fc2.com/blog-entry-2104.html
ここを読めば更に理解が深まると思います。というか、ほぼ全てがここに載っています。CMOSカメラを使って天体写真を取る人は絶対に一度は読んだほうが良い記事です。

あ~っ、テスト撮影中の画像、ゲイン0で撮影するつもりが全てゲイン100で撮ってしまった…。
シーモスカメラムズカシイデス。

それでは。


関連記事
スポンサーサイト



Comments 12

There are no comments yet.

みお

面倒なことお疲れ様です
ゲインは以前に高い方か低い方かどっちが良いんだ論争ありましたが、オフセットはスルーで何だかなーって思っていました。

2600mc海外で色々言われていますが、ゲイン0だとオフセット13、ゲイン100で17がベストという結論みたいなのがあるので、それを使っています。つまりnabeさんの計測とほぼ同じですね。
ただ…たぶん撮影時に設定間違える自信があるので17でやろうかなーって思っています。

2020/12/07 (Mon) 10:31

-

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

2020/12/07 (Mon) 11:59

chippu

コメントが・・

非公開になってしまった。

2020/12/07 (Mon) 13:08
nabe

nabe

Re: タイトルなし

みおさん、こんにちは。コメントありがとうございます。

(長時間露光の)天体写真においてはゲイン0、すなわち最も飽和しにくく最大のダイナミックレンジが確保できる撮影方法がベターだと思っています。ただカメラによっては記事の中でも触れたようにゲイン0とユニティゲインの差が殆どないものもあるので、そのあたりは臨機応変にですね。

16bitも階調があるので覚えやすい20くらいを常用オフセットにしようかなと思っています。ギリギリすぎるとダークやバイアス処理の時に揺らぎで0に張り付くピクセルが出てきそうなので。

2020/12/07 (Mon) 15:36
nabe

nabe

Re: 大変参考になります。

非公開さん、こんにちは。コメントありがとうございます。

普通の普及カメラからしたら全く触れたことのない設定ばかりで最初は苦労するかもしれません。逆に、普段一眼カメラで撮影している人もCMOSカメラではほぼ同じスタートラインから始まるので、今から乗り換えておけば頭一つ抜き出るチャンスかも知れません(笑)

大容量電源やパソコンが必要な点で敷居はちょっと高いですが、画像処理は非常に楽だと思います。感度に関しては一眼カメラの数段良いと思います。改造一眼は改造一眼でダークの温度が合わなかったり、RAWの段階でノイズ処理が入っていたりで、画像処理が少し大変です。

その特殊さゆえ、天体写真はどちらを選んでもそれなりに大変です(笑)

2020/12/07 (Mon) 15:46

macaroon

手動オフセットについて

nabeさん,おはようございます.
対象により最適なゲインが変わるのはご指摘の通りで,適切なオフセットはゲインにも依存するようです.
https://www.amateurastrophotography.com/qhyccd-tips
Remember that under different GAIN values, the width of this peak varies. The higher the GAIN, the wider the distribution. Thus, the OFFSET value at low GAIN may not be suitable for high GAIN as it is likely to widen the curve enough to have the left side of the curve chopped off at 0.
技術的な観点からはピクセル単位で見たときに必要なオフセット値の分布がどうなるか気になるところです.
次のASI2600MCの記事で輝星の飽和がなかったのは,ビット深度よりフルウェルキャパシティの影響が強い気がします(仮に12 bitでも他が同条件であれば(よほどギリギリの場合を除き)飽和しないはず).

遅ればせながら,天文ガイド入選おめでとうございます.
最近の写真も分子雲ばっちりで素敵です.

2020/12/10 (Thu) 05:21
nabe

nabe

Re: 手動オフセットについて

macaroonさん、こんにちは。コメントありがとうございます。
お返事遅くなり申し訳ありません。

>フルウェルキャパシティの影響
そのとおりですね、勉強不足でお恥ずかしい。
オフセットもそうですが、有効な飽和容量を限られた16bitというデータの箱のなかにいかに効率よく詰め込むかと言うのがCMOSカメラで重要なパラメーターなのかなと最近思います。

2020/12/17 (Thu) 16:38

chippu

To nabeさん

ASI294MC Pro 買っちゃいました。
今の所 赤猫しか望遠鏡は所有していません。
次は鏡筒ですかねぇ~w

2020/12/27 (Sun) 21:57
nabe

nabe

Re: To nabeさん

chippuさん、こんばんは。コメントありがとうございます。

294はベストセラーですよね。自分も533持っていなかったら買っていたかもしれません。モノクロの誘惑が恐ろしいですが(笑)
架台にもよりますが、順当に口径を大きくして遠くまで狙えるFRA400とか、15cmくらいの反射とか、ここは思い切ってε130Dとか、妄想が膨らみますね~。

2020/12/29 (Tue) 22:42

n2068dd

はじめまして

まだ若いのに、機材を使いこなしていて感心しております。
私も、ASIのカメラを使っています。とても使いやすくて良いカメラですね。

オフセットは、
「マイナスのノイズを消すため」と聞いています。
CMOSはそれに加えてフィックストパターンノーイズ、別名でバンディングノイズがあるので、話は複雑ですが。
( CCDは、パターンノイズが小さいので、実際の背景はクリーンなイメージがあります。)
いずれのノイズもポアンソン分布をするので、ノイズの平均からマイナス側のノイズ分布の
分も逃げる必要があります。
また、ノイズのペデスタルはプラス側にもあるため、その成分も補正する必要があります。
必要なバイアスの「逃げの量」は、ノイズ分布のプラス側からマイナス側までの範囲となります。
それを実験的にデータを取得して定めたのが、メーカーの設定したバイアス量だと思いますが、メーカーがみすみす貴重なダイナミックレンジを減らすことはしないと考えられるので、最適値はメーカーのデフォルト値だろうと推測します。
もちろん製品の個々のノイズ性能も正規分布をするので、その幅を見越して安全側としているのは十分考えられます。
一般的にCMOSのバイアスノイズは、画面の縦方向の縞ノイズとなります。ところが、私の使っているASI6200を見るとバイアスにもダークにもパターンがほとんど見えないので、何をどうやって消したのか非常に不思議なデータとなっています。確かに、ダークもバイアスも消さなくても良いのではないかというほどですね。
PIでは、バイアスノイズの純粋なデータとしてスーパーバイアスというデータを演算で作る機能もあります。海外ではこちらを使う方々の方が多いようです。
横に流れる縞は、フィックストパターンノイズとバンディングノイズの複合したノイズで、CMOSの最大の欠点ですが、
これは、フレームごとに異なるので補正は出来ないようです。このため、このノイズを目立たなくさせるさせるために、感度を上げ枚数を40枚程度に増やして平均化する人も多いようです。都市部では背景の明るさもまたノイズなので、強い画像処理のための耐性を上げるという目的もありそうです。海外のフォーラムを見ると、ゲインは高く設定している人が大部分ですね。

2021/07/04 (Sun) 14:01
nabe

nabe

Re: はじめまして

n2068dd さん、こんばんは。コメントありがとうございました。

メーカーの定めだオフセットが最適というのは自分も異論はありません。オフセットを変えてみるとどういう変化があるのか、メーカー以上に攻めた設定が出来るのかというのが気になって試してみました。

実際スーパーバイアスなどを作って処理に使ってみたこともあるのですが、あまりうまく行ったことがありません。大体30枚くらいをコンポジットしていくと横縞も消えていきますね。厳密に検証していませんが、ゲイン0だとバイアスノイズに引っ張られやすいような気がします。最近は2600も533もゲイン100での撮影が最も多いです。どちらも感度とノイズのバランスがとてもいいと感じています。

CCDとCMOSはノイズの特性もだいぶ違うようですので、アマチュアによる考察や検証の手探り感が面白いですね!

2021/08/14 (Sat) 20:36

n2068dd

ZWOのオフセットは標準偏差らしいです

nabeさん こんばんわ
返信ありがとうございました。
今、手持ちのASI6200のダークやフラットを真面目に製作中なのですが、気づいたことがあります。デジタルカメラに詳しい方なら既知の話なのですが、改めて自分で確認して納得しているところです。こんな感じでした。

・ノイズの標準偏差を計測してみると、バイアスの場合は4カウント内外。長時間のダークで46カウント内外。(-10度)
 ZWOの設定したオフセット50というのは、長時間露出した場合、冷却温度が-10度であれば、1σまでは再現できる値。
 完璧を期すなら、3σ=約150か? しかし、100でも95%は再現できるから、せいぜいそのくらいが上限?
・基本的に、ダークやバイアスを差し引くと、ノイズは加算してむしろノイズは悪化するのを確認。
 各10枚程度のダークやバイアスなら、引かないほうがむしろローノイズだった。
・ピックスインサイトのジュアン・コネイロの説明では、それがあるので、90フレームが推奨値。
 試しにやってみると、確かに加算の悪影響は、かなり軽減された。
・スーパーバイアスは、ノイズ加算は防げるが、6200ほどのローノイズになると、計算エラーで縦線が残るらしい。
 結局それは行わないで、バイアス120フレームとしたほうがエラーが無く、ノイズが自然になった。
・ゲイン0と100では、アンプの増幅勾配が異なるので、それぞれにダーク、バイアス、フラットを充てないと、
 正しく補正できない。という当然の結果となることを改めて確認。残念ながら手抜きはできなかった。
・ゲインの数×望遠鏡の台数×フィルター7枚分のライブラリーを各90フレーム製作するのは、ほんとうに重労働。
 SGPのツールで、各画像のピクセルカウントを指定の値に揃える機能を見つけ、だいぶ労力は軽減できた。
 ミーンバリューをフルウェル約65000に対し、25000カウントに設定して良好な補正結果だった。

以上でした。
わたしのところには、望遠鏡が4台あるので、フラット製作はほんとうにたいへんでした。N.I.N.Aには、SQM値が分かると、最適露出設定を計算するツールがあるらしいので、ゲイン300とか400で系外星雲を短時間露出してみたいなあと考えています。

2021/08/26 (Thu) 23:49
機材