EMVA-1288に基づくフラットフィールド統計

導入

欧州マシンビジョン規格1288(EMVA 1288)は、線形イメージセンサーの直線性、感度(量子効率)、ノイズ、暗電流、不均一性、分光感度など、いくつかの重要な特性をテストするように設計されています。Imatest 2020.2以降では、これらの測定の一部(フラットフィールド画像における時間的ノイズと空間的不均一性など)が実行されます。光応答不均一性と暗信号不均一性(それぞれ明るい画像と暗い画像(「レンズキャップオン」)に対してPRNUまたはDSNU )などの結果は、均一性モジュールと均一性インタラクティブモジュールで、フラットフィールド画像のバッチから計算できます。

これらの測定値はEMVA 1288規格から導き出されたもので、数値的には同様の結果を示しますが、  測定方法が異なるため、 厳密にはEMVA 1288に準拠していません。センサーのダイナミックレンジ測定もEMVA 1288と同等の結果が得られるように設計されていますが、やはり準拠には程遠いものです。

実際の画像から抽出したノイズをコントラストを上げて表示しています。画像ピクセルあたり4つのディスプレイピクセルを使用しています。低品質のJPEG処理による8×8ブロックノイズが一部見られます。

イメージセンサーノイズは、光子(ショットノイズ)、熱(ジョンソンノイズ)、暗電流ノイズ、イメージセンサー内のピクセルの感度とゲインの変動など、多くの要因によって引き起こされるピクセルレベルのランダムな変動であり、固定パターンノイズと呼ばれることもあります(ここでは空間的不均一性と呼びます。「不均一性」はEMVA規格(§4)で推奨されています)。

画像センサーのノイズは、2つの基本的な要素に分解できる。

時間的ノイズを測定する方法は2つあります。方法1は、同一条件下で取得した2枚の画像を減算し、√2で割る方法です。方法2は、多数の画像を必要とします。空間的不均一性を得るためにも複数の画像が必要となるため、EMVAの計算ではこの方法が用いられます。

時間的ノイズと不均一性を計算するには、複数の画像をキャプチャする必要があります。( L ≥ 16 は EMVA §8 で推奨される最小値です。100-400 が望ましいですが、 Imatest の計算は 4 枚の画像だけでも機能します (テスト専用)。規格では、平均ピクセルレベル (ガンマが適用されていない線形ファイル) が飽和の 50% (文書では添え字 50 で指定されています。弊社では「light」を推奨) である一連の明るい画像と、暗いピクセル (「レンズ キャップ オン」、添え字 dark で指定) のセットをキャプチャすることを推奨しています。

EMVA 1288の式に関する注記: Imatestでは現在、 K = 電子あたりのデジタル番号 (DN)、 η = 量子効率、 μ p = ピクセルあたりの平均光子数、 μ e = ピクセルあたりの平均電子数 ( μ e = η μ p ) などの測光単位を使用していません。Imatestの結果は電気的測定のみから得られるため、規格の式に厳密に従うことはできません。

以下の式は、標準測定値と同等となるように意図された、実際のImatest計算を表しています。EMVA 1288の表記法に準じるように努めます。μ は平均値、 sは空間標準偏差、 σは時間標準偏差を表します。

以下の数式の要約:

L 枚の撮影画像セットについて、平均画像 <y> を計算します。

EMVA Linear バージョン 4.0 (33)

M行N列のL枚の画像における各ピクセルの平均値は次のようになります。

EMVA Linear バージョン 4.0 (34)

空間的不均一性sはμ y の標準偏差であり、全体的な空間的分散は、 、 は平均値に等しい。

画像内の各ピクセルの時間的ノイズ分散(パワー)は次のとおりです。

EMVA Linear バージョン 4.0 (18)

この方程式は評価に時間がかかり面倒な場合もあるが、 Wikipediaの分散のページで説明されている近道がある。Wikipediaの表記では、 EMVA表記では、

この「測定された」空間分散は、時間ノイズの残差分散を差し引くことによって補正できます。 :

EMVA Linear バージョン 4.0 (36)

全体の空間分散は、行、列、ピクセルの空間分散にさらに分解することができ、これは行間および列間の不均一性を特徴付けるのに役立ちます。

EMVA Linear バージョン 4.0 (37)

列空間分散は、結合画像の平均行から計算されます。

EMVA Linear バージョン 4.0 (39)

同様に、行空間分散は、結合画像の列の平均値から計算されます。 、 そしてEMVA Linear Version 4.0 のセクション 4.3で定義されている方程式系を使用して解かれます。

観察:任意の画像 (EMVA 1288 で規定されているフラットフィールド画像に限らず) の場合、 <y>はよく知られている信号平均化平均信号画像であり、 Lサンプルに対して SNR が 3*log 2 ( L ) dB だけ向上します。ノイズ電圧σ sも画像 (ノイズ画像) を形成しますが、これは信号画像ほど馴染みはありませんが、画像処理、例えばバイラテラルフィルタリング (シャープニング/ノイズ低減、ひいてはノイズが画像表面全体で変化する) に関する洞察を提供できます。ノイズ画像については、 「時間ノイズの測定」でさらに詳しく説明します。

完全なEMVA 1288 光応答不均一性 ( PRNU 1288 )測定では、添え字 50 または light で示される一連の明るい画像と、添え字 dark で示される一連の暗い画像を使用します。画像セットが実行されると、結果は一時的に imatest-v2.ini に保存されます。PRNU 1288は、明るい画像と暗い画像の両方が利用可能な場合にのみ計算されます。

ここで、<...>は画像全体の平均値を表します。

明るい画像セットのみを使用して、 PRNU lightを定義することができ、これはPRNU 1288に非常に近い。

暗信号不均一性とは

同様の方法を用いて、分解された行、列、およびピクセルの分散についても、PRNUとDSNUが計算されます。

方法

フラットフィールド(通常は、ちらつきのないLEDライトボックスなど、非常に均一な光源)を撮影します。明るい画像の場合、露出制御が可能な場合は、最大レベルの約50%の露出を選択します(ガンマ=2.2の色空間では、これは最大レベルの約73%になります)。

INI設定で、暗い画像の分類のしきい値を設定します。この機能はImatest 24.1以降で利用可能で、ユーザーが「明るい」画像と「暗い」画像を分類するために使用されるしきい値を手動で設定できます。しきい値は入力画像の正規化された平均値に基づいており、デフォルトでは0.08に設定されています。つまり、「暗い」と分類されるには、すべての入力画像の平均デジタルカウントが最大デジタル数の8%未満である必要があります。場合によっては、このしきい値が低すぎて、一連の入力画像を意図どおりに分類できないことがあります。このしきい値を.iniファイルで調整するには、ImatestメインウィンドウのINIドロップダウンに移動し、 「INIファイルを開く」を選択します。

これにより、既存の.ini設定ファイルがテキストエディタで開きます。デフォルトの.iniファイルから開始する場合、または以前にフラットフィールド解析を実行したことがない場合は、以下に示すように、 [flatfield]セクションとthreshold_Lt_Dk_pct_0_1を手動で追加する必要があります。

以前にフラットフィールド解析を実行したことがある場合は、 [flatfield]セクションと、 threshold_Lt_Dk_pct_0_1を含むいくつかの ini キーが既にファイルに存在します。テキストエディタで既存のthreshold_Lt_Dk_pct_0_1フィールドの値を調整するか、 INIドロップダウンメニューのINI ファイルエディタツールを使用して変更を保存してください。これで、通常どおり解析を進めることができます。

保存済みの画像ファイルの場合は、 L (明るいまたは暗い)ファイルのグループを選択し、フラットフィールド分析を選択して、希望するインタラクティブまたは自動(バッチ)オプションを選択します。

「分析」をクリックして、複数画像検証に進みます。このウィンドウで、EMVA1288の分析を実行する際に、ピクセルベースの時間的ノイズに対して「n >= 4 ファイルを読み込む」を必ず選択してください。 「はい」を選択して続行します。

ファイル確認ウィンドウ。EMVA-1288の場合は、「n個のファイルを読み込む...」を選択してください。

領域選択ウィンドウが開きます。ほとんどの場合、画像全体を選択します(または、同じサイズの画像を解析した場合は、前の画像と同じ選択範囲を使用します)。選択が完了すると、進行状況バーが表示されます。複数の画像の読み込みは驚くほど速く完了します。

直接データ取得を行うには、ユーティリティメニューから開くことができるデバイスマネージャ、またはUniformity Interactive Settingsウィンドウで取得デバイスを選択します。選択が完了したら、 [保存]を押します。

デバイスマネージャー。HD USBカメラ(1920×1080ピクセル)が選択されました。準備ができたら「保存」を押してください。

可能であれば、データ取得前に、 [設定]ドロップダウンメニューで、 [信号平均化]を希望の数値に設定し、 [平均化中に画像^2 を計算] (上記EMVA-1288 の [n 個のファイルを読み込む...]と同じ機能) にチェックを入れてください。(この名称は変更される場合があります。) Uniformity Interactive ウィンドウの左下にある [画像取得(画像ファイルの読み込み)] ボタンを使用すれば、データ取得を簡単に繰り返すことができます。

「その他の設定」ウィンドウで、 EMVA 1288 を「EMVA 1288 計算: ボックスフィルター」に設定する必要があります。5×5 ボックスフィルターは、§C.5 で説明されているハイパスフィルターで、低周波の空間的変動を抑制するように設計されています。

右側のEMVAリセットボタンは、imatest-v2.iniに保存されているEMVA 1288バッチ結果を削除します。
EMVA 1288 チェックリスト

明るいまたは暗いフラットフィールド画像を撮影する。

直接データを取得するには、デバイスマネージャを使用してデバイスを選択します。Uniformity Interactiveを開きます。 [設定]ドロップダウンメニューで[信号平均化]を選択し、平均化する画像の数を選択します(128以上である必要があります。推奨は128です)。また、 [平均化中に画像の2乗を計算する]がチェックされていることを確認してください。次に、画像を取得します。

保存された画像ファイルからファイルのバッチを選択し、確認ウィンドウで「ピクセルベースの時間的ノイズ用に n 個のファイルを読み込む (N >= 4)」を必ず選択してください。EMVA-1288 の場合。

均一性または均一性インタラクティブのその他の設定ウィンドウで、 EMVA 1288 計算、ボックス フィルターを選択します。均一性については、プロットを選択します。

結果

表示ドロップダウンウィンドウで選択されたいくつかのプロットには、EMVA 1288 の結果が含まれています。これらには、ヒストグラム、累積ヒストグラム、 V&H スペクトル、 PRNU、DSNU & ヒストグラム、および時間ノイズ画像が含まれます。

PRNU、DSNU 、Histには結果の概要が含まれています。

Flatfield(固定モジュール)でこのプロットを選択すると、他のプロットで利用可能なヒストグラムが省略され、出力全体が表示されます。

PRNU/DSNU統計情報を取得するには、明暗両方の画像データセットが必要です。これらの統計情報を取得するには、「画像ファイルの読み込み」を選択し、暗画像セット(または、暗画像が先に計算された場合は明画像セット)に対して解析を繰り返してください。DSNU/PRNU統計情報を計算するには、明暗両方の画像が同じサイズと種類(モノクロ、ベイヤーRAW、またはデモザイク処理済み)である必要があります。

光データと暗データの両方が読み込まれて分析されると、PRNU/DSNU統計情報が結果表示テーブルに表示されます。

これらの統計情報は、「データの保存」ウィンドウでJSONファイルまたはCSVファイルに保存できます。

他にも興味深い結果がいくつかある。

標準ヒストグラムは、 EMVA §8.4、図13に示されています。明るい画像と暗い画像の両方で計算できます。ここでは、ボックスフィルタを使用しない場合と使用した場合の2つの例を示します。ボックスフィルタは、EMVA 1288( §C.5)で低空間周波数の不均一性を除去するために推奨されています。

ボックス(ローパス)フィルターなしのヒストグラムボックス(ローパス)フィルター付きヒストグラム

累積ヒストグラム ― EMVA §8.4、図14に示されています。その使用方法は不明です。EMVAで必須とされる結果は含まれていません。

累積ヒストグラム(ボックスフィルター付き)

水平および垂直スペクトログラムとプロファイル ― EMVA §8.3 および 8.4 で説明されています。ここではそれらを統合しています。これらのプロットには、EMVA で必須とされる結果は含まれていません。複数の平滑化設定が利用可能です。

スペクトログラムとプロファイル

時間ノイズ画像 —緑色の枠で囲まれた式(上記)で定義されている時間ノイズ電力(分散) σ²と実効電圧σは、各ピクセルごとに計算されます。つまり、これらは画像です。EMVA計算で使用されるフラットフィールド画像の場合、時間ノイズ画像はあまり重要ではありませんが、テストチャート画像の場合は、画像処理が画像フィールド全体でどのように変化するかを示すため、非常に重要です。(バイラテラルフィルタリングを適用すると、ノイズは通常、滑らかな領域よりもエッジ付近で大きくなります。)詳細については、 「時間ノイズ」を参照してください。