(57)【要約】 【課題】十分な検査精度を得ることができる情報処理装置、情報処理方法およびプログラムを提供する。【解決手段】本発明の情報処理装置は、第１の学習部と第２の学習部と取得部と検出部と判断部と出力制御部とを備える。第１の学習部は、正常データの集合を用いて、正常データを判別するための第１のモデルを学習する。第２の学習部は、予め用意された複数の撮影画像の各々から第１のモデルに基づいて検出された複数の異常候補領域のうち、ユーザにより選択された異常候補領域を正解データ、ユーザにより選択されなかった異常候補領域を非正解データとして、正解データと非正解データを識別するための第２のモデルを学習する。取得部は撮影画像を取得する。検出部は、第１のモデルを用いて、取得部により取得された撮影画像から異常候補領域を検出する。判断部は、第２のモデルを用いて、検出部により検出された異常候補領域が正解データに属するのか非正解データに属するのかを判断する。出力制御部は、判断部による判断結果を出力する制御を行う。【選択図】図３
2018120300.tif 000002
【特許請求の範囲】
【請求項１】
正常データの集合を用いて、前記正常データを判別するための第１のモデルを学習する第１の学習部と、
予め用意された複数の前記撮影画像の各々から前記第１のモデルに基づいて検出された、異常の候補領域を示す複数の異常候補領域のうち、ユーザにより選択された前記異常候補領域を正解データ、前記ユーザにより選択されなかった前記異常候補領域を非正解データとして、前記正解データと前記非正解データを識別するための第２のモデルを学習する第２の学習部と、
前記撮影画像を取得する取得部と、
前記第１のモデルを用いて、前記取得部により取得された前記撮影画像から前記異常候補領域を検出する検出部と、
前記第２のモデルを用いて、前記検出部により検出された前記異常候補領域が前記正解データに属するのか前記非正解データに属するのかを判断する判断部と、
前記判断部による判断結果を出力する制御を行う出力制御部と、を備える、
情報処理装置。
【請求項２】
前記第１の学習部は、教師なし学習により前記第１のモデルを学習する、
請求項１に記載の情報処理装置。
【請求項３】
前記第１のモデルは、前記良品画像の画素ごとに、画素値の平均を示す画素平均値と、画素値の分散を示す画素分散値をパラメータとして有し、
前記検出部は、前記取得部により取得された前記撮影画像の画素ごとに、前記パラメータとの差分に応じた値を示すＺスコアを算出し、算出したＺスコアに基づいて前記異常候補領域を検出する、
請求項２に記載の情報処理装置。
【請求項４】
前記第１の学習部は、半教師あり学習により前記第１のモデルを学習する、
請求項１に記載の情報処理装置。
【請求項５】
前記第１の学習部は、Ｏｎｅ  Ｃｌａｓｓ  ＳＶＭにより前記第１のモデルを学習する、
請求項４に記載の情報処理装置。
【請求項６】
前記第２の学習部は、教師あり学習により前記第２のモデルを学習する、
請求項１乃至５のうちの何れか１項に記載の情報処理装置。
【請求項７】
前記第２の学習部は、
線形判別、ロジスティック回帰、ＳＶＭ、ニューラルネットワーク、Ｋ最近傍法、決定木、ディープラーニングの何れかにより前記第２のモデルを学習する、
請求項６に記載の情報処理装置。
【請求項８】
前記第２の学習部は、前記正解データの複数のカテゴリ入力を受け付ける、
請求項１乃至７のうちの何れか１項に記載の情報処理装置。
【請求項９】
正常データの集合を用いて、前記正常データを判別するための第１のモデルを学習する第１の学習ステップと、
予め用意された複数の前記撮影画像の各々から前記第１のモデルに基づいて検出された、異常の候補領域を示す複数の異常候補領域のうち、ユーザにより選択された前記異常候補領域を正解データ、前記ユーザにより選択されなかった前記異常候補領域を非正解データとして、前記正解データと前記非正解データを識別するための第２のモデルを学習する第２の学習ステップと、
前記撮影画像を取得する取得ステップと、
前記第１のモデルを用いて、前記取得ステップにより取得された前記撮影画像から前記異常候補領域を検出する検出ステップと、
前記第２のモデルを用いて、前記検出ステップにより検出された前記異常候補領域が前記正解データに属するのか前記非正解データに属するのかを判断する判断ステップと、
前記判断ステップによる判断結果を出力する制御を行う出力制御ステップと、を含む、
情報処理方法。
【請求項１０】
コンピュータに、
正常データの集合を用いて、前記正常データを判別するための第１のモデルを学習する第１の学習ステップと、
予め用意された複数の前記撮影画像の各々から前記第１のモデルに基づいて検出された、異常の候補領域を示す複数の異常候補領域のうち、ユーザにより選択された前記異常候補領域を正解データ、前記ユーザにより選択されなかった前記異常候補領域を非正解データとして、前記正解データと前記非正解データを識別するための第２のモデルを学習する第２の学習ステップと、
前記撮影画像を取得する取得ステップと、
前記第１のモデルを用いて、前記取得ステップにより取得された前記撮影画像から前記異常候補領域を検出する検出ステップと、
前記第２のモデルを用いて、前記検出ステップにより検出された前記異常候補領域が前記正解データに属するのか前記非正解データに属するのかを判断する判断ステップと、
前記判断ステップによる判断結果を出力する制御を行う出力制御ステップと、を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
あるデータに関して、それがどの状態に属するかを判定する機械学習のアルゴリズムが知られている。この機械学習のアルゴリズムを用いて、画像に写っている被写体が人物であるか、そうでないかということや、写っているシーンがどういうものであるか、文章の識別、音声の識別などを行うことができ、広い応用範囲に対して使用されている。
【０００３】
従来、この機械学習のアルゴリズムを用いて、材質の判別や、欠陥検査を行う方法も知られている。例えば特許文献１に開示された技術では、異常の無いデータの集合を用いた教師なし学習でモデル（異常なしデータを判別するためのモデル）を構築し、その構築したモデルを用いて、サンプリング用の各データの異常度合いを算出し、異常度合いが高いデータを機械的に異常であるとラベル付けする。そして、該ラベル付けをしたデータを異常データとする教師学習でモデル（異常データと正常データを識別するためのモデル）を構築し、その構築したモデルを用いて、入力されたデータの異常を検知している。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示された技術では、異常度合いが高いデータの全てが検出対象の欠陥とは限らないので、統計的には異常であるが検出対象の欠陥ではない箇所を誤検出するおそれがある。したがって、十分な検査精度を得ることができないという問題がある。
【０００５】
本発明は、検査精度が十分な欠陥判定方法を実現可能な情報処理装置、情報処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、正常データの集合を用いて、前記正常データを判別するための第１のモデルを学習する第１の学習部と、予め用意された複数の前記撮影画像の各々から前記第１のモデルに基づいて検出された、異常の候補領域を示す複数の異常候補領域のうち、ユーザにより選択された前記異常候補領域を正解データ、前記ユーザにより選択されなかった前記異常候補領域を非正解データとして、前記正解データと前記非正解データを識別するための第２のモデルを学習する第２の学習部と、前記撮影画像を取得する取得部と、前記第１のモデルを用いて、前記取得部により取得された前記撮影画像から前記異常候補領域を検出する検出部と、前記第２のモデルを用いて、前記検出部により検出された前記異常候補領域が前記正解データに属するのか前記非正解データに属するのかを判断する判断部と、前記判断部による判断結果を出力する制御を行う出力制御部と、を備える情報処理装置である。
【発明の効果】
【０００７】
本発明によれば、検査精度が十分な欠陥判定方法を実現できる。
【図面の簡単な説明】
【０００８】
【図１】図１は、情報処理システムの概略構成を示す図である。
【図２】図２は、情報処理装置のハードウェア構成の一例を示す図である。
【図３】図３は、情報処理装置が有する機能の一例を示す図である。
【図４】図４は、欠陥候補領域提示画面を示す図である。
【図５】図５は、第１の学習部の動作例を示すフローチャートである。
【図６】図６は、第２の学習部の動作例を示すフローチャートである。
【図７】図７は、検査時の情報処理装置の動作例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照しながら、本発明に係る情報処理装置、情報処理方法およびプログラムの実施形態を詳細に説明する。
【００１０】
（第１の実施形態）
図１は、本実施形態の情報処理システム１００の概略構成を示す図である。この情報処理システム１００は、画像を使用した検査システムとして機能する。図１に示すように、情報処理システム１００は、カメラ１２０、情報処理装置１３０、出力装置１４０を含んでいる。検査時においては、カメラ１２０が対象物１１０を撮影し、その撮影により得られた画像（以下の説明では「撮影画像」と称する場合がある）を情報処理装置１３０が取得する。情報処理装置１３０は、撮影画像を使用して対象物１１０の状態を判定（異常領域の有無を判定）し、判定結果を出力装置１４０へ送信する。出力装置１４０は、情報処理装置１３０から受信した判定結果を出力する。出力の形態は任意であり、音声出力であってもよいし、画像出力であってもよい。
【００１１】
なお、図１の例では、情報処理装置１３０はカメラ１２０に対して直接接続（有線接続）されるように記載されているが、これに限らず、例えば情報処理装置１３０とカメラ１２０が無線接続される形態であってもよい。例えば情報処理装置１３０は、イーサネット（登録商標）、ＷｉＦｉ（登録商標）、ＬＬＥ、３Ｇ、４Ｇ等のネットワークを介してカメラ１２０と接続されてもよい。さらに、例えばカメラ１２０と情報処理装置１３０が一体に構成される形態であってもよい。同様に、出力装置１４０と情報処理装置１３０が一体に構成される形態であってもよい。
【００１２】
図２は、情報処理装置１３０のハードウェア構成の一例を示す図である。情報処理装置１３０は、パーソナル・コンピュータ、ワークステーション等の形態であってもよい。図２に示すように、情報処理装置１３０は、ＣＰＵ１３１、ＲＯＭ１３２、ＲＡＭ１３３、記憶装置１３４、入力部１３５、表示部１３６、機器Ｉ／Ｆ１３７、通信Ｉ／Ｆ１３８を有する。
【００１３】
ＣＰＵ１３１は、情報処理装置１３０の動作を統括的に制御する。ＣＰＵ１３１は、ＲＡＭ１３３の所定の領域を作業領域として、ＲＯＭ１３２や記憶装置１３４等に記憶されたプログラムを実行して、情報処理装置１３０が有する各種の機能を実現させる。情報処理装置１３０が有する機能の具体的な内容については後述する。
【００１４】
ＲＯＭ１３２は、情報処理装置１３０に関わるプログラムや各種設定情報などを記憶する不揮発性のメモリ（書き換え不可能なメモリ）である。
【００１５】
ＲＡＭ１３３は、例えばＳＤＲＡＭ（Synchronous  Dynamic  Random  Access  Memory）などの記憶手段であって、ＣＰＵ１３１の作業エリアとして機能し、バッファなどの役割を果たす。
【００１６】
記憶装置１３４は、例えばＨＤＤ（Hard  Disk  Drive）などの補助記憶手段である。入力部１３５は、ユーザの操作を受け付けるためのデバイスである。表示部１３６は、情報処理装置１３０に関する各種の情報を表示するデバイスであり、例えば液晶ディスプレイなどで構成される。
【００１７】
機器Ｉ／Ｆ１３７は、例えばカメラ１２０や出力装置１４０と接続するためのインタフェースである。通信Ｉ／Ｆ１３８は、インターネットなどのネットワークと接続するためのインタフェースである。例えば機器Ｉ／Ｆ１３７の代わりに、通信Ｉ／Ｆ１３８を介して、カメラ１２０や出力装置１４０と接続される形態であってもよい。
【００１８】
図３は、情報処理装置１３０が有する機能の一例を示す図である。図３に示すように、情報処理装置１３０は、第１の学習部２０１、第２の学習部２０２、取得部２０３、検出部２０４、判断部２０５、出力制御部２０６を有する。ここでは、第１の学習部２０１および第２の学習部２０２は学習時に動作する機能であり、取得部２０３、検出部２０４、判断部２０５、出力制御部２０６は検査時に動作する機能として説明する。なお、説明の便宜上、図３の例では、本実施形態に関する機能を主に例示しているが、情報処理装置１３０が有する機能はこれらに限られるものではない。
【００１９】
第１の学習部２０１は、正常データの集合を用いて、正常データを判別するための第１のモデルを学習する。この例では、第１の学習部２０１は、対象物を撮影した撮影画像のうち、欠陥の無い対象物を撮影した撮影画像を示す良品画像（正常データの例）の集合を用いて、良品画像を判別するための第１のモデルを学習する。より具体的には、第１の学習部２０１は、教師なし学習により第１のモデルを学習する。第１のモデルは、良品画像の画素ごとに、画素値の平均を示す画素平均値と、画素値の分散を示す画素分散値をパラメータとして有している。この例では、第１の学習部２０１は、例えば特開２００５−２６５６６１号公報に開示された方法と同様に、複数の良品画像の入力を受け付け、対応する画素ごとに、画素平均値と画素分散値を求めてパラメータとして保存する（第１のモデルを構築（学習）する）。
【００２０】
なお、教師なし学習により第１のモデルを学習する方法は任意であり、例えば第１の学習部２０１は、複数の良品画像の入力を受け付け、各良品画像について、複数の異なる空間フィルタ群を適用することで、複数の空間フィルタごとに良品画像の数分のフィルタ画像を生成した上で、複数の空間フィルタごとに、対応する複数のフィルタ画像（良品画像の数分のフィルタ画像）の各画素の画素平均値と画素分散値を求めてパラメータとして保存する（第１のモデルを構築（学習）する）形態であってもよい。この形態であっても、第１のモデルは、良品画像の画素ごとに、画素値の平均を示す画素平均値と、画素値の分散を示す画素分散値をパラメータとして有しているという概念に含まれる。
【００２１】
また、第１の学習部２０１は、半教師あり学習により第１のモデルを学習する形態であってもよい。半教師あり学習は、入力データがある特定の１クラスに属するとしてモデル学習を行う方法である。例えば第１の学習部２０１は、Ｏｎｅ  Ｃｌａｓｓ  ＳＶＭにより第１のモデルを学習することもできる。Ｏｎｅ  Ｃｌａｓｓ  ＳＶＭを用いる形態においては、学習時に少数の不良が含まれる場合、この割合を指定することでより適切なモデル学習が可能になる。また、第１の学習部２０１は、対象物を撮像した撮影画像だけでなく、動画データ（例えば監視カメラの動画）、多次元の時系列データ（例えば脳波）の場合にも適応が可能である。動画の場合には、１フレームずつ処理すれば対象物を撮像した撮影画像の場合と同様であるし、動画データ用の特徴量である時空間特徴（公知）やＣＮＮ（convolution  neural  network）やＲＮＮ（Recurrent  Neural  Network）による動画特徴量抽出（公知）により特徴量を抽出し、上述の半教師あり異常検知手法を用いることで実現出来る。多次元の時系列データの場合は、時系列特徴量（周波数特徴量など、公知）やＣＮＮやＲＮＮによる多次元の時系列データの特徴量抽出（公知）により特徴量を抽出し、上述の半教師あり異常検知手法を用いることで実現出来る。
【００２２】
次に、第２の学習部２０２について説明する。第２の学習部２０２は、予め用意された複数の撮影画像（以下の説明ではサンプル画像セットと称する場合がある）の各々から第１のモデルに基づいて検出された、異常の候補領域を示す複数の異常候補領域のうち、ユーザにより選択された異常候補領域を正解データ、ユーザにより選択されなかった異常候補領域を非正解データとして、正解データと非正解データを識別するための第２のモデルを学習する。ここでは、異常の一例として欠陥を挙げて説明することとし、上記異常候補領域は、欠陥の候補領域を示す欠陥候補領域として説明する。サンプル画像セットは、良品画像だけでなく、欠陥が存在する対象物を撮影した撮影画像（欠陥画像）も含み、第２の学習部２０２は、予め第１の学習部２０１により学習された第１のモデルを用いて、予め用意された複数の撮影画像（サンプル画像セット）の各々から欠陥候補領域を検出する。この例では、第２の学習部２０２は、予め用意された複数の撮影画像の画素ごとに、上述の第１のモデルのパラメータとの差分に応じた値を示すＺスコアを算出し、予め定められた閾値以上のＺスコアを示す画素の集合領域を、欠陥候補領域として検出することができる。ここでは、Ｚスコアは、以下の式１により算出することができる。式１において、Ｚ（ｘ，ｙ）は、任意の撮影画像（入力画像）Ｉの画素（ｘ，ｙ）のＺスコア、Ｉ（ｘ，ｙ）は入力画像Ｉの画素（ｘ，ｙ）の画素値を表す。また、μ（ｘ，ｙ）およびσ（ｘ，ｙ）は、画素（ｘ，ｙ）のパラメータ（上述の第１のモデルのパラメータ）であり、μ（ｘ，ｙ）は、各良品画像の画素（ｘ，ｙ）の平均を示す画素平均値、σ（ｘ，ｙ）は、各良品画像の画素（ｘ，ｙ）の分散を示す画素分散値を表す。
【００２３】
【数１】
2018120300.tif 000003
【００２４】
なお、ここでは、第２の学習部２０２が、学習済みの第１のモデルを用いて欠陥候補領域を検出する機能を有しているが、これに限らず、例えば後述の検出部２０４が、学習済みの第１のモデルを用いて欠陥候補領域を検出し、その検出した欠陥候補領域を第２の学習部２０２へ渡す形態であってもよい。
【００２５】
また、この例では、図４に示すように、第２の学習部２０２は、対象物のうち、第１のモデルに基づいて検出された欠陥候補領域を表示する画面２２０（欠陥候補領域提示画面２２０）を表示部１３６に表示する制御を行い、欠陥候補領域の選択を受け付ける。この例では、ユーザにより選択された欠陥候補領域に対しては、欠陥であることを示すラベルが付され、ラベルが付された欠陥候補領域は、異常領域として検出すべき正解データとなる。なお、欠陥候補領域を選択する方法は任意である。例えば欠陥候補領域提示画面２００のうち欠陥候補領域へタッチすることで該欠陥候補領域を選択する形態であってもよいし、マウスの操作に応じて移動するカーソルが欠陥候補領域に重なるようにマウスを操作し、マウスをクリックすることで該欠陥候補領域を選択する形態であってもよい。なお、例えば上述の欠陥候補領域提示画面２２０を表示部１３６に表示する制御を行い、欠陥候補領域の選択を受け付ける機能が第２の学習部２０２とは別に設けられ、ラベル付けの結果（ラベル付けされた欠陥候補領域の集合と、ラベル付けされなかった欠陥候補領域の集合）が第２の学習部２０２に渡される形態であってもよい。
【００２６】
また、ラベルの種類は異常という１種類であっても良いし、複数であっても良い。例えば異常が「傷」の場合は廃棄、「バリ」の場合はバリ取りという後処理が必要な場合、異常の１種類では異常検知が成功しても、その後にどういった対応をすればいいのかわからない。こういった場合に、異常Ａクラスを傷、異常Ｂクラスをバリと設定することが可能である。これによって、検出した異常の種類によって対応が異なる場合などにも適用が可能となる。つまり、第２の学習部２０２は、正解データの複数のカテゴリ入力を受け付けることもできる。
【００２７】
第２の学習部２０２は、以上のようにしてラベルが付された（ユーザにより選択された）欠陥候補領域（ラベル付きデータ）を正解データ、ラベルが付されなかった（ユーザにより選択されなかった）欠陥候補領域を非正解データとして、正解データと非正解データを識別するための第２のモデルを学習する。ここでは、第２の学習部２０２は、教師あり学習により第２のモデルを学習する。例えば第２の学習部２０２は、線形判別、ロジスティック回帰、ＳＶＭ、ニューラルネットワーク、Ｋ最近傍法、決定木、ディープラーニング（深層学習）の何れか（何れも公知の様々な技術を利用可能）により第２のモデルを学習することができる。また、第２の学習部２０２は、正解データ、非正解データの２クラス分類だけでなく、３クラス以上の場合についても学習が可能である。その場合、３クラス以上の多クラス分類が可能な手法（ニューラルネットワーク、Ｋ最近傍法、多クラスＳＶＭ、ディープラーニング（深層学習）など、公知）を用いることで実現できる。
【００２８】
以上のように、学習時における第１の学習部２０１および第２の学習部２０２の各々の動作により、上述の第１のモデルと上述の第２のモデルが予め学習（構築）される。
【００２９】
次に、図３を参照しながら、検査時に動作する機能について説明する。取得部２０３は、カメラ１２０から撮影画像（対象物を撮影した撮影画像）を取得する。検出部２０４は、上述の第１のモデルを用いて、取得部２０３により取得された撮影画像から欠陥候補領域を検出する。この例では、検出部２０４は、取得部２０３により取得された撮影画像の画素ごとに、上述の第１のモデルのパラメータとの差分に応じた値を示すＺスコアを算出し、算出したＺスコアに基づいて欠陥候補領域を検出する。ここでは、Ｚスコアは、上述の式１で求めることができる。
【００３０】
判断部２０５は、上述の第２のモデルを用いて、検出部２０４により検出された欠陥候補領域が正解データに属するのか非正解データに属するのかを判断する。欠陥（正解データ）か非欠陥（非正解データ）かを識別するための識別モデル（第２のモデル）を用いて、入力されたデータ（検出部２０４により検出された欠陥候補領域）が欠陥か非欠陥であるかを判定する方法としては、公知の様々な技術を利用可能である。
【００３１】
出力制御部２０６は、判断部２０５による判断結果を出力する制御を行う。この例では、出力制御部２０６は、判断部２０５による判断結果を出力装置１４０へ通知する制御を行い、この通知を受けた出力装置１４０は、異常領域（欠陥であると判定された領域）を報知する情報（音声情報でもよいし画像情報でもよい）を出力する。
【００３２】
図５は、第１の学習部２０１の動作例を示すフローチャートである。各ステップの具体的な内容は上述したとおりであるので、詳細な説明は省略する。図５に示すように、第１の学習部２０１は、良品画像の集合を取得する（ステップＳ１）。例えば予め良品を撮影して得られた良品画像の集合が記憶装置１３４に格納されており、第１の学習部２０１は、記憶装置１３４から良品画像の集合を取得する形態であってもよい。次に、第１の学習部２０１は、ステップＳ１で取得した良品画像の集合を用いて、良品画像を判別するための上述の第１のモデルを学習する（ステップＳ２）。
【００３３】
図６は、第２の学習部２０２の動作例を示すフローチャートである。各ステップの具体的な内容は上述したとおりであるので、詳細な説明は省略する。図６に示すように、第２の学習部２０２は、サンプル画像セットを取得する（ステップＳ１１）。例えばサンプル画像セットが記憶装置１３４に格納されており、第２の学習部２０２は、記憶装置１３４からサンプル画像セットを取得する形態であってもよい。次に、第２の学習部２０２は、上述の第１のモデルを用いて、サンプル画像セットから欠陥候補領域を検出する（ステップＳ１２）。次に、第２の学習部２０２は、上述の欠陥候補領域提示画面２００を表示する（ステップＳ１３）。そして、第２の学習部２０２は、欠陥候補領域提示画面２００から選択された欠陥候補領域に対してラベル付けを行う（ステップＳ１４）。次に、第２の学習部２０２は、ラベル付けされた欠陥候補領域と、ラベル付けされなかった欠陥候補領域とを識別するための上述の第２のモデルを学習する（ステップＳ１５）。
【００３４】
図７は、検査時の情報処理装置１３０の動作例を示すフローチャートである。各ステップの具体的な内容は上述したとおりであるので、詳細な説明は省略する。図７に示すように、取得部２０３は、カメラ１２０から撮影画像を取得する（ステップＳ２１）。次に、検出部２０４は、上述の第１のモデルを用いて、ステップＳ２１で取得された撮影画像から欠陥候補領域を検出する（ステップＳ２２）。次に、判断部２０５は、上述の第２のモデルを用いて、ステップＳ２２で検出した１以上の欠陥候補領域ごとに、該欠陥候補領域が欠陥であるか否かを判断する（ステップＳ２３）。次に、出力制御部２０６は、ステップＳ２３の判断結果を出力する制御を行う（ステップＳ２４）。
【００３５】
以上に説明したように、本実施形態では、良品画像の集合を用いて、良品画像を判別するための第１のモデルを学習しておき、予め用意されたサンプル画像セットから上述の第１のモデルに基づいて検出された複数の欠陥候補領域のうち、ユーザにより選択された欠陥候補領域を正解データ、ユーザにより選択されなかった欠陥候補領域を非正解データとして、正解データと非正解データを識別するための第２のモデルを予め学習する。そして、検査段階においては、学習済みの第１のモデルを用いて、対象物を撮影した撮影画像から欠陥候補領域を検出し、学習済みの第２のモデルを用いて、該検出された欠陥候補領域が欠陥であるか否かを判断する。本実施形態では、上述の第１のモデルおよび上述の第２のモデルを用いて撮影画像中の異常領域の有無を判断するので、統計的には異常であるが検出対象の欠陥ではない箇所を誤検出することを抑制できる。したがって、本実施形態によれば、十分な検査精度を得ることができるという有利な効果を達成できる。
【００３６】
（第２の実施形態）
次に、第２の実施形態について説明する。上述の第１の実施形態と共通する部分については適宜に説明を省略する。
【００３７】
上述の第２のモデルの性能はラベル付きデータ数と密接に関係しており、ラベル付きデータ数が少ない（対象、要求される識別精度によって変わるため一概には言えないが、一般的にカテゴリごとに１０００個以下などが該当）場合、上述の第２のモデルの性能が不十分である可能性が高い。そこで、本実施形態では、判断部２０５は、上述の第２のモデルを用いた判断結果の確信度が高い場合にのみ、該判断結果を採用する。例えば上述の第２のモデルが、ディープラーニングの一例であるＣＮＮ（convolution  neural  network）により構築されたモデルである場合、入力されたデータ（第１のモデルを用いて検出された欠陥候補領域）が欠陥か良品かを表す（０，１）の確信度が出力される。一般的には半分の０．５を、良品または欠陥の識別境界とする。第２のモデルの性能が不十分である場合（少ない数のラベル付きデータで第２のモデルが構築された場合）、例えば良品の確信度が閾値（例えば０．８など）以上の場合のみ良品と識別する、など確信度が閾値以上の場合のみ上述の第２のモデルを用いた判断結果を採用する方法が考えられる。識別境界（閾値）は、既に保持しているラベル付きデータを使って最も性能が良くなる値を探索することで調整が可能である。他の手法についても同様である。
【００３８】
（第３の実施形態）
次に、第３の実施形態について説明する。上述の第１の実施形態と共通する部分については適宜に説明を省略する。
【００３９】
上述の第１のモデル（教師なし学習により構築されたモデル）を用いた異常検知（欠陥候補領域の検出）は、統計的な異常値を見つける性質上、ユーザが検出したい欠陥（検出対象の欠陥）では無いが統計的には異常な領域を検出するので、誤検出が避けられない傾向にある。また、ユーザが検出したい欠陥の統計的な異常値が低い場合、その欠陥を検出するためには閾値を下げる必要があり、一定の誤検出が発生する。一般的に、教師あり学習はラベル付きデータが増えるほど性能が向上するので、ラベル付きデータが増えてくると、教師あり学習により構築されたモデル単体で検査した方が、第１のモデルと第２のモデルとの組み合わせで検査するよりも高い性能になる場合が考えられる。
【００４０】
そこで、本実施形態では、ラベル付きデータの数が閾値を超えた場合は、第２のモデル単体で欠陥領域の有無を判断するように変更する。つまり、判断部２０５は、閾値を超える数のラベル付きデータで第２のモデルが構築された場合は、上述の第１のモデルは用いずに、第２のモデルを用いて、入力された撮像画像中の異常領域を判断する。この場合、取得部２０３により取得された撮影画像（検査画像）をそのまま入力するスライディングウインドウ（公知）やSelective  search（公知）などを用いて事前に欠陥候補領域を抽出し、その抽出した欠陥候補領域を第２のモデルへ入力することで実現できる。
【００４１】
以上、本発明に係る実施形態について説明したが、本発明は、上述の各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに異なる実施形態や変形例を適宜に組み合わせてもよい。
【００４２】
また、上述した実施形態の情報処理システム１００で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよいし、インターネット等のネットワーク経由で提供または配布するように構成してもよい。また、各種プログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【符号の説明】
【００４３】
１００  情報処理システム
１２０  カメラ
１３０  情報処理装置
１４０  出力装置
２０１  第１の学習部
２０２  第２の学習部
２０３  取得部
２０４  検出部
２０５  判断部
２０６  出力制御部
【先行技術文献】
【特許文献】
【００４４】
【特許文献１】特開２００３−５９７０号公報
【図１】
2018120300.tif 000004
【図２】
2018120300.tif 000005
【図３】
2018120300.tif 000006
【図４】
2018120300.tif 000007
【図５】
2018120300.tif 000008
【図６】
2018120300.tif 000009
【図７】
2018120300.tif 000010