(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023077057
(43)【公開日】2023-06-05
(54)【発明の名称】外観検査装置及び外観検査方法
(51)【国際特許分類】
G01N 21/88 20060101AFI20230529BHJP
G06N 20/00 20190101ALI20230529BHJP
【FI】
G01N21/88 J
G06N20/00
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2021190177
(22)【出願日】2021-11-24
(71)【出願人】
【識別番号】000129253
【氏名又は名称】株式会社キーエンス
(74)【代理人】
【識別番号】110001427
【氏名又は名称】弁理士法人前田特許事務所
(72)【発明者】
【氏名】俵 京佑
(72)【発明者】
【氏名】生嶋 靖久
(72)【発明者】
【氏名】中尾 政史
【テーマコード(参考)】
2G051
【Fターム(参考)】
2G051AB02
2G051CA04
2G051EA14
2G051EB10
(57)【要約】
【課題】推論モデルの検証が容易に行えるようにする。
【解決手段】推論モデルの良否判定性能を検証するための検証用の不良品画像または良品画像にそれぞれ不良品または良品であることを示す第1フラグを付与する。検証用の不良品画像または良品画像を推論モデルに入力して、良否判定結果を得る。第1フラグが付与された不良品画像または良品画像よりも良否判定が難しい検証用の画像に対して付与する第2フラグの入力を受け付ける。第2フラグが付与された画像を推論モデルに入力して、良否判定結果を得る。第2フラグが付与された画像に対する検証結果を、第1フラグが付与された画像に対する検証結果と区別して表示装置に表示させる。
【選択図】
図9
【特許請求の範囲】
【請求項1】
機械学習ネットワークに検査対象のワークを撮影したワーク画像を入力し、入力された前記ワーク画像に基づいてワークの良否判定を行う外観検査装置であって、
学習処理後の推論モデルを記憶する記憶部と、
前記推論モデルの良否判定性能を検証するための検証用の不良品画像または良品画像にそれぞれ不良品または良品であることを示す第1フラグを付与する入力部と、
前記検証用の不良品画像または良品画像を前記推論モデルに入力して、良否判定結果を得る検査部と、
前記検査部が得た良否判定結果に基づいて、前記推論モデルの良否判定性能の検証結果を表示部に表示させる表示制御部と、備え、
前記入力部は、前記第1フラグが付与された不良品画像または良品画像よりも良否判定が難しい検証用の画像に対して付与する第2フラグの入力を受け付け可能であり、
前記検査部は、前記第2フラグが付与された画像を前記推論モデルに入力して、良否判定結果を得るように構成され、
前記表示制御部は、前記第2フラグが付与された画像に対する検証結果を、前記第1フラグが付与された画像に対する検証結果と区別して前記表示部に表示可能に構成されている外観検査装置。
【請求項2】
請求項1に記載の外観検査装置において、
前記表示制御部は、前記第2フラグが付与された画像に対する検証結果を除外して、前記第1フラグが付与された画像に対する良否判定の正答数に関する情報を表示可能に構成されている外観検査装置。
【請求項3】
請求項1または2に記載の外観検査装置において、
前記入力部は、前記第2フラグが付与された画像に対する良否判定結果を除外するか否かの選択を受付可能に構成され、
前記表示制御部は、前記第2フラグが付与された画像に対する良否判定結果を除外するとの選択を前記入力部が受け付けた場合には前記第2フラグが付与された画像に対する検証結果を除外して、前記第1フラグが付与された画像に対する良否判定の正答数に関する情報を表示する一方、前記第2フラグが付与された画像に対する良否判定結果を除外しないとの選択を前記入力部が受け付けた場合には前記第2フラグが付与された画像に対する検証結果と前記第1フラグが付与された画像に対する良否判定とを合わせた正答数に関する情報を表示可能に構成されている外観検査装置。
【請求項4】
請求項1から3のいずれか1つに記載の外観検査装置において、
前記表示制御部は、複数の前記検証用の画像を前記表示部に一覧表示させ、
前記入力部は、前記表示部に一覧表示された複数の前記検証用の画像の中から選択された画像に対して前記第1フラグまたは前記第2フラグの付与を受け付ける外観検査装置。
【請求項5】
請求項4に記載の外観検査装置において、
前記表示制御部は、前記検証用の画像の中から、前記第1フラグと前記第2フラグの両方が付与されていない画像を選択して前記表示部に表示させる外観検査装置。
【請求項6】
請求項4または5に記載の外観検査装置において、
前記表示制御部は、前記検証用の画像の中から、前記推論モデルが良否判定できなかった画像を選択して前記表示部に表示させる外観検査装置。
【請求項7】
請求項1から6のいずれか1つに記載の外観検査装置において、
前記表示制御部は、良品画像であると判定された度数と不良品画像であると判定された度数とに基づく累積ヒストグラムを生成して前記表示部に表示可能に構成されている外観検査装置。
【請求項8】
請求項7に記載の外観検査装置において、
前記表示制御部は、前記累積ヒストグラムを生成する際に前記第2フラグが付与された画像の度数を含めるか否かの選択可能なユーザーインターフェース画面を生成して前記表示部に表示させ、前記第2フラグが付与された画像の度数を含めることが選択された場合には、前記第2フラグが付与された画像の度数を含めて前記累積ヒストグラムを生成する一方、前記第2フラグが付与された画像の度数を含めないことが選択された場合には、前記第2フラグが付与された画像の度数を含めないで前記累積ヒストグラムを生成する外観検査装置。
【請求項9】
請求項1から8のいずれか1つに記載の外観検査装置において、
前記機械学習ネットワークに学習用データを入力して学習させ、前記推論モデルを生成する学習部をさらに備えている外観検査装置。
【請求項10】
請求項1から9のいずれか1つに記載の外観検査装置において、
前記入力部は、前記第1フラグが付与された不良品画像よりも不良品度合いが小さい検証用の画像に対して付与する第2フラグの入力を受け付け可能である外観検査装置。
【請求項11】
請求項1から10のいずれか1つに記載の外観検査装置において、
前記入力部は、前記第1フラグが付与された良品画像よりも良品度合いが小さい検証用の画像に対して付与する第2フラグの入力を受け付け可能である外観検査装置。
【請求項12】
機械学習ネットワークに検査対象のワークを撮影したワーク画像を入力し、入力された前記ワーク画像に基づいてワークの良否判定を行う外観検査方法であって、
学習処理後の推論モデルを記憶する記憶ステップと、
前記推論モデルの良否判定性能を検証するための検証用の不良品画像または良品画像にそれぞれ不良品または良品であることを示す第1フラグを付与する第1フラグ付与ステップと、
前記第1フラグが付与された不良品画像または良品画像よりも良否判定が難しい検証用の画像に対して付与する第2フラグの入力を受け付ける第2フラグ付与ステップと、
前記第1フラグが付与された画像及び前記第2フラグが付与された画像を前記推論モデルに入力して、良否判定結果を得る検査ステップと、
前記第2フラグが付与された画像に対する検証結果を、前記第1フラグが付与された画像に対する検証結果と区別して表示部に表示させる表示ステップとを備えている外観検査方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ワークの外観を検査する外観検査装置及び外観検査方法に関する。
【背景技術】
【0002】
例えば特許文献1には、コンピュータによる機械学習を用いて、ワークが良品であるか不良品であるかの判定を行う処理装置が開示されている。特許文献1の処理装置は、良品データを対象とした教師ありの機械学習を行って良品学習モデルを生成するとともに、不良品データを対象とした教師ありの機械学習を行って不良品学習モデルを生成した後、判定対象となるワークのデータを入力し、良品学習モデル及び不良品学習モデルによってワークが良品であるか不良品であるかの判定が行えるように構成されており、このような装置はワークの外観検査装置とも呼ばれている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、外観検査装置では、良品学習モデル及び不良品学習モデル(以下、推論モデルという)の生成後、検証用の画像を推論モデルに入力して良否判定性能を確かめることが行われる。推論モデルに入力される画像の中にはユーザでも良品であるか否か、不良品であるか否かの判断に迷う画像が存在する。例えば、ワークに小さな傷が付いているが、その程度の小さな傷なら良品と判断してもよい場合や、不良品として一旦判断し、後からユーザが良品ラインに戻してもよい場合があり、このような画像の検査では良品、不良品のいずれで判断しても構わない。つまり、真の正解をもたない画像の場合、推論モデルも良品、不良品のどちらであるか判断できないにもかかわらず、従来の手法では良品か不良品の二者択一のフラグを付与するしかなかった。その結果、推論モデルが十分な性能を発揮していたとしても、真の正解をもたない画像のせいで、推論モデルの調整の試行錯誤が本当に必要であるのか否かの判断が難しかった。
【0005】
本開示は、かかる点に鑑みたものであり、その目的とするところは、推論モデルの検証が容易に行えるようにすることにある。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本開示の一態様では、機械学習ネットワークに検査対象のワークを撮影したワーク画像を入力し、入力された前記ワーク画像に基づいてワークの良否判定を行う外観検査装置を前提することができる。外観検査装置は、学習処理後の推論モデルを記憶する記憶部と、前記推論モデルの良否判定性能を検証するための検証用の不良品画像または良品画像にそれぞれ不良品または良品であることを示す第1フラグを付与する入力部と、前記検証用の不良品画像または良品画像を前記推論モデルに入力して、良否判定結果を得る検査部と、前記検査部が得た良否判定結果に基づいて、前記推論モデルの良否判定性能の検証結果を表示部に表示させる表示制御部と、備えている。前記入力部は、前記第1フラグが付与された不良品画像または良品画像よりも良否判定が難しい検証用の画像に対して付与する第2フラグの入力を受け付けることができる。また、前記検査部は、前記第2フラグが付与された画像を前記推論モデルに入力して、良否判定結果を得ることができる。さらに、前記表示制御部は、前記第2フラグが付与された画像に対する検証結果を、前記第1フラグが付与された画像に対する検証結果と区別して前記表示部に表示できる。
【0007】
この構成によれば、例えば、不良品画像であるか、良品画像であるかを明確に判断できる検証用の画像に対しては、第1フラグが付与される。一方、不良品画像であるか、良品画像であるかを明確に判断できない画像や、どちらで判断しても許容できる画像のように、真の正解をもたない検証用の画像に対しては、第2フラグが付与される。検査部は、第1フラグが付与された1枚または複数枚の画像を推論モデルに入力して良否判定結果を得るとともに、第2フラグが付与された1枚または複数枚の画像についても推論モデルに入力して良否判定結果を得る。表示部には、第1フラグが付与された画像の検証結果と、第2フラグが付与された画像の検証結果とを区別して表示できるので、真の正解をもたない画像を除いた場合の推論モデルの良否判定性能をユーザが把握できる。これにより、推論モデルが既に十分な性能を発揮しているのか、それとも、推論モデルの調整の試行錯誤がまだ必要であるのかをユーザが容易に判断できる。
【0008】
他の態様に係る表示制御部は、前記第2フラグが付与された画像に対する検証結果を除外して、前記第1フラグが付与された画像に対する良否判定の正答数に関する情報を表示可能に構成されている。
【0009】
この構成によれば、正解をもたない画像に対する検証結果を除外し、不良品画像であるか、良品画像であるかを明確に判断可能な画像に対する良否判定結果を表示することができるので、推論モデルが既に十分な性能を発揮しているのか否かを的確に判断できる。
【0010】
他の態様に係る入力部は、前記第2フラグが付与された画像に対する良否判定結果を除外するか否かの選択を受付可能に構成されている。また、前記表示制御部は、前記第2フラグが付与された画像に対する良否判定結果を除外するとの選択を前記入力部が受け付けた場合には前記第2フラグが付与された画像に対する検証結果を除外して、前記第1フラグが付与された画像に対する良否判定の正答数に関する情報を表示する一方、前記第2フラグが付与された画像に対する良否判定結果を除外しないとの選択を前記入力部が受け付けた場合には前記第2フラグが付与された画像に対する検証結果と前記第1フラグが付与された画像に対する良否判定とを合わせた正答数に関する情報を表示可能に構成されている。
【0011】
すなわち、真の正解をもたない画像に対する検証結果を完全に無視して推論モデルの性能を判断したいユーザと、真の正解をもたない画像に対する検証結果についても参考としたいユーザとが存在する場合、いずれのユーザにも対応できる。
【0012】
他の態様では、表示制御部は、複数の前記検証用の画像を前記表示部に一覧表示させ、前記入力部は、前記表示部に一覧表示された複数の前記検証用の画像の中から選択された画像に対して前記第1フラグまたは前記第2フラグの付与を受け付けることができるので、ユーザによるフラグの付与処理を容易に行うことができる。
【0013】
他の態様に係る表示制御部は、前記検証用の画像の中から、前記第1フラグと前記第2フラグの両方が付与されていない画像を選択して前記表示部に表示させるものであってもよい。
【0014】
すなわち、第1フラグと第2フラグの両方が付与されていない画像に対して第1フラグまたは第2フラグの付与をユーザに促すことができる。その結果、第1フラグが付与された画像に対して良否判定が正確に行われている場合には、推論モデルが既に十分な性能を発揮していると判断できる。一方、第1フラグが付与された画像に対して良否判定が正確に行われていない場合には、推論モデルの性能が不十分である判断できる。
【0015】
他の態様に係る表示制御部は、前記検証用の画像の中から、前記推論モデルが良否判定できなかった画像を選択して前記表示部に表示させるものであってもよい。
【0016】
この構成によれば、推論モデルが良否判定できなかった画像が正解をもたない画像であるか否かを判断できる。仮に、推論モデルが良否判定できなかった画像が正解をもたない画像である場合には、その判定結果を除外して推論モデルの性能を判断すればよい。一方、推論モデルが良否判定できなかった画像が、正解をもっている画像である場合には、推論モデルの性能が不十分である判断できる。
【0017】
他の態様に係る表示制御部は、良品画像であると判定された度数と不良品画像であると判定された度数とに基づく累積ヒストグラムを生成して前記表示部に表示させることができる。
【0018】
他の態様に係る表示制御部は、前記累積ヒストグラムを生成する際に前記第2フラグが付与された画像の度数を含めるか否かの選択可能なユーザーインターフェース画面を生成して前記表示部に表示させ、前記第2フラグが付与された画像の度数を含めることが選択された場合には、前記第2フラグが付与された画像の度数を含めて前記累積ヒストグラムを生成する一方、前記第2フラグが付与された画像の度数を含めないことが選択された場合には、前記第2フラグが付与された画像の度数を含めないで前記累積ヒストグラムを生成するものであってもよい。
【0019】
この構成によれば、真の正解をもたない画像の度数を含んだ累積ヒストグラムと、真の正解をもたない画像の度数を含まない累積ヒストグラムとをユーザが自由に選択して表示させることができる。
【0020】
他の態様では、前記機械学習ネットワークに学習用データを入力して学習させ、前記推論モデルを生成する学習部をさらに備えていてもよい。
【0021】
また、入力部は、第1フラグが付与された不良品画像よりも不良品度合いが小さい検証用の画像に対して付与する第2フラグの入力を受け付けてもよいし、第1フラグが付与された良品画像よりも良品度合いが小さい検証用の画像に対して付与する第2フラグの入力を受け付けてもよい。
【発明の効果】
【0022】
以上説明したように、不良品画像であるか、良品画像であるかを明確に判断できる画像の検証結果と、正解をもたない画像の検証結果とを表示部に区別して表示できるので、推論モデルの検証を容易に行うことができる。
【図面の簡単な説明】
【0023】
【
図1】本発明の実施形態に係る外観検査装置の構成を示す模式図である。
【
図2】前記外観検査装置のハードウエア構成を示すブロック図である。
【
図3】学習処理の手順の一例を示すフローチャートである。
【
図4】良品画像、判断に迷う画像及び不良品画像の例を示す図である。
【
図5】検証処理の手順の一例を示すフローチャートである。
【
図6】第1フラグ及び第2フラグを入力する場合のユーザーインターフェースの例を示す図である。
【
図7】第1フラグ及び第2フラグが付与された画像の枚数を表示したユーザーインターフェースの例を示す図である。
【
図9】判定結果の度数に基づく累積ヒストグラムの表示例を示す図である。
【発明を実施するための形態】
【0024】
以下、本発明の実施形態を図面に基づいて詳細に説明する。尚、以下の好ましい実施形態の説明は、本質的に例示に過ぎず、本発明、その適用物或いはその用途を制限することを意図するものではない。
【0025】
図1は、本発明の実施形態に係る外観検査装置1の構成を示す模式図である。外観検査装置1は、例えば各種部品や製品等のような検査対象であるワークを撮像して取得されたワーク画像の良否判定を行うための装置であり、工場等の生産現場等で使用することができる。具体的には、外観検査装置1の内部には機械学習ネットワークが構築されている。生成された機械学習ネットワークに、検査対象のワークを撮像したワーク画像を入力し、当該ワーク画像の良否判定を機械学習ネットワークによって行うことができるようになっている。
【0026】
ワークは、それ全体が検査対象であってもよいし、ワークの一部のみが検査対象であってもよい。また、1つのワークに複数の検査対象が含まれていてもよい。また、ワーク画像には、複数のワークが含まれていてもよい。
【0027】
外観検査装置1は、装置本体となる制御ユニット2と、撮像ユニット3と、表示装置(表示部)4と、パーソナルコンピュータ5とを備えている。パーソナルコンピュータ5は、必須なものではなく、省略することもできる。表示装置4の代わりにパーソナルコンピュータ5を使用して各種情報や画像を表示させることもできるし、パーソナルコンピュータ5の機能を制御ユニット2に組み込むことや、表示装置4に組み込むことができる。
【0028】
図1では、外観検査装置1の構成例の一例として、制御ユニット2、撮像ユニット3、表示装置4及びパーソナルコンピュータ5を記載しているが、これらのうち、任意の複数を組み合わせて一体化することもできる。例えば、制御ユニット2と撮像ユニット3を一体化することや、制御ユニット2と表示装置4を一体化することもできる。また、制御ユニット2を複数のユニットに分割して一部を撮像ユニット3や表示装置4に組み込むことや、撮像ユニット3を複数のユニットに分割して一部を他のユニットに組み込むこともできる。
【0029】
(撮像ユニット3の構成)
図2に示すように、撮像ユニット3は、カメラモジュール(撮像部)14と、照明モジュール(照明部)15とを備えており、ワーク画像の取得を実行するユニットである。カメラモジュール14は、撮像光学系を駆動するAF用モータ141と、撮像基板142とを備えている。AF用モータ141は、撮像光学系のレンズを駆動することにより、自動でピント調整を実行する部分であり、従来から周知のコントラストオートフォーカス等の手法によってピント調整を行うことができる。撮像基板142は、撮像光学系から入射した光を受光する受光素子としてCMOSセンサ143を備えている。CMOSセンサ143は、カラー画像を取得することができるように構成された撮像センサである。CMOSセンサ143の代わりに、例えばCCDセンサ等の受光素子を用いることもできる。
【0030】
照明モジュール15は、ワークを含む撮像領域を照明する発光体としてのLED(発光ダイオード)151と、LED151を制御するLEDドライバ152とを備えている。LED151による発光タイミング、発光時間、発光量は、LEDドライバ152によって任意に制御することができる。LED151は、撮像ユニット3に一体に設けてもよいし、撮像ユニット3とは別体として外部照明ユニットとして設けてもよい。
【0031】
(表示装置4の構成)
表示装置4は、例えば液晶パネルや有機ELパネル等からなる表示パネルを有している。制御ユニット2から出力されたワーク画像やユーザーインターフェース画像等は表示装置4に表示される。また、パーソナルコンピュータ5が表示パネルを有している場合、パーソナルコンピュータ5の表示パネルを表示装置4の代わりとして利用することができる。
【0032】
(操作機器)
外観検査装置1をユーザが操作するための操作機器としては、例えば、パーソナルコンピュータ5が有するキーボード51やマウス52等を挙げることができるが、これらに限られるものではなく、ユーザによる各種操作を受付可能に構成された機器であればよい。例えば、表示装置4が有するタッチパネル41のようなポインティングデバイスも操作機器に含まれる。
【0033】
キーボード51やマウス52のユーザによる操作は制御ユニット2で検出可能になっている。また、タッチパネル41は、例えば感圧センサを搭載した従来から周知のタッチ式操作パネルであり、ユーザのタッチ操作は制御ユニット2で検出可能になっている。他のポインティングデバイスを用いた場合も同様である。
【0034】
(制御ユニット2の構成)
制御ユニット2は、メイン基板13と、コネクタ基板16と、通信基板17と、電源基板18とを備えている。メイン基板13には、プロセッサ13aが設けられている。プロセッサ13aは、接続されている各基板及びモジュールの動作を制御する。例えば、プロセッサ13aは、照明モジュール15のLEDドライバ152に対してLED151の点灯/消灯を制御する照明制御信号を出力する。LEDドライバ152は、プロセッサ13aからの照明制御信号に応じて、LED151の点灯/消灯の切替及び点灯時間の調整を行うとともに、LED151の光量等を調整する。
【0035】
また、プロセッサ13aは、カメラモジュール14の撮像基板142に、CMOSセンサ143を制御する撮像制御信号を出力する。CMOSセンサ143は、プロセッサ13aからの撮像制御信号に応じて、撮像を開始するとともに、露光時間を任意の時間に調整して撮像を行う。すなわち、撮像ユニット3は、プロセッサ13aから出力される撮像制御信号に応じてCMOSセンサ143の視野範囲内を撮像し、視野範囲内にワークがあれば、ワークを撮像することになるが、ワーク以外の物が視野範囲内にあれば、それも撮像することができる。例えば、外観検査装置1は、機械学習ネットワークの学習用の画像として、撮像ユニット3により、良品に対応する良品画像と不良品に対応する不良品画像とを撮像することができる。学習用の画像は、撮像ユニット3で撮像された画像でなくてもよく、他のカメラ等で撮像された画像であってもよい。
【0036】
一方、外観検査装置の運用時には、撮像ユニット3により、ワークを撮像することができる。また、CMOSセンサ143は、ライブ画像、即ち現在の撮像された画像を短いフレームレートで随時出力することができるように構成されている。
【0037】
CMOSセンサ143による撮像が終わると、撮像ユニット3から出力された画像信号は、メイン基板13のプロセッサ13aに入力されて処理されるとともに、メイン基板13のメモリ13bに記憶されるようになっている。メイン基板13のプロセッサ13aによる具体的な処理内容の詳細については後述する。尚、メイン基板13には、FPGAやDSP等の処理装置が設けられていてもよい。FPGAやDSP等の処理装置が統合されたプロセッサ13aであってもよい。
【0038】
メイン基板13には、表示制御部13cが設けられている。表示制御部13cは、表示画面を生成するとともに、表示装置4を制御し、表示画面を表示装置4に表示させる部分である。表示制御部13cの具体的な動作については後述する。
【0039】
コネクタ基板16は、電源インターフェース161に設けてある電源コネクタ(図示せず)を介して外部から電力の供給を受ける部分である。電源基板18は、コネクタ基板16で受けた電力を各基板及びモジュール等に分配する部分であり、具体的には、照明モジュール15、カメラモジュール14、メイン基板13、及び通信基板17に電力を分配する。電源基板18は、AF用モータドライバ181を備えている。AF用モータドライバ181は、カメラモジュール14のAF用モータ141に駆動電力を供給し、オートフォーカスを実現している。AF用モータドライバ181は、メイン基板13のプロセッサ13aからのAF制御信号に応じて、AF用モータ141に供給する電力を調整する。
【0040】
通信基板17は、メイン基板13と表示装置4及びパーソナルコンピュータ5との通信、メイン基板13と外部制御機器(図示せず)との通信等を実行する部分である。外部制御機器は、例えばプログラマブルロジックコントローラ等を挙げることができる。通信は、有線であってもよいし、無線であってもよく、いずれの通信形態も、従来から周知の通信モジュールによって実現することができる。
【0041】
制御ユニット2には、例えばソリッドステートドライブ、ハードディスクドライブ等からなる記憶装置(記憶部)19が設けられている。記憶装置19には、後述する各制御及び処理を上記ハードウエアによって実行可能にするためのプログラムファイル80や設定ファイル等(ソフトウエア)が記憶されている。プログラムファイル80や設定ファイルは、例えば光ディスク等の記憶媒体90に格納しておき、この記憶媒体90に格納されたプログラムファイル80や設定ファイルを制御ユニット2にインストールすることができる。プログラムファイル80は、外部サーバから通信回線を利用してダウンロードされるものであってもよい。また、記憶装置19には、例えば、上記画像データ等を記憶させておくこともできるし、後述する学習処理後に得られた推論モデルを構築するためのパラメータ等も記憶させておくことができる。
【0042】
図2では、記憶装置19が制御ユニット2と一体化されたものとして表現しているが、記憶装置19は制御ユニット2とは別体のものであってもよい。そのような記憶装置19の例としては、ネットワーク対応ストレージ(NAS:Network Attached Storage)等を挙げることができる。NSAと制御ユニット2とは有線LANや無線LAN等の通信回線によって接続される。
【0043】
すなわち、外観検査装置1では、学習用データを使用して機械学習ネットワークを学習させることで、機械学習ネットワークのパラメータが調整されて推論モデルが生成される。推論モデルに検査対象のワークを撮影したワーク画像を入力し、入力されたワーク画像に基づいてワークの良否判定を行うことができる。この外観検査装置1を使用することで、ワーク画像に基づいてワークの良否判定を行う外観検査方法を実行できる。
【0044】
(プロセッサの構成)
図2に示すように、プロセッサ13aには、学習部13d、入力部13e及び検査部13fが設けられている。学習部13d、入力部13e及び検査部13fは、ハードウエアで構成された部分であってもよいし、ソフトウエアを実行することによって構成される部分であってもよい。また、学習部13d、入力部13e及び検査部13fは、必ずしもメイン基板13に設けられていなくてもよく、これらの一部または全部がメイン基板13以外の基板に設けられていてもよい。尚、本例において、学習部13dは必須なものではない。
【0045】
学習部13dは、機械学習ネットワークに学習用データを入力して学習させ、入力画像の良否判定を行うための推論モデルを生成する部分である。学習部13dは、例えば制御ユニット2とは別の学習用計算機で構成されていてもよい。学習用計算機は、機械学習を高速で行うことが可能に構成されている。学習用計算機と制御ユニット2とを通信可能に接続しておくことで、学習用計算機で生成された推論モデルを構築するパラメータを記憶装置19に送信して記憶させることができる。これにより、制御ユニット2に推論モデルを構築できる。
【0046】
(学習処理)
次に、
図3に示すフローチャートに基づいて学習処理の手順の一例について説明する。スタート後のステップSA1では、学習部13dが、未学習の機械学習ネットワークを用意する。未学習の機械学習ネットワークは、例えば、パラメータの初期値が無作為に決定されたものである。ステップSA2では、学習部13dが記憶装置19に記憶されている複数の学習用画像を読み出して機械学習ネットワークに順次入力する。その後、ステップSA3では、機械学習ネットワークのパラメータ調整を行う。このとき、良品画像のみ入力して良品学習を行ってもよいし、不良品画像のみ入力して不良品学習をおこなってもよいし、両方の学習を行ってもよい。ステップSA3で得られたパラメータは学習処理済みの推論モデルを構築するためのパラメータであり、ステップSA4で記憶装置19に記憶される。ステップSA4が記憶ステップである。
【0047】
例えば、学習用画像が不良品画像である場合、ステップSA2で機械学習ネットワークに入力するまでに、当該不良品画像にアノテーションを実行しておく。すなわち、不良品画像に、不良品画像であることを明示する処理、不良品画像の不良箇所を指定する処理等をユーザが事前に行っておく。アノテーションによって付与された情報は、該当する不良品画像と関連付けられた状態で記憶装置19に記憶されている。よって、不良品学習の際には、予め付与されている情報を利用して機械学習ネットワークのパラメータを調整すればよい。
【0048】
上記機械学習ネットワークの学習の手法は特に限定されないが、例えば次の方法を利用することができる。すなわち、Loss関数を最小化することで機械学習ネットワークの学習を行うことができる。Lossの定義は様々であるが、Mean Square Error(MSE)を例して挙げることができる。
【0049】
【0050】
ここで、Tは目標異常度マップ、0は出力画像(異常度マップ)、nは画像Tが0の画素数、x、yは画素位置である。尚、Binary Cross EntropyなどのLoss関数も使用可能である。以上はあくまでも例示である。
【0051】
(ワーク画像の例)
図4には、良品のワークW1を撮像した良品画像200と、不良品のワークW2を撮像した不良品画像201と、良品、不良品の判断がつきにくいワークW3を撮像した画像(判断に迷う画像)202とを示している。
図4に示す良品のワークW1には、傷等が全く無いので、良品であるという判断はユーザが容易に行える。また、不良品のワークW2には、大きくて目立つ傷Waがあるので、不良品であるという判断はユーザが容易に行える。ところが、判断がつきにくいワークW3には目立ち難い傷Wbがある。この程度の傷WbがあるワークW3は、良品として判断しても問題ないものであるが、不良品として判断し、後から良品のラインに戻してもよい場合がある。つまり、ワークW3は、ユーザであっても良品、不良品の判断が困難であり、どちらで判断しても特に問題が生じないもの、いわゆる真の正解をもたないワークである。このようなワークW3を撮像した画像202は、学習済みの推論モデルに入力したとしても、判断がつかないことがある。
【0052】
ここで、基本的に学習処理は、良品、不良品の判定ミスがなくなることを目指して行われる。例えば良品画像なのに、不良品であると判定されたり、判断がつかない画像であると判定されると、その良品画像が良品であると判定されることを目指して推論モデルの調整の試行錯誤が行われ、また、不良品画像なのに、良品であると判定されたり、判断がつかない画像であると判定されると、その不良品画像が不良品であると判定されることを目指して推論モデルの調整の試行錯誤が行われる。
【0053】
しかし、判定ミスが起きている画像が、
図4に示す判断に迷う画像202のように、そもそも判定ミスしてもよい画像であれば、それ以上の推論モデルの調整は不要であるにもかかわらず、ユーザは推論モデルの調整を試行錯誤することになり、過度な負担をユーザに強いることになる。一方、判定ミスが起きている画像が
図4に示す良品画像200や不良品画像201のように明確に判定すべき画像であれば、推論モデルの更なる調整が必要であるので、ユーザは試行錯誤すべき状況である。このように、これまでの機械学習は、ユーザが試行錯誤すべき状況であるのか否かの判断がつきにくかった。
【0054】
(検証処理)
これまでの機械学習における問題点、すなわちユーザがまだ学習調整の試行錯誤をすべき状況であるのか否かの判断がつきにくいという問題を解決するために、本実施形態では推論モデルの検証処理に工夫を凝らしている。以下、
図5に示すフローチャートに基づいて説明する。
【0055】
スタート後のステップSB1では、入力部13eが推論モデルの良否判定性能を検証するための検証用の画像を取得する。検証用の画像は、不良品画像のみであってもよいし、良品画像のみであってもよいし、不良品画像と良品画像の両方であってもよい。検証用の画像は、検証処理の前に取得した画像であってもよいし、検証処理のために新たに取得した画像であってもよいし、外観検査装置1の運用時に取得された画像であってもよい。検証用の画像が記憶装置19に記憶されている場合には、入力部13eが検証用の画像を記憶装置19から読み込むことで取得できる。
【0056】
ステップSB2では、検証用の画像に不良品ラベルまたは良品ラベルを付与する処理を実行する。不良品ラベル及び良品ラベルは、検証用の画像の良否に関する属性を示すものである。不良品ラベルは、検証用の画像が不良品に対応した不良品画像であることを示すラベルである。一方、良品ラベルは、検証用の画像が良品に対応した良品画像であることを示すラベルである。ユーザは、検証用の画像を表示装置4に表示させて1枚1枚確認しながら、マウス52等を操作して、不良品に対応した不良品画像であれば不良品ラベルを指定し、良品に対応した良品画像であれば良品ラベルを指定していく。また、複数の不良品画像を1つのフォルダにまとめておいて、そのフォルダ内の不良品画像に対して一括して不良品ラベルの付与を指定することや、複数の良品画像を1つのフォルダにまとめておいて、そのフォルダ内の良品画像に対して一括して良品ラベルの付与を指定することもできる。指定された不良品ラベルまたは良品ラベルは、入力部13eにより、対応する検証用の画像にそれぞれ付与される。どのラベルが付与されているかを示す情報は、ラベルの付与に関する情報として、対応する画像と関連付けられた状態で記憶装置19に記憶される。
【0057】
不良品ラベルまたは良品ラベルを一括して付与する方法の一例を説明すると、ステップSB2の処理で、まず、入力部13eが
図6に示すようなユーザーインターフェース画面250を生成し、表示制御部13cが表示装置4に表示させる。ユーザーインターフェース画面250には、枚数情報表示領域251と、一覧表示領域252と、拡大表示領域253とが設けられている。枚数情報表示領域251には、第1表260が表示される。枚数情報表示領域251に表示されている第1表260には、ラベルの付与に関する情報として良品ラベル及び不良品ラベルのいずれも付与されてない「ラベルなし」の画像の枚数、良品ラベルが付与されている「良品ラベル」の画像の枚数、及び不良品ラベルが付与されている「不良品ラベル」の画像の枚数がそれぞれ表示される。
【0058】
枚数情報表示領域251に表示されている第1表260には、「ラベルなし」の画像を一覧表示領域252に表示させるか否かの選択、「良品ラベル」の画像を一覧表示領域252に表示させるか否かの選択、及び「不良品ラベル」の画像を一覧表示領域252に表示させるか否かの選択を行うための「表示」の列も設けられている。「表示」の列をユーザがマウス52等によって操作することで、その操作が入力部13eによって受け付けられる。
【0059】
枚数情報表示領域251に表示されている第1表260には、「一括付与」の列も設けられている。「ラベルなし」の画像には、良品ラベルと不良品ラベルのいずれも付与されていないので、ユーザがマウス52等によって「一括付与」を操作することで、「ラベルなし」の画像の全てに対して「良品ラベル」または「不良品ラベル」を一括して付与することができる。「良品ラベル」または「不良品ラベル」が付与された画像は、第1表260の「良品ラベル」の画像または「不良品ラベル」の画像に分類されて「枚数」が更新される。一括して付与されたラベルの情報は、対応する画像と関連付けられた状態で記憶装置19に記憶される。
【0060】
一覧表示領域252には、上記第1表260の「表示」列の操作によって選択された画像が表示される。具体的には、入力部13eが、ユーザによって上記第1表260の「表示」列が操作されたことを検出すると、その操作を受け付けて、対応する画像を一覧表示領域252に表示する。例えば、「良品ラベル」の画像が選択操作された場合には、「良品ラベル」の画像を一覧表示領域252に表示し、「不良品ラベル」の画像が選択操作された場合には、「不良品ラベル」の画像を一覧表示領域252に表示し、「ラベルなし」の画像が選択操作された場合には、「ラベルなし」の画像を一覧表示領域252に表示する。同時に複数種の画像を表示することもできる。
【0061】
拡大表示領域253には、一覧表示領域252に表示されている画像のうち、ユーザの選択した任意の1枚が拡大して表示される。具体的には、入力部13eが、ユーザのマウス52等の操作により、一覧表示領域252に表示されている画像の中から1枚が選択されたことを検出すると、その選択された画像を、一覧表示領域252に表示されているものよりも大きくして拡大表示領域253に表示させる。
【0062】
以上がステップSB2における処理である。その後、ステップSB3に進む。ステップSB3では、検証用の画像に第1フラグまたは第2フラグを付与する処理を実行する。第1フラグは、
図4に示す良品画像200や不良品画像201のように良否判定が容易な検証用の画像に対して付与するものであり、良品ラベル及び不良品ラベルの情報を含んでいる。これにより不良品画像または良否画像にそれぞれ不良品または良品であることを明示できる。
【0063】
一方、第2フラグは、第1フラグが付与された不良品画像または良品画像よりも良否判定が難しい検証用の画像に対して付与するものである。例えば、第1フラグが付与された不良品画像よりも不良品度合いが小さい検証用の画像に対して第2フラグを付与する。また、第1フラグが付与された良品画像よりも良品度合いが小さい検証用の画像に対して第2フラグを付与する。どのユーザであっても不良品画像であると判断する画像、及び良品であると判断する画像に対しては、第1フラグを付与すればよい。一方、どのユーザであっても不良品画像(または良品画像)であるかどうか判断に迷う画像、あるユーザによっては不良品画像(または良品画像)であると判断するが別のユーザは良品画像(または不良品画像)であると判断するような画像には、第2フラグを付与する。また、完全に良品画像ではないが、良品として扱ってもよいという基準を満たす画像に対しては、第2フラグを付与する。第1フラグを付与した後に、第2フラグを付与してもよいし、反対に第2フラグを付与した後に、第1フラグを付与してもよい。ステップSB3は、第1フラグ付与ステップと、第2フラグ付与ステップを構成している。第1フラグ付与ステップと、第2フラグ付与ステップとは、フロー上、分離していてもよい。
【0064】
第1フラグまたは第2フラグの付与方法は特に限定されるものではないが、その一例を
図6に示す。
図6のユーザーインターフェース画面250の一覧表示領域252に表示されている検証用の画像のうち、ユーザが第1フラグまたは第2フラグを付与しようとする検証用の画像上またはその近傍でマウス52を右クリック等すると、入力部13eがそのことを検出し、第1フラグまたは第2フラグを付与するためのウインドウ254を生成する。生成されたウインドウ254は表示制御部13cが表示装置4に表示させる。
【0065】
ウインドウ254には、第1フラグの一例としての「Must」(Mustフラグともいう)と、第2フラグの一例としての「Want」(Wantフラグともいう)とが表示されており、「Must」と「Want」とのうち、一方をユーザがマウス52の操作によって選択可能になっている。
図6では、「Must」が選択された状態を示している。「Must」と「Want」のどちらが選択されたかが識別可能に表示される。ユーザにより選択された「Must」または「Want」は、入力部13eがその入力を受け付ける。入力が受け付けられた「Must」または「Want」は、対応する検証用の画像と関連付けられた状態で記憶装置19に記憶される。「Must」または「Want」が選択されると、「Must」または「Want」を検証用の画像に表示してもよい。
【0066】
「Must」が付与された検証用の画像は、判定が容易な画像であることから、全てを推論モデルに必ず入力して推論モデルが正確に判定できるようにしたい画像である。一方、「Want」が付与された検証用の画像は、推論モデルが判断ミスをしても許容できる画像である。本例では、第1フラグと第2フラグを「Must」と「Want」の2段階で付与可能にしているが、これに限らず、例えば「重要度」のような表現として、3段階以上での付与を可能にしてもよい。3段階以上とする場合には、例えば「1~10」の10段階とし「1」を重要度が最も低い「Want」として推論モデルの判断ミスを許容できる検証用の画像に対して付与する。「Want」に対応する数値は、例えば「1~5」とすることができる。「6~10」は「Must」に対応する数値とし、数値が大きくなる程、推論モデルで正確に判断する必要性の高い画像として、対応する数値を付与すればよい。数値以外の記号や文字等で第1フラグまたは第2フラグを付与してもよい。
【0067】
検証用の画像に第1フラグまたは第2フラグが付与されると、
図7に示すように、表示制御部13cは、ユーザーインターフェース画面250の枚数情報表示領域251に第2表261を表示する。第2表261には、第1フラグまたは第2フラグの付与情報として、第1フラグ及び第2フラグのいずれも付与されてない「フラグなし」の画像の枚数、Mustフラグが付与されている「Must」の画像の枚数、及びWantフラグが付与されている「Want」の画像の枚数がそれぞれ表示される。
【0068】
第2表261の欄のうち、円262で囲まれた数字をユーザがマウス52でクリック操作すると、プロセッサ13aは、良品ラベルが付与され、かつ、Mustフラグが付与された検証用の画像のみを抽出する。表示制御部13cは、プロセッサ13aにより抽出された検証用の画像をユーザーインターフェース画面250の一覧表示領域252に表示する。円262は一例であり、円262を実際に表示する必要はない。第2表261の別の欄または当該欄内の数字をユーザが選択した場合には、その欄または数字に対応する検証用の画像が抽出されて一覧表示領域252に表示される。
【0069】
図5に示すステップSB4では、検査部13fが記憶装置19から学習済みの推論モデルのパラメータを読み込み、推論モデルを構築する。推論モデルを構築した後、ステップSB5に進み、検証用の画像を推論モデルに入力する。具体的には、検査部13fは、検証用の不良品画像または良品画像を推論モデルに入力して、良否判定結果を得る部分であり、Mustフラグが付与された検証用の画像及びWantフラグが付与された検証用の画像を推論モデルに入力する。ステップSB5では、Mustフラグ及びWantフラグのいずれも付与されていない検証用の画像を推論モデルに入力してもよい。ステップSB5は、検査ステップである。
【0070】
ステップSB6では、ステップSB5で推論モデルに入力した検証用の画像に対する判定結果を検査部13fが取得する。この良否判定結果は、検証用の画像に対するものなので、推論モデルの各画像に対する検証結果ということもできる。上述したステップSB5では、推論モデルに、Mustフラグが付与された検証用の画像と、Wantフラグが付与された検証用の画像とが入力されているので、ステップSB6では、Mustフラグが付与された検証用の画像に対する推論モデルの検証結果と、Wantフラグが付与された検証用の画像に対する推論モデルの検証結果との両方を取得できる。
【0071】
ステップSB7では、検証結果を表示装置4に表示する。表示制御部13cは、検査部13fが得た良否判定結果に基づいて、推論モデルの良否判定性能の検証結果を表示装置4に表示させる部分である。具体的には、表示制御部13cは、Wantフラグが付与された画像に対する推論モデルの検証結果を、Mustフラグが付与された画像に対する推論モデルの検証結果と区別して表示装置4に表示可能に構成されている。このステップSB7は、表示ステップである。
【0072】
表示制御部13cは、検証用の画像の中から、MustフラグとWantフラグの両方が付与されていない画像を選択して表示装置4に表示させる。例えば
図8に示すような結果表示画面263を表示制御部13cが生成して表示装置4に表示させることができる。結果表示画面263には、良品ラベルが付与された検証用の画像の良否判定結果と、不良品ラベルが付与された検証用の画像の良否判定結果とが表示されている。この例では、不良品ラベルが付与されている検証用の画像の中で、1枚だけ判定不可であった画像が存在している。判定不可とは、推論モデルが良否判定できなかった画像である。
【0073】
判定不可であった画像に、Mustフラグ及びWantフラグのいずれも付与されていない場合、その画像を表示制御部13cが選択する。選択した画像を表示制御部13cが表示装置4に表示することで、ユーザに対してMustフラグまたはWantフラグの一方を付与するように促す。判定不可であり、かつ、Mustフラグ及びWantフラグのいずれも付与されていない画像が複数ある場合には、その複数の画像を表示制御部13cが選択して表示装置4に表示させる。これら複数の画像1枚1枚に、MustフラグまたはWantフラグの一方を付与するように、ユーザに対して促すことができる。判定不可の中の画像に、Mustフラグを付与すべき画像が1枚でも存在する場合、推論モデルの調整の試行錯誤を行う必要があることにユーザを気付かせることができる。
【0074】
一方、判定不可の画像の全てにWantフラグを付与することができるのであれば、Mustフラグが付与された画像の全てを正確に判定できているということであるので、ユーザは、その時点で推論モデルの学習が完了したと判断できる。推論モデルの学習が完了したことの判断をユーザに任せるのではなく、例えば、検査部13fが、判定不可の画像の全てにWantフラグが付与されたか否かを検出し、そのことを検出した場合に、ユーザに対して推論モデルの学習が完了したと報知するようにしてもよい。
【0075】
Mustフラグ及びWantフラグ以外にも保留フラグを検証用の画像に付与してもよい。良品画像とも不良品画像とも判断がつかない画像や、不良品画像であるが不良箇所を特定することが難しい画像に保留フラグを付与し、保留フラグと、付与された検証用の画像とを関連付けて記憶装置19に記憶させておくことができる。この場合、保留フラグが付与された画像を含めた検証結果と、保留フラグが付与された画像を含めない検証結果とを表示装置4に表示可能にする。どちらの検証結果を表示させるかを、ユーザが選択可能にする。
【0076】
(検証結果の表示形態の具体例)
次に、Mustフラグが付与された画像に対する検証結果と、Wantフラグが付与された画像に対する検証結果の表示形態について説明するが、検証結果の表示形態は以下に説明する形態に限られるものではなく、様々な表示形態を用いることができる。
【0077】
図9では、検証結果の表示形態の一例として、累積ヒストグラムを表示した場合を示している。すなわち、検査部13fが複数の検証用の画像の各々に対する良否判定結果を得ると、表示制御部13cは、良品画像であると判定された度数と、不良品画像であると判定された度数とを検査部13fから取得する。表示制御部13cは、良品画像であると判定された度数と、不良品画像であると判定された度数とに基づく累積ヒストグラムを生成して表示装置4に表示させる。累積ヒストグラムは、良品画像であると判定された正答数と、不良品画像であると判定された正答数との度数を表すものなので、累積ヒストグラムを表示させることにより、良否判定の正答数に関する情報を表示できる。正答数に関する情報としては、度数に限られるものではなく、正答数に基づいて算出される正答率等であってもよい。
【0078】
例えば、ユーザーインターフェース画面に
図9に示すようなヒストグラム表示領域270を設け、ヒストグラム表示領域270内に累積ヒストグラムを表示させることができる。ヒストグラム表示領域270には、推論モデルに入力された検証用の画像の中から、Wantフラグが付与された画像に対する良否判定結果を除外するか否かの選択を受け付けるための選択部271が設けられている。選択部271は、例えばユーザによるマウス52等の操作によってチェックを入れたり、外したりすることが可能なチェックボックスや、各種ボタン等で構成されている。
【0079】
図9のFIG.9Aは、ユーザが選択部271を操作して、「Wantフラグが付与された画像を結果に含める」にチェックをしている場合を示しており、この場合、Wantフラグが付与された画像に対する良否判定結果を除外しない。一方、
図9のFIG.9Bは、ユーザが選択部271を操作して、「Wantフラグが付与された画像を結果に含める」にチェックをしていない場合を示しており、この場合、Wantフラグが付与された画像に対する良否判定結果を除外する。入力部13eは、ユーザの選択部271による選択、即ち、Wantフラグが付与された画像に対する良否判定結果を除外するか否かの選択を受付可能に構成されている。
【0080】
入力部13eが受け付けた選択結果は、表示制御部13cに出力される。表示制御部13cは、選択部271にチェックがされていない場合には、Wantフラグが付与された画像に対する良否判定結果を除外して、Mustフラグが付与された画像に対する良否判定の度数に基づく累積ヒストグラムを生成して表示装置4に表示させる(FIG.9B参照)。一方、表示制御部13cは、選択部271にチェックがされている場合には、Wantフラグが付与された画像に対する良否判定結果を除外せずに、Wantフラグが付与された画像に対する良否判定の度数と、Mustフラグが付与された画像に対する良否判定の度数とに基づく累積ヒストグラムを生成して表示装置4に表示させる(FIG.9A参照)。
【0081】
FIG.9Aでは、Wantフラグが付与された画像に対する良否判定結果を含めて累積ヒストグラムを生成しているので、良品判定と不良品判定との区分が明確になっていないが、FIG.9Bでは、Wantフラグが付与された画像に対する良否判定結果を含めずに累積ヒストグラムを生成しているので、良品判定と不良品判定との区分が明確になっている。したがって、ユーザは推論モデルの判定性能が十分であるか否かを、累積ヒストグラムを見ることによって判断できる。
【0082】
(実施形態の作用効果)
以上説明したように、不良品画像であるか、良品画像であるかを明確に判断できる検証用の画像に対してはユーザがMustフラグを付与する一方、真の正解をもたない検証用の画像に対してはユーザがWantフラグを付与する。検査部13fは、Mustフラグが付与された画像を推論モデルに入力して良否判定結果を得るとともに、Wantフラグが付与された画像も推論モデルに入力して良否判定結果を得る。その後、表示装置4には、Mustフラグが付与された画像の検証結果と、Wantフラグが付与された画像の検証結果とを区別して表示できるので、真の正解をもたない画像を除いた場合の推論モデルの良否判定性能をユーザが把握できる。これにより、推論モデルが既に十分な性能を発揮しているのか、それとも、推論モデルの調整の試行錯誤がまだ必要であるのかをユーザが容易に判断できる。
【0083】
上述の実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内のものである。
【産業上の利用可能性】
【0084】
以上説明したように、本発明は、ワークの外観を検査する場合に利用できる。
【符号の説明】
【0085】
1 外観検査装置
4 表示装置(表示部)
13a プロセッサ
13b メモリ
13c 表示制御部
13d 学習部
13e 入力部
13f 検査部