JP2020169950A - 画像検査システム - Google Patents
画像検査システム Download PDFInfo
- Publication number
- JP2020169950A JP2020169950A JP2019072785A JP2019072785A JP2020169950A JP 2020169950 A JP2020169950 A JP 2020169950A JP 2019072785 A JP2019072785 A JP 2019072785A JP 2019072785 A JP2019072785 A JP 2019072785A JP 2020169950 A JP2020169950 A JP 2020169950A
- Authority
- JP
- Japan
- Prior art keywords
- image
- setting
- inspection
- application
- image pickup
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
Abstract
【課題】撮像装置から出力される画像を調整する設定アプリケーションと、画像に対する検査を行う検査アプリケーションとで調整を同時に実行可能にして調整時の操作を簡単にする。【解決手段】設定アプリケーションが起動されると、撮像装置が出力する画像の調整及び画像の取得を実行する。検査アプリケーションが起動されると、設定アプリケーション内に仮想的に設けられた中継器を介して撮像装置との通信を実行可能にする。【選択図】図7
Description
本発明は、例えばワーク等の検査対象物を検査する画像検査システムに関する。
従来より、検査対象物の三次元形状を計測し、計測結果に基づいて検査対象物の良否を判定するように構成された画像検査システムが知られている。特許文献1に開示された画像検査システムは、照明方向が異なる複数の輝度画像から検査対象物の表面の法線ベクトルを求め、この法線ベクトルに基づき検査対象物の表面形状を示す形状画像を生成する、いわゆるフォトメトリックステレオの原理を利用しており、フォトメトリックステレオの原理に基づいて生成された形状を示す検査画像を用いて検査対象物の良否を判定している。特許文献1では、検査画像にパターンサーチを実行して検査領域を設定した後、検査領域の位置補正を行い、その後、傷の有無を検査するようにしている。
このような画像検査システムは、例えばパーソナルコンピュータ等からなる制御装置と、制御装置に接続されたカメラとを備えており、制御装置がカメラを制御し、カメラで撮像した画像を制御装置が取得して各種画像処理や判定処理を行うように構成されているのが一般的である。このようなシステムにおいて適切な撮像をカメラで行うためにはカメラの露光時間やアナログゲインなどの設定値を状況や検査対象物に応じて変更する必要があり、これら各設定項目の設定値は制御装置から通信経路を経て変更することが可能になっている。ところが、各設定項目と、その設定値を保持するレジスタのアドレスとの対応関係は、カメラの機種毎、カメラのメーカー毎に異なっているのが通常であり、例えばカメラを別の機種に変更しようとすると、画像検査アプリケーションのプログラム修正やドライバソフトウェアの再インストールなど、多くの手間を伴うことになる。
そこで、近年、制御装置とカメラとの接続インターフェースの標準化規格としてGenICam規格が策定され、制御装置で構築する画像検査アプリケーションからカメラを制御したり、カメラで撮像した画像を取得するインターフェースについて、GenICam(登録商標)規格を満たしたカメラとアプリケーション間で標準化することが行われている。
ところで、GenICam規格などに対応したカメラは性能や処理能力が様々であることから、カメラから出力される画像を調整するための設定は、そのカメラに対応した設定アプリケーションによって実行可能にする方が、カメラの性能を引き出す点で好ましい。しかしながら、最終的な画像検査は、制御装置の画像検査アプリケーションで実行することになるので、画像検査アプリケーションにおいても調整を行いたい場合がある。
ところが、設定アプリケーションと画像検査アプリケーションの双方から同一のカメラに対して同時に接続して調整を行うことはできないので、実際の設定現場では、設定アプリケーションと画像検査アプリケーションを切り替えながら、各アプリケーションで調整を行わなければならず、操作が煩雑になる。
本発明は、かかる点に鑑みてなされたものであり、その目的とするところは、撮像装置から出力される画像を調整する設定アプリケーションと、画像に対する検査を行う検査アプリケーションとで調整を同時に実行可能にして調整時の操作を簡単にすることにある。
上記目的を達成するために、第1の発明は、検査対象物を撮像する画像検査装置用撮像装置と、当該撮像装置とネットワークを介して接続され、前記撮像装置の設定を行う設定装置とを備え、検査対象物の検査を行う画像検査システムであって、前記設定装置は、前記撮像装置から出力される画像を調整するための設定を行う設定アプリケーションと、前記撮像装置から出力される画像に対する検査を行う検査アプリケーションとが実行可能な処理部と、前記撮像装置と通信するための通信部とを備え、前記処理部は、前記設定アプリケーションが起動されると、使用者による操作に基づいて、前記通信部を介して前記撮像装置が出力する画像の調整及び画像の取得を実行する一方、前記検査アプリケーションが起動されると、使用者による操作に基づいて、前記設定アプリケーション内に仮想的に設けられた中継器を介して前記撮像装置との通信が実行可能であるとともに、取得した画像に対して検査を実行するように構成されていることを特徴とする。
この構成によれば、設定装置と撮像装置とがネットワークを介して接続されると、設定装置は通信部によって撮像装置と通信可能になる。実際の運用前に各種調整を行う際、設定装置の処理部で設定アプリケーションが起動されると、使用者による操作に基づいて、通信部を介して撮像装置が出力する画像の調整及び画像の取得が実行される。
一方、検査アプリケーションが起動されると、使用者による操作に基づいて、設定アプリケーション内に仮想的に設けられた中継器を介して撮像装置との通信が実行される。これにより、設定アプリケーションと検査アプリケーションを切り替えることなく、検査アプリケーション上の操作により、撮像装置が出力する画像の調整を実行することが可能になる。また、検査アプリケーションが設定アプリケーションの中継器を介して取得した画像に対して検査を実行することができる。
第2の発明は、前記処理部は、前記検査アプリケーションで受け付けた使用者による指示を、前記中継器を介して前記撮像装置に送信するように構成されていることを特徴とする。
すなわち、検査アプリケーションを起動した状態で、使用者が何らかの指示を検査アプリケーション上で行うと、当該指示が検査アプリケーションで受け付けられる。検査アプリケーションで受け付けられた使用者による指示は、中継器を介して撮像装置に送信されるので、検査アプリケーションを起動したまま、使用者による指示を撮像装置に送信して当該撮像装置の調整を実行することができる。
第3の発明は、前記処理部は、前記検査アプリケーションからの画像取得要求を、前記中継器を介して前記撮像装置に送信するように構成され、前記撮像装置は、前記中継器を介して送信された前記画像取得要求に基づいて画像を出力するように構成されていることを特徴とする。
この構成によれば、検査アプリケーションの画像取得要求が中継器を介して撮像装置に送信されると、撮像装置は画像取得要求に基づいて画像を出力し、この出力された画像は中継器を介して検査アプリケーションで取得され、検査を実行することができる。
第4の発明は、前記処理部は、前記撮像装置から出力された画像を受け付け、当該画像を、前記中継器を介して前記検査アプリケーションに提供するように構成されていることを特徴とする。
この構成によれば、撮像装置から出力された画像が処理部で受け付けられると、当該画像が中継器を介して検査アプリケーションに提供され、検査アプリケーションで調整や検査を実行することができる。
第5の発明は、前記処理部は、前記撮像装置から出力されかつ前記設定アプリケーション上に表示可能な画像を、前記中継器を介して前記検査アプリケーションに提供するように構成されていることを特徴とする。
この構成によれば、設定アプリケーション上に表示可能な画像が中継器を介して検査アプリケーションに提供され、検査アプリケーションで調整や検査を実行することができる。
第6の発明は、前記処理部は、前記検査アプリケーションが起動されると、前記設定アプリケーションを起動して前記検査アプリケーションを前記中継器に接続するように構成されていることを特徴とする。
この構成によれば、使用者が検査アプリケーションを起動すると、設定アプリケーションが起動されて検査アプリケーションと中継器との接続が完了するので、操作性が向上する。
第7の発明は、前記検査アプリケーションは、前記撮像装置から出力される画像を調整可能に構成されていることを特徴とする。
この構成によれば、撮像装置から出力される画像を設定アプリケーションからだけでなく、検査アプリケーションからも調整することができる。
本発明によれば、検査アプリケーションが起動されると、使用者による操作に基づいて、設定アプリケーション内に仮想的に設けられた中継器を介して撮像装置との通信を実行することができるので、設定アプリケーションと検査アプリケーションとを切り替えることなく、両アプリケーションで調整を同時に実行することができ、調整時の操作を簡単にすることができる。
以下、本発明の実施形態を図面に基づいて詳細に説明する。尚、以下の好ましい実施形態の説明は、本質的に例示に過ぎず、本発明、その適用物或いはその用途を制限することを意図するものではない。
(実施形態1)
図1は、本発明の実施形態に係る画像検査システム1の運用状態を模式的に示すものである。画像検査システム1は、ワークW(検査対象物)を撮像した画像を用いてワークWの欠陥の有無を検査するように構成されており、ワークWを照明する照明装置2と、ワークWを撮像する画像検査装置用撮像装置3と、撮像装置3の設定を行うパーソナルコンピュータ(PC)等で構成された設定装置4とを備えている。設定装置4は、表示部5と、キーボード6及びマウス7とを備えている。表示部5は、たとえば有機ELディスプレイや液晶ディスプレイ等からなるものであり、撮像装置3で撮像された画像、撮像装置3で撮像された画像を各種処理した処理後の画像、各種ユーザーインターフェース(GUI)等を表示することができる部分である。各種ユーザーインターフェース等は、設定装置4の本体部で生成される。表示部5の横方向を当該表示部5のX方向とし、表示部5の縦方向を当該表示部5のY方向とすることができる。
図1は、本発明の実施形態に係る画像検査システム1の運用状態を模式的に示すものである。画像検査システム1は、ワークW(検査対象物)を撮像した画像を用いてワークWの欠陥の有無を検査するように構成されており、ワークWを照明する照明装置2と、ワークWを撮像する画像検査装置用撮像装置3と、撮像装置3の設定を行うパーソナルコンピュータ(PC)等で構成された設定装置4とを備えている。設定装置4は、表示部5と、キーボード6及びマウス7とを備えている。表示部5は、たとえば有機ELディスプレイや液晶ディスプレイ等からなるものであり、撮像装置3で撮像された画像、撮像装置3で撮像された画像を各種処理した処理後の画像、各種ユーザーインターフェース(GUI)等を表示することができる部分である。各種ユーザーインターフェース等は、設定装置4の本体部で生成される。表示部5の横方向を当該表示部5のX方向とし、表示部5の縦方向を当該表示部5のY方向とすることができる。
また、キーボード6及びマウス7は、従来から周知のコンピュータ操作用の機器(操作手段)である。キーボード6またはマウス7の操作により、各種情報を設定装置4に入力することができるとともに、表示部5に表示されている画像等を選択することができる。尚、キーボード6及びマウス7の代わり、またはキーボード6及びマウス7に加えて、たとえば、音声入力機器、感圧式タッチ操作パネル等のコンピュータ操作用の機器を使用することもできる。
たとえば、設定装置4には、プログラマブル・ロジック・コントローラ(PLC)等からなる外部制御機器8が接続されている。この外部制御機器8は、画像検査システム1の一部を構成するものとしてもよい。また、外部制御機器8は、画像検査システム1の構成要素としなくてもよい。
図1では、複数のワークWが搬送用ベルトコンベアBの上面に載置された状態で図1における白抜き矢印で示す方向へ搬送されている場合を示している。外部制御機器8は、搬送用ベルトコンベアB及び画像検査システム1をシーケンス制御するための機器であり、汎用のPLCを利用することができる。
尚、この実施形態の説明では、搬送用ベルトコンベアBによるワークWの搬送方向(ワークWの移動方向)をY方向とし、搬送用ベルトコンベアBの平面視でY方向に直交する方向をX方向とし、X方向及びY方向に直交する方向(搬送用ベルトコンベアBの上面に直交する方向)をZ方向と定義するが、これは説明の便宜を図るために定義するだけである。
画像検査システム1は、ワークWの外観検査、即ちワークWの表面の傷、汚れ、打痕等の欠陥の有無を検査する場合に使用することができるものであり、この検査結果からワークWの良否判定を行うこともできる。画像検査システム1は、その運用時において、外部制御機器8から信号線を介して、欠陥検査(良否判定検査)の開始タイミングを規定する検査開始トリガ信号を受信する。画像検査システム1は、この検査開始トリガ信号に基づいてワークWの撮像及び照明等を行って所定の処理後、検査用画像を得る。その後、検査用画像に基づいて外観検査し、その検査結果は、信号線を介して外部制御機器8へ送信される。このように、画像検査システム1の運用時には、画像検査システム1と外部制御機器8との間で、信号線を介して検査開始トリガ信号の入力と検査結果の出力が繰り返し行われる。なお、検査開始トリガ信号の入力や検査結果の出力は、上述したように、画像検査システム1と外部制御機器8との間の信号線を介して行ってもよいし、それ以外の図示しない信号線を介して行ってもよい。例えば、ワークWの到着を検知するためのセンサと画像検査システム1とを直接的に接続し、そのセンサから画像検査システム1へ検査開始トリガ信号を入力するようにしてもよい。また、画像検査システム1は、トリガ信号を内部で自動生成して検査を行うように構成してもよい。
また、画像検査システム1は、専用のハードウェアで構成する他、汎用の機器にソフトウェアをインストールしたもの、たとえば汎用もしくは専用のコンピュータに画像検査プログラムをインストールした構成としてもよい。たとえば、グラフィックボードなどのハードウェアを画像検査処理に特化させた専用のコンピュータに、画像検査プログラムをインストールした構成とすることもできる。
(照明装置2の構成)
照明装置2は、発光部2aと、発光部2aを制御する照明制御部2bとを備えている。発光部2aと照明制御部2bとは、別体であってもよいし、一体化されたものであってもよい。また、照明制御部2bは、設定装置4に組み込まれていてもよい。発光部2aは、たとえば発光ダイオード、液晶パネルを用いたプロジェクタ、有機ELパネル、デジタルマイクロミラーデバイス(DMD)等で構成することができ、照明部と呼ぶこともできる。発光ダイオード、液晶パネル、有機ELパネル、DMDについては図示しないが、従来から周知の構造のものを用いることができる。照明装置2は、設定装置4に対して信号線100aを介して接続されており、撮像装置3及び設定装置4から離して設置することができるようになっている。
照明装置2は、発光部2aと、発光部2aを制御する照明制御部2bとを備えている。発光部2aと照明制御部2bとは、別体であってもよいし、一体化されたものであってもよい。また、照明制御部2bは、設定装置4に組み込まれていてもよい。発光部2aは、たとえば発光ダイオード、液晶パネルを用いたプロジェクタ、有機ELパネル、デジタルマイクロミラーデバイス(DMD)等で構成することができ、照明部と呼ぶこともできる。発光ダイオード、液晶パネル、有機ELパネル、DMDについては図示しないが、従来から周知の構造のものを用いることができる。照明装置2は、設定装置4に対して信号線100aを介して接続されており、撮像装置3及び設定装置4から離して設置することができるようになっている。
実施形態1の照明装置2は、均一面発光を行うことができるように構成される。また、照明装置2は、デフレクトメトリ処理を実現可能な照明を行うことができるように構成されており、従って、周期的な照度分布を有するパターン光をワークWに照射する発光部2aを有している。すなわち、照明装置2は、複数の異なるパターン光をワークWに対して順次照射するパターン光照明を実行するパターン光照明部とすることができる。以下、デフレクトメトリ処理を行うことによって検査用画像を生成する場合に用いる照明装置2について説明する。
複数の発光ダイオードを用いる場合には、複数の発光ダイオードをドットマトリクス状に配置して電流値制御によって周期的な照度分布を有するパターン光を生成することができる。たとえば、明暗がY方向に変化するY方向パターン光の場合、縞模様がY方向に繰り返されるパターン光という表現とすることもでき、このY方向パターン光を生成する際には、照度分布の位相をY方向にシフトさせることにより、照度分布の位相が異なった複数のY方向パターン光を生成することができる。Y方向パターン光の照度分布をsin波形に近似した波形で表すこともでき、この場合、たとえば位相を90゜ずつ変化させて、0゜の場合のY方向パターン光、90゜の場合のY方向パターン光、180゜の場合のY方向パターン光、270゜の場合のY方向パターン光を生成することができる。
また、明暗がX方向に変化するX方向パターン光の場合、縞模様がX方向に繰り返されるパターン光という表現とすることもでき、このX方向パターン光を生成する際には、照度分布の位相をX方向にシフトさせることにより、照度分布の位相が異なった複数のX方向パターン光を生成することができる。X方向パターン光の照度分布をsin波形に近似した波形で表すこともでき、この場合、たとえば位相を90゜ずつ変化させて、0゜の場合のX方向パターン光、90゜の場合のX方向パターン光、180゜の場合のX方向パターン光、270゜の場合のX方向パターン光を生成することができる。つまり、照明装置2は、異なる照明態様でワークWを照明することができる。デフレクトメトリ処理を行う場合、ワークWに照射するパターン光はsin波形だけでなく、三角波等のパターン光でも可能である。
尚、全ての発光ダイオードに同じ電流値の電流を流すことで照度分布が面内で均一な光を照射することもできる。全ての発光ダイオードに流す電流値を同じにして変化させていくと、暗い面発光状態から明るい面発光状態まで発光状態を変化させることができる。
また、液晶パネル及び有機ELパネルの場合は、各パネルを制御することで各パネルから照射される光が周期的な照度分布を有するパターン光となるようにすることができる。デジタルマイクロミラーデバイスの場合は、内蔵された微小鏡面を制御することで周期的な照度分布を有するパターン光を生成して照射することができる。尚、照明装置2の構成は上述したものに限られるものではなく、周期的な照度分布を有するパターン光を生成することができる機器や装置等であれば使用することができる。
また、後述するが、フォトメトリックステレオ法を利用して検査用画像を生成する場合に用いる照明装置2は、少なくとも3以上の異なる方向から照明を個別に照射可能な照明装置を用いることができる。また、照明装置2は、マルチスペクトル照明が可能に構成された照明装置であってもよく、照明装置2の構成は特に限定されるものではない。
(撮像装置3の構成)
撮像装置3は、カメラ31と、集光系光学系32と、撮像制御部33とを有している。撮像装置3は、設定装置4に対して信号線100bを介して接続されており、照明装置2及び設定装置4から離して設置することができるようになっている。
撮像装置3は、カメラ31と、集光系光学系32と、撮像制御部33とを有している。撮像装置3は、設定装置4に対して信号線100bを介して接続されており、照明装置2及び設定装置4から離して設置することができるようになっている。
カメラ31は、集光系光学系32を通して得られた光の強度を電気信号に変換するCCDやCMOS等の撮像素子からなるイメージセンサを有している。撮像制御部33は、記憶装置や信号処理装置を有するとともに、カメラ31の露光開始及び終了の制御、露光時間の制御、アナログゲインの調整等を行う部分である。内部の論理回路によってイメージセンサの駆動や、画像データの転送を制御することができる。また、撮像制御部33によって各種画像処理、フィルター処理等を行うことができるようになっており、撮像装置3は、フィルター処理機能を保有した装置である。
集光系光学系32は、外部から入射する光を集光するための光学系であり、典型的には一以上の光学レンズを有している。また、集光系光学系32は、オートフォーカスを実行可能に構成されている。照明装置2からワークWの表面に向けて照射された光が該ワークWの表面で反射して集光系光学系32に入射するように、撮像装置3と照明装置2との位置関係を設定することができる。ワークWが透明フィルムやシートのように透光性を有する部材である場合、照明装置2からワークWの表面に向けて照射されたパターン光が該ワークWを透過して撮像装置3の集光系光学系32に入射するように、撮像装置3と照明装置2との位置関係を設定することができる。上記したいずれの場合も、ワークWの表面で反射した正反射成分及び拡散反射成分が撮像装置3の集光系光学系32に入射するように、撮像装置3と照明装置2とを配置する。また、撮像装置3には、受光素子がY方向に直線状に配置されたラインカメラを用いることもできるが、ラインカメラではなく、エリアカメラ(受光素子がX方向とY方向に並ぶように配置されたカメラ)を用いることもでき、このエリアカメラの場合は、同軸照明という形態も可能である。
(実施形態2)
図2は、本発明の実施形態2に係る画像検査システムの概略構成及び運用状態を模式的に示す図である。実施形態2では、撮像制御部33が撮像素子を有するカメラ31及び集光系光学系32から分離しており、この撮像制御部33に照明制御部2bが取り込まれて一体化されている。撮像制御部33は、設定装置4に対して信号線100bを介して接続されている。撮像制御部33と照明制御部2bとは別体とすることもできる。
図2は、本発明の実施形態2に係る画像検査システムの概略構成及び運用状態を模式的に示す図である。実施形態2では、撮像制御部33が撮像素子を有するカメラ31及び集光系光学系32から分離しており、この撮像制御部33に照明制御部2bが取り込まれて一体化されている。撮像制御部33は、設定装置4に対して信号線100bを介して接続されている。撮像制御部33と照明制御部2bとは別体とすることもできる。
(実施形態3)
図3は、本発明の実施形態3に係る画像検査システムの概略構成及び運用状態を模式的に示す図である。実施形態3では、撮像制御部33に照明制御部2bが取り込まれて一体化されるとともに、撮像制御部33に表示部5及びマウス7が接続されている。設定装置4は、たとえばノートパソコン等で構成されており、撮像制御部33に接続されている。設定装置4は、キーボード6を有している。また、設定装置4には、マウスを接続してもよい。設定装置4が生成した各種ユーザーインターフェース等は、撮像制御部33を介して表示部5に表示することができる。
図3は、本発明の実施形態3に係る画像検査システムの概略構成及び運用状態を模式的に示す図である。実施形態3では、撮像制御部33に照明制御部2bが取り込まれて一体化されるとともに、撮像制御部33に表示部5及びマウス7が接続されている。設定装置4は、たとえばノートパソコン等で構成されており、撮像制御部33に接続されている。設定装置4は、キーボード6を有している。また、設定装置4には、マウスを接続してもよい。設定装置4が生成した各種ユーザーインターフェース等は、撮像制御部33を介して表示部5に表示することができる。
(実施形態4)
図4は、本発明の実施形態4に係る画像検査システムの概略構成及び運用状態を模式的に示す図である。実施形態4では、照明装置2と撮像装置3とが一体化されており、照明制御部2bと撮像制御部33とも一体化されている。尚、実施形態2〜4において、実施形態1と同じ部分には同じ符号を付して説明を省略している。
図4は、本発明の実施形態4に係る画像検査システムの概略構成及び運用状態を模式的に示す図である。実施形態4では、照明装置2と撮像装置3とが一体化されており、照明制御部2bと撮像制御部33とも一体化されている。尚、実施形態2〜4において、実施形態1と同じ部分には同じ符号を付して説明を省略している。
(デフレクトメトリ処理)
実施形態1〜4では、撮像装置3が撮像した複数の輝度画像からデフレクトメトリの原理に基づいてワークWの表面の位相データを生成し、当該位相データに基づいてワークWの形状を示す検査用画像を生成するデフレクトメトリ処理を行うように構成されている。
実施形態1〜4では、撮像装置3が撮像した複数の輝度画像からデフレクトメトリの原理に基づいてワークWの表面の位相データを生成し、当該位相データに基づいてワークWの形状を示す検査用画像を生成するデフレクトメトリ処理を行うように構成されている。
以下、図5に示すフローチャートに従って検査用画像の生成について詳細に説明する。フローチャートのステップSA1では、照明装置2が所定の照明条件に従ってパターン光を生成し、ワークWを照明する。このときの照明条件は、位相が0゜の場合のY方向パターン光、90゜の場合のY方向パターン光、180゜の場合のY方向パターン光、270゜の場合のY方向パターン光、0゜の場合のX方向パターン光、90゜の場合のX方向パターン光、180゜の場合のX方向パターン光、270゜の場合のX方向パターン光を順番に生成する照明条件とすることができる。従って、照明装置2は、合計8種類のパターン光(X方向で4種類、Y方向で4種類)を生成してワークWに順次照射する。パターン光が照射される都度、撮像装置3がワークWを撮像する。撮像装置3による撮像の際、パターン光の照射回数が8回であることから、8つの輝度画像が得られる。尚、ワークWの形状等によっては、X方向パターン光のみ、またはY方向パターン光のみ照射するようにしてもよい。また、パターン光の数は3つであってもよい。
その後、ステップSA2に進み、ステップSA1で得られた8つの輝度画像に対してデフレクトメトリ処理を行う。パターン光が照射されたワークWを撮像することで、得られた輝度画像の各画素値には、正反射成分と、拡散反射成分(+環境成分)とが含まれることになる。パターン光の照度分布の位相をX方向に90゜(π/2)ずつシフトさせて4回撮像しているので、各画素値はX方向パターン光の照射によって4種類得られる。拡散反射成分、正反射成分、正反射角度(位相)は、位相データであり、周知の計算式により算出することができる。
同様に、パターン光の照度分布の位相をY方向に90゜(π/2)ずつシフトさせて4回撮像しているので、各画素値はY方向パターン光の照射によって4種類得られる。Y方向についても同様に拡散反射成分、正反射成分、正反射角度(位相)を算出することができる。
たとえば、正反射成分画像は、逆相同士の差分により、拡散成分を排除することで得ることができる。X方向とY方向でそれぞれ得られ、それらを合成することで正反射成分画像となる。また、正反射角度は、π/2ずれの正反射成分により、tanθ=sinθ/cosθとして角度を算出することで得られる。また、平均画像は、拡散成分と環境成分とを含んでおり、逆相同士の加算により、正反射成分を排除することで得られる。
ステップSA3では拡散反射成分画像に対してコントラスト補正を行う。また、ステップSA4では正反射成分画像に対してコントラスト補正を行う。各コントラスト補正は、線形補正とすることができる。たとえば、ROIの平均が中央値になるように補正する。8ビットの場合は128レベルを中央値とすればよい。これによって、補正後の拡散成分、補正後の正反射成分が得られる。
また、ステップSA5では位相成分について参照位相との差分を取る。このステップSA5では、参照平面の位相に対して差分を取得する。たとえば、使用者が、参照平面として球面状、円筒状、平面状等を指定し、これらとの差分を取得するようにする。あるいは、自由曲面で抽出させてもよい。X方向について補正後の位相(差分)が得られ、Y方向についても補正後の位相が得られる。拡散反射成分画像、正反射成分画像、参照位相差分画像は出力画像とすることができる。
ステップSA6では、ステップSA5で得られた参照位相差分画像に基づいて階層化画像と深さ輪郭画像を得る。階層化画像は、1/2縮小を繰り返した画像である。これにより、階層化された位相の画像がX方向とY方向でそれぞれ得られる。
一方、深さ輪郭画像とは、位相差分が大きい部分を強調した出力画像であり、曲率とは異なる概念である。深さ輪郭画像は、形状積み上げによって得られる形状画像に比べて高速に得られ、ワークWの線キズが極めて見やすく、しかも、輪郭の抽出がし易い等の利点がある。
次に、ステップSA7では、階層化された位相の画像に対して形状積み上げを行って形状画像を生成する。X方向とY方向の正反射角度に対し、Gauss−Jacobi法などによる積み上げ計算を行うことで、形状画像を得ることができる。形状画像は出力画像となる。
一般的には、unwrappingをしてから、三角測距などによって形状を復元する例が多いところ、本実施形態においては、unwappingを回避し、局所的な微分値をGauss−Jacobi法で積み上げ計算することで、三角測距によらずに形状を復元している。形状復元方法は、既知の方法が適宜利用できる。好ましくは、三角測距を用いない方法である。また、縮小画像を多段に持つ、階層型方法とすることもできる。また、縮小画像と通常画像との差分を持つ方法とすることもできる。
さらに、パラメータとして特徴サイズを設定することもできる。特徴サイズとは、検査の目的や種別に応じた検出対象の傷のサイズを設定するためのパラメータである。例えば、特徴サイズのパラメータ値が1のときに一番細かい傷が検出でき、この値を上げていくと大きな傷が検出できるようにする。これにより、特徴サイズを大きくすると、より大きな傷が検出し易い状態となり、ワークW表面の傷や凸凹が明瞭となる。
ステップSA8では簡易欠陥抽出を行う。すなわち、ワークWの線キズ(欠陥)を検査し易い画像、ワークWの汚れ(欠陥)を検査し易い画像、ワークWの打痕(欠陥)を検査し易い画像をそれぞれ生成した後、画像に現れている欠陥を欠陥抽出画像に表示させる。欠陥抽出画像は、各画像に現れている欠陥を抽出して表示することができる画像であり、抽出した欠陥を1つの画像に合成して表示させることができるので合成欠陥画像と呼ぶこともできる。
たとえば、正反射成分画像は、正反射を鈍らせる汚れや、形状変化はないものの正反射の鈍いキズ、あるいは形状変化によって正反射が返ってこないキズ等の確認をし易い画像である。拡散反射画像は、ワークWの表面のテクスチャの状態(具体的には印刷物の文字や黒ずんだ汚れ等)を確認し易い画像である。形状画像は、特徴サイズに応じて周囲画素を見ながら位相の変化を積み上げた画像である。ここで、形状画像の特徴サイズを大きく設定すると、形状変化のなかでも比較的浅くて面積の広い凹凸を捉えることができる。一方、形状画像の特徴サイズを小さく設定すると、線キズや面積の小さなキズを捉えることができる。また、形状画像に現れにくい欠陥(たとえば細いキズや深い傷)は、正反射成分画像に現れやすい傾向がある。また、深さ輪郭画像は、基準となる平面を算出し、この基準平面からのずれを画像化している。深さ輪郭画像からは、線キズや面積の小さなキズを捉えることができる。
ステップSA8で簡易欠陥抽出を行った後に抽出された欠陥が表示された欠陥抽出画像を出力する。
(実施形態5)
図6は、本発明の実施形態5に係る画像検査システムの概略構成及び運用状態を模式的に示す図である。上記実施形態1〜4は、デフレクトメトリの原理に基づいて検査用画像を生成する形態であるのに対し、実施形態5では、フォトメトリックステレオ法を利用して検査用画像を生成するように構成されている。
図6は、本発明の実施形態5に係る画像検査システムの概略構成及び運用状態を模式的に示す図である。上記実施形態1〜4は、デフレクトメトリの原理に基づいて検査用画像を生成する形態であるのに対し、実施形態5では、フォトメトリックステレオ法を利用して検査用画像を生成するように構成されている。
以下、フォトメトリックステレオ法を利用して検査用画像を生成する具体的な方法について、図6を参照しながら、実施形態1と同じ部分には同じ符合を付して説明を省略し、異なる部分について詳細に説明する。
実施形態5に係る画像検査システム1は、たとえば特開2015−232486号公報に開示されている画像検査システムと同様に構成することができる。すなわち、画像検査システム1は、ワークWを一定の方向から撮像する撮像装置3と、ワークWを異なる三以上の照明方向から照明するための照明装置200とを備えるとともに、実施形態1と同様な表示部5、キーボード6及びマウス7を少なくとも備えている。
照明装置200は、ワークWに対して、互いに異なる方向から光を照射するように構成されており、第1〜第4発光部201〜204と、第1〜第4発光部201〜204を制御する照明制御部205とを有している。この照明装置200は、ワークWに対して互いに異なる方向から光を照射する複数方向照明を実行する部分である。第1〜第4発光部201〜204は互いに間隔をあけてワークWを取り囲むように配置されている。第1〜第4発光部201〜204は、発光ダイオード、白熱球、蛍光灯等を利用することができる。また、第1〜第4発光部201〜204は別体であってもよいし、一体化されていてもよい。
この実施形態では、第1〜第4発光部201〜204を順次点灯させ、第1〜第4発光部201〜204のいずれかが点灯した時点で、撮像装置3がワークWを撮像する。たとえば、照明装置200が1回目の照明トリガ信号を受信すると、照明制御部205が第1発光部201のみ点灯させる。このとき撮像装置3は撮像トリガ信号を受信して光が照射されるタイミングでワークWを撮像する。照明装置200が2回目の照明トリガ信号を受信すると、照明制御部205が第2発光部202のみ点灯させ、このとき撮像装置3はワークWを撮像する。このようにして4枚の輝度画像を得ることができる。なお、照明の数は4つに限られるものではなく、3つ以上で、かつ、互いに異なる方向からワークWを照明することができれば任意の数にすることができる。
そして、撮像装置3によって撮像された複数の輝度画像同士で対応関係にある画素毎の画素値を用いて、各画素のワークWの表面に対する法線ベクトルを算出する。算出された各画素の法線ベクトルに対してX方向及びY方向に微分処理を施し、ワークWの表面の傾きの輪郭を示す輪郭画像を生成する。また、算出された各画素の法線ベクトルから、法線ベクトルと同個数の各画素のアルベドを算出し、アルベドから、ワークWの表面の傾き状態を除去した模様を示すテクスチャ描出画像を生成する。この手法は周知の手法であることから詳細な説明は省略する。複数の輝度画像をフォトメトリックステレオの原理に基づいて合成することで、ワークWの形状を示す形状画像を生成することができる。
(マルチスペクトル照明)
他の実施形態として、マルチスペクトル照明が可能な照明装置2であってもよい。マルチスペクトル照明とは、波長が異なる光を、タイミングをずらしてワークWに照射することであり、印刷物(検査対象物)の色むらや汚れ等を検査するのに適している。たとえば、黄色、青色、赤色を順番にワークWに照射可能となるように、照明装置2を構成することができ、具体的には、多数色のLEDを有する照明装置2としてもよいし、液晶パネルや有機ELパネル等で照明装置2を構成してもよい。
他の実施形態として、マルチスペクトル照明が可能な照明装置2であってもよい。マルチスペクトル照明とは、波長が異なる光を、タイミングをずらしてワークWに照射することであり、印刷物(検査対象物)の色むらや汚れ等を検査するのに適している。たとえば、黄色、青色、赤色を順番にワークWに照射可能となるように、照明装置2を構成することができ、具体的には、多数色のLEDを有する照明装置2としてもよいし、液晶パネルや有機ELパネル等で照明装置2を構成してもよい。
撮像装置3は、光が照射されるタイミングでワークWを撮像して複数の輝度画像を得る。そして、複数の輝度画像を合成して検査用画像を得ることができる。これをマルチスペクトルイメージングと呼ぶ。複数の輝度画像をマルチスペクトルイメージングにより合成することでワークWの形状を示す形状画像を生成することができる。尚、照射する光には紫外線や赤外線も含むことができる。
(カメラと設定アプリケーションとの接続インターフェース)
カメラ31は、GenICam規格に対応したGenICam規格対応カメラである。GenICam規格は、PCアプリケーションとカメラ31との接続インターフェースを標準化する規格であり、図7に示すように、主に設定装置4の本体部となるパーソナルコンピュータ上に構築する設定アプリケーション40からカメラ31を制御したり、カメラ31で撮像された画像を設定装置4の設定アプリケーション40で取得するインターフェースを標準化したものである。尚、詳細は後述するが、本例では、設定アプリケーション40と画像検査アプリケーション400とを処理部44において実行可能に構成されている。しかし、GenICam規格では、複数のアプリケーション、即ち設定アプリケーション40及び画像検査アプリケーション400を撮像装置3に対して同時に接続することができない仕様になっている。
カメラ31は、GenICam規格に対応したGenICam規格対応カメラである。GenICam規格は、PCアプリケーションとカメラ31との接続インターフェースを標準化する規格であり、図7に示すように、主に設定装置4の本体部となるパーソナルコンピュータ上に構築する設定アプリケーション40からカメラ31を制御したり、カメラ31で撮像された画像を設定装置4の設定アプリケーション40で取得するインターフェースを標準化したものである。尚、詳細は後述するが、本例では、設定アプリケーション40と画像検査アプリケーション400とを処理部44において実行可能に構成されている。しかし、GenICam規格では、複数のアプリケーション、即ち設定アプリケーション40及び画像検査アプリケーション400を撮像装置3に対して同時に接続することができない仕様になっている。
撮像装置3と設定装置4の設定アプリケーション40の双方がGenICam規格に対応していれば、カメラ31と、設定装置4の設定アプリケーション40とを接続することが可能になっている。設定アプリケーション40は、パーソナルコンピュータにインストールされたソフトウェアで構成される。尚、この実施形態では、カメラ31及び設定装置4が標準化規格としてGenICam規格に対応している場合について説明するが、標準化規格はGenICam規格に限られるものではなく、他の標準化規格であってもよい。
設定アプリケーション40を階層構造に分解した場合を想定すると、GenICam層41は、設定アプリケーション40における実際に画像の調整等を行う上位の階層(調整部40A)と、具体的なネットワーク通信規格に基づき制御を行う階層42との間に位置する中間層の位置付けとなる。GenICam層41は、大きく2つの部分、GenApi41a及びGenTL(TL:Transport Layer)41bに分類することができる。GenApi41aは、カメラ31の設定項目と、カメラ31内部のレジスタアドレスの変換を行う部分である。このGenApi41aにより、設定アプリケーション40からはカメラ31の具体的なアドレスを指定することなく、抽象的に、露光時間であれば、「ExposureTime」、アナログゲインであれば「AnalogGain」といった文字列を引数に設定項目を指定し、カメラ31と接続した際に、カメラ31から取得したDeviceXML(詳細は後述する)と呼ばれるファイルを解析することで、その文字列(Featureと呼ばれる)に対応したレジスタアドレスを割り出すことができる。
GenTL41bは、設定アプリケーション40とカメラ31との間のデータの転送を制御するインターフェース(API)を規定したものであり、具体的には、カメラ31のレジスタへの書き込み、読み出しAPIの仕様及びカメラ31から転送した画像データの設定アプリケーション40の上位の層への受け渡しを行うAPIの仕様を規定したものである。
設定アプリケーション40とカメラ31を接続する物理的な規格は、高速ネットワークを使用した規格であればよく、例えば、Ethernetケーブル31aを利用したGigE Vision規格3Aと、USB3.0対応ケーブル31bを利用したUSB3Vision規格3Bとがある。よって、撮像装置3と設定装置4とは、ネットワークを介して接続されることになるが、このネットワークは、高速ネットワークケーブルを利用した有線であってもよいし、無線であってもよい。また、ネットワークは、Ethernetケーブル31aやUSB3.0対応ケーブル31b以外のケーブルを用いたネットワークであってもよく、特に限定されるものではない。
GenICam規格は、物理的な通信規格として使用するものを具体的に特定しておらず、GenTL41bという形で抽象化した仕様を規定しているに留まっている。このGenTL41bの下位の階層42として、GigE Vision規格3AやUSB3Vision規格3Bといった、具体的な通信ネットワークを用いて通信規格が規定されている。具体的な通信規格は、GigE Vision規格3AやUSB3Vision規格3Bに限られるものではなく、GenICam規格に対応していればよい。図7では、GigE Vision規格3A及びUSB3Vision規格3Bの概念を説明するために、各規格に対応したカメラ31、31を設定装置4に接続した状態を示しているが、一方のカメラ31のみを設定装置4に接続して使用することができる。
GenICam規格対応カメラ31には、DeviceXMLと呼ばれるファイル(DeviceXMLファイル)31cが記憶されている。DeviceXMLファイル31cは、カメラ31に内蔵された記憶装置(内部メモリ)に記憶されている。GenICam規格に対応した設定アプリケーション40では、設定アプリケーション40による調整及び設定対象であるカメラ31と接続する際に、そのカメラ31からDeviceXMLファイル31cを読み込む。DeviceXMLファイル31cの読み込みは、たとえば、カメラ31からDeviceXMLファイル31cをダウンロードする方法がある。ダウンロードされたDeviceXMLファイル31cはGenApi41aで保持される。DeviceXMLファイル31cのダウンロードは、設定アプリケーション40側からの要求によって行うことや、カメラ31との接続時に自動的に行うことができ、このDeviceXMLファイル31cのダウンロードにより、設定装置4はDeviceXMLファイル31cを取得できる。また、接続するカメラ31からダウンロードせずに、そのカメラ31に対応したDeviceXMLファイル31cを別の手段(例えばウェブサイトからのダウンロード)により入手して、接続時にGenApi41aに対して指定することも可能である。
DeviceXMLファイル31cには、カメラ31の内部に保持する全ての設定項目と、各設定項目の設定値が格納されるレジスタアドレス(レジスタ情報)とが関連付けられて記述されている。設定項目はFeatureと呼ばれ、各Featureには、個々のFeatureを特定するための文字列が割り当てられている。各Featureのノードには、具体的なレジスタアドレスが記載されたノードへの参照が記載される。レジスタ情報には、レジスタアドレスや、レジスタを特定する文字列も含まれる。
DeviceXMLファイル31cにおいて、たとえば、「ExposureTime」(露光時間設定)という名称のFeatureがあり、その属性が「ExposureTimeReg」というレジスタアドレスを参照するように指示されており、具体的なアドレスとして、ある値が記載されていたとする。カメラ31が異なれば、アドレスが異なる値になることがあるが、「ExposureTime」というFeatureの名称については共通である。このように、多くのカメラ31で共通した設定項目として存在するものを統一した名称で管理することで、設定アプリケーション40においてはカメラ31の機種の違いやメーカーの違いを意識することなく、カメラ31を設定、制御することが可能になる。
上述したように、GenApi41aの階層では、DeviceXMLファイル31cの記載内容を解析することで、上位の階層である設定アプリケーション40から引数として渡されたFeature文字列をレジスタのアドレスに変換する。たとえば、「ExposureTime」というFeatureに対応したレジスタにある値(値:100.5)を書き込む場合、WriteRegister(アドレスの値,100.5)といったように、アドレスの値と、書き込む値との2つを引数とした関数を実行することで、GigE Vision規格3AまたはUSB3Vision規格3Bなど、物理通信規格を経由してカメラ31のレジスタの値を設定することができる。
尚、DeviceXMLファイル31cには、各メーカーで共通のFeatureとして盛り込むべきものが規定されているが、それ以外にベンダー独自のFeatureを定義することも可能である。独自性の高い機能を有しているカメラ31の場合、専用のFeatureを通じてカメラ31にアクセスすることで、汎用的なカメラに存在しない特殊な機能を利用することも可能である。
(設定装置4の構成)
図7に示すように、設定装置4は、通信部43と処理部44とを備えている。処理部44は、前記設定アプリケーション40と、撮像装置3から出力される画像に対する検査を行う画像検査アプリケーション400とを実行可能に構成されている。使用者から設定アプリケーション40の起動操作がなされると、処理部44は設定アプリケーション40を起動して画像の調整等が行える状態にする。また、使用者から画像検査アプリケーション400の起動操作がなされると、処理部44は画像検査アプリケーション400を起動して画像の検査等が行える状態にする。
図7に示すように、設定装置4は、通信部43と処理部44とを備えている。処理部44は、前記設定アプリケーション40と、撮像装置3から出力される画像に対する検査を行う画像検査アプリケーション400とを実行可能に構成されている。使用者から設定アプリケーション40の起動操作がなされると、処理部44は設定アプリケーション40を起動して画像の調整等が行える状態にする。また、使用者から画像検査アプリケーション400の起動操作がなされると、処理部44は画像検査アプリケーション400を起動して画像の検査等が行える状態にする。
設定アプリケーション40は、主に、撮像装置3から出力される画像を調整するための設定を行うアプリケーションであり、調整部40Aを備えている。調整部40Aは、使用者の操作を受け付け、例えば画像の明るさを調整したり、フィルター処理の設定を実行する部分である。
画像検査アプリケーション400は、設定アプリケーション40と同様に、パーソナルコンピュータにインストールされたソフトウェアで構成される。画像検査アプリケーション400は、撮像装置3から出力される画像に対する検査を行う他、撮像装置3から出力される画像を調整することが可能に構成されたアプリケーションである。
通信部43は、処理部44が撮像装置3と通信するための部分であり、各種通信モジュール等で構成されている。処理部44は、設定アプリケーション40が起動されると、使用者による操作に基づいて、通信部43を介して撮像装置3が出力する画像の調整及び画像の取得を実行する。例えば、使用者による画像の調整操作を設定アプリケーション40上で受け付けると、受け付けた調整操作に関する情報が通信部43を介して撮像装置3に送信され、これにより、撮像装置3が出力する画像の調整が実行される。また、使用者による画像の取得操作を設定アプリケーション40上で受け付けると、受け付けた取得操作に関する情報が通信部43を介して撮像装置3に送信され、これにより、撮像装置3が出力する画像を取得する。
設定アプリケーション40内には、中継器45が仮想的に設けられている。中継器45は、ハードウェアで構成されたものではなく、設定アプリケーション40を構築するソフトウェアによって実現される機能であり、仮想デバイスと呼ぶこともできる。設定アプリケーション40を起動することで中継器45が自動的に設けられる。上述したように、GenICam規格では、複数のアプリケーションを撮像装置3に対して同時に接続することができない仕様になっているので、設定アプリケーション40を撮像装置3に接続し、画像検査アプリケーション400は、設定アプリケーション40の中継器45を介して撮像装置3に接続し、撮像装置3との通信が中継器45を介して実行可能になっている。つまり、画像検査アプリケーション400が起動されると、使用者による操作に基づいて、設定アプリケーション40内に仮想的に設けられた中継器45を介して撮像装置3との通信が実行可能になるとともに、中継器45を介して取得した画像に対して画像検査アプリケーション400が検査を実行することができるようになっている。
処理部44は、画像検査アプリケーション400で受け付けた使用者による指示を、設定アプリケーション40の中継器45を介して撮像装置3に送信するように構成することができる。具体的には、画像検査アプリケーション400で受け付けた使用者による指示は、設定アプリケーション40の中継器45に入力され、中継器45が当該指示を、通信部43を介して撮像装置3に送信する。これにより、画像検査アプリケーション400から画像の調整を行うことができる。
また、処理部44は、画像検査アプリケーション400からの画像取得要求を、中継器45を介して撮像装置3に送信するように構成することができる。具体的には、画像検査アプリケーション400が画像取得要求の信号を出力すると、その信号が設定アプリケーション40の中継器45に入力され、中継器45が当該信号を、通信部43を介して撮像装置3に送信する。画像取得要求の信号を受信した撮像装置3は、当該画像取得要求に基づいて画像を出力する。したがって、処理部44は、撮像装置3から出力された画像を受け付け、当該画像を、中継器45を介して画像検査アプリケーション400に提供することができる。また、処理部44は、撮像装置3から出力されかつ設定アプリケーション40上に表示可能な画像を、中継器45を介して画像検査アプリケーション400に提供する。これにより、画像検査アプリケーション400を撮像装置3に直接接続していなくても、検査用画像を取得して検査を行うことができる。
また、処理部44は、画像検査アプリケーション400が起動されると、設定アプリケーション40を起動して画像検査アプリケーション400を中継器45に接続するように構成することができる。したがって、例えば、設定アプリケーション40が起動されていない状態で、画像検査アプリケーション400が起動されると、設定アプリケーション40が自動的に起動されて中継器45が構成され、当該中継器45が画像検査アプリケーション400に自動的に接続される。これにより、複数のアプリケーションを起動させる操作を行う必要はなく、画像検査アプリケーション400の起動操作のみ行うことで、撮像装置3との通信が可能になる。
(撮像装置3の内部処理ユニット)
図8は、撮像装置3の内部処理の一例を概念的に示すフローチャートである。このフローチャートにおいて、位置補正1のグループは、当該グループに内包されるパターンサーチのユニットと位置補正のユニットとからなるように記載されているが、位置補正2〜5のグループは記載されていない。これは、図を簡略化するため、位置補正2〜5のグループを折り畳んであることによる。
図8は、撮像装置3の内部処理の一例を概念的に示すフローチャートである。このフローチャートにおいて、位置補正1のグループは、当該グループに内包されるパターンサーチのユニットと位置補正のユニットとからなるように記載されているが、位置補正2〜5のグループは記載されていない。これは、図を簡略化するため、位置補正2〜5のグループを折り畳んであることによる。
このフローチャートに示すように、複数のユニットの組み合わせで構成されている。ユニットは、撮像や画像処理を制御する単位であり、ユニットをフローチャート上で組み合わせることで、撮像装置3に所望の動作を実現させることができる。図8に示すフローチャートでは、ユニットを1つのステップとして記載している。
たとえば、使用者の設定により、ある処理を行う機能を有効にした場合、その機能に対応したユニットを追加することで、処理を実行可能にすることができる。ユニットは、処理を実行するためのプログラムと、処理を実行するために必要なパラメータや、処理結果のデータを格納する記憶領域を一つにまとめたものと定義することができる。各処理は、図1に示す撮像制御部33で行うことができ、また、記憶領域は、撮像制御部33の記憶装置に確保することができる。尚、ユニットの概念自体は、GenICam規格に対応したカメラ31の外部仕様を実現する際に必須なものではない。
図8に示すフローチャートは、複数のユニットを縦方向及び横方向にフローチャート形式で並べたものであり、単にフローと呼ぶこともできる。複数のユニットを縦方向にのみ並べたフローチャートであってもよい。図8に示すフローチャートのスタートからエンドに向かって順に処理を実行していくが、途中に分岐ステップSB1を設けることで、分岐させることもできる。分岐した場合には、エンドまでの間に合流ステップSB2を設けることができ、これにより、合流させてからエンドに進むことができる。
(パラメータセット)
画像検査アプリケーション400を実際の検査環境において動作させる場合、ワークWが切り替わったり、明るさなど、周囲の環境の変化を検知した場合には、撮像装置3の設定パラメータを動的に変更することがある。露光時間など、ごく限られたパラメータのみ変更する場合は、画像検査アプリケーション400から、それに対応したFeatureの値を直接書き込むことで対応することもできる。
画像検査アプリケーション400を実際の検査環境において動作させる場合、ワークWが切り替わったり、明るさなど、周囲の環境の変化を検知した場合には、撮像装置3の設定パラメータを動的に変更することがある。露光時間など、ごく限られたパラメータのみ変更する場合は、画像検査アプリケーション400から、それに対応したFeatureの値を直接書き込むことで対応することもできる。
一方で、高機能な撮像装置3の場合、設定可能な項目の数が増え、ワークWの切り替え時などに、一度に変更すべきパラメータの数も多くなる。この場合、設定変更に要する時間が、パラメータの数に相関して長くなっていく。実際の画像検査ラインにおいては、ワークWが切り替わり、新しいワークWが撮像装置3の撮像視野範囲に到達してから当該視野範囲を外れるまでの時間が短いことが多く、一連の設定変更を高速に行いたいケースが出てくる。このようなときに、パラメータセットと呼ばれる機能を使用することがある。
パラメータセットは、撮像装置3で撮像する際の各種パラメータの組合せを事前に複数パターン保有しておき、それぞれのパターンをパラメータセット番号によって管理できるようにしたものである。例えば、ワークWの品種が3種類あり、それぞれに異なるパラメータで撮像とその後の処理を行いたい場合、パラメータセットを3個用意しておく。
パラメータセットを利用すると、ワークWの撮像を行う前に、次に撮像するワークWの品種に対応したパラメータセット番号を指定するだけで、一連の設定変更を短時間で完了させることができる。画像検査アプリケーション400から見た場合、パラメータセット番号を指定するFeatureは、後述するセレクタの一種と考えることができる。
画像検査アプリケーション400または設定アプリケーション40側から設定する対象を切り替えるセレクタと、動作時に撮像装置3が内部的に参照するパラメータを切り替えるレジスタは、独立させることも、同一にすることも可能である。設定できるパラメータセットの数の上限は、撮像装置3の内部に設けられた内部メモリのパラメータ保持空間に限定される。
パラメータセットの概念は、フィルター処理機能を保有した撮像装置3に展開することも可能である。たとえば、パラメータセットIndexが1の時は2値化フィルターを実行し、パラメータセットIndexが2の時は膨張フィルターを実行し、パラメータセットIndexが3の時はフィルターを非実行とするように、パラメータセットIndexに対応したパラメータを設定していたとする。このようにすることで、撮像と、フィルター処理として実行する内容を、パラメータセットIndexにより動的に切り替えることができる。
GenICam規格では、撮像パラメータを動的に切り替える機能をサポートしている。撮像装置3は、GenICam規格に則り、全ての設定パラメータをFeatureによってアクセスできるようにしている。撮像機能としては、照明装置2と撮像装置3とを同期させて複数パターンで撮像した画像を専用のアルゴリズムによって合成する機能(上述したデフレクトメトリの原理を利用した検査画像の生成)、波長が異なる光を照射して複数の画像を取得するマルチスペクトルイメージング機能など、複数の照明−撮像制御モードを有している。これらは、上記のパラメータセットごとに設定可能であり、条件に応じて動的に切り替えながら、撮像処理、フィルター処理、合成処理、画像出力を実行することが可能である。撮像機能によって生成される画像には、照明の点灯パターンを切り替えながら、イメージセンサで取得した画像そのものであってもよいし、上述した専用アルゴリズムによって合成された複数の画像が含まれていてもよい。
フィルター処理は、同一パラメータセット内に、複数のパターンを設定することが可能である。例えば、上述の撮像機能では、一連の撮像実行により、複数パターンの画像が生成されることになるが、そこで生成された異なる複数の画像に対して、個別にフィルター処理を施すことが可能である。また、別のパターンでは、同一の画像に対して、特定の領域の範囲(ROI:Region Of Interest)を設定した上で、それぞれの領域内部のみをフィルター処理することも可能である。特定の領域の範囲の設定は、たとえばキーボード6やマウス7の操作によって行うことができる。特定の領域は、1つであってもよいし、複数であってもよい。特定の領域の大きさは任意に設定することができる。
フィルター処理は、同一の画像に対して複数種類を多段階に繰り返し設定することができる多段階フィルターであってもよい。たとえば、ある画像に対して膨張フィルター処理を実行した後、その画像に対して2値化フィルター処理を実行することができる。フィルター処理は多段階フィルターに限られるものではなく、1つのフィルター処理であってもよい。
GenICam規格の撮像パラメータを動的に切り替える機能を利用し、図8に示すように複数のパラメータセットを1つのフローチャートにまとめることができる。撮像装置3の内部処理フローチャート上で、分岐ステップSB1から合流ステップSB2までの間のフローチャートを形成するユニット群をまとめてパラメータセットと呼ぶ。図8に示す例では、4つのパラメータセット、即ち、第1〜第4パラメータセットを有している。つまり、使用者により設定された処理を実現するための複数のセレクタの値の組み合わせが複数パターン存在している。第1〜第4パラメータセットのいずれを選択するかは、使用者が設定することができ、たとえば、パラメータセット番号1を選択すると第1パラメータセットが自動的に選択される。
図8に示すフローチャートのスタート後、分岐ステップSB1において第1〜第4パラメータセットのいずれかのパラメータセットを構成する各ユニットを経た後、合流ステップSB2で合流し、エンドに進むことができる。パラメータセット番号1が選択されていると、分岐ステップSB1において分岐番号が1になり、第1パラメータセットの各処理を実行する。パラメータセット番号2が選択されていると、分岐ステップSB1において分岐番号が2になり、第2パラメータセットの各処理を実行する。パラメータセット番号3が選択されていると、分岐ステップSB1において分岐番号が3になり、第3パラメータセットの各処理を実行する。パラメータセット番号4が選択されていると、分岐ステップSB1において分岐番号が4になり、第4パラメータセットの各処理を実行する。パラメータセットの数は4つに限られるものではなく、任意に設定することができる。
パラメータセットの具体例を図9及び図10に示す。図9は、デフレクトメトリの原理を利用した検査画像の生成を行う場合のパラメータセットである。ユニットUA1では、デフレクトメトリの原理を利用した検査画像の生成を行うべく、1回のトリガ信号で複数の撮像処理を実行し、ユニットUA2では膨張フィルター処理を実行し、ユニットUA3では平均化フィルター処理を実行し、ユニットUA4では濃淡反転処理を実行する。つまり、ユニットUA1で撮像された撮像画像に対して、フィルター処理を含むパラメータセットで定義された多段階の処理が逐次的に実行される。その後、ユニットUA5では、多段階の処理が逐次的に実行された画像データをPCへ転送、即ち外部機器である設定装置4等へ出力する。尚、画像データを転送することなく、内部に保持しておいてもよい。パラメータセットによっては、多段階の処理を行わないように設定することもできる。画像データが設定装置4に転送された場合、図7に示す設定アプリケーション40の中継器45を介して画像検査アプリケーション400に出力され、検査部4Aにおいて欠陥検査、良否判定を行うことができる。検査部4Aで実行される欠陥検査及び良否判定のアルゴリズムは従来から周知のものを使用することができる。
一方、図10は、マルチスペクトルイメージングにより検査画像の生成を行う場合のパラメータセットである。ユニットUB1ではマルチスペクトルイメージングにより検査画像の生成を行うべく、1回のトリガ信号で複数の撮像処理を実行し、ユニットUB2では、ある領域(領域0)に対して二値化フィルター処理を実行し、ユニットUB3では、領域0とは別の領域(領域1)に対して膨張フィルター処理を実行する。つまり、この例でも、ユニットUB1で撮像された撮像画像に対して、フィルター処理を含むパラメータセットで定義された多段階の処理が逐次的に実行される。その後、ユニットUB4では処理を非実行とする。ユニットUB5では図9に示す場合と同様に画像データを設定装置4へ転送する。この例のように、パラメータセット内には処理を行わないユニット、即ち無効化されたユニットが存在していてもよく、有効化されたユニットと無効化されたユニットとが混在したパラメータセットであってもよい。
したがって、撮像装置3は、設定装置4で設定されたとおり、撮像した画像に対して多段階の処理を順序立てて実行することができるので、使用者は順序性のある手順を自由に設定することができ、複雑な画像処理を撮像装置3に行わせることができる。尚、露光時間のように順序性が無い設定も反映させることができる。
(ユニットの種類)
ユニットには複数の種類があり、たとえば、検査領域を決定するパターンサーチ処理を行うパターンサーチユニット、位置補正ユニット、内部で画像の位置補正や色抽出、フィルター処理などを行う画像演算ユニット、あるいは、これらの比較的単純な処理を行うユニットを複合させて高機能化させたものなどがある。各ユニットは、撮像装置3が撮像した撮像画像を外部に出力する前に、当該撮像画像に対して適用される処理を実行するためのユニットであり、図9や図10に示すように撮像画像に対して多段階の処理を行うように配置することができる。
ユニットには複数の種類があり、たとえば、検査領域を決定するパターンサーチ処理を行うパターンサーチユニット、位置補正ユニット、内部で画像の位置補正や色抽出、フィルター処理などを行う画像演算ユニット、あるいは、これらの比較的単純な処理を行うユニットを複合させて高機能化させたものなどがある。各ユニットは、撮像装置3が撮像した撮像画像を外部に出力する前に、当該撮像画像に対して適用される処理を実行するためのユニットであり、図9や図10に示すように撮像画像に対して多段階の処理を行うように配置することができる。
パターンサーチユニットは、撮像装置3が撮像したワークWを含む画像のなかから、当該ワークWや、ワークWにおける検査対象部分をサーチし、撮像画像中のワークWの位置補正を行うためのユニットである。たとえば、画像検査システム1の設定時に、ワークWを撮像した画像上で、周知のエッジ検出手法によってエッジ検出を行い、検出したエッジにより特定される領域をワークW、またはワークWの検査対象部分のモデル(サーチ用モデル画像)として撮像装置3の記憶装置に記憶させておくことができる。エッジ検出処理自体は従来から周知の手法を用いることができ、例えば、輝度画像上の各画素の画素値を取得し、輝度画像上の画素値の変化がエッジ検出用のしきい値以上となる領域が存在する場合に、その境界部分がエッジであるとして抽出する。エッジ抽出の閾値は使用者が任意に調整することができる。
画像検査システム1の設定後、画像検査システム1の運用時には、順次搬送されてくるワークWを撮像して検査用画像を得て、パターンサーチユニットが、得られた検査用画像上でワークWまたはワークWの検査対象部分の有無を、上記記憶されているモデルに基づいてサーチ処理を行うとともに、サーチ処理によってワークWの位置と角度を計測する。ワークWの位置はX座標及びY座標で特定することができる。また、ワークWの角度は、撮像装置Wの光軸回りの角度とすることや、図1に示すZ軸周りの角度とすることができる。
位置補正ユニットは、撮像装置3が撮像したワークWを含む画像のなかから、当該ワークWや、ワークWにおける検査対象部分をパターンサーチユニットでサーチし、ワークWの位置と角度を計測した後に、画像中のワークWの位置補正を行うためのユニットである。画像検査システム1の運用時には、複数のワークWが常に同じ位置及び姿勢で搬送されてくるとは限らず、様々な位置にあるワークWや様々な姿勢のワークWが搬送されてくることがある。パターンサーチユニットでワークWの基準となる部分をサーチしてから位置補正ユニットで位置補正することができるので、ワークWの基準となる部分が、常に一定の位置となり、かつ、ワークWが所定の姿勢となるように、画像を回転させたり、画像を縦方向や横方向に移動させることにより、位置補正を行う。位置補正を行うための位置補正ツールは、たとえばパターンサーチ等、複数の種類のツールを用意しておくことができる。
画像演算ユニットは、複数の種類があり、たとえば、フィルター処理を行うユニット、撮像装置3で撮像された複数の画像を合成する合成処理を行うユニット、デフレクトメトリ処理を行うユニット、フォトメトリックステレオ法を利用して検査用画像を生成するユニット、マルチスペクトルイメージングを行うユニット等がある。フィルター処理の種類は複数あるので、フィルター処理を行うユニットは、たとえば二値化フィルター、膨張フィルター等、複数の種類設けることができる。デフレクトメトリ処理による検査画像の生成は、上述したように複数の処理を経るので、処理毎にユニットを設けてもよく、正反射成分画像を生成するユニット、拡散反射成分画像を生成するユニット、参照位相差分画像を生成するユニット等を設けることができる。
(前処理モジュール)
図11は前処理モジュールの例を示すものである。前処理モジュールは、パターンサーチユニットと位置補正ユニットとからなるグループと、画像演算ユニットとが合わさったものとすることができるが、これは一例であり、1つのグループのみからなる前処理モジュールであってもよいし、他の任意のユニットを組み合わせた前処理モジュールであってもよい。前処理モジュールには、番号が付されており、「前処理モジュール0」、「前処理モジュール1」等と区別することができる。
図11は前処理モジュールの例を示すものである。前処理モジュールは、パターンサーチユニットと位置補正ユニットとからなるグループと、画像演算ユニットとが合わさったものとすることができるが、これは一例であり、1つのグループのみからなる前処理モジュールであってもよいし、他の任意のユニットを組み合わせた前処理モジュールであってもよい。前処理モジュールには、番号が付されており、「前処理モジュール0」、「前処理モジュール1」等と区別することができる。
機能の拡張性を高めるために、前処理モジュールは複数追加することや設定することができ、それぞれは、たとえば「前処理モジュール0(PreprocessingModule0)」、「前処理モジュール1(PreprocessingModule1)」といったインデックスで識別される。
(セレクタ)
図8に示すフローチャートの任意の1つのパラメータセットには、複数の前処理モジュールを追加することが可能である。たとえば、パターンサーチ処理を実行するための設定パラメータや、フィルター処理を実行するための設定パラメータにより、任意の前処理モジュールを追加することができる。
図8に示すフローチャートの任意の1つのパラメータセットには、複数の前処理モジュールを追加することが可能である。たとえば、パターンサーチ処理を実行するための設定パラメータや、フィルター処理を実行するための設定パラメータにより、任意の前処理モジュールを追加することができる。
しかし、それぞれの前処理モジュールに個別の設定レジスタを設けると、同じレジスタ(Feature)が繰り返し現れることになるので、冗長になってしまう。この実施形態では、セレクタを用いることで、編集対象(設定対象)を動的に切り替えることができるようにしている。セレクタで切り替えることができる設定対象としては、たとえば、パラメータセット(分岐番号)、前処理モジュール番号、多段フィルターの場合のフィルター段数(何段目のフィルターを設定しているか)等である。つまり、パラメータセット番号を指定するFeatureや、前処理モジュール番号を指定するFeature、フィルター段数を指定するFeatureは、セレクタの一種である。このセレクタの値は、当該セレクタの値が格納される場所を示すレジスタ情報と共に、DeviceXMLファイルに含まれている。したがって、撮像装置3が撮像した撮像画像を外部に出力する前に、当該撮像画像に対して適用される多段階の処理を設定するための設定項目に関連付けられた複数のセレクタと、各セレクタの値が格納される場所を示すレジスタ情報とがDeviceXMLファイルには含まれることになる。
(多段セレクタ)
図8に示すように、フローチャートはパラメータセットによって横方向に分岐し、それぞれのパラメータセットの内部では、たとえば前処理モジュールを複数追加することができるようになっている。さらに、1つの前処理モジュールの中では、複数段の前処理(フィルター処理等)を設定することができる。設定用ユーザーインターフェース50の設定項目が関連付けられているFeatureと、そのFeatureによって実際に編集されるパラメータの実体を保持する編集対象のユニットとの関係は、これらのセレクタを複数段階経ることで特定される。この実施形態においては、セレクタの役割としては、大きく分けて、パラメータセットの指定、フィルター処理の指定、多段フィルターの指定の3つがあり、パラメータセットの指定が最上位に位置し、パラメータセットの下にフィルター処理の指定、フィルター処理の指定の下に多段フィルターの指定が位置する関係になるが、これに限られるものではない。フィルター処理を指定するセレクタは、パラメータセットを切り替えれば、異なるパラメータセット(フローチャート)の内部を指すことになる。さらに多段フィルターの指定によって、フィルター処理の内部に多段階に設定される実際のフィルターの設定が特定される。このように複数のセレクタの値の組み合わせにより、そのFeatureが関連づけられるパラメータを保持するユニットを特定することができる。尚、パラメータセットを指定するセレクタを切り替えた場合、少なくともパラメータの設定対象は切り替わるが、実行対象まで切り替わるかどうかは実装に依存する。
図8に示すように、フローチャートはパラメータセットによって横方向に分岐し、それぞれのパラメータセットの内部では、たとえば前処理モジュールを複数追加することができるようになっている。さらに、1つの前処理モジュールの中では、複数段の前処理(フィルター処理等)を設定することができる。設定用ユーザーインターフェース50の設定項目が関連付けられているFeatureと、そのFeatureによって実際に編集されるパラメータの実体を保持する編集対象のユニットとの関係は、これらのセレクタを複数段階経ることで特定される。この実施形態においては、セレクタの役割としては、大きく分けて、パラメータセットの指定、フィルター処理の指定、多段フィルターの指定の3つがあり、パラメータセットの指定が最上位に位置し、パラメータセットの下にフィルター処理の指定、フィルター処理の指定の下に多段フィルターの指定が位置する関係になるが、これに限られるものではない。フィルター処理を指定するセレクタは、パラメータセットを切り替えれば、異なるパラメータセット(フローチャート)の内部を指すことになる。さらに多段フィルターの指定によって、フィルター処理の内部に多段階に設定される実際のフィルターの設定が特定される。このように複数のセレクタの値の組み合わせにより、そのFeatureが関連づけられるパラメータを保持するユニットを特定することができる。尚、パラメータセットを指定するセレクタを切り替えた場合、少なくともパラメータの設定対象は切り替わるが、実行対象まで切り替わるかどうかは実装に依存する。
たとえば、図12に示すフローチャートにおいて、2重線で囲まれたユニットUXを特定する場合には、最上位のパラメータセットのセレクタがパラメータセット番号3であること、前処理モジュールのセレクタIndexが1であることの2つの値が決まることで、ユニットUXを特定することができる。セレクタの値で決めることができるのは、たとえば、パターンサーチユニット、位置補正ユニット、画像演算ユニット(フィルター処理ユニットを含む)などである。そして、アクセスするFeature名称に基づいて、パターンサーチユニット、位置補正ユニット、画像演算ユニットのどのユニットに属するFeatureなのかを画像検査アプリケーション40側から特定することで、目的とするユニットUXの保持するパラメータに辿り着くことができる。
(設定装置4の動作)
設定装置4は、使用者により設定された各設定項目の設定値と、DeviceXMLファイル31cに含まれる各設定項目に対応するレジスタ情報を示すデータを撮像装置3に送信し、当該撮像装置3の設定を行うための装置である。
設定装置4は、使用者により設定された各設定項目の設定値と、DeviceXMLファイル31cに含まれる各設定項目に対応するレジスタ情報を示すデータを撮像装置3に送信し、当該撮像装置3の設定を行うための装置である。
図7に示すように、設定装置4は、UI生成部4aを備えている。UI生成部4aは、設定アプリケーション40のユーザーインターフェース及び画像検査アプリケーション400のユーザーインターフェースを生成する部分である。設定アプリケーション40のユーザーインターフェースとしては、たとえば図13に示す設定用ユーザーインターフェース50がある。UI生成部4aで生成された各種ユーザーインターフェースは表示部5に表示される。
設定用ユーザーインターフェース50には、編集対象を切り替えるための第1領域50aと、設定項目の表示及び変更を行うための第2領域50bと、編集対象である画像を表示する画像表示領域50cとが設けられている。第1領域50aには、編集対象となる画像を切り替えるための画像切替操作領域51が設けられている。画像切替操作領域51には、撮像装置3で撮像された画像の識別情報がリスト形式で表示される。画像の識別情報は、たとえば画像の名称や画像に付された番号等を挙げることができる。この例では、4つの画像の名称が縦方向に並ぶように表示されているが、表示される画像の数や並び方向は任意に設定することができる。使用者は、キーボード6やマウス7の操作により、画像切替操作領域51に表示されている画像の名称の中から任意の名称を選択することができる。名称が選択されると、UI生成部4aは選択された名称に対応する画像を画像表示領域50cに表示させる。画像表示領域50cに表示された画像は、変更することもできる。
第2領域50bには、設定項目としての位置補正設定を行うための位置補正設定領域52と、設定項目としてのフィルター処理設定を行うためのフィルター設定領域53とが設けられている。位置補正設定領域52には、位置補正設定に対応するFeatureとして、位置補正を有効にするか否かの選択を行う部分と、位置補正ツールの種別選択を行う部分とが割り当てられて表示される。位置補正ツールの種別選択は、位置補正を有効にすることで初めて設定可能になるので、位置補正を有効にするか否かの選択と、位置補正ツールの種別選択とは、依存関係にある。
フィルター設定領域53には、フィルター処理設定に対応するFeatureとして、選択されたフィルターの種類と、抽出サイズや抽出色といったフィルターの設定に関するパラメータを選択、調整する部分とが割り当てられて表示される。画像切替操作領域51で選択された1つの画像に対して複数種類のフィルター処理が行われる場合があり、その場合には、フィルター設定領域53が複数設けられ、各フィルター処理設定に対応するFeatureが割り当てられて表示される。
使用者による設定作業について説明する。使用者が画像切替操作領域51に表示されている画像の名称のうち、任意の1つを選択すると、選択された名称の画像が画像表示領域50cに表示される。この選択された画像を生成するためのパラメータが編集、設定可能なものについては、第2領域50bの表示が自動的に切り替わる。内部的には、例えば画像切替操作領域51で、ある前処理画像を選択した場合、その画像を生成するために使用する前処理モジュールに対応したインデックスの値に、設定対象を指定するセレクタの値が切り替わり、これにより、第2領域50bに表示する設定内容が画像に応じて切り替わる。設定対象を指定するセレクタの値が指定されると、その値に対応したセレクタが指し示す前処理モジュールの一つ又は複数のFeatureを読み取り、設定項目を反映した画像を生成して画像表示領域50cに表示し、位置補正設定領域52やフィルター設定領域53にそれぞれのパラメータに設定された値を表示する。位置補正設定領域52やフィルター設定領域53に表示された操作部分を使用者が操作すると、その操作が受け付けられて、設定対象を指定するセレクタの値に対応した前処理モジュールに該当するユニットの設定項目が変更される。
セレクタの値からアクセス対象のユニットを特定する方法は、以下の方法を使用することができる。すなわち、前処理モジュールは複数のユニットから構成されており、前処理モジュールのインデックスを切り替えるセレクタは、これらユニットで共通したものを使用することができ、前処理モジュールを構成する複数のユニットに対して、どのFeatureがどのユニットに属するかは、Feature名称によって一意に定まるように命名することが可能である。これにより、セレクタの値と、編集対象として選択されているFeatureの組合せからアクセス対象のユニットを特定することができる。
図14は、パラメータセット番号の選択によって設定用ユーザーインターフェース50の第2領域50bが切り替えられる場合を模式的に示した図であり、この図に示すようにユーザーインターフェースの表示を切り替えることができる。たとえば、図14の左側に示すようなパラメータセット番号選択部54を設定用ユーザーインターフェース50に設けておく。また、図14の右側に示すように、第1パラメータセットの設定用ユーザーインターフェース50Aと、第2パラメータセットの設定用ユーザーインターフェース50Bと、第3パラメータセットの設定用ユーザーインターフェース50Cと、第4パラメータセットの設定用ユーザーインターフェース50Dとがパラメータ番号と関連付けられた状態で存在している。パラメータセット番号選択部54でパラメータセット番号が切り替わると、UI生成部4aは、設定用ユーザーインターフェース50を、そのパラメータセット番号に合わせて再構築する。すなわち、使用者がパラメータセット番号3を選択すると、パラメータセット番号3の設定用ユーザーインターフェース50Cが生成されて表示部5に表示される。
図15は、パラメータセット番号の選択によってパラメータセットが切り替えられる内部的な仕組みを概念的に説明する図である。撮像装置3は、パラメータセットの切替を実行するパラメータセット切替部30dを有している。パラメータセット切替部30dには、使用者が選択したパラメータセット番号(ParameterSetIndex)が入力される。パラメータセット切替部30dは、入力されたパラメータセット番号に対応したパラメータセットを選択し、選択したパラメータセットを撮像素子3cに適用する。
したがって、設定装置4は、設定アプリケーション40用の設定用ユーザーインターフェース50を表示部5に表示し、当該設定用ユーザーインターフェース50上で使用者による各種設定を受け付けることができる。撮像装置3が撮像した画像に対して多段階の処理を実行するように、使用者が設定すると、設定装置4は、その使用者により設定された多段階の処理を実現するための複数のセレクタの値の組み合わせを多段セレクタとして特定し、当該複数のセレクタの値と、当該複数のセレクタが格納される場所を示すレジスタ情報とを撮像装置3に送信することが可能に構成されている。これら情報は、図7に示す通信部43を介して撮像装置3に送信される。撮像装置3は、設定装置4から送信された複数のセレクタの値と、当該複数のセレクタが格納される場所を示すレジスタ情報とを受信し、複数のセレクタの値を対応するレジスタ情報が示す場所に格納するとともに、各セレクタの値の組み合わせにより特定される多段階の処理を逐次的に実行するように構成されている。
また、使用者が撮像装置3の設定項目に対して設定値の変更を行うと、使用者により設定された各設定項目の設定値と、DeviceXMLファイルに含まれる各設定項目に対応するレジスタ情報を示すデータが通信部43を介して撮像装置3に送信されて、撮像装置3の設定を行うことができるので、標準化規格に適合した撮像装置3であれば設定装置4側から設定値を変更することができ、撮像装置3の機種選定の自由度が向上する。
また、セレクタの値の組合せによって、逐次的に実行される多段階の処理の一部を一意に特定することができるので、標準化規格に適合した撮像装置3で、例えば、フォトメトリックステレオやデフレクトメトリの原理を利用した検査画像の生成、マルチスペクトルイメージング、生成後の検査画像にフィルター処理を施すといった複数段階の処理が行えるようになる。
(仮想フローチャート及び仮想ユニット)
図8に示すようなフローチャートとは異なり、実際の運用環境では、横方向、あるいは縦方向に登場するユニットにセレクタの組合せだけで指定できるような規則性が無いことも多く、その状態では、フローチャート上のユニット構成が変わるたびに、カメラ3の内部でDeviceXMLを生成し直したり、PCソフト側もその都度DeviceXMLファイルを取得しなおす必要があって、使いづらいものになってしまう。
図8に示すようなフローチャートとは異なり、実際の運用環境では、横方向、あるいは縦方向に登場するユニットにセレクタの組合せだけで指定できるような規則性が無いことも多く、その状態では、フローチャート上のユニット構成が変わるたびに、カメラ3の内部でDeviceXMLを生成し直したり、PCソフト側もその都度DeviceXMLファイルを取得しなおす必要があって、使いづらいものになってしまう。
固定的なDeviceXMLファイルを用い、なるべく少ないFeature表現でフローチャートに対応する場合、そのフローチャートは、縦方向にある程度決められたパターンを持ち、それがパラメータセットの概念によって、横方向にコピーされた形が望ましい。例えば縦方向にフローチャートを拡張可能にする、つまり、設定可能なフィルター処理の数を増やしていった場合、設定可能なフィルター処理の数だけ、フローチャート全体が縦方向に拡大していくことになる。また、利用可能なパラメータセットの数を増やせば、その分だけフローチャートが横方向に拡大していくことになる。しかし実際の運用環境においては、全てのパラメータセットに対して、設定可能な上限までフィルター処理を使用するケースは想定しにくく、特に設定可能な数の上限が大きな値になっている場合には、大半のユニットが、たとえば図10に示すユニットUB4のように「非実行」の設定となることが予想される。
ところで、フローチャート上の各ユニットに対して、それらの実行に必要なパラメータ群や、内部データを保持するメモリ領域を確保する手法としては、事前に全ての機能に対応したパラメータ群や内部データを保持するためのメモリ領域を固定的に確保しておく方法がある。フローチャート上に設定可能なパラメータセットの数や、1つのパラメータセットの内部に設定可能なフィルター処理の数を増やすことで、撮像装置3の使用者はより柔軟なフローチャートを実現できるようになるが、それに応じて、事前に確保すべき、パラメータ群や内部データを保持するためのメモリ領域も増やす必要がある。上述の通り、実際の運用環境においては非実行の設定がなされ、使用されないユニットが大部分を占める状況は容易に想定されるため、搭載可能なメモリ容量に大きな制約のある、撮像装置3では不向きな手法である。
この実施形態では、上述した内部メモリ容量の問題を解決しながら、撮像装置3の使用者が実現可能なフローチャートの高い柔軟性を確保するために、仮想フローチャート及び仮想ユニットの概念を導入している。この実施形態では、使用される可能性のある全てのユニットが追加された状態のフローチャートである固定フローチャートは概念上存在するものの、仮想的なものに過ぎず、これを仮想フローチャートと呼ぶことにする。また、この仮想フローチャートを構成するユニットのことを仮想ユニットと呼ぶこととし、上記フローチャートを仮想的なものとして、全ての機能が仮想的に存在する概念上のものを指す。仮想フローチャートにおいて、それぞれの仮想ユニットは、固定的に配置されている。また、セレクタの組合せによって各Featureが関連づけられて各機能のパラメータが確定する。
複数の機能の中から、実際に使用するユニットを決定する際には、そのユニットを使用する・使用しないを選択するパラメータを変更する。すなわち、実際に動作するフローチャートには、仮想フローチャートとは異なり、各ユニットの使用する・使用しないを決定するFeatureの設定状態に応じて、使用するユニットだけが追加される。使用する設定がなされたユニットを実行するために必要なパラメータ群や内部データに対しては、動的に確保した内部メモリ領域が割り当てられる。したがって、使用する機能を有効にした時点で、初めて実際のユニットが内部のフローチャート上に配置されて実際のフローチャートが構成されることになる。撮像装置3において、設定装置4側から指定された各セレクタの値の組合せによって各Featureが関連づけられるパラメータの実体は、それらのセレクタの値の組合せとFeatureによって指定されるユニットに対して、前記の要領で動的に割り当てられたメモリ領域内に配置されている。これにより、設定装置4側からは撮像装置3の内部の状態、すなわち、内部メモリ容量やその中のどこにパラメータ群の実体が配置されているかなどを意識することなく、動的に確保されたメモリ領域上に置かれた実体に対して、セレクタの組合せと、固定的に定義されたFeatureによってアクセスすることができる。
つまり、撮像装置3は、複数のセレクタの値を対応するレジスタ情報が示す場所に格納するとともに、各セレクタの値の組み合わせにより実行する処理を特定し、特定された処理を実行するための設定パラメータ群と内部データを撮像装置3が有する内部メモリに動的に展開するように構成されている。これにより、設定者により有効化される可能性のあるユニットが全て事前に追加された、大きな固定フローチャートを撮像装置3の内部メモリに予め記憶させることなく、内部メモリの消費を必要な分だけに抑えながら、使用者の設定に応じて必要な機能のみを有するフローチャートを構成し、標準化規格に適合した撮像装置3で、例えば、フォトメトリックステレオやデフレクトメトリの原理を利用した検査画像の生成や、生成後の検査画像にフィルター処理を施すといった複数の処理が行えるようになる。
また、使用者により設定された処理を実現するための複数のセレクタの値の組み合わせが複数パターン存在しているので、設定装置4は、撮像装置3に対して、複数パターンのセレクタの値の組み合わせを送信することができる。撮像装置3は、設定装置4から送信された複数パターンのセレクタの値の組み合わせを受信し、複数パターンのセレクタの値の組み合わせの中から使用者によって選択された任意の一のパターンのセレクタの値の組み合わせにより実行する処理を特定し、特定された処理を実行するための設定パラメータを撮像装置3の内部メモリに動的に展開するように構成されている。
DeviceXMLファイルのセレクタを含むFeatureが差し示すものは、あくまで仮想フローチャート上の仮想ユニットの設定項目である。複数の仮想ユニットのそれぞれに対して、使用する場合にだけ撮像装置3の内部メモリ領域を割り当てるようにすることで、内部メモリ領域の制約の問題を解決できるとともに、フローチャートの高い柔軟性、即ち設定者が撮像装置3によって実現可能な機能の柔軟な拡張性を実現することができる。
画像検査アプリケーション400の内部では、セレクタの組合せとFeatureの種類によってアクセス可能なユニットが決定され、実際に内部メモリ領域が割り当てられたユニットとFeatureとの関連付けを自動的に行う。これにより、使用者は、実際に内部で生成される仮想フローチャートの形状や仮想ユニットの配置を意識することなく、アクセスすることができる。
また、例えば位置補正用に使用する検査ツールは、パターンサーチなどを選択することができるが、これも設定者が使用することを選択し、かつ、位置補正用に使用するものとして指定した検査ツールを実行するために必要なパラメータ群や内部データだけを動的に確保するので、選択可能な全ての位置補正用の検査ツールに対して事前に内部メモリ領域を確保しておく必要はない。
(位置補正とフィルター処理)
フィルター処理のなかには、画像の方向性に強く依存した効果を発揮するフィルターがある。具体的には、画像の所定方向に隣接する画素同士の輝度値の変化が所定の閾値以上である箇所を抽出する方向別フィルターや差分フィルター等である。方向別フィルターは、上記所定方向をX方向とY方向とから選択可能なフィルターである。
フィルター処理のなかには、画像の方向性に強く依存した効果を発揮するフィルターがある。具体的には、画像の所定方向に隣接する画素同士の輝度値の変化が所定の閾値以上である箇所を抽出する方向別フィルターや差分フィルター等である。方向別フィルターは、上記所定方向をX方向とY方向とから選択可能なフィルターである。
図16に示すように、ワークWの撮像画像として、Y方向の縞模様状の背景に白色及び黒色の欠陥部が映っている画像であった場合、この撮像画像に対してX方向及びY方向に均等な欠陥抽出フィルター処理を実行すると、欠陥抽出フィルターは、隣接する画素同士の変化の大きい所を抽出するフィルターであるため、背景の縞模様によって、Y方向にも変化を検出することになり、欠陥部が目立ちにくい。これに対し、X方向のみの変化を捉えるようフィルター処理を実行すると、背景の縞模様が消えて、欠陥部だけを抽出することができ、欠陥部の存在が分かり易くなる。
このようにしてワークWの欠陥を検査することができる。欠陥検査の手法は上述した手法に限られるものではなく、他の欠陥検査手法を用いるようにしてもよい。また、欠陥検査は、撮像装置3で行うようにしてもよいし、設定装置4で行うようにしてもよい。欠陥検査を撮像装置3で行う場合には、検査結果を撮像装置3から設定装置4へ出力して表示部5で表示させることができる。欠陥検査を設定装置4で行う場合には、撮像装置3で生成された検査用画像を設定装置4に出力して当該設定装置4で欠陥検査を行うようにすることもできるし、撮像装置3で撮像された画像を設定装置4に出力して当該設定装置4で検査用画像を生成して欠陥検査を行うようにすることもできる。
このような画像の方向性に強く依存した効果を発揮するフィルターは、撮像するワークWの角度が変化してしまうと適切な処理結果を得ることができない。そのため、フィルター処理を実行する前に、撮像装置3がパターンサーチユニットによってワークWの位置と角度を計測し、撮像装置3が位置補正ユニットで位置補正を行うことで、ワークWが常に特定の方向を向いた画像に補正することができる。これが位置補正機能である。尚、サーチユニットとして使用するツールは、ワークWの検出に適したものが選択できるよう、複数の種類を設定可能にしている。サーチユニットによるサーチは、撮像画像中のワークWの位置補正を行うためのサーチ設定であり、この設定項目はDeviceXMLファイルに含まれている。
位置補正機能によって位置補正した後に、画像の方向性に強く依存した効果を発揮するフィルター処理を実行することで、ワークWの撮像時における光軸回りの角度の影響を排除して、適切な処理結果を得ることができる。図17に示すように、画像検査システム1の設定時にサーチ用モデル画像を特定して撮像装置3に記憶させておき、画像検査システム1の運用時に撮像装置3の光軸回りに回転した状態でワークWが撮像された場合には、サーチ用モデル画像に基づいてワークWが特定の方向を向くように位置補正処理を行い、これにより、当該ワークWが映った領域を当該ワークWが特定の方向へ向くように回転させる。そして、位置補正処理後の画像に対して方向別フィルター処理を実行する。
図18は、設定アプリケーション40のユーザーインターフェースであるフィルター設定用ユーザーインターフェース55を示すものである。フィルター設定用ユーザーインターフェース55は、図7に示す設定装置4のUI生成部4aによって生成され、図1等に示す表示部5に表示される。フィルター設定用ユーザーインターフェース55には、フィルター処理を実行する画像を選択する画像選択部55aと、色の抽出設定を行う色抽出設定部55bと、フィルター設定を行うフィルター設定部55cと、画像のなかの所定の領域を切り出してフィルタリング画像を生成する場合に使用する領域設定部55dと、位置補正の設定(サーチ設定)を行う位置補正設定部55eとが設けられている。
図19は、フィルター処理を実行可能な画像を一覧形式で示した図であり、検査用画像を生成する方法や種別によってフィルター処理を実行可能な画像は異なっている。図18に示す画像選択部55aでは、図19に示す複数の画像のなかから任意の1つを選択することができるようになっている。尚、図19に示す画像は一例であり、これら画像に限定されるものではない。
図20は、フィルター設定を具体的に行うための詳細ユーザーインターフェース56であり、図7に示す設定装置4のUI生成部4aによって生成され、図1等に示す表示部5に表示される。たとえば、図18に示すフィルター設定部55cの「追加」ボタンを押すと、図20に示す詳細ユーザーインターフェース56が表示されるように構成することができる。詳細ユーザーインターフェース56には、実行するフィルター種別を選択する選択部56aと、選択部56aで選択したフィルターの各種パラメータを変更するパラメータ変更部56bとが設けられている。
図21は、フィルターの種別と、各フィルターの方向依存性を示した図である。図18に示す選択部56aでは、図21に示す複数のフィルターのなかから任意の1または複数のフィルターを選択することができる。方向依存性を有するフィルターとしては、たとえば、膨張フィルター(X/Y方向)、収縮フィルター(X/Y方向)、エッジ抽出フィルター、リアルタイム濃淡補正フィルター(X/Y方向)、ぼかし処理フィルター(X/Y方向)、線欠陥抽出フィルター(角度)等がある。これらのフィルター処理は、位置補正の結果を用いて画像を事前に補正することによって、各フィルターの持つ方向別依存性の効果を発揮するフィルター設定であり、DeviceXMLファイルに含まれる設定項目である。
図22は、位置補正後に方向別フィルターを実行するフローチャートを示している。スタート後のステップSC1では撮像を行う。その後、ステップSC2ではステップSC1で撮像した画像に対してパターンサーチを行ってから、ステップSC3でワークWが特定の方向を向くように位置補正を行う。ステップSC4では画像演算を行う。この中の一部の処理として方向別フィルター処理が行われる。その後、ステップSC5に進んで生成された画像を通信部43を介して設定装置4等に出力する。
図23は、図18に示すフィルター設定用ユーザーインターフェース55の領域設定部55dで1つの画像のなかに複数の領域(領域1及び領域2)が設定されている場合に、位置補正後に方向別フィルターを実行するフローチャートである。スタート後のステップSD1で撮像を行うと、たとえば領域1についてはステップSD2においてパターンサーチを行った後、位置補正を行い、領域2については、ステップSD3においてパターンサーチを行った後、位置補正を行う。その後、ステップSD4では、領域1について画像演算を行った後、生成された画像を出力し、ステップSD5では、領域2について画像演算を行った後、生成された画像を出力する。
つまり、設定装置4は、フィルター設定用ユーザーインターフェース55及び詳細ユーザーインターフェース56を表示し、当該ユーザーインターフェース55、56上で使用者により設定されたサーチ設定及びフィルター設定を実現するための設定内容と、当該設定内容が格納される場所を示すレジスタ情報とを撮像装置3に送信可能に構成されている。撮像装置3は、設定装置4から送信された設定内容とレジスタ情報とを受信すると、設定内容を対応するレジスタ情報が示す場所に格納するとともに、撮像画像に対しサーチ設定に基づくワークWの位置補正を行い、当該サーチ設定による位置補正の結果に基づいてフィルター処理を実行するように構成されている。これにより、ワークWの撮像時の位置に依存するフィルター処理の効果が十分に得られるようになる。
(移動体追従)
フォトメトリックステレオやマルチスペクトルの原理に基づいて検査用画像を生成する場合は、1回のトリガ信号で複数の撮像処理を実行し、得られた複数の画像を合成することになる。この場合、複数の撮像処理の間でワークWが移動していると、撮像後の合成処理が正しく行えないので、画像ごとのずれ量を検知する必要がある。このずれ量検知のためのサーチをサーチユニットで行うことができ、検知したずれ量に基づいてずれ量の補正を行ってから複数の画像の合成処理を実行する。
フォトメトリックステレオやマルチスペクトルの原理に基づいて検査用画像を生成する場合は、1回のトリガ信号で複数の撮像処理を実行し、得られた複数の画像を合成することになる。この場合、複数の撮像処理の間でワークWが移動していると、撮像後の合成処理が正しく行えないので、画像ごとのずれ量を検知する必要がある。このずれ量検知のためのサーチをサーチユニットで行うことができ、検知したずれ量に基づいてずれ量の補正を行ってから複数の画像の合成処理を実行する。
合成処理は、画像演算ユニットで行うことができる。複数の撮像画像を合成するための合成設定が設定項目としてDeviceXMLファイルに含まれている。したがって、撮像装置3が撮像した撮像画像を外部に出力する前に、当該撮像画像に対して適用される処理に関する設定項目として、複数の撮像画像を合成する合成設定がDeviceXMLファイルには含まれることになる。
図24は、移動体追従を行う場合のフローチャートであり、ステップSE1の撮像ステップにおいて、プライベートフローチャートを実行することで、複数回の撮像処理を行うとともに、各画像でパターンサーチを行う。その後、ステップSE2では、複数の画像のずれ量を考慮して合成処理を行う。ステップSE3では合成後の画像を出力する。また、右に示すフローチャートのように、ステップSe1を経てステップSe2で撮像を行い、ステップSe3でパターンサーチを行い、これを所定回数繰り返すようにしてもよい。
また、設定装置4は、使用者によって合成設定を行うためのユーザーインターフェースを表示部5に表示させることができるとともに、このユーザーインターフェース上で使用者により設定された合成設定を実現するための設定内容と、当該設定内容が格納される場所を示すレジスタ情報とを撮像装置3に送信可能に構成されている。撮像装置3は、設定装置4から送信された設定内容とレジスタ情報とを受信し、設定内容を、対応するレジスタ情報が示す場所に格納するとともに、複数の撮像画像を合成する合成処理を実行するように構成されている。
(帳票出力)
帳票とは、GenICam規格に対応した撮像装置3の設定内容をテキスト形式で出力したものである。個々の設定項目は、設定名と設定値の組で表現されており、これがリスト形式で羅列される。本実施形態では、画像検査アプリケーション400及び設定アプリケーション40が設定装置4で動作するようになっており、この設定装置4と撮像装置3とを上述したように標準化規格で接続している。よって、設定した内容を撮像装置3から設定装置4側に読み出し、読み出した内容を設定装置4からテキスト形式で出力して設定装置4側で管理・保存しておき、必要に応じて、設定装置4側から撮像装置3側に対して書き戻せるようにしておく必要がある。
帳票とは、GenICam規格に対応した撮像装置3の設定内容をテキスト形式で出力したものである。個々の設定項目は、設定名と設定値の組で表現されており、これがリスト形式で羅列される。本実施形態では、画像検査アプリケーション400及び設定アプリケーション40が設定装置4で動作するようになっており、この設定装置4と撮像装置3とを上述したように標準化規格で接続している。よって、設定した内容を撮像装置3から設定装置4側に読み出し、読み出した内容を設定装置4からテキスト形式で出力して設定装置4側で管理・保存しておき、必要に応じて、設定装置4側から撮像装置3側に対して書き戻せるようにしておく必要がある。
ところが、フォトメトリックステレオの原理、デフレクトメトリの原理に基づいて検査用画像を生成する場合や、マルチスペクトルイメージングにより検査用画像を生成する場合は、設定項目が多くなるとともに、順序性が必要になる。従って、設定項目が複雑化することが考えられる。本実施形態では、複雑な設定項目の構造を簡単に帳票出力できる機能を搭載している。これは、図7に示す帳票出力部4bによって実現される機能である。
帳票を出力する際、単にレジスタ値をレジスタアドレスの小さい順で書き出す方法があるが、設定内容を正しく復元するには、レジスタ間の設定順序を守って各レジスタを設定していく必要がある。そのため、予め正しい設定順序で帳票に書き出しておくのが好ましい。
設定順序には、以下(1)、(2)のようなものがある。
(1)あるレジスタを有効にすることで他のレジスタが設定可能になる場合
たとえば、GenICamの標準規格で定義されているレジスタの例として、フレームレートの設定項目がある。使用者が任意のフレームレートを設定したい場合、まずフレームレートを設定可能にするためのレジスタを制御する必要がある。フレームレートを設定不可のままとした場合、撮像装置3は内部的に決められているフレームレートで動作することになる。つまり、フレームレートを設定可能にするレジスタを有効にすることで、フレームレートの設定項目のレジスタが設定可能になる。よって、まず、フレームレートを設定可能にするレジスタの設定を書き出し、その後にフレームレートの設定項目のレジスタを書き出す必要がある。
(1)あるレジスタを有効にすることで他のレジスタが設定可能になる場合
たとえば、GenICamの標準規格で定義されているレジスタの例として、フレームレートの設定項目がある。使用者が任意のフレームレートを設定したい場合、まずフレームレートを設定可能にするためのレジスタを制御する必要がある。フレームレートを設定不可のままとした場合、撮像装置3は内部的に決められているフレームレートで動作することになる。つまり、フレームレートを設定可能にするレジスタを有効にすることで、フレームレートの設定項目のレジスタが設定可能になる。よって、まず、フレームレートを設定可能にするレジスタの設定を書き出し、その後にフレームレートの設定項目のレジスタを書き出す必要がある。
また、デフレクトメトリの原理に基づいて形状画像を生成する際、形状画像の生成を有効にすることで形状画像の特徴サイズが設定可能になるように構成されている。よって、まず、形状画像の生成を有効にするレジスタ設定を書き出し、その後に形状画像の特徴サイズ設定レジスタを書き出す必要がある。
(2)セレクタのレジスタを書き換えると、他のレジスタの指し示す実体が切り替わる場合
本実施形態では、配列型パラメータのレジスタ消費量を減らすため、配列インデックスを意味するレジスタ(セレクタレジスタ)を別途導入している。セレクタレジスタがあれば、パラメータ本体のレジスタは1個だけ定義すれば済むからである。たとえば、端子を選択する端子セレクタと、選択された端子の信号を反転するかどうかを設定するセレクタとが上記(2)の関係になる。また、赤、緑、青のいずれかの値をとり得るホワイトバランス設定のセレクタと、選択された色のホワイトバランス設定値とが上記(2)の関係になる。したがって、セレクタレジスタの設定後に、パラメータ本体のレジスタを設定する必要がある。
(2)セレクタのレジスタを書き換えると、他のレジスタの指し示す実体が切り替わる場合
本実施形態では、配列型パラメータのレジスタ消費量を減らすため、配列インデックスを意味するレジスタ(セレクタレジスタ)を別途導入している。セレクタレジスタがあれば、パラメータ本体のレジスタは1個だけ定義すれば済むからである。たとえば、端子を選択する端子セレクタと、選択された端子の信号を反転するかどうかを設定するセレクタとが上記(2)の関係になる。また、赤、緑、青のいずれかの値をとり得るホワイトバランス設定のセレクタと、選択された色のホワイトバランス設定値とが上記(2)の関係になる。したがって、セレクタレジスタの設定後に、パラメータ本体のレジスタを設定する必要がある。
つまり、一方の設定項目の設定により他方の設定項目の有効性又は値が変化する依存関係を有する複数の設定項目が存在する。本実施形態では、上記(1)、(2)に示す順序性を考慮し、設定順序に関する逆方向の依存関係が存在しないように、予めDeviceXMLファイルにおけるレジスタの出現順序を決めておく。そして、その順序どおりに帳票に書き出すことで、複雑な設定項目の構造を正しい設定順序で帳票化することができる。
図25は、依存関係1と依存関係2の2つの依存関係を持ったレジスタが記載された帳票の例を示している。各レジスタは、関連のある者同士がカテゴリ(Category)と呼ばれるグループにまとめられて定義されている。各カテゴリを、さらに上位のカテゴリによって1つのグループにまとめることも可能である。各カテゴリと各レジスタとの関係は、図25に示すようなツリー構造になる。カテゴリは、一方の設定項目の設定により他方の設定項目の有効性又は値が変化する依存関係を有する複数の設定項目を関連度に応じて分類することによって形成されたものであるため、構造が分かり易くなる。また、カテゴリは1つの帳票のなかに複数存在している。
カテゴリによるレジスタの分類は、使用者が設定したい内容に対応するレジスタを一覧から探し出すときに有益である。よって、カテゴリの構造を無視して、レジスタの出現順序を依存関係の観点のみから正しい順序に整列してしまうと、カテゴリの構造が壊されてしまうことになり、使用者の利便性を著しく阻害することになる。よって、帳票出力部4bは、カテゴリによる分類構造を維持しながら、正しい出現順序になるようレジスタを整列させる。
具体的には、まずはツリーの末節の方から、兄弟ノードどうしが正しい出現順序になるように並べ替える。その後、ツリー上の1階層上の兄弟ノードどうしで、正しい出現順序になるように並び替えを行う。これを、ツリーの根元の方へ向かって再帰的に繰り返していく。このとき、レジスタ同士の出現順序は、両者の依存関係が必ず後方から前方への方向になるように並び替える。また、カテゴリ同士の出現順序は、カテゴリ1内のレジスタからカテゴリ2内のレジスタへの依存関係がある場合に、まずカテゴリ2が出現し、その後カテゴリ1が出現するような順序に並び替える。
また、ツリーの各階層で並び替えを行う際は、レジスタ/カテゴリ間の依存関係を有向辺とみなしたトポロジカルソートを行うようにする。トポロジカルソート自体は公知のものであり、各ノードを順序付けしておいて、いずれのノードもその出力辺の先のノードよりも前に位置するように並べることである。
次に、並び替え手順の具体例について図26及び図27に基づいて説明する。この例では、カテゴリ及び設定項目が階層的な依存関係を有している。
手順1:最も末節のカテゴリ2−2とレジスタ2−3の順序を入れ替える。これにより、図26に示すように、レジスタ3−0からレジスタ2−3への依存関係2が、後方から前方への方向に正しく向くようになる。
手順2:1階層上のカテゴリ1−0とレジスタ1−1の順序を入れ替える。これにより、図27に示すように、レジスタ2−1からレジスタ3−0への依存関係1が、後方から前方への方向に正しく向くようになる。更に上の階層があれば同様に順序を入れ替えればよい。
図28は、並べ替え前後のレジスタの出現順序と、出力された帳票とを示す図である。LtrxSh1ImageEnableは、フォトメトリックステレオの原理に基づいて形状画像を生成するか否かを設定するレジスタである。LineInverterは、選択した端子の出力信号を反転させるか否かを設定するレジスタである。LineSelecterは、端子を選択するレジスタである。LtrxSh1FeatureSizeは、形状画像の特徴サイズ設定レジスタである。並べ替え前のレジスタの出現順序では、LineSelecterの前に、LineInverterが出現しており、出現順序が設定順序とは異なっている。このため、レジスタの順序を設定順序となるように並べ替えてから帳票として出力する。「出力された帳票」として示すように、セレクタの個所では、セレクタのインデックスの数だけ出力処理をループさせる。
レジスタ定義順序は、例えば設定装置4の帳票出力部4bによって自動的に並べ替えられるようにすることができる。帳票をまさに出力するタイミングで並び替えてもよいし、事前に並び替え済みのDevice XMLファイルをコントローラに保持させ、PC側から接続されたら、そのDevice XMLファイルをそのまま返すようにすることもできる。レジスタ定義順序を並び替えるタイミングは特に限定されるものではない。
図29は、フォトメトリックステレオの撮像モードの設定をするためのレジスタ構造を示している。フォトメトリックステレオのモードでは、照明装置2による照明の点灯方向を切り替えながら複数枚の画像を撮像し、それら複数の画像データを合成してワークWの表面の傷や凹凸を強調した検査用画像を作り出すモードである。また、フォトメトリックステレオのモードは、上述した移動体追従という機能も備えている。移動体追従が有効の場合、ワークWの移動量を算出するための画像を追加で撮像することで、ワークWが移動中でも各画像を正しく合成できるようになる。ワークWの移動量を算出するための画像は、たとえば1枚目の撮像を開始した時点の画像と、最終枚の画像を撮像した時点の画像とすることができる。
フォトメトリックステレオのモードでは、ある画像が先に撮像されて存在していることが前提の上で、さらにその画像を設定装置4に対して出力するかどうかを選択する必要がある、というように、レジスタ間の設定順序を守る必要がある。つまり、図30に矢印で示すように、出力するかどうかのレジスタから撮像するかどうかのレジスタへ、前方から後方への方向の依存関係が存在しており、この例では、レジスタの前後関係が設定順(入力順)となっていない。従って、この順序のまま出力された帳票を入力しようとすると、入力の途中でエラーが発生してしまい、設定を完了することができない。
本実施形態では、上述した手順によってレジスタの並べ替えを自動的に行うことができる。図31は、図30に示す複数のレジスタの並べ替えを行った状態を示している。この定義順序は、使用者により設定されるべき順序(設定順序)であるため、出力された帳票に入力する際にエラーが発生することはない。
したがって、設定装置4は、一方の設定項目の設定により他方の設定項目の有効性又は値が変化する依存関係を有する複数の設定項目を関連度に応じて分類することによって形成された複数のカテゴリ間と、各設定項目間との依存関係に基づいて、設定順序に従って各設定項目が記述された帳票を出力するように構成されている。これにより、帳票には、複数のカテゴリ間と、各設定項目間との依存関係に基づいて、設定順序に従って各設定項目が記述されることになるので、帳票が簡単になるとともに、設定内容が誤って復元されにくくなる。
(設定アプリケーションと画像検査アプリケーションとの関係)
図32は、設定アプリケーション40の設定用ユーザーインターフェース50と、画像検査アプリケーション400の検査用インターフェース60との表示例を示す図である。設定用ユーザーインターフェース50は、図13に示すものと同様に構成することができる。設定用ユーザーインターフェース50上で使用者が各種操作(調整や指示の操作)を行うと、図7に示す通信部43を介して撮像装置3に送信される。一方、画像検査アプリケーション400の画像取得要求は、図7に示す中継器45を介して設定アプリケーション40に送信され、設定アプリケーション40は設定用ユーザーインターフェース50に表示可能な画像データを、中継器45を介して画像検査アプリケーション400に提供する。画像検査アプリケーション400は、検査用インターフェース60に設けられている画像表示領域60aに、中継器45を介して送られてきた画像を表示するとともに、当該画像の検査を実行する。検査用インターフェース60には、検査結果を表示するための結果表示領域60b等が設けられている。
図32は、設定アプリケーション40の設定用ユーザーインターフェース50と、画像検査アプリケーション400の検査用インターフェース60との表示例を示す図である。設定用ユーザーインターフェース50は、図13に示すものと同様に構成することができる。設定用ユーザーインターフェース50上で使用者が各種操作(調整や指示の操作)を行うと、図7に示す通信部43を介して撮像装置3に送信される。一方、画像検査アプリケーション400の画像取得要求は、図7に示す中継器45を介して設定アプリケーション40に送信され、設定アプリケーション40は設定用ユーザーインターフェース50に表示可能な画像データを、中継器45を介して画像検査アプリケーション400に提供する。画像検査アプリケーション400は、検査用インターフェース60に設けられている画像表示領域60aに、中継器45を介して送られてきた画像を表示するとともに、当該画像の検査を実行する。検査用インターフェース60には、検査結果を表示するための結果表示領域60b等が設けられている。
また、設定アプリケーション40と画像検査アプリケーション400とが中継器45を介して接続されるので、画像検査アプリケーション400を起動させているときに、アプリケーションの切替を行うことなく、画像検査アプリケーション400上の操作により、撮像装置3が出力する画像の調整を実行することが可能になる。
画像検査アプリケーション400を起動させたとき、設定用ユーザーインターフェース50を表示させることなく、検査用インターフェース60のみ表示部5に表示させてもよいし、設定用ユーザーインターフェース50と検査用インターフェース60の両方を表示部5に表示させてもよい。
(実施形態の作用効果)
以上説明したように、この実施形態によれば、標準化規格に適合した撮像装置3で複数の撮像画像を合成することができるので、例えば、フォトメトリックステレオやデフレクトメトリの原理を利用した検査画像の生成や、マルチスペクトルイメージング等を行うことができる。
以上説明したように、この実施形態によれば、標準化規格に適合した撮像装置3で複数の撮像画像を合成することができるので、例えば、フォトメトリックステレオやデフレクトメトリの原理を利用した検査画像の生成や、マルチスペクトルイメージング等を行うことができる。
また、標準化規格に適合した撮像装置3に対して多段階の処理を順序立てて行わせることができ、撮像装置3の機種選定の自由度向上と、画像検査の精度向上とを両立させることができる。
また、特定された処理を実行するための設定パラメータを撮像装置3の内部メモリに動的に展開するようにしたので、標準化規格に適合した撮像装置3に対して柔軟な機能拡張を実現しながら、撮像装置3のメモリ使用量を抑制できる。
また、撮像画像中のワークWの位置補正を行った後に位置補正の結果に基づいてフィルター処理を行うことができるので、ワークWの撮像時の位置や向きに依存するフィルター処理の効果を十分に得ることができる。
また、依存関係を有する複数の設定項目を関連度に応じて分類して複数のカテゴリを形成し、複数のカテゴリ間と各設定項目間との依存関係に基づいて、設定順序に従って各設定項目が記述された帳票を出力することができる。これにより、標準化規格に適合した撮像装置3と設定装置4との間でやり取りを行う帳票を簡単に出力することができ、実装の容易化を図ることができるとともに、設定内容が誤って復元されないようにすることができる。
また、画像検査アプリケーション400が起動されると、使用者による操作に基づいて、設定アプリケーション40内に仮想的に設けられた中継器45を介して撮像装置3との通信を実行することができるので、設定アプリケーション40と画像検査アプリケーション400とを切り替えることなく、両アプリケーション40、400で調整を同時に実行することができ、調整時の操作を簡単にすることができる。
上述の実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内のものである。
以上説明したように、本発明は、たとえばワーク等の検査対象物を検査する場合に利用することができる。
1 画像検査システム
2 照明装置
2a 発光部
2b 照明制御部
3 撮像装置
4 設定装置
4a UI生成部
4b 帳票出力部
5 表示部
6 キーボード
7 マウス
8 外部制御機器
31 カメラ
32 集光系光学系
33 撮像制御部
40 画像検査アプリケーション
50 設定用ユーザーインターフェース
200 照明装置
201〜204 第1〜第4発光部
205 照明制御部
W ワーク(検査対象物)
2 照明装置
2a 発光部
2b 照明制御部
3 撮像装置
4 設定装置
4a UI生成部
4b 帳票出力部
5 表示部
6 キーボード
7 マウス
8 外部制御機器
31 カメラ
32 集光系光学系
33 撮像制御部
40 画像検査アプリケーション
50 設定用ユーザーインターフェース
200 照明装置
201〜204 第1〜第4発光部
205 照明制御部
W ワーク(検査対象物)
Claims (7)
- 検査対象物を撮像する画像検査装置用撮像装置と、当該撮像装置とネットワークを介して接続され、前記撮像装置の設定を行う設定装置とを備え、検査対象物の検査を行う画像検査システムであって、
前記設定装置は、前記撮像装置から出力される画像を調整するための設定を行う設定アプリケーションと、前記撮像装置から出力される画像に対する検査を行う検査アプリケーションとが実行可能な処理部と、前記撮像装置と通信するための通信部とを備え、
前記処理部は、前記設定アプリケーションが起動されると、使用者による操作に基づいて、前記通信部を介して前記撮像装置が出力する画像の調整及び画像の取得を実行する一方、前記検査アプリケーションが起動されると、使用者による操作に基づいて、前記設定アプリケーション内に仮想的に設けられた中継器を介して前記撮像装置との通信が実行可能であるとともに、取得した画像に対して検査を実行するように構成されていることを特徴とする画像検査システム。 - 請求項1に記載の画像検査システムにおいて、
前記処理部は、前記検査アプリケーションで受け付けた使用者による指示を、前記中継器を介して前記撮像装置に送信するように構成されていることを特徴とする画像検査システム。 - 請求項1または2に記載の画像検査システムにおいて、
前記処理部は、前記検査アプリケーションからの画像取得要求を、前記中継器を介して前記撮像装置に送信するように構成され、
前記撮像装置は、前記中継器を介して送信された前記画像取得要求に基づいて画像を出力するように構成されていることを特徴とする画像検査システム。 - 請求項1から3のいずれか1つに記載の画像検査システムにおいて、
前記処理部は、前記撮像装置から出力された画像を受け付け、当該画像を、前記中継器を介して前記検査アプリケーションに提供するように構成されていることを特徴とする画像検査システム。 - 請求項1から4のいずれか1つに記載の画像検査システムにおいて、
前記処理部は、前記撮像装置から出力されかつ前記設定アプリケーション上に表示可能な画像を、前記中継器を介して前記検査アプリケーションに提供するように構成されていることを特徴とする画像検査システム。 - 請求項1から5のいずれか1つに記載の画像検査システムにおいて、
前記処理部は、前記検査アプリケーションが起動されると、前記設定アプリケーションを起動して前記検査アプリケーションを前記中継器に接続するように構成されていることを特徴とする画像検査システム。 - 請求項1から6のいずれか1つに記載の画像検査システムにおいて、
前記検査アプリケーションは、前記撮像装置から出力される画像を調整可能に構成されていることを特徴とする画像検査システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019072785A JP2020169950A (ja) | 2019-04-05 | 2019-04-05 | 画像検査システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019072785A JP2020169950A (ja) | 2019-04-05 | 2019-04-05 | 画像検査システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020169950A true JP2020169950A (ja) | 2020-10-15 |
Family
ID=72747058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019072785A Pending JP2020169950A (ja) | 2019-04-05 | 2019-04-05 | 画像検査システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020169950A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023222169A1 (de) * | 2022-05-18 | 2023-11-23 | MICRO-EPSILON-MESSTECHNIK GmbH & Co. K.G. | Vorrichtung und verfahren zur messtechnischen erfassung von eigenschaften von messobjekten |
-
2019
- 2019-04-05 JP JP2019072785A patent/JP2020169950A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023222169A1 (de) * | 2022-05-18 | 2023-11-23 | MICRO-EPSILON-MESSTECHNIK GmbH & Co. K.G. | Vorrichtung und verfahren zur messtechnischen erfassung von eigenschaften von messobjekten |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7222796B2 (ja) | 画像検査システム及び画像検査方法 | |
JP6917781B2 (ja) | 画像検査装置 | |
JP6967373B2 (ja) | 画像検査装置 | |
JP7188870B2 (ja) | 画像検査装置 | |
US11012612B2 (en) | Image inspection system and image inspection method | |
JP6791631B2 (ja) | 画像生成方法及び検査装置 | |
JP6917780B2 (ja) | 画像検査装置 | |
JP6308880B2 (ja) | 画像検査装置 | |
CN109945794A (zh) | 图像处理系统、计算机可读记录介质及图像处理方法 | |
JP7231461B2 (ja) | 画像検査システム及び画像検査方法 | |
JP2020169950A (ja) | 画像検査システム | |
JP2018205000A (ja) | 画像検査装置 | |
JP7402745B2 (ja) | 撮像装置及び画像検査システム | |
JP7306857B2 (ja) | 画像検査システム | |
JP7306858B2 (ja) | 画像検査システム及び画像検査方法 | |
JP7222795B2 (ja) | 画像検査システム及び画像検査方法 | |
JP2020169959A (ja) | 画像検査システム及び画像検査方法 | |
JP7273659B2 (ja) | 画像計測システム | |
JP7311360B2 (ja) | 画像計測システム | |
JP2018204996A (ja) | 画像検査装置 | |
JP2018204995A (ja) | 画像検査装置 | |
JP2018205001A (ja) | 画像検査装置 | |
JP2019158711A (ja) | 画像処理システム、画像処理装置、画像処理プログラム | |
CN110278384B (zh) | 图像处理系统、图像处理装置、图像处理方法 | |
JP7474636B2 (ja) | 画像検査システム |