1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

検査の光学系は、光線追跡とシミュレーションでどこまで確かめられるか ―― 同軸落射のゴースト、テレセントリック、SEM と TEM、薄膜、X 線(デュアルエナジー)、ピクセルシフト、偏向測定

1
Last updated at Posted at 2026-10-18

言語 / Language: 日本語 · English

検査の光学系は、光線追跡とシミュレーションでどこまで確かめられるか ―― 同軸落射のゴースト、テレセントリック、SEM と TEM、薄膜、X 線(デュアルエナジー)、ピクセルシフト、偏向測定

同軸落射の光学系

↑ 横から来る照明(赤)を 45° の半透鏡が真下の部品へ曲げ、部品で鏡面反射した光(青)が半透鏡を通ってレンズに入る。半透鏡の裏面で反射して前面で戻った光が、ずれたゴーストを作る。

鏡面に近い部品の凹みを探す検査で、同軸落射(部品の真上から、カメラと同じ光軸で照らす方式)を使っている方は多いと思います。この方式の光学系には、半透鏡という板が 45° で入っています。板には表と裏があり、裏でも少し光が反射します。

その反射が、凹みを少しずらしたもう 1 つの凹みとして像に写ります。部品は鏡面なので背景が一様に明るく、ずれた写しがそのまま「凹み」として見えます。単純な欠陥検出は、これを本物と区別できません。今回の計算でも、本物の凹みと傷に加えて、存在しない凹みが 1 つ検出されました。

この記事の前半では、その偽の凹みを光線追跡で再現し、膜と楔(くさび)で消すところまでを数字で追います。同じ道具で、折り返しミラーによる装置の小型化、傾いた平板の影響、シャインプルーフ配置も確かめます。その後に、検証のやり方、CI で許容差を緩めた経緯、この道具にできないことを書きます。

後半では、検査で使う他の光学系も同じ形で並べます。寸法を測るテレセントリックレンズ、ウェハを見る SEM、焦点外れを読む TEM、膜厚を読む薄膜干渉、色のモアレを消すピクセルシフト、流れる物を撮る TDI、色や干渉から深さを読む色収差共焦点と OCT、鏡面の凹みを見る偏向測定、nm の段差とずれを測る白色干渉とモアレ、ぎらつきと形を扱う偏光、肉の中の異物を材質で分ける X 線のデュアルエナジー、分光器と照明系、吸収で見えないものを縞の振幅で見る格子干渉計です。各節は、図、何を見せる系か、門(合否の条件)と成績、★ 検査が見つけたこと(直感に反したこと)、向かないこと、の順に書きました。数字は全部、PoC を動かして取りました。どの節も、合成データの計算が中心で、実測と突き合わせた箇所は節の中で書き分けています。

先に用語を

用語 意味
同軸落射 照明の光を半透鏡で曲げ、カメラと同じ光軸で部品を真上から照らす方式。鏡面や光沢のある部品の凹み・傷を見るときに使う
ゴースト 光学面で余計に 2 回反射した光が作る、本来の像とは別の薄い像。夜の窓ガラスに映る二重の像と同じ原理
折り返しミラー 光路を曲げて装置を小さくするための鏡。1 枚入れると像が裏返り、2 枚で元に戻る
シャインプルーフ配置 斜めに置かれた面の全体にピントを合わせるため、撮像素子もわざと傾ける配置
テレセントリックレンズ 物体側の主光線を光軸と平行にそろえたレンズ。物が近づいても遠ざかっても同じ大きさに写る
SEM 細い電子ビームを走査し、出てくる電子の量で像を作る顕微鏡。ウェハの欠陥検査や線幅(CD)の測長に使う
TEM と CTF 薄い試料を通った電子の位相の変化を、ピントを外して濃淡にする顕微鏡。ピントの外れ方ごとの「写り方の表」が CTF
薄膜干渉 膜の表と裏の反射が干渉し、膜厚で反射率に縞ができる現象。シャボン玉の色と同じ
ピクセルシフト センサを 1 画素や半画素ずつ動かして複数枚撮り、色の補間(デモザイク)を不要にする方式
TDI 同じ行を複数段のセンサで順に撮って足し、流れる暗い物を撮る方式
色収差共焦点 色収差でピントの合う深さを波長ごとにずらし、戻る光の色から面の高さを読む方式
OCT 参照光との干渉で、透明な層の中の深さごとの反射を並べる方式(光干渉断層)
偏向測定 面の前に置いた画面の縞の映り込みの曲がりから、面の傾きや曲率を求める方式
白色干渉とモアレ 白色干渉は縞の包絡線から段差を、モアレは 2 つの格子の重なりの粗い縞から nm のずれを読む
ブリュースター角 p 偏光の反射率が 0 になる入射角。この角度では鏡面反射が完全に偏光する
デュアルエナジー X 線 光子のエネルギーを 2 つの窓に分けて数え、透過像を材質ごとの厚さに分ける X 線検査。1 枚の像では、厚い軽い物と薄い重い物の区別がつかない
分光器と照明系 分光器は、入口スリットの像を格子で波長ごとに並べて画素で読む装置。スリットを細くすると分解能が上がり、光は減る。照明系は、光源のどの面がどこへ写るか(ケーラー / クリティカル)で視野のむらが決まる
格子干渉計(タルボ) 格子の自己像(タルボ効果)を使い、X 線の屈折と散乱を、縞のずれと縞の薄れに変える。透過、微分位相、暗視野の 3 枚が出る

かみくだくと(同軸落射のゴースト)

  • 半透鏡の裏面は、反射防止の膜がないと光を約 5 % 反射する。表で 50 % 反射した光とは別の道を通って、同じ像面に薄い像を重ねる。
  • この薄い像は、板の厚みと傾きで決まる距離だけ横にずれる。ずれが数 mm なら、像の上では「別の場所に凹みがある」ように見える。
  • 対策は 3 つ。裏面に角度に合わせた膜をつける、板を楔にしてゴーストを撮像素子の外へ追い出す、そもそもゴーストの強さと位置を先に計算しておく。

偽の凹みはどう出るか

条件

PoC で組んだのは次の系です。物体(鏡面の部品、凹みの直径 2 mm と幅 0.15 mm の傷)、45° の半透鏡(3 mm の板、前面の反射率 R = 50 %)、2 枚玉、撮像素子の順に並んでいます。部品は同軸落射で明るく(明るさ 1)、欠陥は光を散らすので暗く(0.1)しました。

ゴーストの強さ

半透鏡の前面と裏面の間で 2 回反射する経路を、実光線で追います。像に対するゴーストのエネルギー比は次の式で閉じます。

ゴーストのエネルギー比 = R_前 × R_裏
                       = 0.5 × Fresnel(裏面、入射角 27.96°、無偏光)

PoC の出力では、光線追跡の値が 0.026489、閉形式が 0.026489 で、1e-6 以内で一致しました(裏面の反射率は 0.052977)。つまりゴーストは像の約 2.6 % です。

ずれ

ずれの大きさは次の式で見積もれます。

ずれ = 倍率 × 2t · tanθ' · cosθ

t は板厚、θ は 45° の入射角、θ' は板の中での屈折角です。実光線で測ったゴーストの重心は像面で 2.601 mm ずれ、この式は 2.597 mm でした。5 % 以内を門(合格条件)にしていて、通っています。ゴーストの広がりは半径 0.304 mm で、ずれ(2.6 mm)よりずっと小さいので、凹みと同じくらいの大きさの写しとして残ります。

検出結果

背景との差が 1.5 % を超える塊を欠陥とみなす単純な検出で、裸の半透鏡では 3 個出ました。本物の凹みと傷の 2 個に、ゴーストの偽の凹みが加わります。偽の凹みの位置は「凹みの像 + ゴーストのずれ」の予測と 0.010 mm(画素は 0.02 mm)で一致しました。

欠陥の明るさは 0.1 なので、ゴーストが作る暗さは 2.6 % × (1 − 0.1) ≒ 2.4 % になります(この掛け算は筆者の見積もりで、PoC の出力ではありません)。閾値の 1.5 % を超えるので検出されます。

偽の欠陥と対策

↑ 左から、裏面が裸、MgF₂ の単層、2 層の膜、1° の楔。明るさは背景の −6〜+3 % に伸ばして表示し、赤い縁が検出。左端だけ偽の凹みが出る。

消す 3 通り

裏面の処置 裏面の反射率(45° 付近) ゴーストのエネルギー比 検出数 ゴーストのずれ(像面)
裸 5.3 % 2.65 % 3 2.601 mm
MgF₂ の単層 2.1 % 1.04 % 2 2.601 mm
2 層の膜(Ta₂O₅ 20 nm + MgF₂ 157.5 nm) 0.39 % 0.19 % 2 2.601 mm
裸のまま 1° の楔 (裸と同じ) 2.77 % 2 9.486 mm

読むときの注意が 2 つあります。

  1. 単層の MgF₂ は、45° では効きが弱い。 単層の λ/4 膜は、垂直入射なら反射率を 1.25 % まで下げます。ところが 45° の板の中を斜めに通る光に対しては 2.1 % までしか下がりません。膜は入射角に合わせて設計する必要があります。2 層の膜は 0.39 % まで下がり、ゴーストは 0.19 % になります。
  2. 検出数だけを見ると、単層でも偽の凹みは消えたように見える。 ゴーストは 1.04 % で、この PoC の雑音のない 1.5 % の閾値を下回るためです。実機では雑音と照明のむらで閾値が決まるので、1 % のゴーストが見える条件は十分ありえます。この表では、閾値でなくゴーストのエネルギー比のほうを比べてください。

楔は膜とは別の考え方です。裏面を 1° 傾けると、ゴーストは 9.486 mm ずれます。撮像素子の半幅は 3.59 mm なので、ゴーストは素子の外に出ます。エネルギー比(2.77 %)は減りませんが、像に重ならなくなります。

全部のゴーストが偽の凹みになるわけではない

この系は 5 つの面を持ち、2 面の組み合わせは N(N−1)/2 = 10 通りあります。そのうち像面に光が届く組を調べると、半透鏡の前面と裏面の組が 2.6 % と大きく、しかも像面の近く(半径 0.3 mm)に集まっていました。ほかの組は像面で数 mm〜数百 mm に広がるので、一様な明るさの上乗せになるだけで、凹みの形は作りません。

ゴーストの面の組

↑ 像面に光が届く面の組ごとの、像に対するエネルギー比。

確認の手順としては、まず ghost_analysis で全ての組を出し、エネルギー比が大きくて像面上で小さく集まる組だけを「偽の欠陥の候補」として見ればよい、ということになります。

折り返しミラーで装置を小さくする

検査装置の高さを抑えるため、カメラ側の光路を 2 枚の 45° の鏡で折り返すことがよくあります。PoC では、同軸落射の検査レンズのカメラ側 204 mm を折り返しました。

  • 装置の高さ: 392.9 mm → 248.7 mm
  • 光路長: 242.22 mm と 242.22 mm(変わらない)
  • 像の RMS(点像の広がり): 0.288283 mm と 0.288283 mm(変わらない)

折り返し

↑ 左はまっすぐ、右はカメラ側を折った版。実寸の断面で、光線は絞りを狙った実光線。

折り返しても像の質は変わりません。ただし向きは変わります。反射の回数と像の裏返りの関係は、像の位置の変換行列の行列式の符号で確かめられます。PoC の出力では、反射 0 回が +3.046、1 回が −3.046、2 回が +3.046 でした。負なら裏返り、正なら裏返りません(反射 0 回の普通の結像は 180° 回転した倒立像です)。

画像を左右反転して評価する、あるいは座標の向きを前提にした計測値(段差の符号など)を扱うなら、鏡の枚数は必ず数えておきます。

折り返した像は、折りたたまずに展開した系の像を、鏡の面について鏡映したものに一致します(Householder の鏡映)。4 通りの傾きと 4 つの視野で、最大の差は 2.8e-14 mm でした。

傾いた平板の横ずれと非点収差

保護ガラスや窓、半透鏡の板が光軸に対して傾いていると、像が横にずれ、さらに非点収差(縦と横で焦点の位置が違う状態)が出ます。集光する光束(f/25)の中に 5 mm の BK7 板を 30° 傾けて入れた場合、実光線で測った値は次のとおりです。

  • 横ずれ: 0.9881 mm(閉形式と 1e-12 mm 以内で一致)
  • 非点隔差: 0.5536 mm(接線像のほうが遠い。閉形式と 1e-6 mm 以内で一致)

平板の閉形式

↑ 傾き 0〜60° での横ずれと非点隔差。実光線と閉形式は重なる。

0.55 mm の非点隔差は、傾けた板を光束の中に入れるだけで出ます。検査用の板を斜めに入れるなら、見積もっておく価値のある値です。

シャインプルーフ: 斜めの面に全面でピントを合わせる

30° 傾いた面を、焦点距離約 97 mm の 2 枚玉で 200 mm 先から撮ります。撮像素子を tanθ' = m · tanθ の角度で傾けると、面の全体にピントが来ます。

  • 像面の傾き: 閉形式 −28.0049°(倍率 m = −0.9211)、実光線 −28.0047°(1e-3° 以内を門にしている)
  • ぼけの最大(RMS、物面 ±6 mm、f/12.5): 素子を傾けないとき 0.0640 mm → 傾けたとき 0.0170 mm
  • ヒンジ(物面と前側主面、像面と後側主面が交わる高さ): 349.049 mm

シャインプルーフ

↑ 素子の傾きとぼけの関係。傾きを閉形式の角にすると、高さによるぼけが小さくなる。

ぼけが 3 分の 1 以下になる、という結果です。ゼロにはなりません。残りは像面湾曲と非点収差で、傾けても消えないレンズ自体の収差です。

非共軸の計算の検証: 合っていることをどう確かめたか

門を 19 個置く

この PoC は 19 個の門(合否の条件)を持ち、全部通ります。外部の真値としたのは次のものです。

  • 共軸の処方 8 本は、既存の raytrace.trace_rays と 1e-12 で一致(最大差は 0.0 mm、有効な光線 464 本)
  • 折り返しは Householder の鏡映
  • 平板は Smith / Coddington の式
  • シャインプルーフは tanθ' = m · tanθ
  • ゴーストは Fresnel の式と、薄膜の閉形式

第 2 の実装と突き合わせる

自分で書いた光線追跡を、自分で書いた式だけで確かめると、同じ思い込みを両側に持ち込んでしまいます。そこで、別に作られたオープンソースの光線追跡(MIT)に同じ姿勢の面を絶対座標で組ませ、同じ光線を通しました。6 つの系(折り返し・潜望鏡・傾いた平板・軸外し放物面・x と y の複合傾きと偏心した傾きレンズ・同軸落射)の全ての面の交点が、最大 9.8e-14 mm で一致しました(2026-10-15 の実測)。

CI のようにその実装が入っていない環境では、この日の記録値と 1e-7 mm で照合します。この記事の数字を取り直したときも、手元にその実装は無く、記録値との照合(最大 4.7e-11 mm)だけが走りました。

軸外し放物面は、その実装の公開例と同じ配置です。全光線が親の焦点 (0, 0, −50) に 1.9e-9 mm 以内で集まりました。

壊して確かめる

門は通るだけでは、門自体が正しい保証になりません。わざと壊して赤になるかを試します。

壊し方 門の結果
反射の後の座標系の曲げを、y 軸まわりに取り違える 共軸の門が赤(最大 0.62)
折り返しの前後の切り替えを、同じ順序・同じ角にする 鏡映の門が赤(最大 49.1 mm)
ゴーストの経路の逆向きの区間を順向きにする 閉形式 −6.3529 mm に対し、正しい実装は −6.3531 mm、壊すと −5.8825 mm に外れる

非共軸の門が、既存の共軸の追跡器の穴を見つけた

非共軸の系を通したことで、もとの共軸の追跡器 raytrace の誤答も見つかりました。傾いた鏡の後で、像面とほぼ平行に進む光線を「有効」と数えていて、RMS が 3.4e18 mm という値が返っていました。これは無効として数えるよう直してあります。

CI が教えてくれたこと: 許容差を 2 つ緩めた

2026-10-18 に、手元では通るのに CI で赤になる門が 2 つ出て、許容差を緩めました。緩めた理由と、緩めなかったものを書いておきます。

門 前 後 理由
傾いた平板の非点隔差(閉形式との差) 1e-8 mm 1e-6 mm 焦点を、ほぼ平行な 2 本の光線の最接近点として求める。交点の計算は平行に近いほど丸めの床が高くなり、環境で 1e-9〜1e-7 mm に変わる(手元 1.4e-9、CI の Python 3.10 で 1.0e-7)
別実装の記録値との照合 1e-8 mm 1e-7 mm 起点の光線を絞りへ狙う反復(有限差分のヤコビアンを使う Newton 法、収束判定は口径の 1e-11 倍)の床が環境で変わる。半透鏡の系は、起点のずれが像面で約 4 倍に増える。CI の 1 環境で 1.6e-8 mm が出た(手元は 4.7e-11)

床は物理でなく測り方から来ています。「ほぼ平行な 2 本の線の交点」や「反復法の打ち切り」を使う限り、環境で動く下限があります。

緩めても、守るべきところは守りました。

  • 横ずれの門(1e-12 mm)は変えていない。
  • 別実装との生の照合(全ての面の交点、1e-10)は変えていない。緩めたのは、CI で別実装が入っていないときに使う記録値との照合だけである。
  • 非点隔差は約 0.55 mm なので、1e-6 mm は相対でも 1e-5 程度のずれしか見逃さない。

教訓は、手元の緑を許容差の根拠にしないこと、床の大きさを測ってから決めること、の 2 つです。許容差を「通るまで広げる」のではなく、床の出どころを説明できる値に置きます。

非共軸の計算でできないこと(正直な限界)

  • ゴーストは 2 回反射まで。 3 回以上の反射、散乱、鏡筒の内面の迷光は扱いません。
  • 半透鏡の膜は、与えた反射率(50 %)の固定値。 角度と波長に依存せず、偏光も持ちません。面の膜は入射角つきで計算します(2 層の膜の値はこちら)。
  • 反射率は主光線の入射角での無偏光の値。 偏光の効果は入っていません。
  • 回折と干渉は扱わない。 幾何光学の光線追跡です。
  • ゴーストの形は、視野 0 の点光源のゴーストを全視野に使う。 視野で形が変わるのは無視しています。
  • 欠陥の検出は、雑音のない像の差の閾値(1.5 %)。 実機の閾値は、雑音と照明のむらで決まります。
  • 非共軸の系の最適化と公差解析はできない。 既存の lensopt と tolerance_analysis は共軸の処方にしか効きません。
  • 光線の狙いは絞りの点への Newton 法。 狙えない光線(ケラレや全反射)は、無効として数えます。
  • 全て合成データの計算。 実機の画像や実測のゴーストとは突き合わせていません。学習と較正は使っていません。

実機の光学系に当てはめるなら、計算の結果を「疑う順番を決める材料」として使い、最後は実測で確かめてください。

テレセントリック: 高さが変わっても大きさが変わらないレンズ

通常のレンズとテレセントリックレンズ

↑ 同じ f = 100 mm の等凸レンズで、絞り(赤)の位置だけを変えた 3 種。物高 ±6 mm の主光線(実線)は、通常のレンズでは絞りへ向かって傾き、絞りを後側焦点に置くと物体側で光軸に平行になる。

寸法を測る検査で、ワークの高さが少し変わるだけで測定値が動く、という経験はないでしょうか。普通のレンズは、近い物ほど大きく写ります。人の目と同じ遠近法です。テレセントリックレンズ(以下テレセン)は絞りをレンズの焦点に置いて、物体側の光線を光軸と平行にそろえたレンズで、物が近づいても遠ざかっても同じ大きさに写ります。

この節では、絞りの位置だけを変えた 3 種(通常、物体側テレセン、両側テレセン)を実光線で追い、段差のある部品を描いて測りました。

門と成績

見るもの 通常 f = 25 mm 通常 f = 100 mm テレセン
ワークを +5 mm 近づけたときの倍率 +6.89 % +1.68 % −0.013 %(物体側・両側とも)
視野の端(物高 8 mm)の主光線の傾き −1.515° 0.0517°(物体側)/ 0.0483°(両側)
ピン上面(真値 1.6 mm)を画像から測った径 Δz = 0 で 6.94 % 大きい 照明を変えても閉形式と 1 % 以内
ワークを 6 mm 上下したときの読みの変化 8.64 % 0.000 %
穴の底の見える割合(穴の深さ 5 mm) 0.948(内壁が 2053 画素見える) 1.002(内壁 0 画素、両側)

通常のレンズの倍率は、実光線で測った値が閉形式 L/(L − Δz) と ±5 mm で 6.8e-5 以内で一致しました(L は入射瞳までの距離)。穴の底の見える割合は、円の重なりの閉形式 0.949 と描画の 0.948 が合っています。全体で門は 30 件、すべて通りました(予算 full、168 秒)。

ワークの上下と見え方

↑ 上段が合焦面、下段がワークを 3 mm 持ち上げたとき。通常のレンズ(左)は穴の内壁とピンの胴が見えて穴の底が欠け、持ち上げるとピンも穴も目盛りも膨らむ。テレセン(中・右)は真上から見て寸法が変わらない。

★ 見つけたこと

  • テレセンの傾きは 0 にならない。 単レンズの瞳の球面収差で、物高が 1 mm から 8 mm になると傾きは 9.10e-05° から 0.0517° へ、物高の 3 乗くらいで育ちます(比は 100 倍超)。残った傾きが 0.1° あると、5 mm の段差の上下で、物高 8 mm の点が 9.20 µm ずれて見えます。主光線の幾何の見積もり 5 × tan 0.1° = 8.73 µm の 10 % 以内です。
  • テレセンの視野は前玉の大きさで決まる。 通常のレンズは主光線がレンズの中心へ集まるので、物高 16 mm(前玉半径の 1.3 倍)でも欠けませんでした。テレセンは、光束の半分が欠ける物高が 11.60 mm(物体側)/ 12.16 mm(両側)で、前玉の半径 12.5 mm の手前です。近軸の閉形式は 12.38 mm なので、実光線は 0.78 mm 早く欠けます。瞳の球面収差で光束が外へずれて太るためです。
  • 絞って NA を下げても、深さはあまり稼げない。 許すぼけを 22 µm(物体側)とすると、回折の円の直径 1.22λ/NA がそれを超えない最小の NA は 0.0326 で、被写界深度は 0.68 mm が上限でした。NA 0.01 なら深さは 2.2 mm になりますが、回折の円が 72 µm になって寸法の読みが鈍ります。
  • 実画像で確かめた。 公開されているテレセンの生画像(傾けたアライメント板、円の間隔 1 mm)に、リングごとの楕円を当てました。長軸の伸びは 252.13 px/mm で、論文の値 252.0 px/mm と +0.05 % でした。板が傾いていても、同心円の中心は r² に比例してずれません(係数 0.0035 ± 0.0034 px/mm²)。同じ板を通常の f = 25 mm で写すと 1.40、f = 100 mm でも 0.36 px/mm² になる計算なので、この画像のレンズは確かにテレセンです。
  • 樹脂の球は真値にならなかった。 同じ論文の 3D プリント球は、輪郭を取る閾値を 0.015 から 0.06 に変えるだけで半径が 8.1 % 動きました。陰の側の縁が暗いためです。寸法の真値には使えないので、この PoC は寸法の合否に使っていません。
  • 「0.000 %」は作りの結果。 上の表のテレセンの 0.000 % は、PoC の代理のピンホールが近軸の理想(入射瞳 1e7 mm)だからです。実際のテレセンは、上の 0.05° のぶんだけ読みが動きます。

この PoC の出典(実画像): A. W. Stark ほか, Scientific Reports 15, 28690 (2025), doi:10.1038/s41598-025-13795-6、画像は figshare(CC BY 4.0)。

照明の円錐と NA: 同じ NA でも、照らし方で見える欠陥が変わる

寸法でなく欠陥を見るときは、テレセンの NA(観察の円錐)と、照明の円錐の大きさの関係が効いてきます。観察の半角 β = 1.891°(NA 0.033)に対して、照明の半角 α を 0.5° から 7° まで変えて、同じ 3 種のワーク(打痕・ヘアラインの傷・梨地)を撮りました。

照明の円錐を変えた 3 つのワーク

↑ 3 つのワークを、照明の円錐だけを変えて撮った。打痕は α = β でだけ輪になって見え、ヘアラインは α = 4° で筋が消えて傷だけが黒く残る。

ワーク・条件 結果
打痕(傾き 0.25°)の輪のコントラスト、α = β 画像 −0.0908、閉形式 −0.0909
同じ打痕、α = 0.5° と 7° 0.0000(消える。閉形式の「見えない傾き」の帯が 0.696° と 2.554° で、打痕はその内側)
ヘアラインの筋の揺れ、α = 4° α = β の 0.014 倍(1/5 以下)。傷のコントラスト −1.000
同じ傷、α = 7°(広げすぎ) −0.688(傷の斜面の一部しか暗くならない)

打痕を見たいなら α を β に合わせ、筋を消して傷だけ残したいなら、閉形式で出る帯(この例では 3.53° < α < 6.11°)の中に α を置く、という使い分けを、画像と閉形式の両方で確かめました。門は 15 件で、すべて通っています(53 秒)。

向かない条件も数字で出ました。面のうねり(±0.25°)があると、α = β では地の揺れが打痕の沈みの 1.6 倍になり、閾値で打痕だけを拾えません。粗い面(粗さ σ = 4°)では、α をどう選んでも打痕のコントラストが 0.091 から 0.001 に落ちます。

向かないこと

  • テレセンでも、前玉より大きい物は写りません。視野を広げたいなら、大きなレンズが要ります。
  • 傾いた面や、背の高い壁の内側は、テレセンでも見えません。見えるのは真上からの形です。
  • 画像は合成です。実画像で確かめたのは、アライメント板のテレセン度だけです。
  • 照明の円錐の節は、照明の立体角だけを変えて同じワークを撮った比較写真が、再利用できるライセンスでは見つからず(2026-10-15)、実画像との突き合わせは未了です。
  • 光線追跡の範囲なので、回折と、迷光(ゴースト)は入っていません。

SEM: 電子で見ると、寸法は電圧と縁の取り方で動く

電子が試料の中で広がる範囲

↑ 一次電子 400 本の軌跡の密度(対数)。Si は 1 → 5 → 20 keV で到達深さ R_KO が 31 nm → 0.47 µm → 4.7 µm と伸び、形は梨形のまま相似に広がる。Au(20 keV)は R_KO が Si の 1/5.5 で、浅い所で大きく曲がって戻る(反射電子が多い)。

走査型電子顕微鏡(SEM)は、細く絞った電子ビームを当て、出てくる電子の量を画素にします。光学系の延長で考えると、ビームの太さが画像のぼけ(点像の広がり)、加速電圧が「どれだけ深くまで見るか」にあたります。用途は、ウェハの欠陥検査と、線幅(CD)の測長です。

ここでは 2 つの PoC を並べます。1 つは、電子と固体の相互作用をモンテカルロで追う仮想 SEM で、加速電圧、検出器、帯電を振ります。もう 1 つは、SEM 像で欠陥の面積を測ると、明るい縁のぶんだけ太る、という話です。

門と成績

仮想 SEM は、公表されている測定値で採点しました。

見るもの 基準 結果
反射電子の割合 η(7 元素 × 5/10/20/30 keV) 公表の測定値の幅 ± 0.04 Browning の式を使った実装は全組が入る。遮蔽ラザフォードの式は W・Au の 5/10 keV で外れる
電子の到達深さ Kanaya-Okayama の R_KO 最大深さは R_KO の 0.75〜1.05 倍。95 % の深さは Si で E^1.75(R_KO の式は E^1.67)
二次電子の収率の形(C〜Ag) Lin & Joy 2005 の普遍曲線 RMS 0.076 以下。山の位置 Emax は表の ±20 % に入る(合わせていない)
帯電(PMMA、60 コマ走査後) η + δ·F(V*) = 1 の二分法 0.5 kV で +1.7 V に止まり、20 kV は −102.4 V まで負に溜まる。正の側の電位は別解と 1.8e-15 V で一致

欠陥の面積の偏りは、面積の真値が厳密な合成像で測りました。

欠陥の半径(画素)× ビームの広がり 補正前の面積比 補正後
12 × 1.5 1.308 1.017
12 × 3.5 1.698 0.933
36 × 1.5 1.093 1.005
36 × 3.5 1.223 1.007
12 通り全体の、1 からの偏りの中央値 0.261 0.008

補正は「面積 − 周囲長 × ビームの広がり幅」です。形の一致(Dice)の中央値は 0.885 で高いのに、面積は 1.093〜1.698 倍に太りました。

SEM 像での欠陥の太り

↑ 合成 SEM 像(半径 22 画素の円錐欠陥)。緑が真の縁、赤が閾値で測った縁。明るい縁ごと拾うので赤が緑の外に出る。形は合っているのに、寸法だけが系統的に太る。

★ 見つけたこと

  • 形が合っているから、寸法も合っているとは限らない。 Dice 0.885 でも面積は最大 1.7 倍でした。太りは「周囲長 × ビームの広がり幅」でよく説明でき、実効の縁幅とビームの広がりの比の中央値は 1.01 です。小さい欠陥ほど周囲長/面積が大きいので、太りも大きくなります。
  • 線幅は、側壁のどの高さを測るかで電圧によって動く。 PMMA の線(底辺 40 nm、高さ 40 nm)を Si の上で測ると、側壁が 88° のときの閾値法の線幅は 1 kV で 39.1 nm、20 kV で 39.9 nm でした(上辺は 37.2 nm)。1 kV は側壁の上寄り(高さの 0.33)、20 kV は根元(0.03)を測っています。
  • ただし「低加速ほど上を測る」は一般則ではなかった。 側壁 80° では電圧の差が小さく、向きも逆(1 kV で 0.15、20 kV で 0.20)です。垂直の側壁(90°)では、どの電圧でも真の幅(40 nm)より太く測れました(1/5/20 kV で +0.3/+0.6/+1.0 nm)。
  • 検出器で見える物が変わる。 Si の上の W の粒は、1 kV のレンズ内の二次電子で +35 %、反射電子で +111 % のコントラストでした。表面に埋めた W を 1 kV で撮ると、反射電子で +96 % なのに二次電子では +5 % で、ほとんど見えません。
  • 深く埋もれた物は、電圧を上げないと見えない。 深さ 150 nm の W は、1 kV だと反射電子でも +3 % です(電子が届かない)。20 kV で +154 % になります。
  • 「二次電子では見えない」は低加速の話。 5 kV では表面の W も二次電子で +80 % になります。反射電子が抜けるときに作る二次電子(SE2)が、原子番号の情報を運ぶためです。
  • 帯電の向きは電圧で逆になる。 0.5 kV と 1 kV は η + δ > 1 で正に溜まって暗くなり、自分で止まります。5 kV と 20 kV は η + δ < 1 で負に溜まり続けて明るくなります。

同じ部品を 3 電圧 × 3 検出器で撮る

↑ 行が加速電圧、列が検出器。レンズ内の SE は 1 kV で PMMA の上面が明るく、5/20 kV では線の縁だけが明るい帯になる。反射電子は W の粒が 1 kV で最も浮き、PMMA の線はほぼ消える。1 画素 2.4 nm、画素あたり 90 電子。

向かないこと

  • 重い元素の二次電子は合っていない。 W と Au は、二次電子の収率の形が普遍曲線から外れます(山の位置 Emax も W で表の +114 %)。この食い違いは未解決で、数字として固定してあるだけです。収率の最大値 δmax は、軽〜中の元素で表の平均 0.79 倍と低めに出ます。
  • 帯電は現象論の上限。 漏れと、着地エネルギーの低下は入れていません。数字は上限の振る舞いとして読んでください。
  • 欠陥の太りの検証は合成像だけ。 実機の SEM 像を使う門(実データ)は、データを置いたときだけ走る作りで、今回の実行では走っていません。埋め込み欠陥の検出率(合成の雑音地)は、直径 12 画素で 0.25、16 画素で 1.00 で、90 % の検出に必要な直径は 16.5 画素(信頼区間まで見込むと 17.7 画素)でした。
  • 線の形は台形。 線は底辺 40 nm・高さ 40 nm の台形で、側壁の角度だけを振っています。
  • 実行した時間: 仮想 SEM は CPU 時間で 204 秒、欠陥の太りは 2 秒です。

TEM: 焦点外れは、パワースペクトルのリングで読める

焦点を変えた 4 枚のパワースペクトル

↑ 同じ試料(非晶質炭素)を 4 つの焦点で撮ったパワースペクトル。最初の暗いリングは、焦点外れが 0.4 → 2.4 µm と 6 倍になると √6 倍だけ内側へ動く。

透過型電子顕微鏡(TEM)は、薄い試料を電子が通り抜けるときの位相の変化を、わざとピントを外して濃淡に変えて見ます。ピントを外す量(焦点外れ)で、どの細かさの模様がどの濃さで写るかが決まります。この「写り方の表」がコントラスト伝達関数(CTF)で、撮った写真のパワースペクトル(周波数ごとの強さ)には、CTF の零点が同心円のリング(Thon リング)として現れます。リングの間隔を測れば、撮ったときの焦点外れが逆算できるわけです。

この PoC は、電子の波長、試料のポテンシャル、CTF、リングからの焦点外れの推定、補正までを合成データで追い、最後に公開されている実写で確かめます。

門と成績

見るもの 基準 結果
電子の波長(100/200/300 kV) 公表値 5 桁で一致(最大差 4.9e-05 pm)。相対論補正を省くと 300 kV で 13.7 % 長くなる
CTF の零点 閉形式 1.7e-12 Å⁻¹ 以内
Scherzer 焦点(842 Å)の最初の零点 教科書の 0.66 Cs^¼ λ^¾ 2.493 Å、教科書の 2.501 Å と 0.5 % 以内
暗いリングの半径(焦点外れ 0.4〜2.4 µm の 4 点) 閉形式 最大差 1.0 %
焦点外れの推定(合成 4 例) 真値 誤差は +5.9 / +3.1 / +3.1 / +12.8 Å(真値は 6000〜25000 Å)
非点収差(400 Å 以上) 真値 大きさは max(60 Å, 10 %) 以内、向きは 8° 以内(最悪 5.2°)
CTF 補正後の、投影ポテンシャルとの相関 補正なし 生 0.093 → 位相反転 0.842 → ウィーナー 0.874

門は 34 件、すべて通りました(CPU 16.6 秒)。

CTF の曲線

↑ CTF に空間・時間の包絡を掛けた曲線(300 kV、Cs 2.7 mm)。焦点外れが大きいほど振動が速く、包絡が早く落ちる。

★ 見つけたこと

  • 焦点を間違えると、補正は逆効果に近くなる。 焦点外れを 10 % 間違えて位相反転すると、相関は 0.104 にしか戻りません(正しい値なら 0.842)。補正前の 0.093 とほとんど変わりません。
  • ドリフトでリングが消える。 線量を分けて撮った 10 枚が、1 枚あたり (2.0, 0.6) 画素ずつずれていくと、そのまま足したパワースペクトルは、ずれの向きのリングが消えます。当てはまりの分解能は 15.6 Å でした。位相相関で枚ごとのずれを合わせてから足すと、5.3 Å に戻り、リングのピークは 9.1 から 28.0 MAD(中央絶対偏差)に立ち上がります。
  • 間違った谷に落ちた当てはめは、2 次元の検定で拒否できた。 タイル 9 枚の当てはめで、1 次元の山は 18.0 MAD と立派に見えたのに、推定は 25862 Å、非点 1595 Å で間違い(真値は 25000 Å)でした。2 次元の z で拒否され、通った推定に間違いはありません。
  • リングが見えないときは、推定を出さずに止まる。 試料なし(雑音だけ)、線量 0.3 e/Ų、正焦点の近く、タイルが 9 枚だけ、の 4 例をすべて拒否しました。既定では ValueError で止まります。
  • 画素寸法と電圧を間違えると、焦点外れもつられてずれる。 画素寸法を +2 % 間違えると焦点外れは 1.039 倍に、電圧を 200 kV と取り違えると 0.802 倍になります。リングから読んだ焦点は、画素寸法と電圧が正しいことが前提です。
  • 薄い試料の近似は、厚さで崩れる。 位相の rms が 0.1 rad 未満なら、線形の像と非線形の像の差は 10 % 未満(0.019 rad で 1.9 %)ですが、0.386 rad では 37.8 % です。炭素の厚さ 25 Å では投影近似とマルチスライスの差が 8.2 %、200 Å で 17.3 % でした。
  • Cu の電子散乱因子は 10.5 % 外れた。 軽い元素(C・O・Mg・Si)は DFT の表と 3 % 以内(最大 2.3 %)でしたが、Cu は −10.5 % です。X 線の散乱因子の 5 ガウスの当てはめが、中心の外側の電子を写しきれないためで、既知の限界として残してあります。

実写で確かめる

実写 3 枚のパワースペクトルと当てはめ

↑ 実写 3 枚のパワースペクトル(左が観測、右がこの PoC が当てはめた CTF²)。EMPIAR-10028(W. Wong ら, eLife 3, e03080, 2014、CC0)の 3 枚を切り出して計算した。

公開データ EMPIAR-10028(マラリア原虫のリボソーム)の 3 枚で、著者の CTFFIND3 の値と比べました。この実写の章は、今回の実行ではデータを取得せず、2026-10-15 の手元の実行の記録値を印字する経路で動いています。 記録値では、1 枚目の焦点外れが 30440.5 Å(著者 30495.7 Å)、3 枚目が 23358.3 Å(著者 23358.8 Å)でした。許容幅 max(100 Å, 1 %) に対する最悪の比は 0.2、非点収差の向きの最悪の差は 7.2° です。

向かないこと

  • 試料は合成の非晶質炭素と小さな粒子。 実写のリボソームは、焦点外れの推定にだけ使っています。粒子の中の構造の再構成は扱いません。
  • 単純化した結像。 弱位相近似、投影近似、マルチスライスの範囲です。
  • 実写の突き合わせは、焦点外れの推定だけ。 補正後の再構成の精度は、実写では見ていません。
  • 画素寸法と電圧を正しく知っていることが前提。 上に書いたとおり、2 % の画素寸法の誤りは、そのまま 4 % の焦点外れの誤りになります。

薄膜: 反射スペクトルから膜厚を読む。区間が狭くても、基準を外すことがある

膜厚と波長ごとの反射率の縞

↑ 縦が膜厚 0〜2 µm、横が波長 400〜800 nm の反射率(転送行列、SiO₂ と Si)。膜が厚いほど縞の本数が増え、右の帯(D65 で見た色)は 1 µm を過ぎると縞が帯域内で平均されて淡くなる。

半導体のウェハや光学部品の表面には、数十 nm から数 µm の透明な膜がついています。シャボン玉と同じで、膜の表と裏で反射した光が干渉し、膜厚によって波長ごとの反射率に縞ができます。この縞を読めば、非接触で膜厚が分かる、というのが基本の考え方です。

読み方は 2 通りあります。縞の周期を FFT で読む方法と、膜の層構造から計算した反射率(転送行列)を測った曲線に当てはめる方法です。この節では、2 つの PoC を使って、薄い膜、材料の取り違え、斜めの光、RGB カメラでの識別を調べます。後半の PoC は、当てはめの結果を「疑う」ところが中心です。

門と成績

見るもの 基準 結果
転送行列の計算 独立に書いた Airy の式 最大差 3.4e-15
縞の本数(0.2〜2 µm) 閉形式 d·Δx ±1 本以内(最大のずれ 0.43)
FFT が使える最小の膜厚 閉形式 2/Δx = 538 nm(hann) 5 % 以内に収まる境は 525 nm、閉形式と ±25 % で一致
モデル当てはめ(合成、50 nm 〜) 真値 全域で最大 0.10 nm
斜めに入射した光を直入射のモデルで読む(30°・60°) d cos θ_膜 0.2 % 以内
集光の NA を直入射のモデルで読む(NA 0.1〜0.7) d(1 − NA²/4n²) 0.3 % 以内。NA 0.5 で 1000 nm の膜が 970.2 nm に見える
実測の標準試料 476.3 nm(5 本) 公称値 5 本とも 2 % 以内(最大 1.2 %)
実測の標準試料 198.7 nm(5 本) 公称値 4 本で中央値 6.6 % 厚めに読む。1 本は最良の候補が 51 nm に外れた
分光カメラで膜厚マップ(合成のウェハ) 真値 155106 画素で RMS 0.17 nm

薄膜の反射率 PoC は門 37 件(52 秒)、較正の PoC は門 17 件(CPU 107 秒)で、どちらも全部通りました。

RGB カメラと分光カメラの膜厚マップ

↑ 膜厚むらのあるウェハを、分光カメラ(全画素で真値と RMS 0.17 nm)と RGB カメラで測った。RGB では 14 % の画素で候補が 2 つ以上残る。色が周期 ≈ λ/(2n) ごとに似た色に戻るので、次数を取り違える。

★ 見つけたこと

  • FFT は薄い膜を測れない。 98 nm の実測の膜は、FFT だと 85.1 nm と出た上で「信頼できない」と自分で言います(測れる下限は閉形式で 554 nm)。モデル当てはめは、縞が 1 本未満の 50 nm でも決まります。ただし当てはめが良く決まるのは、雑音のほかに食い違いが無い合成の場合です(「逆犯罪」)。
  • 材料を取り違えると、FFT は黙って間違う。 真値が SiO₂ の 1000 nm の膜を Si₃N₄ の屈折率で読むと、当てはめは光学的厚さ n·d を保ったまま 712 nm に偏ります(実測 708 nm)。FFT は 685 nm と出して何も言いません。当てはめは残差が大きくなる(RMS 0.064、正しい材料なら 4e-10)ので気づけます。
  • 顕微鏡の対物は、斜めの光も入れるので薄く読む。 実測の顕微分光の膜(基準 98.5 nm)は、直入射のモデルで 92.9 nm(−5.7 %)、残差が最小になる NA 0.5 のモデルで 95.8 nm(−2.7 %)でした。顕微鏡の NA は論文から読めておらず、未確認です。
  • 標準試料の薄い側で、最良の候補が外れた。 公称 198.7 nm の 1 本は、最良の候補が 50.9 nm(−74.4 %)でした。正しい膜厚(203.9 nm)は 2 番目の候補に残っています。当てはめの結果は 1 つに決めず、候補を並べて見る必要があります。
  • RGB の色だけでは、厚い膜は決まらない。 校正済みの理想の RGB でも、1.2〜1.5 µm では 97 % の点で候補が複数あり、38 % の点で 30 nm 以上外しました。薄い側(300〜600 nm)は色が濃く、候補が 1 つに決まります(複数は 1 %)。
  • 実物の写真から読むと、−11 %。 公開されている顕微鏡のカラー写真(カメラ不明、JPEG)から、SiO₂ 側の膜厚の中央値が 87.4 nm(基準 98.5 nm)でした。次数は合うが、分光より 4 倍粗い、という結果です。

較正の PoC: 区間が狭くても、疑う

実測のスペクトルに、屈折率の分散・NA・利得を含む模型を当てはめると、膜厚は次のように読めました。

模型 膜厚の 95 % 区間 絶対の χ²/ν 判定
豊かな模型(分散・NA・利得を自由に) 94.63〜99.03 nm(幅 4.39 nm) 0.287 基準 98.5 nm を含む。ただし点推定は出さない(5 本のつまみのうち d・A・NA・利得は互いに肩代わりする)
直入射・材料表の屈折率 93.02〜93.07 nm(幅 0.05 nm) 1.98 区間は狭いのに基準を含まない。絶対の χ² の門で拒否
分散を無視した一定の屈折率 92.60〜93.19 nm 5.57 拒否
実物の写真(顕微鏡のカラー) 86.43〜86.86 nm 11.7 基準から −12 %。拒否。残差の主成分分析が 2 成分の構造を見つける(カメラの分光感度が足りない)
  • 狭い区間は、正しさの証拠にならない。 直入射の模型の区間は幅 0.05 nm と狭いのに、基準を外しています。区間の幅は雑音だけで決まり、模型の間違いは入らないからです。外れを見つけたのは、残差が雑音の床(0.00054)に収まるかを見る絶対の χ² の門でした。
  • 取り置きの波長の門は、統計から決めた。 学習に使わなかった波長 328 点の χ² と、学習の χ² の比は 1.211 でした。F(328, 325) の上側確率は p = 0.0564 で、有意水準 1e-3 より大きく、通ります(従来の bootstrap で決めた限界は 1.249 でした)。取り置きの残差を 1.5 倍にすると p = 1.3e-18 で拒否されます。この p = 0.056 は「過適合ではない」の証明でなく、「過適合の証拠は見つからなかった」という意味です。
  • 合成の真値の回収は 40 種中 40 種で 3σ の内に入り、誤差を下界で割った z の標準偏差は 1.00 でした。

膜厚のプロファイル尤度

↑ 膜厚を固定して他のつまみを合わせ直したときの χ² の増え方。3.84 を越えない範囲が 95 % 区間(幅 4.4 nm)。局所の共線性が大きいので点推定は出さない。

向かないこと

  • 98 nm の膜では、屈折率の分散は見えない。 分散を無視した一定の屈折率でも、A を自由にすれば絶対の χ²(0.286)を通ります。この実測では「分散を無視」を拒否できません。
  • 点推定は出ない。 d・A・NA・利得は組み合わせでしか決まらないので、膜厚は区間でしか言えません。膜厚を 1 つの数字にしたければ、NA や屈折率を別の測定で決める必要があります。
  • 光学的厚さ n·d しか決まらないことがある。 1 波長だけで測ると、n と d は交絡し、決まるのは A^1·d^0.93 です(98.5 nm の薄い膜では d の指数が 3.63 になり、n·d からもずれます)。
  • 色の識別は 1 µm を超えると淡くなる。 連続光では灰色に寄ります(彩度 C* 8.2)。輝線の照明では色が残ります(14.5)。
  • 実物の写真との突き合わせは 1 枚。 カメラの分光感度は不明で、CIE の等色関数で代用しています。ウェハの色見本との比較は、1〜3 次の色相が表の色名の ±36° に入る割合が 59 % です。色名の彩度は実物より高い、という注記つきです。

出典(実測データ): Schwarz ら, Adv. Opt. Mater. (2024) doi:10.1002/adom.202402502、データ Zenodo 10.5281/zenodo.13753754。Sánchez-Arriaga ら, Sensors 23, 5326 (2023) doi:10.3390/s23115326、データ 10.15131/shef.data.23285603。どちらも CC BY 4.0。

ピクセルシフト: 偽色はゼロにできるが、解像は上がらないことがある

ピクセルシフトで偽色が消える

↑ 基板の配線・織物・網点・解像チャート(上から)。左が 3 色を各画素で取る理想センサ、中が Bayer 1 枚 + 双線形デモザイク、右が 1 画素ずつずらした 4 枚。静止して誤差が 0 なら、4 枚の偽色は定義上 0 になる。

カラーのセンサは、画素ごとに赤・緑・青のどれか 1 色しか測っていません(Bayer 配列)。残りの 2 色は周りの画素から補うので、細かい縞に出所不明の色(偽色)が付きます。センサを 1 画素ずつ動かして 4 枚撮ると、同じ点で 3 色がそろうので、補う必要がなくなります。これがピクセルシフトです。半画素ずつ動かして撮れば、画素間隔より細かい模様も拾えそうに思えます。

この PoC は、その期待のどこまでが本当かを、静止したとき、レンズが律速になったとき、動く被写体のときで調べます。実機の RAW 4 枚での確認が最後に来ます。

門と成績

見るもの 結果
1 画素シフト 4 枚の偽色(合成の 4 題材、静止・誤差 0) 0(1 枚 + 双線形は平均 0.043〜0.084)。定義上 0 になるように作ってある
偽の縞(周波数 f₀ = 0.7 cyc/px) 1 枚では 1 − f₀ = 0.3 に折り返って、本物と同じ高さで写る。半画素シフトで f₀ = 0.7 の位置に立つ
傾いたエッジの MTF50 1 枚 0.4782・半画素 0.4749 cyc/px、閉形式 0.4665。互いに 3 % 以内(シフトで MTF は上がらない)
縞の振幅 0.4·sinc(f₀) と 1 % 以内(1 枚の折り返しも同じ高さ)
圧電の位置決め誤差 σ = 0.1 px 4 枚の偽色 0.0122。1 枚のデモザイク(0.0526)より小さい
1 枚だけが δ = 0.05 px ずれたときの R の誤差 実測 0.02489、閉形式 0.02520
雑音(R・B は σ/√c、G は σ/√(2c)) 閉形式と 5 % 以内(4 枚から 32 枚まで)

門は 34 件、すべて通りました(20.7 秒)。

レンズと画素の境目

↑ 画素 3.45 µm、波長 0.55 µm で F 1.4〜22。Q = λN/p が 1.43 を超えると、回折の MTF が 0.7 cyc/px で 0 になり、半画素シフトの像にも縞は残らない。Q ≥ 2 では 0.5 cyc/px より上に信号がなく、シフトの得は 1.0 倍。

★ 見つけたこと

  • レンズが先に限界になる。 半画素シフトで帯域が 1 枚の 0.5 cyc/px から 0.837 cyc/px(1.67 倍)に広がるのは、F 2.8(Q = 0.45)の場合だけです。F 8(Q = 1.28)で得は 1.12 倍、F 11 では 1.00 倍に落ちます。得が尽きる境目は Q* = 1.470(F 9.2 相当)で、折り返しの境目の Q = 2 より手前でした。Q* < Q < 2 は「画素律速なのに得が 1.0 倍」という領域です。
  • MTF は上がらない。 半画素シフトが消すのは折り返しで、MTF ではありません。傾いたエッジの MTF50 は、1 枚で 0.4782、半画素で 0.4749 でした。「解像が上がった」ように見えるのは、偽の縞が消えて、本物の縞が本物の位置に立つからです。
  • 偽の縞は、本物と同じ強さで写る。 1 枚のとき、f₀ = 0.7 の縞は 0.3 の位置に、本物と同じ振幅で出ます。画像だけを見て、偽の縞を見分けることはできません。
  • よいデモザイクは、4 枚にほとんど並ぶ。 実機の RAW で、第三者のデモザイク(AHD)を 4 枚の合成と比べました。0.25 cyc/px より細い縞の振幅は 4 枚の 1.01 倍、輝度の差の RMS は 0.0127 です(双線形は 0.0608)。色は AHD が 0.0203 で、4 枚の 0.0251 より少ないくらいでした。4 枚に残る色は、デモザイクの偽色ではなく、他の要因です。
  • 動く被写体では、4 枚が 1 枚より悪くなる。 搬送中のチップ部品で、動いた所の RGB 誤差(RMS)は、0.25 px/枚で 4 枚 0.161、1 枚のデモザイク 0.205 と 4 枚が良く、1 px/枚で 4 枚 0.214、1 枚 0.197 と逆転します。動いた所だけ 1 枚のデモザイクに戻す差し戻しは、1 px/枚以上で効きますが、0.25 px/枚では逆に損でした(0.205 対 0.161)。
  • 枚数を増やすと、動く被写体では誤差が増える。 雑音は枚数の平方根で減りますが、動く縞(0.1 px/枚)の誤差は、4 枚で 0.0811、8 枚で 0.1608、16 枚で 0.2733 と増えました。
  • 撮影順の規約が機種で違う。 実機の 4 枚は (0,0)→(1,0)→(1,−1)→(0,−1) の順でした。止まった被写体で「動いた」と判定される画素は、この順で 0.09 %、op の既定の順だと 23.2 % になります。
  • 符号を逆に渡しても、例外は出ない。 独立の実装(ドリズル)にセンサのシフトをそのまま渡すと、f₀ = 0.7 の山は 0.3 に立ちます。折り返しと同じ位置に出るので、気づきにくい誤りです。

実機の解像チャート

↑ 実機(35 mm フルサイズのミラーレス、センサシフト機)の同じ場所(256 × 1152 画素、等倍)。上が 1 枚目の RAW を双線形でデモザイク、中が同じ 1 枚を AHD、下が 4 枚の合成。双線形は細い縞に色のモアレが出る。データ: PixelShift200(G. Qian ら, ICCP 2022)、CC BY 4.0(改変あり)。

向かないこと

  • 静止したワークと、固定した位置決めが前提。 動く被写体、振動する装置には向きません。上の数字のとおり、搬送速度が 0.25 px/枚を超えたら、1 枚で撮るほうが安全です。
  • F 値を絞ると、得は消える。 回折でレンズが先に限界になる(Q* = 1.47 を超えると、得は 1.0 倍)ので、F を決める前に画素ピッチとの比を確かめます。
  • 雑音は下がらない。 4 枚のピクセルシフトは偽色のためのもので、R と B の雑音は 1 枚と同じです。雑音を下げるには周回を重ねます。
  • 「4 枚の偽色が 0」は、作りの結果。 合成の評価は、誤差ゼロ・静止の条件で、定義上 0 です。評価の意味があるのは、位置決めの誤差と動きを入れた節の数字と、実機の RAW です。
  • 実機の確認は 1 機種・1 チャート。 この結果が、他の機種や被写体に当てはまるとは限りません。

TDI ラインスキャン: 段数を増やすと暗い欠陥が見えるが、同期とレンズが先に壊れる

TDI の段数と欠陥の見え方

↑ 1 段あたり 40 光子 × 反射率の暗いライン、読み出し雑音 12 e⁻。左から、傷(幅 1.3 画素、深さ 12 %)、ピンホール 4 個(深さ 16 %)、異物(深さ 8 %)。各パネルは自分の中央値 ± 3σ に伸ばしてあり、明るさの差でなく SNR の差を見る図。

フィルムや鋼板、ウェハのように、一方向に流れ続ける物を検査するときは、1 行のセンサ(ラインスキャン)で流しながら撮ります。TDI(時間遅延積分)は、同じ行を N 段のセンサで順に撮って足し合わせる方式で、暗いラインでも光を N 回ぶん集められます。ただし足し合わせるぶん、搬送速度とセンサの読み出し速度が少しでもずれると、像が流れてしまう。

この PoC は、段数と SNR の関係、同期ずれのぼけ、斜行と蛇行、ラインスキャン用レンズと汎用のレンズの違いを追います。

門と成績

見るもの 基準 結果
像から測った SNR(1〜64 段、電荷加算とデジタル加算) EMVA 1288 の式 21 を段数倍した閉形式 全段数・両方式で最悪 1.2 %
64 段のデジタル加算の SNR の伸び √N = 8 ×8.09
64 段の電荷加算の SNR の伸び(暗いライン) ×26.86(√N の 8 を大きく超える)
同期ずれ ε のぼけ(45 条件) |sinc(f·N·ε)| 最大差 0.0035
ヨー(斜行)の幅方向のぼけ(9 条件) |sinc(f·N·sin θ)| 最大差 0.0017
欠陥の検出(3 種) 1 段 0/3、32 段 2/3、64 段 3/3、誤検出は 0 個
照度 = cos⁴ × 瞳 × 歪曲 厳密 最大差 2.2e-16

門は 19 件、すべて通りました(9.3 秒)。

SNR と段数

↑ EMVA 1288 の 2 枚撮り(時間雑音)で測った SNR と、式 21 を段数倍した閉形式。

★ 見つけたこと

  • 電荷加算は、暗いと √N を超える。 電荷加算は読み出し雑音を 1 回しか払わないので、1 段 40 光子の暗いラインでは 64 段で SNR が 26.86 倍になります。デジタル加算は √N どおり 8.09 倍です。明るく(1 段 4000 光子)なると、電荷加算もほぼ √N(×8.235)に戻ります。TDI の得は、暗いほど大きくなります。
  • 同期のずれは、段数倍に効く。 64 段の間に像が 64·ε 画素流れます。ε = 2 % で 1.28 画素流れ、0.25 cycles/px の MTF は 0.84 に落ち、ε = 4 % では 0.45 です。ずれの MTF は |sinc| なので、最初の零は 1/(N·ε)(ε = 4 % で 0.391 c/px)に来ます。
  • エンコーダ同期で、速度のうねりは消せる。 搬送速度が ±3 %、ずれ 1 % のとき、自走のライン間隔は 0.980〜1.040 行、局所 MTF の最低は 0.637 まで落ちます。エンコーダ同期なら間隔は 1.000 のまま、MTF も 1 に戻ります。
  • ヨーと蛇行は、エンコーダでは直らない。 web が走査軸から θ 傾くと、64 段の間に幅方向に 64·sin θ 画素ずれます(2° で 2.23 画素)。幅方向の動きなので、速度をそろえても残ります。2°・0.2 c/px の MTF は 0.703 でした。
  • C マウントのレンズの流用は、センサの端で光が届かない。 8192 画素 × 7 µm(57.3 mm)のセンサの端(像高 28.7 mm)の照度は、ラインスキャン用レンズで 0.976、C マウントで 0.000 でした(像高 19.7 mm から 0)。光の届かない列は 2589 列あり、補正(フラットフィールド)は全幅では拒否されます。
  • ラインスキャン用の端は、cos⁴ 則より明るい。 cos⁴ だけなら 0.855 のところ、樽型歪曲(−2.9 %)が像を縮めて ×1.111、瞳が ×1.027 になるためです。
  • 明るさは補正で直るが、ぼけは直らない。 補正の前後で 0.2 c/px の変調は変わりません(差の最大 0.0006)。像高 14 mm では、C マウントの変調が 0.000 に対して、ラインスキャン用は 0.211 です。端の異物の CNR は、補正しても C マウントで 1.52 → 1.54 のまま、ラインスキャン用は 2.49 です。

全幅の明るさのむら

↑ 同じ明るさの尺度で表示した全幅の像。C マウントの両端は像円の外で光が届かない(補正は拒否される)。

向かないこと

  • 同期の模型は、一定の速度誤差ε とうねりまで。 ベルトの滑りの統計や、電荷の送りの離散さは入っていません。
  • 光量は 1 段あたり 40 光子と 4000 光子の 2 点。 手元のカメラの数字に合わせるには、EMVA 1288 のデータシートの値(量子効率、読み出し雑音、利得)を差し替えます。
  • レンズの模型は、実在の型番の処方ではありません。 像高ごとの数字を特定のレンズの性能として引用してはいけません。引用できるのは、像円が足りないと端が消え、補正で照度は戻っても MTF は戻らない、という性質です。
  • 足し合わせる前提の欠陥像は、合成の冷延鋼板の地合いに仕込んだ傷・ピンホール・異物。 実機の画像とは突き合わせていません。

色から深さを読む: 色収差共焦点と OCT

虹のものさし

↑ 上: 焦点距離 16 mm の重フリント非球面単レンズに白色光を入れ、11 色の光線を実光線で追った。下: 焦点付近の拡大(縦を横の 5 倍に伸ばしてある)。450 nm から 700 nm の焦点が光軸上に 1191 µm にわたって並ぶ。これが目盛になる。

面までの距離(高さ)を、レンズの色収差と光の干渉で読む方式が 2 つあります。どちらも、ピントの合う深さや干渉の縞が波長で変わることを使うので、機械的に焦点を動かさずに深さが読めます。色収差共焦点は表面の高さの測定が得意で、OCT(光干渉断層)は透明な層の内部の厚さの測定が得意です。

色収差共焦点: 色が高さを教える

レンズの色収差をわざと大きくしておくと、青は手前、赤は奥にピントが合います。白色光を当てて、ピンホールに戻る光を分光し、いちばん強い波長を読めば、それが面の高さです。

見るもの 基準 結果
近軸焦点 厚肉レンズの閉形式 全波長で 3.6e-12 µm 以内
測定範囲(450〜700 nm) 実光線で 1191 µm(近軸の閉形式 1161 µm)
軸応答の幅(鏡面) 0.443 λ/(1 − cos α) 21.19 µm(数値 21.10)
段差 真値 50 µm 49.959 µm、断面の RMS 誤差 0.276 µm(雑音つき)
2° 傾いた面 戻る光は 71 % に減るが、RMS 誤差 0.227 µm
透明な板(厚さ 200〜500 µm、4 枚)の NA 補正後の厚さ 真値 0.1 % 以内

門は 33 件、すべて通りました(34 秒)。

  • ★ ピークの読み方で、偏りの順位が雑音の有無で入れ替わる。 雑音なしでは偏りがガウス当てはめ 0.060 µm、放物線 0.108 µm、重心 0.293 µm、最大ビン 2.043 µm でした。ところが雑音を入れると、3 点のガウスは重心の 4.4 倍ばらつきます。雑音なしの偏りだけで読み方を選ぶと、実機で逆転します。
  • ★ 鏡で較正するとガウスの偏りは 0.060 → 0.014 µm に消えるが、放物線は 0.090 µm 残る。 滑らかな偏りは較正表が吸収できても、ビンの刻みごとに振れる偏りは吸収できません。
  • ★ 非球面は、球面収差を 1 色でしか直せない。 575 nm で縦収差 0 でも、450 nm は −40.2 µm、700 nm は +18.9 µm 残ります。鏡で較正したピークは、近軸焦点から縦収差のおよそ半分(450 nm で −20.0 µm)ずれ、較正が吸収します。同じ焦点距離の球面の単レンズは縦収差が −863 µm で、応答の幅が 28.7 倍になり、目盛として使えません。
  • 透明な板は、近軸の補正だけだと −1.23 µm ずれる。 厚さ 500 µm のホウケイ酸クラウンで、NA の補正を入れると −0.067 µm です。カタログの n_d を使うと −2.18 µm ずれます(下の面を見る色の屈折率と n_d の差)。
  • 金の面は読みが遠い側へずれる。 反射率が 509 nm 付近で急に立ち上がるため、読みが最大 0.15 µm ずれます。材料表の金の反射率で割ると、−0.005 µm に戻ります。
  • 白色 LED のむらも偏りになる。 読みを最大 0.93 µm 引きます。白色参照で割ると 0.014 µm です。

向かないこと

  • 鏡面の傾きが 8.8°(赤)〜9.5°(青)を超えると何も戻りません。スペクトルの合成は「戻らない」と拒否し、黙って 0 を読むことはありません。
  • 薄い透明膜は、32 µm より薄いと 2 ピークに分かれません(Sparrow の閉形式は 30.6 µm)。薄い膜は厚さを当て推量せず拒否します。
  • 実画像の段(公開論文の図から溝の深さを読む)は、図を置いたときだけ走る作りで、今回の実行では走っていません。

OCT の実測 B スキャン

↑ 自動車塗装の見本の生の干渉スペクトル(CC BY 4.0)を、Fullseye の op だけで k 線形化・FFT し、界面を動的計画法で辿った。横 1 mm(100 本)。白の見本は着色層が強く散乱して下の面が立たない。III-B の表面の下の水平な線は自己相関の幽霊。

OCT: 干渉で層の厚さを読む

OCT は、参照光と試料からの反射光を干渉させて、反射した位置を深さ方向に並べる方式です。塗膜やコーティングの厚さを、割らずに測れます。分光器で干渉スペクトルを撮り、波数に直して FFT すると、深さごとの反射が出ます。

見るもの 基準 結果
軸分解能・深さ範囲(SD 840/50 nm、2048 画素) 閉形式 6.23 µm(空気)、深さ範囲 2257 µm
実測の透明層の厚さ(4 枚) 論文の OCT / 顕微鏡 論文の OCT と 2 µm 以内、顕微鏡と 4 µm 以内
多層フィルム(合成、PMMA 25 / PC 40 / PS 15 µm)を群屈折率で割る 真値 0.05 µm 以内(最大 0.037 µm)
点像の幅 閉形式 1 % 以内
分散の不一致の広がり √(1 + σ⁴φ₂²) 0.5 % 以内
下の面の SNR Beer-Lambert 1 dB 以内

門は 32 件、すべて通りました(63 秒)。

  • ★ 実測の着色層で、1 枚だけ −7.6 µm 外れた。 4 枚の見本のうち、着色層は 3 枚が顕微鏡と 2.5 µm 以内でしたが、VI-D は −7.6 µm ずれました。平均の断面の 2 つの山の間隔は 17.1 µm(光路)で、論文の OCT の値 15.4 µm とも合いません。未解決のまま残してあります。
  • ★ 見本のファイル名と表の行は、論文に対応が無かった。 透明層の厚さで一意に対応を決めた(最良のずれの和 2.47 µm、次点 28.87 µm)ので、推定です。着色層の突き合わせは、この対応とは独立です。
  • 白い塗装は、下の面が見えない。 着色層が強く散乱し(µ_t ≈ 36 /mm と推定)、下の面は谷から 1 dB 立つ山が無く、拒否されました。黒・濃色の 4 枚は受理されました。
  • 自己相関の幽霊が水平に出る。 III-B で、深さ 155.9 µm(透明層の光学厚 155.6 µm)に水平な線が立ちます。表面の傾き(横 1 mm で −18.2 µm)に対して −0.3 µm しか傾かないので、参照光ではなく、表面と下の面の間の干渉だと分かります。位相をずらした 2 枚の差でしか消せません。
  • 波長で等間隔のまま FFT すると、深さに比例して広がる。 点像の幅は [31.1, 91.3, 151.6] µm に広がり、k で線形化すると 7.3 µm で一定です。
  • 補間で SNR が良く見えることがある。 波長等間隔 + 3 次補間は、SNR が閉形式より 0.96 dB 良く見えます(補間で雑音が相関して床が下がる)。感度は、補間の前の雑音で言う必要があります。
  • 位相屈折率で割ると、厚さが 1〜2 % 厚く出る。 群屈折率で割れば真値に合います。
  • 参照より手前の面は、同じ深さの正の側に折り返す。 300 µm 手前の面が +299.7 µm に見えます。直交の組(I₀ + i I_{π/2})で本物の面を負の側に分けられ、参照の位相が δ ずれたときの残りは 20 log tan(δ/2) と 0.1 dB 以内で合います。

コーティングの B スキャン

↑ 段差を越えるコーティングの合成 B スキャン(横 1.2 mm)。左の剥離(3〜8 µm の空気の隙間)で板の面が明るくなり、右の空洞(半径 11 µm)は上下の面が点で見える。

部品の段差を越えるコーティングで、剥離と空洞を探す合成の B スキャンでは、剥離・空洞・縁の外の 175 列で、厚さの誤差の中央値は 0.30 µm、95 % 点は 4.12 µm でした。剥離は隙間の列の 72 % を、空洞は 5 列中 5 列を検出し、外れの誤検出は 0 列です。

向かないこと

  • 薄い層には下限があります。窓なしで 5.81 µm、hann で 6.83 µm より薄い層は拒否されます(2 つの点像が重なり、頂点が引き合うので、見えても厚さが偏るため)。
  • 散乱が強いと下の面が沈みます。SNR の予算で決まる µ_t の上限は 102 /mm で、その上は拒否されます。
  • 剥離の隙間が 3〜8 µm のときは、上下の面の反射が干渉して明るさが厚さで揺れ、取りこぼしが出ます(検出は 72 %)。
  • B スキャンのコーティングは合成です。実測の B スキャンは、塗装の見本(上の図)だけです。

偏向測定(デフレクトメトリ): 写真に写らない 3 µm の凹みを、縞の曲がりで見る

写真と縞の鏡像の比較

↑ 写真の欠陥の信号は最大 0.00066(8 bit の 1 段 = 0.0039 より小さい)。縞の鏡像は凹みで縞がわずかに曲がる(1 周期の 1 割弱)だけだが、位相 → 勾配 → 曲率と進むほどはっきりする。曲率マップの SNR は凹み A で 110、B で 57。

鏡面やガラスの表面にある、深さ数 µm の凹みは、普通の照明の写真ではほとんど見えません。鏡は照明を映すだけで、凹みが変えるのは映り込みの向きだけだからです。偏向測定(位相測定デフレクトメトリ)は、面の前に置いた画面に縞模様を出し、面に映った縞の曲がりを撮ります。縞の曲がりは面の傾きの変化で、そこから曲率や高さが復元できます。

この PoC では、面から 300 mm の画面(520 × 320 mm)に縞を出し、視野 40 mm の鏡面に、深さ 3 µm の凹み A と 1 µm の凹み B、研磨ムラ、うねりを仕込んで、写真と縞の両方で撮りました。

門と成績

見るもの 基準 結果
写真(ソフトボックスの映り込み)での凹みの信号 8 bit の 1 段 = 0.00392 最大 0.00066(1 段の 0.17 倍)。雑音 σ 0.004 の下
曲率マップでの凹みの SNR 凹み A で 110、凹み B で 57(写真は 0.17)
積分した凹みの深さ 真値 A: 2.662 µm(真値 2.676、−0.5 %)、B: 0.990 µm(0.994、−0.4 %)
凹み A を通る断面 真値 RMS 0.004 µm
位相の雑音 √(2/N)·σ/b 実測 7.30e-03 / 閉形式 7.31e-03 rad
雑音なしの往復(描画 → 位相 → 傾き) 解析的な真値 研磨ムラの外で最大 1.35e-05 rad
画面の距離を 2 % 長く思い込む 傾き ∝ 1/d 凹みが −2.34 % 浅く出る

検査は 22 件、すべて通りました(CPU 23 秒)。

凹みの断面の復元

↑ 真値(破線)と復元(実線)はほぼ重なるので、差を 10 倍にして点線で重ねた。うねり 0.8 µm も重なっている。

★ 見つけたこと

  • 面の高さと傾きは、1 台のカメラでは区別できない。 面が Δz 高いことと、法線が Δz·sin θ/d 傾いていることは、同じ位相を作ります。部品を 0.3 mm 浮かせて置くと、視野の中心の見かけの傾きは 3.42e-04 rad になり、40 mm の幅で 13.7 µm の段差に見えます。一方、凹みの深さは 2.676 → 2.658 µm(−0.7 %)しか変わりません。局所の欠陥検査は、この不定性に強いわけです。
  • 距離の間違いは、面全体の椀に化ける。 画面の距離を 2 % 間違えると、面全体が半径 41 m の椀に見えます。局所の 2 次形状を外して凹みの深さを測る理由です。
  • ざらつきには、雑音が増える段階と、測れなくなる段階がある。 拡散成分の割合 k_d を上げると、傾きの雑音は 1/(1 − k_d) で増えます(閉形式どおり)。k_d = 0.85(縞の振幅が 8 bit の約 15 段)までは 1 µm の凹みが見えますが、0.9 で凹み B の SNR は 1.2 に落ち、粗い縞の次数が飛び始めます。k_d = 0.95 では次数の 8.55 %、0.99 では 68 % が飛び、ここから先は「雑音が増える」でなく「測れない」の領域です。この 2 つが同じ k_d で起きるのは、粗い縞(周期 160 mm)の位相雑音が細かい縞の 16 倍に読み替わるからです。
  • カバーガラスの裏面反射で、凹みが 1/4 の深さに見える。 無反射コートの無いガラス(n = 1.52)では、表の反射(4.29 %)と裏から戻る光(3.93 %)がほぼ同じ強さなので、2 つの縞の和の位相がずれます。しかも、裏面の光は凹みの斜面(くさび)を往復して逆向きに曲がるので、傾きの感度は (2 R1 − 1.15 R2) / 2(R1 + R2) = 0.246 に縮みます(実測 0.246)。厚さ 0.10〜2.00 mm で、凹み A の深さは −75 / −75 / −75 / −74 / −71 % と狂いました。
  • ピントを画面に合わせると、凹みが浅く見える。 面にピントを合わせると画面側の錯乱円が大きくなって縞の振幅が 0.60 倍に落ちますが、凹みの深さは保たれます。画面にピントを合わせると縞はくっきりしますが、面がぼけて凹みの深さが 0.52 倍に見えます。
  • 写真は、一様な画面の映り込みでは信号が 0。 一様な白い画面を映すと、欠陥の信号は丸めの桁(1.1e-16)です。鏡は照明の模様しか写さないので、欠陥の見え方は、照明の模様に依存します。

カバーガラスの裏面反射

↑ 表と裏の反射率はほぼ同じ(R1 0.043、R2 0.039)なので、2 つの縞の和の位相は上限 1.16 rad までずれ得る。凹みの深さは厚さによらず −75 / −75 / −75 / −74 / −71 % と狂う。

向かないこと

  • 拡散成分が多い面(k_d 0.9 以上)。 縞の振幅が 8 bit の 1 段に近づくと、位相が決まりません。
  • 無反射コートの無い透明な板。 凹みが 1/4 に見えるので、深さの絶対値を言う用途には向きません。コートの有無を先に確かめます。
  • 絶対の高さ。 不定性があるので、高さは局所の相対値としてしか使えません。
  • 大きな視野や急な形。 この PoC の視野は 40 mm で、凹みの最大の傾きは 1.5 mrad ほどの滑らかな形です。研磨ムラのような細かい形では、双線形の読み直しの誤差が 13 % まで出ました。
  • 実測の画像との突き合わせはありません。数字はすべて合成の面の値です。

干渉とモアレ: 段差を nm で測る方法と、その「縮む」落とし穴

縞を使った段差の測定とゲイン誤差

↑ 4 種の段差でゲイン(測定/真値)が揃う。つまり、これはオフセットでなく倍率の誤差。再現性を精度と読み替えると、ここで嘘をつく。

nm のオーダーの段差や位置ずれは、光の波長より細かい量です。これを測る道具が 2 つあります。白色干渉は、光の包絡線から段差を読みます。モアレは、2 つの格子を重ねたときにできる粗い縞の動きを、ずれの読み取り元にします。どちらも「小さな量を、大きな見た目に変換する」点が共通です。

白色干渉(コヒーレンス走査): 段差の巻き戻りは出なかった

縞の位相で段差を測る位相シフト法は、段差が波長の 1/4 を超えると縞の次数を取り違えます。白色干渉は、縞の包絡線(縞の強さの山)で測るので、巻き戻らないはずです。

見るもの 基準 結果
雑音なしで測った段差(50〜500 nm) 真値 誤差は最大 6.9e-11 nm
雑音 1 %、40 回の測り直し 偏りが雑音と区別できるか 偏り +1.62 / −1.16 / −1.79 / +2.41 nm はいずれも区別できない。標準偏差は 10.5〜14.1 nm
段差を λ/2 = 0.30 µm の整数倍に近づける(9 点) 位相シフト法 位相シフト法は 0.151 µm 以上の 7 点すべてで縞次数が飛ぶ。包絡線は最悪 6.9e-11 nm
  • ★ 予想は外れた。 λ/2 の巻き戻りを探しましたが、包絡線には周期がないので、巻き戻る対象がありませんでした。バグでなく、方式の定義そのものでした。
  • ★ 再現性が最良の推定量が、最良とは限らない。 重心法は、ガウス当てはめの 1/3〜1/5 の散らばりですが、雑音とともに段差そのものを縮めます。ゲイン(測定/真値)は雑音 1 % で 0.811、3 % で 0.550、10 % で 0.201 でした。段差が 50 nm でも 500 nm でもゲインは揃います。真値を仕込まずに繰り返し測るだけでは、見つけられない誤りです。
  • 走査を細かくしても、良くならない。 ステップ 0.02 µm(601 面)は 0.10 µm(121 面)と同じ散らばりで、時間が 5 倍です。局所の当てはめは、最大点の近くの 3 点しか見ないためです。
  • 走査ステップの上限は、安全な動作点ではない。 ナイキストの上限 λ/4 = 0.15 µm の手前の 0.14 µm で、雑音がなくても +14.1 nm の誤差が出ます(0.02〜0.12 µm は 0.351 nm 以内)。
  • 「最大サンプル」の誤差は、雑音由来ではなく走査格子への丸め。 走査ステップ 0.04 µm で段差が 2.5 ステップのとき、誤差はちょうどステップの半分 −20.0 nm で、予測と厳密に一致しました。サブサンプル推定は、同じデータで −1e-11 nm です。

向かないこと

雑音(振幅比)が 0.5 % を超えると、段差 100 nm に対するガウス当てはめの総合誤差が 10 % を超えます(重心法は 0.2 % まで)。5 % では 30.7 % の画素が拒否されます。どの推定量を使うかの選択は、真値を仕込んだ測定でしか確かめられません。

モアレによる位置合わせ: 見えない格子のずれが、粗い縞の動きに見える

モアレのマーク

↑ 同じカメラ(画素 0.5 µm、ぼけ σ 1.5 µm)と同じ雑音。2 µm の格子はカメラでは消えるが、2 枚の積の差の周波数だけが残る。(d) の橙の線がウェハを 600 nm 動かした後の縞で、A と B が逆向きに動く。

ウェハのピッチ 2.04 µm とマスクのピッチ 2.00 µm の格子を重ねると、102 µm 周期の縞ができます。ウェハが 100 nm 動くと縞は 5.0 µm 動くので、拡大率は 50 倍です。ウェハの格子だけを撮った像は一様な灰色で、ずれは見えません。

見るもの 基準 結果
1 nm の階段 11 段の誤差 RMS モアレ 0.083 nm(相互相関 + 放物線補間は 1.03 nm)
雑音の下限(CRLB)との比(σ 0.003〜0.030) 閉形式 1.00(下限に乗っている)
流れ 300 nm と照明の傾き 30 % が重なったときの差動 真値 差動 −0.021 nm(単一の対は −6.578 nm)
カメラの倍率を 2 % 間違えたとき 差動 +0.007 nm、相互相関は 1.020 倍に狂う
4 象限のマーク 真値 (12, −25) nm (11.95, −25.00) nm

門は 32 件、すべて通りました(4.9 秒)。

  • ★ 91 倍の差のほとんどは、比べ手の偏り。 同じ雑音で、モアレの誤差 RMS は相互相関 + 放物線補間の 91 倍小さいのですが、その大半は放物線補間の偏り(ずれの −17.4 %)です。偏りを除いた偶然の誤差だけなら、モアレ 0.077 nm に対し相互相関 0.192 nm で、2.5 倍しか違いません。
  • 折り返しは 1 周期。 単一の対の捕捉範囲はウェハのピッチ(2.04 µm)で、差動は 1009.9 nm ごとに折り返します。粗い相互相関で次数を決めると、0〜5 µm を折り返さずに読めます(RMS 0.137 nm)。
  • ギャップが変わると、読みが跳ぶ。 近接のギャップでは、タルボ長(2p²/λ = 14.55 µm)の半分(7.27 µm)で縞の符号が反転します。基準像と測定像の間でギャップが 2 → 6 µm と反転を跨ぐと、読みが半周期(1020 nm)跳び、−990 nm になります。

向かないこと

縞の周期がカメラの画素より十分長いことが前提です。2 本のピッチの差が小さいほど拡大率は大きくなりますが、捕捉範囲は狭くなります。

画面のモアレ: 平均化で消えたように見える、ふたつの失敗の打ち消し

平滑化の漏れと減衰

↑ 平滑化の幅 σ ≈ 8 px で、漏れと減衰が釣り合う。合計だけ見ると「良い測り方」に見える。

ディスプレイの輝度ムラを検査カメラで撮ると、画面の画素とカメラの画素の干渉で、周期 20 px ほどのモアレが出ます。ぼかせばモアレは消えてムラだけが残る、というのが現場の素朴な手です。

  • ★ ぼかして誤差 0.9 % は、逆向きの 2 つの失敗が打ち消し合っただけ。 平滑化 σ = 8 px で、輝度ムラの振幅(真値 0.0200)の誤差は +0.9 % です。内訳は、縞だけの像から読める漏れが +8.3 %、ムラだけの像の減衰が −7.4 % で、パネルの明るさや縞の位相が変わると、打ち消しはすぐ壊れます。
  • 撮像側の光学ローパス(σ 0.30 px)だけが、両方を 0 にする。 縞(3.05 cyc/px)を 6.6e-8 倍に潰す一方、ムラ(0.00781 cyc/px)は 0.999892 倍にしか減らしません。周波数が 400 倍離れているからです。後処理では、モアレは折り返した後で、ムラと同じ低周波帯に来るため、同じ手が使えません。
  • 高調波の罠。 縞の細かさ k = 0.67(表示の 1 縞を 1.5 画素で撮る)は、基本波だけ見れば安全ですが、3 次のうなりが周期 100 px の帯内に落ち、漏れが +202.6 % になります。k = 3.05 で 3 次が無害なのは、画素開口の sinc が高次を潰しているからです。
  • カメラを 0.5° 回すだけで、モアレの周期が 20.0 → 17.7 px に動く。 治具の据え付け精度に強く依存し、「昨日は出なかった」が起きます。
  • 素のノッチは、解析窓の長さで効かなくなる。 うなりが FFT のビンの間(25.60 ビン目)に立つと、漏れの裾が全帯域に撒かれて +28.5 % 漏れます。解析窓を 360 画素に切って δ·L を整数(18.00)にすると、漏れは +0.0 % に落ちます。撮り直しは要らず、解析窓の問題です。

向かないこと

2 次曲面フィットは 4 周期の余弦を表現できず、ムラの 4 % しか拾えません。シェーディング補正の op を、輝度ムラ計に流用してはいけません。この節の数字は、すべて合成の画像です。

偏光: ぎらつきを消し、形を測る。ブリュースター角が主役

入射角と鏡面の偏光度

↑ p 偏光の反射率 R_p は、ブリュースター角で 0 を横切る。浅すぎても深すぎても偏光度は落ちるので、使える窓は限られる。

金属や樹脂のぎらつき(鏡面反射)は、偏光しています。表面で反射した光は、入射面に平行な成分(p)と垂直な成分(s)で反射率が違うからです。偏光板を回して撮ると、ぎらつきだけ明るさが変わるので、ぎらつきを消したり、面の向きを調べたりできます。屈折率 1.5 のとき、p 偏光の反射率が 0 になる入射角 56.31° がブリュースター角で、鏡面の偏光度は 1 になります。

この節で使う PoC は 2 つです。1 つは、4 方向の偏光板で撮った画像から、拡散反射(物体の色)と鏡面反射(ぎらつき)を分ける話です。もう 1 つは、偏光から面の傾き(法線)と形を復元する話です。

門と成績

見るもの 基準 結果
ブリュースター角で分けた拡散成分の誤差 4.7e-17(倍精度の床)。偏光を使わない素朴な手の最良 1.3e-02
入射角 20° / 40° / 70° の誤差 閉形式 R_p × E 2.012e-02 / 8.608e-03 / 2.556e-02。閉形式との差は 1e-17 台
鏡面の偏光度 Fresnel の閉形式 ブリュースター角で 1.0(別の Fresnel と最大差 7.8e-16)
偏光から求めた法線の誤差(ドーム) 真値 中央値 0.53°(レンズは 1.09°)
同じ部品を照度差ステレオで 真値 中央値 26.4°。偏光の 50 倍
ドームの高さ 真値 37.9 px 最大 37.5 px、RMS 誤差 0.62 px
屈折率(較正球で測る) 真値 1.57 1.5691

分離の PoC の op は、1 Mpixel あたり約 83 ミリ秒で回ります(素朴な最小値の 13 倍ですが、毎フレーム回せます)。形状復元の PoC は 11 件、すべて通りました(2.2 秒)。

偏光からの法線

↑ 法線の比較。照度差ステレオは光沢の点しか見えず、法線を拡散反射の式に無理に乗せる。

★ 見つけたこと

  • 最適な入射角は、評価の軸で割れる。 拡散成分の誤差は、絶対値では 20° の 2.0e-02 より 70° の 2.6e-02 のほうが悪くなります(p 偏光の反射率は浅い側では緩やかに、深い側では急に立ち上がるため)。ところが、偏光を使わない手に対する比では、70° が最良(4.03 倍)で、20° が最悪(1.20 倍)です。「最良の入射角」は、評価の軸を決めないと意味を持ちません。
  • 効いているのは「s が強い」でなく「p が消える」。 誤差の閉形式は R_p × E で、R_s には依りません。予想は逆でした。
  • ブリュースター角での圧勝は一点限りの話。 偏光を使わない手との比は、ブリュースター角で 14〜15 桁ですが、20° では 1.2 倍です。一点で測って一般化してはいけません。
  • 入射角が分かっていれば、偏りは閉形式で消せる。 補正後の誤差は 1e-17 台になります。代償は雑音が 1/ρ 倍に増えることで、20° では 5.9 倍です。
  • 飽和は黙って壊す。 ぎらつきが白飛びした画素が 0.6 % で誤差が 70° の偏りの 0.15 倍、1.3 % で 0.49 倍、2.4 % で 1.35 倍(拡散の平均の 9.7 % を誤る)になります。雑音は拒否で止まり、較正誤差は小さい(20° ずれても 0.06 倍)のに対し、飽和は一度も例外を出しません。fail-closed の検査は最小輝度が負になるかだけを見ていて、上端の飽和は素通りするためです。
  • 較正誤差は、壊す先が違う。 全画素共通の偏光板の角度のずれは、分離を一切壊しません(20° ずらしても 1e-17 台)。代わりに、方位(偏光の向き)がちょうどそのぶん狂います。形状復元だけを壊します。
  • 4 枚目は、雑音があるときだけ効く。 未知数は 3 つなので、雑音がなければ 3 枚で決まります。σ = 1e-2 の雑音では、4 枚が 3 枚より 1.46 倍良くなります。
  • 場面全体の偏光度は、鏡面を薄める。 場面全体の偏光度は 0.0778 で、画素ごとの最大 0.4676 の 1/6 です。平均で判断すると、「偏光が使えない場面」と誤判定します。
  • 形状復元は、全画素が 4 本の候補を持つ。 鏡面の偏光度は、ブリュースター角をはさんで 2 つの天頂角を持ち、方位も π 違いで 2 つあります。8797 画素のすべてに 4 本の候補があり、どれが正しいかは偏光だけでは決まらないので、候補を集合として返し、後段で解消します。
  • 雑音は、ブリュースターの稜線と頂点に集まる。 法線の誤差は、中腹で 0.57°、稜線(偏光度の頂上が平らで逆算が不安定)で 1.27°、頂点(偏光度が 0 で方位が不定)で 4.87° でした。
  • 屈折率を間違えると、全体が滑らかにずれる。 n = 1.57 が真値のとき、n = 1.40 で 2.21°、n = 1.75 で 2.15° です。拡散反射が混ざると誤差が単調に増え、5 % で 2.5°、50 % で 10.1° になります。

飽和の影響

↑ 画素率 1.8 倍で誤差 2.8 倍。雑音(σ に比例)や較正誤差(δ に比例)と違い、飽和は超線形に効く。

向かないこと

  • 入射角がブリュースター角から遠い配置。 浅すぎても深すぎても偏光は効かず、20° では偏光を使わない手の 1.2 倍しか勝てません。
  • ぎらつきの白飛びが多い場面。 飽和は警告なしで拡散を過大評価します。露光を落とすか、飽和画素の割合を先に数えます。
  • 拡散反射が強く混ざる面。 形状復元は、拡散が 50 % で 10° の誤差になります。拡散の混合比を推定する op は、まだありません。
  • 実測の画像は使っていません。 数字は全部、合成の面の値です。

X 線(デュアルエナジー): 1 枚の透過像は厚さしか測らない。2 つのエネルギーで数えると、肉の中の骨片とガラスが浮く

肉のトレイの異物

↑ 厚さ 25〜60 mm でむらのある肉に、骨片やガラスなどを埋めた合成のトレイ。上段右の 1 枚の透過像では、骨片とガラスの段差が肉のむらの 0.86 倍・0.88 倍しかなく、しきい値 1 本では肉の 86 % が引っかかる。下段左は高いエネルギー側だけの像で、肉の重なりの縁が偽の塊 2 個として残る。下段右は 2 つの窓を赤身と Al に分けた Al の像で、異物だけが残る(偽の塊 0 個)。

食品の X 線検査で撮る透過像は、各画素で L = −ln(I/I₀) という 1 つの数しか測っていません。厚い肉も、薄くて硬い異物も、同じ L を作ります。肉の厚みのむらが作る L の揺れが、骨片やガラスの破片が作る段差より大きければ、1 枚の像でこの 2 つは区別できません。

光子のエネルギーを 2 つの窓に分けて数える検出器(フォトンカウンティング)で撮ると、状況が変わります。X 線の吸われやすさ μ(E) は、エネルギーに対する形が材質ごとに違うからです。低いエネルギーでは光電効果が主で、吸われやすさは Z³/E³ に比例し、Z の大きい材料ほど急に増えます。高いエネルギーではコンプトン散乱が主になり、電子密度でそろいます。この傾きの違いを手掛かりに、各画素で 2 本の方程式を立てると、厚さと材質を分けられます。Alvarez と Macovski が 1976 年に示した基底分解です。この PoC では、各画素を「赤身の厚さ」と「Al の厚さ」に分けます。異物は、押しのけた肉との差として Al 側に現れます。

材料の減弱係数は NIST SRD 126 の表から引きます。X 線管のスペクトルは簡易な物理模型(Kramers の厚い陽極、電子の深さ、自己吸収、特性線)で、強さと深さの尺度の 4 定数を、公開されているオープンソースのスペクトル計算(MIT ライセンス)の形に合わせました。

門と成績

見るもの 基準 結果
質量減衰係数 μ/ρ NIST の公表値(Cu 8 keV 52.55 cm²/g、K 端の上 278.4) 公表値の点で差 0.0e+00(表を引くので当然)。K 端の直下 8.97 keV は 38.39
水の実効原子番号 Mayneord の式(指数 2.94) 7.42(7.4167)
X 線管の半価層 IEC 61267 の線質 8 つと 7 % 以内(合わせには使っていない) 最大 5.8 %
基底分解の収束 全画素 拒否 0 / 38400 画素
骨片とガラスの段差(1 枚の像) 肉のむらより小さい(埋もれることの確認) 骨片 0.86 倍、ガラス 0.88 倍
骨片とガラスの段差(Al の像) 雑音の 5 倍超 骨片 7.5 倍、ガラス 6.5 倍
骨片とガラスの 90 % を拾うしきい値での誤検出 1 枚の像: 肉の 86.30 %(偽の塊 1 個)/ 高域: 0.54 %(2 個)/ Al の像: 0.00 %(0 個)
基底の向きの誤差(雑音と背景の推定を通す) 0.35 rad 以内 0.007〜0.186 rad(最大はガラス)
見かけの Z(雑音なし) 組成の Z_eff と 1.5 以内 骨片 13.8(組成 13.2)、ガラス 12.7(12.2)、アルミ 13.0(13.0)、石 15.0(15.1)
誤り率の閉形式 Φ(−d′/2) モンテカルロ(各 20000 標本) 最大の差 0.0041(許容 0.0156)
分けられなくなる Al の厚さ(誤り率 5 %) 閉形式とモンテカルロが 10 % 以内 閉形式 0.125 mm、実測 0.126 mm。肉 40 mm の下では 0.364 mm
分解の雑音 Cramér–Rao の下限と 5 % 以内 下限の 0.995 倍・0.997 倍、相関 −0.974(下限も −0.974)
電荷共有 25 % を知らずに分解 応答を知れば消える 肉の Al 成分 −0.3224 cm(雑音の −13.8 倍)が、応答を入れると 1.5e-06 cm
単色の近似で分解(ビーム硬化) 肉 1 cm で Al −0.0054 cm、6 cm で −0.1459 cm
測れない入力 値を返さず拒否 6 / 6

門 21 件が全て通りました(3.6 秒)。

異物の材質の色分け

↑ 1 枚の透過像(灰色)の上に、Al の像で浮いた画素だけ、基底の向きから読んだ見かけの Z を色で重ねた(緑が 12〜14、黄から橙が 15〜20、赤が 25 以上)。ポリエチレンとゴムは画素ごとの差が雑音に届かず、色を塗らない。

★ 見つけたこと

  • 1 枚の像は、高いエネルギー側だけを取っても負ける。 骨片とガラスの 90 % を拾うしきい値にすると、肉の 86.30 % まで引っかかります。高いエネルギー側だけを取ると誤検出は 0.54 % に減りますが、肉の重なりの縁が偽の塊 2 個として残ります。赤身と Al に分けた Al の像では、肉の厚みも重なりも赤身の側に入るので、偽の塊は 0 個でした。
  • 同じ L になる組は、1 つの窓では区別できない。 厚いポリエチレンと薄い Al を、高い窓で同じ L にそろえると、1 枚の像の d′ は 3.1e-14、つまり 0 です。2 つの窓にすると d′ が Al の厚さに比例して伸びますが、薄すぎれば分けられません。誤り率 5 % になる厚さは、閉形式で 0.125 mm、モンテカルロで 0.126 mm です。肉 40 mm を重ねると光子が減り、0.364 mm(2.9 倍)に動きます。
  • 肉より軽い有機物は、画素ごとには拾えない。 ポリエチレンとゴムの Al の像は、画素あたり雑音の −0.9 倍・−1.2 倍で、3 倍に届きません。領域で平均すると、Al が負(肉より軽い向き)に出ます(−0.0212 cm、−0.0272 cm)。
  • 埋まった異物の見かけの Z は、組成だけでなく密度でも動く。 PVC は組成の Z が 13.9 なのに、雑音なしでも 18.7 に見えます。塩素の光電効果と低い密度(1.41)で、押しのけた肉との差の向きが石に寄るためです。雑音を入れると、骨片は 15.2(組成 13.2)、ガラスは 12.3(12.2)でした。
  • 検出器の応答を知らずに分解すると、肉が異物に化ける。 電荷共有 25 %、エネルギー分解能 8 keV の検出器を理想の応答と思って分解すると、高い窓の光子が低い窓へ漏れて、肉全体が「Al を含む」と出ます。雑音の −13.8 倍です。例外は出ません。応答を入れて分解し直すと 1.5e-06 cm に消えます。
  • 単色の近似は、肉が厚いほど偏る。 空のスペクトルの平均 μ で連立方程式を解くと、肉だけなのに Al が負に出ます。肉 1 cm で −0.0054 cm、6 cm で −0.1459 cm(約 −1.5 mm)です。多色の順方向の模型を解けば 0 のままです。
  • 分解の雑音は下限に張り付く。 標準偏差は Cramér–Rao の下限の 0.995 倍・0.997 倍で、2 つの基底の誤差は相関 −0.974 で逆向きに動きます(Al を多く見積もると赤身を少なく見積もる)。これ以上は、アルゴリズムでなく光子の数と窓の置き方で決まります。窓の境は 34 keV で Al の雑音が最小になりました。
  • 同じ光子数なら、2 管電圧のほうが少し良い。 肉 4 cm の下の Al の雑音は、2 管電圧(エネルギー積分)で 0.209 mm、計数 2 窓で 0.220 mm でした。

向かないこと

  • 骨・アルミ・ガラスの区別。 実効原子番号が 13.2、13、12.2 と近く、2 つのエネルギーでは同じ仲間に入ります。分けられるのは、有機物、軽い無機物、カルシウムの多い石、金属という粗い分類までです。
  • 検出器の応答が未知の検査。 この PoC は応答を既知としていて(較正 0)、外した場合は上の通り肉が異物に化けます。
  • 散乱線を含む実機。 グリッド無しの太いビームで L が小さく見える効果、K 蛍光の逃げ、パイルアップ、画素間の電荷共有の二重計数、陽極のヒール効果は入れていません。
  • 薄い異物の見かけの Z。 Z が大きいほど基底の向きが 1 点に寄るので、向きの小さな誤差(肉のむらの当てはめ)が Z の大きな誤差になります。
  • 実測の画像は使っていません。 肉の厚さも異物も、仕込んだ合成の値です。

分光器と照明系: 帯域の幅はスリットと格子から決まる。光源の模様が視野に写るかは、共役で決まる

スリットの幅と帯域の幅、光の量

↑ スリットの幅で帯域の幅とエタンデュ(光の量)がどう動くか(1200 本/mm、625 nm)。左は、細いスリットが回折の床 0.886 λ/(mN) で止まり、NA を上げて照らす溝を増やすと床が下がる様子。右は、広いスリットでは光の量と分解能の積が一定(傾き −1)で、細くしても床に当たると光だけを失う様子。

分光器は、入口のスリットの像を格子で波長ごとに並べ、検出器の画素で読む装置です。波長の分かれ方(帯域の幅)は、スリットの像、画素、回折の 3 つを重ねた装置関数の半値幅で決まります。色収差共焦点の PoC は分光器の線幅を、ハイパースペクトルの PoC は「帯域の幅 10 nm」を、与えられた数字として使っていました。この PoC は、その数字を入口スリットの幅、格子の溝の密度、鏡の焦点距離、検出器の画素から、格子の式で組み立てます。

同じ PoC で、顕微鏡と同軸落射の照明のむらも扱います。むらは、光源のどの面がどこへ写るか(共役)で決まります。この記事の最初の節の同軸落射と同じ光学系です。

門と成績

見るもの 基準 結果
格子の式 第 2 実装(別の符号の約束で書いた波の格子の式) β = 29.101078° で一致(差 1e-9 未満)
分解能 mN 上限 2W/λ(Palmer) mN = 30000(上限 90909 以下)
Shafer の条件のカメラ鏡の軸外し角 公表 14.968°(Feng 2021 の表 1) 14.9679°
カメラの焦点距離(式 16) 公表 r₄/2 = 68 mm、1.5 % 以内 68.88 mm
中心の分解能(Feng 2021) 公表 0.4 nm 0.497 nm。合わない(スリットの像だけで 0.491 nm)
M 型の像の幅(500 / 625 / 750 nm) 公表 40 / 43 / 50 µm、8 % 以内 39.2 / 43.7 / 52.6 µm(最大 5.2 %)
M 型の分解能 公表 0.391 / 0.386 / 0.385 nm、5 % 以内 0.397 / 0.397 / 0.397 nm(最大 3.17 %)
回折の床 0.8859 λ/(mN)(NA 0.02 / 0.05 / 0.11) 閉形式、矩形の瞳で相対 5e-4 以内 0.2187 / 0.0874 / 0.0395 nm
広いスリットの帯域(150 µm) w d cos α/(m f_col)、2 % 以内 2.371 nm 対 2.370 nm
エタンデュ スリットの幅に比例 150 倍
smile(長さ 4 mm のスリット、546 nm) 閉形式 y′²(sin α + sin β)/(2 f cos β)、0.2 % 以内 41.9 µm(画素 3.0 個)。Littrow の曲率半径 f/(2 tan β) は 123.60 mm
keystone 3 % 以内 端の 750 nm で 60.3 µm
2 次の迷光(Hg ランプ) 253.65 / 365.02 nm の 2 次の位置 507.30 / 730.04 nm に偽の線。ロングパス 400 nm で 1.7e-17 / 7.9e-17 に消える
「10 nm」のスリット(900〜1700 nm、150 本/mm、InGaAs 15 µm) 閉形式、3 % 以内 スリット 75 µm で 10.01〜10.03 nm
ケーラー照明のコイルの縞(CV) 1e-9 未満 2.4e-16(クリティカル照明は 0.531)
ケーラー照明の視野の直径 縁の光線追跡(独立経路) 追跡 1.0000 mm、op 1.0000 mm
一様な光源の放射照度 E = L π NA²、1 % 以内 0.07086 対 0.07069
同軸落射の往復 R·T 50/50 で 1/4 一致。吸収 6 % なら最適 R = 0.47
鏡面の部品の像の端 (panel/2)/(1 + h/H) 19.23 mm(1 画素以内)

門 42 件が全て通りました(CPU 16.1 秒)。

スリットの像の曲がり

↑ 長いスリット(4 mm)の Hg 546 / 577 / 579 nm を、検出器の 1 コマに描いた(画素 14 µm、右は 546 nm の線を横に 6 倍)。赤の点線は線の中心を通る真っすぐな参照。正しい 3 次元の式では、線の両端が長い波長の側へ約 3 画素曲がる。面内の式を流用した模型は真っすぐで、閉形式の門に落ちる。

★ 見つけたこと

  • 許容差 8 % と 5 % は、残差を見て決めたのでなく、物理から決めた。 公表の表の桁は、像の幅が 1 µm 刻み(40 µm の ±1.25 %)、分解能が 0.001 nm 刻み(±0.13 %)です。それに加えて、この模型は鏡に収差が無く、公表の値は実鏡の光線追跡なので、数 % の差は物理として当然です。像の幅は、cos β が小さく収差の最大になる 750 nm 側で効くので 8 %、分解能は像の幅と逆線分散の積で収差の一部が相殺するので 5 % としました。
  • 余裕は小さい。 像の幅は残差 5.2 % に対して許容 8 %(2.8 ポイントの余裕)、分解能は 3.17 % に対して 5 %(1.83 ポイント)です。ここで許容差を広げれば何でも通るので、広げなかった理由を残しました。
  • 公表値と合わない 1 件は、合わないまま残した。 Feng 2021 の中心の分解能は、論文本文の値(コリメータ 40 mm、スリット 25 µm)から、スリットの像だけで 0.49 nm になります。公表は 0.4 nm です。公表の分光器が「端で悪くなる」分解能(0.75 nm)は収差の効果で、この模型には出ません。この PoC の値は下限です。
  • 公表の像の幅は、波長への依存が模型より緩い。 公表は 40 → 50 µm、模型は 39.2 → 52.6 µm です。式の形では出ず、実鏡の追跡でしか出ない量と考えていますが、論文の本体を機械で読めず、未確認です。
  • 細くするほど良い、ではない。 広いスリットでは光の量と分解能の積が一定です。細くしていくと回折の床で止まり、そこから先は光だけを失います。
  • 分解能が足りないと、2 本の線が 1 本の偽の山になる。 Hg の黄色の 2 本(576.96 / 579.07 nm、間隔 2.11 nm)は、スリット 10 µm(半値幅 0.17 nm)と 50 µm(0.79 nm)では分かれ、150 µm(2.37 nm)では 1 つに潰れます。250 µm は 3.95 nm、400 µm は 6.32 nm です。
  • スリットの像は曲がる。 長さ 4 mm のスリットの像は、端で 41.9 µm(3 画素)、長い波長の側へ曲がります。面内の式を流用した壊した模型は曲がりが 0 になり、閉形式の門に落ちます。台形の歪み(keystone)は、端の 750 nm で 60.3 µm です。
  • 紫外の線が、可視の偽の線になる。 Hg ランプの 253.65 nm と 365.02 nm は 2 次で 507.30 nm と 730.04 nm の画素に入ります。1 次の 546.07 nm は 546.076 nm の画素に出ます。ロングパス 400 nm で消えます。
  • ハイパースペクトルの「10 nm」は、スリット 75 µm に当たる。 25 µm なら 3.39 nm、8 µm 以下では画素で決まる 1.52 nm です。装置関数は台形で、ガウスではありません。
  • 分光器のスリットを広げると、色収差共焦点が薄い板を拒否する。 可視の分光器(600 本/mm)で、スリット 25 µm では 40 µm の板の表裏が分かれ、厚さを 3 % 以内で読みます。100 µm で 40 µm の板、200 µm で 60 µm の板、400 µm で 100 µm の板まで、表裏が 1 つに潰れて readout が拒否します。厚さを当て推量しません。
  • コイルの縞は、クリティカル照明では視野に写り、ケーラー照明では消える。 縞の変動係数は 0.531 と 2.4e-16 です。開口絞りをコンデンサの焦点面から 4 mm 外すと、ケーラー照明でも縞が 0.0089 まで漏れます。
  • 同軸落射で鏡面の部品を撮ると、パネルが引き伸ばされて写る。 通常のレンズは 1 + h/H 倍に引き伸ばし、視野の端でパネルの外を見て黒くなります(19.23 mm)。テレセントリックなら 1 倍で、視野 22 mm は 25 mm 以内なのでけられません。つや消しの部品はパネル全体を積分するので模様が消えます。

向かないこと

  • 収差の大きい実機の分解能。 鏡は無収差、カメラは歪曲の無い直線写像です。値は下限です。
  • 高次の回折効率。 1 次との比 0.3 の定数としています(模型)。迷光の強さは目安で、波長ごとの回折効率の違いは入っていません。
  • 照明の周辺の暗さ。 照明は近軸で、cos⁴ とレンズの収差は入れていません。
  • Feng 2021 の中心の分解能。 合わないままです。
  • 実機との突き合わせ。 公表の分光器 2 台の値との照合だけで、自分の分光器では測っていません。

格子干渉計(タルボ): 吸収では見えない繊維の向きや微小な割れを、縞の振幅で見る

タルボ絨毯

↑ 位相 π の格子(28 keV、p1 = 4.36 µm)の後ろの強度 I(x, z)。横は第 1 格子からの距離 0〜z_T/2(429 mm)、縦は 2 周期。周期 p1/2 の縞が結ぶ距離が、分数タルボ距離 (m − 1/2)p1²/(4λ) = 54、161、268、376 mm。z = 0 は純粋な位相格子なので強度が一様で、縞が無い。

X 線の透過像は、「どれだけ吸われたか」しか写しません。樹脂の板の中の繊維の向きや、幅 2 µm の割れ、気孔の群は、吸収がまわりとほとんど同じなので、透過像では消えます。

格子干渉計は、格子を 2 枚(線源が大きければ 3 枚)置き、片方を 1 周期ずつずらしながら数枚撮ります。すると各画素で縞の正弦が取れ、平均から透過、位相のずれから微分位相、振幅の落ち方から暗視野の 3 枚が同時に出ます。暗視野は、画素より小さい構造の小角散乱を測ります。

もとになるのは、格子の自己像(タルボ効果)です。位相 π の格子の後ろでは、特定の距離に周期 p2 = p1/2 の縞が結びます。その距離が d = (m − 1/2)·p1²/(4λ) です。縞の位相のずれ φ は、波面の傾きから φ = 2π d α/p2 で決まるので、屈折角は α = φ·p2/(2π d) で戻せます(波面の位相を Φ として、α = (λ/2π)·∂Φ/∂x)。

門と成績

見るもの 基準 結果
縞の可視度の極大 4 本の位置 分数タルボ距離 (m − 1/2)p1²/(4λ)、格子 0.89 mm 以内 53.7 / 161.0 / 268.3 / 375.6 mm で、閉形式と同じ
極大の可視度 方形波の基本波 4/π = 1.2732 1.2733
第 2 実装(標本化した場の FFT 伝搬) 9 距離で 2e-3 以内 最大の差 8.2e-04
一様な線源の可視度 閉形式 |sinc(π w d/(L p2))| と線源の点の非干渉な和 最大の差 2.5e-07
焦点 2 mm の線源 縞が ×0.001 に消える
線源格子(Lau の条件) 最良の周期が条件どおり 0.9998 × p0(p0 = 48.7 µm、開口 41 本)。可視度 0.6367 = 2/π、点の和と 6.4e-05
線源格子の周期を 1/開口数(2.4 %)ずらす 縞が消える ×0.0000
3 像の回収(板の合成) 透過・暗視野の RMS 透過 0.0056、暗視野 0.0372(Poisson の目安 0.037)
幅 2 µm の割れ(格子 45°) 暗視野の CNR が吸収の 5 倍以上 暗視野 13.5、吸収 1.34
4 方位の暗視野から戻した繊維の向き 誤差の中央値 2.7°、90 % 点 6.6°
穴の後ろの合流線 向きが流れに直交(90°) 89.8°
丸棒(直径 4.8 mm)の厚さ 微分位相の積分 1.00 % 以内(縞の位相の最大 0.96 rad)
本当の |φ| が π を超える 拒否 3.5 倍から拒否(そのとき 3.35 rad)
1 周期のステップ数 P(基準 / 試料) 真値 20.85 / 22.30 推定 20.85 / 22.29
微分位相の誤差 RMS P = N と仮定 0.063 rad → 推定した P で 0.022 rad

門 19 件が全て通りました(CPU 4.5 秒)。このほかに実データの章の門があります(PoC の説明では全体で 22 件)が、今回の実行ではデータを取得していないので、PoC が記録値を印字して飛ばしました。

3 像

↑ 同じ 8 段の位相ステップから出した 3 像(画素 40 µm、1 枚 6000 光子、V0 = 0.25)。透過(板の値の範囲 0.814〜0.847 に伸ばして表示)では、繊維の向きも、幅 2 µm の割れ(右上の斜めの線)も、気孔の群(右下)も、ほぼ見えない。暗視野では割れが CNR 13.5 で浮かび、格子を回すと繊維の向きに応じて明暗が入れ替わる。

★ 見つけたこと

  • 可視度が 1 を超えるのは、異常ではない。 位相 π の格子が作る縞は方形波に近く、基本波の振幅は平均の 4/π = 1.2732 倍になります。計算の値は 1.2733 でした。
  • 線源が大きいと、縞が消える。 焦点 2 mm では ×0.001 です。線源格子で、開口ごとの縞を 1 周期ずつずらして重ねると、2/π = 0.637 まで戻ります。ただし周期を 1/開口数(2.4 %)ずらすと、また 0 に消えます。許容が狭い調整です。
  • 暗視野は、吸収の 10 倍の対比で割れを見せる。 幅 2 µm の割れは、吸収の CNR が 1.34 なのに、暗視野では 13.5 です。
  • 2 方位では、斜めの繊維が決まらない。 格子を 0° と 90° の 2 方位にしかしないと、繊維の向きの誤差の中央値は 30.3° でした。4 方位なら 2.7° です。
  • 気孔と繊維は、散乱の向きで見分けられる。 気孔は等方で、異方性と平均の比が 0.41、繊維は 1.01 です。
  • 折り返しは、拒否できるものとできないものがある。 縞の位相が全体に π を超えれば、隣の画素と 2π 近く跳ぶので op が拒否します。ところが、鋭い縁の 1 画素だけが π を超える板は、折り返した値が背景と π 以内に収まって見えずに通り、中央の厚さを −857 µm(真値 2000 µm)と黙って間違えます。
  • 「1 周期を走査」は、ステップ数 N が 1 周期 P とは限らない。 20.85 段の走査を P = N と仮定すると、微分位相の誤差が 0.063 rad で、縞の位相ごとにずれ方が違うため、平均を引いても消えません。残差の最小から P を推定すると 0.022 rad で、雑音だけが残ります。
  • 残差の最小を探すとき、あてた平均で割ると偏る。 最小が +0.03 段偏り、20.88 と出ます(真値 20.85)。op は素の平均で割ります。

実データで確かめる

公開されている実データ(Sanchez-Lara と Garcia-Pinto、2025 年「Talbot Lau Phase Contrast Images」、Zenodo の doi 10.5281/zenodo.16944391、CC BY 4.0、2×2 の画素を束ねて使用)で、同じ手順を試しました。基準 22 枚と試料 24 枚の走査です。今回の実行ではデータを取得していないので、以下の数字は PoC が 2026-10-18 の取得時の実行から印字した記録値です。

  • 1 周期は、基準が 20.8 段(22 枚)、試料が 22.3 段(24 枚)と推定され、ここでも N と P が一致しません。正弦の当てはめの残差は、基準が 0.0073 から 0.0044、試料が 0.0065 から 0.0040 に下がりました。
  • 吸収の強い球は散乱が弱く(−ln D が 0.17)、吸収の弱い繊維の束は散乱が強い(0.55)。球の左右の縁で、微分位相の符号が逆(+0.12 rad、−0.17 rad)。実データに真値は無いので、この物理の向きを門にしました。

実データの 3 像

↑ 実データの 3 像(データを取得して描いた図)。球(吸収が強い)は透過で暗く、暗視野ではほぼ消える。繊維の束の棒(吸収が弱い)は暗視野で暗い。微分位相の左右の色の違いは背景の位相の傾きで、基準と試料の撮影の間の格子のずれか、円錐ビームの効果と考えられる。

向かないこと

  • 単色で理想の正弦でない位相ステップ。 この模型は、格子の高次の調和、ステップの位置の誤差、検出器の点広がりを入れていません。
  • 散乱の大きさ。 繊維と割れの散乱は「向きのあるガウス散乱」の模型で、σ の大きさは選んだ値です。実際は、構造の大きさと自己相関長 ξ = λd/p2 の比で決まります。
  • 多色の線源。 吸収で平均のエネルギーが上がり、散乱しない物体でも可視度が落ちます(実データの球の中央で −ln D ≈ 0.17)。単色の順モデルには無い効果です。
  • 鋭い縁の厚さの積分。 1 画素だけが π を超える段差は、折り返しを見分けられません。
  • 実データの真値。 無いので、物理の向き(球は散乱が弱く、束は強い、縁の符号が逆)だけを確かめています。データは同梱せず、環境変数 FULLSEYE_TALBOT_DATA で置き場を指したときだけ走ります。

どの系にも出てきた落とし穴

別々の系を並べると、同じ形の落とし穴が何度も出ました。自分の検査を疑うときの目印になります。

  • 区間の狭さは、正しさの証拠にならない。 薄膜の当てはめで、膜厚の区間が 0.05 nm と狭いのに基準を外しました。区間の幅は雑音だけで決まり、模型の間違いは入りません。残差が雑音の床に収まるかを別の門で見ます。
  • 再現性を精度と読み替えない。 白色干渉の重心法は散らばりが小さいのに、段差そのものを縮めました(雑音 3 % でゲイン 0.550)。真値を仕込んだ測定でしか見つかりません。
  • 1 つの数字に畳むと、逆向きの失敗が打ち消し合って見えなくなる。 輝度ムラのモアレは、ぼかして誤差 0.9 % になりましたが、内訳は漏れ +8.3 % と減衰 −7.4 % でした。
  • 「最良の条件」は、評価の軸と、測った一点で変わる。 偏光の入射角は、絶対誤差と比で最良が割れました。ピクセルシフトの得はレンズの F 値で消えます。
  • 黙って壊れるものがいちばん危ない。 偏光の白飛びは、例外なしで拡散を過大評価します。ドリズルのシフトの符号を逆にしても、折り返しと同じ位置に山が出るだけで例外は出ません。FFT は、材料を取り違えても 685 nm と答えます。X 線は、検出器の電荷共有を知らずに分解すると、肉が異物に化けます(雑音の −13.8 倍)。格子干渉計は、鋭い縁の 1 画素だけが π を超える板の厚さを −857 µm(真値 2000 µm)と答えます。
  • 公表値との照合は、許容差の根拠まで書く。合わない 1 件は残す。 分光器の公表値との照合は、像の幅 8 %、分解能 5 % で通しました。残差は 5.2 % と 3.17 % で、余裕は 2.8 と 1.83 ポイントです。広げればどんな値でも通るので、物理(表の桁と、模型に鏡の収差が無いこと)から決めました。Feng 2021 の中心の分解能(公表 0.4 nm、模型 0.497 nm)だけは合わず、合わないまま残しました。
  • 0 や 1 が出たら、作りの結果かを疑う。 テレセンの倍率変化 0.000 %、ピクセルシフトの偽色 0 は、定義上そうなるように作った値です。異常に良い数字は、内訳を先に見ます。

試す

pip install fullseye==0.7.0

最小の例です。新しい venv に pip install fullseye==0.7.0 だけを入れ、リポジトリの外のディレクトリで実行しました。

import raytrace3d as R3

# 1. 折り返しミラー: 鏡 1 枚で像は裏返る
s = R3.noncoaxial_system([{"R": 51.68, "t": 5.0, "n": "BK7", "ap": 12.5},
                          {"R": float("inf"), "t": 40.0, "n": 1.0},
                          {"type": "fold_mirror", "tilt": (45.0, 0.0), "ap": 30.0, "t": None}], stop=0)
print("reversed:", R3.image_orientation(s)["reversed"])

# 2. 同軸落射の半透鏡: 裏面と前面の 2 回反射のゴースト
epi = R3.noncoaxial_example("epi_beamsplitter")
g = R3.ghost_analysis(epi)
print(g["ghosts"][0]["label"], round(g["ghosts"][0]["energy_ratio"], 4))

# 3. 裏面の反射率: 裸 / MgF2 単層 / 2 層(BK7 から空気へ、入射角 27.96°)
for name, coat in [("bare", None), ("MgF2", "MGF2"),
                   ("2-layer", [("TA2O5", 20.0), ("MGF2", 157.5)])]:
    r = R3.surface_reflectance(n_before="BK7", n_after=1.0, coating=coat, angle_deg=27.96)
    print(name, round(r["R"], 4))

# 4. 傾いた平板(5 mm BK7、30 度)
p = R3.tilted_plate_shift(thickness_mm=5.0, glass="BK7", tilt_deg=30.0)
print(round(p["lateral_shift_mm"], 4), round(p["astigmatism_mm"], 4))

# 5. シャインプルーフ
sc = R3.scheimpflug_tilt(object_distance_mm=200.0, object_tilt_deg=30.0)
print(round(sc["image_tilt_deg"], 4), round(sc["magnification"], 4), round(sc["hinge_height_mm"], 3))

実行した出力です。

reversed: True
BS:front/BS:back 0.0265
bare 0.053
MgF2 0.0208
2-layer 0.0039
0.9881 0.5536
-28.0049 -0.9211 349.049

上から順に、鏡 1 枚で像が裏返ること、半透鏡の前面と裏面のゴーストが 2.65 %、裏面の反射率が裸 5.3 %・単層 2.1 %・2 層 0.39 %、30° の平板の横ずれ 0.9881 mm と非点隔差 0.5536 mm、シャインプルーフの像面の傾き −28.0049°・倍率 −0.9211・ヒンジの高さ 349.049 mm です。

PoC 全体(門 19 個)を走らせるには次のようにします。環境変数 FULLSEYE_FIGURES=off を付けると図を書きません(図が欲しければ FULLSEYE_FIGURE_DIR で出力先を指定)。

python -m examples.poc_noncoaxial_optics

最後の行が PASS になれば、門 19 件が全て通っています。

この記事の他の節の PoC も、同じ形で動かせます。下の表は、2026-10-18 に full 予算で動かしたときの所要時間です(他の作業が走っている共有のマシンでの値なので、目安です)。重いものは、環境変数 FULLSEYE_POC_BUDGET=reduced で軽い予算にできます。この記事の数字は、すべて full 予算のものです。

節 コマンド(python -m examples.<名前>) 所要時間
テレセントリック poc_telecentric_metrology 169 秒
照明の円錐と NA poc_illumination_cone_vs_na 53 秒
SEM(欠陥の太り) poc_sem_wafer_defect_edge_bias 2 秒
SEM(電圧と検出器) poc_virtual_sem_kv_cd_bse 206 秒
TEM poc_tem_ctf_thon_rings 17 秒
薄膜(反射スペクトル) poc_thin_film_reflectometry 52 秒
薄膜(較正) poc_simcal_thin_film 109 秒
ピクセルシフト poc_pixel_shift 21 秒
TDI poc_tdi_linescan 10 秒
色収差共焦点 poc_chromatic_confocal 36 秒
OCT poc_industrial_oct 63 秒
偏向測定 poc_phase_measuring_deflectometry 25 秒
白色干渉 poc_interferometry_step 11 秒
モアレ位置合わせ poc_moire_alignment 5 秒
画面のモアレ poc_moire_screen 4 秒
偏光(分離) poc_polarization_specular 1 秒
偏光(形状) poc_shape_from_polarization 4 秒
X 線(デュアルエナジー) poc_dual_energy_xray 7 秒
分光器と照明系 poc_spectrometer_illumination 18 秒
格子干渉計(タルボ) poc_grating_interferometry 5 秒

実測データを使う章(テレセンの生画像、ピクセルシフトの RAW、TEM の実写、格子干渉計の実データなど)は、データの取得を許可する環境変数を設定したときだけ取得して走ります。取得していない実行では、記録値を印字するか、その章を飛ばします。どちらになったかは、各 PoC の出力に書いてある。

動画で見る

動画は YouTube のチャンネルにまとめています。この記事の題材そのものの動画はまだありません。同じ「検査の数字を疑う」流れの短い動画を 2 本だけ置きます。どちらも合成データのシミュレーションです。

校正の再投影誤差が同じでも、焦点距離の誤差は大きく違うことがある、という動画です。

CAD に点群を合わせると、存在しない凹みが出る場合がある、という動画です。

まとめ: 持ち帰れること

  • 同軸落射の半透鏡の裏面は、約 5 % の反射で、凹みのずれた写し(ゴースト)を像に重ねる。強さは R_前 × R_裏、ずれは倍率 × 2t · tanθ' · cosθ で見積もれる。
  • 対策は、入射角に合わせた膜(単層は 45° で効きが弱い)か、楔でゴーストを素子の外へ出すこと。
  • 折り返しミラーは、像の質を変えずに装置を縮められる(この例で 392.9 → 248.7 mm)。ただし鏡の枚数で像は裏返る。
  • 傾いた板は横ずれと非点収差を出す。斜めの面は、素子を tanθ' = m · tanθ で傾けるとぼけを小さくできる。
  • 計算は、閉形式、別実装、わざと壊す探針の 3 方向から確かめてある。ただし幾何光学の計算で、実機とは突き合わせていない。
  • テレセントリックレンズは、高さが 5 mm 変わっても倍率が −0.013 % しか動かない(通常の f = 25 mm は +6.89 %)。ただし主光線の傾きは 0 にならず、視野は前玉の大きさで決まる。
  • SEM の線幅は、側壁の高さのどこを測るかで電圧によって動く。形が合っていても、面積は最大 1.7 倍に太る。
  • TEM の焦点外れは、Thon リングから 0.5 % 以内で読める。ただし焦点を 10 % 間違えると、補正は効かなくなる。
  • 薄膜の膜厚は、区間が狭くても基準を外す。絶対の χ² の門が、その外れを見つける。
  • ピクセルシフトの得は、Q* = 1.47(F 9.2 相当)で尽きる。動く被写体では、0.25 px/枚を超えると 4 枚が 1 枚より悪くなる。
  • TDI は、暗いほど段数の得が大きい(64 段で電荷加算 26.86 倍)。同期ずれ、斜行、レンズの像円が先に壊れる。
  • 色収差共焦点と OCT は、色や干渉から深さを読む。推定量の偏りと、屈折率(群と位相)の取り違えに注意する。
  • 偏向測定は、写真に写らない 3 µm の凹みを曲率マップの SNR 110 で見る。ただし無反射コートの無いカバーガラスでは、凹みが 1/4 の深さに見える。
  • 白色干渉は巻き戻らないが、重心法は段差を縮める。モアレは、nm のずれを粗い縞に変える。
  • 偏光は、ブリュースター角でぎらつきを厳密に分けるが、飽和は黙って壊す。
  • X 線のデュアルエナジーは、1 枚の像でしきい値 1 本だと肉の 86 % を誤検出する異物を、赤身と Al に分けた像で偽の塊 0 個にする(骨片は雑音の 7.5 倍、ガラスは 6.5 倍で浮く)。ただし検出器の応答を知らずに分解すると、肉が異物に化ける。
  • 分光器は、帯域の幅がスリットと格子から決まる。Hg の黄色の 2 本は、スリット 50 µm(0.79 nm)で分かれ、150 µm(2.37 nm)で 1 つに潰れる。公表の分光器とは像の幅 5.2 %(許容 8 %)、分解能 3.17 %(許容 5 %)で合い、1 件だけ合わない。
  • 格子干渉計は、吸収で CNR 1.34 の幅 2 µm の割れを、暗視野で CNR 13.5 に浮かせる。タルボ距離 (m − 1/2)p1²/(4λ) の閉形式に合う。ただし鋭い縁の 1 画素だけが π を超える板は、折り返しを見分けられない。

Fullseye のライセンスは Apache-2.0 です。第 2 の実装として使ったオープンソースの光線追跡は MIT ライセンスで、コードは写していません。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?