(実施形態)
本実施形態の検査システムについて説明する。実施形態の検査システムは、被検査体を検査するために様々な構成を備えている。図1は、本実施形態の検査システムの構成例を示した図である。図1に示されるように、本実施形態の検査システムは、PC100と、時間相関カメラ110と、照明装置120と、スクリーン130と、アーム140と、を備えている。PC100は、検査装置の一例である。
アーム140は、被検査体150を固定するために用いられ、PC100からの制御に応じて、時間相関カメラ110が撮影可能な被検査体150の表面の位置と向きを変化させる。
照明装置120は、被検査体150に光を照射する装置であって、PC100からの縞パターンに従って、照射する光の強度を領域単位で制御できる。さらに、照明装置120は、周期的な時間の遷移に従って当該領域単位の光の強度を制御できる。換言すれば、照明装置120は、光の強度の周期的な時間変化及び空間変化を与えることができる。なお、具体的な光の強度の制御手法については後述する。
スクリーン130は、照明装置120から出力された光を拡散させた上で、被検査体150に対して面的に光を照射する。本実施形態のスクリーン130は、照明装置120から入力された周期的な時間変化及び空間変化が与えられた光を、面的に被検査体150に照射する。なお、照明装置120とスクリーン130との間には、集光用のフレネルレンズ等の光学系部品(図示されず)が設けられてもよい。
なお、本実施形態は、照明装置120とスクリーン130とを組み合わせて、光強度の周期的な時間変化及び空間変化を与える面的な照射部を構成する例について説明するが、このような組み合わせに制限するものではなく、例えば、LEDを面的に配置して照明部を構成してもよい。
図2は、本実施形態の時間相関カメラ110の構成を示したブロック図である。図2に示されるように、時間相関カメラ110は、光学系210と、イメージセンサ220と、データバッファ230と、制御部240と、参照信号出力部250と、を備えている。
光学系210は、撮影レンズ等を含み、時間相関カメラ110の外部の被写体(被検査体を含む)からの光束を透過し、その光束により形成される被写体の光学像を結像させる。
イメージセンサ220は、光学系210を介して入射された光の強弱を光強度信号として画素毎に高速に出力可能なセンサとする。
本実施形態の光強度信号は、検査システムの照明装置120が被写体(被検査体を含む)に対して光を照射し、当該被写体からの反射光を、イメージセンサ220が受け取ったものである。
イメージセンサ220は、例えば従来のものと比べて高速に読み出し可能なセンサであり、行方向(x方向)、列方向(y方向)の2種類の方向に画素が配列された2次元平面状に構成されたものとする。そして、イメージセンサ220の各画素を、画素P(1,1),……,P(i,j),……,P(X,Y)とする(なお、本実施形態の画像サイズをX×Yとする。)。なお、イメージセンサ220の読み出し速度を制限するものではなく、従来と同様であってもよい。
イメージセンサ220は、光学系210によって透過された、被写体(被検査体を含む)からの光束を受光して光電変換することで、被写体から反射された光の強弱を示した光強度信号(撮影信号)で構成される、2次元平面状のフレームを生成し、制御部240に出力する。本実施形態のイメージセンサ220は、読み出し可能な単位時間毎に、当該フレームを出力する。
本実施形態の制御部240は、例えばCPU、ROM、及びRAM等で構成され、ROMに格納された検査プログラムを実行することで、転送部241と、読出部242と、強度画像用重畳部243と、第1の乗算器244と、第1の相関画像用重畳部245と、第2の乗算器246と、第2の相関画像用重畳部247と、画像出力部248と、を実現する。なお、CPU等で実現することに制限するものではなく、FPGA、またはASICで実現してもよい。
転送部241は、イメージセンサ220から出力された、光強度信号で構成されたフレームを、データバッファ230に、時系列順に蓄積する。
データバッファ230は、イメージセンサ220から出力された、光強度信号で構成されたフレームを、時系列順に蓄積する。
図3は、本実施形態の時間相関カメラ110で時系列順に蓄積されたフレームを表した概念図である。図3に示されるように、本実施形態のデータバッファ230には、時刻t(t=t0,t1,t2,……,tn)毎の複数の光強度信号G(1,1,t),……,G(i,j,t),……,G(X,Y,t)の組み合わせで構成された複数のフレームFk(k=1,2,……,n)が、時系列順に蓄積される。なお、時刻tで作成される一枚のフレームは、光強度信号G(1,1,t),……,G(i,j,t),……,G(X,Y,t)で構成される。
本実施形態の光強度信号(撮像信号)G(1,1,t),……,G(i,j,t),……,G(X,Y,t)には、フレーム画像Fk(k=1,2,……,n)を構成する各画素P(1,1),……,P(i,j),……,P(X,Y)が対応づけられている。
イメージセンサ220から出力されるフレームは、光強度信号のみで構成されており、換言すればモノクロの画像データとも考えることができる。なお、本実施形態は、解像度、感度、及びコスト等を考慮して、イメージセンサ220がモノクロの画像データを生成する例について説明するが、イメージセンサ220としてモノクロ用のイメージセンサに制限するものではなく、カラー用のイメージセンサを用いてもよい。
図2に戻り、本実施形態の読出部242は、データバッファ230から、光強度信号G(1,1,t),……,G(i,j,t),……,G(X,Y,t)をフレーム単位で、時系列順に読み出して、第1の乗算器244と、第2の乗算器246と、強度画像用重畳部243と、に出力する。
本実施形態の時間相関カメラ110は、読出部242の出力先毎に画像データを生成する。換言すれば、時間相関カメラ110は、3種類の画像データを作成する。
本実施形態の時間相関カメラ110は、3種類の画像データとして、強度画像データIA1(図11)と、2種類の時間相関画像データと、を生成する。なお、本実施形態は、3種類の画像データを生成することに制限するものではなく、強度画像データIA1を生成しない場合や、1種類又は3種類以上の時間相関画像データを生成する場合も考えられる。
本実施形態のイメージセンサ220は、上述したように単位時間毎に、光強度信号で構成されたフレームを出力している。しかしながら、通常の画像データを生成するためには、撮影に必要な露光時間分の光強度信号が必要になる。そこで、本実施形態では、強度画像用重畳部243が、撮影に必要な露光時間分の複数のフレームを重畳して、強度画像データIA1を生成する。なお、強度画像データIA1の各画素値(光の強度を表す値)G(x,y)は、以下に示す式(1)から導き出すことができる。なお、露光時間は、t0とtnの時間差とする。強度画像データIA1は、時間相関カメラ110により撮像されている間(撮像間隔の間)に被検査体から反射した光の光強度信号による輝度値を示した画像データとする。
これにより、従来のカメラの撮影と同様に、被写体(被検査体を含む)が撮影された強度画像データIA1が生成される。そして、強度画像用重畳部243は、生成した強度画像データIA1を、画像出力部248に出力する。
時間相関画像データは、時間遷移に応じた光の強弱の変化を示す画像データである。つまり、本実施形態では、時系列順のフレーム毎に、当該フレームに含まれる光強度信号に対して、時間遷移を示した参照信号を乗算し、参照信号と光強度信号との乗算結果である時間相関値で構成された、時間相関値フレームを生成し、複数の時間相関値フレームを重畳することで、時間相関画像データを生成する。
ところで、時間相関画像データを用いて、被検査体の異常を検出するためには、イメージセンサ220に入力される光強度信号を、参照信号に同期させて変化させる必要がある。このために、照明装置120が、上述したように、スクリーン130を介して周期的に時間変化及び縞の空間的な移動を与えるような、面的な光の照射を行うこととした。
本実施形態では、2種類の時間相関画像データを生成する。参照信号は、時間遷移を表した信号であればよいが、本実施形態では、複素正弦波e-jωtを用いる。なお、角周波数ω、時刻tとする。参照信号を表す複素正弦波e-jωtが、上述した露光時間(換言すれば強度画像データIA1、時間相関画像データを生成するために必要な時間)の一周期と相関をとるように、角周波数ωが設定されるものとする。換言すれば、照明装置120及びスクリーン130等の照明部によって形成された面的かつ動的な光は、被検査体150の表面(反射面)の各位置で第一の周期(時間周期)での時間的な照射強度の変化を与えるとともに、表面に沿った少なくとも一方向に沿った第二の周期(空間周期)での空間的な照射強度の増減分布を与える。この面的な光は、表面で反射される際に、当該表面のスペック(法線ベクトルの分布等)に応じて複素変調される。時間相関カメラ110は、表面で複素変調された光を受光し、第一の周期の参照信号を用いて直交検波(直交復調)することにより、複素信号としての時間相関画像データを得る。このような複素時間相関画像データに基づく変復調により、表面の法線ベクトルの分布に対応した特徴を検出することができる。
複素正弦波e-jωtは、e-jωt=cos(ωt)−j・sin(ωt)と表すこともできる。従って、時間相関画像データの各画素値C(x,y)は、以下に示す式(2)から導き出すことができる。
本実施形態では、式(2)において、実数部を表す画素値C1(x,y)と、虚数部を表す画素値C2(x,y)と、に分けて2種類の時間相関画像データを生成する。
このため、参照信号出力部250は、第1の乗算器244と、第2の乗算器246と、に対してそれぞれ異なる参照信号を生成し、出力する。本実施形態の参照信号出力部250は、複素正弦波e-jωtの実数部に対応する第1の参照信号cosωtを第1の乗算器244に出力し、複素正弦波e-jωtの虚数部に対応する第2の参照信号sinωtを第2の乗算器246に出力する。このように本実施形態の参照信号出力部250は、互いにヒルベルト変換対をなす正弦波及び余弦波の時間関数として表される2種類の参照信号を出力する例について説明するが、参照信号は時間関数のような時間遷移に応じて変化する参照信号であればよい。
そして、第1の乗算器244は、読出部242から入力されたフレーム単位で、当該フレームの光強度信号毎に、参照信号出力部250から入力された複素正弦波e-jωtの実数部cosωtを乗算する。
第1の相関画像用重畳部245は、撮影に必要な露光時間分の複数のフレームについて、第1の乗算器244の乗算結果を画素毎に重畳する処理を行う。これにより、第1の時間相関画像データの各画素値C1(x,y)が、以下の式(3)から導出される。
そして、第2の乗算器246は、読出部242から入力されたフレームの光強度信号に対して、参照信号出力部250から入力された複素正弦波e-jωtの虚数部sinωtを乗算する。
第2の相関画像用重畳部247は、撮影に必要な露光時間分の複数のフレームについて、第2の乗算器246の乗算結果を画素毎に重畳する処理を行う。これにより、第2の時間相関画像データの各画素値C2(x,y)が、以下の式(4)から導出される。
上述した処理を行うことで、2種類の時間相関画像データ、換言すれば2自由度を有する時間相関画像データを生成できる。
また、本実施形態は、参照信号の種類を制限するものでない。例えば、本実施形態では、複素正弦波e-jωtの実部と虚部の2種類の時間相関画像データを作成するが、光の振幅と、光の位相と、による2種類の画像データを生成してもよい。
なお、本実施形態の時間相関カメラ110は、時間相関画像データとして、複数系統分作成可能とする。これにより、例えば複数種類の幅の縞が組み合わされた光が照射された際に、上述した実部と虚部とによる2種類の時間相関画像データを、縞の幅毎に作成可能とする。このために、時間相関カメラ110は、2個の乗算器と2個の相関画像用重畳部とからなる組み合わせを、複数系統分備えるとともに、参照信号出力部250は、系統毎に適した角周波数ωによる参照信号を出力可能とする。
そして、画像出力部248が、2種類の時間相関画像データと、強度画像データIA1と、をPC100に出力する。これにより、PC100が、2種類の時間相関画像データと、強度画像データIA1と、を用いて、被検査体の異常を検出する。そのためには、被写体に対して光を照射する必要がある。
本実施形態の照明装置120は、高速に移動する縞パターンを照射する。図4は、本実施形態の照明装置120が照射する縞パターンの一例を示した図である。図4に示す例では、縞パターンをx方向にスクロール(移動)させている例とする。白い領域が縞に対応した明領域、黒い領域が縞と縞との間に対応した間隔領域(暗領域)である。
本実施形態では、時間相関カメラ110が強度画像データIA1及び時間相関画像データを撮影する露光時間で、照明装置120が照射する縞パターンを一周期分移動させる。これにより、照明装置120は、光の強度の縞パターンの空間的な移動により光の強度の周期的な時間変化を与える。本実施形態では、図4の縞パターンが一周期分移動する時間を、露光時間と対応させることで、時間相関画像データの各画素には、少なくとも、縞パターン一周期分の光の強度信号に関する情報が埋め込まれる。
図4に示されるように、本実施形態では、照明装置120が矩形波に基づく縞パターンを照射する例について説明するが、矩形波以外を用いてもよい。本実施形態では、照明装置120がスクリーン130を介して照射することで、矩形波の明暗の境界領域をぼかすことができる。
本実施形態では、照明装置120が照射する縞パターンをA(1+cos(ωt+kx))と表す。すなわち、縞パターンには、複数の縞が反復的に(周期的に)含まれる。なお、被検査体に照射される光の強度は0〜2Aの間で調整可能とし、光の位相kxとする。kは、縞の波数である。xは、位相が変化する方向である。
そして、フレームの各画素の光強度信号f(x,y,t)の基本周波数成分は、以下の式(5)として表すことができる。式(5)で示されるように、x方向で縞の明暗が変化する。
f(x,y,t)=A(1+cos(ωt+kx))
=A+A/2{ej(ωt+kx)+e-j(ωt+kx)}……(5)
式(5)で示されるように、照明装置120が照射する縞パターンの強度信号は、複素数として考えることができる。
そして、イメージセンサ220には、当該照明装置120からの光が被写体(被検査体を含む)から反射して入力される。
したがって、イメージセンサ220に入力される光強度信号G(x,y,t)を、照明装置120が照射した際のフレームの各画素の光強度信号f(x,y,t)とできる。そこで、強度画像データIA1を導出するための式(1)に式(5)を代入すると、式(6)を導出できる。なお、位相kxとする。
式(6)から、強度画像データIA1の各画素には、露光時間Tに、照明装置120が出力している光の強度の中間値Aを乗じた値が入力されていることが確認できる。さらに、時間相関画像データを導出するための式(2)に式(5)を代入すると、式(7)を導出できる。なお、AT/2を振幅とし、kxを位相とする。
これにより、式(7)で示された複素数で示された時間相関画像データは、上述した2種類の時間相関画像データと置き換えることができる。つまり、上述した実部と虚部とで構成される時間相関画像データには、被検査体に照射された光強度変化における位相変化と振幅変化とが含まれている。換言すれば、本実施形態のPC100は、2種類の時間相関画像データに基づいて、照明装置120から照射された光の位相変化と、光の振幅変化と、を検出できる。そこで、本実施形態のPC100が、時間相関画像データ及び強度画像データIA1に基づいて、画素毎に入る光の振幅を表した振幅画像データIA2(図21)と、画素毎に入る光の位相変化を表した位相画像データIA3(図11)と、を生成する。
さらに、PC100は、強度画像データIA1、振幅画像データIA2、位相画像データIA3及び後述の位相ラプラシアン画像データIA4に基づいて、被検査体の異常を検出する。
ところで、被検査体の表面形状に凹凸に基づく異常が生じている場合、被検査体の表面の法線ベクトルの分布には異常に対応した変化が生じている。また、被検査体の表面に光を吸収するような異常が生じている場合、反射した光の強度に変化が生じる。法線ベクトルの分布の変化は、光の位相変化及び振幅変化のうち少なくともいずれか一つとして検出される。そこで、本実施形態では、時間相関画像データ及び強度画像データIA1を用いて、法線ベクトルの分布の変化に対応した、光の位相変化及び振幅変化のうち少なくともいずれか一つを検出する。これにより、表面形状の異常を検出可能となる。次に、被検査体の異常、法線ベクトル、及び光の位相変化又は振幅変化の関係について説明する。
図5は、本実施形態の時間相関カメラ110による、被検査体の異常の第1の検出例を示した図である。図5に示される例では、被検査体500に突形状の異常501がある状況とする。当該状況においては、異常501の点502の近傍領域においては、法線ベクトル521、522、523が異なる方向を向いていることを確認できる。そして、当該法線ベクトル521、522、523が異なる方向を向いていることで、異常501から反射した光に拡散(例えば、光511、512、513)が生じ、時間相関カメラ110のイメージセンサ220の任意の画素531に入る縞パターンの幅503が広くなる。
図6は、図5に示される異常501が被検査体500にある場合に、当該異常に応じて変化する、光の振幅の例を表した図である。図6に示される例では、光の振幅を実部(Re)と、虚部(Im)に分けて2次元平面上に表している。図6では、図5の光511、512、513に対応する光の振幅611、612、613として示している。そして、光の振幅611、612、613は互いに打ち消し合い、イメージセンサ220の当該任意の画素531には、振幅621の光が入射する。
したがって、図6に示される状況で、被検査体500の異常501が撮像された領域で振幅が小さいことが確認できる。換言すれば、振幅変化を示した振幅画像データIA2で、周囲と比べて暗くなっている領域がある場合に、当該領域で光同士の振幅の打ち消し合いが生じていると推測できるため、当該領域に対応する被検査体500の位置で異常501が生じていると判断できる。
本実施形態の検査システムは、図5の異常501のように傾きが急峻に変化しているものに限らず、緩やかに変化する異常も検出できる。図7は、本実施形態の時間相関カメラ110による、被検査体の異常の第2の検出例を示した図である。図7に示される例では、正常な場合は被検査体の表面が平面(換言すれば法線が平行)となるが、被検査体700に緩やかな勾配701が生じた状況とする。このような状況においては、勾配701上の法線ベクトル721、722、723も同様に緩やかに変化する。したがって、イメージセンサ220に入力する光711、712、713も少しずつずれていく。図7に示される例では、緩やかな勾配701のために光の振幅の打ち消し合いは生じないため、図5、図6で表したような光の振幅はほとんど変化しない。しかしながら、本来スクリーン130から投影された光が、そのままイメージセンサに平行に入るはずが、緩やかな勾配701のために、スクリーン130から投影された光が平行の状態でイメージセンサに入らないために、光に位相変化が生じる。従って、光の位相変化について、周囲等との違いを検出することで、図7に示したような緩やかな勾配701による異常を検出できる。
また、被検査体の表面形状(換言すれば、被検査体の法線ベクトルの分布)以外にも異常が生じる場合がある。図8は、本実施形態の時間相関カメラ110による、被検査体の異常の第3の検出例を示した図である。図8に示される例では、被検査体800に汚れ801が付着しているため、照明装置120から照射された光が吸収あるいは拡散反射し、時間相関カメラ110の、汚れ801を撮影している任意の画素領域では光がほとんど強度変化しない例を表している。換言すれば、汚れ801を撮影している任意の画素領域では、光強度は位相打ち消しを起こし振動成分がキャンセルされ、ほとんど直流的な明るさになる例を示している。
このような場合、汚れ801を撮影している画素領域においては、光の振幅がほとんどないため、振幅画像データIA2を表示した際に、周囲と比べて暗くなる領域が生じる。したがって、当該領域に対応する被検査体800の位置に、汚れ等の異常801があることを推定できる。
このように、本実施形態では、時間相関画像データに基づいて、光の振幅の変化と、光の位相の変化と、を検出することで、被検査体に異常があることを推定できる。
図1に戻り、PC100について説明する。PC100は、検出システム全体の制御を行う。PC100は、アーム制御部101と、照明制御部102と、制御部103と、を備えている。
アーム制御部101は、被検査体150の時間相関カメラ110による撮像対象となる表面を変更するために、アーム140を制御する。本実施形態では、PC100において、被検査体150の撮影対象となる表面を複数設定しておく。そして、時間相関カメラ110が被検査体150の撮影が終了する毎に、アーム制御部101が、当該設定に従って、時間相関カメラ110が設定された表面を撮影できるように、アーム140を制御して被検査体150を移動させる。なお、本実施形態は撮影が終了する毎にアーム140を移動させ、撮影が開始する前に停止させることを繰り返すことに制限するものではなく、継続的にアーム140を駆動させてもよい。なお、アーム140は、搬送部、移動部、位置変更部、姿勢変更部等とも称されうる。
照明制御部102は、被検査体150を検査するために照明装置120が照射する縞パターンを出力する。本実施形態の照明制御部102は、少なくとも3枚以上の縞パターンを、照明装置120に受け渡し、当該縞パターンを露光時間中に切り替えて表示するように照明装置120に指示する。
図9は、照明制御部102が照明装置120に出力する縞パターンの例を示した図である。図9(B)に示す矩形波に従って、図9(A)に示す黒領域と白領域とが設定された縞パターンが出力されるように、照明制御部102が制御を行う。
本実施形態で照射する縞パターン毎の縞の間隔は、検出対象となる異常(欠陥)の大きさに応じて設定されるものとしてここでは詳しい説明を省略する。
また、縞パターンを出力するための矩形波の角周波数ωは、参照信号の角周波数ωと同じ値とする。
図9に示されるように、照明制御部102が出力する縞パターンは、矩形波として示すことができるが、スクリーン130を介することで、縞パターンの境界領域をぼかす、すなわち、縞パターンにおける明領域(縞の領域)と暗領域(間隔の領域)との境界での光の強度変化を緩やかにする(鈍らせる)ことで、正弦波に近似させることができる。図10は、スクリーン130を介した後の縞パターンを表した波の形状の例を示した図である。図10に示されるように波の形状が、正弦波に近づくことで、計測精度を向上させることができる。また、縞に明度が多段階に変化するグレー領域を追加したり、グラデーションを与えたりしてもよい。また、カラーの縞を含む縞パターンを用いてもよい。
図1に戻り、制御部103は、振幅−位相画像生成部104と、異常検出処理部105と、を備え、時間相関カメラ110から入力された強度画像データIA1と、時間相関画像データと、により被検査体150の検査対象面の異常を検出する処理を行う。なお、本実施形態は、複素数で示した時間相関画像データ(複素時間相関画像データと称す)と、複素数相関画像データの実部と虚部とで分けた2種類の時間相関画像データと、を時間相関カメラ110から受け取ることができる。
振幅−位相画像生成部104は、時間相関カメラ110から入力された強度画像データIA1(図11)と、時間相関画像データと、に基づいて、振幅画像データIA2(図21)と、位相画像データIA3(図11)と、を生成する。
振幅画像データIA2は、時間相関カメラ110により撮像されている間(撮像間隔の間)に被検査体150の検査対象面から反射した光の光強度信号の輝度変化と、時間遷移を示した参照信号とを乗算して算出される、画素毎に入る光の振幅を表した画像データとする。位相画像データIA3は、時間相関カメラ110により撮像されている間(撮像間隔の間)に被検査体150の検査対象面から反射した光の光強度信号の輝度変化と、時間遷移を示した参照信号とを乗算して算出される、光強度信号と参照信号との位相差を表す画像データとする。すなわち、位相画像データIA3は、光の位相に関する画像データである。
本実施形態は振幅画像データIA2の算出手法を制限するものではないが、例えば、振幅−位相画像生成部104は、2種類の時間相関画像データの画素値C1(x,y)及びC2(x,y)から、式(8)を用いて、振幅画像データIA2の各画素値F(x,y)を導き出せる。
同様に、振幅−位相画像生成部104は、画素値C1(x,y)及びC2(x,y)から、式(9)を用いて、位相画像データIA3の各画素値P(x,y)を導き出せる。
異常検出処理部105は、時間相関カメラ110から入力された強度画像データIA1と、振幅−位相画像生成部104によって生成された振幅画像データIA2及び位相画像データIA3と、位相ラプラシアン画像データIA4と、に基づいて、被検査体150の表面の異常を検出する。詳細には、異常検出処理部105は、強度画像データIA1、振幅画像データIA2、位相画像データIA3及び位相ラプラシアン画像データIA4の一部から異常領域の候補である異常候補Q(図11)を検出し、当該異常候補Qと、強度画像データIA1、振幅画像データIA2、位相画像データIA3及び位相ラプラシアン画像データIA4の特徴量と、に基づいて、異常領域を決定する。別の言い方をすると、本実施形態では、異常検出処理部105は、強度画像データIA1、振幅画像データIA2位相画像データIA3及び位相ラプラシアン画像データIA4の一部から検出される異常を異常候補Qとして扱い、異常候補Qに基づいて異常を決定する。本実施形態では、一例として、異常検出処理部105は、強度画像データIA1、位相画像データIA3及び位相ラプラシアン画像データIA4から異常候補Qを検出し、振幅画像データIA2からは異常候補Qを検出しない。ここで、強度画像データIA1、振幅画像データIA2、位相画像データIA3及び位相ラプラシアン画像データIA4は、被検査体150の同一の領域の画像データであって被検査体150で反射した光の特徴を示す互いに異なる画像データである。以後、強度画像データIA1、振幅画像データIA2、位相画像データIA3及び位相ラプラシアン画像データIA4の総称として特徴画像データを用いる場合もある。また、複数の特徴画像データのうち異常候補Qの検出対象を、第1の特徴画像データIAA(一例として、強度画像データIA1、位相画像データIA3及び位相ラプラシアン画像データIA4)と称し、複数の特徴画像データのうち異常候補Qの非検出対象(一例として、振幅画像データIA2)を、第2の特徴画像データIABとも称する。
図1に示されるように、異常検出処理部105は、被検査体150の表面の異常を検出するための構成として、検出部105aと、グループ化部105bと、第1の取得部105cと、第2の取得部105dと、算出部105eと、決定部105fと、を備えている。
図11に示されるように、検出部105aは、複数の特徴画像データのうち第1の特徴画像データIAA(強度画像データIA1、位相画像データIA3及び位相ラプラシアン画像データIA4)から、異常領域の候補である異常候補Qを検出する。
検出部105aは、強度画像データIA1から異常候補Qを検出する場合、一例として、以下の強度画像データIA1用の異常候補検出処理を行う。まず、検出部105aは、強度画像データIA1に、例えばラプラシアンフィルタ処理を含むデータ処理を施す。次に、検出部105aは、データ処理後の強度画像データIA1の各画素の画素値と閾値とを比較し、画素値の大きさが閾値以上の画素を、異常のある領域の候補、すなわち異常候補Qとして検出する。以後、強度画像データIA1用の異常候補検出処理が行われた強度画像データIA1を、処理後強度画像データIA1aとも称する。図11には、強度画像データIA1から二つの異常候補Qが検出された例(処理後強度画像データIA1a)が示されている。
また、図11に示されるように、検出部105aは、位相画像データIA3から異常候補Qを検出する場合、以下の位相画像データIA3用の異常候補検出処理を行う。以後、位相画像データIA3用の異常候補検出処理が行われた位相画像データIA3を、処理後位相画像データIA3aとも称する。
当該処理では、検出部105aは、振幅−位相画像生成部104により生成された位相画像データIA3により、検査対象面の法線ベクトルの分布と対応した特徴であって、周囲との違いによって、被検査体150の異常に関連する特徴を検出することができる。
図12は、本実施形態の位相画像データIA3用の異常候補検出処理の手順を示すフローチャートである。まず、検出部105aは、位相画像データIA3の画素毎の光の位相値(を表した画素値)から、当該画素を基準(例えば中心)として、N×N領域の平均位相値を減算し(ステップS1201)、位相の平均差分画像データを生成する。位相の平均差分画像データは、位相の勾配に対応する。
次に、検出部105aは、減算により生成された位相の平均差分画像データの大きさ(絶対値)と、閾値とを比較し、平均差分画像データの大きさが閾値以上となる画素を、異常(欠陥)のある領域(画素)の候補である異常候補Qとして検出する(ステップS1202)。図11には、位相画像データIA3用の異常候補検出処理によって、位相画像データIA3から一つの異常候補Qが検出された例(処理後位相画像データIA3a)が示されている。
このステップS1202の検出結果により、検出部105aは、平均差分画像データの正負、すなわち、画素の位相値と平均位相値との大小関係によって、凹凸を判別することができる(ステップS1203)。画素の位相値と平均位相値とのどちらが大きい場合に凸となるかは、各部の設定によって変化するが、大小関係が異なると、凹凸が異なる。
なお、他の手法によって得られた位相の分布の勾配から、異常候補Qを検出することができる。例えば、検出部105aは、別の手法として、正規化された時間相関画像データのN×Nの領域の平均ベクトルと、正規化された各画素のベクトルとの差の大きさが、閾値よりも大きい場合に、異常(欠陥)がある領域(画素)の候補として検出することができる。また、位相の分布の勾配に限られず、位相の分布に対応する情報に基づいて被検査体の異常候補Qを検出すればよい。
次に、位相ラプラシアン画像データIA4による異常候補の検出について説明する。上述した例では、複素時間相関画像の位相の分布の勾配に関する特徴を算出する手法の例として、複素時間相関画像から得られる位相画像データに基づいて位相の平均差分をとる手法(図13参照)を説明した。しかしながら、位相の平均差分をとる手法以外の他の手法で、位相の分布の勾配に関する特徴を算出してもよい。そこで、ここでは、検出部105a(図1参照)が、位相限定ラプラシアンを用いて位相の分布の勾配に関する特徴を算出する例について説明する。
上記の式(9)から分かるように、位相画像データの各画素値は、−π〜πの範囲に折りたたまれる。したがって、位相画像データの各画素値は、−πからπに、またはπから−πに不連続に変化し得る(位相ジャンプ)。このような位相ジャンプは、検査対象面が、凹凸などの局所的な異常(欠陥)を含まない平坦になっている場合でも、位相画像データ上にエッジとして現れる。
図13は、実施形態の検査システムによって得られる位相画像データの例を示した図である。この図13の位相画像データは、上記の位相ジャンプの影響で周期的に現れる複数のエッジ部分3001と、本来の検出対象である局所的な異常部分3002とを含んでいる。
ここで、図13に示すように、異常部分3002における画素値の変化は、エッジ部分3001における画素値の変化よりも小さい。したがって、図13の位相画像データに対して閾値などを用いた通常の検出処理を行うだけでは、エッジ部分3001がノイズとなって、異常部分3002を検出することが容易でない。
また、図14は、図13における位相の変化の例を示した概略図である。図14に示すように、局所的な異常部分3002では、位相が急峻に変化している一方、異常部分3002以外の平坦な部分では、位相が滑らかに(線形に)変化している。したがって、平坦部分における定常的な位相の変化を無視することができれば、局所的な異常部分3002における急峻な位相の変化のみを容易に検出することができ、有益である。
そこで、検出部105a(図1参照)は、時間相関カメラ110によって得られる時間相関画像データに、位相限定ラプラシアンを用いた処理を施すことにより、上記の位相ジャンプの影響を無視した位相の分布の勾配に関する特徴を算出する。ここで、位相限定ラプラシアンとは、振幅及び位相を含む複素数で表現される時間相関画像データのうち、振幅部分を無視した位相部分にのみ2階微分を施すための演算式であり、位相の定常的な変化を無視し、位相の急峻な変化を検出するための演算式である。
一例として、図15に示したラプラシアンフィルタに対応する位相限定ラプラシアンについて説明する。この図15のラプラシアンフィルタは、通常の実数の画素値を有する画像データにおいて、処理対象の画素の画素値と、処理対象の画素の周囲に隣接する8個の画素の画素値との差分をとるための、いわゆる8近傍ラプラシアンフィルタである。より具体的には、図15のラプラシアンフィルタは、通常の実数の画素値を有する画像データにおいて、処理対象の画素の画素値を8倍した値から、処理対象の画素の周囲に隣接する8個の画素の画素値の総和を引いた値を、処理対象の画素の新たな画素値とするためのフィルタである。
ところで、上述のように、時間相関カメラ110によって得られる時間相関画像データの各画素値は、振幅及び位相を含む複素指数関数で表現される。ここで、位相は、複素指数関数の指数部分に含まれる。したがって、時間相関画像データの位相部分に図15のラプラシアンフィルタに対応する処理を施したい場合、まず、処理対象の画素の画素値(gω(i,j)とする)の位相を8倍するために、処理対象の画素の画素値を8乗する必要がある。
そして、処理対象の画素の周囲に隣接する8個の画素の画素値gω(i−1,j−1),gω(i−1,j),gω(i−1,j+1),gω(i,j−1),gω(i,j+1),gω(i+1,j−1),gω(i+1,j),gω(i+1,j+1)の位相の総和を求めるために、これら8個の画素の画素値を全て掛け合わせる必要がある。
そして、処理対象の画素の画素値の位相を8倍にしたものと、処理対象の画素の周囲に隣接する8個の画素の位相の総和と、の差を求めるために、処理対象の画素の画素値を8乗したものを、処理対象の画素の周囲に隣接する8個の画素の画素値を掛け合わせたもので割る必要がある。
上記の3つの演算を式で表すと、下記の式(10)〜(12)のようになる。
ここで、式(10)においてgω(i,j)を8乗ではなく9乗している理由は、式(11)における乗算にgω(i,j)が含まれているからである。これにより、式(10)の値を式(11)の値で割った値の指数部分が、処理対象の画素の画素値gω(i,j)の位相を8倍にしたものと、処理対象の画素の周囲に隣接する8個の画素の位相の総和と、の差に対応する。なお、式(12)では、式(10)の値を式(11)の値で割った後、位相のみ(arg)を取り出している。
以上の式(10)〜(12)で示した位相限定ラプラシアンを用いた処理を、時間相関画像データの全画素について実行することにより、時間相関画像データから、2階微分が施された位相画像データ、すなわち位相ラプラシアン画像データIA4を算出することができる。位相ラプラシアン画像データIA4は、光の位相に関する画像データと言うことができる。
一例として、図13の位相画像データに対応する時間相関画像データに位相限定ラプラシアンを用いた処理を施すことによって算出した位相画像データ(位相ラプラシアン画像データIA4)を図16に示す。図16の位相画像データには、図13の位相画像データに見られたような周期的なエッジ部分が無く、局所的な異常部分3201のみが現れている。したがって、図16の位相画像データによれば、閾値などを用いた通常の検出処理(位相ラプラシアン画像データIA4の異常候補検出処理)をするだけで、位相ジャンプの影響を受けることなく、異常部分3201を容易に検出することができる。そして、本実施形態では、異常部分3201が異常候補Qとして扱われる。なお、以後、位相ラプラシアン画像データIA4用の異常候補検出処理が行われた位相ラプラシアン画像データIA4を、処理後位相ラプラシアン画像データIA4a(図11)とも称する。
以上のように、検出部105a(図1参照)は、上述した位相限定ラプラシアンを用いた演算を実行することで、時間相関画像データから、2階微分が施された位相を適切に算出し、検査対象の異常候補Qを、閾値などを用いた通常の検出処理によって容易に検出するように構成されている。
以後、異常候補検出処理が施された第1の特徴画像データIAA(処理後強度画像データIA1a、処理後位相画像データIA3a、処理後位相ラプラシアン画像データIA4a)を、処理後特徴画像データIAAa(図11)とも称する。
図1に戻って、グループ化部105bは、異常候補Qの位置に基づいて、異常候補Qをグループに分ける。詳細には、図11に示されるように、グループ化部105bは、まず、処理後特徴画像データIAAa(処理後強度画像データIA1a、処理後位相画像データIA3a、処理後位相ラプラシアン画像データIA4a)に二値化処理を施し、当該二値化処理後の複数の処理後特徴画像データIAAaの画素毎の論理和である和画像データIBを生成する。次に、グループ化部105bは、和画像データIBに、各異常候補Qを膨張させる膨張処理を施す。以後、異常候補Qに膨張処理が施された和画像データIBを、膨張処理後和画像データIBaとも称する。次に、グループ化部105bは、膨張処理後和画像データIBaにおいて座標が一致または隣接する異常候補Q同士を一つのグループにする。詳細には、グループ化部105bは、和画像データIBにラベリング処理を施すことにより、膨張処理後和画像データIBaにおいて座標が一致または隣接する異常候補Q同士を一つのグループにする。これにより、膨張処理後和画像データIBaにおいて座標が一致または隣接する異常候補Q同士には、同一の識別番号(識別情報)が付与される。このとき、ある異常候補Qにおいて、座標が一致または隣接する他の異常候補Qが無い場合には、当該ある異常候補Qが一つのグループを構成する。図11では、識別番号の一例として、「001」、「002」、「003」が示されている。以後、上記の異常候補Qのグループ化処理が施された膨張処理後和画像データIBaを、膨張ラベル和画像データIBbとも称する。以上のように、本実施形態では、グループ化部105bは、和画像データIB(膨張された異常候補Q)に基づいて、異常候補Qをグループに分ける。なお、和画像データIBは、OR画像データとも称され得る。
図1に戻って、第1の取得部105cは、複数の第1の特徴画像データIAA(強度画像データIA1、位相画像データIA3、位相ラプラシアン画像データIA4)中での異常候補Qの複数の特徴量を取得する。異常候補Qの特徴量は、規定の処理を施した第1の特徴画像データIAAから取得してもよい。また、一例として、位相画像データIA3に関する特徴量については、位相限定ラプラシアン処理が施された画像データ(一例として位相ラプラシアン画像データIA4)の特徴量が用いられる。これは、位相画像データIA3が−π〜πまでの数値が周期的に繰り返されている画像データであるためである。ラプラシアンフィルタ処理が施された画像データ(位相ラプラシアン画像データIA4)を用いることにより、位相画像データIA3から周期的な成分(数値、部分)を除去(解除)した上での特徴量の取得が可能となる。本実施形態では、第1の取得部105cは、複数の特徴量として第1〜第5の特徴量を取得する。第1の特徴量は、第1の特徴画像データIAA中での異常候補Qの大きさを示す。第2の特徴量は、第1の特徴画像データIAA中での異常候補Q内の特徴(画素値)の最小値を示す。第3の特徴量は、第1の特徴画像データIAA中での異常候補Q内の特徴(画素値)の平均値を示す。第4の特徴量は、第1の特徴画像データIAA中での異常候補Q内の特徴(画素値)の最大値と当該異常候補Q内の特徴(画素値)の最小値との差を示す。第5の特徴量は、第1の特徴画像データIAA中での異常候補Q内の特徴(画素値)の標準偏差を示す。なお、本実施形態では、第1〜第5の特徴量の全てを取得する例を説明するが、第1〜第5の特徴量のうち少なくとも一つを取得するものであってもよい。
以下、第1の取得部105cによる各特徴量の取得処理について説明する。まず、第1の取得部105cは、和画像データIBの各異常候補Qに、当該異常候補Qの座標値を含むグループ、すなわち当該異常候補Qと対応するグループの識別番号を付与する(図11)。そして、図17,18に示されるように、第1の取得部105cは、各第1の特徴画像データIAA(強度画像データIA1、位相ラプラシアン画像データIA4)から第1から第3の特徴量を取得する場合、各第1の特徴画像データIAAにおいて、識別番号の付与処理がなされた和画像データIB中の異常候補Qと同じ領域Rを特定する。次に、第1の取得部105cは、領域Rに基づいて、第1〜第3の特徴量を取得する。詳細には、第1の取得部105cは、領域Rの大きさである画素数(第1の特徴量)を算出する。また、第1の取得部105cは、領域Rから、領域R中の画素の画素値の最小値(第2の特徴量)を抽出する。また、第1の取得部105cは、領域R中の画素の画素値の平均値(第3の特徴量)を算出する。次に、第1の取得部105cは、取得された第1〜第3の特徴量を、対応する異常候補Qに対応付けることにより、第1〜第3の特徴量を、対応するグループに対応付ける。
また、図19,20に示されるように、第1の取得部105cは、各第1の特徴画像データIAA(強度画像データIA1、位相ラプラシアン画像データIA4)から第4及び第5の特徴量を取得する場合、和画像データIBに、異常候補Qを膨張させる膨張処理を施す。第1の取得部105cは、膨張処理では、一例として、異常候補Qを二画素膨張させる。次に、第1の取得部105cは、各第1の特徴画像データIAA(強度画像データIA1、位相ラプラシアン画像データIA4)において、膨張処理後の和画像データIB中の異常候補Qと同じ領域Rを特定する。次に、第1の取得部105cは、領域Rに基づいて、第4及び第5の特徴量を取得する。詳細には、第1の取得部105cは、領域Rの中の画素の画素値の最大値と領域Rの中の画素の画素値の最小値との差(第4の特徴量)を算出する。また、第1の取得部105cは、領域R中の画素の画素値の標準偏差(第5の特徴量)を算出する。第1の取得部105cは、取得された第4及び第5の特徴量を、対応する異常候補Qに対応付けることにより、第4及び第5の特徴量を、対応するグループに対応付ける。
図1に戻って、第2の取得部105dは、複数の特徴画像データのうち第2の特徴画像データIAB(振幅画像データIA2)の、第1の特徴画像データIAA中の異常候補Qと同じ領域R(同領域)の特徴量を取得する。本実施形態では、第2の取得部105dは、複数の特徴量として第6〜第10の特徴量を取得する。第6の特徴量は、第2の特徴画像データIAB中での領域Rの大きさを示す。第7の特徴量は、第2の特徴画像データIAB中での領域R内の特徴(画素値)の最小値を示す。第8の特徴量は、第2の特徴画像データIAB中での領域R内の特徴(画素値)の平均値を示す。第9の特徴量は、第2の特徴画像データIAB中での領域R内の特徴(画素値)の最大値と当該領域R内の特徴(画素値)の最小値との差を示す。第10の特徴量は、第2の特徴画像データIAB中での領域R内の特徴(画素値)の標準偏差を示す。なお、本実施形態では、第6〜第10の特徴量の全てを取得する例を説明するが、第6〜第10の特徴量のうち少なくとも一つを取得するものであってもよい。また、異常候補Qの特徴量は、規定の処理を施した第2の特徴画像データIABから取得してもよい。
以下、第2の取得部105dによる各特徴量の取得処理について説明する。図21に示されるように、第2の取得部105dは、第2の特徴画像データIAB(振幅画像データIA2)から第6から第8の特徴量を取得する場合、第2の特徴画像データIABにおいて、識別番号の付与処理がなされた和画像データIB中の異常候補Qと同じ領域Rを特定する。次に、第2の取得部105dは、領域Rに基づいて、第6〜第8の特徴量を取得する。詳細には、第2の取得部105dは、領域Rの大きさである画素数(第6の特徴量)を算出する。また、第2の取得部105dは、領域Rから、領域R中の画素の画素値の最小値(第7の特徴量)を抽出する。また、第2の取得部105dは、領域R中の画素の画素値の平均値(第8の特徴量)を算出する。次に、第2の取得部105dは、取得された第6〜第8の特徴量を、対応する異常候補Qに対応付けることにより、第6〜第8の特徴量を、対応するグループに対応付ける。
また、図22に示されるように、第2の取得部105dは、第2の特徴画像データIAB(振幅画像データIA2)から第9及び第10の特徴量を取得する場合、第2の特徴画像データIABにおいて、第1の取得部105cによって膨張処理がなされた和画像データIB中の異常候補Q、と同じ領域Rを特定する。次に、第2の取得部105dは、領域Rに基づいて、第9及び第10の特徴量を取得する。詳細には、第2の取得部105dは、領域Rの中の画素の画素値の最大値と領域Rの中の画素の画素値の最小値との差(第9の特徴量)を算出する。また、第2の取得部105dは、領域R中の画素の画素値の標準偏差(第10の特徴量)を算出する。第2の取得部105dは、取得された第9及び第10の特徴量を、対応する異常候補Qに対応付けることにより、第9及び第10の特徴量を、対応するグループに対応付ける。
図1に戻って、算出部105eは、和画像データIB中でのグループ毎の画素数を算出する。この場合、図23に示されるように、算出部105eは、和画像データIBと、膨張ラベル和画像データIBbと、を用いる。算出部105eは、和画像データIBにおいて、膨張ラベル和画像データIBb中のグループに含まれる異常候補Qに対応する、膨張処理前の異常候補Qの画素数を算出する。以後、和画像データIB中でのグループ毎の画素数をグループ画素数とも称する。算出部105eは、算出されたグループ画素数を、対応するグループに関連付ける。
図1に戻って、決定部105fは、グループ毎に特徴量及びグループ画素数を用いる多変量解析を行うことによって、異常候補Qの中から異常領域を決定する。決定部105fは、グループ毎に、各グループに関連付けられた特徴量及びグループ画素数を用いて多変量解析を行う。本実施形態では、多変量解析の一例として、MT法(マハラノビス・タグチ法)が用いられる。MT法で用いられる基準空間を規定する基準空間データは、図示しない記憶部に予め記憶されている。基準空間データは、良品(正常品)の表面を撮像して得た良品画像データに基づいて生成されたものである。決定部105fは、特徴量及びグループ画素数と基準空間とに基づいて、マハラノビス距離を算出する。そして、決定部105fは、算出したマハラノビス距離に基づいて、異常領域を決定する。詳細には、決定部105fは、算出したマハラノビス距離と閾値とを比較する。決定部105fは、算出したマハラノビス距離が閾値よりも大きい場合、当該グループに含まれる異常候補Qは異常領域であると判定し、当該異常候補Qを異常領域として決定する。一方、決定部105fは、算出したマハラノビス距離が閾値以下の場合、当該グループに含まれる異常候補Qは異常領域ではないと判定し、当該異常候補Qを異常領域としない。なお、多変量解析としては、MT法以外の他の公知のものであってもよい。
次に、異常検出処理部105が実行する異常検出処理の手順について説明する。図24は、本実施形態の異常検出処理部105が実行する異常検出処理の手順を示すフローチャートである。まず、検出部105aが、第1の特徴画像データIAA中の異常候補Qを検出する(ステップS1301)。次に、グループ化部105bが、異常候補Qの膨張処理(ステップS1302)及びラベリング処理(ステップS1303)を行って、異常候補Qのグループ分けを行う。次に、第1の取得部105c及び第2の取得部105dが、特徴量を取得し(ステップS1304)、算出部105eがグループ画素数を算出する(ステップS1305)。次に、決定部105fが、特徴量及びグループ画素数を用いる多変量解析を行って、異常領域を決定する(ステップS1306)。
次に、本実施形態の検査システムにおける被検査体の検査処理について説明する。図25は、本実施形態の検査システムにおける上述した処理の手順を示すフローチャートである。なお、被検査体150は、すでにアーム140に固定された状態で、検査の初期位置に配置されているものとする。
本実施形態のPC100が、照明装置120に対して、被検査体150を検査するための縞パターンを出力する(ステップS1401)。
照明装置120は、PC100から入力された縞パターンを格納する(ステップS1421)。そして、照明装置120は、格納された縞パターンを、時間遷移に従って変化するように表示する(ステップS1422)。なお、照明装置120が表示を開始する条件は、縞パターンが格納された際に制限するものではなく、例えば検査者が照明装置120に対して開始操作を行った際でもよい。
そして、PC100の制御部103が、時間相関カメラ110に対して、撮影の開始指示を送信する(ステップS1402)。
次に、時間相関カメラ110が、送信されてきた撮影指示に従って、被検査体150を含む領域について撮像を開始する(ステップS1411)。次に、時間相関カメラ110の制御部240が、強度画像データIA1と、時間相関画像データと、を生成する(ステップS1412)。そして、時間相関カメラ110の制御部240が、強度画像データIA1と、時間相関画像データと、を、PC100に出力する(ステップS1413)。
PC100の制御部103は、強度画像データIA1と、時間相関画像データと、を受け取る(ステップS1403)。そして、振幅−位相画像生成部104は、受け取った強度画像データIA1と時間相関画像データとから、振幅画像データIA2と、位相画像データIA3とを生成する(ステップS1404)。また、制御部103は、位相ラプラシアン画像データIA4を生成する。
そして、異常検出処理部105が、強度画像データIA1と、振幅画像データIA2と、位相画像データIA3と、位相ラプラシアン画像データIA4と、に基づいて、被検査体150の異常検出制御を行う(ステップS1405)。そして、異常検出処理部105は、異常候補Qから決定した異常領域、すなわち異常検出結果を、PC100が備える(図示しない)表示装置に出力する(ステップS1406)。
異常検出結果の出力例としては、強度画像データIA1を表示するとともに、強度画像データIA1における異常検出処理部105によって検出された異常領域を、検査者が異常として認識できるように装飾表示するなどが考えられる。また、視覚に基づく出力に制限するものではなく、音声等で異常が検出されたことを出力してもよい。
制御部103は、当該被検査体150の検査が終了したか否かを判定する(ステップS1407)。検査が終了していないと判定した場合(ステップS1407:No)、アーム制御部101が、予め定められた設定に従って、次の検査対象となる被検査体150の表面を、時間相関カメラ110で撮影できるように、アーム140の移動制御を行う(ステップS1408)。アーム140の移動制御が終了した後、制御部103が、再び時間相関カメラ110に対して、撮影の開始指示を送信する(ステップS1402)。
一方、制御部103は、当該被検査体150の検査が終了したと判定した場合(ステップS1407:Yes)、終了指示を時間相関カメラ110に対して出力し(ステップS1409)、処理を終了する。
そして、時間相関カメラ110は、終了指示を受け付けたか否かを判定する(ステップS1414)。終了指示を受け付けていない場合(ステップS1414:No)、再びステップS1411から処理を行う。一方、終了指示を受け付けた場合(ステップS1414:Yes)、処理を終了する。
なお、照明装置120の終了処理は、検査者が行ってもよいし、他の構成からの指示に従って終了してもよい。
以上、説明したように、本実施形態では、異常検出処理部105は、被検査体150で反射した光の特徴を示す複数の異なる特徴画像データのうち第1の特徴画像データIAAから、異常候補Qを検出し、異常候補Qの位置に基づいて、異常候補Qをグループに分け、第1の特徴画像データIAAの異常候補Qの特徴量を取得し、複数の特徴画像データのうち第2の特徴画像データIABの、第1の特徴画像データIAA中の異常候補Qと同じ領域Rの特徴量を取得し、グループ毎に特徴量を用いる多変量解析を行うことによって、異常領域を決定する。つまり、異常検出処理部105は、異常領域を決定するにあたり、複数の特徴画像データ(第1の特徴画像データIAA、第2の特徴画像データIAB)を用いるとともに多変量解析を行う。よって、被検査体150の異常をより高精度に検出することができる。また、本実施形態では、第2の特徴画像データIABに対して異常候補検出処理を行わないので、検査時間の短縮化を図ることができる。
また、本実施形態では、和画像データIB中の異常候補Qと同じ領域Rに基づいて特徴量を取得するので、各グループに、各特徴画像データ(強度画像データIA1、振幅画像データIA2、位相画像データIA3、位相ラプラシアン画像データIA4)のそれぞれの特徴量を対応付けることができる。よって、被検査体150の異常をより高精度に検出することができる。
なお、本実施形態では、時間相関カメラ110を用いて生成された強度画像データIA1と、時間相関画像データと、を生成する例について説明した。しかしながら、強度画像データIA1と、時間相関画像データと、を生成するために時間相関カメラ110を用いることに制限するものではなく、アナログ的な処理で実現可能な時間相関カメラや、それと等価な動作をする撮像システムを用いてもよい。例えば、通常のデジタルスチルカメラが生成した画像データを出力し、情報処理装置が、デジタルスチルカメラが生成した画像データを、フレーム画像データとして用いて参照信号を重畳することで、時間相関画像データを生成してもよいし、イメージセンサ内で光強度信号に参照信号を重畳するようなデジタルカメラを用いて、時間相関画像データを生成してもよい。
また、本実施形態では、強度画像データIA1と位相画像データIA3と位相ラプラシアン画像データIA4とが、第1の特徴画像データIAAであり、振幅画像データIA2が第2の特徴画像データIABである例を説明した。しかしながら、強度画像データIA1と振幅画像データIA2と位相画像データIA3と位相ラプラシアン画像データIA4とのうち少なくとも一つが、第1の特徴画像データIAAであり、強度画像データIA1と振幅画像データIA2と位相画像データIA3と位相ラプラシアン画像データIA4とのうち第1の特徴画像データIAA以外の少なくとも一つが、第2の特徴画像データIABであってもよい。
(変形例1)
本変形例1は、振幅画像データIA2が第1の特徴画像データIAAとして用いられる。したがって、検出部105aは、振幅画像データIA2から異常候補を検出する。なお、本変形例では、強度画像データIA1と位相画像データIA3と位相ラプラシアン画像データIA4とのうち少なくとも一つが第2の特徴画像データIABとして用いられる。
検出部105aは、振幅画像データIA2から異常候補を検出する場合、以下の振幅画像データIA2用の異常候補検出処理を行う。当該処理では、検出部105aは、振幅−位相画像生成部104により生成された振幅画像データIA2により、検査対象面の法線ベクトルの分布と対応した特徴であって、周囲との違いによって、被検査体150の異常に関連する特徴を検出することができる。
図26は、本変形例の振幅画像データIA2用の異常候補検出処理の手順を示すフローチャートである。まず、検出部105aは、振幅画像データIA2の各画素に格納された、光の振幅値(を表した画素値)から、当該画素を基準(例えば中心)として、N×N領域の平均振幅値を減算し(ステップS1501)、振幅の平均差分画像データを生成する。振幅の平均差分画像データは、振幅の勾配に対応する。なお、整数Nは実施の態様に応じて適切な値が設定されるものとする。
次に、検出部105aは、減算により生成された振幅の平均差分画像データに対して、予め定められた振幅の閾値を用いたマスク処理を行う(ステップS1502)。
さらに、検出部105aは、平均差分画像データのマスク領域内について画素毎に標準偏差を算出する(ステップS1503)。なお、本実施形態では、標準偏差に基づいた手法について説明するが、標準偏差を用いた場合に制限するものではなく、例えば平均値等を用いてもよい。
そして、検出部105aは、平均を引いた振幅画素値が−4.5σ(σ:標準偏差)より小さい値の画素を、異常(欠陥)がある領域(画素)の候補である異常候補として検出する(ステップS1504)。
上述した処理手順により、各画素の振幅値(換言すれば、振幅の分布)から、振幅画像データIA2における異常候補を検出できる。
(変形例2)
本変形例は、上記実施形態及び変形例1に対して異常候補の検出方法が異なる。本変形例では、異常検出処理部105が、予め図示しない記憶部に記憶された、参照表面から得られた、第1の特徴画像データIAA(強度画像データIA1、振幅画像データIA2、位相画像データIA3または位相ラプラシアン画像データIA4)と、被検査体150の、第1の特徴画像データIAA(強度画像データIA1、振幅画像データIA2、位相画像データIA3または位相ラプラシアン画像データIA4)と、を比較し、被検査体150の表面と参照表面との間で、所定の基準以上の違いがあるか否かを判定することにより、異常候補を検出する。
本変形例は、実施形態と同じ構成の検査システムを用い、参照表面として正常な被検査体の表面を用いる例とする。また、以下では、強度画像データIA1と位相画像データIA3と位相ラプラシアン画像データIA4とを第1の特徴画像データIAAとし、振幅画像データIA2を第2の特徴画像データIABとする。
照明装置120がスクリーン130を介して縞パターンを照射している間に、時間相関カメラ110が、正常な被検査体の表面(参照表面)を撮像し、強度画像データIA1及び時間相関画像データを生成する。そして、PC100が、時間相関カメラ110で生成された時間相関画像データを入力し、位相画像データIA3及び位相ラプラシアン画像データIA4を生成し、PC100の図示しない記憶部に、強度画像データIA1、位相画像データIA3及び位相ラプラシアン画像データIA4を記憶させておく。そして、時間相関カメラ110が、異常が生じているか否かを判定したい被検査体150(検査対象)を撮像し、強度画像データIA1及び時間相関画像データを生成する。そして、PC100が、時間相関画像データから、振幅画像データIA2、位相画像データIA3及び位相ラプラシアン画像データIA4を生成する。次に、PC100の異常検出処理部105が、記憶部に記憶されていた、正常な被検査体の、強度画像データIA1、位相画像データIA3及び位相ラプラシアン画像データIA4と、被検査体150の、強度画像データIA1、位相画像データIA3及び位相ラプラシアン画像データIA4と、を比較する。異常検出処理部105は、同じ種類の画像データ同士(強度画像データIA1同士、位相画像データIA3同士、位相ラプラシアン画像データIA4同士)において対応する画素同士の画素値に所定の基準以上の違いがある場合、当該画素を異常領域の候補である異常候補Qとして検出する。
上述した実施形態のPC100で実行される検査プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
また、上述した実施形態のPC100で実行される検査プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述した実施形態のPC100で実行される検査プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
本発明のいくつかの実施形態及び変形例を説明したが、これらの実施形態及び変形例は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態及び変形例は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形例は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。