フラットフィールドブレム検出の使用

目に見えるセンサーの欠陥を測定する

Flatfield Blemish Detectは、目に見えるセンサーの欠陥(通常はイメージセンサー前面の塵によって生じるぼやけた(暗い)斑点ですが、軽い傷も検出できます)を検出します。目に見える傷のみが検出され、視認閾値以下の傷は検出されないようにするため、画像は人間の視覚系(HVS)から派生した応答関数によってフィルタリングされます。フィルタ設定は、幅広い用途や表示条件に合わせて調整可能です。自動テストシステムに組み込むことができるFlatfieldのITバージョンは、偽陰性と偽陽性を同時に最小限に抑えることで、センサーの歩留まりを大幅に向上させることができます。

説明書をよく読んでください!
Flatfield Blemish Detect を最大限に活用するには、慎重な調整が必要です。
これには予備知識が必要となる。
Imatest 5.1:魚眼レンズの円形半径制限を指定できます。Imatest 3.10:5メガピクセルを超える画像は、処理速度の向上とメモリ使用量の削減のためにダウンサンプリングできます。

フラットフィールドブレミッシュ検出は、欠陥や傷、つまり局所的な濃度変化に焦点を当てたフラットフィールド解析の一部です。設定はimatest-v2.iniまたはImatest IT用の名前付きiniファイルに保存され、フラットフィールドiniファイルリファレンスで説明されています。

人間の視覚系

右図に示す人間の目のコントラスト感度関数(CSF)は、目のMTF応答の尺度です。これは、高空間周波数(または角周波数)では目の光学系と錐体密度によって、低周波数では網膜での信号処理(神経相互作用、側方抑制)によって制限されます。さまざまな研究により、ピーク応答は1度あたり4~8サイクルの明るい光レベルにあるとされています。CSFの式はk 1 f exp(- k 2 f )の形式で、主観的品質係数(SQF)のページで説明されています。

人間の目は相対的な輝度差に敏感です。そのため、露出はゾーンまたはF値で考えられ、露出を1F値または1ゾーン変更すると、光量が半分または2倍になります。明るい光の中で目が識別できる最小の輝度差( ΔL )は、 ウェーバー・フェヒナーの法則で表されます。

ΔL / L = 0.01

(G. Wyszecki & WS Stiles、「Color Science」、Wiley、1982年、567-570ページ)。これは1%の相対差です。以下に説明する閾値は、この数値と大まかに関連しています(ただし、バンドパスフィルタリングのため、実際には通常、0.03以上とかなり大きくなります)。

コントラスト感度機能
眼のコントラスト感度機能(CSF)

偶然の一致

シミの測定値を良好に得るためには、

  • ノイズを除去するために高空間周波数をフィルタリングします。ノイズとは、光子や熱効果によって引き起こされるピクセルのランダムな変動であり、傷と誤解されるべきではありません。
  • レンズの周辺光量落ちによって生じるピクセルレベルの緩やかな変化を除去するために、低空間周波数をフィルタリングします。

このフィルタリングは、コントラスト感度関数と奇妙なほど似ている(ただし、実際的な理由から、完全に同じではない)。

アルゴリズム

  • 画像は、 V = ピクセルレベル(1/ガンマ)という式を用いて線形化されます。ここで、ガンマは画像をエンコードするために使用される近似指数です。ガンマは、標準カラースペース(sRGB、Adobe RGB)では約0.5、RAW画像では1.0です。
  • 線形化された画像は、バンドパスフィルタでフィルタリングされます。このフィルタの周波数カットオフ(入力ダイアログボックスで設定)は、人間の視覚系のコントラスト感度関数から導出されますが、完全に一致するものではありません。実際のバンドパスは、ノイズ、光量低下、およびさまざまな視聴条件を考慮するため、より広くする必要があります。これらの要因については、以下で詳しく説明します。
  • フィルター処理された画像の平均値は0になります。これは、フィルターのハイパス部分が直流成分(空間周波数=0)を除去するためです。
  • フィルタリングされた画像は、線形化された(フィルタリングされていない)画像の平均値で正規化(除算)されます。これにより、単位が上記のウェーバー・フェヒナーの法則における Δ L / Lと同じになるようにスケーリングされます。つまり、-0.01 の値は、ピクセルが周囲の平均よりも 0.01 (1%) 暗いことを意味します。この信号は「ブレミッシュフィルタリング済み」信号と呼ばれます。
  • ピクセルエラーは、欠陥除去後の値が閾値のマイナス値よりも低い場合に検出されます。例:閾値が0.03の場合、値が-0.03より低い場合。連続する(連結した)エラーの数とサイズも計算されます。
  • 垂直線の平均値は、画像の上下から全高の5%を除いた、水平方向にスキャンされた傷除去済みピクセル列の平均値を計算することによって算出されます。水平線の平均値は、左右から5%を除いた、垂直方向にスキャンされた傷除去済みピクセル行の平均値を計算することによって算出されます。これらの線は、線傷プロットに表示できます。いずれかの平均値の絶対値が線閾値を超えると、エラーが検出されます。

ローパスフィルタリングとハイパスフィルタリング(電気工学の知識があれば馴染みのある概念)

  • ローパスフィルタ(LPF)は、高周波を減衰させ、低周波を通過させる。最も一般的な用途はノイズ低減である。
  • ハイパスフィルタ(HPF)は、低空間周波数を減衰させ、高周波数を通過させ、信号の直流(ゼロ周波数)成分を除去します。HPFを通過した後の信号の平均値はゼロになります。このような信号を画像として表示するには、人工的な直流レベル(通常は元の信号の平均値に等しい)を追加する必要があります。ハイパスフィルタリングは、信号の緩やかな変化(例えば、レンズの周辺減光、すなわち光量低下によって引き起こされるピクセルレベルの変動)を低減します。
  • バンドパスフィルターは、ローパスフィルターとハイパスフィルターを組み合わせたものです。人間の目はバンドパスフィルターの一種です。

フィルタは、帯域幅(通常は出力電力と入力電力の比(伝達関数)が 0.5 になる周波数)とロールオフ率によって特徴付けられます。ロールオフ率は、指数フィルタよりもガウスフィルタの方が速いです(入力ダイアログボックスで選択可能)。英語のスラングで広く使われるようになった「帯域幅」という言葉は、電気工学に由来します。

元の(フィルター処理されていない)画像に小さな斑点(おそらくデッドピクセルやホットピクセル)が含まれている場合、ローパスフィルターによってその斑点が広がり、振幅が小さくなります。人間の目では、その振幅が十分に大きければ、つまりΔL / Lが閾値(上記で説明したように、境界が明確な大きな物体の場合、少なくとも0.01)よりも大きければ、その斑点は視認できます。小さな物体の場合、閾値は通常より高くなります。

説明書

フラットフィールドブレミッシュ検出用の画像を準備するには、

  • カメラまたはレンズにマニュアルフォーカス機能があれば、その設定にしてください。
  • 広角レンズは通常、周辺光量落ちが著しいため、センサーの欠陥を測定する用途には推奨されません。
  • 絞り(F値)の設定は結果に影響を与えます。なぜなら、多くの汚れは、ベイヤーフィルター、アンチエイリアシングフィルター、赤外線(IR)フィルター(最大1mm)によってセンサーから分離されたイメージングチップ表面の塵によって引き起こされるからです。この分離によって塵の斑点がぼやけます。ぼけの半径は、絞りが大きくなるにつれて(F値が小さくなるにつれて)大きくなります。小さな塵の斑点の場合、汚れの振幅は絞りが大きくなるにつれて小さくなります。つまり、強度は半径に反比例します。
  • ブランクスクリーンモジュール

    スクリーンパターンモジュール
    傷検出と均一性。

    均一な照明で照らされた、均質な被写体を撮影してください。

  • 均一な被写体を得る最も簡単な方法の1つは、右図に示すImatestスクリーンパターンモジュールを使用して、コンピューターモニターを1~3インチ(2~8cm)の距離から撮影することです。ユーティリティメニューからスクリーンパターンを開き、画面を最大化します。必要に応じて、色相、彩度、明度(H、S、L、デフォルト値は0、0、1)を調整できます。

    この方法は、視野角の広いフラットスクリーン液晶ディスプレイで最も効果を発揮します(視野角に大きく依存するノートパソコンや、ラスタースキャン方式のためブラウン管ディスプレイではあまり効果がありません)。

  • レンズの近くにオパール拡散ガラスを取り付けることをお勧めします。オパールガラスはEdmund Optics社から入手できます。拡散ガラスを使用する場合は、モニターの代わりにライトボックス(高周波バラスト付き蛍光灯またはLED)を使用できます。(ライトボックスは通常、明るいですが、光の均一性は劣ります。)
  • (私たちは他の方法を推奨しますが、この方法も時々有効です。)均一に光が当たった滑らかなマット紙(白またはグレー)を撮影します。影にならないように注意してください。屋外の照明(日陰)は、非常に均一な照明が得られる場合があります。広角レンズでは均一な照明を得るのが難しい場合があり、カードの一部に影がかからないようにするのはほぼ不可能です。オパール拡散ガラスの使用を強くお勧めします。
  • 被写体にピントが合っている必要はありません(センサーの均一性を測定するのにレンズすら必要ありません)。目的はセンサーの均一性を測定することであり、被写体の特徴を測定することではありません。一般的な測定では、露出補正を約1段分オーバー露出に設定してください。(ただし、任意の露出値を使用しても構いません。)
  • 画像をRAWファイルまたは最高画質のJPEGファイルとして保存してください。
Imatest LEDライトボックス - 側面図

均一な照明を得るために

透明度テストチャートの照明には、均一な光と優れたスペクトル特性を備え、幅広い明るさ調整が可能なImatest LEDライトボックスをお勧めします。Imatestダイナミックレンジをはじめとする様々な透過型テストチャートにご使用いただけます。

最も均一な照明を得るには、 Gamma ScientificやColorspaceなどのサプライヤーから入手できる積分球を使用するのが良いでしょう。積分球はLEDライトボックスよりも高価です。

フラットフィールドブレム検出を実行する

メインウィンドウからフラットフィールド解析を実行する:

シミ検出はフラットフィールド分析内で実行されるため、起動方法は同じです。詳しくは「新しいメインウィンドウでフラットフィールド分析を実行する」を参照してください。シミ検出には次の2つの手順が固有です。

  • フラットフィールド均一性設定画面で、 「傷分析を実行する」チェックボックスが選択されていることを確認してください。このチェックボックスが選択されていない場合、均一性の結果のみが生成されます。
  • ニキビに関する設定は、 「ニキビ」ボタンの背後にあります。このボタンを押すと、後述する「ニキビ検出設定」画面が開きます。
クラシックUIからフラットフィールド解析を実行する:

フラットフィールドの場合と同様に、 Imatestを起動し、クラシックUIを選択し、フラットフィールド(またはフラットフィールドインタラクティブ)を押して入力ファイルを選択します。ファイル選択ダイアログやバッチ実行を含む詳細な説明は、 「クラシックUIからのフラットフィールド分析の実行」に記載されています。傷の結果は、上記と同様に「傷分析の実行」を選択して同じ実行から得られます。

ここでのファイル処理はフラットフィールドのもので、クラシックUIからのフラットフィールド分析の実行で一度説明されています。非常に大きなファイルとLARGE FILES(均一性、傷、歪み)設定、複数のファイルを一度に選択、それらを結合またはバッチ処理、および3つのトリミングオプションがあります。

Blemishでは1点だけ異なる点があります。ファイルとトリミングのオプションは設定画面またはBlemish Detectの入力ダイアログウィンドウからアクセスできますが、Flat Fieldでは独自のLF入力ダイアログを使用します。

設定ウィンドウ

画像ファイルを選択した後、設定ウィンドウが開きます(ただし、「エクスプレス実行」にチェックが入っている場合は除きます)。

「シミ分析を実行する」チェックボックスが選択されていることを確認してください。

設定ウィンドウ:プレビューを参考にフィルターとしきい値の設定を調整するために使用します。
(強調表示あり)。以下をお試しください。
異なるフィルター、しきい値、およびプレビュー設定。

  • タイトルはデフォルトでファイル名になります。必要に応じて変更できます。
  • 欠陥分析を実行する(通常はチェック済み) チェックを外すと、欠陥分析が無効になり、応答と欠陥の概要プレビューは表示されません。均一性分析は引き続き実行できます。欠陥分析(計算負荷の高い2次元フーリエ変換を使用)が不要な場合、これにより実行速度を大幅に向上させることができます。
  • 均一性ボタンをクリックすると、フラットフィールド均一性設定ウィンドウが開きます。ヒストグラムと微細ノイズの詳細を除き、すべての均一性結果を計算できます。ヒストグラムと微細ノイズの詳細では、 Imatest ITで使用できる数値結果が得られません。

フィルタリングとしきい値

フィルター応答プロットの左側の青色の領域には、傷フィルターと検出設定が含まれています。

  • ローパスフィルターの高周波ロールオフ(低周波を「通過」させることからこの名前が付けられています)。ドロップダウン メニューでロールオフの式を指定します。指数関数 (exp(- kf )) またはガウス関数 (exp(-( kf ) 2 )) のいずれかです。指数関数はロールオフが緩やかで、高周波を除去する際の積極性は低いですが、人間の目のロールオフに似ています。スライダーでカットオフ周波数の概算値を指定します。ローパス フィルターの効果は、応答プロットの右側の高空間周波数領域とプレビューウィンドウに表示されます。周波数が高すぎると、結果がノイズに過度に敏感になり、周波数が低すぎると、小さな (しかし目に見える) 欠陥が見逃される可能性があります。
  • ハイパスフィルターの低周波ロールオフ。ドロップダウン メニューでロールオフの式を指定します。指数関数 (exp(- kf )) またはガウス関数 (exp(-( kf ) 2 )) のいずれかです。スライダーでカットオフ周波数の概算値を指定します。ローパス フィルターの効果は、応答プロットの左側の低空間周波数領域とプレビューウィンドウに表示されます。周波数が低すぎると、結果が不均一な照明 (光の減衰、周辺減光など) に過度に敏感になります。周波数が高すぎると、大きな (ただし目に見える) 欠陥が見逃される可能性があります。

  • 5メガピクセルを超える画像のダウンサンプリング: 5メガピクセルを超える画像をダウンサンプリングし、2×2の4ピクセルグループを平均して1ピクセルにします。これは、傷の計算のみに使用されます(ホットピクセル/デッドピクセルの計算には影響しません)。結果は、元のサイズにアップサンプリングされた画像に対するものです。(傷のサイズは4の倍数ですが、平均傷サイズはダウンサンプリングされていない計算結果と非常に近い値になります。)
傷の数_元
オリジナル(上);ダウンサンプリング(およびサイズ変更)(下)
傷の数をダウンサンプリング

ダウンサンプリングは、メモリを大量に消費する2次元フーリエ変換を用いる欠陥検出計算において、処理速度を大幅に向上させ、メモリ使用量を削減します。これは、リソースが限られている可能性のある製造環境(Imatest ITを使用)において特に有効です。

ローパス/ハイパスフィルタ領域の右側にあるフィルタ応答プロットは、フィルタ応答曲線を示しています。青色(下側)の曲線は、LPFとHPFを合成した応答です。黒色(上側)の曲線は、合成応答を最大値1.0に正規化したもので、実際のフィルタ計算に使用される曲線です。

  • 傷跡の境界線
    ゾーン境界
    (赤い線)

    ゾーン境界: 全幅または全高さに対する割合画像の端に近い領域は視覚的に重要度が低い場合や、エッジに関連する不規則性がある場合があるため、Blemish では、垂直線と水平線のペアで定義される 9 つの分析領域に画像を分割できます。入力する値は、垂直線 (左と右の領域を定義) と水平線 (上と下の領域を定義) の位置を、全幅と全高さに対する割合で表したものです。右側の図は、両方の境界 (赤い線) = 6% を示しています。Blemish のしきい値は、領域ごとに個別に設定できます。

  • しきい値は、4つのゾーングループそれぞれと、中央、(左、右)、(上、下)、コーナー、およびラインごとに個別に設定できます。
    • タイプはシミの種類です。ダーク(デフォルト)、ライト、または両方(ダークとライト)のいずれかを選択できます。
    • 値はしきい値の絶対値です。欠陥は、欠陥フィルタリング後の信号レベルが -threshold を下回ったときに検出されます。(現時点では、暗くなった領域のみが欠陥とみなされます。)欠陥フィルタリング後の信号は、平均がゼロ(DC を除去するハイパスフィルタリングによる)であり、平均信号レベル(フィルタリング前)に正規化されているため、しきい値はWeber-Fechner の法則の Δ L / Lに相当します。実際的な理由(センサーノイズ、表示条件)から、しきい値は一般的に 0.01 より大きくなります。デフォルト値は、中央領域が 0.02、上、下、左、右が 0.03、角が 0.04、線が 0.01 です。値が大きいほど良い場合が多いです。
チューニング、特にハイパスフィルターとローパスフィルターの設定について詳しく学びましょう。
チューニングのセクション(下記)をご覧ください。

プロット(表示)オプション

右下のプレビュー画像には、フィルター処理された画像の280x200ピクセルのプレビューが表示されます。フィルター設定が変更されるたびに更新されるため、調整に役立ちます。プレビュー表示(以下に例を示します)には、

オリジナル画像
参考用のオリジナル画像です。設定による影響はありません。
シミフィルターをかけた画像フィルター処理された画像。フィルターがシミに及ぼす影響を示しています。元の画像のごく一部(280×200ピクセル)のみを表示しているため、ハイパスフィルターによる長距離変動の抑制効果は示されていません。
線形擬似カラー
傷や汚れが除去された画像は、擬似カラーで線形的に表示される。
スポット強調
擬似カラー
シミ除去フィルター処理を施した擬似カラー画像(スポット強調表示):局所平均からの偏差を示します。1(フィルター処理後の局所平均)より大きい値は白、0.9(局所平均より0.1低い値)より小さい値は黒で表示されます。
スポット < 中心閾値擬似カラー
傷や汚れを除去した擬似カラー画像。閾値(-)以下の領域のみを表示。閾値より高い値は白、-0.1以下の値は黒で表示されます。
線形、グレースケール < ctr 閾値擬似カラー線形擬似カラー(上記)と同様ですが、検出された欠陥(中心閾値より(-)未満のレベル)は灰色で表示されます。
スポット強調、グレー < ctr thresh 擬似カラースポット強調擬似カラー(上記)と同様ですが、検出された傷(中心しきい値(-)未満のレベル)は灰色で表示されます。

プレビュー設定と傷跡サマリープロット設定が同じ場合、両方の設定の背景は薄黄色になります。それ以外の場合は、傷跡サマリープロットの背景は薄ピンク色になります(表示されている内容が実際の結果と異なることを示しています)。

プレビュー画像の位置は、 「位置」ボタンを押して、280×200ピクセルの切り抜き領域をマウスでドラッグすることで変更できます。最終的な切り抜き領域は赤色で表示されます。この領域には、対象となる傷や汚れ(閾値より上または下)が含まれている必要があります。

すべてのユーザーに、さまざまな設定を試してみることを強くお勧めします。
ローパスフィルターとハイパスフィルターのカットオフ周波数と応答特性、およびプレビューオプション。

プレビューオプションは、処理レベルが高い順に、オリジナル、シミ除去フィルター処理済みとなっています。
擬似カラー:線形、スポット強調(1より大きい場合は白)。画像が閾値未満(閾値より大きい場合は白)。

プロット領域(左中央)では、プロットする図を指定します。図の詳細については、以下の「結果」セクションで説明します。

  • 左側のチェックボックスで選択した4つの画像プロットは、異なる信号処理を適用した画像(オリジナル画像(なし)、 Blemフィルター(LPF+HPF)、 HPF 、 HPF >ノイズ> (ノイズを10倍に増幅))を以下に示す。後者の3つの画像には最終結果が含まれていないため、主に診断や設定の検討に役立つ。
  • 線状欠陥プロットは、画像内の水平線と垂直線の振幅をプロットします。線は斑点よりも目立つ傾向があるため、線には独自の閾値(デフォルト値 = 0.01)があります。
  • 傷の数を示すグラフは、連続する(連結した)傷の大きさを表示します。「結果を下部に追加(ヒストグラムなし)」を選択した場合、2D傷(概要)グラフに傷とその統計情報が表示されるため、このグラフはほとんど必要ありません。
  • シミの概要プロット(擬似カラー)には、上記のチェックボックスのすぐ下に2つのドロップダウンメニュー(チェックボックスではありません)があります。このプロットには、シミ検出の主要な結果が擬似カラーで表示されます。多くのオプションを選択できます。

    左側のドロップダウンメニュー。プレビューウィンドウで、これらの機能を確認できます。設定がプレビューウィンドウと同じ場合、背景は薄い黄色で表示されます。

    オフこのプロットは省略してください。
    リニア
    スポット強調シミ除去フィルター処理後の数値が1.0を超える場合は、純白で表示されます。これにより、直線的な表示では見落としがちなシミを簡単に見つけることができます。
    スポット > しきい値しきい値外の傷のみが表示されます。これにより、最も鮮明な傷の表示が可能になります。
    線形、グレースケール < しきい値(上記)線形と同様ですが、欠陥(レベル<(-)しきい値)は灰色で表示されます。
    スポット強調、グレー<閾値スポット強調と同様ですが、傷(レベル<(-)しきい値)は灰色で表示されます。

     
    右側のドロップダウンメニュー

    追加の結果はありませんその画像がプロットを埋め尽くす。
    結果を下部に追加(ヒストグラムなし)推奨画像の下には、フィルター応答、ピクセル統計、および関連する傷の統計(サイズ順)が表示されます。統計情報はスクロール可能な表形式で表示されます。
    結果をヒストグラム付きで下部に追加する(処理が遅い)画像の下には、フィルタ応答、ピクセル統計、およびレベルのヒストグラムが表示されます。画像レベルの標準偏差も表示されます。ヒストグラムとσの計算に時間がかかるため、推奨しません。

設定領域では、結果に影響を与える設定を入力できます。

  • 高速化:チェックを外すと、光の減衰情報(側面や角のレベル)が計算され、保存されます。実行時間への影響は比較的小さいです。出力ファイルに基本的な光の減衰統計情報が必要な場合は、オンのままにしておいてください。
  • ガンマ(設定エリア)。ガンマのデフォルト値である0.5は、デジタルカメラで一般的な値です。ガンマは画像の線形化に使用されます。ステップチャートでは、広く入手可能な複数のステップチャートのいずれかを使用してガンマを測定できます。(反射チャートが最も使いやすいですが、透過チャートを使用してダイナミックレンジを測定することもできます。)
  • チャンネル選択:赤、青、緑、またはY(輝度)チャンネル
  • コーナーとサイド領域(デフォルトは32 x 32ピクセル)では、分析対象とする画像のコーナーとサイドの領域を選択できます。これらの領域は、エッジとコーナーレベルの計算に影響し、Speedupがオフの場合、CSVおよびXML出力に保存されます。選択肢は、10 x 10ピクセル、32 x 32ピクセル、1%(最小10 x 10)、2%(最小10 x 10)、5%、10%です。ライトフォールオフにブレミッシュ機能が追加されると、この機能は削除される可能性があります。

欠陥ピクセル

不良ピクセル(ホットピクセルとデッドピクセル)右側に表示されている適切なチェックボックスをオンにすることで、ホットピクセルまたは明るいピクセル(赤色の×印)および/またはデッドピクセルまたは暗いピクセル(青色の○印または●印)を表示できます。絶対ピクセルしきい値または相対パーセントしきい値を選択できます。必要に応じて、クラスタ検出を含めることもできます。

ダイアログ_ホットデッド

  • チャンネル:欠陥ピクセル検出に使用するチャンネルを選択します。選択肢は3つです。
どのチャンネルでも
いずれかのチャンネル(R、G、B、Y)に欠陥がある場合、不良ピクセルとして記録されます。(この方法が最も多くの欠陥を検出します。)
選択されたチャンネル
選択されたチャネル(R、G、B、またはY - 欠陥ピクセル領域のすぐ上で選択)に欠陥がある場合、欠陥ピクセルが記録されます。
すべてのチャンネルすべてのチャンネル(R、G、B、Y)に欠陥がある場合、欠陥ピクセルとして記録されます。(この方法だと、検出される欠陥が最も少なくなります。)
  • ホット/デッド — 絶対/相対 — クラスター検出
ホットピクセルまたはデッドピクセルを検出します(xまたはo):
絶対ピクセルしきい値
(選択肢2と4)
ホットピクセルは、センサーの最大値(8ビットファイルでは255)付近に固定されています。デッドピクセルは、0付近に固定されています。信号処理、特にJPEG圧縮によってこれらの値が変化することが多いため、スライダーを使用して、ホットピクセルの検出しきい値を6~255、デッドピクセルの検出しきい値を0~249ピクセルに設定できます。(極値は、白または黒のフィールドで測定した場合の値です。)スライダーの両端にある<または>をクリックすると、しきい値が1ずつ調整されます。デフォルト値はそれぞれ252と4です。
明るいピクセルまたは暗いピクセルを検出します(xまたはo):
相対的な%閾値
(選択肢3と5)
明るいピクセルは、8つの近傍ピクセルの平均値に対する相対的なパーセント閾値を超えています。暗いピクセルは、8つの近傍ピクセルの平均値に対する相対的なパーセント閾値を下回っています。
しきい値は右側のスライダーで選択します。
クラスター検出
(第4章と第5章)
ホットピクセルおよび/またはデッドピクセルのクラスターを検出します。クラスターとは、隣接する2つ以上の欠陥ピクセル(絶対値または相対値で定義可能。ホットピクセルとデッドピクセルは別々に処理されます)の集合です。クラスターの数と最大のクラスターが報告されます。処理には若干時間がかかります。

「コーナー」ボックスを使用すると、ボックス内に設定されたn × nの領域において、ホットピクセルとデッドピクセルに対する感度を2分の1に低減できます。

この機能が正しく動作するためには、JPEG ファイルは最高品質レベルで保存する必要があります。低品質レベルでは、孤立したホットピクセルやデッドピクセルがぼやけてしまう傾向があります。ホットピクセルとデッドピクセルの詳細は、以下で説明します。いずれかのカラーチャンネル(デフォルト)、すべてのチャンネル、または選択したチャンネルのいずれかが条件を満たした場合に、ピクセルをホットピクセルまたはデッドピクセル (明るいまたは暗い) としてカウントするかどうかを選択できます。詳細は、 「均一性: Imatest Master」を参照してください。

  • 境界付近のピクセルを切り抜く(L、R、T、B) (この機能は通常無効になっています)。 [オプション I]で[切り抜きを要求しない。(LF 入力ダイアログボックスの [切り抜き...境界設定を使用する。)]が選択されている場合にのみ有効になります。チェックされている場合、画像は左、右、上、下の境界付近で指定されたピクセル数だけ切り抜かれます。

    領域選択の2つの方法

    分析対象領域(ROI)は通常、粗調整ウィンドウと微調整ウィンドウで設定しますが、ROIは各辺ではなく、左上隅を基準として定義されます。そのため、複数の画像で一定のマージンを設定したい場合(例えば、ROIの境界を境界から4ピクセル離したい場合)、画像サイズごとにROIを個別に設定する必要があります。

    Blemish Detect では、画像境界に対する ROI の指定方法として、crop_borders という代替手段が提供されています。これは、オプション I で (LF 入力ダイアログボックスの境界設定を使用する) が選択され、[ピクセルを切り取る...] ボックスがオンになっている場合に、Blemish (または Uniformity) ウィンドウの下部付近にある境界付近のピクセルを切り取る設定で設定されます。それ以外の場合は、crop_borders は無視され、標準の ROI 選択が使用されます。

チューニング

欠陥検出の主要パラメータを適切に設定し、検出されたエラーが目に見える欠陥に対応するようにすることが非常に重要です。これにより、「誤検出」と「見逃し」の両方を最小限に抑えることができます。

主要なパラメータは

  • ローパスフィルタ関数とカットオフ周波数。指数関数は人間の目の反応に最も近いですが、よりシャープなカットオフが必要な場合(通常は小さな欠陥の視認性を維持しながら、より積極的なノイズ低減を行う場合)はガウス関数を使用する必要があります。カットオフ周波数(スライダーの位置)は、テスト画像プレビュー(下の例)で小さくても視認できるスポットが、より大きなスポットに対して適切な強度を持ち、視認できるほど強度が高い場合は閾値外になるように調整する必要があります。
  • ハイパスフィルターの機能とカットオフ周波数。光の減衰やエッジ効果を除去するには、一般的にガウス型のロールオフを強く設定するのが望ましいですが、これらは傷と混同してはいけません。カットオフ周波数(スライダーの位置)は、大きなスポットが明るすぎないように選択する必要があります。この設定にはトレードオフが伴います。
  • しきい値、特に中央領域のしきい値は、フィルタ設定の後に設定する必要があります。

テスト画像

(より高度な手法が開発中ですが、下の画像は良い出発点となるでしょう。)

下記に示す画像の原寸大バージョンを印刷または表示してください。ダウンロードするには、こちらをクリックするか、画像自体をクリックしてください。画像は、開発中の製品の一般的な使用条件下、および想定される視野角範囲で表示してください。

これを使って、気になる斑点が閾値を超え、気になる斑点が閾値を超えないように、主要なパラメータを設定します。小さな斑点がブレミッシュプロット(下記参照)で強く表示されすぎる場合は、ローパスフィルタの周波数を下げてください(スライダーを左に動かします)。プレビューで状況を把握できますが、最終的な画像は最終的な判断材料となります。

フルサイズの画像(8メガピクセル、2.5MB)をダウンロードするには、こちらをクリックするか、上記のリンクをクリックしてください。
シミ検出キャリブレーション画像。詳細は下記参照。
画像をクリックすると、フルサイズ版(8メガピクセル、2.5MB)をダウンロードできます。

ローパスフィルターとハイパスフィルターの調整

ローパスフィルターの設定は高周波のロールオフ(周波数応答グラフの右側)に影響を与えます。ハイパスフィルターは低周波のロールオフ(左側)に影響を与えます。

結果の基準となるのは、上記の「設定」ウィンドウです。ここでは、ローパスフィルター(LPF)を0.022(ガウス分布)、ハイパスフィルター(HPF)を0.007(ガウス分布)に設定しており、全体的に優れた結果が得られています。下の画像では、フィルターのカットオフ周波数(LPFまたはHPF)のうち1つを変更しています。もう1つは、「設定」ウィンドウと同じ値です。

ローパスカットオフ = 0.005 (大幅に低減 )
ローパスカットオフ = 0.005 (大幅に低減)
特徴がぼやけて(広がって)見えるため、小さな欠陥は検出されません。
ローパスカットオフ周波数 = 0.222 (大幅に増加)
ローパスカットオフ周波数 = 0.222 (大幅に増加)
ランダムノイズが適切にフィルタリングされていない。時折発生するノイズの特徴が、欠陥として誤って解釈される。
ハイパスカットオフ周波数 = 0.0005 (大幅に低減)
ハイパスカットオフ周波数 = 0.0005 (大幅に低減)
個々のスポット検出は問題ないようですが、右側に示すように、画像の端付近で問題が発生しています。
ハイパスカットオフ周波数 = 0.0005 (大幅に低減) の全体的な結果(左図)
ハイパスカットオフ周波数 = 0.0005 (大幅に低減) の全体的な結果(左図)
ハイパスフィルターのカットオフ周波数を下げると、フィルタリングが緩やかな変化、つまり画像の端付近の光量低下に対してより敏感になり、暗い領域が傷や欠陥として誤って解釈されるようになる。

結果

画像(オリジナルとフィルター処理済み)

複数の画像図が用意されています。これらの図は、画像(オリジナルまたは処理済み)と、傷フィルター処理後の結果(擬似カラーで表示)を簡単に比較できるようにすることで、フィルターと閾値パラメーターの設定を容易にすることを目的としています。これらのプロットはアンチエイリアシング処理されていないため、元の(ズームされていない)表示では、垂直方向および水平方向の不均一性(線)が誇張されて見える場合があります。正確な印象を得るには、関心領域をクリックするか、四角形を描画してズームインする必要があります。ダブルクリックするとズームアウトできます。下に示した画像には、弱いものから強いものまで、サイズの異なる3つの合成傷のシーケンスが含まれています。

テスト画像(オリジナル;縮小版)
合成された傷のあるオリジナル画像(縮小表示)

元の画像(拡大された斑点部分を含むトリミング済み)を表示。

フィルターパラメータ(LPFおよびHPFのカットオフ周波数、ならびに閾値)を設定する際には、この画像を適切な倍率で注意深く観察し、検出された欠陥と画像の形状が一致していることを確認する必要があります。

元のテスト画像(トリミング済み)

シミ除去フィルター(HPFおよびLPF)処理後の画像、トリミングおよび拡大

この画像は、長距離にわたる濃度変動(通常は周辺光量落ちによるもの)やノイズを除去するためにフィルタリングされています。下に示すシミの概要プロット(擬似カラーで表示される主要な結果)は、この画像から直接導出されたものです。シミの最大密度は、上のフィルタリングされていない画像におけるシミの視認性と密接に関連しているはずです。

シミ除去フィルター処理済み画像、トリミング済み

ハイパスフィルター処理された画像

この画像は、ハイパスフィルターの効果のみを示しています。(これは中間的な結果であり、多くの場合、必要ありません。)

HPFでトリミングしたオリジナル画像

ノイズを10倍に増幅したハイパスフィルター処理画像

このグラフは、傷やノイズの表示を最大化します。傷フィルター処理されたグラフは傷は表示しますが、ノイズは最小限に抑えます。小さな欠陥も強調表示されます。(これは中間的な結果であり、多くの場合必要ありません。)

HPFとノイズブーストを適用したオリジナル画像

傷跡の順序プロット

この図は、シミとその順序(大きい順から小さい順)を示しています。シミの詳細(サイズなど)は、擬似カラーのシミの染み図(下記)の右下にある表に記載されています。濃いシミは青色、薄いシミは赤色で示されています。

blemish count plot

病変概要(擬似カラー)プロット(主要結果表示)

シミの概要(擬似カラー)プロットは、主要な結果表示であり、シミを明確に示します。以下のプロットでは、スポットが(暗い)閾値未満となるように設定されています。

しきい値以下のシミのみを表示するシミ表示:シミ検出の主な結果。
しきい値以下のシミのみを表示するシミ表示:シミ検出の主な結果。
拡大されたシミ(部分的な強調)
拡大されたシミ(部分的な強調)

斑点が閾値未満の場合、(-)の斑点閾値以下の領域のみが表示され、画像の残りの部分は白色になります。必要に応じて、この画像の一部を拡大できます。

代替オプションとして、スポット強調(右側に拡大表示)があります。これは、フィルタリングされた傷の画像の最大値を0、最小値を-0.1に制限します。これにより、(暗い)傷は下の線形(制限なし)画像よりもはるかに見やすくなりますが、上の画像ほど読みやすくはないかもしれません。

プロット領域で「結果を下部に追加(ヒストグラムなし)」を選択した場合、最下段が表示されます。(ヒストグラム(および標準偏差)の計算に時間がかかり、価値が限られているため、「結果を下部に追加(ヒストグラムあり、低速) 」は推奨されません。)左側にはフィルタ応答曲線が表示されます。下側の青い曲線は、LPF + HPF の応答を合成したものです。上側の黒い曲線は、最大値 1.0 に正規化された応答です(計算に使用)。

中央の表には、画像全体および9つのセクションそれぞれについて、エラー数(N Err)、最小値(Min)、および(-)しきい値レベル(Thr)、ならびに平均垂直線と平均水平線が表示されます。

右側の表は、領域、x座標とy座標(ピクセル単位)、欠陥を検出するために使用したフィルタリング画像における欠陥の平均値(ピクセルレベルを閾値と比較)、および線形化された入力画像における欠陥の平均値を示しています。結果は欠陥のサイズが大きい順に並んでいます。

線状の傷の表示(拡大された傷)

線状の欠陥プロット

線は、同じサイズの斑点や傷よりも視覚的に目立つ傾向があります。そのため、異なるしきい値 (一般的に低い値、下の画像では 0.005) で検出されます。以下のプロットは、画像内の垂直線と水平線に関するものです。斑点と同じフィルタリングが使用されます。このプロットは、10 倍のノイズ強調プロットで顕著な垂直縞 (線) が見られたが、フルサイズで表示された元の画像では縞が見えなかった画像に関するものです (Matlab 図で縮小サイズで表示したときのアンチエイリアシングの問題を回避するため)。

ラインディスプレイ
線状の欠陥プロット

端部効果(FFTルーチンにおける)のため解析に含まれない線の端部は、薄い灰色で表示されています。

CSVおよびJSON出力ファイル

これらの出力ファイルには、グラフには含まれていない追加の統計情報が含まれています。ほとんどの情報は意味が明確です。たとえば、以下はJSON出力の一部です(光の減衰に関する結果は省略)。JSONオブジェクトの優れた点は、通常、 JSONページからリンクされているルーチンを使用して、1行のコードで解析(デコード)できることです。そのため、後処理(たとえば、合否判定)に特に役立ちます。

{
”blemishResults”: {
「dateRun」: 「2012年1月9日 01:24:25」
「バージョン」:「Imatest 3.9-Beta Master Blemish」
「カラーチャンネル」:「Y(輝度)」
”nColorChannel”: [4]、
「ガンマ」: [0.5]、
「totalImagePxls」: [7990272]、
…
”freqLowpass”: [0.0175]、
”freqHighpass”: [0.0055]、
「filterType」: [2,2]、
「閾値」:[0.04,0.05,0.05,0.08,0.02]、
「場所」: 「結果、左上、2 中央上、3 右上、4 左、5 中央、6 右、7 左下、8 中央下、9 右下」
”pixelErrors”: [0,0,0,0,18760,0,0,0,0],
”最小値”: [-0.00705,-0.00763,-0.00765,-0.00699,-0.06241,-0.00773,-0.00684,-0.00474,-0.00726],
”最大値”: [0.00379,0.00422,0.00377,0.00351,0.0104,0.0052,0.00256,0.00492,0.00326],
”horizLineMin”: [-0.00173]、
「horizLineMax」:[0.00116]、
”N_blemish_count”: [16]、
”blemishSizePxls”: [2715,2452,1905,1885,1882,1721,1551,1170,844,690,486,484,415,361,197,2],
”blemishCenter_X”: [1721.2,1557.1,1265.5,1484.8,1404.9,1344.9,1200.9,1049.1,1106.5,950.6,929.7,1340.5, ...],
”blemishCenter_Y”: [961.3,969.6,964.1,1157.3,959.7,1156.7,1153,1152.6,966.6,965.5,1152,1252.7, ...]
}
}

最後の 3 行のデータ ("blemishSizePxls", ff ) には、連結した傷のサイズ、x 座標、y 座標 (ピクセル単位) が含まれており、大きい順に並べられています。

出力フォーマットの変数名は似ていますが、全く同じではありません。ご質問、ご提案、または追加の出力が必要な場合は、お問い合わせください。

保存結果

実行の最後に、結果を保存するためのダイアログボックスが開きます。このダイアログボックスでは、保存する図を選択し、保存場所を指定できます。デフォルトでは、画像ファイルディレクトリのサブディレクトリ「 Results」に保存されます。「 Subfolder Results... 」のチェックを外すと、別のディレクトリに変更できます。選択内容は実行間で保存されます。なお、複数の均一性プロットが利用可能です(プロットするように選択されている場合)。

チェックボックスをオンまたはオフにする前に、出力図を確認できます。図、CSV、XML、および JSON の結果は、ルートファイル名にプロットの種類とチャネル (R、G、B、または Y) のサフィックスと拡張子が付いたファイル名で保存されます。例: IMG_9875_ISO1600_RGB_f-stop_ctrG.png 。ルートファイル名はデフォルトで画像ファイル名になりますが、 [結果ルートファイル名]ボックスを使用して変更できます。必ず Enter キーを押してください。バッチ実行の場合、 [保存後に図を閉じる]にチェックを入れると、図が蓄積されて (ほとんどのシステムで速度が低下する原因となります) 遅くなるのを防ぐことができます。 [はい]または [いいえ] をクリックすると、Imatest のメイン ウィンドウが再び表示されます。

図は、PNGファイル(標準的な可逆圧縮画像ファイル形式)またはMATLABのFIGファイルとして保存できます。FIGファイルは、ユーティリティメニューの「図ファイルを開く」で開くことができます。FIGファイルは操作(拡大縮小や回転)が可能ですが、PNGファイルよりも多くのストレージ容量を必要とするため、推奨されません。

CSVファイルとXMLファイルにはEXIFデータが含まれています。EXIFデータは、カメラ、レンズ、露出設定などの重要な情報を含む画像ファイルのメタデータです。Imatestはデフォルトでは、JPEGファイルのみに対応する小さなプログラムjhead.exeを使用してEXIFデータを読み取ります。すべての画像ファイル形式から詳細なEXIFデータを読み取るには、こちらで説明されているように、 Phil Harvey氏のExifToolをダウンロード、インストール、選択することをお勧めします。

詳細は「均一性:Imatest Master」に記載されています。

分析対象領域は通常、粗調整ウィンドウと微調整ウィンドウで設定されるroiによって選択されます。roi には、画像の幅 nwid_save と高さ nht_save のn番目の値に対応する 4 つの値のグループが複数含まれています。4 つの roi 値の各グループは、[x1 y1 x2 y2] で構成されます。これは、関心領域を定義する左、上、右、下のピクセルで、各エッジではなく左上隅を基準として定義されます。したがって、複数の画像に対して一定のマージンが必要な場合 (たとえば、ROI の境界を境界から 4 ピクセル離したい場合) は、画像サイズごとに roi を個別に設定する必要があります。

Blemish Detect では、画像境界に対する ROI を指定する別の方法として crop_borders が用意されています。これは、Blemish (または Uniformity) ウィンドウの下部付近で設定されます。crop_borders には 5 つの値があります。1 ~ 4 は、LRT および B 境界に対するマージン (ピクセル単位) です。5 番目の値は、crop_borders をオン (1) またはオフ (0) にします。blemcrop==1 かつ crop_borders(5)==1 の場合、crop_borders が有効になります。blemcrop>1 または crop_borders(5)==0 の場合、crop_borders は無視され、ROI には roi が使用されます。