本発明に係る画像処理装置、立体形状計測装置および画像処理方法の実施の形態について、添付図面を参照して説明する。
本発明の一実施形態に係る画像処理装置は、1次微分や2次微分を用いたエッジ検出を行うことなく円形状の輪郭を有する穴部の位置を画像から正確に検出するものである。なお、以下の説明において、表面は平面であるものとする。また、表面に設けられた穴部とは、表面上方から光を照射したときに表面における光の反射に比べて十分に反射の少ない箇所をいい、表面に設けられた凹部も含まれる。たとえば、本実施形態に係る穴としては、シリコン貫通ビア(TSV、Through-Silicon Via)や基板のブラインドビア、スルーホールビアなど、非貫通または貫通の穴であって穴の深さに対して穴の径が小さいものなどが挙げられる。
(第1の実施形態)
図1は、本発明の第1実施形態に係る画像処理装置10の一構成例を示すブロック図である。
画像処理装置10は、図1に示すように、表示部11、入力部12、記憶部13、ネットワーク接続部14および主制御部15を有する。
表示部11は、たとえば液晶ディスプレイやOLED(Organic Light Emitting Diode)ディスプレイなどの一般的な表示出力装置により構成され、主制御部15の制御に従って各種画像を表示する。
入力部12は、少なくともポインティングデバイスを含み、たとえばマウス、トラックボール、キーボード、タッチパネル、テンキーなどの一般的な入力装置により構成され、ユーザの操作に対応した操作入力信号を主制御部15に出力する。
記憶部13は、磁気的もしくは光学的記録媒体または半導体メモリなどの、主制御部15のCPUにより読み書き可能な記録媒体を含んだ構成を有する。これら記憶媒体内のプログラムおよびデータの一部または全部は、電子ネットワークを介してダウンロードされるように構成してもよい。
ネットワーク接続部14は、ネットワークの形態に応じた種々の情報通信用プロトコルを実装する。ネットワーク接続部は、この各種プロトコルに従って画像処理装置10と他の電気機器とを接続する。この接続には、電子ネットワークを介した電気的な接続などを適用することができる。ここで電子ネットワークとは、電気通信技術を利用した情報通信網全般を意味し、無線/有線LAN(Local Area Network)やインターネット網のほか、電話通信回線網、光ファイバ通信ネットワーク、ケーブル通信ネットワークおよび衛星通信ネットワークなどを含む。
主制御部15は、CPU、RAMおよびROMをはじめとする記憶媒体などにより構成され、この記憶媒体に記憶されたプログラムに従って画像処理装置10の動作を制御する。主制御部15のCPUは、ROMをはじめとする記憶媒体に記憶された画像処理プログラムおよびこのプログラムの実行のために必要なデータをRAMへロードする。主制御部15のCPUは、このプログラムに従って円形状の輪郭を有する穴部の位置を画像から正確に検出する処理を実行する。
主制御部15のRAMは、CPUが実行するプログラムおよびデータを一時的に格納するワークエリアを提供する。主制御部15のROMをはじめとする記憶媒体は、画像処理装置10の起動プログラム、画像処理プログラムや、これらのプログラムを実行するために必要な各種データを記憶する。
なお、ROMをはじめとする記憶媒体は、磁気的もしくは光学的記録媒体または半導体メモリなどの、CPUにより読み取り可能な記録媒体を含んだ構成を有し、これら記憶媒体内のプログラムおよびデータの一部または全部は電子ネットワークを介してダウンロードされるように構成してもよい。
図1に示すように、主制御部15のCPUは、画像処理プログラムによって、少なくとも画像取得部21、画素種別推定部22、特徴量算出部23および補正部24として機能する。これらの機能実現部21〜24は、RAMの所要のワークエリアをデータの一時的な格納場所として利用する。また、これらの機能実現部21〜24は、CPUを用いることなく回路などのハードウエアロジックによって構成してもよい。
図2は、画像取得部21により取得される画像の撮像対象となる物体30の一例を示す説明図である。
画像取得部21は、円形状の輪郭31を有する穴部32が設けられた表面33の画像を取得する。この画像は、物体30を表面33の情報から撮像することにより得られる画像であり、距離画像であってもよい。
図3は、円形状の輪郭31を有する穴部32と画素との位置関係の一例を示す説明図である。
画像取得部21が取得した画像の各画素のうち、表面33に属する画素(以下、表面画素という)41は高濃度を有し、穴部32に属する画素(以下、穴所属画素という)42の濃度は低い。穴所属画素42のうち、穴部32の輪郭31に内包される画素(以下、穴内包画素という)44の濃度はほぼゼロであり、穴部32の輪郭31が属する画素(以下、穴輪郭画素という)43は、穴内包画素44よりも濃度がやや高い。これは、穴内包画素44がすべて穴部32の画像で構成されるのに対し、穴輪郭画素43は輪郭31が属する画素であり一部が表面33の画像で構成されるためである。
そこで、画素種別推定部22は、取得した画像の各画素(xm,yn)の濃度G(xm,yn)が、表面画素41の濃度範囲および穴所属画素42の濃度範囲のいずれに属するかに応じて、表面画素41および穴所属画素42を推定する。また、画素種別推定部22は、穴所属画素42の濃度Gが、穴輪郭画素43の濃度範囲および穴内包画素44の濃度範囲のいずれに属するかに応じて、穴輪郭画素43および穴内包画素44を推定する。
特徴量算出部23は、穴所属画素42の濃度分布にもとづいて、穴部32の半径rおよび中心位置C(xc,yc)を求める。
補正部24は、穴輪郭画素43のそれぞれについて、各画素の中心と特徴量算出部23により求められた中心位置Cとを結ぶ直線45を仮定する。また、補正部24は、この直線45と直交し画素を2分する画素分割線分46であって中心位置C側の分割領域が自身の濃度に応じた面積を有する画素分割線分46の位置を求める。そして、補正部24は、画素分割線分46の位置にもとづいて穴部32の半径rおよび中心位置Cを補正する。
次に、本実施形態に係る画像処理装置10の動作の一例について説明する。
図4は、図1に示す主制御部15のCPUにより、円形状の輪郭31を有する穴部32の位置を画像から正確に検出する際の手順の一例を示すフローチャートである。図4において、Sに数字を付した符号は、フローチャートの各ステップを示す。
まず、ステップS1において、画像取得部21は、円形状の輪郭31を有する穴部32が設けられた表面33の画像を取得する。
次に、ステップS2において、画素種別推定部22は、取得した画像の各画素(xm,yn)の濃度G(xm,yn)が、表面画素41の濃度範囲および穴所属画素42の濃度範囲のいずれに属するかに応じて、表面画素41および穴所属画素42を推定する。
次に、ステップS3において、特徴量算出部23は、穴所属画素42の濃度分布にもとづいて、穴部32の半径rおよび中心位置C(xc,yc)を求める。
次に、ステップS4において、補正部24は、穴輪郭画素43の濃度にもとづいて特徴量算出部23により求められた半径rおよび中心位置Cを補正する。なお、ステップS4は必ずしも実行されずともよい。ステップS4を実行しない場合、画像処理装置10は補正部24を備えずともよい。
以上の手順により、1次微分や2次微分を用いたエッジ検出を行うことなく円形状の輪郭31を有する穴部32の位置を画像から正確に検出することができる。
続いて、取得した画像から穴所属画素42を推定する際の手順を説明する。
図5は、図4のステップS2で画素種別推定部22により実行される穴所属画素推定処理の手順の一例を示すサブルーチンフローチャートである。
ステップS21において、画素種別推定部22は、濃度Gがほぼゼロの画素に着目してラベリング処理を行うことにより、少なくとも穴内包画素44を含む領域を推定する。
図6は、ラベリング処理の結果の一例を示す説明図である。ステップS21におけるラベリング処理により、少なくとも穴内包画素44を含むモザイク状の領域が抽出される(図6参照)。
ラベリングにより、穴部32の位置が推定される。換言すれば、ラベリングされた画素を囲う所定の領域の画素は表面画素41であると考えられる。
次に、ステップS22において、画素種別推定部22は、ラベリングされた画素を囲う所定の領域の複数の画素の平均濃度Gsur_aveを求める。なお、ラベリングされた画素を囲う(表面画素41の抽出対象となる)所定の領域は、ラベリングされた画素の上下左右端画素を囲う領域であればよい。たとえば上下左右端画素を(x2,y1)、(x3,y4)、(x1,y2)、(x4,y3)とすると、(x1−1,y1−1)、(x4+1,y4+1)を対角とする矩形領域や、ラベリングされた画素を2画素膨張させたに等しい領域などを表面画素の抽出対象とする所定の領域とするとよい。
次に、ステップS23において、画素種別推定部22は、次の式(1)を用いて、所定の領域の画素の濃度Gを正規化して正規化濃度Tを算出する。
正規化値T0は、穴所属画素42(穴輪郭画素43および穴内包画素44)の最大濃度値より大きい値とするとよい。また、正規化値T0は、式(1)を用いて各画素の濃度の正規化を行う場合は穴所属画素42の正規化濃度の最大値よりも大きい値とするとよい。以下の説明では、式(1)を用いて各画素の濃度の正規化を行う場合であって正規化値T0が100である場合の例について示す。
次に、ステップS24において、画素種別推定部22は、正規化濃度Tが所定の閾値thT以上の画素を表面画素41と推定する。なお、閾値thTは正規化値T0以下の値とするとよい(たとえば正規化値T0が100である場合、thTを95とするなど)。また、画素種別推定部22は、表面画素41に囲われた画素を穴所属画素42と推定する。
以上の手順により、取得した画像の穴所属画素42を推定することができる。
続いて、穴所属画素42の濃度分布にもとづいて、穴部32の半径rおよび中心位置Cを求める際の手順を説明する。
図7は、図4のステップS3で特徴量算出部23により実行される半径rおよび中心位置Cの算出処理の手順の一例を示すサブルーチンフローチャートである。この手順は、図5に示す手順のステップS24が実行されてスタートとなる。
図8は、表面画素41の濃度Gが正規化値T0で置換された様子の一例を示す説明図である。
ステップS31において、特徴量算出部23は、ステップS24で推定された表面画素41の濃度Gを正規化値T
0で置換する(図8参照)。ステップS24では、正規化濃度Tが所定の閾値thT以上の画素が表面画素41と推定されている。このため、ステップS24とステップS31の処理は、次の式(2)のようにまとめることができる。
図9は、穴所属画素42の正規化濃度Tの一例を示す説明図である。また、図10は表面画素41および穴所属画素42の反転正規化濃度Tinvの一例を示す説明図である。
表面画素41の濃度Gを正規化値T0で置換すると、特徴量算出部23は、穴所属画素42(穴輪郭画素43および穴内包画素44)の濃度Gを、これらの画素の最大濃度値より大きい正規化値から減じることにより反転させる。
具体的には、特徴量算出部23は、ステップS32において、式(1)を用いて穴所属画素42の正規化濃度Tを求める(図9参照)。次に、特徴量算出部23は、ステップS33において次式(3)を用いて正規化濃度Tを正規化値T
0から減じ、反転した正規化濃度(反転正規化濃度)Tinvを求める(図10参照)。
次に、特徴量算出部23は、反転させた濃度の合計を正規化値で除すことにより穴部32の面積Aを求め、面積Aを用いて穴部32の半径rを求める。具体的には、特徴量算出部23は、次の式(4)に示すように、反転正規化濃度Tinvの合計を正規化値T
0で除して穴部32の面積Aを求め(ステップS34)、次の式(5)を用いて面積Aから半径rを求める(ステップS35)。
次に、ステップS36において、特徴量算出部23は、穴所属画素42の反転した濃度または反転正規化濃度Tinvを用いて次式(6)および(7)に示す重心演算により穴部32の中心位置C(xc,yc)を求める。
以上の手順により、穴所属画素42の濃度分布にもとづいて、穴部32の半径rおよび中心位置Cを求めることができる。主制御部15は、この求めた半径rおよび中心位置Cの情報を示す文字情報などの画像を生成して、表面33の画像に重畳させて表示部11に表示させてもよい。
続いて、穴輪郭画素43の濃度にもとづいて特徴量算出部23により求められた半径rおよび中心位置Cを補正する際の手順を説明する。
図11は、図4のステップS4で実行される半径rおよび中心位置Cの補正処理の手順の一例を示すサブルーチンフローチャートである。この手順は、図7に示す手順のステップS36が実行され、特徴量算出部23により半径rおよび中心位置C(xc,yc)が求められてスタートとなる。また、図12は、図10の一部拡大図を用いて補正部24による特徴量補正処理を説明するための図である。
ステップS41において、画素種別推定部22は、穴輪郭画素43を推定する。たとえば、画素種別推定部22は、正規化濃度Tが表面画素41抽出時に用いた閾値thT(たとえば95など)より小さく、かつ穴内包画素44に属する値(たとえば5など)より大きい範囲に属する画素を穴輪郭画素43として推定する。
次に、ステップS42において、補正部24は、穴輪郭画素43のそれぞれについて、各画素の中心と特徴量算出部23により求められた中心位置Cとを結ぶ直線45を仮定する。
次に、ステップS43において、補正部24は、この直線45と直交し画素を2分する画素分割線分46であって、中心位置C側の分割領域が自身の濃度に応じた面積を有する画素分割線分46の位置を求める。ここで、自身の濃度に応じた面積としては、たとえば反転正規化濃度Tinvを用いることができる。反転正規化濃度Tinvは、画素に含まれる穴部32の割合に応じた値となるためである(図12参照)。
次に、ステップS44において、補正部24は、画素分割線分46の位置にもとづいて穴部32の半径rおよび中心位置Cを補正する。具体的には、補正部24は、穴輪郭画素43のそれぞれについて、直線45の傾きθiと、中心位置Cから画素分割線分46までの距離Riと、を求め、これらの傾きθiおよび距離Riにもとづいて次式(8)により半径rを補正するとともに次式(9)―(11)を用いて中心位置Cを補正する。ただし、式(8)、(10)、(11)においてnは補正計算に用いる穴輪郭画素43の総数を表す。
以上の手順により、穴輪郭画素43の濃度にもとづいて特徴量算出部23により求められた半径rおよび中心位置Cを補正することができる。
本実施形態に係る画像処理装置10は、1次微分や2次微分を用いたエッジ検出を行うことなく、穴所属画素42の濃度分布にもとづいて円形状の輪郭31を有する穴部32の位置を画像から正確に検出することができる。また、画像処理装置10が補正部24を備える場合、穴輪郭画素43の濃度にもとづいて穴部32の半径rおよび中心位置Cを補正することにより、穴部32の位置をさらに正確に求めることができる。
また、本実施形態に係る画像処理装置10は、1次微分や2次微分を用いたエッジ検出を行うことなく、各画素の濃度のみを用いて穴部32の半径rおよび中心位置Cを求めることができる。このため、画像処理装置10は、特に円形状の穴部32が占める画素数が少なく、穴輪郭画素43がモザイク状に並んでしまう場合にも好適である。
(第2の実施形態)
図13は、本発明の第2実施形態に係る画像処理装置10Aを含む立体形状計測装置50の一例を示す全体構成図である。
この第2実施形態に示す画像処理装置10Aは、表面33に垂直な高さh方向に離散的な位置ごとに物体30を撮像することにより得られた画像を立体形状計測装置50の共焦点光学系を有する撮像部60から取得し、これらの画像から各画素の表面位置を決定可能に構成された点で第1実施形態に示す画像処理装置10Aと異なる。他の構成および作用については図1に示す画像処理装置10と実質的に異ならないため、同じ構成には同一符号を付して説明を省略する。また、以下の説明では、物体30の表面33に垂直な高さh方向を光軸方向に沿った方向とするとともに、光軸方向(物体30の表面33に垂直な高さh方向)をZ軸、光軸方向に垂直な方向をX軸およびY軸とする場合の例について示す。すなわち、以下の例において、光軸方向、物体30の高さh方向、およびZ方向は互いに平行である。
図13に示すように、立体形状計測装置50は画像処理装置10Aおよび撮像部60を有する。
撮像部60は、光源61aを有する照明光学系61、主面が光軸方向に垂直となるよう配置された開口板62、対物レンズ63、焦点位置変更部64、物体30を載置するための載物台65、載物台65をXYZ各方向に移動させるための載物台駆動部66、載物台65および載物台駆動部66を支持する支持基台67、物体30からの反射光を入射される光検出部68、および画像処理装置10Aを有する。載物台駆動部66は、載物台Z変位部69および載物台XY変位部70を有する。
光源61aとしては、たとえばハロゲンランプやレーザなどを用いることができる。光源61aから出射された光は、照明レンズ71を介して面状の照明光束となる。この光は、偏光ビームスプリッタ72を介して開口板62を照明する。
開口板62は、それぞれ共焦点開口部として機能する複数の開口部73を有する。開口板62には複数の開口部73が形成されていればよく、開口板62としては開口部73が2次元に配列されて開口アレイが形成されたものを用いてもよいし、いわゆるニポウディスクを用いてもよい。ニポウディスクを用いる場合、ニポウディスクは図示しない駆動機構により回転駆動される。
各開口部73を通過した光は、焦点位置変更部64を介して対物レンズ63を照射し、対物レンズ63によって物体30に投光されつつ開口部73と共役なスポット(以下、物体側集光点という)に集光される。各物体側集光点は、Z方向(物体30の表面33に垂直な高さh方向、光軸方向)の所定の位置の光軸方向に垂直な面(以下、物体側集光面という)上に位置する。なお、対物レンズ63は、たとえば複数のレンズおよび絞りにより構成されて両側テレセントリック光学系を構成されてもよい。
載物台Z変位部69は、ステッピングモータやサーボモータ、あるいはピエゾモータなどの一般的な駆動装置により構成され、Z方向に載物台65を変位させる。この変位の量、方向およびタイミングは、画像処理装置10AによりZ軸ドライバ74を介して制御される。載物台Z変位部69は、たとえば測定開始前に載物台65をZ方向に大まかに変位させる。
図14は、焦点位置変更部64の一構成例を示す斜視図である。
対物レンズ63の光路中に透明体により構成された平行平板形の光路変更片75を配置すると、対物レンズ63の物体側集光面の位置がZ方向に移動する。この焦点移動幅は、光路変更片75の屈折率および厚さによって制御することができる。
このため、図14に示すように、回転板76に対して回転方向に沿って等間隔に互いに焦点移動幅が異なる光路変更片75を配設する。この回転板76をモータなどの駆動部77により所定の速度で連続回転させることにより、光路変更片75のそれぞれが対物レンズ63の光軸と交わるごとに離散的に(ステップ的に)対物レンズ63の物体側集光面の位置をZ方向に移動させることができる。なお、回転板76に配設された光路変更片75の一部は、他の光路変更片75と同一の屈折率および厚さを有し同一の焦点移動幅を有するものであってもよい。
回転板76の回転状態はタイミングセンサ78により検知される。タイミングセンサ78の出力は画像処理装置10Aに与えられる。画像処理装置10Aは、あらかじめ各光路変更片75と物体側集光点のZ軸座標とを関連付けた情報を保持している。画像処理装置10Aがタイミングセンサ78の出力にもとづいて各光路変更片75と光軸とが交わるタイミングで光検出部68を露光させることを繰り返すことにより、表面33に垂直な高さh方向に離散的な位置のそれぞれで、容易かつ高速に物体30を撮像することができる。
駆動部77は、画像処理装置10Aにより制御可能に構成されてもよい。この場合、画像処理装置10Aは回転板76の回転速度を制御することができる。
なお、図14には光路変更片75の形状が円形である場合の例について示したが、これらの形状は楕円形、多角形等であってもよい。
物体30による反射光のうち特に物体側集光点における反射光は、対物レンズ63により、物体側集光点と光学的共役関係にある点(以下、像側集光点という)に集光される。点光源としての開口部73と物体側集光点とは、1対1に対応する。本実施形態では、像側集光点が点光源としての開口部73に一致する場合の例について説明する。この場合、開口部73を通過した光は物体側集光点に集光されるとともに、この物体側集光点で反射されて開口部73に再度入射することになる。
開口部73に再度入射した光は、偏光ビームスプリッタ72により偏向されて結像光学系79に入射し、光検出部68を構成する撮像素子に入射する。ここで、結像光学系79は、開口部73の像を撮像素子の光電変換面に結ぶように構成される。開口部73(像側集光点)とこの開口部73に対応する位置に配設された撮像素子とは、偏光ビームスプリッタ72および結像光学系79により互いに共役関係となる。
光検出部68は、CCD(Charge Coupled Device)イメージセンサやCMOS(Complementary Metal Oxide Semiconductor)イメージセンサにより構成されて、照射された光の強度に応じた信号を画像処理装置10Aに出力する。また、光検出部68は、画像処理装置10Aにより光検出のタイミングを制御される。
画像処理装置10Aは、この光検出部68から受けた信号にもとづいて、表面33に垂直な高さh方向に離散的な位置のそれぞれで物体30を撮像した画像を取得する。なお、画像処理装置10Aは、露光ごとに光検出部68の出力信号を得ることができれば、この出力信号にもとづいて物体30の立体形状計測を行うことが可能である。
載物台駆動部66の載物台XY変位部70は、載物台65をZ方向に垂直な方向に変位させる。たとえば、載物台XY変位部70は、測定の合間に測定対象領域をXY面内で移動させるために用いられる。
この載物台XY変位部70は、載物台65のX軸方向およびY軸方向の位置決めを行うX軸変位機構80およびY軸変位機構81を有する。X軸変位機構80およびY軸変位機構81は、たとえばサーボモータにより構成され、変位の量、方向およびタイミングは、画像処理装置10AによりXY軸ドライバ82を介して制御される。
図15は、本発明の第2実施形態に係る画像処理装置10Aの一構成例を示すブロック図である。
画像処理装置10Aの主制御部15Aは、画像処理プログラムによって、画像取得部21A、画素種別推定部22A、特徴量算出部23、補正部24、撮像制御部25および表面特定部26として機能する。
撮像制御部25は、焦点位置変更部64、光検出部68、Z軸ドライバ74およびXY軸ドライバ82を制御し、表面33に垂直な高さh方向に離散的な位置のそれぞれで撮像部60に物体30の撮像を行わせる。
図16は、表面33に垂直な高さh方向に離散的な位置h1、h2、・・・、hpのそれぞれで得られる物体30の画像について説明するための図である。
画像取得部21Aは、表面33に垂直な高さh方向に離散的な位置ごとに物体30を撮像することにより得られた複数の画像を取得する(図16参照)。
表面特定部26は、複数の画像にもとづいて各画素の高さh方向の濃度分布を取得し、取得した濃度分布にもとづいて、表面位置および各画素の表面位置における濃度を特定する。
複数の画像のそれぞれは互いに異なる高さh1、h2、・・・、hpと関連付けられている。また、複数の画像のxy平面における撮像領域は同一であるものとする。この場合、画素(xm、yn)は複数の画像のそれぞれに含まれることになる。このため、複数の画像のそれぞれから画素(xm、yn)の濃度Gを抽出することにより、画素(xm,yn)の高さh方向の濃度分布(G(xm,yn,h1)、G(xm,yn,h2)、・・・、G(xm,yn,hp))を得ることができる。これらの濃度G(xm,yn,h1)、G(xm,yn,h2)、・・・、G(xm,yn,hp)は、画像から測定される濃度であり、以下適宜測定濃度という。
いま、この各画素の測定濃度のうち、最も高い測定濃度を与える位置をhsとする。各画素の最高濃度は、表面位置で得られると推定される。このため、各画素の表面位置は、この高さhsの位置の近傍にあると推定することができる。
そこで、表面特定部26は、各画素の測定濃度の分布にもとづいて各画素の最高濃度を与える位置を推定し、この推定最高濃度を与える位置μを表面位置とするとよい。なお、撮像される高さh方向の位置間隔(サンプリング間隔)が十分に小さい場合は、表面特定部26は、高さhsそのものを表面位置と推定してもよい。
画素種別推定部22Aは、表面特定部26により特定された各画素の表面位置における濃度を用いて、表面画素41および穴所属画素42を推定する。
次に、本実施形態に係る画像処理装置10Aを含む立体形状計測装置50の動作の一例について説明する。
図17は、図15に示す主制御部15AのCPUにより、各画素の表面位置における濃度を求める際の手順の一例を示すフローチャートである。図17において、Sに数字を付した符号は、フローチャートの各ステップを示す。この手順は、図4のステップS1にかえて実行される。
まず、ステップS51において、撮像制御部25は、表面33に垂直な高さh方向に離散的な位置h1、h2、・・・、hpのそれぞれで、撮像部60に物体30の撮像を行わせる。そして、画像取得部21Aは、各位置の画像を取得する。
次に、ステップS52において、表面特定部26は、各画素の測定最高濃度G(hs)を抽出する。
次に、ステップS53において、表面特定部26は、測定最高濃度G(hs)が閾値以上の各画素について、推定最高濃度を与える高さμを求める。
ここで、推定最高濃度を与える高さμの算出方法について詳細に説明する。
図18は、各画素の高さh方向の濃度分布の一例を示す説明図である。推定最高濃度を与える高さμを求めるにあたり、まず、各画素の高さh方向の濃度分布のうち、最高濃度の近傍の分布が次の式(12)で示すガウス分布で近似されるものと考える(図18参照)。
ただし、μは頂点位置、σ2は分散を表すものとする。また、以下の説明では、濃度Gの分布をgで表すものとする。
頂点μを求める方法としては、たとえば式(12)の1階微分に対してゼロクロッシングを行う方法が挙げられる。しかし、この方法は1階微分した結果が線形である場合にのみ適用することができる一方、式(12)の1階微分した結果は必ずしも線形とはならない。
いま、式(12)の対数を考える。
このとき、式(13)の1階微分は、次のように書ける。
この式(14)から明らかなように、式(13)(式(12)の対数)の1階微分は1次式となる。このため、式(13)に対しては、ゼロクロッシングを適用することが可能であることがわかる。ここで、R(xm,yn,h)=ln[g(xm,yn,h)]と置き換えると、R(式(13))の1階微分は次のように表せる。
図19(a)は、RおよびRの1階微分R’のゼロクロッシングについて説明するための図であり、(b)は(a)を一部拡大してR’のゼロクロッシングについてより詳細に説明するための図である。
R’のゼロクロッシングにより、μはRの頂点の位置として、測定最高濃度G(hs)を与える高さhsおよびその前後の測定位置hs−1、hs+1を用いて次の式(16)のように表すことができる(図19(a)および(b)参照)。
また、撮像位置h1、h2、・・・、hpの間隔(高さピッチ)が一定値Δhであるとき、式(16)は次のように変形される。
ここで、R(xm,yn,h)=ln[g(xm,yn,h)]であることから、次式(18)が成り立つ。
式(17)に式(18)を代入すると、μは次式(19)で与えられる。
図20は、各画素のそれぞれで推定最高濃度を与える高さμを算出することで得られる表面33の高さ分布の一例を示す説明図である。
このように、表面特定部26は、各画素(xm,yn)のそれぞれについて、推定最高濃度を与える高さμ(xm,yn)を求めることができ、表面33の高さ分布を得ることができる(図20のハッチング部参照)。
次に、ステップS54において、表面特定部26は、μにもとづいて表面位置Zを求める。
具体的には、表面特定部26は、表面33の高さ分布を用いて、たとえば次式(20)に示す最小2乗法などの方法で1次近似することにより、表面33の位置Z(xm,yn)を決定する。
ただし、Z(x,y)は(x,y)における表面33の高さh方向の位置を表し、α、β、γは1次近似で求められた係数を表すものとする。
次に、ステップS55において、表面特定部26は、各画素(xm,yn)のそれぞれについて、推定した表面位置Zにおける濃度G(xm,yn,Z)を求める。
具体的には、表面特定部26は、1次近似した平面上の各点の濃度Gを式(12)を用いて推定する。いま、式(12)のμは式(17)または式(19)により求まっている。このため、σを求めることができれば、式(12)を用いて任意の高さhでの濃度Gを求めることができる。
μを挟む2点hsおよびhs+1の濃度分布上の値g(hs)およびg(hs+1)の対数どうしを引くことで、次式(21)が得られる(式(13)参照)。
この式(21)を変形することで、σは次の式(22)ように表すことができる事がわかる。
測定濃度Gとgの規格化値は既知であるから、式(12)に示す濃度分布gのμおよびσを得ることができれば、各画素の任意の高さhにおける濃度Gを推定することができる。当然ながら、各画素の推定表面位置(式(20)参照)における濃度Gを推定することもできる。
このように、ステップS52−55において、表面特定部26は、複数の画像にもとづいて各画素の高さh方向の濃度分布を取得し、取得した濃度分布にもとづいて、表面位置および各画素の表面位置における濃度を特定する。
表面位置および表面位置における濃度を推定した後は、第1実施形態に係る画像処理装置10と同様に図4のステップS2以降の処理を実行する。なお、本実施形態に係る画像処理装置10Aは、図4のステップS2の処理の一例を示す図5のステップS21(ラベリング処理)において、ステップS52で濃度が閾値より小さく表面位置Zの計算対象とならなかった画素に着目するとよい。
なお、式(22)のσの計算に時間が掛かるなど、式(12)を用いて任意の高さhにおける濃度Gを推定する処理に時間がかかる場合は、測定最高濃度G(hs)を与える測定位置hsそのものを表面位置と推定してもよい。この場合、図5のステップS24で用いられる閾値thTは、撮像位置h1、h2、・・・、hpの間隔(高さピッチ)が広い場合は閾値を下げるなど、高さピッチに応じて決めてもよい。
本実施形態に係る画像処理装置10Aもまた、第1実施形態に係る画像処理装置10と同様の効果を奏する。また、本実施形態に係る画像処理装置10Aは、共焦点光学系を有する撮像部60により撮像された複数の高さh方向位置の画像から表面位置を求めることにより、物体30の表面33に設けられた穴部32の位置を正確に求めることができる。
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。