図1は、本発明の関連技術に係る目標画像生成支援装置を実現するコンピュータ2の構成を示す図である。図1に示すように、コンピュータ2は、各種演算処理を行うCPU21、基本プログラムを記憶するROM22および各種情報を記憶するRAM23をバスラインに接続した一般的なコンピュータシステムの構成となっている。バスラインにはさらに、情報記憶を行う固定ディスク25、各種情報の表示を行う表示部であるディスプレイ26、操作者からの入力を受け付けるキーボード27aおよびマウス27b(以下、「入力部27」と総称する。)、光ディスク、磁気ディスク、光磁気ディスク等のコンピュータ読み取り可能な記録媒体91から情報の読み取りを行ったり記録媒体91に情報の書き込みを行う読取/書込装置28、並びに、外部と通信を行う通信部29が、適宜、インターフェイス(I/F)を介する等して接続される。
コンピュータ2には、事前に読取/書込装置28を介して記録媒体91からプログラム92が読み出され、固定ディスク25に記憶される。そして、プログラム92がRAM23にコピーされるとともにCPU21がRAM23内のプログラムに従って演算処理を実行することにより(すなわち、コンピュータがプログラムを実行することにより)、コンピュータ2が、目標画像生成支援装置としての処理を行う。
図2は、コンピュータ2が実現する目標画像生成支援装置1の機能構成を示すブロック図である。目標画像生成支援装置1は、演算部31および記憶部32を備える。演算部31は、第1包含領域画像生成部311、第2包含領域画像生成部312、表示用画像生成部313および目標画像生成部314を備える。演算部31の処理の詳細については後述する。なお、演算部31の機能は専用の電気回路により構築されてもよく、部分的に専用の電気回路が利用されてもよい(図28の演算部31において同様)。
記憶部32は、複数の画像データセット40を記憶する。各画像データセット40は、対象画像データ41および参照画像データ42を含む。対象画像データ41は対象画像を示し、参照画像データ42は参照画像を示す。以下の説明では、各画像データが示す画像に、当該画像データと同じ符号を付す。
図3は対象画像41を示す図であり、図4は参照画像42を示す図である。図3の対象画像41のデータ、および、図4の参照画像42のデータは、同じ画像データセット40に含まれる。対象画像41は、半導体基板やガラス基板、プリント配線基板等の基板上の欠陥、および、その周囲を示す画像であり、当該基板は所定の回路パターンを有する。対象画像41は、欠陥領域411と、欠陥領域411以外の領域412(以下、「非欠陥領域412」という。)と、を含む。図3では、理想的なパターンを示す後述の参照パターン領域421を二点鎖線にて示している。
参照画像42は、基板上のパターンを示す画像である。参照画像42は、対象画像41と同じパターンの領域421を示し、原則として、当該領域421には欠陥領域は存在しない。以下、参照画像42における理想的なパターン(欠陥が存在しないパターン)の領域421を、「参照パターン領域421」という。対象画像41および参照画像42は、共に多階調の画像であり、同じサイズである。複数の画像データセット40は、パターンや撮像条件等が互いに異なる対象画像41を含む。
後述の処理により、対象画像41から、または、対象画像41および参照画像42から、図5に示す目標画像43を生成する際に、目標画像生成支援装置1は、操作者による目標画像43の生成を支援する。目標画像43は、対象画像41における欠陥領域411の位置および形状のみを示す画像である。本処理例では、目標画像43は二値画像であり、対象画像41と同じサイズである。
選択された複数の画像処理を決められた順序にて画像に対して実行する処理を複合画像処理として、目標画像43は、対象画像41を目標画像43に近似させるための複合画像処理の生成に用いられる。すなわち、対象画像41中の欠陥領域411を抽出するための複合画像処理が、目標画像43を用いて生成される。目標画像生成支援装置1は、複合画像処理生成装置として動作することにより、遺伝的プログラミングを利用して欠陥領域抽出用の複合画像処理を生成する処理を行う。また、当該処理の一部(または、事前準備)として、目標画像生成支援装置1は、操作者による目標画像43の生成を支援する。
ここで、複合画像処理の概要について説明する。図6は、一の複合画像処理を表す木構造を示す図である。目標画像生成支援装置1における複合画像処理は、木構造にて表現される。図6に示す複合画像処理は、1つの画像の入力を示す終端ノードI1〜I4と、1つまたは複数の画像が入力されるとともに1つの画像を出力する非終端ノードF1〜F7,F10,F100と、を含む。終端ノードI1〜I4には、一の画像データセット40に含まれる対象画像41または参照画像42(のデータ)が入力される。
非終端ノードF1〜F7,F10,F100は、典型的には、画像処理フィルタを示す。非終端ノードF1〜F7では、入力される1つの画像に対して所定の画像処理(平均値フィルタ処理や、最大値フィルタ処理等)が実行され、処理後の1つの画像が次のノードに出力される。非終端ノードF10では、2つの非終端ノードF3,F5から入力される2つの画像に対して所定の画像処理(論理和演算や、論理積演算等)が実行され、処理後の1つの画像が次のノードに出力される。ルートのノードF100では、非終端ノードF6,F7および終端ノードI4から入力される3つの画像に対して所定の画像処理が実行され、処理後の1つの画像が処理済み画像として出力される。目標画像生成支援装置1では、多種の画像処理(アルゴリズム)が準備されており、様々な木構造の各ノードとして任意の画像処理が割り当てられることにより、様々な複合画像処理が表現される。なお、同じアルゴリズムの画像処理であっても、各種パラメータの値が異なるものは、異なる画像処理として取り扱われる。
図7は、欠陥領域抽出用の複合画像処理を生成する処理の流れを示す図である。複合画像処理の生成では、まず、複数の対象画像41のそれぞれに対して目標画像43が生成され、複数の目標画像43が準備される(ステップS11)。目標画像43を生成する処理については、図7の処理の全体を説明した後に詳述する。
目標画像43が準備されると、演算部31では、初期世代の複数の個体、すなわち、初期世代の複数の複合画像処理が準備される(ステップS12)。本処理例では、ランダムに選択された複数の終端ノードと非終端ノードとをランダムに結合することにより、互いに相違する初期世代の複数の複合画像処理が生成される。初期世代の複数の複合画像処理は、入力部27を介した操作者の入力に従って生成されてもよい。
続いて、複数の複合画像処理を実行することにより、複数の処理済み画像が取得される(ステップS13)。後述するように、各処理済み画像と、対象画像41中の欠陥領域411を示す目標画像43との一致度に基づいて、新たな複合画像処理の生成、および、処理済み画像の取得が繰り返される。したがって、原則として、各複合画像処理における少なくとも1つの終端ノードは、対象画像41が入力されるものとなり、複合画像処理は、対象画像41に対して実行されるものと捉えることができる。このように、ステップS13の処理では、複数の複合画像処理のそれぞれを各対象画像41に対して実行することにより、複数の処理済み画像が取得される。例えば、処理済み画像は二値画像である。
演算部31では、各処理済み画像と目標画像43との一致度を示す値に基づいて、当該処理済み画像の取得に用いられた複合画像処理の評価値が求められる(ステップS14)。例えば、処理済み画像における各位置の画素の値(すなわち、階調値)と、目標画像43における当該位置の画素の値との差の二乗が、当該位置の画素の値となる画像(差分画像)が求められる。続いて、当該画像の全ての画素の値の和を当該画像の画素数にて割って得た値が画像評価値として求められる。そして、各複合画像処理に対して取得された複数の処理済み画像の画像評価値の代表値(例えば、平均値や中央値、あるいは、最大値等)が求められ、1から画像評価値の代表値を引いて得た値が、当該複合画像処理の評価値として求められる。なお、画像評価値および評価値は他の手法にて求められてよい。ここでは、処理済み画像が目標画像43に近似する複合画像処理の評価値が、処理済み画像が目標画像43に近似しない複合画像処理の評価値よりも高くなる。
各複合画像処理の評価値が求められると、演算部31では、現世代(ここでは、初期世代)の複数の複合画像処理における評価値のうち最大の評価値が、予め定められた設定値以上であるか否かが判定される(ステップS15)。ここでは、最大の評価値が設定値未満であると確認される。また、現世代が、予め指定されたG番目の世代(Gは正の整数)であるか否かが判定される(ステップS16)。ここでは、現世代がG番目の世代ではないと確認される。
続いて、後述の交叉処理を行う際に用いられる選択確率が、各複合画像処理の評価値に基づいて算出される(ステップS17)。例えば、各複合画像処理の評価値を、現世代の全ての複合画像処理の評価値の和で割った値が、当該複合画像処理の選択確率として求められる。これにより、評価値が高い複合画像処理ほど、選択確率が高くなる。選択確率は、他の手法にて求められてよい。
各複合画像処理の選択確率が求められると、選択確率に基づいて2つの複合画像処理を選択し、当該2つの複合画像処理から新たな2つの複合画像処理を生成する交叉処理が行われる(ステップS18)。交叉処理では、当該2つの複合画像処理を表現する2つの木構造のそれぞれにおいて、1つのノードを交叉位置としてランダムに選択し、当該交叉位置よりも末端の部分である部分木を当該2つの木構造にて入れ替えることにより、新たな個体である2つの複合画像処理が生成される。
例えば、図8中に符号R11を付して示す木構造の複合画像処理と、符号R21を付して示す木構造の複合画像処理とがペアとして選択され、木構造R11のノードP11と、木構造R21のノードP21とが交叉位置としてランダムに選択される。そして、木構造R11のノードP11より末端部分の部分木(図8中にて符号L1を付す実線の矩形にて囲む部分木)と、木構造R21のノードP21より末端部分の部分木(図8中にて符号L2を付す破線の矩形にて囲む部分木)とが入れ替えられる(交叉が行われる)。これにより、図9中に符号R12を付して示す木構造の複合画像処理と、符号R22を付して示す木構造の複合画像処理とが新たに生成される。既述のように、交叉が行われる複合画像処理のペアは、選択確率に従って選択されるため、評価値が高い複合画像処理同士にて交叉が行われる確率が高くなる。
本処理例における交叉処理では、例えば、初期世代の個体としてN個(Nは正の整数)の複合画像処理が存在する場合に、Nが偶数であるときには、(N−2)個の複合画像処理が選択確率に従って選択され、((N/2)−1)組のペアが生成される。また、Nが奇数であるときには、(N−1)個の複合画像処理が選択確率に従って選択され、((N−1)/2)組のペアが生成される。そして、予め設定された交叉確率に従って、各ペアにおいて実際に交叉処理を行うか否かが決定される。交叉処理を行うペアでは、上記のように新たな2つの複合画像処理が生成される。交叉処理を行わないペアでは、当該ペアの複合画像処理がそのまま新たな2つの複合画像処理として扱われる。したがって、ステップS18の処理では、現世代のN個の複合画像処理から(N−2)個または(N−1)個の新たな複合画像処理が取得される。なお、ステップS18の処理にて取得される新たな複合画像処理の個数は任意に決定されてよい。
続いて、複数の新たな複合画像処理に対して突然変異処理が行われる(ステップS19)。例えば、図10に示す木構造R31の複合画像処理では、1つのノードP31がランダムに選択される。そして、当該ノードP31が、ランダムに生成された部分木(図11中にて符号L3を付す破線の矩形にて囲む部分木)に変更され、図11に示す木構造R32が取得される。このように、突然変異処理では、木構造においてノードや部分木の変更または削除がランダムに行われる。実際には、複数の新たな複合画像処理のそれぞれにおいて、予め設定された突然変異確率に従って、実際に突然変異処理を行うか否かが決定される。
突然変異処理が完了すると、エリート保存処理が行われる(ステップS20)。エリート保存処理では、直前のステップS14の処理にて取得された評価値のうち最大の評価値の複合画像処理が、そのまま新たな複合画像処理に追加される。新たな複合画像処理の個数がN個に満たない場合(ここでは、Nが偶数の場合)には、2番目に評価値が高い複合画像処理が、そのまま新たな複合画像処理に追加される、または、ランダムに生成した複合画像処理が新たな複合画像処理に追加される。このようにして、新たな世代(ここでは、2番目の世代)のN個の複合画像処理が取得される。新たな世代の複数の複合画像処理では、直前の世代の複数の複合画像処理のうち評価値が高い複合画像処理の全体または一部が優先的に含まれているといえる。すなわち、演算部31では、複数の複合画像処理のうち評価値が高い複合画像処理が優先的に含まれるように、遺伝的プログラミングにより、新たな複数の複合画像処理が生成される。
新たな世代の複合画像処理が取得されると、ステップS13に戻って、当該新たな世代の複数の複合画像処理を対象画像41に対して実行することにより、複数の処理済み画像が取得される。続いて、目標画像43と各処理済み画像との一致度を示す画像評価値が求められ、画像評価値に基づいて各複合画像処理の評価値が求められる(ステップS14)。演算部31では、現世代の複数の複合画像処理の評価値のうち最大の評価値が、予め定められた設定値以上であるか否かが判定される(ステップS15)。最大の評価値が設定値未満である場合、現世代がG番目の世代(Gは正の整数)であるか否かが判定される(ステップS16)。現世代がG番目の世代ではない場合、上記と同様に、選択確率の算出、交叉処理、突然変異処理、および、エリート保存処理が行われ、次の世代の新たな複数の複合画像処理が取得される(ステップS17〜S20)。そして、複数の処理済み画像の取得、および、評価値の算出が行われる(ステップS13,S14)。
ステップS17〜S20,S13,S14の処理は、最大の評価値が設定値以上となる、または、現世代がG番目の世代となるまで繰り返される(ステップS15,S16)。ステップS17〜S20,S13,S14の処理の繰り返しは、他の条件を満たすまで繰り返されてよい。例えば、ステップS14の処理後、評価値が最大の複合画像処理による複数の処理済み画像が複数の目標画像43と共にディスプレイ26に表示され、操作者の入力により、ステップS17〜S20,S13,S14の処理の繰り返しの要否が決定されてもよい。
ステップS15の処理にて最大の評価値が設定値以上となることが確認される、または、ステップS16の処理にて現世代がG番目の世代となることが確認されると、現世代における最大の評価値の複合画像処理が、対象画像41を目標画像43に近似させる欠陥領域抽出用の複合画像処理として自動的に選択される(ステップS21)。必要に応じて、ステップS13の処理にて当該複合画像処理により生成された複数の処理済み画像が複数の目標画像43と共にディスプレイ26に表示され、操作者により欠陥領域抽出用の複合画像処理が適切であるか否かが確認されてよい。以上により、欠陥領域抽出用の複合画像処理を生成する処理が完了する。
図12は、目標画像43を生成する処理の流れを示す図であり、図7のステップS11にて行われる処理を示す。目標画像43の生成処理では、まず、処理対象となる一の画像データセット40に含まれる対象画像41および参照画像42がディスプレイ26に並べて表示される。例えば、図3の対象画像41および図4の参照画像42が表示され、操作者が両者を見比べることにより、対象画像41中の欠陥領域411の位置および形状が認識される。そして、ディスプレイ26上の対象画像41において欠陥領域411を囲む線の入力が入力部27(例えば、マウス27b)を用いて行われ、当該線を外縁とする領域413(図3中にて、外縁を破線にて示す領域であり、以下、「包含領域413」という。)が指定される。このように、操作者による包含領域413を示す入力が入力部27において受け付けられることにより、演算部31において、包含領域413の位置および形状が特定される(ステップS110)。
包含領域413は、欠陥領域411を含むとともに、欠陥領域411のエッジから離れて欠陥領域411を囲む外縁を有する。包含領域413は、欠陥領域411に対するラフ領域と捉えることができる。図3の例では、包含領域413は2つの欠陥領域411を含む。包含領域413の特定により、対象画像41の包含領域413の部分、および、参照画像42における包含領域413と同じ領域(以下、同様に「包含領域413」という。他の画像において同様。)の部分のみが、ディスプレイ26に拡大(ズームアップ)されて表示される。上記のように、目標画像生成支援装置1では、GUI(Graphical User Interface)による操作が利用されることが好ましい。
包含領域413が特定されると、図2の第1包含領域画像生成部311にて対象画像41中の包含領域413に対して行う処理の種類、および、第2包含領域画像生成部312にて参照画像42中の包含領域413に対して行う処理の種類が、操作者の入力により選択される(ステップS111)。ここでは、第1包含領域画像生成部311の処理、および、第2包含領域画像生成部312の処理として、共にエッジ抽出処理が選択されたものとする。
第1包含領域画像生成部311では、図3の対象画像41中の包含領域413に対してエッジ抽出処理を施すことにより、図13に示す二値の第1包含領域画像44が生成される(ステップS112)。詳細には、まず、対象画像41の包含領域413に対してコントラスト強調処理を行うか否かが操作者の入力に基づいて決定される。例えば、対象画像41の包含領域413において、欠陥領域411と、非欠陥領域412のパターン領域または非パターン領域(すなわち、背景領域)との間で濃度が相違するが、両領域の濃度の差が小さい場合には、コントラスト強調処理が行われることが好ましい。
コントラスト強調処理を行う場合には、まず、コントラスト強調に用いられる階調変換テーブルにおけるパラメータ値である、シャドウ側設定値SD、ハイライト側設定値HL、および、ガンマ値γが操作者の入力により設定される。例えば、対象画像41の各画素が0.0〜1.0までの値にて表現される場合、階調変換テーブルは、対象画像41においてシャドウ側設定値SD以下の値を有する画素を値0.0の画素に変換し、ハイライト側設定値HL以上の値を有する画素を値1.0の画素に変換することを示す。また、シャドウ側設定値SDよりも大きく、かつ、ハイライト側設定値HLよりも小さい値を有する画素は、ガンマ値γを用いて表されるカーブ形状に従った値の画素に変換される。例えば、シャドウ側設定値SDが0.0であり、ハイライト側設定値HLが1.0である場合に、対象画像41の各画素の値をVi、変換後の画素の値をVoとして、上記カーブ形状は(Vi=Vo1/γ)として表される。
階調変換テーブルが準備されると、対象画像41の包含領域413に対して、当該階調変換テーブルに従ってコントラスト強調が施され、コントラスト強調済みの画像がディスプレイ26に表示される。操作者は、コントラスト強調済みの画像と、対象画像41の包含領域413とを見比べて、コントラスト強調済みの画像において欠陥が目立つように変換されているか否かを確認する。そして、必要に応じて、上記パラメータ値(シャドウ側設定値SD、ハイライト側設定値HL、および、ガンマ値γ)の変更、コントラスト強調の実行、および、コントラスト強調済みの画像の表示が繰り返される。このようにして、パラメータ値が調整され、調整後のパラメータ値におけるコントラスト強調済みの画像が取得される。なお、対象画像41において、濃度が異なる複数種類の欠陥領域が混在している場合には、ステップS110の処理にて、複数種類の欠陥領域に対して複数の包含領域413がそれぞれ特定され、各包含領域413に対して個別に上記パラメータ値が調整されることが好ましい。
また、上記パラメータ値SD,HLは、第1包含領域画像生成部311にて自動的に決定されてもよい。この場合、対象画像41の包含領域413に含まれる全ての画素の値のヒストグラム(以下、単に「画素値のヒストグラム」という。)が求められる。続いて、画素値のヒストグラムにおいて、欠陥領域411、非欠陥領域412のパターン領域、および、非欠陥領域412の背景領域をそれぞれ示すピークの区間が特定され、欠陥領域411を示すピークの両側にて極小値となる区間の代表値(例えば、区間の中央の値)が、それぞれシャドウ側設定値SDおよびハイライト側設定値HLとして取得される。包含領域413が1つの欠陥領域411のみを含む場合には、欠陥領域411が包含領域413の中央部に位置すると考えられる。したがって、欠陥領域411を示すピークは、例えば、当該包含領域413の中央における画素の値近傍のピークとして選択される。また、図3の上側の欠陥領域411のように、欠陥領域411がパターン領域と同じ濃度を有する場合には、画素値のヒストグラムにおける2つのピークのうち、当該欠陥領域411に含まれる位置として操作者により予め指定された画素の値近傍のピークが、欠陥領域411を示すピークとして選択される。
第1包含領域画像生成部311では、コントラスト強調処理を行わない場合における対象画像41の包含領域413、または、コントラスト強調済みの対象画像41の包含領域413(以下、同様に「対象画像41の包含領域413」という。)に対して、エッジ抽出処理が施される。具体的には、まず、ラプラシアンフィルタのサイズKm、および、二値化の閾値Ktが操作者の入力により設定される。続いて、対象画像41の包含領域413に対して、サイズKmのラプラシアンフィルタを作用させることにより、エッジ画像が生成される。ここでは、各位置の画素に対してラプラシアンフィルタを用いて得られる値の絶対値が当該位置の画素の値となる画像が求められ、当該画像の濃度を反転する(階調反転する)ことにより、エッジ画像が生成される。そして、閾値Ktを用いてエッジ画像が二値化され、二値化済みの画像がディスプレイ26に表示される。
操作者は、二値化済みの画像と、対象画像41の包含領域413とを見比べて、二値化済みの画像において抽出された領域が、欠陥領域411の形状の少なくとも一部に近似しているか否か等を確認する。そして、必要に応じて、上記パラメータ値(ラプラシアンフィルタのサイズKm、および、二値化の閾値Kt)の変更、エッジ画像の生成、エッジ画像の二値化、および、二値化済みの画像の表示が繰り返される。このようにして、パラメータ値が調整され、調整後のパラメータ値における二値化済みの画像が、第1包含領域画像44として取得される。図13に示す第1包含領域画像44は、図3の対象画像41の上側の欠陥領域411における外形(すなわち、境界線)の少なくとも一部を示す。エッジ画像の生成では、ラプラシアンフィルタ以外の微分フィルタが用いられてよい。
上記パラメータ値Ktは、第1包含領域画像生成部311にて自動的に決定されてもよい。具体的には、まず、エッジ画像の包含領域413から画素値のヒストグラムが求められる。また、包含領域413が1つの欠陥領域411のみを含む場合に、包含領域413の外縁と欠陥領域411のエッジとの間の距離が、操作者毎の特徴として予め設定される(すなわち、各操作者が欠陥領域411のエッジからどれぐらい離れた位置に包含領域413の外縁を設定する傾向があるかが予め設定される。)。実際に特定された包含領域413の外縁の長さ、および、現在の操作者における上記距離を用いて、欠陥領域411のエッジを含む一定幅のエッジ領域の面積(画素数)が推定される。そして、エッジ画像の画素値のヒストグラムにおける頻度の累積値が、エッジ領域の面積を超える区間の代表値(例えば、区間の中央の値)が、二値化の閾値Ktとして取得される。本処理例におけるエッジ画像では、エッジ領域に含まれる画素の値が、他の領域の画素の値よりも低くなる(エッジ領域が相対的に暗くなる)。エッジ画像におけるエッジ領域の画素の値が、他の領域の画素の値よりも高くなる(エッジ領域が相対的に明るくなる)場合には、画素値のヒストグラムにおいて、画素の値の降順での頻度の累積値がエッジ領域の面積を超える区間の代表値が、二値化の閾値Ktとして取得される。二値化の閾値Ktは、エッジ画像の画素値のヒストグラムに基づく他の手法にて取得されてよく、例えば、エッジ画像の画素値のヒストグラムにおいて、エッジ領域に対応するピークと他の領域に対応するピークとの間の所定位置(例えば中央)が閾値Ktとして取得されてもよい。
第1包含領域画像44が取得されると、第2包含領域画像生成部312では、図4の参照画像42中の包含領域413から、図14に示す二値の第2包含領域画像45が生成される(ステップS113)。第2包含領域画像生成部312が第2包含領域画像45を生成する処理は、第1包含領域画像生成部311が第1包含領域画像44を生成する処理と同じである。すなわち、参照画像42の包含領域413に対してエッジ抽出処理が施され、第2包含領域画像45が生成される。第2包含領域画像生成部312におけるエッジ抽出処理も、参照画像42の包含領域413に対して微分フィルタを作用させてエッジ画像を生成する処理と、当該エッジ画像を二値化する処理と、を含む。
第2包含領域画像生成部312では、第1包含領域画像生成部311における上記処理において、欠陥領域411を参照パターン領域421に置き換えて処理が行われるため、第2包含領域画像45は、図4の参照画像42の包含領域413における参照パターン領域421の全体の外形(すなわち、境界線)を示す。エッジ抽出処理の前に、必要に応じてコントラスト強調処理が参照画像42の包含領域413に対して行われてよい。第1包含領域画像生成部311および第2包含領域画像生成部312は、画像に対してコントラスト強調処理を施すコントラスト強調部、および、画像に対してエッジ抽出処理を施すエッジ抽出処理部を共有している捉えることができる。
続いて、表示用画像生成部313では、図13の第1包含領域画像44における各位置の画素の値と、図14の第2包含領域画像45における当該位置の画素の値との論理和が、当該位置の画素の値となる図15の表示用画像46が生成される(ステップS114)。表示用画像46は、第1包含領域画像44および第2包含領域画像45から導かれる二値画像であり、図3の欠陥領域411および図4の参照パターン領域421の外形を白い線にて示す。図15の表示用画像46は、対象画像41の包含領域413の部分、および、参照画像42の包含領域413の部分と並べて、ディスプレイ26に表示される(ステップS115)。
実際には、対象画像41(および参照画像42)にはノイズが含まれるため、表示用画像46には欠陥領域411のエッジ、および、参照パターン領域421のエッジのみならず、偽欠陥領域のエッジが現れる。換言すると、表示用画像46では、欠陥領域411の複数の候補領域が存在する。また、表示用画像46において、欠陥領域411のエッジおよびパターン領域のエッジは、必ずしも正確に再現される訳ではない。したがって、必要に応じて、操作者により入力部27を介して表示用画像46が修正(レタッチ)される(ステップS116)。例えば、図15の表示用画像46において、仮に、欠陥領域411のエッジを示す白い線の一部が欠けている場合には、マウス27bを用いて、値が1の白い画素を線状に追加することにより、欠けている部分が描き足される。また、異なる方向に伸びる複数の不必要な白い線が重なる場合には、当該白い線上に値が0の黒い画素を追加することにより、当該白い線が切断される。後述する処理では、白い線にて表される閉じた図形(すなわち、始点と終点とが一致する連続した線にて表される図形)の選択が行われるため、表示用画像46の修正では、不必要な白い線の一部が切断されるのみでよい。表示用画像46の修正は、演算部31における図示省略の構成により実現される。
続いて、ディスプレイ26上の表示用画像46にて抽出されている領域(以下、「抽出領域」という。)から、欠陥領域411を選択する入力が入力部27を用いて行われる(ステップS117)。このとき、表示用画像46において白い線にて表される閉じた図形が1つの抽出領域として扱われる。例えば、操作者が、マウス27bを用いて、欠陥領域411を示すと考える抽出領域の内部をクリックして選択することにより、欠陥領域411が選択される。図15の例では、符号461を付す2つの抽出領域が選択される。図3および図4を参照して判るように、図15の上側の抽出領域461は、参照パターン領域421からはみ出したパターン(位置がずれたパターン)の領域であり、下側の抽出領域461は、パターンが剥がれた領域である。図15では、対象画像41においてパターンがはみ出した領域やパターンが剥がれた領域が、参照パターン領域421のエッジにより分離(顕在化)される。
以上のようにして、入力部27にて欠陥領域411を選択する入力が受け付けられると、目標画像生成部314では、選択された抽出領域461のみを示すとともに、対象画像41と同じサイズの二値画像が、図5に示すように目標画像43として生成される(ステップS118)。目標画像43では、欠陥領域411(選択された抽出領域461)が白い画素の集合として表される。なお、対象画像41が複数種類の欠陥領域411を含む場合に、欠陥領域411毎に異なる値を有する目標画像43(すなわち、三値以上の値を有する目標画像43)が生成されてもよい。
実際には、一の画像データセット40に含まれる対象画像41に対して目標画像43が生成されると、上記ステップS110〜S118の処理を繰り返すことにより、他の一の画像データセット40に含まれる対象画像41に対して目標画像43が生成される。図12では、上記繰り返しを示す処理の図示を省略している。全ての画像データセット40に対して目標画像43が生成されると、図7のステップS12〜S21が行われ、欠陥領域抽出用の複合画像処理が生成される。
次に、図12のステップS111において、第1包含領域画像生成部311の処理として二値化処理が選択され、第2包含領域画像生成部312の処理としてエッジ抽出処理が選択された場合について説明する。この場合、第1包含領域画像生成部311が、図3の対象画像41中の包含領域413に対して二値化処理を施すことにより、図16に示す二値の第1包含領域画像44aが生成される(ステップS112)。詳細には、まず、二値化処理に用いられるシャドウ側閾値PLおよびハイライト側閾値PHが操作者の入力により設定される。続いて、対象画像41の包含領域413において、(PL≦PM≦PH)を満たす値PMを有する画素を値1.0の画素に変換し、残りの画素を値0.0の画素に変換することにより、二値画像が生成され、ディスプレイ26に表示される。
操作者は、当該二値画像と、対象画像41の包含領域413とを見比べて、当該二値画像において抽出された領域(値1の画素の領域)が、欠陥領域411の形状の少なくとも一部に近似しているか否か等を確認する。そして、必要に応じて、上記パラメータ値(シャドウ側閾値PLおよびハイライト側閾値PH)の変更、二値画像の生成、および、二値画像の表示が繰り返される。このようにして、パラメータ値が調整され、調整後のパラメータ値における二値画像が、図16に示すように第1包含領域画像44aとして取得される。第1包含領域画像44aは、図3の対象画像41の上側の欠陥領域411における外形の少なくとも一部を示す。
上記パラメータ値PL,PHは、第1包含領域画像生成部311にて自動的に決定されてもよい。この場合、対象画像41の包含領域413から画素値のヒストグラムが求められる。続いて、画素値のヒストグラムにおいて、欠陥領域411、非欠陥領域412のパターン領域、および、非欠陥領域412の背景領域をそれぞれ示すピークの区間が特定され、欠陥領域411を示すピークの両側にて極小値となる区間の代表値(例えば、区間の中央の値)が、それぞれシャドウ側閾値PLおよびハイライト側閾値PHとして取得される。包含領域413が1つの欠陥領域411のみを含む場合には、欠陥領域411が包含領域413の中央部に位置すると考えられる。したがって、欠陥領域411を示すピークは、例えば、当該包含領域413の中央における画素の値近傍のピークとして選択される。また、図3の上側の欠陥領域411のように、欠陥領域411がパターン領域と同じ濃度を有する場合には、画素値のヒストグラムにおける2つのピークのうち、当該欠陥領域411に含まれる位置として操作者により予め指定された画素の値近傍のピークが、欠陥領域411を示すピークとして選択される。シャドウ側閾値PLおよびハイライト側閾値PHは対象画像41の包含領域413の画素値のヒストグラムに基づく他の手法にて取得されてよい。
なお、対象画像41において、濃度が異なる複数種類の欠陥領域(ただし、背景領域およびパターン領域とも濃度が異なる。)が混在している場合には、ステップS110の処理にて、複数種類の欠陥領域に対して複数の包含領域413が特定され、各包含領域413に対して個別に上記パラメータ値が調整されることが好ましい。また、1つの包含領域413内に濃度が異なる複数種類の欠陥領域が混在する場合には、シャドウ側閾値PLおよびハイライト側閾値PHの組合せを1つの閾値セットとして、複数種類の欠陥領域にそれぞれ適した複数の閾値セットが準備される。続いて、対象画像41の包含領域413を複数の閾値セットのそれぞれにて二値化処理することにより、複数の二値画像が生成される。そして、当該複数の二値画像を合成することにより、第1包含領域画像44aが生成される。
第1包含領域画像44aが取得されると、第2包含領域画像生成部312では、図4の参照画像42中の包含領域413から、図14に示す二値の第2包含領域画像45が生成される(ステップS113)。続いて、表示用画像生成部313では、第1包含領域画像44aおよび第2包含領域画像45に基づいて、表示用画像46が生成される(ステップS114)。具体的には、まず、図14の第2包含領域画像45の白い線が1画素の幅となるように、細線化処理が施される。続いて、図16の第1包含領域画像44aにおける各位置の画素の値と、細線化処理後の第2包含領域画像45における当該位置の画素の値との排他的論理和が、当該位置の画素の値となる図17の表示用画像46aが生成される。すなわち、第2包含領域画像45の白い線と重なる第1包含領域画像44aの画素の値が0と1との間で反転される。表示用画像46aは、図3の欠陥領域411および図4の参照パターン領域421の外形を白い線または白い領域にて示す。既述のように、ノイズの影響により表示用画像46aには様々な白い領域または白い線が現れる。
表示用画像46aは、対象画像41の包含領域413の部分、および、参照画像42の包含領域413の部分と並べて、ディスプレイ26に表示される(ステップS115)。また、必要に応じて、操作者により入力部27を介して表示用画像46aが修正(レタッチ)される(ステップS116)。例えば、白い線の欠けている部分を描き足したり、不必要な白い線の切断が行われる。また、図17の表示用画像46aにおいて、仮に、欠陥領域411と同じ位置の白い領域の一部が欠けている場合には、マウス27bを用いて、値が1の白い画素の領域を追加することにより、欠けている部分が描き足される。さらに、欠陥領域411と同じ位置の白い領域に不必要な白い領域が接続する場合には、接続部分に値が0の黒い画素を追加することにより、不必要な白い領域が切り離される。
続いて、ディスプレイ26上の表示用画像46aにおける複数の抽出領域から、欠陥領域411を選択する入力が入力部27を用いて行われる(ステップS117)。このとき、表示用画像46において白い線(白い領域のエッジであってもよい。)にて表される閉じた図形に加えて、孤立した白い領域も1つの抽出領域として扱われる。操作者が、マウス27bを用いて、欠陥領域411を示すと考える抽出領域の内部をクリックして選択することにより、欠陥領域411が選択される。図17の例では、符号461を付す2つの抽出領域が選択される。これにより、目標画像生成部314では、図5に示す目標画像43が生成される(ステップS118)。図17では、対象画像41においてパターンがはみ出した領域やパターンが剥がれた領域が、参照パターン領域421のエッジにより分離される。
図12のステップS111では、第1包含領域画像生成部311の処理、および、第2包含領域画像生成部312の処理として、共に二値化処理が選択されてもよい。この場合、ステップS114における表示用画像46の生成では、二値化処理により生成される第1包含領域画像44における各位置の画素の値と、二値化処理により生成される第2包含領域画像45における当該位置の画素の値との差の絶対値が、当該位置の画素の値となる表示用画像が生成される。当該表示用画像では、対象画像41においてパターンがはみ出した領域やパターンが剥がれた領域が、両包含領域画像44,45の差分により抽出される。目標画像生成支援装置1では、第1包含領域画像生成部311および第2包含領域画像生成部312が、画像に対して二値化処理を施す二値化処理部を共有していると捉えることができる。
また、第1包含領域画像生成部311の処理としてエッジ抽出処理が選択され、第2包含領域画像生成部312の処理として二値化処理が選択されてもよい。この場合、図17の表示用画像46aを生成するステップS114の処理において、第1包含領域画像と第2包含領域画像とを入れ替えることにより、表示用画像が生成される。
以上のように、目標画像生成支援装置1では、第1包含領域画像生成部311の処理としてエッジ抽出処理または二値化処理を選択し、第2包含領域画像生成部312の処理としてエッジ抽出処理または二値化処理を選択することにより、様々な対象画像41に対して適切な目標画像43が生成される。例えば、パターン上に当該パターンとほぼ同じ濃度の不要なパターン(回路パターンと同じ材料のパターン)が重なる状態を示す図18の対象画像41では、図19に示すように、当該不要なパターンの領域のうち参照パターン領域421(図4参照)を除く領域を欠陥領域411として示す目標画像43が生成される。パターンに連続して余分なパターンが形成された状態を示す図20の対象画像41では、図21に示すように、当該余分なパターンの領域を欠陥領域411として示す目標画像43が生成される。パターン上に背景とほぼ同じ濃度の不要なパターン(背景と同じ材料のパターン)が重なる状態を示す図22の対象画像41では、図23に示すように、参照パターン領域421のうち当該不要なパターンにて覆われた領域を欠陥領域411として示す目標画像43が生成される。パターンが部分的に剥がれた状態を示す図24の対象画像41では、図25に示すように、パターンが欠落した領域を欠陥領域411として示す目標画像43が生成される。
次に、図26に示すように、パターンおよび背景とは異なる濃度の不要なパターンが当該パターン上に重なるまたは繋がる欠陥を、対象画像41が示す場合について述べる。この場合、対象画像41において当該不要なパターンの領域の全体が操作者により欠陥領域411として認識され、欠陥領域411を含むとともに、欠陥領域411のエッジから離れて欠陥領域411を囲む外縁を有する包含領域413が特定される(図12:ステップS110)。包含領域413が特定されると、第1包含領域画像生成部311の処理として二値化処理が選択され、第2包含領域画像生成部312の処理については省略することが選択される(ステップS111)。
続いて、図26の対象画像41中の包含領域413に対して二値化処理を施すことにより二値の第1包含領域画像が生成される(ステップS112)。このとき、対象画像41では、欠陥領域411の濃度がパターン領域および背景領域と異なるため、欠陥領域411の全体を示す第1包含領域画像が生成される。第1包含領域画像では、パターン領域は抽出されない。実際には、対象画像41におけるノイズの影響等により、第1包含領域画像では、欠陥領域411以外の領域も抽出される。そして、当該第1包含領域画像が表示用画像としてディスプレイ26に表示される(ステップS115)。なお、第2包含領域画像生成部312におけるステップS113の処理、および、表示用画像生成部313におけるステップS114の処理は省略される。必要に応じて表示用画像が修正された後(ステップS116)、ディスプレイ26上の表示用画像の複数の抽出領域から、欠陥領域411を選択する入力が入力部27を用いて行われる(ステップS117)。これにより、図27に示すように、欠陥領域411のみを示す目標画像43が生成される(ステップS118)。
対象画像41の包含領域413が、細かい模様を有するテクスチャ領域(例えば、ざらざらとした質感の領域)を欠陥領域411として含む場合には、第1包含領域画像生成部311では、二値化処理の前に所定の前処理が行われる。例えば、対象画像41の包含領域413に対して、ラプラシアンフィルタ等の微分フィルタを作用させてエッジ画像が生成され、続いて、包含領域413のエッジ画像に対して平滑化フィルタを作用させて特徴領域画像が生成される。特徴領域画像では、対象画像41において同様の質感を有する領域がおよそ一定の値の画素の集合となる。その後、特徴領域画像に対して上記二値化処理を行うことにより、欠陥領域411の全体の外形の少なくとも一部を示す第1包含領域画像が生成される。参照パターン領域421等がテクスチャ領域である場合に、第2包含領域画像生成部312において、上記と同様の処理を行うことにより、包含領域413における参照パターン領域421の外形を示す第2包含領域画像が生成される。複数種類のテクスチャ領域が存在する場合には、サイズや種類の異なる複数のフィルタから、操作者により、抽出すべきテクスチャ領域に応じたフィルタが適宜選択される。
また、複数の特徴領域画像から1つの包含領域画像が生成されてもよい。例えば、対象画像41(または参照画像42)の包含領域413において、粗いテクスチャ領域と細かいテクスチャ領域とが存在する場合等に、対象画像41の包含領域413に対して、異なるサイズの2つのラプラシアンフィルタを用いて2つのエッジ画像が生成され、当該2つのエッジ画像に平滑化処理を施すことにより、2つの特徴領域画像が生成される。そして、2つの特徴領域画像の差分画像を求め、当該差分画像に対して上記二値化処理を施すことにより、第1包含領域画像が生成される。
以上に説明したように、目標画像生成支援装置1では、対象画像41において欠陥領域411を囲む外縁を有する任意の形状の領域を操作者が指定することにより、欠陥領域411を含む包含領域413が特定され、対象画像41中の当該包含領域413に対して、二値化処理またはエッジ抽出処理を施すことにより、二値の第1包含領域画像が生成される。続いて、第1包含領域画像または第1包含領域画像から導かれる画像であり、少なくとも欠陥領域411の外形を示す表示用画像がディスプレイ26に表示され、表示用画像にて抽出されている領域から欠陥領域411を選択する操作者の入力が入力部27にて受け付けられる。そして、当該入力に基づいて、欠陥領域411を示す目標画像が生成される。これにより、操作者がマウス等を用いて欠陥領域の輪郭を正確になぞる煩雑な作業を行うことなく、適切な目標画像を容易に、かつ、効率よく生成することが可能となる。また、目標画像の生成におけるミスや、操作者毎のばらつきを低減することも実現される。さらに、包含領域413のみを示す表示用画像が表示されることにより、欠陥領域411の選択の際に対象画像41の包含領域413外におけるノイズ等の影響を除外して、欠陥領域411を容易に選択することができる。包含領域413のみが処理対象とされるため、画像の表示や画像処理の演算に要する時間を短縮することができる。
好ましい第1包含領域画像生成部311では、対象画像41の包含領域413に対する二値化処理にて利用される閾値が、対象画像41の包含領域413における画素値のヒストグラムに基づいて取得される。これにより、対象画像41全体の画素値のヒストグラムを用いる場合に比べて明確なピークを得やすくなり、閾値を精度よく取得することができる。また、エッジ抽出処理において、エッジ画像を二値化する処理にて利用される閾値が、エッジ画像の包含領域413における画素値のヒストグラムに基づいて取得される。これにより、閾値を精度よく取得することができる。
また、第2包含領域画像生成部312では、参照画像42中の包含領域413に対して、二値化処理またはエッジ抽出処理を施すことにより、第2包含領域画像が生成される。そして、表示用画像生成部313により、第1包含領域画像および第2包含領域画像に基づいて、欠陥領域411とパターン領域とが分離された表示用画像が生成される。これにより、対象画像41において欠陥領域411とパターン領域とが重なる場合であっても、欠陥領域411のみを示す適切な目標画像を容易に生成することが可能となる。
図28は、本発明の一の実施の形態に係る目標画像生成支援装置1aの機能構成を示すブロック図である。図28の目標画像生成支援装置1aでは、図2の目標画像生成支援装置1と比較して、演算部31に候補領域画像生成部315および包含領域取得部316が追加される。他の構成は、図2の目標画像生成支援装置1と同様であり、同じ構成に同じ符号を付す。
図29は、目標画像を生成する処理の流れの一部を示す図であり、図12中のステップS110にて行われる処理を示している。目標画像を生成する際には、まず、候補領域画像生成部315において、後述の候補領域の抽出に利用される画像処理が準備される(ステップS100)。
ここで、候補領域抽出用の画像処理は、ステップS11の処理を除き、図7の欠陥領域抽出用の複合画像処理の生成処理と同様の処理により生成される。具体的に、候補領域抽出用の画像処理の生成では、他の対象画像が準備されており、操作者が、ディスプレイ26に表示された当該他の対象画像において、マウス27b等を用いて欠陥領域の輪郭をなぞり、内部を白く塗り潰す等の作業を行うことにより、他の目標画像が生成される(ステップS11)。実際には、数個の対象画像にそれぞれ対応する数個の目標画像が生成される。
目標画像が生成されると、演算部31では、初期世代の複数の個体、すなわち、初期世代の複数の複合画像処理が準備され(ステップS12)、複数の複合画像処理のそれぞれを当該他の対象画像に対して実行することにより、複数の処理済み画像が取得される(ステップS13)。続いて、各処理済み画像と上記他の目標画像との一致度を示す値に基づいて、当該処理済み画像の取得に用いられた複合画像処理の評価値が求められる(ステップS14)。所定の終了条件を満たしていないことが確認されると(ステップS15,S16)、選択確率の算出、交叉処理、突然変異処理、エリート保存処理が順次行われる(ステップS17〜S20)。ステップS17〜S20の処理では、複数の複合画像処理のうち評価値が高い複合画像処理が優先的に含まれるように、遺伝的プログラミングにより、新たな複数の複合画像処理が生成される。
新たな世代の複合画像処理が取得されると、ステップS13に戻って、当該新たな世代の各複合画像処理を対象画像に対して実行することにより、複数の処理済み画像が取得される。続いて、処理済み画像の取得に用いられた各複合画像処理の評価値が求められる(ステップS14)。所定の終了条件を満たしていないことが確認されると(ステップS15,S16)、選択確率の算出、交叉処理、突然変異処理、および、エリート保存処理が行われ、次の世代の新たな複数の複合画像処理が取得される(ステップS17〜S20)。そして、複数の処理済み画像の取得、および、評価値の算出が行われる(ステップS13,S14)。
ステップS17〜S20,S13,S14の処理は、所定の終了条件を満たすまで繰り返される(ステップS15,S16)。終了条件が満たされると、現世代における最大の評価値の複合画像処理が、候補領域抽出用の画像処理(複合画像処理)として選択される(ステップS21)。なお、上記処理が他のコンピュータにて実行されることにより、候補領域抽出用の画像処理が生成され、当該画像処理が、目標画像生成支援装置1aに入力されてもよい。
候補領域抽出用の画像処理が準備されると、候補領域画像生成部315では、例えば、図30の対象画像41に対して上記画像処理が施される。これにより、図31に示すように、欠陥領域の複数の候補領域471(図31では、1つの候補領域に符号471aを付している。)を示す二値の候補領域画像47が生成される(ステップS101)。なお、上記画像処理では、必要に応じて図4の参照画像42も利用される。候補領域画像47は、ディスプレイ26に表示される(ステップS102)。
続いて、操作者において、複数の候補領域471のうち欠陥領域411に重なる一の候補領域471を選択候補領域として選択する入力が入力部27を用いて行われる(ステップS103)。例えば、操作者が、ディスプレイ26上の候補領域画像47において、欠陥領域411と重なると特定した位置をマウス27bのクリックにて選択することにより、当該位置に連結する候補領域471が、選択候補領域として選択される。また、操作者が、ディスプレイ26上の候補領域画像47において、マウス27bを用いて範囲選択を行うことにより、その範囲と重なる候補領域471が選択候補領域として選択される。図31の例では、操作者が図30の対象画像41を参照することにより、符号471aを付す候補領域が選択候補領域として選択される。
選択候補領域471aを選択する入力が入力部27にて受け付けられると、包含領域取得部316において選択候補領域471aのみを示す画像が生成される。そして、当該画像における選択候補領域471aに対して、その外縁を予め定められた画素数だけ膨張させる太らせ処理(膨張処理)が施される。これにより、対象画像41中の欠陥領域411を含むとともに、欠陥領域411のエッジから離れて欠陥領域411を囲む外縁を有する包含領域413が、図30中に破線にて示すように取得される(ステップS104)。包含領域413が特定されると、図12のステップS111〜S118が行われることにより、図32に示す目標画像43が生成される。図29のステップS100〜S104、および、図12のステップS111〜S118は、複数の対象画像41に対して繰り返され、複数の目標画像43が生成される。
以上に説明したように、図28の目標画像生成支援装置1aでは、他の対象画像および他の目標画像を用いて遺伝的プログラミングにより生成された画像処理を利用して、対象画像41から、欠陥領域411の複数の候補領域471を示す候補領域画像47が生成される。そして、複数の候補領域471のうち欠陥領域411に対応する候補領域が選択候補領域471aとして操作者により選択され、選択候補領域471aに対して太らせ処理を施すことにより、包含領域413が取得される。このように、操作者が、複数の候補領域471から選択候補領域471aを選択するのみにより、包含領域413を容易に設定することができる。その結果、多数の対象画像41に対する多数の目標画像43を容易に生成することが実現される。
また、選択候補領域471aのみを示す画像における選択候補領域471aに対して太らせ処理を施すことにより、欠陥領域411と、欠陥領域411に近接する偽欠陥領域とが結合した領域が包含領域として取得されることを防止することができる。これにより、適切な目標画像43をより確実に生成することができる。
目標画像生成支援装置1aでは、包含領域取得部316、第1包含領域画像生成部311、第2包含領域画像生成部312、表示用画像生成部313、および、目標画像生成部314を含む構成により、選択候補領域471aに基づいて目標画像43を取得する目標画像取得部が実現されるが、第1包含領域画像が表示用画像としてディスプレイ26に表示される場合には、第2包含領域画像生成部312および表示用画像生成部313は省略可能である。また、候補領域抽出用の画像処理の性能によっては、包含領域取得部316により、選択候補領域471aのみを示す画像が目標画像43として生成されてもよい。この場合、包含領域取得部316が目標画像取得部として捉えられ、目標画像43をさらに容易に取得することが実現される。
上記目標画像生成支援装置1,1aでは様々な変形が可能である。
第1包含領域画像生成部311において、候補領域抽出用の画像処理を用いて、第1包含領域画像が生成されてもよい。このように、第1包含領域画像生成部311では、対象画像41中の包含領域413に対して、二値化処理またはエッジ抽出処理を施すことにより、または、欠陥領域411の候補領域を抽出する画像処理を施すことにより、二値の包含領域画像が生成される。
対象画像41が、基板上に繰り返し形成されるパターンを示す場合には、一の対象画像41が、他の一の対象画像41に対する参照画像42として取り扱われてもよい。目標画像生成支援装置1,1aでは、包含領域413に限定して各種処理が行われるため、当該他の一の対象画像41の包含領域413が、当該一の対象画像41の欠陥領域411と重ならない限り、適切な目標画像43が生成可能である。
対象画像41は、基板以外に、パターンが形成されたフィルム等の対象物上の欠陥を示す多階調画像であってよく、パターンを有していない対象物上の欠陥を示す画像であってもよい。
上記実施の形態および各変形例における構成は、相互に矛盾しない限り適宜組み合わされてよい。