(57)【要約】【課題】通常検査処理と深層学習処理とを適用可能にし、検査処理の高速性と、複雑な判別への高い対応力とを両立させる。【解決手段】入力された検査対象画像の画素値に基づいて欠陥候補箇所を抽出する。抽出された欠陥候補箇所を含む領域に検査ウィンドウを設定する。検査ウィンドウ内の画像を分類器に入力することにより、検査対象画像が第１のクラスと第２のクラスのいずれに分類されるかを判定する。【選択図】図７
2020187657.tif 000002
【特許請求の範囲】
【請求項１】
検査対象物を撮像して取得された検査対象画像に基づいて検査対象物の検査を行う画像検査装置において、
設定モード時に、前記検査対象物を含んだ学習用画像をニューラルネットワークの入力層に複数入力して当該ニューラルネットワークに学習させることにより、前記検査対象画像を第１のクラスと第２のクラスに分類する分類器を生成する分類器生成手段と、
運用モード時に、前記検査対象画像を入力する画像入力手段と、
前記画像入力手段で入力された前記検査対象画像の画素値に基づいて、欠陥となり得る欠陥候補箇所を抽出するための欠陥候補抽出手段と、
抽出された欠陥候補箇所を含む領域に検査ウィンドウを設定する検査ウィンドウ設定手段と、
前記検査ウィンドウ設定手段により設定された前記検査ウィンドウ内の画像を前記分類器生成手段により生成された前記分類器に入力することにより、前記検査対象画像が前記第１のクラスと前記第２のクラスのいずれに分類されるかを判定する判定手段とを備えていることを特徴とする画像検査装置。
【請求項２】
請求項１に記載の画像検査装置において、
前記第１のクラスは、良品画像が分類される良品画像クラスであり、
前記第２のクラスは、不良品画像が分類される不良品画像クラスであり、
前記分類器生成手段は、設定モード時に、良品属性が付与された複数の良品画像及び／又は不良品属性が付与された複数の不良品画像を前記学習用画像としてニューラルネットワークの入力層に入力して当該ニューラルネットワークに学習させることにより、前記検査対象画像を前記良品画像クラスと前記不良品画像クラスに分類する分類器を生成するように構成されていることを特徴とする画像検査装置。
【請求項３】
請求項１に記載の画像検査装置において、
前記第１のクラスは、第１の欠陥を含む画像が分類される第１欠陥クラスであり、
前記第２のクラスは、第２の欠陥を含む画像が分類される第２欠陥クラスであり、
前記分類器生成手段は、設定モード時に、前記第１の欠陥を含んだ画像及び前記第２の欠陥を含んだ画像を前記学習用画像としてニューラルネットワークの入力層に複数入力して当該ニューラルネットワークに学習させることにより、前記検査対象画像を第１欠陥クラスと第２欠陥クラスに分類する分類器を生成するように構成されていることを特徴とする画像検査装置。
【請求項４】
請求項３に記載の画像検査装置において、
前記第１の欠陥は複数種の欠陥を含んでいることを特徴とする画像検査装置。
【請求項５】
請求項１から４のいずれか１つに記載の画像検査装置において、
前記分類器生成手段は、設定モード時に、欠陥を含んだ画像を前記学習用画像としてニューラルネットワークの入力層に複数入力して当該ニューラルネットワークに学習させるように構成されていることを特徴とする画像検査装置。
【請求項６】
請求項５に記載の画像検査装置において、
前記分類器生成手段は、設定モード時に、前記学習用画像のうち、欠陥が含まれる領域をニューラルネットワークの入力層に複数入力して当該ニューラルネットワークに学習させるように構成されていることを特徴とする画像検査装置。
【請求項７】
請求項１から６のいずれか１つに記載の画像検査装置において、
前記分類器生成手段は、設定モード時に、ニューラルネットワークの入力層に入力する画像サイズを正規化処理するように構成されていることを特徴とする画像検査装置。
【請求項８】
請求項７に記載の画像検査装置において、
前記分類器生成手段は、正規化処理時の拡大率を所定以下にすることを特徴とする画像検査装置。
【請求項９】
請求項１から８のいずれか１つに記載の画像検査装置において、
前記欠陥候補抽出手段は、セグメント化した平均濃度値に基づいて、周辺と一定以上差分が生じる箇所を欠陥候補箇所として抽出する傷検出処理を行うように構成されていることを特徴とする画像検査装置。
【請求項１０】
請求項１から９のいずれか１つに記載の画像検査装置において、
前記欠陥候補抽出手段は、濃度値に基づいた２値化により、濃度値が一定以下／一定以上／あるいは一定の範囲内／範囲外にある箇所を欠陥候補箇所として抽出するブロブ検出処理を行うように構成されていることを特徴とする画像検査装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検査対象物を撮像した画像に基づいて検査対象物の分類を行うことが可能な画像検査装置に関する。
【背景技術】
【０００２】
例えば特許文献１に開示されているように、検査対象物を撮像した画像を用いた一般的な検査処理は、画像内の検査対象物の様々な特徴量（色、エッジ、位置等）に基づいて検査対象物の良否の判定を行う（以下、通常検査という）。通常検査では、画像検査装置の設定時に使用者がどのような特徴量に基づいて検査を行うか選択し、選択された特徴量に対して良否判定の基準となる閾値を設定し、運用時に新たに入力された検査画像から設定時に選択された特徴量を抽出し、抽出された特徴量を閾値と比較することにより検査対象物の良否判定を行う。色やエッジなどの特徴量がはっきりしている画像に対しては良否判定が容易であるが、例えば色ムラが多い検査対象物や、金属部品のように周囲の環境によってエッジの出方が変わりやすい検査対象物などでは、特徴量が撮像条件などによって変化しやすく、人間の目による検査では良否判定が容易であっても、画像検査装置では判定が難しく、ひいては、判定結果が安定しないことがある。
【０００３】
このような難しい検査に対応が可能な検査処理として、良品が撮像された良品画像と不良品が撮像された不良品画像の特徴をそれぞれニューラルネットワークなどの公知の機械学習器に学習させ、新たに入力された検査対象物の画像が良品であるか、不良品であるかを機械学習器によって識別する深層学習処理技術が知られている（例えば特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１２０５５０号公報
【特許文献２】特開２０１８−５６４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
すなわち、通常検査処理の場合、処理負荷が低いという利点があるとともにアルゴリズムが明確であるが、複雑な判定が難しい。一方、深層学習処理の場合、通常検査処理に比べて処理負荷が高くなるが、複雑な判定への対応力が高いという利点がある。
【０００６】
ここで、検査対象物の外観を検査する外観検査で検出したい欠陥は、例えば「打痕」、「ひび割れ」、「欠け」、「異物」、「汚れ」等がある。これら欠陥を検出する既存の画像処理として、「傷検出」や「ブロブ検出」がある。傷検出処理は、セグメント化した平均濃度値に基づいて、周辺と一定以上差分が生じる箇所を異常箇所として、検出する処理であり、また、ブロブ検出は、濃度値に基づいた２値化により、濃度値が一定以下／一定以上／あるいは一定の範囲内／範囲外にある箇所を塊として検出する処理である。
【０００７】
いずれの処理も、検出したいものと、検出したくないものの濃淡値の差が大きかったり、形状的な特徴に差があるものは判別できるが、そうでないものは判別が難しいという問題があった。また、例えば、「汚れ」は許容できるが、虫などの「異物」は許容できない場合、「汚れ」と「異物」の区別が従来の形状的な特徴量では困難であった。
【０００８】
一方、深層学習処理は、学習を適切に行うことで、上記のような複雑な特徴の違いを分類することができるが、検査対象物全体の中の一部の細かい特徴だけを用いて分類することは難しい。そのため、ある決まった大きさの小領域を一定の間隔毎にずらしながら繰り返し、深層学習処理を適用する、「スライディングウィンドウ法」という方法が一般的に行われている。この処理は、ウィンドウをスライドさせながら、深層学習処理を繰り返し行うことになるため、既存の画像処理に比べて、処理負荷が高い問題があった。
【０００９】
本発明は、かかる点に鑑みてなされたものであり、その目的とするところは、通常検査処理と深層学習処理とを適用可能にし、検査処理の高速性と、複雑な判別への高い対応力とを両立させることにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明は、欠陥がありそうな候補箇所を通常検査処理によって高速に抽出し、抽出された候補箇所に限定して処理負荷の高い深層学習処理を適用して複雑な判別への対応力を高めるようにした。
【００１１】
第１の発明は、検査対象物を撮像して取得された検査対象画像に基づいて検査対象物の検査を行う画像検査装置において、設定モード時に、前記検査対象物を含んだ学習用画像をニューラルネットワークの入力層に複数入力して当該ニューラルネットワークに学習させることにより、前記検査対象画像を第１のクラスと第２のクラスに分類する分類器を生成する分類器生成手段と、運用モード時に、前記検査対象画像を入力する画像入力手段と、前記画像入力手段で入力された前記検査対象画像の画素値に基づいて、欠陥となり得る欠陥候補箇所を抽出するための欠陥候補抽出手段と、抽出された欠陥候補箇所を含む領域に検査ウィンドウを設定する検査ウィンドウ設定手段と、前記検査ウィンドウ設定手段により設定された前記検査ウィンドウ内の画像を前記分類器生成手段により生成された前記分類器に入力することにより、前記検査対象画像が前記第１のクラスと前記第２のクラスのいずれに分類されるかを判定する判定手段とを備えていることを特徴とする。
【００１２】
この構成によれば、画像検査装置の各種設定を行う設定モード時に、検査対象物を含んだ画像をニューラルネットワークの入力層に複数入力することで、検査対象画像を第１のクラスと第２のクラスに分類する分類器が生成される。画像検査装置の運用モード時に、検査対象物を撮像して取得された検査対象画像が欠陥候補抽出手段に入力されると、検査対象画像の画素値に基づいて欠陥候補箇所が抽出される。欠陥候補箇所を抽出する際は、例えば、セグメント化した平均濃度値に基づいて、周辺と一定以上差分が生じる箇所を欠陥候補箇所としてもよいし、濃度値に基づいた２値化により、濃度値が一定以下／一定以上／あるいは一定の範囲内／範囲外にある箇所を欠陥候補箇所としてもよく、いずれも一般的な通常検査処理であることから、高速な処理が可能である。
【００１３】
欠陥候補箇所が抽出されると、欠陥候補箇所を含む領域に検査ウィンドウが設定され、この検査ウィンドウ内の画像が前記分類器に入力されるので、深層学習処理は検査対象画像の一部にのみ限定的になされる。よって、検査処理の高速性が担保される。また、分類器の出力結果に基づいて、検査対象画像が第１のクラスと第２のクラスのいずれに分類されるかが判定されるので、複雑な判別であっても対応することが可能になる。尚、検査ウィンドウは、自動的に設定されるものであってもよいし、使用者が設定するものであってもよい。
【００１４】
第２の発明は、前記第１のクラスは、良品画像が分類される良品画像クラスであり、前記第２のクラスは、不良品画像が分類される不良品画像クラスであり、前記分類器生成手段は、設定モード時に、良品属性が付与された複数の良品画像及び／又は不良品属性が付与された複数の不良品画像を前記学習用画像としてニューラルネットワークの入力層に入力して当該ニューラルネットワークに学習させることにより、前記検査対象画像を前記良品画像クラスと前記不良品画像クラスに分類する分類器を生成するように構成されていることを特徴とする。
【００１５】
この構成によれば、分類器生成手段により、検査対象画像を良品画像クラスと不良品画像クラスに分類する分類器が生成される。検査ウィンドウ内の画像が分類器に入力されると、検査対象画像が良品画像クラスと不良品画像クラスのいずれに分類されるか判定されるので、高速性を維持しながら、検査対象画像の良否判定を行うことができる。
【００１６】
第３の発明は、前記第１のクラスは、第１の欠陥を含む画像が分類される第１欠陥クラスであり、前記第２のクラスは、第２の欠陥を含む画像が分類される第２欠陥クラスであり、前記分類器生成手段は、設定モード時に、前記第１の欠陥を含んだ画像及び前記第２の欠陥を含んだ画像を前記学習用画像としてニューラルネットワークの入力層に複数入力して当該ニューラルネットワークに学習させることにより、前記検査対象画像を第１欠陥クラスと第２欠陥クラスに分類する分類器を生成するように構成されていることを特徴とする。
【００１７】
この構成によれば、分類器生成手段により、検査対象画像を第１欠陥クラスと第２欠陥クラスに分類する分類器が生成される。欠陥は、例えば「打痕」、「ひび割れ」、「欠け」、「異物」、「汚れ」等がある。第１欠陥クラスには、１種類の欠陥のみが分類されてもよいし、複数種の欠陥が分類されてもよい。同様に、第２欠陥クラスには、１種類の欠陥のみが分類されてもよいし、複数種の欠陥が分類されてもよい。これら欠陥は、通常検査処理で抽出可能であるため、高速な処理が可能である。
【００１８】
検査対象画像の欠陥候補箇所を含む領域が分類器に入力されると、検査対象画像が第１欠陥クラスと第２欠陥クラスのいずれに分類されるか判定されるので、高速性を維持しながら、欠陥の種類による分類を行うことができる。第３欠陥クラスや第４欠陥クラスに分類可能な分類器を生成することもでき、クラスの数は特に限定されない。また、「打痕」が分類される打痕クラス、「ひび割れ」が分類されるひび割れクラス、「欠け」が分類される欠けクラス、「異物」が分類される異物クラス、「汚れ」が分類される汚れクラス等を設けることもでき、分類器によって各クラスに分類することができる。
【００１９】
第４の発明は、前記第１の欠陥は複数種の欠陥を含んでいることを特徴とする。
【００２０】
この構成によれば、例えば、欠陥の種類が３以上ある場合であっても、それらを第１欠陥クラスと第２欠陥クラスとの２つに分類することができるようになる。尚、クラスの数は２つに限られるものではなく、３つ以上あってもよい。
【００２１】
第５の発明は、前記分類器生成手段は、設定モード時に、欠陥を含んだ画像を前記学習用画像としてニューラルネットワークの入力層に複数入力して当該ニューラルネットワークに学習させるように構成されていることを特徴とする。
【００２２】
この構成によれば、分類器による欠陥の分類精度を高めることができる。
【００２３】
第６の発明は、前記分類器生成手段は、設定モード時に、前記学習用画像のうち、欠陥が含まれる領域をニューラルネットワークの入力層に複数入力して当該ニューラルネットワークに学習させるように構成されていることを特徴とする。
【００２４】
この構成によれば、ニューラルネットワークによる学習の効率を高めることができる。
【００２５】
第７の発明は、前記分類器生成手段は、設定モード時に、ニューラルネットワークの入力層に入力する画像サイズを正規化処理するように構成されていることを特徴とする。
【００２６】
第８の発明は、前記分類器生成手段は、正規化処理時の拡大率を所定以下にすることを特徴とする。
【００２７】
すなわち、画像を拡大することによって正規化処理を行う時、画像の拡大率が高くなり過ぎると、画像に含まれるノイズ成分が増大して誤判定の原因となりやすいが、拡大率を所定以下にすることで、ノイズ成分の増大が抑制されて誤判定が起こり難くなる。
【００２８】
第９の発明は、前記欠陥候補抽出手段は、セグメント化した平均濃度値に基づいて、周辺と一定以上差分が生じる箇所を欠陥候補箇所として抽出する傷検出処理を行うように構成されていることを特徴とする。
【００２９】
第１０の発明は、前記欠陥候補抽出手段は、濃度値に基づいた２値化により、濃度値が一定以下／一定以上／あるいは一定の範囲内／範囲外にある箇所を欠陥候補箇所として抽出するブロブ検出処理を行うように構成されていることを特徴とする。
【発明の効果】
【００３０】
本発明によれば、欠陥がありそうな候補箇所を通常検査処理によって高速に抽出することができ、抽出された候補箇所に限定して処理負荷の高い深層学習処理を適用して複雑な判別への対応力を高めることができる。
【図面の簡単な説明】
【００３１】
【図１】本発明の実施形態に係る画像検査装置の構成を示す模式図である。
【図２】画像検査装置のハードウエア構成を示す図である。
【図３】画像検査装置のブロック図である。
【図４】良品画像と不良品画像との具体例を示す図である。
【図５】学習用画像のうち、欠陥が含まれる領域の指定を受け付ける例を説明する図である。
【図６】１つの画像に複数の欠陥が含まれた画像を学習用画像とする場合を説明する図である。
【図７】傷検出処理によって１つの欠陥候補箇所を抽出する場合を示す図である。
【図８】傷検出処理によって２つの欠陥候補箇所を抽出する場合を示す図である。
【図９】ブロブ検出処理によって欠陥候補箇所を抽出する場合を示す図である。
【図１０】２クラス判定を行う場合の判定手順を示すフローチャートである。
【図１１】多クラス判定を行う場合の判定手順を示すフローチャートである。
【図１２】明らかな不良品を通常検査処理で判定し、残りを深層学習処理で判定する場合の判定手順を示すフローチャートである。
【図１３】通常検査処理と深層学習処理を画像検査装置へ組み込む場合の例を示す図である。
【図１４】計測ユニット表示用ユーザーインターフェースである。
【図１５】制御ユニット表示用ユーザーインターフェースである。
【図１６】位置補正ユニット表示用ユーザーインターフェースである。
【発明を実施するための形態】
【００３２】
以下、本発明の実施形態を図面に基づいて詳細に説明する。尚、以下の好ましい実施形態の説明は、本質的に例示に過ぎず、本発明、その適用物或いはその用途を制限することを意図するものではない。
【００３３】
図１は、本発明の実施形態に係る画像検査装置１の構成を示す模式図である。画像検査装置１は、例えば各種部品や製品等の検査対象物を撮像して取得された検査対象画像に基づいて検査対象物の良否判定を行うための装置であり、工場等の生産現場等で使用することができる。検査対象物は、それ全体が検査対象であってもよいし、検査対象物の一部のみが検査対象であってもよい。また、１つの検査対象物に複数の検査対象が含まれていてもよい。また、検査対象画像には、複数の検査対象物が含まれていてもよい。検査対象物はワークと呼ぶこともできる。
【００３４】
画像検査装置１は、装置本体となる制御ユニット２と、撮像ユニット３と、表示装置（表示部）４と、パーソナルコンピュータ５とを備えている。パーソナルコンピュータ５は、必須なものではなく、省略することもできる。表示装置４の代わりにパーソナルコンピュータ５を使用して各種情報や画像を表示させることもできる。図１では、画像検査装置１の構成例の一例として、制御ユニット２、撮像ユニット３、表示装置４及びパーソナルコンピュータ５を別々のものとして記載しているが、これらのうち、任意の複数を組み合わせて一体化することもできる。例えば、制御ユニット２と撮像ユニット３を一体化することや、制御ユニット２と表示装置４を一体化することもできる。また、制御ユニット２を複数のユニットに分割して一部を撮像ユニット３や表示装置４に組み込むことや、撮像ユニット３を複数のユニットに分割して一部を他のユニットに組み込むこともできる。
【００３５】
（撮像ユニット３の構成）
図２に示すように、撮像ユニット３は、カメラモジュール（撮像部）１４と、照明モジュール（照明部）１５とを備えており、検査対象画像の取得を実行するユニットである。カメラモジュール１４は、撮像光学系を駆動するＡＦ用モータ１４１と、撮像基板１４２とを備えている。ＡＦ用モータ１４１は、撮像光学系のレンズを駆動することにより、自動でピント調整を実行する部分であり、従来から周知のコントラストオートフォーカス等の手法によってピント調整を行うことができる。カメラモジュール１４による撮像視野範囲（撮像領域）は、検査対象物を含むように設定されている。撮像基板１４２は、撮像光学系から入射した光を受光する受光素子としてＣＭＯＳセンサ１４３と、ＦＰＧＡ１４４と、ＤＳＰ１４５とを備えている。ＣＭＯＳセンサ１４３は、カラー画像を取得することができるように構成された撮像センサである。ＣＭＯＳセンサ１４３の代わりに、例えばＣＣＤセンサ等の受光素子を用いることもできる。ＦＰＧＡ１４４及びＤＳＰ１４５は、撮像ユニット３の内部において画像処理を実行するためのものであり、ＣＭＯＳセンサ１４３から出力された信号はＦＰＧＡ１４４及びＤＳＰ１４５にも入力されるようになっている。
【００３６】
照明モジュール１５は、検査対象物を含む撮像領域を照明する発光体としてのＬＥＤ（発光ダイオード）１５１と、ＬＥＤ１５１を制御するＬＥＤドライバ１５２とを備えている。ＬＥＤ１５１による発光タイミング、発光時間、発光量は、ＬＥＤドライバ１５２によって任意に設定することができる。ＬＥＤ１５１は、撮像ユニット３に一体に設けてもよいし、撮像ユニット３とは別体として外部照明ユニットとして設けてもよい。図示しないが、照明モジュール１５には、ＬＥＤ１５１から照射された光を反射するリフレクターや、ＬＥＤ１５１から照射された光が通過するレンズ等が設けられている。ＬＥＤ１５１から照射された光が検査対象物と、検査対象物の周辺領域に照射されるように、ＬＥＤ１５１の照射範囲が設定されている。発光ダイオード以外の発光体を使用することもできる。
【００３７】
（制御ユニット２の構成）
制御ユニット２は、メイン基板１３と、コネクタ基板１６と、通信基盤１７と、電源基板１８とを備えている。メイン基板１３には、ＦＰＧＡ１３１と、ＤＳＰ１３２と、メモリ１３３とが搭載されている。ＦＰＧＡ１３１とＤＳＰ１３２は制御部１３Ａを構成するものであり、これらが一体化された主制御部を設けることもできる。
【００３８】
メイン基板１３の制御部１３Ａは、接続されている各基板及びモジュールの動作を制御する。例えば、制御部１３Ａは、照明モジュール１５のＬＥＤドライバ１５２に対してＬＥＤ１５１の点灯／消灯を制御する照明制御信号を出力する。ＬＥＤドライバ１５２は、制御部１３Ａからの照明制御信号に応じて、ＬＥＤ１５１の点灯／消灯の切替及び点灯時間の調整を行うとともに、ＬＥＤ１５１の光量等を調整する。
【００３９】
また、制御部１３Ａは、カメラモジュール１４の撮像基板１４２に、ＣＭＯＳセンサ１４３を制御する撮像制御信号を出力する。ＣＭＯＳセンサ１４３は、制御部１３Ａからの撮像制御信号に応じて、撮像を開始するとともに、露光時間を任意の時間に調整して撮像を行う。すなわち、撮像ユニット３は、制御部１３Ａから出力される撮像制御信号に応じてＣＭＯＳセンサ１４３の視野範囲内を撮像し、視野範囲内に検査対象物があれば、検査対象物を撮像することになるが、検査対象物以外の物が視野範囲内にあれば、それも撮像することができる。例えば、画像検査装置１の設定時には、使用者により良品としての属性を付与された良品画像と、不良品としての属性を付与された不良品画像とを撮像することができる。画像検査装置１の運用時には、検査対象物を撮像することができる。また、ＣＭＯＳセンサ１４３は、ライブ画像、即ち現在の撮像された画像を短いフレームレートで随時出力することができるように構成されている。
【００４０】
ＣＭＯＳセンサ１４３による撮像が終わると、撮像ユニット３から出力された画像信号は、メイン基板１３のＦＰＧＡ１３１に入力され、ＦＰＧＡ１３１及びＤＳＰ１３２によって処理されるとともに、メモリ１３３に記憶されるようになっている。メイン基板１３の制御部１３Ａによる具体的な処理内容の詳細については後述する。
【００４１】
コネクタ基板１６は、電源インターフェース１６１に設けてある電源コネクタ（図示せず）を介して外部から電力の供給を受ける部分である。電源基板１８は、コネクタ基板１６で受けた電力を各基板及びモジュール等に分配する部分であり、具体的には、照明モジュール１５、カメラモジュール１４、メイン基板１３、及び通信基板１７に電力を分配する。電源基板１８は、ＡＦ用モータドライバ１８１を備えている。ＡＦ用モータドライバ１８１は、カメラモジュール１４のＡＦ用モータ１４１に駆動電力を供給し、オートフォーカスを実現している。ＡＦ用モータドライバ１８１は、メイン基板１３の制御部１３ＡからのＡＦ制御信号に応じて、ＡＦ用モータ１４１に供給する電力を調整する。
【００４２】
通信基板１７は、メイン基板１３の制御部１３Ａから出力された検査対象物の良否判定信号、画像データ、ユーザーインターフェース等を表示装置４やパーソナルコンピュータ５、外部制御機器（図示せず）等に出力する。表示装置４やパーソナルコンピュータ５は、例えば液晶パネル等からなる表示パネルを有しており、画像データやユーザーインターフェース等は表示パネルに表示される。
【００４３】
また、通信基板１７は、表示装置４が有するタッチパネル４１やパーソナルコンピュータ５のキーボード５１等から入力された使用者の各種操作を受け付けることができるように構成されている。表示装置４のタッチパネル４１は、例えば感圧センサを搭載した従来から周知のタッチ式操作パネルであり、使用者によるタッチ操作を検出して通信基板１７へ出力する。パーソナルコンピュータ５は、操作デバイスとしてキーボード５１及びマウス５２を備えている。パーソナルコンピュータ５は、操作デバイスとしてタッチパネル（図示せず）を備えていてもよい。パーソナルコンピュータ５は、これら操作デバイスから入力された使用者の各種操作を受け付けることができるように構成されている。通信は、有線であってもよいし、無線であってもよく、いずれの通信形態も、従来から周知の通信モジュールによって実現することができる。
【００４４】
制御ユニット２には、例えばハードディスクドライブ等の記憶装置１９が設けられている。記憶装置１９には、後述する各制御及び処理を上記ハードウエアによって実行可能にするためのプログラムファイル８０や設定ファイル等（ソフトウエア）が記憶されている。プログラムファイル８０や設定ファイルは、例えば光ディスク等の記憶媒体９０に格納しておき、この記憶媒体９０に格納されたプログラムファイル８０や設定ファイルを制御ユニット２にインストールすることができる。また、記憶装置１９には、上記画像データや良否判定結果等を記憶させておくこともできる。
【００４５】
（画像検査装置１の具体的な構成）
図３は、画像検査装置１のブロック図であり、プログラムファイル８０や設定ファイルがインストールされた制御ユニット２により、図３に示す各部が構成される。すなわち、画像検査装置１は、画像入力部２１と、通常検査設定部（通常検査設定手段の一例）２２と、深層学習設定部（深層学習設定手段の一例）２３と、欠陥候補抽出部２４と、検査ウィンドウ設定部２５と、判定部２６（判定手段の一例）とを備えている。これら各部２１〜２６や手段は、ハードウエアのみで構成されていてもよいし、ハードウエアとソフトウエアとの組み合わせによって構成されていてもよい。
【００４６】
また、図３に示す各部２１〜２６は、概念的に独立したように示しているが、任意の２つ以上の部分が統合された形態であってもよく、図示した形態に限られるものではない。また、各部２１〜２６や手段は、それぞれが独立したハードウエアで構成されたものであってもよいし、１つのハードウエアまたはソフトウエアによって複数の機能が実現されるように構成されたものであってもよい。また、図３に示す各部２１〜２６や手段の機能や作用は、メイン基板１３の制御部１３Ａによる制御で実現することもできる。
【００４７】
画像検査装置１は、少なくとも２種類の検査、即ち、通常検査処理による検査対象物の検査と、深層学習処理による検査対象物の検査とを行うことが可能に構成されている。通常検査処理とは、検査対象物を撮像した画像を用いた一般的な検査処理のことであり、画像内の検査対象物の様々な特徴量（色、エッジ、位置等）に基づいて検査対象物の良否の判定を行う処理である。
【００４８】
一方、深層学習処理は、事前に複数の良品属性が付与された画像と、不良品属性が付与された画像とのうち、少なくとも一方を多層のニューラルネットワークに入力し、良品画像と不良品画像とを識別できるように、ネットワーク内の複数のパラメータを調整して得られた学習済みのニューラルネットワークを用いる検査処理のことである。ここで用いるニューラルネットワークは３層以上であり、いわゆるディープラーニングが可能なニューラルネットワークである。また、深層学習処理は、欠陥を含む学習用画像を用いて欠陥の種別を識別できるように学習を行うこともでき、この場合、良否の分類だけでなく、欠陥の種別に応じた分類等も行うことができる。
【００４９】
詳細は後述するが、通常検査処理と深層学習処理とのうち、一方の検査処理のみで安定的な検査が行える場合には、一方の検査処理のみ行うことができる。また、通常検査処理と深層学習処理の両方を併用することで、例えば通常検査処理では判定が難しい検査を深層学習処理で高精度に判定できる。また、学習に用いていない未知のデータが入力された場合に起こり得る深層学習処理に特有の想定外の欠陥が混入されたような不安定な挙動を、通常検査処理のみの検査処理によって回避することができるようになる。
【００５０】
また、画像検査装置１は、撮像設定等の各種パラメータ設定、マスター画像の登録、通常検査処理の設定、深層学習処理の設定等を行う設定モードと、実際の現場において検査対象物を撮像した検査対象画像に基づいて検査対象物の良否判定を行う運転モード（Ｒｕｎモード）とに切り替えられるようになっている。設定モードでは、使用者が所望の製品検査で良品と不良品とを分けることができるようにするための事前の作業を行うことが可能になっており、この作業には、ニューラルネットワークの学習作業が含まれている。設定モードと運転モードとの切替は、図示しないユーザーインターフェース上で行うことができる他、設定モードの完了と同時に運転モードに自動で移行するように構成することもできる。運転モードから設定モードへの移行も任意に行えるようになっている。また、運転モードにおいて、ニューラルネットワークの再学習を行うこともできる。
【００５１】
（画像入力部２１の構成）
図３に示す画像入力部２１は、設定モード時に、検査対象物を含んだ学習用画像を深層学習設定部２３に入力する部分であるとともに、登録画像を通常検査設定部２２に入力する部分である。また、画像入力部２１は、運転モード時に、新たに取得された検査対象画像を欠陥候補抽出部２４に入力する部分でもある。学習用画像には、良品属性が付与された複数の良品画像及び／又は不良品属性が付与された複数の不良品画像が含まれる。
【００５２】
図４は、撮像ユニット３で撮像された複数種の画像を示しており、大きくは、良品を撮像した良品画像と、不良品を撮像した不良品画像とに分類することができる。良品とは、原則として欠陥が無い検査対象物であるが、小さな欠陥であれば良品としてもよい場合や、所定の欠陥（後述する汚れ）であれば良品としてもよい場合があり、これは使用者が設定可能となっている。一方、不良品とは、使用者が欠陥として取り扱いたい欠陥がある検査対象物である。欠陥とは、例えば、打痕、汚れ、ひび割れ、欠け、異物等であるが、これら以外にも欠陥と呼ぶことができる状態がある。
【００５３】
図４に示す例では、打痕２００ａ、汚れ２００ｂ、ひび割れ２００ｃ、欠け２００ｄ、異物２００ｅが無い検査対象物を撮像した画像が良品画像に分類され、欠陥としての打痕２００ａ、汚れ２００ｂ、ひび割れ２００ｃ、欠け２００ｄ、異物２００ｅが１つでもある画像は不良品画像に分類される様子を示している。良品画像と不良品画像との分類方法は、これに限られるものではなく、例えば打痕２００ａ、ひび割れ２００ｃ、欠け２００ｄ及び異物２００ｅが無ければ、汚れ２００ｂがあっても良品画像として分類してよい場合や、複数の欠陥がある場合に限って不良品画像として分類する等、様々な分類方法がある。
【００５４】
画像の取り込み方法について具体的に説明すると、設定モード時に、使用者が検査対象物を撮像ユニット３のＣＭＯＳセンサ１４３の視野範囲に置くと、制御部１３Ａは、ＣＭＯＳセンサ１４３で撮像されたライブ画像を画像入力用ユーザーインターフェース（図示せず）の一部に組み込み、このライブ画像が組み込まれた画像入力用ユーザーインターフェースを表示装置４に表示させる。検査対象物が画像入力用ユーザーインターフェースに表示されている状態で使用者が画像の取り込み操作を行うと、その時点で画像入力用ユーザーインターフェースに表示されている画像、即ち使用者が取り込みたい画像が静止画として取り込まれる。取り込まれた画像は、メモリ１３３や記憶装置１９に記憶される。使用者による画像の取り込み操作は、例えば画像入力用ユーザーインターフェースに組み込まれたボタン操作、キーボード５１やマウス５２の操作等を挙げることができる。
【００５５】
使用者は、画像を取り込む際には、当該画像に良品属性と不良品属性との一方を付与することができる。例えば、画像入力用ユーザーインターフェースに「良品取り込みボタン」及び「不良品取り込みボタン」を設けておき、画像入力用ユーザーインターフェースに表示されている画像の取り込み時に、「良品取り込みボタン」の操作がなされた場合には、その時点で取り込まれた画像は、良品属性が付与された良品画像として取り込むことができ、一方、「不良品取り込みボタン」の操作がなされた場合には、その時点で取り込まれた画像は、不良品属性が付与された良品画像として取り込むことができる。これを繰り返すことで、複数の良品画像及び複数の不良品画像を取り込むことができる。複数の良品画像を入力する場合、異なる良品を撮像した画像であってもよいし、１つの良品の角度や位置を変えて複数回撮像した画像であってもよい。また、画像検査装置１の内部で例えば画像の明るさを変更する等して、複数の良品画像及び複数の不良品画像を生成してもよい。良品画像及び不良品画像は、それぞれ、例えば１００枚程度用意しておく。例えば、傷を検出する場合には、傷が入った不良品画像を用意することになるが、これは使用者が作成してもよいし、画像検査装置１が自動で作成するようにしてもよい。
【００５６】
学習用画像として、良品画像のみ、または不良品画像のみを取り込むこともできる。また、良品属性及び不良品属性を画像に付与する方法は、上述した方法に限られるものではなく、例えば画像の取り込み後に付与する方法であってもよい。また、良品属性及び不良品属性を付与した後に、属性の修正を受け付けることが可能に構成することもできる。
【００５７】
また、打痕を含む学習用画像は打痕画像とし、また汚れを含む学習用画像は汚れ画像とし、またひび割れを含む学習用画像はひび割れ画像とし、また欠けを含む学習用画像は欠け画像とし、また異物を含む学習用画像は異物画像としてそれぞれ欠陥属性を付与することもできる。欠陥属性の付与の仕方は、良品及び不良品の属性を付与する方法と同じ方法を用いることができる。
【００５８】
また、学習用画像を取り込む際、学習用画像のうち、欠陥が含まれる領域の指定を受け付けるように構成することもできる。図５は、不良品画像を画像入力用ユーザーインターフェースに表示している状態を示しており、図５の上側は、欠陥としての汚れ２００ｂが含まれる検査対象物を撮像した画像そのままを示しており、図５の下側は、汚れ２００ｂが含まれる領域の指定を受け付けた状態を示している。符号３００は、汚れ２００ｂを含む領域を囲むように設定された欠陥領域ウィンドウである。欠陥領域ウィンドウ３００は、使用者が設定可能であり、例えば、画像入力用ユーザーインターフェースに表示されている検査対象物を撮像した画像上で、マウス５２の操作によって汚れ２００ｂを囲む矩形を描くことで欠陥領域ウィンドウ３００を設定することができる。この矩形は汚れ２００ｂの外接矩形とすることができる。例えば、汚れ２００ｂの右上または左上にマウス５２のポインタを置き、そこからマウス５２を左下または右下方向にドラッグすることで欠陥領域ウィンドウ３００を設定することができる。欠陥領域ウィンドウ３００の大きさは設定後に調整することができる。汚れ２００ｂは一例であり、打痕２００ａ、ひび割れ２００ｃ、欠け２００ｄ、異物２００ｅのいずれであってもよい。また、図６に示すように、１つの画像に複数の欠陥、例えば打痕２００ａとひび割れ２００ｃがある場合には、それぞれを囲むように欠陥領域ウィンドウ３００を設定することができる。
【００５９】
欠陥が含まれる領域の指定を受け付けた後、その領域にある欠陥の種別を入力することもできる。欠陥の種別は、例えば、打痕２００ａ、汚れ２００ｂ、ひび割れ２００ｃ、欠け２００ｄ、異物２００ｅ等であり、これらのうちから、欠陥領域ウィンドウ３００内にある欠陥の種別を入力すると、当該欠陥の種別と、欠陥領域ウィンドウ３００内の領域とが関連付けられて記憶装置１９に記憶される。１つの画像内に複数種の欠陥があれば、欠陥ごとに種別を入力することができる。
【００６０】
また、使用者は、通常検査処理で使用する登録画像をマスター画像として取り込むことができる。登録画像は、例えば新たに取得された検査対象画像との差分をブロブ（塊）検出することによって良否判定を行う差分検査を行う際に使用することができる。また、登録画像は、正規化相関を用いて良否判定を行う際等に使用することができる。例えば、画像入力用ユーザーインターフェースに「登録画像取り込みボタン」を設けておき、画像入力用ユーザーインターフェースに表示されている画像の取り込み時に、「登録画像取り込みボタン」の操作がなされた場合には、その時点で取り込まれた画像を登録画像とすることができる。画像の取り込み後に、取り込んだ画像を登録画像として設定することもできる。
【００６１】
運転モード時には、検査対象物がＣＭＯＳセンサ１４３の視野範囲に入った状態で、制御部１３Ａは、ＣＭＯＳセンサ１４３によって検査対象物を撮像して検査対象画像を取り込む。検査対象画像の取り込みを行うトリガーとなる信号は、従来から周知であり、例えば画像検査装置１の外部から入力される信号であってもよいし、画像検査装置１の内部で生成される信号であってもよい。
【００６２】
（通常検査設定部２２の構成）
通常検査設定部２２は、通常検査に用いる特徴量の設定と、当該特徴量と比較される良否判定の基準となる通常検査用閾値の設定とを使用者から受け付けることにより、通常検査処理の設定を行う部分である。通常検査に用いる特徴量とは、例えば検査対象物の色、検査対象物のエッジ、検査対象物の位置等を挙げることができる。検査対象物のエッジ情報には、エッジの位置、形状、長さ等が含まれる。検査対象物の位置は、検査対象物自体の位置の他、検査対象物の一部の位置も含まれる。通常検査に用いる特徴量は、１つであってもよいし、２つ以上であってもよい。
【００６３】
通常検査に用いる特徴量の設定を行う際には、制御部１３Ａが生成する特徴量設定用ユーザーインターフェース（図示せず）を表示装置４に表示させ、その特徴量設定用ユーザーインターフェースで使用者の操作を受け付ける。特徴量設定用ユーザーインターフェースには、上述した特徴量の入力や選択等を行う特徴量設定部が設けられており、使用者が特徴量設定部に対してキーボード５１やマウス５２によって入力操作を行うと、その入力操作が制御部１３Ａで受け付けられ、検査に用いる特徴量の設定が完了する。設定された特徴量は、メモリ１３３や記憶装置１９に記憶される。
【００６４】
また、上述のようにして設定された特徴量は、欠陥候補箇所とするか否かの判定の基準となる通常検査用閾値と比較され、その結果、欠陥候補箇所とするか否かを、後述する欠陥候補抽出部２４が判定することになる。このとき用いられる欠陥候補箇所判定の基準となる通常検査用閾値の設定を行う際には、制御部１３Ａが生成する閾値設定用ユーザーインターフェース（図示せず）を表示装置４に表示させ、その閾値設定用ユーザーインターフェースで使用者の操作を受け付ける。閾値設定用ユーザーインターフェースには、上述した通常検査用閾値の入力を行うための閾値入力部が設けられている。使用者が閾値入力部に対してキーボード５１やマウス５２によって閾値の入力操作を行うと、その入力操作が制御部１３Ａで受け付けられ、閾値の入力及び設定が完了する。設定された通常検査用閾値は、メモリ１３３や記憶装置１９に記憶される。通常検査用閾値は、画像検査装置１が自動的に設定した後、使用者が調整することで最終的な入力が完了するようにしてもよい。通常検査用閾値は、通常検査処理で用いられる閾値であり、深層学習処理の検査では用いられない。
【００６５】
通常検査用閾値を使用者から受け付ける際、良品判定を確定させる良品確定用閾値と、不良品判定を確定させる不良品確定用閾値とを受け付けるように構成することもできる。良品確定用閾値は、この閾値を基準として、例えば閾値以上であれば良品、または閾値以下であれば良品といった良品の判定を行う閾値であり、良品を確定できる程度に確度の高い閾値に設定することができる。一方、不良品確定用閾値は、この閾値を基準として、例えば閾値以上であれば不良品、または閾値以下であれば不良品といった不良品の判定を行う閾値であり、不良品を確定できる程度に確度の高い閾値に設定することができる。良品確定用閾値と不良品確定用閾値とは、どちらか一方のみ受け付けるようにしてもよいし、両方を受け付けるようにしてもよい。良品確定用閾値と不良品確定用閾値とが入力された場合には、識別可能な状態でメモリ１３３や記憶装置１９に記憶される。
【００６６】
通常検査処理には、傷検出処理とブロブ検出処理とが含まれるが、これら以外の通常検査処理が含まれていてもよい。傷検出処理は、特許第４５４４５７８号公報に記載されている方法で、セグメント化した平均濃度値に基づいて、周辺と一定以上差分が生じる箇所が傷（欠陥候補箇所）であるとして抽出する処理である。ブロブ検出処理は、濃度値に基づいた２値化により、濃度値が一定以下／一定以上／あるいは一定の範囲内／範囲外にある箇所が欠陥候補箇所であるとして抽出する処理である。通常検査処理は、検査対象画像の全体に対して行うこともできるし、予め設定された範囲内に対してのみ行うこともできる。通常検査処理により、複数の欠陥候補箇所が抽出されることがある。
【００６７】
傷検出処理とブロブ検出処理のいずれも、検出したいものと、検出したくないものの濃淡値の差が大きかったり、形状的な特徴に差があるものは判別できるが、そうでないものは判別が難しい。すなわち、形状的な特徴としては、例えば、ブロブに外接する矩形のＸ軸及びＹ軸に平行な辺の長さであるフィレ径、ブロブが完全円とどの程度似ているかを示す円形度、ブロブの周囲長等があるが、これら形状的な特徴に差がなければ、傷検出処理及びブロブ検出処理で欠陥候補箇所として抽出することが困難であり、例えば、「汚れ」と、虫などの「異物」は、従来の形状的な特徴量では区別が特に難しい。
【００６８】
（深層学習設定部２３の構成）
深層学習設定部２３は分類器生成部２３ａを有している。分類器生成部２３ａは、学習用画像をニューラルネットワークの入力層に入力して当該ニューラルネットワークに学習させ、新たに取得された検査対象画像を第１のクラスと第２のクラスとに分類する深層学習処理の設定を行う部分である。深層学習処理の設定では、新たに取得された検査対象画像を第１のクラスと第２のクラスとに分類する分類器を、分類器生成部２３ａによって生成することができる。また、ニューラルネットワークは、制御部１３Ａ上に構築することができ、少なくとも、入力層、中間層及び出力層を有している。
【００６９】
学習用画像として、良品属性が付与された複数の良品画像及び／又は不良品属性が付与された複数の不良品画像を、ニューラルネットワークの入力層に入力した場合には、新たに取得された検査対象画像を良品画像と不良品画像に分類する分類器が深層学習設定部２３の分類器生成部２３ａによって生成される。この場合、第１のクラスは、良品画像が分類される良品画像クラスであり、第２のクラスは、不良品画像が分類される不良品画像クラスである。
【００７０】
良品画像や不良品画像は、画像入力部２１によって取得されているので、深層学習設定部２３は、画像入力部２１で取得された良品画像や不良品画像をニューラルネットワークの入力層に入力する。ニューラルネットワークの入力層には、良品画像のみを入力してもよいし、不良品画像のみを入力してもよいし、良品画像及び不良品画像の両方を入力してもよい。これは画像の取得状況に応じて自動的に変更してもよいし、使用者が選択できるようにしてもよい。
【００７１】
深層学習設定部２３は、正解情報（入力した画像が良品であるか、不良品であるか）もニューラルネットワークに提供し、複数の良品画像及び／又は複数の不良品画像と、正解情報とを利用してニューラルネットワークに学習させる。これにより、ニューラルネットワークの複数の初期パラメータが変更されて正答率の高いパラメータになる。このニューラルネットワークの学習は、良品画像や不良品画像が入力された時点で自動的に行わせることもできる。ニューラルネットワークに学習させることで、良品画像と不良品画像との分類が可能な分類器が生成される。
【００７２】
ニューラルネットワークは、ＣＮＮ（Convolutional Neural Network）をベースにした識別型ネットワークであってもよいし、オートエンコーダーに代表される復元型ニューラルネットワークであってもよい。識別型ネットワークの場合、出力値を正規化した値（一般的にはソフトマックス関数と呼ばれる正規化関数が用いられる）を良否判定の基準となる閾値（深層学習処理用閾値）とすることができる。深層学習処理用閾値は、良品判定の基準となる良品判定用閾値と、不良品判定の基準となる不良品判定用閾値とを含むことができ、いずれの閾値も正規化した値を用いることができる。深層学習処理用閾値と、上記通常検査用閾値とは独立している。
【００７３】
復元型ニューラルネットワーク、特にオートエンコーダーの場合、例としては、設定モード時に良品画像データを入力し、入力データをそのまま復元して出力するように事前に学習させておくことができる。運用モード時には、新たに取得された検査対象画像を学習済みのニューラルネットワークに入力して復元画像を得る。ニューラルネットワークに入力した画像と、復元画像との差を取り、差分が一定以上あった場合に不良品、一定未満の場合に良品と判定するように構成できる。ニューラルネットワークに入力した画像と復元画像との階調値の差分を総和して判定する方法や、差分が一定以上あるピクセル数を総和して判定する方法などがあり、いずれの方法を用いてもよい。このように、深層学習処理用閾値は、画像のピクセル数（画素数）や面積を用いて決めてもよい。
【００７４】
また、前記第１のクラスは、第１の欠陥を含む画像が分類される第１欠陥クラスであり、前記第２のクラスは、第２の欠陥を含む画像が分類される第２欠陥クラスであってもよい。この場合、分類器生成部２３ａは、設定モード時に、第１の欠陥を含んだ画像及び第２の欠陥を含んだ画像を学習用画像としてニューラルネットワークの入力層に複数入力して当該ニューラルネットワークに学習させることにより、検査対象画像を第１欠陥クラスと第２欠陥クラスに分類する分類器を生成する。第１の欠陥または第２の欠陥は複数種の欠陥を含んでいてもよい。
【００７５】
第１の欠陥には、上述した打痕、汚れ、ひび割れ、欠け、異物のうち、任意の１つまたは２以上を含めることができ、第２の欠陥には、第１の欠陥以外の欠陥のうち、任意の１つまたは２以上を含めることができる。第１の欠陥を含んだ画像及び第２の欠陥を含んだ画像をニューラルネットワークの入力層に複数入力するとともに、正解情報（入力した画像がどの欠陥であるか）もニューラルネットワークに提供することで、ニューラルネットワークのパラメータが変更されて第１欠陥クラスと第２欠陥クラスとの分類が精度良く行える分類器を生成することができる。
【００７６】
また、分類器生成部２３ａは、設定モード時に、打痕２００ａ、汚れ２００ｂ、ひび割れ２００ｃ、欠け２００ｄ、異物２００ｅのそれぞれを含む学習用画像をニューラルネットワークの入力層に複数入力し、打痕２００ａ、汚れ２００ｂ、ひび割れ２００ｃ、欠け２００ｄ、異物２００ｅの識別が可能となるように、当該ニューラルネットワークに学習させることもできる。この場合、運転モード時に入力された検査対象画像に欠陥が含まれることを検出するだけでなく、その欠陥の種別を判別して種別ごとに分類する分類器を生成することができる。欠陥の種別には、打痕２００ａ、汚れ２００ｂ、ひび割れ２００ｃ、欠け２００ｄ、異物２００が含まれるが、これら以外の欠陥の種別が含まれていてもよい。
【００７７】
分類器生成部２３ａは、設定モード時に、１つの画像に複数の欠陥が含まれた画像を学習用画像としてニューラルネットワークの入力層に複数入力して当該ニューラルネットワークに学習させるように構成することもできる。図６に示すように、例えば、１つの画像に、打痕２００ａとひび割れ２００ｂが含まれた画像をニューラルネットワークの入力層に入力することで、打痕とひび割れが含まれた画像を分類する分類器を生成することができる。
【００７８】
分類器生成部２３は、設定モード時に、学習用画像のうち、欠陥が含まれる領域をニューラルネットワークの入力層に複数入力して当該ニューラルネットワークに学習させるように構成することができる。この場合、図５に示すように、欠陥領域ウィンドウ３００で囲まれた領域をニューラルネットワークの入力層に入力させる。また、入力層に入力した欠陥の種類に関する情報を正解情報としてニューラルネットワークに提供することで、欠陥領域ウィンドウ３００で囲まれた領域にある欠陥の種類を含めて学習することができる。
【００７９】
分類器生成部２３は、設定モード時に、ニューラルネットワークの入力層に入力する画像サイズを正規化処理するように構成されている。すなわち、ニューラルネットワークには入力可能な画像サイズが規定されており、この画像サイズとなるように、欠陥領域ウィンドウ３００内の画像サイズを正規化する。ただし、画像を拡大することによって正規化処理を行う時、画像の拡大率が高くなり過ぎると、画像に含まれるノイズ成分が増大して誤判定の原因となりやすいので、拡大率の上限を規制するのが好ましい。分類器生成部２３は、正規化処理時の拡大率を所定以下にすることで、ノイズ成分の増大が抑制されて誤判定が起こり難くなる。
【００８０】
（欠陥候補抽出部２４の構成）
欠陥候補抽出部２４は、画像入力部２１で入力された検査対象画像の画素値に基づいて、欠陥となり得る欠陥候補箇所を抽出するための部分である。欠陥候補抽出部２４は、セグメント化した平均濃度値に基づいて、周辺と一定以上差分が生じる箇所を欠陥候補箇所として抽出する傷検出処理を行うように構成することができる他、濃度値に基づいた２値化により、濃度値が一定以下／一定以上／あるいは一定の範囲内／範囲外にある箇所を欠陥候補箇所として抽出するブロブ検出処理を行うように構成することができる。傷検出処理及びブロブ検出処理は、深層学習処理に比べて処理負荷が低く、高速な処理が可能である。
【００８１】
傷検出処理の場合、図７に示すように、汚れ２００ｂが含まれている画像が画像入力部２１から入力された場合、欠陥候補抽出部２４は、セグメント化した平均濃度値に基づいて、周辺と一定以上差分が生じる箇所を抽出する処理を行う。この処理によって抽出された箇所が欠陥候補箇所３５０である。欠陥候補箇所３５０を抽出する際に使用される閾値は、最終的に欠陥となり得ない箇所であっても、あやしい箇所を欠陥候補箇所３５０として抽出できるように設定されており、欠陥の抽出漏れが発生しないようにしている。
【００８２】
図８は、打痕２００ａとひび割れ２００ｃが含まれている画像が画像入力部２１から入力された場合を示す図である。欠陥候補抽出部２４は、図７に示す場合と同様に、セグメント化した平均濃度値に基づいて、周辺と一定以上差分が生じる箇所を抽出する処理を行う。この例では、打痕２００ａとひび割れ２００ｃが含まれているので、２つの欠陥候補箇所３５０、３５０が抽出されることになる。
【００８３】
ブロブ検出処理の場合、図９に示すように、異物２００ｅが含まれている画像が画像入力部２１から入力された場合、欠陥候補抽出部２４は、濃度値に基づいた２値化により、濃度値が一定以下／一定以上／あるいは一定の範囲内／範囲外にある箇所を抽出する処理を行う。この処理によって抽出された箇所が欠陥候補箇所３５０である。欠陥候補箇所３５０を抽出する際に使用される閾値は、傷検出処理の場合と同様に、欠陥の抽出漏れが発生しないように設定されている。
【００８４】
（検査ウィンドウ設定部２５の構成）
検査ウィンドウ設定部２５は、傷検出処理やブロブ検出処理によって抽出された欠陥候補箇所３５０を含む領域に検査ウィンドウを設定する部分である。図７に示すように、傷検出処理によって抽出された欠陥候補箇所３５０を囲む外接矩形の検査ウィンドウ３６０を検査ウィンドウ設定部２５が設定する。すなわち、欠陥候補箇所３５０の大きさ及び位置は、欠陥候補抽出部２４から取得することができ、欠陥候補抽出部２４から取得した欠陥候補箇所３５０の大きさ及び位置に基づいて欠陥候補箇所３５０の全てを含むことが可能な矩形の検査ウィンドウ３６０を自動で設定する。検査ウィンドウ３６０の形状は矩形に限られるものではなく、欠陥候補箇所３５０を囲むことができる形状であればよい。また、検査ウィンドウ３６０は、図５に示す欠陥領域ウィンドウ３００を設定するときと同様に、使用者が手動で設定するようにしてもよい。
【００８５】
図８に示すように、２つの欠陥候補箇所３５０、３５０が抽出された場合には、２つの欠陥候補箇所３５０、３５０のそれぞれに検査ウィンドウ３６０が設定される。欠陥候補箇所３５０の数に応じて検査ウィンドウ３６０を設定することができる。尚、欠陥候補箇所３５０が複数抽出された場合であって、それらが互いに接近している場合には、複数の欠陥候補箇所３５０が１つの検査ウィンドウ３６０によって囲まれるように当該検査ウィンドウ３６０を設定してもよい。
【００８６】
図９に示すように、ブロブ検出処理によって抽出された欠陥候補箇所３５０を含む領域に検査ウィンドウ３６０を設定することもできる。
【００８７】
（判定部２６の構成）
判定部２６は、検査ウィンドウ設定部２５により設定された検査ウィンドウ３６０内の画像を分類器生成部２３ａにより生成された分類器に入力することにより、検査対象画像が第１のクラスと第２のクラスのいずれに分類されるかを判定する部分であり、これは運用モード時に行われる。第１のクラスが良品画像クラスであり、第２のクラスが不良品画像クラスである場合には、判定部２６は、良品画像クラスと不良品画像クラスのいずれに分類されるかを判定する。また、第１のクラスが第１欠陥クラスであり、第２のクラスが第２欠陥クラスである場合には、判定部２６は、第１欠陥クラスと第２欠陥クラスのいずれに分類されるかを判定する。
【００８８】
また、上述したように、打痕２００ａ、汚れ２００ｂ、ひび割れ２００ｃ、欠け２００ｄ、異物２００ｅの判別が可能となるように分類器を生成した場合、判定部２６は、欠陥の有無だけでなく、欠陥の種別を判別し、いずれの種別に分類されるかを判定することができる。
【００８９】
以下、判定部２６による判定手順についてフローチャートを参照しながら説明する。図１０は、２クラス判定を行う場合の判定手順を示すフローチャートである。フローチャートの開始後、ステップＳＡ１では、検査対象物の撮像を行う。これは、制御部１３ＡがＣＭＯＳセンサ１４３を制御することによって行うことができ、具体的には図３に示す画像入力部２１が行う。ステップＳＡ２では、欠陥候補抽出部２４がステップＳＡ１で取得された検査対象画像に対して通常検査処理、即ち、傷検査処理またはブロブ検査処理を行い、欠陥候補箇所を抽出する。
【００９０】
ステップＳＡ３では、ステップＳＡ２で抽出された欠陥候補箇所の抽出個数を判定部２６が取得する。これは欠陥候補抽出部２４から取得することができる。ステップＳＡ４ではｉを０にし、その後、ステップＳＡ５に進む。ステップＳＡ５では、ステップＳＡ２で抽出された欠陥候補箇所の抽出個数がｉよりも多いか否かを判定する。ステップＳＡ２で抽出された欠陥候補箇所の抽出個数がｉよりも多ければステップＳＡ６に進む。初回は、ステップＳＡ４でｉが０とされているので、ステップＳＡ２で抽出された欠陥候補箇所の抽出個数がｉよりも少なければ、欠陥候補箇所が０であるということであり、この場合は、ステップＳＡ１１に進み、良品画像であるという判定を確定させる。
【００９１】
ステップＳＡ６では、ｉ番目の欠陥候補箇所に対して、通常検査処理よりも識別能力の高い深層学習処理による検査を実行する。ステップＳＡ７では、深層学習処理による検査結果を取得する。ステップＳＡ８ではｉ＝ｉ＋１を実行し、その後、ステップＳＡ９に進む。ステップＳＡ９では、ステップＳＡ７で取得した判定結果が不良品であるか否かを判定する。ステップＳＡ９で不良品であると判定されれば、ステップＳＡ１０に進み、不良品画像であるという判定を確定させる。一方、ステップＳＡ９でＮＯと判定されれば、ステップＳＡ５に進み、ステップＳＡ２で抽出された欠陥候補箇所の抽出個数がｉよりも多いか否かを判定する。ＮＯと判定されれば、ステップＳＡ１１に進み、良品画像であるという判定を確定させる。ステップＳＡ５でＹＥＳと判定されれば、ステップＳＡ６に進み、上述した手順を繰り返す。これにより、良品画像クラスと不良品画像クラスの２クラスの分類が可能になる。
【００９２】
尚、良品画像クラスと不良品画像クラスではなく、第１欠陥クラスと第２欠陥クラスの２クラスの分類も同様に可能である。
【００９３】
図１１は、多クラス判定を行う場合の判定手順を示すフローチャートである。このフローチャートでは欠陥種別を判定することが可能な分類器を使用する。フローチャートの開始前に、使用者が不良品と判定したい欠陥種別を設定しておく。設定時、例えば、打痕２００ａ、ひび割れ２００ｃ、欠け２００ｄ、異物２００ｅを不良品とし、汚れ２００ｂを良品とすることができる。
【００９４】
フローチャートの開始後、ステップＳＢ１〜ＳＢ６は、図１０に示すフローチャートのステップＳＡ１〜ＳＡ６と同じであるが、ステップＳＢ６の深層学習処理では、欠陥の有無だけでなく、欠陥の種別を判別する。
【００９５】
図１１に示すフローチャートのステップＳＢ７では、ステップＳＢ６の深層学習処理による検査結果を取得する。ステップＳＢ６では欠陥の種別を判別しているので、ステップＳＢ７において欠陥の種別を取得することができる。ステップＳＢ８では、ｉ＝ｉ＋１を実行し、その後、ステップＳＢ９に進む。ステップＳＢ９では、ステップＳＢ７で取得された欠陥種別が、予め設定された不良品として判定したい欠陥種別であるか否かを判定する。ステップＳＢ９でＹＥＳと判定されて、ステップＳＢ７で取得された欠陥種別が、予め設定された不良品として判定したい欠陥種別である場合には、ステップＳＢ１０に進み、不良品画像であるという判定を確定させる。一方、ステップＳＢ９でＮＯと判定された場合には、ステップＳＢ５に進み、ステップＳＢ２で抽出された欠陥候補箇所の抽出個数がｉよりも多いか否かを判定する。ＮＯと判定されれば、ステップＳＢ１１に進み、良品画像であるという判定を確定させる。ステップＳＢ５でＹＥＳと判定されれば、ステップＳＢ６に進み、上述した手順を繰り返す。つまり、抽出された欠陥ごとにその欠陥種別が不良品として判定したい欠陥種別であるか否かを判定することができ、不良品として判定したい欠陥種別が１つでもあれば、その時点で不良品画像であるという判定を確定させることができる。
【００９６】
図１２は、明らかな不良品を通常検査処理で判定し、残りを深層学習処理で判定する場合の判定手順を示すフローチャートである。フローチャートの開始後、ステップＳＣ１〜ＳＣ５は、図１０に示すフローチャートのステップＳＡ１〜ＳＡ５と同じである。図１２に示すフローチャートのステップＳＣ６では、ｉ番目の欠陥候補箇所の結果が明らかに不良品であるか否かを判定する。例えば、通常検査処理において、欠陥候補箇所が抽出されたとき、欠陥候補箇所が欠陥となる判定閾値を大幅に超えている場合には、当該欠陥候補箇所は明らかに欠陥になる箇所である。よって、欠陥となる判定閾値を基準にして、明らかに不良品になるか否かを判定することができる。これ以外の手法により、明らかに不良品になるか否かを判定するように構成してもよい。
【００９７】
ステップＳＣ６でＹＥＳと判定されてｉ番目の欠陥候補箇所の結果が明らかに不良品である場合にはステップＳＣ１１に進み、不良品画像であるという判定を確定させる。一方、ステップＳＣ６でＮＯと判定されてｉ番目の欠陥候補箇所の結果が明らかに不良品であると判定できない場合には、ステップＳＣ７に進み、ｉ番目の欠陥候補箇所に対して、通常検査処理よりも識別能力の高い深層学習処理による検査を実行する。ステップＳＣ８では、深層学習処理による検査結果を取得する。ステップＳＣ９ではｉ＝ｉ＋１を実行し、その後、ステップＳＣ１０に進む。ステップＳＣ１０では、ステップＳＣ８で取得した結果が不良品であるか否かを判定する。ステップＳＣ１０で不良品であると判定されれば、ステップＳＣ１１に進み、不良品画像であるという判定を確定させる。一方、ステップＳＣ１０でＮＯと判定されれば、ステップＳＣ５に進み、ステップＳＣ２で抽出された欠陥候補箇所の抽出個数がｉよりも多いか否かを判定する。ＮＯと判定されれば、ステップＳＣ１２に進み、良品画像であるという判定を確定させる。ステップＳＣ５でＹＥＳと判定されれば、ステップＳＣ６に進み、上述した手順を繰り返す。
【００９８】
（画像検査装置１への組み込み例）
図１３は、通常検査処理と深層学習処理を画像検査装置１に組み込む場合の例を示す図である。符号４００は、汎用的な画像検査装置１に構築される画像処理手順を示したユーザーインターフェースであり、表示装置４に表示される。
【００９９】
汎用的な画像検査装置１に通常検査処理と深層学習処理を組み込む場合、欠陥検出を行う既存の画像処理ユニット（通常検査処理）を「位置補正元」に設定し、「位置補正先」に深層学習処理を用いた判別ユニットを設定する。この場合、まず、ユーザーインターフェース４００の位置補正ユニット４０１を選択する。位置補正ユニット４０１を選択すると、位置補正元設定用ユーザーインターフェース４０２と、位置補正先設定用ユーザーインターフェース４０３とが表示される。位置補正元設定用ユーザーインターフェース４０２では、位置補正元として傷検出処理ユニットまたはブロブ検出処理ユニットを設定することができる。位置補正先設定用ユーザーインターフェース４０３では、深層学習処理ユニットを設定することができる。この設定により、深層学習処理ユニットの処理領域が、傷検出処理ユニットまたはブロブ検出処理ユニットにて検出された位置に追従するようになる。
【０１００】
図１４は、「計測」のカテゴリーに属するユニットを一覧表示する計測ユニット表示用ユーザーインターフェース４１０を示すものである。計測ユニット表示用ユーザーインターフェース４１０の中に、欠陥候補箇所を抽出する「傷」ユニット４１１と、深層学習処理を行う「判別」ユニット４１２とを表示させることができる。
【０１０１】
図１５は、「制御」のカテゴリーに属する複数のユニットを一覧表示する制御ユニット表示用ユーザーインターフェース４２０を示すものである。「制御」のカテゴリーには、「繰り返し」ユニット４２１が属しており、図１４に示す「傷」ユニットにて抽出された個数分、深層学習処理を用いた判別処理を行うことで、「傷」ユニットにて抽出した個数分、深層学習処理を走らせるようにフローを組むことができる。
【０１０２】
図１６は、「位置補正」のカテゴリーに属するユニットを表示する位置補正ユニット表示用ユーザーインターフェース４３０を示すものである。「位置補正」ユニット４３１については、「位置補正」のカテゴリーから選択することが可能であり、上述したように位置補正先に深層学習処理を用いる「判別」ユニットを設定することで、既存の画像処理の検出位置に基づいて、深層学習処理を行うことができる。
【０１０３】
（実施形態の作用効果）
以上説明したように、この実施形態に係る画像検査装置１によれば、各種設定を行う設定モード時に、検査対象物を含んだ画像をニューラルネットワークの入力層に複数入力することで、検査対象画像を複数のクラスに分類する分類器を生成することができる。画像検査装置１の運用モード時には、検査対象物を撮像して取得された検査対象画像が欠陥候補抽出部２４に入力されると、検査対象画像の画素値に基づいて欠陥候補箇所が抽出される。欠陥候補箇所を抽出する際は、例えば、セグメント化した平均濃度値に基づいて、周辺と一定以上差分が生じる箇所を欠陥候補箇所としてもよいし、濃度値に基づいた２値化により、濃度値が一定以下／一定以上／あるいは一定の範囲内／範囲外にある箇所を欠陥候補箇所としてもよく、いずれも一般的な通常検査処理であることから、高速な処理が可能である。
【０１０４】
欠陥候補箇所が抽出されると、欠陥候補箇所を含む領域に検査ウィンドウが設定され、この検査ウィンドウ内の画像が前記分類器に入力されるので、深層学習処理は検査対象画像の一部にのみ限定的になされる。よって、検査処理の高速性が担保される。また、分類器の出力結果に基づいて、検査対象画像がどのクラスに分類されるかが判定されるので、複雑な判別であっても対応することが可能になる。
【０１０５】
したがって、欠陥がありそうな候補箇所を通常検査処理によって高速に抽出することができ、抽出された候補箇所に限定して処理負荷の高い深層学習処理を適用して複雑な判別への対応力を高めることができる。
【０１０６】
上述の実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内のものである。
【産業上の利用可能性】
【０１０７】
以上説明したように、本発明に係る画像検査装置は、検査対象物を撮像して取得された検査対象画像に基づいて検査対象物の分類を行う場合に利用することができる。
【符号の説明】
【０１０８】
１                画像検査装置
２              制御ユニット
４              表示装置
１３Ａ          制御部
１４            カメラモジュール
１５            照明モジュール
２１            画像入力部
２２            通常検査設定部
２３            深層学習設定部
２３ａ          分類器生成部
２４            欠陥候補抽出部
２５            検査ウィンドウ設定部
２６            判定部
【図１】
2020187657.tif 000003
【図２】
2020187657.tif 000004
【図３】
2020187657.tif 000005
【図４】
2020187657.tif 000006
【図５】
2020187657.tif 000007
【図６】
2020187657.tif 000008
【図７】
2020187657.tif 000009
【図８】
2020187657.tif 000010
【図９】
2020187657.tif 000011
【図１０】
2020187657.tif 000012
【図１１】
2020187657.tif 000013
【図１２】
2020187657.tif 000014
【図１３】
2020187657.tif 000015
【図１４】
2020187657.tif 000016
【図１５】
2020187657.tif 000017
【図１６】
2020187657.tif 000018