IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社サキコーポレーションの特許一覧

特許7156794検査装置の高さ情報の取得方法及び検査装置
<>
  • 特許-検査装置の高さ情報の取得方法及び検査装置 図1
  • 特許-検査装置の高さ情報の取得方法及び検査装置 図2
  • 特許-検査装置の高さ情報の取得方法及び検査装置 図3
  • 特許-検査装置の高さ情報の取得方法及び検査装置 図4
  • 特許-検査装置の高さ情報の取得方法及び検査装置 図5
  • 特許-検査装置の高さ情報の取得方法及び検査装置 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-11
(45)【発行日】2022-10-19
(54)【発明の名称】検査装置の高さ情報の取得方法及び検査装置
(51)【国際特許分類】
   G01B 11/02 20060101AFI20221012BHJP
   G06T 7/521 20170101ALI20221012BHJP
【FI】
G01B11/02 H
G06T7/521
【請求項の数】 8
(21)【出願番号】P 2018004618
(22)【出願日】2018-01-16
(65)【公開番号】P2019124543
(43)【公開日】2019-07-25
【審査請求日】2020-12-10
(73)【特許権者】
【識別番号】595039014
【氏名又は名称】株式会社サキコーポレーション
(74)【代理人】
【識別番号】100140800
【弁理士】
【氏名又は名称】保坂 丈世
(74)【代理人】
【識別番号】100156281
【弁理士】
【氏名又は名称】岩崎 敬
(72)【発明者】
【氏名】丸山 剛
【審査官】續山 浩二
(56)【参考文献】
【文献】特開2012-053015(JP,A)
【文献】特開2006-023178(JP,A)
【文献】特開2001-124534(JP,A)
【文献】特開平08-152379(JP,A)
【文献】特開2007-139428(JP,A)
【文献】特開2009-079934(JP,A)
【文献】特開2003-279329(JP,A)
【文献】米国特許出願公開第2005/0254066(US,A1)
【文献】特開2006-084286(JP,A)
【文献】国際公開第2017/183181(WO,A1)
【文献】特開2017-146298(JP,A)
【文献】特開2016-045019(JP,A)
【文献】特開2015-172487(JP,A)
【文献】特開2013-036791(JP,A)
【文献】中国特許出願公開第107044833(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01B 11/02
G06T 7/521
(57)【特許請求の範囲】
【請求項1】
位相が位置に対して単調増加又は単調減少するように変化するパターンが繰り返し形成された縞パターンを有する検査装置の高さ情報の取得方法であって、
前記縞パターンが投射された被検査体の画像データである測定画像データを取得するステップと、
前記測定画像データから画素毎の位相である測定位相データを算出するステップと、
前記測定位相データからノイズであるエラー画素を決定して当該エラー画素を除去するステップと、
前記エラー画素が除去された測定位相データに基づいて、前記被検査体の高さ情報を取得するステップと、
を有し、
前記エラー画素を除去するステップは、
前記測定画像データに含まれる画素のいずれか一つを注目画素として選択するステップと、
前記注目画素の位相と、当該注目画素に対して、前記パターンが繰り返し形成される方向に隣接する所定の個数の隣接画素の位相とを比較して、前記縞パターンの前記位相の変化と、前記注目画素の位相と前記隣接画素の位相との変化とが矛盾するときに、前記注目画素及び前記矛盾が生じる隣接画素の少なくとも一方を前記エラー画素として決定するステップと、
を、前記測定画像データに含まれる全ての画素が前記注目画素として選択されるまで繰り返されるように構成されており、
前記エラー画素を除去するステップは、
前記注目画素及び前記矛盾が生じる隣接画素のうち、前記測定画像データから画素毎に算出される振幅が小さい方の画素を前記エラー画素として決定するように構成されていることを特徴とする検査装置の高さ情報の取得方法。
【請求項2】
位相が位置に対して単調増加又は単調減少するように変化するパターンが繰り返し形成された縞パターンを有する検査装置の高さ情報の取得方法であって、
前記縞パターンが投射された被検査体の画像データである測定画像データを取得するステップと、
前記測定画像データから画素毎の位相である測定位相データを算出するステップと、
前記測定位相データからノイズであるエラー画素を決定して当該エラー画素を除去するステップと、
前記エラー画素が除去された測定位相データに基づいて、前記被検査体の高さ情報を取得するステップと、
を有し、
前記エラー画素を除去するステップは、
前記測定画像データに含まれる画素のいずれか一つを注目画素として選択するステップと、
前記注目画素の位相と、当該注目画素に対して、前記パターンが繰り返し形成される方向に隣接する所定の個数の隣接画素の位相とを比較して、前記縞パターンの前記位相の変化と、前記注目画素の位相と前記隣接画素の位相との変化とが矛盾するときに、前記注目画素及び前記矛盾が生じる隣接画素の少なくとも一方を前記エラー画素として決定するステップと、
を、前記測定画像データに含まれる全ての画素が前記注目画素として選択されるまで繰り返されるように構成されており、
前記エラー画素を除去するステップは、
前記注目画素及び前記矛盾が生じる隣接画素のうち、前記測定画像データから画素毎の位相、並びに、前記測定画像データから画素毎に算出される振幅及びオフセットに対して、最小二乗誤差が大きい方の画素を前記エラー画素として決定するように構成されていることを特徴とする検査装置の高さ情報の取得方法。
【請求項3】
位相が位置に対して単調増加又は単調減少するように変化するパターンが繰り返し形成された縞パターンを有する検査装置の高さ情報の取得方法であって、
前記縞パターンが投射された被検査体の画像データである測定画像データを取得するステップと、
前記測定画像データから画素毎の位相である測定位相データを算出するステップと、
前記測定位相データからノイズであるエラー画素を決定して当該エラー画素を除去するステップと、
前記エラー画素が除去された測定位相データに基づいて、前記被検査体の高さ情報を取得するステップと、
を有し、
前記エラー画素を除去するステップは、
前記測定画像データに含まれる画素のいずれか一つを注目画素として選択するステップと、
前記注目画素の位相と、当該注目画素に対して、前記パターンが繰り返し形成される方向に隣接する所定の個数の隣接画素の位相とを比較して、前記縞パターンの前記位相の変化と、前記注目画素の位相と前記隣接画素の位相との変化とが矛盾するときに、前記注目画素及び前記矛盾が生じる隣接画素の少なくとも一方を前記エラー画素として決定するステップと、
を、前記測定画像データに含まれる全ての画素が前記注目画素として選択されるまで繰り返されるように構成されており、
前記エラー画素を除去するステップは、
前記注目画素の位相と前記隣接画素の位相の差の絶対値が所定の閾値より大きいときは、当該注目画素に対する処理を終了し次の注目画素に対する処理に移行するように構成されていることを特徴とする検査装置の高さ情報の取得方法。
【請求項4】
前記エラー画素を除去するステップは、
前記注目画素の位相と前記隣接画素の位相の差の絶対値が所定の閾値より大きいときは、当該注目画素に対する処理を終了し次の注目画素に対する処理に移行するように構成されていることを特徴とする請求項1または2に記載の検査装置の高さ情報の取得方法。
【請求項5】
前記測定画像データの少なくとも輝度が暗い部分に対して平均化フィルタ、ガウシアンフィルタ等のコンボリューションフィルタによる平滑化を行うステップを有し、
前記測定位相データを算出するステップは、前記平滑化が行われた測定画像データから前記測定位相データを算出するように構成されていることを特徴とする請求項1~4のいずれか一項に記載の検査装置の高さ情報の取得方法。
【請求項6】
前記縞パターンは、長周期の縞パターンと、短周期の縞パターンとから構成され、
前記測定画像データを取得するステップは、前記長周期の縞パターンが投射された前記被検査体の画像データである長周期測定画像データを取得し、前記短周期の縞パターンが投射された前記被検査体の画像データである短周期測定画像データを取得するように構成され、
前記測定位相データを算出するステップは、前記長周期測定画像データから画素毎の位相である長周期測定位相データを算出し、前記短周期測定画像データから画素毎の位相である短周期測定位相データを算出するように構成され、
前記エラー画素を除去するステップは、前記長周期測定位相データ及び前記短周期測定位相データの少なくとも一方からノイズであるエラー画素を決定して除去するように構成され、
前記被検査体の高さ情報を取得するステップは、前記エラー画素が除去された前記長周期測定位相データ及び前記短周期位相データに基づいて、前記被検査体の高さ情報を取得するように構成されていることを特徴とする請求項1~5のいずれか一項に記載の検査装置の高さ情報の取得方法。
【請求項7】
被検査体に対してパターンを投射する投射ユニットと、
前記パターンが投射された前記被検査体の画像データを取得するカメラユニットと、
前記画像データを記憶する記憶部と、
請求項1~6のいずれか一項に記載の検査装置の高さ情報の取得方法により前記被検査体の高さ情報を取得する制御ユニットと、を有することを特徴とする検査装置。
【請求項8】
前記投射ユニットは、異なる方向から前記パターンを投射する複数の投射ユニットを有し、
前記制御ユニットは、前記エラー画素が除去されたときは、当該エラー画素の高さ情報は、当該エラー画素が発生した投射ユニットとは異なる投射ユニットによる画像データから算出された高さ情報を用いるように構成されていることを特徴とする請求項7に記載の検査装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検査装置の高さ情報の取得方法、及びこの高さ情報の取得方法を用いた検査装置に関する。
【背景技術】
【0002】
近年では、様々な機器に電子回路基板が実装されるようになってきているが、この種の電子回路基板が実装される機器においては、小型化、薄型化等が常に課題になっており、この点から、電子回路基板の実装の高密度化を図ることが要求されている。このような電子回路基板のハンダの塗布状態、電子部品の実装状態等を検査する検査装置においては、高さ情報の測定に対して、その精密性から位相シフト法が用いられることが多い。位相シフト法では、電子回路基板に、位相の開始位置をずらして縞パターンを投射して撮像した3枚以上のパターン画像データの輝度から位相、振幅、オフセットを算出して、電子回路基板の高さ情報を取得するように構成されている。このとき、振幅は検査対象の電子回路基板の輝度に応じた値となり、オフセットは環境光・周辺散乱に応じた値となる。従来の高さ情報の測定方法では、算出された位相が正しい値であることを確認するために、振幅が小さい場合に、光量が弱いことから、対象エリアは影領域か、ノイズの割合の大きい黒い物体があると想定し、その値を高さ情報の算出に用いないことでノイズを除去していた(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2009-079934号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
車のインパネ(計器盤)等の表示装置において、メーターや表示にLED等を用いることが多くなっているが、このような表示装置において、LED以外の部分が明るいと表示が非常に見にくくなるため、LEDが取り付けられる基板は黒乃至マット状の光を反射させにくい素材(暗い基板)が使われるようになっている。
【0005】
暗い基板の高さ情報を測定する場合、縞パターンを投射して取得したパターン画像データから高さ情報を算出するためには、ノイズを除去するための振幅の閾値を低く設定する必要がある。それに対して、ハンダや電子部品等の影領域では、振幅の閾値を高く設定しなければ、影部分の本来光の当たっていない場所の誤った高さ情報が算出されてしまう。ハンダや電子部品等の周辺の高さ情報を基準としてハンダや電子部品等の高さ情報を測定するため、測定結果を不安定にする影部分の高さ情報を算出しないことは非常に重要な課題である。
【0006】
本発明はこのような課題に鑑みてなされたものであり、縞パターンを投射して取得したパターン画像データに暗い画素(輝度の小さい画素)が含まれていたとしても、当該画素の輝度が信頼できるか否かを判定できるので、より暗い画素から高さ情報を取得することができ、また、周辺に鏡面等があっても発生する2次反射の影響を低減できるので、取得する高さ情報の精度を向上させることができる高さ情報の取得方法、及びこの高さ情報の取得方法を用いた検査装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
前記課題を解決するために、第1の本発明に係る検査装置の高さ情報の取得方法は、位相が単調増加又は単調減少するように変化するパターンが繰り返し形成された縞パターンを有する検査装置の高さ情報の取得方法であって、前記縞パターンが投射された被検査体の画像データである測定画像データを取得するステップと、前記測定画像データから画素毎の位相である測定位相データを算出するステップと、前記測定位相データからノイズであるエラー画素を決定して当該エラー画素を除去するステップと、前記エラー画素が除去された測定位相データに基づいて、前記被検査体の高さ情報を取得するステップと、を有し、前記エラー画素を除去するステップは、前記測定画像データに含まれる画素のいずれか一つを注目画素として選択するステップと、前記注目画素の位相と、当該注目画素に対して、前記パターンが繰り返し形成される方向に隣接する所定の個数の隣接画素の位相とを比較して、前記縞パターンの前記位相の変化と、前記注目画素の位相と前記隣接画素の位相との変化とが矛盾するときに、前記注目画素及び前記矛盾が生じる隣接画素の少なくとも一方を前記エラー画素として決定するステップと、を、前記測定画像データに含まれる全ての画素が前記注目画素として選択されるまで繰り返されるように構成されており、前記エラー画素を除去するステップは、前記注目画素及び前記矛盾が生じる隣接画素のうち、前記測定画像データから画素毎に算出される振幅が小さい方の画素を前記エラー画素として決定するように構成されている。
【0008】
前記課題を解決するために、第2の本発明に係る検査装置の高さ情報の取得方法は、位相が単調増加又は単調減少するように変化するパターンが繰り返し形成された縞パターンを有する検査装置の高さ情報の取得方法であって、前記縞パターンが投射された被検査体の画像データである測定画像データを取得するステップと、前記測定画像データから画素毎の位相である測定位相データを算出するステップと、前記測定位相データからノイズであるエラー画素を決定して当該エラー画素を除去するステップと、前記エラー画素が除去された測定位相データに基づいて、前記被検査体の高さ情報を取得するステップと、を有し、前記エラー画素を除去するステップは、前記測定画像データに含まれる画素のいずれか一つを注目画素として選択するステップと、前記注目画素の位相と、当該注目画素に対して、前記パターンが繰り返し形成される方向に隣接する所定の個数の隣接画素の位相とを比較して、前記縞パターンの前記位相の変化と、前記注目画素の位相と前記隣接画素の位相との変化とが矛盾するときに、前記注目画素及び前記矛盾が生じる隣接画素の少なくとも一方を前記エラー画素として決定するステップと、を、前記測定画像データに含まれる全ての画素が前記注目画素として選択されるまで繰り返されるように構成されており、前記エラー画素を除去するステップは、前記注目画素及び前記矛盾が生じる隣接画素のうち、前記測定画像データから画素毎の位相、並びに、前記測定画像データから画素毎に算出される振幅及びオフセットに対して、最小二乗誤差が大きい方の画素を前記エラー画素として決定するように構成されている。
【0009】
前記課題を解決するために、第3の本発明に係る検査装置の高さ情報の取得方法は、位相が単調増加又は単調減少するように変化するパターンが繰り返し形成された縞パターンを有する検査装置の高さ情報の取得方法であって、前記縞パターンが投射された被検査体の画像データである測定画像データを取得するステップと、前記測定画像データから画素毎の位相である測定位相データを算出するステップと、前記測定位相データからノイズであるエラー画素を決定して当該エラー画素を除去するステップと、前記エラー画素が除去された測定位相データに基づいて、前記被検査体の高さ情報を取得するステップと、を有し、前記エラー画素を除去するステップは、前記測定画像データに含まれる画素のいずれか一つを注目画素として選択するステップと、前記注目画素の位相と、当該注目画素に対して、前記パターンが繰り返し形成される方向に隣接する所定の個数の隣接画素の位相とを比較して、前記縞パターンの前記位相の変化と、前記注目画素の位相と前記隣接画素の位相との変化とが矛盾するときに、前記注目画素及び前記矛盾が生じる隣接画素の少なくとも一方を前記エラー画素として決定するステップと、を、前記測定画像データに含まれる全ての画素が前記注目画素として選択されるまで繰り返されるように構成されており、前記エラー画素を除去するステップは、前記注目画素の位相と前記隣接画素の位相の差の絶対値が所定の閾値より大きいときは、当該注目画素に対する処理を終了し次の注目画素に対する処理に移行するように構成されている。
【0010】
また、本発明に係る検査装置の高さ情報の取得方法において、前記エラー画素を除去するステップは、前記注目画素の位相と前記隣接画素の位相の差の絶対値が所定の閾値より大きいときは、当該注目画素に対する処理を終了し次の注目画素に対する処理に移行するように構成されていることが好ましい。
【0011】
また、本発明に係る検査装置の高さ情報の取得方法は、前記測定画像データの少なくとも輝度が暗い部分に対して平均化フィルタ、ガウシアンフィルタ又はコンボリューションフィルタによる平滑化を行うステップを有し、前記測定位相データを算出するステップは、前記平滑化が行われた測定画像データから前記測定位相データを算出するように構成されていることが好ましい。
【0012】
また、本発明に係る検査装置の高さ情報の取得方法において、前記縞パターンは、長周期の縞パターンと、短周期の縞パターンとから構成され、前記測定画像データを取得するステップは、前記長周期の縞パターンが投射された前記被検査体の画像データである長周期測定画像データを取得し、前記短周期の縞パターンが投射された前記被検査体の画像データである短周期測定画像データを取得するように構成され、前記測定位相データを算出するステップは、前記長周期測定画像データから画素毎の位相である長周期測定位相データを算出し、前記短周期測定画像データから画素毎の位相である短周期測定位相データを算出するように構成され、前記エラー画素を除去するステップは、前記長周期測定位相データ及び前記短周期測定位相データの少なくとも一方からノイズであるエラー画素を決定して除去するように構成され、前記被検査体の高さ情報を取得するステップは、前記エラー画素が除去された前記長周期測定位相データ及び前記短周期位相データに基づいて、前記被検査体の高さ情報を取得するように構成されていることが好ましい。
【0013】
また、本発明に係る検査装置は、被検査体に対してパターンを投射する投射ユニットと、前記パターンが投射された前記被検査体の画像データを取得するカメラユニットと、前記画像データを記憶する記憶部と、上述した検査装置の高さ情報の取得方法により前記被検査体の高さ情報を取得する制御ユニットと、を有する。
【0014】
また、本発明に係る検査装置は、前記投射ユニットは、異なる方向から前記パターンを投射する複数の投射ユニットを有し、前記制御ユニットは、前記エラー画素が除去されたときは、当該エラー画素の高さ情報は、当該エラー画素が発生した投射ユニットとは異なる投射ユニットによる画像データから算出された高さ情報を用いるように構成されていることが好ましい。
【発明の効果】
【0015】
本発明によれば、縞パターンを投射して取得したパターン画像データに暗い画素(輝度の小さい画素)が含まれていたとしても、当該画素の輝度が信頼できるか否かを判定できるので、より暗い画素から高さ情報を取得することができる。また、周辺に鏡面等があっても発生する2次反射の影響を低減できるので、取得する高さ情報の精度を向上させることができる。
【図面の簡単な説明】
【0016】
図1】検査装置の構成を説明するための説明図である。
図2】基準平面の位相と測定した位相との関係を説明する説明図である。
図3】長周期の縞パターンと短周期の縞パターンとの関係を示す説明図である。
図4】高さ情報の取得方法の流れを示すフローチャートである。
図5】ノイズ除去処理の前段の流れを示すフローチャートである。
図6】ノイズ除去処理の後段の流れを示すフローチャートである。
【発明を実施するための形態】
【0017】
以下、本発明の好ましい実施形態について図面を参照して説明する。まず、図1を用いて本実施形態に係る検査装置10の構成について説明する。この検査装置10は、被検査体12を撮像して得られる被検査体12の画像データ(2次元画像データ又はパターン画像データ)を使用して被検査体12を検査する装置である。被検査体12は例えば、ハンダが塗布されている電子回路基板である。検査装置10は、ハンダの塗布状態の良否を被検査体12の画像データに基づいて判定する。
【0018】
検査装置10は、被検査体12を保持するための検査テーブル14と、被検査体12を照明し撮像する撮像ユニット20と、検査テーブル14に対し撮像ユニット20を相対移動させるXYステージ16と、撮像ユニット20及びXYステージ16の作動を制御し、被検査体12の検査を実行するための制御ユニット30と、を含んで構成される。なお説明の便宜上、図1に示すように、検査テーブル14の被検査体配置面をXY平面とし、その配置面に垂直な方向(すなわち撮像ユニット20を構成するカメラユニット21による撮像方向(カメラユニット21の光学系の光軸方向))をZ方向とする。
【0019】
撮像ユニット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駆動部には、リニアモータやボールねじを用いることができる。
【0020】
撮像ユニット20は、被検査体12の検査面(基板面)に対して垂直方向(Z軸方向)から撮像するカメラユニット21と、照明ユニット22と、投射ユニット23と、を含んで構成される。本実施形態に係る検査装置10においては、カメラユニット21、照明ユニット22、及び投射ユニット23は一体の撮像ユニット20として構成されていてもよい。この一体の撮像ユニット20において、カメラユニット21、照明ユニット22、及び投射ユニット23の相対位置は固定されていてもよいし、各ユニットが相対移動可能に構成されていてもよい。また、カメラユニット21、照明ユニット22、及び投射ユニット23は別体とされ、別々に移動可能に構成されていてもよい。
【0021】
カメラユニット21は、対象物の2次元画像を生成する撮像素子と、その撮像素子に画像を結像させるための光学系(例えばレンズ)とを含む。このカメラユニット21は例えばCCDカメラである。カメラユニット21の最大視野は、検査テーブル14の被検査体載置区域よりも小さくてもよい。この場合、カメラユニット21は、複数の部分画像に分割して被検査体12の全体を撮像する。制御ユニット30は、カメラユニット21が部分画像を撮像するたびに次の撮像位置へとカメラユニット21が移動されるようXYステージ16を制御する。制御ユニット30は、部分画像を合成して被検査体12の全体画像を生成する。
【0022】
なお、カメラユニット21は、2次元の撮像素子に代えて、1次元画像を生成する撮像素子を備えてもよい。この場合、カメラユニット21により被検査体12を走査することにより、被検査体12の全体画像を取得することができる。
【0023】
照明ユニット22は、カメラユニット21による撮像のための照明光を被検査体12の表面に投射するよう構成されている。照明ユニット22は、カメラユニット21の撮像素子により検出可能である波長域から選択された波長または波長域の光を発する1つまたは複数の光源を備える。照明光は可視光には限られず、紫外光やX線等を用いてもよい。光源が複数設けられている場合には、各光源は異なる波長の光(例えば、赤色、青色、及び緑色)を異なる投光角度で被検査体12の表面に投光するよう構成される。
【0024】
本実施形態に係る検査装置10において、照明ユニット22は、被検査体12の検査面に対し斜め方向から照明光を投射する側方照明源であって、本実施形態では、上位光源22a、中位光源22b及び下位光源22cを備えている。なお、本実施形態に係る検査装置10においては、側方照明源22a、22b、22cはそれぞれリング照明源であり、カメラユニット21の光軸を包囲し、被検査体12の検査面に対し斜めに照明光を投射するように構成されている。これらの側方照明源22a,22b,22cの各々は、複数の光源が円環状に配置されて構成されていてもよい。また、側方照明源である上位光源22a、中位光源22b及び下位光源22cは、それぞれ、検査面に対して異なる角度で照明光を投射するように構成されている。
【0025】
投射ユニット23は、被検査体12の検査面にパターンを投射する。パターンが投射された被検査体12は、カメラユニット21により撮像される。検査装置10は、撮像された被検査体12の画像データ(この画像データを「パターン画像データ」と呼ぶ)に基づいて被検査体の検査面の高さマップを作成する。制御ユニット30は、投射パターンに対するパターン画像の局所的な不一致を検出し、その局所的な不一致に基づいてその部位の高さ情報を取得する。つまり、投射パターンに対する撮像パターンの変化が、検査面上の高さの変化に対応する。
【0026】
投射パターンは、明線と暗線とが交互に周期的に繰り返される1次元の縞パターンであることが好ましい。投射ユニット23は、被検査体12の検査面に対し斜め方向から縞パターンを投射するよう配置されている。被検査体12の検査面における高さの非連続は、縞パターン画像においてパターンのずれとして表れる。よって、パターンのずれ量から高さ差を求めることができる。例えば、サインカーブに従って明るさが変化する縞パターンを用いるPMP(Phase Measurement Profilometry)法により制御ユニット30は高さマップを作成する。PMP法においては縞パターンのずれ量がサインカーブの位相差に相当する。
【0027】
投射ユニット23は、パターン形成装置と、パターン形成装置を照明するための光源装置と、パターンを被検査体12の検査面に投射するための光学系と、を含んで構成される。パターン形成装置は例えば、液晶ディスプレイ等のように所望のパターンを動的に生成しうる可変パターニング装置であってもよいし、ガラスプレート等の基板上にパターンが固定的に形成されている固定パターニング装置であってもよい。パターン形成装置が固定パターニング装置である場合には、固定パターニング装置を移動させる移動機構を設けるか、あるいはパターン投射用の光学系に調整機構を設けることにより、パターンの投射位置を可変とすることが好ましい。また、投射ユニット23は、異なるパターンをもつ複数の固定パターニング装置を切替可能に構成されていてもよい。
【0028】
投射ユニット23は、カメラユニット21の周囲に複数設けられていてもよい。複数の投射ユニット23は、それぞれ異なる投射方向から被検査体12にパターンを投射するよう配置されている。このようにすれば、検査面における高さ差によって影となりパターンが投射されない領域を小さくすることができる。
【0029】
図1に示す制御ユニット30は、本装置全体を統括的に制御するもので、ハードウエアとしては、任意のコンピュータのCPU、メモリ、その他のLSIで実現され、ソフトウエアとしてはメモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【0030】
図1には、制御ユニット30の構成の一例が示されている。制御ユニット30は、検査制御部31と記憶部であるメモリ35とを含んで構成される。検査制御部31は、高さ測定部32と検査データ処理部33と検査部34とを含んで構成される。また、検査装置10は、ユーザまたは他の装置からの入力を受け付けるための入力部36と、検査に関連する情報を出力するための出力部37とを備えており、入力部36及び出力部37はそれぞれ制御ユニット30に接続されている。入力部36は例えば、ユーザからの入力を受け付けるためのマウスやキーボード等の入力手段や、他の装置との通信をするための通信手段を含む。出力部37は、ディスプレイやプリンタ等の公知の出力手段を含む。
【0031】
検査制御部31は、入力部36からの入力及びメモリ35に記憶されている検査関連情報に基づいて、検査のための各種制御処理を実行するよう構成されている。検査関連情報には、被検査体12の2次元画像データ、被検査体12の高さマップ(パターン画像データから算出される)、及び基板検査データが含まれる。検査に先立って、検査データ処理部33は、すべての検査項目に合格することが保証されている被検査体12の2次元画像データ及び高さマップを使用して基板検査データを作成する。検査部34は、作成済みの基板検査データと、検査されるべき被検査体12の2次元画像データ及び高さマップとに基づいて検査を実行する。
【0032】
基板検査データは基板の品種ごとに作成される検査データである。基板検査データはいわば、その基板に塗布されたハンダごとの検査データの集合体である。各ハンダの検査データは、そのハンダに必要な検査項目、各検査項目についての画像上の検査区域である検査ウインドウ、及び各検査項目について良否判定の基準となる検査基準を含む。検査ウインドウは各検査項目について1つまたは複数設定される。例えばハンダの塗布状態の良否を判定する検査項目においては通常、その部品のハンダ塗布領域の数と同数の検査ウインドウがハンダ塗布領域の配置に対応する配置で設定される。また、被検査体画像に所定の画像処理をした画像を使用する検査項目については、その画像処理の内容も検査データに含まれる。
【0033】
検査データ処理部33は、基板検査データ作成処理として、その基板に合わせて検査データの各項目を設定する。例えば検査データ処理部33は、その基板のハンダレイアウトに適合するように各検査ウインドウの位置及び大きさを各検査項目について自動的に設定する。検査データ処理部33は、検査データのうち一部の項目についてユーザの入力を受け付けるようにしてもよい。例えば、検査データ処理部33は、ユーザによる検査基準のチューニングを受け入れるようにしてもよい。検査基準は高さ情報を用いて設定されてもよい。
【0034】
検査制御部31は、基板検査データ作成の前処理として被検査体12の撮像処理を実行する。この被検査体12はすべての検査項目に合格しているものが用いられる。撮像処理は上述のように、照明ユニット22により被検査体12を照明しつつ撮像ユニット20と検査テーブル14との相対移動を制御し、被検査体12の部分画像を順次撮像することにより行われる。被検査体12の全体がカバーされるように複数の部分画像が撮像される。検査制御部31は、これら複数の部分画像を合成し、被検査体12の検査面全体を含む基板全面画像データ(2次元画像データ)を生成する。検査制御部31は、メモリ35に基板全面画像データを記憶する。
【0035】
また、検査制御部31は、高さマップ作成のための前処理として、投射ユニット23により被検査体12にパターンを投射しつつ撮像ユニット20と検査テーブル14との相対移動を制御し、被検査体12のパターン画像を分割して順次撮像する。投射されるパターンは好ましくは、PMP法に基づきサインカーブに従って明るさが変化する縞パターンである。検査制御部31は、撮像した分割画像を合成し、被検査体12の検査面全体のパターン画像データを生成する(以下、被検査体12に対して縞パターンを投射して撮像したパターン画像データを「撮像パターン画像データ」と呼ぶ)。検査制御部31は、メモリ35に撮像パターン画像データを記憶する。なお、全体ではなく検査面の一部について撮像パターン画像データを生成するようにしてもよい。
【0036】
高さ測定部32は、撮像パターン画像データにおけるパターンの像に基づいて被検査体12の検査面全体の高さマップを作成する。高さ測定部32はまず、撮像パターン画像データと基準パターン画像データとの局所的な位相差を画像データ全体について求めることにより、被検査体12の検査面の位相差マップを求める。基準パターン画像データとは、投射ユニット23により基準面にパターンが投射された画像データ(つまり投射ユニット23に内蔵されているパターン形成装置が生成したパターンが基準面に投射された画像データ)である。高さ測定部32は、高さ測定の基準となる基準面と位相差マップとに基づいて被検査体12の高さマップを作成する。基準面は例えば、検査される電子回路基板の基板表面である。基準面は必ずしも平面ではなくてもよく、基板の反り等の変形が反映された曲面であってもよい。
【0037】
高さ測定部32は、具体的には、撮像パターン画像データの各画素と、当該画素に対応する基準パターン画像データの画素とで縞パターンの位相差を求める。高さ測定部32は、位相差を高さ情報に換算する。検査面上での位置により投射ユニット23からの距離が異なるために、基準パターンの縞幅が一定であっても、検査面のパターン投射領域の一端から他端へと縞幅が変化してしまうからである。高さ測定部32は、換算された高さ情報と基準面とに基づいて基準面からの高さ情報を取得し、被検査体12の高さマップを作成する。
【0038】
検査制御部31は、被検査体12の高さマップが有する高さ情報を被検査体12の2次元画像の各画素に対応付けることにより、高さ分布を有する被検査体画像を作成してもよい。検査制御部31は、高さ分布付き被検査体画像データに基づいて被検査体12の3次元モデリング表示を行うようにしてもよい。また、検査制御部31は、2次元の被検査体画像データに高さ分布を重ね合わせて出力部37に表示してもよい。例えば、被検査体画像データを高さ分布により色分け表示するようにしてもよい。
【0039】
以下に、このような検査装置10において、投射ユニット23によりパターンを投射して高さ情報を取得する方法について説明する。
【0040】
まず、縞パターンを用いたPMP法による高さ情報の取得方法について説明する。縞パターン投射領域の1つの計測点(画素)に着目すると、空間的に位相をずらしながら縞パターンを投射したときに(言い換えれば、縞の反復する方向に縞パターンを走査したときに)、その計測点(画素)の明るさは周期的に変動する。色や反射率等の計測点(画素)の表面特性に応じて計測点(画素)毎に平均の明るさは異なるものの、どの計測点(画素)においても縞パターンに対応する周期的な明るさ変動が生じる。よって、周期的な明るさ変動から位相を算出し、初期位相からの位相差が高さ情報を与える。
【0041】
このような縞パターンによる特性を用いて、PMP法による高さ情報の取得方法を応用し、周期の異なる少なくとも2種のパターンを使用して高さ情報を取得する。長周期(つまり太い縞)の第1パターンにより大まかな高さ情報(ラフ高さ)を取得し、短周期(細い縞)の第2パターンで精密な高さ情報を取得する。上述したようにPMP法は位相に基づき高さ情報を取得するので、高さギャップ(高さ差)が大きく縞が1周期以上ずれてしまうと高さ情報を一意に特定することができない。第1パターンを併用して高さ情報を取得しておくことにより、第2パターンを投射したときに縞が1周期以上ずれている場合にも高さ情報を一意に特定することが可能となる。
【0042】
ところが、このように複数の異なるパターンでそれぞれ高さ情報を取得し、それらの結果を総合して高さマップを求める場合には、一般にパターンごとに個別的に投射し撮像することになると考えられる。PMP法では原理的に1種の縞パターンについて位相をシフトさせて少なくとも3回、典型的には4回の撮像が必要とされている。縞パターンが正弦波であることに対応して各計測点(画素)の明るさ変動も正弦波となる。縞のピッチは既知であるから、輝度(明るさ)の平均値、振幅、及び初期位相が明らかとなれば明るさ変動を表す正弦波が特定される。
【0043】
縞パターンの位相の開始位置をずらして撮像された少なくとも3枚の撮像画像データから計測点(画素)の輝度(明るさ)の測定値を得ることにより、輝度(明るさ)の平均値、振幅、及び初期位相の3つの変数を決定することができる。ここで、1つの縞パターンを、位相の開始位置を90度(π/2ラジアン)ずつずらして4回撮像したときのある画素の輝度をそれぞれI0、I1、I2、I3とすると、縞パターンが正弦波の場合の輝度Inは、次式(1)で表される。なお、この式(1)において、Aは被検査体12の明るさに依存した振幅を示し、Bはカメラユニット21や環境輝度に依存した明るさのオフセットを示し、φは求めたい位相を示し、π/2は位相のシフト量(ずらし量)を示す。なお、n=0,1,2,3である。但し、一般的にはセンサノイズ等の要因で誤差が含まれるので、位相φ、振幅A及びオフセットBを算出する際には、最小二乗法が求められることが多い。また、最小二乗法で得られる誤差をEとする。
【0044】
In = A×sin(φ+n×π/2)+B (1)
【0045】
高さ情報の算出は、3枚以上の撮像画像データから、各画素(ピクセル)の位相φ、振幅A及びオフセットBを求めることである。例えば、1つの縞パターンを、位相の開始位置を90度(π/2ラジアン)ずつずらして4回撮像したときの、各画素にあたる計測点の位相φは次式(2)として表されることが知られている。
【0046】
tan(φ) = (I3-I1)/(I2-I0) (2)
【0047】
縞パターンのピッチ(1周期の長さ)をPとし、初期位相を0とすると縞パターンのずれ量はP×(φ/2π)で求められる。パターンの投射角度を用いてパターンずれ量からその位置の高さ情報を取得することができる。
【0048】
図2において、(a)に示すように、基準平面Sに対して投射ユニット23により縞パターンを投射してカメラユニット21で撮像した撮像画像データから得られる位相を(c)に示し、(b)に示すように、この基準平面S上に物体Oを載置した状態で同じ縞パターンを投射して撮像した撮像画像データから得られる位相を(d)に示すと、物体Oの高さ情報はこれらの位相のずれ量(位相差=測定した位相-基準平面の位相)から算出することができる。この位相差はカメラユニット21で撮像した画像の画素ごとに算出することができ、画素ごとに求められた位相差に係数を乗算することで、その画素に対応した位置の高さ情報が算出される。この係数は、例えば、簡易的にはtan(投射角度)×縞ピッチ/2πで求められる。
【0049】
ここで、図3に示すように、長周期の縞パターンPTw及び短周期の縞パターンPTfは、その明るさが正弦波状であって、且つ、単調に変化する(単調増加又は単調減少する)パターンが繰り返し形成されている。なお、図3に示す例は、1つの周期(ピッチ)において、位相が0から2π(ラジアン)まで変化するときに、輝度が最も暗い状態(例えば輝度I=0)から最も明るい状態(例えば輝度I=255)に単調増加する場合を示している(パターンにおける位相と輝度の関係は逆、すなわち単調減少でもよい)。また、短周期の縞パターンPTfのピッチ(1周期の長さ)をPfとすると、長周期の縞パターンPTwのピッチ(1周期の長さ)Pwは、所定の個数分の短周期の縞パターンPTfのピッチPfと一致するように構成されている。具体的には、図3の場合は、短周期の縞パターンPTf(図3において、0~3の番号を付加したパターン)のピッチPfの4つ分と、長周期の縞パターンPTwのピッチPwとが一致する。ここで、長周期の縞パターンPTwの1周期に含まれる短周期の縞パターンPsの周期数をMとする(図3では、M=4である)。
【0050】
図2を用いて説明したように、長周期の縞パターンPTwを用いて基準平面Sを撮像し、また、長周期の縞パターンPTwを用いてその基準平面Sに載置された物体O(被検査体12に相当)を撮像した場合、式(2)に基づいて得られた基準平面Sの位相φw0と物体Oを載置した状態で取得された位相φwとの位相差Δφwは、次式(3)で求められる。
【0051】
Δφw = φw - φw0 (3)
【0052】
また、短周期の縞パターンPTfを用いて、位相の開始位置をずらして基準平面Sを少なくとも3回撮像し、短周期の縞パターンPTfを用いて、位相の開始位置をずらしてその基準平面Sに載置された物体Oを少なくとも3枚撮像した場合、式(2)に基づいて得られた基準平面Sから取得された位相φf0と物体を載置した状態で取得された位相φfとの位相差Δφfは、次式(4)で求められる。
【0053】
Δφf = φf - φf0 (4)
【0054】
以上より、基準平面及びこの基準平面に物体O(被検査体12)を載置して長周期の縞パターンPTwを位相の開始位置をずらして投射して撮像された少なくとも3枚の画像データから得られた位相φw0,φw(90°ずつずらして4枚撮像したときは式(2)により算出される)から、式(3)により算出された位相差Δφwと、基準平面及びこの基準平面に被検査体12を載置して短周期の縞パターンPTfを位相の開始位置をずらして投射して撮像された少なくとも3枚の画像データから得られた位相φf0,φf(90°ずつずらして4枚撮像したときは式(2)により算出される)から、式(4)により算出された位相差Δφfと、長周期の縞パターンPTwの1周期に対する短周期の縞パターンPTfの周期数Mと、に基づいて、詳細な高さ情報Hを、次式(5)で求めることができる。但し、Round()は、小数点以下を四捨五入する関数である。
【0055】
H = Round((M×Δφw-Δφf)/2π)×2π+Δφf (5)
【0056】
それでは、図4及び図5を用いて、具体的な高さ情報の取得方法について説明する。なお、投射ユニット23で投射するパターンは、長周期の縞パターンPTw及び短周期の縞パターンPTfである。また、以降の説明では、1つの視野領域に対する測定処理について説明するが、被検査体12が複数の視野領域に跨がる場合は、それぞれの視野領域に対して以下の処理が実行される。
【0057】
まず、測定前の準備(前準備)を行う。例えば、入力部36から前準備の処理の実行命令が入力されると、制御ユニット30は、図4に示すように、投射ユニット23により長周期の縞パターンPTwを基準平面に投射し、基準パターン画像データ(「長周期基準画像データ」と呼ぶ)をカメラユニット21で撮像して取得する(ステップS100)。上述したように、1つの視野領域に対して、長周期の縞パターンPTwの位相の開始位置をずらして、少なくとも3枚の画像データ(本実施形態の場合は90°ずつずらした4枚の画像データ)を取得する。また、制御ユニット30は、ステップS100で取得された3枚又は4枚の長周期基準画像データを用いて、画素毎の輝度から当該画素の位相φw0を算出し(この算出された位相φw0を「長周期基準位相データ」と呼ぶ)、メモリ35に記憶する(ステップS110)。位相の開始位置を90°ずつずらした4枚の画像データを取得したときは、上述した式(2)により位相φw0を算出することができる。
【0058】
次に、制御ユニット30は、投射ユニット23により短周期の縞パターンPTfを基準平面に投射し、その基準パターン画像データ(「短周期基準画像データ」と呼ぶ)をカメラユニット21で撮像して取得する(ステップS120)。この短周期基準画像データも、1つの視野領域に対して、短周期の縞パターンPTfの位相の開始位置をずらして、少なくとも3枚の画像データ(本実施形態の場合は90°ずつずらした4枚の画像データ)を取得する。また、制御ユニット30は、ステップS120で取得された3枚又は4枚の短周期基準画像データを用いて、すべての画素に対して、画素毎の輝度から当該画素の位相φf0を算出し(この算出された位相φf0を「短周期基準位相データ」と呼ぶ)、メモリ35に記憶し(ステップS130)、この前準備の処理を終了する。位相の開始位置を90°ずつずらした4枚の画像データを取得したときは、上述した式(2)により位相φf0を算出することができる。なお、基準平面としては、部品の搭載されていない基板を検査テーブル14にセットしてもよいし、基準平面となる専用の部材を検査テーブル14にセットしてもよい。
【0059】
次に、検査テーブル14に被検査体12を載置して検査(高さ情報の取得)を行う。例えば、入力部36から検査の処理の実行命令が入力されると、制御ユニット30は、投射ユニット23により長周期の縞パターンPTwを被検査体12に投射してカメラユニット21でその撮像パターン画像データ(「長周期測定画像データ」と呼ぶ)を取得し、メモリ35に記憶する(ステップS200)。なお、このステップS200では、上述したように、1つの視野領域に対して長周期の縞パターンPTwの位相の開始位置をずらした少なくとも3枚の画像データを取得する(本実施形態の場合は90°ずつずらした4枚の画像データを取得する)。
【0060】
制御ユニット30は、メモリ35から長周期測定画像データを読み出し、この長周期測定画像データから画素毎に位相φwの算出を行う(ステップS210)。この位相φwの算出は、長周期の縞パターンPTwの位相の開始位置をずらして撮像された少なくとも3枚の画像データの各画素の輝度を用いて算出される。位相の開始位置を90°ずつずらした4枚の画像データを取得したときは、上述した式(2)により位相φwを算出することができる。算出された位相φw(この算出された位相φwを「長周期測定位相データ」と呼ぶ)は、画素毎にメモリ35に記憶される。
【0061】
制御ユニット30は、投射ユニット23により短周期の縞パターンPTfを被検査体12に投射してカメラユニット21でその撮像パターン画像データ(「短周期測定画像データ」と呼ぶ)を取得し、メモリ35に記憶する(ステップS220)。なお、このステップS220では、上述したように、1つの視野領域に対して短周期の縞パターンPTfの位相の開始位置をずらした少なくとも3枚の画像データを取得する(本実施形態の場合は90°ずつずらした4枚の画像データを取得する)。
【0062】
制御ユニット30は、メモリ35から短周期測定画像データを読み出し、この短周期測定画像データから画素毎に位相φf及び振幅Afの算出を行う(ステップS230)。この位相φf及び振幅Afの算出は、短周期の縞パターンPTfの位相の開始位置をずらして撮像された少なくとも3枚の画像データの各画素の輝度を用いて算出される。位相の開始位置を90°ずつずらした4枚の画像データを取得したときは、例えば、上述した式(2)により位相φfを算出することができる。算出された位相φf(この算出された位相φfを「短周期測定位相データ」と呼ぶ)及び振幅Af(この算出された振幅Afを「短周期測定振幅データ」と呼ぶ)は、画素毎にメモリ35に記憶される。
【0063】
上述したように、被検査体12が暗い基板である場合に高さ情報を取得するには、縞パターンを投射して取得した撮像パターン画像データから高さ情報を算出するに際し、ノイズを除去するための振幅の閾値を低く設定する必要がある。それに対して、ハンダや電子部品等の影領域では、振幅の閾値を高く設定しなければ、影部分の本来光の当たっていない場所の誤った高さ情報が算出されてしまう。また、鏡面などによる二次反射による位相ずれでは、観測されるべき位相φ0と鏡面反射による位相φ1の合成により、大きく位相がずれる場合がある。そこで、制御ユニット30は、特にハンダや電子部品等の影部分や鏡面反射の影響を受けやすい、短周期の縞パターンPTfが投影されて撮像された短周期位相測定データに対して、ノイズである可能性の高いエラー画素を除いて、正しい画素(位相データ)だけを抽出するためのノイズ除去処理を実行する(ステップS240)。なお、以降の説明において、短周期の縞パターンPTfは、図2及び図3に示すように、縞パターンをカメラユニット21で撮像した画像データ上での位相方向が右方向から左方向(X方向)に繰り返され(この方向を「繰り返し方向」と呼ぶ)、且つ、一つの周期における明るさが位相(0~2π)に対して単調増加する場合で説明する。
【0064】
具体的に、ノイズ除去処理S240は、被検査体12に投射される短周期の縞パターンPTfにより構成される位相が、右方向から左方向に向かって単調増加する関係にあることから、この短周期の縞パターンPTfの位相の開始位置をずらして撮像された3枚以上の撮像パターン画像データから算出される位相φfにおいて、物体の凹凸により、位相に不連続が発生した場合においても、局所的には位相φfが単調増加するという特性を有する。この特性に矛盾する画素の位相φfを短周期測定位相データから除く処理を実行する。
【0065】
制御ユニット30は、図5に示すように、撮像パターン画像データを構成する全ての画素が注目画素として選択されたか否かを判断する(ステップS2401)。制御ユニット30が選択されていない画素があると判断した場合(ステップS2401:No)、撮像画像データの選択されていない画素の中から注目画素を選択し(ステップS2402)、短周期測定位相データから選択された注目画素の位相φfを取得してP+(0)、P-(0)とし、また、短周期測定振幅データから選択された注目画素の振幅Afを取得してA+(0)、A-(0)とする(ステップS2403)。ここで、P+(0)、A+(0)は後述する位相増加方向に処理するときを示し、P-(0)、A-(0)は後述する位相減少方向に処理するときを示している。
【0066】
また、制御ユニット30が全ての画素が選択されたと判断した場合(ステップS2401:Yes)、制御ユニット30は、ノイズ除去処理S240を終了する。ここで、制御ユニット30は、撮像パターン画像データの全ての画素に対して、ノイズ除去処理S240を実行する。したがって、ノイズ除去処理S240をシーケンシャルに処理する場合は、撮像画像データの画素が一つずつ選択される。例えば、図2の例では、左上角の画素から右方向(上述した繰り返し方向であって、位相が増加する方向であるため「位相増加方向」と呼ぶ)に順次選択していき、右端の画素の処理が終了すると一つ下の段の左端の画素を選択するという処理を右下角の画素まで繰り返す。一方、検査装置10が、GPU(Graphics Processing Unit)等のように、複数の処理を並列して実行できる演算処理装置を有する場合には、撮像パターン画像データの画素から、並列処理可能な数だけ注目画素として選択され、全ての画素に対してノイズ除去処理S240が実行されるまでこの処理を繰り返すことにより、ノイズ除去処理S240の実行を高速化することができる。
【0067】
制御ユニット30は、まず、注目画素と位相増加方向の画素との比較を行う。制御ユニット30は、初期化処理として、ループ処理回数をカウントする変数iに1を設定する(ステップS2404)。ここで、位相P+(i)は、注目画素P+(0)から、位相増加方向に変数iで選択している画素(以下、「位相増加方向にi番目の画素」と呼ぶ)の位相であり、位相P+(i-1)は、変数iで選択している画素の左隣の画素(位相増加方向と反対側に隣接する画素)の位相の値である。
【0068】
制御ユニット30は、注目画素から右方向(位相増加方向)に数えてi番目の画素が存在するか否かを判断する(ステップS2405)。制御ユニット30が、注目画素から右方向(位相増加方向)に数えてi番目の画素が存在しない、すなわち、最も右端の画素まで処理されていると判断した場合(ステップS2405:No)、制御ユニット30は、ステップS2420に進む。
【0069】
制御ユニット30が、注目画素から右方向(位相増加方向)に数えてi番目の画素が存在すると判断した場合(ステップS2405:Yes)、制御ユニット30は、注目画素から右方向(位相増加方向)に数えてi番目の画素の位相φfを短周期測定位相データから取得してP+(i)とし、注目画素から右方向(位相増加方向)に数えてi番目の画素の振幅Afを短周期測定振幅データから取得してA+(i)とする(ステップS2406)。
【0070】
制御ユニット30は、位相P+(i)と位相P+(i-1)の差の絶対値が所定の閾値thを超えているか否かを判断する(ステップS2407)。制御ユニット30が、位相P+(i)と位相P+(i-1)の差の絶対値が所定の閾値thを超えていると判断した場合(ステップS2407:Yes)、制御ユニット30は、ステップS2420に進む。ここで、上述したように、位相P+(i)は現在選択している位相増加方向にi番目の画素の位相の値であり、位相P+(i-1)は、このi番目の画素の左隣にある画素の位相の値である。すなわち、ステップS2407において、制御ユニット30が、位相増加方向にi番目の画素の位相と左隣(i-1番目)の画素の位相の差の絶対値が所定の閾値を超えているときは、位相のつなぎ目(図3の短周期の位相パターンPTfに示すように、例えば、0番目のパターンと1番目のパターンのつなぎ目であって、位相から2πから0に変わる部分)であると判断し、後続する処理に進む。
【0071】
制御ユニット30が、位相P+(i)と位相P+(i-1)の差の絶対値が所定の閾値thを超えていないと判断した場合(ステップS2407:No)、制御ユニット30は、注目画素の位相P+(0)が位相増加方向にi番目の画素の位相P+(i)より大きく、且つ、注目画素の振幅A+(0)が位相増加方向にi番目の画素の振幅A+(i)より小さいか否かを判断する(ステップS2408)。
【0072】
以上より、制御ユニット30が、注目画素の位相P+(0)が位相増加方向にi番目の画素の位相P+(i)より大きく、且つ、注目画素の振幅A+(0)が位相増加方向にi番目の画素の振幅A+(i)より小さいと判断した場合(ステップS2408:Yes)、注目画素と位相増加方向にi番目の画素の位相が矛盾していて(単純増加ではなく)、且つ、注目画素の振幅が位相増加方向にi番目の画素の振幅より小さいので、制御ユニット30は、現在の注目画素の位相(位相が小さい方)がノイズである(エラー画素である)ことをメモリ35に記憶し(ステップS2409)、ステップS2401に戻り、次の注目画素に対して上述した処理を繰り返す。このステップS2408で注目画素の振幅と位相増加方向にi番目の画素の振幅を比較することにより、振幅が小さいときの位相は、影等の影響を受けている可能性が高いため、注目画素の振幅が位相増加方向にi番目の画素の振幅より小さいときは、注目画素の位相の方がノイズである(エラー画素である)と判断している。なお、現在の注目画素の位相がノイズある(エラー画素である)ことの記憶は、画素毎に当該画素がノイズあるか否かのフラグを管理し(メモリ35に記憶し)、ノイズでないときは「0」を設定し、ノイズであるときに「1」を設定するように構成してもよいし、メモリ35に記憶されている短周期測定位相データの当該画素に対する値(位相)を「0」に設定するように構成してもよい(後述する位相減少方向に対する処理も同じである)。
【0073】
制御ユニット30が、注目画素の位相P+(0)が位相増加方向にi番目の画素の位相P+(i)より大きくないか、若しくは、注目画素の振幅A+(0)が位相増加方向にi番目の画素の振幅A+(i)より小さくないと判断した場合(ステップS2408:No)、注目画素の位相P+(0)と位相増加方向にi番目の画素の位相P+(i)の大きさに矛盾がないため、制御ユニット30は、カウンタである変数iに1を加算することで、比較対象の画素を右方向(位相増加方向)に1つ進め(ステップS2410)、変数iが所定の値Nより大きいか否かを判断する(ステップS2411)。
【0074】
制御ユニット30が、変数iが所定の値Nより大きいと判断した場合(ステップS2411:Yes)、制御ユニット30は、ステップS2420に進む。また、制御ユニット30が、変数iが所定の値Nより大きくないと判断した場合(ステップS2411:No)、制御ユニット30は、ステップS2405に戻って上述した処理(変数iによるループ処理)を繰り返す。ここで、所定の値Nは、注目画素と、この注目画素より右方向(位相増加方向)にある画素とを比較する際に、比較の範囲を決定するパラメータである。このパラメータNは、撮像画像データ上の位相の幅から決定される。注目画素と比較する画素の範囲をパラメータNで限定することにより、ノイズ除去処理S240を高速化することができる。また、パラメータNにより、比較する範囲を限定することにより、GPU等による並列処理を効率的に利用することができる。
【0075】
次に、制御ユニット30は、注目画素と位相減少方向の画素との比較を行う。図6に示すように、制御ユニット30は、初期化処理として、ループ処理回数をカウントする変数jに1を設定する(ステップS2420)。ここで、位相P-(j)は、注目画素P-(0)から、位相減少方向に変数jで選択している画素(以下、「位相減少方向にj番目の画素」と呼ぶ)の位相であり、位相P-(j-1)は、変数jで選択している画素の右隣の画素(位相減少方向と反対側に隣接する画素)の位相の値である。
【0076】
制御ユニット30は、注目画素から左方向(位相減少方向)に数えてj番目の画素が存在するか否かを判断する(ステップS2421)。制御ユニット30が、注目画素から左方向(位相減少方向)に数えてj番目の画素が存在しない、すなわち、最も左端の画素まで処理されていると判断した場合(ステップS2421:No)、制御ユニット30は、ステップS2401に戻り、次の注目画素に対して上述した処理を繰り返す。
【0077】
制御ユニット30が、注目画素から左方向(位相減少方向)に数えてj番目の画素が存在すると判断した場合(ステップS2421:Yes)、制御ユニット30は、注目画素から左方向(位相減少方向)に数えてj番目の画素の位相φfを短周期測定位相データから取得してP-(j)とし、注目画素から左方向(位相減少方向)に数えてj番目の画素の振幅Afを短周期測定振幅データから取得してA-(j)とする(ステップS2422)。
【0078】
制御ユニット30は、位相P-(j)と位相P-(j-1)の差の絶対値が所定の閾値thを超えているか否かを判断する(ステップS2423)。制御ユニット30が、位相P-(j)と位相P-(j-1)の差の絶対値が所定の閾値thを超えていると判断した場合(ステップS2423:Yes)、制御ユニット30は、ステップS2401に戻り、次の注目画素に対して上述した処理を繰り返す。上述したように、位相P-(j)は現在選択している、位相減少方向にj番目の画素の位相の値であり、位相P-(i-1)は、このj番目の画素の右隣にある画素の位相の値であるため、ステップS2423において、制御ユニット30が、j番目の画素の位相と右隣(j-1番目)の画素の位相の差の絶対値が所定の閾値を超えているときは、位相のつなぎ目であると判断し、現在の注目画素に対する処理を終了して次の注目画素に移行する。
【0079】
制御ユニット30が、位相P-(j)と位相P-(j-1)の差の絶対値が所定の閾値thを超えていないと判断した場合(ステップS2423:No)、制御ユニット30は、注目画素の位相P-(0)が位相減少方向にj番目の画素の位相P-(j)より小さく、且つ、注目画素の振幅A-(0)が位相減少方向にi番目の画素の振幅A-(j)より小さいか否かを判断する(ステップS2424)。上述したように、短周期の位相パターンPTfの明るさは位相の減少に対して単純減少しているため、位相φfが単純減少する。すなわち、注目画素の位相P-(0)は、この注目画素よりも左方向(位相減少方向)に位置するj番目の画素の位相P-(j)よりも大きくなる。
【0080】
以上より、制御ユニット30が、注目画素の位相P-(0)が位相減少方向にj番目の画素の位相P-(j)より小さく、且つ、注目画素の振幅A-(0)が位相減少方向にj番目の画素の振幅A-(i)より小さいと判断した場合(ステップS2424:Yes)、注目画素と位相減少方向にj番目の画素の位相が矛盾していて(単純減少ではなく)、且つ、注目画素の振幅が位相減少方向にj番目の画素の振幅より小さいので、制御ユニット30は、現在の注目画素の位相(位相が小さい方)がノイズである(エラー画素である)ことをメモリ35に記憶し(ステップS2425)、ステップS2401に戻り、次の注目画素に対して上述した処理を繰り返す。このステップS2424で注目画素の振幅と位相減少方向にj番目の画素の振幅を比較する理由は、上述した位相増加方向の処理の場合と同じである。
【0081】
制御ユニット30が、注目画素の位相P-(0)が位相減少方向にj番目の画素の位相P-(j)より小さくない、若しくは、注目画素の振幅A-(0)が位相減少方向にj番目の画素の振幅A―(j)より小さくないと判断した場合(ステップS2424:No)、注目画素の位相P-(0)と位相減少方向にj番目の画素の位相P-(j)の大きさに矛盾がないため、制御ユニット30は、カウンタである変数jに1を加算することで、比較対象の画素を左方向(位相減少方向)に1つ進め(ステップS2426)、変数jが所定の値Nより大きいか否かを判断する(ステップS2427)。
【0082】
制御ユニット30が、変数jが所定の値Nより大きいと判断した場合(ステップS2427:Yes)、制御ユニット30は、ステップS2401に戻り、次の注目画素に対して上述した処理を繰り返す。また、制御ユニット30が、変数jが所定の値Nより大きくないと判断した場合(ステップS2427:No)、制御ユニット30は、ステップS2421に戻って上述した処理(変数jによるループ処理)を繰り返す。ここで、所定の値Nは、注目画素と、この注目画素より左方向(位相減少方向)にある画素とを比較する際に、比較の範囲を決定するパラメータである。このパラメータNは、撮像画像データ上の位相の幅から決定される。注目画素と比較する画素の範囲をパラメータNで限定することにより、ノイズ除去処理S240を高速化することができる。また、パラメータNにより、比較する範囲を限定することにより、GPU等による並列処理を効率的に利用することができる。
【0083】
図4に戻り、ノイズ除去処理S240が終了すると、制御ユニット30は、ステップS210で算出された画素毎の長周期測定位相データφwと、ステップS110で算出された画素毎の長周期基準位相データφw0を用いて、式(3)により画素毎の位相差Δφwを算出し、ステップS230で算出され、ステップS240でノイズが除去された画素毎の短周期測定位相データφfと、ステップS130で算出された画素毎の短周期基準位相データφf0を用いて、式(4)により画素毎の位相差Δφfを算出し、これらの位相差Δφw、Δφfを用いて、画素毎に、上述した式(5)に基づいて、詳細な高さ情報(H)を算出し、メモリ35に記憶する(ステップS250)。
【0084】
以上のように、本実施形態に係る検査方法を用いると、被検査体12の高さ情報の取得においては、短周期の縞パターンPTfの投射により得られた3枚以上の撮像パターン画像データにより算出される画素毎の位相データ(短周期測定位相データφf)から、ノイズの可能性がある値(エラー画素)を除去することができるので、高精度の高さ情報を取得することができる。なお、ノイズとして除去された画素(エラー画素)は、上述したように、ハンダや電子部品等の影部分の本来光の当たっていない場所や鏡面反射による二次反射がある場所である可能性が高く、異なる角度から縞パターンを投射することにより、正確な高さ情報を取得することができる。すなわち、本実施形態に係る検査装置10は、図1に示すように、異なる方向から縞パターンを投射する複数の投射ユニット23を有することが望ましい。ここで、複数の投射ユニット23を用いて、それぞれの投射ユニット23から投射した縞パターンで高さ情報を取得したときは、最終的な高さ情報を算出する際に、ある投射ユニット23による画像データから上記手法でノイズと判定された画素は、他の投射ユニット23による画像データから取得した画素の高さ情報のみを用いることが望ましい。これにより、影や鏡面反射の影響のない方向から取得した高さ情報を取得することができる。あるいは、ノイズ除去処理S240でノイズとして判定され、除去された画素は、後段の処理でメディアンフィルタに代表されるフィルタ処理等で補完してもよい。
【0085】
また、上述した説明では、被検査体12に対して、縞パターンの繰り返し方向が左右方向である場合について説明したが、上下方向や斜め方向(右下がりや右上がりの方向)であっても、注目画素に対してこの注目画素の繰り返し方向の画素と比較することで、同様にノイズを除去することができる。
【0086】
また、上述した説明では、ステップS2408、S2424で位相と振幅の関係が矛盾したときに、ステップS2409、S2425において、注目画素の位相(上述した説明から明らかように、比較した位相の小さい方)をノイズ(エラー画素)として判断していたが、注目画素だけでなく、矛盾があると判断された時点のi番目の画素もノイズ(エラー画素)と判定するように構成してもよい。
【0087】
また、上述した説明では、ステップS230において、短周期測定画像データから、画素毎に位相φf及び振幅Afを算出していたが、位相φf及び振幅Afに加えてオフセットBfの値も算出し、ノイズ除去処理S240においては、ステップS2408で、位相が矛盾した場合(Pi<P0の場合)には、位相φf、振幅Af及びオフセットBfの最小二乗誤差Eが大きい方の画素(注目画素又はi番目の画素)をノイズ(エラー画素)とするように構成してもよい。
【0088】
また、上述した説明では、パターン(位相)のつなぎ目において、2πの高さギャップが生じる。そのため、ステップS2407において、位相Piと位相P1の差の絶対値と比較する所定の閾値thをπ以下とし、π以上の高さギャップは正常状態(ノイズ判断の対象ではない)としてもよい。この際、測定対象が一定以上の高さギャップを持っていた際に、異常値か否かを判定できないのに対し、上述したハンダや電子部品等の高さ等を測定する場合には、対象の高さギャップがほぼ一定値以内であるため、縞パターンを想定される対象の最大ギャップの2倍の波長を用いることが望ましい。
【0089】
また、本実施形態に係る測定方法では、撮像パターン画像データにおいて縞パターンの像の位相が空間的に一方向に単調に変化する(単調増加又は単調減少する)という特性によりノイズを除去することができるので、撮像画像データの各画素において所定の輝度より小さい(暗い)画素を影と判定するときに、この判定の閾値をより低く設定することができる。例えば、撮像ユニット20を構成するカメラユニット21が、256階調のような離散的な値を取る場合、暗い部分は取得できる輝度に対して、輝度変化が相対的に離散的になる。この場合、周辺の輝度(上述したように注目画素に対する繰り返し方向の画素の輝度)と比較することで、より細かな輝度を取得することができる。
【0090】
なお、撮像パターン画像データに対して、特に輝度が小さい(暗い)部分だけ、平均化フィルタ又はガウシアンフィルタ等のコンボリューションフィルタによる平滑化(フィルタ処理)を行うように構成してもよい。
【0091】
また、上述した説明では、ノイズ除去処理を、短周期の縞パターンPTfに対する位相の算出に適用しているが、長周期の縞パターンPTwに対する位相の算出に適用することもできる。
【0092】
以上の構成によれば、撮像画像データにおける暗い点(暗い画素)でも、信頼できる値かどうかをノイズ除去処理により判定できるため、より暗い点(暗い画素)から高精度の高さ情報を取得することができる。また、周辺に鏡面等がある箇所であっても、上述したノイズ除去処理により発生する2次反射の影響を低減できるので、高精度の高さ情報を取得することができる。
【0093】
なお、以上の実施の形態は、特許請求の範囲に記載された発明を限定するものではなく、実施の形態の中で説明されている特徴的事項の組み合わせの全てが解決手段の必須事項であるとは限らないことは言うまでもない。
【符号の説明】
【0094】
10 検査装置
21 カメラユニット
23 投射ユニット
30 制御ユニット
35 メモリ(記憶部)
図1
図2
図3
図4
図5
図6