35 位相計測ディフレクトメトリー
研磨されたスマートフォンのカバーガラス、鏡面仕上げのステンレスパネル、あるいは平面鏡を生産ラインに設置すると、これまでの章で構築した三次元計測手法は一斉に機能しなくなる。構造化光(チャプター 32)で投影された縞は表面で拡散反射してカメラに戻らず、鏡面でそのまま別の場所へ反射されてしまう。レーザー三角測量(チャプター 30)では安定した散乱光の帯を検出できず、ステレオビジョンでもマッチングの手がかりが得られない——鏡面に映るのは表面のテクスチャではなく、周囲環境の反射像だからである。光が鏡面で拡散反射しない以上、「表面が照らされた様子を観測する」ことに依存する手法はすべて成立しなくなる。
しかし鏡面は、他の表面にはない特有の機能を持つ。それは鏡として働くことである。正弦波状の縞を表示したスクリーンを鏡面で反射させれば、カメラが鏡を通して「鏡越しに見る」像は、表面の起伏によって歪められた縞となる。表面がわずかに傾いた箇所では、カメラに映る縞もその分だけシフトする。この縞の歪み量が、表面の勾配(slope)を直接符号化する。これが位相計測ディフレクトメトリー(phase measuring deflectometry, PMD)である:表面を照らして高さを計測するのではなく、表面を反射鏡として利用し、縞の位相シフトから勾配を逆算する手法である。図 35.1 は、被検鏡面でスクリーンの縞を反射させて得られた原画像であり、浅い隆起と擦り傷状の溝が規則的な縞に可視な局所的な歪みを生じさせていることがわかる。
PMDと構造化光(チャプター 32)は双対(dual)の関係にある。構造化光は表面が拡散反射することを要求し、高さを直接計測する。一方PMDは表面が鏡面反射することを要求し、勾配を直接計測する。両者は全く同じ位相シフトと位相アンラッピングの機構を利用しながら、幾何学的に相反する種類の表面を対象とする。本章のほぼすべての特性は、構造化光の章で鏡像の関係にある対応する特性を持つ。
35.1 鏡面反射と勾配の符号化
PMDの幾何学は3つの要素で構成される:縞を射出するスクリーン、縞を反射してカメラに入射させる被検鏡面、そして撮像を行うカメラである。スクリーンは鏡面から距離 \(L\) の位置に空間的な正弦波パターンを表示し、カメラの各視線は鏡面上の点に入射した後、反射の法則に従ってスクリーンへ折り返され、スクリーン上のある座標に到達する。この座標におけるスクリーンの位相が、当該画素で観測される位相となる。
重要なのは、表面の傾きがこの光路をどのように変化させるかである。表面のある点における局所的な勾配を \(s=\partial h/\partial x\) とする。これは表面が基準平面に対して微小角 \(\alpha\approx s\) だけ傾いていることに相当する。反射の法則より、表面の法線が \(\alpha\) 回転すると、反射光は \(2\alpha\) 回転する。これがディフレクトメトリーにおける2倍角偏向則(deflection law)である。これにより、スクリーン距離 \(L\) の位置における光の横方向の到達点は約 \(2L\tan\alpha\approx 2L\,s\) だけ平行移動する。したがってカメラが当該画素で観測する位相は、直下のスクリーン点の位相ではなく、\(2L\,s\) だけ移動した後の点の位相となる:
\[ \varphi_{\text{obs}}(x)\;\approx\;\varphi_{\text{screen}}\!\big(x + 2L\,\tfrac{\partial h}{\partial x}\big). \]
この「2倍」は反射の法則に由来する:鏡を \(\alpha\) 回転させると、光は \(2\alpha\) 回転する。これがPMDが勾配に対して極めて高感度である理由でもある。表面の1ミリラジアンの傾きは、\(L=200\) mm の位置で \(2L\alpha=0.4\) mm の縞変位に増幅され、これは縞周期 \(P=16\) mm の2.5%に相当するため、位相上で明確に識別できる。幾何学自体に一次の増幅機構が組み込まれているのである。
これを一様なスクリーン位相 \(\varphi_{\text{screen}}(x)=2\pi x/P\) と減算すると、平面鏡を基準とした観測位相のオフセットは勾配に比例する:\(\Delta\varphi = \varphi_{\text{obs}}-\varphi_{\text{ref}} = (2\pi/P)\cdot 2L\,s\)。言い換えれば
\[ s \;=\; \frac{\partial h}{\partial x} \;=\; \frac{P}{2\pi\cdot 2L}\,\Delta\varphi . \]
この式がPMDのすべての特性の根源である:PMDは高さ \(h\) ではなく、勾配 \(\partial h/\partial x\) を計測する。高さは勾配場を積分することで間接的に得られるに過ぎない(セクション 35.3)。これは構造化光とは対照的である。構造化光の位相は高さに直接比例するのに対し、PMDの位相は高さの導関数に比例する。導関数は高周波の形状変化に敏感である一方、絶対的な大きさには鈍感であり、このトレードオフが本章全体を通して現れる。これによりPMDは微小な起伏の検出に驚くほど高感度となる(セクション 35.4)反面、絶対高さはドリフトしやすい積分に依存することになる。
35.2 位相計測の再利用
観測量がスクリーン縞の位相である以上、位相を求める機構は構造化光のものをそのまま流用できる(セクション 32.1)。スクリーンにx方向に4ステップの位相シフト縞を表示し、カメラで4フレーム \(I_0\ldots I_3\) を撮像する。ラップされた位相は4ステップ位相シフトの公式を用いて計算できる:
\[ \varphi_{\text{wrap}} = \operatorname{atan2}\!\big(I_3-I_1,\; I_0-I_2\big), \]
構造化光の章と同様、SciVision の SciSvPhaseMeasure::DecodePatterns(4ステップ位相シフト復号)は本SDKビルドでは惰性的であり、戻り値は0であるにもかかわらず空の画像を出力する。PMDはまさにこの関数の本来の適用場面であるため、例では実際のX+Y双方向縞セットで再度試行し、その不具合を忠実に記録した上で、位相処理パイプライン全体を手書きで実装している(ラップ位相は atan2、空間的位相アンラッピングを実施)。
変調度 \(B=\tfrac12\sqrt{(I_3-I_1)^2+(I_0-I_2)^2}\) は縞のコントラストを同時に計測し、セクション 35.5 で使用する。ディフレクション位相場は滑らかであり(搬送波は約0.08 rad/px、欠陥による偏向も \(\pi\) 未満)、平坦な鏡面では単一周波数の空間的位相アンラッピング(spatial unwrapping)で十分であり、構造化光のような二重周波数階層法は不要である(セクション 32.2)。x方向とy方向でそれぞれ処理を行い、両方向のアンラップされた位相を得る。
計測の最終段階は平面鏡の基準位相を減算することである。理想的な平面鏡の位相シフト像を別途生成してその位相 \(\varphi_{\text{ref}}\) を求め、被検位相から減算することで搬送波とシステムの幾何学的な影響を除去する。残った \(\Delta\varphi\) は直接勾配場 \(s_x,\,s_y\) に換算される。図 35.2 は両方向の勾配図である。特筆すべきはx方向勾配図(図 35.2 (a))における隆起の双極性シグネチャ(bipolar signature)である。50 μmのガウス型隆起は勾配図上で単一の明るい斑として現れるのではなく、正と負の2つのローブとして現れる。これは勾配が高さの導関数であるため、隆起の上り坂は正の勾配、下り坂は負の勾配となり、頂上で勾配がゼロを横切るからである。実測された隆起の近傍におけるx方向勾配は \(-0.0146\) から \(+0.0141\) rad の範囲で変動しており、ガウス型隆起の理論的なピーク勾配 \(\pm 0.0143\) rad と一致している。右側の擦り傷状の溝はy方向に伸びておりx方向にのみ勾配を持つため、明瞭な縦線として現れる。
35.3 勾配の積分と高さ
高さを得るには、勾配場を再び積分する必要がある。これは照度差ステレオ(チャプター 34)において法線場から高さを積分で求める問題と同型であり、いずれも表面の勾配を得た上でスカラーの高さ場を復元する必要がある。最も単純な手法は経路に沿って台形積分を累積する方法である。まず最初の列に沿って \(s_y\) で積分し、次に各行ごとに \(s_x\) で積分して1つの経路による高さを得る。別の経路(最初の行で \(s_x\) を積分した後、各列ごとに \(s_y\) で積分する)で再度計算し、2つの経路の結果を平均してノイズを低減する。表面が滑らかでノイズが小さければ、この簡易的な積分器でポアソンソルバーのような複雑さを必要とせずに十分な精度が得られる。
積分には固有の弱点がある。それは低周波ドリフトである。勾配のノイズが積分経路に沿って累積されると、高さ図上にゆっくりとした起伏の「地形」として積み上がる。さらに積分定数自体が不定であるため、PMDによる絶対高さと大スケールの形状は信頼性が低い。これはまさに構造化光との相補的な点である。構造化光は絶対高さは正確だが高周波感度が低いのに対し、PMDはその逆である。
図 35.3 は積分によって得られた高さ図である。定量的には、例では中心の円盤から外輪の基準線を減算して隆起の高さを 46.83 μm(GT 46.71、公称値50)、溝の底から側方の基準線を減算して溝の深さを 10.13 μm(GT 10.16、公称値10)と計測した。いずれも真値に近く、残留偏差は主に有限開口による基準線の選択に由来するものであり、計測ノイズによるものではない。平坦領域の高さのRMS誤差はわずか 0.228 μm である。勾配の積分は画素ごとのノイズを空間的に平均化するため、\(1.6\times10^{-4}\) rad の勾配ノイズをサブミクロンの高さノイズに圧縮している。
35.4 感度:なぜ勾配計測はこれほど正確なのか
これが本章の核心である。PMDは勾配を計測するが、勾配は角度である。角度量は極めて高精度に計測しやすい。なぜならスクリーン距離 \(L\) が微小な傾きを観測可能な縞変位に増幅するからである。ノイズの導出を追えばこれが明らかになる。4ステップ位相シフトの位相ノイズは \(\sigma_\varphi=\sigma_N/(\sqrt2\,B)\) であり、計測値から基準値を減算する際にさらに \(\sqrt2\) 倍されるため、\(\sigma_{\Delta\varphi}=\sigma_N/B\) となる。したがって勾配ノイズは
\[ \sigma_{\text{slope}} \;=\; \frac{\sigma_N}{B}\cdot\frac{P}{2\pi\cdot 2L}. \]
\(\sigma_N=2,\,B=80,\,P=16\) mm\(,\,L=200\) mm を代入すると、理論値は \(\sigma_{\text{slope}}=1.592\times10^{-4}\) rad となり、実測値の \(1.643\times10^{-4}\) rad と一致する。この角度ノイズはどれほど小さいのだろうか。底辺の幅 \(w\)、高さ \(h\) の欠陥について、最大勾配は約 \(4h/w\) である。この欠陥が検出可能であるためには、この勾配がノイズを超える必要があり、\(4h_{\min}/w\approx\sigma_{\text{slope}}\) となる。これから最小可検出高さは
\[ h_{\min}\;\approx\;\frac{\sigma_{\text{slope}}\,w}{4}. \]
実測された \(\sigma_{\text{slope}}\) を代入すると、\(w=1\) mm の欠陥では \(h_{\min}=0.041\) μm、\(w=5\) mm では 0.205 μm、\(w=20\) mm では0.821 μmとなる。幅が狭く深さの浅い微視的な欠陥は数十ナノメートルまで計測可能であり、これは高さを直接計測する手法では到底達成できない性能である。
対比は 図 35.4 に示されている。同じ表面、同じ50 μmの隆起について、左図はPMDの勾配図、右図は構造化光がその高さノイズフロア(ch32で実測された 33.8 μm)の下で観測する像である。構造化光の高さノイズフロアは50 μmの隆起とほぼ同程度であるため、隆起は粒状ノイズに埋もれてかろうじて識別できる程度である。一方PMDの勾配図では、隆起と溝が鮮明に際立って見える。定量化すると、同じ隆起に対してPMDの勾配のSN比は87:1であるのに対し、構造化光の高さのSN比はわずか1.5:1であり、約59倍の差がある。
無料で得られる高感度は存在しない。PMDは勾配(高周波の形状変化)に対して極めて高感度である反面、絶対高さはドリフトしやすい積分に依存する(セクション 35.3)ため、緩やかな大スケールの起伏には却って鈍感である。構造化光はその正反対である。工学的には両者は相補的に用いられることが多い。構造化光で大スケールの面形状を決定し、PMDで微視的な高周波欠陥を補完するのである。
35.5 鏡面性の境界
PMDの前提は鏡面反射である。表面が粗くなると、微小面素が入射光を散乱させるため、鏡面反射する縞のコントラストはそれに伴って低下する。例では拡散反射の割合 \(\rho\) を変化させて粗さを走査し、散乱ローブでスクリーンの正弦波パターンをガウス畳み込みする。実効的なコントラストは \(B_{\text{eff}}=(1-\rho)B\exp[-\tfrac12((2\pi/P)\cdot2L\,\sigma_\theta)^2]\) に従って減衰し、位相ノイズ \(\propto 1/B\) は急激に増大する:
| \(\rho\) | コントラスト \(B\) | 位相RMS (rad) | 勾配RMS (rad) | \(h_{\min}\) (w=5mm, μm) |
|---|---|---|---|---|
| 0.0 | 80.0 | 0.0255 | \(1.626\times10^{-4}\) | 0.203 |
| 0.3 | 47.7 | 0.0364 | \(2.314\times10^{-4}\) | 0.289 |
| 0.7 | 10.1 | 0.1449 | \(9.222\times10^{-4}\) | 1.153 |
\(\rho=0\) から \(0.7\) まで、コントラストは80から10に低下し、位相RMSは約6倍に増大し、最小可検出高さは0.20 μmから1.15 μmに劣化する。図 35.5 の3枚の縞画像はこの低下を直感的に示している。左の画像では縞が鮮明で欠陥が明瞭であるのに対し、右の画像では縞がかすんで信号がほとんどノイズに埋もれている。これはまさに構造化光の章における変調度に関する議論(セクション 32.4)の鏡像双対である。構造化光は表面が十分に拡散反射することを要求し、鏡面領域では鏡面ハイライトの飽和によって機能しなくなる。一方PMDは表面が十分に鏡面であることを要求し、拡散反射成分が増えるとコントラストが低下する。半鏡面(semi-specular)表面は両者にとって難題である。鏡面性が強すぎれば反射が強すぎ、粗すぎれば拡散信号が不十分となり、中間の領域にある表面は両方の手法で処理が困難になることが多い。
35.6 SciVisionによる実装
PMDのパイプライン全体はch32の位相処理機構を再利用している。約束通り、SciSvPhaseMeasure::DecodePatterns はPMDという本来の適用場面でも依然として惰性的であり(戻り値は0、出力は空画像)、例では実際のX+Y双方向縞セットで再度試行し、その不具合を忠実に記録した上で、すべての処理を手書きで実装している。主要な勾配抽出と積分のコード断片は以下の通りである。
// 1. 4ステップ位相シフトによるラップ位相(x/y各1セット)、
// 平面鏡の基準位相を減算 → 勾配場
double s = (double)im[3][i] - im[1][i]; // 2B*sin(phi)
double c = (double)im[0][i] - im[2][i]; // 2B*cos(phi)
phi[i] = std::atan2(s, c); // ラップ位相
// アンラップ後:Δφ = φ_obs - φ_ref、2倍角偏向則で勾配(rad)に換算
slope[i] = (uObs[i] - uRef[i]) * P_SCR / (TWO_PI * 2.0 * L_SCR);
// 2. 勾配の2経路台形積分 → 高さ(照度差ステレオの法線積分と同型)
h1[i] = h1[i-1] + 0.5 * (sx[i] + sx[i-1]) * PX; // 経路1:行ごとにsxを積分
h2[i] = h2[i-W] + 0.5 * (sy[i] + sy[i-W]) * PX; // 経路2:列ごとにsyを積分
h[i] = 0.5 * (h1[i] + h2[i]); // 2経路の平均でノイズ低減勾配換算における P_SCR/(TWO_PI*2.0*L_SCR) の項は \(P/(2\pi\cdot2L)\) そのものであり、ディフレクションの位相差を勾配に変換する。積分のステップ PX は画素の物理スケールである。キャリブレーション上の要点として、PMDの幾何学的な精度はスクリーン—カメラ—基準面の三者の相対的な姿勢に依存する。スクリーンから鏡面までの距離 \(L\)、スクリーン画素の物理スケール、カメラの内部パラメータは事前にキャリブレーションしておく必要があり(チャプター 5 と対応)、いずれかの誤差は偏向則を通して線形に勾配に伝搬する。本章のすべての画像を生成した完全なプロジェクトは code/deflectometry/ に配置されている。
産業事例:スマートフォンカバーガラスの微小欠陥
研磨後のスマートフォンカバーガラスで検査が必要なのは、オレンジピール、研磨痕、浅い傷などのサブミクロンオーダーの微小凹凸であり、その高さの起伏は多くの場合、わずか数分の1ミクロンに過ぎない。構造化光を用いて直接高さを測定すると、33 μm 程度の高さ雑音基底によってこれらの欠陥が完全に埋もれてしまい、判別は全く不可能となる。PMD に切り替えて勾配を測定すると、幾何学的な2倍の偏向則にスクリーン距離による増幅が加わり、サブミクロンの高周波の起伏が明瞭に識別可能な勾配信号に増幅され、欠陥は一目瞭然となる。ただしカバーガラスはどの領域も鏡面であるわけではない。縁の面取り部やスクリーン印刷のインク領域は拡散反射または半鏡面であり、そこでは縞のコントラストが崩壊し、位相雑音が急増するため、マスクで個別に切り出して鏡面領域とは別に処理する必要があり、一括して処理することはできない。教訓は明らかである:鏡面または鏡面に近い表面の微小凹凸検査において、PMD の勾配感度は構造化光では得られないものである。ただし PMD の最大の弱点も鏡面性にあり、非鏡面領域はまず識別した上で隔離しなければならない。
35.7 小結
- PMD は鏡面を鏡として利用する:被検鏡面にスクリーンの縞を反射させ、縞の位相偏移から表面の勾配を推定する。構造化光、レーザー、ステレオ視のいずれもが機能しない鏡面物体に特化した手法であり、構造化光の幾何学的双対である。
- 2倍偏折律がすべての根源である:表面が \(\alpha\) だけ傾くと反射光は \(2\alpha\) だけ偏向し、\(\varphi_{\text{obs}}\approx\varphi_{\text{screen}}(x+2L\,\partial h/\partial x)\) が成り立つ。PMD は高さではなく勾配を測定するため、高さを得るには勾配場を積分する必要があり(照度差ステレオと同型である)、その代償として絶対高さがドリフトしやすくなる。
- 勾配を測定するため極めて高感度である:\(h_{\min}\approx\sigma_{\text{slope}}w/4\) であり、\(w=5\) mm のときわずか 0.205 μm となる。同じ 50 μm の隆起に対し、PMD の勾配の SN 比 87:1 は構造化光の高さの SN 比 1.5:1 と比較して約 59 倍の利得があり、PMD は高周波の形状変化を増幅する。
- 鏡面性は硬い境界である:表面が粗くなると縞のコントラストが崩壊して位相ノイズが急増し(\(\rho=0.7\) のとき \(h_{\min}\) は 5 倍に劣化する)、これは構造化光の変調度に関する議論の鏡像である。半鏡面の表面は両方の手法にとって扱いにくい。
- 位相処理機構を再利用し、キャリブレーションに注意する:位相シフトとアンラッピングはch32の手法を踏襲し(
DecodePatternsは惰性的であり、手書きで実装される)、精度はスクリーン—カメラ—基準面の幾何学的キャリブレーションに依存する。
位相計測ディフレクトメトリーによる鏡面自由曲面の測定に関する先駆的な研究は、Knauer、Kaminski、Häusler の論文 (Knauer, Kaminski, と Häusler 2004) である。この分野の原理、キャリブレーション、応用の進展については、Huang らによる包括的なサーベイ (Huang ほか 2018) がある。ディフレクトメトリーと鏡面表面の三次元測定に関する工学的な解説は、Steger らの著書 (Steger, Ulrich, と Wiedemann 2018) も参照されたい。





