(57)【要約】【課題】欠陥の有無を判別するためのパラメータを簡易に設定する。【解決手段】検査対象物の検査画像を取得する取得部と、検査画像に対して学習用の画像データを用いて特徴を抽出するように事前学習した学習済みの識別器を適用することで１以上の特徴抽出画像を生成する画像生成部と、検査対象物における検出対象部位の有無を判定するための１以上の判定用パラメータと特徴抽出画像に基づいて生成される２値化画像とに基づいて欠陥に対応する領域を特定する検査部と、事前学習済みの特徴に基づいて欠陥に対応する領域を特定する場合に、特徴に対応する学習用の画像データの数が閾値未満であるときは、ユーザからの事後調整を前提として判定用パラメータを仮設定し、事前学習済みの特徴以外の特徴に基づいて欠陥に対応する領域を特定する場合に、ユーザからの指定に応じて判定用パラメータを設定する設定部を備える。【選択図】図１
2020106467.tif 000002
【特許請求の範囲】
【請求項１】
検査対象物の検査画像を取得する取得部と、
前記検査画像に対して、学習用の画像データを用いて１以上の特徴を抽出するように事前学習した学習済みの識別器を適用することで、１以上の特徴抽出画像を生成する画像生成部と、
前記検査対象物における欠陥有無を判定するための１以上の判定用パラメータと、前記特徴抽出画像に基づいて生成される２値化画像と、に基づいて欠陥に対応する領域を特定する検査部と、
事前学習済みの前記特徴に基づいて欠陥に対応する領域を特定する場合に、前記特徴に対応する学習用の画像データの数が閾値未満であるときは、ユーザからの事後調整を前提として前記判定用パラメータを仮設定し、事前学習済みの前記特徴以外の特徴に基づいて欠陥に対応する領域を特定する場合に、ユーザからの指定に応じて前記判定用パラメータを設定する設定部と、
を備える欠陥検査装置。
【請求項２】
請求項１に記載の欠陥検査装置であって、
事前学習済みの前記特徴に基づいて欠陥に対応する領域を特定する場合に、前記特徴に対応する学習用の画像データの数が閾値以上であるときは、前記設定部は、前記判定用パラメータを自動設定する、欠陥検査装置。
【請求項３】
請求項１又は２に記載の欠陥検査装置であって、
前記設定部は、前記欠陥に対応する領域が特定された前記２値化画像である設定用画像を用いて、前記設定用画像の画素の色の濃度に基づく画像スコアを算出し、前記領域の内部の画像スコアと前記領域の外部の画像スコアとの差が相対的に大きくなるように前記判定用パラメータを更新する、欠陥検査装置。
【請求項４】
請求項３に記載の欠陥検査装置であって、
前記２値化画像は白色の画素と黒色の画素とから構成され、
前記白色の画素と前記黒色の画素とのそれぞれに濃度値が対応付けられており、
前記設定部は、前記領域内に含まれる複数の画素について、前記濃度値の合計値を第１の画像スコアとして算出し、前記領域外の含まれる複数の画素について、前記濃度値の合計値を第２の画像スコアとして算出し、第１の画像スコアと第２の画像スコアとの差が最大となるように判定用パラメータを更新する、欠陥検査装置。
【請求項５】
請求項３又は４に記載の欠陥検査装置であって、
前記検査部は、更新した前記判定用パラメータと、前記２値化画像と、に基づいて欠陥の有無を判定し、判定結果を出力する、欠陥検査装置。
【請求項６】
請求項５に記載の欠陥検査装置であって、
前記検査部は、前記判定結果として、少なくとも、更新した前記判定用パラメータに基づいて欠陥を特定した前記２値化画像を出力する、欠陥検査装置。
【請求項７】
請求項１乃至６のうち何れか１項に記載の欠陥検査装置であって、
前記判定用パラメータは、前記２値化画像を生成するための２値化レベルを含む、欠陥検査装置。
【請求項８】
請求項１乃至７のうち何れか１項に記載の欠陥検査装置であって、
前記判定用パラメータは、前記欠陥を判定するための１以上の判定項目と、前記判定項目の各々に対して設定される判定閾値とを含む、欠陥検査装置。
【請求項９】
請求項８に記載の欠陥検査装置であって、
前記欠陥を判定するための１以上の判定項目は、前記２値化画像における同色の画素の塊で表現される所定の領域の面積、外接矩形の幅及び／又は高さ、周囲長、縦横比、円形度の少なくとも１つを含み、前記判定閾値は、これらの判定項目の各々に対して設定される上限値及び／又は下限値を含む、欠陥検査装置。
【請求項１０】
請求項８又は９に記載の欠陥検査装置であって、
前記判定項目と前記判定閾値とは、前記画像生成部又は前記検査部の学習時に用いられる学習用の画像データに含まれる欠陥の特徴に基づいて決定される、欠陥検査装置。
【請求項１１】
請求項１乃至１０のうち何れか１項に記載の欠陥検査装置であって、
前記領域の指定を受け付ける表示部をさらに備え、
前記検査部は、予め定められた前記判定用パラメータに基づいて、欠陥と判定される領域を特定するとともに、特定した領域を前記検査画像とともに前記表示部に対して出力し、
前記設定部は、前記表示部を介して受け付けた前記領域の指定に基づいて前記設定用画像を生成する、欠陥検査装置。
【請求項１２】
請求項１乃至１１のうち何れか１項に記載の欠陥検査装置であって、
前記検査部は、
前記２値化画像において、欠陥を判定するための１以上の特徴量の各々に対して設定された判定閾値に基づいて、前記２値化画像のうち、欠陥と判定される領域を特定し、特定した領域をユーザに提示し、
前記設定部は、
前記ユーザから、前記検査部で欠陥と判定された領域であるが、欠陥として判定されるべきでない領域、及び／又は、前記検査部で欠陥と判定されなかった領域であるが、欠陥として判定されるべきである領域の指定を受け付け、当該指定に基づいて、前記判定閾値を更新する、欠陥検査装置。
【請求項１３】
請求項１２に記載の欠陥検査装置であって、
前記判定用パラメータは、前記欠陥を判定するための１以上の判定項目と、前記判定項目の各々に対して設定される判定閾値とを含み、
前記欠陥を判定するための１以上の判定項目と前記判定閾値は、前記ユーザの指定に基づいて決定される、欠陥検査装置。
【請求項１４】
コンピュータが、
検査対象物の検査画像を取得するステップと、
前記検査画像に対して、学習用の画像データを用いて１以上の特徴を抽出するように事前学習した学習済みの識別器を適用することで、１以上の特徴抽出画像を生成するステップと、
前記検査対象物における検出対象部位の有無を判定するための１以上の判定用パラメータと、前記特徴抽出画像に基づいて生成される２値化画像と、に基づいて欠陥に対応する領域を特定するステップと、
事前学習済みの前記特徴に基づいて欠陥に対応する領域を特定する場合に、前記特徴に対応する学習用の画像データの数が閾値未満であるときは、ユーザからの事後調整を前提として前記判定用パラメータを仮設定し、事前学習済みの前記特徴以外の特徴に基づいて欠陥に対応する領域を特定する場合に、ユーザからの指定に応じて前記判定用パラメータを設定するステップと、
を実行する欠陥検査方法。
【請求項１５】
コンピュータに、
検査対象物の検査画像を取得するステップと、
前記検査画像に対して、学習用の画像データを用いて１以上の特徴を抽出するように事前学習した学習済みの識別器を適用することで、１以上の特徴抽出画像を生成するステップと、
前記検査対象物における検出対象部位の有無を判定するための１以上の判定用パラメータと、前記特徴抽出画像に基づいて生成される２値化画像と、に基づいて欠陥に対応する領域を特定するステップと、
事前学習済みの前記特徴に基づいて欠陥に対応する領域を特定する場合に、前記特徴に対応する学習用の画像データの数が閾値未満であるときは、ユーザからの事後調整を前提として前記判定用パラメータを仮設定し、事前学習済みの前記特徴以外の特徴に基づいて欠陥に対応する領域を特定する場合に、ユーザからの指定に応じて前記判定用パラメータを設定するステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械学習によって生成された識別器を用いた欠陥検出処理を実行可能な欠陥検査装置、欠陥検査方法、及びそのプログラムに関する。
【背景技術】
【０００２】
ＦＡ（Factory Automation）分野では、画像計測処理を用いた自動制御が広く実用化されている。例えば、ワークなどの検査対象を撮像し、その撮像された画像から抽出された特徴量に基づいて、当該ワークについての良否を検査するような工程が実現される。
【０００３】
例えば特許文献１には、複数の撮像条件で撮像した検査対象の画像を学習用データに用いて学習した識別器の出力結果に基づいて、検査対象の欠陥の有無を判定する装置について開示されている。具体的には、特許文献１に記載の装置は、外観の良否が既知の対象物に対して、少なくとも２つの異なる撮像条件で撮像された画像に基づく少なくとも２つの画像のそれぞれから、当該画像の特徴量を抽出する学習用抽出手段と、前記学習用抽出手段により前記少なくとも２つの画像から抽出された特徴量を跨る特徴量から、対象物の良否を判定するための特徴量を選択する選択手段と、前記選択手段により選択された前記特徴量に基づいて、対象物の良否を判定する識別器を生成する生成手段と、を有する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−４９９７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載されるような従来の識別器は、画像の特徴量に基づいて欠陥の有無を検出することを学習する。しかしながら、生産ライン上を流れるワークの種類や撮影条件等の検査条件は生産ラインによって様々であり、学習時の条件と必ずしも一致するとは限らない。したがって、事前学習された識別器を実際に生産ラインに用いる場合には、識別器の出力結果はノイズ等の影響を受ける場合がある。ノイズは、例えば光の反射や陰影等によって、画像に混ざった不要な特徴量である。よって識別器の出力結果に基づいて欠陥の有無を判定するには、ノイズと欠陥とを切り分けるために、判定用のパラメータを調整できることが好ましい。一方で、この調整には手間がかかるため、生産性の低下を招く場合があった。
【０００６】
本発明は、上述した事情を鑑みてなされたものであり、事前学習された識別器が出力する結果を用いて欠陥の有無を検査する検査装置において、欠陥の有無を判別するための判定用パラメータを適切かつ簡易に設定する技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、上述した課題を解決するために、以下の構成を採用する。
本発明の一側面に係る欠陥検査装置は、検査対象物の検査画像を所得する取得部と、検査画像に対して、学習用の画像データを用いて１以上の特徴を抽出するように事前学習した学習済みの識別器を適用することで、１以上の特徴抽出画像を生成する画像生成部と、検査対象物における検出対象部位の有無を判定するための１以上の判定用パラメータと、特徴抽出画像に基づいて生成される２値化画像と、に基づいて欠陥に対応する領域を特定する検査部と、事前学習済みの特徴に基づいて欠陥に対応する領域を特定する場合に、特徴に対応する学習用の画像データの数が閾値未満であるときは、ユーザからの事後調整を前提として判定用パラメータを仮設定し、事前学習済みの特徴以外の特徴に基づいて欠陥に対応する領域を特定する場合に、ユーザからの指定に応じて判定用パラメータを設定する設定部を備える。これにより、欠陥の有無を判別するための判定用パラメータを適切かつ簡易に設定し、欠陥検出の誤判定を抑制できる。
【０００８】
事前学習済みの特徴に基づいて欠陥に対応する領域を特定する場合に、特徴に対応する学習用の画像データの数が閾値以上であるときは、設定部は、判定用パラメータを自動設定してもよい。これにより、欠陥の有無を判別するための判定用パラメータを適切かつ簡易に設定することができる。
【０００９】
設定部は、欠陥に対応する領域が特定された２値化画像である設定用画像を用いて、設定用画像の画素の色の濃度に基づく画像スコアを算出し、領域の内部の画像スコアと領域の外部の画像スコアとの差が相対的に大きくなるように判定用パラメータを更新してもよい。特徴抽出画像は、欠陥検査装置に入力される画像から所定の特徴を抽出した画像をいう。２値化画像は、特徴抽出画像に基づいて生成され、検査部によって欠陥の有無が判定される画像をいう。
【００１０】
上記構成では、事前学習された識別器が出力する結果を用いて欠陥の有無を検査する欠陥検査装置において、欠陥の有無を判別するための判定用パラメータを適切かつ簡易に設定することができる。判定用パラメータが適切に設定できるようになることで、誤判定が減少する。特にノイズを減らすことができるので、欠陥ではないのに欠陥と認識してしまう誤検出が減少する。さらに、判定用パラメータを簡易に設定できるので、欠陥検査装置の設定工数、立上げ工数が削減できる。
【００１１】
上記一側面に係る欠陥検査装置において、２値化画像は白色の画素と黒色の画素とから構成され、白色の画素と前記黒色の画素とのそれぞれに濃度値が対応付けられており、設定部は、領域内に含まれる複数の画素について、色の濃度値の合計値を第１の画像スコアとして算出し、領域外の含まれる複数の画素について、色の濃度値の合計値を第２の画像スコアとして算出し、第１の画像スコアと第２の画像スコアとの差が最大となるように判定用パラメータを更新するように構成されてもよい。この態様によると、欠陥検査装置は、画像スコアを算出し比較することで、適切な判定用パラメータを探索することが可能になる。
【００１２】
また、判定用パラメータは、２値化画像を生成するための２値化レベルを含むように構成されてもよい。さらに、判定用パラメータは、２値化画像を判定するための１以上の判定項目と、判定項目の各々に対して設定される判定閾値を含むように構成されてもよい。この態様によると、検査部によって欠陥の有無が判定される対象となる２値化画像を生成する閾値を適切かつ簡易に設定することができる。これによって誤判定をより減少させることが可能になる。
【００１３】
また、上記一側面に係る欠陥検査装置において、欠陥を判定するための１以上の判定項目は、２値化画像における同職の画素の塊で表現される所定の領域の面積、外接矩形の幅及び／又は高さ、周囲長、縦横比、円形度の少なくとも１つを含み、判定閾値は、これらの判定項目の各々に対して設定される上限値及び／又は下限値を含むように構成されてもよい。この態様によると、欠陥検査装置は、判定項目ごとに判定閾値を設定することができる。これにより、より適切な判定用パラメータを設定可能になる。
【００１４】
また、判定項目と判定閾値とは、画像生成部又は検査部の学習時に用いられる学習用の画像データに含まれる欠陥の特徴量に基づいて決定されてもよい。この態様によると、欠陥検査装置は、学習用データセットに含まれる学習用画像が有する欠陥の形状の分布に対応した判定条件を設定することができ、学習用データセットに含まれる欠陥と同等の形状を有する欠陥を抽出することができる。
【００１５】
また、上記一側面に係る欠陥検査装置は、領域の指定を受け付ける表示部をさらに備え、検査部は、予め定められた判定用パラメータに基づいて、欠陥と判定される領域を特定するとともに、特定した領域を検査画像とともに表示部に対して出力し、設定部は、表示部を介して受け付けた領域の指定に基づいて設定用画像を生成するよう構成されてもよい。この態様によると、ユーザは予め定められた判定用パラメータに対して事後的に調整を行うことが可能になり、検査部の欠陥検査の制度をより適切かつ容易に調整することができる。この結果、ユーザの検査部の欠陥検出の精度調整に係る負荷をより低減することができる。
【００１６】
また、上記一側面に係る欠陥検査装置において、検査部は、２値化画像において、欠陥を判定するための１以上の特徴量の各々に対して設定された判定閾値に基づいて、２値化画像のうち、欠陥と判定される領域を特定し、特定した領域をユーザに提示し、設定部は、ユーザから、検査部で欠陥と判定された領域であるが、欠陥として判定されるべきでない領域、及び／又は、検査部で欠陥と判定されなかった領域であるが、欠陥として判定されるべきである領域の指定を受け付け、当該指定に基づいて、判定閾値を更新するよう構成されてもよい。また、欠陥を判定するための１以上の判定項目と判定閾値は、ユーザの指定に基づいて決定されてもよい。この態様によると、ユーザは予め定められた判定用パラメータに対して事後的に調整を行うことが可能になり、検査部の欠陥検査の制度をより適切かつ容易に調整することができる。
【００１７】
また、本発明の一側面に係る欠陥検査方法は、コンピュータが、検査対象物の検査画像を所得するステップと、検査画像に対して、学習用の画像データを用いて１以上の特徴を抽出するように事前学習した学習済みの識別器を適用することで、１以上の特徴抽出画像を生成するステップと、検査対象物における検出対象部位の有無を判定するための１以上の判定用パラメータと、特徴抽出画像に基づいて生成される２値化画像と、に基づいて欠陥に対応する領域を特定するステップと、事前学習済みの特徴に基づいて欠陥に対応する領域を特定する場合に、特徴に対応する学習用の画像データの数が閾値未満であるときは、ユーザからの事後調整を前提として判定用パラメータを仮設定し、事前学習済みの特徴以外の特徴に基づいて欠陥に対応する領域を特定する場合に、ユーザからの指定に応じて判定用パラメータを設定するステップとを実行する。これにより、欠陥の有無を判別するための判定用パラメータを適切かつ簡易に設定し、欠陥検出の誤判定を抑制できる。
【００１８】
また、本発明の一側面に係るプログラムは、コンピュータに、検査対象物の検査画像を所得するステップと、検査画像に対して、学習用の画像データを用いて１以上の特徴を抽出するように事前学習した学習済みの識別器を適用することで、１以上の特徴抽出画像を生成するステップと、検査対象物における検出対象部位の有無を判定するための１以上の判定用パラメータと、特徴抽出画像に基づいて生成される２値化画像と、に基づいて欠陥に対応する領域を特定するステップと、事前学習済みの特徴に基づいて欠陥に対応する領域を特定する場合に、特徴に対応する学習用の画像データの数が閾値未満であるときは、ユーザからの事後調整を前提として判定用パラメータを仮設定し、事前学習済みの特徴以外の特徴に基づいて欠陥に対応する領域を特定する場合に、ユーザからの指定に応じて判定用パラメータを設定するステップとを実行させる。これにより、欠陥の有無を判別するための判定用パラメータを適切かつ簡易に設定し、欠陥検出の誤判定を抑制できる。
【発明の効果】
【００１９】
本発明によれば、事前学習された識別器が出力する結果を用いて欠陥の有無を検査する欠陥検査装置において、欠陥の有無を判別するための判定用パラメータを適切かつ簡易に設定する技術を提供できる。
【図面の簡単な説明】
【００２０】
【図１】本実施の形態に係る欠陥検査システムのシステム構成例を示す模式図である。
【図２】本実施の形態に係る欠陥検査装置のハードウェア構成を示す模式図である。
【図３】本実施の形態に係る欠陥検査装置の機能構成を示す模式図である。
【図４】本実施の形態に係る欠陥検査システムにおけるＣＮＮを用いた画像計測処理の処理手順の一例を説明するための図である。
【図５Ａ】本実施の形態に係るＣＮＮエンジンに与えられる学習データセットの一例を示す図である。
【図５Ｂ】本実施の形態に係るＣＮＮエンジンの学習時の入・出力及び期待値を説明するための模式図である。
【図６】本実施の形態に係る欠陥検査システムにおける半自動設定モードの処理の一例を説明するためのフローチャートである。
【図７】本実施の形態に係る欠陥検査システムにおける自動手動設定モードの処理の一例を説明するためのフローチャートである。
【図８】本実施の形態に係る欠陥検査装置における欠陥領域の一例を説明するための図である。
【図９】本実施の形態に係る欠陥検査システムにおける自動手動設定モードの処理の一例を説明するためのフローチャートである。
【図１０Ａ】本実施の形態に係る欠陥検査装置が提供するユーザインターフェイス画面２００の一例を示す模式図である。
【図１０Ｂ】本実施の形態に係る欠陥検査装置が提供するユーザインターフェイス画面２００の一例を示す模式図である。
【図１０Ｃ】本実施の形態に係る欠陥検査装置が提供するユーザインターフェイス画面２００の一例を示す模式図である。
【図１０Ｄ】本実施の形態に係る欠陥検査装置が提供するユーザインターフェイス画面２００の一例を示す模式図である。
【図１１】本実施の形態に係る欠陥検査システムにおける準備工程の処理手順を示すフローチャートである。
【図１２】本実施の形態に係る欠陥検査システムにおける運用工程の処理手順を示すフローチャートである。
【図１３】本実施形態に関わる判定パラメータの設定モードの切り替え処理の流れの一例を示すフローチャートである。
【図１４】本実施形態に関わる事前学習済みの特徴の一例を示す説明図である。
【図１５】本実施形態に関わる事前学習済みの特徴以外の特徴の一例を示す説明図である。
【発明を実施するための形態】
【００２１】
以下、本発明の一側面に係る実施の形態（以下「本実施形態」とも表記する）を、図面に基づいて説明する。ただし、以下で説明する実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【００２２】
§１  適用例
まず、図１を用いて、本発明が適用される場面の一例について説明する。図１は、本実施形態に係る欠陥検査システム１の適用場面の一例を模式図である。本実施の形態に係る欠陥検査システム１は、検査対象を撮像することにより生成される入力画像に対して欠陥検査を行う際に、欠陥として抽出する特徴に応じて適切な判定用パラメータが設定されるように作業者（以下「ユーザ」ともいう。）を補助することができる。なお、検査対象は、例えば、製造過程にある、部品、製品等のワーク（Work piece）等を含む。
【００２３】
図１に示されるとおり、欠陥検査システム１は、例えば、ベルトコンベア２上を搬送される検査対象であるワーク４を撮像して得られる入力画像に対して画像計測処理を実行することで、ワーク４の外観検査または外観計測を実現する。以下の説明においては、画像計測処理の典型例として、ワーク４表面における欠陥の有無の検査などに適用した例を説明するが、これに限らず、欠陥の種類の特定、欠陥の外観形状の寸法計測などにも応用が可能である。
【００２４】
ベルトコンベア２の上部には撮像部であるカメラ１０２が配置されており、カメラ１０２の撮像視野６はベルトコンベア２の所定領域を含むように構成される。カメラ１０２の撮像により生成された画像データ（以下、「入力画像」ともいう。）は、欠陥検査装置１００へ送信される。カメラ１０２による撮像は、周期的またはイベント的に実行される。
【００２５】
欠陥検査装置１００は、上位ネットワーク８を介して、ＰＬＣ（プログラマブルコントローラ）１０およびデータベース装置１２などと接続されている。欠陥検査装置１００における計測結果は、ＰＬＣ１０および／またはデータベース装置１２へ送信されてもよい。なお、上位ネットワーク８には、ＰＬＣ１０およびデータベース装置１２に加えて、任意の装置が接続されるようにしてもよい。
【００２６】
欠陥検査装置１００は、処理中の状態や計測結果などを表示するためのディスプレイ１０４と、ユーザ操作を受付ける入力部としてのキーボード１０６およびマウス１０８とが接続されていてもよい。
【００２７】
欠陥検査装置１００は機械学習によって生成された識別器を有している。一例として、欠陥検査装置１００はＣＮＮエンジンを有している。ＣＮＮエンジンは、畳み込みニューラルネットワーク（Convolutional Neural Network）を用いた識別器を構成しており、入力画像が予め指定された所定の特徴に対応した複数のクラス（分類）のいずれかに属する確率、および、各クラスに対応した特徴抽出画像を生成するように構成されている。ここで、特徴抽出画像は、入力画像から所定の特徴を抽出した画像をいい、本実施の形態において、所定の特徴（クラス）は、背景、黒点、白点、黒線、白線、の５つである。ＣＮＮエンジンは前述した複数のクラスごとに用意された学習用画像と教師データ（ラベル）とを含む学習データセットに基づいて事前学習を行うことにより、入力画像から所定の特徴が抽出された特徴抽出画像を生成する。ＣＮＮエンジンは、学習用データセットを用いた事前学習により、所定のクラスに属する確率、および、特徴抽出画像を生成するように調整された内部パラメータをあらかじめ獲得している。ここで、内部パラメータとは、ニューラルネットワークの構成（例えば、ニューラルネットワークの層数、各層におけるニューロンの個数、ニューロン同士の結合関係、各ニューロンの活性化関数）、ハイパーパラメータ（各ニューロン間の結合の重み及び各ニューロンの閾値を示す情報）を含む。本実施の形態において、所定の特徴とは、欠陥の形状に関する特徴、および、欠陥の色の濃度、に関する特徴を含む。より具体的には、欠陥の形状に関する特徴として、点欠陥および線欠陥を含み、欠陥の色の濃度に関する特徴として、白欠陥および黒欠陥を含む。これらの組合せにより、本実施の形態におけるＣＮＮエンジンは、所定のクラスとして、「白点」、「白線」、「黒点」、「黒線」を含み、各クラスに対応した１以上の特徴抽出画像を生成する。これら特徴抽出画像は、グレースケールで表現される。ＣＮＮエンジンの構成、および、ＣＮＮエンジンの学習過程に関しては後述する。
【００２８】
さらに欠陥検査装置１００は、ＣＮＮエンジンが出力した１または複数の特徴抽出画像に基づいて、各クラスに対応した特徴が、白色または黒色の画素で表現された２値化画像を生成し、この２値化画像と、判定用のパラメータ（以下「判定用パラメータ」ともいう。）とを用いて対象のワークにおける欠陥の有無などを判断する検査部（以下「後処理部」ともいう。）を有する。なお、後処理部は、欠陥の有無に加え、欠陥の大きさ、位置、種別などを検出することもできる。ここで、判定用パラメータは、２値化画像を生成するための２値化レベル、２値化画像に含まれる特徴を欠陥と判定するか否かの判定項目および各判定項目に対応して設定される判定閾値、を含むパラメータである。判定項目としては、特徴を示す画素の面積、外接矩形の幅及び高さ、周囲長、円形度などが挙げられる。なお、円形度とは、図形の複雑さを表すための数値である。円形度の値が大きいほど、円形に近いことを示し、欠陥ではなく、何らかの模様であることを示す。判定閾値は、下限値と上限値とを含むことが好ましく、下限値と上限値との間に含まれる特徴量を有する特徴を欠陥と判定するための閾値である。
【００２９】
生産ライン上を流れるワークの種類や撮影条件等の検査条件は生産ラインによって様々であり、学習時の条件と必ずしも一致するとは限らない。このため、学習済みのＣＮＮを生産ラインに用いる際に、内部パラメータによっては、ノイズが特徴抽出画像に含まれてしまう場合がある。ノイズは、例えば光の反射や陰影等によって、画像に混ざった不要な特徴量である。このようなノイズは、欠陥であるのに欠陥でないといった誤判定や、欠陥ではないのに欠陥であるといった誤判定の原因になる。したがって、後処理部によって、特徴抽出画像にノイズが含まれる場合には、ノイズと欠陥を切り分ける処理が必要となることがある。ノイズと欠陥との切り分け処理は判定用パラメータに基づいて行われるところ、生産ラインに応じて判定用パラメータを手動によって適切に調整するのは手間がかかり生産性を低下させてしまう。
【００３０】
本実施形態にかかる欠陥検査装置１００は、このような事情を鑑み、ＣＮＮエンジンが出力した特徴抽出画像に含まれるノイズと欠陥とを、後処理部において切り分けるための判定用パラメータを、実際に欠陥判定を行う入力画像に応じて更新する機能を有している。具体的には本実施形態にかかる欠陥検査装置１００は、まず、入力画像（検査画像）に対して、学習器（CNN）を適用することで１以上の特徴抽出画像を生成する。そして、１以上の特徴抽出画像に対して、加減算処理（行わなくてもよい）、及び、予め定められた２値化レベルの初期値に基づく２値化処理、を実行して２値化画像を生成する。さらに、欠陥検査装置１００は、予め定められた判定項目と判定閾値との初期値に基づいて、検査部が欠陥部分を特定する判定処理を行う。このとき、検査部は、判定処理結果をユーザに表示（欠陥と判定された領域を画像とともに提示）し、ユーザからのフィードバックを受け付けることができる。例えば、欠陥検査装置１００は、検査部が欠陥として検出する領域（欠陥領域）を見逃した場合には、欠陥領域の追加をユーザから受け付けることができる。また欠陥検査装置１００は、検査部が、ノイズを誤って欠陥領域として判定してしまった場合には、当該欠陥領域の削除を受け付けることができる。ユーザからのフィードバックを受け付けると、欠陥検査装置１００は欠陥領域が指定された画像（設定用画像）を用いて、当該欠陥領域内外の濃度の差が大きくなるように判定用パラメータ（２値化レベル、判定項目、判定閾値）を調整する。
【００３１】
なお、「表示部を介してユーザから領域指定を受け付ける」処理は行わなくてもよい。この場合には、予め欠陥領域が特定された画像を取得すればよい（図７、図９の全自動モードにおけるＳ２０１のように、予め欠陥領域が特定された画像を用いればよい）。
【００３２】
なお、本実施形態にかかる欠陥検査装置１０は、判定用パラメータの設定モードとして、少なくともプリセットされた判定用パラメータをユーザが調整する機能（半自動モード）を有している。これによって、ユーザはプリセットされた判定用パラメータが適切でない場合に調整すればよいため、判定用パラメータ設定の負荷を低減させることができる。また、本実施形態にかかる欠陥検査装置１０は、半自動モードの他、判定用パラメータを自動で設定するモード（全自動モード）及びユーザが手動で判定用パラメータを設定する機能（手動モード）を有している。なお、第１の設定モード、第２の設定モード、第３の設定モードは、それぞれ、半自動モード、手動モード、全自動モード、に対応する。
【００３３】
§２  構成例
＜１．欠陥検査装置１００のハードウェア構成＞
次に、本実施の形態に係る欠陥検査システム１に含まれる欠陥検査装置１００のハードウェア構成について説明する。
【００３４】
図２は、本実施の形態に係る欠陥検査装置１００のハードウェア構成を示す模式図である。図２を参照して、欠陥検査装置１００は、一例として、汎用的なコンピュータアーキテクチャに従って構成される汎用コンピュータを用いて実現されてもよい。欠陥検査装置１００は、プロセッサ１１０と、メインメモリ（主記憶部）１１２と、カメラインターフェイス１１４と、入力インターフェイス１１６と、表示インターフェイス１１８と、通信インターフェイス１２０と、ストレージ（補助記憶部）１３０とを含む。これらのコンポーネントは、典型的には、内部バス１２２を介して互いに通信可能に接続されている。
【００３５】
プロセッサ１１０は、ストレージ１３０に格納されているプログラムをメインメモリ１１２に展開して実行することで、図３乃至図１２を用いて後述するような機能および処理を実現する。メインメモリ１１２は、揮発性メモリにより構成され、プロセッサ１１０によるプログラム実行に必要なワークメモリとして機能する。
【００３６】
カメラインターフェイスは取得部の一例である。カメラインターフェイス１１４は、カメラ１０２と接続されて、カメラ１０２にて撮像された入力画像を取得する。カメラインターフェイス１１４は、カメラ１０２に対して撮像タイミングなどを指示するようにしてもよい。
【００３７】
入力インターフェイス１１６は、キーボード１０６およびマウス１０８などのユーザによる操作が行われる入力部と接続される。入力インターフェイス１１６は、ユーザが入力部に対して行った操作などを示す指令を取得する。
【００３８】
表示インターフェイス１１８は、表示部としてのディスプレイ１０４と接続されている。表示インターフェイス１１８は、プロセッサ１１０によるプログラムの実行によって生成される各種処理結果をディスプレイ１０４へ出力する。
【００３９】
通信インターフェイス１２０は、上位ネットワーク８を介して、ＰＬＣ１０およびデータベース装置１２などと通信するための処理を担当する。
【００４０】
ストレージ１３０は、ＣＮＮエンジンを実現するための画像処理プログラム１３２およびＯＳ（operating system）１３４など、コンピュータを欠陥検査装置１００として機能させるためのプログラムを格納している。ストレージ１３０は、さらに、後述するような画像計測処理を実現するための判定用パラメータ１３６と、カメラ１０２から取得された入力画像１３８と、画像計測処理によって得られた計測結果１４０とを格納していてもよい。
【００４１】
ストレージ１３０に格納される画像処理プログラム１３２は、ＤＶＤ（digital versatile disc）などの光学記録媒体またはＵＳＢ（universal serial bus）メモリなどの半導体記録媒体などを介して、欠陥検査装置１００にインストールされてもよい。あるいは、画像処理プログラム１３２は、ネットワーク上のサーバ装置などからダウンロードするようにしてもよい。
【００４２】
本実施の形態に係る画像処理プログラム１３２は、本実施の形態に係る機能を実現するためのすべてのソフトウェアモジュールを含んでおらず、ＯＳと協働することで、必要な機能が提供されるようにしてもよい。
【００４３】
本実施の形態に係る画像処理プログラム１３２は、他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、画像処理プログラム１３２自体には、上記のような組合せられる他のプログラムに含まれるモジュールを含んでおらず、当該他のプログラムと協働して処理が実行される。このように、本実施の形態に係る画像処理プログラム１３２は、他のプログラムに組込まれた形態であってもよい。
【００４４】
図２には、汎用コンピュータを用いて欠陥検査装置１００を実現する例を示したが、これに限られることなく、その全部または一部の機能を専用回路（例えば、ＡＳＩＣ（application specific integrated circuit）やＦＰＧＡ（field-programmable gate array）など）を用いて実現してもよい。さらに、一部の処理をネットワーク接続された外部装置に担当させてもよい。
【００４５】
＜２．欠陥検査装置１００の機能構成＞
次に、図３及び図４を参照して、本実施形態に係る欠陥検査システム１に含まれる欠陥検査装置１００の機能構成について説明する。なお、図３においてＣＮＮエンジン１５６が画像生成部に該当し、後処理部１７０（特に判定部１６２）が検査部に該当する。
【００４６】
図３は、本実施形態に係る欠陥検査装置１００の機能構成を示す模式図である。欠陥検査装置１００が有する各機能構成は、典型的には、前述のプロセッサ１１０が画像処理プログラム１３２を実行することで実現される演算処理である。また、図４は、本実施形態に係る欠陥検査装置１００における検査工程（運用工程）の一例を説明するための模式図である。
【００４７】
図３を参照して、欠陥検査装置１００は、機能構成として、入力バッファ１５２と、前処理部１５４と、ＣＮＮエンジン１５６と、後処理部１７０と、設定部１６６とを含む。以下、各機能部について詳細に説明する。
【００４８】
（２−１．入力バッファ１５２）
入力バッファ１５２は、カメラ１０２により撮像された入力画像を一旦格納する。プロセッサ１１０がストレージ１３０に入力画像を記憶することで、入力バッファ１５２が実現される。入力バッファ１５２には、前処理部１５４および設定部１６６からのアクセスが可能である。
【００４９】
（２−２．前処理部１５４）
前処理部１５４は、入力バッファ１５２に格納される入力画像に対して必要な前処理を実行する。本実施形態に係る前処理部１５４は、検査工程の立ち上げ時（以下「準備工程」ともいう。）において前処理フィルタを生成する。前処理フィルタは例えば入力画像を変換するためのパラメータ（フィルタパラメータ）である。なお、前処理フィルタの具体例としては、明度補正、カラーグレー変換、後述する入力画像の拡大縮小、等が挙げられる。なお、前処理フィルタは、入力画像に態様により適宜適用すればよい。
【００５０】
後述するＣＮＮエンジン１５６は事前学習によって、所定の特徴抽出画像を抽出するための内部パラメータを獲得している。これにより、ＣＮＮエンジン１５６は内部パラメータで規定された特徴量の幅に納まる特徴を抽出することができる。しかし、内部パラメータに対応する特徴量の範囲は、学習済みモデルの生成に利用した学習データが含む欠陥の種類に依存して決定される。したがって、生産ラインにおいて学習データに含まれない特異な特徴を有する欠陥が発生すると、当該欠陥の特徴量は事前学習によって獲得した特徴量から逸脱し、誤認識（見逃し）が発生する場合がある。また、生産ラインにおいて学習データに含まれない特異な特徴を有する背景領域のパターンが発生すると、当該背景領域のパターンが事前学習によって獲得した特徴量の範囲と合致し、誤認識（見過ぎ）が発生する場合がある。
【００５１】
そこで、前処理部１５４は、準備工程において、入力画像を以下のように変換可能な前処理フィルタを生成する。
・入力画像に含まれる欠陥に対応する領域の特徴量の幅が、内部パラメータに対応した特徴量の範囲に含まれるように、入力画像を拡大縮小する。
・入力画像に含まれる欠陥でない領域の特徴が、内部パラメータで抽出される特徴量に納まらないように入力画像を拡大縮小する。
【００５２】
そして実際に検査を行う工程（以下「運用工程」ともいう。）においては、入力画像に対して、前処理として当該前処理フィルタを適用することによって入力画像の変換を行う（図４のＳ１）。このような前処理は、後段にあるＣＮＮエンジン１５６での特徴の抽出を容易化するように入力画像を加工することを目的としている。前処理の内容については、設定部１６６を介してユーザから指定されるようにしてもよい。前処理後の入力画像（以下「前処理済み画像」ともいう。）は、ＣＮＮエンジン１５６へ出力される（図４のＳ２）。
【００５３】
（２−３．ＣＮＮエンジン１５６）
ＣＮＮエンジン１５６は、事前学習された複数のクラスを有するＣＮＮエンジン１５６を入力画像に適用することで、複数のクラスに対応する複数の特徴抽出画像をそれぞれ生成する特徴抽出画像生成機能を提供する。ＣＮＮエンジン１５６にてそれぞれ生成された複数の特徴抽出画像は後処理部１７０へ出力されるとともに、設定部１６６からのアクセスも可能になっている。
【００５４】
以下、ＣＮＮエンジン１５６の機能についてより詳細に説明する。
ＣＮＮエンジン１５６は、画像が入力された場合に、入力された画像があらかじめ指定された複数のクラス（分類：ｎ）に属する確率ｐｒｏｂ（ｎ）を出力するように構成されている。確率は、予め指定された複数のクラス（分類）ごとに算出される。本実施形態におけるＣＮＮエンジン１５６は、事前学習により、入力画像が、いずれのクラスに属する画像であるかの確率ｐｒｏｂ（ｎ）と、当該クラスに属する特徴抽出画像（特徴抽出画像１，特徴抽出画像２，・・・，特徴抽出画像Ｎ）を出力する（図４のＳ３）。本実施の形態において、複数のクラスは、背景、黒点、白点、黒線、白線、の５つのクラスである。カメラ１０２などにより撮像された入力画像がＣＮＮエンジン１５６に入力されることで、これらのクラス「白点」、「黒点」、「白線」、「黒線」に分類される特徴を抽出した特徴抽出画像がそれぞれ生成される。図４に示す特徴抽出画像においては、各特徴を示す領域と他の領域との濃度差が大きくなるように表示されている。なお、濃度差を大きく表示する例として、他の領域よりも明るく表示する態様や、他の領域よりも暗くする態様を含み得るが、これらに限られず、所定の特徴を示す領域を区別可能な態様であればいかなる態様でもよい。
【００５５】
上述のとおりＣＮＮエンジン１５６は事前学習によって、各クラスに対応する特徴抽出画像を生成するための内部パラメータを獲得している。たとえば、「白線」や「黒線」のクラスを抽出する場合、内部パラメータは、抽出可能な欠陥の幅のピクセル数で表すことが可能である。内部パラメータは事前学習によって与えられた学習画像に含まれていた欠陥の種類に応じて獲得される。
【００５６】
本実施の形態におけるＣＮＮエンジン１５６は、１または複数のコンボリューション層、１または複数のプーリング層、全結合層、ソフトマックス層を有する。入力画像の各画像の情報は、複数のコンボリューション層、と複数のプーリング層とを介して全結合層に出力される。コンボリューション層による畳み込み処理と、プーリング層による画像サイズの圧縮処理により、画像の特徴が抽出されていく。
【００５７】
全結合層は、コンボリューション層とプーリング層とを介して特徴が抽出された画像データを特定のノードに結合し、所定の関数によって変換された特徴変数を出力する。全結合層に設けられた各ノードは、予め指定された複数のクラスに対応する画像データとなる。
【００５８】
全結合層の出力は、ソフトマックス層（出力層）に対して出力される。ソフトマックス層では、予め指定された複数のクラス分類（ｎ）のいずれに属するかの確率ｐｒｏｂ（ｎ）を０〜１の範囲で出力する。
【００５９】
なお、コンボリューション層、全結合層の計算式は、それぞれ式（１）、式（２）で与えられるとおりである。各式において、複数の重みＷおよびバイアスＢは内部パラメータに含まれるハイパーパラメータであり、これらの内部パラメータは学習によって決定される。また、ソフトマックス層の計算式は式（３）で示される。
【数１】
2020106467.tif 000003
【数２】
2020106467.tif 000004
【数３】
2020106467.tif 000005
【００６０】
次に、本実施の形態におけるＣＮＮエンジン１５６の学習について説明する。本実施の形態において用いられる、学習用画像、及び、教師データ（ラベル）を含んだ学習データセットの一例を図５Ａに示す。また、図５Ａに示す学習データ及び教師データのセットを用いた学習過程の概略を図５Ｂに示す。
【００６１】
図５Ａに示すように、学習データは、予め指定された複数のクラス（分類：ｎ）に対応した学習用の画像を有している。本実施の形態では、図５Ａに示すように、背景、黒点で表現される欠陥、白点で表現される欠陥、黒線で表現される欠陥、白線で表現される欠陥、の５種類のクラスに対応した学習用画像が、それぞれ複数用意されている。さらに、各学習用の画像データには、各画像データの分類を示す教師データ（ラベル）が０〜４の番号で付与されている。より具体的には、背景に対して０、黒点で表現される欠陥に対して１、白点で表現される欠陥に対して２、黒線で表現される欠陥に対して３、白線で表現される欠陥に対して４、がそれぞれ付与されている。
【００６２】
図５Ｂに示すように、ＣＮＮエンジン１５６の学習において、まず、ＣＮＮの内部を構成するすべてのハイパーパラメータの値を乱数により初期化する。続いて、図５Ａに示す学習データセットに含まれる学習用画像をＣＮＮエンジン１５６に入力し、確率分布ｐｒｏｂ（ｎ）を出力させる。続いて、ＣＮＮエンジン１５６が出力した確率分布の実測値ｐｒｏｂ（ｎ）を、確率分布の出力期待値と比較する。ここで、確率分布の出力期待値は、入力した学習用画像に対応するラベルの確率分布ｐｒｏｂ（ｎ）＝１、かつ、入力した学習用画像に対応しないラベルの確率分布ｐｒｏｂ（ｎ）＝０となることである。したがって、図ｘｘに示すように、黒線で表現される欠陥が含まれる入力画像であって、教師データ（ラベル）として３が紐づけられる場合、その確率分布の出力期待値は、ｐｒｏｂ（３）＝１で、かつ、その他の確率分布の出力期待値が、ｐｒｏｂ（ｎ：０、１、２、４、）＝０となることが好ましい。したがって、ＣＮＮエンジン１５６の学習は、ある学習用画像を入力した場合にソフトマックス層が出力する確率分布の実測値と、その学習用画像に対応するラベルの出力期待値との差が最小になるように、ハイパーパラメータの組み合わせを探索して更新する処理となる。
【００６３】
ハイパーパラメータの更新は、複数の学習用画像を用いて確率分布ｐｒｏｂ（ｎ）を算出し、確率分布の実測値と出力期待値との交差エントロピーの合計を損失関数として、以下の式（４）に示す損失関数を最小化するように、ハイパーパラメータの値を繰り返し演算して行われる。このとき、ハイパーパラメータの演算には、勾配降下法と誤差逆伝搬法を用いることができる。更新前後におけるハイパーパラメータの差が所定値未満となった場合に、学習を完了させる。
【数４】
2020106467.tif 000006
【００６４】
（２−４．後処理部１７０）
後処理部１７０は、ＣＮＮエンジン１５６から出力される複数の特徴抽出画像の少なくとも一部の特徴抽出画像に対して、後処理を行うことで計測結果画像を生成する。具体的には、後処理部１７０は、ＣＮＮエンジン１５６が出力した複数の特徴抽出画像のうち、指定された１つまたは複数の特徴抽出画像を選択し、後処理を実行することにより、計測結果画像を出力する（図４のＳ４）。１つまたは特徴抽出画像の選択は、図３に示すように設定部１６６を介してユーザによる指定を受け付けてもよい。なお、後処理部１７０は計測結果画像と併せて計測結果を出力してもよい。計測結果は、入力画像に対して欠陥検査処理を実行したときに得られる判定結果（例えば、欠陥の有無、欠陥パターンの大きさ、欠陥パターンの位置など）を含む。
【００６５】
本実施形態では、後処理部１７０は、選択部１５８と、画像演算部１６０と、判定部１６２とから構成される。
【００６６】
選択部１５８は、ＣＮＮエンジン１５６から出力される複数の特徴抽出画像のうち、１または複数の特徴抽出画像を選択し、選択した特徴抽出画像を画像演算部１６０へ出力する。なお、選択部１５８は、特徴抽出画像を選択する際に、後述する設定部１６６を介してユーザの選択を受け付けてもよい。
【００６７】
画像演算部１６０は、選択部１５８が複数の特徴抽出画像を選択した場合に、必要に応じて所定の画像処理を実行し、その結果を判定部１６２へ出力する。ここで画像演算処理とは、複数の画像間において、対応する画素の間で四則演算を含む任意の数学的処理を行うことを含む。より具体的には、画像演算部１６０は、例えば画像演算処理として、選択された複数の特徴抽出画像のうち２つ以上の特徴抽出画像を用いて、画像同士の加算処理や、画像間の減算処理、及びそれらの重付き演算処理を実行することができる。
【００６８】
図４は、最も適切な特徴抽出画像として、選択部１５８によって「黒線」の特徴抽出画像が選択された例を示している。しかし、この例では、「黒線」の特徴抽出画像内には「黒点」に相当する特徴も現れている。すなわち、「黒線」の特徴抽出画像および「黒点」の特徴抽出画像のいずれにも、点状の特徴部分が共通して現れている。入力画像から鑑みるに、この「黒点」に相当する特徴は、欠陥を示しておらず、ノイズである。このように、入力画像に含まれる特徴の種類や大きさによっては、欠陥と欠陥以外（例えば、背景部分やノイズ）とのパターン分離が難しくなる。このとき、画像演算部１６０は、一方の特徴抽出画像から他方の特徴抽出画像に現れている特徴を減じるように画像演算処理を実行することで、目的の特徴のみを抽出することができる。すなわち、図４に示す例では、画像演算部１６０は、「黒線」の特徴抽出画像を構成するそれぞれの画素の輝度値と「黒点」の特徴抽出画像を構成するそれぞれの画素の輝度値との差を求める処理が実行する。一方、欠陥に対応する特徴が、複数のクラスの特徴抽出画像に分散して現れることもある。例えば、検査対象物にキズ状の欠陥が複数生じている場合であって、一のキズ欠陥は、照明条件により「白線」のの特徴抽出画像に抽出され、他のキズ欠陥は「黒線」の特徴抽出画像に抽出された場合である。このような場合、画像演算部１６０は、「白線」の特徴抽出画像と、「黒線」の特徴抽出画像との加算処理を実行してよい。このように、選択された複数の特徴抽出画像について画像同士の加減算処理、重み付き演算処理を実行することにより、欠陥として抽出する特徴を包含した画像を生成することができる。
【００６９】
なお、画像演算部１６０は、選択部１５８が特徴抽出画像を１つしか選択しなかった場合には、画像演算処理を行わず、そのまま判定部１６２に特徴抽出画像を出力してもよい。また、画像演算部１６０はどのような画像演算処理を実行するかを、設定部１６６を介してユーザから受け付けてもよい。
【００７０】
判定部１６２は、後述する設定部１６６から少なくとも入力される判定用パラメータに従って、画像演算部１６０が出力した特徴抽出画像（画像演算処理済みまたは画像演算未処理）に対して２値化処理及び判定処理を実行し、計測結果画像を出力する。なお、判定部１６２は計測結果画像と併せて計測結果を出力してもよい。
【００７１】
本実施形態において、判定用パラメータは、少なくとも２値化レベルまたは判定条件を含む。２値化レベルは、判定部１６２が２値化処理によって特徴抽出画像または、複数の特徴抽出画像について画像演算部１６０が画像処理を施した画像を２値化した画像（２値化画像）を生成する際に用いる閾値である。また、判定条件は、判定部１６２が、２値化画像に欠陥が含まれるか否かの判定に用いる特徴量の種類を示す判定項目（例えば、欠陥として検出する場合の当該画像の面積や、外接矩形の幅・高さ、周囲長、縦横日、円形度等である）と当該判定項目に設定され、欠陥として検出する特徴量の範囲を示す判定閾値とを組み合わせた情報である。判定閾値は、上限と下限とが設定されていることが好ましい。また、判定条件に含まれる判定項目は単一の項目に限定されず、複数の判定項目が含まれてもよい。この場合、判定条件は、複数の判定項目と、当該複数の判定項目それぞれについて設定された閾値との組合せの情報をいう。なお、判定用パラメータは、さらに判断ロジックを指定する情報などを含んでもよい。
【００７２】
以下の説明では、判定用パラメータは後述する設定部１６６の処理によって設定される例について説明するが、後処理部１７０として機械学習等された学習器を用いる場合には、判定用パラメータは事前学習によって獲得されている構成でもよい。この場合、判定用パラメータは、後述する設定部１６６の処理によって適切な値に更新される。
【００７３】
判定部１６２の２値化処理、及び判定処理の詳細について説明する。
２値化処理とは、判定部１６２が判定用パラメータに含まれる２値化レベルに従って、特徴抽出画像、または、複数の特徴抽出画像について画像演算部１６０が画像処理を施した画像（以下、「中間画像」という。）から２値化画像を生成する処理である。より詳細には、２値化処理として、判定部１６２は、まず、画像演算部１６０が出力した中間画像に対して判定用パラメータに含まれる２値化レベルに基づいて、２値化画像を生成する。２値化レベルとは、例えば、画素の強度に関する閾値である。例えば、判定部１６２が特徴抽出画像の濃度を白と黒の２値で表す２値化画像を生成する場合を例に説明する。この場合、もとの特徴抽出画像の濃度は連続した値を有するところ、判定部１６２は、２値化レベル以上の強度を有する画素をすべて黒に変換し、２値化レベル未満の強度を有する画素をすべて白に変換することで、特徴抽出画像を２値化した２値化画像を生成する。なお、強度と黒白との対応関係はこれに限定されず、逆でもよい。
【００７４】
次に、判定処理とは、判定部１６２が判定用パラメータに含まれる判定条件に従って、２値化画像（中間画像の一例である。）から計測結果画像（あるいは計測結果画像と計測結果）を生成する処理である。より詳細には、判定処理として、判定部１６２は、２値化処理によって生成された２値化画像において、同じ色がつながった画素の塊（以下「第１特徴領域」ともいう。）を抽出する。そして、判定部１６２は、判定用パラメータとして与えられた判定条件に基づいて、抽出した第１特徴領域から、欠陥として検出される領域を抽出する。そして欠陥として検出すべき第１特徴領域のみを抽出した計測結果画像を生成し出力する。
【００７５】
例えば面積を判定項目とする判定条件が与えられた場合、判定部１６２は、ある第１特徴領域の面積が、判定条件として与えられた判定閾値の範囲内である場合に、当該第１特徴領域を欠陥として検出される領域として抽出する。そして、判定部１６２は、２値化画像から欠陥として検出される領域を抽出した計測結果画像を生成する。
【００７６】
（２−５．設定部１６６）
設定部１６６は、判定部１６２が判定処理に用いる判定用パラメータを設定し、判定部１６２に出力する。本実施形態に係る設定部１６６は判定用パラメータを設定するモードとして、以下の３種類を有している。
・手動モード
・半自動モード
・全自動モード
【００７７】
なお、設定部１６６は、上記の設定モードのうち少なくとも半自動モードを有していればよく、すべてのモードを有することは必須ではない。各モードの設定処理について詳細に説明する。
【００７８】
（１）手動モード
手動モードでは、設定部１６６は、判定条件の設定として、判定項目の選択と選択された判定項目に設定する判定閾値（上限と下限）との設定をユーザから受け付ける。また、設定部１６６は手動モードでは２値化レベルの設定もユーザから受け付ける。設定部１６６は、受け付けた２値化レベルと判定条件とを判定パラメータとして判定部１６２に出力する。
【００７９】
（２）半自動モード
半自動モードでは、設定部１６６は、判定用パラメータを仮設定したのち、ユーザからパラメータの調整を受け付けるモードであり、ユーザが判定用パラメータを調整自在な状態で判定用パラメータの仮設定を自動的に実行する設定モードである。図６を用いて半自動モードにおける設定部１６６の処理の一例について説明する。
【００８０】
半自動モードでは、まず、設定部１６６は、判定用パラメータを仮設定して判定部１６２に出力する（Ｓ１０１）。具体的には、設定部１６６は、ＣＮＮエンジン１５６の学習に使用した学習データセットに含まれる学習用画像に含まれる欠陥の特徴に基づいて判定条件を仮設定してもよい。また、設定部１６６は、ＣＮＮエンジン１５６が獲得した内部パラメータに基づいて判定条件を仮設定してもよい。ここで、学習用画像には、様々な態様の欠陥が含まれている。したがって、これら欠陥の形状の特徴、例えば、欠陥の面積、長さ、周囲長、円形度等、が明らかである場合には、学習用画像に含まれる欠陥の形状に基づいて、判定項目および判定閾値を設定する。これによれば、学習用データセットに含まれる学習用画像が有する欠陥の形状の分布に対応した判定条件を設定することができ、学習用データセットに含まれる欠陥と同等の形状を有する欠陥を検出することができる。また、学習用データセットを用いて獲得されたＣＮＮエンジン１５６の内部パラメータは、学習用画像に含まれる様々な態様の欠陥を検出するように獲得されているので、ＣＮＮエンジン１５６の内部パラメータに基づいて判定項目および判定閾値を設定することで、学習用データに含まれる欠陥と同等の形状を有する欠陥を検出可能な判定条件を設定することができる。このように、例えば設定部１６６は、学習用画像や内部パラメータに対応する特徴量を判定閾値として仮設定する。このとき設定部１６６は、前処理部１５４が設定した前処理フィルタを考慮して判定用パラメータを仮設定することが好ましい。例えば、前処理フィルタによって入力画像が拡大または縮小されている場合には、第１特徴領域の面積等の判定項目に対する判定閾値は、前処理フィルタによる拡大縮小率を考慮して、事前学習した内部パラメータよりも拡大して仮設定することが好ましい。
【００８１】
なお、２値化レベル及び判定項目については、事前にユーザから指定を受け付ける構成でもよい。これによって判定用パラメータの仮設定処理を高速化することができる。この場合、Ｓ１０１の処理において、設定部１６６はユーザから指定された判定項目ごとに内部パラメータに基づいて判定閾値を判定用パラメータに仮設定する。
【００８２】
判定部１６２が仮設定した判定用パラメータを判定部１６２に出力する（Ｓ１０２）と、判定部１６２は、２値化画像に抽出されている第１特徴領域から、仮設定された判定用パラメータに合致する領域を、欠陥として検出される領域（以下「第２特徴領域」ともいう。）として抽出する。そして２値化画像において、第２特徴領域を強調表示した設定用画像を出力する（図１０Ｂ参照）。設定部１６６は、出力された設定用画像をユーザに提示し、強調表示された第２特徴領域のうち、除外すべき（すなわち欠陥として検出しない）第２特徴領域（以下「第３特徴領域」ともいう。）の選択を受け付ける（Ｓ１０３）。なお、判定部１６２は設定用画像として計測結果画像をユーザに提示し、計測結果画像において欠陥として検出された領域から第３領域の選択を受け付ける構成でもよい。
【００８３】
そして、設定部１６６は、第３特徴領域が欠陥として検出されないように判定条件を再度設定する。具体的には、設定部１６６は第３特徴領域の特徴量が、判定条件の範囲に含まれないように、判定閾値を設定し直す（Ｓ１０４）。判定閾値の設定のし直し（更新）は、図７に示すように、欠陥として検出される領域の内部と外部との画素の色の濃度の差に基づいて定まる、画像スコアの差によって行われる。このとき設定部１６６は仮設定された判定用パラメータに含まれる判定項目とは異なる判定項目を選択し、判定閾値を設定してもよい。
【００８４】
このように、半自動モードでは、あらかじめ仮設定された判定用パラメータの調整を行うことで、適切な判定用パラメータを設定することができる。これによって、高精度で欠陥を検出するのに適切な判定用パラメータの設定を容易に行うことができる。
【００８５】
（３）全自動モード
全自動モードでは、設定部１６６は、入力画像に対して、欠陥として検出する領域（以下「欠陥領域」ともいう。）の指定をユーザから受け付け、当該指定された欠陥領域に基づいて判定用パラメータを自動設定する。図７乃至図９を用いて全自動モードにおける設定部１６６の処理の一例について説明する。
【００８６】
図７は１枚の入力画像に基づいて判定用パラメータを自動設定する際の設定部１６６の処理フローの一例である。
まず、設定部１６６はユーザから入力画像に対する欠陥領域の特定を受け付ける（Ｓ２０１）。図８は特定された欠陥領域の一例を示す図である。図８においては、矩形ＧＴが欠陥領域に対応する。なお、欠陥領域は矩形に限定されず、面積をもった任意の形状でよい。
【００８７】
図７に戻り、フローの続きを説明する。
欠陥領域が指定されると、ＣＮＮエンジン１５６が特徴抽出画像を生成する。このとき設定部１６６は、判定用パラメータを初期設定する（Ｓ２０２）。判定用パラメータの初期設定は、例えば２値化レベルの初期化、判定項目の選択、及び選択された判定項目に対応する判定閾値の初期化である。設定部１６６は、ＣＮＮエンジン１５６の学習に使用した学習データセットに含まれる学習用画像に含まれる欠陥の特徴に基づいて２値化レベル、判定条件を含む判定用パラメータを仮設定してもよい。また、設定部１６６は、ＣＮＮエンジン１５６が獲得した内部パラメータに基づいて2値化レベル、判定条件を含む判定用パラメータを仮設定してもよい。なお、２値化レベル及び判定項目については、事前にユーザから指定を受け付ける構成でもよい。これによって判定用パラメータの設定処理を高速化することができる。判定部１６２は、初期設定された判定用パラメータに含まれる２値化レベルに基づいて、２値化画像を生成する。さらに判定部１６２は、初期設定された判定用パラメータに含まれる判定項目と判定閾値とに基づいて計測結果画像を生成する。
【００８８】
設定部１６６は、生成された計測結果画像を取得し（Ｓ２０３）、スコア（画像スコア）を算出する（Ｓ２０４）。具体的には、設定部１６６は、計測結果画像における、欠陥領域内の画素の色の濃度と、欠陥領域外の画素の色の濃度との差をスコアとして算出する。ここで、画素の色の濃度とは、欠陥を含む特徴に対応する画素（以下、特徴画素という）の、欠陥領域内もしくは欠陥領域外（以下、各対象領域という）における割合ということができる。特徴画素の各対象領域における割合は、当該対象領域に含まれる特徴画素の数量（数、面積等）そのものであってもよいし、当該対象領域内における特徴に対応しない画素（以下、非特徴画素という）の合計数量に対する特徴画素の合計数量の割合、あるいは、当該対象領域内における全画素の数量に対する特徴画素または非特徴画素の割合であってもよい。
２値化画像において、特徴領域に白色の画素が対応する場合、非特徴領域は黒色の画素が対応する。この場合、欠陥領域内の画素の色の濃度は、欠陥領域内の白色の画素数であり、欠陥領域外の画素の色の濃度は、欠陥領域外の白色の画素数として、両濃度の差をスコアを算出することができる。
それぞれの画素の色に対応する濃度値（例えば、白色に対して１、黒色に対して０）が予め設定されている場合、各対象領域内の画素についての濃度値の合計値を第１の画像スコアとして算出してもよい。
上述のとおり、計測結果画像は、２値化画像に含まれる第１特徴領域から、第２特徴領域を抽出した画像である。したがって、欠陥領域内で適切に第２特徴領域が抽出される場合（すなわち欠陥に対する見逃しが起きない場合）には、欠陥領域内の濃度は大きくなる。他方、欠陥領域外で第２特徴領域が抽出されない場合（すなわち見過ぎが起きない場合）には、欠陥領域外の濃度は小さくなる。つまり、判定用パラメータが最も適切に設定された場合には、欠陥領域内の濃度と欠陥領域外の濃度の差（スコア）が最大になる。よって、設定部１６６は、スコアを算出し比較することで、適切な判定用パラメータを探索することができる。
【００８９】
そのため、設定部１６６は、Ｓ２０３とＳ２０４の処理を、判定用パラメータを変更しながら（Ｓ２１５）、終了条件を満たす（Ｓ２０５）まで繰り返し実行する。終了条件は、例えば取りうるすべての判定閾値についてスコアを算出した場合や、スコアがある値に収束した場合等である。また、終了条件は、本処理フローを開始してからの経過時間、あるいは、Ｓ２０３とＳ２０４の処理のトライアル数の閾値として設定されていてもよい。
【００９０】
例えば設定部１６６は、２値化レベルと判定項目を固定して、判定閾値を種々に変更してＳ２０３・Ｓ２０４の処理を繰り返したのち、次の判定項目を設定し、判定閾値を種々に変更してＳ２０３・Ｓ２０４の処理を繰り返してもよい。また、あるいはＳ２０３・Ｓ２０４の処理を繰り返すごとに、２値化レベル・判定項目・判定閾値のすべてを変更してもよい。
【００９１】
設定部１６６は終了条件を満たしたと判定した場合（Ｓ２０５：ＹＥＳ）、スコアが最大となる判定用パラメータを選択し、判定用パラメータを選択した判定用パラメータに更新する（Ｓ２０６）。なお、必ずしも、取りうるすべての判定用パラメータのなかからスコアを最大にする判定用パラメータが選択される必要はない。例えば、所定の経過時間内あるいは所定のトライアル回数内に算出されたスコアのなかから最大のスコアがｔとそのスコアに対応する判定用パラメータが選択されてもよい。すなわち、本処理フローの開始時に設定された判定用パラメータより相対的に大きなスコアが得られる判定用パラメータが選択される構成であればよい。ここで、スコアが最大となったときの判定用パラメータの判定項目が、面積、外接矩形の幅及び／又は高さ、周囲長、縦横比、円形度である場合には、スコアが最大となったときの判定閾値は、下限値として用いられることが好ましい。また、スコアが最大となったときの判定用パラメータの判定項目が円形度である場合には、スコアが最大となったときの判定閾値は、上限値として用いられることが好ましい。また、一の画像に対し複数の欠陥領域が特定されている場合であって、かつ、欠陥領域毎に領域の内部と外部との画像スコアの差が最大になるように判定閾値を算出した場合には、算出された複数の判定閾値のうちの最大値と最小値とを、判定項目の種別に応じて、判定閾値の上限値または下限値としてよい。
【００９２】
図９は複数の入力画像に基づいて判定用パラメータを自動設定する際の設定部１６６の処理フローの一例である。図９を用いて、複数の入力画像を用いる場合の処理について、図７との違いを中心に説明する。
【００９３】
この場合、設定部１６６は、Ｓ２０１において、複数の入力画像すべてについて、欠陥領域の指定を受け付ける。
【００９４】
また、設定部１６６は、Ｓ２０３において、複数の入力画像それぞれの計測結果画像を判定部１６２から取得する。そして、計測結果画像ごとに欠陥領域内の濃度と、欠陥領域外の濃度との差を算出し、入力画像ごとに算出した差の合計値をスコアとして算出する（Ｓ３０４）。その他の処理は、図７のフローと同様である。複数の入力画像を用いて判定用パラメータの設定を行うことで、欠陥検出の精度をより向上させることができる。
【００９５】
このように、全自動モードでは、ユーザは欠陥として検出したい領域を特定するだけで、適切な判定用パラメータを自動設定することができる。
【００９６】
＜４．ユーザインターフェイス画面例＞
次に、図１０Ａ乃至１０Ｄを参照して本実施の形態に係る欠陥検査装置１００が提供し、表示部に出力されるユーザインターフェイス画面のいくつかの例を説明する。
【００９７】
図１０Ａは、判定用パラメータを設定する際に、欠陥検査装置１００が提供する手動設定画面７００の一例を示す模式図である。手動設定画面７００は、２値化レベル設定部７１０と、判定条件設定部７２０と、計測結果画像表示部７３０とを有している。手動設定画面７００は主に手動モードで用いられる。
【００９８】
２値化レベル設定部７１０は、２値化レベルコントローラ７１１と、２値化レベル表示欄７１２とを含んでいる。ユーザは、２値化レベルコントローラ７１１から、２値化レベルの閾値と上限とを設定することができる。設定した２値化レベルは２値化レベル表示欄７１２に表示される。
【００９９】
判定条件設定部７２０は、判定項目選択欄７２１と、判定閾値設定欄７２２とを含んでいる。ユーザは判定項目選択欄７２１から例えばプルダウン等によって判定条件として指定したい判定項目を選択することができる。なお図１０Ａの例では、設定できる判定項目は３種類だがこれに限定されず、手動設定画面７００は任意の数の判定項目を設定可能なインターフェイスを有してもよい。また、ユーザは対応する判定項目の判定閾値設定欄７２２に判定閾値の上限と下限を設定することで、判定条件を設定することができる。
【０１００】
また、計測結果画像表示部７３０には、設定された判定用パラメータに基づいて判定部１６２によって生成された計測結果画像が表示される。
【０１０１】
図１０Ｂ及び図１０Ｃは、判定用パラメータを設定する際に、欠陥検査装置１００が提供する半自動設定画面８００の一例を示す模式図である。第３特徴領域選択部８３０と、上述の２値化レベル設定部７１０と、判定条件設定部７２０と、を有している。半自動設定画面８００は主に半自動モードで用いられる。なお、半自動設定画面８００は、検査画像についての欠陥領域が予め特定されている場合には、全自動モードにおける欠陥領域の特定操作で使用されてもよい。
【０１０２】
２値化レベル設定部７１０と、判定条件設定部７２０との機能は上述のとおりであるが、半自動設定画面８００においては、仮設定された判定用パラメータがあらかじめ設定されて表示されている。
【０１０３】
第３特徴領域選択部８３０には、仮設定された判定用パラメータに基づいて、判定部１６２によって生成された設定用画像が表示されている。この設定用画像においては第２特徴領域が枠８３１乃至８３３に囲まれて強調表示されている（図１０Ｂ）。ユーザは、強調表示されている第２特徴領域のうち、第３特徴領域として指定するものを選択することができる。図１０Ｃは図１０Ｂにおいて枠８３３で囲まれていた第２特徴領域が第３特徴領域として選択された場合の画面表示の一例を示している。第３特徴領域が選択されると、判定用パラメータが更新され、２値化レベル設定部７１０や、判定条件設定部７２０に表示されている判定用パラメータが変化する。図１０Ｃの例では、判定項目が縦横比の下限値が０（図１０Ｂ）から０．８（図１０Ｃ）に変化している。なお、このとき判定閾値や２値化レベルだけでなく、例えば選択されていた判定条件設定部７２０において選択されていた判定項目が変化してもよい。
【０１０４】
図１０Ｄは、本実施形態に係る欠陥検査装置１００が提供する自動設定画面９００の一例を示す模式図である。図１０Ｄの例では、自動設定画面９００は、図形登録領域９０１と、座標入力領域９０２と表示領域９０３を有している。
【０１０５】
図形登録領域９０１は、図形ボタン９１１を含んでいる。ユーザは、図形ボタン９１１から、所望の形状の図形のボタンを選択することで、欠陥領域を特定する図形を選択することができる。図１０Ｄの例では、図形ボタン９１１として、正方形や長方形、円形、五角形、円弧形、同心円が表示されているがこれに限定されず、任意の図形を設定可能である。また、図形を選択する方法はボタンに限定されず、プルダウンやチェックボックス、ラジオボタン等でもよい。
【０１０６】
座標入力領域９０２は、欠陥領域の座標の入力を受け付ける。図１０Ｄの例では、ユーザは座標入力領域９０２において、欠陥領域の左上と右上との座標を入力することで、欠陥領域ＧＴを指定することができる。ユーザが指定した欠陥領域ＧＴは、表示領域９０３に表示される。
【０１０７】
なお、欠陥領域の指定方法は、図１０Ｄの例に限定されない。例えば、欠陥領域は、表示領域９０３に表示された画像に直接描画することによって、入力される構成でもよい。
【０１０８】
§３  動作例
次に、本実施の形態に係る欠陥検査システム１における動作例について説明する。本実施の形態に係る欠陥検査システム１においては、画像計測処理に係る判定用パラメータを設定するための準備工程と、現実に対象のワークを撮像して画像計測処理を実行する運用工程とが存在する。なお、準備工程の処理シーケンスと、運用工程の処理シーケンスとは、前述の入力部を用いて、ユーザが選択することができる。また、運用工程の処理シーケンスにおいて、検査結果（例えば、欠陥の有無、欠陥に対応する領域の大きさ、当該領域の位置などの情報をいう。）の内容に応じて、設定された前処理フィルタを更新する処理を実行するようにしてもよい。例えば、運用工程の処理シーケンスにおいて、未検出の欠陥が所定回数生じた場合に、前述の判定用パラメータを、いずれかの設定モードで更新するようにしてもよい。
【０１０９】
図１１は、本実施の形態に係る欠陥検査システム１における準備工程の処理手順を示すフローチャートである。図１２は、本実施の形態に係る欠陥検査システム１における運用工程の処理手順を示すフローチャートである。図１１および図１２に示す処理手順の各ステップは、典型的には、欠陥検査装置１００のプロセッサ１１０が画像処理プログラム１３２などを実行することで実現される。
【０１１０】
図１１を参照して、準備工程において、欠陥検査装置１００は、画像計測処理の基準となるワークを所定位置に配置した状態でカメラ１０２を用いて撮像して得られる入力画像を取得する（ステップＳ４０１）。このとき、カメラ１０２がワークを撮像することで生成される入力画像（画像データ）は、欠陥検査装置１００へ転送されて、欠陥検査装置１００のメインメモリ１１２に展開される。
【０１１１】
続いて、欠陥検査装置１００は、設定モードの選択を受け付ける（Ｓ４０２）。設定モードが手動モードである場合（ＣＡＳＥ：手動モード）、欠陥検査装置１００は手動設定画面７００を表示して、ユーザから判定用パラメータの設定を受け付ける（Ｓ４１１）。
【０１１２】
設定モードが半自動モードである場合（ＣＡＳＥ：半自動モード）、欠陥検査装置１００は、まず判定用パラメータを仮設定する（Ｓ４２１）。次に、仮設定された判定用パラメータを用いて設定用画像を生成し、設定用画像に表示された第２特徴領域について、ユーザから第３特徴領域の特定を受付ける（Ｓ４２２）。特定された第３特徴領域に基づいて、欠陥検査装置１００は判定用パラメータを更新する（Ｓ４２３）。
【０１１３】
さらに設定モードが全自動モードである場合（ＣＡＳＥ：全自動モード）、欠陥検査装置１００は自動設定画面９００を表示して、ユーザから欠陥領域の特定を受け付ける（Ｓ４３１）。そして特定された欠陥領域に基づいて、欠陥検査装置１００は判定用パラメータを設定する（Ｓ４３２）。
【０１１４】
さらに、欠陥検査装置１００は、設定した判定用パラメータを格納する（Ｓ４０３）。そして、準備工程での処理は終了する。
【０１１５】
図１２を参照して、運用工程において、欠陥検査装置１００は、画像計測処理の基準となるワークがカメラ１０２の撮像視野６に到着すると、カメラ１０２を用いて当該ワークを撮像して得られる入力画像を取得する（Ｓ５０１）。このとき、カメラ１０２がワークを撮像することで生成される入力画像（画像データ）は、欠陥検査装置１００へ転送されて、欠陥検査装置１００のメインメモリ１１２に展開される。
【０１１６】
続いて、欠陥検査装置１００は、取得した入力画像に対して前処理を実行する（Ｓ５０２）。さらに、欠陥検査装置１００は、事前学習されたＣＮＮを用いて、前処理後の入力画像から１または複数の特徴の種類（クラス）毎に特徴を抽出する処理を実行する。欠陥検査装置１００は、この特徴を抽出する処理によって、１または複数のクラス毎の特徴抽出画像を生成する（Ｓ５０３）。
【０１１７】
続いて、欠陥検査装置１００は、後処理を実行して、計測結果画像を生成する（Ｓ５０４）。
【０１１８】
最終的に、欠陥検査装置１００は、生成した計測結果画像を出力する（Ｓ５０５）。計測結果画像の出力先としては、ディスプレイ１０４などであってもよいし、上位ネットワーク８を介して接続されている、ＰＬＣ１０および／またはデータベース装置１２であってもよい。そして、運用工程の処理は終了する。なお、欠陥検査装置１００は、計測結果画像に代えて、または、計測結果画像とともに、検査対象に欠陥が含まれているか否かの情報を少なくとも含む検査結果を出力してもよい。検査結果は、例えば、生産ラインにおいて検査対象の仕分けを行う所定の動作機械に送付される。これによれば、動作機械は、検査結果に応じた検査対象の自動仕分けを実行することができる。
【０１１９】
なお、図１２に示す運用工程の処理手順が開始される条件は、ワークの到着を検出するタイミングセンサからのトリガ信号、上位装置からの実行開始指令、ユーザからの指示のいずれであってもよい。
【０１２０】
次に、図１３を参照しながら、判定パラメータの設定モードの切り替えについて説明する。図１３は、本実施形態に関わる判定パラメータの設定モードの切り替え処理の流れの一例を示すフローチャートである。
【０１２１】
ステップＳ６０１において、欠陥検査装置１００は、事前学習済みの特徴に基づいて欠陥に対応する領域を特定するか否かを判定する。事前学習済みの特徴の例として、欠陥（例えば、「白点」、「黒点」、「白線」、又は「黒線」など）の特徴（例えば、形状、大きさ、個数など）を挙げることができる。
【０１２２】
ステップＳ６０２において、欠陥検査装置１００は、欠陥に対応する領域の特定に用いられる特徴に対応する学習用の画像データの数が閾値以上であるか否かを判定する。この閾値は、例えば、欠陥に対応する領域の特定に用いられる特徴をＣＮＮエンジン１５６が十分に学習しているか否かを判断する目安となる値に設定される。
【０１２３】
ステップＳ６０３において、設定部１６６は、全自動モードで判定パラメータを設定する。全自動モードでは、設定部１６６は、判定用パラメータを自動設定する。
【０１２４】
ステップＳ６０４において、設定部１６６は、半自動モードで判定パラメータを設定する。半自動モードでは、設定部１６６は、ユーザからの事後調整を前提として判定用パラメータを仮設定する。
【０１２５】
ステップＳ６０５において、欠陥検査装置１００は、ステップＳ６０３又はステップＳ６０４で設定された判定パラメータに基づく欠陥検出の見過ごし率又は見過ぎ率がそれぞれ予め定められた閾値を超えているか否かを判定する。
【０１２６】
ステップＳ６０６において、設定部１６６は、手動モードで判定パラメータを設定する。手動モードでは、設定部１６６は、ユーザからの指定に応じて判定用パラメータを設定する。
【０１２７】
次に、図１４及び図１５を参照しながら、事前学習済みの特徴以外の特徴に基づいて欠陥に対応する領域を特定する一例について説明する。図１４は、矩形状をなす欠陥１０００の特徴を示しており、ＣＮＮエンジン１５６は、この欠陥１０００の形状、長さＬ、幅Ｔ、面積Ａ、及び周囲長Ｒの範囲を事前に学習している。このため、ＣＮＮエンジン１５６は、学習済みの欠陥１０００の特徴と同様の特徴（例えば、形状、長さ、幅、面積、及び周囲長さ）を有する特徴を検査画像から抽出することができる。これに対し、例えば、図１５に示すように、欠陥１０００に形成されている孔１１００の特徴（例えば、形状、大きさ、個数など）をＣＮＮエンジン１５６が事前学習していない場合には、孔１１００の有無やその個数に基づいて欠陥に対応する領域を特定することができない。このように、事前学習済みの特徴以外の特徴に基づいて欠陥に対応する領域を特定する場合には、設定部１６６は、手動モードにおいて、ユーザからの指定に応じて判定用パラメータを設定するのが望ましい。
【０１２８】
＜Ｈ．利点＞
本実施の形態に係る欠陥検査装置１００は、事前学習された識別器が出力する結果を用いて欠陥の有無を検査する際に、欠陥の有無を判別するための判定用パラメータを適切かつ簡易に設定することができる。このような欠陥検査装置１００では、判定用パラメータが適切に設定できるようになることで、誤判定が減少する。特にノイズを減らすことができるので、欠陥ではないのに欠陥と認識してしまう誤検出が減少する。さらに、判定用パラメータを簡易に設定できるので、欠陥検査装置の設定工数、立上げ工数が削減できる。
【０１２９】
また、本実施の形態に係る欠陥検査装置１００は、事前学習された複数のクラスを有するＣＮＮエンジンが出力した特徴抽出画像に含まれるノイズを抽出すべき欠陥と切り分けるための判定用パラメータの設定を容易にする。具体的には本実施形態にかかる欠陥検査装置１００は、少なくともプリセットされた閾値をユーザが調整する機能（半自動モード）を有している。これによって、ユーザはプリセットされた閾値が適切でない場合にのみ閾値を調整すればよいため、判定用パラメータ設定の負荷を低減させることができる。
【０１３０】
さらに、本実施の形態に係る欠陥検査装置１００は、判定用パラメータを設定するためのモードとして、上述の半自動モードの他、手動モード及び全自動モードを有している。例えば判定用パラメータの設定に全自動モードを用いることで、作業者は欠陥領域を指定するだけで判定用パラメータを適切に設定することができる。このように本実施形態に係る欠陥検査装置が複数の設定モードを有することで、作業者の習熟度に応じて、適切な設定モードを選択することができる。
【０１３１】
以上、本発明の実施の形態を詳細に説明してきたが、上述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。なお、上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
（付記１）
検査対象物の検査画像を所得する取得部（１１４）と、
前記検査画像に対して、学習用の画像データを用いて１以上の特徴を抽出するように事前学習した学習済みの識別器を適用することで、１以上の特徴抽出画像を生成する画像生成部（１５６）と、
前記検査対象物における検出対象部位の有無を判定するための１以上の判定用パラメータと、前記特徴抽出画像に基づいて生成される２値化画像と、に基づいて欠陥に対応する領域を特定する検査部（１７０）と、
事前学習済みの特徴に基づいて欠陥に対応する領域を特定する場合に、特徴に対応する学習用の画像データの数が閾値未満であるときは、ユーザからの事後調整を前提として判定用パラメータを仮設定し、事前学習済みの特徴以外の特徴に基づいて欠陥に対応する領域を特定する場合に、ユーザからの指定に応じて判定用パラメータを設定する設定部（１６６）と、
を備える欠陥検査装置（１００）。
（付記２）
付記１に記載の欠陥検査装置（１００）であって、
事前学習済みの特徴に基づいて欠陥に対応する領域を特定する場合に、特徴に対応する学習用の画像データの数が閾値以上であるときは、設定部（１６６）は、判定用パラメータを自動設定する、欠陥検査装置（１００）。
（付記３）
付記１又は２に記載の欠陥検査装置（１００）であって、
設定部（１６６）は、欠陥に対応する領域が特定された２値化画像である設定用画像を用いて、設定用画像の画素の色の濃度に基づく画像スコアを算出し、領域の内部の画像スコアと領域の外部の画像スコアとの差が相対的に大きくなるように判定用パラメータを更新する、欠陥検査装置（１００）。
（付記４）
前記２値化画像は白色の画素と黒色の画素とから構成され、
前記白色の画素と前記黒色の画素とのそれぞれに濃度値が対応付けられており
前記設定部（１６６）は、前記領域内に含まれる複数の画素について、色の濃度値の合計値を第１の画像スコアとして算出し、前記領域外に含まれる複数の画素について、色の濃度値の合計値を第２の画像スコアとして算出し、第１の画像スコアと第２の画像スコアとの差が最大となるように判定用パラメータを更新する、
付記３に記載の欠陥検査装置（１００）。
（付記５）
前記検査部（１７０）は、更新した前記判定用パラメータと、前記２値化画像と、に基づいて欠陥の有無を判定し、判定結果を出力する、
付記３又は４に記載の欠陥検査装置（１００）。
（付記６）
前記検査部（１７０）は、前記判定結果として、少なくとも、更新した前記判定用パラメータに基づいて欠陥を特定した前記２値化画像を出力する、
付記５に記載の欠陥検査装置（１００）。
（付記７）
前記判定用パラメータは、前記２値化画像を生成するための２値化レベルを含む、
付記１から６のいずれか一項に記載の欠陥検査装置（１００）。
（付記８）
前記判定用パラメータは、前記欠陥を判定するための１以上の判定項目と、前記判定項目の各々に対して設定される判定閾値とを含む、
付記１から７のいずれか一項に記載の欠陥検査装置（１００）。
（付記９）
前記欠陥を判定するための１以上の判定項目は、前記２値化画像における同色の画素の塊で表現される所定の領域の面積、外接矩形の幅及び／又は高さ、周囲長、縦横比、円形度の少なくとも１つを含み、前記判定閾値は、これらの判定項目の各々に対して設定される上限値及び／又は下限値を含む、
付記８に記載の欠陥検査装置（１００）。
（付記１０）
前記判定項目と前記判定閾値とは、前記画像生成部又は前記検査部の学習時に用いられる学習用の画像データに含まれる欠陥の特徴に基づいて決定される、
付記８又は９に記載の欠陥検査装置（１００）。
（付記１１）
前記領域の指定を受け付ける表示部（１０４）をさらに備え、
前記検査部（１７０）は、予め定められた前記判定用パラメータに基づいて、欠陥と判定される領域を特定するとともに、特定した領域を前記検査画像とともに前記表示部（１０４）に対して出力し、
前記設定部（１６６）は、前記表示部を介して受け付けた前記領域の指定に基づいて前記設定用画像を生成する、
付記１から１０のいずれか一項に記載の欠陥検査装置（１００）。
（付記１２）
前記検査部（１７０）は、
前記２値化画像において、欠陥を判定するための１以上の特徴量の各々に対して設定された判定閾値に基づいて、前記２値化画像のうち、欠陥と判定される領域を特定し、特定した領域をユーザに提示し、
前記設定部（１６６）は、
前記ユーザから、前記検査部（１７０）で欠陥と判定された領域であるが、欠陥として判定されるべきでない領域、及び／又は、前記検査部で欠陥と判定されなかった領域であるが、欠陥として判定されるべきである領域の指定を受け付け、当該指定に基づいて、前記判定閾値を更新する
請求項１から１１のいずれか一項に記載の欠陥検査装置（１００）。
（付記１３）
前記判定用パラメータは、前記欠陥を判定するための１以上の判定項目と、前記判定項  目の各々に対して設定される判定閾値とを含み、
前記欠陥を判定するための１以上の判定項目と前記判定閾値は、前記ユーザの指定に基づいて決定される、付記１２に記載の欠陥検査装置（１００）。
（付記１４）
コンピュータ（１００）が、
検査対象物の検査画像を所得するステップと、
前記検査画像に対して、学習用の画像データを用いて１以上の特徴を抽出するように事前学習した学習済みの識別器を適用することで、１以上の特徴抽出画像を生成するステップと、
前記検査対象物における検出対象部位の有無を判定するための１以上の判定用パラメータと、前記特徴抽出画像に基づいて生成される２値化画像と、に基づいて欠陥に対応する領域を特定するステップと、
事前学習済みの特徴に基づいて欠陥に対応する領域を特定する場合に、特徴に対応する学習用の画像データの数が閾値未満であるときは、ユーザからの事後調整を前提として判定用パラメータを仮設定し、事前学習済みの特徴以外の特徴に基づいて欠陥に対応する領域を特定する場合に、ユーザからの指定に応じて判定用パラメータを設定するステップと
を実行する欠陥検査方法。
（付記１５）
コンピュータ（１００）に、
検査対象物の検査画像を所得するステップと、
前記検査画像に対して、学習用の画像データを用いて１以上の特徴を抽出するように事前学習した学習済みの識別器を適用することで、１以上の特徴抽出画像を生成するステップと、
前記検査対象物における検出対象部位の有無を判定するための１以上の判定用パラメータと、前記特徴抽出画像に基づいて生成される２値化画像と、に基づいて欠陥に対応する領域を特定するステップと、
事前学習済みの特徴に基づいて欠陥に対応する領域を特定する場合に、特徴に対応する学習用の画像データの数が閾値未満であるときは、ユーザからの事後調整を前提として判定用パラメータを仮設定し、事前学習済みの特徴以外の特徴に基づいて欠陥に対応する領域を特定する場合に、ユーザからの指定に応じて判定用パラメータを設定するステップと
を実行させるプログラム。
【符号の説明】
【０１３２】
１  欠陥検査システム
２  ベルトコンベア
４  ワーク
６  撮像視野
８  上位ネットワーク
１０  欠陥検査装置
１２  データベース装置
１００  欠陥検査装置
１０２  カメラ
１０４  ディスプレイ
１０６  キーボード
１０８  マウス
１１０  プロセッサ
１１２  メインメモリ
１１４  カメラインターフェイス
１１６  入力インターフェイス
１１８  表示インターフェイス
１２０  通信インターフェイス
１２２  内部バス
１３０  ストレージ
１３２  画像処理プログラム
１３６  判定用パラメータ
１３８  入力画像
１４０  計測結果
１５２  入力バッファ
１５４  前処理部
１５６  エンジン
１５８  選択部
１６０  画像演算部
１６２  判定部
１６６  設定部
１７０  後処理部
３００  自動設定画面
７００  手動設定画面
７１０  値化レベル設定部
７１１  値化レベルコントローラ
７１２  値化レベル表示欄
７２０  判定条件設定部
７２１  判定項目選択欄
７２２  判定閾値設定欄
７３０  計測結果画像表示部
８００  半自動設定画面
８３０  第３特徴領域選択部
９００  自動設定画面
９０１  図形登録領域
９０２  座標入力領域
９０３  表示領域
９１１  図形ボタン
【図１】
2020106467.tif 000007
【図２】
2020106467.tif 000008
【図３】
2020106467.tif 000009
【図４】
2020106467.tif 000010
【図５Ａ】
2020106467.tif 000011
【図５Ｂ】
2020106467.tif 000012
【図６】
2020106467.tif 000013
【図７】
2020106467.tif 000014
【図８】
2020106467.tif 000015
【図９】
2020106467.tif 000016
【図１０Ａ】
2020106467.tif 000017
【図１０Ｂ】
2020106467.tif 000018
【図１０Ｃ】
2020106467.tif 000019
【図１０Ｄ】
2020106467.tif 000020
【図１１】
2020106467.tif 000021
【図１２】
2020106467.tif 000022
【図１３】
2020106467.tif 000023
【図１４】
2020106467.tif 000024
【図１５】
2020106467.tif 000025