(57)【要約】【課題】検査対象の製品から取得した検査用の画像において欠点サイズが極めて小さい場合であっても高精度に欠点を検出することができる欠点検査装置、欠点検査方法、検査プログラム、学習装置、および学習済みモデルを提供する。【解決手段】検査用の画像が画素の欠点を含む画像からなる第１画像群と欠点を含まない画像からなる第２画像群とを用いた機械学習によって生成され、画像に含まれる欠点のみを修復するための学習済みモデルに対して入力画像のデータを入力して学習済みモデルに基づく演算を行うことによって出力画像のデータを出力する画像処理部と、入力画像と出力画像との対応する領域を比較することによって両画像の差異を定量化した差異情報を算出する算出部と、算出部が算出した差異情報に基づいて、入力画像が前記欠点を含むか否かを判定する判定部と、を備える。【選択図】図２
2020135051.tif 000002
【特許請求の範囲】
【請求項１】
検査用の画像が画素の欠点を含むか否かを判定する欠点検査装置であって、
前記欠点を含む画像からなる第１画像群と前記欠点を含まない画像からなる第２画像群とを用いた機械学習によって生成され、画像に含まれる前記欠点のみを修復するための学習済みモデルに対して入力画像のデータを入力して前記学習済みモデルに基づく演算を行うことによって出力画像のデータを出力する画像処理部と、
前記入力画像と前記出力画像との対応する領域を比較することによって両画像の差異を定量化した差異情報を算出する算出部と、
前記算出部が算出した差異情報に基づいて、前記入力画像が前記欠点を含むか否かを判定する判定部と、
を備える欠点検査装置。
【請求項２】
前記第１画像群に含まれる第１画像と、前記第２画像群に含まれる画像であって前記第１画像と対応する領域の画像である第２画像とを取得し、前記第１画像および前記第２画像に対する前記差異情報を算出し、算出結果に応じて学習済みモデルが有するパラメータ群を逐次最適化する処理を繰り返す学習部をさらに備える請求項１に記載の欠点検査装置。
【請求項３】
前記画像処理部、前記算出部および前記判定部を動作させる検査モードと、前記学習部を動作させる学習モードとを切り替え可能である請求項２に記載の欠点検査装置。
【請求項４】
前記算出部は、前記差異情報を画素ごとに算出し、
前記判定部は、前記算出部の算出結果に基づいて欠点の位置を判定する請求項１〜３のいずれか一項に記載の欠点検査装置。
【請求項５】
前記差異情報に基づいて前記入力画像が有する欠点の種類を分類する分類部をさらに備える請求項１〜４のいずれか一項に記載の欠点検査装置。
【請求項６】
前記学習済みモデルが出力する出力画像のデータは、前記欠点以外の部分が前記入力画像のデータと同一である請求項１〜５のいずれか一項に記載の欠点検査装置。
【請求項７】
前記差異情報に基づいて欠点のみを抽出した欠点抽出画像のデータを生成する欠点抽出画像生成部をさらに備える請求項１〜６のいずれか一項に記載の欠点検査装置。
【請求項８】
前記判定部の判定結果、前記入力画像、前記出力画像および前記欠点抽出画像からなる群より選ばれる１つ以上を表示部に表示させる表示制御部をさらに備える請求項７に記載の欠点検査装置。
【請求項９】
前記学習済みモデルは、
前記入力画像のデータが入力される入力層と、
前記入力層が出力する信号が入力され、多層構造を有する中間層と、
前記中間層が出力する信号が入力され、前記出力画像のデータを出力する出力層と、を有し、
各層が一または複数のノードを有するニューラルネットワークからなる請求項１〜８のいずれか一項に記載の欠点検査装置。
【請求項１０】
前記第１画像群および前記第２画像群がそれぞれ有する画像のデータは量子化されており、
前記画像処理部は、
前記入力画像のデータを量子化してから前記学習済みモデルに入力する請求項１〜９のいずれか一項に記載の欠点検査装置。
【請求項１１】
前記量子化は２値化である請求項１０に記載の欠点検査装置。
【請求項１２】
前記学習済みモデルは、前記第１画像群および前記第２画像群がそれぞれ有する画像のデータを量子化した第１量子化画像群および第２量子化画像群をさらに用いた機械学習によって生成されたものであり、
前記入力層は、前記入力画像を量子化したデータをさらに入力し、
前記出力層は、前記出力画像を量子化したデータをさらに出力する請求項９に記載の欠点検査装置。
【請求項１３】
前記ニューラルネットワークは、
前記中間層が全結合層およびプーリング層を有しないタイプの畳み込みニューラルネットワークである請求項９または１２に記載の欠点検査装置。
【請求項１４】
前記ニューラルネットワークは、バイパス経路を備える請求項１３に記載の欠点検査装置。
【請求項１５】
検査用の画像が画素の欠点を含むか否かを判定する欠点検査装置が行う欠点検査方法であって、
前記欠点を含む画像からなる第１画像群と前記欠点を含まない画像からなる第２画像群とを用いた機械学習によって生成され、画像に含まれる前記欠点のみを修復するための学習済みモデルに対して入力画像のデータを入力して前記学習済みモデルに基づく演算を行うことによって出力画像のデータを出力する画像処理ステップと、
前記入力画像と前記出力画像との対応する領域を比較することによって両画像の差異を定量化した差異情報を算出する算出ステップと、
前記算出ステップで算出した差異情報を記憶部から読み出して、前記入力画像が前記欠点を含むか否かを判定する判定ステップと、
を含む欠点検査方法。
【請求項１６】
検査用の画像が画素の欠点を含むか否かを判定する欠点検査装置に、
前記欠点を含む画像からなる第１画像群と前記欠点を含まない画像からなる第２画像群とを用いた機械学習によって生成され、画像に含まれる前記欠点のみを修復するための学習済みモデルに対して入力画像のデータを入力して前記学習済みモデルに基づく演算を行うことによって出力画像のデータを出力する画像処理ステップと、
前記入力画像と前記出力画像との対応する領域を比較することによって両画像の差異を定量化した差異情報を算出する算出ステップと、
前記算出ステップで算出した差異情報に基づいて、前記入力画像が前記欠点を含むか否かを判定する判定ステップと、
を実行させる欠点検査プログラム。
【請求項１７】
画像から画素の欠点のみを修復した画像のデータを出力するよう、コンピュータを機能させるための学習済みモデルを生成する学習装置であって、
前記欠点を含む画像からなる第１画像群に含まれる第１画像と、前記欠点を含まない第２画像群に含まれる画像であって前記第１画像と対応する領域の画像である第２画像とを取得し、前記第１画像と前記第２画像との差異を定量化した差異情報を算出し、算出結果に応じて学習済みモデルが有するパラメータ群を逐次最適化する処理を繰り返す学習部
を備える学習装置。
【請求項１８】
入力画像のデータが入力される入力層と、
前記入力層が出力する信号が入力され、多層構造を有する中間層と、
前記中間層が出力する信号が入力され、前記入力画像の欠点のみを修復した出力画像のデータを出力する出力層と、
を有し、
各層が一または複数のノードからなるニューラルネットワークであって前記中間層が全結合層およびプーリング層を有しないタイプの畳み込みニューラルネットワークから構成され、
前記入力画像のデータを前記入力層に入力し、前記ニューラルネットワークのネットワークパラメータであって学習済みのネットワークパラメータに基づく演算を行い、前記出力層から前記出力画像のデータを出力するよう、コンピュータを機能させるための学習済みモデル。
【請求項１９】
前記入力層は、前記入力画像を量子化したデータがさらに入力され、
前記出力層は、前記出力画像を量子化したデータをさらに出力する請求項１８に記載の学習済みモデル。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、欠点検査装置、欠点検査方法、欠点検査プログラム、学習装置および学習済みモデルに関する。
【背景技術】
【０００２】
製品の外観等の検査を行う方法は、（１）目視による方法、（２）外観上の欠点部を強調し、大きさ、形等の特徴量から欠点部を抽出する画像処理アルゴリズムによる方法、（３）あらかじめ設定した正常サンプルとの比較による方法、および（４）機械学習を用いる方法に大別することができる。
【０００３】
このうち、上記（１）には、高感度であるものの、検査を行う人手がかかるという課題や、検査を行う人やその体調等によって、検査感度が異なるという課題がある。
【０００４】
上記（２）には、検出対象の特徴を明確に定義できない場合にアルゴリズムを設計することが困難であるという課題がある。また、上記（２）には、欠点の特徴を明確に定義できたとしてもアルゴリズムの設計に熟練技術者のスキルが必要になり、開発に時間を要するという課題がある。さらに、上記（２）には、製品の形状や構造が複雑な場合、欠点部分のみを抽出することが困難であるという課題もある。
【０００５】
上記（３）には、製品の形状や構造が複雑な場合にも対応可能であるものの、検査対象が複数ある場合には、対応する製品の正常画像全てに対して比較計算を実施する必要があるために計算コストが増加するという課題がある。また、上記（３）には、正常画像と異常画像との差異が色味の違いや寸法の差異等に起因しており、異常画像が必ずしも欠点画像を示すわけではないという課題がある。
【０００６】
このような状況のもと、上記（４）の機械学習を用いた方法が注目されている。この方法によれば、検出対象の特徴を明確に定義できない場合であっても、学習によってその特徴を獲得することができる。このため、検査対象画像を準備さえすればよく、検査対象ごとに１からアルゴリズムを設計する必要がないという利点も有している。
【０００７】
機械学習を用いた異常検出方法として、画像上の照明変化、回転、拡大縮小に対してそれぞれ不変な局所特徴量を取得し、これらの局所特徴量に対して機械学習を用いることによって異常検出を行い、異常と判別された局所特徴量を持つ画像に対して欠点を検出する方法が提案されている（例えば、特許文献１を参照）。
【０００８】
また、機械学習を用いた画像の検査方法として、特徴量として計算したＺスコアおよび同時確率を用いることにより、機械学習で生成した良品の画像のモデルの負担率（そのモデルに分類される期待値）を計算し、この負担率を重みとする重み付け画素平均値と重み付け画素分散値を用いて欠点を検出する方法が提案されている（例えば、特許文献２を参照）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１６−１１０２９０号公報
【特許文献２】特開２０１７−１６７６２４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、上述した特許文献１の技術では、欠点を検出する検査用の画像のうち、検査対象となる画像が複数の種類の微細なパターンで、かつ発生する欠点サイズが極めて小さい場合、もしくは製品の微細パターンの形状が検査対象である場合には、欠点の発生する領域において取得した微細パターンにおける局所特徴量の差異が小さく、欠点の検出精度が低下してしまうことがある。
【００１１】
また、上述した特許文献２の技術では、良品の画像のモデルの負担率を重みとする重み付け画素平均値と重み付け画素分散値に対する微細な欠点の影響が小さいため、欠点の検出精度が十分に高いとはいい難かった。
【００１２】
本発明は、上記を鑑みてなされたものであって、検査対象の製品から取得した検査用の画像において欠点サイズが極めて小さい場合であっても高精度に欠点を検出することができる欠点検査装置、欠点検査方法、検査プログラム、学習装置、および学習済みモデルを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本発明の欠点検査装置は、検査用の画像が画素の欠点を含むか否かを判定する欠点検査装置であって、前記欠点を含む画像からなる第１画像群と前記欠点を含まない画像からなる第２画像群とを用いた機械学習によって生成され、画像に含まれる前記欠点のみを修復するための学習済みモデルに対して入力画像のデータを入力して前記学習済みモデルに基づく演算を行うことによって出力画像のデータを出力する画像処理部と、前記入力画像と前記出力画像との対応する領域を比較することによって両画像の差異を定量化した差異情報を算出する算出部と、前記算出部が算出した差異情報に基づいて、前記入力画像が前記欠点を含むか否かを判定する判定部と、を備える。
【００１４】
また、本発明の欠点検査装置は、上記発明において、前記第１画像群に含まれる第１画像と、前記第２画像群に含まれる画像であって前記第１画像と対応する領域の画像である第２画像とを取得し、前記第１画像および前記第２画像に対する前記差異情報を算出し、算出結果に応じて学習済みモデルが有するパラメータ群を逐次最適化する処理を繰り返す学習部をさらに備える。
【００１５】
また、本発明の欠点検査装置は、上記発明において、前記画像処理部、前記算出部および前記判定部を動作させる検査モードと、前記学習部を動作させる学習モードとを切り替え可能である。
【００１６】
また、本発明の欠点検査装置は、上記発明において、前記算出部は、前記差異情報を画素ごとに算出し、前記判定部は、前記算出部の算出結果に基づいて欠点の位置を判定する。
【００１７】
また、本発明の欠点検査装置は、上記発明において、前記差異情報に基づいて前記入力画像が有する欠点の種類を分類する分類部をさらに備える。
【００１８】
また、本発明の欠点検査装置は、上記発明において、前記学習済みモデルが出力する出力画像のデータが、前記欠点以外の部分が前記入力画像のデータと同一である。
【００１９】
また、本発明の欠点検査装置は、上記発明において、前記差異情報に基づいて欠点のみを抽出した欠点抽出画像のデータを生成する欠点抽出画像生成部をさらに備える。
【００２０】
また、本発明の欠点検査装置は、上記発明において、前記判定部の判定結果、前記入力画像、前記出力画像および前記欠点抽出画像からなる群より選ばれる１つ以上を表示部に表示させる表示制御部をさらに備える。
【００２１】
また、本発明の欠点検査装置は、上記発明において、前記学習済みモデルは、前記入力画像のデータが入力される入力層と、前記入力層が出力する信号が入力され、多層構造を有する中間層と、前記中間層が出力する信号が入力され、前記出力画像のデータを出力する出力層と、を有し、各層が一または複数のノードを有するニューラルネットワークからなる。
【００２２】
また、本発明の欠点検査装置は、上記発明において、前記第１画像群および前記第２画像群がそれぞれ有する画像のデータは量子化されており、前記画像処理部は、前記入力画像のデータを量子化してから前記学習済みモデルに入力する。
【００２３】
また、本発明の欠点検査装置は、上記発明において、前記量子化は２値化である。
【００２４】
また、本発明の欠点検査装置は、上記発明において、前記学習済みモデルは、前記第１画像群および前記第２画像群がそれぞれ有する画像のデータを量子化した第１量子化画像群および第２量子化画像群をさらに用いた機械学習によって生成されたものであり、前記入力層は、前記入力画像を量子化したデータをさらに入力し、前記出力層は、前記出力画像を量子化したデータをさらに出力する。
【００２５】
また、本発明の欠点検査装置は、上記発明において、前記ニューラルネットワークが、前記中間層が全結合層およびプーリング層を有しないタイプの畳み込みニューラルネットワークである。
【００２６】
また、本発明の欠点検査装置は、上記発明において、前記ニューラルネットワークが、バイパス経路を備える。
【００２７】
本発明の欠点検査方法は、検査用の画像が画素の欠点を含むか否かを判定する欠点検査装置が行う欠点検査方法であって、前記欠点を含む画像からなる第１画像群と前記欠点を含まない画像からなる第２画像群とを用いた機械学習によって生成され、画像に含まれる前記欠点のみを修復するための学習済みモデルに対して入力画像のデータを入力して前記学習済みモデルに基づく演算を行うことによって出力画像のデータを出力する画像処理ステップと、前記入力画像と前記出力画像との対応する領域を比較することによって両画像の差異を定量化した差異情報を算出する算出ステップと、前記算出ステップで算出した差異情報を記憶部から読み出して、前記入力画像が前記欠点を含むか否かを判定する判定ステップと、を含む。
【００２８】
本発明の欠点検査プログラムは、検査用の画像が画素の欠点を含むか否かを判定する欠点検査装置に、前記欠点を含む画像からなる第１画像群と前記欠点を含まない画像からなる第２画像群とを用いた機械学習によって生成され、画像に含まれる前記欠点のみを修復するための学習済みモデルに対して入力画像のデータを入力して前記学習済みモデルに基づく演算を行うことによって出力画像のデータを出力する画像処理ステップと、前記入力画像と前記出力画像との対応する領域を比較することによって両画像の差異を定量化した差異情報を算出する算出ステップと、前記算出ステップで算出した差異情報に基づいて、前記入力画像が前記欠点を含むか否かを判定する判定ステップと、を実行させる。
【００２９】
本発明の学習装置は、画像から画素の欠点のみを修復した画像のデータを出力するよう、コンピュータを機能させるための学習済みモデルを生成する学習装置であって、前記欠点を含む画像からなる第１画像群に含まれる第１画像と、前記欠点を含まない第２画像群に含まれる画像であって前記第１画像と対応する領域の画像である第２画像とを取得し、前記第１画像と前記第２画像との差異を定量化した差異情報を算出し、算出結果に応じて学習済みモデルが有するパラメータ群を逐次最適化する処理を繰り返す学習部を備える。
【００３０】
本発明の学習済みモデルは、入力画像のデータが入力される入力層と、前記入力層が出力する信号が入力され、多層構造を有する中間層と、前記中間層が出力する信号が入力され、前記入力画像の欠点のみを修復した出力画像のデータを出力する出力層と、を有し、各層が一または複数のノードからなるニューラルネットワークであって前記中間層が全結合層およびプーリング層を有しないタイプの畳み込みニューラルネットワークから構成され、前記入力画像のデータを前記入力層に入力し、前記ニューラルネットワークのネットワークパラメータであって学習済みのネットワークパラメータに基づく演算を行い、前記出力層から前記出力画像のデータを出力するよう、コンピュータを機能させる。
【００３１】
本発明の学習済みモデルは、上記発明において、前記入力層は、前記入力画像を量子化したデータがさらに入力され、前記出力層は、前記出力画像を量子化したデータをさらに出力する。
【００３２】
なお、本発明における「修復」とは、正常な製品の画像、すなわち正常画像に付着や欠け等の欠点が存在する画像、すなわち欠点画像において、欠点部を除去し、正常画像を作成するのこと、を意味するものである。
【発明の効果】
【００３３】
本発明によれば、検査対象の製品から取得した検査用の画像において欠点サイズが極めて小さい場合であっても高精度に欠点を検出することができる。
【図面の簡単な説明】
【００３４】
【図１】図１は、実施の形態１に係る欠点検査システムの全体構成を示す図である。
【図２】図２は、実施の形態１に係る欠点検査システムの機能構成を示すブロック図である。
【図３】図３は、実施の形態１に係る欠点検査装置が用いる畳み込みニューラルネットワークの概要を示す図である。
【図４】図４は、実施の形態１に係る欠点検査装置が行う処理の概要を示すフローチャートである。
【図５】図５は、実施の形態１に係る欠点検査装置の具体的な処理フローを模式的に示す図である。
【図６】図６は、実施の形態２に係る欠点検査装置の具体的な処理フローを模式的に示す図である。
【図７】図７は、実施の形態３に係る欠点検査装置が行う具体的な処理フローを模式的に示す図である。
【図８】図８は、実施の形態４に係る欠点検査システムの機能構成を示すブロック図である。
【図９】図９は、実施の形態４に係る欠点検査装置が行う処理の概要を示すフローチャートである。
【図１０】図１０は、実施の形態４の変形例に係る欠点検査装置が行う処理の概要を示すフローチャートである。
【発明を実施するための形態】
【００３５】
以下に、本発明を実施するための形態（以下、「実施の形態」という）を図面に基づいて詳細に説明する。なお、以下に説明する実施の形態によって本発明が限定されるものではない。
【００３６】
（実施の形態１）
図１は、実施の形態１に係る欠点検査システムの全体構成を示す図である。図２は、実施の形態１に係る欠点検査システムの機能構成を示すブロック図である。これらの図に示す欠点検査システム１は、搬送路Ｌで搬送される製品Ｐの画像データを取得するデータ取得装置２と、データ取得装置２が取得した画像データをもとに欠点検査を行う欠点検査装置３と、欠点検査装置３の欠点検査結果を表示する表示装置４とを備える。なお、図１では、データ取得装置２が搬送路Ｌの鉛直上方から製品Ｐの画像データを取得する状況を模式的に示している。
【００３７】
データ取得装置２は、撮像装置を有し、欠点検査装置３と電気的に接続されている。撮像装置は、ＣＣＤ（Charge  Coupled  Device）イメージセンサまたはＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）イメージセンサ等の固体撮像素子を用いて構成される。
【００３８】
欠点検査装置３は、データ取得部３１、画像処理部３２、算出部３３、判定部３４、制御部３５、および記憶部３６を有する。欠点検査装置３は、データ取得装置２および表示装置４と電気的に接続されている。
【００３９】
データ取得部３１は、データ取得装置２から送られてくる画像データ等のデータを取得し、記憶部３６に出力して記憶させる。
【００４０】
画像処理部３２は、画像に含まれる欠点のみを修復するための学習済みモデルに入力画像のデータを入力し、学習済みモデルに基づく演算を行うことによって出力画像のデータを出力する。学習済みモデルは、欠点を含む画像からなる第１画像群と、欠点を含まない画像からなる第２画像群とを用いた機械学習によってあらかじめ生成されたものである。ここで用いる機械学習としては、例えば畳み込みニューラルネットワークを用いた深層学習を挙げることができる。学習済みモデルにおけるネットワークパラメータ等の情報は、記憶部３６に格納されている。
【００４１】
図３は、畳み込みニューラルネットワークの概要を示す図である。同図に示す畳み込みニューラルネットワーク（以下、ＣＮＮという）１００は、入力層１０１、中間層１０２、および出力層１０３を有する。中間層１０２は、畳み込み層１２１、バッチ正規化層１２２、および活性化関数１２３からなる組を複数有しており、各畳み込み層１２１の出力側にバッチ正規化層１２２が設けられている。中間層１０２は、全結合層およびプーリング層を有していない。また、ＣＮＮ１００は、入力層１０１から中間層１０２を経由しないバイパス経路を有する。出力層１０３には、中間層１０２の出力とバイパス経路を経由した入力層１０１の出力の和が入力される。
【００４２】
ＣＮＮ１００において、入力層１０１と出力層１０３の次元は同一である必要がある。すなわち、ＣＮＮ１００に入力する入力画像のデータとＣＮＮ１００が出力する出力画像のデータは、幅、高さ、チャネル数がそれぞれ同一である必要がある。ここで、チャネル数とは、画像の奥行き方向の次元数のことであり、例えばグレースケール画像の場合は１であり、ＲＧＢのカラー画像の場合は３である。入力層１０１と出力層１０３の次元が同一である必要がある理由は、算出部３３が入力画像と出力画像の比較を実施する際に、画像データ間で対応する画素が存在せずに比較処理を実施できない状況を回避するためである。
【００４３】
ＣＮＮ１００は、畳み込み層１２１において外部のゼロ埋め等を実施することにより、中間層１０２における特徴量マップの次元を削減しなくてもよい。また、活性化関数１２３として、例えばＲｅｌｕを挙げることができる。
【００４４】
画像処理部３２がＣＮＮ１００を用いた演算を行うことにより、次元の削減を抑えて微細な特徴を劣化させることなく、入力画像に対応する正常画像のデータを作成することができる。すなわち、画像処理部３２がＣＮＮ１００を用いた演算を行うことにより、入力画像に欠点が含まれている場合、その欠点のみを修復した出力画像を得ることができる。入力画像に欠点が全く含まれていない場合、画像処理部３２がＣＮＮ１００を用いた演算を行うと、入力画像がそのまま出力される。
【００４５】
算出部３３は、入力画像と出力画像との対応する領域を比較することによって両画像の差異を定量化した差異情報を算出する。算出部３３が実施する比較演算として、例えば２つの画像データ間の差異を比較する一般的な方法であるＳＳＤ（Sum  of  Squared  Difference）またはＳＡＤ（Sum  of  Absolute  Difference）等を用いることが可能である。算出部３３は、入力画像と出力画像の画素ごとの輝度値の差分により差分画像のデータを作成する。これにより、検査画像に局所的に発生する微細な欠点を検出することができる。
【００４６】
算出部３３は、検出対象の欠点の種類に応じて差異情報を算出する。例えば、検出対象が明欠点（周囲に比べて輝度値が高い欠点）である場合、算出部３３は、出力画像の輝度値から入力画像の輝度値を減算することによって差分画像のデータを生成し、そのデータにおいて輝度値が所定の閾値以上である画素数を計測する。この場合、算出部３３は、輝度値が閾値以上である画素のうち隣接する画素数の総和、すなわち、欠点部の大きさに相当する情報を差異情報として用いる。
【００４７】
また、検出対象が暗欠点（周囲に比べて輝度値が低い欠点）である場合、算出部３３は、画素ごとに入力画像の輝度値から出力画像の輝度値を減算して差分画像のデータを生成し、そのデータにおいて輝度値が正でかつその輝度値が所定の閾値（上記閾値とは異なる）を超えている画素を抽出する。これにより、暗欠点のみを高精度に抽出することが可能となる。
【００４８】
判定部３４は、算出部３３が算出した評価値を、あらかじめ定めた基準値と比較することにより、入力画像に欠点が含まれるか否かを判定する。基準値の設定方法は、例えば人為的に設定する方法や、自動的に設定する方法が考えられる。
【００４９】
基準値を人為的に設定する方法は、欠点の検出規格が明確な場合において、例えば欠点の画総数の閾値を１と設定することで、１画素以上の微細な欠点検出が可能となる。また、例えば画像上での連結成分の面積の基準値を１０とすることで、ノイズの影響に頑健な欠点検出が可能となる。
【００５０】
一方、基準値を自動的に設定する方法では、あらかじめ複数の入力画像群から取得した出力画像群との比較による評価値群の統計量を用いる。統計量として、例えば標準偏差や最大値等を用いることができる。
【００５１】
制御部３５は、欠点検査システム１の動作を統括して制御する。制御部３５は、算出部３３が生成した差分画像や判定部３４の判定結果を表示装置４に表示させる表示制御部３７を有する。表示制御部３７は、欠点種別ごとに複数の差分画像を表示装置４に表示させたり、欠点の位置情報を元画像に重畳して表示装置４に表示させたり、欠点の周辺画素のみを拡大した画像を表示装置４に表示させたりすることも可能である。
【００５２】
記憶部３６は、欠点検査装置３を動作させるための各種プログラム、および欠点検査装置３の動作に必要な各種パラメータ等を含むデータを記憶する。各種プログラムには、画像処理部３２が演算を実行する学習済みモデルも含まれる。記憶部３６は、各種プログラム等があらかじめインストールされたＲＯＭ（Read  Only  Memory）、および各処理の演算パラメータやデータ等を記憶するＲＡＭ（Random  Access  Memory）、ＨＤＤ（Hard  Disk  Drive）、ＳＳＤ（Solid  State  Drive）等を用いて構成される。
【００５３】
各種プログラムは、ＨＤＤ、フラッシュメモリ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、Ｂｌｕ−ｒａｙ（登録商標）等のコンピュータ読み取り可能な記録媒体に記録して広く流通させることも可能である。また、データ取得部３１が、通信ネットワークを介して各種プログラム取得することも可能である。ここでいう通信ネットワークは、例えば既存の公衆回線網、ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等によって実現されるものであり、有線、無線を問わない。
【００５４】
以上の機能構成を有する欠点検査装置３は、ＣＰＵ（Central  Processing  Unit）、ＧＰＵ（Graphics  Processing  Unit）、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）等の１または複数のハードウェアを用いて構成される。
【００５５】
表示装置４は、液晶または有機ＥＬ（Electro  Luminescence）からなるディスプレイであり、欠点検査装置３と電気的に接続されている。表示装置４は、表示制御部３７の制御のもとで欠点検査装置３から出力される表示用データを取得して表示する。
【００５６】
図４は、欠点検査装置３が行う処理の概要を示すフローチャートである。まず、データ取得部３１がデータ取得装置２から画像のデータを取得する（ステップＳ１）。
【００５７】
続いて、画像処理部３２が、学習済みモデルを用いて演算を行うことによって画像処理を実施する（ステップＳ２）。具体的には、画像処理部３２は、ＣＮＮ１００に入力画像のデータを入力して演算を行うことにより、出力画像のデータを出力する。
【００５８】
この後、算出部３３は、入力画像と出力画像との対応する領域を比較することによって両画像の差異を定量化した差異情報を算出する（ステップＳ３）。
【００５９】
続いて、判定部３４は、差異情報に基づいて、入力画像が欠点を含むか否かを判定する（ステップＳ４）。
【００６０】
この後、表示制御部３７は、表示装置４に判定結果を表示させる（ステップＳ５）。表示制御部３７は、表示装置４に、算出部３３の演算結果である差分画像や、判定部３４の判定結果を表示させる。
【００６１】
図５は、欠点検査装置３の具体的な処理フローを模式的に示す図であり、暗欠点を検出する場合の検出フローを模式的に示す図である。入力画像２０１の右下部の楕円状のパターンには暗欠点による欠点部が含まれている。画像処理部３２は、入力画像２０１のデータをＣＮＮ１００に入力して演算を行い、欠点部を修復した出力画像２０２のデータを作成する。出力画像２０２は、欠点部のみを修復した正常画像である。
【００６２】
続いて、算出部３３は、出力画像から入力画像を画素ごとに減算することによって差分画像２０３のデータを作成し、差分画像２０３の評価値を差異情報として算出する。差分画像２０３は、入力画像２０１の欠点部のみが強調された画像となる。このときの評価値は、例えば画素の輝度値である。
【００６３】
判定部３４は、算出部３３が算出した差分画像２０３の輝度値が所定の閾値以上である画素がある場合、入力画像２０１の製品が欠点を含むと判定する。
【００６４】
以上説明した実施の形態１によれば、欠点を含む画像からなる第１画像群と欠点を含まない画像からなる第２画像群とを用いた機械学習によって生成され、画像に含まれる欠点のみを修復するための学習済みモデルに対して入力画像のデータを入力して学習済みモデルに基づく演算を行うことによって出力画像のデータを出力し、入力画像と出力画像との対応する領域を比較することによって両画像の差異を定量化した差異情報を算出し、算出部が算出した差異情報に基づいて、入力画像が欠点を含むか否かを判定するため、検査対象の製品から取得した検査用の画像において欠点サイズが極めて小さい場合であっても高精度に欠点を検出することができる。
【００６５】
また、実施の形態１によれば、製品の製造工程で取得される検査画像（入力画像）に欠点が含まれる場合に、機械学習によって生成された学習済みモデルを用いて欠点を修復した正常画像（出力画像）を作成し、検査画像と正常画像との比較を実施して差異情報を算出するため、製品の形状が複雑であるとともに欠点が微細な場合であっても、その欠点を高精度に検出することができる。
【００６６】
（実施の形態２）
実施の形態２に係る欠点検査装置は、製品の成型ミスに由来する欠点を検出する。実施の形態２に係る欠点検査システムの構成は、実施の形態１と同様であるため、実施の形態１と同様の構成要素に対しては、実施の形態１と同じ符号を用いて説明する。ただし、ＣＮＮ１００の各層の具体的な構成は、一般に実施の形態１と異なる。
【００６７】
実施の形態２において、画像処理部３２は、入力画像のデータに対して前処理を行う。画像処理部３２が行う前処理は、画素値を離散的な値に変換する量子化処理である。以下、量子化処理の一例として、画素値を２つの値で離散化する２値化処理の場合を説明するが、実施の形態２の前処理は２値化処理に限定されるわけではない。
【００６８】
算出部３３は、出力画像から入力画像を画素ごとに輝度値を減算することによって差分画像のデータを作成し、その差分画像において輝度値が一定値以上の画素数を計測する。製品の成型ミスが発生している場合、算出部３３が算出した差異情報の値、すなわち差分画像の評価値は所定の閾値以上である。
【００６９】
図６は、実施の形態２に係る欠点検査装置３の具体的な処理フローを模式的に示す図である。まず、画像処理部３２は、入力画像３０１（元画像）のデータに対して２値化処理を行う。
【００７０】
その後、画像処理部３２は、２値化した入力画像３０２のデータをＣＮＮ１００に入力して演算を行うことにより、欠点部を修復した出力画像３０３のデータを出力する。
【００７１】
続いて、算出部３３は、画素ごとに出力画像３０３から２値化した入力画像３０２の輝度値を減算することによって差分画像３０４のデータを作成し、差分画像３０４の差異情報すなわち評価値を算出する。
【００７２】
判定部３４は、算出部３３が算出した評価値に基づいて、入力画像３０１に欠点が含まれているか否かを判定する。評価値が閾値以上である場合、判定部３４は入力画像３０１に欠点が含まれていると判定する。
【００７３】
以上説明した実施の形態２によれば、実施の形態１と同様、検査対象の製品から取得した検査用の画像において欠点サイズが極めて小さい場合であっても高精度に欠点を検出することができる。
【００７４】
また、実施の形態２によれば、入力画像のデータに対して２値化処理等の量子化処理を実施することにより、製品の輝度情報を失わせ、形状情報のみに着目した差異を検出することが可能となる。したがって、製品の成型ミスに由来した欠点を高精度に検出することができる。
【００７５】
（実施の形態３）
実施の形態３に係る欠点検査装置は、明欠点および製品の成型ミスに由来する欠点を検出する。実施の形態３に係る欠点検査システムの構成は、実施の形態１と同様であるため、実施の形態１と同様の構成要素に対しては、実施の形態１と同じ符号を用いて説明する。
【００７６】
実施の形態３において、画像処理部３２は、入力画像のデータに２値化処理等の量子化処理を前処理として行い、２値化処理した入力画像のデータと元の入力画像のデータを別のチャネルでＣＮＮ１００に入力し、各入力画像に対応する２つの出力画像のデータを出力する。
【００７７】
算出部３３は、元の入力画像と出力画像の組から差分画像のデータを作成するとともに、量子化処理を施した入力画像と出力画像の組から差分画像のデータを作成し、各差分画像のデータをもとに評価値をそれぞれ算出する。
【００７８】
判定部３４は、元の入力画像と出力画像の組から作成した差分画像のデータに基づく評価値から明欠点の有無を判定する一方、量子化処理を施した入力画像と出力画像の組から作成した差分画像のデータに基づく評価値から製品の成型ミスに由来する欠点の有無を判定する。
【００７９】
図７は、実施の形態３に係る欠点検査装置が行う具体的な処理フローを模式的に示す図である。まず、画像処理部３２は、入力画像４０１に２値化処理を施した入力画像４０２のデータを生成する。続いて、画像処理部３２は、２つの入力画像４０１、４０２のデータをＣＮＮ１００に入力し、元の入力画像４０１を修復した出力画像４０３と、２値化処理後の入力画像４０２を修復した出力画像４０４のデータを出力する。図７では、画像の左上部の矩形状のパターンに明欠点が発生し、右下部の楕円状のパターンに製品の成型ミスに由来する欠点が発生している場合を例示している。
【００８０】
続いて、算出部３３は、入力画像４０１と出力画像４０３、および入力画像４０２と出力画像４０４をそれぞれ用いて２つの差分画像４０５、４０６のデータを生成する。図７に示す場合、差分画像４０５では明欠点による欠点部４５１のみが抽出され、差分画像４０６では成型ミスに由来する欠点部４６１のみが抽出される。差分画像４０５、４０６の生成方法は、実施の形態１、２で説明した差分画像の生成方法とそれぞれ同様である。
【００８１】
その後、算出部３３は、差分画像４０５、４０６に対してそれぞれ評価値を算出する。差分画像４０５に対する評価値の算出は、実施の形態１で説明したのと同様であり、差分画像４０６に対する評価値の算出は、実施の形態２で説明したのと同様である。
【００８２】
判定部３４は、２つの評価値に基づいて欠点の有無を判定する。図７に示す場合、判定部３４は、差分画像４０５に現れる欠点（欠点部４５１）と、差分画像４０６に現れる欠点（欠点部４６１）の２種類の欠点が入力画像４０１に含まれていると判定する。
【００８３】
この後、表示制御部３７が表示装置４に判定結果を表示させる際には、判定部３４が判定した欠点の種類についての情報をさらに表示させてもよい。
【００８４】
以上説明した実施の形態３によれば、実施の形態１と同様、検査対象の製品から取得した検査用の画像において欠点サイズが極めて小さい場合であっても高精度に欠点を検出することができる。
【００８５】
また、実施の形態３によれば、元の入力画像と量子化処理を施した入力画像とを用いて判定を行うため、異なる２種類の欠点を同時に検査することができる。その結果、計算リソースの消費と計算時間を抑えつつ、２種類の欠点検査を同時に実施することができる。なお、ここでは２種類の場合を説明したが、さらに暗欠点を検出するなど、３種類以上の複数種類の欠点を同時に検査する構成とすることも可能である。
【００８６】
（実施の形態４）
図８は、実施の形態４に係る欠点検査システムの機能構成を示すブロック図である。同図に示す欠点検査システム１Ａは、データ取得装置２と、欠点検査装置３Ａと、表示装置４とを備える。
【００８７】
欠点検査装置３Ａは、欠点検査装置３が有する機能構成に加えて、ＣＮＮ１００のネットワークパラメータを最適化する学習を行う学習部３８を有する。学習部３８は、欠点を含む画像からなる第１画像群に含まれる第１画像のデータと、欠点を含まない第２画像群に含まれる画像であって第１画像と対応する領域の画像である第２画像のデータとを取得し、第１画像と第２画像との差異を定量化した差異情報を算出し、算出結果に応じて学習済みモデルが有するパラメータ群（ネットワークパラメータ）を逐次最適化する処理を繰り返す。この意味で、欠点検査装置３Ａは、実施の形態４に係る学習装置の機能を有する。
【００８８】
学習部３８は、入力画像に対応する教師画像のセットを十分な数だけ準備して学習用画像対とし、例えば誤算逆伝播法および確率的勾配降下法等を用いた深層学習を行うことにより、ＣＮＮ１００のネットワークパラメータを最適化する。入力画像が欠点画像である場合、教師画像は入力画像に対応する正常画像であり、入力画像が正常画像である場合、教師画像は入力画像と同一である。このように、学習部３８が学習用画像対をもとに深層学習を行うことにより、欠点画像の欠点部のみを修復して正常画像を作成する方法を学習させることができる。
【００８９】
図９は、欠点検査装置３Ａが行う処理の概要を示すフローチャートである。ステップＳ１〜Ｓ５は、実施の形態１で説明した欠点検査装置３の処理と同じである。なお、ステップＳ１〜Ｓ５の具体的な処理内容は、実施の形態１〜３のいずれかの処理内容と同様である。
【００９０】
ステップＳ６において、学習部３８は、入力画像のデータと、対応する教師画像のデータとを用いてＣＮＮ１００のネットワークパラメータを最適化することにより、学習済みモデルの更新を行う。
【００９１】
以上説明した実施の形態４によれば、実施の形態１と同様、検査対象の製品から取得した検査用の画像において欠点サイズが極めて小さい場合であっても高精度に欠点を検出することができる。
【００９２】
また、実施の形態４によれば、任意の製品の製造工程で取得される検査画像が、複雑な背景を持ち、かつ微細な欠点であっても高精度に検出することが可能な画像処理アルゴリズムを学習によって取得することが可能となる。
【００９３】
（実施の形態４の変形例）
図１０は、実施の形態４の変形例に係る欠点検査装置３Ａが行う処理の概要を示すフローチャートである。本変形例において、欠点検査装置３Ａは、検査終了時に一括して学習処理を行う。
【００９４】
欠点検査装置３Ａが検査を開始する（ステップＳ１０）と、データ取得部３１がデータ取得装置２からデータを取得する（ステップＳ１１）。この後に続くステップＳ１２〜Ｓ１５は、図９のステップＳ２〜Ｓ５とそれぞれ同じである。
【００９５】
ステップＳ１５の後、検査が終了した場合（ステップＳ１６：Ｙｅｓ）、ステップＳ１７へ移行して学習部３８が学習処理を行う（ステップＳ１７）。その後、欠点検査装置３Ａは一連の処理を終了する。
【００９６】
ステップＳ１６において、検査が終了しない場合（ステップＳ１６：Ｎｏ）、欠点検査装置３ＡはステップＳ１１に戻る。
【００９７】
なお、学習部３８の学習処理を逐次行うか、または検査終了時に行うかをユーザが設定できる構成としてもよいし、検査内容や検査量等の検査条件に応じて制御部３５が自動的処理フローを決定する構成としてもよい。
【００９８】
（その他の実施の形態）
ここまで、本発明を実施するための形態を説明してきたが、本発明は上述した実施の形態１〜４によって限定されるべきものではない。例えば、データ取得装置２は必須ではなく、データ取得部３１は通信ネットワークを介して検査対象のデータを取得してもよいし、記憶部３６が保存しているデータを取得してもよい。
【００９９】
また、機械学習は上述した深層学習に限られるわけではなく、例えばサポートベクターマシン、決定木、ランダムフォレスト、またはアダブーストなどを用いてもよい。
【産業上の利用可能性】
【０１００】
本発明は、製造工程における製品の欠点検査に利用することができる。
【符号の説明】
【０１０１】
１、１Ａ  欠点検査システム
２  データ取得装置
３、３Ａ  欠点検査装置
４  表示装置
３１  データ取得部
３２  画像処理部
３３  算出部
３４  判定部
３５  制御部
３６  記憶部
３７  表示制御部
３８  学習部
１００  畳み込みニューラルネットワーク（ＣＮＮ）
１０１  入力層
１０２  中間層
１０３  出力層
２０１、３０１、３０２、４０１、４０２  入力画像
２０２、３０３、４０３、４０４  出力画像
２０４、３０４、４０５、４０６  差分画像
２３１、３４１、４５１、４６１  欠点部
【図１】
2020135051.tif 000003
【図２】
2020135051.tif 000004
【図３】
2020135051.tif 000005
【図４】
2020135051.tif 000006
【図５】
2020135051.tif 000007
【図６】
2020135051.tif 000008
【図７】
2020135051.tif 000009
【図８】
2020135051.tif 000010
【図９】
2020135051.tif 000011
【図１０】
2020135051.tif 000012