以下、本発明の実施の形態を図面に基づいて説明する。ただし、以下に示す実施の形態は、本発明の技術思想を具体化するための例示であって、本発明は以下のものに特定されない。また、本明細書は特許請求の範囲に示される部材を、実施の形態の部材に特定するものでは決してない。特に実施の形態に記載されている構成部品の寸法、材質、形状、その相対的配置等は特に特定的な記載がない限りは、本発明の範囲をそれのみに限定する趣旨ではなく、単なる説明例にすぎない。なお、各図面が示す部材の大きさや位置関係等は、説明を明確にするため誇張していることがある。さらに以下の説明において、同一の名称、符号については同一もしくは同質の部材を示しており、詳細説明を適宜省略する。さらに、本発明を構成する各要素は、複数の要素を同一の部材で構成して一の部材で複数の要素を兼用する態様としてもよいし、逆に一の部材の機能を複数の部材で分担して実現することもできる。
(1.画像検査装置1の構成)
本発明の実施の形態1に係る画像検査装置のブロック図を、図1に示す。この図に示す画像検査装置1は、ワークWKを一定の方向から撮像する撮像手段11と、ワークWKを異なる三以上の照明方向から照明するための照明手段と、各照明手段を一ずつ点灯順に点灯させるための照明制御手段31と、照明制御手段と撮像手段と接続されてこれらを制御する画像処理部41を備えている。画像処理部41と撮像手段とは、撮像ケーブル12を介して、また画像処理部41と照明制御手段31とは照明ケーブル32を介して、それぞれ接続されている。また画像処理部は、表示手段51と操作手段61を接続している。さらに画像処理部には、必要に応じて外部機器であるPLC(Programable Logic Controller)やコンピュータ等と接続することもできる。
撮像手段は、照明制御手段により各照明手段を点灯させる照明タイミングにて、ワークWKを一定の方向から撮像することにより、照明方向の異なる複数の部分照明画像を撮像する。
画像処理部は、撮像手段によって撮像された複数の部分照明画像同士で、対応関係にある画素毎の画素値を用いて、フォトメトリックステレオ法に基づき、照明方向を仮定した仮定照明方向におけるワークの表面のソース画像を、複数の異なる仮定照明方向毎に生成するソース画像生成手段として機能する。ソース画像生成手段は、具体的には、法線ベクトル算出手段41aと、輪郭画像生成手段41bと、テクスチャ抽出画像生成手段41cと、検査領域特定手段41dと、画像処理手段41eと、判定手段41fの機能を実現する。法線ベクトル算出手段41aは、撮像手段によって撮像された複数の部分照明画像同士で、対応関係にある画素毎の画素値を用いて、各画素のワークWKの表面に対する法線ベクトルnを算出する。輪郭画像生成手段41bは、算出された各画素の法線ベクトルnに対して、X方向及びY方向に微分処理を施し、ワークWK表面の傾きの輪郭を示す輪郭画像を生成する。テクスチャ抽出画像生成手段41cは、照明手段による照明する回数個ある、算出された各画素の法線ベクトルnから、各画素のアルベドを算出し、アルベドから、ワークWKの表面の傾きの影響を除去した模様を示すテクスチャ抽出画像を生成する。検査領域特定手段41dは、生成された輪郭画像に対して検査対象となる検査領域の位置を特定する。画像処理手段41eは、特定された検査領域内の傷を検出するための画像処理を施す。判定手段41fは、処理結果に基づいて、ワークWK表面の傷の有無を判定する。
撮像手段と照明手段とは、別個の部材として配置可能としている。これによって自由度の高いレイアウトが可能となる。一例として、図2の模式平面図及び図3の模式側面図に示すように、ステージSG上に載置されたワークWKの真上に、光軸を鉛直方向に向けた撮像手段11を配置する。また撮像手段11の周囲の東西南北の方位に、4個の照明手段、すなわち第一照明手段21、第二照明手段22、第三照明手段23、第四照明手段24を、同一の高さに配置する。配置された撮像手段と各照明手段の位置関係は、画像検査装置側で記録される。照明制御手段により所定の照明タイミングで各照明手段を順次点灯させて、共通の撮像手段でもって、ワークを一定の方向から撮像して部分照明画像を取得する。
なお、撮像手段と照明手段とは、別個の部材とする構成に限らず、これらをアーム等を介して一体に構成してもよい。この場合は、予め撮像手段と照明手段の位置関係が固定されているため、光軸を一致させるといった調整作業を不要とできる。ただし、この構成では自由度が失われる。
(撮像手段)
撮像手段11は、例えば、CCD(Charge Coupled Device)カメラやCMOS(Complementary Metal Oxide Semiconductor)イメージャ等の撮像素子が利用できる。撮像素子で被写体の画像を光電変換して画像信号を出力し、出力された画像信号を信号処理ブロックが輝度信号と色差信号とに変換して、撮像ケーブル12で接続された画像処理部41に出力する。
(照明手段)
照明手段21、22、23、24は、ワークWKに対して、異なる照明方向から照明光を照射できるよう、図2の模式平面図に示すようにワークWKの周囲をとり囲むように配置される。また図3の模式側面図に示すように、各照明手段は、光軸を斜め下方に向けて設置される。各照明手段で照明されたワークを、共通の撮像手段で撮像できるよう、撮像手段の光軸と、照明手段を設けた平面(仮想回転面)の中心軸とを一致させることが好ましい。また、照明手段同士の間隔(中心軸からの方位角)は、360°を照明手段の数で均等に分割して配置することが好ましい。さらに天頂角は、すべての照明手段で一定とすることが好ましい。さらにまた、各照明手段とワークとの距離も、一定とすること好ましい。このようにすることで、フォトメトリックステレオ処理の演算に必要な方位角や天頂角情報の入力を簡易化できる。また後述の通り、全灯画像MCを撮像する際はすべての照明手段を点灯した全灯状態で撮像するため、上記状態にすれば、全照明の強さを均等に弱めるだけで、ムラの少ない照明状態で撮像できる。
図1の例では、第一照明手段21、第二照明手段22、第三照明手段23、第四照明手段24の4つで構成される。各照明手段は、白熱球や蛍光灯等が利用できる。特に、発光ダイオード(Light Emitting Diode:LED)等の半導体発光素子は、消費電力が少なく長寿命で応答性にも優れ、好ましい。各照明手段は、図1に示すように、それぞれに対応するケーブル71、72、73、74を介して、照明分岐ユニット75に接続され、さらにケーブル76を介して、照明制御手段31に接続されている。
(照明分岐ユニット)
照明分岐ユニットは、各照明手段を照明制御手段と接続するためのインターフェースである。具体的には、照明手段から延長された照明ケーブルを接続するための照明接続コネクタを設けている。図1の例では、4つの照明手段を接続するよう、4つの照明接続コネクタを設けている。この際、照明ケーブルを正しく照明接続コネクタに接続するよう、設置補助手段としてマーク等を設けてもよい。各照明手段の照明メーブルを、照明分岐ユニットの照明接続コネクタに正しく接続することで、照明制御手段でもって正しい順序で正しい方向から照明手段を点灯でき、さらに各照明タイミングと同期させて撮像手段を動作させることで、部分照明画像を撮像できる。なお、照明分岐ユニットは、図1の例では照明制御手段と別体に設けられているが、この構成に限られず、例えば照明制御手段に照明分岐ユニットを組み込んでもよい。
照明手段21、22、23、24の照明色は、ワークWKのタイプに応じて変更することもできる。例えば、細かい傷を検査したい場合には、波長が短い青色が好適である。また、着色されたワークを検査するときは、照明の色が邪魔にならないように、白色の照明を使うのが好ましい。さらに、ワークに油が付いているときには、その影響を防ぐために、赤色の照明を採用するとよい。
また照明手段は、上述した図1〜図3の例では4個としているが、異なる三以上の照明方向からワークWKを照明できるよう、少なくとも3個あれば足りる。照明手段の数を増やすと、より多くの照明方向から部分照明画像が得られるため、画像検査の精度を向上できる。例えば、北東、北西、南東、南西の方位を加えて全部で8個配置してもよい。また、照明手段同士の間隔(中心軸からの方位角)は、360°を照明手段の数で均等に分割して配置することが好ましい。さらに天頂角は、すべての照明手段で一定とすることが好ましい。なお、処理すべき画像の枚数が増えることで処理量が増え、処理時間が遅くなる。本実施の形態においては、処理速度と演算処理のし易さ、精度等のバランスを考慮して、上述の通り照明手段の数を4個としている。
また、照明手段を、環状に配置された複数個の発光素子で構成することもできる。例えば図4に示す実施形態2に係るリング照明では、環状に配置された発光素子を4つの照明ブロックに分割している。そして照明制御手段が、第一照明ブロックを第一照明手段、第二照明ブロックを第二照明手段、第三照明ブロックを第三照明手段、第四照明ブロックを第四照明手段として、それぞれの照明ブロックの照明タイミングを異ならせることで、4つの別個の照明手段が存在するのと同様に制御できる。
またこの構成であれば、同一のリング照明を用いて、照明手段の数を任意に変更できる利点も得られる。すなわち、各発光素子の点灯を照明制御手段で任意に制御できる場合は、図5に示すように、環状に配列された発光素子の円周を4区分から5区分に分割するように照明ブロックを変更し、5つの照明ブロックをそれぞれ点灯させる照明タイミングをずらして各部分照明画像を撮像するように照明制御手段で制御することで、5つの照明方向からの部分照明画像を取得できる。さらに同様に環状の円周を6分割、7分割に変更すれば、照明方向をさらに増やすことができる。また、常時一定の照明ブロックにて部分照明画像を取得する構成に限らず、周期毎に照明ブロックを変更してもよい。このように、各発光素子の点灯パターンを調整することで、同一のリング照明を用いて、仮想的に照明ブロックの数を変更し、照明手段の数を調整するのと同様の効果を得ることができる。言い換えると、共通のハードウェアでもって異なる精度に対応できる。
さらに照明手段は、円環状に配置する他、実施形態3として図6の模式平面図に示すように、バー状に構成された照明手段を矩形状に配置したり、実施形態4として図7の模式平面図に示すように、多角形状に配置することもできる。
あるいは、照明手段を円や多角形の環状に配置する他、平面状に配置することもできる。例えば、多数の発光素子を平面状に配置し、点灯する照明ブロックを変化させることで、異なる照明方向を実現することもできる。具体的には、図8に示す変形例に係る照明手段のように、同心円状の円環を複数重ねた照明ユニット20’を構成し、半径の異なる各円環をそれぞれ照明ブロックとして照明手段を構成する。あるいは、図9に示す他の変形例に係る照明手段のように、ドットマトリックス状に発光素子を並べた照明ユニット20”としつつ、中心を通る複数の線分で分割した照明ブロックでもって照明手段を構成してもよい。このように本発明において照明手段や照明方向とは、必ずしも物理的に離間された照明に限られず、一の照明手段を複数に分割した照明ブロックでもって、照明を行う構成も含む意味で使用する。
なお、本実施例においては各照明手段による部分照明光が撮像範囲内で並行光であるとの前提で処理している。部分照明光が平行光である限り、照明光の方向(例えば東西南北のいずれか)だけが問題となり、その詳細な位置、例えば照明手段の光源の座標位置等は考慮する必要はない。
(照明制御手段)
照明制御手段は、三以上の照明手段を一ずつ点灯順に点灯させるもしくは同時に点灯させると共に、各照明手段を点灯させる照明タイミングにて、ワークを撮像手段で一定の方向から撮像するよう、各照明手段と撮像手段を同期させるように制御する。いいかえると照明制御手段は、照明手段による照明タイミングと、撮像手段による撮像タイミングとを同期させる。また照明制御手段が各照明手段を点灯させる点灯順は、ワークの周囲を取り囲むように配置された照明手段を、時計回り、反時計回りといった順で点灯させる他、離散的な順序、例えば一つおきや交差するような順としてもよい。どのような順であっても、各照明タイミングで撮像された部分照明画像が、どの照明方向の照明にて撮像されたものであるかを把握できれば、フォトメトリックステレオ法に基づいて法線ベクトル画像を構築できる。
なお図1の実施形態1では、照明制御手段31は、画像処理部41と別体として設けられているが、この構成に限られない。例えば、図10に示す実施形態5のように、画像処理部41と一体化されていてもよいし、あるいは図11に示す実施形態6のように、照明手段25に内蔵されていてもよい。
(画像処理部)
画像処理部41は、撮像手段11及び照明手段21、22、23、24の動作を制御するとともに、撮像手段11から入力された4つの部分照明画像の画像信号Q1〜Q4を用いて、各画素における面の法線ベクトル画像(以下、「傾き画像」という。)を生成し、傾き画像のX方向及びY方向の第2次の傾き画像(以下、「輪郭抽出画像」という。)や、アルベド(albedo、反射率を意味する。)画像(以下、「テクスチャ抽出画像」ともいう。)を作成し、それらの画像を用いて、傷の検査や文字の検出等を行うための処理をする。なお、傷の検査や文字の検出等を行うための処理は、画像処理部41で処理する構成に限らず、例えばPLC81等の外部部機器側で実行させることもできる。
図12は、画像処理部41の信号処理系42を示している。信号処理系42は、CPU43、メモリ44、ROM45、表示手段51、ポインティングデバイス等の操作手段61、撮像手段11、照明制御手段31、結果出力処理を実行するPLC(プログラマブル・ロジック・コントローラ)81より構成されており、これらは、バス46やケーブル12、32、52、62、82を介して互いに接続されている。なお、ROM45は、可搬メディアであってもよい。また表示手段51を、例えばタッチパネルとする等、操作手段61と兼用させてもよい。
CPU43は、ROM45に格納されているプログラムに基づいて、メモリ44、ROM45、表示手段51、操作手段61、撮像手段11、照明制御手段31、PLC81の相互間でのデータの送受を制御したり、表示手段51、撮像手段11、照明制御手段31の制御を行っている。
画像処理部41は、例えば、プログラムが格納された1台のコンピュータを想定しているが、複数のコンピュータの組み合わせにより各手段が構成されるようにしてもよいし、一部の手段を専用の回路により構成してもよい。あるいは、ASICのように専用設計された部材とすることもできる。
(判定手段)
画像処理部41は上述の通り、判定手段の機能を実現する。判定手段は、得られたテクスチャ抽出画像に基づいて、傷の有無や大きさの検査を行う。例えば所定の閾値以上の場合に傷であると判定する。また、判定手段は必要に応じて輪郭抽出画像に基づいてOCRを行い、認識された文字列を出力することもできる。
(基本原理)
次に、以上の画像検査装置を用いて、ワークの外観検査を行う基本原理について、従来技術である特許文献1の技術と対比しながら説明する。まず特許文献1に開示された技術の基本原理は、フォトメトリックステレオ法の原理を利用し、未知の面に対して、様々な方向から光を当てて、ワークの反射光の違いを利用してワークの形を推定しようとするものである。ワークの反射光は、照明の入射角度、照明の距離等を反映し、入射角度が90°になるところが最も明るくなり、照明との距離が離れれば離れるほど暗くなる性質がある。
この性質を利用して、明るさと位置が既知である照明を複数個用意して、照明の点灯を順に切り替えていき、それぞれの点において、各方向の照明から照射されたときの反射光の明るさの違いを利用して表面がどちらを向いているかを推定する。具体的には、傾き画像のX成分Y成分を、X成分の輝度に置き換えたX成分画像やY成分の輝度に置き換えたY成分画像を作成して検査に応用しようとするものである。
しかしながら、この方法は、照明やワークの設置面の僅かな傾きや、元々入力している照明の位置等の入力情報の過誤に対して、得られる検査画像が大きく変化してしまう等、ロバスト性に劣るという問題があった。例えば、実際には凸凹がないのに凸凹の画像になったり、あるいは照明に対しては通常、近くが明るく見えるところ、明るさの変化によってワークの中央が盛り上がったような画像に見えるといった、ワークの実際の形状に即した検査画像が必ずしも得られないという欠点があった。
これに対して、本実施の形態に係る画像検査技術の基本原理は、フォトメトリックステレオ法を利用して第1次の傾き画像を生成することを出発点としながらも、得られた第1次の傾き画像をX方向及びY方向に微分処理して第2次の傾き画像、すなわち、輪郭抽出画像を作成し、その画像を用いて、傷の検査等を行うものである。第2次の傾き画像は、前述の欠点が生ずるようなケースであっても、その影響が小さく、面の傾き変化の大きいところが暗くなる階調とする一方、面の傾き変化の小さいところが明るくなる階調と設定することで、ワークの表面の傾きが大きく変化する傷や輪郭等を抽出するのに好適な画像となる。
また、特許文献1に開示された技術では、フォトメトリックステレオ法を利用して生成した反射率画像(テクスチャ抽出画像に相当。)は、ハレーションが起きてしまい、文字の検出等が困難な場合があった。これに対して、本実施の形態に係る画像検査技術は、基本的には、2つの照明でしか同じ箇所ではハレーションしないという基本原理を利用して、各画素において、例えば4つの画素値の内、上から3つ目の画素値を採用することで、ハレーションの影響を取り除くようにしている。
加えて、特許文献1に開示された画像処理装置は、カメラと照明用の光源を一体に構成しているが、この構成では、カメラと光源が大型化して、設置に際して大きさの制約を受けるという問題もあった。これに対して本実施の形態に係る画像検査装置では、撮像手段と照明手段を別個の部材とできるので、配置スペースを考慮したより柔軟な設置が可能となって、使い勝手の面でも有利となる。
(フォトメトリックステレオ法の基本原理)
ここで、図13A〜図13Dを参照しながら、フォトメトリックステレオ法の基本原理について説明する。まず、図13Aに示すように、未知の拡散反射面S、及び明るさと位置が既知の複数の照明(この例では第一照明手段L1と第二照明手段L2の2個)がある場合を想定する。例えば図13Bに示すように、第一照明手段L1から光を照射すると、拡散反射面Sの表面における拡散反射光は、(1)照明の明るさ(既知)、(2)照明の向き(既知)、(3)ワークWKの表面の向き(法線ベクトルn)、(4)ワークWKの表面のアルベドのパラメータのみで決定される。
そこで、図13B及び図13Cに示すように、複数の異なる照明方向、具体的には三以上の照明方向から照明光が投光されたときの拡散反射光からなる部分照明画像を、それぞれ撮像手段で撮影する。そして図13Dに示すように、3以上の部分照明画像を入力画像とすることで、未知である(3)ワークWK表面の向き(法線ベクトルn)、(4)ワークWK表面のアルベドを、以下の関係式に基づいて算出できる。
I=ρLSn
上式において、
ρ:アルベド
L:照明の明るさ
S:照明方向行列
n:表面の法線ベクトル
I:画像の階調値
上式から、照明手段が3つの場合、次式で表すことができる。
また照明手段が4つの場合は、次式で表すことができる。
(法線ベクトルn)
上式より、法線ベクトルnは、次式で表現できる。
n=1/ρL・S+I
上式において、
S+:正方行列であれば、普通の逆行列
S+:縦長行列の逆行列は以下の式で表現されるムーアペンローズの擬似逆行列
S+=(StS)-1St
で求める。
(アルベド)
さらにアルベドρは、次式で表現できる。
ρ=|I|/|LSn|
(2−2.輪郭抽出画像)
次に、フォトメトリックステレオ法で傾き画像を生成すると共に、得られた傾き画像から、傷や輪郭等のワークの表面情報を得る方法について説明する。
(傾き画像)
まず、傾き画像の生成方法について説明する。ワークの曲面をSとするとき、傾き画像は次式で与えられる。
x方向:δs/δx、y方向:δs/δy
ここで傾き画像の例として、ワークとして一円玉を用いた例を図14A、図14Bに示す。図14Aは、法線方向のY座標成分画像、図14Bは法線方向のX座標成分画像である。ここでは、4つの照明方向から撮像した部分照明画像を用いて、Y方向(図において垂直方向)に微分することで図14Aに示す傾き画像を、またX方向(図において水平方向)に微分することで図14Bに示す傾き画像を図14Bを、それぞれ得ている。
ここで、傷や輪郭等はワーク表面の傾きが変化する箇所なので、傾き画像をそれぞれの方向に微分する。第2次の傾き画像は、次式で与えられる。
x方向:δ2s/δx2、y方向:δ2s/δy2
(輪郭抽出画像)
以上から、x方向、y方向の傾き画像の部分δ2s/δx2、δ2s/δy2を合成して、ワークの輪郭や傷情報を含む輪郭抽出画像を生成する。輪郭抽出画像Eは、次式で与えられる。
E=δ2s/δx2+δ2s/δy2
上式において、Eは輪郭情報、Sはワークの曲面をそれぞれ示している。図14A、図14Bから演算された輪郭抽出画像の例を、図14Cに示す。輪郭抽出画像は、高い部分が白色、低い部分が黒色となるように、画像の濃淡(輝度)で高さを表現している。
(微分合成方法)
以上のような輪郭抽出画像の生成に際して行われる微分合成方法としては、(1)単純加算、(2)多重解像度、(3)二乗和等が挙げられる。
(1:単純加算)
ここで(1)の単純加算は、各画素におけるX,Y傾き画像の微分の和である。
(2:多重解像度)
また(2)の多重解像度は、傾き画像を異なる縮小率で縮小した縮小傾き画像を複数作成し、それぞれの縮小傾き画像において、(1)の方法で輪郭の強さを求める。縮小率は、例えば1/1、1/2、1/4、1/8、1/16、1/32等とする。このようにして得られた複数の縮小輪郭画像に対して、所定の重み付けを行い、拡大処理を行い、拡大された縮小輪郭画像をすべて足し合わせたものを輪郭抽出画像とする。ここで重み付けを変更すれば、任意の太さの傷や輪郭等を抽出することが可能となる。
(3:二乗和)
さらに(3)の二乗和では、X,Y傾き画像の微分の二乗の和を輪郭の強さとする輪郭抽出画像を作成する。なお、本実施形態においては、(2)の多重解像度を採用している。
如何なる大きさを傷として判断するかは、ユーザの用途によって異なる。例えば、10ピクセルに跨がったものを傷として判断する場合もあれば、100ピクセルに跨がっている凹んだものを傷として判断する場合もある。また、急峻なエッジだけをエッジとして抽出したい場合もある。
傾き画像の画素数が大きいと処理上は大きな傷となるため、大きな傷を抽出したければ、傾き画像を縮小してから(1)の方法で輪郭の強さを求めてから拡大する。一方、小さな傷を抽出したければ、重み付けをせずに(1)の方法で微分合成をすればよい。
すなわち、重み付けは、合成するときに予め決められた重みのセットを用意しておき、縮小傾き画像を上記の全種類作成し、大きい傷を見たければ、より縮小した画像からの結果を重くし、小さい傷を見たければ、縮小を弱めた画像からの結果を重くする。
ここで、拡大された縮小輪郭画像をすべて足し合わせたものを輪郭抽出画像とするのは、傷は、通常、複数の周波数に跨がって検出されるため、例えば一つの周波数に限定すると、その限定した周波数で検出される傷だけを抽出してしまい、全体的にぼやけてしまうからである。
(特徴サイズ)
前述した重みのセットは、例えば、特徴サイズというパラメータを設けて、この値が1のときに一番細かい傷が検出でき、この値を上げていくと大きな傷が検出できるようにする。特徴サイズを大きくしていき、より大きな傷が検出し易い状態になったとき、ワーク表面の凸凹がより明瞭となる。そこで、特徴サイズに所定の閾値を設けて、その閾値以上になった場合を凹凸モードとして、輪郭抽出画像の特徴サイズによって、輪郭抽出モードと使い分けるようにしてもよい。
次に、δ2s/δx2及びδ2s/δy2の計算方法について説明する。この計算方法としては、(1)前進差分や、(2)中央差分等が挙げられる。
(1:前進差分)
前進差分においては、水平方向の傾き画像Gh、垂直方向の傾き画像Gvを入力として、輪郭画像Eの座標(x、y)における画素G(x,y)を、次式で計算する。
E(x,y)=Gh(x−1,y)−Gh(x,y)+Gv(x,y−1)−Gv(x,y)
ここで、輪郭画像に表れる傷の情報を、模式的なプロファイルとして図15A〜図15Dに示す。これらの図において、図15Aはワークの表面情報、図15Bは傾き画像、図15Cは前身差分による輪郭画像、図15Dは中央差分による輪郭画像のプロファイルを、それぞれ示している。(1)の前進差分では、図15A、図15Cに示すように、1ピクセル単位の傷が明瞭に見えるというメリットがある。一方で、元画像に対して0.5ピクセルずれた画像が得られてしまうというデメリットもある。
(2:中央差分)
次に中央差分によるδ2s/δx2及びδ2s/δy2の計算方法について説明する。水平方向の傾き画像Gh、垂直方向の傾き画像Gvを入力として、輪郭画像Eの座標(x、y)における画素G(x,y)を、次式で計算する。
E(x,y)=Gh(x−1,y)−Gh(x+1,y)+Gv(x,y−1)−Gv(x,y+1)
(2)の中央差分は、図15A、図15Dに示すように、座標が元画像とずれないメリットがある一方で、結果が少しぼけてしまうというデメリットもある。
(2−3.テクスチャ抽出画像)
次に、フォトメトリックステレオ法で得られた傾き画像から、ワークの表面状態を除去して、文字の検出等に好適なテクスチャ抽出画像を得る方法について説明する。まず、テクスチャ情報は、ワークの表面のアルベドρから計算する。アルベドρは、次式で与えられる。
ρ=|I|/|LSn|
上式において、
ρ:アルベド
L:照明の明るさ
S:照明方向行列
n:表面の法線ベクトル
I:画像の階調値
なお上記ρ=|I|/|LSn|の式でテクスチャ抽出画像(アルベド)を1枚求めることができるが、この式で得られた法線ベクトルとN枚の入力画像(部分照明画像)から、テクスチャ抽出画像(アルベド)をN枚求めてこれを合成し、一枚のテクスチャ抽出画像(アルベド)を求めることもできる。具体的な合成の方法としては平均法、ハレーション除去法等が挙げられる。
図16A〜図16Cに、テクスチャ抽出画像の例を示す。これらの図において、図16Aは入力画像である4枚のテクスチャ抽出画像を示しており、図16Bはこれらに対して平均法を適用したテクスチャ抽出画像、図16Cはハレーション除去法を適用したテクスチャ抽出画像を、それぞれ示している。
(1:平均法)
平均法は、画素毎にN個のρの平均値をその画素における画素値とするものである。図16Bに示すように、全体の陰影は消えているものの、入力画像中でハレーションが生じている部分は、フォトメトリックステレオ法で消せないため、ハレーションの影響が残った画像となる。すなわち図16Aの4つの入力画像(部分照明画像)の内、白くなっている箇所がハレーションを起こしている箇所であり、平均法によって平均化すると、図16Bに示すように、ある程度凸凹が取れて、読み易くはなるものの、若干下地に凸凹が残ってしまう。
(2:ハレーション除去法)
撮像手段であるカメラのダイナミックレンジの制限やワーク表面の反射性の多様性のため、上記ρ=|I|/|LSn|の式そのものがその適応範囲を超えているため、ρに誤差が含まれる。この誤差を補正するために、ハレーション除去法が利用できる。
ハレーションが起きる箇所は照明の位置で決まるため、基本的には、4つの部分照明画像において、同じ箇所ではハレーションは起きないと考えられる。厳密にいえば、2つの方向の間ではハレーションが2カ所に跨がってしまうことがあるものの、基本的には、2つの照明でしか同じ箇所ではハレーションは生じないと言える。
ハレーション除去法では、N枚の部分照明画像から計算した照明方向別テクスチャ抽出画像を合成する際に、各画素において一番画素値が高い部分照明画像、又は一番目〜N番目に画素値が高い部分照明画像はハレーションが多いと考えて、それらを除去した上で合成を行う。
具体的には、本実施形態において4つの照明方向別テクスチャ抽出画像の各画素について、3番目に大きい画素値(例えばアルベドの値や輝度)を採用して合成すると、図16Cの画像のようになり、ハレーションの影響を除去することができる。なお4番目に大きい画素値を採用すると、影の影響が生じるため若干暗い画像となる。逆に2番目に大きい画素値を採用すると、ハレーションの影響が若干残ってしまう。
また照明手段が8方向の場合は、5番目以降の画素値にはハレーションの影響は発生しないと仮定して、上から5番目の画素値を採用している。実際、発明者が行った試験によれば、5番目の画素値を採用すると、画像が最も良くなることが確認された。また6番目以降の画素値を採用すると影の影響が出てくることも判明した。
なお、合成の方法や平均の取り方は、これらに限定されず、種々の方法が利用できる。例えば、上述したハレーション除去法と平均法とを組み合わせて、アルベドの値をソートして、上から特定の順番の値を採用し、例えば3番目と4番目とを平均化してもよい。
(特徴サイズ)
次に、設定の詳細について説明する。上述の通り、輪郭抽出画像を作成する際に、特徴サイズを設定できる。輪郭抽出画像は、特徴サイズを所定値以上にすることで、OCRに適した画像とできる。
(3−2.ゲイン)
輪郭抽出画像やテクスチャ抽出画像を作成する際には、これらの画像の生成過程において元の画像の画素値に対してゲインを乗算することができる。
輪郭抽出画像を作成するときのゲインは、計算処理で算出された画素値を、0〜255の濃淡に分散させるときの定数をいう。例えば、傷や輪郭等が浅すぎて、傷や輪郭等を把握し難いときにこのゲインの値を上げることによって、画素値の濃淡変化が大きくなるため、傷や輪郭等が把握し易くなる。
また、計算処理で算出された画素値が、0〜255の範囲を超えていれば、その間に収まるようにし、小さければ、0〜255の範囲に広げるように調節することで、傷や輪郭等が把握し易くなる。
上述したハレーション除去法では、アルベドの値をソートして上から例えば3番目を採用するため、生成した画像の明るさが予測できない。このため、正反射が取り除かれた結果、予測に反して暗くなることがある。そこで、明るさを調節するために、テクスチャ抽出画像を作成する際には所定のゲインを、画素値に掛ける。
なお、傾き画像の計算に際しても、画素値が0〜255の範囲に収まるように、同様にゲインで調節することもできる。
(3−3.ノイズ除去フィルタ)
傾き画像の作成等に際しては、複数枚の画像を使って連立方程式で計算するところ、実際には差分的な計算をすることになる。この際、撮像手段で撮像した画像データは、生データの時点でノイズが存在しているため、傾き画像を作成する際に、ノイズ成分が強調され、輪郭がざらざらすることがある。このようなノイズを軽減するために、ガイデットフィルタ(Guided Filter)等のノイズ除去フィルタを利用する。一般的なローパスフィルタでは、ノイズのみならず傷の情報もなまったり消えたりしてしまうことがあるが、ガイデットフィルタであれば、傾き画像を求める際にガイデッドフィルタを適用することで、エッジを維持したままノイズを除去でき、好適である。
(3−4.アングルノイズ低減)
次に、アングルノイズ低減の原理を、図17の模式図に基づいて説明する。この図に示すように、入射角がα,βという2つ照明があり、ワークWKが拡散反射面からなると仮定して、ワークWKの基準面に対する傾きをγ、基準面に垂直な向きからの角度をθ、照明αからの反射光の明るさをIα、照明βからの反射光の明るさをIβとしたとき、γは次式で与えられる。
γ=arctan(A・|Iβ−Iα|/|Iβ+Iα|)、A=cotθ
アングルノイズ低減は、|Iβ+Iα|がある程度小さいときに、強制的に傾きγを0とするものである。
仮に、IβもIαも極めて暗く、例えば、Iβ=2、Iα=1だとすると、|Iβ−Iα|/|Iβ+Iα|=1/3という大きな値となる。一方、IβもIαも明るく、例えば、Iβ=300、Iα=200だとすると、|Iβ−Iα|/|Iβ+Iα|=1/5という小さな値となる。Iβ=2、Iα=1というのは、単にノイズという可能性があるにも拘わらず、傾きに大きく反映されてしまうため、そのノイズの影響を軽減するために、アングルノイズ低減があり、強制的に傾きを0とする|Iβ+Iα|の閾値を設定できるようになっている。
(移動するワークに対する画像検査)
以上のフォトメトリックステレオ法に基づく画像検査は、同じワークを、三以上の異なる照明方向から照明して撮像した部分照明画像PS1、PS2、PS3、...に基づいて画像処理することを前提としている。いいかえると、通常のフォトメトリックステレオ法では、被写体が静止しており、撮像した複数の画像の同じ位置が被写体の同一位置であるという前提で行われている。このため、ワークが移動するような場合には、各部分照明画像を撮像する撮像タイミングが異なることから、その間にワークが移動する結果、画像の同じ位置が同じ部位とはならず、このままではフォトメトリックステレオ法を適用できない。例えばライン上を運搬されるワークに対してフォトメトリックステレオ処理のために4枚の部分照明画像を撮像する場合、図18に示すように、4msといった短い撮像間隔でも、4枚の部分照明画像PS1〜PS4を撮像する間に、数ピクセル〜数100ピクセル程度、ワークが移動してずれてしまう。この結果、ワークWKの対応位置Pも、PS1〜PS4の各画像間で座標が異なってしまう。
そこで、異なる撮像タイミングで撮像された部分照明画像同士で、画像の対応点を一致させるよう、対応関係を登録するレジストレーション作業を行う必要がある。画像のレジストレーションを実施するための方法としては、オプティカルフローベースの方法が考えられる。この方法では、対象画像から追跡に適した部分を自動的に選択し、その部分領域を追跡するために、追跡対象画像に対して、移動位置候補毎に、ゼロ平均正規化相互相関(Zero-mean Normalized Cross-Correlation:ZNCC)やSAD(Sum of Absolute Difference)、SSD(Sum of squared difference)等の類似度又は相違度を計算し、それらの値を元に移動ベクトルを求め、レジストレーションに必要な幾何変換を計算する。または、追跡に適したワークの画像や幾何データを元にモデルを作成しておき、そのモデルを使って追跡を実施するモデルベースの方法も考えられる。
しかしながら、これらの何れの方法も、照明状態が大きく変化しないことを前提としているために、フォトメトリックステレオ法での撮像画像のように、照明状態が大きく変化する画像間では安定したレジストレーションを実施することが困難であった。
そこで本実施の形態においては、移動しているワークに対しても、フォトメトリックステレオ法を利用した画像検査を実現できるように、予め追跡対象画像を設定しておき、一連の部分照明画像を撮像する前後あるいは中間に、複数の照明手段を同時に点灯させて撮像した基準画像を、異なる撮像タイミングで複数枚撮像し、対応位置推定手段で各基準画像中で追跡対象画像が含まれている位置を特定し、さらにこの推定された位置に基づいて、各部分照明画像中で対応する画素の対応関係を推定した上で、検査画像生成手段でフォトメトリックステレオ法を用いて検査画像を生成する構成を採用している。これによって、移動しているワークの傷や印字を検査できるようになった。
なお、対応位置推定手段が推定する追跡対象画像の位置の情報には、追跡対象画像が第二基準画像あるいは第一基準画像中に存在する座標位置に加え、回転角度(姿勢)の情報も含めることができる。
(4.画像レジストレーション手段)
画像レジストレーション手段は、例えば図1の例では画像処理部41により構成され、ソフトウェアによって処理がなされる。ここで、画像レジストレーション手段の動作について説明する。
ワークが移動する場合は、部分照明画像を撮像している間にもワークが移動するため、各部分照明画像において、ワークの対応する画素の位置が異なる。そこで移動するワークを撮像した部分照明画像に対してフォトメトリックステレオ法で検査対象画像を生成するための方法として、(1)基準画像を作り、線形補間によって、基準画像と整合する画像を抽出することで、画像レジストレーションを成立させ、抽出された画像の位置情報から照明方向を取得するアプローチ(「線形補間アプローチ」と呼ぶ。)と、(2)予め照明方向を変動させたモデル画像を作り、照明方向と関連付けて登録されたモデル画像群と整合する画像を抽出することで、画像レジストレーションを成立させ、整合したモデル画像から関連付けられた照明方向を取得するアプローチ(「モデル画像アプローチ」と呼ぶ。)が考えられる。
まず(1)の線形補間アプローチでは、線形補間によって、サーチする領域が狭められる。このため、狭められた領域に対して、(2)のモデル画像アプローチを適用すると、位置ブレや角度ブレが原因となって線形補間では完全に整合しないようなケースであっても、このような位置ブレ等の問題を解消できる。すなわち、ブレ補正を適用することで、より高精度に画像レジストレーションの成立を実現することができる。すなわち、(1)の線形補間アプローチを主位的、(2)のモデル画像アプローチを予備的に考えると、(2)のモデル画像アプローチはブレ補正という位置付けとなる。
(2)のモデル画像アプローチにおけるモデル画像を作成するに当たっては、(A)実際に撮影した画像をモデル画像とするPSモデル法と、(B)仮想的に作った画像をモデル画像とする仮想モデル法が挙げられる。
本実施の形態では、(1)の線形補間アプローチから、(2)のモデル画像アプローチをブレ補正と位置付けて、画像レジストレーションの成立を実現することができる。以下、(1)と(2)の各実施例について説明する。
(4−1.用語の説明)
略語を用いて説明するため、最初に略語の意味を明らかにする。PSは、Photometric Stereoの略であり、フォトメトリックステレオ処理のことをPS処理と称し、フォトメトリックステレオ処理用に複数の照明手段の内、一を点灯して撮像して得た部分照明画像をPS画像、またPS画像を撮像する動作をPS撮像という。また、この実施形態においては、4つの第一照明手段21、第二照明手段22、第三照明手段23、第四照明手段24を使用するが、1〜4番目の照明によるPS処理用の撮像や画像、処理という意味でPS1、PS2、PS3、PS4とナンバリングする。すなわち、必ずしも第一照明手段21で撮像した画像がPS1、第二照明手段22で撮像した画像がPS2、...という意味ではない。照明手段の設置の態様や照明手段の点灯順によって、PS画像と照明手段の対応関係は任意に決定される。例えば、照明制御手段が各照明手段の点灯を切り替える点灯順を、時計回り、反時計回り、あるいはランダムとすることもできる。ただし以下の説明においては、簡単のため、第一照明手段21、第二照明手段22、第三照明手段23、第四照明手段24の順に、時計回りで撮像し、また得られた部分照明画像をPS1、PS2、PS3、PS4として説明する。なおアスタリスク*を付けた場合は、任意を意味し、例えばPS*画像という場合、任意のPS画像の意味になる。
MCは、Motion Correctionの略語であり、図19A〜図19Gに示すようにPS撮像の前後あるいは中間において、第一照明手段21〜第四照明手段24をすべて点灯して、線形補間用に撮像する処理をMC撮像と呼び、これによって得られる画像を全灯画像(MC画像)と呼ぶ。図19Aの例では、内挿線形補間法(詳細は後述)に従い、MC1、PS1、PS2、PS3、PS4、MC2、PS1’、PS2’、PS3’、PS4’、MC3、...画像を順次撮像していくタイミングを示している。なおMC画像は複数あり、以下の説明では主に第1全灯画像MC1と第2全灯画像MC2とを使用する。図19Aの例では、第1全灯画像MC1はPS撮像前の全灯照明時の画像、第2全灯画像MC2はPS撮像後の全灯照明時の画像を意味し、MC*はPS撮像の前後の何れか、或いは両方における処理を意味している。ただ、第1全灯画像MC1及び第2全灯画像MC2の撮像のタイミングは、図19Aの例に限らず、例えば外挿線形補間法(詳細は後述)の場合、図19Bに示すように、MC1、MC2、PS1、PS2、PS3、PS4の順で撮像される。さらに以上の例ではMC画像を2枚使用する例を示しているが、本発明はこれに限らず補間用のMC画像を3枚以上に増やすこともできる。一例として、MC画像を2枚、3枚、5枚とした場合の、各画像の撮像タイミングを、図19C〜図19Gに示す。これらの図において、図19Cは図19A、図19Dは図19Bで示した、MC画像を2枚とする撮像タイミングを対比のために示している。また図19E、図19FはMC画像を3枚とした場合の撮像タイミングの変形例を、さらに図19GはMC画像を5枚とした場合の撮像タイミングの例を、それぞれ示している。このように、求められる精度やワークの移動の複雑さ、使用する補間方法等に応じて、MC画像の撮像枚数や撮像タイミングは適宜選択される。
XYTは、位置(x,y)及び角度θ(theta)の略語であり、画像における位置と姿勢とを意味する。
DOFは、Degree of Freedomの略語であり、自由度を意味する。例えばDOFとして、平行移動X、平行移動Y、回転、スケール、アスペクト、スキューの6つの自由度がある場合、DOF=6となる。
SWは、Search Windowの略語であり、MC*画像でのサーチ領域を意味し、画像間の類似度(又は相違度)を算出して、最も類似する画像をサーチする範囲を定義するための領域である。以下の説明では主にSW1とSW2とを使用する。SW1はMC1画像でのサーチ領域であり、SW2はMC2画像でのサーチ領域である。
TWは、Tracking Windowの略語であり、追跡領域指定法において使用する追跡領域を意味する。
またPWは、Pattern Windowの略語であり、追跡パターン指定法において使用するパターン領域を意味する。これら追跡領域TW及びパターン領域PWは、いずれもワークの位置を追跡するための対象となる画像(追跡対象画像)を指定するための領域である。また、これら追跡領域TW及びパターン領域PWは、追跡対象画像指定手段で指定される。具体的には、追跡領域TWは、追跡領域指定法の設定時において、運用時に追跡対象となる画像を含む領域を指定する(後述する図20及び図21A、図22F参照)。追跡領域指定法の運用時においては、追跡領域TWで指定された領域全体でもって、第一基準画像や第二基準画像中からサーチが行われる。
なお、追跡対象画像はワークWKである必要はなく、追跡対象画像の位置からワークWKの画像の位置が推定できればよい。
一方パターン領域PWは、追跡パターン指定法の設定時において、同じく運用時に追跡対象となる画像を含む領域を指定する(後述する図23A、図23F等参照)。ただし追跡パターン指定法の運用時においては、設定時にパターン領域を用いて画像を抽出し、抽出された画像でもって第一基準画像や第二基準画像中からサーチが行われる。
なお追跡対象画像は、典型的にはワークの全体又は一部を含む画像である。ただ本発明は、追跡対象画像をワークの画像に限定するものでなく、ワークの移動が確認できる画像であれば足り、例えばワークを載せるトレイやコンベアといった、ワークの背景画像等を追跡対象画像に利用することもできる。
MWは、Measure Windowの略語であり、計測領域を意味し、1Dエッジ法における計測対象の領域を示す。
(4−2.線形補間法)
次に線形補間を行うための線形補間法について説明する。線形補間法には、(1)追跡領域指定法、(2)追跡パターン指定法、(3)1Dエッジ法等が挙げられる。以下、各方法の設定時と運用時の動作をそれぞれ説明する。
(1)追跡領域指定法
追跡領域指定法では、MC*、PS*画像群を、運用時と同じようにワークWKが動いている状態、又は静止した状態で取得する。このようにして取得した画像群を参照しながら設定を行う。
(追跡領域指定法の設定)
この追跡領域指定法では、設定時に、追跡を開始する追跡領域TWと、サーチ領域SW2を設定する。この設定の様子を、図20A〜図20Bに示す。追跡領域TWは、図20Aに示すように、MC1画像に対して設定する。またサーチ領域SW2は、図20Bに示すように、MC2画像に対して設定する。さらに、線形補間角度から想定される角度ブレ量や、線形補間位置から想定される位置ブレ量を設定することもできる。
(追跡領域指定法の運用)
このようにして追跡領域指定法に関する設定がなされた状態で、運用時における動作を図21A〜図21Fに基づいて説明する。まず、図21Aに示すように、追跡領域TWに対象となるワークWKが進入してきたことをセンサ等で検出して、又はユーザのトリガによって、MC1画像の撮像を開始する。
あるいは、画像処理部が検出モードとPSモード(フォトメトリックステレオモード)とを切り替え可能として、検出モードにおいてワークを検出すると、PSモードに移行するよう構成してもよい。検出モードでは、例えば画像処理部41が内部タイマで自動的にトリガを発生させて、画像を撮像し、エリア計測や濃淡計測等の負荷の比較的軽い処理を利用して、FOV(Field of View)にワークWKが進入したことを検出する。またPSモードにおいては、動き補正が必要な場合はMC1、PS1、PS2、PS3、PS4、MC2画像を撮像して、動き補正をしながらPS処理を行う。
次に図21A〜図21Fに示すように、MC1からPS1、PS2、PS3、PS4、MC2までを等間隔で撮像する。そして、図21FにおいてMC2画像中のサーチ領域SW2に対して、MC1画像の追跡領域TWで指定した領域の画像をパターンサーチを行う。パターンサーチの方法としては、例えば以下の数式で与えられるZNCCの値を、追跡領域TWで定義される画像をサーチ領域SW2で定義される範囲内で位置と姿勢を変えながら、重ね合わせて計算することで類似の位置と姿勢を決定することができる。なお、高速化のために、パターンと追跡対象画像のイメージピラミッドとを利用する方法を使用してもよい。
ここで、T(i,j)はテンプレートの輝度値、I(i,j)は画像の輝度値である。座標の(i,j)は、テンプレートの幅をm画素、高さをn画素としたとき、左上(又は左下)を(0,0)、右下(又は右上)を(m−1,n−1)としている。
このようにして得られた位置と姿勢データから、ワークWKが等速移動しており、かつ撮像手段の撮像タイミング(例えばカメラのシャッタ間隔)が一定との前提で、線形補間方法を適用することで、PS1〜PS4でのXYT、すなわち推定位置と推定姿勢を求めることができる。
(内挿線形補間法)
線形補間法の計算に、内挿線形補間法を用いる場合は、以下のようにして行う。MをMC2画像の画像index、Nを推定したい画像の画像indexとして、MC1画像でのXYTを(X0,Y0,T0)、MC2画像でのXYTを(XM,YM,TM)とすると、各PS(N)画像での推定XYTは、次式で求めることができる。
XN=X0+N×(XM−X0)/M
YN=Y0+N×(YM−Y0)/M
TN=T0+N×(TM−T0)/M
で求めることができる。
上式においてM,N共に0から始まるindexである。図19Aに示す例ではM=5,N=1〜4としている。
(外挿線形補間法)
線形補間法の計算に、外挿線形補間法を用いる場合は、以下のようにして行う。MをMC2画像の画像index、Nを推定したい画像の画像indexとして、MC1画像でのXYTを(X0,Y0,T0)、MC2画像でのXYTを(XM,YM,TM)とすると、各PS(N)画像での推定XYTは、次式で求めることができる。
XN=X0+N×(XM−X0)/M
YN=Y0+N×(YM−Y0)/M
TN=T0+N×(TM−T0)/M
上式においてM,N共に0から始まるindexである。図19Bに示す例ではM=1,N=2〜5としている。
これらの推定位置及び推定姿勢の値と、位置ブレ及び角度ブレの設定値とから、ブレ位置とブレ角度を求めるためのDOFを決定する。
位置ブレ値がピクセル値で角度ブレの値が角度値である場合、追跡領域TWの推定角度で指定される角度を中心として、角度ブレの範囲で追跡領域TWの画像を回転させ、推定位置を中心として位置ブレの値だけ上下左右に拡張した範囲で回転TW画像を重ね合わせ、類似度や相違度を計算して、それぞれのPS*画像で位置と角度情報を得る。このようにサーチ範囲を限定することによって、パターンサーチの安定性を大幅に向上させることができる。
以上のようにして得られた位置と角度情報を用いて、PS*画像のレジストレーションを行う。そしてレジストレーション後の画像群を使って、PS処理を行う。または、これらの位置と角度情報とPS*画像を用いて、直接PS処理を行ってもよい。
何れの方法においても、画素情報にアクセスする方法として、例えば最近傍補間や双一次補間、双三次補間等が知られており、これらの方法を適用できる。
以上の追跡領域指定法では、後述する追跡パターン指定法と比較して、サーチのためのモデルを不要とできる利点が得られる。またワークが鋳肌のような、一見すると模様がランダムに見える表面のテクスチャを用いて、追跡できる利点が得られる。さらに、MC2の回転サーチの角度範囲を狭くすることができる。
(2)追跡パターン指定法
以上、線形補間法の一として追跡領域指定法について説明した。次に、他の線形補間法として、追跡パターン指定法を説明する。追跡パターン指定法では、MC*、PS*画像群をワークWKが静止した状態で取得する。この取得した画像群を登録画像群と呼ぶ。登録画像群には、登録MC*画像、登録PS*画像が含まれる。追跡パターン指定法では、これらの登録画像群を参照しながら設定を行う。
(追跡パターン指定法の設定)
追跡パターン指定法の設定においては、追跡対象の画像(追跡対象パターン)を定義するパターン領域PWと、サーチ領域SW1と、サーチ領域SW2を設定する。この設定の様子を、図22A〜図22Bに示す。パターン領域PWとサーチ領域SW1は、図22Aに示すように、MC1画像に対して設定する。またサーチ領域SW2は、図22Bに示すように、MC2画像に対して設定する。その他の設定は、上述した追跡領域指定法と同様にできる。
(追跡パターン指定法の運用)
このようにして追跡パターン指定法に関する設定がなされた状態で、運用時における動作を図23A〜図23Fに基づいて説明する。まず、図23Aに示すように、対象となるワークがパターン領域PW内に進入してきたことをセンサ等で検出すると、MC1の画像の撮像を開始する。あるいは、追跡領域指定法と同様に検出モードとPSモードとを切り替え可能として、検出モードにおいてワークを検出すると、PSモードに移行するよう構成してもよい。
次に図23A〜図23Fに示すように、MC1からPS1、PS2、PS3、PS4、MC2までを等間隔で撮像する。そして、撮像されたMC1画像に対して、設定時に設定した登録MC1画像内にパターン領域PWで指定される領域の画像(追跡対象パターン)を、MC1画像のサーチ領域SW1内でサーチを行う。このサーチには、回転も含める。これによって図23Aに示すように、回転した画像が検出される。この画像を、以降のパターンサーチのモデル画像とする。
そして、MC2の画像のサーチ領域SW2内から、MC1の画像をサーチする。このようにして得られたXYT情報から、PS1、PS2、PS3、PS4の各画像における推定位置、すなわち推定XYTを線形補間で求める。また必要に応じて、ブレ計測用のウィンドウを推定XYTから決定して、その範囲内でブレ計測用計測を行うこともできる。
ここでサーチの方法としては、例えば上述した数3で与えられるZNCCの値を、登録MC1画像内のパターン領域PWで定義される画像(追跡対象パターン)を、MC2画像内のサーチ領域SW2で規定される範囲内で、位置と姿勢を変えながら、重ね合わせて計算することにより、類似の位置と姿勢を決定することができる。なお、追跡領域指定法と同様に、高速化のためにテンプレート画像とサーチ画像のイメージピラミッドとを利用する方法を使用してもよい。
このようにして得られた位置と姿勢データから、追跡領域指定法と同様の方法でPS処理を行うことができる。
追跡領域指定法のメリットとしては、PS処理後にモデル画像の位置と姿勢が判明すること、追跡対象の位置の精度が悪くてもよいこと、また追跡対象の位置をサーチによって限定するので、追跡が安定すること等が挙げられる。反面、デメリットとしては、追跡領域指定法と異なり、事前にモデル画像を作成するための処理が必要なことや、モデル画像用のメモリが必要となること、一回目のサーチが広範な範囲で回転を含むサーチとなるため、処理負荷が増大すること等が挙げられる。
(画像検査プログラムの設定画面)
ここで、画像検査や画像処理に関する各種の設定を行うための設定手段の一例を、図24〜図25に示す。これらの図は、画像検査プログラムにおけるユーザインターフェースの一例を示している。これら画像検査プログラムの設定画面1100、1200は、例えば図1の画像検査装置において、表示手段51上に表示される。ここでは、設定画面の一例として、(2)追跡パターン指定法の設定時の画面例を示している。ユーザはこれらの画面から、追跡パターン指定法で必要なサーチ領域SW1,SW2、パターン領域PWを、それぞれ指定する。また追跡領域指定法においては、追跡領域SW2を、それぞれ指定する。設定された各領域は、複数の領域を視覚的に区別できるよう、表示態様を変更して表示させることが好ましい。この例では、各領域を色分けして表示している。あるいは、線の太さや線種(実線、破線、一点鎖線等)等、他の領域と区別可能な態様が適宜利用できる。
図24〜図25に示す設定画面1100、1200では、画面の左側に画像表示領域1102を、右側に操作領域1104を、それぞれ設けている。画像表示領域1102には、MC1画像やMC2画像等の各種画像を切り替えて表示できる。また操作領域1104には、選択された画面に応じて、各種設定を行うための設定ツールが配置される。図24に示す例では、表示画像選択欄1105、パターン領域設定欄1106、サーチ領域2設定欄1107、サーチ感度設定欄1108、サーチ精度設定欄1109、相関値下限設定欄1110、角度ブレ設定欄1111、位置ブレ設定欄1112、詳細設定欄1113が設けられている。表示画像選択欄1105では、画像表示領域1102において表示させる画像を切り替えることができる。ここでは、MC1、MC2、PS1、PS2、PS3、PS4のいずれかを切り替えて表示できる。なお、PS*画像の数は、フォトメトリックステレオ処理で用いるPS画像の数によって変動する。また画像表示領域を二画面等、複数の領域に分割したり、別のウィンドウを開く等して、複数の画像を一画面で表示させることもできる。図24の例では、MC1画像を表示させている。
またパターン領域設定欄1106ではパターン領域PWを、サーチ領域2設定欄1107ではサーチ領域SWを、それぞれ新規に設定、あるいは設定済みの領域を変更できる。ここでは、マウス等のポインティングデバイスを利用して、画像表示領域1102の画面上から任意の領域を指定できる。例えば矩形状の対角線上をクリックすることで、矩形状の領域を指定できる。また、座標や角度範囲等、数値を用いて領域を指定することもできる。
さらにサーチ感度設定欄1108では、パターンサーチの感度を、またサーチ精度設定欄1109ではパターンサーチの精度を、それぞれ設定できる。ここでは、数値でもって感度や精度を指定する。さらにまた相関値下限設定欄1110では、相関値の下限値を数値で指定する。
角度ブレ設定欄1111では、線形補間角度から想定される角度ブレの程度を設定する。ここでは、角度ブレの範囲を数値で指定するように構成してもよいし、あるいはその程度を入力するようにしてもよい。この例では程度として、ドロップダウンボックスから、「なし」、「小」、「中」、「大」のいずれかを選択する。「なし」を選択すると0°すなわち角度ブレをなくし、「小」を選択すると±2°の角度ブレを許容し、「中」を選択すると±4°、「大」を選択すると±6°の角度ブレをそれぞれ許容する。
位置ブレ設定欄1112では、線形補間位置から想定される位置ブレの程度を設定する。ここでもドロップダウンボックスから、「なし」、「小」、「中」、「大」のいずれかを選択する。「なし」を選択すると内挿のみとなって位置ブレを許容せず、「小」を選択すると±8ピクセル、「中」を選択すると±16ピクセル、「大」選択すると±32ピクセルの範囲を、それぞれ許容する。また、このように位置ブレの程度を選択する他、位置ブレの範囲をピクセル単位や長さ単位で直接入力するように構成してもよい。
さらに詳細設定欄1113で、「編集」ボタンを押下することで、GUIが図24から図25に示す詳細設定画面1200に切り替えられる。詳細設定画面1200では、操作領域1104に表示画像選択欄1105に加えて、さらに追跡対象設定欄1202、サーチ領域1設定欄1203、角度範囲設定欄1204が設けられている。サーチ領域1設定欄1203では、上述したサーチ領域2設定欄1107等と同様に、サーチ領域1SW1を設定、あるいは編集できる。追跡対象設定欄1202では、パターンサーチで追跡する対象となる追跡領域TWを、領域とするかパターンとするかを選択できる。領域を選択した場合は、上述したサーチ領域1設定欄1203で指定された矩形状の追跡領域TWでもって、パターンサーチを行う。一方、パターンを選択した場合は、追跡領域TWに含まれる、追跡したいワークWKの形状を抽出して、抽出されたパターンでもってパターンサーチを行う。抽出されたパターンはモデル画像として登録され、運用時においてはMC1画像中からパターンサーチされることになる。さらにこのパターンサーチには、モデル画像の回転も含む。また角度範囲設定欄1204では、パターンサーチにおいてモデル画像を回転させる角度範囲を設定する。ここでは、+方向と−方向をそれぞれ数値で指定できる。
なお、サーチ領域SW1を設定する際には、画像表示領域1102にMC1画像を表示させ、サーチ領域SW2を設定する際には、MC2画像を表示させた状態で、それぞれ設定することが望ましい。また、画像表示領域1102に表示させる画像の選択は、ユーザが表示画像選択欄1105等を用いて手動で行うことも可能であるが、設定する領域を選択すると、自動的に該領域の設定に適した画像が表示されるように構成してもよい。
また以上の設定画面1100、1200の例では、(2)追跡パターン指定法での設定を説明したが、同様の方法で(1)追跡領域指定法の設定も行えることはいうまでもない。なお追跡領域指定法においては、パターン領域PWの指定に代えて、追跡領域TWを設定する。
(3)1Dエッジ法
さらに、他の線形補間法として、エッジを利用した1Dエッジ法について説明する。1Dエッジ法では、PS*画像群を運用時と同様にワークWKが動いている状態で取得する。このようにして取得した画像群を用いて設定を行う。
(1Dエッジ法の設定)
1Dエッジ法では、設定時に、すべてのPS*画像でエッジが検出できるような計測領域MW、検出方向、エッジ方向、エッジ強度閾値等を設定する。この設定の様子を図26に示す。まず、PS1画像を表示させて、計測領域MWを、PS1画像上で設定する。
次に、検出方向を設定する。検出方向は、ワークWKと平行になるように設定する。また、検出したいエッジの特徴に合わせて、エッジ方向とエッジ強度閾値を設定する。なお、これらの設定はPS*画像毎に設定してもよい。
ここでPS4画像で検出する最終エッジインデックスは最終エッジを指定するために用いる。またエッジ間隔は、PS1画像で検出される複数のエッジ候補の中から、ターゲットエッジを指定することで、登録エッジ間隔として設定される。
(1Dエッジ法の運用)
以上のようにして設定がなされた状態で、1Dエッジ法を運用する例について説明する。運用時には、PS4画像からターゲットエッジを求める。これをPS4ターゲットエッジ位置と呼ぶ。この位置と登録エッジ間隔に基づいて、推定エッジ位置を計算する。
なおPS1画像からエッジを検出すると、複数のエッジ(候補エッジ)が検出されることがあるが、それらの候補エッジの中から、推定エッジ位置に近いエッジをPS1ターゲットエッジ位置とする。そしてこのPS1ターゲットエッジ位置とPS4ターゲットエッジ位置から、線形補間法に基づいてPS2、PS3の推定エッジ位置を求める。このPS2ターゲットエッジ位置とPS3ターゲットエッジ位置の演算は、PS1ターゲットエッジ位置の決定と同様の手法で行うことができる。
さらに、これらの位置情報を用いて、PS*画像をレジストレーションを行う。そしてレジストレーション後の画像群を用いて、PS処理を行う。または、これらの位置情報を用いて、PS*画像を直接PS処理画像を行うこともできる。
何れの方法においても、画素情報へのアクセスの方法としては、例えば最近傍補間や双一次補間、双三次補間等が知られており、これら方法を用いる。
(1Dエッジ法の設定画面)
ここで、1Dエッジ法における設定を行う設定手段として、画像検査プログラムのユーザインターフェース画面の一例を図27に示す。この設定画面1300も、上述した図24、図25と同様、画面の左側に画像表示領域1102を、右側に操作領域1104を、それぞれ設けている。また操作領域1104には、表示画像選択欄1105、動き補正法設定欄1302、計測領域設定欄1303、検出方向設定欄1304、エッジ方向設定欄1305、エッジ強度閾値設定欄1306、最終エッジインデックス設定欄1307、エッジ間隔設定欄1308が設けられている。表示画像選択欄1105では、図24等と同様、画像表示領域1102において表示させる画像を切り替えることができる。例えば、PS1、PS2、PS3、PS4のいずれかを切り替えて表示できる。この例では、PS1画像を表示させている。
動き補正法設定欄1302では、線形補間法で動き補正を、領域で行う追跡領域指定法か、パターンで行う追跡パターン指定法か、又はエッジで行う1Dエッジ法のいずれかを選択する。
計測領域設定欄1303では、エッジの計測領域MWを矩形とするか、又は回転矩形とするかを選択する。
検出方向設定欄1304では、エッジの検出方向として、画像表示領域1102で表示される画像に対して「↓」、「↑」、「→」、「←」のいずれとするかを選択する。なお、計測領域設定欄1303で回転矩形を選択した場合は、この設定は不要となる。
エッジ方向設定欄1305では、エッジ方向として、「明→暗」、「暗→明」、「両方」のいずれかを選択する。
エッジ強度閾値設定欄1306では、最大エッジ強度を999として、エッジ強度閾値を規格化して数値等により設定する。
最終エッジインデックス設定欄1307では、PS4画像のエッジ位置を指定する。
エッジ間隔設定欄1308では、PS1画像の最初のエッジを、マウス等のポインティングデバイスで指定する。また、エッジインデックスを指定してもよい。
以上の設定画面1300から、ユーザは1Dエッジ法に必要な設定を行うことができる。
(画像転送順序)
上述したいずれかの線形補間法のいずれか実施する際は、MC1画像及びMC2画像に対するサーチで得られる情報を用いて、PS*画像でのブレ補正のため、サーチ領域SWの定義を行う。このため、撮像の順序とは関係なく、図28に示すように、動き補正用画像を優先して画像処理部41に転送することが望ましい。これは、仮に図29に示すように、画像を撮像の順序通りに転送すると、転送速度に律速されてしまうため、動き補正用画像の転送が遅くなってしまうからである。
(無効画素)
以上のようにして画像レジストレーションを行うと、ある画像中のある画素に対応する画素が、他の画像中に含まれないことがある。画素集合の中にそのような非対応の画素を含む画素集合で計算された画像の画素を、ここでは無効画素とする。
このような無効画素を検査に用いることができないので、フォトメトリックステレオ法で作成する画像を表示する際は、例えばユーザに状況が分かるように同一色で表示したり、又は初期背景の画像の背景とすることが望ましい。また、同一色で表示する場合はユーザが選択できるようにすることが望ましい。
(変形例1)
上記の実施形態では、等速運動をする移動体(ワーク)に対して、PS画像を撮像する最初と最後に基準画像を作り、線形補間によって、基準画像と整合する画像を抽出することで、画像レジストレーションを成立させている。
ただ、本発明はワークが等速運動する場合に限らず、他の運動を示すワークに対しても線形補間等の近似を適用できる。例えば等加速度運動をする移動体に対して線形補間をした場合、図30に示すように、線形補間して得られた移動位置は、実際の移動位置よりも移動量が多くなる。ブレ補正はこのような場合に有用であるが、移動体の位置推定の精度を高めるために、以下のようにしてもよい。
例えば、基準画像をPS画像の前後、計2個とするのみならず、3個以上に増やして、等速運動以外の運動をする移動体(例えば、等加速度運動や振動するワーク)に対しても、時間に対する位置の関数で2次補間等の高次フィッティングを行うことで、等速運動に限られない様々な運動をするワークに対して、ワークの位置を補間し、画像レジストレーションを成立させ、フォトメトリックステレオ法を応用することもできる。
例えば、上述した照明手段を東西南北の4方向に配置し照明方向を4方向としてPS1〜PS4画像を撮像すると共に、その前後に全灯画像MC1画像、MC2画像を撮像する構成において、ワークが非等速運動を示す移動体である場合に2次補間等を行う例を、図32Aに示す。図32Aは、4方向照明の場合の全灯撮像のタイミングを示しており、上述の図19Aで示した実施形態のように、PS画像撮像の前後に全灯画像MC1、MC2を撮像することに加え、MC1画像とMC2画像の間にも、追加の全灯画像MC1’を撮像する動作を追加している。このように計3回の全灯撮像を行って得られた画像を基準画像とし、各部分照明画像に対して、2次補間等の高次フィッティングを行う。そして、各部分照明画像から基準画像と整合する画像を抽出することで、画像レジストレーションを成立させる。
また、図32Aでは照明方向を4つとした例を説明したが、照明方向の数は3個としたり、5個以上とすることもでき、これらの場合においても同様に基準画像を追加することで、非等速運動に対応できる。例えば、照明方向として東西南北の4方向に加え、東北、南北、南西、北西の4方向を追加した計8方向とした例を、図32Bに示す。この場合においても、追加の基準画像として追加全灯画像MC1’をPS画像の中間に追加することで、高次フィッティングを利用して各部分照明画像との整合に対応できる。
以上の例では、追加する基準画像は、MC1画像とMC2画像の中間に介在させている。これによって、近似の精度を高める効果が期待できる。また、追加基準画像を含めた基準画像の数は3個に限らず、それ以上に増やしてもよい。特にPS画像の数を増やした場合は、一連のPS画像の中間に介在させる追加基準画像の数を増やすことで、より高精度なフィッティングが期待できる。
また各照明手段は、部分照明画像の撮像時の照明光の強度を一定にすることが好ましい。これによって部分照明画像間で照度差が大きくなることを回避し、均一に近付けた照度でフォトメトリック処理を行える。
さらに全灯画像を撮像するために照明手段をすべて点灯させる際には、照明手段の数をNとするとき、各照明手段の照明光を1/N倍に調整することが好ましい。このように全灯画像の撮像時には照明手段の強度を均一に弱めることで、ムラの少ない照明状態で全灯画像を撮像できる。特にすべての照明方向から一斉に強い照明光をワークに照射すると白飛びが発生し易くなる。よって、意図的に照明光を弱めることで、光量を階調が飽和しない程度に抑えて、高品質な全灯画像が得られるようになる。さらに全灯画像と部分照明画像とで明るさが大きく異なる事態を回避し、ムラのない状態で精度よく対応位置の演算処理を行える利点が得られる。例えば照明手段を4つとする場合は、全灯画像撮像時は各照明光の照明光の輝度を1/4に低下させる。
また、高次の関数で近似する他、多項式以外の特殊な関数で動きがモデリングできる場合は、その関数を一意に決めるためパラメータを計測位置から決定することで、多項式では精度の落ちる動きでもより正確に位置や姿勢を推定でき、正確なPS処理を実現できる。
このように変形例1によれば、3回以上の全灯撮像を行って得られた画像を基準画像として利用することで、等加速度運動や振動運動といった等速運動以外の運動を示すワークにも対応でき、フォトメトリックステレオ法を利用して、移動しているワークの傷検査や印字のOCRを実現できる。
(変形例2)
以上の例では、全灯撮像においても、各部分照明撮像においても、照明光として例えば白色光を単色で照射しており、全灯撮像と各部分照明撮像とは異なるタイミングで行っている。例えば、図33A及び図33Bに示すように、最初と最後との間にも全灯撮像を行う場合は、最初と最後に全灯撮像を2回のみ行う場合と比べて、撮像回数が1回増えることとなる。
ただ本発明は、この構成に限らず、全灯画像と部分照明画像とを同時に撮像してもよい。このような全灯照明と部分照明とを同じタイミングで行うには、照明光を単色光とせず、マルチカラーを利用する。すなわち、照明手段が発する照明光にカラー照明を利用することで、図34に示すように、全灯撮像と各部分照明とを同時に行い、撮像回数を少なくできる。例えば、図35に示すように、全灯照明用の照明光を赤色、各部分照明の照明光を青色とする等、第一照明手段21〜第四照明手段24において色分けして照射すると共に、撮像手段11に単色でなく、カラーのイメージセンサを用いる。そして、撮像手段11で検出された撮像信号を、全灯照明(例えば赤色)と部分照明(例えば青色)に分離することで、全灯照明と各部分照明とを同時に行うことが許容される。
撮像信号の分離は、カラーイメージセンサによって画素レベルで行ってもよいし、光学的に行うこともできる。通常、カラーイメージセンサは、画素毎にRGBの色情報が得られるので、R成分のみを抽出すれば、赤色の全灯画像を作成することができ、B成分のみを抽出すれば、各照明方向の部分照明画像を作成できる。
光学的に行う場合は、例えば光の波長によって、赤い光は透過し、青い光は反射する等、透過光を選択可能なビームスプリッタを利用して、その出力側に、RとBのそれぞれの成分を検出可能な撮像素子を有する撮像手段11を配するようにしてもよい。あるいは、液晶フィルタのような、特定の波長の光を選択的に透過可能な光学フィルタを、撮像手段11の前段に配置して、その光学フィルタでもって照明光の反射光を選別、抽出するようにしてもよい。
第一照明手段21〜第四照明手段24による色分けは、例えば以下のような態様が考えられる。(1)カラー成分毎の分離で済む組み合わせとしては、単色であれば、(a)緑色+青色、(b)赤色+青色、(c)赤色+緑色、混合色としては、(d)黄色+青色、(e)マゼンダ+緑色、(f)シアン+赤色、等が挙げられる。(2)線形分離が必要な組み合わせとして、上記(a)〜(f)以外の組み合わせを挙げることができる。この場合は、非線形のベクトルを分解する処理が必要となる。
移動体が複雑な運動、例えば振動している場合や不規則な動きをしている場合には、図36に示すように、線形補間だけでは移動量に大きな誤差が生ずることもあり得る。しかしながら、変形例2によれば、全灯撮像を別個独立したタイミングで設けなくてもよいので、追加の基準画像を撮像する時間を省いて処理時間を短縮化でき、特にラインの検査のようにリアルタイム処理が求められる用途に好適となる。また、追加の撮像処理を無くす分だけ、各部分照明を増やすことができ、フォトメトリックステレオ処理の精度が向上する。
また、ワークの特性によっては、特定の色に反応し、法線ベクトル画像がその色の輝度値の影響を受けてしまうケースであっても、その色を回避して照明することができるので、検査におけるロバスト性が向上する。なお、ワークの特性によって、特定の色の照明を試しながら、照明の色を変更することができるので、検査に最も適した照明の色を探すことも可能である。例えば、鏡面反射の強いワークでは向きによって凹凸の出方が不安定となるところ、図37A及び図37Bに示すように、4方向からの部分照明撮像を8方向からの部分照明撮像へと点灯数を増やすことによって、凹凸の出方が安定化し(例えば楕円で囲った部分)、検査の安定性や対応力が向上する。
また、変形例2によれば、変形例1のように、ワークが多種多様な運動をするワークに対してフォトメトリックステレオ法を応用する場合にあっては、各方向画像と同時に得られる全灯画像から抽出された画像の位置情報を取得できるので、移動量の補間をしないという態様も考えられ、撮像回数を減らすことが可能であり、撮像回数が多いと撮像のタイミングが追いつかないような例えば高速であったり不規則な動きをするワークに対しても、検査のロバスト性を向上させることができる。
さらに、変形例2によれば、撮像枚数が少なくなるので、タクトを縮小し、画像保存用のメモリを削減することができる。
(変形例3)
さらに、照明光の波長を変化させることで、部分照明画像の撮像も同じタイミングで行うことも可能となる。すなわち、移動するワークの位置等を推定するため基準画像を追加する処理のみならず、静止したワークに対する通常のフォトメトリックステレオ処理においても、複数枚の部分照明画像を同時に撮像することで、処理時間の短縮を図ることが可能となる。例えば図38に示すように、4つの照明方向から照明した部分照明画像PS1〜PS4を4枚撮像する場合において、第一照明手段と第二照明手段の照明光の波長を異ならせることで、部分照明画像PS1とPS2とを同じタイミングで撮像できる。同様に、第三照明手段と第四照明手段の照明光の波長を異ならせれば、部分照明画像PS3とPS4とを同じタイミングで撮像できる。これにより、フォトメトリックステレオ処理における画像撮像時間の短縮を図ることができる。また、このような処理を、上述した移動体のワークにおける補間処理に適用することも可能である。
本実施の形態によれば、ワークとして同じような形状のものを繰り返しサーチするという特殊性がある。この場合において、ワーク表面上の傷や汚れ等を、追跡対象画像として利用することで、指紋のように追跡に役立てることができる。また追跡対象画像は、ワークの全景に限らず、ワークの一部を指定することもできるし、あるいはワークに限らず、ワークの背景等も利用することもできる。
(モデル画像アプローチ)
以上、(1)の線形補間アプローチについて説明した。次に、(2)のモデル画像アプローチについて説明する。上述の通り、モデル画像アプローチにおけるモデル画像を作成するに当たっては、(A)PSモデル法と、(B)仮想モデル法が挙げられる。そこで、まずPSモデル法を説明する。
(4−3.PSモデル法)
画像レジストレーションのためのサーチは、PS画像に対してサーチを行う。PS画像は照明の変動が大きいため、MC1画像をモデルにしたり、PS1画像をモデルにするだけでは、PS*画像のすべてに対して、安定なサーチを実施することが困難となる。そこで、PSモデル法の設定時には、ワークWKを静止させたまま、照明方向を運用時と同様に変動させて、MC*画像及びPS*画像を取得する。これらの取得したMC*画像及びPS*画像を、ここではモデル画像群と呼ぶ。
次に、モデル画像群の何れかを参照しながら、パターン領域PW又は追跡領域TWを設定する。ここではMC1画像、PS*画像のそれぞれ対応する部分画像をモデルにする。例えば、PS1画像で、画像レジストレーションのためのサーチを行う場合は、登録PS1画像で定義される部分画像をモデルとする。このようにすることで、照明の変動が大きい画像でも、安定して画像レジストレーションを行うことができる。なお、このPSモデル法は、ワークWKの登録時からの姿勢の変動が小さいことを前提にしている。この前提が成立しないような一部の検査条件においては、次の仮想モデル法が好適である。
(4−4.仮想モデル法)
次に、他のモデル画像アプローチである仮想モデル法を、設定、運用のそれぞれについて説明する。
(仮想モデル法の設定)
仮想モデル法の設定においても、ワークWKを静止させたまま、照明方向を運用時と同様に変動させて、MC*画像、PS*画像(モデル画像群)を取得する。そして、モデル画像群の何れかを参照しながら、パターン領域PW又は追跡領域TWを設定する。またMC1画像、PS*画像のそれぞれ対応する部分画像をモデルとする。
さらにPS*画像から、以下の数式が画像上に配置されて得られる重み付き法線画像を取得する。
運用時にはこの法線画像から、サーチ用のモデル画像を作成する。
(仮想モデル法の運用)
(仮想モデル法で追跡領域指定法を用いる場合)
仮想モデル法の運用時の処理は、追跡領域指定法と追跡パターン指定法とで異なる。仮想モデル法で追跡領域指定法を用いる場合は、PSモデル法と同様にワークWKの登録時からの姿勢の変動が少ないことが必要となる。
この場合、重み付き法線画像に対して、PS*画像のそれぞれに対応する照明光が照射されたと推定して、PS*画像に対応するそれぞれの推定画素値を、以下の数式より計算する。
ここで、PS*画像の照明の向きを(S*x,S*y,S*z)で表している。この画像を使って、PS*画像でサーチを行う。
(仮想モデル法で追跡パターン指定法を用いる場合)
次に、仮想モデル法で追跡パターン指定法を用いる場合について説明する。この場合は上述した追跡領域指定法とは異なり、MC*画像から推定姿勢が得られるため、ワークWKの登録時からの姿勢の変動が少ないという前提は不要となる。
まずPS*画像に対応する照明方向を、推定姿勢の分だけ回転させる。これにより上記の(S*x,S*y,S*z)の内(S*x,S*y)が回転の影響を受けて変化する。例えば、姿勢が30°回転した場合は、モデルにとっては−30°照明が回転したことになる。
この回転変換を(S*x,S*y)に乗じて、上記数5を用いてPS*画像の推定画素値を計算し、この画像を用いてPS*画像でサーチを行う。
また、これらの実施例を組み合わせて利用することもできる。具体的には、上記の(A)実際に撮影した画像をモデル画像とするPSモデル法と、(B)仮想的に作った画像をモデル画像とする仮想モデル法の2つの内、何れかの方法によって、モデル画像を作成し、線形補間等によって、モデル画像と整合する画像を抽出することで、画像レジストレーションを成立させ、抽出された画像の位置情報から照明方向を取得することもできる。
なお以上の例では、基準画像として、すべての照明手段を点灯させた全灯画像を用いた例を説明したが、ワークの形状や表面の反射状態によっては、一部の照明手段を消灯した状態でも鮮明な画像が撮像できることがあるので、このような画像を基準画像として利用することも可能である。いいかえると、基準画像は必ずしも全灯画像のみに限定されるものではない。