(57)【特許請求の範囲】
【請求項１】
画像データを用いて検査対象物を検査するための画像検査装置であって、
検査対象物の撮像により得られる画像データの入力を受け付ける入力手段と、
画面を表示する表示手段と、
前記画像検査装置によって実行される処理として予め定義された複数の処理と、前記検査対象物の前記画像データを用いた画像検査の対象となる検査対象領域の形状を複数の態様で規定するために予め定義された図形設定データとを格納するテンプレート記憶手段とを備え、前記複数の処理は、前記画像検査を含み、
前記画像検査装置によって実行される処理の候補として前記表示手段に表示される処理の選択操作を受け付ける操作手段と、
前記選択操作によって選択される図形設定データに基づいて、前記検査対象物に応じた前記検査対象領域を設定する設定手段と、
前記図形設定データにより規定される検査対象領域について前記画像データを用いた画像検査を実行する検査手段とを備え、
前記設定手段は、
前記複数の処理から前記画像検査装置に実行させる処理を選択するための画面と、前記検査対象領域の形状を複数の候補から選択するための画面とを前記表示手段に表示させ、
前記画像検査装置は、
前記選択された処理と、前記選択された検査対象領域の形状と、前記選択された検査対象領域の形状を表わすデータとを関連付けて記憶するための設定値記憶手段をさらに備え、
前記検査手段は、
前記入力された前記検査対象物の画像データと、前記設定値記憶手段に記憶されている前記選択された検査対象領域とに基づいて、前記入力された画像データをもたらした検査対象物を検査する、画像検査装置。
【請求項２】
前記検査手段は、前記入力された画像データからエッジを検出することにより前記検査対象領域を特定するデータを取得する、請求項１に記載の画像検査装置。
【請求項３】
前記検査対象領域の一部の領域を検査対象から除外するマスク領域を設定するマスク領域設定手段をさらに備え、
前記検査手段は、前記マスク領域以外の検査対象領域について、前記画像検査を実行する、請求項１に記載の画像検査装置。
【請求項４】
前記検査対象領域を表わすデータは、領域を表わす図形の座標値、中心位置および半径の少なくともいずれかを含む、請求項１に記載の画像検査装置。
【請求項５】
前記検査対象領域の形状は、矩形、多角形、円、楕円、幅を有する線、幅を有する円のいずれかを含む、請求項１〜４のいずれかに記載の画像検査装置。
【請求項６】
コンピュータが画像データを用いて検査対象物を検査するための画像検査方法であって、前記コンピュータは、プロセッサと表示装置と記憶装置とを備えており、前記記憶装置は、前記コンピュータによって実行される処理として予め定義された複数の処理と、前記検査対象物の前記画像データを用いた画像検査の対象となる検査対象領域の形状を複数の態様で規定するために予め定義された図形設定データとを格納しており、前記複数の処理は、前記画像検査を含み、前記画像検査方法は、
前記表示装置が、画面を表示するステップと、
前記プロセッサが、前記コンピュータによって実行される処理の候補として前記表示装置に表示される処理の選択操作を受け付けるステップと、
前記プロセッサが、前記選択操作によって選択される図形設定データに基づいて、前記検査対象物に応じた検査対象領域を設定するステップと、
前記プロセッサが、前記図形設定データを前記記憶装置に格納するステップと、
前記プロセッサが、検査対象物の撮像により得られる画像データの入力を受け付けるステップと、
前記プロセッサが、前記図形設定データにより規定される検査対象領域について前記画像データに基づく画像検査を実行するステップとを備え、
検査対象領域を設定する前記ステップは、
前記複数の処理から前記コンピュータに実行させる処理を選択するための画面と、前記検査対象領域の形状を複数の候補から選択するための画面とを、前記表示装置に表示させるステップと、
前記選択された処理と、前記選択された検査対象領域の形状と、前記選択された検査対象領域の形状を表わすデータとを関連付けて、前記記憶装置に格納するステップとを含み、
画像検査を実行する前記ステップは、
前記入力された前記検査対象物の画像データと、前記記憶装置に格納されている前記選択された検査対象領域とに基づいて、前記入力された画像データをもたらした検査対象物を検査するステップとを含む、画像検査方法。
【請求項７】
コンピュータを画像検査装置として機能させるためのプログラムであって、前記コンピュータは、プロセッサと表示装置と記憶装置とを備えており、前記記憶装置は、画像検査のために実行される処理として予め定義された複数の処理と、前記検査対象物の前記画像データを用いた画像検査の対象となる検査対象領域の形状を複数の態様で規定するために予め定義された図形設定データとを格納しており、前記複数の処理は、前記画像検査を含み、前記プログラムは前記プロセッサに、
前記表示装置に画面を表示させるステップと、
前記コンピュータによって実行される処理の候補として前記表示装置に表示される処理の選択操作を受け付けるステップと、
前記選択操作によって選択される図形設定データに基づいて、前記検査対象物に応じた検査対象領域を設定するステップとを実行させ、
前記検査対象領域を設定する前記ステップは、
前記複数の処理から前記コンピュータに実行される処理を選択するための画面と、前記検査対象領域の形状を複数の候補から選択するための画面とを、前記表示装置に表示させるステップと、
前記選択された処理と、前記選択された検査対象領域の形状と、前記選択された検査対象領域の形状を表わすデータとを関連付けて前記記憶装置に格納するステップとを含み、
さらに、前記プログラムは前記コンピュータに、
画像データの入力を受け付けるステップと、
前記入力された前記検査対象物の画像データと、前記記憶装置に格納されている前記選択された検査対象領域とに基づいて、前記入力された画像データをもたらした検査対象物を検査するステップとを実行させる、プログラム。
【請求項８】
請求項７に記載のプログラムを格納した、コンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は検査技術に関し、特に、画像処理を用いて物品の外観を検査する技術に関する。
【背景技術】
【０００２】
検査対象物の外観を検査する方法として、画像処理を用いた検査技術がある。たとえば、特開平８−９６１１３号公報（特許文献１）は、「画像処理領域やパラメータ等を一度設定すると、それらの属性を次回の画像処理領域設定のために初期値として与えることにより、操作性を改善する画像処理装置」を開示している（要約欄参照）。
【特許文献１】特開平８−９６１１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、外観検査の対象となる検査対象物には、個体差によるばらつきがある。その個体差によるばらつきに起因して、検査対象領域の形状あるいは大きさが変化する場合もある。この場合、キズその他の欠陥を検出するための画像検査処理が当該設定された画像処理領域に固定されると、当該ばらつきが許容差範囲内であっても、画像検査装置は、その検査対象物を不良品と判定する可能性もあり、検査精度が低下する場合があった。
【０００４】
また、画像検査装置が設けられた搬送ラインによって搬送される検査対象物の種類が変更されると、画像処理検査の処理の内容も変更する必要がある。この場合、検査対象領域と画像処理検査の処理の内容との関係が固定されていると、検査対象物の種類の変更に応じて画像検査装置の設定を再度構成する必要がある。この場合、検査対象物によっては、画像検査装置の設置を速やかに変更することができない場合もあった。
【０００５】
本発明は上述のような問題点を解決するためになされたものであって、その目的は、検査精度の低下を防止できる画像検査装置を提供することである。他の目的は、検査対象物の変更に合わせて画像処理検査の設定を変更できる画像検査装置を提供することである。
【０００６】
他の目的は、検査精度の低下を防止できる画像検査方法を提供することである。他の目的は、検査対象物の変更に合わせて画像処理の設定を変更できる画像検査方法を提供することである。
【０００７】
他の目的は、検査精度の低下を防止できる画像検査装置としてコンピュータを機能させるためのプログラムを提供することである。他の目的は、検査対象物の変更に合わせて画像処理の設定を変更できる画像検査装置としてコンピュータを機能させるためのプログラムを提供することである。
【０００８】
他の目的は、上記のプログラムを格納した記録媒体を提供することである。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、この発明のある局面に従う画像検査装置は、画像データの入力を受け付ける入力手段と、画面を表示する表示手段と、画像検査処理を構成する処理項目として予め定義された複数の処理項目と、画像検査の対象となる検査対象領域の形状を複数の態様で規定するために予め定義された図形設定データとを格納するテンプレート記憶手段とを備える。画像検査は、画像検査処理を構成する一連の処理項目のうちの１つである。画像検査装置は、表示手段に表示される項目の選択操作を受け付ける操作手段と、選択操作に基づいて、検査対象領域を設定する設定手段と、設定手段によって設定された検査対象領域を特定するデータを格納する設定値記憶手段と、設定値記憶手段に格納されているデータに基づいて、設定手段により設定された検査対象領域について画像データを用いた画像検査を実行する検査手段とを備える。設定手段は、複数の処理項目から一連の処理項目を選択するための画面と、検査対象領域の形状を複数の候補から選択するための画面とを表示手段に表示させる。設定手段は、選択された処理項目と、選択された検査対象領域の形状と、選択された検査対象領域の形状を規定する定義項目とを関連付ける。設定値記憶手段は、関連付けが行なわれた選択された処理項目と、選択された検査対象領域の形状と、定義項目とを格納する。検査手段は、入力された画像データから検査対象領域を特定するデータを取得する。検査手段は、特定するデータを定義項目に適用することにより、定義項目に関連付けられた検査対象領域を導出する。検査手段は、入力された画像データを、導出された検査対象領域に適用することにより、入力された画像データをもたらした検査対象物を検査する。
【００１０】
好ましくは、検査手段は、入力された画像データからエッジを検出することにより検査対象領域を特定するデータを取得する。
【００１１】
好ましくは、画像検査装置は、検査対象領域の一部の領域を検査対象から除外するマスク領域を設定するマスク領域設定手段をさらに備える。検査手段は、マスク領域以外の検査対象領域について、画像検査を実行する。
【００１２】
好ましくは、定義項目は、領域を表わす図形の座標値、中心位置および半径の少なくともいずれかを含む。
【００１３】
好ましくは、検査対象領域の形状は、矩形、多角形、円、楕円、幅を有する線、幅を有する円のいずれかを含む。
【００１４】
この発明の他の局面に従うと、コンピュータが実行する画像検査方法が提供される。コンピュータは、プロセッサと表示装置と記憶装置とを備えている。記憶装置は、画像検査処理を構成する処理項目として予め定義された複数の処理項目と、画像検査の対象となる検査対象領域の形状を複数の態様で規定するために予め定義された図形設定データとを格納している。画像検査は、画像検査処理を構成する一連の処理項目のうちの１つである。画像検査方法は、表示装置が、画面を表示するステップと、プロセッサが、表示装置に表示される項目の選択操作を受け付けるステップと、プロセッサが、選択操作に基づいて検査対象領域を設定するステップと、プロセッサが、設定された検査対象領域を特定するデータを記憶装置に格納するステップと、プロセッサが、画像データの入力を受け付けるステップと、プロセッサが、記憶装置に格納されているデータに基づいて、設定された検査対象領域について画像データに基づく画像検査を実行するステップとを備える。検査対象領域を設定するステップは、複数の処理項目から一連の処理項目を選択するための画面と、検査対象領域の形状を複数の候補から選択するための画面とを、表示装置に表示させるステップと、選択された処理項目と、選択された検査対象領域の形状と、選択された検査対象領域の形状を規定する定義項目とを関連付けるステップと、関連付けが行なわれた選択された処理項目と、選択された検査対象領域の形状と、定義項目とを記憶装置に格納するステップとを含む。画像検査を実行するステップは、入力された画像データから検査対象領域を特定するデータを取得するステップと、特定するデータを定義項目に適用することにより、定義項目に関連付けられた検査対象領域を導出するステップと、入力された画像データを、導出された検査対象領域に適用することにより、入力された画像データをもたらした検査対象物を検査するステップとを含む。
【００１５】
この発明の他の局面に従うと、コンピュータを画像検査装置として機能させるためのプログラムが提供される。コンピュータは、プロセッサと表示装置と記憶装置とを備える。記憶装置は、画像検査処理を構成する処理項目として予め定義された複数の処理項目と、画像検査の対象となる検査対象領域の形状を複数の態様で規定するために予め定義された図形設定データとを格納している。画像検査は、画像検査処理を構成する一連の処理項目のうちの１つである。プログラムはプロセッサに、表示装置に画面を表示させるステップと、表示装置に表示される項目の選択操作を受け付けるステップと、選択操作に基づいて、検査対象領域を設定するステップとを実行させる。検査対象領域を設定するステップは、複数の処理項目から一連の処理項目を選択するための画面と、検査対象領域の形状を複数の候補から選択するための画面とを、表示装置に表示させるステップと、選択された処理項目と、選択された検査対象領域の形状と、選択された検査対象領域の形状を規定する定義項目とを関連付けるステップと、関連付けが行なわれた選択された処理項目と、選択された検査対象領域の形状と、定義項目とを、記憶装置に格納するステップとを含む。さらに、プログラムはコンピュータに、画像データの入力を受け付けるステップと、入力された画像データから検査対象領域を特定するデータを取得するステップと、特定するデータを定義項目に適用することにより、定義項目に関連付けられた検査対象領域を導出するステップと、入力された画像データを、導出された検査対象領域に適用することにより、入力された画像データをもたらした検査対象物を検査するステップとを実行させる。
【００１６】
この発明のさらに他の局面に従うと、上記のプログラムを格納した、コンピュータ読み取り可能な記録媒体が提供される。
【発明の効果】
【００１７】
本発明によると、検査精度の低下を防止することができる。また、本発明によると、検査対象物の変更に合わせて画像処理の設定を変更することができる。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００１９】
図１を参照して、本発明の実施の形態に係る検査装置１００の使用態様について説明する。図１は、検査装置１００を用いた画像処理検査工程の概略を表わす図である。検査装置１００は、カメラ１１０とセンサ１３０とに接続される。検査装置１００は、さらにケーブル１０２を介してＰＬＣ（Programmable Logic Controller）１５０に接続されている。ＰＬＣ１５０は、ケーブル１５２を介して機器１６０に接続される。
【００２０】
センサ１３０は、搬送ライン１２０に設けられる。搬送ライン１２０は、機器１６０によって加工処理が行なわれたワーク１４０，１４２，１４４を順次搬送する。センサ１３０は、各ワークが搬送ライン１２０によって送られてきたことを検知すると、検知信号を検査装置１００に送信する。検査装置１００は、その信号に応答して撮影命令をカメラ１１０に送信する。カメラ１１０は、その命令に応答して撮影動作を実行し、ワーク１４０の画像を検査装置１００に送信する。検査装置１００は、搬送ライン１２０によって送られるべきワークとして予め登録された表示画像と、カメラ１１０から送られた撮影画像とを比較し、搬送ライン１２０によって送られているワークが良品であるか否かを画像処理を実行することにより判定する。検査装置１００は、その判定結果に応じて機器１６０に対するフィードバック信号をＰＬＣ１５０に送信する。ＰＬＣ１５０は、その信号に基づいて機器１６０に対する指令を変更する。
【００２１】
ここで、ワーク１４０，１４２，１４４は、たとえば、電子部品、ビンその他の液体容器、シートその他の平面状の物体等であるが、これらに限られない。
【００２２】
図２を参照して、実施の形態に係る検査装置１００について説明する。図２は、検査装置１００によって実現される機能の構成を表わすブロック図である。検査装置１００は、画像データ入力部２１０と、設定入力部２１２と、信号入力部２１４と、制御部２２０と、アプリケーション記憶部２７０と、設定値記憶部２７２と、テンプレート記憶部２７４と、表示部２８０と、撮影命令出力部２８２とを備える。制御部２２０は、検査部２３０と、画面表示制御部２４０と、設定部２５０と、撮影制御部２６０とを含む。検査部２３０は、エッジ計測部２３２と、形状導出部２３４と、判定部２３６とを含む。
【００２３】
画像データ入力部２１０は、検査装置１００に接続されたカメラ１１０から送られた画像信号の入力を受け付ける。設定入力部２１２は、検査装置１００に実行させる検査処理を規定する設定の入力を受け付ける。設定入力部２１２は、ある局面において、マウス、キーボード、タッチパネルその他の入力装置として実現される。また他の局面において、設定入力部２１２は、検査装置１００に接続された他の情報通信装置から送られた信号の入力を受け付ける信号入力インターフェイスとしても実現される。
【００２４】
信号入力部２１４は、センサ１３０から送られた信号の入力を受け付ける。なお、画像処理検査システムによっては、撮影のタイミングをセンサ１３０からの信号を用いることなく規定するものも存在する。この場合には、センサ１３０および検査装置１００における信号入力部２１４は不要である。
【００２５】
制御部２２０は、検査装置１００に対して外部から与えられる信号と、検査装置１００の内部に保持されているデータとに基づいて検査装置１００の動作を制御する。ある局面においては、制御部２２０は、ＣＰＵその他の演算装置として実現される。他の局面においては、特定の処理を実行するための回路素子の組み合わせとしても実現可能である。
【００２６】
より詳しくは、検査部２３０は、カメラ１１０から送られる画像信号と設定値記憶部２７２に格納されているデータとに基づいて、アプリケーション記憶部２７０に格納されているプログラムを実行することにより、当該画像信号を与えたワークが良品であるか否か（たとえば表面にキズその他の不良が存在するか否か）を判定する。判定の内容は、ワークの表面にキズが生じているか否か、ビンその他の容器の表面に貼付されるべきラベルが貼られているか否か等を含む。
【００２７】
画面表示制御部２４０は、設定入力部２１２を介して入力された指示とテンプレート記憶部２７４に格納されている予め準備されたテンプレートデータと、設定値記憶部２７２に格納されている設定値と、検査部２３０からの出力とに基づいて、表示部２８０に対して、各画面を表示させる。ある局面において、画面表示制御部２４０は、検査装置１００に対して特定の検査処理を実行するための設定の入力を受け付ける画面を表示させる。検査装置１００の管理者は、表示部２８０に表示された当該画面を参照しながら、設定入力部２１２に対する操作によって、検査装置１００に実行させる処理を定義することができる。
【００２８】
他の局面において、画面表示制御部２４０は、検査装置１００が現実に計測処理を実行している場合に検査部２３０から送られた検査結果を表示する。
【００２９】
設定部２５０は、画像検査処理を定義する一連の処理のうち、画像検査の対象となる検査対象領域を設定する。一連の処理とは、画像データの入力、画像データ処理（２値化処理、平均値算出処理等）、検査対象領域の認識処理、教示データとの比較処理等を含む。より詳しくは、設定部２５０は、設定入力部２１２に対して入力された設定値と、テンプレート記憶部２７４に格納されているテンプレートデータとを関連付けて、設定値記憶部２７２に書き込む。この関連付けは、検査装置１００が現実に検査処理を実行するときに使用される。ここで設定値は、当該一連の処理を構成する各処理項目を識別するデータ、検査対象領域を特定するデータ等を含む。
【００３０】
ある局面において、設定部２５０は、複数の処理項目から一連の画像検査処理を構成する処理項目（画像検査処理のフローを構成する具体的な処理の内容）を複数の処理項目から選択するための画面と、検査対象領域の形状を複数の候補から選択するための画面とを表示部２８０に表示させる。設定部２５０は、選択された処理項目と、選択された検査対象領域の形状と、選択された検査対象領域の形状を規定する定義項目とを関連付ける。処理項目は、画像データの入力、エッジの検出、濃淡処理、計測対象となる領域の面積の算出などを含む。
【００３１】
また、他の局面において、設定部２５０は、設定入力部２１２から送られる信号に基づいて、マスク領域を設定する。すなわち、検査装置１００がマスク領域の設定を受け付ける動作モードであるとき、設定部２５０は、設定入力部２１２が受け付けた入力操作に基づいて、検査処理の対象から除外される領域を特定するデータを、当該マスク領域に関連付けて、設定値記憶部２７２に格納する。
【００３２】
撮影制御部２６０は、信号入力部２５４によって受け付けられた信号に応答して、搬送ライン１２０に対する撮影動作を実行する命令を生成する。撮影制御部２６０は、その命令を撮影命令出力部２８２を介して、検査装置１００に接続されているカメラ１１０に送信する。カメラ１１０は、その命令に応答して撮影動作を実行すると、当該撮影によって得られた画像信号を検査装置１００に送信する。
【００３３】
アプリケーション記憶部２７０は、検査装置１００を作動させるためのソフトウェアを予め格納している。たとえば、アプリケーション記憶部２７０は、検査装置１００における信号の入出力、制御処理を実行させるためのファームウェアと、設定値記憶部２７２に格納されている設定値と、テンプレート記憶部２７４に格納されている教示データとに基づいて画像処理を実行するためのアプリケーションプログラムと、ＰＬＣ１５０との間でデータの授受を行なうための通信プログラムなどを格納している。
【００３４】
設定値記憶部２７２は、特定の搬送ライン１２０における画像処理検査を検査装置１００に実行させるために入力された設定値を格納している。設定値は、たとえば、当該画像処理検査を構成する一連の処理項目、画像処理検査の対象となる領域を特定するデータ、、検査対象領域を特定するデータ、良品のデータとして予め準備された教示データなどを含む。
【００３５】
テンプレート記憶部２７４は、画像処理検査を実行するための設定値として予め準備された複数の設定項目をテンプレートとして保持している。テンプレート記憶部２７４に保持されているデータは、たとえば検査装置１００の製造者によって予め作成され、テンプレート記憶部２７４に格納される。あるいは、検査装置１００の使用者が、当該テンプレートデータを追加できる態様であってもよい。
【００３６】
アプリケーション記憶部２７０と設定値記憶部２７２とテンプレート記憶部２７４とは、ハードディスク装置、フラッシュメモリその他の不揮発性の記憶装置によって実現される。なお、各記憶部に格納されているプログラムまたはデータは、上述のように別個に保持されている必要はなく、データおよびプログラムの格納の態様は、図２に示される構成に限られない。
【００３７】
表示部２８０は、検査装置１００が内蔵するディスプレイ装置あるいは検査装置１００に接続される外部表示装置としても実現される。表示部２８０は、画面表示制御部２４０によって作成されたデータに基づいて設定画面、結果画面などを表示する。
【００３８】
撮影命令出力部２８２は、ある局面において、信号出力インターフェイスとして実現される。撮影命令出力部２８２は、撮影命令を有線および無線のいずれによって送信するものであってもよい。
【００３９】
次に、図３を参照して、検査装置１００の具体的構成について説明する。図３は、検査装置１００として機能するコンピュータシステム３００のハードウェア構成を表わすブロック図である。コンピュータシステム３００は、主たる構成要素として、ＣＰＵ（Central Processing Unit）３１０と、マウス３２０と、キーボード３３０と、ＲＡＭ（Random Access Memory）３４０と、ハードディスク３５０と、光ディスク駆動装置３６０と、通信Ｉ／Ｆ３７２と、入力Ｉ／Ｆ（Interface）３７０と、モニタ３８０とを備える。入力Ｉ／Ｆ３７０には、カメラ１１０が接続される。光ディスク駆動装置３６０には、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）３６２その他の記録媒体が装着可能である。
【００４０】
ＣＰＵ３１０は、コンピュータシステム３００の動作を制御する。詳しくは、ＣＰＵ３１０は、コンピュータシステム３００に対して与えられる命令に基づいて、あるいは、予め定められた条件が成立したことに基づいて、コンピュータシステム３００の動作を制御する。
【００４１】
マウス３２０およびキーボード３３０は、コンピュータシステム３００の使用者による命令の入力を受け付ける。ＲＡＭ３４０は、ＣＰＵ３１０によって生成されたデータ、あるいはコンピュータシステム３００の外部から与えられたデータを一時的に記憶する。ハードディスク３５０は、コンピュータシステムに与えられたデータあるいはＣＰＵ３１０によって生成されたデータを不揮発的に保持する。光ディスク駆動装置３６０は、ＣＤ−ＲＯＭ３６２その他の記録媒体からデータを読み出し、その読み出したデータをＲＡＭ３４０に転送する。また、他の局面において、データの書き込みが可能な記録媒体が光ディスク駆動装置３６０に装着されると、光ディスク駆動装置３６０は、ＣＰＵ３１０の命令に基づいて、指定されたデータをＲＡＭ３４０から当該記録媒体に書き込む。
【００４２】
たとえば、ある局面において、ＣＰＵ３１０は、コンピュータシステム３００を検査装置１００として実行させるために入力された設定値を関連するアプリケーションとともに当該記録媒体に書き込むことができる。この場合、コンピュータシステム３００とは別のコンピュータシステムにその記憶媒体を装着して当該アプリケーションを実行させることにより、同様の検査装置としてそのコンピュータシステムを機能させることができる。
【００４３】
入力Ｉ／Ｆ３７０は、カメラ１１０から送られる画像データの入力を受け付けて、ＲＡＭ３４０に確保されたワーク領域にそのデータを書き込む。入力された画像データに基づく画像は、モニタ３８０に表示される。
【００４４】
通信Ｉ／Ｆ３７２は、ケーブル１０２の装着を受け付ける。コンピュータシステム３００は、通信Ｉ／Ｆ３７２を介して制御信号をＰＬＣ１５０に送信することができる。モニタ３８０は、グラフィックコントローラ（図示しない）の制御に基づいて、設定画面、検査画面などを表示する。
【００４５】
コンピュータシステム３００における処理は、ハードウェアおよびＣＰＵ３１０により実行されるソフトウェアによって実現される。このようなソフトウェアは、ハードディスク３５０に予め格納されている場合がある。また、ソフトウェアは、ＣＤ−ＲＯＭ３６２その他の記録媒体に格納されて、プログラムプロダクトとして流通している場合もある。あるいは、当該ソフトウェアは、いわゆるインターフェイスその他のネットワークに接続している情報提供事業者によって、ダウンロード可能なプログラムプロダクトとして提供される場合もある。このようなソフトウェアは、光ディスク駆動装置３６０その他の読取装置によってその記録媒体から読み取られて、あるいは、通信Ｉ／Ｆ３７２を介してダウンロードされた後、ハードディスク３５０に一旦格納される。そのソフトウェアは、ＣＰＵ３１０によってハードディスク３５０から読み出され、ＲＡＭ３４０に実行可能なプログラムの形式で格納される。ＣＰＵ３１０は、そのプログラムを実行する。
【００４６】
図３に示されるコンピュータシステム３００の各構成要素は、一般的なものである。したがって、本発明の最も本質的な部分は、ＲＡＭ３４０、ハードディスク３５０、ＣＤ−ＲＯＭ３５２その他の記録媒体に格納されたソフトウェア、あるいはネットワークを介してダウンロード可能なソフトウェアであるとも言える。なお、コンピュータシステム３００の動作は周知であるので、詳細な説明は繰り返さない。
【００４７】
ここで、記録媒体としては、ＣＤ−ＲＯＭ３６２あるいはハードディスク３５０に限られず、ＦＤ（Flexible Disc）、磁気テープ、カセットテープ、光磁気ディスク（ＭＯ（（Magnetic Optical Disc）／ＭＤ（Mini Disc）／ＤＶＤ（Digital Versatile Disc）、ＩＣ（Integrated Circuit）カード（メモリカードを含む）、光カード、マスクＲＯＭ、ＥＰＲＯＭ（Electronically Programmable Read-Only Memory）、ＥＥＰＲＯＭ（Electronically Erasable Programmable Read-Only Memory）、フラッシュＲＯＭなどの半導体メモリなど固定的にプログラムを担持できる媒体でもよい。
【００４８】
なお、ここでいうプログラムとは、ＣＰＵ３１０により直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラムなどを含む。
【００４９】
次に、図４を参照して、本実施の形態に係る検査装置１００のデータ構造について説明する。図４は、ハードディスク３５０におけるデータおよびプログラムの格納の一態様を概念的に表わす図である。ハードディスク３５０は、コンピュータシステム３００を検査装置１００として機能させるためのデータおよびプログラムを格納している。
【００５０】
より詳しくは、検査装置１００における処理項目として設定の対象となり得る項目は、テンプレートとして、領域４１０から領域４１８にそれぞれ格納されている。カメラ画像入力（領域４１０）は、検査装置１００による検査の対象としての画像をカメラ１１０から受け付けることを規定する。カメラ切替（領域４１２）は、複数のカメラが検査装置１００に接続される場合に、画像データの入力を受け付けるカメラの切り替えを規定する。エッジ位置検出（領域４１４）は、入力された画像データから検査対象となる領域を規定するエッジの位置の検出態様（たとえば座標位置）を規定する。エッジ位置修正（領域４１６）およびＥＣＭサーチ（領域４１８）も、同様に検査装置１００の分野における周知の処理を規定する。
【００５１】
これらのプログラムモジュールは、予め検査装置１００の製造者によって作成される。データ入力インターフェイスを介したデータ入力によって、プログラムモジュールが追加、変更されてもよい。
【００５２】
コンピュータシステム３００において検査装置１００の具体的な設定として定義された処理項目は、領域４３０から領域４３７に格納されている。編集フロー番号（領域４３０）は、検査装置１００として機能させるために登録された編集フローを特定する。たとえば、コンピュータシステム３００が複数の検査処理を実行する場合、各処理を規定するフロー毎に、当該編集フロー番号が割り当てられる。
【００５３】
当該検査フローの具体的な内容として、「０．カメラ画像入力」、「１．エッジ位置」、「２．エッジ位置」、「３．エッジ位置」、「４．エッジ位置」と、「５．処理ユニット図形設定」と「６．キズ汚れ」は、それぞれ領域４３１から領域４３７に格納されている。各項目は、領域４２０に格納されているテンプレートとして準備された項目から選択されたものである。領域４３１から領域４３７において規定される処理が実行されることにより、具体的な検査装置１００としての処理が実現される。
【００５４】
コンピュータシステム３００による画像処理検査の結果は、領域４４０から領域４４４に格納される。たとえば、検査総数（領域４４０）は、実際に検査が行なわれたワークの総数を表わす。ＯＫ数（領域４４２）は、当該検査総数のうち良品と判定されたワークの数を表わす。ＮＧ数（領域４４４）は、当該検査総数のうち不良品と判定されたワークの数を表わす。図１において、センサ１３０からのトリガ信号に基づいて撮影された各ワークの各々について、検査が行なわれ、当該検査の結果が領域４４０から領域４４４に反映される。
【００５５】
コンピュータシステム３００のオペレーティングシステムは、領域４５６に格納されている。オペレーティングシステムは、コンピュータシステム３００における演算処理を規定する。
【００５６】
画像処理検査アプリケーションのうち実行モジュールは、領域４５４に格納されている。画像処理検査アプリケーションのうち設定モジュールは、領域４５２に格納されている。ＣＰＵ３１０は、設定モジュール（領域４５２）を実行することにより、領域４２０に格納されているテンプレートデータに基づいて、コンピュータシステム３００を特定の検査装置として機能させるための設定処理を実現する。コンピュータシステム３００のＣＰＵ３１０は、当該実行モジュールを実行することにより、領域４３０から領域４３７に格納されている設定値テーブルの各項目に従って、画像処理検査を行なう。通信処理プログラムは、領域４５０に格納される。このプログラムは、検査装置１００に接続されるＰＬＣ１５０との間の通信を規定する。
【００５７】
さらに、ある局面において、画像検査処理において良否の判断基準に使用される教示データも、ハードディスク３５０に格納される。当該教示データは、良品のワークを予め撮影したことにより取得されたデータを含む。
【００５８】
図４に示されるデータおよびプログラムの格納の態様はこれに限られない。たとえば、これらのデータおよびプログラムのうち特定のものが別の記憶装置に格納されてもよい。また、他の局面において、検査装置１００が検査処理の実行機能のみを有している場合であってもよい。この場合、画像処理検査アプリケーションの設定モジュールと実行モジュールとが別個のコンピュータシステムに含まれていてもよい。
【００５９】
この場合、設定モジュールを有するコンピュータシステムは、当該コンピュータシステムにおいて設定値テーブルとして生成されたデータ（領域４３０から領域４３７に相当するデータを含む）を、実行モジュールを有するコンピュータシステムに送信する。このようにすると、複数のコンピュータシステムにおいて画像処理検査が実行される場合、画像処理検査を規定する設定をあるコンピュータシステムにおいて行ない、当該設定を含むデータを、具体的に画像処理検査を実行する他のコンピュータシステムにネットワーク配信すればよい。このようにすると、分散された画像検査を実行するための設定を１箇所で集中管理することができる。
【００６０】
次に、図５から図９を参照して、検査装置１００として機能するコンピュータシステム３００の制御構造について説明する。図５から図９はそれぞれ、ＣＰＵ３１０が実行する一連の動作の一部を表わすフローチャートである。
【００６１】
図５を参照して、ステップＳ５１０にて、ＣＰＵ３１０は、マウス３２０、キーボード３３０を介した入力に基づいて、画像処理検査アプリケーションの設定モジュール（領域４５２）を起動する。ＣＰＵ３１０は、当該アプリケーションをＲＡＭ３４０に読み出し、読み出したデータに基づく設定画面をモニタ３８０に表示させる。
【００６２】
ステップＳ６００にて、ＣＰＵ３１０は、後述する画像処理検査アプリケーションの設定処理を実行する。この処理が実行されると、たとえば、カメラ画像入力、エッジ位置、キズ汚れ、処理ユニット図形などの設定が実現される。
【００６３】
ステップＳ５２０にて、ＣＰＵ３１０は、テスト計測を実行する。詳しくは、ＣＰＵ３１０は、ハードディスク３５０に格納された設定値テーブル（領域４３０から領域４３７）と、画像処理検査アプリケーション実行モジュール（領域４５４）とに基づいて、カメラ１１０から送られる画像データを用いて画像処理検査を実行する。そして、この設定の結果、検査装置１００の使用者が当初意図した結果が得られない場合には、設定の再調整（すなわち設定値テーブルの項目の変更）が行なわれる。
【００６４】
ステップＳ５３０にて、ＣＰＵ３１０は、検査装置１００としてコンピュータシステム３００を本稼動させる。詳しくは、ＣＰＵ３１０は、画像処理検査アプリケーションの実行モジュール（領域４５４）を実行し、設定値テーブルの各データを用いた画像処理検査を実現する。ＣＰＵ３１０は、その検査の結果を、領域４４０から領域４４４に処理毎に書き込む。そして、本稼動の最中に検査装置１００としての異常が見られた場合あるいは検査結果が検査装置１００の使用者によって満足のいくものでない場合には、設定の再調整（設定値テーブルの項目の変更）が再び行なわれる（ステップＳ６００）。
【００６５】
図６を参照して、ステップＳ６０４にて、ＣＰＵ３１０は、マウス３２０あるいはキーボード３３０からの信号に基づいてカメラ画像入力の設定を受け付ける。ＣＰＵ３１０は、その受け付けた内容を領域４３１に書き込む（０．カメラ画像入力）。
【００６６】
ステップＳ６２０にて、ＣＰＵ３１０は、エッジ位置の設定の入力を受け付ける。画像処理の対象となる検査領域が矩形の場合、エッジ位置は４つの端点として規定される。したがって、ＣＰＵ３１０は、エッジ位置の設定を受け付ける処理を４回繰り返す（領域４３２から領域４３５）。
【００６７】
ステップＳ６３０にて、ＣＰＵ３１０は、キズ汚れ設定の入力を受け付ける。ここで、キズ汚れ設定は、検査装置１００による検査の対象となる表面のキズの有無の判定に関するものである。このキズ汚れ設定を後述する処理ユニット図形設定の前に行なうことにより、当該処理ユニット図形設定（ステップＳ７００）において、処理ユニット図形の設定を詳細に行なうことができる。
【００６８】
ステップＳ７００にて、ＣＰＵ３１０は、後述する処理ユニット図形設定の処理を実行する。この処理が実行されると、検査対象領域を表わす図形が設定され、当該図形を特定するためのデータ（たとえば座標値、中心点および半径など）が入力される。
【００６９】
図７を参照して、ステップＳ７１０にて、ＣＰＵ３１０は、設定メニューの画面をモニタ３８０に表示させる。
【００７０】
ステップＳ７２０にて、ＣＰＵ３１０は、マウス３２０あるいはキーボード３３０に対する操作入力に基づいて、対象処理ユニットの設定の入力を受け付ける。ステップＳ７３０にて、ＣＰＵ３１０は、登録図形番号の設定の入力を受け付ける。ステップＳ７４０にて、ＣＰＵ３１０は、対象図形の設定の入力を受け付ける。ステップＳ７５０にて、ＣＰＵ３１０は、座標データの演算式の設定の入力を受け付ける。コンピュータシステム３００の使用者が、入力したこれらの設定値を保存する指示をコンピュータシステム３００に与えると、ＣＰＵ３１０は、これらの設定値を、ＲＡＭ３４０のワーク領域から、ハードディスク３５０において確保した保存領域に書き込む。これらの書き込まれたデータは、検査処理が実際に実行される時に、ハードディスク３５０からＲＡＭ３４０に実行可能データとして読み出され、後述する処理ユニット図形計測処理（図９）が実行される時に使用される。
【００７１】
ステップＳ７６０にて、ＣＰＵ３１０は、モニタ３８０における設定メニューの表示を終了する。その後、ＣＰＵ３１０は、制御を、当該フローを呼び出したフローに戻す。このようにして、検査処理における図形計測に使用されるデータが入力され、定義される。
【００７２】
なお、他の局面において、ＣＰＵ３１０は、入力された画像データに基づく領域のうち特定の部分を検査処理の対象から除外するための設定を受け付けてもよい。検査処理の対象から除外される領域を、マスク領域という。ＣＰＵ３１０は、マスク領域の設定を実行する場合、ＣＰＵ３１０は、図７に示される処理と同様に、マスク領域に対応する領域を特定するデータの入力を受け付ける。マスク領域に対応する領域は、矩形、円、楕円など、検査領域と同様の形状である。マスク領域が設定されると、当該領域に含まれるデータは、画像検査処理の実行時に、特徴量（例、濃度）の算出に使用されなくなる。これにより、画像検査処理の精度が向上するとともに、余分な計算が実行されなくなるため、ＣＰＵ３１０、ＲＡＭ３４０その他のコンピュータシステム３００の負荷の増加が抑制される。
【００７３】
図８および図９は、コンピュータシステム３００が検査装置１００として現実に検査処理を実行する場合にＣＰＵ３１０が実行する一連の処理の一部を表わすフローチャートである。
【００７４】
図８を参照して、ステップＳ８１０にて、ＣＰＵ３１０は、センサ１３０から送られたトリガ信号の入力を受け付ける。ＣＰＵ３１０は、そのトリガ信号の入力を検知すると、撮影命令をカメラ１１０に対して送信する。カメラ１１０は、その命令に応答して搬送ライン１２０に対して撮影動作を実行する。この撮影動作により、たとえばワーク１４０が撮影される。カメラ１１０は、その撮影によって生成された画像信号をコンピュータシステム３００に送信する。
【００７５】
ステップＳ８２０にて、ＣＰＵ３１０は、入力Ｉ／Ｆ３７０を介して、カメラ１１０から送られた画像信号の入力を検知する。ＣＰＵ３１０は、その入力されたデータをＲＡＭ３４０において物理的に加工した領域に書き込む。
【００７６】
ステップＳ８３０にて、ＣＰＵ３１０は、そのカメラからの画像信号に基づいて第１のエッジ位置を検出する。ステップＳ８４０にて、ＣＰＵ３１０は、当該画像信号から第２のエッジ位置を検出する。ステップＳ８５０にて、ＣＰＵ３１０は、当該画像信号から第３のエッジ位置を検出する。ステップＳ８６０にて、ＣＰＵ３１０は、当該画像信号から第４のエッジ位置を検出する。
【００７７】
図９を参照して、ステップＳ９００にて、ＣＰＵ３１０は、後述する処理ユニット図形計測処理を実行する。この処理が実行されると、処理ユニット図形設定処理（図７）において使用者によって入力された図形の設定データが読み出される。ＣＰＵ３１０は、その設定データに基づいて当該画像信号に基づくワークの良不良を判定する。
【００７８】
ステップＳ８７０にて、ＣＰＵ３１０は、キズ汚れの検出処理を実行する。この処理が実行されると、搬送ライン１２０によって搬送されるワークの表面におけるキズの有無が判定される。
【００７９】
ステップＳ８８０にて、ＣＰＵ３１０は、出力処理の１つとして、検査の結果をモニタ３８０に表示させる。また、ＣＰＵ３１０は、検査の結果をハードディスク３５０に順次書き込む。他の局面において、ＣＰＵ３１０は、コンピュータシステム３００にネットワーク接続された他のコンピュータシステムに、検査の結果を送信してもよい。当該他のコンピュータシステムは、たとえば検査工程の監視システムを構成している。この場合、当該監視システムの担当者は、遠隔地にあっても、コンピュータシステム３１０における画像検査処理の結果を把握することができる。
【００８０】
ステップＳ８９０にて、ＣＰＵ３１０は、検査処理の停止の命令が入力されたか否かを判定する。ＣＰＵ３１０は、当該命令が入力されたと判定すると（ステップＳ８９０にてＹＥＳ）、処理を終了する。そうでない場合には（ステップＳ８９０にてＮＯ）、ＣＰＵ３１０は、制御をステップＳ８１０に戻す。なお、処理の終了の規定は、たとえば割込信号が与えられた場合にのみ実現される構成であってもよい。
【００８１】
図９を参照して、ステップＳ９１０にて、ＣＰＵ３１０は、エッジの数に応じた回数だけ演算式を用いて演算する。ここで用いられる演算式は、設定値テーブル（図４の領域４３０から４３７）において規定されている。より詳しくは、ＣＰＵ３１０は、エッジ位置から座標位置を取得する。ＣＰＵ３１０は、さらに、オフセットを反映させた演算処理を実行する。
【００８２】
ステップＳ９２０にて、ＣＰＵ３１０は、対象処理ユニットの図形を確認する。ステップＳ９３０にて、ＣＰＵ３１０は、その図形が矩形であるか否かを判定する。ＣＰＵ３１０は、その図形が矩形であると判定すると（ステップＳ９３０にてＹＥＳ）、制御をステップＳ９４０に切り替える。そうでない場合には（ステップＳ９３０にてＮＯ）、ＣＰＵ３１０は、制御をステップＳ９８０に切り替える。
【００８３】
ステップＳ９４０にて、ＣＰＵ３１０は、対象処理ユニットに図形を設定する。ステップＳ９５０にて、ＣＰＵ３１０は、対象処理ユニットで図形登録処理を実行する。ステップＳ９６０にて、ＣＰＵ３１０は、その図形が適切であるか否かを判定する。ＣＰＵ３１０は、その図形が適切であると判定すると（ステップＳ９６０にてＹＥＳ）、制御をステップＳ９７０に切り替える。そうでない場合には（ステップＳ９６０にてＮＯ）、ＣＰＵ３１０は、制御をステップＳ９８０に切り替える。
【００８４】
ステップＳ９７０にて、ＣＰＵ３１０は、判定結果にＯＫを設定する（領域４４２）。ステップＳ９８０にて、ＣＰＵ３１０は、判定結果にＮＧを設定する（領域４４４）。
【００８５】
次に、図１０から図１９を参照して、検査装置１００として機能するコンピュータシステム３００における画面の表示態様について説明する。図１０から図１９はそれぞれ、画像検査処理のための設定をコンピュータシステム３００に行なう場合にモニタ３８０が表示する画面を表わす図である。すなわち、図５から図７に示される処理が実行されると、モニタ３８０は、以下の画面を順次表示する。
【００８６】
図１０は、フローを編集するためにモニタ３８０が表示する画面である。画面処理検出アプリケーションが実行されると（ステップＳ６００）、モニタ３８０は、ＣＰＵ３１０による制御に基づいて、画像検査処理を構成する各フローの編集を受け付ける画面を表示する。たとえば、図１０に示されるように、メニューアイコン１０３０が押下されると、フロー編集メニューが起動され、特定のフローが表示領域１０１０に示される。ここで、矩形の領域１０２０は、画像検査の対象となる領域を表わす。図１０に示される例では、矩形をした電子部品の両端が電極である場合において、各電極の間に位置する領域における「キズ汚れ」の有無が判定される。
【００８７】
メニューアイコン１０３０が押下されると、モニタ３８０は、図１１に示される画面を表示する。
【００８８】
図１１は、画像処理検査を構成する各処理項目を予め準備されたメニュー項目から選択して追加することによって、あるいは削除することによって編集するための画面を表わす。より具体的には、モニタ３８０は、領域１１１０においてフロー編集の画面を表示する。たとえば、「カメラ画像入力」というフローが既に定義されている（項目１１１２）。さらに、コンピュータシステム３００の使用者がフローを選択すると、選択されたフローは領域１１１０に表示される。
【００８９】
詳しくは、フローを構成する各処理項目は、領域１１５０にリスト表示される。当該使用者は、領域１１５０に表示されたいずれかの項目を選択し（たとえばマウス３２０による選択）、領域１１３０における編集メニュー（挿入）を指示すると、選択された処理項目は、領域１１１０に表示される。ここで、図１１に示される状態では、「カメラ画像入力」のみが選択されているため、当該選択された処理フローに対応する画面が領域１１４０に表示される。この場合表示される画面は、各処理項目に応じて予め準備された模擬的な画像であってもよい。
【００９０】
当該使用者が領域１１５０に示されている項目の選択操作を繰り返すと、モニタ３８０は、図１２に示されるような画面を表示する。
【００９１】
すなわち、領域１１１０において、選択された処理項目（カメラ画像入力からキズ汚れ）が編集上に表示されている。そして、領域１１１０において、デフォルトとして最初に選択された処理項目が太枠１２１０によって特定されている。そこで、領域１１４０に示されるように、その選択された処理項目（カメラ画像入力）に応じて、コンピュータシステム３００に接続されたカメラ１３０から送られた画像が表示される（画像１２２０）。
【００９２】
図１３は、エッジ位置の設定を受け付けるための画面を表わす。モニタ３８０は、処理項目（１．エッジ位置）が選択されると、当該選択されたエッジ位置の設定のための画面を表示する。たとえば、モニタ３８０は、当該画面がエッジ位置の選択のための画面であることを表わす表示を領域１３１０に表示する。また、登録図形として幅付き直線が指定されていることを表わす文字を領域１３２０に表示する。さらに、モニタ３８０は、その幅付き直線を特定するためのデータを領域１３３０に表示する。詳しくは、幅付き直線は、始点と終点と幅とによって規定される。そしてモニタ３８０は、ＣＰＵ３１０の制御に従って、予めデフォルトで取得されたデータを始点、終点、幅の各データとして表示する。さらに、コンピュータシステム１００の使用者は、各項目に対応付けて表示された上下の矢印、あるいは左右の矢印をマウス３２０を用いて選択することにより、始点、終点、幅の各値を変更することができる。
【００９３】
図１３に示される画面を用いて入力されたエッジ位置の設定値は、領域４３２（図４）に格納される。エッジ位置の設定は、たとえば登録画像１３４０に対する表示を用いて行なわれる。登録画像１３４０は、搬送ライン１２０によって搬送されるべきワークの教示画像として予めコンピュータシステム３００に保持されているものである。この登録画像１３４０のデータは、ハードディスク３５０に格納されている。ＣＰＵ３１０は、エッジ位置の設定画面をモニタ３８０に表示させるとき、当該登録画像１３４０のデータをハードディスク３５０から読み出し、領域１３５０に表示させる。使用者は、登録画像１３４０に表示された四角の枠あるいは線図を操作することにより、幅付き直線の始点と終点と幅とを逆に規定することもできる。４つのエッジ位置が定義されているため（領域４３２から領域４３５）、図１３に示されるエッジ位置の設定画面も４回表示され、各エッジ位置の指定が実現される。
【００９４】
図１４は、キズ汚れの主な検出を設定するための画面を表わす。モニタ３８０は、領域１１１０に表示された処理項目から「６．キズ汚れ」が選択されたことに基づいて、当該キズ汚れの設定の画面を表示する（図１２参照）。
【００９５】
より具体的には、設定の対象となる処理項目「６．キズ汚れ」は、領域１４１０に表示される。登録図形（たとえば長方形）は、領域１４２０に表示される。登録図形として指定された長方形を特定するためのデータは、領域１４３０に表示される。詳しくは、長方形は、たとえば左上の座標と右下の座標とによって特定される。そこで、ＣＰＵ３１０は、予め登録された図形のデータに基づいて、左上の座標と右下の座標とをそれぞれ領域１４３０に表示させる。そして、座標位置の右側に上下あるいは左右の移動を受け付けるアイコンを表示する。使用者がこの矢印を操作すると、その操作に応じて左上座標あるいは右下座標のＸ座標値あるいはＹ座標値がそれぞれ変更される。当該登録図形として指定された長方形は、その左上座標と右下座標とに基づいて領域１４５０に表示される（画像１４４０）。
【００９６】
図１５から図１９は、処理ユニット図形設定の画面を表わす図である。図１２に示されるフロー編集の画面において、使用者が「５．処理ユニット図形設定」と示された画像を選択操作すると、コンピュータシステム３００は、処理ユニット図形設定のための画面を表示する（図１５）。詳しくは、処理ユニット図形設定画面は、画像検査処理の対象となるデータおよび領域の定義を受け付ける。
【００９７】
まず、図１５に示されるように、処理ユニット図形設定のためのパラメータを定義する画面が表示される。処理の対象であるデータ設定対象ユニットは、領域１５２０に示されるように、予め登録された処理項目から選択可能な態様で（たとえばメニュー形式で）表示される。登録される図形を特定する番号は、「登録図形番号」として特定される。処理の対象となる図形は、その番号に関連付けられて示される。図１５に示される画面は、処理ユニット図形設定画面が表示された時点での画面であるため、対象図形は「未定義」である。さらに、モニタ３８０は、処理に使用するデータの名称と設定値とを表示する。データ項目が特定される前は、当該データ名および設定値はブランクのままである。
【００９８】
図１５に示される画面は、データ設定対象ユニットが「０．カメラ画像入力」として設定されている。この場合、コンピュータシステム３００は、カメラ１１０から画像の入力を受けるための処理を実行するに留まり、特定の図形を用いて処理を実行しない。したがって、当該図形に関する項目（登録図形番号、対象図形などの項目）はブランクのままである。
【００９９】
図１６は、データ設定対象ユニットとして「６．キズ汚れ」の設定のための画面を表わす。詳しくは、選択メニューから「６．キズ汚れ」が選択されると（領域１６１０）、その処理についての設定が可能となる。すなわち、最初に、「６．キズ汚れ」の登録が行なわれると、その他の項目は何も入力されていないため、モニタ３８０は、「６．キズ汚れ」に関する他の設定項目（登録図形番号、対象図形、データ名、設定値）はブランクのまま表示する。その後、使用者が対象図形としてたとえば番号「０」に対して「長方形」を定義する。すると、図１７に示されるように、モニタ３８０は、対象図形として定義された長方形を特定するためのデータ名を「左上座標Ｘ、左上座標Ｙ、右下座標Ｘ、右下座標Ｙ」の４つの項目を表示する（領域１７４２）。
【０１００】
そこで、各データ名に対応する設定値（領域１７４０）を入力することにより、指定された対象図形「長方形」の特定が可能となる。図１７において演算式の設定を読み出すための画像アイコンが押下されると、その演算式の設定画面が表示される（図１８）。
【０１０１】
すなわち、図１８を参照して、モニタ３８０は、演算式の設定画面として、領域１８１０、１８２０、１８３０と、入力を受け付ける画面１８４０とを表示する。領域１８１０は、使用者によって定義される演算式を表示する。領域１８２０は、当該演算式に使用される対象図形の特定項目（たとえばエッジ位置）を選択形式で表示する。図１８に示される例では、選択項目として「１．エッジ位置」が表示されている。選択項目は、たとえばポップアップ形式のメニューとして実現される。
【０１０２】
領域１８３０は、領域１８１０に表示される演算式を定義するために使用される変数を表示する。
【０１０３】
画像アイコン１８４０は、コンピュータシステム３００の使用者による入力を受け付けるためのキーとして機能する。画像アイコン１８４０が受け付けるキーは、たとえばキーボード３３０（図３）に含まれる数字ボタン、バックスペースキー、削除キー、その他の演算子の入力を受け付けるボタンとして構成される。使用者が、図１８に示される画面を用いて演算式を設定し、確定の操作入力を与えると、入力された演算式は、先の処理ユニット図形設定画面に反映される。
【０１０４】
すなわち、図１９を参照して、モニタ３８０は、領域１９４０において、データ名および設定値を表示する。これらは、図１８において領域１８１０に対して入力された設定値に対応する。このような設定値により、領域１９１０において示されるデータ設定対象ユニット「６．キズ汚れ」について登録図形番号「０」（すなわち長方形）は、領域１９４０に示される設定値により特定されることになる。
【０１０５】
次に、図２０〜図３０を参照して、検査装置１００による画面の表示態様についてさらに説明する。図２０〜図３０は、検査装置１００が実際に画像検査処理を実行した後の結果を表わす画面である。
【０１０６】
図２０を参照して、モニタ３８０は、ＣＰＵ３１０の制御に基づいて、「６．キズ汚れ」についての検査結果（計測結果）を表示する。図２０に示される結果は、当該検査の対象となったワークについてはキズ汚れが検出されなかった良品を表わす。この場合、画像アイコン２０１０に示される計測実行の指示をコンピュータシステム３００に与えると、ＣＰＵ３１０は、予め登録されている登録図形とカメラ１１０から送られた実際の画像とをマッチングし、濃淡処理、２値化処理などを実行した後、当該ワークの検査対象領域にキズがあるか否かを判定する。
【０１０７】
カメラ１１０から送られたデータに基づく画像は、領域２０５０に表示される。ここで、枠囲み２０２０は、検査対象領域として前述の設定処理において登録された領域を表わす。この枠囲み２０２０の内部にキズ汚れに相当する結果が検出されない場合、領域２０３０における結果として「ＯＫ」が表示される。さらに、詳細結果として領域２０４０において、キズ汚れに関する特徴量（たとえば面積値、欠陥の中心座標値）などが表示される。図２０に示される場合、当該ワークは良品であるため、欠陥の面積あるいは座標値はゼロのままである。
【０１０８】
図２１は、他のワークの計測結果を表わす画面である。当該他のワークは、２つの電極のうち左側の部分の電極の領域が通常よりも大きくなっている。すなわち、点線２１２２に示されるように、通常の電極の位置は当該ワークの電極よりも小さい。したがって、当該ワークについては検査対象領域は枠囲み２１２０に示されるように、図２０に示される枠囲み２０２０よりも小さな領域となっている。この場合であっても、ＣＰＵ３１０は、カメラ１１０から送られたデータに基づいて図２０について使用されたワークとは異なる大きさの対象領域であっても正確にキズ汚れの有無を判定することができる。その結果は、領域２１３０，２１４０にそれぞれ表示される。
【０１０９】
図２２および図２３は、ＣＰＵ３１０がワークからキズ汚れについての不良品を検出した場合にモニタ３８０が表示する画面を表わす図である。図２２を参照して、撮影された画像は、領域２２６０に表示されている。枠囲みで囲まれた領域２２１０は、ＣＰＵ３１０による検査処理の対象領域である。画像２２２０は、当該ワークの表面に形成されたキズに基づく画像を表わす。点２２３０は、当該欠陥の位置を特定する。たとえば、点２２３０は、画像の基準座標値から最も近い場所にある点（たとえばＸ座標値およびＹ座標値のいずれもが最小値となるもの）で、検出された欠陥の基準点を表わす。モニタ３８０は、結果を領域２２４０に表示する。またモニタ３８０は、詳細な結果を領域２１５０に表示する。図２２における例示的なデータを参照すると、処理フロー「６．キズ汚れ」について、判定は「ＮＧ」である。また、欠陥度は３５９．１８７５である。点２２３０のＸ座標値は２８０．５０００である。Ｙ座標値は、３０３．５０００である。
【０１１０】
図２３は、ワークの２つの電極のうち右側の電極の領域が広い場合における検査結果を表わす図である。すなわち、領域２３３０に示されるように、当該ワークを撮影して得られた画像において、電極に対応する領域は、通常の電極よりも広く形成されている。詳しくは、点線２３３２で区切られた領域が通常のワークの電極の領域であるが、図２３に示される画像に対応するワークは、それよりも広く電極が形成されている。このような場合においても、検査対象領域は当該電極の部分の広がりに応じて規定される。その結果、画像２３１０として表わされる欠陥が検出される。そのとき、点２３２０は、当該欠陥の基準点として特定される。検査結果は、領域２３４０に表示される（ＮＧ）。また、詳細な結果は、領域２３５０に表示される。表示される項目は、図２２に示される項目と同様である。
【０１１１】
図２４および図２５は、円形ワークの外周検出の結果を表わす図である。図２４を参照して、当該ワークを撮影することにより得られた画像２４３０は、外周２１１０と内周２１２０との間に含まれている。したがって、当該ワークの検査結果は「ＯＫ」となる（領域２１４０）。また、当該検査処理によって得られたデータは、領域２１５０に表示される。この場合、検査結果はＯＫであるが、当該画像の位置を特定するためのデータが欠陥度、Ｘ座標値およびＹ座標値として示される。
【０１１２】
図２５を参照して、円形ワークの外周に外周の欠けが存在する場合、当該ワークは不良品として判定される。たとえば、当該ワークを撮影することにより得られた画像２５３０において、点２５４０によって特定される欠けが存在する場合、このワークは「ＮＧ」と判定される（領域２２５０）。そして、当該点２５４０を特定するためのデータが欠陥度、Ｘ座標値およびＹ座標値として示される（領域２５６０）。
【０１１３】
図２６は、円形ワークの外周にバリが存在する場合における検査結果を表わす図である。当該ワークを撮影することにより得られた画像において、点２６３０として特定されるバリが検出されると、当該バリは外周２６１０を越えて存在するため、当該ワークは「ＮＧ」と判定される（領域２６４０）。そして、点２６３０を特定するためのデータが欠陥度、Ｘ座標値、およびＹ座標値として示される（領域２６５０）。
【０１１４】
図２７から図３０は、中空の円形ワークの検査結果を表わす図である。図２７を参照して、円形ワークを撮影することにより得られた画像２７３０は、検査対象領域として外周２７１０と枠囲み２７２０との間の領域が指定される。中空に対応する画像２７４０はこの検査の対象から除外される。そして、画像２７３０においては特にキズが検出されないため検査結果は「ＯＫ」となる（領域２７５０）。また、当該キズを特定するためのデータもゼロとなる。
【０１１５】
図２８は、中空部分の形状が真円ではなく楕円形状である場合におけるワークの検査結果を表わす図である。この場合、楕円部分の画像２８４０は、矩形２８２０によって検査対象領域から除外されている。そして、当該ワークの画像２８３０は、内周２８１０と矩形２８２０との間にキズが検出されない。その結果、判定結果は「ＯＫ」となる（領域２８５０）。また、欠陥を特定するための値もゼロとなる。この場合、矩形２８２０がマスク領域（すなわち検査の対象とならない領域）となる。
【０１１６】
図２９は、内部に穴を有する円形ワークの検査結果を表わす図である。当該ワークを撮影することにより得られた画像２９３０は、内周２９１０と矩形２９２０とによって囲まれる領域について検査される。そして、キズ汚れに相当する画像２９７０がＣＰＵ３１０によって認識される。この画像２９７０の位置は、点２９８０によって特定される。その結果、当該ワークの判定結果は「ＮＧ」となる（領域２９５０）。また、当該キズ汚れに相当する部分を特定するためのデータは、領域２９６０に表示される。
【０１１７】
この場合、矩形２９２０で囲まれた内部の領域は検査対象領域から除外されている。
図３０は、ワークの内側の穴の形が楕円である円形ワークの検査結果を表わす図である。当該ワークを撮影することにより得られた画像３０３０の検査対象領域は、内側の内周３０１０と矩形３０２０との間である。したがって内側の楕円に対応する画像３０４０は検査対象領域から除外される。この場合において、画像３０５０は、内周３０１０と矩形３０２０との間に存在している。したがって、画像３０５０に対応する部分は欠陥と認定される。そこで当該ワークの検査結果は「ＮＧ」となる（領域３０７０）。また、当該欠陥を特定するためのデータは、領域３０８０に示される。
【０１１８】
以上のようにして、本発明の実施の形態に係る検査装置１００によると、画像検査処理の対象となる領域（図形）を定義する設定処理（図形設定）と、当該領域に対して画像データを適用することにより外観検査を実行する検査処理（あるいは計測処理）とが分離されて規定されている。したがって、図形設定に使用する座標値を、任意の処理（エッジ計測、サーチ計測、重心計測、ラベリング計測、ＥＣＭサーチ等）で算出することができる。これにより、画像検査処理に柔軟性がもたらされ得る。
【０１１９】
「図形設定」において定義される領域の形状として、矩形に加えて、幅付き直線、円、楕円、幅付き円周、多角形なども設定可能となった。これにより、画像検査処理の適用範囲を拡張することができる。
【０１２０】
また、検査装置１００によると、複数の図形を「図形設定」で定義することが可能になる。複数の図形の１つは、マスク領域として、画像処理検査の対象から除外される領域とすることができる。これにより、検査を必要としない領域が検査対象から除外されるため、画像処理検査の効率が向上するとともに、検査精度の低下を防止することができる。
【０１２１】
また、たとえば、既存の画像検査装置に対して、座標値算出のための処理項目を追加し、領域設定後の計測処理を追加することができる。このような構成により、図形設定の処理項目そのものに対する変更を加えることなく、画像検査アプリケーションを追加することができる。その結果、画像検査処理に使用可能な画像検査アプリケーションの幅（選択肢）が拡張され、多様な検査を容易に実現することができる。
【０１２２】
以上より、領域の座標値の計算は、従来のエッジ計測のみに基づく算出に加えて、多様な計測に基づく算出が可能となった。また、検査領域は、ワークの形状に合わせて変更することが可能となった。たとえば、矩形の検査領域から円形その他の形状の領域に変更することができる。また、図形設定が計測処理とは独立して実現されるため、複数の領域を規定することが可能となった。
【０１２３】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１２４】
【図１】本発明の実施の形態に係る検査装置１００を用いた画像処理検査工程の概略を表わす図である。
【図２】検査装置１００によって実現される機能の構成を表わすブロック図である。
【図３】検査装置１００として機能するコンピュータシステム３００のハードウェア構成を表わすブロック図である。
【図４】ハードディスク３５０におけるデータおよびプログラムの格納の一態様を概念的に表わす図である。
【図５】検査装置１００として機能するコンピュータシステム３００のＣＰＵ３１０が実行する一連の動作の一部を表わすフローチャート（その１）である。
【図６】検査装置１００として機能するコンピュータシステム３００のＣＰＵ３１０が実行する一連の動作の一部を表わすフローチャート（その２）である。
【図７】検査装置１００として機能するコンピュータシステム３００のＣＰＵ３１０が実行する一連の動作の一部を表わすフローチャート（その３）である。
【図８】検査装置１００として機能するコンピュータシステム３００のＣＰＵ３１０が実行する一連の動作の一部を表わすフローチャート（その４）である。
【図９】検査装置１００として機能するコンピュータシステム３００のＣＰＵ３１０が実行する一連の動作の一部を表わすフローチャート（その５）である。
【図１０】画像検査処理のための設定をコンピュータシステム３００において行なう場合にモニタ３８０が表示する画面を表わす図（その１）である。
【図１１】画像検査処理のための設定をコンピュータシステム３００において行なう場合にモニタ３８０が表示する画面を表わす図（その２）である。
【図１２】画像検査処理のための設定をコンピュータシステム３００において行なう場合にモニタ３８０が表示する画面を表わす図（その３）である。
【図１３】画像検査処理のための設定をコンピュータシステム３００において行なう場合にモニタ３８０が表示する画面を表わす図（その４）である。
【図１４】画像検査処理のための設定をコンピュータシステム３００において行なう場合にモニタ３８０が表示する画面を表わす図（その５）である。
【図１５】画像検査処理のための設定をコンピュータシステム３００において行なう場合にモニタ３８０が表示する画面を表わす図（その６）である。
【図１６】画像検査処理のための設定をコンピュータシステム３００において行なう場合にモニタ３８０が表示する画面を表わす図（その７）である。
【図１７】画像検査処理のための設定をコンピュータシステム３００において行なう場合にモニタ３８０が表示する画面を表わす図（その８）である。
【図１８】画像検査処理のための設定をコンピュータシステム３００において行なう場合にモニタ３８０が表示する画面を表わす図（その９）である。
【図１９】画像検査処理のための設定をコンピュータシステム３００において行なう場合にモニタ３８０が表示する画面を表わす図（その１０）である。
【図２０】検査装置１００が実際に画像検査処理を実行した後の結果を表わす画面（その１）である。
【図２１】検査装置１００が実際に画像検査処理を実行した後の結果を表わす画面（その２）である。
【図２２】検査装置１００が実際に画像検査処理を実行した後の結果を表わす画面（その３）である。
【図２３】検査装置１００が実際に画像検査処理を実行した後の結果を表わす画面（その４）である。
【図２４】検査装置１００が実際に画像検査処理を実行した後の結果を表わす画面（その５）である。
【図２５】検査装置１００が実際に画像検査処理を実行した後の結果を表わす画面（その６）である。
【図２６】検査装置１００が実際に画像検査処理を実行した後の結果を表わす画面（その７）である。
【図２７】検査装置１００が実際に画像検査処理を実行した後の結果を表わす画面（その８）である。
【図２８】検査装置１００が実際に画像検査処理を実行した後の結果を表わす画面（その９）である。
【図２９】検査装置１００が実際に画像検査処理を実行した後の結果を表わす画面（その１０）である。
【図３０】検査装置１００が実際に画像検査処理を実行した後の結果を表わす画面（その１１）である。
【符号の説明】
【０１２５】
１００  検査装置、１０２  ケーブル、１１０  カメラ、１２０  搬送ライン、１３０  センサ、１４０，１４２，１４４  ワーク、１５０  ＰＬＣ、１５２  ケーブル、１６０  機器、３００  コンピュータシステム、３６２  ＣＤ−ＲＯＭ。
【図１】
0005056263.tif 000002
【図２】
0005056263.tif 000003
【図３】
0005056263.tif 000004
【図４】
0005056263.tif 000005
【図５】
0005056263.tif 000006
【図６】
0005056263.tif 000007
【図７】
0005056263.tif 000008
【図８】
0005056263.tif 000009
【図９】
0005056263.tif 000010
【図１０】
0005056263.tif 000011
【図１１】
0005056263.tif 000012
【図１２】
0005056263.tif 000013
【図１３】
0005056263.tif 000014
【図１４】
0005056263.tif 000015
【図１５】
0005056263.tif 000016
【図１６】
0005056263.tif 000017
【図１７】
0005056263.tif 000018
【図１８】
0005056263.tif 000019
【図１９】
0005056263.tif 000020
【図２０】
0005056263.tif 000021
【図２１】
0005056263.tif 000022
【図２２】
0005056263.tif 000023
【図２３】
0005056263.tif 000024
【図２４】
0005056263.tif 000025
【図２５】
0005056263.tif 000026
【図２６】
0005056263.tif 000027
【図２７】
0005056263.tif 000028
【図２８】
0005056263.tif 000029
【図２９】
0005056263.tif 000030
【図３０】
0005056263.tif 000031