(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-08-22
(45)【発行日】2022-08-30
(54)【発明の名称】画像検査器生成装置、画像検査装置、画像検査器生成プログラム、及び画像検査器生成方法
(51)【国際特許分類】
G06T 7/00 20170101AFI20220823BHJP
G06N 3/04 20060101ALI20220823BHJP
【FI】
G06T7/00 350B
G06N3/04
(21)【出願番号】P 2018242918
(22)【出願日】2018-12-26
【審査請求日】2020-12-11
【審判番号】
【審判請求日】2021-11-22
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100108213
【氏名又は名称】阿部 豊隆
(72)【発明者】
【氏名】加藤 豊
【合議体】
【審判長】千葉 輝久
【審判官】渡辺 努
【審判官】新井 寛
(56)【参考文献】
【文献】特開2018-22216(JP,A)
【文献】国際公開第2014/38408(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T7/00
G06N3/04
(57)【特許請求の範囲】
【請求項1】
検査オブジェクトに対する検査基準と学習用画像とに基づく機械学習によって、画像に含まれる前記検査オブジェクトを検査する画像検査器を生成する画像検査器生成部を備え、
前記検査基準は、前記検査オブジェクトの状態変数、該状態変数の状態値、及び検査オブジェクトが分類されるクラスの情報を含み、
前記画像検査器は、検出器と分類器とを含み、
前記画像検査器生成部は、前記画像に含まれる前記検査オブジェクトを検出する前記検出器を生成する検出器生成部と、前記画像において前記検出された検査オブジェクトの状態を分類する前記分類器を生成する分類器生成部と、を含
み、
前記分類器生成部は、前記画像において前記検出された検査オブジェクトの部分画像であって、前記画像から切り出された部分画像を入力とする機械学習によって、前記分類器を生成する、
画像検査器生成装置。
【請求項2】
前記検査基準を入力するための入力部をさらに備える、
請求項
1に記載の画像検査器生成装置。
【請求項3】
請求項1
又は2に記載の画像検査器生成装置によって生成された前記画像検査器を備え、
前記画像検査器を用いて検査用画像を検査する、
画像検査装置。
【請求項4】
前記画像検査器は、複数の前記検査基準に基づく機械学習によって生成され、
前記画像検査器を用いて検査した結果、前記検査用画像に欠陥ありと判定されたときに、前記複数の検査基準のうち、欠陥ありと判定される原因となった検査基準を出力する出力部をさらに備える、
請求項
3に記載の画像検査装置。
【請求項5】
コンピュータに実行させる画像検査器生成プログラムであって、
検査オブジェクトに対する検査基準と学習用画像とに基づく機械学習によって、画像に含まれる前記検査オブジェクトを検査する画像検査器を生成する画像検査器生成ステップ、を含み、
前記検査基準は、前記検査オブジェクトの状態変数、該状態変数の状態値、及び検査オブジェクトが分類されるクラスの情報を含み、
前記画像検査器は、検出器と分類器とを含み、
前記画像検査器生成ステップは、前記画像に含まれる前記検査オブジェクトを検出する前記検出器を生成する検出器生成ステップと、前記画像において前記検出された検査オブジェクトの状態を分類する前記分類器を生成する分類器生成ステップと、を含
み、
前記分類器生成ステップは、前記画像において前記検出された検査オブジェクトの部分画像であって、前記画像から切り出された部分画像を入力とする機械学習によって、前記分類器を生成することを含む、
画像検査器生成プログラム。
【請求項6】
前記検査基準を入力するための入力ステップをさらに含む、
請求項
5に記載の画像検査器生成プログラム。
【請求項7】
検査オブジェクトに対する検査基準と学習用画像とに基づく機械学習によって、画像に含まれる前記検査オブジェクトを検査する画像検査器を生成する画像検査器生成ステップ、を含み、
前記検査基準は、前記検査オブジェクトの状態変数、該状態変数の状態値、及び検査オブジェクトが分類されるクラスの情報を含み、
前記画像検査器は、検出器と分類器とを含み、
前記画像検査器生成ステップは、前記画像に含まれる前記検査オブジェクトを検出する前記検出器を生成する検出器生成ステップと、前記画像において前記検出された検査オブジェクトの状態を分類する前記分類器を生成する分類器生成ステップと、を含
み、
前記分類器生成ステップは、前記画像において前記検出された検査オブジェクトの部分画像であって、前記画像から切り出された部分画像を入力とする機械学習によって、前記分類器を生成することを含む、
画像検査器生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像検査器生成装置、画像検査装置、画像検査器生成プログラム、及び画像検査器生成方法に関する。
【背景技術】
【0002】
従来、分類器生成装置として、欠陥が写った複数の第1画像を含む第1教師データに基づいて深層学習によりCNN(Convolutional Neural Network)を生成するCNN生成手段と、CNN生成手段により生成されたCNNを構成する中間層に、欠陥が写った複数の第2画像それぞれを入力し、当該複数の第2画像それぞれについての複数種類の特徴量を取得する特徴量取得手段と、特徴量取得手段により取得された複数種類の特徴量の少なくとも一部の種類の特徴量を含む第2教師データに基づいて機械学習により分類器を生成する分類器生成手段と、を備えるものが知られている(特許文献1参照)。特許文献1には、この分類器生成装置により生成された分類器により、検査対象を撮像した画像であって欠陥が映った画像を分類することが記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載された分類器のように、深層学習により生成したCNNに基づいて生成された分類器を用い、画像を検査する画像検査装置の場合、分類器による画像の分類及び検査の精度を高めるためには、多種多様な学習用画像を用意し、当該学習用画像の深層学習に基づいて分類器を生成する必要があった。このため、検査精度の高い画像検査装置では、大量の画像が必要であった。
【0005】
そこで、本発明は、大量の画像を必要とすることなく検査精度の高い画像検査器を生成することのできる画像検査器生成装置、画像検査器生成プログラム、及び画像検査器生成方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の一態様に係る画像検査器生成装置は、検査オブジェクトに対する検査基準と学習用画像とに基づく機械学習によって、画像に含まれる検査オブジェクトを検査する画像検査器を生成する画像検査器生成部を備え、検査基準は、検査オブジェクトの状態変数、当該状態変数の状態値、及び検査オブジェクトが分類されるクラスの情報を含む。
【0007】
この態様によれば、検査オブジェクトに対する検査基準と学習用画像とに基づく機械学習によって、画像に含まれる検査オブジェクトを検査する画像検査器が生成され、検査基準は、検査オブジェクトの状態変数、当該状態変数の状態値、及び検査オブジェクトが分類されるクラスの情報を含む。このように、論理情報である検査基準と学習用画像とに基づいて機械学習を行うことにより、学習用画像に基づいて機械学習を行う場合と比較して、機械学習の学習効率を向上させることが可能になる。従って、従来と比較して、大量の学習用画像を必要とせずに検査精度の高い画像検査器を生成することができる。
【0008】
前述した態様において、画像検査器は、検出器と分類器とを含み、画像検査器生成部は、画像に含まれる検査オブジェクトを検出する検出器を生成する検出器生成部と、画像において検出された検査オブジェクトの状態を分類する分類器を生成する分類器生成部と、を含んでもよい。
【0009】
この態様によれば、画像に含まれる検査オブジェクトを検出する検出器が生成され、画像において検出された検査オブジェクトの状態を分類する分類器が生成される。このように、画像に含まれる検査オブジェクトを検出する検出器と、検出された検査オブジェクトの状態を分類する分類器とを分けて生成することにより、機械学習による検出器の生成には、検査オブジェクトの状態の異なるバリエーションの学習用画像が不要である一方、機械学習による分類器の生成には、検査オブジェクトの数、位置、範囲等の異なるバリエーションの学習用画像が不要となる。
【0010】
前述した態様において、分類器生成部は、画像において検出された検査オブジェクトの部分画像に基づく機械学習によって、分類器を生成してもよい。
【0011】
この態様によれば、画像において検出された検査オブジェクトの部分画像に基づく機械学習によって、分類器が生成される。これにより、学習用画像における検査オブジェクトの数、位置、範囲等は捨象されるので、検査オブジェクトの状態の異なるバリエーションの部分画像に基づく機械学習によって分類器を生成することにより、大量の学習用画像を必要とせずに、分類器を生成する分類器生成部を容易に実現することができる。
【0012】
前述した態様において、検査基準を入力するための入力部をさらに備えてもよい。
【0013】
この態様によれば、検査基準を入力するための入力部をさらに備える。これにより、検査基準を簡易に設定することができる。
【0014】
また、本発明の他の態様に係る画像検査装置は、前述した画像検査器生成装置によって生成された画像検査器を備え、画像検査器を用いて検査用画像を検査する。
【0015】
この態様によれば、画像検査器を用いて検査用画像が検査される。これにより、検査精度の高い画像検査装置を容易に実現することができる。
【0016】
前述した態様において、画像検査器は、複数の検査基準に基づく機械学習によって生成され、画像検査器を用いて検査した結果、検査用画像に欠陥ありと判定されたときに、複数の検査基準のうち、欠陥ありと判定される原因となった検査基準を出力する出力部をさらに備えてもよい。
【0017】
この態様によれば、画像検査器を用いて検査した結果、検査用画像に欠陥ありと判定されたときに、複数の検査基準のうち、欠陥ありと判定される原因となった検査基準が出力される。これにより、欠陥ありと判定されたときに、その原因となった検査基準を出力しない場合と比較して、画像検査器を用いた検査結果は説明性を有する。
【0018】
また、本発明の他の態様に係る画像検査器生成プログラムは、コンピュータに実行させる画像検査器生成プログラムであって、検査オブジェクトに対する検査基準と学習用画像とに基づく機械学習によって、画像に含まれる検査オブジェクトを検査する画像検査器を生成する画像検査器生成ステップを含み、検査基準は、検査オブジェクトの状態変数、当該状態変数の状態値、及び検査オブジェクトが分類されるクラスの情報を含む。
【0019】
この態様によれば、検査オブジェクトに対する検査基準と学習用画像とに基づく機械学習によって、画像に含まれる検査オブジェクトを検査する画像検査器が生成され、検査基準は、検査オブジェクトの状態変数、当該状態変数の状態値、及び検査オブジェクトが分類されるクラスの情報を含む。このように、論理情報である検査基準と学習用画像とに基づいて機械学習を行うことにより、学習用画像に基づいて機械学習を行う場合と比較して、機械学習の学習効率を向上させることが可能になる。従って、従来と比較して、大量の学習用画像を必要とせずに検査精度の高い画像検査器を生成することができる。
【0020】
前述した態様において、画像検査器は、検出器と分類器とを含み、画像検査器生成ステップは、画像に含まれる検査オブジェクトを検出する検出器を生成する検出器生成ステップと、画像において検出された検査オブジェクトの状態を分類する分類器を生成する分類器生成ステップと、を含んでもよい。
【0021】
この態様によれば、画像に含まれる検査オブジェクトを検出する検出器が生成され、画像において検出された検査オブジェクトの状態を分類する分類器が生成される。このように、画像に含まれる検査オブジェクトを検出する検出器と、検出された検査オブジェクトの状態を分類する分類器とを分けて生成することにより、機械学習による検出器の生成には、検査オブジェクトの状態の異なるバリエーションの学習用画像が不要である一方、機械学習による分類器の生成には、検査オブジェクトの数、位置、範囲等の異なるバリエーションの学習用画像が不要となる。
【0022】
前述した態様において、分類器生成ステップは、画像において検出された検査オブジェクトの部分画像に基づく機械学習によって、分類器を生成することを含んでもよい。
【0023】
この態様によれば、画像において検出された検査オブジェクトの部分画像に基づく機械学習によって、分類器が生成される。これにより、学習用画像における検査オブジェクトの数、位置、範囲等は捨象されるので、検査オブジェクトの状態の異なるバリエーションの部分画像に基づく機械学習によって分類器を生成することにより、大量の学習用画像を必要とせずに、分類器を生成する分類器生成ステップを容易に実現することができる。
【0024】
前述した態様において、検査基準を入力するための入力ステップをさらに含んでもよい。
【0025】
この態様によれば、検査基準を入力するための入力ステップをさらに含む。これにより、検査基準を簡易に設定することができる。
【0026】
また、本発明の他の態様に係る画像検査器生成方法は、検査オブジェクトに対する検査基準と学習用画像とに基づく機械学習によって、画像に含まれる検査オブジェクトを検査する画像検査器を生成する画像検査器生成ステップを含み、検査基準は、検査オブジェクトの状態変数、当該状態変数の状態値、及び検査オブジェクトが分類されるクラスの情報を含む。
【0027】
この態様によれば、検査オブジェクトに対する検査基準と学習用画像とに基づく機械学習によって、画像に含まれる検査オブジェクトを検査する画像検査器が生成され、検査基準は、検査オブジェクトの状態変数、当該状態変数の状態値、及び検査オブジェクトが分類されるクラスの情報を含む。このように、論理情報である検査基準と学習用画像とに基づいて機械学習を行うことにより、学習用画像に基づいて機械学習を行う場合と比較して、機械学習の学習効率を向上させることが可能になる。従って、従来と比較して、大量の学習用画像を必要とせずに検査精度の高い画像検査器を生成することができる。
【発明の効果】
【0028】
本発明によれば、大量の画像を必要とすることなく検査精度の高い画像検査器を生成することができる。
【図面の簡単な説明】
【0029】
【
図1】
図1は、一実施形態に係る画像検査システムの概略構成を例示する構成図である。
【
図2】
図2は、
図1に示した画像検査器を生成する概略構成を例示する図である。
【
図3】
図3は、機械学習による画像検査器の生成の第1実施例を例示する図である。
【
図4】
図4は、機械学習による画像検査器の生成の第2実施例を例示する図である。
【
図5】
図5は、機械学習による画像検査器33の生成の第3実施例を例示する図である。
【
図6】
図6は、一実施形態に係る画像検査器生成装置の画像検査器を生成する概略動作を示すフローチャートである。
【発明を実施するための形態】
【0030】
以下に本発明の実施形態を説明する。以下の図面の記載において、同一または類似の部分には同一または類似の符号で表している。但し、図面は模式的なものである。従って、具体的な寸法等は以下の説明を照らし合わせて判断するべきものである。また、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることは勿論である。さらに、本発明の技術的範囲は、当該実施形態に限定して解するべきではない。
【0031】
まず、
図1から
図5を参照しつつ、本発明の一実施形態に係る画像検査器生成装置及び画像検査装置の構成の一例について説明する。
図1は、一実施形態に係る画像検査システム100の概略構成を例示する構成図である。
図2は、
図1に示した画像検査器33を生成する概略構成を例示する図である。
図3は、機械学習による画像検査器33の生成の第1実施例を例示する図である。
図4は、機械学習による画像検査器33の生成の第2実施例を例示する図である。
図5は、機械学習による画像検査器33の生成の第3実施例を例示する図である。
【0032】
図1に示すように、画像検査システム100は、ネットワークNWと、画像検査器生成装置50と、画像検査装置90と、を備える。
【0033】
画像検査器生成装置50と画像検査装置90とは、ネットワークNWを介して相互に通信可能に接続されている。ネットワークNWは、例えば、インターネット、LAN(Local Area Network)、専用線、電話回線、企業内ネットワーク、ブルートゥース(登録商標)、Wi-Fi(Wireless Fidelity)、移動体通信網、その他の通信回線、またはこれらの組合せ等である。また、画像検査器生成装置50及び画像検査装置90とネットワークNWとの間の接続は、それぞれ、有線であるか無線であるかを問わない。
【0034】
本実施形態では、
図1において画像検査システム100に含まれるネットワークNWが1つである例を示したが、これに限定されるものではない。画像検査システム100に含まれるネットワークは、例えば2つ以上であってもよい。
【0035】
画像検査器生成装置50は、画像検査装置90の上位コントローラの役割を果たすコンピュータである。画像検査器生成装置50は、例えば、PLC(Programmable Logic Controller)等のコントローラを含んで構成される。
【0036】
画像検査器生成装置50は、例えば、通信部10と、入力部20と、記憶部30と、制御部40と、を備える。また、画像検査器生成装置50は、画像検査器生成装置50の各部の間で信号やデータを伝送するように構成されたバス51をさらに備える。
【0037】
通信部10は、ネットワークNWを介してデータを通信(送受信)するように構成されている。より詳細には、通信部10は、1つ又は複数の所定の通信方式に基づいて、ネットワークNWに接続される画像検査装置90とネットワークNWを介して通信可能に構成されている。
【0038】
入力部20は、後述する検査基準32を入力するためのものである。より詳細には、入力部20は、利用者(ユーザ)の操作によって、検査基準を画像検査器生成装置50に入力できるように構成されている。入力部20は、例えば、インターフェースと、外部の機器である入力装置と、を含んで構成される。インターフェースは、外部の機器との間でデータや信号をやり取りするように構成され、例えば、USB(Universal Serial Bus)、HDMI(登録商標)(High-Definition Mutimedia Interface)、IEEE1394等の規格化されたインターフェースの接続端子を含んでいる。入力装置は、例えば、キーボード、キーパッド、マウス、トラックボール、タッチパネル、マイク等の装置である。
【0039】
例えば、利用者が、キーボード、キーパッド、マウス、トラックボール、タッチパネル、マイク等の入力装置を操作(マイクを用いた音声操作を含む)したときに、入力部20は、当該操作に対応するデータ又は信号を出力する。入力部20が出力したデータ又は信号は、制御部40に入力される。制御部40がこのデータまた信号に基づいて検査基準32を生成することで、画像検査器生成装置50に検査基準を入力することが可能になる。このように、検査基準32を入力するための入力部20を備えることにより、検査基準32を簡易に設定することができる。
【0040】
記憶部30は、プログラムやデータ等を記憶するように構成されている。記憶部30は、例えば、ハードディスクドライブ、ソリッドステートドライブ等を含んで構成される。記憶部30は、制御部40が実行する各種プログラムやプログラムの実行に必要なデータ等をあらかじめ記憶している。
【0041】
また、記憶部30は、学習用データ31、複数の検査基準32、及び複数の画像検査器33を記憶している。学習用データ31は、複数の学習用画像と、それぞれが対応する学習用画像に付与される教師データとを含んでいる。各検査基準32は、画像に含まれる検査オブジェクトに対するものである。検査基準32は、検査オブジェクトごとに一つ又は複数が設定されている。
【0042】
制御部40は、通信部10、入力部20、及び記憶部30等、画像検査器生成装置50の各部の動作を制御するように構成されている。また、制御部40は、記憶部30に記憶されたプログラムを実行する等によって、後述する各機能を実現するように構成されている。制御部40は、例えば、CPU(Central Processing Unit)等のプロセッサ、ROM(Read Only Memory)、RAM(Random Access Memory)等のメモリ、及びバッファ等の緩衝記憶装置を含んで構成される。
【0043】
また、制御部40は、その機能構成として、例えば、画像検査器生成部45を備える。
【0044】
画像検査器生成部45は、検査オブジェクトに対する検査基準32と学習用データ31に含まれる学習用画像とに基づく機械学習によって、画像に含まれる検査オブジェクトを検査する画像検査器33を生成するように構成されている。より詳細には、画像検査器33は、検出器33aと分類器33bとを含んでおり、画像検査器生成部45は、検出器生成部41と分類器生成部42とを含んでいる。
【0045】
検出器生成部41は、検査基準32と学習用データ31に含まれる学習用画像とに基づく機械学習によって、画像に含まれる検査オブジェクトを検出する検出器33aを生成するように構成されている。
【0046】
分類器生成部42は、検査基準32と学習用データ31に含まれる学習用画像とに基づく機械学習によって、検査用画像において検出された検査オブジェクトの状態を分類する分類器33bを生成するように構成されている。
【0047】
このようにして、検出器33aと分類器33bとを含む画像検査器33が生成される。制御部40は、検査オブジェクトごとに画像検査器33を生成し、生成された画像検査器33は、記憶部30に記憶される。
【0048】
このように、画像に含まれる検査オブジェクトを検出する検出器33aと、検出された検査オブジェクトの状態を分類する分類器33bとを分けて生成することにより、機械学習による検出器33aの生成には、検査オブジェクトの状態の異なるバリエーションの学習用画像が不要である一方、機械学習による分類器33bの生成には、検査オブジェクトの数、位置、範囲等の異なるバリエーションの学習用画像が不要となる。従って、従来と比較して、大量の学習用画像を必要とせずに検査精度の高い画像検査器33を生成することができる。
【0049】
ここで、
図2から
図5を用い、機械学習による画像検査器の生成について説明する。以下の説明において、「以外」を記号「¬」を用いて表記する場合がある。
【0050】
利用者(ユーザ)の操作によって検査基準の情報が入力されると、制御部40は、検査オブジェクトに対する検査基準32を生成する。生成された検査基準32は、記憶部30に記憶される。検査基準32は、例えば、「検査オブジェクトAの状態変数Xが状態値X1ならばNG」や、「検査オブジェクトBの状態変数Yが状態値Y1ならばNG」といった形式で記述される。なお、検査基準32は、検査オブジェクトに対して一つである場合に限定されず、複数の検査基準32が入力され、設定されていてもよい。
【0051】
検査基準32は、「検査オブジェクト」、「状態変数」、当該状態変数の「状態値」、及び画像の分類されるクラスの情報を含んでいる。制御部40は、例えば、利用者(ユーザ)によって入力された「検査オブジェクト」、「状態変数」、及び状態変数の「状態値」の情報を用いて、検査オブジェクトを「OK」クラス及び「NG」クラスの2つのクラスのうち、一方の「NG」クラスに分類する検査基準32を生成するようにしてもよい。
【0052】
このように、論理情報である検査基準32と学習用画像とに基づいて機械学習を行うことにより、学習用画像に基づいて機械学習を行う場合と比較して、機械学習の学習効率を向上させることが可能になる。従って、従来と比較して、大量の学習用画像を必要とせずに検査精度の高い画像検査器33を生成することができる。
【0053】
検査オブジェクトは、画像に映る対象物の一部である。検査オブジェクトは、例えば、ねじ穴、ケーブル、針、容器、リング、電極、切削面、賞味期限印字等である。
【0054】
状態変数は、当該検査オブジェクトの変数である。状態変数は、例えば、幅、長さ、面積、大きさ、方向、数、色、形状、表面状態、日付等である。
【0055】
状態値は、当該状態変数の値である。状態値は、例えば、100画素、平行、30度、4個、赤、変数、バリあり、傷あり、汚れあり、曇りあり、10月17日等である。
【0056】
検出器33a及び分類器33bは、任意の機械学習モデルのアルゴリズムを用いて生成される。検出器33aは、例えば
図2に示す第1ニューラルネットワークNN1を用いて生成され、分類器33bは例えば
図2に示す第2ニューラルネットワークNN2を用いて生成される。
【0057】
第1ニューラルネットワークNN1は、学習用画像に含まれる検査オブジェクト、例えば「検査オブジェクトA」を検出するためのニューラルネットワークである。第1ニューラルネットワークNN1は、あらかじめ学習して生成された物体認識ニューラルネットワークORNNを転移学習することによって得る。物体認識ニューラルネットワークORNNは、例えばSSD(Single Shot multibox Detector)等の物体検出アルゴリズムを用い、「検査オブジェクトA」を含む一般物体を検出するように学習したものである。
【0058】
転移学習は、学習用データ31に含まれる学習用画像LGを第1ニューラルネットワークNN1に入力し、第1ニューラルネットワークNN1が「検査オブジェクトA」を検出するように学習することによって、行われる。
【0059】
具体的には、第1ニューラルネットワークNN1の検出結果は、第1判定器DD1に入力される。第1判定器DD1において、第1ニューラルネットワークNN1の検出結果と、学習用データ31に含まれ、学習用画像LGに対応する第1教師データLD1とを比較し、一致するか否かが判定される。第1教師データLD1は、学習用画像LGに付与されたアノテーション、つまり、関連情報である。
図2に示す例では、第1教師データLD1として、「OK」又は「NG」のラベルが付与されている。そして、第1判定器DD1の判定結果を第1ニューラルネットワークNN1にフィードバックすることで、第1ニューラルネットワークNN1の重みが修正される。このような機械学習を複数の学習用画像LGについて行うことによって、「検査オブジェクトA」を検出する第1ニューラルネットワークNN1が生成される。
【0060】
一方、第2ニューラルネットワークNN2は、検査オブジェクトの状態、例えば「検査オブジェクトA」の状態変数「X」の状態、を分類するためのニューラルネットワークである。第2ニューラルネットワークNN2は、あらかじめ学習して生成された状態認識ニューラルネットワークSRNNを転移学習することによって得る。状態認識ニューラルネットワークSRNNは、所定の状態分類アルゴリズムを用い、「検査オブジェクトA」の状態変数「X」の状態を含む一般状態を分類するように学習したものである。
【0061】
転移学習は、学習用データ31に含まれる学習用画像LGを第2ニューラルネットワークNN2に入力し、第2ニューラルネットワークNN2が「検査オブジェクトA」の状態変数「X」の状態を分類するように学習することによって、行われる。あるいは、学習用画像LGの入力に代えて、第1ニューラルネットワークNN1の検出結果から学習用画像LGにおける「検査オブジェクトA」の位置、個数等の情報が得られるので、この情報を用いて学習用画像LGから「検査オブジェクトA」の部分画像PLGを切り出し、この部分画像PLGを第2ニューラルネットワークNN2に入力してもよい。これにより、学習用画像LGにおける検査オブジェクトの数、位置、範囲等は捨象されるので、検査オブジェクトの状態の異なるバリエーションの部分画像PLGに基づく機械学習によって分類器33bを生成することにより、大量の学習用画像LGを必要とせずに、分類器33bを生成する分類器生成部42を容易に実現することができる。
【0062】
第2ニューラルネットワークNN2の分類結果は、第2判定器DD2に入力される。第2判定器DD2において、第2ニューラルネットワークNN2の分類結果と、学習用データ31に含まれ、学習用画像LGに対応する第2教師データLD2とを比較し、一致するか否かが判定される。第2教師データLD2は、第1教師データLD1と同様に、学習用画像LGに付与された関連情報であり、
図2に示す例では、第2教師データLD2として、「X1」又は「¬X1」のラベルが付与されている。そして、第2判定器DD2の判定結果を第2ニューラルネットワークNN2にフィードバックすることで、第2ニューラルネットワークNN2の重みが修正される。このような機械学習を複数の学習用画像LGについて行うことによって、「検査オブジェクトA」の状態変数「X」の状態を分類する第2ニューラルネットワークNN2が生成される。
【0063】
図2に示す例では、第1ニューラルネットワークNN1及び第2ニューラルネットワークNN2を用いて検出器33a及び分類器33bを生成する例を示したが、これに限定されるものではない。検出器33a及び分類器33bを生成する機械学習モデルのアルゴリズムとして、例えば、サポートベクターマシン、ロジスティック回帰、ディープニューラルネットワーク等を用いるようにしてもよい。
【0064】
(第1実施例)
第1実施例では、対象物のねじ穴を検査する画像検査器33を生成する場合について、説明する。
図3に示すように、学習用画像LG1は、ねじ穴SH1,SH2,SH3の画像を含んでいる。検査基準として、例えば、「3つのねじ穴の位置が所定の位置になければNG」及び「ねじ穴の形状が変形していたらNG」が入力され、設定されている。この場合、
図2に示す第1ニューラルネットワークNN1は、学習用画像LG1に含まれるねじ穴SH1,SH2,SH3を検出する。学習用画像LG1に対応する第1教師データLD1として「OK」又は「NG」のラベルが付与されている。第1ニューラルネットワークNN1のねじ穴SH1,SH2,SH3の検出結果と、第1教師データLD1のラベルとを比較した判定結果が、第1ニューラルネットワークNN1にフィードバックされる。これにより、ねじ穴SH1,SH2,SH3の検出率を高めるとともに、ねじ穴SH1,SH2,SH3の所定位置の許容範囲を学習することができる。
【0065】
また、学習用画像LG1のねじ穴SH1,SH2,SH3の部分画像が、第2ニューラルネットワークNN2に入力され、第2ニューラルネットワークNN2は、ねじ穴SH1,SH2,SH3の形状を分類する。学習用画像LG1に対応する第2教師データLD2として「変形」又は「¬変形」のラベルが付与されている。第2ニューラルネットワークNN2のねじ穴SH1,SH2,SH3の形状の分類結果と、第2教師データLD2のラベルとを比較した判定結果が、第2ニューラルネットワークNN2にフィードバックされる。これにより、ねじ穴SH1,SH2,SH3の形状の変形有無の分類精度を高めるとともに、ねじ穴SH1,SH2,SH3の形状変形の許容範囲を学習することができる。
【0066】
(第2実施例)
第2実施例では、対象物の賞味期限印字を検査する画像検査器33を生成する場合について、説明する。
図4に示すように、学習用画像LG2は、賞味期限印字DA1の画像を含んでいる。検査基準として、例えば、「賞味期限印字の位置が所定の位置になければNG」及び「賞味期限印字の文字列が“2018.10.30”でなければNG」が入力され、設定されている。この場合、
図2に示す第1ニューラルネットワークNN1は、学習用画像LG2に含まれる賞味期限印字DA1を検出する。学習用画像LG2に対応する第1教師データLD1として「OK」又は「NG」のラベルが付与されている。第1ニューラルネットワークNN1の賞味期限印字DA1の検出結果と、第1教師データLD1のラベルとを比較した判定結果が、第1ニューラルネットワークNN1にフィードバックされる。これにより、例えば文字のようにも見える図柄の水滴と文字列とを区別し、賞味期限印字DA1の検出率を高めるとともに、賞味期限印字DA1の印字位置及び所定位置の許容範囲を学習することができる。
【0067】
また、学習用画像LG2の賞味期限印字DA1の部分画像が、第2ニューラルネットワークNN2に入力され、第2ニューラルネットワークNN2は、賞味期限印字DA1の文字列を分類する。学習用画像LG2に対応する第2教師データLD2として「2018.10.30」又は「¬2018.10.30」のラベルが付与されている。第2ニューラルネットワークNN2の賞味期限印字DA1の文字列の分類結果と、第2教師データLD2のラベルとを比較した判定結果が、第2ニューラルネットワークNN2にフィードバックされる。これにより、例えば“1”と“7”等の間違いやすい文字を識別し、賞味期限印字DA1の文字列の分類精度又は識別精度を高めるとともに、賞味期限印字DA1の文字列の文字パターンを学習することができる。
【0068】
(第3実施例)
第3実施例では、対象物の塗布材料APPを検査する画像検査器33を生成する場合について、説明する。
図5に示すように、学習用画像LG3は、塗布材料APPの画像を含んでいる。検査基準として、例えば、「塗布材料APPの最小幅が所定の値VA1未満であればNG」が入力され、設定されている。この場合、
図2に示す第1ニューラルネットワークNN1は、学習用画像LG3に含まれる塗布材料APPを検出する。学習用画像LG3に対応する第1教師データLD1として「OK」又は「NG」のラベルが付与されている。第1ニューラルネットワークNN1の塗布材料APPの検出結果と、第1教師データLD1のラベルとを比較した判定結果が、第1ニューラルネットワークNN1にフィードバックされる。これにより、例えば塗布材料APPでない場所の誤検出、又は塗布材料APPの検出漏れを防ぎ、塗布材料APPの検出率を高めることができる。
【0069】
また、学習用画像LG3の塗布材料APPの部分画像が、第2ニューラルネットワークNN2に入力され、第2ニューラルネットワークNN2は、塗布材料APPの最小幅を分類する。学習用画像LG3に対応する第2教師データLD2として「所定の値VA1以上」又は「所定の値VA1未満」のラベルが付与されている。第2ニューラルネットワークNN2の塗布材料APPの最小幅の分類結果又は推定結果と、第2教師データLD2のラベルとを比較した判定結果が、第2ニューラルネットワークNN2にフィードバックされる。これにより、塗布材料APPの最小幅の適切な範囲を学習することができる。
【0070】
なお、学習用データ31、検査基準32、及び画像検査器33の構造及び形式は、前述した例に限定されるものではない。例えば、学習用データ31、検査基準32、及び画像検査器33は、それぞれ、単なるデータであってもよいし、データベースであってもよい。また、学習用データ31、検査基準32、及び画像検査器33のうち、少なくとも一部がデータベースである場合、正規化を行い、データのグループ単位を細分化してもよい。
【0071】
図1の説明に戻り、画像検査装置90は、通信部60と、記憶部70と、出力部80と、制御部85と、を備える。また、画像検査装置90は、画像検査装置90の各部の間で信号やデータを伝送するように構成されたバス91をさらに備える。画像検査装置90は、画像検査器生成装置50によって生成された画像検査器33を備え、画像検査器33を用いて検査用画像71を検査するように構成されている。
【0072】
通信部60は、ネットワークNWを介してデータを通信(送受信)するように構成されている。より詳細には、通信部60は、1つ又は複数の所定の通信方式に基づいて、ネットワークNWに接続される画像検査器生成装置50とネットワークNWを介して通信可能に構成されている。
【0073】
記憶部70は、プログラムやデータ等を記憶するように構成されている。記憶部70は、例えば、ハードディスクドライブ、ソリッドステートドライブ等を含んで構成される。記憶部70は、制御部85が実行する各種プログラムやプログラムの実行に必要なデータ等をあらかじめ記憶している。
【0074】
また、記憶部70は、複数の検査基準32と、複数の画像検査器33と、複数の検査用画像71とを記憶している。検査基準32及び画像検査器33は、前述した画像検査器生成装置50から送信されたものである。画像検査装置90は、通信部60を用い、ネットワークNWを介して画像検査器生成装置50から検査基準32及び画像検査器33を受信し、受信した検査基準32及び画像検査器33を記憶部70に記憶させる。
【0075】
出力部80は、検査基準32を出力するように構成されている。出力部80は、例えば、インターフェースと、外部の機器である出力装置と、を含んで構成される。インターフェースは、外部の機器との間でデータや信号をやり取りするように構成され、例えば、USB、HDMI(登録商標)、IEEE1394等の規格化されたインターフェースの接続端子を含んでいる。出力装置は、例えば、液晶ディスプレイ、EL(Electro Luminescence)ディスプレイ、プラズマディスプレイ等の表示装置と、スピーカー等の音声装置とを含んで構成される。出力装置は、制御部85から入力される情報のうち、文字、数字、記号等のテキスト、画像、及び動画の情報を表示装置に表示し、音声の情報をスピーカーから出力することで、情報を出力することが可能になる。
【0076】
制御部85は、通信部60、記憶部70、及び出力部80等、画像検査装置90の各部の動作を制御するように構成されている。また、制御部85は、記憶部70に記憶されたプログラムを実行する等によって、後述する画像検査の機能を実現するように構成されている。制御部85は、例えば、CPU等のプロセッサ、ROM、RAM等のメモリ、及びバッファ等の緩衝記憶装置を含んで構成される。
【0077】
また、制御部85は、画像検査器33を用いて検査用画像71を検査する画像検査の機能を有している。例えば、対象物のねじ穴を検査する場合、制御部85は、前述した第1実施例で生成された画像検査器33を用い、検査用画像71を検査する。この場合、検出器33aによって検査用画像71からねじ穴を検出し、制御部85は、検査基準32、例えば「3つのねじ穴の位置が所定の位置になければNG」と一致していたら欠陥あり、検査基準32と不一致ならば欠陥なしと判定する。これにより、ねじ穴の数及び位置が検査される。
【0078】
このように、画像検査器33を用いて検査用画像71を検査することにより、検査精度の高い画像検査装置90を容易に実現することができる。
【0079】
また、制御部85は、分類器33bによって当該ねじ穴の形状を分類し、検査基準32、例えば「ねじ穴の形状が変形していたらNG」と一致していたら欠陥あり、検査基準32と不一致ならば欠陥なしと判定する。これにより、ねじ穴の形状変形の有無が検査される。さらに、判定の結果、検査用画像71のねじ穴に欠陥ありと判定された場合、制御部85は、欠陥ありと判定される原因となった検査基準32を出力部80に出力させる。これにより、欠陥ありと判定されたときに、その原因となった検査基準32を出力しない場合と比較して、画像検査器33を用いた検査結果は説明性を有する。この場合、例えばねじ穴が複数あるときに、どのねじ穴が変形していると判定されたのかが分かるように、制御部85は、検査基準32に添えて、変形しているねじ穴の場所、例えば、座標値、該当場所にマークを付した画像を出力してもよい。
【0080】
次に、
図6を参照しつつ、一実施形態に係る画像検査器生成装置の動作について説明する。
図6は、一実施形態に係る画像検査器生成装置50の画像検査器33を生成する概略動作を示すフローチャートである。
【0081】
例えば利用者(ユーザ)の操作によって画像検査器33の生成が選択されると、画像検査器生成装置50の制御部40は、
図6に示す画像検査器生成処理S200を実行する。
【0082】
なお、以下の説明において、画像検査器生成装置50の記憶部30に、学習用データ31及び検査基準32があらかじめ記憶されているものとする。
【0083】
最初に、検出器生成部41は、検査基準32と学習用データ31に含まれる学習用画像LGとに基づく機械学習によって、画像に含まれる検査オブジェクトを検出する検出器33aを生成する(S201)。
【0084】
次に、分類器生成部42は、検査基準32と学習用画像LGとに基づく機械学習によって、ステップS201で検出された検査オブジェクトの状態を分類する分類器33bを生成する(S202)。
【0085】
なお、学習用画像LGに対応する教師データは、学習用データ31に含まれる態様の他に、例えば、利用者(ユーザ)が表示装置等に表示される学習用画像LGを見ながら入力部20を介して逐次入力し、当該学習用画像LGに付与されてもよい。
【0086】
次に、制御部40は、ステップS201において生成された検出器33aと、ステップS202において生成された分類器33bとを含む画像検査器33を生成し、当該画像検査器33を記憶部30に記憶させる(S203)。
【0087】
ステップS203の後、制御部40は、画像検査器生成処理S200を終了する。
【0088】
なお、検査すべき検査オブジェクトが複数存在する場合、制御部40は、検査オブジェクトの個数に応じた回数分、ステップS201からステップS203を繰り返し、検査オブジェクトごとに画像検査器33を生成する。
【0089】
また、ステップS203において記憶部30に記憶された画像検査器33は、ステップS203の後、すぐに画像検査装置90に送信してもよいし、複数の画像検査器33が生成されたときに、これらの画像検査器33をまとめて画像検査装置90に送信してもよい
【0090】
以上、本発明の例示的な実施形態について説明した。本発明の一実施形態に係る画像検査器生成装置50、画像検査器生成プログラム、及び画像検査器生成方法によれば、検査オブジェクトに対する検査基準32と学習用画像LGとに基づく機械学習によって、画像に含まれる検査オブジェクトを検査する画像検査器33が生成され、検査基準32は、検査オブジェクトの状態変数、当該状態変数の状態値、及び検査オブジェクトが分類されるクラスの情報を含む。このように、論理情報である検査基準32と学習用画像LGとに基づいて機械学習を行うことにより、学習用画像に基づいて機械学習を行う場合と比較して、機械学習の学習効率を向上させることが可能になる。従って、従来と比較して、大量の学習用画像LGを必要とせずに検査精度の高い画像検査器33を生成することができる。
【0091】
以上説明した各実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。各実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【0092】
(附記)
1.検査オブジェクトに対する検査基準33と学習用画像LGとに基づく機械学習によって、画像に含まれる検査オブジェクトを検査する画像検査器33を生成する画像検査器生成部45を備え、
検査基準32は、検査オブジェクトの状態変数、当該状態変数の状態値、及び検査オブジェクトが分類されるクラスの情報を含む、
画像検査器生成装置50。
7.コンピュータに実行させる画像検査器生成プログラムであって、
検査オブジェクトに対する検査基準32と学習用画像LGとに基づく機械学習によって、画像に含まれる検査オブジェクトを検査する画像検査器33を生成する画像検査器生成ステップを含み、
検査基準32は、検査オブジェクトの状態変数、当該状態変数の状態値、及び検査オブジェクトが分類されるクラスの情報を含む、
画像検査器生成プログラム。
11.検査オブジェクトに対する検査基準32と学習用画像LGとに基づく機械学習によって、画像に含まれる検査オブジェクトを検査する画像検査器33を生成する画像検査器生成ステップを含み、
検査基準32は、検査オブジェクトの状態変数、当該状態変数の状態値、及び検査オブジェクトが分類されるクラスの情報を含む、
画像検査器生成方法。
【符号の説明】
【0093】
10…通信部、20…入力部、30…記憶部、31…学習用データ、32…検査基準、33…画像検査器、33a…検出器、33b…分類器、40…制御部、41…検出器生成部、42…分類器生成部、45…画像検査器生成部、50…画像検査器生成装置、51…バス、60…通信部、70…記憶部、71…検査用画像、80…出力部、85…制御部、90…画像検査装置、91…バス、100…画像検査システム、A…検査オブジェクト、APP…塗布材料、B…検査オブジェクト、DA1…賞味期限印字、DD1…第1判定器、DD2…第2判定器、LD1…第1教師データ、LD2…第2教師データ、LG,LG1,LG2,LG3…学習用画像、NN1…第1ニューラルネットワーク、NN2…第2ニューラルネットワーク、NW…ネットワーク、ORNN…物体認識ニューラルネットワーク、PLG…部分画像、S200…画像検査器生成処理、SH1,SH2,SH3…ねじ穴、SRNN…状態認識ニューラルネットワーク、VA…値、X…状態変数、X1…状態値、Y…状態変数、Y1…状態値。