(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-22
(45)【発行日】2025-01-30
(54)【発明の名称】画像処理装置
(51)【国際特許分類】
G01B 11/02 20060101AFI20250123BHJP
G01B 11/25 20060101ALI20250123BHJP
G06T 5/50 20060101ALI20250123BHJP
G06T 7/521 20170101ALI20250123BHJP
【FI】
G01B11/02 H
G01B11/25 H
G06T5/50
G06T7/521
(21)【出願番号】P 2021003067
(22)【出願日】2021-01-12
【審査請求日】2023-10-30
(73)【特許権者】
【識別番号】595039014
【氏名又は名称】株式会社サキコーポレーション
(74)【代理人】
【識別番号】100140800
【氏名又は名称】保坂 丈世
(74)【代理人】
【識別番号】100156281
【氏名又は名称】岩崎 敬
(72)【発明者】
【氏名】丸山 剛
(72)【発明者】
【氏名】吉富 仁
【審査官】國田 正久
(56)【参考文献】
【文献】特開2019-190921(JP,A)
【文献】特開2018-066966(JP,A)
【文献】特開2006-300681(JP,A)
【文献】特開2014-010803(JP,A)
【文献】特開2001-298755(JP,A)
【文献】特開2010-164369(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01B 11/00-11/30
G06T 5/50
G06T 7/521
(57)【特許請求の範囲】
【請求項1】
被検査体との撮像方向の相対位置を変化可能な撮像部と、
制御部と、を有し、
前記制御部は、
前記被検査体上の所定の基準面に合焦しているときの位置にある前記撮像部で撮像して基準位置画像データを取得し、当該基準位置画像データの画素毎に前記被検査体の高さ情報を取得する高さ基本処理を実行する第1のステップと、
前記所定の基準面に合焦しているときの位置とは異なる撮像方向の位置であって予め決められた位置のうち、前記被検査体から最も遠い位置を現在の位置として設定する第2のステップと、
前記現在の位置にある前記撮像部で撮像して現在位置画像データを取得し、当該現在位置画像データの画素毎に前記高さ基本処理を実行して前記被検査体の高さ情報を取得する第3のステップと、
前記高さ情報に含まれる、前記基準位置画像データ及び前記現在位置画像データの画素毎の輝度の情報、並びに、前記現在位置画像データの画素毎の前記被検査体と前記撮像部の最合焦位置との距離の情報に基づいて、前記現在位置画像データの画素毎に、焦点が合っている画素の条件を満たしているか否かを判断し、前記条件を満たしている画素だと判断したときは
前記現在位置画像データの当該画素の値を合成画像データの該当する画素の値として選択する合成画像更新処理を実行する
第4のステップと、
前記予め決められた位置のうち、前記現在の位置から前記所定の基準面に近づく方向の次の位置を現在の位置として前記第3のステップ及び前記第4のステップを繰り返し実行する第5のステップと、
前記第5のステップで前記予め決められた位置の全てで前記第3のステップ及び前記第4のステップが実行されたと判断したときに、前記所定の基準面に合焦しているときの位置を現在の位置として設定し、前記基準位置画像データの画素毎に前記合成画像更新処理を実行して当該画素が前記条件を満たしていると判断したときに前記基準位置画像データの当該画素の値を前記合成画像データの該当する画素の値として選択する第6のステップと、を実行する
画像処理装置。
【請求項2】
前記被検査体に対し、位相が単調増加または単調減少するように変化するパターンが繰り返し形成された縞パターンを投射する投射部を有し、
前記制御部は、
前記投射部により前記縞パターンが投射されて取得された前記
基準位置画像データ
または前記現在位置画像データを取得して前記高さ基本処理により前記高さ情報を取得するように構成され
ている
請求項
1に記載の画像処理装置。
【請求項3】
前記制御部は、
前記合成画像更新処理において、前記
現在位置画像データの画素の
前記輝度の情報に含まれる振幅に関する情報と前記
基準位置画像データの画素の
前記輝度の情報に含まれる振幅に関する情報とを比較して前記条件を満たしている画素か否かを判断する
請求項
2に記載の画像処理装置。
【請求項4】
前記制御部は、
前記高さ基本処理において、
前記
基準位置画像データに対しては、計測点数が最大化するように前記高さ情報を取得し、
前記
現在位置画像データに対しては、計測誤差の疑いの高い画素は除外するように前記高さ情報を取得する
請求項
3に記載の画像処理装置。
【請求項5】
前記被検査体に対し、照明光を投射する照明部を更に有し、
前記
基準位置画像データ
及び前記現在位置画像データの各々には、前記投射部により前記縞パターンが投射されて前記撮像部により取得されたパターン画像データと、前記照明部により前記照明光が投射されて前記撮像部により取得された2次元画像データと、を含み、
前記制御部は、
前記高さ基本処理において、前記パターン画像データから前記高さ情報を取得し、
前記合成画像更新処理において、前記条件を満たしている画素だと判断したときは、前記パターン画像データの当該画素の高さ情報を高さマップの合成画像データの該当する画素の値として選択し、前記2次元画像データの当該画素の値を2次元画像データの合成画像データの該当する画素の値として選択する
請求項
2~4のいずれか一項に記載の画像処理装置。
【請求項6】
前記制御部は、
前記合成画像更新処理により合成された高さマップの合成画像データに対し、不計測画素補間処理や歪み補正処理等の高さ後処理を実行する
請求項
5に記載の画像処理装置。
【請求項7】
前記制御部は、
前記合成画像更新処理において、同一の画素で、前記撮像部が撮像方向の異なる位置にあるときの2以上の
前記基準位置画像データ
または前記現在位置画像データで、前記条件を満たしている画素だと判断したときは、当該画像データのうち、前記撮像部が前記被検査体から最も遠い位置にある画像データの当該画素の値を合成画像データの該当する画素の値として選択する
請求項
1~6のいずれか一項に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像データの合成方法を用いた画像処理装置に関する。
【背景技術】
【0002】
近年では、様々な機器に電子回路基板が実装されるようになってきているが、この種の電子回路基板が実装される機器においては、小型化、薄型化等が常に課題になっており、この点から、電子回路基板の実装の高密度化を図ることが要求されている。このような電子回路基板のハンダの塗布状態、電子部品の実装状態等を検査する検査装置においては、周期が異なる複数の光パターンを利用して計測レンジの拡大を図るとともに、計測時間の短縮化を図る位相シフト法を基にした三次元計測装置が提案されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記手法では、撮像部の被写界深度のため、計測レンジの拡大に限界がある。一方、複数の撮像位置から計測し、その位置関係に従い座標変換を行うことで、複数の計測データを貼り合わせることができることが知られている。しかし、複数の撮像位置から算出された計測結果を単純に合成しただけでは、特に合成の継ぎ目付近で誤計測が多く含まれることになるという課題があった。
【0005】
本発明はこのような課題に鑑みてなされたものであり、撮像方向(Z方向)の異なる位置にある撮像部により取得された複数の画像データを、精度良く、かつ、短い時間で合成することができる画像データの合成方法を用いた画像処理装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
前記課題を解決するために、本発明に係る画像処理装置は、被検査体との撮像方向の相対位置を変化可能な撮像部と、制御部と、を有し、前記制御部は、前記被検査体上の所定の基準面に合焦しているときの位置にある前記撮像部で撮像して基準位置画像データを取得し、当該基準位置画像データの画素毎に前記被検査体の高さ情報を取得する高さ基本処理を実行する第1のステップと、前記所定の基準面に合焦しているときの位置とは異なる撮像方向の位置であって予め決められた位置のうち、前記被検査体から最も遠い位置を現在の位置として設定する第2のステップと、前記現在の位置にある前記撮像部で撮像して現在位置画像データを取得し、当該現在位置画像データの画素毎に前記高さ基本処理を実行して前記被検査体の高さ情報を取得する第3のステップと、前記高さ情報に含まれる、前記基準位置画像データ及び前記現在位置画像データの画素毎の輝度の情報、並びに、前記現在位置画像データの画素毎の前記被検査体と前記撮像部の最合焦位置との距離の情報に基づいて、前記現在位置画像データの画素毎に、焦点が合っている画素の条件を満たしているか否かを判断し、前記条件を満たしている画素だと判断したときは前記現在位置画像データの当該画素の値を合成画像データの該当する画素の値として選択する合成画像更新処理を実行する第4のステップと、前記予め決められた位置のうち、前記現在の位置から前記所定の基準面に近づく方向の次の位置を現在の位置として前記第3のステップ及び前記第4のステップを繰り返し実行する第5のステップと、前記第5のステップで前記予め決められた位置の全てで前記第3のステップ及び前記第4のステップが実行されたと判断したときに、前記所定の基準面に合焦しているときの位置を現在の位置として設定し、前記基準位置画像データの画素毎に前記合成画像更新処理を実行して当該画素が前記条件を満たしていると判断したときに前記基準位置画像データの当該画素の値を前記合成画像データの該当する画素の値として選択する第6のステップと、を実行する。なお、撮像部の焦点距離は固定とする。
【0008】
また、本発明に係る画像処理装置は、前記被検査体に対し、位相が単調増加または単調減少するように変化するパターンが繰り返し形成された縞パターンを投射する投射部を有し、前記制御部は、前記投射部により前記縞パターンが投射されて取得された前記基準位置画像データまたは前記現在位置画像データを取得して前記高さ基本処理により前記高さ情報を取得するように構成されていることが好ましい。
【0009】
また、本発明に係る画像処理装置において、前記制御部は、前記合成画像更新処理において、前記現在位置画像データの画素の前記輝度の情報に含まれる振幅に関する情報と、前記基準位置画像データの画素の前記輝度の情報に含まれる振幅に関する情報とを比較して前記条件を満たしている画素か否かを判断することが好ましい。
【0010】
また、本発明に係る画像処理装置において、前記制御部は、前記高さ基本処理において、前記基準位置画像データに対しては、計測点数が最大化するように前記高さ情報を取得し、前記現在位置画像データに対しては、計測誤差の疑いの高い画素は除外するように前記高さ情報を取得することが好ましい。
【0011】
また、本発明に係る画像処理装置は、前記被検査体に対し、照明光を投射する照明部を更に有し、前記基準位置画像データ及び前記現在位置画像データの各々には、前記投射部により前記縞パターンが投射されて前記撮像部により取得されたパターン画像データと、前記照明部により前記照明光が投射されて前記撮像部により取得された2次元画像データと、を含み、前記制御部は、前記高さ基本処理において、前記パターン画像データから前記高さ情報を取得し、前記合成画像更新処理において、前記条件を満たしている画素だと判断したときは、前記パターン画像データの当該画素の高さ情報を高さマップの合成画像データの該当する画素の値として選択し、前記2次元画像データの当該画素の値を2次元画像データの合成画像データの該当する画素の値として選択することが好ましい。
【0012】
また、本発明に係る画像処理装置において、前記制御部は、前記合成画像更新処理により合成された高さマップの合成画像データに対し、不計測画素補間処理や歪み補正処理等の高さ後処理を実行することが好ましい。
【0013】
また、本発明に係る画像処理装置において、前記制御部は、前記合成画像更新処理において、同一の画素で、前記撮像部が撮像方向の異なる位置にあるときの2以上の前記基準位置画像データまたは前記現在位置画像データで、前記条件を満たしている画素だと判断したときは、当該画像データのうち、前記撮像部が前記被検査体から最も遠い位置にある画像データの当該画素の値を合成画像データの該当する画素の値として選択することが好ましい。
【発明の効果】
【0018】
本発明によれば、撮像方向(Z方向)の異なる位置にある撮像部により取得された複数の画像データを、精度良く、かつ、短い時間で合成することができる画像データの合成方法を用いた画像処理装置を提供することができる。
【図面の簡単な説明】
【0019】
【
図1】画像処理装置を含む検査装置の構成を説明するための説明図である。
【
図2】基準平面の位相と測定した位相との関係を説明する説明図である。
【
図3】カメラユニットの撮像位置を説明するための説明図である。
【
図4】画像データの合成方法の流れを示すフローチャートである。
【
図5】各撮像位置における条件(1)の範囲と合成画像データとの対応関係を説明するための説明図である。
【発明を実施するための形態】
【0020】
以下、本発明の好ましい実施形態について図面を参照して説明する。まず、
図1を用いて本実施形態に係る検査装置10の構成について説明する。この検査装置10は、被検査体12を撮像して得られる被検査体12の画像データ(2次元画像データ又はパターン画像データ)を使用して被検査体12を検査する装置である。したがって、この検査装置10は画像処理装置としての機能も有している。被検査体12は、例えば、部品が搭載され、ハンダが塗布されている電子回路基板である。
【0021】
検査装置10は、被検査体12を保持するための検査テーブル14と、被検査体12を照明し撮像する撮像ユニット20と、検査テーブル14に対し撮像ユニット20を相対移動させるXYステージ16と、撮像ユニット20及びXYステージ16の作動を制御し、被検査体12の検査を実行するための制御ユニット30と、を含んで構成される。なお説明の便宜上、
図1に示すように、検査テーブル14の被検査体配置面をXY平面とし、その配置面に垂直な方向(すなわち撮像ユニット20を構成するカメラユニット21による撮像方向(カメラユニット21の光学系の光軸方向))をZ方向とする。
【0022】
撮像ユニット20は、XYステージ16の移動テーブル(図示せず)に取り付けられており、XYステージ16によりX方向及びY方向のそれぞれに移動可能である。XYステージ16は例えばいわゆるH型のXYステージである。よってXYステージ16は、Y方向に延びるY方向ガイドに沿って移動テーブルをY方向に移動させるY駆動部と、Y方向ガイドをその両端で支持しかつ移動テーブルとY方向ガイドとをX方向に移動可能に構成されている2本のX方向ガイド及びX駆動部と、を備える。なおXYステージ16は、撮像ユニット20をZ方向に移動させるZ移動機構をさらに備えている。また、撮像ユニット20を回転させる回転機構をさらに備えてもよい。検査装置10は、検査テーブル14を移動可能とするXYステージをさらに備えてもよく、この場合、撮像ユニット20を移動させるXYステージ16は省略されてもよい。また、X駆動部及びY駆動部には、リニアモータやボールねじを用いることができる。また、撮像ユニット20をZ方向に移動させる代わりに、XYステージ16をZ方向に移動させるように構成してもよい。
【0023】
撮像ユニット20は、被検査体12の検査面(基板面)に対して垂直方向(Z方向)から撮像するカメラユニット21と、照明ユニット22と、投射ユニット23と、を含んで構成される。本実施形態に係る検査装置10においては、カメラユニット21、照明ユニット22、及び投射ユニット23は一体の撮像ユニット20として構成されていてもよい。この一体の撮像ユニット20において、カメラユニット21、照明ユニット22、及び投射ユニット23の相対位置は固定されていてもよいし、各ユニットが相対移動可能に構成されていてもよい。また、カメラユニット21、照明ユニット22、及び投射ユニット23は別体とされ、別々に移動可能に構成されていてもよい。
【0024】
カメラユニット21は、対象物の2次元画像を生成する撮像素子と、その撮像素子に画像を結像させるための光学系(例えばレンズ)とを含む。このカメラユニット21は例えばCCDカメラである。カメラユニット21の最大視野は、検査テーブル14の被検査体載置区域よりも小さくてもよい。この場合、カメラユニット21は、複数の部分画像に分割して被検査体12の全体を撮像する。制御ユニット30は、カメラユニット21が部分画像を撮像するたびに次の撮像位置へとカメラユニット21が移動されるようXYステージ16を制御する。制御ユニット30は、部分画像を合成して被検査体12の全体画像を生成する。
【0025】
なお、カメラユニット21は、2次元の撮像素子に代えて、1次元画像を生成する撮像素子を備えてもよい。この場合、カメラユニット21により被検査体12を走査することにより、被検査体12の全体画像を取得することができる。
【0026】
照明ユニット22は、カメラユニット21による撮像のための照明光を被検査体12の表面に投射するよう構成されている。照明ユニット22は、カメラユニット21の撮像素子により検出可能である波長域から選択された波長または波長域の光を発する1つまたは複数の光源を備える。照明光は可視光には限られず、紫外光やX線等を用いてもよい。光源が複数設けられている場合には、各光源は異なる波長の光(例えば、赤色、青色、及び緑色)を異なる投光角度で被検査体12の表面に投光するよう構成される。
【0027】
照明ユニット22により照明された被検査体12は、カメラユニット21により撮像される。検査装置10は、照明ユニット22により照明されて撮像された被検査体12の画像データ(この画像データを「2次元画像データ」と呼ぶ)と、後述する高さマップとに基づいて、被検査体12における基板上の欠陥の有無(例えば、部品の有無や配置が適切か、また、ハンダの塗布状態の良否)を判定する。
【0028】
本実施形態に係る検査装置10において、照明ユニット22は、被検査体12の検査面に対し斜め方向から照明光を投射する側方照明源であって、本実施形態では、上位光源22a、中位光源22b及び下位光源22cを備えている。なお、本実施形態に係る検査装置10においては、側方照明源22a、22b、22cはそれぞれリング照明源であり、カメラユニット21の光軸を包囲し、被検査体12の検査面に対し斜めに照明光を投射するように構成されている。これらの側方照明源22a,22b,22cの各々は、複数の光源が円環状に配置されて構成されていてもよい。また、側方照明源である上位光源22a、中位光源22b及び下位光源22cは、それぞれ、検査面に対して異なる角度で照明光を投射するように構成されている。
【0029】
投射ユニット23は、被検査体12の検査面にパターンを投射する。パターンが投射された被検査体12は、カメラユニット21により撮像される。検査装置10は、撮像された被検査体12の画像データ(この画像データを「パターン画像データ」と呼ぶ)に基づいて被検査体の検査面の高さマップを作成する。ここで、高さマップとは、パターン画像データの画素毎に、被検査体の高さ情報を有するデータである。制御ユニット30は、投射パターンに対するパターン画像データの局所的な不一致を検出し、その局所的な不一致に基づいてその部位の高さ情報を取得する。つまり、投射パターンに対する撮像パターンの変化が、検査面上の高さの変化に対応する。
【0030】
投射パターンは、明線と暗線とが交互に周期的に繰り返される1次元の縞パターンであることが好ましい。投射ユニット23は、被検査体12の検査面に対し斜め方向から縞パターンを投射するよう配置されている。被検査体12の検査面における高さの非連続は、縞パターン画像においてパターンのずれとして表れる。よって、パターンのずれ量から高さ差を求めることができる。例えば、サインカーブに従って明るさが変化する縞パターンを用いるPMP(Phase Measurement Profilometry)法により制御ユニット30は高さマップを作成する。PMP法においては縞パターンのずれ量がサインカーブの位相差に相当する。
【0031】
投射ユニット23は、パターン形成装置と、パターン形成装置を照明するための光源装置と、パターンを被検査体12の検査面に投射するための光学系と、を含んで構成される。パターン形成装置は例えば、液晶ディスプレイ等のように所望のパターンを動的に生成しうる可変パターニング装置であってもよいし、ガラスプレート等の基板上にパターンが固定的に形成されている固定パターニング装置であってもよい。パターン形成装置が固定パターニング装置である場合には、固定パターニング装置を移動させる移動機構を設けるか、あるいはパターン投射用の光学系に調整機構を設けることにより、パターンの投射位置を可変とすることが好ましい。また、投射ユニット23は、異なるパターンをもつ複数の固定パターニング装置を切替可能に構成されていてもよい。
【0032】
投射ユニット23は、カメラユニット21の周囲に複数設けられていてもよい。複数の投射ユニット23は、それぞれ異なる投射方向から被検査体12にパターンを投射するよう配置されている。このようにすれば、検査面における高さ差によって影となりパターンが投射されない領域を小さくすることができる。
【0033】
図1に示す制御ユニット30は、本装置全体を統括的に制御するもので、ハードウエアとしては、任意のコンピュータのCPU、メモリ、その他のLSIで実現され、ソフトウエアとしてはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【0034】
図1には、制御ユニット30の構成の一例が示されている。制御ユニット30は、検査制御部31と記憶部であるメモリ35とを含んで構成される。検査制御部31は、画像処理部32と検査データ処理部33と検査部34とを含んで構成される。更に、画像処理部32は、撮像処理部32aと高さ測定部32bと画像合成部32cとを含んで構成される。また、検査装置10は、ユーザまたは他の装置からの入力を受け付けるための入力部36と、検査に関連する情報を出力するための出力部37とを備えており、入力部36及び出力部37はそれぞれ制御ユニット30に接続されている。入力部36は例えば、ユーザからの入力を受け付けるためのマウスやキーボード等の入力手段や、他の装置との通信をするための通信手段を含む。出力部37は、ディスプレイやプリンタ等の公知の出力手段を含む。
【0035】
検査制御部31は、入力部36からの入力及びメモリ35に記憶されている検査関連情報に基づいて、検査のための各種制御処理を実行するよう構成されている。検査関連情報には、被検査体12の2次元画像データ、被検査体12の高さマップ(パターン画像データから算出される)、及び基板検査データが含まれる。検査に先立って、検査データ処理部33は、すべての検査項目に合格することが保証されている被検査体12の2次元画像データ及び高さマップを使用して基板検査データを作成する。検査部34は、作成済みの基板検査データと、検査されるべき被検査体12の2次元画像データ及び高さマップとに基づいて検査を実行する。
【0036】
基板検査データは基板の品種ごとに作成される検査データである。基板検査データは、基板に配置された部品やその位置、また、その基板に塗布されたハンダごとの検査データの集合体である。各部品やハンダの検査データは、その部品やハンダに必要な検査項目、各検査項目についての画像上の検査区域である検査ウインドウ、及び各検査項目について配置や良否判定の基準となる検査基準を含む。検査ウインドウは各検査項目について1つまたは複数設定される。例えばハンダの塗布状態の良否を判定する検査項目においては通常、その部品のハンダ塗布領域の数と同数の検査ウインドウがハンダ塗布領域の配置に対応する配置で設定される。また、被検査体画像に所定の画像処理をした画像を使用する検査項目については、その画像処理の内容も検査データに含まれる。
【0037】
検査データ処理部33は、基板検査データ作成処理として、その基板に合わせて検査データの各項目を設定する。例えば検査データ処理部33は、その基板のハンダレイアウトに適合するように各検査ウインドウの位置及び大きさを各検査項目について自動的に設定する。検査データ処理部33は、検査データのうち一部の項目についてユーザの入力を受け付けるようにしてもよい。例えば、検査データ処理部33は、ユーザによる検査基準のチューニングを受け入れるようにしてもよい。検査基準は高さ情報を用いて設定されてもよい。
【0038】
検査制御部31は、基板検査データ作成の前処理として、画像処理部32により被検査体12の撮像処理を実行する。この被検査体12はすべての検査項目に合格しているものが用いられる。撮像処理は上述のように、照明ユニット22により被検査体12を照明しつつ撮像ユニット20と検査テーブル14との相対移動を制御し、被検査体12の部分画像を順次撮像することにより行われる。被検査体12の全体がカバーされるように複数の部分画像が撮像される。検査制御部31は、これら複数の部分画像を合成し、被検査体12の検査面全体を含む基板全面画像データ(2次元画像データ)を生成する。検査制御部31は、メモリ35に基板全面画像データを記憶する。
【0039】
また、検査制御部31は、高さマップ作成のための前処理として、画像処理部32の撮像処理部32aにより、投射ユニット23により被検査体12にパターンを投射しつつ撮像ユニット20と検査テーブル14との相対移動を制御し、被検査体12のパターン画像を分割して順次撮像する。投射されるパターンは、好ましくはPMP法に基づきサインカーブに従って明るさが変化する縞パターンである。検査制御部31は、撮像した分割画像を合成し、被検査体12の検査面全体のパターン画像データを生成する。検査制御部31は、メモリ35にパターン画像データを記憶する。なお、全体ではなく検査面の一部についてパターン画像データを生成するようにしてもよい。また、後述するように、撮像処理部32aで撮像された画像データは、高さ測定部32b及び画像合成部32cにより合成処理が実行される。
【0040】
高さ測定部32bは、パターン画像データにおけるパターンの像に基づいて被検査体12の検査面全体の高さマップを作成する。高さ測定部32bはまず、パターン画像データと基準パターン画像データとの局所的な位相差を画像データ全体について求めることにより、被検査体12の検査面の位相差マップを求める。ここで、「基準パターン画像データ」とは、投射ユニット23により基準平面にパターンが投射された画像データ(つまり投射ユニット23に内蔵されているパターン形成装置が生成したパターンが基準平面に投射された画像データ)である。高さ測定部32bは、高さ測定の基準となる基準平面と位相差マップとに基づいて被検査体12の高さマップを作成する。基準平面は例えば、検査される電子回路基板の基板表面である。基準平面は必ずしも平面ではなくてもよく、基板の反り等の変形が反映された曲面であってもよい。
【0041】
高さ測定部32bは、具体的には、パターン画像データの各画素と、当該画素に対応する基準パターン画像データの画素とで縞パターンの位相差を求める。高さ測定部32bは、位相差を高さ情報に換算する。検査面上での位置により投射ユニット23からの距離が異なるために、基準パターンの縞幅が一定であっても、検査面のパターン投射領域の一端から他端へと縞幅が変化してしまうからである。高さ測定部32bは、換算された高さ情報と基準平面とに基づいて基準平面からの高さ情報を取得し、被検査体12の高さマップを作成する。
【0042】
検査制御部31の画像処理部32は、被検査体12の高さマップが有する高さ情報を被検査体12の2次元画像データの各画素に対応付けることにより、高さ分布を有する被検査体画像を作成してもよい。また、画像処理部32は、高さ分布付き被検査体画像データに基づいて被検査体12の3次元モデリング表示を行うようにしてもよい。また、画像処理部32は、2次元の被検査体画像データに高さ分布を重ね合わせて出力部37に表示してもよい。例えば、被検査体画像データを高さ分布により色分け表示するようにしてもよい。
【0043】
以下に、このような検査装置10において、投射ユニット23によりパターンを投射して高さ情報を取得する方法について説明する。
【0044】
まず、縞パターンを用いたPMP法による高さ情報の取得方法について説明する。縞パターン投射領域の1つの計測点(画素)に着目すると、空間的に位相をずらしながら縞パターンを投射したときに(言い換えれば、縞の反復する方向に縞パターンを走査したときに)、その計測点(画素)の明るさは周期的に変動する。色や反射率等の計測点(画素)の表面特性に応じて計測点(画素)毎に平均の明るさは異なるものの、どの計測点(画素)においても縞パターンに対応する周期的な明るさ変動が生じる。よって、周期的な明るさ変動から位相を算出し、初期位相からの位相差が高さ情報を与える。
【0045】
このような縞パターンによる特性を用いて、PMP法による高さ情報を取得する場合、原理的に縞パターンについて位相をシフトさせて少なくとも3回、典型的には4回の撮像が必要とされている。縞パターンが正弦波であることに対応して各計測点(画素)の明るさ変動も正弦波となる。縞のピッチは既知であるから、輝度(明るさ)の平均値、振幅、及び初期位相が明らかとなれば明るさ変動を表す正弦波が特定される。
【0046】
縞パターンの位相の開始位置をずらして撮像された少なくとも3枚のパターン画像データから計測点(画素)の輝度(明るさ)の測定値を得ることにより、輝度(明るさ)の平均値、振幅、及び初期位相の3つの変数を決定することができる。ここで、1つの縞パターンを、位相の開始位置を90度(π/2ラジアン)ずつずらして4回撮像したときのある画素の輝度をそれぞれI0、I1、I2、I3とすると、縞パターンが正弦波の場合の輝度Inは、次式(a)で表される。なお、この式(a)において、Aは被検査体12の明るさに依存した振幅を示し、Bはカメラユニット21や環境輝度に依存した明るさのオフセットを示し、φは求めたい位相を示し、π/2は位相のシフト量(ずらし量)を示す。なお、n=0,1,2,3である。但し、一般的にはセンサノイズ等の要因で誤差が含まれるので、位相φ、振幅A及びオフセットBを算出する際には、最小二乗法が求められることが多い。また、最小二乗法で得られる誤差をEとする。
【0047】
In = A×sin(φ+n×π/2)+B (a)
【0048】
高さ情報の算出は、パターン画像データから、各画素(ピクセル)の位相φ、振幅A及びオフセットBを求めることである。例えば、1つの縞パターンを、位相の開始位置を90度(π/2ラジアン)ずつずらして4回撮像したときの、各画素にあたる計測点の位相φは次式(b)として表されることが知られている。
【0049】
tan(φ) = (I3-I1)/(I2-I0) (b)
【0050】
縞パターンのピッチ(1周期の長さ)をPとし、初期位相を0とすると縞パターンのずれ量はP×(φ/2π)で求められる。パターンの投射角度を用いてパターンずれ量からその位置の高さ情報を取得することができる。
【0051】
図2において、(a)に示すように、基準平面Sに対して投射ユニット23により縞パターンを投射してカメラユニット21で撮像したパターン画像データから得られる位相を(c)に示し、(b)に示すように、この基準平面S上に物体Oを載置した状態で同じ縞パターンを投射して撮像したパターン画像データから得られる位相を(d)に示すと、物体Oの高さ情報はこれらの位相のずれ量(位相差=測定した位相-基準平面の位相)から算出することができる。この位相差はカメラユニット21で撮像した画像の画素ごとに算出することができ、画素ごとに求められた位相差に係数を乗算することで、その画素に対応した位置の高さ情報が算出される。この係数は、例えば、簡易的にはtan(投射角度)×縞ピッチ/2πで求められる。
【0052】
ここで、縞パターンは、その明るさが正弦波状であって、且つ、単調に変化する(単調増加又は単調減少する)パターンが繰り返し形成されている。なお、1つの周期(ピッチ)において、位相が0から2π(ラジアン)まで変化するときに、輝度が最も暗い状態(例えば輝度I=0)から最も明るい状態(例えば輝度I=255)に単調増加する場合を示している(パターンにおける位相と輝度の関係は逆、すなわち単調減少でもよい)。
【0053】
図2を用いて説明したように、縞パターンを用いて基準平面Sを撮像し、また、縞パターンを用いてその基準平面Sに載置された物体O(被検査体12に相当)を撮像した場合、式(b)に基づいて得られた基準平面Sの位相φ0と物体Oを載置した状態で取得された位相φとの位相差Δφは、次式(c)で求められる。
【0054】
Δφ = φ - φ0 (c)
【0055】
以上より、基準平面及びこの基準平面に物体O(被検査体12)を載置して縞パターンを位相の開始位置をずらして投射して撮像された少なくとも3枚のパターン画像データから得られた位相φ0,φ(90°ずつずらして4枚撮像したときは式(b)により算出される)から、式(c)により算出された位相差Δφに基づいて、高さ情報Hを、次式(d)で求めることができる。
【0056】
H = P×(Δφ/2π) (d)
【0057】
上述したように、本実施形態に係る検査装置10は、2次元画像データ及びパターン画像データから算出される高さマップを使用して被検査体12を検査するように構成されているが、カメラユニット21のカメラには、所定の被写界深度(焦点深度)があるため、例えば、カメラユニット21が被検査体12である基板の表面付近に合焦している場合、背の高い部品の上面は焦点の合っていない画像データが撮像される可能性がある。そのため、このような画像データを用いて検査すると、2次元画像データにおいて、背の高い部品(例えばコンデンサなど)の上面に記載された文字を読み取ることができない場合が発生し、また、パターン画像データにおいて、背の高い部品の上面の縞パターンの画像がぼけてしまい、正確な高さ情報を算出することができない場合が発生する。
【0058】
そこで、本実施形態に係る検査装置10においては、Z方向(撮像方向)の異なる位置でカメラユニット21により撮像された少なくとも2枚の画像データを取得し、それぞれの画像データから相対的に合焦している画素を抽出して合成することにより、異なる高さの部品が配置されていたとしても、視野全体で合焦している画像データを得るように構成されている。ここでは、カメラユニット21が基準平面(上述したように、高さ情報を算出する際の基準となる面)に合焦しているときに取得された画像データと、カメラユニット21をZ方向に移動させて、Z方向の異なる位置にあるカメラユニット21により取得された画像データとを用いて合成を行う場合について説明する。以下、本実施形態に係る画像処理装置である検査装置10における画像データの合成方法について説明する。なお、ここではカメラユニット21の位置をZ方向に移動させる場合について説明するが、カメラユニット21と被検査体12とのZ方向の相対位置が変化すればよく、被検査体12の方をZ方向に移動させてもよい。なお、
図3(a)に示すように、被検査体12の所定の面(例えば、電子回路基板の場合は、基板の上面)を「基準面」とする。ここで、
図3(a)は、被検査体12の基準面と基準平面とが一致している場合を示している。
【0059】
また、以降の説明において、カメラユニット21のZ方向の位置は、
図3(a)に示すように、基準平面に合焦しているときのカメラユニット21の位置を、Z=0を基準とする座標系で表す。具体的には、カメラユニット21のZ方向の位置を示すP(i)は、カメラユニット21が基準面に合焦しているときをi=0とし、カメラユニット21が基準平面から遠ざかる順でi=1,2,3・・・として表す。以降の説明においては、Z方向の異なる位置で4枚の画像データを取得する場合を例とする。例えば、カメラユニット21の被写界深度を4mmと想定し、基準面に合焦しているときのカメラユニット21の位置「P(0)=0」で画像データを取得し、さらに、P(0)=0の位置から4mmずつ上方(Z方向)にずれた位置で3枚の画像データを取得する場合について説明する。それぞれの位置を、「P(1)=4」、「P(2)=8]、「P(3)=12」として表す(単位のmmは省略する)。また、カメラユニット21が基準平面に合焦しているとき、すなわち、Z=0にカメラユニット21があるときのこのカメラユニット21の先端から基準平面までの距離を合焦距離とする。さらに、カメラユニット21の先端から被検査体12の方向に合焦距離離れた位置を最合焦位置FPとする。
【0060】
なお、カメラユニット21の位置がZ方向にずれた画像データは4枚に限定されることはなく、2枚以上であればよい。また、カメラユニット21をZ方向にずらす幅は4mmに限定されることはなく、例えば、被検査体12に搭載されている部品の高さやカメラユニット21の被写界深度等を考慮して、任意の値に設定することができる。さらに、カメラユニット21のZ方向の位置を等間隔で変化させるだけでなく、それぞれの画像データを取得する間隔を任意に選択してもよい。
【0061】
また、Z方向のどの位置でカメラユニット21が画像データを取得するかについては、予め入力部36等から制御ユニット30に設定されているものとする。例えば、基準面の位置や検査対象の高さ(基板上に搭載された部品の高さ)を入力しておき、画像データを取得するZ方向の位置や間隔を設定しておく。また、カメラユニット21は、焦点距離が固定されているものとする。
【0062】
図4を用いて、本実施形態に係る画像処理装置である検査装置10における画像データの合成方法について説明する。この画像データの合成方法においては、Z方向の異なる位置で取得された画像データのうち、被検査体12(基準面)から最も遠い位置で取得された画像データから合成処理を行うように構成されている。
【0063】
図4(a)に示すように、制御ユニット30は、被検査体12の画像データを取得する処理が開始されたと判断すると、撮像処理部32aによりカメラユニット21を被検査体12の上方の所定の位置(XY方向の位置)に移動させ、さらに、カメラユニット21をi=0の位置、すなわち、カメラユニット21がP(0)に位置するように、カメラユニット21のZ方向の位置を調整し、被検査体12の画像データを取得する(ステップS100)。カメラユニット21をP(0)の位置に移動させると、カメラユニット21は、被検査体12の基準面付近に合焦することとなる。なお、このステップS100においては、上述したように、被検査体12の高さマップを取得するために、投射ユニット23により被検査体12に縞パターンを投射してカメラユニット21でパターン画像データを取得するが、このとき、縞パターンの位相をずらして少なくとも3枚(できれば4枚)のパターン画像データを取得する。また、投射ユニット23を複数有している場合には、それぞれの投射ユニット23から上述したように位相をずらしながら縞パターンを被検査体12に投射してパターン画像データを取得する。さらに、2次元画像データを取得するときは、照明ユニット22の側方照明源22a,22b,22cを順次点灯して被検査体12を照明し、カメラユニット21で撮像を行う。
【0064】
制御ユニット30は、被検査体12の撮像が終了すると、カメラユニット21がi=0の位置にあるとき、すなわちP(0)の位置にあるときに撮像したパターン画像データ(「P(0)のパターン画像データ」と呼ぶ)に基づいて算出される高さ情報から誤計測値を取り除くためのパラメータを設定する(ステップS102)。後述するように、カメラユニット21がi=0の位置にあるとき(P(0)のとき)の画像データの合成処理は最後に実行される。この最後の合成処理において、P(0)のときの画像データの画素は可能な限り合成画像データの画素として選択されるようにするため、上記パラメータは計測点数が最大化されるような値とされる。そして、このパラメータを用いて高さ基本処理S200が実行される(ステップS104)。
【0065】
制御ユニット30は、
図4(b)に示す高さ基本処理S200を開始すると、高さ測定部32bにより、縞パターンの位相をずらして撮像した3枚又は4枚のパターン画像データから、上述した式(a)~(d)に基づいて、パターン画像データ内の(視野内の)画素毎に位相計算処理を行う(ステップ202)。なお、複数の投射ユニット23を有している場合は、投射ユニット23毎に(投射別に)位相計算処理が実行される。次に、制御ユニット30は、複数の投射ユニット23を有している場合は、ぞれぞれの位相計算結果を合成する投射合成処理を実行し、画素毎の高さ情報を算出する(ステップS204)。最後に、画素毎の高さ情報に対して、メディアンフィルタ等によるノイズフィルタ処理を実行し(ステップS206)、P(0)のパターン画像に対する高さ基本処理S200の実行を終了する。
【0066】
このように、最初にカメラユニット21がP(0)の位置にあるときに(基準面付近にカメラユニット21が合焦しているときに)画像データを取得してパターン画像データから高さ情報を算出する理由は、以降で説明するように、合成処理の判断に用いる条件(2)で、P(0)のときの振幅や高さ情報などを利用するためである。
【0067】
図4(a)に戻り、ステップS104において、高さ基本処理S200の実行が終了すると、制御ユニット30は、撮像処理部32aにより、カメラユニット21のZ方向の位置を、次の撮像位置として、設定されている撮像位置のうち被検査体12から最も遠い位置に移動させる(ステップS106)。ここでは、i=3のときのP(3)=12の位置にカメラユニット21を移動させる。
【0068】
制御ユニット30は、カメラユニット21をZ方向の次の撮像位置に移動させると、P(0)のときと同様に、撮像処理部32aにより、その撮像位置でパターン画像データ及び2次元画像データを取得し、さらに、パターン画像データから算出される高さ情報から誤計測値を取り除くためのパラメータを設定する(ステップS108)。さらに制御ユニット30は、高さ測定部32bにより、ステップS108で撮像されたパターン画像データに対して高さ基本処理S200を実行する(ステップS110)。ここでは、カメラユニット21がi=0以外の位置(中空)にあるため、高さ情報から誤計測値を取り除くためのパラメータは、計測誤差の疑いの高い点を除外する(中空での誤計測点を除外する)ように設定される。
【0069】
現在の撮像位置(ここでは、P(3)の位置)で撮像されたパターン画像データによる高さ情報が算出されると、制御ユニット30は、画像合成部32cにより、現在の撮像位置の画像データを用いた合成画像更新処理を実行する(ステップS112)。ここでは、現在の撮像位置の画像データの画素のうち、合焦している画像(合焦画素)を選択して合成画像データの画素の値とする。具体的には、画素毎に、以下に示す2つの式による条件(条件(1)及び(2))により、その画素の現在の撮像位置での高さ情報に基づいて、現在の撮像位置の画像データの画素を合成画像データとして選択するか否かを決定する。
【0070】
P(i)-DL≦H(X,Y,i)+P(i)≦P(i+1)―DH (1)
A(X,Y,i) ≧ A(X,Y,0)×WA (2)
但し、
P(i):現在の撮像位置
P(i+1):現在の撮像位置よりも基準面から離れる隣の撮像位置
H(X,Y,i):判定対象の画素の位置が(X,Y)のときの現在の撮像位置での算出距離
DL、DH:定数
A(X,Y,i):判定対象の画素の位置が(X,Y)のときの現在の撮像位置での振幅
A(X,Y,0):判定対象の画素の位置が(X,Y)のときの撮像位置がi=0での振幅
WA:重み計数
【0071】
条件(1)は、判定対象の画素に対応する被検査体12の位置(算出距離)が、現在の撮像位置におけるカメラユニット21の合焦付近にあるか否かを判断するものである。ここで、算出距離H(X,Y,i)は、判定対象の画素における、P(i)での最合焦位置FPから被検査体12までのZ方向の距離であり、基本高さ処理S200により得られる、位置(X,Y)の画素の高さ情報であって、上述したカメラユニット21の座標系で表される。例えば、P(0)=0の場合、判定対象の画素に対応する被検査体12が基準平面上にあるときはH(X,Y,i)=0となる。なお、
図3(a)に示すように、カメラユニット21がZ方向に移動すると、最合焦位置FPもZ方向に移動する。また、
図3(b)に示すように、DL、DHは、カメラユニット21の現在の撮像位置P(i)と、現在の撮像位置よりも基準面から離れる隣の撮像位置P(i+1)とにより、カメラユニット21により合焦した画像データが得られる範囲を決定するための定数であり、例えば、カメラユニット21の位置を4mm間隔で設定した場合は、DL=1.5mm、DH=1.0mmとすることができる。もちろん、この定数DL,DHは、カメラユニット21の仕様(被写界深度等)や、カメラユニット21をZ方向にずらす間隔により決定することができる。なお、一般にはDL>DHであることが望ましい。また、被検査体12(基準面)から最も遠い撮像位置(ここでは、P(3)=12)のときは、P(i+1)(ここではP(4))の値を予め設定しておき、この値を使って条件(1)を判断する(例えば、P(4)=16としておく)。以上より、条件(1)を満足する画素は、その位置(P(i))にあるカメラユニット21で焦点が合った画像データ(鮮明な画像データ)が得られる範囲に被検査体12があることを意味している。
【0072】
ここで、条件(1)のDL,DHを定数にする代わりに、下記に示すような変数とすることもできる。なお、FUNCは所定の関数を示し、DL(i)は、撮像位置P(i)における変数であって、次の撮像位置P(i-1)と現在の撮像位置P(i)とをパラメータする関数FUNCにより決定され、また、DH(i)は、撮像位置iにおける変数であって、現在の撮像位置P(i)と前の撮像位置P(i+1)とをパラメータとする関数FUNCによって決定される。
【0073】
DL(i)=FUNC(P(i-1),P(i))
DH(i)=FUNC(P(i),P(i+1))
【0074】
また、条件(2)は、パターン画像データを用いて位相計算するときに、上述した式(a)で得られる振幅A(X,Y,i)、A(X,Y,0)により合焦度が大きい画素か否かを判定するものである。この条件(2)は、合焦度を比較してより合焦度が大きい画素を抽出し、当該画素の評価値が閾値以上であるときに合焦と判断するものである。具体的には、振幅の値が大きい方が合焦度が大きいため、P(0)のとき(i=0のとき)の振幅を基準として閾値を決定し、判定対象の画素(位置(X,Y)の画素)において、i=0のときの振幅A(X,Y,0)に比べて、現在の撮像位置における振幅A(X,Y,i)が十分大きいときに、判定対象の画素が合焦画素であると判断することができる。なお、重みWAの値は、カメラユニット21の被写界深度に基づいて決定することが望ましい。
【0075】
以上より、撮像位置P(i)において、画素毎に条件(1)及び条件(2)を判断し、条件(1)及び条件(2)を同時に満足している画素については、現在の撮像位置における画素の値を合成画像の画素として選択する。具体的には、位置(X,Y)の画素が条件(1)及び条件(2)を満足しているときは、当該画素のP(i)のパターン画像データから算出された高さ情報(H(X,Y,i)+P(i))を高さマップの合成画像データの同じ位置の画素の値として設定し、P(i)の位置で撮像された2次元画像データの当該画素の値(輝度等)を2次元画像データの合成画像データの同じ位置の画素の値として設定する。このような条件(1)及び条件(2)を用いて判断することにより、特に合成の継ぎ目付近での誤計測を防止することができる。
【0076】
制御ユニット30は、撮像処理部32aにより、全ての画素について上記合成処理を行った場合は、予め決められたZ方向の撮像位置の全てで撮像処理が終了したか否かを判断する(ステップS114)。全ての撮像位置での撮像処理が終了していないと判断した場合(ステップS114:No)、制御ユニット30は、撮像処理部32aにより、基準面に近づく次の撮像位置にカメラユニット21の位置を設定し(ステップS116)、その撮像位置において、上述したステップS108~S114の処理を繰り返す。例えば、現在の撮像位置がP(3)=12の場合は、次の撮像位置であるP(2)=8にカメラユニット21を設定し、現在の撮像位置がP(2)=8の場合は、次の撮像位置であるP(1)=4にカメラユニット21を設定する。
【0077】
一方、全ての撮像位置での撮像処理が終了していると判断した場合(ステップS114:Yes)、制御ユニット30は、画像合成部32cにより、ステップS100で取得した、基準面付近にカメラユニット21が合焦しているときの画像データ(P(0)=0の画像データ)の合成画像更新処理を行う(ステップS118)。ここで、P(0)の画像データにおいては、条件(2)は常に満足するので、条件(1)を満足しているか否かで判断を行う。すなわち、ステップS118において、未だ合成画像データの値が選択されていない画素であって、条件(1)を満足する画素は、P(0)の撮像位置の画像データの画素の値(高さマップにおける高さ情報及び2次元画像データの画素の値)を合成画像データの画素の値として選択する。
【0078】
なお、ステップS108~S114の繰り返しの処理において、ある画素が条件(1)及び条件(2)を満足していたとしても、既にその撮像位置より被検査体12から遠い撮像位置において条件(1)及び条件(2)を満足していて当該画素の値が合成画像データの値として選択されている場合は、既に選択されている値を優先する。すなわち、Z方向の複数の撮像位置で条件(1)及び条件(2)を満足する画素については、それらの撮像位置のうち、被検査体12から最も遠い撮像位置の画素の値を選択する。投射ユニット23により照射された光は、被検査体12に反射した後に撮像される。カメラユニット21が基板面から遠くなるにつれ、被検査体12からの反射光量は減少する。これにより、特に合焦していない画素での不要光によるノイズが減少することにつながり、その結果、高さ情報に含まれる誤計測値が削減される。そのため、Z方向の複数の撮像位置で条件(1)及び条件(2)を満足する画素については、それらの撮像位置のうち、被検査体12から最も遠い撮像位置の画素の値を選択する。
【0079】
図5は、ある視野において、被検査体12が、基板12dの上に、部品12a,12b,12cが搭載されている部分であるときの、カメラユニット21の最合焦位置FP及びその位置で撮像される画像データと、合成画像データとの関係を示している。具体的には、
図5(a)~(d)の上段は、カメラユニット21の最合焦位置FPと部品12a~12dとの関係を示し、下段は、合成画像データとして選択される可能性のある部分(画素)を網掛けで示している。
図5(a)は、カメラユニット21がP(3)=12にあるときを示しており、部品12aの上面が条件(1)を満足するため、同時に条件(2)を満足してれば、
図5(e)に示すように、P(3)における画像データの部品12aの上面が合成画像データとして選択される。一方、部品12bの上面は、
図5(b)に示すように、カメラユニット21がP(2)=8にあるときも、
図5(c)に示すように、カメラユニット21がP(1)=4にあるときも、条件(1)を満足している(条件(2)も満足しているとする)。この場合、
図5(e)に示すように、被検査体12から遠い方のP(2)の画像データにおける部品12bの上面が合成画像データとして選択される。また、部品12cの上面は、
図5(c)に示すように、カメラユニット21がP(1)=4にあるときに、条件(1)を満足しているため、同時に条件(2)を満足していれば、
図5(e)に示すように、P(1)の画像データにおける部品12cの上面が合成画像データとして選択される。同様に、基板12dの上面(基準面)は、
図5(d)に示すように、カメラユニット21がP(0)=0にあるときに、条件(1)を満足しているため、同時に条件(2)を満足していれば、
図5(e)に示すように、P(0)の画像データにおける基板12dの上面が合成画像データとして選択される(
図5(e)参照)。
【0080】
図4に戻り、最後に、制御ユニット30は、高さ測定部32bにより、高さ後処理S300を実行する(ステップS120)。制御ユニット30の高さ測定部32bは、
図4(c)に示す高さ後処理S300を開始すると、合成画像データにおいて、上述した合成画像更新処理で値が選択されなかった画素等の不計測画素を補間する処理を実行し(ステップS302)、さらに、合成画像データの歪みを補正する処理を行い(ステップS304)、高さ後処理S300を終了し、さらに、合成処理を終了する。合成前の画像データ(各撮像位置で取得されたパターン画像データから算出される高さマップ)に高さ後処理を実行してしまうと、補間された値や補正された画素まで合成画像データの画素の値として選択されてしまう可能性があり、画像データの精度が悪くなる可能性がある。したがって、不計測画素補間処理や歪み補正処理等の高さ後処理は、全ての撮像位置の画像データの合成処理が終了した後に、合成画像データに対して実行されることが望ましい。
【0081】
図4に示すように、本実施形態に係る画像データの合成方法では、カメラユニット21が基準面付近に合焦しているときに(i=0の位置P(0)で)撮像された画像データを除いて、カメラユニット21のZ方向の位置を移動させて画像データを取得する毎に、高さ基本処理及び合成画像更新処理を実行している。このとき、
図4では、撮像処理と、その撮像処理で取得された画像データの合成処理(高さ基本処理及び合成画像更新処理)とを一連の流れとして説明しているが、次の撮像位置での撮像処理を実行しているときに、並行して前の撮像位置で取得された画像データに対する高さ基本処理及び合成画像更新処理を実行することができる。上述したように、撮像処理においては、縞パターンの位相をずらした複数のパターン画像データの取得を複数の投射ユニット23毎に実行し、さらに、照明ユニット22の側方照明源22a,22b,22cを順次点灯して複数の2次元画像データを取得しなければならないため、次の撮像位置でこれらの撮像処理をしている間に、前の撮像位置の高さ基本処理及び合成画像更新処理を並行して実行することにより、全体の処理時間を短くし、結果として検査時間を短くすることができる。このとき、
図4では、P(0)の位置で撮像処理及び高さ基本処理を実行した後は、カメラユニット21を被検査体12から最も遠いP(3)に移動させ、この撮像位置から被検査体12に近づく方向にカメラユニット21を移動させて撮像処理並びに高さ基本処理及び合成画像更新処理を実行し、最後にP(0)の画像データの合成画像更新処理を実行している。この順で撮像処理並びに高さ基本処理及び合成画像更新処理を実行することにより、現在高さ基本処理及び合成画像更新処理を実行している撮像位置よりも前の撮像位置での高さ基本処理及び合成画像更新処理において、既に合成画像データの画素の値が選択されているときは、現在高さ基本処理及び合成画像更新処理を行っている撮像位置の画像データが条件(1)及び条件(2)を満足してもその画素の値は合成画像データの対応する画素の値として選択しないという処理をすることにより、上述した「2以上の撮像位置の画像データにおける同一の位置の画素が条件(1)及び条件(2)を満足しているときは、これらの画像データのうち、被検査体12から最も遠い撮像位置の画像データの画素の値を合成画像データの画素の値として選択する」という判断基準に適合させることができる。
【0082】
なお、上述した処理は、1つの視野に対して実行されるものであり、被検査体12を複数の視野に分割して撮像する(検査する)場合には、カメラユニット21をXY方向に移動させて、それぞれの視野において上記処理が実行されることになる。
【0083】
本実施形態に係る検査装置10は、制御ユニット30の検査制御部31が有する画像処理部32で取得された合成画像データ(高さマップ及び2次元画像データ)に基づいて、上述したような検査を実行する。
【0084】
(画素を選択するための条件の第1の変形例)
上述した合成画像更新処理では、条件(2)において、対象画素の振幅に基づいて判断しているが、この条件(2)に代えて、以下に示す条件(3)で判断してもよい。すなわち、上述した条件(1)及び条件(3)により、その画素の現在の撮像位置での高さ情報に基づいて、現在の撮像位置の画像データの画素を合成画像データとして選択するか否かを決定するように構成してもよい。なお、コントラストCは、上述した式(a)から求められる振幅A及びオフセットBを用いてC=A/Bで算出される。
【0085】
C(X,Y,i) ≧ C(X,Y,0)×WC (3)
但し、
C(X,Y,i):判定対象の画素の位置が(X,Y)のときの現在の撮像位置でのコントラスト
C(X,Y,0):判定対象の画素の位置が(X,Y)のときのi=0でのコントラスト
WC:重み計数
【0086】
条件(3)は、パターン画像データを用いて位相計算するときに、上述した式(a)に基づいて得られるコントラストC(X,Y,i)、C(X,Y,0)により合焦度が大きい画素か否かを判定するものである。この条件(3)は、合焦度を比較してより合焦度が大きい画素を抽出し、当該画素の評価値が閾値以上であるときに合焦と判断するものである。具体的には、コントラストの値が大きい方が合焦度が大きいため、判定対象の画素(位置(X,Y)の画素)において、i=0のときのコントラストC(X,Y,0)に比べて、現在の撮像位置におけるコントラストC(X,Y,i)が十分大きいときに、判定対象の画素が合焦画素であると判断することができる。なお、重みWCの値は、カメラユニット21の被写界深度に基づいて決定することが望ましい。
【0087】
(高さ測定方法の変形例)
上述した説明では、投射ユニット23から、1つの縞パターンを、位相を変えて投射することにより得られた3枚または4枚のパターン画像データから高さ情報を算出する場合について説明したが、高さ情報の精度を向上させるために、周期の異なる少なくとも2種の縞パターンを使用して高さ情報を取得するように構成することもできる。例えば、上述したステップS100及びS108の撮像処理において、投射ユニット23により長周期の第1パターンを、位相を変えながら投射して3枚または4枚のパターン画像データを取得し、また、短周期の第2パターンを、位相を変えながら投射して3枚または4枚のパターン画像データを取得する。投射ユニット23が複数ある場合は、それぞれの投射ユニット23により第1パターン及び第2パターンの位相を変えたパターン画像データを取得する。そして、長周期(つまり太い縞)の第1パターンにより大まかな高さ情報(ラフ高さ)を取得し、短周期(細い縞)の第2パターンで精密な高さ情報を取得する。上述したようにPMP法は位相に基づき高さ情報を取得するので、高さギャップ(高さ差)が大きく縞が1周期以上ずれてしまうと高さ情報を一意に特定することができない。第1パターンを併用して高さ情報を取得しておくことにより、第2パターンを投射したときに縞が1周期以上ずれている場合にも高さ情報を一意に特定することが可能となる。
【0088】
投射ユニット23により第1パターンの位相を変えて投射することにより得られた3枚または4枚のパターン画像データから得られる輝度Inも、第2パターンの位相を変えて投射することにより得られた3枚または4枚のパターン画像データから得られる輝度Inも、上述した式(a)の関係を有している。また、これらの輝度Inと位相φとの関係は上述した式(b)の関係を有している。
【0089】
ここで、長周期の第1パターンによる位相をφwとし、基準平面の位相をφw0としたときの位相差Δφwは、上述した式(c)より、次式(c1)の関係を有している。
【0090】
Δφw = φw - φw0 (c1)
【0091】
また同様に、短周期の第2パターンによる位相をφfとし、基準平面の位相をφf0としたときの位相差Δφfは、上述した式(c)より、次式(c2)の関係を有している。
【0092】
Δφf = φf - φf0 (c2)
【0093】
これらの位相差Δφw、Δφfより、詳細な高さ情報Hは、次式(d′)で求めることができる。ここで、Mは、長周期の第1パターンの1周期に対する短周期の第2パターンの周期数であり、また、Round()は、小数点以下を四捨五入する関数である。
【0094】
H = Round((M×Δφw-Δφf)/2π)×2π+Δφf (d′)
【0095】
なお、長周期と短周期の2つの縞パターンを用いて高さ情報を算出する構成の場合、上述した条件(2)に示す振幅による判断に代えて、以下の条件(2′)に示すように振幅比による判断を行うことが望ましい。すなわち、上述した条件(1)及び条件(2′)により、現在の撮像位置の画像データの画素を合成画像データとして選択するか否かを決定することが望ましい。
【0096】
AR(X,Y,i) ≦ AR(X,Y,0)×WAR (2′)
但し、
AR(X,Y,i):判定対象の画素の位置が(X,Y)のときの現在の撮像位置での振幅比
AR(X,Y,0):判定対象の画素の位置が(X,Y)のときのi=0での振幅比
WAR:重み計数
【0097】
なお、撮像位置P(i)において位置(X,Y)にある画素のコントラスト比AR(パラメータの(X,Y,i)は省略する)は、以下に示す式(e)に基づいて算出される。ここで、Awは、長周期の第1パターンを投射して得られた3枚または4枚のパターン画像データから式(a)により得られた振幅であり、Afは、短周期の第2パターンを投射して得られた3枚または4枚のパターン画像から式(a)により得られた振幅である。
【0098】
AR =(Aw-Af)/Af (e)
【0099】
条件(2)のときと同様に、この条件(2′)は、合焦度を比較してより合焦度が大きい画素を抽出し、当該画素の評価値が閾値以下であるときに合焦と判断するものである。具体的には、振幅比の値が小さい方が合焦度が大きいため、判定対象の画素(位置(X,Y)の画素)において、基準面付近にカメラユニット21が合焦しているとき(i=0のとき)の振幅比AR(X,Y,0)に比べて、現在の撮像位置における振幅比AR(X,Y,i)が十分小さいときに、判定対象の画素が合焦画素であると判断することができる。なお、重みWARの値は、カメラユニット21の被写界深度に基づいて決定することが望ましい。
【0100】
あるいは、条件(2′)に代えて、以下に示す条件(3′)で判断してもよい。すなわち、上述した条件(1)及び条件(3′)により、現在の撮像位置の画像データの画素を合成画像データとして選択するか否かを決定してもよい。
【0101】
CR(X,Y,i) ≦ CR(X,Y,0)×WCR (3′)
但し、
CR(X,Y,i):判定対象の画素の位置が(X,Y)のときの現在の撮像位置でのコントラスト比
CR(X,Y,0):判定対象の画素の位置が(X,Y)のときのi=0でのコントラスト比
WCR:重み計数
【0102】
条件(3′)は、パターン画像データを用いて位相計算するときに、上述した式(a)に基づいて得られるコントラスト比により合焦している画素か否かを判定するものである。この条件(3′)は、合焦度を比較してより合焦度が大きい画素を抽出し、当該画素の評価値が閾値以下であるときに合焦と判断するものである。具体的には、コントラスト比の値が小さい方が合焦度が大きいため、判定対象の画素において、基準面付近にカメラユニット21が合焦しているとき(i=0のとき)のコントラスト比CR(X,Y,0)に比べて、現在の撮像位置におけるコントラスト比CR(X,Y,i)が十分小さいときに、判定対象の画素において焦点が合っていると判断することができる。
【0103】
なお、コントラスト比CR(パラメータの(X,Y,i)は省略する)は、長周期の第1パターンを投射して得られた3枚または4枚のパターン画像データから得られたコントラストCwと、短周期の第2パターンを投射して得られた3枚または4枚のパターン画像から得られたコントラストCfとから次式(f)により得られる。なお、Awは、第1パターンにより得られる振幅、Afは、第2パターンにより得られる振幅、Bwは、第1パターンにより得られるオフセット、Bfは、第2パターンにより得られるオフセットであって、これらの値は上述した式(a)から求められる。
【0104】
CR = (Cw-Cf)/Cf (f)
但し、
Cw = Aw/Bw (g)
Cf = Af/Bf (h)
【0105】
このように、上述した合成画像更新処理S112においては、条件(1)及び条件(3′)を同時に満足する画素を選択しても、焦点の合った画素を合成画像データの画素の値とすることができる。
【0106】
(画素を選択するための条件の第2の変形例)
上述した画像データの合成方法において、合成画像更新処理S112では、高さ情報を取得するための縞パターンが1種類の場合は、現在の撮像位置で撮像された画像データの画素を合成画像データの画素として選択するか否かの判断として、条件(1)及び条件(2)、又は条件(1)及び条件(3)を同時に満足する画素を選択するように構成し、縞パターンが長周期と短周期の2種類の場合は、条件(1)及び条件(2′)又は条件(1)及び条件(3′)を同時に満足するように構成したが、条件(2)、条件(2′)又は条件(3)、条件(3′)は判断せず、現在の撮像位置で撮像された画像データにおいて、条件(1)を満足するときに合成画像データの画素として選択するように構成してもよい。条件(1)だけでも、現在の撮像位置の画像データの画素が、合焦画素であるか否かを判断できるからであり、処理時間を更に短くすることができる。なお、このように構成した場合は、基準面付近に合焦しているときの撮像位置P(0)での撮像処理は最後に行ってもよい(言い換えると、被検査体12から遠い撮像位置から撮像処理、高さ基本処理及び合成画像更新処理を実行するように構成してもよい)。
【0107】
また、被検査体12から遠い撮像位置から撮像処理、高さ基本処理及び合成画像更新処理を実行する場合、基準面付近にカメラユニット21が合焦しているとき(P(0))の画像データは最後に取得されるため、上述した条件(2)に代えて、以下に示す条件(2a)で判断してもよい。
【0108】
A(X,Y,i) ≧ TH (2a)
但し、
TH:振幅Aから予め決定された閾値
【0109】
また、上述した条件(2′)を用いて判定する場合には、この条件(2′)に代えて、以下に示す条件(2a′)で判断してもよい。
【0110】
AR(X,Y,i) ≦ TH (2a′)
但し、
TH:振幅比ARから予め決定された閾値
【0111】
また、上述した条件(3)を用いて判定する場合には、この条件(3)に代えて、以下に示す条件(3a)で判断してもよい。
【0112】
C(X,Y,i) ≧ TH (3a)
但し、
TH:コントラストCから予め決定された閾値
【0113】
また、上述した条件(3′)を用いて判定する場合には、この条件(3′)に代えて、以下に示す条件(3a′)で判断してもよい。
【0114】
CR(X,Y,i) ≦ TH (3a′)
但し、
TH:コントラスト比CRから予め決定された閾値
【0115】
条件(2)、(2′)又は条件(3)、(3′)に代えて、条件(2a)、(2a′)、(3a)、(3a′)を用いて判断しても、条件(1)を満足している画素において、より合焦度が大きい画素を抽出することができる。
【0116】
(主な特徴と効果)
本実施形態における画像データの合成方法の主な特徴及びその効果を以下にまとめる。
【0117】
第1に、本実施形態に係る画像データの合成方法では、一つの視野に対して、カメラユニット21をZ方向(撮像方向)の異なる位置に移動させて撮像した複数の画像データを合成した合成画像データを取得するが、カメラユニット21の撮像位置が被検査体12から(基準面から)遠い画像データから合成処理を実行するように構成されている。このように構成すると、カメラユニット21が被検査体12から遠くなるにつれ、被検査体12からの反射光量が減少し、特に合焦していない画素での不要光などによるノイズが減少するため、高さ情報に含まれる誤計測値が削減される。
【0118】
第2に、本実施形態に係る画像データの合成方法では、それぞれの撮像位置の画像データにおいて、合焦している画素を選択して合成画像データの画素の値としている。合焦している画素の判断基準としては、PMP法により測定された各画素の高さ情報や、PMP法における振幅やオフセットを用いており、上述した条件(1)及び条件(2)を同時に満足する画素、又は、条件(1)及び条件(3)を同時に満足する画素を選択する方法、条件(1)のみを満足する画素を選択する方法、条件(1)及び条件(2′)又は条件(1)及び条件(3′)を同時に満足する画素を選択する方法、また、条件(1)と条件(2a)、(2a′)、(3a)、(3a′)の何れかとを同時に満足する画素を選択する方法がある。このように構成すると、簡単な演算処理で精度良く合焦している画素を選択することができる。なお、異なる撮像位置の画像データにおいて合焦している条件を満足する画素においては、第1の特徴で述べたように、被検査体12から(基準面から)最も遠い撮像位置の値が選択される。
【0119】
第3に、本実施形態に係る画像データの合成方法では、PMP法によりパターン画像データから高さ情報を取得するときは、パターン画像データに対して上述した合成処理を実行し、合成された画像データに対して不計測画素の補間処理や歪みの補正処理(高さ後処理)を実行するように構成されている。各撮像位置で撮像されたパターン画像データから算出される高さマップに対して補間処理や補正処理を行うと、補間や補正された画素の値(信頼できないデータ)まで合成画像データの画素の値として選択されてしまい、画像データの精度が悪くなる可能性があるが、合成された画像データ(高さマップ)に対して補間処理及び補正処理をすることにより、焦点の合った画像データに対して補間や補正が行われるので、精度の高い高さ情報を取得することができる。
【0120】
第4に、本実施形態に係る画像データの合成方法では、誤計測値を取り除くためのパラメータは、基準面付近にカメラユニット21が合焦しているとき(P(0)のとき)は、基準面(基板面)での計測点数を最大化する値に設定され、基準面付近にカメラユニット21が合焦していないとき(P(1)~P(3)のとき)は、計測誤差の疑いの高い点は除去する値に設定される。このように構成すると、焦点の合った合成画像データを取得することができ、高さ情報の精度を向上させることができる。
【0121】
第5に、本実施形態に係る画像データの合成方法では、カメラユニット21のZ方向の位置が被検査体12から遠い順で画像データの撮像処理を行い、撮像毎に高さ基本処理及び合成画像更新処理を実行するように構成されている。このように構成すると、次の撮像位置で撮像処理を実行しているときに、並行して前の撮像位置で撮像した画像データを用いて高さ基本処理及び合成画像更新処理を実行することができ、処理時間を短くすることができる。
【0122】
以上のような構成によると、基板上に高さのある部品が搭載された被検査体12であっても、焦点のあった画像データを取得することができるので、パターン画像データから算出される高さマップの高さ情報の精度が向上し、また、鮮明な2次元画像データが得られる。
【0123】
なお、以上の実施の形態は、特許請求の範囲に記載された発明を限定するものではなく、実施の形態の中で説明されている特徴的事項の組み合わせの全てが解決手段の必須事項であるとは限らないことは言うまでもない。
【符号の説明】
【0124】
10 検査装置(画像処理装置)
12 被検査体
21 カメラユニット(撮像部)
22 照明ユニット(照明部)
23 投射ユニット(投射部)
30 制御ユニット(制御部)