信号処理装置、欠陥検出装置、信号処理方法、欠陥検出方法およびプログラム
【課題】境界を有する信号を適切にフィルタリングする。
【解決手段】境界を有する2次元の入力信号をフィルタリングする信号処理装置であって、入力信号の領域外を補完する2次元の外挿信号を入力信号に基づき生成する外挿信号生成部と、外挿信号を入力信号の領域外に付加した補正信号を生成する信号付加部と、補正信号をフィルタリングするフィルタ部と、フィルタリングされた補正信号における入力信号に対応する領域を切り出した出力信号を生成して出力する出力部と、を備える信号処理装置を提供する。
【解決手段】境界を有する2次元の入力信号をフィルタリングする信号処理装置であって、入力信号の領域外を補完する2次元の外挿信号を入力信号に基づき生成する外挿信号生成部と、外挿信号を入力信号の領域外に付加した補正信号を生成する信号付加部と、補正信号をフィルタリングするフィルタ部と、フィルタリングされた補正信号における入力信号に対応する領域を切り出した出力信号を生成して出力する出力部と、を備える信号処理装置を提供する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、信号処理装置、欠陥検出装置、信号処理方法、欠陥検出方法およびプログラムに関する。
【背景技術】
【0002】
境界を有する信号をフィルタリングする場合がある。この場合、境界の近傍部分において適切にフィルタリングすることが困難である。そこで、従来、境界の近傍部分において、フィルタ係数を変形して境界の内側の値のみを用いてフィルタリングしたり、境界の外側を境界値と同一値の信号で埋めてフィルタリングしたりしている。
【0003】
非特許文献1 サンマイクロシステムズ、"Programming in Java Advanced Imaging"(Chapter 7 Image Enhancement)、[online]、1999年11月、[平成22年8月20日検索]、インターネット〈URL:http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Image-enhance.doc.html〉
非特許文献2 WIKIPEDIA、"Extrapolation"、[online]、[平成22年8月20日検索]、インターネット〈URL:http://en.wikipedia.org/wiki/Extrapolation〉
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、境界部分に勾配をもった信号を上述の方法によりフィルタリングした場合、フィルタリングした後の信号が本来の値から大きく外れてしまい適切な結果を得ることができなかった。例えば、被検査物の撮像画像と当該撮像画像をローパスフィルタリングした画像との差分画像から被検査物の表面の欠陥を検出する処理が知られている。このような処理において、上述のフィルタリングをした場合、被検査物の周縁部分が適切にフィルタリングできずに、被検査物の周縁部分を欠陥であると判断してしまっていた。
【課題を解決するための手段】
【0005】
上記課題を解決するために、本発明の第1の態様においては、境界を有する2次元の入力信号をフィルタリングする信号処理装置であって、前記入力信号の領域外を補完する2次元の外挿信号を前記入力信号に基づき生成する外挿信号生成部と、前記外挿信号を前記入力信号の領域外に付加した補正信号を生成する信号付加部と、前記補正信号をフィルタリングするフィルタ部と、フィルタリングされた前記補正信号における前記入力信号に対応する領域を切り出した出力信号を生成して出力する出力部と、を備える信号処理装置、信号処理方法およびプログラムを提供する。
【0006】
本発明の第2の態様においては、境界を有する1次元の入力信号をフィルタリングする信号処理装置であって、前記入力信号の領域外を補完する1次元の信号であって、各位置の値が、境界位置に対して対称の位置における入力信号の値を境界値を中心に反転した値である外挿信号を生成する外挿信号生成部と、前記外挿信号を前記入力信号の領域外に付加した補正信号を生成する信号付加部と、前記補正信号をフィルタリングするフィルタ部と、フィルタリングされた前記補正信号における前記入力信号に対応する領域を切り出した信号を生成して、生成した信号を出力信号として出力する出力部と、を備える信号処理装置、信号処理方法およびプログラムを提供する。
【0007】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0008】
【図1】本実施形態に係る信号処理装置10の構成を示す。
【図2】本実施形態に係る信号処理装置10の処理フローを示す。
【図3】1次元の入力信号の一例を示す。
【図4】外挿信号を入力信号の領域外に付加した補正信号の一例を示す。
【図5】補正信号および補正信号をローパスフィルタリングした信号の一例を示す。
【図6】本実施形態に係る欠陥検出装置30の構成を示す。
【図7】本実施形態に係る欠陥検出装置30の処理フローを示す。
【図8】撮像画像の一例、および、被検査物の境界位置を示す。
【図9】外挿画像を撮像画像の領域外に付加した補正画像の一例を示す。
【図10】ローパスフィルタリングされた補正画像の一例を示す。
【図11】撮像画像からローパスフィルタリングされた補正画像を減じた差分画像の一例を示す。
【図12】欠陥の検出結果の一例を示す。
【図13】本実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。
【発明を実施するための形態】
【0009】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0010】
図1は、本実施形態に係る信号処理装置10の構成を示す。信号処理装置10は、境界を有する入力信号をフィルタリングする。入力信号は、1次元の信号であってもよいし、画像等の2次元の信号であってもよいし、2次元以上の多次元の信号であってもよい。
【0011】
ここで、境界を有する入力信号とは、信号の一部分が連続せずに途切れた信号である。1次元の信号であれば、境界を有する入力信号は、一例として、マイナス方向またはプラス方向の少なくとも一方の端部が途切れた信号である。また、2次元の信号であれば、境界を有する入力信号は、一例として、円、三角形および四角形等の環状の境界を有する信号である。
【0012】
信号処理装置10は、境界位置設定部12と、境界値設定部14と、外挿信号生成部16と、信号付加部18と、フィルタ部20と、出力部22とを備える。境界位置設定部12は、入力信号の境界位置を設定する。境界値設定部14は、入力信号の境界値を設定する。
【0013】
外挿信号生成部16は、入力信号の領域外を補完する外挿信号を入力信号に基づき生成する。外挿信号生成部16は、一例として、境界位置設定部12により設定された境界位置および境界値設定部14により設定された境界値に基づき外挿信号を生成する。
【0014】
信号付加部18は、外挿信号生成部16により生成された外挿信号を入力信号の領域外に付加した補正信号を生成する。フィルタ部20は、信号付加部18により生成された補正信号をフィルタリングする。
【0015】
出力部22は、フィルタ部20によりフィルタリングされた補正信号における入力信号に対応する領域を切り出して、信号を生成する。そして、出力部22は、切り出した信号を出力信号として出力する。
【0016】
図2は、本実施形態に係る信号処理装置10の処理フローを示す。図3は、1次元の入力信号の一例を示す。図4は、外挿信号を入力信号の領域外に付加した補正信号の一例を示す。図5は、補正信号および補正信号をローパスフィルタリングした信号の一例を示す。なお、図3から図5に示された各信号波形は、横軸(x軸)が1次元の信号の位置xを表し、縦軸(y軸)が信号の値(I(x))を表す。
【0017】
まず、ステップS11において、信号処理装置10は、フィルタリングの対象となる入力信号を入力する。図3の例においては、信号処理装置10は、1次元の信号であって、波形の左側(マイナス方向側)に境界を有する信号を入力する。なお、信号処理装置10は、波形の右側(プラス方向側)に境界を有する1次元の信号を入力してもよいし、波形の右側および左側の両方に境界を有する1次元の信号を入力してもよい。
【0018】
続いて、ステップS12において、境界位置設定部12は、入力信号における境界位置を設定する。境界位置設定部12は、一例として、入力信号の値の存在する領域(領域内)における末端の位置を検出し、検出した位置を境界位置として設定する。図3の例においては、境界位置設定部12は、1次元の信号の波形の左端の位置(x0)を境界位置として設定する。なお、境界位置設定部12は、ユーザから指定された位置を境界位置として設定してもよい。
【0019】
続いて、ステップS13において、境界値設定部14は、入力信号の境界値を設定する。境界値設定部14は、一例として、入力信号の値の存在する領域(領域内)における末端の値を検出し、検出した値を境界値として設定する。図3の例においては、境界値設定部14は、1次元の信号の波形の左端の値(Ib)を境界値として設定する。
【0020】
なお、境界値設定部14は、推定した境界値を設定してもよいし、検出した値を補正した値を境界値として設定してもよい。また、境界値設定部14は、ユーザから指定された値を境界値として設定してもよい。
【0021】
続いて、ステップS14において、外挿信号生成部16は、入力信号の領域外を補完する外挿信号を入力信号に基づき生成する。より具体的には、外挿信号生成部16は、入力信号の領域外を補完する信号であって、各位置の値が、境界位置に対して対称の位置における入力信号の値を境界値を中心に反転した値である外挿信号を生成する。即ち、外挿信号生成部16は、入力信号に対して境界位置を中心に位置の正負を反転し且つ境界値を中心に値の正負を反転した信号を、外挿信号として生成する。
【0022】
図4の例においては、外挿信号生成部16は、入力信号の左側(マイナス方向側)の領域外を補完するための、下記の式(1)により表される外挿信号(Im(x))を生成する。
【0023】
Im(x)=2×Ib−I(2×x0−x) …(1)
【0024】
なお、式(1)において、Ibは、境界値を表す。x0は、境界位置を表す。Im(x)は、境界位置x0よりも左側(マイナス側)の各位置xにおける外挿信号の値を表す。I(x)は、位置xにおける入力信号の値を表す。
【0025】
即ち、図4の例において、外挿信号生成部16は、境界値(Ib)の2倍(2×Ib)から、境界位置(X0)の2倍(2×X0)から外挿信号の位置(x)を減じた位置(2×X0−x)における入力信号の値(I(2×X0−x))を減じた信号[2×Ib−I(2×x0−x)]を、外挿信号[Im(x)]として算出する。これにより、外挿信号生成部16は、入力信号の領域外に入力信号の境界から連続して自然に接続される外挿信号を生成することができる。
【0026】
続いて、ステップS15において、信号付加部18は、外挿信号生成部16により生成された外挿信号を入力信号の領域外に付加した補正信号を生成する。即ち、信号付加部18は、入力信号と外挿信号とを接続した信号を生成する。図4の例においては、信号付加部18は、境界位置(X0)から右側(プラス方向側)の各位置においては、値がI(x)となり、境界位置(X0)より左側(マイナス方向側)の各位置においては、値がIm(x)となる補正信号を生成する。
【0027】
続いて、ステップS16において、フィルタ部20は、信号付加部18により生成された補正信号をフィルタリングする。図5の例においては、フィルタ部20は、補正信号をローパスフィルタリングする。なお、フィルタ部20は、ローパスフィルタリングに限らず、他のフィルタリング処理を行ってもよい。
【0028】
続いて、ステップS17において、出力部22は、フィルタリングされた補正信号における入力信号に対応する領域を切り出した出力信号を生成して出力する。図5の例においては、フィルタリングされた補正信号における、境界位置(X0)から右側(プラス方向側)の各位置の値を表わす信号を出力信号として出力する。これにより、出力部22は、境界を有する入力信号を直接フィルタリングした場合と同一の範囲の信号を出力することができる。
【0029】
以上のような信号処理装置10によれば、例えば境界部分に勾配をもった入力信号をフィルタリングした場合であっても、境界部分において適切なフィルタリングがされた信号を出力することができる。
【0030】
なお、ステップS14では、外挿信号生成部16は、入力信号の領域外の全部を補完する外挿信号を生成するのではなく、領域外の一部を補完する外挿信号を生成してもよい。外挿信号生成部16は、一例として、境界位置(X0)に対応する値をフィルタリング処理により算出するために必要な領域を補完する外挿信号を生成する。即ち、外挿信号生成部16は、一例として、フィルタ部20の係数長(フィルタの窓サイズ))に対応する信号長よりも少なくとも長い外挿信号を生成する。これにより、外挿信号生成部16は、外挿信号を生成するための演算量およびメモリ量等を少なくすることができる。
【0031】
図6は、本実施形態に係る欠陥検出装置30の構成を示す。欠陥検出装置30は、本実施形態に係る信号処理装置10の変形例であって、信号処理装置10と略同一の構成および機能を採る。従って、信号処理装置10が備える部材と略同一の構成および機能の部材に同一の符号を付け、以下相違点を除き説明を省略する。
【0032】
欠陥検出装置30は、入力画像として被検査物の表面を撮像した撮像画像を入力して、入力した撮像画像から被検査物の表面の欠陥を検出する。欠陥検出装置30は、入力部32と、境界位置設定部12と、境界値設定部14と、外挿信号生成部16と、信号付加部18と、フィルタ部20と、差分画像生成部34と、検出部36とを備える。
【0033】
入力部32は、被検査物を撮像した撮像画像を入力する。境界位置設定部12は、撮像画像における被検査物の境界位置を設定する。境界値設定部14は、撮像画像における被検査物の境界値を設定する。
【0034】
外挿信号生成部16は、撮像画像の領域外を補完する外挿画像を、外挿画像の境界位置および境界値に基づき生成する。信号付加部18は、外挿画像を撮像画像の領域外に付加した補正画像を生成する。フィルタ部20は、補正画像をローパスフィルタリングする。
【0035】
差分画像生成部34は、入力部32が入力した撮像画像とローパスフィルタリングされた補正画像との差分を表す差分画像を生成する。検出部36は、差分画像を解析して被検査物の欠陥を検出する。
【0036】
図7は、本実施形態に係る欠陥検出装置30の処理フローを示す。図8は、撮像画像の一例、および、被検査物の境界位置を示す。図9は、外挿画像を撮像画像の領域外に付加した補正画像の一例を示す。図10は、ローパスフィルタリングされた補正画像の一例を示す。図11は、撮像画像からローパスフィルタリングされた補正画像を減じた差分画像の一例を示す。図12は、欠陥の検出結果の一例を示す。
【0037】
まず、ステップS21において、入力部32は、被検査物の表面を撮像した撮像画像を入力する。図8の例においては、入力部32は、観察用の台に載置された円形の被検査物の表面を撮像した撮像画像を入力する。
【0038】
続いて、ステップS22において、境界位置設定部12は、撮像画像における境界位置を設定する。図8の例においては、境界位置設定部12は、撮像画像に映っている被検査物の周縁部分を境界位置として設定する。境界位置設定部12は、一例として、図8の点線で示されるように、撮像画像における輝度が大きく変化する箇所を結んだ円形の境界線を境界位置として設定する。
【0039】
続いて、ステップS23において、境界値設定部14は、撮像画像における境界値を設定する。図8の例においては、境界値設定部14は、撮像画像に映っている被検査物の周縁部分の画素値を境界値として設定する。境界値設定部14は、一例として、図8の点線で示される円形の境界線上の画素値を境界値として設定する。
【0040】
なお、境界値設定部14は、撮像画像の境界の接線方向に沿って値を平均化することにより境界値を算出してもよい。例えば、図8の例においては、被検査物の周縁部分の位置を表す円状の境界線に沿って、画素値を平均化して境界値を算出する。
【0041】
続いて、ステップS24において、外挿信号生成部16は、撮像画像の領域外を補完する外挿画像を撮像画像に基づき生成する。より具体的には、外挿信号生成部16は、各ピクセル位置の値が、境界位置に対して対称のピクセル位置における撮像画像の値を境界値を中心に反転した値である外挿画像を生成する。
【0042】
この場合において、外挿信号生成部16は、外挿画像の各ピクセル位置の値を、境界位置を結ぶ境界線を挟んで対称のピクセル位置における撮像画像の値に基づき生成する。即ち、外挿信号生成部16は、外挿画像の各ピクセル位置の値を、当該ピクセル位置から境界線に下ろした法線の延長線上であって、当該ピクセル位置から境界線までの距離と同一距離のピクセル位置における撮像画像の値に基づき生成する。
【0043】
さらに、この場合において、外挿信号生成部16は、一例として、外挿画像における各ピクセル位置の値を、当該ピクセル位置に対して境界位置を挟んで対称のピクセル位置の周囲のピクセルの撮像画像の値に基づき算出する。例えば、外挿信号生成部16は、対応するピクセル位置に画素が存在しない場合には、そのピクセル位置の周囲の画素の値から補完して、そのピクセル位置の値を生成する。これにより、外挿信号生成部16は、精度良く外挿画像の各ピクセルの値を生成することができる。
【0044】
続いて、ステップS25において、信号付加部18は、外挿信号生成部16により生成された外挿画像を撮像画像の領域外に付加した補正画像を生成する。図9の例においては、信号付加部18は、撮像画像における被検査物の領域外の画像を、外挿画像に置き換えた補正画像を生成する。
【0045】
続いて、ステップS26において、フィルタ部20は、信号付加部18により生成された補正画像をローパスフィルタリングする。図10の例においては、フィルタ部20は、補正画像に対してガウシアンフィルタをかける。ガウシアンフィルタは、下記の式(2)により定義される。
【0046】
【数1】
【0047】
フィルタ部20は、式(2)に表されるガウシアンフィルタと補正画像とのコンボリューションを演算することにより、補正画像をローパスフィルタリングする。なお、式(2)において、μは、フィルタの中心であり、x=μの場合においてf(x)が最大となる。また、σはフィルタの広がりを表す。
【0048】
続いて、ステップS27において、差分画像生成部34は、入力部32が入力した撮像画像と、フィルタ部20によりローパスフィルタリングされた補正画像との差分を表す差分画像を生成する。図11の差分画像は、図8に示された撮像画像から、図10に示されるローパスフィルタリングされた補正画像を減算した画像である。
【0049】
続いて、ステップS28において、検出部36は、差分画像生成部34により生成された差分画像を解析して被検査物の欠陥を検出する。図12の例においては、検出部36は、図11に示された差分画像を予め定められたしきい値により2値化して、値が1(図中の白の点)の部分を欠陥として特定する。
【0050】
以上のような欠陥検出装置30によれば、被検査物の境界部分において適切にローパスフィルタリングをかけることができる。従って、欠陥検出装置30によれば、被検査物の表面の欠陥を正確に検出することができる。
【0051】
図13は、本実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、及びCD−ROMドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、及び入出力チップ2070を有するレガシー入出力部とを備える。
【0052】
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【0053】
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、CD−ROMドライブ2060を接続する。通信インターフェイス2030は、ネットワークを介して他の装置と通信する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。CD−ROMドライブ2060は、CD−ROM2095からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
【0054】
また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、及び/又は、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050を入出力コントローラ2084へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。
【0055】
RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フレキシブルディスク2090、CD−ROM2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。
【0056】
コンピュータ1900にインストールされ、コンピュータ1900を信号処理装置10として機能させるプログラムは、境界位置設定モジュールと、境界値設定モジュールと、外挿信号生成モジュールと、信号付加モジュールと、フィルタモジュールと、出力モジュールとを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、境界位置設定部12、境界値設定部14、外挿信号生成部16、信号付加部18、フィルタ部20および出力部22としてそれぞれ機能させる。
【0057】
これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である境界位置設定部12、境界値設定部14、外挿信号生成部16、信号付加部18、フィルタ部20および出力部22として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の信号処理装置10が構築される。
【0058】
また、コンピュータ1900にインストールされ、コンピュータ1900を欠陥検出装置30として機能させるプログラムは、入力モジュールと、境界位置設定モジュールと、境界値設定モジュールと、外挿信号生成モジュールと、信号付加モジュールと、フィルタモジュールと、差分画像生成モジュールと、検出モジュールとを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、入力部32、境界位置設定部12、境界値設定部14、外挿信号生成部16、信号付加部18、フィルタ部20、差分画像生成部34および検出部36としてそれぞれ機能させる。
【0059】
これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である入力部32、境界位置設定部12、境界値設定部14、外挿信号生成部16、信号付加部18、フィルタ部20、差分画像生成部34および検出部36として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の欠陥検出装置30が構築される。
【0060】
一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスクドライブ2040、フレキシブルディスク2090、又はCD−ROM2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置又は通信インターフェイス2030からデータを読み出し、転送先の通信インターフェイス2030又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【0061】
また、CPU2000は、ハードディスクドライブ2040、CD−ROMドライブ2060(CD−ROM2095)、フレキシブルディスク・ドライブ2050(フレキシブルディスク2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、及び/又は記憶装置に含まれるものとする。
【0062】
また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合(又は不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【0063】
また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
【0064】
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク2090、CD−ROM2095の他に、DVD又はCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。
【0065】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0066】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0067】
10 信号処理装置、12 境界位置設定部、14 境界値設定部、16 外挿信号生成部、18 信号付加部、20 フィルタ部、22 出力部、30 欠陥検出装置、32 入力部、34 差分画像生成部、36 検出部、1900 コンピュータ、2000 CPU、2010 ROM、2020 RAM、2030 通信インターフェイス、2040 ハードディスクドライブ、2050 フレキシブルディスク・ドライブ、2060 CD−ROMドライブ、2070 入出力チップ、2075 グラフィック・コントローラ、2080 表示装置、2082 ホスト・コントローラ、2084 入出力コントローラ、2090 フレキシブルディスク、2095 CD−ROM
【技術分野】
【0001】
本発明は、信号処理装置、欠陥検出装置、信号処理方法、欠陥検出方法およびプログラムに関する。
【背景技術】
【0002】
境界を有する信号をフィルタリングする場合がある。この場合、境界の近傍部分において適切にフィルタリングすることが困難である。そこで、従来、境界の近傍部分において、フィルタ係数を変形して境界の内側の値のみを用いてフィルタリングしたり、境界の外側を境界値と同一値の信号で埋めてフィルタリングしたりしている。
【0003】
非特許文献1 サンマイクロシステムズ、"Programming in Java Advanced Imaging"(Chapter 7 Image Enhancement)、[online]、1999年11月、[平成22年8月20日検索]、インターネット〈URL:http://java.sun.com/products/java-media/jai/forDevelopers/jai1_0_1guide-unc/Image-enhance.doc.html〉
非特許文献2 WIKIPEDIA、"Extrapolation"、[online]、[平成22年8月20日検索]、インターネット〈URL:http://en.wikipedia.org/wiki/Extrapolation〉
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、境界部分に勾配をもった信号を上述の方法によりフィルタリングした場合、フィルタリングした後の信号が本来の値から大きく外れてしまい適切な結果を得ることができなかった。例えば、被検査物の撮像画像と当該撮像画像をローパスフィルタリングした画像との差分画像から被検査物の表面の欠陥を検出する処理が知られている。このような処理において、上述のフィルタリングをした場合、被検査物の周縁部分が適切にフィルタリングできずに、被検査物の周縁部分を欠陥であると判断してしまっていた。
【課題を解決するための手段】
【0005】
上記課題を解決するために、本発明の第1の態様においては、境界を有する2次元の入力信号をフィルタリングする信号処理装置であって、前記入力信号の領域外を補完する2次元の外挿信号を前記入力信号に基づき生成する外挿信号生成部と、前記外挿信号を前記入力信号の領域外に付加した補正信号を生成する信号付加部と、前記補正信号をフィルタリングするフィルタ部と、フィルタリングされた前記補正信号における前記入力信号に対応する領域を切り出した出力信号を生成して出力する出力部と、を備える信号処理装置、信号処理方法およびプログラムを提供する。
【0006】
本発明の第2の態様においては、境界を有する1次元の入力信号をフィルタリングする信号処理装置であって、前記入力信号の領域外を補完する1次元の信号であって、各位置の値が、境界位置に対して対称の位置における入力信号の値を境界値を中心に反転した値である外挿信号を生成する外挿信号生成部と、前記外挿信号を前記入力信号の領域外に付加した補正信号を生成する信号付加部と、前記補正信号をフィルタリングするフィルタ部と、フィルタリングされた前記補正信号における前記入力信号に対応する領域を切り出した信号を生成して、生成した信号を出力信号として出力する出力部と、を備える信号処理装置、信号処理方法およびプログラムを提供する。
【0007】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0008】
【図1】本実施形態に係る信号処理装置10の構成を示す。
【図2】本実施形態に係る信号処理装置10の処理フローを示す。
【図3】1次元の入力信号の一例を示す。
【図4】外挿信号を入力信号の領域外に付加した補正信号の一例を示す。
【図5】補正信号および補正信号をローパスフィルタリングした信号の一例を示す。
【図6】本実施形態に係る欠陥検出装置30の構成を示す。
【図7】本実施形態に係る欠陥検出装置30の処理フローを示す。
【図8】撮像画像の一例、および、被検査物の境界位置を示す。
【図9】外挿画像を撮像画像の領域外に付加した補正画像の一例を示す。
【図10】ローパスフィルタリングされた補正画像の一例を示す。
【図11】撮像画像からローパスフィルタリングされた補正画像を減じた差分画像の一例を示す。
【図12】欠陥の検出結果の一例を示す。
【図13】本実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。
【発明を実施するための形態】
【0009】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0010】
図1は、本実施形態に係る信号処理装置10の構成を示す。信号処理装置10は、境界を有する入力信号をフィルタリングする。入力信号は、1次元の信号であってもよいし、画像等の2次元の信号であってもよいし、2次元以上の多次元の信号であってもよい。
【0011】
ここで、境界を有する入力信号とは、信号の一部分が連続せずに途切れた信号である。1次元の信号であれば、境界を有する入力信号は、一例として、マイナス方向またはプラス方向の少なくとも一方の端部が途切れた信号である。また、2次元の信号であれば、境界を有する入力信号は、一例として、円、三角形および四角形等の環状の境界を有する信号である。
【0012】
信号処理装置10は、境界位置設定部12と、境界値設定部14と、外挿信号生成部16と、信号付加部18と、フィルタ部20と、出力部22とを備える。境界位置設定部12は、入力信号の境界位置を設定する。境界値設定部14は、入力信号の境界値を設定する。
【0013】
外挿信号生成部16は、入力信号の領域外を補完する外挿信号を入力信号に基づき生成する。外挿信号生成部16は、一例として、境界位置設定部12により設定された境界位置および境界値設定部14により設定された境界値に基づき外挿信号を生成する。
【0014】
信号付加部18は、外挿信号生成部16により生成された外挿信号を入力信号の領域外に付加した補正信号を生成する。フィルタ部20は、信号付加部18により生成された補正信号をフィルタリングする。
【0015】
出力部22は、フィルタ部20によりフィルタリングされた補正信号における入力信号に対応する領域を切り出して、信号を生成する。そして、出力部22は、切り出した信号を出力信号として出力する。
【0016】
図2は、本実施形態に係る信号処理装置10の処理フローを示す。図3は、1次元の入力信号の一例を示す。図4は、外挿信号を入力信号の領域外に付加した補正信号の一例を示す。図5は、補正信号および補正信号をローパスフィルタリングした信号の一例を示す。なお、図3から図5に示された各信号波形は、横軸(x軸)が1次元の信号の位置xを表し、縦軸(y軸)が信号の値(I(x))を表す。
【0017】
まず、ステップS11において、信号処理装置10は、フィルタリングの対象となる入力信号を入力する。図3の例においては、信号処理装置10は、1次元の信号であって、波形の左側(マイナス方向側)に境界を有する信号を入力する。なお、信号処理装置10は、波形の右側(プラス方向側)に境界を有する1次元の信号を入力してもよいし、波形の右側および左側の両方に境界を有する1次元の信号を入力してもよい。
【0018】
続いて、ステップS12において、境界位置設定部12は、入力信号における境界位置を設定する。境界位置設定部12は、一例として、入力信号の値の存在する領域(領域内)における末端の位置を検出し、検出した位置を境界位置として設定する。図3の例においては、境界位置設定部12は、1次元の信号の波形の左端の位置(x0)を境界位置として設定する。なお、境界位置設定部12は、ユーザから指定された位置を境界位置として設定してもよい。
【0019】
続いて、ステップS13において、境界値設定部14は、入力信号の境界値を設定する。境界値設定部14は、一例として、入力信号の値の存在する領域(領域内)における末端の値を検出し、検出した値を境界値として設定する。図3の例においては、境界値設定部14は、1次元の信号の波形の左端の値(Ib)を境界値として設定する。
【0020】
なお、境界値設定部14は、推定した境界値を設定してもよいし、検出した値を補正した値を境界値として設定してもよい。また、境界値設定部14は、ユーザから指定された値を境界値として設定してもよい。
【0021】
続いて、ステップS14において、外挿信号生成部16は、入力信号の領域外を補完する外挿信号を入力信号に基づき生成する。より具体的には、外挿信号生成部16は、入力信号の領域外を補完する信号であって、各位置の値が、境界位置に対して対称の位置における入力信号の値を境界値を中心に反転した値である外挿信号を生成する。即ち、外挿信号生成部16は、入力信号に対して境界位置を中心に位置の正負を反転し且つ境界値を中心に値の正負を反転した信号を、外挿信号として生成する。
【0022】
図4の例においては、外挿信号生成部16は、入力信号の左側(マイナス方向側)の領域外を補完するための、下記の式(1)により表される外挿信号(Im(x))を生成する。
【0023】
Im(x)=2×Ib−I(2×x0−x) …(1)
【0024】
なお、式(1)において、Ibは、境界値を表す。x0は、境界位置を表す。Im(x)は、境界位置x0よりも左側(マイナス側)の各位置xにおける外挿信号の値を表す。I(x)は、位置xにおける入力信号の値を表す。
【0025】
即ち、図4の例において、外挿信号生成部16は、境界値(Ib)の2倍(2×Ib)から、境界位置(X0)の2倍(2×X0)から外挿信号の位置(x)を減じた位置(2×X0−x)における入力信号の値(I(2×X0−x))を減じた信号[2×Ib−I(2×x0−x)]を、外挿信号[Im(x)]として算出する。これにより、外挿信号生成部16は、入力信号の領域外に入力信号の境界から連続して自然に接続される外挿信号を生成することができる。
【0026】
続いて、ステップS15において、信号付加部18は、外挿信号生成部16により生成された外挿信号を入力信号の領域外に付加した補正信号を生成する。即ち、信号付加部18は、入力信号と外挿信号とを接続した信号を生成する。図4の例においては、信号付加部18は、境界位置(X0)から右側(プラス方向側)の各位置においては、値がI(x)となり、境界位置(X0)より左側(マイナス方向側)の各位置においては、値がIm(x)となる補正信号を生成する。
【0027】
続いて、ステップS16において、フィルタ部20は、信号付加部18により生成された補正信号をフィルタリングする。図5の例においては、フィルタ部20は、補正信号をローパスフィルタリングする。なお、フィルタ部20は、ローパスフィルタリングに限らず、他のフィルタリング処理を行ってもよい。
【0028】
続いて、ステップS17において、出力部22は、フィルタリングされた補正信号における入力信号に対応する領域を切り出した出力信号を生成して出力する。図5の例においては、フィルタリングされた補正信号における、境界位置(X0)から右側(プラス方向側)の各位置の値を表わす信号を出力信号として出力する。これにより、出力部22は、境界を有する入力信号を直接フィルタリングした場合と同一の範囲の信号を出力することができる。
【0029】
以上のような信号処理装置10によれば、例えば境界部分に勾配をもった入力信号をフィルタリングした場合であっても、境界部分において適切なフィルタリングがされた信号を出力することができる。
【0030】
なお、ステップS14では、外挿信号生成部16は、入力信号の領域外の全部を補完する外挿信号を生成するのではなく、領域外の一部を補完する外挿信号を生成してもよい。外挿信号生成部16は、一例として、境界位置(X0)に対応する値をフィルタリング処理により算出するために必要な領域を補完する外挿信号を生成する。即ち、外挿信号生成部16は、一例として、フィルタ部20の係数長(フィルタの窓サイズ))に対応する信号長よりも少なくとも長い外挿信号を生成する。これにより、外挿信号生成部16は、外挿信号を生成するための演算量およびメモリ量等を少なくすることができる。
【0031】
図6は、本実施形態に係る欠陥検出装置30の構成を示す。欠陥検出装置30は、本実施形態に係る信号処理装置10の変形例であって、信号処理装置10と略同一の構成および機能を採る。従って、信号処理装置10が備える部材と略同一の構成および機能の部材に同一の符号を付け、以下相違点を除き説明を省略する。
【0032】
欠陥検出装置30は、入力画像として被検査物の表面を撮像した撮像画像を入力して、入力した撮像画像から被検査物の表面の欠陥を検出する。欠陥検出装置30は、入力部32と、境界位置設定部12と、境界値設定部14と、外挿信号生成部16と、信号付加部18と、フィルタ部20と、差分画像生成部34と、検出部36とを備える。
【0033】
入力部32は、被検査物を撮像した撮像画像を入力する。境界位置設定部12は、撮像画像における被検査物の境界位置を設定する。境界値設定部14は、撮像画像における被検査物の境界値を設定する。
【0034】
外挿信号生成部16は、撮像画像の領域外を補完する外挿画像を、外挿画像の境界位置および境界値に基づき生成する。信号付加部18は、外挿画像を撮像画像の領域外に付加した補正画像を生成する。フィルタ部20は、補正画像をローパスフィルタリングする。
【0035】
差分画像生成部34は、入力部32が入力した撮像画像とローパスフィルタリングされた補正画像との差分を表す差分画像を生成する。検出部36は、差分画像を解析して被検査物の欠陥を検出する。
【0036】
図7は、本実施形態に係る欠陥検出装置30の処理フローを示す。図8は、撮像画像の一例、および、被検査物の境界位置を示す。図9は、外挿画像を撮像画像の領域外に付加した補正画像の一例を示す。図10は、ローパスフィルタリングされた補正画像の一例を示す。図11は、撮像画像からローパスフィルタリングされた補正画像を減じた差分画像の一例を示す。図12は、欠陥の検出結果の一例を示す。
【0037】
まず、ステップS21において、入力部32は、被検査物の表面を撮像した撮像画像を入力する。図8の例においては、入力部32は、観察用の台に載置された円形の被検査物の表面を撮像した撮像画像を入力する。
【0038】
続いて、ステップS22において、境界位置設定部12は、撮像画像における境界位置を設定する。図8の例においては、境界位置設定部12は、撮像画像に映っている被検査物の周縁部分を境界位置として設定する。境界位置設定部12は、一例として、図8の点線で示されるように、撮像画像における輝度が大きく変化する箇所を結んだ円形の境界線を境界位置として設定する。
【0039】
続いて、ステップS23において、境界値設定部14は、撮像画像における境界値を設定する。図8の例においては、境界値設定部14は、撮像画像に映っている被検査物の周縁部分の画素値を境界値として設定する。境界値設定部14は、一例として、図8の点線で示される円形の境界線上の画素値を境界値として設定する。
【0040】
なお、境界値設定部14は、撮像画像の境界の接線方向に沿って値を平均化することにより境界値を算出してもよい。例えば、図8の例においては、被検査物の周縁部分の位置を表す円状の境界線に沿って、画素値を平均化して境界値を算出する。
【0041】
続いて、ステップS24において、外挿信号生成部16は、撮像画像の領域外を補完する外挿画像を撮像画像に基づき生成する。より具体的には、外挿信号生成部16は、各ピクセル位置の値が、境界位置に対して対称のピクセル位置における撮像画像の値を境界値を中心に反転した値である外挿画像を生成する。
【0042】
この場合において、外挿信号生成部16は、外挿画像の各ピクセル位置の値を、境界位置を結ぶ境界線を挟んで対称のピクセル位置における撮像画像の値に基づき生成する。即ち、外挿信号生成部16は、外挿画像の各ピクセル位置の値を、当該ピクセル位置から境界線に下ろした法線の延長線上であって、当該ピクセル位置から境界線までの距離と同一距離のピクセル位置における撮像画像の値に基づき生成する。
【0043】
さらに、この場合において、外挿信号生成部16は、一例として、外挿画像における各ピクセル位置の値を、当該ピクセル位置に対して境界位置を挟んで対称のピクセル位置の周囲のピクセルの撮像画像の値に基づき算出する。例えば、外挿信号生成部16は、対応するピクセル位置に画素が存在しない場合には、そのピクセル位置の周囲の画素の値から補完して、そのピクセル位置の値を生成する。これにより、外挿信号生成部16は、精度良く外挿画像の各ピクセルの値を生成することができる。
【0044】
続いて、ステップS25において、信号付加部18は、外挿信号生成部16により生成された外挿画像を撮像画像の領域外に付加した補正画像を生成する。図9の例においては、信号付加部18は、撮像画像における被検査物の領域外の画像を、外挿画像に置き換えた補正画像を生成する。
【0045】
続いて、ステップS26において、フィルタ部20は、信号付加部18により生成された補正画像をローパスフィルタリングする。図10の例においては、フィルタ部20は、補正画像に対してガウシアンフィルタをかける。ガウシアンフィルタは、下記の式(2)により定義される。
【0046】
【数1】
【0047】
フィルタ部20は、式(2)に表されるガウシアンフィルタと補正画像とのコンボリューションを演算することにより、補正画像をローパスフィルタリングする。なお、式(2)において、μは、フィルタの中心であり、x=μの場合においてf(x)が最大となる。また、σはフィルタの広がりを表す。
【0048】
続いて、ステップS27において、差分画像生成部34は、入力部32が入力した撮像画像と、フィルタ部20によりローパスフィルタリングされた補正画像との差分を表す差分画像を生成する。図11の差分画像は、図8に示された撮像画像から、図10に示されるローパスフィルタリングされた補正画像を減算した画像である。
【0049】
続いて、ステップS28において、検出部36は、差分画像生成部34により生成された差分画像を解析して被検査物の欠陥を検出する。図12の例においては、検出部36は、図11に示された差分画像を予め定められたしきい値により2値化して、値が1(図中の白の点)の部分を欠陥として特定する。
【0050】
以上のような欠陥検出装置30によれば、被検査物の境界部分において適切にローパスフィルタリングをかけることができる。従って、欠陥検出装置30によれば、被検査物の表面の欠陥を正確に検出することができる。
【0051】
図13は、本実施形態に係るコンピュータ1900のハードウェア構成の一例を示す。本実施形態に係るコンピュータ1900は、ホスト・コントローラ2082により相互に接続されるCPU2000、RAM2020、グラフィック・コントローラ2075、及び表示装置2080を有するCPU周辺部と、入出力コントローラ2084によりホスト・コントローラ2082に接続される通信インターフェイス2030、ハードディスクドライブ2040、及びCD−ROMドライブ2060を有する入出力部と、入出力コントローラ2084に接続されるROM2010、フレキシブルディスク・ドライブ2050、及び入出力チップ2070を有するレガシー入出力部とを備える。
【0052】
ホスト・コントローラ2082は、RAM2020と、高い転送レートでRAM2020をアクセスするCPU2000及びグラフィック・コントローラ2075とを接続する。CPU2000は、ROM2010及びRAM2020に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ2075は、CPU2000等がRAM2020内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置2080上に表示させる。これに代えて、グラフィック・コントローラ2075は、CPU2000等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【0053】
入出力コントローラ2084は、ホスト・コントローラ2082と、比較的高速な入出力装置である通信インターフェイス2030、ハードディスクドライブ2040、CD−ROMドライブ2060を接続する。通信インターフェイス2030は、ネットワークを介して他の装置と通信する。ハードディスクドライブ2040は、コンピュータ1900内のCPU2000が使用するプログラム及びデータを格納する。CD−ROMドライブ2060は、CD−ROM2095からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。
【0054】
また、入出力コントローラ2084には、ROM2010と、フレキシブルディスク・ドライブ2050、及び入出力チップ2070の比較的低速な入出力装置とが接続される。ROM2010は、コンピュータ1900が起動時に実行するブート・プログラム、及び/又は、コンピュータ1900のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ2050は、フレキシブルディスク2090からプログラム又はデータを読み取り、RAM2020を介してハードディスクドライブ2040に提供する。入出力チップ2070は、フレキシブルディスク・ドライブ2050を入出力コントローラ2084へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ2084へと接続する。
【0055】
RAM2020を介してハードディスクドライブ2040に提供されるプログラムは、フレキシブルディスク2090、CD−ROM2095、又はICカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、RAM2020を介してコンピュータ1900内のハードディスクドライブ2040にインストールされ、CPU2000において実行される。
【0056】
コンピュータ1900にインストールされ、コンピュータ1900を信号処理装置10として機能させるプログラムは、境界位置設定モジュールと、境界値設定モジュールと、外挿信号生成モジュールと、信号付加モジュールと、フィルタモジュールと、出力モジュールとを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、境界位置設定部12、境界値設定部14、外挿信号生成部16、信号付加部18、フィルタ部20および出力部22としてそれぞれ機能させる。
【0057】
これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である境界位置設定部12、境界値設定部14、外挿信号生成部16、信号付加部18、フィルタ部20および出力部22として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の信号処理装置10が構築される。
【0058】
また、コンピュータ1900にインストールされ、コンピュータ1900を欠陥検出装置30として機能させるプログラムは、入力モジュールと、境界位置設定モジュールと、境界値設定モジュールと、外挿信号生成モジュールと、信号付加モジュールと、フィルタモジュールと、差分画像生成モジュールと、検出モジュールとを備える。これらのプログラム又はモジュールは、CPU2000等に働きかけて、コンピュータ1900を、入力部32、境界位置設定部12、境界値設定部14、外挿信号生成部16、信号付加部18、フィルタ部20、差分画像生成部34および検出部36としてそれぞれ機能させる。
【0059】
これらのプログラムに記述された情報処理は、コンピュータ1900に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である入力部32、境界位置設定部12、境界値設定部14、外挿信号生成部16、信号付加部18、フィルタ部20、差分画像生成部34および検出部36として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ1900の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の欠陥検出装置30が構築される。
【0060】
一例として、コンピュータ1900と外部の装置等との間で通信を行う場合には、CPU2000は、RAM2020上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス2030に対して通信処理を指示する。通信インターフェイス2030は、CPU2000の制御を受けて、RAM2020、ハードディスクドライブ2040、フレキシブルディスク2090、又はCD−ROM2095等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス2030は、DMA(ダイレクト・メモリ・アクセス)方式により記憶装置との間で送受信データを転送してもよく、これに代えて、CPU2000が転送元の記憶装置又は通信インターフェイス2030からデータを読み出し、転送先の通信インターフェイス2030又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【0061】
また、CPU2000は、ハードディスクドライブ2040、CD−ROMドライブ2060(CD−ROM2095)、フレキシブルディスク・ドライブ2050(フレキシブルディスク2090)等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をDMA転送等によりRAM2020へと読み込ませ、RAM2020上のデータに対して各種の処理を行う。そして、CPU2000は、処理を終えたデータを、DMA転送等により外部記憶装置へと書き戻す。このような処理において、RAM2020は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはRAM2020および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、CPU2000は、RAM2020の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはRAM2020の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもRAM2020、メモリ、及び/又は記憶装置に含まれるものとする。
【0062】
また、CPU2000は、RAM2020から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、RAM2020へと書き戻す。例えば、CPU2000は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合(又は不成立であった場合)に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【0063】
また、CPU2000は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第1属性の属性値に対し第2属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、CPU2000は、記憶装置に格納されている複数のエントリの中から第1属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第2属性の属性値を読み出すことにより、所定の条件を満たす第1属性に対応付けられた第2属性の属性値を得ることができる。
【0064】
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク2090、CD−ROM2095の他に、DVD又はCD等の光学記録媒体、MO等の光磁気記録媒体、テープ媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ1900に提供してもよい。
【0065】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0066】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0067】
10 信号処理装置、12 境界位置設定部、14 境界値設定部、16 外挿信号生成部、18 信号付加部、20 フィルタ部、22 出力部、30 欠陥検出装置、32 入力部、34 差分画像生成部、36 検出部、1900 コンピュータ、2000 CPU、2010 ROM、2020 RAM、2030 通信インターフェイス、2040 ハードディスクドライブ、2050 フレキシブルディスク・ドライブ、2060 CD−ROMドライブ、2070 入出力チップ、2075 グラフィック・コントローラ、2080 表示装置、2082 ホスト・コントローラ、2084 入出力コントローラ、2090 フレキシブルディスク、2095 CD−ROM
【特許請求の範囲】
【請求項1】
境界を有する2次元の入力信号をフィルタリングする信号処理装置であって、
前記入力信号の領域外を補完する2次元の外挿信号を前記入力信号に基づき生成する外挿信号生成部と、
前記外挿信号を前記入力信号の領域外に付加した補正信号を生成する信号付加部と、
前記補正信号をフィルタリングするフィルタ部と、
フィルタリングされた前記補正信号における前記入力信号に対応する領域を切り出した出力信号を生成して出力する出力部と、
を備える信号処理装置。
【請求項2】
前記外挿信号生成部は、前記入力信号の領域外を補完する信号であって、各位置の値が、境界位置に対して対称の位置における入力信号の値を境界値を中心に反転した値である外挿信号を生成する
請求項1に記載の信号処理装置。
【請求項3】
前記外挿信号生成部は、前記外挿信号の各位置の値を、前記入力信号の境界の接線方向に沿って平均化された境界値に基づき生成する
請求項2に記載の信号処理装置。
【請求項4】
前記信号処理装置は、前記入力信号として入力画像を入力し、前記外挿信号として外挿画像を生成し、
前記外挿信号生成部は、前記外挿画像における各ピクセル位置の値を、前記入力画像の境界を結ぶ境界線を挟んで対称の位置における前記入力画像の値に基づき生成する
請求項2または3に記載の信号処理装置。
【請求項5】
前記外挿信号生成部は、前記外挿画像における各ピクセル位置の値を、当該ピクセル位置に対して境界位置を挟んで対称の位置の周囲のピクセルの画素値に基づき算出する
請求項4に記載の信号処理装置。
【請求項6】
前記外挿信号生成部は、前記フィルタ部の係数長に対応する信号長よりも少なくとも長い外挿信号を生成する
請求項1から5の何れかに記載の信号処理装置。
【請求項7】
境界を有する1次元の入力信号をフィルタリングする信号処理装置であって、
前記入力信号の領域外を補完する1次元の信号であって、各位置の値が、境界位置に対して対称の位置における入力信号の値を境界値を中心に反転した値である外挿信号を生成する外挿信号生成部と、
前記外挿信号を前記入力信号の領域外に付加した補正信号を生成する信号付加部と、
前記補正信号をフィルタリングするフィルタ部と、
フィルタリングされた前記補正信号における前記入力信号に対応する領域を切り出した信号を生成して、生成した信号を出力信号として出力する出力部と、
を備える信号処理装置。
【請求項8】
被検査物を撮像した撮像画像を入力する入力部と、
前記撮像画像における前記被検査物の領域を前記入力信号としてローパスフィルタリングする請求項1から6の何れかに記載の信号処理装置と、
前記撮像画像とローパスフィルタリングされた画像との差分画像を生成する差分画像生成部と、
前記差分画像を解析して前記被検査物の欠陥を検出する検出部と、
を備える欠陥検出装置。
【請求項9】
境界を有する2次元の入力信号をフィルタリングする信号処理方法であって、
前記入力信号の領域外を補完する2次元の外挿信号を前記入力信号に基づき生成し、
前記外挿信号を前記入力信号の領域外に付加した補正信号を生成し、
前記補正信号をフィルタリングし、
フィルタリングされた前記補正信号における前記入力信号に対応する領域を切り出した出力信号を生成して出力する
信号処理方法。
【請求項10】
境界を有する1次元の入力信号をフィルタリングする信号処理方法であって、
前記入力信号の領域外を補完する1次元の信号であって、各位置の値が、境界位置に対して対称の位置における入力信号の値を境界値を中心に反転した値である外挿信号を生成し、
前記外挿信号を前記入力信号の領域外に付加した補正信号を生成し、
前記補正信号をフィルタリングし、
フィルタリングされた前記補正信号における前記入力信号に対応する領域を切り出した信号を生成して、生成した信号を出力信号として出力する
信号処理方法。
【請求項11】
被検査物を撮像した撮像画像を入力し、
請求項9に記載の信号処理方法により、前記撮像画像における前記被検査物の領域を前記入力信号としてローパスフィルタリングし、
前記撮像画像とローパスフィルタリングされた画像との差分画像を生成し、
前記差分画像を解析して前記被検査物の欠陥を検出する
欠陥検出方法。
【請求項12】
コンピュータを請求項1から8の何れかに記載の装置として機能させるプログラム。
【請求項1】
境界を有する2次元の入力信号をフィルタリングする信号処理装置であって、
前記入力信号の領域外を補完する2次元の外挿信号を前記入力信号に基づき生成する外挿信号生成部と、
前記外挿信号を前記入力信号の領域外に付加した補正信号を生成する信号付加部と、
前記補正信号をフィルタリングするフィルタ部と、
フィルタリングされた前記補正信号における前記入力信号に対応する領域を切り出した出力信号を生成して出力する出力部と、
を備える信号処理装置。
【請求項2】
前記外挿信号生成部は、前記入力信号の領域外を補完する信号であって、各位置の値が、境界位置に対して対称の位置における入力信号の値を境界値を中心に反転した値である外挿信号を生成する
請求項1に記載の信号処理装置。
【請求項3】
前記外挿信号生成部は、前記外挿信号の各位置の値を、前記入力信号の境界の接線方向に沿って平均化された境界値に基づき生成する
請求項2に記載の信号処理装置。
【請求項4】
前記信号処理装置は、前記入力信号として入力画像を入力し、前記外挿信号として外挿画像を生成し、
前記外挿信号生成部は、前記外挿画像における各ピクセル位置の値を、前記入力画像の境界を結ぶ境界線を挟んで対称の位置における前記入力画像の値に基づき生成する
請求項2または3に記載の信号処理装置。
【請求項5】
前記外挿信号生成部は、前記外挿画像における各ピクセル位置の値を、当該ピクセル位置に対して境界位置を挟んで対称の位置の周囲のピクセルの画素値に基づき算出する
請求項4に記載の信号処理装置。
【請求項6】
前記外挿信号生成部は、前記フィルタ部の係数長に対応する信号長よりも少なくとも長い外挿信号を生成する
請求項1から5の何れかに記載の信号処理装置。
【請求項7】
境界を有する1次元の入力信号をフィルタリングする信号処理装置であって、
前記入力信号の領域外を補完する1次元の信号であって、各位置の値が、境界位置に対して対称の位置における入力信号の値を境界値を中心に反転した値である外挿信号を生成する外挿信号生成部と、
前記外挿信号を前記入力信号の領域外に付加した補正信号を生成する信号付加部と、
前記補正信号をフィルタリングするフィルタ部と、
フィルタリングされた前記補正信号における前記入力信号に対応する領域を切り出した信号を生成して、生成した信号を出力信号として出力する出力部と、
を備える信号処理装置。
【請求項8】
被検査物を撮像した撮像画像を入力する入力部と、
前記撮像画像における前記被検査物の領域を前記入力信号としてローパスフィルタリングする請求項1から6の何れかに記載の信号処理装置と、
前記撮像画像とローパスフィルタリングされた画像との差分画像を生成する差分画像生成部と、
前記差分画像を解析して前記被検査物の欠陥を検出する検出部と、
を備える欠陥検出装置。
【請求項9】
境界を有する2次元の入力信号をフィルタリングする信号処理方法であって、
前記入力信号の領域外を補完する2次元の外挿信号を前記入力信号に基づき生成し、
前記外挿信号を前記入力信号の領域外に付加した補正信号を生成し、
前記補正信号をフィルタリングし、
フィルタリングされた前記補正信号における前記入力信号に対応する領域を切り出した出力信号を生成して出力する
信号処理方法。
【請求項10】
境界を有する1次元の入力信号をフィルタリングする信号処理方法であって、
前記入力信号の領域外を補完する1次元の信号であって、各位置の値が、境界位置に対して対称の位置における入力信号の値を境界値を中心に反転した値である外挿信号を生成し、
前記外挿信号を前記入力信号の領域外に付加した補正信号を生成し、
前記補正信号をフィルタリングし、
フィルタリングされた前記補正信号における前記入力信号に対応する領域を切り出した信号を生成して、生成した信号を出力信号として出力する
信号処理方法。
【請求項11】
被検査物を撮像した撮像画像を入力し、
請求項9に記載の信号処理方法により、前記撮像画像における前記被検査物の領域を前記入力信号としてローパスフィルタリングし、
前記撮像画像とローパスフィルタリングされた画像との差分画像を生成し、
前記差分画像を解析して前記被検査物の欠陥を検出する
欠陥検出方法。
【請求項12】
コンピュータを請求項1から8の何れかに記載の装置として機能させるプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図13】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図13】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−43379(P2012−43379A)
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願番号】特願2010−186600(P2010−186600)
【出願日】平成22年8月23日(2010.8.23)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】
【公開日】平成24年3月1日(2012.3.1)
【国際特許分類】
【出願日】平成22年8月23日(2010.8.23)
【出願人】(000004112)株式会社ニコン (12,601)
【Fターム(参考)】
[ Back to top ]