(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023125131
(43)【公開日】2023-09-07
(54)【発明の名称】高さ画像生成装置、学習装置、三次元測定システム、高さ画像の生成方法、学習方法、及びプログラム
(51)【国際特許分類】
G01B 11/24 20060101AFI20230831BHJP
G01B 11/00 20060101ALI20230831BHJP
【FI】
G01B11/24 D
G01B11/00 G
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022029087
(22)【出願日】2022-02-28
(71)【出願人】
【識別番号】504137912
【氏名又は名称】国立大学法人 東京大学
(71)【出願人】
【識別番号】000137694
【氏名又は名称】株式会社ミツトヨ
(74)【代理人】
【識別番号】100166006
【弁理士】
【氏名又は名称】泉 通博
(74)【代理人】
【識別番号】100154070
【弁理士】
【氏名又は名称】久恒 京範
(74)【代理人】
【識別番号】100153280
【弁理士】
【氏名又は名称】寺川 賢祐
(72)【発明者】
【氏名】大竹 豊
(72)【発明者】
【氏名】渡部 太郎
(72)【発明者】
【氏名】後藤 智徳
(72)【発明者】
【氏名】佐々木 誠治
(72)【発明者】
【氏名】今 正人
【テーマコード(参考)】
2F065
【Fターム(参考)】
2F065AA04
2F065AA53
2F065BB05
2F065DD04
2F065FF51
2F065GG24
2F065QQ41
2F065QQ42
2F065SS13
(57)【要約】
【課題】白色光干渉計を用いた三次元測定機において、ノイズを低減させた高さ画像を出力できるようにする。
【解決手段】三次元測定機において、参照面及び試料面との光路差を所定の値ずつ異ならせる毎に生成した複数の干渉縞画像をボリュームデータとして取得するボリュームデータ取得部と、ボリュームデータが入力したことに応じて、二次元座標における試料面の高さの期待値を示し、ボリュームデータに対応する高さデータを出力する学習モデルと、高さデータに基づき、試料面の高さ画像を表示部に表示させる表示制御部とを備える、高さ画像生成装置を提供する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
白色光を試料面及び参照面に照射し、前記試料面から反射した反射光と前記参照面から反射した参照光とを干渉させて、前記試料面の高さ方向の凹凸に基づく干渉縞画像を生成する白色光干渉計を用いた三次元測定機において、前記参照面及び前記試料面との光路差を所定の値ずつ異ならせる毎に生成した複数の前記干渉縞画像をボリュームデータとして取得するボリュームデータ取得部と、
前記ボリュームデータが入力したことに応じて、二次元座標における前記試料面の高さの期待値を示し、前記ボリュームデータに対応する高さデータを出力する学習モデルと、
前記高さデータに基づき、前記試料面の高さ画像を表示部に表示させる表示制御部と
を備える、高さ画像生成装置。
【請求項2】
前記ボリュームデータに含まれている複数の前記干渉縞画像の同一の二次元座標毎に、画素のデータ値の移動平均値を算出し、算出した前記移動平均値を当該移動平均値の算出に用いた画素のデータ値から差し引く、センタリング処理部を更に備え、
前記学習モデルは、前記センタリング処理部が処理した後の前記ボリュームデータを入力する、
請求項1に記載の高さ画像生成装置。
【請求項3】
前記学習モデルは、
入力した前記ボリュームデータに含まれている複数の前記干渉縞画像に対応する複数の出力干渉縞画像を出力ボリュームデータとして算出するネットワーク層と、算出した前記出力ボリュームデータを二次元座標における前記試料面の高さの確率分布に変換する変換処理部とを含む、畳み込みニューラルネットワーク(CNN)と、
前記試料面の高さの前記確率分布に基づき、前記高さデータを算出する高さデータ算出部と
を有し、
前記CNNは、前記出力ボリュームデータから算出される前記高さデータに発生するノイズが低減するように学習されている、
請求項1又は2に記載の高さ画像生成装置。
【請求項4】
請求項1から3のいずれか一項に記載の前記高さ画像生成装置の前記学習モデルを学習させるための学習装置であって、
二次元座標における基準試料面の高さを示す基準高さデータから、前記基準高さデータに対応する学習用のボリュームデータに変換する学習用ボリュームデータ変換部と、
変換した前記学習用のボリュームデータを前記高さ画像生成装置に供給するボリュームデータ供給部と、
前記高さ画像生成装置が前記学習用のボリュームデータに対応して出力した出力高さデータを取得する高さデータ取得部と、
取得した前記出力高さデータと前記基準高さデータとの比較結果に基づく第1損失関数を算出する第1損失関数算出部と、
前記第1損失関数の算出結果に基づき、前記学習モデルを学習する学習部と
を備え、
前記学習用のボリュームデータは、前記基準高さデータが示す前記基準試料面の形状に対応して少なくとも一部の干渉縞の輝度を低減させた学習用の複数の干渉縞画像を含む、
学習装置。
【請求項5】
前記基準高さデータから、複数の基準干渉縞画像を含み、前記基準高さデータに対応する基準ボリュームデータに変換するボリュームデータ変換部を更に備え、
前記ボリュームデータ変換部は、前記高さデータ取得部が取得した前記出力高さデータから対応する変換ボリュームデータに更に変換し、
当該学習装置は、変換された前記変換ボリュームデータと前記基準ボリュームデータとの比較結果に基づく第2損失関数を算出する第2損失関数算出部を更に備え、
前記学習部は、前記第1損失関数及び前記第2損失関数の算出結果に基づき、前記学習モデルを学習する、
請求項4に記載の学習装置。
【請求項6】
前記第1損失関数は、高さ画像の法線ベクトルの類似度を算出する第1関数、前記出力高さデータと前記基準高さデータとの差分に基づくハリスコーナ検出応答値を算出する第2関数、及び、前記出力高さデータと前記基準高さデータとの間のL1損失を算出する第3関数のうち少なくとも1つを含み、
前記第2損失関数は、前記変換ボリュームデータと前記基準ボリュームデータとの間のL1損失を算出する第4関数を含む、
請求項5に記載の学習装置。
【請求項7】
白色光を前記試料面及び前記参照面に照射し、前記試料面から反射した反射光と前記参照面から反射した参照光とを干渉させて、前記試料面の高さ方向の凹凸に基づく前記干渉縞画像を生成する白色光干渉計を用いた三次元測定機であって、前記参照面及び前記試料面との光路差を所定の値ずつ異ならせる毎に生成した複数の前記干渉縞画像を出力する前記三次元測定機と、
出力された複数の前記干渉縞画像を前記ボリュームデータとして取得し、前記ボリュームデータに対応する前記試料面の高さ画像を表示部に表示させる、請求項1から3のいずれか一項に記載の前記高さ画像生成装置と
を備える、三次元測定システム。
【請求項8】
前記高さ画像生成装置は、
異なる複数の基準高さデータを用いて前記学習モデルを学習して取得した複数の学習パラメータを記憶する記憶部と、
第1学習パラメータを用いて一のボリュームデータに対応する前記試料面の第1高さ画像を前記表示部に表示させた後に、前記第1学習パラメータとは異なるパラメータを用いて前記第1高さ画像とは異なる第2高さ画像を前記表示部に表示することを受け付ける受付部と
を更に有し、
前記学習モデルは、前記受付部が前記第2高さ画像を前記表示部に表示することを受け付けたことに応じて、前記第1学習パラメータとは異なる第2学習パラメータを用いて前記一のボリュームデータに対応する前記高さデータを出力し、
前記表示制御部は、前記高さデータに基づき、前記一のボリュームデータに対応する前記試料面の前記第2高さ画像を生成して前記表示部に表示させる、
請求項7に記載の三次元測定システム。
【請求項9】
コンピュータが実行する、
白色光を試料面及び参照面に照射し、前記試料面から反射した反射光と前記参照面から反射した参照光とを干渉させて、前記試料面の高さ方向の凹凸に基づく干渉縞画像を生成する白色光干渉計を用いた三次元測定機において、前記参照面及び前記試料面との光路差を所定の値ずつ異ならせる毎に生成した複数の前記干渉縞画像をボリュームデータとして取得するステップと、
前記ボリュームデータが入力したことに応じて、前記ボリュームデータに対応する二次元座標における前記試料面の高さの期待値を示す高さデータを出力するステップと、
前記高さデータに基づき、前記試料面の高さ画像を表示部に表示させるステップと
を有する、高さ画像の生成方法。
【請求項10】
コンピュータが実行する、請求項1から3のいずれか一項に記載の前記高さ画像生成装置の前記学習モデルを学習させるための学習方法であって、
二次元座標における基準試料面の高さを示す基準高さデータから、前記基準高さデータに対応する学習用のボリュームデータに変換するステップと、
変換した前記学習用のボリュームデータを前記高さ画像生成装置に供給するステップと、
前記高さ画像生成装置が前記学習用のボリュームデータに対応して出力した出力高さデータを取得するステップと、
取得した前記出力高さデータと前記基準高さデータとに基づく第1損失関数を算出するステップと、
前記第1損失関数の算出結果に基づき、前記学習モデルを学習するステップと
を有し、
前記学習用のボリュームデータは、前記基準高さデータが示す前記基準試料面の形状に対応して少なくとも一部の干渉縞の輝度を低減させた学習用の複数の干渉縞画像を含む、
学習方法。
【請求項11】
コンピュータにより実行されると、前記コンピュータを請求項1から3のいずれか一項に記載の前記高さ画像生成装置として機能させる、プログラム。
【請求項12】
コンピュータにより実行されると、前記コンピュータを請求項4から6のいずれか一項に記載の前記学習装置として機能させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、高さ画像生成装置、学習装置、三次元測定システム、高さ画像の生成方法、学習方法、及びプログラムに関する。
【背景技術】
【0002】
白色光を試料面及び参照面に照射し、試料面から反射した反射光と参照面から反射した参照光とを干渉させて、試料面の高さ方向の凹凸に基づく干渉縞画像を生成する白色光干渉計を用い、試料面の凹凸の測定結果を高さ画像で出力する三次元測定機が知られている(例えば、特許文献1を参照)。
【先行技術文献】
【特許文献】
【0003】
【非特許文献】
【0004】
【非特許文献1】陳凱、“白色干渉の振幅情報と位相情報に基づく極めて薄い透明電極ito膜厚の計測”、電気学会研究会資料、IM= The papers of technical meeting on instrumentation and measurement, IEE Japan、電気学会、 vol. 2017、pp. 13-15
【0005】
【非特許文献2】L. I. Mingzhou, “DEVELOPMENT OF FRINGE ANALYSIS TECHNIQUES IN WHITE LIGHT INTERFEROMETRY FOR MICRO-COMPONENT MEASUREMENT,” Tech. Rep., 2008
【発明の概要】
【発明が解決しようとする課題】
【0006】
このような三次元測定機は、干渉縞がはっきりわかるような高コントラストな干渉縞画像を用いることで、精度の高い試料面の高さ画像(高さマップ)を出力することができる。言い換えると、三次元測定機は、試料面の形状が急峻な傾斜や立壁を有していたり、試料面が光を反射しにくい材質であったりすると、干渉縞画像のコントラストが低くなってしまうので、スパイクノイズのように見えるノイズを重畳した高さ画像を出力することがあった。
【0007】
そこで、本発明はこれらの点に鑑みてなされたものであり、白色光干渉計を用いた三次元測定機において、試料面の形状、材質によって干渉縞画像のコントラストが低くなっても、ノイズを低減させた高さ画像を出力できるようにすることを目的とする。
【課題を解決するための手段】
【0008】
本発明の第1の態様においては、白色光を試料面及び参照面に照射し、前記試料面から反射した反射光と前記参照面から反射した参照光とを干渉させて、前記試料面の高さ方向の凹凸に基づく干渉縞画像を生成する白色光干渉計を用いた三次元測定機において、前記参照面及び前記試料面との光路差を所定の値ずつ異ならせる毎に生成した複数の前記干渉縞画像をボリュームデータとして取得するボリュームデータ取得部と、前記ボリュームデータが入力したことに応じて、二次元座標における前記試料面の高さの期待値を示し、前記ボリュームデータに対応する高さデータを出力する学習モデルと、前記高さデータに基づき、前記試料面の高さ画像を表示部に表示させる表示制御部とを備える、高さ画像生成装置を提供する。
【0009】
前記ボリュームデータに含まれている複数の前記干渉縞画像の同一の二次元座標毎に、画素のデータ値の移動平均値を算出し、算出した前記移動平均値を当該移動平均値の算出に用いた画素のデータ値から差し引く、センタリング処理部を更に備え、前記学習モデルは、前記センタリング処理部が処理した後の前記ボリュームデータを入力してもよい。
【0010】
前記学習モデルは、入力した前記ボリュームデータに含まれている複数の前記干渉縞画像に対応する複数の出力干渉縞画像を出力ボリュームデータとして算出するネットワーク層と、算出した前記出力ボリュームデータを二次元座標における前記試料面の高さの確率分布に変換する変換処理部とを含む、畳み込みニューラルネットワーク(CNN)と、前記試料面の高さの前記確率分布に基づき、前記高さデータを算出する高さデータ算出部とを有し、前記CNNは、前記出力ボリュームデータから算出される前記高さデータに発生するノイズが低減するように学習されていてもよい。
【0011】
本発明の第2の態様においては、第1の態様の前記高さ画像生成装置の前記学習モデルを学習させるための学習装置であって、二次元座標における基準試料面の高さを示す基準高さデータから、前記基準高さデータに対応する学習用のボリュームデータに変換する学習用ボリュームデータ変換部と、変換した前記学習用のボリュームデータを前記高さ画像生成装置に供給するボリュームデータ供給部と、前記高さ画像生成装置が前記学習用のボリュームデータに対応して出力した出力高さデータを取得する高さデータ取得部と、取得した前記出力高さデータと前記基準高さデータとの比較結果に基づく第1損失関数を算出する第1損失関数算出部と、前記第1損失関数の算出結果に基づき、前記学習モデルを学習する学習部とを備え、前記学習用のボリュームデータは、前記基準高さデータが示す前記基準試料面の形状に対応して少なくとも一部の干渉縞の輝度を低減させた学習用の複数の干渉縞画像を含む、学習装置を提供する。
【0012】
前記基準高さデータから、複数の基準干渉縞画像を含み、前記基準高さデータに対応する基準ボリュームデータに変換するボリュームデータ変換部を更に備え、前記ボリュームデータ変換部は、前記高さデータ取得部が取得した前記出力高さデータから対応する変換ボリュームデータに更に変換し、当該学習装置は、変換された前記変換ボリュームデータと前記基準ボリュームデータとの比較結果に基づく第2損失関数を算出する第2損失関数算出部を更に備え、前記学習部は、前記第1損失関数及び前記第2損失関数の算出結果に基づき、前記学習モデルを学習してもよい。
【0013】
前記第1損失関数は、高さ画像の法線ベクトルの類似度を算出する第1関数、前記出力高さデータと前記基準高さデータとの差分に基づくハリスコーナ検出応答値を算出する第2関数、及び、前記出力高さデータと前記基準高さデータとの間のL1損失を算出する第3関数のうち少なくとも1つを含み、前記第2損失関数は、前記変換ボリュームデータと前記基準ボリュームデータとの間のL1損失を算出する第4関数を含んでもよい。
【0014】
本発明の第3の態様においては、白色光を前記試料面及び前記参照面に照射し、前記試料面から反射した反射光と前記参照面から反射した参照光とを干渉させて、前記試料面の高さ方向の凹凸に基づく前記干渉縞画像を生成する白色光干渉計を用いた三次元測定機であって、前記参照面及び前記試料面との光路差を所定の値ずつ異ならせる毎に生成した複数の前記干渉縞画像を出力する前記三次元測定機と、出力された複数の前記干渉縞画像を前記ボリュームデータとして取得し、前記ボリュームデータに対応する前記試料面の高さ画像を表示部に表示させる、第1の態様の前記高さ画像生成装置とを備える、三次元測定システムを提供する。
【0015】
前記高さ画像生成装置は、異なる複数の基準高さデータを用いて前記学習モデルを学習して取得した複数の学習パラメータを記憶する記憶部と、第1学習パラメータを用いて一のボリュームデータに対応する前記試料面の第1高さ画像を前記表示部に表示させた後に、前記第1学習パラメータとは異なるパラメータを用いて前記第1高さ画像とは異なる第2高さ画像を前記表示部に表示することを受け付ける受付部とを更に有し、前記学習モデルは、前記受付部が前記第2高さ画像を前記表示部に表示することを受け付けたことに応じて、前記第1学習パラメータとは異なる第2学習パラメータを用いて前記一のボリュームデータに対応する前記高さデータを出力し、前記表示制御部は、前記高さデータに基づき、前記一のボリュームデータに対応する前記試料面の前記第2高さ画像を生成して前記表示部に表示させてもよい。
【0016】
本発明の第4の態様においては、コンピュータが実行する、白色光を試料面及び参照面に照射し、前記試料面から反射した反射光と前記参照面から反射した参照光とを干渉させて、前記試料面の高さ方向の凹凸に基づく干渉縞画像を生成する白色光干渉計を用いた三次元測定機において、前記参照面及び前記試料面との光路差を所定の値ずつ異ならせる毎に生成した複数の前記干渉縞画像をボリュームデータとして取得するステップと、前記ボリュームデータが入力したことに応じて、前記ボリュームデータに対応する二次元座標における前記試料面の高さの期待値を示す高さデータを出力するステップと、前記高さデータに基づき、前記試料面の高さ画像を表示部に表示させるステップとを有する、高さ画像の生成方法を提供する。
【0017】
本発明の第5の態様においては、コンピュータが実行する、第1の態様の前記高さ画像生成装置の前記学習モデルを学習させるための学習方法であって、二次元座標における基準試料面の高さを示す基準高さデータから、前記基準高さデータに対応する学習用のボリュームデータに変換するステップと、変換した前記学習用のボリュームデータを前記高さ画像生成装置に供給するステップと、前記高さ画像生成装置が前記学習用のボリュームデータに対応して出力した出力高さデータを取得するステップと、取得した前記出力高さデータと前記基準高さデータとに基づく第1損失関数を算出するステップと、前記第1損失関数の算出結果に基づき、前記学習モデルを学習するステップとを有し、前記学習用のボリュームデータは、前記基準高さデータが示す前記基準試料面の形状に対応して少なくとも一部の干渉縞の輝度を低減させた学習用の複数の干渉縞画像を含む、学習方法を提供する。
【0018】
本発明の第6の態様においては、コンピュータにより実行されると、前記コンピュータを第1の態様の前記高さ画像生成装置として機能させる、プログラムを提供する。
【0019】
本発明の第7の態様においては、コンピュータにより実行されると、前記コンピュータを第2の態様の前記学習装置として機能させる、プログラムを提供する。
【発明の効果】
【0020】
本発明によれば、白色光干渉計を用いた三次元測定機において、試料面の形状、材質によって干渉縞画像のコントラストが低くなっても、ノイズを低減させた高さ画像を出力できるという効果を奏する。
【図面の簡単な説明】
【0021】
【
図1】本実施形態に係る三次元測定システムSの構成例を示す。
【
図2】本実施形態に係る高さ画像生成装置100の構成例を示す。
【
図3】本実施形態に係るボリュームデータ取得部110が取得するボリュームデータの一例を示す。
【
図4】本実施形態に係るセンタリング処理部130が実行するセンタリング処理を説明する図である。
【
図5】本実施形態に係る高さ画像生成装置100が出力した高さ画像の一例を示す。
【
図6】本実施形態に係る学習装置200の構成例を示す。
【
図7】本実施形態に係る基準高さデータに基づく基準高さ画像の一例である。
【
図8】本実施形態に係る三次元測定システムSの動作フローの第1例を示す。
【
図9】本実施形態に係る三次元測定システムSの動作フローの第2例を示す。
【発明を実施するための形態】
【0022】
<三次元測定システムSの構成例>
図1は、本実施形態に係る三次元測定システムSの構成例を示す。三次元測定システムSは、白色光干渉計を用いて複数の干渉縞画像を生成し、生成した複数の干渉縞画像に基づいて、学習済みの学習モデル(以下、「学習済モデル」という場合がある)を用いて試料の表面の凹凸を示す高さ画像を出力する。三次元測定システムSは、三次元測定機10と、高さ画像生成装置100と、学習装置200とを備える。
【0023】
三次元測定機10は、白色光干渉計を用いて試料の干渉光画像を生成する。白色光干渉計は、白色光を試料面及び参照面に照射し、試料面から反射した反射光と参照面から反射した参照光とを干渉させて、試料面の高さ方向の凹凸に基づく干渉縞画像を生成する。三次元測定機10は、例えば、参照面を所定の距離ずつ移動させて、参照面及び試料面との光路差を所定の値ずつ異ならせる。これに代えて、三次元測定機10は、対物レンズを所定の距離ずつ移動させて、参照面及び試料面との光路差を所定の値ずつ異ならせてもよい。
【0024】
従来の三次元測定は、光路差を異ならせる毎に干渉縞画像を撮像し、撮像した複数の干渉縞画像に現れる異なる明暗の干渉縞を観測、解析して試料面の立体的な形状を推定していた。このような白色光干渉計を用いた三次元測定は、例えば、特許文献1等に記載されているように、既知の技術なのでここでは詳細な説明を省略する。本実施形態に係る三次元測定機10は、参照面及び試料面との光路差を所定の値ずつ異ならせる毎に生成した複数の干渉縞画像を出力する(
図1の(1))。そして、高さ画像生成装置100は、試料面の高さ方向の立体的な形状を示す高さ画像を三次元測定システムSの測定結果として出力する(
図1の(2))。
【0025】
高さ画像生成装置100は、複数の干渉縞画像をボリュームデータとして取得する。そして、高さ画像生成装置100は、学習済の学習モデルを用いて、ボリュームデータに対応する高さデータを生成し、高さデータに基づく試料面の高さ画像を表示部に表示する。高さ画像生成装置100は、例えば、サーバ等のコンピュータである。高さ画像生成装置100は、三次元測定機10、データベース等とネットワークで接続されており、ボリュームデータを取得する。これに代えて、高さ画像生成装置100は、三次元測定機10と一体に構成されていてもよい。
【0026】
学習装置200は、高さ画像生成装置100の学習モデルを学習する(training a learning model)。ここで、「学習モデルを学習する」とは、学習装置200が学習モデルに入力した教師データと学習モデルが出力したデータとが近づくように、学習モデルの学習パラメータを更新することである。学習装置200は、三次元測定機10及び高さ画像生成装置100による試料面の測定の前に学習モデルを学習済モデルにすることが望ましい。学習装置200は、高さ画像生成装置100とネットワークで接続されていてもよく、これに代えて、高さ画像生成装置100と一体に構成されていてもよい。また、学習装置200は、三次元測定機10と一体に構成されていてもよい。
【0027】
学習装置200は、基準高さデータと、基準高さデータから変換した学習用のボリュームデータとを用いて学習モデルを学習する。基準高さデータは、急峻な傾斜及び/又は立壁を有する形状を示すデータである。学習用のボリュームデータは、基準高さデータに基づいて光の干渉方程式を用いて算出して生成した複数の学習用の干渉縞画像に対応するデータである(
図1の(3))。学習装置200は、学習用のボリュームデータを高さ画像生成装置100に供給し(
図1の(4))、高さ画像生成装置100が出力する出力高さデータを取得する(
図1の(5))。そして、学習装置200は、取得した出力高さデータが基準高さデータに近づくように、学習パラメータを算出し、高さ画像生成装置100に算出した学習パラメータを提供して更新する(
図1の(6))。
【0028】
一例として、高さ画像生成装置100が学習前の学習モデルを記憶しており、学習装置200は、高さ画像生成装置100の学習モデルのパラメータを更新することにより、学習モデルを学習済モデルにする。これに代えて、学習装置200は、学習済みの学習済モデルの情報を高さ画像生成装置100に送信することにより、高さ画像生成装置100に学習済モデルを提供してもよい。
【0029】
学習装置200は、例えば、従来の技術では高さ画像を再現できなかった程度に干渉縞のコントラストが小さい学習用のボリュームデータを用いて高さ画像生成装置100の学習モデルを学習する。これにより、本実施形態に係る三次元測定システムSは、急峻な傾斜及び/又は立壁を有する試料面を測定しても、ノイズを低減させた高さ画像を出力できる。なお、三次元測定システムSが学習モデルを学習することを目的とするシステムである場合、三次元測定機10が無い構成でもよい。また、三次元測定システムSが学習済モデルを用いて試料表面を測定することを目的とするシステムである場合、学習装置200が無い構成であってもよい。このような高さ画像生成装置100、学習装置200の詳細について説明する。
【0030】
<高さ画像生成装置100の構成例>
図2は、本実施形態に係る高さ画像生成装置100の構成例を示す。高さ画像生成装置100は、例えば、CPU(Central Processing Unit)等のコンピュータである。高さ画像生成装置100は、ボリュームデータ取得部110と、記憶部120と、センタリング処理部130と、学習モデル140と、表示制御部150と、表示部160とを備える。
【0031】
ボリュームデータ取得部110は、三次元測定機10が出力した複数の干渉縞画像をボリュームデータとして取得する。ボリュームデータ取得部110は、三次元測定機10からボリュームデータを直接取得してもよく、これに代えて、ネットワーク等を介して取得してもよい。また、ボリュームデータ取得部110は、ボリュームデータを記憶しているデータベース等からボリュームデータを取得してもよい。なお、学習装置200が学習済モデル140を作成する間、ボリュームデータ取得部110は、学習装置200から供給されるボリュームデータを取得する。
【0032】
図3は、本実施形態に係るボリュームデータ取得部110が取得するボリュームデータの一例を示す。
図3は、二次元座標であるxy座標の画素毎に干渉縞の輝度を示すデータ値を有する5つの干渉縞画像をボリュームデータとして示している。ボリュームデータは、例えば、対物レンズの位置をz軸方向に走査させて、試料面と参照面の光路差を連続的に変化させつつ撮像した複数の干渉縞画像である。
【0033】
複数の干渉縞画像は、三次元測定機10の測定において、試料面と参照面との光路差が零となる部分でコントラストが最大の干渉縞が撮像される。そして、複数の干渉縞画像の各点の輝度に注目すると、同一のxy座標の各画素でz方向に並ぶデータ値は、干渉波形を構成する。
図3は、座標(x
1,y
1)においてz方向に並ぶ5点の画素のデータで形成されている干渉波形の例を示す。なお、本実施形態において、座標(x,y)における干渉波形をF(x,y,z
i)とする。ここで、iは画像番号であり、z
iはxy座標の各画素でz方向に並ぶデータ値である。
【0034】
そして、このような干渉波形のピーク値となるz方向の位置が、試料表面の高さに対応する。例えば、
図3の干渉波形F(x
1,y
1,z
i)は、i=1の場合にデータ値z
1がピークとなるので、座標(x
1,y
1)における試料表面の高さが画像番号1に対応する高さになることを示す。従来の三次元測定は、このように干渉波形のピーク値に基づいて試料表面の高さを決定していたので、高精度、高分解能な測定を行うには、高さ方向をより細分化して(参照面及び試料面との光路差をより細かく異ならせて)、より多くの鮮明な干渉縞画像を生成することが求められていた。これに対して、三次元測定システムSは、学習済モデルを用いることにより、干渉縞画像のコントラストが低い場合や干渉縞画像にノイズが重畳している場合であっても、従来の三次元測定よりも高い精度で試料の形状を測定することができる。
【0035】
記憶部120は、ボリュームデータ取得部110が取得したボリュームデータを記憶する。また、記憶部120は、高さ画像生成装置100が動作の過程で生成する(又は利用する)中間データ、算出結果、閾値、基準値、及びパラメータ等をそれぞれ記憶してもよい。また、記憶部120は、高さ画像生成装置100内の各部又は学習装置200の要求に応じて、記憶したデータを要求元に供給してもよい。
【0036】
記憶部120は、ROM(Read Only Memory)及びRAM(Random Access Memory)等を含む記憶媒体である。また、記憶部120は、HDD(Hard Disk Drive)及び/又はSSD(Solid State Drive)等の大容量記憶装置を含んでもよい。例えば、コンピュータが高さ画像生成装置100として機能する場合、コンピュータを機能させるOS(Operating System)、及びプログラム等の情報を格納してもよい。また、記憶部120は、プログラムの実行時に参照されるデータベースを含む種々の情報を格納してもよい。
【0037】
ボリュームデータ取得部110、センタリング処理部130及び表示制御部150は、例えばCPUが記憶部120に記憶されたプログラムを実行することにより実現される。また、コンピュータは、記憶部120に記憶されたプログラムを実行することによって、学習モデル140を使用して高さ画像を生成する。
図2に示す例においては、高さ画像生成装置100が学習モデル140を有するが、学習モデル140は、高さ画像生成装置100の外部の装置に設けられていてもよい。また、学習モデル140が、学習済モデルを動作させるためのプロセッサを有していてもよい。
【0038】
センタリング処理部130は、ボリュームデータに含まれている複数の干渉縞画像にセンタリング処理を施す。センタリング処理は、ボリュームデータに含まれている複数の干渉縞画像の同一の二次元座標毎に、画素のデータ値の移動平均値を算出し、算出した移動平均値を当該移動平均値の算出に用いた画素のデータ値から差し引く処理である。例えば、センタリング処理を施したボリュームデータの干渉波形F
C(x,y,z
i)は、次式のように示される。
【数1】
【0039】
図4は、本実施形態に係るセンタリング処理部130が実行するセンタリング処理を説明する図である。
図4Aは、ボリュームデータの干渉波形F(x,y,z
i)の一例を示す。
図4Bは、センタリング処理を施した干渉波形F
C(x,y,z
i)の一例を示す。
図4A及び
図4Bは、横軸がz方向の位置iであり、縦軸が輝度を示す画素のデータ値z
iである。
【0040】
図4Aの干渉波形F(x,y,z
i)は、急斜面、立壁等の形状により、検出できた反射光の強度が低くなってしまい、干渉縞が見えにくくなっている波形の例を示す。このように、バックグラウンドノイズ等に干渉縞が埋もれている干渉波形F(x,y,z
i)にセンタリング処理を施すと、
図4Bの干渉波形F
C(x,y,z
i)のように、移動平均値が0になって干渉縞の信号成分が浮き出ることになる。センタリング処理部130は、このようにして、バックグラウンドノイズ等を低減させた干渉波形F
C(x,y,z
i)の絶対値を学習モデル140に供給する。
【0041】
学習モデル140は、センタリング処理部130がセンタリング処理した後のボリュームデータが入力したことに応じて、当該ボリュームデータに対応する高さデータを出力するためのプログラムである。高さデータは、二次元座標における試料面の高さの期待値を示すデータである。学習モデル140は、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)141と、高さデータ算出部142とを有する
【0042】
CNN141は、ボリュームデータが入力したことに応じて、ボリュームデータに対応する二次元座標における試料面の高さの確率分布を出力する。CNN141は、ネットワーク層143と、変換処理部144とを含む。
【0043】
ネットワーク層143は、入力したボリュームデータに含まれている複数の干渉縞画像に対応する複数の出力干渉縞画像を出力ボリュームデータとして算出する。ネットワーク層143は、複数の層を有し、例えば、各層において活性化関数を用いた処理、畳み込み処理等が行われる構成を有する。活性化関数は、一例として、正規化線形ユニット(ReLU:Rectified Linear Unit)と呼ばれる正規化線形関数である。
【0044】
このようなネットワーク層143は、機械学習の画像認識、動画像認識等において既知の学習モデルであり、ここでは詳細な説明を省略する。なお、学習モデル140を学習することは、ネットワーク層143の学習パラメータをより適切な値に最適化することに相当する。
【0045】
変換処理部144は、ネットワーク層143が算出した出力ボリュームデータを二次元座標における試料面の高さの確率分布に変換する。変換処理部144は、例えば、次式で示すソフトマックス関数を用いて、出力ボリュームデータをx座標及びy座標におけるz方向の高さの確率分布P
iに変換する。確率分布P
iは、z方向の位置iにおいて干渉縞がピーク値を取り得る確率を示す。
【数2】
【0046】
高さデータ算出部142は、試料面の高さの確率分布に基づき、二次元座標における試料面の高さの期待値を示す高さデータを算出する。高さデータ算出部142は、次式のように、試料面の取り得る高さの値iと確率分布P
iとの内積を算出して、x座標及びy座標におけるz方向の高さの期待値H
eとする。高さデータ算出部142は、座標毎に高さの期待値を算出した高さデータH
e(x,y)を出力する。
【数3】
【0047】
表示制御部150は、高さデータに基づき、試料面の高さ画像を表示部160に表示させる。表示制御部150は、例えば、試料面を所定の角度から見た形状を示す高さ画像を生成する。表示部160は、ディスプレイ等である。表示制御部150は、高さ画像を記憶部120、外部のデータベース等に記憶してもよい。
【0048】
ネットワーク層143は、当該ネットワーク層143が出力した出力ボリュームデータから算出される高さデータに発生するノイズが低減するように、ネットワーク層143の学習パラメータが学習されているので、本実施形態に係る高さ画像生成装置100は、ノイズを低減させた高さ画像を表示部160に表示できる。
【0049】
図5は、本実施形態に係る高さ画像生成装置100が出力した高さ画像の一例を示す。
図5Aは、ボリュームデータ取得部110が取得したボリュームデータを、センタリング処理部130及びネットワーク層143を介さずに、変換処理部144及び高さデータ算出部142が生成した高さデータに基づく高さ画像を示す。言い換えると、
図5Aは、従来の三次元測定により出力された比較画像の例を示す。比較画像は、試料面が急峻な斜面を有するので、スパイク上のノイズが多く重畳していることがわかる。
【0050】
図5Bは、
図5Aの高さ画像の生成に用いたボリュームデータを、センタリング処理部130と学習モデル140(CNN141及び高さデータ算出部142)とを介して生成した高さデータに基づく高さ画像を示す。
図5Bより、本実施形態に係る高さ画像生成装置100によれば、急峻な斜面を有する試料面を測定したボリュームデータであっても、ノイズを低減させた試料面の形状を出力できることがわかる。
【0051】
上述のように、従来の三次元測定は、干渉縞画像から干渉波形のピーク値を検出して試料表面の高さを検出していたので、より多くの干渉縞画像を用いることで高分解能化、高精度化していた。また、それぞれの干渉縞画像を鮮明化する目的で学習モデルを用いることも知られていた。しかしながら、それぞれの干渉縞画像を独立に鮮明化するように学習したとしても、複数の干渉縞画像から高さデータに変換した後に発生するノイズを適切に低減するように最適化するものではないので、従来の三次元測定でノイズを低減することは困難であった。
【0052】
また、それぞれの干渉縞画像を鮮明にできたとしても、高精度な測定のために必要な干渉縞画像の数が変化することはない。したがって、従来の三次元測定は、試料面が急峻な斜面、立壁を有すると、スパイク上のノイズが多く重畳することがあり、また、高精度化のためにより多くの干渉縞画像を測定しなければならず、測定に時間がかかっていた。
【0053】
これに対し、本実施形態に係る高さ画像生成装置100は、複数の干渉縞画像をまとめたボリュームデータを入力データとし、ボリュームデータに対応する高さデータを出力させ、当該高さデータに重畳するノイズを低減させるように学習した学習モデル140を用いる。言い換えると、発明者らは、複数の干渉縞画像をそれぞれ独立に鮮明化するのではなく、三次元測定の目的である高さデータのノイズを直接低減させるように、複数の干渉縞画像をボリュームデータとしてまとめて学習モデル140に処理させることを見いだした。
【0054】
これにより、学習済の学習モデル140は、1つの干渉縞画像の干渉縞を鮮明にするように動作するのではなく、高さデータのノイズを低減させるように、複数の干渉縞画像に応じた複数の干渉波形を鮮明化してなめらかに接続するように動作する。そして、学習モデル140は、なめらかに接続して鮮明化した干渉波形のピーク値を算出するので、試料表面の高さ方向の分解能を向上できる。
【0055】
したがって、高さ画像生成装置100は、入力したボリュームデータに対応する高さデータのノイズを低減させつつ、三次元測定システムSの測定分解能及び測定精度を向上させることができる。例えば、高さ画像生成装置100は、1000から2000程度の干渉縞画像を用いてz方向の分解能を0.06μm程度の従来の三次元測定と比較して、200から500程度の干渉縞画像のボリュームデータを用いた測定で同程度の測定分解能及び測定精度とすることができることがわかった。このような高さ画像生成装置100の学習モデル140を学習させるための学習装置200について次に説明する。
【0056】
<学習装置200の構成例>
図6は、本実施形態に係る学習装置200の構成例を示す。学習装置200は、例えば、コンピュータである。学習装置200は、高さ画像生成装置100と同一のコンピュータであってもよく、高さ画像生成装置100とは異なるコンピュータであってもよい。学習装置200は、基準高さデータ取得部210と、記憶部220と、学習用ボリュームデータ変換部230と、ボリュームデータ供給部240と、高さデータ取得部250と、第1損失関数算出部260と、ボリュームデータ変換部270と、第2損失関数算出部280と、学習部290とを備える。
【0057】
基準高さデータ取得部210は、基準高さデータを取得する。基準高さデータは、二次元座標における基準試料面の高さz=f(x,y)を示す。基準高さデータは、例えば、三次元測定機10が測定すべき試料面の凹凸として、高さ画像生成装置100のユーザが作成したデータである。基準高さデータ取得部210は、データベース等から基準高さデータを取得してもよく、これに代えて、ユーザからのデータ入力を受け付けて取得してもよい。
【0058】
図7は、本実施形態に係る基準高さデータに基づく基準高さ画像の一例である。
図7は、ユーザがシミュレーションデータとして基準高さデータを作成し、作成した基準高さデータを所定の角度から見た形状を高さ画像として生成した例を示す。基準高さデータは、高さ画像において種々の斜度の形状と、半球の形状とを有するように作成したデータである。言い換えると、基準高さデータは、三次元測定システムSが三次元測定として対応すべき形状を有するデータである。
【0059】
基準高さデータ取得部210は、このようにユーザが作成した基準高さデータを取得してもよく、これに代えて、ユーザが基準高さデータを生成するための数式、アルゴリズム等を取得して基準高さデータを生成して取得してもよい。
【0060】
記憶部220は、基準高さデータ取得部210が取得した基準高さデータを記憶する。また、記憶部220は学習装置200が動作の過程で生成する(又は利用する)中間データ、算出結果、閾値、基準値、及びパラメータ等をそれぞれ記憶してもよい。また、記憶部220は、学習装置200内の各部又は高さ画像生成装置100の要求に応じて、記憶したデータを要求元に供給してもよい。
【0061】
記憶部220は、ROM及びRAM等を含む記憶媒体である。また、記憶部220は、HDD及び/又はSSD等の大容量記憶装置を含んでもよい。例えば、コンピュータが学習装置200として機能する場合、コンピュータを機能させるOS、及びプログラム等の情報を格納してもよい。また、記憶部220は、プログラムの実行時に参照されるデータベースを含む種々の情報を格納してもよい。
【0062】
例えば、コンピュータは、記憶部220に記憶されたプログラムを実行することによって、基準高さデータ取得部210、記憶部220、学習用ボリュームデータ変換部230、ボリュームデータ供給部240、高さデータ取得部250、第1損失関数算出部260、ボリュームデータ変換部270、第2損失関数算出部280、及び学習部290として機能する。
【0063】
学習用ボリュームデータ変換部230の説明の前に、ボリュームデータ変換部270の動作について説明する。ボリュームデータ変換部270は、基準高さデータ取得部210が取得した基準高さデータから、複数の基準干渉縞画像を含み、当該基準高さデータに対応する基準ボリュームデータに変換する。ボリュームデータ変換部270は、例えば、次式に示す光の干渉方程式を用いて、基準ボリュームデータを算出する。光の干渉方程式は、非特許文献1、非特許文献2等に記載されているように、既知の技術なのでここでは詳細な説明を省略する。基準ボリュームデータは、基準高さデータに対応する理想的なボリュームデータを示す。
【数4】
【0064】
これに対し、学習用ボリュームデータ変換部230は、基準高さ画像のそれぞれの傾斜の大きさに応じて、干渉縞画像の輝度が小さくなるように学習用のボリュームデータを算出する。例えば、学習用ボリュームデータ変換部230は、高さ画像の正規化された法線ベクトルのz成分の大きさの2乗を、干渉縞画像の輝度に乗じる係数として有する。また、学習用ボリュームデータ変換部230は、バックグラウンドノイズ等を考慮した項を干渉方程式に追加してもよい。学習用ボリュームデータ変換部230は、例えば、次式に示す光の干渉方程式を用いて、基準高さデータから基準高さデータに対応する学習用のボリュームデータに変換する。
【数5】
【0065】
数5式のNzは、高さ画像の形状の法線ベクトルのz成分の大きさである。Nzの二乗の係数を右辺第2項に乗じることにより、斜面の傾斜が大きいほど干渉縞の輝度が低減させて干渉縞が見えにくくなる現象を表現できる。また、数5式の右辺第3項は、背景強度の変化を表し、右辺第4項はノイズを表す。これらにより、学習用のボリュームデータは、基準高さデータが示す基準試料面の形状に対応し、複数の基準干渉縞画像と比較して少なくとも一部の干渉縞の輝度を低減させた学習用の複数の干渉縞画像を含むことになる。
【0066】
ボリュームデータ供給部240は、学習用ボリュームデータ変換部230が変換した学習用のボリュームデータを高さ画像生成装置100に供給する。これにより、高さ画像生成装置100が使用する学習モデル140は、学習用のボリュームデータに対応する高さデータを出力する。ここで、学習モデル140が学習用のボリュームデータに対応して出力する高さデータを出力高さデータと呼ぶ。
【0067】
高さデータ取得部250は、高さ画像生成装置100の学習モデル140が学習用のボリュームデータに対応して出力した出力高さデータを取得する。理想的には、高さデータ取得部250が取得した出力高さデータと基準高さデータは一致する。しかしながら、学習用のボリュームデータは、基準高さデータが示す種々の斜面等を有する形状に基づいて不鮮明な干渉縞を有するので、出力高さデータにはスパイクノイズ等が重畳することになる。そこで、学習装置200は、出力高さデータと基準高さデータとの比較結果に基づいて、出力高さデータが基準高さデータに近づくように学習モデル140を学習する。
【0068】
第1損失関数算出部260は、取得した出力高さデータと基準高さデータとの比較結果に基づく第1損失関数を算出する。第1損失関数は、例えば、次式のように、高さ画像の法線ベクトルの類似度を算出する第1関数である。
【数6】
【0069】
また、第1損失関数は、次式のように、出力高さデータと基準高さデータとの差分に基づくハリスコーナ検出応答値を算出する第2関数であってもよい。次式のkはエッジとコーナーを判定する閾値となるパラメータであり、例えば、kは0.05程度の値である。
【数7】
ここで、
【0070】
更に、第1損失関数は、出力高さデータと基準高さデータとの間のL1損失を算出する第3関数であってもよい。第1損失関数算出部260は、第1関数、第2関数、及び第3関数のうち少なくとも1つを含む第1損失関数を算出する。第1損失関数算出部260は、第1関数、第2関数、及び第3関数の全てを算出してもよい。なお、第1関数、第2関数、及び第3関数は、第1損失関数の例であり、第1損失関数算出部260は、第1損失関数として他の関数を算出してもよい。
【0071】
学習部290は、第1損失関数の算出結果に基づき、学習モデル140を学習する。学習部290は、第1関数を用いる場合、第1関数の値が大きくなるように学習モデル140のネットワーク層143の学習パラメータを調節する。例えば、学習部290は、第1関数の値を1に正規化し、1から正規化した値を差し引いた値が小さくなるようにネットワーク層143の学習パラメータを調節する。
【0072】
学習部290は、第2関数を用いる場合、第2関数の値が小さくなるようにネットワーク層143の学習パラメータを調節する。同様に、学習部290は、第3関数を用いる場合、第3関数の値が小さくなるようにネットワーク層143の学習パラメータを調節する。これにより、学習装置200は、高さ画像生成装置100が出力する高さデータに重畳するノイズを低減させるように、学習モデル140を学習することができる。学習部290は、調節した学習パラメータを高さ画像生成装置100に供給し、学習モデル140の学習パラメータを更新させる。
【0073】
以上により、学習装置200は、学習モデル140を学習することができる。なお、学習装置200が第1関数、第2関数、及び第3関数を用いて学習モデル140を学習する場合、ボリュームデータ変換部270は無くてもよい。
【0074】
以上の本実施形態に係る学習装置200は、高さ画像生成装置100に供給した基準高さデータと、高さ画像生成装置100が出力した出力高さデータとを用いて学習モデル140を学習する例を説明したが、これに限定されることはない。学習装置200は、基準高さデータから変換した基準ボリュームデータと、高さ画像生成装置100が出力した出力高さデータから変換したボリュームデータとを用いて学習モデル140を学習してもよい。
【0075】
この場合、ボリュームデータ変換部270は、上述のように、(数4)式を用いて基準高さデータから基準ボリュームデータに変換する。また、ボリュームデータ変換部270は、高さデータ取得部250が取得した出力高さデータから対応するボリュームデータに変換する。ここで、ボリュームデータ変換部270が出力高さデータから変換したボリュームデータを変換ボリュームデータと呼ぶ。ボリュームデータ変換部270は、(数4)式に示す光の干渉方程式を用いて、変換ボリュームデータを算出する。
【0076】
そして、第2損失関数算出部280は、変換された変換ボリュームデータと基準ボリュームデータとの比較結果に基づく第2損失関数を算出する。第2損失関数は、変換ボリュームデータと基準ボリュームデータとの間のL1損失を算出する第4関数を含む。なお、第4関数は、第2損失関数の例であり、第2損失関数算出部280は、第2損失関数として他の関数を算出してもよい。
【0077】
第2損失関数算出部280が第2損失関数を算出した場合、学習部290は、第2損失関数の算出結果に基づき、学習モデル140を学習する。学習部290は、第4関数を用いる場合、第4関数の値が小さくなるようにネットワーク層143の学習パラメータを調節する。これにより、学習装置200は、高さ画像生成装置100が出力する高さデータに重畳するノイズを低減させるように、学習モデル140を学習することができる。
【0078】
また、学習部290は、第1損失関数及び第2損失関数の両方の算出結果に基づき、学習モデル140を学習してもよい。これにより、学習部290は、例えば、出力高さデータが基準高さデータに近づき、かつ、変換ボリュームデータが基準ボリュームデータに近づくように学習モデル140を学習できる。以上の学習装置200を備えた三次元測定システムSの動作フローについて次に説明する。
【0079】
<三次元測定システムSの動作フローの第1例>
図8は、本実施形態に係る三次元測定システムSの動作フローの第1例を示す。三次元測定システムSは、第1例の動作フローを実行することにより、学習装置200が高さ画像生成装置100の学習モデル140を学習する。第1例の動作フローにおいて、三次元測定システムSのユーザは、基準高さデータを既に作成しているものとする。
【0080】
まず、学習装置200の基準高さデータ取得部210は、基準高さデータを取得する(S51)。次に、学習用ボリュームデータ変換部230は、基準高さデータ取得部210が取得した基準高さデータを学習用のボリュームデータに変換する(S52)。次に、ボリュームデータ供給部240は、学習用ボリュームデータ変換部230が変換した学習用のボリュームデータを高さ画像生成装置100に供給する(S53)。
【0081】
これにより、高さ画像生成装置100のボリュームデータ取得部110は、ボリュームデータ供給部240から供給された学習用のボリュームデータを取得する。次に、センタリング処理部130は、ボリュームデータ取得部110が取得した学習用のボリュームデータにセンタリング処理を施す。なお、学習装置200は、学習用のボリュームデータをセンタリング処理してもよく、これに代えて、学習用ボリュームデータ変換部230は、センタリング処理したデータと同様に移動平均が0となる学習用のボリュームデータを生成してもよい。この場合、高さ画像生成装置100は、センタリング処理を省略してもよい。
【0082】
次に、学習モデル140は、センタリング処理した後の学習用のボリュームデータに対応する出力高さデータを算出する(S54)。高さ画像生成装置100は、学習モデル140が出力した出力高さデータを学習装置200に供給する(S55)。これにより、学習装置200の高さデータ取得部250は、高さ画像生成装置100が基準ボリュームデータに対応して出力した出力高さデータを取得する。
【0083】
次に、第1損失関数算出部260は、高さデータ取得部250が取得した出力高さデータと基準高さデータとの比較結果に基づく第1損失関数を算出する(S56)。次に、ボリュームデータ変換部270は、基準高さデータ取得部210が取得した基準高さデータから対応する基準ボリュームデータに変換する。また、ボリュームデータ変換部270は、高さデータ取得部250が取得した出力高さデータから対応する変換ボリュームデータに変換する(S57)。次に、第2損失関数算出部280は、ボリュームデータ変換部270が変換した変換ボリュームデータと基準ボリュームデータとの比較結果に基づく第2損失関数を算出する(S58)。
【0084】
次に、学習部290は、第1損失関数及び第2損失関数の算出結果に基づき、学習モデル140の学習パラメータを調節して更新する(S59)。学習装置200は、学習部290の学習が終了するまでS53からS59までの動作を繰り返す(S60:No)。例えば、学習部290は、所定の回数だけ学習パラメータの更新を繰り返すことで、学習を終了させる(S60:Yes)。また、学習部290は、第1関数、第2関数、第3関数、及び第4関数の計算結果のうち、1又は複数の計算結果が所定の値の範囲となったことに応じて、学習を終了させてもよい。
【0085】
以上の動作フローにより、学習装置200は、基準高さデータに基づいて高さ画像生成装置100の学習モデル140を学習できる。なお、ユーザが異なる複数の基準高さデータを作成した場合、学習装置200は、複数の基準高さデータによる学習を繰り返してよい。また、学習装置200は、基準高さデータ毎に学習モデル140を学習して、複数の学習パラメータの組み合わせを準備してもよい。
【0086】
これに代えて、又は、これに加えて、学習装置200は、1つの基準高さデータから複数の異なる学習用のボリュームデータを生成してもよい。例えば、学習用ボリュームデータ変換部230は、(数5)式の光の干渉方程式の係数、パラメータ等を変化させて、1つの基準高さデータから複数の異なる学習用のボリュームデータを生成する。そして、学習装置200は、生成した複数の学習用のボリュームデータによる学習を繰り返してもよい。また、学習装置200は、学習用のボリュームデータ毎に学習モデル140を学習して、複数の学習パラメータの組み合わせを準備してもよい。
【0087】
<三次元測定システムSの動作フローの第2例>
図9は、本実施形態に係る三次元測定システムSの動作フローの第2例を示す。三次元測定システムSは、第2例の動作フローを実行することにより、三次元測定機10が測定した複数の干渉縞画像に対応する高さ画像を高さ画像生成装置100が出力する。第2例の動作フローにおいて、高さ画像生成装置100の学習モデル140が既に学習済みとする。
【0088】
まず、三次元測定機10は、試料表面を測定し(S71)、複数の干渉縞画像を出力する(S72)。これにより、高さ画像生成装置100のボリュームデータ取得部110は、三次元測定機10から複数の干渉縞画像をボリュームデータとして取得する。次に、センタリング処理部130は、ボリュームデータ取得部110が取得したボリュームデータにセンタリング処理を施す(S73)。
【0089】
次に、学習モデル140は、センタリング処理部130がセンタリング処理した後のボリュームデータに対応する高さデータを出力する(S74)。次に、表示制御部150は、高さデータに基づき、試料面の高さ画像を生成して表示部160に表示させる(S75)。以上により、高さ画像生成装置100は、ノイズを低減させた高さ画像を表示部160に表示できる。
【0090】
なお、高さ画像生成装置100は、学習パラメータを切り換えて高さ画像を表示部160に表示させてもよい。この場合、記憶部120は、異なる複数の基準高さデータを用いて学習モデルを学習して取得した複数の学習パラメータを記憶する。また、高さ画像生成装置100は、第1学習パラメータを用いて一のボリュームデータに対応する試料面の第1高さ画像を表示部160に表示させた後に、第1学習パラメータとは異なるパラメータを用いて第1高さ画像とは異なる第2高さ画像を表示部160に表示することを受け付ける受付部を更に備える。
【0091】
ここで、S74において、学習モデル140は第1学習パラメータを用い、S75において、表示制御部150は第1高さ画像を表示部160に表示させたものとする。そして、受付部が三次元測定システムSのユーザから第2高さ画像を表示部160に表示することを受け付けたことを受け付けたことに応じて(S76:Yes)、高さ画像生成装置100はS74に戻り、学習モデル140は第1学習パラメータを当該第1学習パラメータとは異なる第2学習パラメータに切り換える。
【0092】
次に、学習モデル140は、第2学習パラメータを用いて、センタリング処理した後のボリュームデータ(一のボリュームデータ)に対応する高さデータを出力する。これにより、表示制御部150は、高さデータに基づき、一のボリュームデータに対応する試料面の第2高さ画像を生成して表示部160に表示させることができる(S75)。
【0093】
高さ画像生成装置100は、ユーザの入力に応じて、学習パラメータを切り換える動作を繰り返してもよい。これにより、三次元測定機10が測定した複数の干渉縞画像に対して、より適切な学習パラメータを選択して、よりノイズを低減させた高さ画像を表示部160に表示させることができる。高さ画像生成装置100は、ユーザの入力等に応じて、処理を終了する(S77:No)。以上の動作フローにより、高さ画像生成装置100は、三次元測定機10が測定した複数の干渉縞画像に対応し、ノイズを低減させた高さ画像を表示部160に表示できる。
【0094】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の全部又は一部は、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を併せ持つ。
【符号の説明】
【0095】
10 三次元測定機
100 高さ画像生成装置
110 ボリュームデータ取得部
120 記憶部
130 センタリング処理部
140 学習モデル
141 CNN
142 高さデータ算出部
143 ネットワーク層
144 変換処理部
150 表示制御部
160 表示部
200 学習装置
210 基準高さデータ取得部
220 記憶部
230 学習用ボリュームデータ変換部
240 ボリュームデータ供給部
250 高さデータ取得部
260 第1損失関数算出部
270 ボリュームデータ変換部
280 第2損失関数算出部
290 学習部