以下、本発明の実施形態を図面に基づいて詳細に説明する。尚、以下の好ましい実施形態の説明は、本質的に例示に過ぎず、本発明、その適用物或いはその用途を制限することを意図するものではない。
以下、本発明の実施形態を図面に基づいて詳細に説明する。尚、以下の好ましい実施形態の説明は、本質的に例示に過ぎず、本発明、その適用物或いはその用途を制限することを意図するものではない。
図1は、本発明の実施形態に係る画像処理装置1のシステム構成例を示す図である。画像処理装置1は、撮像装置2と、照明装置3と、コントローラ部4と、表示部5と、コンソール部6と、マウス7とを備えており、測定対象物Wの三次元形状を測定することによって高さ画像を得て、この高さ画像に基づいて測定対象物Wに対して各種検査を行うことができるように構成されている。
測定対象物Wは、例えばベルトコンベア等の搬送装置の載置面100に載置した状態としておき、この載置面100に載置した測定対象物Wに対して高さの測定や各種検査等を行う。高さの測定中、測定対象物Wは静止させておくのが好ましい。
画像処理装置1は、プログラマブル・ロジック・コントローラ(PLC)101に信号線101aによって有線接続することができるが、これに限らず、画像処理装置1及びPLC101に従来から周知の通信モジュールを内蔵し、画像処理装置1と、PLC101とを無線接続するようにしてもよい。PLC101は、搬送装置及び画像処理装置1をシーケンス制御するための制御装置であり、汎用のPLCを利用することができる。画像処理装置1をPLC101に接続することなく使用することもできる。
表示部5は、例えば液晶表示パネル等からなるディスプレイ装置であり、表示手段を構成している。表示部5には、例えば、画像処理装置1を操作するための操作用ユーザーインターフェース、画像処理装置1を設定するための設定用ユーザーインターフェース、測定対象物の高さ測定結果を表示するための高さ測定結果表示用ユーザーインターフェース、測定対象物の各種検査結果を表示するための検査結果表示用ユーザーインターフェース等を表示させることができる。画像処理装置1の使用者が表示部5を視認することで画像処理装置1の操作及び設定を行うことが可能になるとともに、測定対象物Wの測定結果や検査結果等を把握することができ、さらに、画像処理装置1の動作状態を把握することもできる。
図2に示すように、表示部5は、コントローラ部4が有する表示制御部46に接続されており、表示制御部46によって制御されて前記したユーザーインターフェースや高さ画像等を表示させることができるように構成されている。
コンソール部6は、使用者が画像処理装置1を操作したり、各種情報を入力するための入力手段であり、コントローラ部4に接続されている。また、マウス7も同様に使用者が画像処理装置1を操作したり、各種情報を入力するための入力手段であり、コントローラ部4に接続されている。コンソール部6及びマウス7は入力手段の一例であり、入力手段としては、例えば表示部5に設けたタッチパネルスクリーン等であってもよいし、音声入力装置であってもよく、これらを複数組み合わせて構成することもできる。タッチパネルスクリーンの場合、表示手段と入力手段とを1つのデバイスで実現できる。
コントローラ部4には、コントローラ部4の制御プログラムを生成し、記憶しておくための汎用のパーソナルコンピュータPCを接続することもできる。また、パーソナルコンピュータPCには、画像処理に関する各種設定を行う画像処理プログラムをインストールして、コントローラ部4で行う画像処理の各種設定を行うこともできる。あるいは、このパーソナルコンピュータPCで動作するソフトウェアによって画像処理の処理順序を規定する処理順序プログラムを生成することができる。コントローラ部4では、その処理順序に従って各画像処理が順次実行される。パーソナルコンピュータPCとコントローラ部4とは、通信ネットワークを介して接続されており、パーソナルコンピュータPC上で生成された処理順序プログラムは、例えば表示部5の表示態様を規定するレイアウト情報等と共にコントローラ部4に転送される。また逆に、コントローラ部4から処理順序プログラムやレイアウト情報等を取り込んで、パーソナルコンピュータPC上で編集することもできる。尚、上記プログラムは、パーソナルコンピュータPCだけでなく、コントローラ部4においても生成できるようにしてもよい。
また、コントローラ部4は専用のハードウェアで構築することもできるが、本発明はこの構成に限定されるものではない。例えば、汎用のパーソナルコンピュータPCやワークステーション等に専用の画像処理プログラムや検査処理プログラム、高さ測定プログラム等をインストールしたものをコントローラ部として機能させることもできる。この場合、パーソナルコンピュータPCやワークステーション等に、撮像装置2、照明装置3、表示部5、コンソール部6及びマウス7を接続すればよい。
また、画像処理装置1の機能については後述するが、画像処理装置1の全ての機能をコントローラ部4で実現するようにしてもよいし、汎用のパーソナルコンピュータPCで実現するようにしてもよい。また、画像処理装置1の一部の機能をコントローラ部4で実現し、残りの機能を汎用のパーソナルコンピュータPCで実現するようにしてもよい。画像処理装置1の機能は、ソフトウェアで実現することもできるし、ハードウェアの組み合わせによって実現することもできる。
撮像装置2、照明装置3、表示部5、コンソール部6及びマウス7をコントローラ部4に接続するためのインターフェースは、専用のインターフェースであってもよいし、例えば既存の通信規格、例えばイーサーネット(商品名)やUSB、RS-232C等を利用することもできる。
測定対象物Wの高さを表す高さ画像とは、図4に示す照明装置3が有する開口部30aの中心軸A(図1に示す)方向における測定対象物Wの高さを表す画像であり、距離画像ということもできる。高さ画像は、測定対象物Wの載置面(基準面ともいう)100を基準とした高さとして表示することもできるし、照明装置3との前記中心軸A方向における相対距離として表示することもでき、高さに応じて各画素の濃淡値が変化する画像である。換言すれば、高さ画像は、測定対象物Wの載置面100を基準とした高さに基づいて濃淡値が決定される画像といもいえるし、照明装置3との前記中心軸A方向における相対距離に基づいて濃淡値が決定される画像ともいえる。また、高さ画像は、測定対象物Wの載置面100を基準とした高さに応じた濃淡値を有する多値画像といもいえるし、照明装置3との前記中心軸A方向における相対距離に応じた濃淡値を有する多値画像ともいえる。さらに、高さ画像は、輝度画像の画素毎に、測定対象物Wの載置面100を基準とした高さを濃淡値に変換した多値画像ともいえるし、輝度画像の画素毎に、照明装置3との前記中心軸A方向における相対距離を濃淡値に変換した多値画像ともいえる。
また、高さ画像は測定対象物Wの高さ情報を含む画像であり、例えば距離画像に光学的な輝度画像をテクスチャ情報として合成して貼り付けた三次元の合成画像も高さ画像とすることができる。高さ画像は、三次元状に表示されるものに限られず、二次元状に表示されるものも含まれる。
測定対象物の三次元形状を測定する際、高さを求めると考えるか、深さを求めると考えるかの違いで、Z軸方向の座標系が反転する。そのため、「小さな高さを求める」という計算は、「大きな深さを求める」という計算と等価になる。また、高さを求めると考える場合、高さカメラということができるが、深さを求める場合には、深さカメラということもできる。いずれにしても本実施形態を適用することができるので、以下、高さ画像に統一してその一例を説明する。
上述したような高さ画像を得る手法としては、大きく分けて2つの方式があり、一つは、通常の画像を得るための照明条件で撮像した画像を用いて距離画像を生成するパッシブ方式(受動計測方式)、もう一つは、高さ方向の計測をするための光を測定対象物Wに能動的に照射して距離画像を生成するアクティブ方式(能動計測方式)である。本実施形態では、アクティブ方式により高さ画像を得るようにしており、具体的には、パターン投影法を利用している。
パターン投影法は、測定対象物Wに投影する測定用パターン光(単にパターン光ともいう)が有するパターンの形状や位相等をずらして複数の画像を取得し、取得した複数の画像を解析することで測定対象物Wの三次元形状を得る方法である。パターン投影法には幾つか種類があり、例えば、正弦波縞模様パターンの位相をずらして複数(最低3枚)の画像を取得し、複数の画像から画素毎に正弦波の位相を求め、求めた位相を利用して測定対象物Wの表面の三次元座標を得る位相シフト法や、測定対象物Wに投影するパターン自体を撮影毎に異ならせ、例えば白黒デューティ比50%で縞幅が全体の半分、4分の1、8分の1、16分の1、…と細かくなっていく縞パターンを順次投影し、それぞれのパターンにてパターン投影画像を取得し、測定対象物Wの高さの絶対位相を求める空間コード法等がある。正弦波状のパターン光及び縞パターン光は、一次元方向に変化する周期的な照度分布を有するパターン光である。尚、測定用パターン光を測定対象物Wに「投影」することと、測定用パターン光を測定対象物Wに「照射」することとは同義である。
本実施形態に係る画像処理装置1では、上述した位相シフト法と空間コード法とを組み合わせて高さ画像を生成するが、これに限られるものではなく、位相シフト法のみで高さ画像を生成してもよいし、空間コード法のみで高さ画像を生成してもよい。また、従来から周知の他のアクティブ方式を利用して測定対象物Wの高さ画像を生成してもよい。
画像処理装置1による測定対象物Wの高さを測定する手法の概略は次の通りである。まず、照明装置3の第1投光部31及び第2投光部32でそれぞれ生成した第1測定用パターン光及び第2測定用パターン光を互いに異なる方向から測定対象物Wに照射し、測定対象物Wから反射した第1測定用パターン光を撮像装置2が受光して複数の第1パターン画像からなる第1パターン画像セットを生成するとともに、測定対象物Wから反射した第2測定用パターン光を撮像装置2が受光して複数の第2パターン画像からなる第2パターン画像セットを生成する。その後、複数の第1パターン画像セットに基づいて各画素が測定対象物Wへの第1測定用パターン光の照射角度情報を有する第1角度画像を生成するとともに、複数の第2パターン画像に基づいて各画素が測定対象物への第2測定用パターン光の照射角度情報を有する第2角度画像を生成する。次いで、第1角度画像の各画素の照射角度情報及び第2角度画像の各画素の照射角度情報と、第1投光部31及び第2投光部32の相対位置情報とにしたがって、測定対象物Wの高さを表す高さ画像を生成し、この高さ画像から測定対象物Wの高さを得る。
また、必須ではないが、この画像処理装置1においては、図4に示すように、照明装置3が第1投光部31及び第2投光部32の他に、第3投光部33及び第4投光部34を備えている。したがって、照明装置3の第3投光部33及び第4投光部34でそれぞれ生成した第3測定用パターン光及び第4測定用パターン光を互いに異なる方向から測定対象物Wに照射することもできる。この場合、測定対象物Wから反射した第3測定用パターン光を撮像装置2が受光して複数の第3パターン画像からなる第3パターン画像セットを生成するとともに、測定対象物Wから反射した第4測定用パターン光を撮像装置2が受光して複数の第4パターン画像からなる第4パターン画像セットを生成する。その後、複数の第3パターン画像に基づいて各画素が測定対象物Wへの第3測定用パターン光の照射角度情報を有する第3角度画像を生成するとともに、複数の第4パターン画像に基づいて各画素が測定対象物への第4測定用パターン光の照射角度情報を有する第4角度画像を生成する。次いで、第3角度画像の各画素の照射角度情報及び第4角度画像の各画素の照射角度情報と、第3投光部33及び第4投光部34の相対位置情報とにしたがって、測定対象物Wの高さを表す高さ画像を生成し、この高さ画像から測定対象物Wの高さを得る。
(位相シフト法)
ここで、位相シフト法について説明する。位相シフト法において、照度分布を正弦波状に変動させたパターンを有するパターン光を測定対象物に順次投影する場合、正弦波の位相の異なる3つ以上のパターンのパターン光を投影する。高さ測定点の各明度値をパターン光の投影方向とは別の角度からパターン毎に撮像した画像から得て、各明度値よりパターン光の位相値を計算する。測定点の高さに応じて、測定点に投影されたパターン光の位相が変化し、基準となる位置で反射されたパターン光により観察される位相とは異なった位相の光が観察されることになる。そこで、測定点におけるパターン光の位相を計算し、三角測量の原理を利用して、幾何関係式に代入することにより測定点の高さを計測し、これにより、測定対象物Wの三次元形状を求めることができる。位相シフト法によれば、測定対象物Wの高さを、パターン光の周期を小さくすることによって高分解能で測定することができるが、測定できる高さの範囲が、位相のずれ量で2π以内となる低い高さのもの(高低差の小さいもの)しか測定できない。そこで、空間コード法を併用する。
(空間コード法)
空間コード法によれば、光が照射される空間を、多数の断面略扇状の小空間に分け、この小空間に一連の空間コード番号を付すことができる。このため、測定対象物Wの高さが高くても、すなわち高低差が大きくても、光が照射される空間内にあれば、空間コード番号から高さが演算できる。したがって、高さの高い測定対象物Wについても全体にわたって形状を測定することができる。このように空間コード法によれば、許容高さのレンジ(ダイナミックレンジ)が広くなる。
(照明装置3の詳細構成)
図4に示すように、実施形態1に係る照明装置3は、照明ハウジング30と、第1投光部31と、第2投光部32と、第3投光部33と、第4投光部34と、投光制御部39とを備えている。図1に示すように照明装置3とコントローラ部4とは接続線3aによって接続されているが、照明装置3とコントローラ部4とは無線接続するようにしてもよい。
照明装置3は、パターン光を投影するためだけのパターン光投影専用装置としてもよいし、測定対象物Wに一様光を照射する一様光照明を兼用する装置としてもよい。照明装置3をパターン光投影専用装置とする場合には、パターン光投影専用装置とは別体、又はパターン光投影専用装置と一体的に一様光用照明装置を設けることができる。一様光用照明装置は、発光ダイオード、半導体レーザ、ハロゲンライト、HID等を利用することができる。
照明ハウジング30は、平面視における中心部に開口部30aを有しており、第1辺部30A、第2辺部30B、第3辺部30C及び第4辺部30Dが連続して平面視で矩形に近い形状をなしている。第1辺部30A、第2辺部30B、第3辺部30C及び第4辺部30Dは、直線状に延びているので、開口部30aも平面視で矩形に近い形状をなしている。
尚、照明ハウジング30の外形状や開口部30aの形状は、図示した形状に限られるものではなく、例えば円形等であってもよい。図1に示す開口部30aの中心軸Aは、開口部30aの中心を通り、かつ、照明ハウジング30の下面に対して直交する方向に延びる軸である。照明ハウジング30の下面が水平となるように照明装置3が設置される場合には、開口部30aの中心軸Aが鉛直に延びることになるが、照明装置3は、照明ハウジング30の下面が傾斜した状態となるように設置することもでき、この場合は、開口部30aの中心軸Aが傾斜することになる。
尚、開口部30aの中心軸Aは、厳密に開口部30aの中心を通らなくてもよく、測定対象物Wの大きさ等にもよるが、開口部30aの中心から数mm程度の離れたところを通る軸も中心軸Aとすることができる。つまり、開口部30aの中心及びその近傍を通る軸を中心軸Aと定義することができる。中心軸Aの延長線は、載置面100と交差することになる。
以下の説明では、便宜上、図4に示すように第1辺部30A側を照明装置3の左側といい、第2辺部30B側を照明装置3の右側といい、第3辺部30C側を照明装置3の上側といい、第4辺部30D側を照明装置3の下側というものとするが、これは照明装置3の使用時の方向を特定するものではなく、使用時には照明装置3がどのような向きであってもよい。
照明ハウジング30の第1辺部30A、第2辺部30B、第3辺部30C及び第4辺部30Dの内部は中空状である。第1辺部30Aの内部には、第1投光部31が収容されている。第2辺部30B、第3辺部30C及び第4辺部30Dの内部には、それぞれ、第2投光部32、第3投光部33及び第4投光部34が収容されている。第1投光部31と第2投光部32とがペアであり、第3投光部33と第4投光部34とがペアである。また、照明ハウジング30の内部には、投光制御部39も収容されている。
第1辺部30Aと第2辺部30Bとは、中心軸Aを挟んで対向するように配置されているので、第1投光部31及び第2投光部32は中心軸Aを対称の中心として左右対称(点対称)となるように配置されることになり、中心軸Aの周方向に互いに離れることになる。
また、第3辺部30Cと第4辺部30Dも中心軸Aを挟んで対向するように配置されているので、第3投光部33及び第4投光部34は中心軸Aを対称の中心として上下対称(点対称)となるように配置されることになり、中心軸Aの周方向に互いに離れることになる。平面視では、中心軸Aを中心として右周りに、第1投光部31、第3投光部33、第2投光部33、第4投光部34の順に4つの投光部が配置されることになる。
図5は、本発明の実施形態2に係る照明装置3の底面図である。この実施形態2では、照明ハウジング30の内部に8つの投光部31~38が設けられている。第1投光部31と第3投光部33との間に第5投光部35が設けられ、第2投光部32と第4投光部34との間に第6投光部36が設けられ、第2投光部32と第3投光部33との間に第7投光部37が設けられ、第1投光部33と第4投光部34との間に第8投光部38が設けられている。第5投光部35と第6投光部36とがペアであり、中心軸Aを対称の中心として互いに対称となるように配置される。また、第7投光部37と第8投光部38とがペアであり、中心軸Aを対称の中心として互いに対称となるように配置される。平面視では、中心軸Aを中心として右周りに、第1投光部31、第5投光部35、第3投光部33、第7投光部37、第2投光部32、第6投光部36、第4投光部34、第8投光部38の順に配置されることになる。
また、実施形態2の照明装置3では、測定対象物Wを一様光で照明して観察するための一様光用照明50(リング照明)が投光部31~38とは別に設けられている。一様光用照明50は、照明ハウジング30の底部における外周部に設けられており、第1~第8投光部31~38を囲む環状をなしている。図6に示すように、一様光用照明50は、基板51aと、基板51aに実装されて一様光を出射する複数の一様光用発光ダイオード51bと、カバー部材52とを有している。基板51aは、第1~第8投光部31~38を囲むように配置されている。複数の一様光用発光ダイオード51bは、第1~第8投光部31~38を囲むように、周方向に互いに間隔をあけて設けられている。カバー部材52は、一様光用発光ダイオード41bを光出射面側から覆うように設けられており、透光性を有するとともに、光を拡散させる性質を持った材料で構成されている。図示しないが、一様光用照明を図4に示す実施形態1の照明装置3に設けることもできる。
(第1投光部31の構成)
実施形態1の照明装置1の第1~第4投光部31~34は、実施形態2の照明装置1の第1~第4投光部31~34と同じである。
図6に示すように、第1投光部31は、ケーシング31aと、拡散光を出射する第1光源となる第1LED(発光ダイオード)31bと、該第1LED31bから出射された拡散光を受けて互いに異なるパターンを有する複数の第1測定用パターン光を順次生成して測定対象物Wに照射する第1LCD(第1パターン光生成部)31dとを備える。LCDは、liquid crystal display、即ち液晶パネルを含む液晶ディスプレイである。第1LCD31dは、説明の便宜上、「LCD」と表示しているが、LCP、即ち、液晶パネル(第1液晶パネル)であってもよい。光源は、発光ダイオードに限られるものではなく、拡散光を出射する発光体であればよい。
第1LCD31dは、第1LED31bに対応して配置されており、第1LED31bの光出射面が第1LCD31dの方を向いている。これにより、第1LED31bから出射された光が第1LCD31dに確実に入射することになる。発光ダイオードとしては、例えば白色発光ダイオードを用いることができる。第1LCD31dは、照明ハウジング30の開口部30aの中心軸Aと直交する平面(図6に仮想線200で示す)内に、当該第1LCD31dの表示面(出射面)が位置するように設けられており、平面200と第1LCD31dの表示面とが同一平面に位置している。
第2投光部32は第1投光部31と同様に構成されている。具体的には、図6に示すように、第2投光部32は、ケーシング32aと、基板32cに実装された第2LED32bと、第2LED32bに対応して配置された第2LCD(第2パターン光生成部)32dとを備えている。第1LED31bと、第2LED32bとが対をなしている。第1LED31bと、第2LED32bとは、互いの相対位置を補正可能に照明ハウジング30に取り付けられている。相対位置の補正の詳細については後述する。
以下、第1投光部31の構成について詳細に説明する。第1投光部31の第1LED31bは、複数あるとともに、照明ハウジング30内において上部に設けられている。第1LED31bの配列方向は、光の出射方向と交差する方向である。
すなわち、ケーシング31aの内部には、その上方に基板31cが配設されている。基板31cの下に向く面には、複数の第1LED31bが実装されている。複数の第1LED31bは直線状に並ぶように配置することもできるし、隣合う第1LED31bが上下方向にずれるように配置することもできる。一次元方向に変化する周期的な照度分布を有するパターン光を生成する場合、第1LED31bは、パターン光の照度が変化しない方向に並ぶように配置されることになる。複数の第1LED31bを図4に示す照明ハウジング30の第1辺部30Aの長手方向に沿って並べることで、第1LED31bから出射する光は、第1辺部30Aの長手方向にほぼ連続した光になる。
複数の第1LED31bの光の出射方向は同じにすることができ、この実施形態では、図1に左下がりの斜線で示すように、第1LED31bの直下から少なくとも照明ハウジング30の開口部30aの中心軸Aよりも第2辺部30B側(照明装置3の右側)に達するように設定されている。複数の第1LED31bによる光の照射範囲は、撮像装置2による撮像視野よりも広く設定されている。
複数の第1LED31bの光の出射範囲について具体的に説明する。図7に示すように、第1投光部31と第2投光部32との離間方向をX方向とし、上下方向をZ方向とする。照明装置3は、該照明装置3の下面が水平(載置面100と平行)となるように配置され、測定対象物Wの載置面100から上方に「1」だけ離れて設置されているものとする。X=0を第1LED31bの直下とし、第1LED31bから(X,Z)=(0,0)の点Cまで延びる直線Dを引く。また、第1LED31bから(X,Z)=(1,0)の点Eまで延びる直線Fを引く。このとき、複数の第1LED31bの光の出射範囲は、直線Dと直線Fとで挟まれた領域となるように、第1LED31bの向きが設定されるとともに、第1LED31bの光源用レンズが設計されている。
図6に示すように、第1LCD31dは、第1LED31bから下方に離れた状態で照明ハウジング30に設けられている。第1LCD31dの駆動方式はTN(Twisted Nematic)方式である。したがって、第1LCD31dに印加される電圧が0のとき液晶組成物(液晶分子)が表示面と平行に並んで第1LED31bの光を通過させる一方、この状態から電圧を上げていくと、液晶組成物が表示面に対して垂直に立ち上がり、最大電圧になったときに第1LED31bの光を遮ることになる。
(LEDとLEDの相対位置)
第1LED31bと第1LCD31dとの相対的な位置関係について説明する。図8に示すように、第1LCD31dの表示面は、照明ハウジング30の開口部30aの中心軸Aと直交する平面200と同一面上に位置しており、第1LCD31dにおける照明ハウジング30の径方向外方の端部を外端部側とし、第1LCD31dにおける照明ハウジング30の径方向内方の端部を内端部側とする。第1LED31bは、第1LCD31dにおける外端部側の上方に配置されている。図8における符号SEGは、第1LCD31dを構成するセグメントである。黒色のセグメントSEGは光を透過させないセグメントであり、白色のセグメントSEGは光を透過させるセグメントである。このように、第1LCD31dの表示面に、黒色のセグメントSEGと白色のセグメントSEGとを交互に形成することで、第1LCD31dを透過した光は、その下方に図示するように光の強度が周期的に変化する正弦波状のパターン光となる。これがパターン光の生成原理である。黒色のセグメントSEGと白色のセグメントSEGの個数、間隔、形成位置は任意に変更することができ、波の周期、位相が異なる複数種のパターン光を生成することができる。
黒色のセグメントSEGの個数と、白色のセグメントSEGの個数は同じにすることができる。したがって、パターン光の生成時、第1LCD31dには、光を透過させる領域及び光を透過させない領域を等幅にして交互に形成することができる。これは、後述する投光制御部39によって行われる。
ここで、液晶パネルが持つ一般的な性質について説明すると、液晶パネルの表示面の法線と平行に光を入射させると光の透過率が最も高くなり、表示面の法線と光の入射方向とのなす角度が大きくなればなるほど光の透過率が低くなる。液晶パネルは、このような光の入射方向によって光の透過率が変化する角度特性を有しているので、液晶パネルを用いてパターン光を生成すると、パターン光の位置に応じた輝度ムラが発生する懸念がある。
このことに対し、本実施形態では、第1LED31bから出射された光が第1LCD31dに対して当該第1LCD31dの有効角度範囲内で入射されるように、第1LCD31dと、第1LED31bとの相対位置が設定されている。これにより、第1LED31bから出射された拡散光が第1LCD31dの有効角度範囲内で当該第1LCD31dに入射するので、第1LCD31dが持つ角度特性に起因するパターン光の位置に応じた輝度ムラが発生しにくくなる。
第1LCD31dの有効角度範囲とは、パターン光のコントラストを所定以上確保可能な角度範囲とすることができる。パターン光のコントラストが所定以上というのは、測定対象物Wから反射したパターン光を撮像装置2が受光した際に、検査対象画像を生成可能なパターン画像を撮像装置2によって得ることができる程度である。すなわち、第1LCD31dが持つ角度特性に起因して、第1LCD31dの表示面の法線と光の入射方向とのなす角度が大きくなればなるほど光の透過率が低くなるので、光の入射角度によってはパターン光のコントラストの低下を招くことが考えられるが、この実施形態では、撮像装置2によって撮像されたパターン画像に基づいて測定対象物Wの高さ情報を得ることが可能な程度のコントラスト以上となるように、第1LCD31dと第1LED31bとの相対位置を設定している。
また、第1LCD31dの有効角度範囲は次のように定義することもできる。例えば、光を最も通しやすい液晶分子配列状態にある第1LCD31dを第1LED31bから出射された光が通過する際に、当該光が減衰する減衰率が10%以下となる角度範囲を、第1LCD31dの有効角度範囲とする。光の減衰率が10%以下となるように第1LCD31dと第1LED31bとの相対位置を設定することで、撮像装置2によって撮像されたパターン画像に基づいて測定対象物Wの高さ情報を得ることが可能な程度のコントラストを確保することができる。
光を最も通しやすい液晶分子配列状態とは、液晶分子の配向が光路を最も遮らない方向(上述した電圧0のとき)にある状態である。尚、前記減衰率が5%以下となるように、第1LCD31dの有効角度範囲を設定することもできる。
また、図8に示すように、第1LED31bの中心(光出射面の中心)から第1LCD31dの表示面に向けて引いた法線201と、当該第1LED31bの中心から第1LCD31dの有効角度範囲における照明ハウジング30の径方向内方に位置する内端部側の境界に向けて引いた内側仮想線202とのなす角度が50°以下となるように、第1LED31bと第1LCD31dとの相対位置を設定することができる。これにより、第1LED31bから出射された光が第1LCD31dに入射する際の角度範囲がTN方式の液晶パネルに最適な範囲となり、その結果、パターン光のコントラストを所定以上確保することができる。法線201と内側仮想線202とのなす角度αは45°以下にすることができ、また、40°以下にすることもできる。
(LED駆動回路及びLCD駆動回路)
図9に示すように、第1投光部31には、第1LED31bを駆動する第1LED駆動回路(光源駆動回路)31eと、第1LCD31dを駆動する第1LCD駆動回路(液晶パネル駆動回路)31fとが設けられている。第1LED駆動回路31eは、第1LED31bに対する供給電流値を変更するための回路であり、投光制御部39によって制御される。よって、第1LED31bは、第1LED駆動回路31eを介して投光制御部39によって制御されることになる。第1LED駆動回路31eによる電流値制御は、DAC制御である。
第1LCD駆動回路31fは、第1LCD31dを構成する各セグメントSEG(図8に示す)に印加する電圧を変更することで各セグメントSEGの液晶組成物の配向を変化させるための回路である。この実施形態では、一例として、第1LCD31dを構成するセグメントSEGが64個あり、64個のセグメントSEGにそれぞれ個別に印加する電圧を変更することができるようになっており、セグメントSEG毎に、第1LED31bから出射された光を通過させる状態と通過させない状態とに切り替えることができる。第1LCD駆動回路31fは、第1LED駆動回路31eと共通の投光制御部39によって制御される。よって、第1LCD31dは、第1LCD駆動回路31fを介して投光制御部39によって制御されることになる。また、第1LED駆動回路31eと第1LCD駆動回路31fとは、共通の投光制御部39によって制御されるので、第1LED駆動回路31eと第1LCD駆動回路31fとを精密に動機させることができる。
投光制御部39によって制御された第1LCD駆動回路31fが第1LCD31dを駆動することで、第1LED31bから出射された拡散光を受けて互いに異なるパターンを有する複数の第1測定用パターン光を順次生成して測定対象物Wに照射することができる。複数の第1測定用パターン光には、空間コード法で用いる空間コード(グレーコード)用のパターン光と、位相シフト法で用いる周期的な照度分布を有するパターン光とが含まれている。
空間コード用のパターン光を生成する場合は、白黒デューティ比50%で縞幅が全体の半分、4分の1、…と細かくなっていく縞パターンを生成する。このように第1LCD31dを制御することで、空間コード用のパターン光を順次生成することができる。
また、位相シフト法用のパターン光の生成の場合は、正弦波縞模様パターンの位相をずらして複数生成する。この例の場合、LCD表示は2値制御にして矩形波のパターンを生成しているが、図8に示すように、第1LCD31dで生成された矩形波のパターンが光照射面上でぼけることによって正弦波状のパターンを得ることができるようになっている。より詳細には、液晶パネルに形成された矩形波上のパターンと、面積を持った発光ダイオードの発光パターンとが組み合わさることで、正弦波に近いパターンを得ることができる。仮にLEDではなく理想的な点光源または線光源だと正弦波パターンではなく、2値パターンが得られる。このため、正弦波パターンを得るためには、LED光源サイズとLCD開口サイズとのバランスが重要になる。またこの例では8つのパターン光を生成している。このように第1LCD31dを制御することで、位相シフト法用のパターン光を順次生成することができる。
つまり、位相シフト法及び/又は空間コード法にしたがう複数のパターン光を順次生成するように、投光制御部39が第1LED31b及び第1LCD31dを制御する。複数のパターン光の内の一のパターン光の投影が完了すると、次のパターン光の投影を行い、この処理を繰り返すことによって全てのパターン光の投影を行う。第1LCD31dによるパターンの形成処理については後述する。
尚、空間コード用のパターン光の数、位相シフト法用のパターン光の数は、図示した数に限られるものではない。
(第2投光部32の構成)
図1に示すように、第2投光部32の第2LED32bの光の出射範囲は、第2LED32bの直下から少なくとも照明ハウジング30の開口部30aの中心軸Aよりも第1辺部30A側(照明装置3の左側)に達するように設定されている。すなわち、第2投光部32の第2LED32bの光の出射範囲は、照明ハウジング30の開口部30aの中心軸Aを対称の中心として、第1投光部31の第1LED31bの光の出射範囲と左右対称となるように設定されている。第2LED32bの光の出射範囲を、図1において右下がりの斜線で示している。
図9に示すように、第2投光部32には、第2LED32bを駆動する第2LED駆動回路(光源駆動回路)32eと、第2LCD32dを駆動する第2LCD駆動回路(液晶パネル駆動回路)32fとが設けられており、これらは投光制御部39によって制御される。第2LCD32dは、第1LCD31dと同様に駆動されるので、第2LED32bから出射された拡散光を受けて互いに異なるパターンを有する複数の第2測定用パターン光を順次生成して測定対象物Wに照射することができる。複数の第2測定用パターン光には、空間コード用のパターン光と、位相シフト法用のパターン光とが含まれている。
図1に示すように、第1投光部31から出射されたパターン光と、第2投光部32から出射されたパターン光とが、照明ハウジング30の開口部30aの中心軸A上で交差するように、略同一の広がり角を持つように、第1投光部31と第2投光部32とが中心軸Aの周方向に互いに離れた状態で、照明ハウジング30に一体的に支持されている。「一体的に支持されている」とは、第1投光部31と第2投光部32との相対的な位置関係が設置時や使用時に変化しないように、第1投光部31と第2投光部32が照明ハウジング30に対して固定されているということである。したがって、運用時には、照明ハウジング30内における第1投光部31及び第2投光部32の相対位置は変化しないので、例えば図7に示すように、第1LED31bの中心部と、第2LED32bの中心部との離間距離をlとしておけば、運用時には、第1LED31bの中心部と、第2LED32bの中心部との離間距離はlに固定される。第1LED31bの中心部と、第2LED32bの中心部との離間距離は、照明ハウジング30内における第1投光部31及び第2投光部32の相対位置情報であり、予めコントローラ部4や撮像装置2に記憶させておくことができる。尚、運用時以外の時には、第1LED31bの中心部と、第2LED32bの中心部との離間距離を変更することができる。
また、照明ハウジング30内における第1投光部31及び第2投光部32の相対位置情報は、第1LED31bの中心部と、第2LED32bの中心部との直線距離であってもよいし、各LEDから照射された光をミラー等で折り返して測定対象物Wに照射する場合には、その光の経路長を考慮した距離とすることもできる。
第1LCD31dは照明装置3の左側に配置されているので、載置面100に載置された測定対象物Wに対して左側からパターン光を投影する。また、第2LCD32dは照明装置3の右側に配置されているので、載置面100に載置された測定対象物Wに対して右側からパターン光を投影する。第1LCD31d及び第2LCD32dは測定対象物Wに対してそれぞれ異なる方向からパターン光を投影する液晶パネルである。
(第3投光部33と第4投光部34の構成)
第3投光部33及び第4投光部34は、第1投光部31と同様に構成されており、図9に示すように、第3投光部33は、第3LED(第3光源)33bと、第3LED33bに対応して配置された第3LCD(第3パターン光生成部)33dとを備え、第4投光部34は、第4LED(第4光源)34bと、第4LED34bに対応して配置された第4LCD(第4パターン光生成部)34dとを備えている。第3LED33bと、第4LED34bとが対をなしている。第3LED33bと、第4LED34bとは、互いの相対位置を補正可能に照明ハウジング30に取り付けられている。相対位置の補正の詳細については後述する。
第3LCD33dと第4LCD34dの表示面は、照明ハウジング30の開口部30aの中心軸Aと直交する平面(図6に符号200で示す面)と同一平面に位置している。
第3投光部33の第3LED33bの光の出射範囲と、第4投光部34の第4LED34bの光の出射範囲とは、第1投光部31の第1LED31bの光の出射範囲と、第2投光部32の第2LED32bの光の出射範囲との関係と同じになるように設定されている。具体的には、第3投光部33の第3LED33bの光の出射範囲は、第3LED33bの直下から少なくとも照明ハウジング30の開口部30aの中心軸Aよりも第4辺部30D側に達するように設定されている。第4投光部34の第4LED34bの光の出射範囲は、第4LED34bの直下から少なくとも照明ハウジング30の開口部30aの中心軸Aよりも第3辺部30C側に達するように設定されている。したがって、照明ハウジング30の開口部30aの中心軸Aを対称の中心としたとき、上下対称となるように、第3投光部33の第3LED33bの光の出射範囲と、第4投光部34の第4LED34bの光の出射範囲とが設定されている。
図9に示すように、第3投光部33には、第3LED33bを駆動する第3LED駆動回路(光源駆動回路)33eと、第3LCD33dを駆動する第3LCD駆動回路(液晶パネル駆動回路)33fとが設けられており、これらは投光制御部39によって制御される。第3LCD33dは、第1LCD31dと同様に駆動されるので、第3LED33bから出射された拡散光を受けて互いに異なるパターンを有する複数の第3測定用パターン光を順次生成して測定対象物Wに照射することができる。複数の第3測定用パターン光には、空間コード用のパターン光と、位相シフト法用のパターン光とが含まれている。
また、第4投光部34には、第4LED34bを駆動する第4LED駆動回路(光源駆動回路)34eと、第4LCD34dを駆動する第4LCD駆動回路(液晶パネル駆動回路)34fとが設けられており、これらは投光制御部39によって制御される。第4LCD34dは、第1LCD31dと同様に駆動されるので、第4LED34bから出射された拡散光を受けて互いに異なるパターンを有する複数の第4測定用パターン光を順次生成して測定対象物Wに照射することができる。複数の第4測定用パターン光には、空間コード用のパターン光と、位相シフト法用のパターン光とが含まれている。
第3投光部33から出射されたパターン光と、第4投光部34から出射されたパターン光とが、照明ハウジング30の開口部30aの中心軸A上で交差するように、略同一の広がり角を持つように、第3投光部33と第4投光部34とが中心軸Aの周方向に互いに離れた状態で、照明ハウジング30に一体的に支持されている。したがって、照明ハウジング30内における第3投光部33及び第4投光部34の相対位置は変化しないので、第3LED33bの中心部と、第4LED34bの中心部との離間距離を予め所定の値に設定しておけば、運用時に、第3LED33bの中心部と、第4LED34bの中心部との離間距離は所定の値に固定される。第3LED33bの中心部と、第4LED34bの中心部との離間距離は、照明ハウジング30内における第3投光部33及び第4投光部34の相対位置情報であり、予めコントローラ部4や撮像装置2に記憶させておくことができる。
第3LCD33dは照明装置3の上側に配置されているので、載置面100に載置された測定対象物Wに対してその方向からパターン光を投影する。また、第4LCD34dは照明装置3の下側に配置されているので、載置面100に載置された測定対象物Wに対してその方向からパターン光を投影する。第3LCD33d及び第4LCD34dは測定対象物Wに対してそれぞれ異なる方向からパターン光を投影する液晶パネルである。
尚、図5に示す実施形態2に係る第5~第8投光部35~38も第1~第4投光部31~34と同様に構成されている。
(投光制御部39による制御)
図9に示すように、この実施形態では、第1LED駆動回路31e、第2LED駆動回路32e、第3LED駆動回路33e、第4LED駆動回路34e、第1LCD駆動回路31f、第2LCD駆動回路32f、第3LCD駆動回路33f及び第4LCD駆動回路34fが共通の投光制御部39によって制御されるので、これら駆動回路を精密に同期させることができる。同様に、実施形態2の第5~第8投光部35~38もLED駆動回路とLCD駆動回路とを有しており、精密に同期させることができる。
図10に示すように、投光制御部39は、第1LCD31d、第2LCD32d、第3LCD33d及び第4LCD34dのうちの任意の一の液晶パネルから複数のパターン光のうちの一のパターン光の投影が完了するまでに、少なくとも次にパターン光を投影する他の液晶パネル上に、次に投影すべきパターンの形成処理を完了させ、前記一の液晶パネルによるパターン光の投影が完了した後に、前記他の液晶パネルに前記次のパターン光を投影する処理を繰り返し実行するように、第1LCD31d、第2LCD32d、第3LCD33d及び第4LCD34dを制御する。
具体的には、照明装置3の投光制御部39には、コントローラ部4から、パターン光の投影を開始するトリガ信号と、パターン光の投影中に撮像装置2との同期を取るための再同期トリガ信号とが入力されるようになっている。トリガ信号は、PLC101から入力するようにしてもよい。例えば、PLC101に接続された光電センサ等による検出結果に基づいてトリガ信号を投光制御部39に入力することができる。トリガ信号を生成する装置は、PLC101でなくてもよく、光電センサ等であってもよい。この場合、光電センサ等を投光制御部39に直接接続するか、コントローラ部4を介して接続することができる。
以下、第1LCD31d、第2LCD32d、第3LCD33d及び第4LCD34dのパターンの形成と投光順序を図10に基づいて詳細に説明する。トリガ信号が入力されると、投光制御部39は、第1LCD31d上に現在形成されているパターン(位相シフト1)を、当該現在の表示形態とは異なるパターン(位相シフト2)に切り替えるように、第1LCD駆動回路31fを介して第1LCD31dを制御する。ここで、第1LCD31d上のパターンを位相シフト1から位相シフト2に切り替えるためには、第1LCD31dを構成している各セグメントの液晶組成物に対する印加電圧を第1LED駆動回路31eが周知の手法によって変化させる。液晶組成物に対する印加電圧を変化させてから当該液晶組成物がその配向を変えるまでの時間は、後述する撮像装置2による撮像間隔よりも長い。つまり、第1LCD31d上に現在形成されているパターン(位相シフト1)を異なるパターン(位相シフト2)に切り替えるには、撮像装置2による撮像間隔よりも長い所定のパターン切り替え時間が必要になる。第2LCD32d、第3LCD33d及び第4LCD34dも同様に、パターンを位相シフト1から位相シフト2に順に切り替えるための時間が必要になる。
第1LCD31d上にパターン(位相シフト1)が完全に形成されている間に、そのパターン(位相シフト1)の形成と同期して第1LED31bから光を出射し、第2LED32b、第3LED33b及び第4LED34bからは光を出射させないように制御する。これにより、第1LCD31d上に形成されているパターン(位相シフト1)のみがパターン光として測定対象物Wに投影されるので、第2LCD32d、第3LCD33d及び第4LCD34d上に形成されているパターンは、測定対象物Wへ投影されることはない。
第1LCD31d上にパターン(位相シフト1)が形成されている時間は、第2LCD32d上にパターンを形成するためのパターン切り替え時間の一部である。第2LCD32d上にパターンを形成するため時間は、第1LCD31d上にパターン(位相シフト1)が形成されている時間よりも長くなっており、具体的には、第1LCD31d上にパターン(位相シフト1)の形成が完了するよりも前から始まっている。
測定対象物Wに投影されているパターン(位相シフト1)のパターン光の撮像が完了すると、第2LCD32d上にパターン(位相シフト1)が完全に形成されている間に、パターン(位相シフト1)の形成と同期して第2LED32bから光を出射し、第1LED31b、第3LED33b及び第4LED34bからは光を出射させないように制御する。これにより、第2LCD32d上に形成されているパターン(位相シフト1)のみがパターン光として測定対象物Wに投影される。
第2LCD32d上にパターン(位相シフト1)が形成されている時間は、第3LCD33d上にパターンを形成するための切り替え時間の一部である。第3LCD33d上にパターン(位相シフト1)を形成するため時間は、第2LCD32d上にパターン(位相シフト1)が形成されている時間よりも長くなっており、具体的には、第1LCD31d上にパターン(位相シフト1)の形成が完了するよりも前から始まっている。
測定対象物Wに投影されているパターン(位相シフト1)のパターン光の撮像が完了すると、第3LCD33d上にパターン(位相シフト1)が完全に形成されている間に、パターン(位相シフト1)の形成と同期して第3LED33bから光を出射し、第1LED31b、第2LED32b及び第4LED34bからは光を出射させないように制御する。これにより、第3LCD33d上に形成されているパターン(位相シフト1)のみがパターン光として測定対象物Wに投影される。
第3LCD33d上にパターン(位相シフト1)が形成されている時間は、第4LCD34d上にパターン(位相シフト1)を形成するための切り替え時間の一部である。第4LCD34d上にパターン(位相シフト1)を形成するため時間は、第3LCD33d上にパターン(位相シフト1)が形成されている時間よりも長くなっており、具体的には、第1LCD31d上にパターン(位相シフト1)の形成が完了するよりも前から始まっている。
測定対象物Wに投影されているパターン(位相シフト1)のパターン光の撮像が完了すると、第4LCD34d上にパターン(位相シフト1)が完全に形成されている間に、パターン(位相シフト1)の形成と同期して第4LED34bから光を出射し、第1LED31b、第2LED32b及び第3LED33bからは光を出射させないように制御する。これにより、第4LCD34d上に形成されているパターン(位相シフト1)のみがパターン光として測定対象物Wに投影される。このパターンが形成されている時間の一部は、第1LCD31d上に次のパターン(位相シフト2)を形成するための切り替え時間の一部である。
つまり、この実施形態では、第1LCD31d、第2LCD32d、第3LCD33d及び第4LCD34dのうち、一の液晶パネルによる複数のパターン光の投影を順次連続して行うのではなく、一の液晶パネルによる1番目のパターン光の投影が完了すると、別の液晶パネルによる1番目のパターン光の投影を行い、その別の液晶パネルによる1番目のパターン光の投影が完了すると、更に別の液晶パネルによる1番目のパターン光の投影を行い、そのようにして1番目のパターン光の投影が全ての液晶パネルで完了すると、前記一の液晶パネルによる2番目のパターン光の投影を行い、前記一の液晶パネルによる2番目のパターン光の投影が完了すると、前記別の液晶パネルによる2番目のパターン光の投影を行い、その別の液晶パネルによる2番目のパターン光の投影が完了すると、更に別の液晶パネルによる2番目のパターン光の投影を行うように、第1LCD31d、第2LCD32d、第3LCD33d及び第4LCD34dを制御する。したがって、パターン光の投影を行っていない液晶パネルでは、次に投影するパターンの形成準備を行うことができるので、液晶パネルの応答速度の遅さをカバーすることができる。
前記した例では、第1LCD31d、第2LCD32d、第3LCD33d及び第4LCD34dの全てでパターン光を投影する場合について説明したが、これに限らず、第1LCD31d及び第2LCD32dのみでパターン光を投影すること、第3LCD33d及び第4LCD34dのみでパターン光を投影することもできる。第1LCD31d及び第2LCD32dのみでパターン光を投影する場合には、パターン光の投影を交互に行えばよく、例えば、第1LCD31dで1番目のパターン光の投影を行っている間に、第2LCD32d上に1番目のパターンの形成処理を行い、その後、第2LCD32dで1番目のパターン光の投影を行っている間に、第1LCD31d上に2番目のパターンの形成処理を行い、これを繰り返す。第3LCD33d及び第4LCD34dのみでパターン光を投影する場合も同様である。
投光制御部39には、トリガ信号及び再同期トリガ信号以外にも、コントローラ部4からパターン光の形成情報も送信され、送信されたパターン光の形成情報は、一旦、投光制御部39に記憶されて、このパターン光の形成情報に基づいて、第1LED31b、第2LED32b、第3LED33b及び第4LED34bと、第1LCD31d、第2LCD32d、第3LCD33d及び第4LCD34dとを制御する。
パターン光の形成情報には、例えば、照射モード、空間コード用のパターン光の照射の有無、空間コード用のパターン光の具体的なパターン及び数、位相シフト法用のパターン光の照射の有無、位相シフト法用のパターン光の具体的なパターン及び数、パターン光の照射順等が含まれている。照射モードには、第1LCD31d及び第2LCD32dのみでパターン光を照射して測定対象物Wに投影する第1照射モードと、第1LCD31d、第2LCD32d、第3LCD33d及び第4LCD34dの全てでパターン光を投影する第2照射モードと、第3LCD33d及び第4LCD34dのみでパターン光を照射して測定対象物Wに投影する第3照射モードとが含まれている。
(パターン光の照射順)
図11は、パターン光の照射順の例を示しており、また、図12は、パターン光の逆位相同士の投光間隔を示している。パターン光の照射順について説明する前に、外乱光の影響について図13及び図14に基づいて説明する。図13は、載置面100に載置された測定対象物Wの表面における外乱光の明るさの変化を経時的に示したグラフである。測定対象物Wの表面には、照明装置3から照射される光だけでなく、周囲に設置された別の照明装置から照射される光や太陽光が届くことがある。照明装置3以外から測定対象物Wの表面に照射される光は外乱光である。外乱光の光源と測定対象物Wとの間に一時的に物体が通過した場合や、外乱光の光源から照射される光の強度が変化した場合には、測定対象物Wの表面に照射される外乱光の明るさが変化することになる。この外乱光の明るさの変動は、図13に示すように、時間t1のときに変動幅がb1であったとすると、時間t2になると変動幅がb2に大幅に拡大する。つまり、時間が長くなればなるほど、測定対象物Wの表面に照射される外乱光の明るさの変動が大きくなる可能性がある。
この実施形態では、上述したように、1つの測定対象物Wに対して位相シフトしたパターン光を多数照射し、その都度、パターン画像を生成するので、1つの測定対象物Wを測定する時間が長くなる。したがって、外乱光の明るさの変動が大きくなりやすい。
外乱光の明るさの変動が大きくなると、図14に示すように、外乱光の明るさ変動によって生じる位相計算誤差が問題となる。この図に示すように、誤差は正弦波に近いうねり形状になり、この誤差の大きさが外乱光の明るさの変動度合いによって変動し、また、測定対象物Wの平面部においてこのような誤差が生じると規則的な波形となって現れ、使用者の目につきやすく、誤判定の原因となり得る。
特に、大型の撮像装置2の場合、外乱光がパターン光の光量比で大きくなりやすいので位相計算誤差が大きくなってしまうが、大型の撮像装置2になると遮光対策が取りにくく、外乱光の明るさ変動によって生じる誤差を減少させる必要性が高くなる。
図11には、ある1方向についての撮像連番として、位相シフト投光0~7までの8つがある場合を示している。第1投光モードは、0°、45°、90°、135°、180°、225°、270°、315°の8つのパターンであり、これらが位相シフト投光0~7に対応している。従って、位相が0°のパターン光を投光した後、位相が45°のパターン光を投光、その後、位相が90°のパターン光を投光し、これを135°、180°、225°、270°、315°の順に繰り返す。位相シフトの回数は8回以外の回数であってもよく、例えば4回、6回等であってもよい。
図12は、図11に示した第1投光モードと第2投光モードのそれぞれについて、パターンを投影してから、逆位相のパターンが投影されるまでの時間間隔を示している。
第1投光モードの場合、図12に示すように、照明方向を切り替えない場合には、逆位相のパターンが撮像されるまでの撮像間隔が4撮像となり、これが2方向の照明を切り替えてパターンを位相シフトさせる場合だと8撮像、4方向毎だと16撮像、8方向毎だと32撮像になるので、逆位相となる撮像間隔が長くなる。よって、上述した外乱光の明るさ変動によって生じる誤差が顕著になりやすい。
互いに逆位相同士のパターンが投影される時間間隔が重要になるのは、以下の式によって位相計算を行うからである。尚、以下の式は、4回撮像を行った場合の式であるが、6回や8回などの4回以外のケースも、逆位相同士の差分が出てくる数式で記述できる。
位相φ=tan-1{(I270°-I90°)/(I0°-I180°)}
この式で示すように、位相の計算では逆位相同士の差分が重要である。本実施形態では、パターン光の位相が逆位相となる撮像のタイミングを接近させるべく、即ち、パターン光の位相が逆位相となる2回の撮像時における外乱光の明るさ変動を極小化するべく、図11に示す第2投光モードでの投光を実行することが可能に構成されている。
第2投光モードは、0°、180°、45°、225°、90°、270°、135°、315°の8つのパターンであり、これらが位相シフト投光0~7に対応している。従って、位相が0°のパターン光を投光した後、位相が180°のパターン光、即ち0°と逆位相のパターン光を投光、その後、位相が45°のパターン光を投光した後、位相が225°のパターン光、即ち45°と逆位相のパターン光を投光、その後、位相が90°のパターン光を投光した後、位相が270°のパターン光、即ち90°と逆位相のパターン光を投光、その後、位相が135°のパターン光を投光した後、位相が315°のパターン光、即ち135°と逆位相のパターン光を投光する。0°のパターン光と180°のパターン光が逆位相のペアになり、45°のパターン光と225°のパターン光が逆位相のペアになり、90°のパターン光と270°のパターン光が逆位相のペアになり、135°のパターン光と315°のパターン光が逆位相のペアになる。つまり、奇数番目に投光されるパターン光の位相と、偶数番目に投光されるパターン光の位相とが逆位相の関係になっている。
尚、パターン光の投光順は上述した順番に限られるものではなく、逆位相のペアを維持した状態であれば変更してもよい。例えば、パターン光の投光順としては、位相が0°、180°、45°、225°、270°、90°、135°、315°の順であってもよいし、0°、180°、225°、45°、90°、270°、315°、135°の順であってもよい。これらの場合もパターン光を逆位相連続で照射することができる。
第2投光モードの場合、図12に示すように、照明方向を切り替えずに位相シフトするケースでは、逆位相のパターンが撮像されるまでの撮像間隔が1撮像となり、これが2方向毎だと2撮像、4方向毎だと4撮像、8方向毎だと8撮像になるので、パターン光が逆位相となる撮像間隔が短くなる。具体的には、第1投光位相の場合に比べて第2投光位相では逆位相となる撮像間隔が1/4になる。よって、上述した外乱光の明るさ変動によって生じる誤差が減少する。
図13は、1方向のみで撮像する場合と、2方向毎に位相シフトを切り替えて撮像する場合のタイミングチャートである。図13の上側が2方向毎に位相シフトを切り替える場合の例であり、図13の下側が1方向のみで撮像する場合の例である。2方向毎に位相シフトを切り替える場合は、ある方向(仮に上方向とする)から投光する場合に「位相シフト0」で投光して撮像が完了した後、上方向のLCDの切り替えを行う。上方向のLCDの切り替えを行う間に、投光方向を別の方向(仮に下方向とする)に切り替えて「位相シフト0」で投光して撮像する。上方向のLCDの切り替えが完了すると、上方向の「位相シフト1」を投光して撮像する。これが繰り返される。このように、2方向の場合は投光方向を切り替えながら、位相シフトも行うので、一方のLCDの切り替えを行っている間に他方のLCDによってパターン光を投光することができる。
1方向のみで撮像する場合は、「位相シフト0」で投光して撮像が完了した後、そのLCDの切り替えを行う。LCDの切り替えが完了した後、「位相シフト1」を投光して撮像する。
位相誤差の減少について図16に示すグラフに基づいて説明する。上側のグラフの横軸は、外乱光の明るさの変動周期であり、パターン光の投光時間間隔比で示している。外乱光は、インパルス的な変動外乱光、ここでは正弦半波という信号を外乱光として仮定している。横軸の右に行くほどゆっくりとした外乱光変動になる。撮像が高速であるため、一般的に起こり得る変動外乱光はグラフのかなり右寄りの部分に近い。グラフの縦軸は、位相誤差である。第2投光位相(逆位相連続)の場合は、外乱光の明るさの変動周期が投光時間間隔比で3を超えたあたりから、第1投光位相(45°間隔)に比べて位相誤差が大幅に減少し、グラフの右寄りの領域においても位相誤差を減少させることができる。図16の下側のグラフについては、横軸は上側のグラフの横軸と同じであるが、縦軸は位相誤差を第1投光位相と第2投光位相との比で表している。第2投光位相の場合は、外乱光の明るさの変動周期が投光時間間隔比で4を超えたあたりから、第1投光位相に比べて位相誤差が30%以下に減少する。これにより、遮光対策を施すことなく、また、撮像装置2にバンドパスフィルタを適用するといった対策を採ることなく、位相誤差を極小化することができ、その結果、検査精度を高めることができるとともに、検査の安定性を高めることができる。
(撮像装置2の構成)
図1等に示すように、撮像装置2は、照明装置3とは別体に設けられている。図1に示すように撮像装置2とコントローラ部4とは接続線2aによって接続されているが、撮像装置2とコントローラ部4とは無線接続するようにしてもよい。
撮像装置2は、画像処理装置1の一部を構成するものであることから、撮像部ということもできる。撮像装置2が照明装置3とは別体に設けられているので、撮像装置2と照明装置3とを別々に設置することができる。よって、撮像装置2の設置場所と照明装置3の設置場所とを変えること、撮像装置2の設置場所と照明装置3の設置場所とを離すことができる。これにより、撮像装置2及び照明装置3の設置時の自由度を大きく向上させ、あらゆる生産現場等へ画像処理装置1を導入することが可能になる。
尚、撮像装置2の設置場所と照明装置3の設置場所と同じにすることができる現場であれば、撮像装置2と照明装置3とを同じ部材に取り付けることもでき、設置状態は使用者が現場に応じて任意に変更することができる。また、撮像装置2と照明装置3とを同じ部材に取り付けて一体化して使用することもできる。
撮像装置2は、照明装置3の照明ハウジング30の上方、即ちパターン光の出射方向とは反対側において、照明ハウジング30の開口部30aを覗くように配置されている。したがって、撮像装置2は、照明装置3の照明ハウジング30の開口部30aを介して、測定対象物Wから反射した第1測定用パターン光を受光して複数の第1パターン画像を生成するとともに、測定対象物Wから反射した第2測定用パターン光を受光して複数の第2パターン画像を生成することができる。また、照明装置3が第3投光部33及び第4投光部34を有している場合には、撮像装置2は、照明装置3の照明ハウジング30の開口部30aを介して、測定対象物Wから反射した第3測定用パターン光を受光して複数の第3パターン画像を生成するとともに、測定対象物Wから反射した第4測定用パターン光を受光して複数の第4パターン画像を生成することができる。同様に、第5~第8投光部35~38を有している場合には、第5~第8パターン画像を生成することもできる。
図3に示すように、撮像装置2は、光学系を構成するレンズ21と、レンズ21から入射した光を受光する受光素子からなる撮像素子22とを備えており、レンズ21及び撮像素子22によって、いわゆるカメラが構成されている。レンズ21は、測定対象物W上の少なくとも高さ測定エリアまたは検査対象エリアを撮像素子22に結像させるための部材である。レンズ21の光軸と、照明装置3の照明ハウジング30の開口部30aの中心軸Aとを一致させてもよいが、一致させなくてもよい。また、撮像装置2と照明装置3との中心軸A方向の距離は、撮像装置2による撮像を照明装置3が妨げない範囲で任意に設定することができ、設置の自由度が高く設計されている。
また、撮像素子22としては、CCDやCMOSセンサ等を利用することができる。撮像素子22は、測定対象物Wからの反射光を受光して画像を取得し、取得した画像データをデータ処理部24に出力する。この例では撮像素子22として高解像度のCMOSセンサを利用している。尚、カラーで撮像可能な撮像素子を利用することもできる。撮像素子22は、パターン投影画像以外に、通常の輝度画像を撮像することもできる。通常の輝度画像を撮像する場合には、前記照明装置3の全てのLED31b、32b、33b、34bを点灯させるとともに、パターン光を形成しないように全てのLCD31d、32d、33d、34dを制御すればよい。図5及び図6に示すような一様光用照明50がある場合にはそれを利用して通常の輝度画像を撮像装置2で撮像することもできる。
撮像装置2は、前記カラーカメラの他、露光制御部23と、データ処理部24と、位相計算部26と、画像処理部27と、画像記憶部28と、出力制御部29とを更に備えている。データ処理部24、位相計算部26、画像処理部27及び画像記憶部28は、撮像装置2に内蔵されている共通のバスライン25に接続されていて相互にデータの送受信が可能になっている。露光制御部23、データ処理部24、位相計算部26、画像処理部27、画像記憶部28及び出力制御部29は、ハードウェアで構成することもできるし、ソフトウェアで構成することもできる。
(露光制御部23の構成)
露光制御部23には、コントローラ部4から、撮像を開始するトリガ信号と、撮像中に照明装置3との同期を取るための再同期トリガ信号とが入力されるようになっている。露光制御部23に入力されるトリガ信号及び再同期トリガ信号は、照明装置3に入力されるトリガ信号及び再同期トリガ信号と同じタイミングとなるように、入力タイミングが設定されている。
露光制御部23は、撮像素子22を直接制御する部分であり、露光制御部23に入力されたトリガ信号及び再同期トリガ信号によって撮像素子22の撮像タイミング及び露光時間を制御する。露光制御部23には、コントローラ部4から撮像条件に関する情報が入力されて記憶されるようになっている。撮像条件に関する情報には、例えば、撮像回数、撮像間隔(撮像後、次の撮像を行うまでの時間)、撮像時の露光時間(シャッタースピード)等が含まれている。
コントローラ部4から送出されるトリガ信号の入力によって露光制御部23が撮像素子22に撮像を開始させる。この実施形態では、1回のトリガ信号の入力によって複数のパターン画像を生成する必要があることから、撮像中に再同期トリガ信号がコントローラ部4から入力され、この再同期トリガ信号の入力によって照明装置3との同期を取ることができるようになっている。
具体的には、第1LCD31d上に完全に形成されているパターンがパターン光として測定対象物Wに投影されている間に、撮像素子22が撮像(露光)するように、露光制御部23が撮像素子22を制御する。露光時間と、パターンがパターン光として測定対象物Wに投影されている時間とは、同じにすることができるが、露光開始のタイミングを、パターン光が投影開始されたタイミングよりも若干遅くしてもよい。
その後、第2LCD32d上に形成されているパターンがパターン光として測定対象物Wに投影されている間に、撮像素子22が撮像するように、露光制御部23が撮像素子22を制御する。この撮像が完了すると、第3LCD33d上に形成されているパターンがパターン光として測定対象物Wに投影されている間に、撮像素子22が撮像するように、露光制御部23が撮像素子22を制御する。その後、第4LCD34d上に形成されているパターンがパターン光として測定対象物Wに投影されている間に、撮像素子22が撮像するように、露光制御部23が撮像素子22を制御する。これを繰り返すことにより、複数の第1パターン画像、複数の第2パターン画像、複数の第3パターン画像及び複数の第4パターン画像を生成する。
撮像素子22は、撮像を完了すると、その都度、画像データをデータ処理部24に転送する。尚、画像データは、図3に示す画像記憶部28に記憶させておくことができる。すなわち、撮像素子22による撮像タイミングと、コントローラ部4の画像の要求タイミングとは一致していないので、このズレを吸収するバッファとして画像記憶部28が機能するようになっている。
撮像と次の撮像との間に、画像データを図3に示すデータ処理部24に転送するようにしているが、これに限らず、例えば、撮像とデータ転送とを並行して行うこともできる。あるパターン光が照射されている測定対象物Wの撮像が完了すると、次のパターンのパターン光が照射されている測定対象物Wの撮像を行っているときに、前のパターンの画像データをデータ処理部24に転送する。このように、前回撮像した画像データを次の撮像時にデータ処理部24に転送することもできる。
また、あるパターンのパターン光が照射されている測定対象物Wを複数回撮像することもできる。この場合、第1LED31bは、撮像素子22による撮像時にのみ点灯させることができる。撮像素子22の露光時間は、1回目の撮像時が2回目の撮像時よりも長くなるように設定することができるが、2回目の撮像時が1回目の撮像時よりも長くなるように設定することもできる。他のパターンのパターン光が照射されている測定対象物Wを撮像するときも、複数回撮像できる。これにより、複数のパターン光の内の一のパターン光が測定対象物Wに投影されている間に、露光時間が異なる複数の画像を生成することができる。この露光時間が異なる複数の画像は、後述するハイダイナミックレンジ処理を行う際に使用される。尚、あるパターンのパターン光が照射されている測定対象物Wを複数回撮像する間、第1LED31bを点灯させ続けてもよい。
(データ処理部24の構成)
図3に示すデータ処理部24は、撮像素子22から出力される画像データに基づいて複数のパターン画像セットを生成する。撮像素子22が第1パターン画像を複数生成すると、データ処理部24は、複数の第1パターン画像からなる第1パターン画像セットを生成する。同様に、複数の第2パターン画像からなる第2パターン画像セットを生成し、複数の第3パターン画像からなる第3パターン画像セットを生成し、複数の第4パターン画像からなる第4パターン画像セットを生成する。したがって、撮像装置2は、各液晶パネルから投影された複数のパターン光の測定対象物Wからの反射光をそれぞれ受光し、各液晶パネルにそれぞれ対応する複数のパターン画像セットを生成することができる。
第1LCD31d及び第2LCD32dのみでパターン光を投影する場合には、第1パターン画像セットと第2パターン画像セットとが生成される。第3LCD33d及び第4LCD34dのみでパターン光を投影する場合には、第3パターン画像セットと第4パターン画像セットとが生成される。
データ処理部24は、位相シフト法にしたがうパターン光の投影によって位相シフトパターン画像セットを生成するとともに、空間コード法にしたがうパターン光の投影によってグレーコードパターン画像セットを生成することができる。
位相シフト法にしたがうパターン光は、照度分布を例えば正弦波状に変動させたパターン光であるが、これ以外のパターン光であってもよい。この実施形態では、位相シフト法にしたがうパターン光の数を8としているが、これに限られるものではない。一方、空間コード法にしたがうパターン光は、白黒デューティ比50%で縞幅が全体の半分、4分の1、…と細かくなっていく縞パターンである。この実施形態では、空間コード法にしたがうパターン光の数を4としているが、これに限られるものではない。尚、この例で説明しているパターンは、グレーコードを空間コードとして利用する場合であり、縞幅を半々にしていくことによってパターン光を形成するのはグレーコードの目的ではないが、結果としてそうなっているだけである。またグレーコードは、隣接コードとのハミング距離=1とすることでノイズ耐性を考慮したコード方式の一種である。
図17に示すように、照明装置3の第1投光部31が空間コード法にしたがう4つのパターン光を測定対象物Wに照射した場合には、データ処理部24が4つの異なる画像からなるグレーコードパターン画像セットを生成する。また、照明装置3の第1投光部31が位相シフト法にしたがう8つのパターン光を測定対象物Wに照射した場合には、データ処理部24が8つの異なる画像からなる位相シフトパターン画像セットを生成する。第1投光部31によるパターン光の照射によって得られたグレーコードパターン画像セット及び位相シフトパターン画像セットは、共に、第1パターン画像セットである。
同様に、照明装置3の第2投光部32が空間コード法にしたがうパターン光を測定対象物Wに照射した場合には、グレーコードパターン画像セットが生成され、また、位相シフト法にしたがうパターン光を測定対象物Wに照射した場合には、位相シフトパターン画像セットが生成される。第2投光部32によるパターン光の照射によって得られたグレーコードパターン画像セット及び位相シフトパターン画像セットは、共に、第2パターン画像セットである。
同様に、照明装置3の第3投光部33が空間コード法にしたがうパターン光を測定対象物Wに照射した場合には、グレーコードパターン画像セットが生成され、また、位相シフト法にしたがうパターン光を測定対象物Wに照射した場合には、位相シフトパターン画像セットが生成される。第3投光部33によるパターン光の照射によって得られたグレーコードパターン画像セット及び位相シフトパターン画像セットは、共に、第3パターン画像セットである。
同様に、照明装置3の第4投光部34が空間コード法にしたがうパターン光を測定対象物Wに照射した場合には、グレーコードパターン画像セットが生成され、また、位相シフト法にしたがうパターン光を測定対象物Wに照射した場合には、位相シフトパターン画像セットが生成される。第4投光部34によるパターン光の照射によって得られたグレーコードパターン画像セット及び位相シフトパターン画像セットは、共に、第4パターン画像セットである。
前記各パターン画像セットは、図3に示す画像記憶部28に記憶させておくことができる。
図3に示すように、データ処理部24は、HDR処理部24aを有している。HDR処理とは、ハイダイナミックレンジ(high dynamic range imaging)合成処理のことであり、このHDR処理部24aにおいて、露光時間が異なる複数の画像を合成する。すなわち、上述したように、あるパターンのパターン光が照射されている測定対象物Wを、露光時間を変えて複数回撮像した場合には、露光時間の異なる複数の輝度画像が得られることになり、これら輝度画像を合成することで各輝度画像のダイナミックレンジよりも広いダイナミックレンジを有する画像を生成することができる。HDR合成の手法については従来から周知の手法を用いることができる。露光時間を変化させる代わりに、照射する光の強度を変化させることによって明るさの異なる複数の輝度画像を得て、これら輝度画像を合成してもよい。
(位相計算部26の構成)
図3に示す位相計算部26は、高さ画像の元データとなる絶対位相画像を算出する部分である。図18に示すように、ステップSA1において、位相シフトパターン画像セットの各画像データを取得し、位相シフト法を利用することにより、相対位相計算処理を行う。これは相対位相(Unwrapping前位相)のように表現することができ、ステップSA1の相対位相計算処理により位相画像が得られる。
一方、図18のステップSA3において、グレーコードパターン画像セットの各画像データを取得し、空間コード法を利用することにより、空間コード算出処理を行い、縞番号画像を得る。縞番号画像は、光が照射される空間を多数の小空間に分けた場合に、小空間に一連の空間コード番号を付して識別可能にした画像である。
図18のステップSA4では絶対位相位相化処理を行う。絶対位相位相化処理では、ステップSA1において得られた位相画像と、ステップSA3において得られた縞番号画像とを合成(Unwrapping)して絶対位相画像(中間画像)を生成する。つまり、空間コード法によって得た空間コード番号により、位相シフト法による位相ジャンプの補正(位相アンラップ)ができるので、高さのダイナミックレンジを広く確保しつつ、高分解能な測定結果を得ることができる。
位相シフト法のみで高さ測定を行うようにしてもよい。この場合は、高さの測定ダイナミックレンジが狭くなるので、位相が1周期以上ずれてしまうような高さの相違が大きい測定対象物Wの場合は、高さの測定が正しく行えない。逆に、高さの変化が小さな測定対象物Wの場合は、空間コード法による縞画像の撮像や合成を行わないので、その分だけ処理を高速化することができるメリットがある。例えば、高さ方向の差異が少ない測定対象物Wを測定する際には、ダイナミックレンジを大きく取る必要がないため、位相シフト法のみでも高精度な高さ測定性能を維持しつつ、処理時間を短くすることができる。また、絶対高さは判るので空間コード法のみで高さ測定するように構成してもよい。この場合、コードを増やすことによって精度を高めることができる。
また、図18のステップSA2では、位相シフトパターン画像セットの各画像データを取得し、信頼度画像算出処理を行う。信頼度画像算出処理では、位相信頼性を示す信頼度画像を算出する。これは無効画素の判定に利用することができる画像である。
前記位相画像、縞番号画像及び信頼度画像は、図3に示す画像記憶部28に記憶させておくことができる。
位相計算部26が生成する絶対位相画像は、各画素が測定対象物Wへの測定用パターン光の照射角度情報を有する角度画像ということもできる。すなわち、第1パターン画像セット(位相シフトパターン画像セット)には、正弦波縞模様パターンの位相をずらして撮像した8枚の第1パターン画像が含まれているので、位相シフト法を利用することによって測定対象物Wへの測定用パターン光の照射角度情報を各画素が有することになる。つまり、位相計算部26は、複数の第1パターン画像に基づいて、各画素が測定対象物Wへの第1測定用パターン光の照射角度情報を有する第1角度画像を生成する部分であるので、角度画像生成部ということもできる。第1角度画像は、第1LED31bから測定対象物Wへ照射される光の角度を画像化した画像である。
同様に、位相計算部26は、複数の第2パターン画像に基づいて各画素が測定対象物Wへの第2測定用パターン光の照射角度情報を有する第2角度画像と、複数の第3パターン画像に基づいて各画素が測定対象物Wへの第3測定用パターン光の照射角度情報を有する第3角度画像と、複数の第4パターン画像に基づいて各画素が測定対象物Wへの第4測定用パターン光の照射角度情報を有する第4角度画像とを生成することができる。第2角度画像は、第2LED32bから測定対象物Wへ照射される光の角度を画像化した画像である。第3角度画像は、第3LED33bから測定対象物Wへ照射される光の角度を画像化した画像である。第4角度画像は、第4LED34bから測定対象物Wへ照射される光の角度を画像化した画像である。図17における中間画像の最も上の画像が第1角度画像であり、上から2番目の画像が第2角度画像であり、上から3番目の画像が第3角度画像であり、一番下の画像が第4角度画像である。各角度画像の真っ黒に塗りつぶされたように見える部分が照明(前記各LED)の影になっている部分であり、角度情報の無い無効画素となる。
(画像処理部27の構成)
画像処理部27は、前記各パターン画像、位相画像、縞番号画像及び信頼度画像に対して、例えば、ガンマ補正、ホワイトバランスの調整、ゲイン補正等の画像処理を行う部分である。画像処理後の各パターン画像、位相画像、縞番号画像及び信頼度画像を画像記憶部28に記憶させておくこともできる。画像処理は上述した処理に限られるものではない。
(出力制御部29の構成)
出力制御部29は、コントローラ部4から出力された画像出力要求信号を受信すると、その画像出力要求信号に従い、画像記憶部28に記憶されている画像の内、画像出力要求信号で指示された画像のみ、画像処理部27を介してコントローラ部4に出力する部分である。この例では、画像処理前の各パターン画像、位相画像、縞番号画像及び信頼度画像を画像記憶部28に記憶させておき、コントローラ部4からの画像出力要求信号で要求された画像に対してのみ、画像処理部27で画像処理を行い、コントローラ部4に出力する。画像出力要求信号は、使用者が各種測定操作や検査操作を行った時に出力することができる。
この実施形態では、データ処理部24、位相計算部26及び画像処理部27を撮像装置2に設けたが、これに限らず、コントローラ部4に設けてもよい。この場合、撮像素子22から出力された画像データはコントローラ部4に出力されて処理されることになる。
(コントローラ部4の構成)
図2に示すように、コントローラ部4は、撮像投光制御部41と、高さ測定部42と、画像合成部43と、検査部45と、表示制御部46とを備えている。コントローラ部4は、撮像装置2及び照明装置3とは別体に設けられている。
(撮像投光制御部41の構成)
撮像投光制御部41は、前記パターン光の形成情報、トリガ信号及び再同期トリガ信号を、照明装置3に所定のタイミングで出力するとともに、前記撮像条件に関する情報、トリガ信号及び再同期トリガ信号を、撮像装置2に所定のタイミングで出力する。照明装置3に出力するトリガ信号及び再同期トリガ信号と、撮像装置2に出力するトリガ信号及び再同期トリガ信号とは同期している。前記パターン光の形成情報及び前記撮像条件に関する情報は、例えば撮像投光制御部41や、別の記憶部(図示せず)に記憶させておくことができる。使用者が所定の操作(高さ測定準備操作、検査準備操作)を行うことで、前記パターン光の形成情報が照明装置3に出力されて照明装置3の投光制御部39に一旦記憶され、また、前記撮像条件に関する情報撮像装置2に出力されて露光制御部23に一旦記憶される。この例では、照明装置3は、該照明装置3に内蔵されている投光制御部39でLED及びLCDの制御を行うように構成されているので、スマートタイプの照明装置と呼ぶことができる。また、撮像装置2は、該撮像装置2に内蔵されている露光制御部23で撮像素子22の制御を行うように構成されているので、スマートタイプの撮像装置と呼ぶことができる。
このように撮像装置2及び照明装置3が個別に制御を行う場合には、撮像回数が増えれば増えるほど、撮像タイミングと、照明タイミング(パターン光の投影タイミング)とがずれて、撮像装置2によって得られた画像が暗くなってしまうという問題がある。特に、上述したように、位相シフトパターン画像セットの画像が8つ、グレーコードパターン画像セットが4つの合計12の画像で第1パターン画像セットを構成し、第2パターン画像セットも同様に構成し、さらにHDR用の撮像も行うようにすると、撮像回数が多くなり、撮像タイミングと、照明タイミングとのズレが顕著になる。
この例では、再同期トリガ信号を照明装置3と撮像装置2に同期して出力するようにしており、これにより、撮像の途中で照明装置3と撮像装置2との同期を取ることができるようにしている。よって、撮像回数が多くなったとしても、撮像タイミングと、照明タイミングとのズレが問題とならない程度に極めて小さなものとなり、位相シフトパターンやグレーコードパターンの照射中に画像が暗くなるのを抑制でき、位相の歪みやコードの判定を誤る可能性を低減できる。再同期トリガ信号は、複数回出力することもできる。
撮像投光制御部41は、照射モード切替部41aを備えている。第1投光部31及び第2投光部32によってそれぞれ第1測定用パターン光及び第2測定用パターン光を照射する第1照射モードと、第1投光部31及び第2投光部32によってそれぞれ第1測定用パターン光及び第2測定用パターン光を照射した後、第3投光部33及び第4投光部34によってそれぞれ第3測定用パターン光及び第4測定用パターン光を照射する第2照射モードと、第3投光部33及び第4投光部34によってそれぞれ第3測定用パターン光及び第4測定用パターン光を照射する第3照射モードとの3つの照射モードの内、任意の1つの照射モードに切り替えることができる。照射モードの切替は、使用者が表示部5を見ながら、コンソール部6やマウス7の操作によって行うことができる。また、コントローラ部4が自動で照射モードの切替を行うように構成することもできる。
(高さ測定部42の構成)
高さ測定部42は、位相計算部26が生成した第1角度画像の各画素の照射角度情報及び第2角度画像の各画素の照射角度情報と、照明装置3の照明ハウジング30内における第1投光部31及び第2投光部32の相対位置情報とにしたがって、照明装置3の中心軸A方向における測定対象物Wの高さを測定することができるように構成されている。
以下、高さ測定部42による具体的な高さを測定方法について説明する。上述したように、位相のUnwrapによって角度画像を生成することにより、各画素に対する照明からの角度が決まる。第1角度画像は、第1LED31bから測定対象物Wへ照射される光の角度を示す画像であり、第2角度画像は、第2LED32bから測定対象物Wへ照射される光の角度を示す画像である。そして、第1LED31bと第2LED32bとは照明ハウジング30に一体的に支持されていて第1LED31bと第2LED32bとの距離は、上述したようにl(図7に示す)となっている。
図7では、測定対象物Wにおける任意の点Hの高さを求める場合について説明している。第1LED31bの直下を0゜、第1LED31bから45゜の方向を1としている。また、図18の右方向を正、左方向を負としている。第1LED31bから点Hに照射される光の角度は、第1角度画像における点Hに対応する画素から求めることができ、点Hと第1LED31bとを結ぶ直線の傾きを1/a1とする。また、第2LED32bから点Hに照射される光の角度は、第2角度画像における点Hに対応する画素から求めることができ、点Hと第2LED32bとを結ぶ直線の傾きを-1/a2とする。a1、a2は位相である。
Z=1/a1*X+0 … 式1
Z=-1/a2*(X-l) … 式2
式1、式2に対してZを解くと高さが求まる。
a1Z=X
a2Z=-X+l
Z=l/(a1+a2)
X=a1*l/(a1+a2)
このようにして、測定対象物Wにおける各点の高さを求めることができる。前記各式には、撮像装置2の位置に関する変数が無いので、測定対象物Wにおける各点の高さを求める際には撮像装置2の位置は無関係であることが分かる。但し、角度画像で無効画素となっている画素については角度情報が無いので、その点の高さを求めることはできない。すなわち、算出されるZ座標は撮像装置2と測定対象物Wとの距離ではなく、照明装置3から見た時の測定対象物Wまでの距離を示すものになっている。撮像装置2の設置位置とは無関係に、照明装置3の設置位置によって得られるZ座標が定まる。
また、図示しないが、同様にして、第3LED33bから点Hに照射される光の角度を、第3角度画像における点Hに対応する画素から求めることができ、また、第4LED34bから点Hに照射される光の角度を、第4角度画像における点Hに対応する画素から求めることができるので、第3角度画像及び第4角度画像に基づいて各画素の高さを求めることができる。
例えば、図17では、高さ測定部42は、第1角度画像の各画素の照射角度情報及び第2角度画像の各画素の照射角度情報と、照明ハウジング30内における第1投光部31及び第2投光部32の相対位置情報とにしたがって測定対象物Wの高さを表す第1高さ画像を生成するとともに、第3角度画像の各画素の照射角度情報及び第4角度画像の各画素の照射角度情報と、照明ハウジング30内における第3投光部33及び第4投光部34の相対位置情報とにしたがって測定対象物Wの高さを表す第2高さ画像を生成した場合を示している。
第1高さ画像は、各画素の高さを把握することができるので、各種検査を行う際に使用される検査対象画像とすることができる。また、第2高さ画像も各画素の高さを把握することができるので、各種検査を行う際に使用される検査対象画像とすることができる。したがって、高さ測定部42は、複数の中間画像に基づいて検査対象画像を生成する検査対象画像生成部ということもできる。
図17に示す場合では、まず、第1投光部31によるパターン光の投影によって得られた第1パターン画像セットで第1角度画像を生成し、第2投光部32によるパターン光の投影によって得られた第2パターン画像セットで第1角度画像を生成する。第1角度画像では、第1投光部31が測定対象物Wの左側から光を照射することになるので、測定対象物Wの右側に影ができ、その部分が無効画素となっている。一方、第2角度画像では、第2投光部32が測定対象物Wの右側から光を照射することになるので、測定対象物Wの左側に影ができ、その部分が無効画素となっている。第1角度画像と第2角度画像とによって第1高さ画像を生成するので、一方の角度画像で無効画素となっている画素については第1高さ画像においても無効画素となる。
同様にして、第3投光部33によるパターン光の投影によって得られた第3パターン画像セットで第3角度画像を生成し、第4投光部34によるパターン光の投影によって得られた第4パターン画像セットで第4角度画像を生成する。第3角度画像では、第3投光部33が測定対象物Wの上側(図において上になる側)から光を照射することになるので、測定対象物Wの下側(図において下になる側)に影ができ、その部分が無効画素となっている。一方、第4角度画像では、第4投光部34が測定対象物Wの下側から光を照射することになるので、測定対象物Wの上側に影ができ、その部分が無効画素となっている。第3角度画像と第4角度画像とによって第2高さ画像を生成するので、一方の角度画像で無効画素となっている画素については第2高さ画像においても無効画素となる。無効画素をできるだけ少なくするために、この実施形態では図2に示すようにコントローラ部4に画像合成部43を設けている。
この実施形態では、高さ測定部42をコントローラ部4に設けた場合について説明したが、これに限らず、図示しないが、高さ測定部を撮像装置2に設けてもよい。
(多重反射の影響低減機能)
高さ測定部42が上述のようにして測定対象物Wの各部位の高さを測定するが、この高さ測定時には測定対象物Wの表面でパターン光が多重反射することがあり、多重反射によって高さの測定誤差が生じ得る。本実施形態では、以下に説明するように、多重反射の影響を低減することが可能な機能を搭載している。
まず、測定対象物Wの表面でパターン光が多重反射するケースについて、図19~図22に基づいて説明する。図19は、測定対象物Wの測定箇所の近傍に壁面W1がある場合を示しており、この壁面W1は、測定箇所が存在する水平面に対して90°、即ち略鉛直な面である。この図に示すように、パターン光のうち、正しい高さを与える光線と、壁面W1で反射した光線(多重反射を与える光線)とが測定箇所に到達すると、本来得られるべき投影パターンとは、異なる投影パターンが観測されて、三角測量による高さ計算が不正な結果となる。この場合、+方向の誤り高さを与える投光が多重反射で混じって測定されるので、+方向の誤り高さが得られることになる。
また、図20は、測定対象物Wの測定箇所が、凹部の側面W2のように、投光が大きく遮られる奥まった箇所にある場合を示しており、この壁面W2は略鉛直な面である。この図に示すように、パターン光のうち、正しい高さを与える光線は途中で測定対象物Wの一部により遮られて測定箇所に到達せず、壁面W2で反射した光線(多重反射を与える光線)が測定箇所に到達するので、三角測量による高さ計算が不正な結果になる。この場合、+方向の誤り高さを与える投光によって高さ計算が行われるので、+方向の誤り高さが得られることになる。
また、図21は、測定対象物Wの測定箇所が、穴の壁面W3のように、直接投光が完全に遮られる箇所にある場合を示しており、この壁面W3は略鉛直な面である。この図に示すように、パターン光のうち、正しい高さを与える光線は途中で測定対象物Wの一部により遮られて測定箇所に到達せず、壁面W3で反射した光線(多重反射を与える光線)が測定箇所に到達するので、三角測量による高さ計算が不正な結果となる。この場合、+方向の誤り高さを与える投光によって高さ計算が行われるので、+方向の誤り高さが得られることになる。
また、図22は、測定対象物Wの測定箇所が側面W4にあり、この側面W4の下側近傍に水平面W5がある場合を示しており、側面W4は水平面W5に対して45°~90°の急峻な傾斜面もしくは鉛直面である。この図に示すように、パターン光のうち、正しい高さを与える光線と、水平面W5で反射した光線(多重反射を与える光線)とが測定箇所に到達すると、三角測量による高さ計算が不正な結果となる。この場合は、-方向の誤り高さを与える投光が多重反射で混じって測定されるので、-方向の誤り高さが得られることになる。
図23は測定対象物Wの断面図の一例である。この図に示すように、一般的な工業製品については、面の傾きが水平面に対して0°~45°、90°の角度に偏在している。この測定対象物Wの高さ測定を行う場合に多重反射がどのように影響するかについて図24に基づいて説明する。図24の一番上の図では、矢印で示すように、パターン光が左上から右下に向けて照射される場合を示している。上から2番目の図では、パターン光が右上から左下に向けて照射される場合を示している。上から3番目の図では、パターン光が紙面手前側から奥側へ向けて斜め下に照射される場合を示している。一番下の図では、パターン光が紙面奥側から手前側へ向けて斜め下に照射される場合を示している。各図において、欠損データは、高さ計算が行えなかった箇所のデータである。また、+方向の誤り高さが多く存在し、-方向の誤り高さは殆ど存在しないことが分かる。
つまり、面の傾きが水平面に対して0°~45°、90°の角度に偏在している一般的な工業製品では、多重反射による誤った高さが、実際の高さよりも高い方向になることが多い。そのため、複数投光のうち最も低い高さとなった投光は、多重反射の影響を最も受けていない可能性が高い。
高さ測定部42は、このことを利用して合成高さデータを取得するように構成されている。すなわち、高さ測定部42は、複数の第1パターン画像に基づいて測定対象物Wの第1高さデータ(図24の一番上の図に示すデータ)を測定し、複数の第2パターン画像に基づいて測定対象物Wの第2高さデータ(図24の上から2番目の図に示すデータ)を測定し、複数の第3パターン画像に基づいて測定対象物Wの第3高さデータ(図24の上から3番目の図に示すデータ)を測定し、複数の第4パターン画像に基づいて測定対象物Wの第4高さデータ(図24の一番下の図に示すデータ)を測定する。そして、測定対象物W上の同一位置において第1高さデータ、第2高さデータ、第3高さデータ及び第4高さデータの全てが一致している場合には、高さ測定部42は、第1高さデータ、第2高さデータ、第3高さデータ及び第4高さデータを合成して合成高さデータを生成する。
一方、第1高さデータ、第2高さデータ、第3高さデータ及び第4高さデータの全てが一致していないデータ相違状態の場合には、高さ測定部42は、それらデータの中で低い高さを示すデータを当該位置の合成高さデータとする。第1高さデータ、第2高さデータ、第3高さデータ及び第4高さデータの中で最も低い高さを示すデータを合成高さデータとしてもよいし、2番目に低い高さを示すデータを合成高さデータとしてもよい。これをMIN法と呼ぶ。このMIN法を適用することにより、一般的な工業製品の測定を行う多くの場合に多重反射による悪影響が排除される。
図25に基づいてMIN法の計算例を説明する。例1は、高さ0(第1高さデータ)が50mm、高さ1(第2高さデータ)が60mm、高さ2(第3高さデータ)が80mm、高さ3(第4高さデータ)が90mmである場合の例であり、この場合はMIN法によって最も低い高さを示す高さ0のデータが合成高さデータとなるが、2番目に低い高さ1のデータを合成高さデータとしてもよい。
例2は、高さ0(第1高さデータ)が70mm、高さ1(第2高さデータ)が欠損、高さ2(第3高さデータ)が90mm、高さ3(第4高さデータ)が70mmである場合の例であり、この場合はMIN法によって欠損データを除いて最も低い高さを示す高さ0、高さ3のデータが合成高さデータとなる。
例3は、高さ0(第1高さデータ)が欠損、高さ1(第2高さデータ)が欠損、高さ2(第3高さデータ)が10mm、高さ3(第4高さデータ)が50mmである場合の例であり、この場合はMIN法によって欠損データを除いて低い方のデータである高さ2のデータが合成高さデータとなる。
例4は、高さ0(第1高さデータ)~高さ3(第4高さデータ)の全てが欠損である場合の例である。この場合は合成高さデータを求めることができないので欠損となる。
図26は、MIN法を適用して得られた三次元形状を示す図である。尚、上記した例では、高さデータが4つある場合について説明したが、高さデータは2つ(第1高さデータ及び第2高さデータ)であってもよいし、3つ(第1高さデータ、第2高さデータ及び第3高さデータ)であってもよい。また、投光方向が6方向以上の場合は、高さデータが6つ以上取得できるが、この場合には、最も低い高さから2番目の高さデータを合成高さデータとしてもよい。
(MIN法の安定化処理)
高さ測定部42は、上述したデータ相違状態の場合に、例えば、第1高さデータと第2高さデータと第3高さデータとに基づいて合成高さデータの信頼度を算出し、当該信頼度が第1の所定信頼度よりも低い場合に、第1高さデータと第2高さデータと第3高さデータとの中で低い高さを示すデータを当該位置の合成高さデータとするように構成することができる。この場合、第1高さデータと第2高さデータと第3高さデータと第4高さデータとに基づいて合成高さデータの信頼度を算出してもよいし、それ以上の数の高さデータに基づいて合成高さデータの信頼度を算出してもよい。
合成高さデータの信頼度が低いということは、多重反射によって生じた大きな誤差が高さデータに含まれている可能性が高く、この場合にMIN法を適用することで、多重反射による悪影響が排除される。
高さ測定部42は、合成高さデータの信頼度が第1の所定信頼度以上の場合に、第1高さデータと第2高さデータと第3高さデータを合成した合成高さデータを測定結果とするように構成されている。合成高さデータの信頼度が高いということは、全てのデータにおいて多重反射による誤差が殆ど無い可能性が高く、この場合には、MIN法を適用することなく、全ての高さデータを合成して合成高さデータを得ることで、精度の高い測定結果が得られる。
合成高さデータの信頼度については、高さ測定部42が、例えば、第1高さデータと第2高さデータと第3高さデータの平均値を算出し、当該平均値と、低い高さを示すデータとの差が小さければ小さいほど信頼度が高いと判定することができる。平均値を算出するデータの数は4つ以上であってもよい。
また、合成高さデータの信頼度の例としては、高さ測定部42が、例えば、第1高さデータと第2高さデータと第3高さデータの中央値を算出し、当該中央値と、低い高さを示すデータとの差が小さければ小さいほど信頼度が高いと判定することができる。中央値を算出するデータの数は4つ以上であってもよい。
また、合成高さデータの信頼度の例としては、高さ測定部42が、例えば、第1高さデータと第2高さデータと第3高さデータの最小値と最大値とを比較し、最小値と最大値との差が小さければ小さいほど信頼度が高いと判定することができる。対象データの数は4つ以上であってもよい。
また、合成高さデータの信頼度の例としては、高さ測定部42が、例えば、第1高さデータと第2高さデータと第3高さデータの標本標準偏差を算出し、標本標準偏差が小さければ小さいほど信頼度が高いと判定することができる。対象データの数は4つ以上であってもよい。信頼度の取得方法は上記した以外の方法であってもよい。
高さ測定部42は、合成高さデータの信頼度が第2の所定信頼度よりも低いデータを欠損データとするように構成することができる。前記第1の所定信頼度と第2の所定信頼度とは同じであってもよいし、第2の所定信頼度の方が低くてもよい。合成高さデータの信頼度が低いデータを欠損データとし、合成高さデータとして使用しないようにすることで、後処理において精度の低い合成高さデータが使用されないようにすることができる。
また、高さ測定部42は、データ相違状態の場合に、第1高さデータと第2高さデータとに基づいて合成高さデータの第1信頼度を算出し、第3高さデータと第4高さデータとに基づいて合成高さデータの第2信頼度を算出し、第1信頼度と第2信頼度のうち、高い方の高さデータを当該位置の合成高さデータとするように構成することができる。第1高さデータ及び第2高さデータは、図4に示すようにペアとなるように配置された第1投光部31及び第2投光部32からそれぞれ投光されたパターン光により得られた高さデータである。第3高さデータ及び第4高さデータは、図4に示すようにペアとなるように配置された第3投光部33及び第4投光部34からそれぞれ投光されたパターン光により得られた高さデータである。これにより、信頼度の高いペアで得られた高さデータを当該位置の合成高さデータとすることができる。
また、高さ測定部42は、第1高さデータと第2高さデータと第3高さデータと第4高さデータのうち、有効データが所定数以下である場合には、当該位置の高さデータを欠損データとするように構成されている。例えば、図25に示す例3では、欠損データが2つであるが、欠損データが3つ以上であった場合には、残りが欠損データでなくても、当該位置の高さデータを欠損データとすることができる。
(画像合成部43の構成)
画像合成部43は、図17に示す第1高さ画像と第2高さ画像とを合成して合成後高さ画像を生成するように構成されている。これにより、第1高さ画像で無効画素になっている部分が、第2高さ画像では無効画素となっていない部分については、合成後高さ画像において有効画素で表されることになり、反対に、第2高さ画像で無効画素になっている部分が、第1高さ画像では無効画素となっていない部分については、合成後高さ画像において有効画素で表されることになる。よって、合成後高さ画像では無効画素の数を少なくすることができる。逆に、高い信頼を持った高さを得たい場合は、第1高さ画像、第2高さ画像の双方とも有効で、かつ、その差が所定以下の小さい場合のみに、その平均高さを有効としてもよい。
言い換えると、測定対象物Wに対して互いに異なる4方向からパターン光を照射することで、高さ画像の有効画素数を多くすることができ、死角を少なくすることができるとともに、測定結果の信頼性を向上させることができる。尚、2方向からのパターン光の照射で無効画素が十分に少なくなるような測定対象物Wの場合は、高さ画像を1つだけ生成すればよい。この場合、使用者が第1高さ画像と第2高さ画像のどちらを生成するか選択するように構成することもできる。高さ画像を1つだけ生成する場合には測定時間が短くなるというメリットがある。
合成後高さ画像も各画素の高さを把握することができるので、各種検査を行う際に使用される検査対象画像とすることができる。したがって、画像合成部43は、検査対象画像を生成する検査対象画像生成部ということもできる。
この実施形態では、画像合成部43をコントローラ部4に設けた場合について説明したが、これに限らず、図示しないが、画像合成部を撮像装置2に設けてもよい。
(検査部45の構成)
検査部45は、第1高さ画像、第2高さ画像及び合成後高さ画像の内、任意の画像に基づいて検査処理を実行する部分である。検査部45には、有無検査部45aと、外観検査部45bと、寸法検査部45cとが設けられているが、これは一例であり、これら全ての検査部が必須ではなく、またこれら検査部以外の検査部を備えていてもよい。有無検査部45aは、測定対象物Wの有無や測定対象物Wに取り付けられている部品の有無等を画像処理によって判断することができるように構成されている。外観検査部45bは、測定対象物Wの外形状等が予め決められた形状であるか否かを画像処理によって判断することができるように構成されている。寸法検査部45cは、測定対象物Wの各部の寸法が予め決められた寸法であるか否か、または各部の寸法を画像処理によって判断することができるように構成されている。これら判断の手法は従来から周知の手法であることから詳細な説明は省略する。
(表示制御部46の構成)
表示制御部46は、第1高さ画像、第2高さ画像及び合成後高さ画像等を表示部5に表示させたり、画像処理装置1を操作するための操作用ユーザーインターフェース、画像処理装置1を設定するための設定用ユーザーインターフェース、測定対象物の高さ測定結果を表示するための高さ測定結果表示用ユーザーインターフェース、測定対象物の各種検査結果を表示するための検査結果表示用ユーザーインターフェース等を生成して表示部5に表示させることができるように構成されている。
(ユーザーインターフェースの例)
図27は、画像処理装置1が有する三次元判別機能を実現する三次元判別ユーザーインターフェース300の一例を示す図である。三次元判別機能とは、使用者が予め登録した測定対象物の三次元形状と、上述のようにして測定して得た測定対象物の三次元形状とを比較し、差分箇所を抽出する機能である。使用者が測定対象物を撮像することで、測定対象物の三次元形状を取得し、これをコントローラ部4に記憶させて登録しておくことができる。使用者は、登録した三次元形状に基づいてXYZ方向毎に検出する公差(許容範囲)を設定することができる。また、画像処理装置1が有する三次元サーチ機能により、測定により得た測定対象物の三次元形状を、登録した三次元形状に基づいて三次元的に位置補正することができる。測定により得た測定対象物の三次元形状を三次元サーチ機能により位置補正した後、登録した測定対象物の三次元形状に重ね合わせ、同一箇所同士を比較し、公差に基づいて差分を算出する。公差を超える差分が算出された箇所を三次元判別ユーザーインターフェース300によって表示部5に表示させることができる。
図27に示す三次元判別ユーザーインターフェース300は、一定時間おきに、登録した測定対象物の三次元形状301Aと、測定により得た測定対象物の三次元形状301Bとを切り替えて交互に表示することが可能に構成されている。登録した測定対象物の三次元形状301Aは、図27の上側の三次元判別ユーザーインターフェース300に示している。測定により得た測定対象物の三次元形状301Bは、図27の下側の三次元判別ユーザーインターフェース300に示している。つまり、図27の上側の三次元判別ユーザーインターフェース300と、下側の三次元判別ユーザーインターフェース300とが交互に表示部5に表示されるイメージである。三次元サーチ機能により、登録した測定対象物の三次元形状301Aと、測定により得た測定対象物の三次元形状301Bとを三次元判別ユーザーインターフェース300の同じ位置に表示させることできるので、使用者は三次元判別ユーザーインターフェース300を見続けるだけで、差分箇所を容易に把握することができる。尚、上記一定時間は、特に限定されるものではないが、例えば1秒程度に設定することができる。また、差分箇所を着色して表示することもできる。着色箇所を符号302で示す。
図28は、三次元判別機能の許容範囲を表示するための断面指示を行う際に表示されるユーザーインターフェース310である。このユーザーインターフェース310には、測定により得た測定対象物の三次元形状301Bが表示される形状表示領域310aが設けられている。形状表示領域310aには、三次元形状301Bの断面を取得する位置を任意に設定するための断面位置設定部310b、310bの表示が可能になっている。この断面位置設定部310b、310bをマウス操作等によって形状表示領域310a上で移動させることができるようになっている。
断面位置設定部310b、310bの位置を決定すると、断面位置設定部310b、310b間の断面が取得され、図29に示すように、形状表示領域310aに三次元形状301Bの断面が表示される。形状表示領域310aには、三次元形状301Bの外形状を示す形状線312と、三次元形状301Bの外形状の許容範囲を示す許容範囲表示部313とが表示される。許容範囲表示部313は、例えば許容範囲を帯状に着色する表示形態とすることができる。形状線312が許容範囲表示部313で表示された範囲に収まっていれば、欠陥等が無い検査対象物であると判定することができるが、形状線312の一部でも許容範囲表示部313に収まっていなければ、欠陥等がある検査対象物であると判定することができる。
許容範囲はユーザーインターフェース310上の操作によって変更することができる。図30は、許容範囲を縮小した場合を示しており、許容範囲表示部313が図29に比べて狭くなる。許容範囲は拡大することもできる。許容範囲を狭くすると、三次元形状301Bの一部が許容範囲表示部313から外れることになり、この部分が着色箇所313として形状表示領域310aに表示される。このように、三次元形状301Bと許容範囲とを見比べながら許容範囲を調整していくことができるので、より適切な許容範囲の設定が行えるようになり、その結果、検査精度及び安定性が向上する。
図31は、上述のようにして許容範囲を設定した後、新たな測定により得た測定対象物の三次元形状301Bを入力した場合を示している。三次元形状301Bのうち、許容範囲から外れた部分は着色箇所313として表示される。
上述したように、予め登録された三次元形状と、新たな測定により得られた測定対象物の三次元形状を比較し、その差分が予め定められた許容範囲内であれば測定対象物を良品として判定する。XY方向(水平方向)の許容範囲とZ方向(垂直方向)の許容範囲が設定できるが、それぞれの許容範囲の幅は同じであってもよいし、異なる幅が設定可能でもよい。Z方向の許容範囲は、登録三次元形状に対する高さの加算及び減算で設定が可能であり、XY方向の許容範囲は、登録三次元形状に対する膨張・収縮フィルタにより設定できる。許容範囲上限は、登録三次元形状に対し、XY許容範囲分の膨張処理とZ許容範囲の加算により算出される。許容範囲下限は、登録三次元形状に対し、XY許容範囲分の収縮処理とZ許容範囲の減算により算出される。
図32は、突起状の測定対象物の欠けを検出する場合の許容範囲設定のイメージ図であり、突起が比較的大きい場合を示している。登録された三次元形状の下側の点線(許容範囲下限)を下回る高さが存在すれば欠けは検出できるが、実際の突起のサイズよりも欠けを検出できるサイズが小さくなっている。図33は更に小さな突起の欠けを検出する場合のイメージ図であり、図32と同じXY方向の許容範囲が設定されている場合、突起に欠けが存在していても検出が不可能になる。
そこで、本実施例では、登録された三次元形状と、入力される三次元形状の両方に、XY許容範囲と同じ大きさの膨張処理をかける。図34に示すように、ユーザにより設定されたXY許容範囲と同じ大きさの膨張フィルタを登録三次元形状と入力三次元形状の両方にかけることにより、見かけ上の突起のサイズを大きくできる。この大きくなった突起に対して設定された許容範囲の下限は実際の突起のサイズと等しくなるため、突起の欠けが検出できるサイズが実際の突起のサイズと等しくなる。
上記突起強調処理をONにすると、ユーザが設定したXY方向の許容範囲の大きさと同じ大きさの膨張処理が自動的に適用される。ユーザが許容範囲を実寸値(ミリ、インチ等)で設定した場合は、その実寸値を、1画素辺りの実寸値を表す変換係数を使って、画素数に自動変換し、変換した画素数を強さとする膨張・収縮処理をかけることができる。これにより、ユーザが許容したい公差範囲を設定するだけで、自動的に最適な強さの膨張・収縮処理を適用できる。
なお、本実施例では、XY許容範囲と同じ大きさの膨張処理をかける例について説明したが、膨張処理はXY許容範囲と厳密に同じである必要はなく、許容範囲に対して所定範囲内の大きさであればほぼ同一の効果が得られる。また、膨張処理ではなく収縮処理をかけることにより、突起の欠けではなく、凹みが埋まっているか否かを検査することも可能である。
図35は本実施例のデータフローダイアグラムである。新たな測定により入力された三次元形状に対し、予め登録された三次元形状を用いて上記した三次元サーチ機能を用いて三次元の姿勢を推定し、補正を行う。次に、ユーザにより設定されたXY方向(水平方向)の許容範囲の設定値に基づいて登録三次元形状と入力三次元形状の両方に対し、同一の膨張処理を適用し、差分データを生成する。この差分データが所定の範囲内か否かにより測定対象物の良否判定を行う。
図36は別のデータフローダイアグラムを示す図である。図35と異なるのは、膨張処理が適用された登録三次元形状から、XY方向の許容範囲の設定値に基づいて、許容範囲上限と許容範囲下限が算出される点である。登録された三次元形状に対し、XY方向の膨張処理を適用し、この膨張した三次元形状に対し、XY方向の許容範囲を適用すると、許容範囲下限における測定対象物のXY方向の幅が、実際の測定対象物のXY方向の幅と略等しくなる。これにより、実際の測定対象物のXY方向の幅と略等しいサイズの突起の欠け(膨張処理の場合)や穴の埋まり(収縮処理の場合)を検出することができる。
一般的に三次元測定では、パターンが照射されない位置や、カメラから死角になる位置は測定結果が得られない。測定結果が得られなかった画素は「無効画素」と呼ばれる。この無効画素は特に三角測量の原理を用いたパターン投影法では完全に排除することが困難である。
登録三次元形状と、測定対象物を測定して得られた入力三次元形状の差分を用いて検査を行う場合、入力三次元形状に存在する無効画素部分は、そのままでは登録三次元形状との差分を定義できない。また、入力画像側だけではなく、登録画像側に無効画素がある場合の差分もそのままでは定義できない。そこで、従来から無効画素を周囲の高さの平均値などで埋めるフィルタ処理が行われている。しかし、無効画素をフィルタ処理で埋める処理は、異なる位置の画素の高さに基づいて高さを決定するため、有効画素と比べると高さが安定しない。また、近くに有効画素がない場合は高さを決定できない。
そこで、本実施例では、ユーザに背景となる平面(以下、背景平面)を指定させ、無効画素は背景平面での高さとし、無効画素がある場合でも、登録三次元形状と入力三次元形状の差分を定義できるようにしている。図37は背景平面の処理のイメージ図である。測定対象物の断面プロファイルが途切れている位置は、測定結果が得られなかった無効画素を示している。無効画素の高さは背景平面の高さとし、背景平面よりも低い高さの画素は背景平面の高さで下限クリッピングする。これにより、無効画素がある場合でも、登録三次元形状と入力三次元形状の差分を算出し、差分の体積などの計測値を算出できる。差分体積は、高さの差分をXY方向に積分することにより計算されるが、高さとしての値を持たない無効画素が存在すると、差分体積を算出することができないが、無効画素に高さを与えることで、これらの計測値を算出できるようになる。また、上記した平均化フィルタなどのフィルタ処理により無効画素を埋める場合と比べると、近くに有効画素が無い場合であっても高さを定義することが可能である上、周囲高さの影響を受けないため判定結果が安定する。
また、背景平面だけでなく、上限の平面(以下、上限平面)を設定することもできる。図38は背景平面に加えて上限平面が設定された場合の処理イメージを示した図である。無効画素は背景断面の高さに設定され、上限平面を超える部分の高さは上限平面の高さに設定される。
図39は背景平面処理に係るデータフローダイアグラムである。入力三次元形状は上述した三次元サーチ機能に基づいて三次元姿勢を補正した後、背景平面処理が適用される。登録三次元形状に対しても同じ背景平面処理が適用される。背景平面処理が適用された後の登録三次元形状と入力三次元形状が比較され、差分データが抽出される。
図40は、登録三次元形状に対してユーザにより設定された許容範囲上限と、許容範囲下限のそれぞれに対して、背景平面処理を適用する場合のデータフローを示している。上述したように、許容範囲上限と許容範囲下限は、登録三次元形状に対して設定されるため、登録三次元形状に無効画素が存在すると、許容範囲上限や許容範囲下限にも無効画素が発生してしまう。そこで、許容範囲上限と許容範囲下限に対しても入力三次元形状と同様の背景平面処理を適用することにより、許容範囲上限と許容範囲下限の無効画素を、背景平面の高さに置き換えることができる。許容範囲上限の無効画素と、許容範囲下限の無効画素は、ユーザにより設定された同じ背景平面の高さに統一される。したがって、入力三次元形状の対応する画素が無効画素ではなく有効画素であり、背景平面の高さより大きな高さが得られれば、許容範囲を超える突起として検出され、背景平面の高さより小さな高さが得られれば、許容範囲を下回る欠けとして検出される。このように、ユーザが登録三次元形状に設定した許容範囲(公差)を用いて、入力三次元形状の突起部分や欠け部分を検出するアプリケーションでは、登録三次元形状の上限許容範囲と上限下限範囲に対して背景平面処理を適用することで、登録三次元形状に無効画素が存在する場合でも、安定的に検査を行うことができる。
以上説明したように、背景平面処理を適用することにより、無効画素の扱いが極めて容易になる。ユーザーインターフェース上では、ユーザが高さ方向の計測領域を限定すると、自動的に無効画素に付与される高さの値が計測領域下限に制限される。したがって、ユーザが無効画素の取り扱いについて意識する必要はない。
なお、上記突起強調処理や、背景平面処理は、ユーザの操作に応じてコントローラ部に設けられた検査部45により実行される。
図41は、画像処理装置1が有する高さ2値化機能を実現するユーザーインターフェース320である。高さ2値化機能とは、三次元形状のある高さを横切るか否かで2値化した画像を生成する機能である。高さ2値化機能によって、2値化した面積を計測することで例えば部品の有り無しなどを判別できる。
高さ2値化機能用のユーザーインターフェース320には、三次元形状301Bが斜視的に表示される三次元形状表示領域321と、高さ2値化画像が表示される高さ2値化画像表示領域322とが設けられている。三次元形状表示領域321には水平面321aが三次元形状301Bと重畳表示される。水平面321aは、三次元形状表示領域321の側部に設けられているスライダーバー321b等の操作手段によって高さ方向に任意に移動させることができる。高さ2値化画像表示領域322には、三次元形状301Bのうち、水平面321a内に位置する部分と、それ以外の部分とが異なる色で表示される。水平面321a内に位置する部分を符号323で示す。図42は、水平面321a内に位置する部分がない状態を示している。
高さ2値化機能にはズーム機能が搭載されている。図43は、三次元形状表示領域321に表示されている三次元形状301Bを拡大して表示した例を示している。拡大の方法は、従来から用いられている方法を用いることができる。三次元形状301Bを拡大させることで、スライダーバー321bを操作したときの水平面321aの移動幅が狭まり、より細かい調整が可能になる。
図44は、高さ2値化画像での形状比較機能を実現するユーザーインターフェース330である。この機能は、高さ2値化画像を使用して、2値化した面積を計測するだけでは判別できない、形状の違いを検査する場合に有効な機能である。形状比較機能を実現するユーザーインターフェース330には、三次元形状301Bが斜視的に表示される三次元形状表示領域331と、高さ2値化画像が表示される高さ2値化画像表示領域332とが設けられている。三次元形状表示領域331には、高さ2値化機能用のユーザーインターフェース320と同様な水平面331aが三次元形状301Bと重畳表示される。水平面331aは、三次元形状表示領域331の側部に設けられているスライダーバー331b等の操作手段によって高さ方向に任意に移動させることができる。高さ2値化画像表示領域332には、三次元形状301Bのうち、水平面331a内に位置する部分333が表示される。
図45は、検査する輪郭を選択するためのユーザーインターフェース340である。ユーザーインターフェース340には、輪郭が表示される輪郭表示領域341が設けられている。輪郭表示領域341に表示されている輪郭の一部を削除することもできる。
図46は、図44に示すユーザーインターフェース330において、輪郭の検出結果を表示するための結果表示領域335を表示させた状態を示している。結果表示領域335には、許容範囲335aと共に、検出された輪郭336も表示される。
図47は、許容範囲を拡大した場合を示している。許容範囲は拡大することも縮小することもできるようになっている。
以上が画像処理装置1の設定モードで行われる。図48は、画像処理装置1の運転モード時に品種違いの三次元形状を入力した場合の表示例を示している。品種違いの三次元形状が入力されると、許容範囲を超えた部分が生じるので、品種違いの三次元形状が入力されたことを検出することができる。
(複数のパターン光照射部の連携による出力データの生成)
第1LED31b、第1LCD31d、第2LED32b及び第2LCD32dにより、第1のパターン光照射部が構成され、また、第3LED33b、第3LCD33d、第4LED34b及び第4LCD34dにより、第2のパターン光照射部が構成されている。つまり、第1LED31b、第1LCD31d、第2LED32b及び第2LCD32dによって1つのグループが構成され、第3LED33b、第3LCD33d、第4LED34b及び第4LCD34dによって別の方向からパターン光を投影する別のグループが構成されている。この例では各グループを構成する光源及びパターン生成部は2つずつにしているが、これに限らず、4つの光源及び4つのパターン生成部によって1つのグループを構成してもよい。また、第1のパターン光照射部と同様なパターン光照射部として、第3のパターン光照射部や第4のパターン光照射部があってもよい。
この場合、高さ測定部42は、第1のパターン光照射部に基づく高さデータの中で低い高さを示すデータを合成高さデータとし、第2のパターン光照射部に基づく高さデータの中で低い高さを示すデータを当該位置の合成高さデータとした上で、第1のパターン光照射部に基づく合成高さデータの信頼度と、第2のパターン光照射部に基づく合成高さデータの信頼度とを算出する。信頼度の算出手法は、上述した手法を用いることができる。高さ測定部42は、信頼度を算出した後、信頼度の高い方の合成高さデータを出力データとするように構成することができる。
すなわち、例えば2つのパターン光照射部がそれぞれ合成高さデータ及びその信頼度を算出した上で、2段階目の高さ合成を行うことができる。高さデータを合成する際、データの選択だけに限られるものではなく、信頼性の高いデータが優先されるようにすればよく、例えば、信頼性の高い側が選択されるようにすることや、重み付き平均等の方法を採用することができる。出力する高さデータとしては、信頼度が高いグループの結果を優先するように、それぞれのグループのデータを合成する。これにより、ハレーション(正反射)の悪影響に対する耐性が向上する。
図49に示すデータフローダイアグラムに基づいて具体的に説明する。この例では、8つの光源及びパターン生成部を有しており、したがって、各方向高さ0~7までの8つの高さデータが生成される。各方向高さ0~3を第1のパターン光照射部500とし、各方向高さ4~7を第2のパターン光照射部501としたとき、第1のパターン光照射部500を構成する各方向高さ0~3の高さデータのうち、MIN法に基づいて低い方の高さデータを生成する。また、第2のパターン光照射部501を構成する各方向高さ4~7の高さデータのうち、MIN法に基づいて低い方の高さデータを生成する。また、第1のパターン光照射部500で得られた高さデータの信頼度及び第2のパターン光照射部501で得られた高さデータの信頼度も算出しておく。そして、2つのパターン光照射部500、501のうち、信頼度の高い方を優先して出力データを合成する。また、高信頼度が得られたパターン光照射部の高さデータの重みを大きくする重み付け平均で合成してもよい。
(実施形態の作用効果)
以上説明したように、この実施形態に係る画像処理装置1によれば、位相を順次シフトさせたパターン光が測定対象物Wに照射され、パターン光が測定対象物Wに照射された都度、測定対象物Wから反射した光を受光して複数のパターン画像を生成することができる。生成された複数のパターン画像に基づいて、測定対象物Wの三次元形状を測定することができる。
パターン光を照射する際、互いに位相が180度異なるパターンを連続的に照射するので、測定対象物Wに順次照射されるパターン光のうち、奇数番目に照射されるパターン光と、偶数番目に照射されるパターン光との位相が逆位相の関係になる。これにより、逆位相同士のパターン光の照射間隔を狭めて外乱光の明るさ変動を極小化することができるので、1つの測定対象物Wの測定が完了するまでの間に外乱光の明るさが変動したとしても、その変動の影響を抑制することができ、その結果、測定誤差を減少させることができる。
また、複数の高さデータを合成して合成高さデータを生成する際に、測定対象物W上の同一位置において複数の高さデータが互いに異なるか否かを判定し、異なる場合には、それら高さデータの中で低い高さを示すデータを当該位置の合成高さデータとすることができる。
すなわち、測定時における多重反射による悪影響の多くは+方向の誤り高さを与えるので、測定結果が実際の高さよりも高い方向に誤ることが多い。本実施形態では、測定対象物W上の同一位置において高さデータが異なる場合には、低いデータを採用して合成高さデータとするので、一般的な工業製品の測定を行う多くの場合に多重反射による悪影響が排除される。
上述の実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内のものである。