情報詳細Q:アノマリー検出で画像端部分に強い反応がでます。なぜでしょうか。似たような画像であっても反応がまちまちで、特に強い反応が画像端部分に出やすいようです。A: 一般的にアノマリー検出では、良品画像からの逸脱を抽出します。学習に用いた良品画像がすべて非常によく似ている(差異がホワイトノイズ程度の)場合、わずかな逸脱であっても異常と判定され、強い反応を示します。また、コントラスト正規化による影響も考えられます。前処理でコントラスト正規化を行っている場合、一見学習画像では差異がないようであっても、正規化後では輝度値が大きく異なっているために、ネットワークにより以上判定されている可能性があります。画像端部分に見られる反応は、ニューラルネットワークでの畳み込みの働きに由来します。畳み込み演算は基本的にはスライディングフィルタのようなものであるため、画像の境界処理が必要となり、これが端部分の結果に影響を与えることがよくあります。例えばメディアンフィルタなどのカーネルを用いたフィルタ(スライディングフィルタ)では、画像端部分でマスクサイズがはみ出るような場合、境界部分の取り扱いを制御する必要がありますが、畳み込み演算でも同様であり、ニューラルネットは畳み込みを繰り返し行うために画像端部分でその影響が強く出ているものになります。画像端部分の影響を抑えるため、前処理として reduce_domain を常に使用して、画像を関連する部分まで縮小し、端部分の影響を排除することが考えられます。また、前処理パラメータでドメインの取り扱いが決定されます。学習プログラムにおいて、create_dl_preprocess_paramプロシージャの引数、DomainHandlingにて'crop_domain'を与えた場合、前処理でcrop_domainオペレータが実行され画像に存在するドメインのみを用いて処理が行われます。crop_domainはドメインを囲う最小矩形の大きさに画像サイズが変化します。これは、ドメインの端部分が画像端となることを意味します。'full_domain'を与えた場合、前処理でfull_domainオペレータが実行され、既存のドメインを無視して画像全体で処理が行われます。full_domainは、ドメイン作成する前に存在していた輝度値が復元されます。これは、ドメインにより除去した背景輝度値を含めて処理が行われることを意味します。'keep_domain'を与えた場合、ドメイン処理は行われません。'keep_domain'はアノマリー検出でのみ使用できます。'keep_domain'は、ドメインによる画像サイズの変化が無く、背景の復元も行われません。これらの処理はpreprocess_dl_samples内のpreprocess_dl_model_imagesで実行されます。検査対象物が画像中央にあり、かつドメインを作成した場合、'keep_domain'を用いることで端部分に強く反応する現象を回避することが可能です。画像全体を使用する必要があり、端の影響を抑えたい場合、一回り大きな背景画像に目的画像を貼り付け、'keep_domain'を使用することが考えられます。Move := 64get_image_size (Image, Width, Height)hom_mat2d_identity (HomMat2DIdentity)hom_mat2d_translate (HomMat2DIdentity, Move, Move, HomMat2DTranslate)affine_trans_image_size (Image, ImageAffineTrans, HomMat2DTranslate, 'constant', Width+Move*2, Height+Move*2) 添付ファイルタイトルアノマリー検出で画像端部分に強い反応がでるURL 名000006863公開状況公開済み検証状況公開済み