【実施例1】
【0019】
実施例1では、加工構造と背景との間の境界線及び異種材料間の界面の境界線の座標を抽出するためにセマンティック・セグメンテーションモデル(第1画像認識モデル)と、単位パターンの座標を検出するために物体検出モデル(第2画像認識モデル)との2種類の画像認識技術を用いる。
【0020】
事前の学習ステップでは、セマンティック・セグメンテーションモデルには、入力データである断面SEM画像と、出力データである領域ごとに色分けしたアノテーション画像とを、教師データとして与えて、領域の形状を学習させる。また、物体検出モデルには、入力データである断面SEM画像と、出力データである単位パターンの座標(パターンを囲む矩形のバウンディング・ボックスで指定する)を記したアノテーションデータとを、教師データとして与えて、単位パターン形状を学習させる。
【0021】
推論ステップでは、与えられた入力画像に対し、学習済みセマンティック・セグメンテーションモデルで領域ごとに色分けした画像を推定し、学習済み物体検出モデルで単位パターンの座標を推定する。
【0022】
計測ステップでは、領域ごとに色分けした画像から得られる領域境界線の座標を、単位パターン座標を用いてパターンごとに分割し、寸法計測に必要な特徴点の座標を求めることにより、所望の個所の寸法を自動で計測する。
【0023】
図1は、半導体製造システムのシステム構成例を示す図である。半導体製造システム10は、処理条件探索装置100と、入力装置103と、出力装置114と、処理装置111と、評価装置112と、寸法計測装置200と、入出力装置206とを有する。ユーザは、目標処理結果(加工形状)と処理装置111で用いるパラメータ101を選択して入力装置103から入力し、出力装置114から目標加工形状を与える最適処理条件102を出力として得る。
【0024】
処理条件探索装置100は、入力装置103から目標加工形状101を受け付け、処理装置111が最適に目標加工形状を得ることが可能な処理条件を探索し、探索した処理条件を出力装置114へ出力する装置である。
【0025】
入力装置103は、GUIなどの入力インタフェースとカードリーダなどの記憶媒体読み出し装置を備え、処理条件探索装置100にデータを入力する。また、ユーザからのみならず、入出力装置206から寸法計測値も同様に受けつけ、処理条件探索装置100に入力する。入力装置103は、例えば、キーボード、マウス、タッチパネル、記憶媒体読み出し装置などを含む。
【0026】
出力装置114は、処理条件探索装置100から渡された処理条件を、最適処理条件102としてユーザへ表示する。表示する手段としては、ディスプレイへの表示、またはファイルへの書き出しなどである。出力装置114は、例えば、ディスプレイ、プリンタ、記憶媒体書き出し装置などを含む。
【0027】
処理装置111は、半導体または半導体を含む半導体デバイスを処理する装置である。処理装置111の処理の内容は特に限定されない。例えば、リソグラフィ装置、成膜装置、パターン加工装置を含む。リソグラフィ装置には、たとえば、露光装置、電子線描画装置、X線描画装置を含む。成膜装置は、たとえばCVD(Chemical Vapor Deposition)、PVD(Physical Vapor Deposition)、蒸着装置、スパッタリング装置、熱酸化装置を含む。パターン加工装置は、たとえば、ウェットエッチング装置、ドライエッチング装置、電子ビーム加工装置、レーザ加工装置を含む。処理装置111は、処理条件探索装置100から入力された処理条件に基づき半導体または半導体デバイスの処理を行い、評価装置112に渡す。
【0028】
評価装置112は、処理装置111で処理された半導体または半導体デバイスの断面を撮影して、処理結果である断面画像208を取得する。評価装置112は、SEM、TEM(Transmission Electron Microscope)、光学式モニタを用いた加工寸法計測装置を含む。処理装置111で処理された半導体または半導体デバイスの一部を断片として取り出して、その断片を評価装置112へ運搬して計測してもよい。取得した断面画像208は、入出力装置206へ渡される。
【0029】
寸法計測装置200は、中央処理部201、モデル学習部202、モデル推定部203、寸法計測部204とデータベース205を有する。入出力装置206を介して入力された特徴点と寸法の定義、倍率、学習データセット209と断面画像208を受け付け、断面画像208から所定の寸法を計測し、入出力装置206へ出力する。
【0030】
入出力装置206は、GUIなどの入出力インタフェースとカードリーダなど記憶媒体読み出し装置を備え、寸法計測装置200に特徴点と寸法の定義、倍率、学習データセット209を入力する。また、評価装置112から断面画像208を受けとり、中央処理部201に渡す。入出力装置206は、例えば、キーボード、マウス、ディスプレイ、タッチパネル、記憶媒体読み出し装置などを含み、寸法計測装置200から渡された寸法値を、ユーザへ表示するか、あるいは直接入力装置103へ転送する。ユーザへ表示する場合、その手段はディスプレイへの表示、またはファイルへの書き出しなどである。
【0031】
図2は、処理条件探索装置100のシステム構成例を示す図である。処理条件探索装置100は、中央処理部104と、データベース105と、初期処理条件設定部106と、ターゲット設定部107と、モデル学習部108と、処理条件探索部109と、装置制御部110と、収束判定部113とを有する。
【0032】
図3に、寸法計測装置200のハードウェア構成を示すブロック図を示す。寸法計測装置200は、入出力装置206を介して評価装置112から入力された断面画像208から寸法を計測し、計測結果を入出力装置206へ出力する。寸法計測装置200は、プロセッサ116と、通信インタフェース115と、ROM117と、RAM118とを有する。通信インタフェース115は、プロセッサ116と、外部の入出力装置206とを接続する。プロセッサ116は、通信インタフェース115と、ROM117と、RAM118とが接続される。ROM117には、プロセッサ116で実行する処理プログラムが格納されている。RAM118には、学習データや学習モデル、特徴点と寸法の定義、倍率などが格納される。
【0033】
なお、
図1に示す寸法計測装置200との対応では、データベース205はROM117及びRAM118として実装され、モデル学習部202、モデル推定部203、寸法計測部204はROM117及びRAM118に格納されるプログラム及びパラメータとして実装される。
【0034】
図4は、寸法計測装置200のモデル学習部202及びモデル推定部203で用いるセマンティック・セグメンテーションモデルの構成の一例である。なお、本例ではニューラルネットワーク20を用いる例を説明するが、これに限られず、決定木などの機械学習のモデルを用いることもできる。ニューラルネットワークは、入力層に入力された画素情報が、中間層、出力層へと順に伝播され演算されることにより、出力層から各画素の属する領域のラベル番号を出力する。中間層は畳み込み層、プーリング層などが多数層繰り返される。具体的な層構造は採用するモデルにより異なる。学習時には出力された各画素のラベルと正解であるアノテーションデータとの誤差が最小となるように、中間層のパラメータを調整する。
【0035】
図5は、寸法計測装置200のモデル学習部202及びモデル推定部203で用いる物体検出モデルの構成の一例である。なお、本例ではニューラルネットワーク30を用いる例を説明するが、これに限られず、テンプレートマッチングなどの他のモデルを用いることもできる。ニューラルネットワークは、入力層に入力された画素情報が、中間層、出力層へと順に伝播され演算されることにより、出力層から画像に含まれる物体のラベル番号とバウンディング・ボックスの座標値を出力する。中間層は畳み込み層、プーリング層などが多数層繰り返される。具体的な層構造は採用するモデルにより異なる。学習時には出力された物体のラベル番号とバウンディング・ボックスの座標値と正解であるアノテーションデータとの誤差が最小となるように、中間層のパラメータを調整する。
【0036】
図6は、寸法計測装置200が実行する、入力画像から必要な寸法を計測するまでのフローチャートである。
【0037】
まず、事前に寸法計測装置200に入力すべき学習データセット209を作成する。学習データセットは、入力データである断面SEM画像に加え、出力データとなる物体検出モデルに対しては単位パターンを囲むバウンディング・ボックスの座標を記したアノテーションデータ209を、セマンティック・セグメンテーションモデルに対しては領域ごとに色分けしたアノテーション画像209の組を作成し、それら学習データセットを入出力装置206から入力する(ステップS100)。入力された学習データセットはデータベース205に保存される。
【0038】
つぎに、中央処理部201はデータベース205からモデル学習部202に学習データセットとモデルを転送し、モデル学習部202で2つのモデルの学習を行う(ステップS101)。学習したモデルのパラメータはデータベース205へ保存される。以下の説明では、モデルとしては、畳み込み層やプーリング層を有するニューラルネットワークを用いる場合を説明するが、物体検出モデルとしてテンプレートマッチングなど、セマンティックセグメンテーションモデルとして決定木などの機械学習のモデルを用いることもできる。
【0039】
つぎに、推定ステップで、寸法を計測したいテスト画像を入出力装置206から入力する(ステップS104)。同時に、寸法計測に必要となる特徴点の定義209と、計測する寸法の定義209とを入出力装置206を介してデータベース205に格納する(ステップS102,S103)。入力画像の倍率は、画像を格納するフォルダ名により判断させるようにする。例えば、倍率が100k倍ならフォルダ名を100kとする。各画像の倍率情報は、データベース205に保存される。中央処理部201はモデル推定部203にデータベース205からモデルとパラメータを渡すとともに、入力されたテスト画像を渡し、モデル推定部203で推定を行い(ステップS105)、パターン検出結果であるバウンディング・ボックス座標とセマンティック・セグメンテーション画像を得る(ステップS106)。
【0040】
つぎに、計測ステップにおいて、中央処理部201は寸法計測部204にバウンディング・ボックス座標とセマンティック・セグメンテーション画像を渡し、セマンティック・セグメンテーション画像から境界線の座標を求める。つぎに、パターンごとに境界線座標を分割し、データベース205に格納してある特徴点の定義を呼び出して特徴点の座標を求め、寸法の定義を呼び出して主要寸法を計算する(ステップS107)。得られた寸法の単位はピクセル数であるので、データベース205に格納してある倍率を呼び出して実寸法に変換する(ステップS108)。計測した寸法値を入出力装置206へ出力するとともに、パターンごとの境界線座標データをデータベース205へ保存する(ステップS109)。
【0041】
さらに、寸法計測個所を新規に追加したい場合には、寸法計測に必要となる新たな特徴点209の定義と、新たな寸法計測個所の定義209を入出力装置206から入力し、データベース205に格納する(ステップS110,S111)。
【0042】
つぎに、新規の寸法計測個所の指定の有無を判定し(ステップS112)、指定がなければ、寸法計測処理をスキップする。指定があれば、データベース205に格納してあるパターンごとの境界線の座標データを読み出して寸法を計算し(ステップS114)、実寸法にスケール変換(ステップS115)後、計測した寸法値を入出力装置206へ出力する(ステップS116)。
【0043】
ここで、加工形状の探索をしたい場合には、目標寸法値を入力する(ステップS117)。中央処理部201は形状探索の指定の有無を判定し(ステップS118)、指定がなければ、寸法計測処理を終了する(ステップS119)。指定があれば、データベース205に格納してある全画像の寸法値を探索し(ステップS120)、入力した寸法に近い形状を入出力装置206へ出力する(ステップS121)。以上で、処理を終了する(ステップS122)。
【0044】
図7は、半導体製造システム10において処理条件探索装置100が実行する、目標処理結果(目標出力パラメータ値)から処理装置111の最適処理条件を決定するフローチャートである。
【0045】
まず、処理装置111の行う処理について、目標とする目標処理結果(目標出力パラメータ値)及び、処理装置111を制御するパラメータとして選択する入力パラメータ101を、入力装置103から中央処理部104に受け渡す(ステップS200)。
【0046】
つぎに、中央処理部104は受け付けた目標出力パラメータ値と選択された入力パラメータ(加工条件パラメータ)とをデータベース105に格納するとともに、選択された入力パラメータを初期処理条件設定部106へ渡す。初期処理条件設定部106では、渡された入力パラメータを元に、データベース105から入力パラメータの設定可能範囲のデータを読み取り、初期処理条件を自動設定する(ステップS201)。中央処理部104は設定された初期処理条件をデータベース105へ格納するとともに、初期処理条件を装置制御部110へ渡す。
【0047】
装置制御部110は、初期処理条件を処理装置111に転送する。または装置制御部110が出力した初期処理条件をユーザが処理装置111に入力するのでもよい。処理装置111は入力された初期条件に従って処理を行い、評価装置112で評価し、入出力装置206を介して、評価結果である断面画像208を寸法計測装置200に渡す。寸法計測装置200で求められた寸法値(ターゲット出力パラメータ値)は入出力装置206を介して入力装置103へ入力される。中央処理部104は、入力装置103から初期処理結果を受け渡される(ステップS202)。中央処理部104は、初期処理条件と初期処理結果とを収束判定部113に渡す。
【0048】
収束判定部113は、初期処理結果を目標処理結果と比較し、所定の精度内で目標処理結果に収束しているかどうかを判定する(ステップS203)。収束していれば、目標処理結果に収束した初期処理条件を出力装置114へ渡し、出力装置114は最適処理条件102として出力する(ステップS210)。
【0049】
出力パラメータ値(処理結果)の収束性の判定には、(数1)で与えられる、用いる全出力パラメータに関する出力パラメータ値と目標出力パラメータ値との誤差の2乗和を用いることができる。
【0050】
【数1】
【0051】
ここで、NPは用いる出力パラメータの総数、x
iはi番目の目標出力パラメータ値、y
iはi番目の出力パラメータ値(実績値)、W
iはユーザが出力パラメータごとに指定する重みである。
【0052】
一方、収束していなければ処理を継続する命令が収束判定部113から中央処理部104へ送られ、中央処理部104はデータベース105に、初期処理条件(初期入力パラメータ値)と初期処理結果(初期出力パラメータ値)とからなる初期学習データを作成する(ステップS204)。
【0053】
つぎに、中央処理部104は目標出力パラメータ値(目標処理結果)と初期学習データとをデータベース105から読み込み、ターゲット設定部107へ渡す。ターゲット設定部107は、ターゲット処理結果(ターゲット出力パラメータ値)を設定する(ステップS205)。設定されたターゲット出力パラメータ値は、中央処理部104へ渡され、データベース105に格納される。ターゲット設定部107は、既存の学習データの中から目標出力パラメータ値に最も近いベストデータ(出力パラメータ値(実績値))を選び出し、そのときベストな出力パラメータ値と目標出力パラメータ値との間を内挿補間することによりターゲット出力パラメータ値を設定する。設定するターゲットの個数は1個以上ならいくつでも良いが、効率を考えて複数個、例えば4〜5個程度を設定することが望ましい。
【0054】
つぎに、中央処理部104は、データベース105から初期学習データを読み込み、初期学習データをモデル学習部108へ送る。モデル学習部108は入力パラメータ値(処理条件)と出力パラメータ値(処理結果)とを関係づける予測モデルを学習する(ステップS206)。予測モデルとしては、ニューラルネットワーク、サポートベクターマシン、カーネル法などを用いることができる。学習した予測モデルは処理条件探索部109へ渡される。
【0055】
つぎに、処理条件探索部109は、モデル学習部108から渡された予測モデル及びデータベース105から読み出した入力パラメータへの制約条件を用いて、データベース105から読み出した目標出力パラメータ値及びターゲット出力パラメータ値に対する処理条件を探索する(ステップS207)。予測モデルは処理条件が入力で、処理結果が出力となっているため、処理結果から処理条件を逆に求めるには、シミュレーテッド・アニーリング法、遺伝的アルゴリズムなど各種の最適解探索手法を用いることができる。処理条件探索部109は、探索した処理条件(ターゲット入力パラメータ値)を装置制御部110に渡すとともに、中央処理部104を介してデータベース105へ格納する。
【0056】
装置制御部110は、渡された処理条件(ターゲット入力パラメータ値)を処理装置111に転送する。または、装置制御部110が出力した処理条件をユーザが処理装置111に入力するのでもよい。処理装置111は入力された初期条件に従って処理を行い、評価装置112で評価し、評価結果である断面画像208を入出力装置206を介して寸法計測装置200に渡す。寸法計測装置200で求められた寸法値(ターゲット出力パラメータ値)は入出力装置206を介して入力装置103へ入力される。中央処理部104は、入力装置103から処理結果(ターゲット出力パラメータ値)を受け渡される(ステップS208)。中央処理部104は、処理条件(ターゲット入力パラメータ値)と処理結果(ターゲット出力パラメータ値)とを収束判定部113に渡す。
【0057】
収束判定部113は、処理結果(出力パラメータ値(実績値))を目標処理結果(目標出力パラメータ値)と比較し、所定の精度内で目標処理結果に収束しているかどうかを判定する(ステップS209)。収束していれば、目標処理結果に収束した処理条件を出力装置114へ渡し、出力装置114は最適処理条件102として出力する(ステップS210)。
【0058】
一方、収束していなければ処理を継続する命令が収束判定部113から中央処理部104へ送られ、中央処理部104はデータベース105の学習データセットに、新たに探索した目標処理結果とターゲット処理結果についての処理条件(入力パラメータ値)と処理結果(出力パラメータ値(実績値))との組を追加学習データとして追加することにより、学習データセットを更新する(ステップS204)。
【0059】
以下、学習データセットの作成・更新(ステップS204)〜収束判定(ステップS209)までの推定プロセスを、処理結果が目標処理結果に収束されるまで繰り返す。このようにして、目標処理結果を実現する最適処理条件を自律的に探索する。
【0060】
以上が、処理条件探索装置100と寸法計測装置200を備えた半導体製造システム10全体の処理フローである。
【0061】
以下、処理装置111がエッチング装置である場合を例に説明する。
【0062】
図8は、学習データセットの中の入力データセットとなる断面SEM画像の例である。この画像のサイズは1280×960ピクセルである。サンプルはライン/スペースの単位パターンが繰り返しているトレンチ構造であり、領域は背景300、マスク301、基板302の3領域からなる。
【0063】
図9は、寸法計測個所の例である。この例では、寸法計測個所は、(1)L1:マスク上面の幅305、(2)L2:マスク/基板界面の幅306、(3)L3:基板最狭部の幅307、(4)L4:マスクの高さ308、(5)L5:トレンチの深さ309、の5カ所を設定している。なお、マスク上面の幅305は、凸状になっている2つのピーク位置の間隔と定義した。ピーク位置が1つしかない形状の場合には幅を0とする。図中のAからGまでの7つの点は寸法計測に用いる境界線上の特徴点であり、境界線データのみから一意に定義できる点を用いる。例えば、A,Bはマスク上面のピークとなる点、などである。特徴点A〜Gの定義及び寸法L1〜L5と特徴点A〜Gとの対応関係(L1:A,B,L2:C,Dなど)はユーザが入出力装置206を介して入力し、データベース205に格納されている。具体的には、特徴点と寸法の定義を記述したスクリプトを格納しておく。特徴点と計測寸法の個数・位置は、計測対象の構造に応じて適宜設定する。
【0064】
図10は、学習データセットの中の出力データセットとなるアノテーションデータのうち、物体検出モデルに与えるアノテーションデータに記述するバウンディング・ボックスの座標の定義を説明する図である。図中に示した枠線(バウンディング・ボックス)で囲まれたライン/スペースの繰り返しの単位構造であるマスクと基板の一部からなる領域に対し「パターン」というラベル名を定義する。この例では、ラベルは1種類のみであり、ラベル番号は0である。
図10には5つのパターンが存在する。バウンディング・ボックスの座標は画像の左上を原点とし、水平方向にX軸を、垂直方向にY軸を取る。バウンディング・ボックスのY軸方向の境界は、マスク上部とトレンチ底が完全に含まれるように、それぞれ数ピクセルのマージンを持たせた位置に設定する。バウンディング・ボックスは矩形であるので、位置を特定するには、左上と右下の2つの座標を与えればよい。
【0065】
図11は、
図10に対応するアノテーションデータの記載例の抜粋である。必須となる項目のみ抜粋してある。この例ではデータはxmlフォーマットで記述されているが、使用する物体検出モデルが想定しているフォーマットであれば何でも良い。タグ<folder>〜</folder>に画像ファイルを格納してあるフォルダ名を、タグ<filename>〜</filename>に画像ファイル名を記載する。タグ<object>〜</object>がバウンディング・ボックスに関する情報を記載する個所で、画像中に含まれるバウンディング・ボックスの個数分、繰り返される。その中のタグ<name>〜</name>がラベル名を指定する個所である。タグ<bndbox>〜</bndbox>に記載された4つの数値が、1つ目のバウンディング・ボックスの左上と右下の点の座標である。アノテーションデータは手作業で作成するか、学習済みの物体検出モデルを用いて作成できる。
【0066】
図12は、学習データセットの中の出力データセットとなるアノテーションデータのうち、セマンティック・セグメンテーションモデルに対するアノテーションデータの例である。アノテーションデータは専用ソフトウェアを用いて手作業で作成するか、学習済みのセマンティック・セグメンテーションモデルを用いて作成できる。データは、領域別に色分けされた画像である。ここで領域は、測定対象とする半導体デバイスの断面を構成する各層と半導体デバイスの断面以外の背景とを含む。この例では、背景310、半導体デバイスの断面を構成する各層としてマスク311及び基板312の3領域からなる。3領域のラベル名は、それぞれ「背景」、「マスク」、「基板」であり、色は、それぞれ黒、グレー、白である。
【0067】
図13は、ラベル名、ラベル番号、色の対応関係であり、データベース205に格納されている。各ラベルに付与するラベル番号と色は任意であるが、寸法計測装置200内では固定する必要がある。
【0068】
図14は、学習ステップを行う際に入出力装置206に表示されるGUI画面の一例である。画面は入力データウィンドウ323と、アノテーションデータウィンドウ331と、ターミナルウィンドウ339を含む。入力データウィンドウ323では、ロードボタン320により、学習データセットの入力データセットが格納されているフォルダを選択する。セレクトボタン321により、入力データウィンドウ323に表示したい画像ファイルを選択する。クリアボタン322により表示結果をクリアする。セル324と325には選択したフォルダ名とファイル名とが表示される。画像ウィンドウ326には選択した画像が表示される。
【0069】
アノテーションデータウィンドウ331では、モデルボタン328によりセマンティック・セグメンテーションモデルか、物体検出モデルかのいずれかを選択する。選択したモデルに応じてアノテーションデータウィンドウ331に表示されるデータの種類は変わる。また、アノテーションデータが含まれるフォルダもモデルに応じて自動で選択される。
図14はセマンティック・セグメンテーションモデルを選択した場合の例である。セレクトボタン329によって、ウィンドウ334に表示したいサンプルを指定する。セル332と333には選択したサンプルのあるフォルダ名とファイル名とが表示される。ウィンドウ334にはアノテーション画像が、テーブル335にはラベル名、ラベル番号、色の対応表が表示される。
【0070】
ターミナルウィンドウ339では、スタートボタン336により、モデルボタン328で選択したモデルの学習が開始される。ターミナルウィンドウ339には計算中の途中経過、最終結果がメッセージで表示される。ストップボタン337により計算途中でも停止できる。計算結果である学習済みモデルは自動で保存される。
【0071】
図15は、寸法を計測したいテスト画像の例である。このテスト画像には、前述したように、不要な奥の構造の輪郭が写っている。この構造は、寸法計測の際には無視すべき構造である。
【0072】
図16は、
図15に示したテスト画像を学習済み物体検出モデルに入力して推論させた結果である。検出された物体のラベル名とともに、バウンディング・ボックス座標が黒枠で示されている。
図16の例では4つのパターンが検出されている。
【0073】
図17は、
図16に対応するバウンディング・ボックスの座標値データであり、推論後にデータベース205に自動で保存される。
【0074】
図18は、
図15に示したテスト画像を学習済みセマンティック・セグメンテーションモデルに入力して推論させた結果である。領域それぞれの色は、
図13で設定した対応関係に従っており、背景が黒、マスクがグレー、基板が白である。
【0075】
図18から各領域間の境界線の座標が求まるので、それを
図17のバウンディング・ボックスの座標値を用いて、バウンディング・ボックスごとに境界線座標を切り出す。切り出したバウンディング・ボックスごとの境界線座標から、寸法計測に必要な特徴点A〜Gの座標を求め、寸法L1〜L5を求める。このようにして、入力した画像からパターンごとに寸法が自動で計測される。
【0076】
図19は、計測した寸法値を元の入力画像上に表示した例であり、検出されたバウンディング・ボックス位置も矩形で示されている。
【0077】
図20は
図19の計測結果であり、5つの寸法L1〜L5が、パターンごとの値の他に統計値(平均値、標準偏差)も計算され、表示される。結果はデータベース205に自動で保存されるとともに、平均値は入出力装置206へ出力される。
【0078】
図21は、推論・計測ステップを行う際に入出力装置206に表示されるGUI画面の一例である。画面は入力データウィンドウ345と、推論・計測結果ウィンドウ353とを含む。入力データウィンドウ345では、定義ボタン340により特徴点と寸法との対応を定義したスクリプトを読み込む。読み込まれた定義は定義テーブル349に表示される。つぎに、マニュアルボタン341によりテスト画像を1枚ずつ選択して推論・計測を行うか、バッチボタン342によりテスト画像を含むフォルダを指定してフォルダ内の全画像を一括で推論・計測を行うかを選択する。フォルダ名は画像の倍率に一致させることにより、倍率に関する情報はフォルダ名から得られる。セル346と347には選択したフォルダ名とファイル名とが表示される。画像ウィンドウ350には選択されたテスト画像が表示される。バッチを選択した場合には1枚目のテスト画像のファイル名と画像が、セル347と画像ウィンドウ350に表示される。スタートボタン343により2つの学習済みモデルを用いて推論と寸法計測が行われる。計算結果は自動で保存される。クリアボタン344により表示結果をクリアする。
【0079】
推論・計測結果ウィンドウ353では、ロードボタン351により結果を表示したい元画像を選択する。セル354と355には選択した画像のフォルダ名とファイル名とが表示される。ウィンドウ356にはセマンティック・セグメンテーション結果が、ウィンドウ357には物体検出結果が表示される。最終結果ウィンドウ358には、元画像上に寸法値が表示された画像が表示され、数値テーブル359には計測された寸法値と統計値が表示される。
【0080】
図22は、所望の寸法に近い形状をデータベース205から探索する探索ステップの際に、入出力装置206に表示されるGUI画面の一例であり、ターゲットウィンドウ360と探索結果ウィンドウ363とを含む。ターゲットウィンドウ360では、ターゲット構造セル361に目標とする寸法値を入力する。定義ウィンドウ362には寸法L1〜L5の定義が図示される。
【0081】
探索結果ウィンドウ363では、サーチボタン364により探索を実行する。探索結果は誤差の小さい順にソートして表示され、フォルダ名366、ファイル名367、寸法値を記載した画像368、寸法の平均値369が表示される。
【実施例2】
【0082】
実施例1では第1画像認識モデルとしてセマンティック・セグメンテーションモデルを、第2画像認識モデルとして物体検出モデルを用いたが、寸法計測方法としてはこの組み合わせに限られない。実施例2として、2種類のセマンティックセグメンテーションモデルを用いる方法について説明する。実施例2では、輪郭線を検出させる第1のセマンティック・セグメンテーションモデルと、特徴点を検出させる第2のセマンティック・セグメンテーションモデルとを用いる。以下、実施例2については、画像認識モデルを用いた特徴点の抽出を中心に説明し、実施例1と重複する点については説明を省略する。
【0083】
図23は、寸法計測装置200が実行する、事前の学習ステップを経て入力された画像から寸法を計測するフローチャートである。
【0084】
まず、寸法計測に必要な特徴点209を定義し、入出力装置206を介してデータベース205に格納する(ステップS300)。これは学習ステップの前に行う。
【0085】
つぎに、第1のセマンティックセグメンテーションモデル(第1画像認識モデル)に対しては輪郭線とそれ以外に領域分けしたアノテーション画像を、第2のセマンティック・セグメンテーションモデル(第2画像認識モデル)に対しては寸法計測に必要な特徴点とそれ以外に領域分けしたアノテーション画像を作成し、入出力装置206から入力する(ステップS302)。
【0086】
つぎに、中央処理部201はモデル学習部202に学習データセットを渡し、モデル学習部202でモデルの学習を行う(ステップS303)。以下の説明では、モデルとしては、畳み込み層を有するニューラルネットワークを用いる場合を説明するが、決定木などの機械学習のモデルを用いることもできる。
【0087】
つぎに、寸法を計測したいテスト画像を評価装置112から読み込む(ステップS304)。中央処理部201はモデル学習部202に画像を渡し、モデル推定部203で推定を行い(ステップS305)、2種類のセマンティック・セグメンテーション画像を得る(ステップS306)。
【0088】
つぎに、特徴点と寸法計測個所の対応関係209を入出力装置206から入力し、データベース205に格納する(ステップS301)。
【0089】
つぎに、寸法計測部204にて、2種類のセマンティック・セグメンテーション画像から、輪郭線上の特徴点座標を求め、主要寸法を計算し、輪郭線全体の座標データを求める(ステップS307)。続いて、得られた寸法を実寸法のスケールに変換する(ステップS308)。計測した寸法値を入出力装置206へ出力するとともに、輪郭線の座標データをデータベース205へ保存する(ステップS309)。
【0090】
さらに、加工形状の比較をしたい場合には、比較したい2つのサンプルを指定する(ステップS310)。続いて、形状比較の指定の有無を判定し(ステップS311)、指定がなければ、寸法計測処理を終了する(ステップS312)。指定があれば、データベース205に格納してある輪郭線データと寸法値を読み出し、比較した結果を入出力装置206へ出力する(ステップS313)。以上により、処理を終了する(ステップS314)。
【0091】
以下、処理装置111がエッチング装置である場合を例に説明する。
図24は、
図8の学習データセットの入力データ画像に対応する輪郭線を教えるアノテーションデータの例である。領域は背景400と輪郭線401との2領域からなる。ラベル名はそれぞれ「背景」、「輪郭」であり、ラベル番号はそれぞれ0、1である。
図25は、ラベル名、ラベル番号、色の対応関係である。各ラベルに付与するラベル番号と色は任意であるが、寸法計測装置200内では固定する必要がある。
【0092】
図26は、
図8の学習データセットの入力データ画像に対応する特徴点の位置を教えるアノテーションデータの例である。特徴点として
図9に示したA〜Gの7点のうち、A411,C412,E413,G414の4点をラベルとして設定し、背景410を含めた5つのラベル別に色分けした画像である。他の3つの特徴点B,D,Fは、対称性を仮定すればA,C,Eから求まるのでラベルには含めないこととした。後述するように、特徴点A,C,Eについては特徴点B,D,Fと輪郭線から求めることにより、目視によらなくても、特徴点B,D,Fと特徴点A,C,Eとが一つの単位パターンについての特徴点であることを担保することが可能になる。
図27は、ラベル名、ラベル番号、色の対応関係である。各ラベルに付与するラベル番号と色は任意であるが、寸法計測装置200内では固定する必要がある。
【0093】
図28は、学習ステップを行う際に入出力装置206に表示されるGUI画面の一例である。画面は入力データウィンドウ323と、アノテーションデータウィンドウ331と、ターミナルウィンドウ339とを含む。入力データウィンドウ323では、ロードボタン320により、入力画像ファイルの格納されているフォルダを選択する。セレクトボタン321により、表示したい画像ファイルを選択する。クリアボタン322により表示結果をクリアする。セル324と325には選択したフォルダ名とファイル名とが表示される。画像ウィンドウ326には選択した画像が表示される。
【0094】
アノテーションデータウィンドウ331では、モデルボタン415により輪郭線用セマンティック・セグメンテーションモデル(第1のセマンティック・セグメンテーションモデル)か、特徴点用セマンティック・セグメンテーションモデル(第2のセマンティック・セグメンテーションモデル)かのいずれかを選択する。選択したモデルに応じてアノテーションデータウィンドウ331に表示されるデータの種類は変わる。また、アノテーションデータが含まれるフォルダもモデルに応じて自動で選択される。
図28は輪郭線用セマンティック・セグメンテーションモデルを選択した場合の例である。セレクトボタン329によって、ウィンドウに表示したいサンプルを指定する。セル324と325には選択したサンプルのあるフォルダ名とファイル名とが表示される。ウィンドウ334にはアノテーション画像が、テーブル335にはラベル名、ラベル番号、色の対応表が表示される。
【0095】
ターミナルウィンドウ339では、スタートボタン336により、モデルボタン415で選択したモデルの学習が開始される。ターミナルウィンドウ339には計算中の途中経過、最終結果がメッセージで表示される。ストップボタン337により計算途中で停止できる。計算結果であるモデルパラメータは自動で保存される。
【0096】
図29は、
図15に示したテスト画像を第1の学習済みセマンティックセグメンテーションモデルに入力して推論させた輪郭線の検出結果の画像である。同時に、輪郭線の座標も求まる。
【0097】
図30は、
図15に示したテスト画像を第2の学習済みセマンティックセグメンテーションモデルに入力して推論させた特徴点A,C,E,Gの検出結果の画像である。同時に、これら特徴点の座標も求まる。なお、これらの特徴点の座標は
図29で得られた輪郭線上に必ずしも位置しているとは限らないので、
図30で得られた特徴点座標に最も近い
図29の輪郭線上の点を特徴点の座標として採用する。
【0098】
図31は、特徴点A,C,Eから、対応する特徴点B,D,Fを求める方法を説明する図である。対応点は、元の点とY座標が同一でX座標の差が最小、すなわち右側の最近傍の輪郭線上の点とする。実施例1では境界線座標をパターンごとに分割したが、実施例2では対となる2点の座標がわかっているので、分割は不要である。得られた7種の特徴点の座標と、データベース205から呼び出した特徴点と寸法の定義により、所定の寸法が計算される。このように、入力した画像から寸法が自動的に計測される。
【0099】
図32は、推論・計測ステップを行う際に入出力装置206に表示されるGUI画面の一例である。画面は入力データウィンドウ345と、推論・計測結果ウィンドウ353とを含む。入力データウィンドウ345では、定義ボタン340により特徴点と寸法との対応を定義したスクリプトを選択して読み込む。読み込まれた定義は定義テーブル349に表示される。つぎに、マニュアルボタン341によりテスト画像を1枚ずつ選択して推論・計測を行うか、バッチボタン342によりテスト画像を含むフォルダを指定してフォルダ内の全画像を一括で推論・計測を行うかを選択する。フォルダ名は画像の倍率に一致させることにより、倍率に関する情報はフォルダ名から得られる。セル346と347には選択したフォルダ名とファイル名とが表示される。画像ウィンドウ350には選択されたテスト画像が表示される。バッチを選択した場合には1枚目のテスト画像のファイル名と画像が、セル347と画像ウィンドウ350に表示される。スタートボタン343により2つの学習済みモデルを用いて推論と寸法計測が行われる。計算結果は自動で保存される。クリアボタン344により表示結果をクリアする。
【0100】
推論・計測結果ウィンドウ353では、ロードボタン351により結果を表示したい元画像を選択する。セル354と355には選択した画像のフォルダ名とファイル名とが表示される。ウィンドウ416には輪郭線に対するセマンティック・セグメンテーション結果が、ウィンドウ417には特徴点に対するセマンティック・セグメンテーション結果が表示される。最終結果ウィンドウ358には、元画像上に寸法値が表示された画像が表示され、数値テーブル359には計測された寸法値と統計値が表示される。
【0101】
図33は、2つの画像の形状を比較する比較ステップを行う際に入出力装置206に表示されるGUI画面の一例である。画面は入力データウィンドウ423と、比較結果ウィンドウ436とを含む。入力データウィンドウ423では、ロード1ボタン420により比較したい1枚目の画像を、ロード2ボタン421により比較したい2枚目の画像を選択する。セル424と425には選択した1枚目の画像のフォルダ名とファイル名が、セル426と427には選択した2枚目の画像のフォルダ名とファイル名が表示される。画像ウィンドウ428と429には選択した2つの画像が表示される。輪郭線ウィンドウ430、431には、選択した2つの画像に対して抽出された輪郭線画像が、データベース205から読み出され、表示される。
【0102】
比較結果ウィンドウ436は、輪郭線を重ねて表示したウィンドウ437と、2つの画像の寸法値の平均値とその差分を示したテーブル438が表示される。オートボタン432は、2つの輪郭線430,431を縦方向はマスク上面が一致し、横方向はトレンチ中央が一致するように自動で調整するボタンである。自動調整が失敗した場合あるいは手動で調整したい場合には、マニュアルボタン433を押し、ユーザがマウスで画像をドラッグすることにより、位置を調整する。テーブル438には、2つの画像に対して計測された寸法値がデータベース205から読みだされ、両者の差分が計算されて表示される。セーブボタン434によって、重ね書きした輪郭線画像とテーブルの数値をデータベース205へ保存する。
【0103】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。例えば、実施例1においてセマンティック・セグメンテーションモデルは半導体デバイスの断面を構成する各層を領域として色分けした画像を出力する例を説明したが、実施例2のように特徴点を出力するセマンティック・セグメンテーションモデルとしてもよい。ただし、この場合は、実施例2の例と違って全ての特徴点(実施例2の例では特徴点A〜G)を出力する必要がある。
【0104】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、SSD(Solid State Drive)等の記憶装置、又は、IC(Integrated Circuit)カード、SDカード、DVD(Digital Versatile Disc)の記録媒体に格納することができる。
【0105】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。