説明

画像検査装置、画像検査方法、コンピュータを画像検査装置として機能させるためのプログラム、およびコンピュータ読み取り可能な記録媒体

【課題】画像検査における図形設定と計測処理とが分離可能な画像検査装置を提供する。
【解決手段】検査装置100は、画像データ入力部210と、制御部220と、アプリケーション記憶部270と設定知己億部272とテンプレート記憶部274とを含む。制御部220は、検査部230と設定部250とを含む。設定部250は、検査装置100が実行する画像検査処理を構成する処理項目と、アプリケーションとを関連付けて設定値記憶部272に格納する。検査部230は、設定値記憶部272に格納されている処理項目とアプリケーションとを、画像データ入力部210より送られた画像データに適用して、当該画像データをもたらしたワークの外観における良不良を判定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は検査技術に関し、特に、画像処理を用いて物品の外観を検査する技術に関する。
【背景技術】
【0002】
検査対象物の外観を検査する方法として、画像処理を用いた検査技術がある。たとえば、特開平8−96113号公報(特許文献1)は、「画像処理領域やパラメータ等を一度設定すると、それらの属性を次回の画像処理領域設定のために初期値として与えることにより、操作性を改善する画像処理装置」を開示している(要約欄参照)。
【特許文献1】特開平8−96113号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
ところで、外観検査の対象となる検査対象物には、個体差によるばらつきがある。その個体差によるばらつきに起因して、検査対象領域の形状あるいは大きさが変化する場合もある。この場合、キズその他の欠陥を検出するための画像検査処理が当該設定された画像処理領域に固定されると、当該ばらつきが許容差範囲内であっても、画像検査装置は、その検査対象物を不良品と判定する可能性もあり、検査精度が低下する場合があった。
【0004】
また、画像検査装置が設けられた搬送ラインによって搬送される検査対象物の種類が変更されると、画像処理検査のアルゴリズムも変更する必要がある。この場合、検査対象領域と画像処理検査のアルゴリズムとの関係が固定されていると、検査対象物の種類の変更に応じて画像検査装置の設定を再度構成する必要がある。この場合、検査対象物によっては、画像検査装置の設置を速やかに変更することができない場合もあった。
【0005】
本発明は上述のような問題点を解決するためになされたものであって、その目的は、検査精度の低下を防止できる画像検査装置を提供することである。他の目的は、検査対象物の変更に合わせて画像処理検査の設定を変更できる画像検査装置を提供することである。
【0006】
他の目的は、検査精度の低下を防止できる画像検査方法を提供することである。他の目的は、検査対象物の変更に合わせて画像処理の設定を変更できる画像検査方法を提供することである。
【0007】
他の目的は、検査精度の低下を防止できる画像検査装置としてコンピュータを機能させるためのプログラムを提供することである。他の目的は、検査対象物の変更に合わせて画像処理の設定を変更できる画像検査装置としてコンピュータを機能させるためのプログラムを提供することである。
【0008】
他の目的は、上記のプログラムを格納した記録媒体を提供することである。
【課題を解決するための手段】
【0009】
上記の課題を解決するために、この発明のある局面に従う画像検査装置は、画像データの入力を受け付ける入力手段と、画面を表示する表示手段と、画像検査処理を構成する処理項目として予め定義された複数の処理項目と、画像検査の対象となる検査対象領域の形状を複数の態様で規定するために予め定義された図形設定データとを格納するテンプレート記憶手段とを備える。画像検査は、画像検査処理を構成する一連の処理項目のうちの1つである。画像検査装置は、表示手段に表示される項目の選択操作を受け付ける操作手段と、選択操作に基づいて、検査対象領域を設定する設定手段と、設定手段によって設定された検査対象領域を特定するデータを格納する設定値記憶手段と、設定値記憶手段に格納されているデータに基づいて、設定手段により設定された検査対象領域について画像データを用いた画像検査を実行する検査手段とを備える。設定手段は、複数の処理項目から一連の処理項目を選択するための画面と、検査対象領域の形状を複数の候補から選択するための画面とを表示手段に表示させる。設定手段は、選択された処理項目と、選択された検査対象領域の形状と、選択された検査対象領域の形状を規定する定義項目とを関連付ける。設定値記憶手段は、関連付けが行なわれた選択された処理項目と、選択された検査対象領域の形状と、定義項目とを格納する。検査手段は、入力された画像データから検査対象領域を特定するデータを取得する。検査手段は、特定するデータを定義項目に適用することにより、定義項目に関連付けられた検査対象領域を導出する。検査手段は、入力された画像データを、導出された検査対象領域に適用することにより、入力された画像データをもたらした検査対象物を検査する。
【0010】
好ましくは、検査手段は、入力された画像データからエッジを検出することにより検査対象領域を特定するデータを取得する。
【0011】
好ましくは、画像検査装置は、検査対象領域の一部の領域を検査対象から除外するマスク領域を設定するマスク領域設定手段をさらに備える。検査手段は、マスク領域以外の検査対象領域について、画像検査を実行する。
【0012】
好ましくは、定義項目は、領域を表わす図形の座標値、中心位置および半径の少なくともいずれかを含む。
【0013】
好ましくは、検査対象領域の形状は、矩形、多角形、円、楕円、幅を有する線、幅を有する円のいずれかを含む。
【0014】
この発明の他の局面に従うと、コンピュータが実行する画像検査方法が提供される。コンピュータは、プロセッサと表示装置と記憶装置とを備えている。記憶装置は、画像検査処理を構成する処理項目として予め定義された複数の処理項目と、画像検査の対象となる検査対象領域の形状を複数の態様で規定するために予め定義された図形設定データとを格納している。画像検査は、画像検査処理を構成する一連の処理項目のうちの1つである。画像検査方法は、表示装置が、画面を表示するステップと、プロセッサが、表示装置に表示される項目の選択操作を受け付けるステップと、プロセッサが、選択操作に基づいて検査対象領域を設定するステップと、プロセッサが、設定された検査対象領域を特定するデータを記憶装置に格納するステップと、プロセッサが、画像データの入力を受け付けるステップと、プロセッサが、記憶装置に格納されているデータに基づいて、設定された検査対象領域について画像データに基づく画像検査を実行するステップとを備える。検査対象領域を設定するステップは、複数の処理項目から一連の処理項目を選択するための画面と、検査対象領域の形状を複数の候補から選択するための画面とを、表示装置に表示させるステップと、選択された処理項目と、選択された検査対象領域の形状と、選択された検査対象領域の形状を規定する定義項目とを関連付けるステップと、関連付けが行なわれた選択された処理項目と、選択された検査対象領域の形状と、定義項目とを記憶装置に格納するステップとを含む。画像検査を実行するステップは、入力された画像データから検査対象領域を特定するデータを取得するステップと、特定するデータを定義項目に適用することにより、定義項目に関連付けられた検査対象領域を導出するステップと、入力された画像データを、導出された検査対象領域に適用することにより、入力された画像データをもたらした検査対象物を検査するステップとを含む。
【0015】
この発明の他の局面に従うと、コンピュータを画像検査装置として機能させるためのプログラムが提供される。コンピュータは、プロセッサと表示装置と記憶装置とを備える。記憶装置は、画像検査処理を構成する処理項目として予め定義された複数の処理項目と、画像検査の対象となる検査対象領域の形状を複数の態様で規定するために予め定義された図形設定データとを格納している。画像検査は、画像検査処理を構成する一連の処理項目のうちの1つである。プログラムはプロセッサに、表示装置に画面を表示させるステップと、表示装置に表示される項目の選択操作を受け付けるステップと、選択操作に基づいて、検査対象領域を設定するステップとを実行させる。検査対象領域を設定するステップは、複数の処理項目から一連の処理項目を選択するための画面と、検査対象領域の形状を複数の候補から選択するための画面とを、表示装置に表示させるステップと、選択された処理項目と、選択された検査対象領域の形状と、選択された検査対象領域の形状を規定する定義項目とを関連付けるステップと、関連付けが行なわれた選択された処理項目と、選択された検査対象領域の形状と、定義項目とを、記憶装置に格納するステップとを含む。さらに、プログラムはコンピュータに、画像データの入力を受け付けるステップと、入力された画像データから検査対象領域を特定するデータを取得するステップと、特定するデータを定義項目に適用することにより、定義項目に関連付けられた検査対象領域を導出するステップと、入力された画像データを、導出された検査対象領域に適用することにより、入力された画像データをもたらした検査対象物を検査するステップとを実行させる。
【0016】
この発明のさらに他の局面に従うと、上記のプログラムを格納した、コンピュータ読み取り可能な記録媒体が提供される。
【発明の効果】
【0017】
本発明によると、検査精度の低下を防止することができる。また、本発明によると、検査対象物の変更に合わせて画像処理の設定を変更することができる。
【発明を実施するための最良の形態】
【0018】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【0019】
図1を参照して、本発明の実施の形態に係る検査装置100の使用態様について説明する。図1は、検査装置100を用いた画像処理検査工程の概略を表わす図である。検査装置100は、カメラ110とセンサ130とに接続される。検査装置100は、さらにケーブル102を介してPLC(Programmable Logic Controller)150に接続されている。PLC150は、ケーブル152を介して機器160に接続される。
【0020】
センサ130は、搬送ライン120に設けられる。搬送ライン120は、機器160によって加工処理が行なわれたワーク140,142,144を順次搬送する。センサ130は、各ワークが搬送ライン120によって送られてきたことを検知すると、検知信号を検査装置100に送信する。検査装置100は、その信号に応答して撮影命令をカメラ110に送信する。カメラ110は、その命令に応答して撮影動作を実行し、ワーク140の画像を検査装置100に送信する。検査装置100は、搬送ライン120によって送られるべきワークとして予め登録された表示画像と、カメラ110から送られた撮影画像とを比較し、搬送ライン120によって送られているワークが良品であるか否かを画像処理を実行することにより判定する。検査装置100は、その判定結果に応じて機器160に対するフィードバック信号をPLC150に送信する。PLC150は、その信号に基づいて機器160に対する指令を変更する。
【0021】
ここで、ワーク140,142,144は、たとえば、電子部品、ビンその他の液体容器、シートその他の平面状の物体等であるが、これらに限られない。
【0022】
図2を参照して、実施の形態に係る検査装置100について説明する。図2は、検査装置100によって実現される機能の構成を表わすブロック図である。検査装置100は、画像データ入力部210と、設定入力部212と、信号入力部214と、制御部220と、アプリケーション記憶部270と、設定値記憶部272と、テンプレート記憶部274と、表示部280と、撮影命令出力部282とを備える。制御部220は、検査部230と、画面表示制御部240と、設定部250と、撮影制御部260とを含む。検査部230は、エッジ計測部232と、形状導出部234と、判定部236とを含む。
【0023】
画像データ入力部210は、検査装置100に接続されたカメラ110から送られた画像信号の入力を受け付ける。設定入力部212は、検査装置100に実行させる検査処理を規定する設定の入力を受け付ける。設定入力部212は、ある局面において、マウス、キーボード、タッチパネルその他の入力装置として実現される。また他の局面において、設定入力部212は、検査装置100に接続された他の情報通信装置から送られた信号の入力を受け付ける信号入力インターフェイスとしても実現される。
【0024】
信号入力部214は、センサ130から送られた信号の入力を受け付ける。なお、画像処理検査システムによっては、撮影のタイミングをセンサ130からの信号を用いることなく規定するものも存在する。この場合には、センサ130および検査装置100における信号入力部214は不要である。
【0025】
制御部220は、検査装置100に対して外部から与えられる信号と、検査装置100の内部に保持されているデータとに基づいて検査装置100の動作を制御する。ある局面においては、制御部220は、CPUその他の演算装置として実現される。他の局面においては、特定の処理を実行するための回路素子の組み合わせとしても実現可能である。
【0026】
より詳しくは、検査部230は、カメラ110から送られる画像信号と設定値記憶部272に格納されているデータとに基づいて、アプリケーション記憶部270に格納されているプログラムを実行することにより、当該画像信号を与えたワークが良品であるか否か(たとえば表面にキズその他の不良が存在するか否か)を判定する。判定の内容は、ワークの表面にキズが生じているか否か、ビンその他の容器の表面に貼付されるべきラベルが貼られているか否か等を含む。
【0027】
画面表示制御部240は、設定入力部212を介して入力された指示とテンプレート記憶部274に格納されている予め準備されたテンプレートデータと、設定値記憶部272に格納されている設定値と、検査部230からの出力とに基づいて、表示部280に対して、各画面を表示させる。ある局面において、画面表示制御部240は、検査装置100に対して特定の検査処理を実行するための設定の入力を受け付ける画面を表示させる。検査装置100の管理者は、表示部280に表示された当該画面を参照しながら、設定入力部212に対する操作によって、検査装置100に実行させる処理を定義することができる。
【0028】
他の局面において、画面表示制御部240は、検査装置100が現実に計測処理を実行している場合に検査部230から送られた検査結果を表示する。
【0029】
設定部250は、画像検査処理を定義する一連の処理のうち、画像検査の対象となる検査対象領域を設定する。一連の処理とは、画像データの入力、画像データ処理(2値化処理、平均値算出処理等)、検査対象領域の認識処理、教示データとの比較処理等を含む。より詳しくは、設定部250は、設定入力部212に対して入力された設定値と、テンプレート記憶部274に格納されているテンプレートデータとを関連付けて、設定値記憶部272に書き込む。この関連付けは、検査装置100が現実に検査処理を実行するときに使用される。ここで設定値は、当該一連の処理を構成する各処理項目を識別するデータ、検査対象領域を特定するデータ等を含む。
【0030】
ある局面において、設定部250は、複数の処理項目から一連の画像検査処理を構成する処理項目(画像検査処理のフローを構成する具体的な処理の内容)を複数の処理項目から選択するための画面と、検査対象領域の形状を複数の候補から選択するための画面とを表示部280に表示させる。設定部250は、選択された処理項目と、選択された検査対象領域の形状と、選択された検査対象領域の形状を規定する定義項目とを関連付ける。処理項目は、画像データの入力、エッジの検出、濃淡処理、計測対象となる領域の面積の算出などを含む。
【0031】
また、他の局面において、設定部250は、設定入力部212から送られる信号に基づいて、マスク領域を設定する。すなわち、検査装置100がマスク領域の設定を受け付ける動作モードであるとき、設定部250は、設定入力部212が受け付けた入力操作に基づいて、検査処理の対象から除外される領域を特定するデータを、当該マスク領域に関連付けて、設定値記憶部272に格納する。
【0032】
撮影制御部260は、信号入力部254によって受け付けられた信号に応答して、搬送ライン120に対する撮影動作を実行する命令を生成する。撮影制御部260は、その命令を撮影命令出力部282を介して、検査装置100に接続されているカメラ110に送信する。カメラ110は、その命令に応答して撮影動作を実行すると、当該撮影によって得られた画像信号を検査装置100に送信する。
【0033】
アプリケーション記憶部270は、検査装置100を作動させるためのソフトウェアを予め格納している。たとえば、アプリケーション記憶部270は、検査装置100における信号の入出力、制御処理を実行させるためのファームウェアと、設定値記憶部272に格納されている設定値と、テンプレート記憶部274に格納されている教示データとに基づいて画像処理を実行するためのアプリケーションプログラムと、PLC150との間でデータの授受を行なうための通信プログラムなどを格納している。
【0034】
設定値記憶部272は、特定の搬送ライン120における画像処理検査を検査装置100に実行させるために入力された設定値を格納している。設定値は、たとえば、当該画像処理検査を構成する一連の処理項目、画像処理検査の対象となる領域を特定するデータ、、検査対象領域を特定するデータ、良品のデータとして予め準備された教示データなどを含む。
【0035】
テンプレート記憶部274は、画像処理検査を実行するための設定値として予め準備された複数の設定項目をテンプレートとして保持している。テンプレート記憶部274に保持されているデータは、たとえば検査装置100の製造者によって予め作成され、テンプレート記憶部274に格納される。あるいは、検査装置100の使用者が、当該テンプレートデータを追加できる態様であってもよい。
【0036】
アプリケーション記憶部270と設定値記憶部272とテンプレート記憶部274とは、ハードディスク装置、フラッシュメモリその他の不揮発性の記憶装置によって実現される。なお、各記憶部に格納されているプログラムまたはデータは、上述のように別個に保持されている必要はなく、データおよびプログラムの格納の態様は、図2に示される構成に限られない。
【0037】
表示部280は、検査装置100が内蔵するディスプレイ装置あるいは検査装置100に接続される外部表示装置としても実現される。表示部280は、画面表示制御部240によって作成されたデータに基づいて設定画面、結果画面などを表示する。
【0038】
撮影命令出力部282は、ある局面において、信号出力インターフェイスとして実現される。撮影命令出力部282は、撮影命令を有線および無線のいずれによって送信するものであってもよい。
【0039】
次に、図3を参照して、検査装置100の具体的構成について説明する。図3は、検査装置100として機能するコンピュータシステム300のハードウェア構成を表わすブロック図である。コンピュータシステム300は、主たる構成要素として、CPU(Central Processing Unit)310と、マウス320と、キーボード330と、RAM(Random Access Memory)340と、ハードディスク350と、光ディスク駆動装置360と、通信I/F372と、入力I/F(Interface)370と、モニタ380とを備える。入力I/F370には、カメラ110が接続される。光ディスク駆動装置360には、CD−ROM(Compact Disc-Read Only Memory)362その他の記録媒体が装着可能である。
【0040】
CPU310は、コンピュータシステム300の動作を制御する。詳しくは、CPU310は、コンピュータシステム300に対して与えられる命令に基づいて、あるいは、予め定められた条件が成立したことに基づいて、コンピュータシステム300の動作を制御する。
【0041】
マウス320およびキーボード330は、コンピュータシステム300の使用者による命令の入力を受け付ける。RAM340は、CPU310によって生成されたデータ、あるいはコンピュータシステム300の外部から与えられたデータを一時的に記憶する。ハードディスク350は、コンピュータシステムに与えられたデータあるいはCPU310によって生成されたデータを不揮発的に保持する。光ディスク駆動装置360は、CD−ROM362その他の記録媒体からデータを読み出し、その読み出したデータをRAM340に転送する。また、他の局面において、データの書き込みが可能な記録媒体が光ディスク駆動装置360に装着されると、光ディスク駆動装置360は、CPU310の命令に基づいて、指定されたデータをRAM340から当該記録媒体に書き込む。
【0042】
たとえば、ある局面において、CPU310は、コンピュータシステム300を検査装置100として実行させるために入力された設定値を関連するアプリケーションとともに当該記録媒体に書き込むことができる。この場合、コンピュータシステム300とは別のコンピュータシステムにその記憶媒体を装着して当該アプリケーションを実行させることにより、同様の検査装置としてそのコンピュータシステムを機能させることができる。
【0043】
入力I/F370は、カメラ110から送られる画像データの入力を受け付けて、RAM340に確保されたワーク領域にそのデータを書き込む。入力された画像データに基づく画像は、モニタ380に表示される。
【0044】
通信I/F372は、ケーブル102の装着を受け付ける。コンピュータシステム300は、通信I/F372を介して制御信号をPLC150に送信することができる。モニタ380は、グラフィックコントローラ(図示しない)の制御に基づいて、設定画面、検査画面などを表示する。
【0045】
コンピュータシステム300における処理は、ハードウェアおよびCPU310により実行されるソフトウェアによって実現される。このようなソフトウェアは、ハードディスク350に予め格納されている場合がある。また、ソフトウェアは、CD−ROM362その他の記録媒体に格納されて、プログラムプロダクトとして流通している場合もある。あるいは、当該ソフトウェアは、いわゆるインターフェイスその他のネットワークに接続している情報提供事業者によって、ダウンロード可能なプログラムプロダクトとして提供される場合もある。このようなソフトウェアは、光ディスク駆動装置360その他の読取装置によってその記録媒体から読み取られて、あるいは、通信I/F372を介してダウンロードされた後、ハードディスク350に一旦格納される。そのソフトウェアは、CPU310によってハードディスク350から読み出され、RAM340に実行可能なプログラムの形式で格納される。CPU310は、そのプログラムを実行する。
【0046】
図3に示されるコンピュータシステム300の各構成要素は、一般的なものである。したがって、本発明の最も本質的な部分は、RAM340、ハードディスク350、CD−ROM352その他の記録媒体に格納されたソフトウェア、あるいはネットワークを介してダウンロード可能なソフトウェアであるとも言える。なお、コンピュータシステム300の動作は周知であるので、詳細な説明は繰り返さない。
【0047】
ここで、記録媒体としては、CD−ROM362あるいはハードディスク350に限られず、FD(Flexible Disc)、磁気テープ、カセットテープ、光磁気ディスク(MO((Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc)、IC(Integrated Circuit)カード(メモリカードを含む)、光カード、マスクROM、EPROM(Electronically Programmable Read-Only Memory)、EEPROM(Electronically Erasable Programmable Read-Only Memory)、フラッシュROMなどの半導体メモリなど固定的にプログラムを担持できる媒体でもよい。
【0048】
なお、ここでいうプログラムとは、CPU310により直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラムなどを含む。
【0049】
次に、図4を参照して、本実施の形態に係る検査装置100のデータ構造について説明する。図4は、ハードディスク350におけるデータおよびプログラムの格納の一態様を概念的に表わす図である。ハードディスク350は、コンピュータシステム300を検査装置100として機能させるためのデータおよびプログラムを格納している。
【0050】
より詳しくは、検査装置100における処理項目として設定の対象となり得る項目は、テンプレートとして、領域410から領域418にそれぞれ格納されている。カメラ画像入力(領域410)は、検査装置100による検査の対象としての画像をカメラ110から受け付けることを規定する。カメラ切替(領域412)は、複数のカメラが検査装置100に接続される場合に、画像データの入力を受け付けるカメラの切り替えを規定する。エッジ位置検出(領域414)は、入力された画像データから検査対象となる領域を規定するエッジの位置の検出態様(たとえば座標位置)を規定する。エッジ位置修正(領域416)およびECMサーチ(領域418)も、同様に検査装置100の分野における周知の処理を規定する。
【0051】
これらのプログラムモジュールは、予め検査装置100の製造者によって作成される。データ入力インターフェイスを介したデータ入力によって、プログラムモジュールが追加、変更されてもよい。
【0052】
コンピュータシステム300において検査装置100の具体的な設定として定義された処理項目は、領域430から領域437に格納されている。編集フロー番号(領域430)は、検査装置100として機能させるために登録された編集フローを特定する。たとえば、コンピュータシステム300が複数の検査処理を実行する場合、各処理を規定するフロー毎に、当該編集フロー番号が割り当てられる。
【0053】
当該検査フローの具体的な内容として、「0.カメラ画像入力」、「1.エッジ位置」、「2.エッジ位置」、「3.エッジ位置」、「4.エッジ位置」と、「5.処理ユニット図形設定」と「6.キズ汚れ」は、それぞれ領域431から領域437に格納されている。各項目は、領域420に格納されているテンプレートとして準備された項目から選択されたものである。領域431から領域437において規定される処理が実行されることにより、具体的な検査装置100としての処理が実現される。
【0054】
コンピュータシステム300による画像処理検査の結果は、領域440から領域444に格納される。たとえば、検査総数(領域440)は、実際に検査が行なわれたワークの総数を表わす。OK数(領域442)は、当該検査総数のうち良品と判定されたワークの数を表わす。NG数(領域444)は、当該検査総数のうち不良品と判定されたワークの数を表わす。図1において、センサ130からのトリガ信号に基づいて撮影された各ワークの各々について、検査が行なわれ、当該検査の結果が領域440から領域444に反映される。
【0055】
コンピュータシステム300のオペレーティングシステムは、領域456に格納されている。オペレーティングシステムは、コンピュータシステム300における演算処理を規定する。
【0056】
画像処理検査アプリケーションのうち実行モジュールは、領域454に格納されている。画像処理検査アプリケーションのうち設定モジュールは、領域452に格納されている。CPU310は、設定モジュール(領域452)を実行することにより、領域420に格納されているテンプレートデータに基づいて、コンピュータシステム300を特定の検査装置として機能させるための設定処理を実現する。コンピュータシステム300のCPU310は、当該実行モジュールを実行することにより、領域430から領域437に格納されている設定値テーブルの各項目に従って、画像処理検査を行なう。通信処理プログラムは、領域450に格納される。このプログラムは、検査装置100に接続されるPLC150との間の通信を規定する。
【0057】
さらに、ある局面において、画像検査処理において良否の判断基準に使用される教示データも、ハードディスク350に格納される。当該教示データは、良品のワークを予め撮影したことにより取得されたデータを含む。
【0058】
図4に示されるデータおよびプログラムの格納の態様はこれに限られない。たとえば、これらのデータおよびプログラムのうち特定のものが別の記憶装置に格納されてもよい。また、他の局面において、検査装置100が検査処理の実行機能のみを有している場合であってもよい。この場合、画像処理検査アプリケーションの設定モジュールと実行モジュールとが別個のコンピュータシステムに含まれていてもよい。
【0059】
この場合、設定モジュールを有するコンピュータシステムは、当該コンピュータシステムにおいて設定値テーブルとして生成されたデータ(領域430から領域437に相当するデータを含む)を、実行モジュールを有するコンピュータシステムに送信する。このようにすると、複数のコンピュータシステムにおいて画像処理検査が実行される場合、画像処理検査を規定する設定をあるコンピュータシステムにおいて行ない、当該設定を含むデータを、具体的に画像処理検査を実行する他のコンピュータシステムにネットワーク配信すればよい。このようにすると、分散された画像検査を実行するための設定を1箇所で集中管理することができる。
【0060】
次に、図5から図9を参照して、検査装置100として機能するコンピュータシステム300の制御構造について説明する。図5から図9はそれぞれ、CPU310が実行する一連の動作の一部を表わすフローチャートである。
【0061】
図5を参照して、ステップS510にて、CPU310は、マウス320、キーボード330を介した入力に基づいて、画像処理検査アプリケーションの設定モジュール(領域452)を起動する。CPU310は、当該アプリケーションをRAM340に読み出し、読み出したデータに基づく設定画面をモニタ380に表示させる。
【0062】
ステップS600にて、CPU310は、後述する画像処理検査アプリケーションの設定処理を実行する。この処理が実行されると、たとえば、カメラ画像入力、エッジ位置、キズ汚れ、処理ユニット図形などの設定が実現される。
【0063】
ステップS520にて、CPU310は、テスト計測を実行する。詳しくは、CPU310は、ハードディスク350に格納された設定値テーブル(領域430から領域437)と、画像処理検査アプリケーション実行モジュール(領域454)とに基づいて、カメラ110から送られる画像データを用いて画像処理検査を実行する。そして、この設定の結果、検査装置100の使用者が当初意図した結果が得られない場合には、設定の再調整(すなわち設定値テーブルの項目の変更)が行なわれる。
【0064】
ステップS530にて、CPU310は、検査装置100としてコンピュータシステム300を本稼動させる。詳しくは、CPU310は、画像処理検査アプリケーションの実行モジュール(領域454)を実行し、設定値テーブルの各データを用いた画像処理検査を実現する。CPU310は、その検査の結果を、領域440から領域444に処理毎に書き込む。そして、本稼動の最中に検査装置100としての異常が見られた場合あるいは検査結果が検査装置100の使用者によって満足のいくものでない場合には、設定の再調整(設定値テーブルの項目の変更)が再び行なわれる(ステップS600)。
【0065】
図6を参照して、ステップS604にて、CPU310は、マウス320あるいはキーボード330からの信号に基づいてカメラ画像入力の設定を受け付ける。CPU310は、その受け付けた内容を領域431に書き込む(0.カメラ画像入力)。
【0066】
ステップS620にて、CPU310は、エッジ位置の設定の入力を受け付ける。画像処理の対象となる検査領域が矩形の場合、エッジ位置は4つの端点として規定される。したがって、CPU310は、エッジ位置の設定を受け付ける処理を4回繰り返す(領域432から領域435)。
【0067】
ステップS630にて、CPU310は、キズ汚れ設定の入力を受け付ける。ここで、キズ汚れ設定は、検査装置100による検査の対象となる表面のキズの有無の判定に関するものである。このキズ汚れ設定を後述する処理ユニット図形設定の前に行なうことにより、当該処理ユニット図形設定(ステップS700)において、処理ユニット図形の設定を詳細に行なうことができる。
【0068】
ステップS700にて、CPU310は、後述する処理ユニット図形設定の処理を実行する。この処理が実行されると、検査対象領域を表わす図形が設定され、当該図形を特定するためのデータ(たとえば座標値、中心点および半径など)が入力される。
【0069】
図7を参照して、ステップS710にて、CPU310は、設定メニューの画面をモニタ380に表示させる。
【0070】
ステップS720にて、CPU310は、マウス320あるいはキーボード330に対する操作入力に基づいて、対象処理ユニットの設定の入力を受け付ける。ステップS730にて、CPU310は、登録図形番号の設定の入力を受け付ける。ステップS740にて、CPU310は、対象図形の設定の入力を受け付ける。ステップS750にて、CPU310は、座標データの演算式の設定の入力を受け付ける。コンピュータシステム300の使用者が、入力したこれらの設定値を保存する指示をコンピュータシステム300に与えると、CPU310は、これらの設定値を、RAM340のワーク領域から、ハードディスク350において確保した保存領域に書き込む。これらの書き込まれたデータは、検査処理が実際に実行される時に、ハードディスク350からRAM340に実行可能データとして読み出され、後述する処理ユニット図形計測処理(図9)が実行される時に使用される。
【0071】
ステップS760にて、CPU310は、モニタ380における設定メニューの表示を終了する。その後、CPU310は、制御を、当該フローを呼び出したフローに戻す。このようにして、検査処理における図形計測に使用されるデータが入力され、定義される。
【0072】
なお、他の局面において、CPU310は、入力された画像データに基づく領域のうち特定の部分を検査処理の対象から除外するための設定を受け付けてもよい。検査処理の対象から除外される領域を、マスク領域という。CPU310は、マスク領域の設定を実行する場合、CPU310は、図7に示される処理と同様に、マスク領域に対応する領域を特定するデータの入力を受け付ける。マスク領域に対応する領域は、矩形、円、楕円など、検査領域と同様の形状である。マスク領域が設定されると、当該領域に含まれるデータは、画像検査処理の実行時に、特徴量(例、濃度)の算出に使用されなくなる。これにより、画像検査処理の精度が向上するとともに、余分な計算が実行されなくなるため、CPU310、RAM340その他のコンピュータシステム300の負荷の増加が抑制される。
【0073】
図8および図9は、コンピュータシステム300が検査装置100として現実に検査処理を実行する場合にCPU310が実行する一連の処理の一部を表わすフローチャートである。
【0074】
図8を参照して、ステップS810にて、CPU310は、センサ130から送られたトリガ信号の入力を受け付ける。CPU310は、そのトリガ信号の入力を検知すると、撮影命令をカメラ110に対して送信する。カメラ110は、その命令に応答して搬送ライン120に対して撮影動作を実行する。この撮影動作により、たとえばワーク140が撮影される。カメラ110は、その撮影によって生成された画像信号をコンピュータシステム300に送信する。
【0075】
ステップS820にて、CPU310は、入力I/F370を介して、カメラ110から送られた画像信号の入力を検知する。CPU310は、その入力されたデータをRAM340において物理的に加工した領域に書き込む。
【0076】
ステップS830にて、CPU310は、そのカメラからの画像信号に基づいて第1のエッジ位置を検出する。ステップS840にて、CPU310は、当該画像信号から第2のエッジ位置を検出する。ステップS850にて、CPU310は、当該画像信号から第3のエッジ位置を検出する。ステップS860にて、CPU310は、当該画像信号から第4のエッジ位置を検出する。
【0077】
図9を参照して、ステップS900にて、CPU310は、後述する処理ユニット図形計測処理を実行する。この処理が実行されると、処理ユニット図形設定処理(図7)において使用者によって入力された図形の設定データが読み出される。CPU310は、その設定データに基づいて当該画像信号に基づくワークの良不良を判定する。
【0078】
ステップS870にて、CPU310は、キズ汚れの検出処理を実行する。この処理が実行されると、搬送ライン120によって搬送されるワークの表面におけるキズの有無が判定される。
【0079】
ステップS880にて、CPU310は、出力処理の1つとして、検査の結果をモニタ380に表示させる。また、CPU310は、検査の結果をハードディスク350に順次書き込む。他の局面において、CPU310は、コンピュータシステム300にネットワーク接続された他のコンピュータシステムに、検査の結果を送信してもよい。当該他のコンピュータシステムは、たとえば検査工程の監視システムを構成している。この場合、当該監視システムの担当者は、遠隔地にあっても、コンピュータシステム310における画像検査処理の結果を把握することができる。
【0080】
ステップS890にて、CPU310は、検査処理の停止の命令が入力されたか否かを判定する。CPU310は、当該命令が入力されたと判定すると(ステップS890にてYES)、処理を終了する。そうでない場合には(ステップS890にてNO)、CPU310は、制御をステップS810に戻す。なお、処理の終了の規定は、たとえば割込信号が与えられた場合にのみ実現される構成であってもよい。
【0081】
図9を参照して、ステップS910にて、CPU310は、エッジの数に応じた回数だけ演算式を用いて演算する。ここで用いられる演算式は、設定値テーブル(図4の領域430から437)において規定されている。より詳しくは、CPU310は、エッジ位置から座標位置を取得する。CPU310は、さらに、オフセットを反映させた演算処理を実行する。
【0082】
ステップS920にて、CPU310は、対象処理ユニットの図形を確認する。ステップS930にて、CPU310は、その図形が矩形であるか否かを判定する。CPU310は、その図形が矩形であると判定すると(ステップS930にてYES)、制御をステップS940に切り替える。そうでない場合には(ステップS930にてNO)、CPU310は、制御をステップS980に切り替える。
【0083】
ステップS940にて、CPU310は、対象処理ユニットに図形を設定する。ステップS950にて、CPU310は、対象処理ユニットで図形登録処理を実行する。ステップS960にて、CPU310は、その図形が適切であるか否かを判定する。CPU310は、その図形が適切であると判定すると(ステップS960にてYES)、制御をステップS970に切り替える。そうでない場合には(ステップS960にてNO)、CPU310は、制御をステップS980に切り替える。
【0084】
ステップS970にて、CPU310は、判定結果にOKを設定する(領域442)。ステップS980にて、CPU310は、判定結果にNGを設定する(領域444)。
【0085】
次に、図10から図19を参照して、検査装置100として機能するコンピュータシステム300における画面の表示態様について説明する。図10から図19はそれぞれ、画像検査処理のための設定をコンピュータシステム300に行なう場合にモニタ380が表示する画面を表わす図である。すなわち、図5から図7に示される処理が実行されると、モニタ380は、以下の画面を順次表示する。
【0086】
図10は、フローを編集するためにモニタ380が表示する画面である。画面処理検出アプリケーションが実行されると(ステップS600)、モニタ380は、CPU310による制御に基づいて、画像検査処理を構成する各フローの編集を受け付ける画面を表示する。たとえば、図10に示されるように、メニューアイコン1030が押下されると、フロー編集メニューが起動され、特定のフローが表示領域1010に示される。ここで、矩形の領域1020は、画像検査の対象となる領域を表わす。図10に示される例では、矩形をした電子部品の両端が電極である場合において、各電極の間に位置する領域における「キズ汚れ」の有無が判定される。
【0087】
メニューアイコン1030が押下されると、モニタ380は、図11に示される画面を表示する。
【0088】
図11は、画像処理検査を構成する各処理項目を予め準備されたメニュー項目から選択して追加することによって、あるいは削除することによって編集するための画面を表わす。より具体的には、モニタ380は、領域1110においてフロー編集の画面を表示する。たとえば、「カメラ画像入力」というフローが既に定義されている(項目1112)。さらに、コンピュータシステム300の使用者がフローを選択すると、選択されたフローは領域1110に表示される。
【0089】
詳しくは、フローを構成する各処理項目は、領域1150にリスト表示される。当該使用者は、領域1150に表示されたいずれかの項目を選択し(たとえばマウス320による選択)、領域1130における編集メニュー(挿入)を指示すると、選択された処理項目は、領域1110に表示される。ここで、図11に示される状態では、「カメラ画像入力」のみが選択されているため、当該選択された処理フローに対応する画面が領域1140に表示される。この場合表示される画面は、各処理項目に応じて予め準備された模擬的な画像であってもよい。
【0090】
当該使用者が領域1150に示されている項目の選択操作を繰り返すと、モニタ380は、図12に示されるような画面を表示する。
【0091】
すなわち、領域1110において、選択された処理項目(カメラ画像入力からキズ汚れ)が編集上に表示されている。そして、領域1110において、デフォルトとして最初に選択された処理項目が太枠1210によって特定されている。そこで、領域1140に示されるように、その選択された処理項目(カメラ画像入力)に応じて、コンピュータシステム300に接続されたカメラ130から送られた画像が表示される(画像1220)。
【0092】
図13は、エッジ位置の設定を受け付けるための画面を表わす。モニタ380は、処理項目(1.エッジ位置)が選択されると、当該選択されたエッジ位置の設定のための画面を表示する。たとえば、モニタ380は、当該画面がエッジ位置の選択のための画面であることを表わす表示を領域1310に表示する。また、登録図形として幅付き直線が指定されていることを表わす文字を領域1320に表示する。さらに、モニタ380は、その幅付き直線を特定するためのデータを領域1330に表示する。詳しくは、幅付き直線は、始点と終点と幅とによって規定される。そしてモニタ380は、CPU310の制御に従って、予めデフォルトで取得されたデータを始点、終点、幅の各データとして表示する。さらに、コンピュータシステム100の使用者は、各項目に対応付けて表示された上下の矢印、あるいは左右の矢印をマウス320を用いて選択することにより、始点、終点、幅の各値を変更することができる。
【0093】
図13に示される画面を用いて入力されたエッジ位置の設定値は、領域432(図4)に格納される。エッジ位置の設定は、たとえば登録画像1340に対する表示を用いて行なわれる。登録画像1340は、搬送ライン120によって搬送されるべきワークの教示画像として予めコンピュータシステム300に保持されているものである。この登録画像1340のデータは、ハードディスク350に格納されている。CPU310は、エッジ位置の設定画面をモニタ380に表示させるとき、当該登録画像1340のデータをハードディスク350から読み出し、領域1350に表示させる。使用者は、登録画像1340に表示された四角の枠あるいは線図を操作することにより、幅付き直線の始点と終点と幅とを逆に規定することもできる。4つのエッジ位置が定義されているため(領域432から領域435)、図13に示されるエッジ位置の設定画面も4回表示され、各エッジ位置の指定が実現される。
【0094】
図14は、キズ汚れの主な検出を設定するための画面を表わす。モニタ380は、領域1110に表示された処理項目から「6.キズ汚れ」が選択されたことに基づいて、当該キズ汚れの設定の画面を表示する(図12参照)。
【0095】
より具体的には、設定の対象となる処理項目「6.キズ汚れ」は、領域1410に表示される。登録図形(たとえば長方形)は、領域1420に表示される。登録図形として指定された長方形を特定するためのデータは、領域1430に表示される。詳しくは、長方形は、たとえば左上の座標と右下の座標とによって特定される。そこで、CPU310は、予め登録された図形のデータに基づいて、左上の座標と右下の座標とをそれぞれ領域1430に表示させる。そして、座標位置の右側に上下あるいは左右の移動を受け付けるアイコンを表示する。使用者がこの矢印を操作すると、その操作に応じて左上座標あるいは右下座標のX座標値あるいはY座標値がそれぞれ変更される。当該登録図形として指定された長方形は、その左上座標と右下座標とに基づいて領域1450に表示される(画像1440)。
【0096】
図15から図19は、処理ユニット図形設定の画面を表わす図である。図12に示されるフロー編集の画面において、使用者が「5.処理ユニット図形設定」と示された画像を選択操作すると、コンピュータシステム300は、処理ユニット図形設定のための画面を表示する(図15)。詳しくは、処理ユニット図形設定画面は、画像検査処理の対象となるデータおよび領域の定義を受け付ける。
【0097】
まず、図15に示されるように、処理ユニット図形設定のためのパラメータを定義する画面が表示される。処理の対象であるデータ設定対象ユニットは、領域1520に示されるように、予め登録された処理項目から選択可能な態様で(たとえばメニュー形式で)表示される。登録される図形を特定する番号は、「登録図形番号」として特定される。処理の対象となる図形は、その番号に関連付けられて示される。図15に示される画面は、処理ユニット図形設定画面が表示された時点での画面であるため、対象図形は「未定義」である。さらに、モニタ380は、処理に使用するデータの名称と設定値とを表示する。データ項目が特定される前は、当該データ名および設定値はブランクのままである。
【0098】
図15に示される画面は、データ設定対象ユニットが「0.カメラ画像入力」として設定されている。この場合、コンピュータシステム300は、カメラ110から画像の入力を受けるための処理を実行するに留まり、特定の図形を用いて処理を実行しない。したがって、当該図形に関する項目(登録図形番号、対象図形などの項目)はブランクのままである。
【0099】
図16は、データ設定対象ユニットとして「6.キズ汚れ」の設定のための画面を表わす。詳しくは、選択メニューから「6.キズ汚れ」が選択されると(領域1610)、その処理についての設定が可能となる。すなわち、最初に、「6.キズ汚れ」の登録が行なわれると、その他の項目は何も入力されていないため、モニタ380は、「6.キズ汚れ」に関する他の設定項目(登録図形番号、対象図形、データ名、設定値)はブランクのまま表示する。その後、使用者が対象図形としてたとえば番号「0」に対して「長方形」を定義する。すると、図17に示されるように、モニタ380は、対象図形として定義された長方形を特定するためのデータ名を「左上座標X、左上座標Y、右下座標X、右下座標Y」の4つの項目を表示する(領域1742)。
【0100】
そこで、各データ名に対応する設定値(領域1740)を入力することにより、指定された対象図形「長方形」の特定が可能となる。図17において演算式の設定を読み出すための画像アイコンが押下されると、その演算式の設定画面が表示される(図18)。
【0101】
すなわち、図18を参照して、モニタ380は、演算式の設定画面として、領域1810、1820、1830と、入力を受け付ける画面1840とを表示する。領域1810は、使用者によって定義される演算式を表示する。領域1820は、当該演算式に使用される対象図形の特定項目(たとえばエッジ位置)を選択形式で表示する。図18に示される例では、選択項目として「1.エッジ位置」が表示されている。選択項目は、たとえばポップアップ形式のメニューとして実現される。
【0102】
領域1830は、領域1810に表示される演算式を定義するために使用される変数を表示する。
【0103】
画像アイコン1840は、コンピュータシステム300の使用者による入力を受け付けるためのキーとして機能する。画像アイコン1840が受け付けるキーは、たとえばキーボード330(図3)に含まれる数字ボタン、バックスペースキー、削除キー、その他の演算子の入力を受け付けるボタンとして構成される。使用者が、図18に示される画面を用いて演算式を設定し、確定の操作入力を与えると、入力された演算式は、先の処理ユニット図形設定画面に反映される。
【0104】
すなわち、図19を参照して、モニタ380は、領域1940において、データ名および設定値を表示する。これらは、図18において領域1810に対して入力された設定値に対応する。このような設定値により、領域1910において示されるデータ設定対象ユニット「6.キズ汚れ」について登録図形番号「0」(すなわち長方形)は、領域1940に示される設定値により特定されることになる。
【0105】
次に、図20〜図30を参照して、検査装置100による画面の表示態様についてさらに説明する。図20〜図30は、検査装置100が実際に画像検査処理を実行した後の結果を表わす画面である。
【0106】
図20を参照して、モニタ380は、CPU310の制御に基づいて、「6.キズ汚れ」についての検査結果(計測結果)を表示する。図20に示される結果は、当該検査の対象となったワークについてはキズ汚れが検出されなかった良品を表わす。この場合、画像アイコン2010に示される計測実行の指示をコンピュータシステム300に与えると、CPU310は、予め登録されている登録図形とカメラ110から送られた実際の画像とをマッチングし、濃淡処理、2値化処理などを実行した後、当該ワークの検査対象領域にキズがあるか否かを判定する。
【0107】
カメラ110から送られたデータに基づく画像は、領域2050に表示される。ここで、枠囲み2020は、検査対象領域として前述の設定処理において登録された領域を表わす。この枠囲み2020の内部にキズ汚れに相当する結果が検出されない場合、領域2030における結果として「OK」が表示される。さらに、詳細結果として領域2040において、キズ汚れに関する特徴量(たとえば面積値、欠陥の中心座標値)などが表示される。図20に示される場合、当該ワークは良品であるため、欠陥の面積あるいは座標値はゼロのままである。
【0108】
図21は、他のワークの計測結果を表わす画面である。当該他のワークは、2つの電極のうち左側の部分の電極の領域が通常よりも大きくなっている。すなわち、点線2122に示されるように、通常の電極の位置は当該ワークの電極よりも小さい。したがって、当該ワークについては検査対象領域は枠囲み2120に示されるように、図20に示される枠囲み2020よりも小さな領域となっている。この場合であっても、CPU310は、カメラ110から送られたデータに基づいて図20について使用されたワークとは異なる大きさの対象領域であっても正確にキズ汚れの有無を判定することができる。その結果は、領域2130,2140にそれぞれ表示される。
【0109】
図22および図23は、CPU310がワークからキズ汚れについての不良品を検出した場合にモニタ380が表示する画面を表わす図である。図22を参照して、撮影された画像は、領域2260に表示されている。枠囲みで囲まれた領域2210は、CPU310による検査処理の対象領域である。画像2220は、当該ワークの表面に形成されたキズに基づく画像を表わす。点2230は、当該欠陥の位置を特定する。たとえば、点2230は、画像の基準座標値から最も近い場所にある点(たとえばX座標値およびY座標値のいずれもが最小値となるもの)で、検出された欠陥の基準点を表わす。モニタ380は、結果を領域2240に表示する。またモニタ380は、詳細な結果を領域2150に表示する。図22における例示的なデータを参照すると、処理フロー「6.キズ汚れ」について、判定は「NG」である。また、欠陥度は359.1875である。点2230のX座標値は280.5000である。Y座標値は、303.5000である。
【0110】
図23は、ワークの2つの電極のうち右側の電極の領域が広い場合における検査結果を表わす図である。すなわち、領域2330に示されるように、当該ワークを撮影して得られた画像において、電極に対応する領域は、通常の電極よりも広く形成されている。詳しくは、点線2332で区切られた領域が通常のワークの電極の領域であるが、図23に示される画像に対応するワークは、それよりも広く電極が形成されている。このような場合においても、検査対象領域は当該電極の部分の広がりに応じて規定される。その結果、画像2310として表わされる欠陥が検出される。そのとき、点2320は、当該欠陥の基準点として特定される。検査結果は、領域2340に表示される(NG)。また、詳細な結果は、領域2350に表示される。表示される項目は、図22に示される項目と同様である。
【0111】
図24および図25は、円形ワークの外周検出の結果を表わす図である。図24を参照して、当該ワークを撮影することにより得られた画像2430は、外周2110と内周2120との間に含まれている。したがって、当該ワークの検査結果は「OK」となる(領域2140)。また、当該検査処理によって得られたデータは、領域2150に表示される。この場合、検査結果はOKであるが、当該画像の位置を特定するためのデータが欠陥度、X座標値およびY座標値として示される。
【0112】
図25を参照して、円形ワークの外周に外周の欠けが存在する場合、当該ワークは不良品として判定される。たとえば、当該ワークを撮影することにより得られた画像2530において、点2540によって特定される欠けが存在する場合、このワークは「NG」と判定される(領域2250)。そして、当該点2540を特定するためのデータが欠陥度、X座標値およびY座標値として示される(領域2560)。
【0113】
図26は、円形ワークの外周にバリが存在する場合における検査結果を表わす図である。当該ワークを撮影することにより得られた画像において、点2630として特定されるバリが検出されると、当該バリは外周2610を越えて存在するため、当該ワークは「NG」と判定される(領域2640)。そして、点2630を特定するためのデータが欠陥度、X座標値、およびY座標値として示される(領域2650)。
【0114】
図27から図30は、中空の円形ワークの検査結果を表わす図である。図27を参照して、円形ワークを撮影することにより得られた画像2730は、検査対象領域として外周2710と枠囲み2720との間の領域が指定される。中空に対応する画像2740はこの検査の対象から除外される。そして、画像2730においては特にキズが検出されないため検査結果は「OK」となる(領域2750)。また、当該キズを特定するためのデータもゼロとなる。
【0115】
図28は、中空部分の形状が真円ではなく楕円形状である場合におけるワークの検査結果を表わす図である。この場合、楕円部分の画像2840は、矩形2820によって検査対象領域から除外されている。そして、当該ワークの画像2830は、内周2810と矩形2820との間にキズが検出されない。その結果、判定結果は「OK」となる(領域2850)。また、欠陥を特定するための値もゼロとなる。この場合、矩形2820がマスク領域(すなわち検査の対象とならない領域)となる。
【0116】
図29は、内部に穴を有する円形ワークの検査結果を表わす図である。当該ワークを撮影することにより得られた画像2930は、内周2910と矩形2920とによって囲まれる領域について検査される。そして、キズ汚れに相当する画像2970がCPU310によって認識される。この画像2970の位置は、点2980によって特定される。その結果、当該ワークの判定結果は「NG」となる(領域2950)。また、当該キズ汚れに相当する部分を特定するためのデータは、領域2960に表示される。
【0117】
この場合、矩形2920で囲まれた内部の領域は検査対象領域から除外されている。
図30は、ワークの内側の穴の形が楕円である円形ワークの検査結果を表わす図である。当該ワークを撮影することにより得られた画像3030の検査対象領域は、内側の内周3010と矩形3020との間である。したがって内側の楕円に対応する画像3040は検査対象領域から除外される。この場合において、画像3050は、内周3010と矩形3020との間に存在している。したがって、画像3050に対応する部分は欠陥と認定される。そこで当該ワークの検査結果は「NG」となる(領域3070)。また、当該欠陥を特定するためのデータは、領域3080に示される。
【0118】
以上のようにして、本発明の実施の形態に係る検査装置100によると、画像検査処理の対象となる領域(図形)を定義する設定処理(図形設定)と、当該領域に対して画像データを適用することにより外観検査を実行する検査処理(あるいは計測処理)とが分離されて規定されている。したがって、図形設定に使用する座標値を、任意の処理(エッジ計測、サーチ計測、重心計測、ラベリング計測、ECMサーチ等)で算出することができる。これにより、画像検査処理に柔軟性がもたらされ得る。
【0119】
「図形設定」において定義される領域の形状として、矩形に加えて、幅付き直線、円、楕円、幅付き円周、多角形なども設定可能となった。これにより、画像検査処理の適用範囲を拡張することができる。
【0120】
また、検査装置100によると、複数の図形を「図形設定」で定義することが可能になる。複数の図形の1つは、マスク領域として、画像処理検査の対象から除外される領域とすることができる。これにより、検査を必要としない領域が検査対象から除外されるため、画像処理検査の効率が向上するとともに、検査精度の低下を防止することができる。
【0121】
また、たとえば、既存の画像検査装置に対して、座標値算出のための処理項目を追加し、領域設定後の計測処理を追加することができる。このような構成により、図形設定の処理項目そのものに対する変更を加えることなく、画像検査アプリケーションを追加することができる。その結果、画像検査処理に使用可能な画像検査アプリケーションの幅(選択肢)が拡張され、多様な検査を容易に実現することができる。
【0122】
以上より、領域の座標値の計算は、従来のエッジ計測のみに基づく算出に加えて、多様な計測に基づく算出が可能となった。また、検査領域は、ワークの形状に合わせて変更することが可能となった。たとえば、矩形の検査領域から円形その他の形状の領域に変更することができる。また、図形設定が計測処理とは独立して実現されるため、複数の領域を規定することが可能となった。
【0123】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【0124】
【図1】本発明の実施の形態に係る検査装置100を用いた画像処理検査工程の概略を表わす図である。
【図2】検査装置100によって実現される機能の構成を表わすブロック図である。
【図3】検査装置100として機能するコンピュータシステム300のハードウェア構成を表わすブロック図である。
【図4】ハードディスク350におけるデータおよびプログラムの格納の一態様を概念的に表わす図である。
【図5】検査装置100として機能するコンピュータシステム300のCPU310が実行する一連の動作の一部を表わすフローチャート(その1)である。
【図6】検査装置100として機能するコンピュータシステム300のCPU310が実行する一連の動作の一部を表わすフローチャート(その2)である。
【図7】検査装置100として機能するコンピュータシステム300のCPU310が実行する一連の動作の一部を表わすフローチャート(その3)である。
【図8】検査装置100として機能するコンピュータシステム300のCPU310が実行する一連の動作の一部を表わすフローチャート(その4)である。
【図9】検査装置100として機能するコンピュータシステム300のCPU310が実行する一連の動作の一部を表わすフローチャート(その5)である。
【図10】画像検査処理のための設定をコンピュータシステム300において行なう場合にモニタ380が表示する画面を表わす図(その1)である。
【図11】画像検査処理のための設定をコンピュータシステム300において行なう場合にモニタ380が表示する画面を表わす図(その2)である。
【図12】画像検査処理のための設定をコンピュータシステム300において行なう場合にモニタ380が表示する画面を表わす図(その3)である。
【図13】画像検査処理のための設定をコンピュータシステム300において行なう場合にモニタ380が表示する画面を表わす図(その4)である。
【図14】画像検査処理のための設定をコンピュータシステム300において行なう場合にモニタ380が表示する画面を表わす図(その5)である。
【図15】画像検査処理のための設定をコンピュータシステム300において行なう場合にモニタ380が表示する画面を表わす図(その6)である。
【図16】画像検査処理のための設定をコンピュータシステム300において行なう場合にモニタ380が表示する画面を表わす図(その7)である。
【図17】画像検査処理のための設定をコンピュータシステム300において行なう場合にモニタ380が表示する画面を表わす図(その8)である。
【図18】画像検査処理のための設定をコンピュータシステム300において行なう場合にモニタ380が表示する画面を表わす図(その9)である。
【図19】画像検査処理のための設定をコンピュータシステム300において行なう場合にモニタ380が表示する画面を表わす図(その10)である。
【図20】検査装置100が実際に画像検査処理を実行した後の結果を表わす画面(その1)である。
【図21】検査装置100が実際に画像検査処理を実行した後の結果を表わす画面(その2)である。
【図22】検査装置100が実際に画像検査処理を実行した後の結果を表わす画面(その3)である。
【図23】検査装置100が実際に画像検査処理を実行した後の結果を表わす画面(その4)である。
【図24】検査装置100が実際に画像検査処理を実行した後の結果を表わす画面(その5)である。
【図25】検査装置100が実際に画像検査処理を実行した後の結果を表わす画面(その6)である。
【図26】検査装置100が実際に画像検査処理を実行した後の結果を表わす画面(その7)である。
【図27】検査装置100が実際に画像検査処理を実行した後の結果を表わす画面(その8)である。
【図28】検査装置100が実際に画像検査処理を実行した後の結果を表わす画面(その9)である。
【図29】検査装置100が実際に画像検査処理を実行した後の結果を表わす画面(その10)である。
【図30】検査装置100が実際に画像検査処理を実行した後の結果を表わす画面(その11)である。
【符号の説明】
【0125】
100 検査装置、102 ケーブル、110 カメラ、120 搬送ライン、130 センサ、140,142,144 ワーク、150 PLC、152 ケーブル、160 機器、300 コンピュータシステム、362 CD−ROM。

【特許請求の範囲】
【請求項1】
画像検査装置であって、
画像データの入力を受け付ける入力手段と、
画面を表示する表示手段と、
画像検査処理を構成する処理項目として予め定義された複数の処理項目と、画像検査の対象となる検査対象領域の形状を複数の態様で規定するために予め定義された図形設定データとを格納するテンプレート記憶手段とを備え、前記画像検査は、前記画像検査処理を構成する一連の処理項目のうちの1つであり、
前記表示手段に表示される項目の選択操作を受け付ける操作手段と、
前記選択操作に基づいて、前記検査対象領域を設定する設定手段と、
前記設定手段によって設定された検査対象領域を特定するデータを格納する設定値記憶手段と、
前記設定値記憶手段に格納されているデータに基づいて、前記設定手段により設定された検査対象領域について前記画像データを用いた画像検査を実行する検査手段とを備え、
前記設定手段は、
前記複数の処理項目から前記一連の処理項目を選択するための画面と、前記検査対象領域の形状を複数の候補から選択するための画面とを前記表示手段に表示させ、
前記選択された処理項目と、前記選択された検査対象領域の形状と、前記選択された検査対象領域の形状を規定する定義項目とを関連付け、
前記設定値記憶手段は、関連付けが行なわれた前記選択された処理項目と、前記選択された検査対象領域の形状と、前記定義項目とを格納し、
前記検査手段は、
前記入力された画像データから前記検査対象領域を特定するデータを取得し、
前記特定するデータを前記定義項目に適用することにより、前記定義項目に関連付けられた検査対象領域を導出し、
前記入力された画像データを、導出された前記検査対象領域に適用することにより、前記入力された画像データをもたらした検査対象物を検査する、画像検査装置。
【請求項2】
前記検査手段は、前記入力された画像データからエッジを検出することにより前記検査対象領域を特定するデータを取得する、請求項1に記載の画像検査装置。
【請求項3】
前記検査対象領域の一部の領域を検査対象から除外するマスク領域を設定するマスク領域設定手段をさらに備え、
前記検査手段は、前記マスク領域以外の検査対象領域について、前記画像検査を実行する、請求項1に記載の画像検査装置。
【請求項4】
前記定義項目は、領域を表わす図形の座標値、中心位置および半径の少なくともいずれかを含む、請求項1に記載の画像検査装置。
【請求項5】
前記検査対象領域の形状は、矩形、多角形、円、楕円、幅を有する線、幅を有する円のいずれかを含む、請求項1〜4のいずれかに記載の画像検査装置。
【請求項6】
コンピュータが実行する画像検査方法であって、前記コンピュータは、プロセッサと表示装置と記憶装置とを備えており、前記記憶装置は、画像検査処理を構成する処理項目として予め定義された複数の処理項目と、画像検査の対象となる検査対象領域の形状を複数の態様で規定するために予め定義された図形設定データとを格納しており、前記画像検査は、前記画像検査処理を構成する一連の処理項目のうちの1つであり、前記画像検査方法は、
前記表示装置が、画面を表示するステップと、
前記プロセッサが、前記表示装置に表示される項目の選択操作を受け付けるステップと、
前記プロセッサが、前記選択操作に基づいて前記検査対象領域を設定するステップと、
前記プロセッサが、前記設定された検査対象領域を特定するデータを前記記憶装置に格納するステップと、
前記プロセッサが、画像データの入力を受け付けるステップと、
前記プロセッサが、前記記憶装置に格納されているデータに基づいて、前記設定された検査対象領域について前記画像データに基づく画像検査を実行するステップとを備え、
検査対象領域を設定する前記ステップは、
前記複数の処理項目から前記一連の処理項目を選択するための画面と、前記検査対象領域の形状を複数の候補から選択するための画面とを、前記表示装置に表示させるステップと、
前記選択された処理項目と、前記選択された検査対象領域の形状と、前記選択された検査対象領域の形状を規定する定義項目とを関連付けるステップと、
関連付けが行なわれた前記選択された処理項目と、前記選択された検査対象領域の形状と、前記定義項目とを前記記憶装置に格納するステップとを含み、
画像検査を実行する前記ステップは、
前記入力された画像データから前記検査対象領域を特定するデータを取得するステップと、
前記特定するデータを前記定義項目に適用することにより、前記定義項目に関連付けられた検査対象領域を導出するステップと、
前記入力された画像データを、導出された前記検査対象領域に適用することにより、前記入力された画像データをもたらした検査対象物を検査するステップとを含む、画像検査方法。
【請求項7】
コンピュータを画像検査装置として機能させるためのプログラムであって、前記コンピュータは、プロセッサと表示装置と記憶装置とを備えており、前記記憶装置は、画像検査処理を構成する処理項目として予め定義された複数の処理項目と、画像検査の対象となる検査対象領域の形状を複数の態様で規定するために予め定義された図形設定データとを格納しており、前記画像検査は、前記画像検査処理を構成する一連の処理項目のうちの1つであり、前記プログラムは前記プロセッサに、
前記表示装置に画面を表示させるステップと、
前記表示装置に表示される項目の選択操作を受け付けるステップと、
前記選択操作に基づいて、前記検査対象領域を設定するステップとを実行させ、
前記検査対象領域を設定する前記ステップは、
前記複数の処理項目から前記一連の処理項目を選択するための画面と、前記検査対象領域の形状を複数の候補から選択するための画面とを、前記表示装置に表示させるステップと、
前記選択された処理項目と、前記選択された検査対象領域の形状と、前記選択された検査対象領域の形状を規定する定義項目とを関連付けるステップと、
関連付けが行なわれた前記選択された処理項目と、前記選択された検査対象領域の形状と、前記定義項目とを、前記記憶装置に格納するステップとを含み、
さらに、前記プログラムは前記コンピュータに、
画像データの入力を受け付けるステップと、
前記入力された画像データから前記検査対象領域を特定するデータを取得するステップと、
前記特定するデータを前記定義項目に適用することにより、前記定義項目に関連付けられた検査対象領域を導出するステップと、
前記入力された画像データを、導出された前記検査対象領域に適用することにより、前記入力された画像データをもたらした検査対象物を検査するステップとを実行させる、プログラム。
【請求項8】
請求項7に記載のプログラムを格納した、コンピュータ読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate


【公開番号】特開2009−47446(P2009−47446A)
【公開日】平成21年3月5日(2009.3.5)
【国際特許分類】
【出願番号】特願2007−211272(P2007−211272)
【出願日】平成19年8月14日(2007.8.14)
【出願人】(000002945)オムロン株式会社 (3,542)
【Fターム(参考)】