以下、本発明の実施形態を図面に基づいて詳細に説明する。尚、以下の好ましい実施形態の説明は、本質的に例示に過ぎず、本発明、その適用物或いはその用途を制限することを意図するものではない。
図1は、本発明の実施形態に係る画像検査装置1の構成を示す模式図である。画像検査装置1は、例えば各種部品や製品等の検査対象物を撮像して取得された検査対象画像に基づいて検査対象物の良否判定を行うための装置であり、工場等の生産現場等で使用することができる。検査対象物は、それ全体が検査対象であってもよいし、検査対象物の一部のみが検査対象であってもよい。また、1つの検査対象物に複数の検査対象が含まれていてもよい。また、検査対象画像には、複数の検査対象物が含まれていてもよい。検査対象物はワークと呼ぶこともできる。
画像検査装置1は、装置本体となる制御ユニット2と、撮像ユニット3と、表示装置(表示部)4と、パーソナルコンピュータ5とを備えている。パーソナルコンピュータ5は、必須なものではなく、省略することもできる。表示装置4の代わりにパーソナルコンピュータ5を使用して各種情報や画像を表示させることもできる。図1では、画像検査装置1の構成例の一例として、制御ユニット2、撮像ユニット3、表示装置4及びパーソナルコンピュータ5を別々のものとして記載しているが、これらのうち、任意の複数を組み合わせて一体化することもできる。例えば、制御ユニット2と撮像ユニット3を一体化することや、制御ユニット2と表示装置4を一体化することもできる。また、制御ユニット2を複数のユニットに分割して一部を撮像ユニット3や表示装置4に組み込むことや、撮像ユニット3を複数のユニットに分割して一部を他のユニットに組み込むこともできる。
(撮像ユニット3の構成)
図2に示すように、撮像ユニット3は、カメラモジュール(撮像部)14と、照明モジュール(照明部)15とを備えており、検査対象画像の取得を実行するユニットである。カメラモジュール14は、撮像光学系を駆動するAF用モータ141と、撮像基板142とを備えている。AF用モータ141は、撮像光学系のレンズを駆動することにより、自動でピント調整を実行する部分であり、従来から周知のコントラストオートフォーカス等の手法によってピント調整を行うことができる。カメラモジュール14による撮像視野範囲(撮像領域)は、検査対象物を含むように設定されている。撮像基板142は、撮像光学系から入射した光を受光する受光素子としてCMOSセンサ143と、FPGA144と、DSP145とを備えている。CMOSセンサ143は、カラー画像を取得することができるように構成された撮像センサである。CMOSセンサ143の代わりに、例えばCCDセンサ等の受光素子を用いることもできる。FPGA144及びDSP145は、撮像ユニット3の内部において画像処理を実行するためのものであり、CMOSセンサ143から出力された信号はFPGA144及びDSP145にも入力されるようになっている。
照明モジュール15は、検査対象物を含む撮像領域を照明する発光体としてのLED(発光ダイオード)151と、LED151を制御するLEDドライバ152とを備えている。LED151による発光タイミング、発光時間、発光量は、LEDドライバ152によって任意に設定することができる。LED151は、撮像ユニット3に一体に設けてもよいし、撮像ユニット3とは別体として外部照明ユニットとして設けてもよい。図示しないが、照明モジュール15には、LED151から照射された光を反射するリフレクターや、LED151から照射された光が通過するレンズ等が設けられている。LED151から照射された光が検査対象物と、検査対象物の周辺領域に照射されるように、LED151の照射範囲が設定されている。発光ダイオード以外の発光体を使用することもできる。
(制御ユニット2の構成)
制御ユニット2は、メイン基板13と、コネクタ基板16と、通信基盤17と、電源基板18とを備えている。メイン基板13には、FPGA131と、DSP132と、メモリ133とが搭載されている。FPGA131とDSP132は制御部13Aを構成するものであり、これらが一体化された主制御部を設けることもできる。
メイン基板13の制御部13Aは、接続されている各基板及びモジュールの動作を制御する。例えば、制御部13Aは、照明モジュール15のLEDドライバ152に対してLED151の点灯/消灯を制御する照明制御信号を出力する。LEDドライバ152は、制御部13Aからの照明制御信号に応じて、LED151の点灯/消灯の切替及び点灯時間の調整を行うとともに、LED151の光量等を調整する。
また、制御部13Aは、カメラモジュール14の撮像基板142に、CMOSセンサ143を制御する撮像制御信号を出力する。CMOSセンサ143は、制御部13Aからの撮像制御信号に応じて、撮像を開始するとともに、露光時間を任意の時間に調整して撮像を行う。すなわち、撮像ユニット3は、制御部13Aから出力される撮像制御信号に応じてCMOSセンサ143の視野範囲内を撮像し、視野範囲内に検査対象物があれば、検査対象物を撮像することになるが、検査対象物以外の物が視野範囲内にあれば、それも撮像することができる。例えば、画像検査装置1の設定時には、使用者により良品としての属性を付与された良品画像と、不良品としての属性を付与された不良品画像とを撮像することができる。画像検査装置1の運用時には、検査対象物を撮像することができる。また、CMOSセンサ143は、ライブ画像、即ち現在の撮像された画像を短いフレームレートで随時出力することができるように構成されている。
CMOSセンサ143による撮像が終わると、撮像ユニット3から出力された画像信号は、メイン基板13のFPGA131に入力され、FPGA131及びDSP132によって処理されるとともに、メモリ133に記憶されるようになっている。メイン基板13の制御部13Aによる具体的な処理内容の詳細については後述する。
コネクタ基板16は、電源インターフェース161に設けてある電源コネクタ(図示せず)を介して外部から電力の供給を受ける部分である。電源基板18は、コネクタ基板16で受けた電力を各基板及びモジュール等に分配する部分であり、具体的には、照明モジュール15、カメラモジュール14、メイン基板13、及び通信基板17に電力を分配する。電源基板18は、AF用モータドライバ181を備えている。AF用モータドライバ181は、カメラモジュール14のAF用モータ141に駆動電力を供給し、オートフォーカスを実現している。AF用モータドライバ181は、メイン基板13の制御部13AからのAF制御信号に応じて、AF用モータ141に供給する電力を調整する。
通信基板17は、メイン基板13の制御部13Aから出力された検査対象物の良否判定信号、画像データ、ユーザーインターフェース等を表示装置4やパーソナルコンピュータ5、外部制御機器(図示せず)等に出力する。表示装置4やパーソナルコンピュータ5は、例えば液晶パネル等からなる表示パネルを有しており、画像データやユーザーインターフェース等は表示パネルに表示される。
また、通信基板17は、表示装置4が有するタッチパネル41やパーソナルコンピュータ5のキーボード51等から入力された使用者の各種操作を受け付けることができるように構成されている。表示装置4のタッチパネル41は、例えば感圧センサを搭載した従来から周知のタッチ式操作パネルであり、使用者によるタッチ操作を検出して通信基板17へ出力する。パーソナルコンピュータ5は、操作デバイスとしてキーボード51及びマウス52を備えている。パーソナルコンピュータ5は、操作デバイスとしてタッチパネル(図示せず)を備えていてもよい。パーソナルコンピュータ5は、これら操作デバイスから入力された使用者の各種操作を受け付けることができるように構成されている。通信は、有線であってもよいし、無線であってもよく、いずれの通信形態も、従来から周知の通信モジュールによって実現することができる。
制御ユニット2には、例えばハードディスクドライブ等の記憶装置19が設けられている。記憶装置19には、後述する各制御及び処理を上記ハードウエアによって実行可能にするためのプログラムファイル80や設定ファイル等(ソフトウエア)が記憶されている。プログラムファイル80や設定ファイルは、例えば光ディスク等の記憶媒体90に格納しておき、この記憶媒体90に格納されたプログラムファイル80や設定ファイルを制御ユニット2にインストールすることができる。また、記憶装置19には、上記画像データや良否判定結果等を記憶させておくこともできる。
(画像検査装置1の具体的な構成)
図3は、画像検査装置1のブロック図であり、プログラムファイル80や設定ファイルがインストールされた制御ユニット2により、図3に示す各部が構成される。すなわち、画像検査装置1は、画像入力部21と、通常検査設定部(通常検査設定手段の一例)22と、深層学習設定部(深層学習設定手段の一例)23と、検査実行部(検査実行手段の一例)24と、表示制御部25と、閾値調整部(閾値調整手段の一例)26と、検査選択部(検査選択手段の一例)27とを備えている。表示制御部25と表示装置4とによって表示手段が構成されている。これら各部21~27や手段は、ハードウエアのみで構成されていてもよいし、ハードウエアとソフトウエアとの組み合わせによって構成されていてもよい。例えば、閾値調整部26には、キーボード51やマウス52を含むこともできる。
また、図3に示す各部21~27は、概念的に独立したように示しているが、任意の2つ以上の部分が統合された形態であってもよく、図示した形態に限られるものではない。また、各部21~27や手段は、それぞれが独立したハードウエアで構成されたものであってもよいし、1つのハードウエアまたはソフトウエアによって複数の機能が実現されるように構成されたものであってもよい。また、図3に示す各部21~27や手段の機能や作用は、メイン基板13の制御部13Aによる制御で実現することもできる。
画像検査装置1は、少なくとも2種類の検査、即ち、通常検査処理による検査対象物の検査と、深層学習処理による検査対象物の検査とを行うことが可能に構成されている。通常検査処理とは、検査対象物を撮像した画像を用いた一般的な検査処理のことであり、画像内の検査対象物の様々な特徴量(色、エッジ、位置等)に基づいて検査対象物の良否の判定を行う処理である。通常検査処理には、例えば、パターンサーチ、差分検査、学習検査、傷検出等が含まれるが、これら以外の検査処理が含まれていてもよい。
一方、深層学習処理は、事前に複数の良品属性が付与された画像と、不良品属性が付与された画像とのうち、少なくとも一方を多層のニューラルネットワークに入力し、良品画像と不良品画像とを識別できるように、ネットワーク内の複数のパラメータを調整して得られた学習済みのニューラルネットワークを用いる検査処理のことである。ここで用いるニューラルネットワークは3層以上であり、いわゆるディープラーニングが可能なニューラルネットワークである。
詳細は後述するが、通常検査処理と深層学習処理とのうち、一方の検査処理のみで安定的な検査が行える場合には、一方の検査処理のみ行うことができる。また、通常検査処理と深層学習処理の両方を併用することで、例えば通常検査処理では判定が難しい検査を深層学習処理で高精度に判定できる。また、学習に用いていない未知のデータが入力された場合に起こり得る深層学習処理に特有の不安定な挙動を、通常検査処理のみの検査処理によって回避することができるようになる。
また、画像検査装置1は、撮像設定等の各種パラメータ設定、マスター画像の登録、通常検査処理の設定、深層学習処理の設定等を行う設定モードと、実際の現場において検査対象物を撮像した検査対象画像に基づいて検査対象物の良否判定を行う運転モード(Runモード)とに切り替えられるようになっている。設定モードでは、使用者が所望の製品検査で良品と不良品とを分けることができるようにするための事前の作業を行うことが可能になっており、この作業には、ニューラルネットワークの学習作業が含まれている。設定モードと運転モードとの切替は、図示しないユーザーインターフェース上で行うことができる他、設定モードの完了と同時に運転モードに自動で移行するように構成することもできる。運転モードから設定モードへの移行も任意に行えるようになっている。また、運転モードにおいて、ニューラルネットワークの再学習を行うこともできる。
(画像入力部21の構成)
図3に示す画像入力部21は、設定モード時に、良品属性が付与された複数の良品画像及び/又は不良品属性が付与された複数の不良品画像を深層学習設定部23に入力する部分であるとともに、登録画像を通常検査設定部22に入力する部分である。また、画像入力部21は、運転モード時に、新たに取得された検査対象画像を検査実行部24に入力する部分でもある。
具体的には、設定モード時に、使用者が検査対象物を撮像ユニット3のCMOSセンサ143の視野範囲に置くと、制御部13Aは、CMOSセンサ143で撮像されたライブ画像を画像入力用ユーザーインターフェース(図示せず)の一部に組み込み、このライブ画像が組み込まれた画像入力用ユーザーインターフェースを表示装置4に表示させる。検査対象物が画像入力用ユーザーインターフェースに表示されている状態で使用者が画像の取り込み操作を行うと、その時点で画像入力用ユーザーインターフェースに表示されている画像、即ち使用者が取り込みたい画像が静止画として取り込まれる。取り込まれた画像は、メモリ133や記憶装置19に記憶される。使用者による画像の取り込み操作は、例えば画像入力用ユーザーインターフェースに組み込まれたボタン操作、キーボード51やマウス52の操作等を挙げることができる。
使用者は、画像を取り込む際に、良品属性と不良品属性との一方を付与することができる。例えば、画像入力用ユーザーインターフェースに「良品取り込みボタン」及び「不良品取り込みボタン」を設けておき、画像入力用ユーザーインターフェースに表示されている画像の取り込み時に、「良品取り込みボタン」の操作がなされた場合には、その時点で取り込まれた画像は、良品属性が付与された良品画像として取り込むことができ、一方、「不良品取り込みボタン」の操作がなされた場合には、その時点で取り込まれた画像は、不良品属性が付与された良品画像として取り込むことができる。これを繰り返すことで、複数の良品画像及び複数の不良品画像を取り込むことができる。複数の良品画像を入力する場合、異なる良品を撮像した画像であってもよいし、1つの良品の角度や位置を変えて複数回撮像した画像であってもよい。また、画像検査装置1の内部で例えば画像の明るさを変更する等して、複数の良品画像及び複数の不良品画像を生成してもよい。良品画像及び不良品画像は、それぞれ、例えば100枚程度用意しておく。例えば、傷を検出する場合には、傷が入った不良品画像を用意することになるが、これは使用者が作成してもよいし、画像検査装置1が自動で作成するようにしてもよい。
深層学習用の画像として、良品画像のみ、または不良品画像のみを取り込むこともできる。また、良品属性及び不良品属性を画像に付与する方法は、上述した方法に限られるものではなく、例えば画像の取り込み後に付与する方法であってもよい。また、良品属性及び不良品属性を付与した後に、属性の修正を受け付けることが可能に構成することもできる。
使用者は、通常検査処理で使用する登録画像をマスター画像として取り込むことができる。登録画像は、例えば新たに取得された検査対象画像との差分をブロブ(塊)検出することによって良否判定を行う差分検査を行う際に使用することができる。また、登録画像は、正規化相関を用いて良否判定を行う際等に使用することができる。例えば、画像入力用ユーザーインターフェースに「登録画像取り込みボタン」を設けておき、画像入力用ユーザーインターフェースに表示されている画像の取り込み時に、「登録画像取り込みボタン」の操作がなされた場合には、その時点で取り込まれた画像を登録画像とすることができる。画像の取り込み後に、取り込んだ画像を登録画像として設定することもできる。
運転モード時には、検査対象物がCMOSセンサ143の視野範囲に入った状態で、制御部13Aは、CMOSセンサ143によって検査対象物を撮像して検査対象画像を取り込む。検査対象画像の取り込みを行うトリガーとなる信号は、従来から周知であり、例えば画像検査装置1の外部から入力される信号であってもよいし、画像検査装置1の内部で生成される信号であってもよい。
(通常検査設定部22の構成)
通常検査設定部22は、通常検査に用いる特徴量の設定と、当該特徴量と比較される良否判定の基準となる通常検査用閾値の設定とを使用者から受け付けることにより、通常検査処理の設定を行う部分である。通常検査に用いる特徴量とは、例えば検査対象物の色、検査対象物のエッジ、検査対象物の位置等を挙げることができる。検査対象物のエッジ情報には、エッジの位置、形状、長さ等が含まれる。検査対象物の位置は、検査対象物自体の位置の他、検査対象物の一部の位置も含まれる。通常検査に用いる特徴量は、1つであってもよいし、2つ以上であってもよい。
通常検査に用いる特徴量の設定を行う際には、制御部13Aが生成する特徴量設定用ユーザーインターフェース(図示せず)を表示装置4に表示させ、その特徴量設定用ユーザーインターフェースで使用者の操作を受け付ける。特徴量設定用ユーザーインターフェースには、上述した特徴量の入力や選択等を行う特徴量設定部が設けられており、使用者が特徴量設定部に対してキーボード51やマウス52によって入力操作を行うと、その入力操作が制御部13Aで受け付けられ、検査に用いる特徴量の設定が完了する。設定された特徴量は、メモリ133や記憶装置19に記憶される。
また、上述のようにして設定された特徴量は、良否判定の基準となる通常検査用閾値と比較され、その結果、検査対象画像が良品であるか不良品であるかを、後述する検査実行部24が判定することになる。このとき用いられる良否判定の基準となる通常検査用閾値の設定を行う際には、制御部13Aが生成する閾値設定用ユーザーインターフェース(図示せず)を表示装置4に表示させ、その閾値設定用ユーザーインターフェースで使用者の操作を受け付ける。閾値設定用ユーザーインターフェースには、上述した通常検査用閾値の入力を行うための閾値入力部が設けられている。使用者が閾値入力部に対してキーボード51やマウス52によって閾値の入力操作を行うと、その入力操作が制御部13Aで受け付けられ、閾値の入力及び設定が完了する。設定された通常検査用閾値は、メモリ133や記憶装置19に記憶される。通常検査用閾値は、画像検査装置1が自動的に設定した後、使用者が調整することで最終的な入力が完了するようにしてもよい。通常検査用閾値は、通常検査処理で用いられる閾値であり、深層学習処理の検査では用いられない。
通常検査用閾値を使用者から受け付ける際、良品判定を確定させる良品確定用閾値と、不良品判定を確定させる不良品確定用閾値とを受け付けるように構成することもできる。良品確定用閾値は、この閾値を基準として、例えば閾値以上であれば良品、または閾値以下であれば良品といった良品の判定を行う閾値であり、良品を確定できる程度に確度の高い閾値に設定することができる。一方、不良品確定用閾値は、この閾値を基準として、例えば閾値以上であれば不良品、または閾値以下であれば不良品といった不良品の判定を行う閾値であり、不良品を確定できる程度に確度の高い閾値に設定することができる。良品確定用閾値と不良品確定用閾値とは、どちらか一方のみ受け付けるようにしてもよいし、両方を受け付けるようにしてもよい。良品確定用閾値と不良品確定用閾値とが入力された場合には、識別可能な状態でメモリ133や記憶装置19に記憶される。
(深層学習設定部23の構成)
深層学習設定部23は、良品属性が付与された複数の良品画像及び/又は不良品属性が付与された複数の不良品画像を、ニューラルネットワークの入力層に入力して当該ニューラルネットワークに学習させ、新たに取得された検査対象画像を良品画像と不良品画像に分類する深層学習処理の設定を行う部分である。ニューラルネットワークは、制御部13A上に構築することができ、少なくとも、入力層、中間層及び出力層を有している。
良品画像や不良品画像は、画像入力部21によって取得されているので、深層学習設定部23は、画像入力部21で取得された良品画像や不良品画像をニューラルネットワークの入力層に入力する。ニューラルネットワークの入力層には、良品画像のみを入力してもよいし、不良品画像のみを入力してもよいし、良品画像及び不良品画像の両方を入力してもよい。これは画像の取得状況に応じて自動的に変更してもよいし、使用者が選択できるようにしてもよい。
深層学習設定部23は、正解情報(入力した画像が良品であるか、不良品であるか)もニューラルネットワークに提供し、複数の良品画像及び/又は複数の不良品画像と、正解情報とを利用してニューラルネットワークに学習させる。これにより、ニューラルネットワークの複数の初期パラメータが変更されて正答率の高いパラメータになる。このニューラルネットワークの学習は、良品画像や不良品画像が入力された時点で自動的に行わせることもできる。ニューラルネットワークに学習させることで、良品画像と不良品画像との識別が可能な識別器が生成され、新たに取得された検査対象画像を識別器によって良品画像と不良品画像に分類することができるようになる。この識別器は、図3に示す識別器生成部23aによって生成することができる。
ニューラルネットワークは、CNN(Convolutional Neural Network)をベースにした識別型ネットワークであってもよいし、オートエンコーダーに代表される復元型ニューラルネットワークであってもよい。識別型ネットワークの場合、出力値を正規化した値(一般的にはソフトマックス関数と呼ばれる正規化関数が用いられる)を良否判定の基準となる閾値(深層学習処理用閾値)とすることができる。深層学習処理用閾値は、良品判定の基準となる良品判定用閾値と、不良品判定の基準となる不良品判定用閾値とを含むことができ、いずれの閾値も正規化した値を用いることができる。深層学習処理用閾値と、上記通常検査用閾値とは独立している。
復元型ニューラルネットワーク、特にオートエンコーダーの場合、例としては、設定モード時に良品画像データを入力し、入力データをそのまま復元して出力するように事前に学習させておくことができる。運用モード時には、新たに取得された検査対象画像を学習済みのニューラルネットワークに入力して復元画像を得る。ニューラルネットワークに入力した画像と、復元画像との差を取り、差分が一定以上あった場合に不良品、一定未満の場合に良品と判定するように構成できる。ニューラルネットワークに入力した画像と復元画像との階調値の差分を総和して判定する方法や、差分が一定以上あるピクセル数を総和して判定する方法などがあり、いずれの方法を用いてもよい。このように、深層学習処理用閾値は、画像のピクセル数(画素数)や面積を用いて決めてもよい。
(検査実行部24の構成)
検査実行部24は、新たに取得された良品属性が付与された良品画像と不良品属性が付与された不良品画像の両方に対し、通常検査処理と深層学習処理とを適用するように構成されている。新たに取得された良品属性が付与された良品画像と、新たに取得された不良品属性が付与された不良品画像とは、通常検査設定部22による通常検査処理の設定及び深層学習設定部23による深層学習処理の設定が終わった後に、取得された画像である。尚、検査実行部24は、設定モード時における検査と、運転モード時における検査の両方を行うことが可能に構成されている。
検査実行部24は、新たに取得された良品画像に対して通常検査処理を適用することで、当該良品画像に対して通常検査処理を行った場合の正答率を算出し、また、新たに取得された不良品画像に対して通常検査処理を適用することで、当該不良品画像に対して通常検査処理を行った場合の正答率を算出する。さらに、検査実行部24は、新たに取得された良品画像に対して深層学習処理を適用することで、当該良品画像に対して深層学習処理を行った場合の正答率を算出し、また、新たに取得された不良品画像に対して深層学習処理を適用することで、当該不良品画像に対して深層学習処理を行った場合の正答率を算出する。
正答率とは、例えば良品かどうかの確かさ(確度)である。深層学習処理の場合、出力値を正規化した値に基づいて、良品画像に近いのか、不良品画像に近いのかを判定し、良品に近いほど良品度合いが高い、また、不良品に近いほど良品度合いが低いと判定することができる。これに基づいて、深層学習処理を行った場合の正答率を算出することができ、例えば図4の横軸に示すように、良品度合の高低で表示することができる。
一方、通常検査処理の場合は、検査手法によって正答率の算出方法が異なる。検査手法は、上述したように、パターンサーチ、差分検査、学習検査、傷検出等がある。パターンサーチの場合、検査を行いたい部分(パターン)を設定モード時に登録しておき、この登録されているパターンと、その後に新たに取得された検査対象画像に含まれるパターンとを正規化相関を用いて判定し、得られた相関値に基づいて良否判定を行う。この相関値が一定以上高い場合には、良品と判定する一方、相関値が低い場合には不良品と判定する。よって、図4の縦軸に示すように、相関値の高低によって正答率を表示することができ、正答率を相関値と関連付けて表示できる。パターンサーチの場合、相関値が閾値となり得る。尚、深層学習処理を行った場合の良品度合を縦軸で示し、パターンサーチの相関値を横軸で示してもよい。以下の例も同様である。
差分検査の場合、設定モード時に予め画像を登録しておき、この登録画像と、その後に新たに取得された検査対象画像との差分をブロブ検出することで良否判定を行う。差分のブロブ面積が一定以上小さい場合には、良品と判定する一方、差分のブロブ面積が大きい場合には不良品と判定する。よって、図5の縦軸に示すように、差分のブロブ面積の大小によって正答率を表示することができ、正答率を差分のブロブ面積と関連付けて表示できる。差分検査の場合、差分のブロブ面積が閾値となり得る。
学習検査は、例えば特許第5767963号公報に記載されている方法で、複数の良品画像を学習させることで自動的に良品の範囲を定義し、「良品ではない」ものを検出する方法である。統計に基づいた画素のバラつき範囲から逸脱する階調値の総和(欠陥量)や、ピクセル数等の面積(欠陥部の面積)に基づいて、欠陥を検出する方法である。
学習検査の場合、欠陥量や欠陥部の面積が一定以上小さい場合には、良品と判定する一方、欠陥量や欠陥部の面積が大きい場合には不良品と判定する。よって、図6の縦軸に示すように、欠陥量や欠陥部の面積の大小によって正答率を表示することができる。学習検査の場合、欠陥量や欠陥部の面積が閾値となり得る。
傷検出は、特許第4544578号に記載されている方法で、例えば、画像内において検査領域を決め、この検査領域に含まれる画素に関してN×Nのセグメントを設定し、該セグメントを所定方向にシフトさせながら各セグメントに含まれる各画素の濃度の平均濃度を算出し、一のセグメントの平均濃度と、これに隣接する他のセグメントの平均濃度との間の差分値を欠陥レベルとして算出する手法を採用することができる。これにより、検査対象物の傷検出を行うことができる。
傷検出の場合、欠陥レベルや欠陥部の面積が一定以上小さい場合には、良品と判定する一方、欠陥レベルや欠陥部の面積が大きい場合には不良品と判定する。よって、図7の縦軸に示すように、欠陥量や欠陥部の面積の大小によって正答率を表示することができる。傷検出の場合、欠陥レベルや欠陥部の面積が閾値となり得る。
(表示制御部25の構成)
表示制御部25は、検査実行部24で算出された各正答率を読み込むことにより、検査実行部24で実行された通常検査処理による正答率と、検査実行部24で実行された深層学習処理による正答率とを取得する正答率取得部25aを備えている。表示制御部25は、検査実行部24で実行された通常検査処理による正答率と、検査実行部24で実行された深層学習処理による正答率とを比較可能な形態で表示装置4に表示させることができるように構成されている。
具体的には、表示制御部25は、図4に示すようにパターンサーチと深層学習処理を組み合わせた場合に表示する第1ユーザーインターフェース60を生成する。第1ユーザーインターフェース60には、グラフ表示領域60aが設けられている。グラフ表示領域60aに表示されるグラフの縦軸は、通常検査処理としてのパターンサーチによって求めた相関値の高低を示しており、上に行くほど相関値が高くなる、即ち良品度合が高くなるように設定されている。つまり、通常検査処理による正答率をパターンサーチの相関値と関連付けて表示することができる。
グラフ表示領域60aに表示されるグラフの横軸は、深層学習処理によって求めた良品度合の高低を示しており、右に行くほど良品度合が高くなる、即ち良品度合が高くなるように設定されている。グラフ中、「○」は良品画像を示しており、「×」は不良品画像を示している。このように同一グラフ上に、通常検査処理による正答率と、深層学習処理による正答率とを同時に表示することで、両者を簡単に比較することができる形態になる。尚、通常検査処理による正答率と、深層学習処理による正答率との表示形態は、図4に示すグラフに限られるものではなく、例えば数値によって両者を比較することができる表示形態であってもよいし、他の表示形態であってもよい。
また、差分検査の場合、表示制御部25は、図5に示すように差分検査と深層学習処理を組み合わせた場合に表示する第2ユーザーインターフェース61を生成する。第2ユーザーインターフェース61には、第1ユーザーインターフェース60と同様なグラフ表示領域61aが設けられている。グラフ表示領域61aに表示されるグラフの縦軸は、通常検査処理としての差分検査によって求めた差分のブロブ面積の大小を示しており、上に行くほど差分のブロブ面積が小さくなる、即ち良品度合が高くなるように設定されている。つまり、通常検査処理による正答率を差分のブロブ面積と関連付けて表示することができる。グラフ表示領域61aに表示されるグラフの横軸は、第1ユーザーインターフェース60のものと同じである。
また、学習検査の場合、表示制御部25は、図6に示すように学習検査と深層学習処理を組み合わせた場合に表示する第3ユーザーインターフェース62を生成する。第3ユーザーインターフェース62には、第1ユーザーインターフェース60と同様なグラフ表示領域62aが設けられている。グラフ表示領域62aに表示されるグラフの縦軸は、通常検査処理としての学習検査によって求めた欠陥量の大小を示しており、上に行くほど欠陥量が小さくなる、即ち良品度合が高くなるように設定されている。グラフ表示領域62aに表示されるグラフの横軸は、第1ユーザーインターフェース60のものと同じである。
また、傷検出の場合、表示制御部25は、図7に示すように傷検出と深層学習処理を組み合わせた場合に表示する第4ユーザーインターフェース63を生成する。第4ユーザーインターフェース63には、第1ユーザーインターフェース60と同様なグラフ表示領域63aが設けられている。グラフ表示領域63aに表示されるグラフの縦軸は、通常検査処理としての傷検出によって求めた欠陥レベルの大小を示しており、上に行くほど欠陥レベルが小さくなる、即ち良品度合が高くなるように設定されている。グラフ表示領域63aに表示されるグラフの横軸は、第1ユーザーインターフェース60のものと同じである。
(閾値調整部26の構成)
図4に示す第1ユーザーインターフェース60には、横軸と平行に延びる通常検査用閾値表示線60bが表示されており、通常検査処理の判定結果は、通常検査処理における閾値とともに表示される。通常検査用閾値表示線60bは、通常検査用閾値を示す線である。通常検査用閾値表示線60bの代わりに、または通常検査用閾値表示線60bと共に、通常検査用閾値を示すことが可能な表示形態を採用してもよく、例えば背景色の塗り分けや、閾値を数値で表示する形態等を用いることもできる。
使用者は、通常検査用閾値表示線60bをキーボード51やマウス52等によって上下方向(通常検査用閾値の増減方向)に移動させることができる。通常検査用閾値表示線60bの位置に応じて通常検査用閾値となる相関値が増減し、通常検査用閾値表示線60bを上に移動させると相関値が増加する一方、通常検査用閾値表示線60bを下に移動させると相関値が減少する。閾値調整部26は、使用者による通常検査用閾値表示線60bの移動状態を検出することで、通常検査用閾値を変更する。通常検査用閾値の調整方法は上述した方法に限られるものではなく、例えば数値を入力することによって調整可能にしてもよい。
図5に示す第2ユーザーインターフェース61には、第1ユーザーインターフェース60と同様な通常検査用閾値表示線61bが表示されている。使用者は、通常検査用閾値表示線61bを上下方向に移動させることにより、通常検査用閾値となる差分のブロブ面積値が増減し、通常検査用閾値表示線60bを上に移動させると差分のブロブ面積値が減少する一方、通常検査用閾値表示線60bを下に移動させると差分のブロブ面積値が増加する。
図6に示す第3ユーザーインターフェース62には、第1ユーザーインターフェース60と同様な通常検査用閾値表示線62bが表示されている。使用者は、通常検査用閾値表示線62bを上下方向に移動させることにより、通常検査用閾値となる欠陥量が増減し、通常検査用閾値表示線60bを上に移動させると欠陥量が減少する一方、通常検査用閾値表示線60bを下に移動させると欠陥量が増加する。
図7に示す第4ユーザーインターフェース63には、第1ユーザーインターフェース60と同様な通常検査用閾値表示線63bが表示されている。使用者は、通常検査用閾値表示線63bを上下方向に移動させることにより、通常検査用閾値となる欠陥レベルが増減し、通常検査用閾値表示線60bを上に移動させると欠陥レベルが小さくなる一方、通常検査用閾値表示線60bを下に移動させると欠陥レベルが大きくなる。
(通常検査処理と深層学習処理との組み合わせ)
この実施形態では、図3に示す検査実行部24が、通常検査処理と深層学習処理とを組み合わせて検査を行うことができるように構成されている。以下に、通常検査処理で不良品判定を行い、残りを深層学習処理で良否判定する場合と、通常検査処理で良品判定を行い、残りを深層学習処理で良否判定する場合と、通常検査処理で良品判定及び不良品判定を確定させ、残りを深層学習処理で良否判定する場合との3つの場合の手順について説明する。
1.通常検査処理で不良品判定を行い、残りを深層学習処理で良否判定する場合
図8は、通常検査処理で不良品判定を行い、残りを深層学習処理で良否判定する場合の手順を示すフローチャートである。図4に示すパターンサーチと深層学習処理を組み合わせた場合と、図5に示す差分検査と深層学習処理を組み合わせた場合に適用することができる処理手順である。
図8に示すフローチャートの開始後、ステップSA1では検査対象物の撮像を行う。これは、制御部13AがCMOSセンサ143を制御することによって行うことができ、具体的には図3に示す画像入力部21が行う。
ステップSA2では、検査実行部24がステップSA1で取得された検査対象画像に対して通常検査処理による検査を行う。ステップSA3では、ステップSA2で行った通常検査処理による検査の結果、明らかに不良品画像であるか否かを判定する。これは、通常検査用閾値に基づいて判定することができ、例えば図4に示すパターンサーチの場合、通常検査用閾値(通常検査用閾値表示線60bで示す)に相当する相関値と、ステップSA2で求めた相関値とを比較し、ステップSA2で求めた相関値が通常検査用閾値以下であれば、明らかに不良品画像であると判定する。図5に示す差分検査の場合も同様にブロブ面積の大小によって判定することができる。
ステップSA3で用いられる通常検査用閾値は不良品判定を確定させる閾値である。従って、ステップSA3では、不良品判定が可能な特徴量を有する検査対象画像に対して不良品判定を確定させる一方、不良品判定を確定させることができない検査対象画像に対しては不良品判定を確定させることなく、次のステップに進むようにする。
ステップSA3でYESと判定された場合にはステップSA7に進む。ステップSA3でYESと判定されたということは、不良品判定が確定している。従って、明らかに不良品画像であるということであり、この場合はステップSA7において最終的に不良品画像とする。つまり、明らかに不良品画像であると判定することができる画像に対しては、深層学習処理を行うことなく、判定結果を確定させることができるので、高い処理速度が維持される。
一方、ステップSA3でNOと判定された場合にはステップSA4に進む。ステップSA3でNOと判定されたということは、不良品判定を確定できないということであり、不良品画像であるか、良品画像であるか、明確でない。この場合に、ステップSA4において通常検査処理よりも識別能力の高い深層学習処理による検査を実行する。尚、深層学習処理が実行される画像には、明らかに不良品画像であると判定される画像が含まれていないので、深層学習処理に特有の想定外の欠陥が混入されたような未知のデータが入力された場合の挙動の不安定さが無くなり、判定精度を高めることができる。
その後、ステップSA5では、深層学習処理により得られた良品度合が深層学習処理用閾値を超えるか否かを判定する。ステップSA5でNOと判定された場合には、識別能力の高い深層学習処理によって不良品画像であると判定されたということであり、ステップSA7に進んで不良品画像であるという判定を確定させる。一方、ステップSA5でNOと判定された場合は良品画像であるので、ステップSA6において良品画像であるという判定を確定させる。
このような手順を経ることで、図9に示すような効果が得られる。図9の上側に示す図は、深層学習処理のみで良否判定した場合の出力値のヒストグラムである。深層学習処理のみで良否判定すると、不良品画像と不良品画像とが混在している領域Aが存在する。つまり、深層学習処理では、上述した不安定な挙動により、明らかに不良品画像であると判定される画像を良品画像であると判定してしまい、不良品画像と不良品画像とを分離することができない。一方、図8に示すフローチャートの手順を経ることで、明らかに不良品画像であると判定される画像が深層学習処理されないので、図9の下側に示す図のように、不良品画像と不良品画像とを分離することができるようになる。
すなわち、図8に示すフローチャートのように、検査対象画像を通常検査処理した結果に応じて、通常検査処理のみで検査を終了させるか、通常検査処理と深層学習処理とを組み合わせた検査処理を行うかを選択することができる。これは、図3に示す検査選択部27によって実行される。例えば、パターンサーチの場合、通常検査処理で求めた相関値がステップSA3で用いる閾値(所定相関値)以下である場合には、当該通常検査処理において不良品であると判定することができるので、検査選択部27は通常検査処理のみで検査を終了させる。一方、通常検査処理で求めた相関値が上記所定相関値よりも高い場合には、検査選択部27は深層学習処理を選択する。
また、差分検査の場合、図8に示すフローチャートの手順と同じであり、通常検査処理で求めた差分のブロブ面積が所定面積値以上である場合には、当該通常検査処理において不良品であると判定することができるので、検査選択部27は通常検査処理のみで検査を終了させる。一方、通常検査処理で求めた差分のブロブ面積が所定面積値よりも小さい場合には、検査選択部27は深層学習処理を選択する。
2.通常検査処理で良品判定を行い、残りを深層学習処理で良否判定する場合
図10は、通常検査処理で良品判定を行い、残りを深層学習処理で良否判定する場合の手順を示すフローチャートである。図6に示す学習検査と深層学習処理を組み合わせた場合と、図7に示す傷検出と深層学習処理を組み合わせた場合に適用することができる処理手順である。
図10に示すフローチャートの開始後、ステップSB1、SB2は、図8に示すフローチャートのステップSA1、SA2と同じである。ステップSB3では、ステップSB2で行った通常検査処理による検査の結果、明らかに良品画像であるか否かを判定する。これは、通常検査用閾値に基づいて判定することができ、例えば図6に示す学習検査の場合、通常検査用閾値(通常検査用閾値表示線62bで示す)に相当する欠陥量と、ステップSB2で求めた欠陥量とを比較し、ステップSB2で求めた欠陥量が通常検査用閾値以下であれば、明らかに良品画像であると判定する。図7に示す傷検出の場合も同様に判定することができる。
ステップSB3で用いられる通常検査用閾値は良品判定を確定させる閾値である。従って、ステップSB3では、良品判定が可能な特徴量を有する検査対象画像に対して良品判定を確定させる一方、良品判定を確定させることができない検査対象画像に対しては良品判定を確定させることなく、次のステップに進むようにする。
ステップSB3でYESと判定された場合にはステップSB7に進む。ステップSB3でYESと判定されたということは、良品が確定している。従って、明らかに良品画像であるということであり、この場合はステップSB7において最終的に良品画像とする。つまり、変動量の少ない明らかに良品画像であると判定することができる画像に対しては、深層学習処理を行うことなく、判定結果を確定させることができるので、高い処理速度が維持される。
一方、ステップSB3でNOと判定された場合にはステップSB4に進む。ステップSB3でNOと判定されたということは、良品判定を確定できないということであり、不良品画像であるか、良品画像であるか、明確でない。この場合に、ステップSB4において通常検査処理よりも識別能力の高い深層学習処理による検査を実行する。尚、深層学習処理が実行される画像には、明らかに良品画像であると判定される画像が含まれていないので、スループットを高い状態で維持できる。
その後、ステップSB5では、深層学習処理により得られた良品度合が深層学習処理用閾値を超えるか否かを判定する。ステップSB5でYESと判定された場合には、識別能力の高い深層学習処理によって良品画像であると判定されたということであり、ステップSB7に進んで良品画像であるという判定を確定させる。一方、ステップSB5でNOと判定された場合は不良品画像であるので、ステップSB6において不良品画像であるという判定を確定させる。
一般的にワークの大半が良品(例えば99%以上など)であることを踏まえると、このように、明らかに良品であるものを高速処理が可能な既存処理で先に判断し、判断が難しいものに限定して深層学習処理を適用することで、識別能力の高い深層学習処理を用いながら、全体のスループットを高速な状態に維持することができる。
3.通常検査処理で良品判定及び不良品判定を確定させ、残りを深層学習処理で良否判定する場合
図11は、通常検査処理で良品判定及び不良品判定を確定させ、残りを深層学習処理で良否判定する場合の手順を示すフローチャートである。この手順は、良品画像と不良品画像とが図12及び図14に示す第1の分布例のような分布、図13及び図15に示す第2の分布例のような分布になっている場合に適用することができる。
図11に示すフローチャートの開始後、ステップSC1、SC2は、図8に示すフローチャートのステップSA1、SA2と同じである。また、図11に示すフローチャートのステップSC3は、図8に示すフローチャートのステップSA3と同じであり、また、図11に示すフローチャートのステップSC8は、図8に示すフローチャートのステップSA7と同じである。
ステップSC3では、例えば図12に示す学習検査の場合、通常検査用閾値(通常検査用閾値表示線62cで示す)に相当する欠陥量と、ステップSC2で求めた欠陥量とを比較し、ステップSC2で求めた欠陥量が通常検査用閾値よりも大きく、かつ、その差が一定以上に大きければ、明らかに不良品画像であると判定する。図13に示す分布状態の場合も同様に判定することができ、また、図14、図15に示す傷検出の場合も同様に判定することができる。
ステップSC3で用いられる通常検査用閾値は不良品判定を確定させる閾値である。従って、ステップSC3では、不良品判定が可能な特徴量を有する検査対象画像に対して不良品判定を確定させる一方、不良品判定を確定させることができない検査対象画像に対しては不良品判定を確定させることなく、次のステップに進むようにする。
ステップSC3でNOと判定された場合には、良品画像か、明らかに不良品画像であると判定できない画像であり、この場合には、ステップSC4に進む。ステップSC4では、ステップSC2で行った通常検査処理による検査の結果、明らかに良品画像であるか否かを判定する。
ステップSC4では、例えば学習検査の場合、通常検査用閾値(図12に示す通常検査用閾値表示線62b)に相当する欠陥量と、ステップSC2で求めた欠陥量とを比較し、ステップSC2で求めた欠陥量が通常検査用閾値よりも大きく、かつ、その差が一定以上に大きければ、明らかに良品画像であると判定する。図13に示す分布状態の場合も同様に判定することができ、また、図14、図15に示す傷検出の場合も同様に判定することができる。
ステップSC4で用いられる通常検査用閾値は良品判定を確定させる閾値である。従って、ステップSC4では、良品判定が可能な特徴量を有する検査対象画像に対して良品判定を確定させる一方、良品判定を確定させることができない検査対象画像に対しては良品判定を確定させることなく、次のステップに進むようにする。
ステップSC4でYESと判定された場合にはステップSC7に進む。ステップSC4でYESと判定されたということは、明らかに良品画像であるということであり、この場合はステップSC7において良品画像であるという判定を確定させる。つまり、変動量の少ない明らかに良品画像であると判定することができる画像に対しては、深層学習処理を行うことなく、判定結果を確定させることができるので、高い処理速度が維持される。
一方、ステップSC4でNOと判定された場合にはステップSC5に進む。ステップSC4でNOと判定されたということは、明らかに良品画像であると判定できない画像、または明らかに不良品画像であると判定できない画像であり、この場合に、ステップSC5において通常検査処理よりも識別能力の高い深層学習処理による検査を実行する。
その後、ステップSC6では、深層学習処理により得られた良品度合が深層学習処理用閾値を超えるか否かを判定する。ステップSC6でYESと判定された場合には、識別能力の高い深層学習処理によって良品画像であると判定されたということであり、ステップSC7に進んで良品画像であるという判定を確定させる。一方、ステップSC6でNOと判定された場合は不良品画像であるので、ステップSC8において不良品画像であるという判定を確定させる。このような手順を経ることで、明らかに良品であるものを高速処理が可能な既存処理で先に判断し、判断が難しいものに限定して深層学習処理を適用することで、識別能力の高い深層学習処理を用いながら、全体のスループットを高速な状態に維持することができる。また、図9に示すような効果も同時に得られる。
(検査選択部27の構成)
検査選択部27は、上述したフローチャートに示すように、ある閾値に基づいた判定によって通常検査処理のみ、通常検査処理と深層学習処理の併用とを自動的に選択するように構成されているが、これに限られるものではなく、例えば、使用者により、通常検査処理のみ、深層学習処理のみ、通常検査処理と深層学習処理の併用のうち、任意の処理を選択可能にすることもできる。例えば、検査処理選択用ユーザーインターフェースを表示装置4に表示させて、使用者による任意の検査処理の選択操作を受け付け可能に構成することもできる。
検査処理を選択する際、図4~図7に示すユーザーインターフェース60~63を表示装置4に表示させておくことで、通常検査処理の正答率と深層学習処理の正答率とを比較しながら、分類を行う上で有効な検査処理を選択することができる。
(ユーザーインターフェースの例)
ユーザーインターフェースは上述したものに限られるものではなく、他のユーザーインターフェースであってもよい。図16に示すユーザーインターフェース70には、第1ユーザーインターフェース60のグラフ表示領域60aと同様なグラフ表示領域70aと、深層学習処理での出力値の累積ヒストグラムを表示する第1ヒストグラム表示領域70bと、通常検査処理での出力値の累積ヒストグラムを表示する第2ヒストグラム表示領域70cとが設けられている。第1ヒストグラム表示領域70b及び第2ヒストグラム表示領域70cを設けることで、どちらの処理によれば良品画像と不良品画像を分離できるかを比較することができ、より分離度合が良好な方を選択することができる。
また、第1ヒストグラム表示領域70bの近傍には第1分離状態表示領域70dが設けられ、第2ヒストグラム表示領域70cの近傍には第2分離状態表示領域70eが設けられている。第1分離状態表示領域70dには、第1ヒストグラム表示領域70bに表示されている累積ヒストグラムの良品画像と不良品画像の分離状態、即ち、良品画像と不良品画像とが分離できるか否かが表示される。同様に、第2分離状態表示領域70eには、第2ヒストグラム表示領域70cに表示されている累積ヒストグラムの良品画像と不良品画像の分離状態が表示される。図16に示す例では、通常検査処理では良品画像と不良品画像とを分離できないが、深層学習処理では良品画像と不良品画像とを分離できることが分かる。
また、通常検査処理で明らかに不良品であるものを不良品と確定し、残りを深層学習処理で検査する場合、通常検査処理で明らかに不良品と確定するための閾値に応じて、深層学習処理での出力値の累積ヒストグラムを更新することで、良品画像と不良品画像とを分離する閾値を調整することができる。
例えば、図17に示す分布例では、第1ヒストグラム表示領域70b及び第2ヒストグラム表示領域70cに表示されている累積ヒストグラムを見ると、通常検査処理及び深層学習処理の両方で良品画像と不良品画像とを分離できないことが分かる。
このような場合、図18に示すように、通常検査処理の閾値を表示する通常検査用閾値表示線70fをユーザーインターフェース70に表示させておき、この通常検査用閾値表示線70fをキーボード51やマウス52等によって上下方向に移動させることにより、通常検査処理及び深層学習処理の両方で良品画像と不良品画像とを分離可能にすることができる。通常検査用閾値表示線70fを上下方向に移動させると、図18に斜線で示す範囲、即ち、深層学習処理で検査する範囲を変更することができる。深層学習処理で検査する範囲を変更することで、第2ヒストグラム表示領域70cに表示されている累積ヒストグラムが更新される。使用者は、第2ヒストグラム表示領域70cに表示されている累積ヒストグラムを見ながら通常検査用閾値を調整し、良品画像と不良品画像とを分離可能な閾値に設定することができる。
また、図19に示すような累積ヒストグラムになっていた場合、不良品のみの分布の範囲Bに属する画像の数を「不良品数」とし、良品のみの分布の範囲Cに属する画像の数を「良品数」とし、不良品と良品とが混在する分布の範囲Dに属する画像の数を「不明数」とすることができる。これら範囲B~Dの数値を表示装置4に表示することで、範囲B~Dの数値を比較することができ、これにより、分離度合が良好なものを選択することができる。
例えば、図20に示す例では、ユーザーインターフェース70に、第1数値表示領域70gと、第2数値表示領域70hとが設けられている。第1数値表示領域70gには、深層学習処理での出力値に基づいて算出された不良品数、良品数及び不明数が表示される。第2数値表示領域70hには、通常検査処理での出力値に基づいて算出された不良品数、良品数及び不明数が表示される。この図に示すように、第1数値表示領域70g及び第2数値表示領域70hに表示された数値を見ることによっても、通常検査処理及び深層学習処理で良品画像と不良品画像とを分離できるか否かを把握できる。
また、通常検査処理で明らかに不良品であるものを不良品と確定し、残りのものを深層学習処理で検査する場合、通常検査処理で明らかに不良品と確定するための閾値に応じて、「分離度合の数値表示」を更新することで、良品画像と不良品画像とを分離する閾値を調整することができる。
例えば、図21に示す分布例では、通常検査処理及び深層学習処理の両方で良品画像と不良品画像とを分離できない状態である。
このような場合、図22に示すように、通常検査処理の閾値を表示する通常検査用閾値表示線70fをユーザーインターフェース70に表示させておき、この通常検査用閾値表示線70fをキーボード51やマウス52等によって上下方向に移動させることにより、通常検査処理及び深層学習処理の両方で良品画像と不良品画像とを分離可能にすることができる。通常検査用閾値表示線70fを上下方向に移動させると、図22に左下がりの斜線で示す範囲、即ち、深層学習処理で検査する範囲に対する深層学習処理での分離度合の数値表示が更新されるとともに、同図に右下がりの斜線で示す範囲、即ち、通常検査処理で検査する範囲に対する通常検査処理での分離度合の数値表示が更新される。使用者は、第1数値表示領域70g及び第2数値表示領域70hに表示されている数値を見ながら通常検査用閾値を調整し、良品画像と不良品画像とを分離可能な閾値に設定することができる。
(実施形態の作用効果)
以上説明したように、この実施形態に係る画像検査装置1によれば、設定モード時に通常検査処理及び深層学習処理を設定し、その後、新たに取得された良品画像と不良品画像に通常検査処理を適用した場合の正答率と、新たに取得された良品画像と不良品画像に深層学習処理を適用した場合の正答率とを算出して表示装置4に表示することができる。表示装置4には、通常検査処理を適用した場合の正答率と、深層学習処理を適用した場合の正答率とが比較可能な形態で表示されているので、使用者は、通常検査処理と、深層学習処理のいずれの処理が検査対象物の検査に適しているのか、表示装置4の表示内容に基づいて容易に判別可能になる。また、通常検査処理と深層学習処理を組み合わせた処理が検査対象物の検査に適しているのか否かも容易に判別可能になる。
正答率の比較結果に基づいて、通常検査処理と深層学習処理のいずれか一方、又はこれらの処理を組み合わせた検査処理の選択を行うことができる。例えば、通常検査処理だけで十分に安定的な検査が可能である場合には、通常検査処理を選択することで、深層学習処理に特有の不安定な挙動が排除されるとともに、処理時間が短縮される。一方、通常検査処理だけでは対応が困難な検査対象物の場合は、深層学習処理を選択することで検査精度が向上する。
また、使用者は、表示装置4に表示された通常検査処理の判定結果を見ながら通常検査用閾値を調整することができるので、良品と不良品との分離を適切に行うことができる。また、良品と不良品との分離度合を累積ヒストグラムや数値によって確認することができるので、良品と不良品との分離状態を容易に把握することができる。
また、設定モードの後、新たに取得された検査対象画像に対し通常検査処理を適用したときに、検査対象画像内の特徴量と良品判定を確定させる閾値とに基づいて良品判定が可能な特徴量を有する検査対象画像に対しては良品判定を確定させることができる。また、検査対象画像内の特徴量と不良品判定を確定させる閾値とに基づいて不良品判定が可能な特徴量を有する検査対象画像に対しては不良品判定を確定させることができる。
したがって、明らかに良品と判定できる検査対象物又は明らかに不良品と判定できる検査対象物を、処理速度の速い通常検査処理によって検査することで、スループットが大きく向上する。残りの僅かな検査対象物だけを深層学習処理によって検査するので、処理速度の低下を抑制しながら、検査精度を高めることが可能になる。
上述の実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内のものである。