(57)【要約】【課題】検査対象の不良品が無い場合や少ない場合であっても、検査対象の画像の特徴量を自動で学習することができる画像検査装置を提供する。【解決手段】  画像検査装置１は、検査対象を含む学習用画像に基づいてニューラルネットワークの学習を行い、学習用画像の特徴量を出力する学習済みのニューラルネットワークを構築する特徴量学習部４２と、学習済みのニューラルネットワークが出力した学習用画像の特徴量に基づいて、検査対象の良否を判定する識別器を学習により生成する識別器学習部４３と、検査対象を含む判定用画像を学習済みのニューラルネットワークに入力し、判定用画像の特徴量を出力する特徴量算出部５１と、特徴量算出部５１が出力した判定用画像の特徴量を、識別器学習部４３によって生成された識別器に入力して、検査対象の良否の判定を行う識別部５２とを有する。【選択図】  図２
2019087181.tif 000002
【特許請求の範囲】
【請求項１】
検査対象の良否を画像によって検査する画像検査装置であって、
前記検査対象を含む学習用画像に基づいてニューラルネットワークの学習を行い、前記学習用画像を復元できる特徴量を出力する学習済みのニューラルネットワークを構築する特徴量学習部と、
前記特徴量学習部の学習完了後、前記学習済みのニューラルネットワークが出力した前記学習用画像の前記特徴量に基づいて、前記検査対象の良否を判定する識別器を学習により生成する識別器学習部と、
前記検査対象を含む判定用画像を前記学習済みのニューラルネットワークに入力し、前記判定用画像の特徴量を出力する特徴量算出部と、
前記特徴量算出部が出力した前記判定用画像の前記特徴量を、前記識別器学習部によって生成された前記識別器に入力して、前記検査対象の良否の判定を行う識別部と
を備えることを特徴とする画像検査装置。
【請求項２】
請求項１に記載の画像検査装置において、
前記特徴量学習部は、
前記学習用画像を入力画像として記憶する第１の入力画像記憶部と、
前記入力画像を入力として、前記入力画像の特徴量を出力する第１の畳み込みニューラルネットワーク演算部と、
前記第１の畳み込みニューラルネットワーク演算部が出力した前記入力画像の前記特徴量を入力として、前記入力画像と同一の大きさの画像を出力する逆畳み込みニューラルネットワーク演算部と、
前記逆畳み込みニューラルネットワーク演算部から出力された前記画像を出力画像として記憶する出力画像記憶部と、
前記入力画像と前記出力画像との差異を算出する画像差異算出部と、
前記差異が、算出された値より小さくなるように前記第１の畳み込みニューラルネットワーク演算部および前記逆畳み込みニューラルネットワーク演算部それぞれのパラメータの値を更新する特徴量算出設定更新部と、
前記第１の畳み込みニューラルネットワーク演算部および前記逆畳み込みニューラルネットワーク演算部それぞれの前記パラメータの値を記憶する特徴量算出設定記憶部と、
を備え、
前記第１の畳み込みニューラルネットワーク演算部および前記逆畳み込みニューラルネットワーク演算部は、前記特徴量算出設定記憶部に記憶されている前記パラメータの値を用いてそれぞれ演算を行い、
前記特徴量算出設定記憶部は、更新された前記パラメータの値を記憶し、
前記第１の畳み込みニューラルネットワーク演算部は、更新された前記パラメータの値を用いて、すべての前記学習用画像それぞれの前記特徴量を出力する
ことを特徴とする画像検査装置。
【請求項３】
請求項２に記載の画像検査装置において、
前記特徴量算出部は、
前記判定用画像を記憶する第２の入力画像記憶部と、
前記特徴量算出設定記憶部に記憶されている更新された前記パラメータの値を用いて、前記判定用画像を入力として、前記判定用画像の前記特徴量を出力する第２の畳み込みニューラルネットワーク演算部と
を備えることを特徴とする画像検査装置。
【請求項４】
請求項１から３のいずれか１項に記載の画像検査装置において、
前記識別器学習部は、
前記特徴量学習部が出力した前記学習用画像の前記特徴量を入力する第１の特徴量入力部と、
前記学習用画像の前記特徴量を入力として、教師なし学習を行い前記識別器を生成する識別演算教師なし学習部と、
を備え、
前記識別演算教師なし学習部は、前記識別器を、アイソレーションフォレスト、Ｏｎｅ−Ｃｌａｓｓサポートベクターマシン、部分空間法、Ｌｏｃａｌ  Ｏｕｔｌｉｅｒ  Ｆａｃｔｏｒ、統計的検定のうちのいずれかの手法で学習する
ことを特徴とする画像検査装置。
【請求項５】
請求項４に記載の画像検査装置において、
前記識別部は、
前記特徴量算出部が出力した前記判定用画像の前記特徴量を入力する第２の特徴量入力部と、
前記判定用画像の前記特徴量を入力として、前記識別演算教師なし学習部によって生成された前記識別器を用いて、前記検査対象の良否の判定を行う識別演算部と
を備えることを特徴とする画像検査装置。
【請求項６】
請求項４または請求項５に記載の画像検査装置において、
前記識別器学習部は前記識別演算教師なし学習部が有する調整パラメータの値を調整する識別器調整部をさらに備え、
前記識別器調整部は、不良品を示す画像と良品を示す画像とが区別されている前記検査対象の画像から算出される特徴量に基づいて前記調整パラメータの値を調整する
ことを特徴とする画像検査装置。
【請求項７】
請求項１から３のいずれか１項に記載の画像検査装置において、
前記識別器学習部は、
前記特徴量学習部が出力した前記学習用画像の前記特徴量を入力する第１の特徴量入力部と、
入力された前記学習用画像の前記特徴量に対応する前記学習用画像の良否を示す情報を入力する良否情報入力部と、
前記学習用画像の前記特徴量および対応する前記学習用画像の前記良否を示す情報を入力として、教師あり学習により前記識別器を生成する識別演算教師あり学習部と、
を備え、
前記識別演算教師あり学習部は、サポートベクターマシン、ランダムフォレスト、ブースティングのうちのいずれかの手法で学習する
ことを特徴とする画像検査装置。
【請求項８】
請求項７に記載の画像検査装置において、
前記識別部は、
前記特徴量算出部が出力した前記判定用画像の前記特徴量を入力する第２の特徴量入力部と、
前記判定用画像の前記特徴量を入力として、前記識別演算教師あり学習部によって生成された前記識別器を用いて、前記検査対象の良否の判定を行う識別演算部と
を備えることを特徴とする画像検査装置。
【請求項９】
請求項１から８のいずれか１項に記載の画像検査装置において、
さらに前記学習用画像を取得する第１の画像取得部と、前記判定用画像を取得する第２の画像取得部とを有する画像取得部を備えることを特徴とする画像検査装置。
【請求項１０】
検査対象を含む学習用画像に基づいてニューラルネットワークの学習を行い、前記学習用画像の特徴量を出力する学習済みのニューラルネットワークを構築する特徴量学習ステップと、
前記学習済みのニューラルネットワークが出力した前記学習用画像の前記特徴量に基づいて、前記検査対象の良否を判定する識別器を学習により生成する識別器学習ステップと、
前記検査対象を含む判定用画像を前記学習済みのニューラルネットワークに入力し、前記判定用画像の特徴量を出力する特徴量算出ステップと、
前記特徴量算出ステップで出力した前記判定用画像の前記特徴量を、前記識別器学習ステップで生成された前記識別器に入力して、前記検査対象の良否の判定を行う識別ステップと
を備えることを特徴とする画像検査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像検査装置および方法に関し、特に検査対象の画像を用いる検査技術に関する。
【背景技術】
【０００２】
従来より、製品の完成品や、半完成品、加工過程にある製品や部品の検査方法として、画像を用いた画像検査と呼ばれるものがある。これは、検査対象の画像を撮像装置で取得し、取得した画像をもとに不良や欠陥の有無、種類などを判定するものである。例えば、特許文献１には、検査対象の外観の良否を判定する技術が開示されている。
【０００３】
製品などの検査対象の不良や欠陥の有無を検査する画像検査の手法は多種多様だが、従来の画像検査装置における一般的な動作としては、図１７のフローチャートに示すような動作が一般的である。まず、画像検査装置は検査対象の画像を取得する（ステップＳ８００）。次に、画像検査装置は、取得した画像の前処理を行い、画像を検査しやすい状態に加工する（ステップＳ８０１）。
【０００４】
続いて、画像検査装置は、前処理後の画像から、画像の特徴を定量化した特徴量を算出する（ステップＳ８０２）。なお、算出される画像の特徴量については、画像検査装置において採用される具体的な手法に応じて、その特徴量は１つの場合や複数の場合がある。そして、画像検査装置は、画像の特徴量の値に基づいて、検査対象が良品か不良品かを判定する（ステップＳ８０３）。
【０００５】
画像の特徴を定量化した特徴量には様々なものがあるが、従来の画像検査装置においては、画像検査装置の設計者が自らの知見に基づいて設計、選択するのが一般的であった。また、検査対象が良品であるか不良品であるかの判定方法については、設計者が決めたしきい値に基づいて判定するもの、統計的検定によるもの、機械学習によるものなど、様々な手法が使われている。
【０００６】
ところで、近年、畳み込みニューラルネットワークを用い、深層学習によって検査対象の画像の特徴量を学習して画像検査を行う手法が提案されている。そのような手法では、図１７に示すような構成のニューラルネットワーク９００を用いて検査を行う。この手法では、畳み込み演算を中心とした演算を行う畳み込み層９０１ａ、９０１ｂ、９０１ｃと呼ばれる要素を直列に複数接続して、入力された検査対象の画像から特徴的なパターンを抽出し、画像の特徴量を計算する。そして、畳み込み層９０１ａ、９０１ｂ、９０１ｃの後に続く全結合層９０２と呼ばれる部分が、算出された画像の特徴量に基づいて、検査対象の良否を判定する。
【０００７】
例えば、特許文献２は、医療画像を対象としているが、検査対象の３次元画像から生成された２次元画像に対し、畳み込み層と全結合層とを持つニューラルネットワークを用いて検査対象を分類する技術を開示している。
【０００８】
このようなニューラルネットワークに基づく画像検査手法の特徴は、画像の特徴量が学習によって自動で獲得されることにある。前述したように、特許文献１に記載されているような従来の画像検査手法を用いた技術では、画像の特徴量は設計者が自らの知見に基づいて設計されるのが一般的だった。特徴量は画像検査の性能を大きく左右するが、検査対象によって適切な特徴量は異なる。そのため、特徴量の設計は画像処理や画像検査の専門家でないと難しいものであると考えられていた。
【０００９】
それに対し、特許文献２に記載されているようなニューラルネットワークに基づく画像検査手法では、良品および不良品の検査対象の画像を大量に用意すれば、それらを学習することで検査により適した画像の特徴量が得られる。そのため、特徴量の設計を大幅に省力化することができた。畳み込みニューラルネットワークを用いた深層学習により特徴量が自動で獲得されることについては、例えば、非特許文献１に開示されているように、よく知られた事実である。
【００１０】
特許文献１に記載されている手法では、画像検査を行う前に、ニューラルネットワークに良品と不良品の区別を学習させ、十分に高い正答率で検査対象の良否を判別できるようにする必要がある。この学習は「教師あり学習」と呼ばれるもので、良品と不良品とが予め区別された検査対象の画像を必要とする。一方、深層学習による画像の学習では、大量の学習用の画像が必要となる。また、学習に用いる検査対象の良品画像と不良品画像の数は同数に近い方が望ましいとされる。これは、多くの良品画像だけでなく、多くの不良品画像も必要であることを意味する。
【００１１】
しかし、学習用の画像として、多数の不良品画像を用意することが難しいケースは少なくない。生産現場では通常、不良品をできるだけ出さないように生産設備や工程が設計されており、不良品率が低いことは珍しくない。しかし、そのような現場から収集された検査用の画像は、良品の画像が大半を占めることになり、図１８に示すようなニューラルネットワークをうまく学習できないことが多い。
【００１２】
その理由として、一般的に、ニューラルネットワークの教師あり学習は、ニューラルネットワークの出力が教師と異なる場合、すなわち誤った出力の場合に進行するようになっている。最初のうちは誤判定が多いが、それにより学習が進み、段々と誤判定が減り、最後は良否を正しく判定できるようになるというのが通常の学習プロセスである。
【００１３】
しかし、良品の画像しか無い場合や、不良品の画像が非常に少ない場合は、ニューラルネットワークが常に良品と出力することでも正答率が高くなる。そのため、本当に学習させたい良否の区別を学習することが難しくなる。
【００１４】
このような理由から、従来の畳み込みニューラルネットワークによる深層学習を用いた画像検査装置は、不良品が無い、または不良品が少ない場合には適用が困難な場合があった。そして、このことは新しい生産設備や装置を立ち上げた際に、不良品の画像が相当数蓄積するまでは検査を実行できないことを意味する。よって、従来の畳み込みニューラルネットワークによる深層学習を用いた画像検査装置は、画像の特徴量を自動で学習できるというメリットはあるが、それが発揮できる場面は限られることになる。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２０１７−１７４０３９号公報
【特許文献２】特開２０１６−９９７０７号公報
【特許文献３】特開２００８−３１０７００号公報
【非特許文献】
【００１６】
【非特許文献１】松尾  豊  著「人工知能は人間を超えるか  ディープラーニングの先にあるもの」，角川ＥＰＵＢ選書，２０１５年３月発行
【非特許文献２】Ａｌｅｃ  Ｒａｄｆｏｒｄ  ｅｔ  ａｌ．：Ｕｎｓｕｐｅｒｖｉｓｅｄ  Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ  Ｌｅａｒｎｉｎｇ  ｗｉｔｈ  Ｄｅｅｐ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｇｅｎｅｒａｔｉｖｅ  Ａｄｖｅｒｓａｒｉａｌ  Ｎｅｔｗｏｒｋｓ，ＩＣＬＲ  ２０１６（ａｒＸｉｖ：１５１１．０６４３４）
【非特許文献３】Ｄｉｅｄｅｒｉｋ  Ｐ．Ｋｉｎｇｍａ  ｅｔ  ａｌ．：Ａｕｔｏ−Ｅｎｃｏｄｉｎｇ  Ｖａｒｉａｔｉｏｎａｌ  Ｂａｙｅｓ（ａｒＸｉｖ：１３１２．６１１４）
【非特許文献４】Ｊｏｓｔ  Ｔｏｂｉａｓ  Ｓｐｒｉｎｇｅｎｂｅｒｇ  ｅｔ  ａｌ．：Ｓｔｒｉｖｉｎｇ  ｆｏｒ  Ｓｉｍｐｌｉｃｉｔｙ：Ｔｈｅ  Ａｌｌ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｔ（ａｒＸｉｖ：１４１２．６８０６）
【非特許文献５】Ｌｉｕ，Ｆｅｉ  Ｔｏｎｙ  ａｎｄ  Ｔｉｎｇ，Ｋａｉ  Ｍｉｎｇ  ａｎｄ  Ｚｈｏｕ，Ｚｈｉ−Ｈｕａ：Ｉｓｏｌａｔｉｏｎ  ｆｏｒｅｓｔ，Ｄａｔａ  Ｍｉｎｉｎｇ，２００８．ＩＣＤＭ‘０８．Ｅｉｇｈｔｈ  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ，ＩＥＥＥ，ｐｐ．４１３−４２２（２００８）
【非特許文献６】Ｗａｔａｎａｂｅ，Ｓａｔｏｓｉ  ａｎｄ  Ｐａｋｖａｓａ，Ｎｉｋｈｉｌ：Ｓｕｂｓｐａｃｅ  ｍｅｔｈｏｄ  ｏｆ  ｐａｔｔｅｒｎ  ｒｅｃｏｇｎｉｔｉｏｎ，Ｐｒｏｃ．１ｓｔ．ＩＪＣＰＲ，ｐｐ．２５−３２（１９７３）
【非特許文献７】Ｂｒｅｕｎｉｇ，Ｍａｒｋｕｓ  Ｍ  ａｎｄ  Ｋｒｉｅｇｅｌ，Ｈａｎｓ−Ｐｅｔｅｒ  ａｎｄ  Ｎｇ，Ｒａｙｍｏｎｄ  Ｔ  ａｎｄ  Ｓａｎｄｅｒ，Ｊｏｒｇ：ＬＯＦ：ｉｄｅｎｔｉｆｙｉｎｇ  ｄｅｎｓｉｔｙ−ｂａｓｅｄ  ｌｏｃａｌ  ｏｕｔｌｉｅｒｓ，ＡＣＭ  ｓｉｇｍｏｄ  ｒｅｃｏｒｄ，Ｖｏｌ．２９−２，ＡＣＭ，ｐｐ．９３−１０４（２０００）
【非特許文献８】Ｃｏｒｔｅｓ，Ｃｏｒｉｎｎａ  ａｎｄ  Ｖａｐｎｉｋ，Ｖｌａｄｉｍｉｒ：Ｓｕｐｐｏｒｔ−ｖｅｃｔｏｒ  ｎｅｔｗｏｒｋｓ，Ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ，Ｖｏｌ．２０−３，Ｓｐｒｉｎｇｅｒ，ｐｐ．２７３−２９７（１９９５）
【非特許文献９】Ｂｒｅｉｍａｎ，Ｌｅｏ：Ｒａｎｄｏｍ  ｆｏｒｅｓｔｓ，Ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ，Ｖｏｌ．４５−１，Ｓｐｒｉｎｇｅｒ，ｐｐ．５−３２（２００１）
【非特許文献１０】Ｖｉｏｌａ，Ｐａｕｌ  ａｎｄ  Ｊｏｎｅｓ，Ｍｉｃｈａｅｌ：Ｒａｐｉｄ  ｏｂｊｅｃｔ  ｄｅｔｅｃｔｉｏｎ  ｕｓｉｎｇ  ａ  ｂｏｏｓｔｅｄ  ｃａｓｃａｄｅ  ｏｆ  ｓｉｍｐｌｅ  ｆｅａｔｕｒｅｓ，Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ａｎｄ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ，２００１．ＣＶＰＲ  ２００１．Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ２００１  ＩＥＥＥ  Ｃｏｍｐｕｔｅｒ  Ｓｏｃｉｅｔｙ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ，Ｖｏｌ．１，ＩＥＥＥ（２００１）
【発明の概要】
【発明が解決しようとする課題】
【００１７】
従来の畳み込みニューラルネットワークによる深層学習を用いた画像検査装置では、検査対象の不良品が無い場合や少ない場合には、検査対象の画像の特徴量を自動で学習できる画像検査装置を構築することが困難であった。
【００１８】
本発明は、上述した課題を解決するためになされたものであり、検査対象の不良品が無い場合や少ない場合であっても、検査対象の画像の特徴量を自動で学習することができる画像検査装置を提供する。
【課題を解決するための手段】
【００１９】
上述した課題を解決するために、本発明に係る画像検査装置は、検査対象の良否を画像によって検査する画像検査装置であって、前記検査対象を含む学習用画像に基づいてニューラルネットワークの学習を行い、前記学習用画像を復元できる特徴量を出力する学習済みのニューラルネットワークを構築する特徴量学習部と、前記特徴量学習部の学習完了後、前記学習済みのニューラルネットワークが出力した前記学習用画像の前記特徴量に基づいて、前記検査対象の良否を判定する識別器を学習により生成する識別器学習部と、前記検査対象を含む判定用画像を前記学習済みのニューラルネットワークに入力し、前記判定用画像の特徴量を出力する特徴量算出部と、前記特徴量算出部が出力した前記判定用画像の前記特徴量を、前記識別器学習部によって生成された前記識別器に入力して、前記検査対象の良否の判定を行う識別部とを備えることを特徴とする。
【００２０】
また、本発明に係る画像検査装置において、前記特徴量学習部は、前記学習用画像を入力画像として記憶する第１の入力画像記憶部と、前記入力画像を入力として、前記入力画像の特徴量を出力する第１の畳み込みニューラルネットワーク演算部と、前記第１の畳み込みニューラルネットワーク演算部が出力した前記入力画像の前記特徴量を入力として、前記入力画像と同一の大きさの画像を出力する逆畳み込みニューラルネットワーク演算部と、前記逆畳み込みニューラルネットワーク演算部から出力された前記画像を出力画像として記憶する出力画像記憶部と、前記入力画像と前記出力画像との差異を算出する画像差異算出部と、前記差異が、算出された値より小さくなるように前記第１の畳み込みニューラルネットワーク演算部および前記逆畳み込みニューラルネットワーク演算部それぞれのパラメータの値を更新する特徴量算出設定更新部と、前記第１の畳み込みニューラルネットワーク演算部および前記逆畳み込みニューラルネットワーク演算部それぞれの前記パラメータの値を記憶する特徴量算出設定記憶部と、を備え、前記第１の畳み込みニューラルネットワーク演算部および前記逆畳み込みニューラルネットワーク演算部は、前記特徴量算出設定記憶部に記憶されている前記パラメータの値を用いてそれぞれ演算を行い、前記特徴量算出設定記憶部は、更新された前記パラメータの値を記憶し、前記第１の畳み込みニューラルネットワーク演算部は、更新された前記パラメータの値を用いて、すべての前記学習用画像それぞれの前記特徴量を出力してもよい。
【００２１】
また、本発明に係る画像検査装置において、前記特徴量算出部は、前記判定用画像を記憶する第２の入力画像記憶部と、前記特徴量算出設定記憶部に記憶されている更新された前記パラメータの値を用いて、前記判定用画像を入力として、前記判定用画像の前記特徴量を出力する第２の畳み込みニューラルネットワーク演算部とを備えていてもよい。
【００２２】
また、本発明に係る画像検査装置において、前記識別器学習部は、前記特徴量学習部が出力した前記学習用画像の前記特徴量を入力する第１の特徴量入力部と、前記学習用画像の前記特徴量を入力として、教師なし学習を行い前記識別器を生成する識別演算教師なし学習部と、を備え、前記識別演算教師なし学習部は、前記識別器を、アイソレーションフォレスト、Ｏｎｅ−Ｃｌａｓｓサポートベクターマシン、部分空間法、Ｌｏｃａｌ  Ｏｕｔｌｉｅｒ  Ｆａｃｔｏｒ、統計的検定のうちのいずれかの手法で学習してもよい。
【００２３】
また、本発明に係る画像検査装置において、前記識別部は、前記特徴量算出部が出力した前記判定用画像の前記特徴量を入力する第２の特徴量入力部と、前記判定用画像の前記特徴量を入力として、前記識別演算教師なし学習部によって生成された前記識別器を用いて、前記検査対象の良否の判定を行う識別演算部とを備えていてもよい。
【００２４】
また、本発明に係る画像検査装置において、前記識別器学習部は前記識別演算教師なし学習部が有する調整パラメータの値を調整する識別器調整部をさらに備え、前記識別器調整部は、不良品を示す画像と良品を示す画像とが区別されている前記検査対象の画像から算出される特徴量に基づいて前記調整パラメータの値を調整してもよい。
【００２５】
また、本発明に係る画像検査装置において、前記識別器学習部は、前記特徴量学習部が出力した前記学習用画像の前記特徴量を入力する第１の特徴量入力部と、入力された前記学習用画像の前記特徴量に対応する前記学習用画像の良否を示す情報を入力する良否情報入力部と、前記学習用画像の前記特徴量および対応する前記学習用画像の前記良否を示す情報を入力として、教師あり学習により前記識別器を生成する識別演算教師あり学習部と、を備え、前記識別演算教師あり学習部は、サポートベクターマシン、ランダムフォレスト、ブースティングのうちのいずれかの手法で学習してもよい。
【００２６】
また、本発明に係る画像検査装置において、前記識別部は、前記特徴量算出部が出力した前記判定用画像の前記特徴量を入力する第２の特徴量入力部と、前記判定用画像の前記特徴量を入力として、前記識別演算教師あり学習部によって生成された前記識別器を用いて、前記検査対象の良否の判定を行う識別演算部とを備えていてもよい。
【００２７】
また、本発明に係る画像検査装置において、さらに前記学習用画像を取得する第１の画像取得部と、前記判定用画像を取得する第２の画像取得部とを有する画像取得部を備えていてもよい。
【００２８】
また、本発明に係る画像検査方法は、検査対象を含む学習用画像に基づいてニューラルネットワークの学習を行い、前記学習用画像の特徴量を出力する学習済みのニューラルネットワークを構築する特徴量学習ステップと、前記学習済みのニューラルネットワークが出力した前記学習用画像の前記特徴量に基づいて、前記検査対象の良否を判定する識別器を学習により生成する識別器学習ステップと、前記検査対象を含む判定用画像を前記学習済みのニューラルネットワークに入力し、前記判定用画像の特徴量を出力する特徴量算出ステップと、前記特徴量算出ステップで出力した前記判定用画像の前記特徴量を、前記識別器学習ステップで生成された前記識別器に入力して、前記検査対象の良否の判定を行う識別ステップとを備えることを特徴とする。
【発明の効果】
【００２９】
本発明によれば、検査対象の画像における特徴量を抽出する畳み込み層の学習と、検査対象の良否を判定する識別器の学習を別個に行うので、検査対象の不良品が無い、または少ない場合であっても、検査対象の画像の特徴量を自動で学習することができる。
【図面の簡単な説明】
【００３０】
【図１】図１は、本発明に係る画像検査装置の原理を説明する図である。
【図２】図２は、本発明の第１の実施の形態に係る画像検査装置の機能ブロック図である。
【図３】図３は、本発明の第１の実施の形態に係る特徴量学習部に用いられるニューラルネットワーク構造の一例を示す図である。
【図４】図４は、本発明の第１の実施の形態に係る特徴量学習部に用いられるニューラルネットワーク構造の別の例を示す図である。
【図５】図５は、本発明の第１の実施の形態に係る特徴量学習部および特徴量算出部の機能ブロック図である。
【図６】図６は、本発明の第１の実施の形態に係る識別器学習部および識別部の機能ブロック図である。
【図７】図７は、本発明の第１の実施の形態に係る画像検査装置のハードウェア構成を示すブロック図である。
【図８】図８は、本発明の第１の実施の形態に係る特徴量学習処理のフローチャートである。
【図９】図９は、本発明の第１の実施の形態に係る識別器教師なし学習処理のフローチャートである。
【図１０】図１０は、本発明の第１の実施の形態に係る特徴量算出処理のフローチャートである。
【図１１】図１１は、本発明の第１の実施の形態に係る判定出力処理のフローチャートである。
【図１２】図１２は、本発明の第２の実施の形態に係る画像検査装置の機能ブロック図である。
【図１３】図１３は、本発明の第２の実施の形態に係る識別器調整部による調整パラメータの調整を説明する図である。
【図１４】図１４は、本発明の第２の実施の形態に係るパラメータ調整処理のフローチャートである。
【図１５】図１５は、本発明の第３の実施の形態に係る識別器学習部および識別部の機能ブロック図である。
【図１６】図１６は、本発明の第３の実施の形態に係る識別器教師あり学習処理のフローチャートである。
【図１７】図１７は、従来の画像検査装置の動作の概要を説明するフローチャートである。
【図１８】図１８は、従来の画像検査装置に用いられる畳み込みニューラルネットによる深層学習モデルを示す図である。
【発明を実施するための形態】
【００３１】
［発明の原理］
図１は、本発明に係る画像検査装置の原理を説明する図である。本発明に係る画像検査装置は、検査対象の画像の特徴量を学習する畳み込み層と、検査対象の良否を判定する識別器とをそれぞれ分けて別々に学習させる。畳み込み層の学習においては、自己符号化器に基づいた教師なし学習を行う。識別器においては、検査対象の不良品が無い状況、または、検査対象の不良品が少ない状況であっても識別器を生成することができる学習手法が用いられる。
【００３２】
図１に示すように、従来技術による画像検査装置では、検査対象の画像の特徴量を抽出する畳み込み層と、検査対象の良否を判定する全結合層の組み合わせからなるニューラルネットワークを一体として学習していた。そのため、検査対象の画像における特徴量の学習には、一定数の不良品の画像が必要であった。
【００３３】
しかし、畳み込み層と全結合層との２つの部分を一体として学習することは必ずしも必要ではないといえる。まず、検査対象の画像の特徴量を抽出する畳み込み層の学習においては、検査対象の画像が良品を示す画像であるか不良品を示す画像であるかという区別は必ずしも必要でない。また、畳み込み層を全結合層から切り離して学習することは可能である。
【００３４】
畳み込み層のみの学習ができれば、検査対象の良否を判定する全結合層を、より適した識別器に置き換えて、識別器単独での学習を行うことも可能となる。また、この識別器の学習には、検査対象の不良品画像が無い場合や、ごく少ない場合であっても行うことができる手法が用いられる。
【００３５】
上記のような手法を用いれば、不良品が無い場合、または不良品の数が少ない場合でも、検査対象の画像の特徴量を自動で学習する画像検査装置を実現することができる。以下、本発明に係る画像検査装置に用いられる、画像の特徴量を抽出する畳み込み層と、検査対象の良否を判定する識別器のそれぞれについてより詳しく説明する。
【００３６】
特徴量を抽出する畳み込み層の学習については、自己符号化器（Ａｕｔｏ  Ｅｎｃｏｄｅｒ）や変分自己符号化器（Ｖａｒｉａｔｉｏｎａｌ  Ａｕｔｏ  Ｅｎｃｏｄｅｒ）、敵対的生成ネットワーク（Ｇｅｎｅｒａｔｉｖｅ  Ａｄｖｅｒｓａｒｉａｌ  Ｎｅｔｗｏｒｋｓ）といった手法を用いれば、検査対象の不良品画像が無い、または少ない状況であっても、教師なし学習により画像の特徴量を学習できる。特に、変分自己符号化器や敵対的生成ネットワークは、学習時に用いた画像に含まれていない画像を生成する能力があることが非特許文献２、３などに記載されており、未知の良品や不良品の画像にも適応できるという効果が期待できる。
【００３７】
検査対象の良否を判定する識別器は、従来技術で使われている全結合層からなるニューラルネットワーク以外にも様々な手法がある。その中には、本発明で想定している検査対象の不良品が無い、または不良品の数が少ない状況でも利用可能な手法もある。具体的には、混合正規分布モデルを用いた統計的検定、アイソレーションフォレスト、Ｌｏｃａｌ  Ｏｕｔｌｉｅｒ  Ｆａｃｔｏｒ（以下、「ＬＯＦ」という。）、サポートベクターマシン（以下、「ＳＶＭ」という。）、ランダムフォレスト、ブースティングといった手法である。
【００３８】
全結合層からなるニューラルネットワークは、良品および不良品の両方の画像を多く用いて学習する必要があるのに対し、上記の手法では、検査対象の良品画像だけ、または不良品画像の数がごく少ない状況でも、画像の特徴量を学習して識別器を構築できる。そのため、本発明で想定しているような、検査対象の不良品が無い、または少ない状況においても検査対象の画像検査を行うことができる。
【００３９】
以下、本発明の好適な実施の形態について、図２から図１６を参照して詳細に説明する。各図について共通する構成要素には、同一の符号が付されている。
【００４０】
［第１の実施の形態］
図２は、本発明の第１の実施の形態に係る画像検査装置１の機能ブロック図である。第１の実施の形態では、検査対象の不良品画像が無い状況、またはあったとしても学習に用いる画像が良品と不良品とに区別されていない、すなわち、ラベル付けされていない状況を対象としている。
【００４１】
［画像検査装置全体の機能ブロック］
画像検査装置１は、撮像部２と、画像取得部３と、学習部４と、判定部５とを備える。画像検査装置１は、その機能を大きく分けると、検査対象である製品などの画像の特徴量を学習する学習部４と、学習後に、検査対象の良否を判定する判定部５とを含む。
【００４２】
撮像部２は、検査対象を含む画像を撮影する。撮像部２は、学習部４が学習を行う際に用いる、検査対象を含む学習用の画像（以下、「学習用画像」という。）、および判定部５が検査対象の良否の判定を行う際に用いる検査対象を含む判定用の画像（以下、「判定用画像」という。）を撮影する。なお、学習部４に用いられる画像の撮影条件と、判定部５に用いられる画像の撮影条件とは、できるだけ一致することが好ましい。これは、学習時と判定時とで撮影条件が大きく異なることで、正しい検査できなくなることを防止するためである。
【００４３】
画像取得部３は、撮像部２が撮影した画像を、例えば、ネットワーク通信などの電子的手段で取得する。
【００４４】
学習部４は、画像保存部４１、特徴量学習部４２、および識別器学習部４３を備える。学習部４は、撮像部２によって撮影された検査対象である製品の多数の画像を学習し、判定部５が検査対象の良否を正しく判定できるように演算内容を決定する。
画像保存部４１には、学習部４によって用いられる複数の学習用画像が保存される。
【００４５】
特徴量学習部４２は、学習用画像に基づいてニューラルネットワークの学習を行い、検査対象の画像の特徴量を出力する学習済みのニューラルネットワークを構築する。また、特徴量学習部４２は、学習用画像を学習済みのニューラルネットに入力して、学習用画像の特徴量を出力する。
【００４６】
特徴量学習部４２は、検査対象の画像をより少ない情報の特徴量に圧縮するような演算を学習により獲得する。特徴量学習部４２は、ニューラルネットワークの学習として自己符号化器に基づいた教師なし学習を行い、前述した畳み込み層による特徴量の学習を実現する。なお、特徴量学習部４２の詳細は後述する。
【００４７】
識別器学習部４３は、特徴量学習部４２が出力した学習用画像の特徴量に基づいて、検査対象の良否を判定する識別器を学習により生成する。本実施の形態では、識別器学習部４３は教師なし学習を行って識別器を学習する。学習によって生成された識別器は、後述する判定部５の識別部５２で用いられる。なお、識別器学習部４３および識別器の詳細は後述する。
【００４８】
判定部５は、特徴量算出部５１と、識別部５２と、出力部５３とを備える。判定部５は、画像取得部３から送られた判定用画像に基づいて、検査対象の良否の判定を行う。
【００４９】
特徴量算出部５１は、判定用画像を学習済みのニューラルネットワークに入力し、判定用画像の特徴量を出力する。なお、特徴量算出部５１の詳細は後述する。
識別部５２は、特徴量算出部５１が出力した判定用画像の特徴量を、識別器学習部４３によって生成された識別器に入力して、検査対象の良否の判定を行う。なお、識別部５２についての詳細は後述する。
【００５０】
出力部５３は、識別部５２による判定結果を、例えば、表示画面に表示したり、検査対象の製品の製造装置に送る。出力部５３により出力された判定結果は、不良品の選別などに利用される。
【００５１】
［特徴量学習部による自己符号化器を用いた学習］
学習部４に含まれる特徴量学習部４２は、検査対象の画像をより少ない情報の特徴量に圧縮するような畳み込みニューラルネット演算を、学習によって獲得することを目的とする。この特徴量は、どのような情報で良いわけではなく、画像検査において検査対象の良否を判定する際に有用な情報でなければならない。
【００５２】
上記のような特徴量学習部４２を実現するため、本実施の形態では、図３に示すような畳み込みニューラルネットワークを有する自己符号化器を利用する。そして、特徴量学習部４２によって構築された畳み込みニューラルネットワークは、特徴量算出部５１で判定用画像の特徴量を算出するために使われる。より詳細には、図３の破線で囲まれた部分に示す特徴量抽出器が構築され、特徴量算出部５１において用いられる。
【００５３】
自己符号化器は、入力画像を、その入力画像の次元数と比べてより少数の次元を持つ潜在変数に変換し、そこから入力画像と同じ大きさの画像に復元する構造を持つ。自己符号化器では、図３に示すようなニューラルネットワークを学習するときに、入力画像と出力画像との差異ができるだけ小さくなるようにする。学習がうまくいき、元の画像に近い画像が出力されるような自己符号化器が生成できたとすると、それは画像が元の画像の次元数より少ない次元数の潜在変数で表現できることを意味する。
【００５４】
このような潜在変数は、画像検査において有力な特徴量となりうる。そして、本発明にとって重要なことは、この学習をする際に、検査対象の画像が良品の画像であるか不良品の画像であるかを区別する必要がないということである。これは、自己符号化器は、入力画像と出力画像とができるだけ同じになるように学習するからであり、画像が良品であるか不良品であるかを学習しているわけではないからである。このことが、本発明の利点である、検査対象の不良品が無い場合や、少ない場合でも、検査対象の画像の特徴量を自動で学習することにつながっている。
【００５５】
また、図４に示すように、自己符号化器に敵対的生成ネットワークの仕組みを追加することもできる。敵対的生成ネットワークは、生成器（以下、「Ｇｅｎｅｒａｔｏｒ」という。）と呼ばれる画像を生成するニューラルネットワークと、識別器（以下、「Ｄｉｓｃｒｉｍｉｎａｔｏｒ」という。）と呼ばれる、画像が実画像であるか、Ｇｅｎｅｒａｔｏｒが生成した画像であるかを判別するニューラルネットワークとを有する。
【００５６】
図４では、Ｇｅｎｅｒａｔｏｒとして、図３に示す畳み込みニューラルネットワークを有する自己符号化器を用いている。図４に示すように、Ｄｉｓｃｒｉｍｉｎａｔｏｒは、実画像かどうかの判別をできるだけ間違えないようにしようと学習する。一方、ＧｅｎｅｒａｔｏｒはＤｉｓｃｒｉｍｉｎａｔｏｒが実画像と誤判別するように学習する。この２つのニューラルネットワークを敵対的に競わせることで学習がうまく進み、Ｇｅｎｅｒａｔｏｒが生成する画像の精度が上がれば、Ｇｅｎｅｒａｔｏｒのうち特徴量抽出器となっている部分も優秀な特徴量抽出器になることが期待される。
【００５７】
また、変分自己符号化器も同様な仕組みを持った技術であり、同様な形で利用できる。なお、敵対的生成ネットワークも、変分自己符号化器も、学習に用いるデータにおいて良品と不良品とを区別する必要はない。
【００５８】
［識別器学習部による学習と識別器の生成］
検査対象の不良品画像が無く、良品画像だけが十分な数確保できている場合、教師なし学習と呼ばれる手法により識別器を生成することができる。例えば、良品画像における特徴量の分布を、混合正規分布モデルで推定した上で統計的検定を用いれば、その分布から外れたものを不良品の画像とする識別器を生成できる。
【００５９】
また、部分空間法を用いることでも、良品の画像における特徴量の分布を学習し、その分布から外れたものを不良品とする識別器を生成できる。また、１クラスＳＶＭ（Ｏｎｅ−Ｃｌａｓｓ  ＳＶＭ）のように、全ての良品の画像から十分遠い位置に疑似的な不良品のデータを生成して、識別器を生成する手段もある。
【００６０】
一方、検査対象の不良品画像が確保できても、学習用の画像に良否を示すラベルが付与されていない場合についても、教師なし学習により識別器を生成する手段がある。例えば、アイソレーションフォレストのように、学習用の画像を多数のグループに分類し、少数の画像で構成されるグループに属するものを不良品とする識別器がある。また、ＬＯＦのように、学習用の画像間の距離を評価し、他の学習用の画像との距離が大きいものを不良品とするような識別器がある。
【００６１】
［特徴量学習部および特徴量算出部の機能ブロック］
図５は、特徴量学習部４２および特徴量算出部５１の機能ブロック図である。前述したように、特徴量学習部４２は、検査対象の画像をより少ない情報の特徴量に圧縮するような畳み込みニューラルネットワークを有する自己符号化器を、学習によって構築する。特徴量算出部５１は、特徴量学習部４２によって構築された学習済みの畳み込みニューラルネットワークを用いて、判定用画像の特徴量を算出する。
【００６２】
図５に示すように、特徴量学習部４２は、入力画像記憶部４２１、前処理部４２２、畳み込みニューラルネット演算部（以下、「畳み込みＮＮ演算部」という。）４２３、特徴量記憶部４２４、逆畳み込みニューラルネット演算部（以下、「逆畳み込みＮＮ演算部」という。）４２５、出力画像記憶部４２６、特徴量算出設定記憶部４２７、画像差異算出部４２８、特徴量算出設定更新部４２９、および特徴量出力部４３０を備える。
【００６３】
特徴量算出部５１は、入力画像記憶部５１１、前処理部５１２、畳み込みＮＮ演算部５１３、特徴量算出設定記憶部５１４、および特徴量出力部５１５を備える。
【００６４】
まず、特徴量学習部４２が備える各機能ブロックについて説明する。
入力画像記憶部４２１には、特徴量学習部４２が実行する学習において必要となる多数の学習用画像が入力画像として記憶される。
【００６５】
前処理部４２２は、入力画像記憶部４２１に記憶されている学習用画像を調整する。前処理部４２２は省略することも可能であるが、実際には、前処理部４２２を設けて、画像の輝度の正規化など、画像の前処理を行うことが好ましい。なお、前処理部４２２による画像の前処理については、一般に知られている公知の技術を用いればよい。
【００６６】
畳み込みＮＮ演算部４２３は、図３および図４で示した特徴量抽出器に対応する。畳み込みＮＮ演算部４２３は、学習用画像（入力画像）を入力として、学習用画像（入力画像）の特徴量を出力する。より詳細には、畳み込みＮＮ演算部４２３は、入力画像に対し、後述する特徴量算出設定記憶部４２７に記憶されているパラメータの値を用いて、畳み込み演算を中心とした演算を行い、入力画像の特徴量を出力する。この演算は通常、複数段で構成される。一段分（一回）の演算を行うと、入力された画像やデータのピクセル数よりも少ないデータが出力される。
【００６７】
畳み込みＮＮ演算部４２３は、このような畳み込み演算を複数回繰り返すことで、元の入力画像を、そのピクセル数よりも少ないピクセル数を示す潜在変数に変換する。この潜在変数が、検査対象の画像の特徴を定量化した特徴量として求められる。
【００６８】
また、畳み込みＮＮ演算部４２３は、後述する特徴量算出設定更新部４２９により更新されたパラメータの値を用いて、画像保存部４１に保存されている全ての学習用画像の特徴量を算出する。
【００６９】
なお、畳み込みＮＮ演算部４２３による畳み込みニューラルネットワークの演算と設計においては、特許文献２、３などに記載されている公知の技術を用いればよい。また、公知の畳み込みニューラルネットワークの演算と設計に利用されるソフトウェアフレームワークについても複数知られており、それらを用いればよい。
【００７０】
なお、一般的な畳み込みニューラルネットワークで用いられるプーリング（間引き）は、ストライド付きの畳み込みに置き換えることで性能が向上することが非特許文献４に記載されている。そのため、畳み込みＮＮ演算部４２３においても、ストライド付きの畳み込みを行うことが好ましい。畳み込みＮＮ演算部４２３により算出された入力画像の特徴量は、後述する特徴量記憶部４２４に一時的に記憶される。
【００７１】
特徴量記憶部４２４は、畳み込みＮＮ演算部４２３から出力された入力画像の特徴量を一時的に記憶する。また、特徴量記憶部４２４に記憶された入力画像の特徴量は、後述する逆畳み込みＮＮ演算部４２５によって利用される。
【００７２】
逆畳み込みＮＮ演算部４２５は、畳み込みＮＮ演算部４２３が出力した入力画像の特徴量を入力として、入力画像と同一の大きさの画像を出力する。より詳細には、逆畳み込みＮＮ演算部４２５は、特徴量算出設定記憶部４２７に記憶されているニューラルネットワークのパラメータの値を用いて、畳み込みＮＮ演算部４２３による畳み込みニューラルネットワーク演算と逆の演算を行う。逆畳み込みＮＮ演算部４２５は、逆畳み込みニューラルネットワーク演算を複数回行い、画像の特徴量が入力画像記憶部４２１に記憶されていた画像と同じサイズの画像になるまで演算を行う。
【００７３】
なお、逆畳み込みＮＮ演算部４２５を構成する逆畳み込みニューラルネットワークには、畳み込みＮＮ演算部４２３を構成する畳み込みニューラルネットワークを転置したネットワーク構造を用いればよい。また、逆畳み込みＮＮ演算部４２３による逆畳み込みニューラルネットワーク演算については、例えば、非特許文献２に記載されている公知の演算手法や、前述した公知のソフトウェアフレームワークを用いればよい。逆畳み込みＮＮ演算部４２３による逆畳み込みニューラルネットワークの最後の段の演算結果は、後述する出力画像記憶部２４６に記憶される。
【００７４】
出力画像記憶部４２６は、逆畳み込みＮＮ演算部４２５から出力される演算結果を出力画像として記憶する。
【００７５】
特徴量算出設定記憶部４２７は、畳み込みＮＮ演算部４２３および逆畳み込みＮＮ演算部４２５によって用いられる畳み込みニューラルネットワークおよび逆畳み込みニューラルネットワークのパラメータの値を記憶する。より詳細には、特徴量算出設定記憶部４２７は、初期設定されたパラメータの値や、後述する特徴量算出設定更新部４２９によって更新されたパラメータの値を記憶する。
【００７６】
画像差異算出部４２８は、入力画像記憶部４２１に記憶されている入力画像（学習用画像）と、その入力画像に対応する、出力画像記憶部４２６に記憶されている出力画像との差異を算出する。
【００７７】
特徴量算出設定更新部４２９は、特徴量算出設定記憶部４２７が記憶している、畳み込みＮＮ演算部４２３によって用いられる畳み込みニューラルネットワークおよび逆畳み込みＮＮ演算部４２５によって用いられる逆畳み込みニューラルネットワークのパラメータの値を更新する。なお、ネットワークとして敵対的生成ネットワークを用いる場合には、Ｄｉｓｃｒｉｍｉｎａｔｏｒの判別結果をもとに、ニューラルネットワークのパラメータの値を更新する。
【００７８】
なお、ニューラルネットワークにおけるパラメータの値の更新方法については、逆誤差伝搬法（バックプロパゲーション）など公知の方法を用いればよい。また、特徴量算出設定更新部４２９によるニューラルネットワークのパラメータの更新は、学習対象となる入力画像が１枚入力される度に行ってもよく、ある程度まとまった枚数が蓄積されてから行ってもよい。
【００７９】
特徴量出力部４３０は、畳み込みＮＮ演算部４２３から出力される畳み込みニューラルネットワーク演算による演算結果を出力する。より詳細には、特徴量出力部４３０は、畳み込みＮＮ演算部４２３が後述する更新されたパラメータの値を用いて演算した、すべての学習用画像に対応する特徴量を出力する。
【００８０】
次に、特徴量算出部５１が備える各機能ブロックを説明する。特徴量算出部５１は、画像取得部３によって取得された、判定用画像の特徴量を算出する。
【００８１】
入力画像記憶部５１１は、撮像部２によって撮影され、画像取得部３によって取得された判定用画像を記憶する。
【００８２】
前処理部５１２は、特徴量学習部４２が有する前処理部４２２と同様の機能を有し、入力画像記憶部５１１に記憶されている判定用画像の前処理を必要に応じて行う。前処理部５１２は、判定用画像を前処理し、良否判定がしやすいように加工する。なお、特徴量学習部４２が有する前処理部４２２と同様に、前処理部５１２は省略してもよいが、前処理部５１２を設けることで特徴量算出部５１における判定精度の向上を図ることができる場合がある。
【００８３】
畳み込みＮＮ演算部５１３は、特徴量学習部４２が有する畳み込みＮＮ演算部４２３と同じ構成を有する。また、畳み込みＮＮ演算部５１３は、特徴量算出設定記憶部５１４に保存されている畳み込みニューラルネットワークのパラメータの更新値に従って、判定用画像を入力として、判定用画像の特徴量を出力する。なお、畳み込みＮＮ演算部５１３は、特徴量学習部４２の学習処理が完了したときの畳み込みＮＮ演算部４２３と同じ演算を行う。
【００８４】
特徴量算出設定記憶部５１４には、特徴量学習部４２で値が更新された畳み込みＮＮ演算部４２３における畳み込みニューラルネットワークのパラメータの値が記憶されている。より詳細には、特徴量算出設定記憶部４２７から、畳み込みニューラルネットワークのパラメータの更新値が転送される。
【００８５】
特徴量出力部５１５は、畳み込みＮＮ演算部５１３による畳み込みニューラルネット演算の結果として判定用画像の特徴量を出力する。なお、特徴量出力部５１５から出力される判定用画像の特徴量は、識別部５２に入力される。
【００８６】
［識別器学習部および識別部の機能ブロック］
図６は、識別器学習部４３および識別部５２の機能ブロック図である。識別器学習部４３は、特徴量入力部４３１、次元低減部４３２、および識別演算教師なし学習部４３３を備える。また、識別部５２は、特徴量入力部５２１、次元低減部５２２、および識別演算部５２３を備える。前述したように、識別器学習部４３によって生成される識別器は、識別部５２で用いられ、検査対象の良否を判定する。
【００８７】
まず、識別器学習部４３が備える各機能ブロックを説明する。
特徴量入力部４３１には、特徴量学習部４２の特徴量出力部４３０から出力される学習用画像の特徴量が入力される。より詳細には、特徴量入力部４３１は、特徴量学習部４２の学習処理が完了した後に、画像保存部４１に保存されている学習用画像について算出された特徴量を一括して受信する。
【００８８】
次元低減部４３２は、特徴量入力部４３１に入力される、学習用画像における特徴量の情報量をできるだけ落とさないようにしつつ、画像の特徴量の次元を減らす演算を行う。次元低減部４３２は、例えば、主成分分析など公知の手法を用いて、画像の特徴量の次元を、より少ない次元に圧縮する。
【００８９】
次元低減部４３２を設ける理由としては、以下の理由が挙げられる。通常、特徴量入力部４３１に入力される、学習用画像の特徴量は、１つの画像につき複数存在する。そのため、入力される画像の特徴量の数が多い場合、そのままでは識別部５２で識別器を生成できない場合や、生成に必要な計算量が非常に多くなる場合がある。
【００９０】
そこで、次元低減部４３２を設けることにより、数学的な空間の次元の増加にしたがい計算コストが指数関数的に増加する、いわゆる「次元の呪い」と呼ばれる問題を回避することができる。なお、特徴量学習部４２の畳み込みＮＮ演算部４２３が出力する画像の特徴量の次元が十分低い場合には、次元低減部４３２を省略してもよい。
【００９１】
識別演算教師なし学習部４３３は、特徴量入力部４３１および次元低減部４３２を介して入力される学習用画像の特徴量を入力として、公知の教師なし学習手法により検査対象の良否の判定を行う識別器を生成する。識別演算教師なし学習部４３３により生成された識別器は、判定部５の識別部５２に含まれる、後述する識別演算部５２３で用いられる。
【００９２】
識別演算教師なし学習部４３３は、公知の教師なし学習手法として、例えば、アイソレーションフォレスト、Ｏｎｅ−Ｃｌａｓｓ  ＳＶＭ、部分空間法、ＬＯＦなどの手法を用いればよい。なお、アイソレーションフォレストの例としては、非特許文献５に記載されている手法を用いればよい。部分空間法の例としては、非特許文献６に記載されている手法を用いればよい。ＬＯＦの例としては、非特許文献７に記載されている手法を用いればよい。
【００９３】
次に、識別部５２が有する各機能ブロックについて説明する。
特徴量入力部５２１は、識別器学習部４３が有する特徴量入力部４３１と同様の機能および構成を有する。すなわち、特徴量入力部５２１には、特徴量算出部５１の特徴量出力部５１５から出力される、判定用画像の特徴量が入力される。
【００９４】
次元低減部５２２は、識別器学習部４３が有する次元低減部４３２と同様の機能および構成を有する。なお、識別器学習部４３の次元低減部４３２と、識別部５２の次元低減部５２２とで、完全に同一の計算方法を用いる必要がある。
【００９５】
識別演算部５２３は、特徴量入力部５２１および次元低減部５２２を介して入力される判定用画像の特徴量を入力として、識別器学習部４３の識別演算教師なし学習部４３３によって生成された識別器を用いて、検査対象の良否の判定を行う。識別演算部５２３による判定結果は、出力部５３から出力される。
【００９６】
［画像検査装置のハードウェア構成］
図７は、本実施の形態に係る画像検査装置１のハードウェア構成を示すブロック図である。画像検査装置１００は、バス１０１を介して接続される制御部１０２、通信制御装置１０５、撮像装置１０６、記憶装置１０７、および表示装置１０８を備えるコンピュータと、これらのハードウェア資源を制御するプログラムによって実現することができる。
【００９７】
制御部１０２は、ＣＰＵ１０３と主記憶部１０４とを備えている。主記憶部１０４には、ＣＰＵ１０３が各種制御や演算を行うためのプログラムが予め格納されている。制御部１０２によって、図２で示した学習部４、および判定部５などの画像検査装置１の機能が実現される。
【００９８】
通信制御装置１０５は、画像検査装置１００と各種外部電子機器との間をネットワーク接続するための制御装置である。
撮像装置１０６は、光信号を画像信号に変換して、静止画像を生成することができる。より詳細には、撮像装置１０６は、ＣＣＤ（電荷結合素子：Ｃｈａｒｇｅ−Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）イメージセンサや、ＣＭＯＳイメージセンサなどの撮像素子を有し、撮像領域から入射する光を受光面に結像して、電気信号に変換する。
【００９９】
記憶装置１０７は、読み書き可能な記憶媒体と、その記憶媒体に対してプログラムやデータなどの各種情報を読み書きするための駆動装置とで構成されている。記憶装置１０７には、記憶媒体としてフラッシュメモリなどの半導体メモリやハードディスクを使用することができる。記憶装置１０７は、画像保存部１０７ａ、入力画像記憶部１０７ｂ、特徴量算出設定記憶部１０７ｃ、特徴量記憶部１０７ｄ、出力画像記憶部１０７ｅ、プログラム格納部１０７ｆ、図示しないその他の格納装置で、例えば、この記憶装置１０７内に格納されているプログラムやデータなどをバックアップするための格納装置などを有することができる。
【０１００】
画像保存部１０７ａは、学習部４が有する画像保存部４１として機能し、学習用画像を保存する。
入力画像記憶部１０７ｂは、特徴量学習部４２の入力画像記憶部４２１、および特徴量算出部５１の入力画像記憶部５１１として機能する。
【０１０１】
特徴量算出設定記憶部１０７ｃは、特徴量学習部４２の特徴量算出設定記憶部４２７として機能し、ニューラルネットワークのパラメータの値を記憶する。
特徴量記憶部１０７ｄは、特徴量学習部４２の特徴量記憶部４２４として機能し、特徴量学習部４２において算出された学習用画像（入力画像）の特徴量を記憶する。
【０１０２】
出力画像記憶部１０７ｅは、特徴量学習部４２の出力画像記憶部４２６として機能し、逆畳み込みＮＮ演算部４２５の演算結果の出力画像を記憶する。
プログラム格納部１０７ｆには、本実施の形態における学習部４による学習処理や、判定部５による判定処理などの画像検査に必要な処理を実行するための各種プログラムが格納されている。
【０１０３】
表示装置１０８は、画像検査装置１の出力部５３として機能する。表示装置１０８は、液晶ディスプレイなどにより実現される。
【０１０４】
［画像処理装置の動作］
次に、本実施の形態に係る画像検査装置１の動作を説明する。なお、以下において、学習部４による学習処理と、判定部５による判定処理とに分けて説明する。また、学習処理においては、特徴量学習部４２による特徴量学習処理と、識別器学習部４３による識別器教師なし学習処理とに分けて説明する。判定処理においては、特徴量算出部５１による特徴量算出処理と、識別部５２による判定出力処理とに分けて説明する。
【０１０５】
［特徴量学習処理］
まず、特徴量学習部４２による特徴量学習処理について、図８のフローチャートを参照して説明する。まず、撮像部２によって、検査対象が含まれている学習用画像が撮影される（ステップＳ１００）。画像取得部３は、撮影された画像を取得する。取得された学習用画像は、画像保存部４１に保存される。入力画像記憶部４２１は、画像取得部３によって取得された学習用画像を画像保存部４１から読み出して記憶する（ステップＳ１０１）。
【０１０６】
次に、畳み込みＮＮ演算部４２３は、入力画像記憶部４２１に記憶されている学習用画像を入力画像として、畳み込みニューラルネットワーク演算を複数回行い、入力画像の特徴量を出力する（ステップＳ１０２）。より詳細には、畳み込みＮＮ演算部４２３は、特徴量算出設定記憶部４２７に記憶されているパラメータの値を用いて演算を行う。なお、畳み込みＮＮ演算部４２３に入力される入力画像（学習用画像）については、予め前処理部４２２において輝度の正規化などの前処理を行ってもよい。
【０１０７】
畳み込みＮＮ演算部４２３から出力された入力画像の特徴量は、特徴量記憶部４２４に記憶される（ステップＳ１０３）。次に、逆畳み込みＮＮ演算部４２５は、特徴量記憶部４２４に記憶されている入力画像の特徴量を入力として、逆畳み込みニューラルネットワーク演算を実行する（ステップＳ１０４）。
【０１０８】
より詳細には、逆畳み込みＮＮ演算部４２５は、特徴量算出設定記憶部４２７に記憶されているパラメータの値を用いて、畳み込みＮＮ演算部４２３による畳み込みニューラルネットワーク演算と逆の演算を複数回行う。
【０１０９】
また、逆畳み込みＮＮ演算部４２５は、算出される特徴量が、入力画像記憶部４２１に記憶されていた入力画像と同じサイズの画像になるまで演算を行う。逆畳み込みＮＮ演算部４２５により復元された画像は出力画像として出力画像記憶部４２６に記憶される。
【０１１０】
次に、画像差異算出部４２８は、入力画像記憶部４２１に保存されていた入力画像と、この入力画像に対応する出力画像記憶部４２６に記憶されている出力画像との差異を算出する（ステップＳ１０５）。
【０１１１】
次に、画像差異算出部４２８により算出された入力画像と出力画像との差異が十分小さくなっていない場合には（ステップＳ１０６：ＮＯ）、特徴量算出設定更新部４２９は、特徴量算出設定記憶部４２７に記憶されている畳み込みニューラルネットワークのパラメータの値を更新する（ステップＳ１０７）。特徴量算出設定更新部４２９は、例えば、バックプロパゲーションなど公知の手法を用いて畳み込みニューラルネットワークのパラメータの値を更新すればよい。
【０１１２】
更新された畳み込みニューラルネットワークのパラメータの値は、特徴量算出設定記憶部４２７に上書きして記憶される。その後、畳み込みＮＮ演算部４２３は、更新されたパラメータの値を用いて再び畳み込みニューラルネットワーク演算を行う（ステップＳ１０２）。その後、演算結果を入力画像（学習用画像）の特徴量として記憶する（ステップＳ１０３）。そして、逆畳み込みＮＮ演算部４２５は逆畳み込みニューラルネット演算を行い、画像を復元して出力画像を求め、出力画像記憶部４２６に記憶する（ステップＳ１０４）。
【０１１３】
次に、画像差異算出部４２８は、再び入力画像と出力画像との差異を算出し（ステップＳ１０５）、差異が十分に小さい場合には（ステップＳ１０６：ＹＥＳ）、畳み込みＮＮ演算部４２３において直近に設定されているパラメータの値を、特徴量学習部４２の特徴量算出設定記憶部４２７から特徴量算出部５１の特徴量算出設定記憶部５１４へ転送する（ステップＳ１０８）。
【０１１４】
なお、特徴量学習部４２は、ステップＳ１０２からステップＳ１０７までの処理を何度か繰り返し実行する。入力画像と出力画像との差が十分に小さいときの畳み込みＮＮ演算部４２３は、図３および図４で説明した特徴量抽出器（学習済みの畳み込みニューラルネットワーク）として機能する。
【０１１５】
また、本実施の形態では、特徴量学習部４２が、上述したステップＳ１０２からステップＳ１０７までの処理を、画像が１枚入力される毎に行う場合について説明したが、［００７８］で説明したように、画像がある程度まとまった枚数蓄積される毎にこれらの処理を行うことも可能である。
【０１１６】
次に、畳み込みＮＮ演算部４２３は、画像保存部４１に保存されている、すべての学習用画像について特徴量を算出し、特徴量出力部４３０へ出力する（ステップＳ１０９）。
【０１１７】
以上説明したように、特徴量学習部４２は、学習用画像を入力画像として、畳み込みニューラルネットワークの学習を行ってパラメータの値を更新し、特徴量抽出器（学習済みの畳み込みニューラルネットワーク）を生成する。そして、特徴量学習部４２は、学習により生成した特徴量抽出器を用いて、学習用画像の特徴量を算出する。
【０１１８】
［識別器教師なし学習処理］
次に、識別器学習部４３による識別器の教師なし学習処理について、図９のフローチャートを参照して説明する。まず、特徴量入力部４３１は、特徴量学習部４２の特徴量出力部４３０から送信された学習用画像の特徴量を受信する（ステップＳ１１０）。
【０１１９】
次に、次元低減部４３２は、受信した画像の特徴量の情報量を落とさないようにしつつ、次元を減らす演算を行う（ステップＳ１１１）。次元低減部４３２は、例えば、主成分分析など公知の手法を用いて、受信した画像をより少ない次元の特徴量に圧縮する。
【０１２０】
次に、識別演算教師なし学習部４３３は、次元低減部４３２によって次元圧縮された学習用画像の特徴量をもとに、教師なし学習を行い（ステップＳ１１２）、識別器を生成する（ステップＳ１１３）。より詳細には、識別演算教師なし学習部４３３は、例えば、アイソレーションフォレスト、Ｏｎｅ−Ｃｌａｓｓ  ＳＶＭ、部分空間法、ＬＯＦなど公知の教師なし学習手法を用いて、検査対象が良品の範囲内か否かを判定する識別器を生成する。
【０１２１】
なお、識別演算教師なし学習部４３３による学習によって生成された識別器は、判定部５の識別部５２が有する識別演算部５２３で用いられる。
以上説明したように、識別器学習部４３は、学習用画像の特徴量に基づいて教師なし学習を行い、識別器を生成する。
【０１２２】
［特徴量算出処理］
次に、判定部５が有する特徴量算出部５１による特徴量算出処理について、図１０のフローチャートを参照して説明する。まず、画像取得部３から受信された判定用画像は、入力画像記憶部５１１に記憶される（ステップＳ１１４）。
【０１２３】
次に、畳み込みＮＮ演算部５１３は、特徴量算出設定記憶部５１４に記憶されている、学習済みの畳み込みニューラルネットワークのパラメータの値を読み出す（ステップＳ１１５）。その後、畳み込みＮＮ演算部５１３は、読み出したパラメータの値を用い、入力画像記憶部５１１に記憶されている判定用画像を入力として、畳み込みニューラルネットワーク演算を行う（ステップＳ１１６）。なお、畳み込みＮＮ演算部５１３は、学習部４の畳み込みＮＮ演算部４２３と同じ構成を有する。
【０１２４】
次に、畳み込みＮＮ演算部５１３による演算結果は、判定用画像の特徴量として特徴量出力部５１５から出力される（ステップＳ１１７）。なお、特徴量出力部５１５から出力される、判定用画像の特徴量は、識別部５２に入力される。
【０１２５】
以上説明したように、特徴量算出部５１は、特徴量学習部４２による特徴量学習処理で得られた学習済みの畳み込みニューラルネットワークのパラメータの値を用いて、判定用画像の特徴量を算出する。
【０１２６】
［判定出力処理］
次に、判定部５が有する識別部５２および出力部５３による判定出力処理について、図１１のフローチャートを参照して説明する。まず、識別部５２の特徴量入力部５２１には、判定部５が有する特徴量算出部５１の特徴量出力部５１５から出力される、判定用画像の特徴量が入力される（ステップＳ１１８）。
【０１２７】
次に、次元低減部５２２は、入力された特徴量の次元圧縮を行う（ステップＳ１１９）。その後、識別演算部５２３は、次元低減部５２２から出力される次元圧縮された判定用画像における特徴量を入力として、識別器学習部４３の識別演算教師なし学習部４３３による学習処理で生成された識別器を用いて、検査対象の良否を判定する（ステップＳ１２０）。
【０１２８】
そして、識別演算部５２３による判定結果は、出力部５３から出力される（ステップＳ１２１）。より詳細には、出力部５３は、例えば、液晶ディスプレイなどの表示画面に判定結果を表示したり、検査対象の製品を製造する装置に判定結果を送信する。このように、検査対象の良否についての判定結果が出力部５３から出力されることによって、不良品の選別などに利用される。
【０１２９】
このように、識別部５２は、識別器学習部４３が学習処理で生成した識別器を用いて、検査対象の良否の判定を行う。そして、出力部５３は、識別部５２による判定結果を出力する。
【０１３０】
以上説明したように、第１の実施の形態によれば、画像検査装置１は、画像の特徴量の抽出を行う畳み込み層の教師なし学習と、検査対象の良否の判定を行う識別器を生成する教師なし学習とを別個に行う。これにより、検査対象の不良品画像が無い場合、または、学習用画像において良否が区別されていない場合であっても、検査対象の画像の特徴量を自動で学習することができる画像検査装置が得られる。
【０１３１】
［第２の実施の形態］
次に、本発明の第２の実施の形態について説明する。なお、以下の説明では、上述した第１の実施の形態と同じ構成については同一の符号を付し、その説明を省略する。
【０１３２】
第１の実施の形態では、識別器学習部４３は、アイソレーションフォレスト、Ｏｎｅ−Ｃｌａｓｓ  ＳＶＭ、部分空間法、ＬＯＦなどの公知の教師なし学習手法を用いて識別器を学習し、検査対象の良否を判定する識別器を生成する場合について説明した。第２の実施の形態は、教師なし学習により識別器を生成する点では第１の実施の形態と共通する。
【０１３３】
しかし、第２の実施の形態では、画像検査装置１Ａは、学習部４Ａに識別器調整部４４をさらに備える点で第１の実施の形態とは異なる。また、第２の実施の形態では、学習用の検査対象の不良品画像がごく少量存在し、それらが良品と区別されてラベル付けされてある状況を想定している。
【０１３４】
［識別器の調整パラメータ］
第１の実施の形態で説明した上記の各種識別器は、通常、検査対象の良否の判定に関わるパラメータ（以下、「調整パラメータ」という。）を持っている。例えば、統計的検定を用いた手法では、有意水準を変えると良品と不良品との境界が変わる。第１の実施の形態で挙げた手法による識別器も、そのような調整パラメータを有する。図１３の矢印に示すように、識別器の調整パラメータを調整することで良品と不良品との境界を調整することができる。なお、図１３において、「白丸」は検査対象の良品画像の特徴量を示す。また、「バツ」は、検査対象の不良品画像の特徴量を示す。
【０１３５】
教師なし学習ではこのような調整パラメータの調整が重要となる。図１３の右側の破線に示す、良品側に近い方に境界を設定すれば、実際には不良品だった検査対象を良品と誤判定して見逃すこと（以下、「見逃し」という。）は減るが、実際には良品だった検査対象を不良品と過剰に判定すること（以下、「過剰判定」という。）が増える。一方、図１３の左側の破線に示す、不良品側に近い方に境界を設定すれば、このような過剰判定は減るが、本当の不良品を見逃すリスクは増える。
【０１３６】
識別器が有する調整パラメータを最適な値に調整することは重要であるが、その調整は困難な場合もある。しかし、不良品と確実にわかっている画像がごく少数でも存在する場合、不良品画像が全く無い場合と比較して、調整パラメータの調整が容易となる。例えば、図１３に示すような特徴量の分布状況であれば、真ん中の実線で示す位置に、良品と不良品との境界を設定すれば、少なくともこれまで収集した画像データについては不良品の見逃しは無く、過剰判定も少量に抑えられることがわかる。
【０１３７】
［画像検査装置の機能ブロック］
次に、第２の実施の形態に係る画像検査装置１Ａの機能ブロックについて、図１２を参照して説明する。以下、第１の実施の形態と異なる構成要素である識別器学習部４３および識別器調整部４４を中心に説明する。
【０１３８】
識別器学習部４３は、学習を行って生成する識別器における良否判定の精度に関わる調整パラメータが、識別器調整部４４から与えられるようになっている。識別器学習部４３は、識別器調整部４４から与えられた調整パラメータの値を用いて識別器を生成する。
【０１３９】
識別器調整部４４は、識別器の調整パラメータを調整して、検査対象における不良品を見逃す恐れと、良品を不良品と過剰判定する恐れとのバランスを図る。例えば、識別器調整部４４は、不良品の見逃しは極力避けつつ、良品を不良品と過剰判定する割合が、あるしきい値以下になるように調整してもよい。識別器調整部４４によって調整された識別器の調整パラメータの値は、識別器学習部４３に入力される。
【０１４０】
［パラメータ調整処理］
次に、識別器の調整パラメータを調整するパラメータ調整処理について、図１４のフローチャートを参照して説明する。まず、識別器調整部４４は、識別器の調整パラメータを所定の値に設定する（ステップＳ２００）。識別器調整部４４は、設定した調整パラメータの値を識別器学習部４３に入力する。そして、識別演算教師なし学習部４３３は、設定された調整パラメータの値で識別器を調整する。
【０１４１】
次に、特徴量学習部４２（畳み込みＮＮ演算部４２３）によって算出された学習用画像の特徴量が、識別器学習部４３の特徴量入力部４３１に入力される（ステップＳ２００）。なお、必要に応じて、次元低減部４３２は学習用画像の特徴量の次元圧縮を行う。
【０１４２】
次に、識別器学習部４３の識別演算教師なし学習部４３３は、調整パラメータが調整された識別器に、学習用画像の特徴量を入力して、検査対象の良否の判定を行う（ステップＳ２０２）。その後、識別演算教師なし学習部４３３は、検査対象の良否の判定結果と、実際の良品および不良品の区別を照合し、実際には不良品だった検査対象を良品と判定した場合（見逃し）の有無と、実際には良品だった検査対象を不良品と判定した場合（過剰判定）との比率を算出する（ステップＳ２０３）。
【０１４３】
識別演算教師なし学習部４３３は、見逃しがなく（ステップＳ２０４：ＹＥＳ）、かつ、過剰判定比率がしきい値以下（ステップＳ２０５：ＹＥＳ）で受容範囲内と判定した場合には、使用している調整パラメータの値を記憶する（ステップＳ２０６）。その後、判定部５の識別部５２が、調整後の調整パラメータの値で設定された識別器を用いる。
【０１４４】
一方、見逃しがあり（ステップＳ２０４：ＮＯ）、かつ、過剰判定比率がしきい値以下（ステップＳ２０７：ＹＥＳ）である場合には、識別器調整部４４は、図１３で説明したように、良品と判定される割合が少なくなる方向に調整パラメータの値を変更する（ステップＳ２０８）。その後、ステップＳ２０１からステップＳ２０３までの処理を再度実行し、見逃しがなく（ステップＳ２０４：ＹＥＳ）、過剰判定比率がしきい値以下（ステップＳ２０５：ＹＥＳ）となるまで調整パラメータの値の変更を繰り返す。
【０１４５】
また、見逃しがなく（ステップＳ２０４：ＹＥＳ）、かつ、過剰判定比率がしきい値以上（ステップＳ２０５：ＮＯ）である場合には、識別器調整部４４は、図１３で説明したように、良品と判定される割合が多くなる方向に調整パラメータの値を変更する（ステップＳ２０９）。その後、ステップＳ２０１からステップＳ２０３までの処理を再度実行し、見逃しがなく（ステップＳ２０４：ＹＥＳ）、過剰判定の比率がしきい値以下（ステップＳ２０５：ＹＥＳ）となるまで調整パラメータの値の変更を繰り返す。
【０１４６】
また、見逃しがあり（ステップＳ２０４：ＮＯ）、かつ、過剰判定比率がしきい値以上（ステップＳ２０７：ＮＯ）である場合には、その調整パラメータについては、どのように調整しても、見逃しがなく、かつ、過剰判定比率がしきい値以下となるような目標の値を得ることが困難であることを意味する。
【０１４７】
この場合において、識別器に別の調整パラメータが存在する場合には、その別の調整パラメータを利用し、再度、パラメータ調整処理を行ってもよい。なお、識別器調整部４４によって別の調整パラメータが調整されても、識別器における良否判定が改善しない場合には、特徴量学習部４２において、検査対象の画像における特徴量の学習をやり直すことを検討してもよい。
【０１４８】
上記のように、識別器調整部４４によって、調整パラメータが調整されて得られた識別器は、判定部５が有する識別部５２の識別演算部５２３で用いられる。そして、識別演算部５２３は、調整パラメータの値が調整された識別器を用いて検査対象の良否の判定を行う。
【０１４９】
以上説明したように、第２の実施の形態によれば、識別器調整部４４が、識別器における調整パラメータを調整し、検査対象における不良品を見逃す恐れと、良品を不良品と過剰判定する恐れとのバランスを図る。これにより、画像検査装置１Ａの調整をより容易に行うことができる。また、画像検査装置１Ａの良否判定の精度をより向上させることが可能となる。
【０１５０】
［第３の実施の形態］
次に、本発明の第３の実施の形態について説明する。なお、以下の説明では、上述した第１および第２の実施の形態と同じ構成については同一の符号を付し、その説明を省略する。
【０１５１】
第１および第２の実施の形態では、識別器の学習に、教師なし学習を用いる場合について説明した。これに対し、第３の実施の形態では、識別器学習部４３Ａは、識別演算教師あり学習部４３５を有し、教師あり学習により識別器を生成する点で第１および第２の実施の形態とは異なる。なお、第３の実施の形態は、第２の実施の形態と同様、学習用の検査対象の不良品画像がごく少量存在し、それらが良品画像とは区別されて、ラベル付けされている状況を想定している。
【０１５２】
［教師あり学習による識別器の生成］
検査対象の画像の良否を示すラベルが付与された少数の不良品の画像と、良品の画像が確保できていれば、ＳＶＭ、ランダムフォレストや、ブースティングのような教師あり学習により、少量の学習用の画像サンプルからロバストな識別器が生成できる。
【０１５３】
例えば、ＳＶＭは、識別に関与する最小限のデータのみを用い、なるべく識別境界周辺に余白が生成されるような識別器を生成する。このため、未知のデータに対しても安定した識別結果を得ることができる。
【０１５４】
ランダムフォレストは多数の子識別器を組み合わせた識別器であるが、これらの子識別器として決定木を利用しているため、少数のサンプルも矮小化せず正しく識別することができる。
【０１５５】
ブースティングも多数の子識別器を組み合わせた識別器であるが、学習用の各画像に重みを付与できるという特徴も持つため、少量の不良品の画像に大きな重みを与えることにより、少量の不良品の画像に対しても安定した識別を行うことが期待できる。
【０１５６】
［識別器学習部および識別部の機能ブロック］
図１５は、識別器学習部４３Ａおよび識別部５２の機能ブロック図である。
識別器学習部４３Ａは、特徴量入力部４３１、次元低減部４３２、良否情報入力部４３４、および識別演算教師あり学習部４３５を備える。
【０１５７】
良否情報入力部４３４は、特徴量入力部４３１に入力された学習用画像の特徴量に対応する検査対象の画像の良否を示す情報を入力する。
【０１５８】
識別演算教師あり学習部４３５は、学習用画像の特徴量と、その特徴量の元となった学習用画像が、良品を示す画像か、不良品を示す画像かの情報とを入力として、公知の教師あり学習手法により識別器を生成する。
【０１５９】
識別演算教師あり学習部４３５が用いる公知の教師あり学習手法としては、例えば、非特許文献８に記載されているＳＶＭ、非特許文献９に記載されているランダムフォレスト、非特許文献１０に記載されているブースティングなどがある。
【０１６０】
識別演算教師あり学習部４３５で生成された識別器は、識別部５２の識別演算部５２３で用いられる。そして、識別演算部５２３は、判定用画像の特徴量を入力として、教師あり学習で生成された識別器を用いて検査対象の良否の判定を行う。
【０１６１】
［識別器教師あり学習処理］
次に、識別器教師あり学習処理について、図１６のフローチャートを参照して説明する。まず、識別器学習部４３Ａの特徴量入力部４３１は、特徴量学習部４２の畳み込みＮＮ演算部４２３による演算結果で得られた学習用の検査対象の画像における特徴量を、特徴量出力部４３０から受信する（ステップＳ３００）。
【０１６２】
次に、次元低減部４３２は、特徴量入力部４３１が受信した学習用画像の特徴量の次元圧縮を行う（ステップＳ３０１）。その後、識別演算教師あり学習部４３５は、次元圧縮された学習用画像の特徴量と、良否情報入力部４３４を介して入力される、対応する学習用画像の良否を示す情報とを入力として、教師あり学習を行って識別器を学習する（ステップＳ３０２）。
【０１６３】
識別演算教師あり学習部４３５は、例えば、ＳＶＭなどの公知の教師あり学習手法を用いて識別器を学習する。そして、識別演算教師あり学習部４３５は、検査対象の良否を判定する識別器を生成する（ステップＳ３０３）。
【０１６４】
生成された識別器は、判定部５が有する識別部５２の識別演算部５２３で用いられる。識別演算部５２３は、教師あり学習で生成された識別器を用いて、判定用画像の特徴量を入力として、検査対象の良否の判定を行う。そして、出力部５３は、判定結果を液晶ディスプレイなどの表示画面に表示する。
【０１６５】
以上説明したように、第３の実施の形態によれば、教師あり学習を行って識別器を生成するため、検査対象の不良品画像が少数しか無い場合であっても、検査対象の良否をより正しく判定できる識別器を学習して生成することができる。
【０１６６】
以上、本発明の画像検査装置および画像検査方法における実施の形態について説明したが、本発明は説明した実施の形態に限定されるものではなく、請求項に記載した発明の範囲において当業者が想定し得る各種の変形を行うことが可能である。
【０１６７】
例えば、説明した実施の形態では、撮像部２および画像取得部３は、学習部４と判定部５とで共有している場合について説明したが、学習部４と判定部５とはそれぞれ独立して撮像部２および画像取得部３を有していてもよい。
【０１６８】
また、説明した実施の形態では、学習部４と判定部５とは同一の計算機に実装されている場合について説明したが、学習部４と判定部５とはそれぞれ別々の計算機に実装されていてもよい。
【符号の説明】
【０１６９】
１、１Ａ、１００…画像検査装置、２…撮像部、３…画像取得部、４…学習部、５…判定部、４１…画像保存部、４２…特徴量学習部、４３…識別器学習部、５１…特徴量算出部、５２…識別部、５３…出力部、１０１…バス、１０２…制御部、１０３…ＣＰＵ、１０４…主記憶部、１０５…通信制御装置、１０６…撮像装置、１０７…記憶装置、１０８…表示装置。
【図１】
2019087181.tif 000003
【図２】
2019087181.tif 000004
【図３】
2019087181.tif 000005
【図４】
2019087181.tif 000006
【図５】
2019087181.tif 000007
【図６】
2019087181.tif 000008
【図７】
2019087181.tif 000009
【図８】
2019087181.tif 000010
【図９】
2019087181.tif 000011
【図１０】
2019087181.tif 000012
【図１１】
2019087181.tif 000013
【図１２】
2019087181.tif 000014
【図１３】
2019087181.tif 000015
【図１４】
2019087181.tif 000016
【図１５】
2019087181.tif 000017
【図１６】
2019087181.tif 000018
【図１７】
2019087181.tif 000019
【図１８】
2019087181.tif 000020