<第1実施形態>
以下、第1実施形態の検査システムについて説明する。第1実施形態の検査システムは、被検査体を検査するために様々な構成を備えている。図1は、第1実施形態による検査システムの構成を示した例示的なブロック図である。図1に示されるように、第1実施形態の検査システムは、PC100と、時間相関カメラ110と、照明装置120と、スクリーン130と、アーム140と、を備えている。
アーム140は、被検査体150を固定するために用いられ、PC100からの制御に応じて、時間相関カメラ110が撮像可能な被検査体150の表面の位置および向きを変化させる。
照明装置120は、被検査体150に光を照射する装置であって、PC100などから指定される照明パターン(後述の縞パターンなど)に従って、照射する光の強度を領域単位で制御できる。さらに、照明装置120は、周期的な時間遷移に従って当該領域単位の光の強度を制御できる。換言すれば、照明装置120は、光の強度の周期的な時間変化および空間変化を与えることができる。なお、具体的な光の強度の制御手法については後述する。
スクリーン130は、照明装置120から出力された光を拡散させた上で、被検査体150に対して面的に光を照射する。実施形態のスクリーン130は、照明装置120から入力された周期的な時間変化および空間変化が与えられた光を、面的に被検査体150に照射する。なお、照明装置120とスクリーン130との間には、集光用のフレネルレンズなどの光学系部品(図示されず)が設けられてもよい。
なお、第1実施形態では、照明装置120とスクリーン130とを組み合わせて、光強度の周期的な時間変化および空間変化を与える面的な照明部を構成する例について説明するが、当該照明部は、このような組み合わせに制限されるものではない。たとえば、LEDを面的に配置したり、大型モニタを配置したりするなどして、照明部を構成してもよい。
図2は、第1実施形態の時間相関カメラ110の構成を示した例示的なブロック図である。図2に示されるように、時間相関カメラ110は、光学系210と、イメージセンサ220と、データバッファ230と、制御部240と、第1信号出力部251と、第2信号出力部252と、参照信号出力部260と、を備えている。
光学系210は、撮像レンズなどを含み、時間相関カメラ110の外部に位置する被写体(被検査体150を含む)からの光束を透過し、その光束により形成される被写体の光学像を結像させる。
イメージセンサ220は、光学系210を介して入射された光の強弱を光強度信号として画素毎に高速に出力可能なセンサとする。
第1実施形態の光強度信号は、検査システムの照明装置120が被写体(被検査体150を含む)に対して光を照射し、当該被写体からの反射光を、イメージセンサ220が受け取ったものである。
イメージセンサ220は、たとえば従来のものと比べて高速に読み出し可能なセンサであり、行方向(x方向)、列方向(y方向)の2種類の方向に画素が配列された2次元平面状に構成されたものとする。そして、イメージセンサ220の各画素を、画素P(1,1),……,P(i,j),……,P(X,Y)とする(なお、第1実施形態の画像サイズをX×Yとする。)。なお、イメージセンサ220の読み出し速度を制限するものではなく、従来と同様であってもよい。
イメージセンサ220は、光学系210によって透過された、被写体(被検査体150を含む)からの光束を受光して光電変換する。これにより、イメージセンサ220は、被写体から反射された光の強弱を示した光強度信号(撮像信号)で構成される2次元平面状のフレームを生成し、制御部240に出力する。第1実施形態のイメージセンサ220は、読み出し可能な単位時間毎に、当該2次元平面状のフレームを出力する。
第1実施形態の制御部240は、たとえばCPU、ROM、およびRAMなどといったハードウェア構成を含む。CPUは、ROMに格納されたプログラムを実行することで、転送部241と、読出部242と、強度画像用重畳部243と、相関画像用重畳部244と、画像出力部249と、を実現する。相関画像用重畳部244は、第1の乗算器245と、第1の相関画像用重畳部246と、第2の乗算器247と、第2の相関画像用重畳部248と、を含む。なお、第1実施形態は、これらの機能的構成を、CPUとプログラム、すなわちハードウェアとソフトウェアとの協働によって実現することに制限するものではない。第1実施形態では、上記の機能的構成を、FPGAやASICなどといったハードウェアのみで実現してもよい。
転送部241は、イメージセンサ220から出力された、光強度信号で構成されたフレームを、データバッファ230に、時系列順に蓄積する。
データバッファ230は、イメージセンサ220から出力されたフレームを、時系列順に蓄積する。
図3は、第1実施形態の時間相関カメラ110において時系列順に蓄積されるフレームを概念的に表した例示的な図である。図3に示されるように、第1実施形態のデータバッファ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)で構成される。なお、光強度信号は、撮像信号とも称されうる。
第1実施形態の光強度信号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から出力されるフレームは、光強度信号のみで構成されており、換言すればモノクロの画像データとも考えることができる。なお、第1実施形態では、解像度、感度、およびコストなどを考慮して、イメージセンサ220がモノクロの画像データを生成する例について説明する。しかしながら、イメージセンサ220は、モノクロ用のイメージセンサに制限されるものではなく、カラー用のイメージセンサであってもよい。
図2に戻り、第1実施形態の読出部242は、データバッファ230から、光強度信号G(1,1,t),……,G(i,j,t),……,G(X,Y,t)をフレーム単位で時系列順に読み出し、読み出したデータを強度画像用重畳部243および相関画像用重畳部244に出力する。なお、第1実施形態の読出部242が読み出しを開始するタイミングについては、後で詳細に説明するため、ここでは説明を省略する。
第1実施形態の時間相関カメラ110は、読出部242の出力先毎に画像データを生成(出力)する。すなわち、時間相間カメラ110は、大別して、2つの出力先(強度画像用重畳部243および相関画像用重畳部244)に対応した2種類の画像データを出力する。
より具体的に、第1実施形態の時間相関カメラ110は、2種類の画像データとして、強度画像用重畳部243により生成される強度画像データと、相関画像用重畳部244により生成される時間相関画像データと、を出力する。ここで、第1実施形態では、相関画像用重畳部244により生成される時間相関画像データが、第1の乗算器245および第1の相関画像用重畳部246の組み合わせにより生成される時間相関画像データと、第2の乗算器247および第2の相関画像用重畳部248の組み合わせにより生成される時間相関画像データと、の2種類存在する。したがって、第1実施形態では、強度画像データと、2種類の時間相関画像データと、の合計3種類の画像データが生成される。なお、第1実施形態の技術は、3種類の画像データを生成することに制限されるものではなく、強度画像データを生成しない場合や、1種類または3種類以上の時間相関画像データを生成する場合も考えられる。
上述したように、第1実施形態のイメージセンサ220は、光強度信号で構成されたフレームを、読み出し可能な単位時間毎に出力している。しかしながら、通常の画像データを生成するためには、撮像に必要な露光時間分の光強度信号が必要になる。そこで、第1実施形態では、強度画像用重畳部243が、撮像に必要な露光時間分の複数のフレームを重畳して、強度画像データを生成(取得)する。なお、強度画像データを画像化したもの(強度画像)の各画素値(光の強度を表す値)G(x,y)は、以下に示す式(1)から導き出すことができる。ここで、露光時間は、t0とtnの時間差とする。
これにより、従来のカメラの撮像と同様に、被写体(被検査体150を含む)が撮像された強度画像データを生成(取得)することができる。強度画像用重畳部243は、生成した強度画像データを、画像出力部249に出力する。
時間相関画像データは、時間遷移に応じた光の強弱の変化を示す画像データである。第1実施形態では、第1の乗算器245および第2の乗算器247は、読出部242がフレームを読み出す毎に、当該フレームに含まれる光強度信号に、時間遷移を表す参照信号を乗算し、参照信号と光強度信号との乗算結果である時間相関値で構成された時間相関値フレームを生成(取得)する。そして、第1の相関画像用重畳部246および第2の相関画像用重畳部28は、それぞれ、第1の乗算器245および第2の乗算器247により生成された複数の時間相関値フレームを重畳することで、時間相関画像データを生成(取得)する。
ところで、時間相関画像データに基づいて被検査体150の異常を検出するためには、イメージセンサ220に入力される光強度信号の変化と、参照信号の値の変化とが同期している必要がある。この点において、第1実施形態の照明装置120は、上述したように、光の強度の周期的な時間変化および空間変化を与えるような面的な光の照射を、スクリーン130を介して行っている。したがって、第1実施形態では、以下に説明するように、参照信号として、照明装置120により与えられる光の強度の変化に対応して周期的に値が変化する信号が用いられる。
ここで、第1実施形態では、2種類の時間相関画像データが生成される。上述したように、参照信号は、時間遷移を表した信号であればよいが、第1実施形態では、一例として、複素正弦波e-jωtに対応した参照信号を用いる。この複素正弦波e-jωtにおいて、eはネイピア数、jは虚数単位、ωは角周波数、tは時刻を表すものとする。第1実施形態では、参照信号を表す複素正弦波e-jωtが、上述した露光時間、すなわち強度画像データおよび時間相関画像データを生成するために必要な時間の1周期と相関をとるように、角周波数ωが設定されるものとする。照明装置120およびスクリーン130などの照明部によって形成された面的かつ動的な光は、被検査体150の表面(反射面)の各位置において、第1の周期(時間周期)での時間的な照射強度の変化を与えるとともに、表面に沿った少なくとも一方向に沿った第2の周期(空間周期)での空間的な照射強度の増減分布を与える。この面的な光は、表面で反射される際に、当該表面のスペック(法線ベクトルの分布など)に応じて複素変調される。時間相関カメラ110は、表面で複素変調された光を受光し、第1の周期の参照信号を用いて直交検波(直交復調)することで、複素信号としての時間相関画像データを取得する。このような複素数としての時間相関画像データに基づく変復調により、表面の法線ベクトルの分布に対応した特徴を検出することができる。
複素正弦波e-jωtは、e-jωt=cosωt−j・sinωtと表すこともできる。したがって、時間相関画像データの各画素値C(x,y)は、以下に示す式(2)から導き出すことができる。
第1実施形態では、式(2)により表される時間相関画像データが2種類生成され、当該2種類の時間相関画像データの各々は、実部を表す画素値C1(x,y)と、虚部を表す画素値C2(x,y)と、に分けて生成される。
第1実施形態の参照信号出力部260は、第1の乗算器245と、第2の乗算器247と、に対してそれぞれ異なる参照信号を出力する。たとえば、参照信号出力部260は、複素正弦波e-jωtの実部に対応する参照信号cosωtを第1の乗算器245に出力し、複素正弦波e-jωtの虚部に対応する参照信号sinωtを第2の乗算器247に出力する。なお、ここでは、参照信号出力部260が、互いにヒルベルト変換対をなす正弦波および余弦波の時間関数として表される2種類の参照信号を出力する例について説明するが、参照信号は、時間関数のような時間遷移に応じて変化する信号であれば、どのような信号であってもよい。
第1の乗算器245は、読出部242からフレームが入力される毎に、当該フレームの光強度信号に、参照信号出力部260から入力された複素正弦波e-jωtの実部cosωtを乗算する。
そして、第1の相関画像用重畳部246は、撮像に必要な露光時間分の複数のフレームについて、第1の乗算器245の乗算結果を画素毎に重畳する処理を行う。これにより、2種類の時間相関画像データのうちの一方の各画素値C1(x,y)が、以下の式(3)から導出される。
一方、第2の乗算器247は、読出部242からフレームが入力される毎に、当該フレームの光強度信号に、参照信号出力部260から入力された複素正弦波e-jωtの虚部sinωtを乗算する。
そして、第2の相関画像用重畳部248は、撮像に必要な露光時間分の複数のフレームについて、第2の乗算器247の乗算結果を画素毎に重畳する処理を行う。これにより、2種類の時間相関画像データのうちの他方の各画素値C2(x,y)が、以下の式(4)から導出される。
上述した処理により、2種類の時間相関画像データ、換言すれば2自由度を有する時間相関画像データを生成できる。
なお、上述したように、第1実施形態は、参照信号の種類を制限するものでない。また、第1実施形態では、一例として、複素正弦波e-jωtの実部と虚部とに対応した2種類の時間相関画像データが生成される例について説明するが、光の振幅と光の位相とに対応した2種類の時間相関画像データが生成されてもよい。
また、第1実施形態の時間相関カメラ110は、時間相関画像データを、複数系統分生成することが可能である。したがって、第1実施形態の時間相関カメラ110によれば、たとえば複数種類の幅の縞が組み合わされた光を照射する場合において、上述した実部と虚部とに対応した2種類の時間相関画像データを、縞の幅毎に複数系統分生成することが可能である。この場合、時間相関カメラ110は、2個の乗算器と2個の相関画像用重畳部とからなる組み合わせを、複数系統分備える必要があり、参照信号出力部260は、系統毎に適した角周波数ωによる参照信号を出力する必要がある。
図2に示される例では、画像出力部249は、2種類の時間相関画像データと、強度画像データとを、PC100(図1参照)に出力する。そして、PC100は、時間相関画像データおよび強度画像データを画像化したもの(時間相関画像および強度画像)を用いて、被検査体150の異常を検出する。このように、第1実施形態では、被検査体150の異常を検出するために、光の強度の(周期的な)時間変化および空間変化を与えるような光を、被検査体150に対して照射する必要がある。
第1実施形態の照明装置120は、一例として、高速に移動する縞パターンを照射する。図4は、第1実施形態の照明装置120が照射する縞パターンの一例を示した例示的な図である。図4に示す例では、縞パターンをx方向にスクロール(移動)させている例とする。白い領域が縞に対応した明領域、黒い領域が縞と縞との間に対応した間隔領域(暗領域)である。
第1実施形態では、時間相関カメラ110が強度画像データおよび時間相関画像データを撮像するのに必要な露光時間で、照明装置120が照射する縞パターンを1周期分移動させる。これにより、照明装置120は、縞パターンの空間的な移動に基づき、被検査体150に光の強度の周期的な時間変化を与える。第1実施形態では、図4の縞パターンが1周期分移動する時間が、露光時間と対応しているので、時間相関画像データを画像化したもの(時間相関画像)の各画素には、少なくとも、縞パターン1周期分の光の強度信号に関する情報が埋め込まれる。
図4に示されるように、第1実施形態では、照明装置120が矩形波に基づく縞パターンを照射する例について説明するが、矩形波以外が用いられてもよい。第1実施形態では、照明装置120がスクリーン130を介して光を照射することで、矩形波の明暗の境界領域をぼかすことができる。
第1実施形態では、照明装置120が照射する縞パターンを、A(1+cos(ωt+kx))と表す。すなわち、縞パターンには、複数の縞が反復的に(周期的に)含まれる。なお、被検査体150に照射される光の強度は0〜2Aの間で調整可能とし、光の位相をkxとする。kは、縞の波数である。xは、位相が変化する方向である。
上記の縞パターンの式により、照明装置120が光を照射した際のフレームの各画素の光強度信号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からの光が被写体(被検査体150を含む)から反射して入力される。
したがって、イメージセンサ220に入力される光強度信号G(x,y,t)は、照明装置120が光を照射した際のフレームの各画素の光強度信号f(x,y,t)と同一視できる。そこで、強度画像データを導出するための式(1)に式(5)を代入すると、式(6)を導出できる。なお、位相をkxとする。
式(6)から、強度画像データを画像化したもの(強度画像)の各画素には、露光時間Tに、照明装置120が出力している光の強度の中間値Aを乗じた値が入力されていることが確認できる。さらに、時間相関画像データを導出するための式(2)に式(5)を代入すると、式(7)を導出できる。なお、AT/2を振幅とし、kxを位相とする。
これにより、式(7)で示された複素数で示された時間相関画像データは、上述した2種類の時間相関画像データと置き換えることができる。つまり、上述した実部と虚部とで構成される時間相関画像データには、被検査体150に照射された光の強度変化における位相変化と振幅変化とが含まれている。換言すれば、第1実施形態のPC100は、2種類の時間相関画像データに基づいて、照明装置120から照射された光の位相変化と、光の振幅変化と、を検出できる。そこで、第1実施形態のPC100は、時間相関画像データおよび強度画像データに基づいて、画素毎に入る光の振幅変化を表した振幅画像データと、画素毎に入る光の位相変化を表した位相画像データと、を生成する。
そして、第1実施形態のPC100は、生成した振幅画像データおよび位相画像データを画像化したもの(振幅画像および位相画像)に基づいて、画像処理により、被検査体150の異常を検出する。
ところで、被検査体150を含む一般的な被検査体の表面形状に凹凸に基づく異常が生じている場合、当該被検査体の表面の法線ベクトルの分布には異常に対応した変化が生じている。また、検査対象の表面に光を吸収するような異常が生じている場合、反射した光の強度に変化が生じる。法線ベクトルの分布の変化は、光の位相変化および振幅変化のうち少なくともいずれか1つとして検出される。そこで、第1実施形態では、時間相関画像データおよび強度画像データを用いて、法線ベクトルの分布の変化に対応した、光の位相変化および振幅変化のうち少なくともいずれか1つを検出する。これにより、第1実施形態では、被検査体の表面形状の異常を検出することが可能となる。以下、第1実施形態における、被検査体の異常と、法線ベクトルと、光の位相変化/振幅変化と、の関係について説明する。
図5は、第1実施形態の時間相関カメラ110による、被検査体の異常の第1の検出例を示した図である。図5に示される例では、被検査体500に突形状の異常501がある状況とする。当該状況においては、異常501の点502の近傍領域において、法線ベクトル521、522、523が異なる方向を向いていることを確認できる。当該法線ベクトル521、522、523が異なる方向を向いていることは、異常501から反射した光の拡散(たとえば、光511、512、513)を生じさせ、時間相関カメラ110のイメージセンサ220の任意の画素531に入る縞パターンの幅503を広くする。
図6は、第1実施形態において、図5に示される異常501が存在する場合に、当該異常501に応じて変化する、光の振幅の例を表した図である。図6に示される例では、光の振幅が、実部(Re)と虚部(Im)とに分けて2次元平面上に表されている。また、図6には、図5の光511、512、513に対応する光の振幅611、612、613が示されている。光の振幅611、612、613は、互いに打ち消し合い、イメージセンサ220の任意の画素531には、振幅621の光が入射する。
したがって、図6に示される状況では、被検査体500の異常501が撮像された領域で、振幅が小さいことが確認できる。換言すれば、振幅変化を示した振幅画像中に周囲と比べて暗くなっている領域がある場合、当該領域で光同士の振幅の打ち消し合いが生じていると推測できるため、当該領域に対応する被検査体500の位置で異常501が生じていると判断できる。
なお、第1実施形態の検査システムは、図5の異常501のように傾きが急峻に変化しているものに限らず、緩やかに変化する異常も検出できる。図7は、第1実施形態の時間相関カメラ110による、被検査体の異常の第2の検出例を示した図である。一般に、被検査体が正常である場合、当該被検査体の表面は、平面(換言すれば法線が平行)となる。しかしながら、図7に示される例では、被検査体700に緩やかな勾配701が生じた状況となっている。このような状況では、勾配701上の法線ベクトル721、722、723も同様に緩やかに変化し、イメージセンサ220に入力する光711、712、713が少しずつずれていく。ここで、図7に示される例では、緩やかな勾配701のために光の振幅の打ち消し合いは生じないため、図5、図6で表したような光の振幅はほとんど変化しない。しかしながら、図7に示される例では、本来スクリーン130から投影された光が、そのままイメージセンサ220に平行に入るはずであるところ、緩やかな勾配701の存在に起因して、スクリーン130から投影された光が平行の状態でイメージセンサ220に入らないため、光の位相変化が生じる。したがって、光の位相変化について、周囲などとの違いを検出すれば、図7に示したような緩やかな勾配701による異常を検出できる。
また、第1実施形態では、被検査体の表面形状(換言すれば、被検査体の法線ベクトルの分布)以外にも異常が生じる場合がある。図8は、第1実施形態の時間相関カメラ110による、被検査体の異常の第3の検出例を示した図である。図8に示される例では、被検査体800に汚れ801が付着している。このため、図8に示される例では、照明装置120から照射された光が汚れ801に対応した領域に吸収され、あるいは照明装置120から照射された光が汚れ801に対応した領域から拡散反射することで、時間相関カメラ110の、汚れ801を撮像している任意の画素領域において、光がほとんど強度変化しない。換言すれば、図8に示される例では、汚れ801を撮像している任意の画素領域で、光の強度が位相の打ち消し合いを起こして振動成分がキャンセルされることで、明るさがほとんど直流的になる。
このように、汚れ801を撮像している画素領域においては、光の振幅がほとんどなくなるため、振幅画像を表示した際に、周囲と比べて暗くなる領域が生じる。この理屈を利用すれば、当該領域に対応する被検査体800の位置に、汚れ801などの異常があることを推定できる。
以上のように、第1実施形態では、時間相関画像(振幅画像および位相画像)に基づいて、光の振幅の変化と、光の位相の変化と、を検出することで、被検査体に異常があることを推定できる。
図1に戻り、PC100について説明する。PC100は、検査システム全体の制御を行う。PC100は、アーム制御部101と、照明制御部102と、制御部103と、を備える。
アーム制御部101は、被検査体150の時間相関カメラ110による撮像対象となる表面を変更するために、アーム140を制御する。第1実施形態では、被検査体150の撮像対象となる表面をPC100に複数設定しておく。アーム制御部101は、時間相関カメラ110による被検査体150の撮像が終了する毎に、当該時間相関カメラ110が上記の設定に従って表面の撮像を実行できるように、アーム140を用いて被検査体150を移動させる。なお、第1実施形態は、撮像が終了する毎にアーム140を移動させ、撮像が開始する前に停止させることを繰り返すことに制限するものではなく、継続的にアーム140を駆動させてもよい。なお、アーム140は、搬送部、移動部、位置変更部、姿勢変更部などとも称されうる。
照明制御部102は、照明装置120に照射させる縞パターンを出力可能に構成されている。第1実施形態では、照明制御部102が、複数(少なくとも2枚以上)の縞パターンを照明装置120に受け渡し、当該縞パターンを露光時間中に切り替えて表示するように照明装置120に指示するものとする。
図9は、照明制御部102が照明装置120に出力させる縞パターンの例を示した図である。図9に示される例では、照明制御部102は、(B)に示す矩形波に従って、(A)に示す黒領域と白領域とが設定された縞パターンを出力させるように、照明装置120を制御する。
なお、第1実施形態で用いられる縞パターンにおける縞の間隔は、検出対象となる異常(欠陥)の大きさに応じて設定されるものとして、ここでは詳しい説明を省略する。
また、第1実施形態では、縞パターンを出力するための矩形波の角周波数ωは、参照信号の角周波数ωと同じ値とする。
ここで、図9に示されるように、照明制御部102が出力する縞パターンは、矩形波として示すことができる。しかしながら、第1実施形態では、縞パターンに対応した光がスクリーン130を介して照射されることで、縞パターンの境界領域をぼかす、すなわち縞パターンにおける明領域(縞の領域)と暗領域(間隔の領域)との境界における光の強度変化を緩やかにして(鈍らせて)いる。つまり、第1実施形態では、スクリーン130を介した後の縞パターンに対応した光の強度変化が、正弦波に近似したものとなる。図10は、スクリーン130を介した後の縞パターンを表した波の形状の一例を示した例示的な図である。図10に示されるような正弦波に近似した波は、計測精度(異常の検出精度)の向上をもたらす。なお、第1実施形態では、縞に明度が多段階に変化するグレー領域を追加したり、グラデーションを与えたりしてもよい。また、第1実施形態では、カラーの縞を含む縞パターンを用いてもよい。
図1に戻り、制御部103は、時間相関カメラ110から受け取った画像データ(強度画像データおよび時間相関画像データ)に基づいて、被検査体150の検査対象面の法線ベクトルの分布と対応した特徴であって、周囲との違いによって異常を検出する特徴を算出し、被検査体150の異常を検出する。なお、第1実施形態による制御部103は、検査を行うために、複素数で表現される時間相関画像データ(複素時間相関画像データ)そのものではなく、当該複素数の実部および虚部に対応した2種類の時間相関画像データを、時間相関カメラ110から受け取るものとする。制御部103は、画像生成部104と、異常検出部105と、を備える。
画像生成部104は、時間相関カメラ110から受け取った強度画像データおよび時間相関画像データに基づいて、振幅画像および位相画像を生成する。なお、上述したように、振幅画像とは、画素毎に入る光の振幅を表した振幅画像データに対応し、位相画像とは、画素毎に入る光の位相を表した位相画像データに対応する。
第1実施形態は、振幅画像の算出手法を制限するものではないが、たとえば、画像生成部104は、2種類の時間相関画像の画素値C1(x,y)およびC2(x,y)から、式(8)を用いて、振幅画像の各画素値F(x,y)を導き出す。
異常検出部105は、振幅画像の画素値(振幅)と、強度画像の画素値(強度)と、に基づいて、異常が生じている領域があるか否かを判定する。たとえば、強度画像の画素値(AT)を2で除算した値と、振幅画像の振幅(打ち消し合いが生じない場合にはAT/2となる)と、がある程度一致する領域は、異常が生じていないと推測できる。一方、両者が一致していない領域については、振幅の打ち消し合いが生じていると推測できる。
同様に、第1実施形態は、位相画像の算出手法を制限するものではないが、画像生成部104は、画素値C1(x,y)およびC2(x,y)から、式(9)を用いて、位相画像の各画素値P(x,y)を導き出す。
異常検出部105は、上記の振幅画像および位相画像における周囲との違いに基づき、検査対象面の法線ベクトルの分布と対応した特徴であって、被検査体150の異常を検出するための特徴を算出する。第1実施形態では、法線ベクトルの分布に対応した特徴として、振幅の分布を用いる例について説明する。ここで、振幅の分布とは、複素時間相関画像の各画素の振幅の分布を示したデータであり、振幅画像データに相当する。
図11は、第1実施形態の異常検出部105による、振幅に基づく異常検出処理の手順の一例を示した例示的なフローチャートである。
図11に示される例では、まず、異常検出部105は、振幅画像の各画素に格納された、光の振幅値(を表した画素値)から、当該画素を基準(たとえば中心)として、N×N領域の平均振幅値を減算し(S1101)、振幅の平均差分画像を生成する。振幅の平均差分画像は、振幅の勾配に対応する。なお、整数Nは実施の態様に応じて適切な値が設定されるものとする。
次に、異常検出部105は、減算により生成された振幅の平均差分画像に対して、予め定められた振幅の閾値を用いたマスク処理を行う(S1102)。
さらに、異常検出部105は、平均差分画像のマスク領域内について画素毎に標準偏差を算出する(S1103)。なお、実施形態では、標準偏差に基づいた手法について説明するが、標準偏差を用いた場合に制限するものではなく、たとえば平均値などを用いてもよい。
そして、異常検出部105は、平均を引いた振幅画素値が−4.5σ(σ:標準偏差)より小さい値の画素を、異常(欠陥)がある領域として検出する(S1104)。
上述した処理手順により、各画素の振幅値(換言すれば、振幅の分布)から、被検査体の異常を検出できる。しかしながら、第1実施形態は、複素時間相関画像の振幅の分布から異常を検出することに制限するものではない。検査対象面の法線ベクトルの分布と対応した特徴としては、位相の分布の勾配も用いられうる。そこで、次に位相の分布の勾配を用いた異常検出処理について説明する。
図12は、第1実施形態の異常検出部105による、位相に基づく異常検出処理の手順の一例を示した例示的なフローチャートである。
図12に示される例では、まず、異常検出部105は、位相画像の画素毎の光の位相値(を表した画素値)から、当該画素を基準(たとえば中心)として、N×N領域の平均位相値を減算し(S1201)、位相の平均差分画像を生成する。位相の平均差分画像は、位相の勾配に対応する。
次に、異常検出部105は、減算により生成された位相の平均差分画像の大きさ(絶対値)と、閾値とを比較し、平均差分画像の大きさが閾値以上となる画素を、異常(欠陥)のある画素として検出する(S1202)。
このS1202の検出結果により、異常検出部105は、平均差分画像の正負、すなわち、画素の位相値と平均位相値との大小関係によって、凹凸を判別することができる(S1203)。画素の位相値と平均位相値とのどちらが大きい場合に凸となるかは、各部の設定によって変化するが、大小関係が異なると、凹凸が異なる。
なお、第1実施形態では、他の手法によって得られた位相の分布の勾配から、異常を検出することができる。たとえば、異常検出部105は、他の手法として、正規化された時間相関画像のN×Nの領域の平均ベクトルと、正規化された各画素のベクトルとの差の大きさが、閾値よりも大きい場合に、異常(欠陥)がある画素として検出する、という手法を用いることができる。なお、位相に基づく異常検出処理の手法は、位相の分布の勾配を用いた手法に限られず、位相の分布に対応する情報を用いた手法であってもよい。
また、第1実施形態では、異常検出処理の際に、振幅と強度との両方が考慮されてもよい。図13は、第1実施形態の異常検出部105による、振幅および強度に基づく異常検出処理の手順の一例を示した例示的なフローチャートである。
図13に示される例では、まず、異常検出部105は、時間相関画像と強度画像とから、各画素について、次の式(100)を用いて、振幅(を表す画素値)C(x,y)(式(7)参照)と強度(を表す画素値)G(x,y)(式(6)参照)との比R(x,y)を算出する(S1301)。
R(x,y)=C(x,y)/G(x,y) … (100)
次に、異常検出部105は、比R(x,y)と閾値とを比較し、比R(x,y)の値が対応する閾値以下となる画素を、異常(欠陥)のある画素として検出する(S1302)。また、異常検出部105は、比R(x,y)と閾値とを比較し、比R(x,y)の値が対応する別の閾値以上となる画素を、ムラ(汚れなど)のある画素として検出する(S1303)。法線ベクトルの分布の異常により、振幅の打ち消し合い(減殺)が顕著となった場合には、強度に比べて振幅がより大きく下がる。一方、法線ベクトルの分布にはそれほどの異常は無いものの被検査体150の表面の汚れなどによって光の吸収が顕著となった場合には、振幅に比べて強度がより大きく下がる。よって、異常検出部105は、S1302およびS1303による異常種別の検出が可能となる。
以上のように、縞パターンを所定の方向(x方向とする)に移動させれば、当該x方向で法線ベクトルの分布の変化をもたらす異常、たとえばx方向と交差(直交)する方向(y方向とする)に延びるキズ(欠陥)を容易に検出することができる。しかしながら、x方向に延びるキズ(欠陥)、つまりy方向に沿った法線ベクトルの分布の変化をもたらす異常は、x方向に縞パターンを移動させるよりも、y方向に縞パターンを移動させた方が、検出が容易になると考えられる。
図14は、第1実施形態の照明装置120が、異常(欠陥)の延びる方向に沿った縞パターンを照射した状態を示した例示的な図である。図14に示される例では、x方向に延びた異常(欠陥)1601が存在している。上記の理由により、x方向に延びる異常1601は、当該異常1601と同様にx方向に沿って延びる縞パターンをy方向に沿って移動させれば、異常1601を容易に検出することができると考えられる。
図15は、第1実施形態において、図14の縞パターンをy方向に沿って変化(移動)させる場合における、異常(欠陥)と縞パターンとの関係を示した例示的な図である。図15に示されるように、y方向に幅が狭く、かつ当該y方向に交差(直交)するx方向を長手方向とする異常(欠陥)1601が存在している場合、照明装置120から照射された光は、x方向に直交するy方向で、光の振幅の打ち消しが大きくなる。このため、x方向に延びる異常1601を容易に検出するためには、x方向に延びる縞パターンをy方向に移動させることで取得される振幅画像を用いた検査を行えばよいことが分かる。
このように、様々な方向性を持ちうる異常(キズ、欠陥)を精度よく検出するためには、異なる方向に延びる複数種類の縞パターン(少なくとも、互いに交差する2方向に延びる2種類の縞パターン)を異なる方向(少なくとも2方向)に移動させることで得られる複数の時間相関画像を用いた検査を行うことが必要となる。
従来では、互いに交差する方向に延びる2種類の縞パターンの各々に対応した時間相関画像を得るために、一方の縞パターンのみを連続的に出力して相関演算(フレームの重畳)を行った後、当該一方の縞パターンの出力を一旦停止し、その後に他方の縞パターンを新たに読み込んで、当該他方の縞パターンのみを連続的に出力して相関演算を行っていた。このため、従来では、縞パターンの切り替えに時間がかかり、検査に要するタクトタイム(サイクルタイム)が増加していた。
そこで、第1実施形態の照明装置120は、方向性を持った異常(キズ、欠陥)を精度よく検出することと、検査に要するタクトタイム(サイクルタイム)を短縮することと、を両立するために、互いに交差する2方向(第1方向および第2方向とする)に延びる2種類の縞パターンをシームレスで切り替える。より具体的に、照明装置120は、第1方向に延びる第1縞パターンが第1方向と交差する第2方向に1周期分移動した後、第2方向に延びる第2縞パターンが第1方向に1周期分移動するように、複数の縞パターンを所定の時間間隔で順次切り替えて連続的に出力する。以下では、互いに直交するx方向およびy方向を用いて、第1方向をy方向、第2方向をx方向として記載する。
図16は、第1実施形態の照明装置120が実行する縞パターンの切り替えの一例を示した例示的な図である。図16に示されるように、第1実施形態の照明装置120は、(A)に示されるようなy方向に延びる第1縞パターンSP1をx方向に1周期分移動させた後、シームレスで縞パターンの切り替えを実行し、(B)に示されるようなx方向に延びる第2縞パターンSP2をy方向に1周期分移動させる。以下では、簡単化のため、第1縞パターンSP1と第2縞パターンSP2とは、向きが異なるだけで、縞幅や隣接する縞の間の間隔などの他の条件が等しいものとして説明するが、第1実施形態では、向きだけでなく、縞幅や隣接する縞の間の間隔なども、第1縞パターンSP1と第2縞パターンSP2とで異なっていてもよい。
ところで、上記のような2種類の縞パターンの切り替えをシームレスで実行する場合では、照明装置120の動作と時間相関カメラ110の動作とをより正確に同期させる必要がある。たとえば、図16に示される例では、第1縞パターンSP1の出力の開始タイミングと、時間相関カメラ110によるフレームの重畳の開始タイミングとを一致させるとともに、第1縞パターンSP1から第2縞パターンSP2への切替タイミングと、時間相関カメラ110によるフレームの重畳の終了タイミングとを一致させなければ、第2縞パターンSP2の影響を排除した、第1縞パターンSP1のみに対応した時間相関画像を得ることができない。同様に、図16に示される例では、第1縞パターンSP1から第2縞パターンSP2への切替タイミングと、時間相関カメラ110によるフレームの重畳の開始タイミングとを一致させるとともに、第2縞パターンSP2の出力の終了タイミングと、時間相関カメラ110によるフレームの重畳の終了タイミングとを一致させなければ、第1縞パターンSP1の影響を排除した、第2縞パターンSP2のみに対応した時間相関画像を得ることができない。
そこで、図2に戻り、第1実施形態の時間相関カメラ110には、照明装置120の動作と時間相関カメラ110の動作とをより正確に同期させるための構成が設けられている。より具体的に、第1実施形態の時間相関カメラ110には、複数の縞パターンの出力開始のトリガとなる第1信号を照明装置120に出力する第1信号出力部251と、複数の縞パターンの切り替えのトリガとなる第2信号を照明装置120に出力する第2信号出力部252と、が設けられている。
図2に示されるように、第1信号は、照明装置120のみならず、読出部242および参照信号出力部260にも出力される。これにより、読出部242は、イメージセンサ220から出力されるフレームの読み出しを第1信号に基づいたタイミングで開始し、参照信号出力部260は、参照信号の出力を第1信号に基づいたタイミングで開始する。その結果、相関画像用重畳部244は、イメージセンサ220から出力されるフレームの重畳を第1信号に基づいたタイミングで開始することで、照明装置120によって照らされた被検査体150の検査対象面を撮像した時間相関画像データを取得する。
図17は、第1実施形態の時間相関カメラ110および照明装置120の動作タイミングの一例を示した例示的なタイミングチャートである。図17において、「CIS capture」は、イメージセンサ220から出力されるフレームが蓄積される様子を表し、「ref」は、参照信号出力部260から出力される参照信号を表し、「Correlation」は、相関演算(フレームの重畳)が行われる期間を表す。また、図17において、「Sync」は、第2信号出力部252から出力される第2信号を表し、「OE」は、第1信号出力部251から出力される第1信号を表す。図17に示される例では、照明装置120が、図16と同様の第1縞パターンSP1および第2縞パターンSP2のシームレスな切り替えを実行するものとする。
図17に示される例では、タイミングt1で、第1信号および第2信号の出力が開始する。これにより、照明装置120は、第1信号に基づいたタイミングt1で複数の縞パターンの出力を開始し、当該複数の縞パターンを第2信号に基づいて順次切り替える。つまり、照明装置120は、タイミングt1で、第1縞パターンSP1の1周期分の移動を開始し、当該第1縞パターンSP1の移動が終了したタイミングt2で、第2縞パターンSP2への切り替えをシームレスで実行し、当該第2縞パターンSP2の1周期分の移動を開始する。第2縞パターンSP2の1周期分の移動は、タイミングt3で終了する。
なお、第1縞パターンSP1が1周期分移動するのに要する時間と、第2縞パターンSP2が1周期分移動するのに要する時間とは、互いに一致するように設定される。したがって、図17に示される例では、タイミングt1およびタイミングt2の間の時間と、タイミングt2およびタイミングt3の間の時間と、が等しい大きさ(符号Tで表す)となる。
一方、タイミングt1で第1信号の出力が開始されると、それに応じて、読出部242がフレームの読み出しを開始し、参照信号出力部260が参照信号の出力を開始する。図17に示される例では、参照信号として、周期Tの正弦波が用いられる。したがって、図17に示される例では、第1縞パターンSP1の移動が開始してから第2縞パターンSP2の移動が終了するまでに、参照信号の値が2周期分変化する。以下では、説明の便宜上、参照信号の前半部分、すなわち第1縞パターンSP1の1周期分の移動中に時間遷移とともに値が変化する部分を第1区間とし、参照信号の後半部分、すなわち第2縞パターンSP2の1周期分の移動中に時間遷移とともに値が1周期分変化する部分を第2区間と記載することがある。
図17に示される例では、参照信号が1系統のみであり、当該1系統の参照信号の波形は、前半部分(第1区間)と後半部分(第2区間)とで同一である。これにより、第1区間と第2区間とで波形を異ならせる場合と異なり、参照信号出力部260の処理を簡単化することができる。
上記の参照信号に基づき、相関画像用重畳部224は、第1縞パターンSP1および第2縞パターンSP2の両方の影響が混在した時間相関画像データを取得することなく、第1縞パターンSP1のみの影響に基づく第1時間相関画像データと、第2縞パターンSP2のみの影響に基づく第2時間相関画像データと、を分けて取得することが可能になる。すなわち、相関画像用重畳部244は、第1縞パターンSP1の移動が開始してから第2縞パターンSP2の移動が終了するまでに相関演算(フレームの重畳)を2回実行することで、第1縞パターンSP1が第2縞パターンSP2に切り替わるまでのフレームの重畳結果である第1時間相関画像データと、第1縞パターンSP1が第2縞パターンSP2に切り替わってからのフレームの重畳結果である第2時間相関画像データと、を取得することが可能である。
より具体的に、相関画像用重畳部244は、タイミングt1からタイミングt2にかけて、参照信号(第1区間)の値を乗算しながらフレームを重畳することで、第1縞パターンSP1のみの影響に基づく第1時間相関画像データを取得する。そして、相関画像用重畳部244は、タイミングt2からタイミングt3にかけて、参照信号(第2区間)の値を乗算しながらフレームを重畳することで、第2縞パターンSP2のみの影響に基づく第2時間相関画像データを取得する。
図1に戻り、画像生成部104は、時間相関カメラ110から受け取った上記の第1時間相関画像データおよび第2時間相関画像データを画像化し、第1縞パターンSP1のみに対応した第1時間相関画像と、第2縞パターンSP2のみに対応した第2時間相関画像と、を生成する。そして、異常検出部105は、生成された第1時間相関画像および第2時間相関画像を用いて、異常検出処理を実行する。
図18は、第1実施形態において生成される第1時間相関画像の具体例を示した例示的な図であり、図19は、第1実施形態において、図18の第1時間相関画像とともに生成される第2時間相関画像の具体例を示した例示的な図である。図18および図19に示されるように、第1実施形態では、上述した第1信号および第2信号を用いて時間相関カメラ110および照明装置120の同期をとっているため、異なる方向に延びる2種類の縞パターンの両方の影響が混在した時間相関画像ではなく、当該2種類の縞パターンにそれぞれ対応した2枚の時間相関画像を得ることができる。
次に、第1実施形態における被検査体150の検査処理について説明する。図20は、第1実施形態の検査システムによる当該検査処理の手順の一例を示した例示的なフローチャートである。なお、被検査体150は、すでにアーム140に固定された状態で、検査の初期位置に配置されているものとする。
第1実施形態では、まず、S1401において、PC100が、照明装置120に対して、被検査体150の検査に用いる複数の縞パターンを出力する。ここで出力される複数の縞パターンは、第1縞パターンSP1の1周期分の移動と、第2縞パターンSP2の1周期分の移動と、を実現可能な程度の複数の縞パターンである。
そして、S1421において、照明装置120は、PC100から入力された複数の縞パターンを格納する。
そして、S1402において、PC100は、時間相関カメラ110に対して、撮像開始指示を出力する。
PC100から撮像開始指示が入力されると、S1411において、時間相関カメラ110は、第1信号および第2信号の出力を開始する。第1信号および第2信号は、照明装置120に出力される。
時間相関カメラ110から第1信号および第2信号が入力されると、S1422において、照明装置120は、S1421で格納された複数の縞パターンを所定の時間間隔で順次切り替える処理を開始する。これにより、照明装置120は、第1縞パターンSP1を1周期分移動させた後、当該第1縞パターンSP1をシームレスで第2縞パターンSP2に切り替え、当該第2縞パターンSP2を1周期分移動させる。なお、照明装置120は、第2縞パターンSP2の1周期分の移動を終了した後は、再び第1縞パターンSP1、第2縞パターンSP2の順に1周期分の移動を開始してもよいし、縞パターンの出力を終了してもよい。
なお、S1411の第1信号は、照明装置120のみならず、時間相関カメラ110の読出部242および参照信号出力部260にも出力される。これにより、S1412において、読出部242は、第1信号に基づいたタイミングで、イメージセンサ220から出力されるフレームの読み出しを開始し、参照信号出力部260は、時間相関カメラ110の相関画像用重畳部244への参照信号の出力を開始する。その結果、S1413において、相関画像用重畳部244は、第1縞パターンSP1の移動が開始してから第2縞パターンSP2の移動が終了するまでに相関演算(フレームの重畳)を2回実行し、第1縞パターンSP1が第2縞パターンSP2に切り替わるまでのフレームの重畳結果である第1時間相関画像データと、第1縞パターンSP1が第2縞パターンSP2に切り替わってからのフレームの重畳結果である第2時間相関画像データと、を取得する。
そして、S1414において、時間相関カメラ110は、S1413で生成された第1時間相関画像データおよび第2時間相関画像データを、PC100に出力する。なお、このとき、時間相関カメラ110は、第1時間相関画像データおよび第2時間相関画像データの他、強度画像用重畳部243により取得された強度画像データも、PC100に出力しうる。
そして、S1403において、PC100は、S1414で出力された第1時間相関画像データおよび第2時間相関画像データ(さらには強度画像データ)を、時間相関カメラ110から受け取る。そして、S1404において、PC100の制御部103における画像生成部104は、S1403で受け取ったデータに基づき、第1縞パターンSP1のみに対応した第1時間相関画像と、第2縞パターンSP2のみに対応した第2時間相関画像と、を生成する。
そして、S1405において、PC100の制御部103における異常検出部105は、第1時間相関画像および第2時間相関画像に基づき、被検査体150の異常検出処理を実行する。異常検出処理の手順については、いくつかの例(たとえば図11〜図13参照)を既に説明したため、ここでは説明を省略する。
そして、S1406において、異常検出部105は、S1405での異常検出処理の結果を、PC100が備える(またはPC100に接続される)ディスプレイなどの出力デバイスに出力する。
異常検出処理の結果を出力する方法としては、たとえば、強度画像を表示した上で、当該強度画像における異常に対応した領域を強調表示(装飾表示)することなどが考えられる。なお、異常検出処理の結果は、視覚に訴える形式で出力する代わりに、音声を用いて聴覚に訴える形式で出力してもよいし、視覚に訴える形式と聴覚に訴える形式とを併用して出力してもよい。
S1406での異常検出処理の結果の出力が終了すると、S1407において、制御部103は、被検査体150の検査が終了したか否かを判定する。
S1407において、検査が終了していないと判定された場合、S1408に処理が進む。そして、S1408において、PC100のアーム制御部101は、予め定められた設定に従って、被検査体150における次の検査対象となる表面を時間相関カメラ110が撮像できるように、アーム140の移動制御を実行する。そして、アームの移動制御が終了すると、S1402に処理が戻り、PC100は、再び、時間相関カメラ110に対して撮像開始指示を出力する。
一方、S1407において、検査が終了したと判定された場合、S1409に処理が進む。そして、S1409において、PC100は、検査の終了を指示する終了指示を時間相関カメラ110に出力する。S1409の処理が終了すると、PC100で実行される一連の処理が終了する。
一方、時間相関カメラ110は、S1415において、PC100から終了指示を受け取ったか否かを判定する。S1415において、終了指示を受け取っていないと判定された場合、S1411に処理が戻る。しかしながら、S1415において、終了指示を受け取ったと判断された場合、そのまま処理が終了、つまり時間相関カメラ110で実行される一連の処理が終了する。
なお、照明装置120の動作の終了は、検査者の手動操作によって実現されてもよいし、PC100や時間相関カメラ110などの他の構成からの指示によって実現されてもよい。
上述した第1実施形態では、デジタル的に動作する時間相関カメラ110を用いて、時間相関画像データ(および強度画像データ)を取得する例について説明した。しかしながら、時間相関画像データは、デジタル的に動作する時間相関カメラ110のみならず、アナログ的に動作する時間相関カメラや、それと等価な動作をする撮像システムなどによっても取得可能である。時間相関画像データを取得する他の手法としては、たとえば、通常のデジタルスチルカメラを用いて通常の画像データを取得した上で、情報処理装置を用いて、通常の画像データをフレーム画像データとみなして参照信号を重畳する手法や、デジタルカメラのイメージセンサ自体に、参照信号を重畳する機能を持たせる手法などが考えられる。
以上説明したように、第1実施形態では、複数の縞パターンの出力開始のトリガとなる第1信号を照明装置120に出力する第1信号出力部251と、複数の縞パターンの切り替えのトリガとなる第2信号を照明装置120に出力する第2信号出力部252と、が設けられている。これにより、第1信号および第2信号に基づき、時間相関カメラ110の動作と照明装置120の動作とをより正確に同期させることができるので、互いに交差する方向に延びる2種類の縞パターンの各々に対応した時間相関画像を容易に、あるいは迅速に得ることができる。
たとえば、前述したように、従来では、互いに交差する方向に延びる2種類の縞パターンの各々に対応した時間相関画像を得るために、一方の縞パターンのみを連続的に出力して相関演算(フレームの重畳)を行った後、当該一方の縞パターンの出力を一旦停止し、その後に他方の縞パターンを新たに読み込んで、当該他方の縞パターンのみを連続的に出力して相関演算を行う必要があった。これに対して、第1実施形態では、縞パターンの出力開始/終了、および切替のタイミングと、相関演算(フレームの重畳)の開始/終了のタイミングと、の整合をとりながら、互いに交差する方向に延びる2種類の縞パターンをシームレスで切り替えることで、当該2種類の縞パターンの各々に対応した時間相関画像を容易に得ることができる。したがって、第1実施形態では、従来のように縞パターンの切り替えに時間を要することがないので、検査に要するタクトタイム(サイクルタイム)を短縮することができる。
<第1変形例>
上述した第1実施形態では、周囲との違いに基づいて、異常を検出するための特徴を算出する例について説明したが、異常を検出するための特徴は、周囲との違い以外の点に基づいて算出することも可能である。たとえば、第1変形例として、参照形状を表す参照データとの差異に基づいて、異常を検出するための特徴を算出することが考えられる。この場合、実際に検査を行う環境を、参照データを取得した環境と一致させる必要がある。たとえば、空間位相変調照明(縞パターン)の位置合わせおよび同期が必要となる。
第1変形例では、異常検出部105が、予め(図示しない)記憶部に記憶された参照データ(参照表面から取得した時間相関画像データ)と、現在の検査対象である被検査体150の時間相関画像データと、を比較し、両者の間に、光の振幅および光の位相のうちいずれか1つ以上について所定の基準以上の違いが存在するか否かを判定する。
参照表面としては、たとえば正常な被検査体の表面が用いられる。つまり、第1変形例では、第1実施形態と同様に構成された検査システム(時間相関カメラ110)によって正常な被検査体の表面を撮像することで得られた時間相関画像データが、参照データとして用いられる。
第1変形例による具体的な検査手順は、次の通りである。まず、時間相関カメラ110が、照明装置120がスクリーン130を介して縞パターンを照射している間に、正常な被検査体の表面を撮像することで、時間相関画像データを取得する。そして、PC100が、時間相関カメラ110で生成された時間相関画像データに基づき、振幅画像や位相画像などを生成し、生成した画像を記憶する。そして、時間相関カメラ110が、異常が生じているか否か判定したい検査対象を撮像し、当該検査対象の時間相関画像データを生成する。そして、PC100が、時間相関画像データから、振幅画像や位相画像などを生成し、当該生成した画像と、記憶部に予め記憶された正常な被検査体の画像と、を比較する。そして、PC100が、比較結果に基づいて、異常を検出するための特徴を算出し、当該特徴が所定の基準以上か否かに基づいて、検査対象に異常が存在するか否かを判定する。
このように、第1変形例では、正常な被検査体の表面を基準として所定の差異が生じているか否かを判定することで、検査対象の表面に異常が存在するか否かを判定する。なお、振幅画像や位相画像などといった各種の画像を比較する手法は、どのような手法を用いてもよいので、説明を省略する。
また、第1変形例では、上記のように、参照表面との違い(参照形状を表す参照データとの違い)に基づいて、異常を検出するための特徴を算出する例について説明したが、当該特徴は、参照表面との違い以外の基準を考慮して算出してもよい。たとえば、第1変形例で用いられる参照表面の違いと、上述した第1実施形態で用いられる周囲との違いと、を組み合わせて、異常を検出するための特徴を算出してもよい。これらを組み合わせる手法は、どのような手法を用いてもよいので、説明を省略する。
<第2実施形態>
次に、第2実施形態について説明する。この第2実施形態は、1系統の参照信号の前半部分と後半部分とに分けて相関演算(フレームの重畳)を行うことで、第1縞パターンSP1および第2縞パターンSP2のそれぞれのみに対応した時間相関画像データを取得する第1実施形態と異なり、2系統の参照信号のそれぞれについて別々に相関演算を行うことで、第1縞パターンSP1および第2縞パターンSP2のそれぞれのみに対応した時間相関画像データを取得する。
図21は、第2実施形態の時間相関カメラ110aの構成を示した例示的なブロック図である。図21に示されるように、第2実施形態の時間相関カメラ110aには、参照信号を出力するための構成として、第1参照信号出力部260aと、第2参照信号出力部260bと、の2つが設けられている。そして、制御部240aの相関画像用重畳部244aには、これら2つの参照信号出力部に対応する構成として、イメージセンサ220から出力されたフレームの画素値に参照信号の値を乗算するための乗算器と、当該乗算器による乗算結果を重畳する重畳部と、の組み合わせが、4つ設けられている。
より具体的に、相関画像用重畳部244aは、第1参照信号出力部260aに対応する構成として、第1の乗算器245aおよび第1の相関画像用重畳部246aの組み合わせと、第2の乗算器247aおよび第2の相関画像用重畳部248aの組み合わせと、の2つの組み合わせを有する。同様に、相関画像用重畳部244aは、第2参照信号出力部260bに対応する構成として、第3の乗算器245bおよび第3の相関画像用重畳部246bの組み合わせと、第4の乗算器247bおよび第4の相関画像用重畳部248bの組み合わせと、の2つの組み合わせを有する。
第1の乗算器245aおよび第2の乗算器247aは、第1参照信号出力部260aから出力される第1参照信号を受け取り、当該第1参照信号の値を、読出部242から受け取ったフレームの画素値に乗算する。そして、第1の相関画像用重畳部246aおよび第2の相関画像用重畳部248aは、それぞれ、第1の乗算器245aおよび第2の乗算器247aによる乗算結果を重畳する。同様に、第3の乗算器245bおよび第4の乗算器247bは、第2参照信号出力部260bから出力される第2参照信号を受け取り、当該参照信号の値を、読出部242から受け取ったフレームの画素値に乗算する。そして、第3の相関画像用重畳部246bおよび第4の相関画像用重畳部248bは、それぞれ、第3の乗算器245bおよび第4の乗算器247bによる乗算結果を重畳する。なお、第1参照信号および第2参照信号の波形などについては、後で詳細に説明するため、ここでは説明を省略する。
以上により、第2実施形態では、第1の相関画像用重畳部246aの重畳結果と、第2の相関画像用重畳部248aの重畳結果と、第3の相関画像用重畳部246bの重畳結果と、第4の相関画像用重畳部248bの重畳結果と、の4つに対応した、合計4種類の時間相関画像データが取得される。そして、第2実施形態では、これら4種類の時間相関画像データに基づき、上述した第1実施形態と同様の、第1縞パターンSP1のみに対応した第1時間相関画像と、第2縞パターンSP2のみに対応した第2時間相関画像と、が生成される。
なお、第2実施形態のその他の構成は、上述した第1実施形態と同様であるため、ここでは説明を省略する。以下、図22を参照して、第2実施形態の動作についてより詳細に説明する。
図22は、第2実施形態の時間相関カメラ110aおよび照明装置120の動作タイミングの一例を示した例示的なタイミングチャートである。図22において、「refA」は、第1参照信号出力部260aから出力される第1参照信号を表し、「refB」は、第2参照信号出力部260bから出力される第2参照信号を表す。その他の「CIS capture」、「Correlation」、「Sync」、および「OE」の意味は、上述した図17と同様であるため、ここでは説明を省略する。図22に示される例においても、図17に示される例と同様に、照明装置120が、第1縞パターンSP1および第2縞パターンSP2のシームレスな切り替えを実行するものとする。
図22に示される例では、タイミングt11で、第1信号および第2信号の出力が開始する。これにより、照明装置120は、第1信号に基づいたタイミングt11で複数の縞パターンの出力を開始し、当該複数の縞パターンを第2信号に基づいて順次切り替える。つまり、照明装置120は、タイミングt11で、第1縞パターンSP1の1周期分の移動を開始し、当該第1縞パターンSP1の移動が終了したタイミングt12で、第2縞パターンSP2への切り替えをシームレスで実行し、当該第2縞パターンSP2の1周期分の移動を開始する。第2縞パターンSP2の1周期分の移動は、タイミングt13で終了する。
なお、図22に示される例においても、図17に示される例と同様に、タイミングt11およびタイミングt12の間の時間と、タイミングt12およびタイミングt13の間の時間とは、互いに等しい大きさ(符号Taで表す)に設定される。つまり、図22に示される例においても、第1縞パターンSP1が1周期分移動するのに要する時間と、第2縞パターンSP2が1周期分移動するのに要する時間とは、互いに一致するように設定される。
タイミングt11で第1信号の出力が開始されると、それに応じて、読出部242がフレームの読み出しを開始し、第1参照信号出力部260aおよび第2参照信号出力部260bがそれぞれ第1参照信号および第2参照信号の出力を開始する。以下に説明するように、第1参照信号および第2参照信号は、共に、周期Taの正弦波と、時間Taにわたって一定の振幅(たとえばゼロ)が続く波と、の組み合わせにより構成されている。
第1参照信号は、前半部分が周期Taの正弦波で構成され、後半部分が時間Taにわたって一定の振幅(たとえばゼロ)が続く波で構成された信号であり、第2参照信号は、前半部分が時間Taにわたって一定の振幅(たとえばゼロ)が続く波で構成され、後半部分が周期Taの正弦波で構成された信号である。したがって、第1参照信号および第2参照信号は、共に、周期2Taで値が周期的に変化する信号であるともいえる。以下では、説明の便宜上、第1参照信号の前半部分、すなわち第1縞パターンSP1の1周期分の移動中に時間遷移とともに値が変化する部分を第3区間と記載し、第1参照信号の後半部分、すなわち第2縞パターンSP2の1周期分の移動中に時間遷移によらず値が一定となる部分を第4区間と記載することがある。また、第2参照信号の前半部分、すなわち第1縞パターンSP1の1周期分の移動中に時間遷移によらず値が一定となる部分を第5区間と記載し、第2参照信号の後半部分、すなわち第2縞パターンSP2の1周期分の移動中に時間遷移とともに値が変化する部分を第6区間と記載することがある。
上記の第1参照信号および第2参照信号に基づき、相関画像用重畳部244aは、第1縞パターンSP1および第2縞パターンSP2の両方の影響が混在した時間相関画像データを取得することなく、第1縞パターンSP1のみの影響に基づく第3時間相関画像データと、第2縞パターンSP2のみの影響に基づく第4時間相関画像データと、を分けて取得することが可能である。すなわち、相関画像用重畳部244aは、第1参照信号に基づき、第1縞パターンSP1の移動が開始してから第2縞パターンSP2の移動が終了するまでの期間2Taにわたる相関演算(フレームの重畳)を1回実行することで、第3時間相関画像データを取得することが可能である。同様に、相関画像用重畳部244aは、第2参照信号に基づき、期間2Taにわたる相関演算を1回実行することで、第4時間相関画像データを取得することが可能である。なお、前述の図21に示された構成との対比を説明すると、第3時間相関画像データは、第1の相関画像用重畳部246aおよび第2の相関画像用重畳部248aの重畳結果の組み合わせに対応し、第4時間相関画像データは、第3の相関画像用重畳部246bおよび第4の相関画像用重畳部248bの重畳結果の組み合わせに対応する。
図22に示される例において、第1参照信号に基づく相関演算は、次のようになる。すなわち、相関画像用重畳部244aは、タイミングt11からタイミングt12にかけて、第1参照信号の第3区間の値を乗算しながら相関演算を行い、タイミングt12からタイミングt13にかけて、第1参照信号の第4区間の値を乗算しながら相関演算を行う。ここで、第3区間の値に基づく前者の相関演算は、第1縞パターンSP1のみの影響を考慮した相関演算に対応し、第4区間に基づく後者の相関演算は、第2縞パターンSP2のみの影響を考慮した相関演算に対応する。しかしながら、上述したように、第1参照信号における第4区間の値は、時間遷移によらず一定値(たとえばゼロ)となっているため、当該第4区間の値に基づく相関演算の結果は、無視することができる。したがって、第3区間および第4区間からなる第1参照信号に基づいた、タイミングt11からタイミングt13までの期間2Taにわたる相関演算によれば、第2縞パターンSP2の影響を無視して、第1縞パターンSP1のみの影響に基づく第3時間相関画像データを取得することが可能である。
同様に、図22に示される例において、第2参照信号に基づく相関演算は、次のようになる。すなわち、相関画像用重畳部244aは、タイミングt11からタイミングt12にかけて、第2参照信号の第5区間の値を乗算しながら相関演算を行い、タイミングt12からタイミングt13にかけて、第2参照信号の第6区間の値を乗算しながら相関演算を行う。ここで、第5区間の値に基づく前者の相関演算は、第1縞パターンSP1のみの影響を考慮した相関演算に対応し、第6区間に基づく後者の相関演算は、第2縞パターンSP2のみの影響を考慮した相関演算に対応する。しかしながら、上述したように、第2参照信号における第5区間の値は、時間遷移によらず一定値(たとえばゼロ)となっているため、当該第5区間の値に基づく相関演算の結果は、無視することができる。したがって、第5区間および第6区間からなる第2参照信号に基づいた、タイミングt11からタイミングt13までの期間2Taにわたる相関演算によれば、第1縞パターンSP1の影響を無視して、第2縞パターンSP2のみの影響に基づく第4時間相関画像データを取得することが可能である。
このように、第2実施形態によれば、異なる2系統の参照信号(第1参照信号および第2参照信号)に基づき、第1縞パターンSP1および第2縞パターンSP2の両方の影響が混在した時間相関画像データを取得することなく、第1縞パターンSP1のみの影響に基づく第3時間相関画像データと、第2縞パターンSP2のみの影響に基づく第4時間相関画像データと、を分けて取得することができる。そして、第2実施形態によれば、第3時間画像データに基づき、第1縞パターンSP1のみに対応した第1時間相関画像(第1実施形態で説明した図18と同様の画像)を生成することができ、第4時間相関画像データに基づき、第2縞パターンSP2のみに対応した第2時間相関画像(第1実施形態で説明した図19と同様の画像)を生成することができる。
<第3実施形態>
次に、第3実施形態について説明する。この第3実施形態は、2系統の参照信号を用いて相関演算を行うという点で第2実施形態と同様である。しかしながら、第3実施形態は、相関演算の段階で第1縞パターンSP1および第2縞パターンSP2の両方の影響が混在するのを排除する第2実施形態と異なり、相関演算の段階では第1縞パターンSP1および第2縞パターンSP2の両方の影響が混在したデータを取得し、その後にさらなる演算処理を行うことで、第1縞パターンSP1のみに対応した第1時間相関画像と、第2縞パターンSP2のみに対応した第2時間相関画像と、を分けて生成する。
図23は、第3実施形態の時間相関カメラ110bの構成を示した例示的なブロック図である。図23に示されるように、第3実施形態の時間相関カメラ110bは、図21に示された第2実施形態の時間相関カメラ110aと略同様の構成を有する。つまり、第3実施形態の時間相関カメラ110bには、第2実施形態の時間相関カメラ110aと同様に、相関演算のための参照信号を出力する構成が2つ設けられており、イメージセンサ220から出力されたフレームの画素値に参照信号の値を乗算するための乗算器と、当該乗算器による乗算結果を重畳する重畳部と、の組み合わせが、4つ設けられている。
しかしながら、第3実施形態では、相関演算のための参照信号の波形が、第2実施形態と異なる。つまり、第3実施形態では、第2実施形態の第1参照信号および第2参照信号とは異なる第3参照信号を出力する第3参照信号出力部260cと、第2実施形態の第1参照信号および第2参照信号とは異なり、かつ第3参照信号とも異なる第4参照信号を出力する第4参照信号出力部260dと、が設けられている。以下、図24を参照して、第3実施形態の動作についてより詳細に説明する。
図24は、第3実施形態の時間相関カメラ110bおよび照明装置120の動作タイミングの一例を示した例示的なタイミングチャートである。図24において、「refC」は、第3参照信号出力部260cから出力される第3参照信号を表し、「refD」は、第4参照信号出力部260dから出力される第4参照信号を表す。その他の「CIS capture」、「Correlation」、「Sync」、および「OE」の意味は、上述した図17および図22と同様であるため、ここでは説明を省略する。図24に示される例においても、図17および図22に示される例と同様に、照明装置120が、第1縞パターンSP1および第2縞パターンSP2のシームレスな切り替えを実行するものとする。
図24に示される例では、タイミングt21で、第1信号および第2信号の出力が開始する。これにより、照明装置120は、第1信号に基づいたタイミングt21で複数の縞パターンの出力を開始し、当該複数の縞パターンを第2信号に基づいて順次切り替える。つまり、照明装置120は、タイミングt21で、第1縞パターンSP1の1周期分の移動を開始し、当該第1縞パターンSP1の移動が終了したタイミングt22で、第2縞パターンSP2への切り替えをシームレスで実行し、当該第2縞パターンSP2の1周期分の移動を開始する。第2縞パターンSP2の1周期分の移動は、タイミングt23で終了する。
なお、図24に示される例においても、図17および図22に示される例と同様に、タイミングt21およびタイミングt22の間の時間と、タイミングt22およびタイミングt23の間の時間とは、互いに等しい大きさ(符号Tbで表す)に設定される。つまり、図24に示される例においても、第1縞パターンSP1が1周期分移動するのに要する時間と、第2縞パターンSP2が1周期分移動するのに要する時間とは、互いに一致するように設定される。
タイミングt21で第1信号の出力が開始されると、それに応じて、読出部242がフレームの読み出しを開始し、第3参照信号出力部260cおよび第4参照信号出力部260dがそれぞれ第3参照信号および第4参照信号の出力を開始する。以下に説明するように、第3参照信号および第4参照信号は、共に、周期Tbの正弦波に基づいて構成されている。
第3参照信号は、前半部分および後半部分が周期Tbの同一の正弦波で構成された信号であり、第4参照信号は、前半部分が周期Tbの正弦波で構成され、後半部分が前半部分の正弦波の反転で構成された信号である。以下では、説明の便宜上、第3参照信号の前半部分を第7区間と記載し、第3参照信号の後半部分を第8区間と記載することがある。また、第4参照信号の前半部分を第9区間と記載し、第4参照信号の後半部分を第10区間と記載することがある。図24に示される例では、第9区間は、第7区間と一致するように値が変化し、第10区間は、第8区間の反転に対応する。なお、図24に示される例では、第7区間と第8区間とが同一の正弦波で構成されているが、第7区間と第9区間とが一致し、第8区間と第10区間とが反転の関係にありさえすれば、第7区間と第8区間とが同一の正弦波で構成されていなくてもよい。
上記の第3参照信号および第4参照信号に基づき、相関画像用重畳部244aは、第1縞パターンSP1および第2縞パターンSP2の両方の影響が混在した時間相関画像データを取得する。すなわち、相関画像用重畳部244aは、第3参照信号に基づき、第1縞パターンSP1の移動が開始してから第2縞パターンSP2の移動が終了するまでの期間2Tbにわたる相関演算(フレームの重畳)を1回実行することで、第1縞パターンSP1と第2縞パターンSP2との和に対応した第5時間相関画像データを取得する。また、相関画像用重畳部244aは、第4参照信号に基づき、期間2Tbにわたる相関演算を1回実行することで、第1縞パターンSP1と第2縞パターンSP2との差に対応した第6時間相関画像データを取得する。
図24に示される例において、第3参照信号に基づく相関演算は、次のようになる。すなわち、相関画像用重畳部244aは、タイミングt21からタイミングt22にかけて、第3参照信号の第7区間の値を乗算しながら相関演算を行い、タイミングt22からタイミングt23にかけて、第3参照信号の第8区間の値を乗算しながら相関演算を行う。ここで、第7区間の値に基づく前者の相関演算は、第1縞パターンSP1のみの影響を考慮した相関演算に対応し、第8区間に基づく後者の相関演算は、第2縞パターンSP2のみの影響を考慮した相関演算に対応する。したがって、タイミングt21からタイミングt23までの期間2Tbにわたる、第7区間および第8区間からなる第3参照信号の値に基づく相関演算は、第1縞パターンSP1のみの影響を考慮した相関演算と、第2縞パターンSP2のみの影響を考慮した相関演算と、の和に対応する。これにより、期間2Tbにわたる第3参照信号の値に基づく相関演算によれば、第1縞パターンSP1と第2縞パターンSP2との和に対応した第5時間相関画像データが取得される。
同様に、図24に示される例において、第4参照信号に基づく相関演算は、次のようになる。すなわち、相関画像用重畳部244aは、タイミングt21からタイミングt22にかけて、第4参照信号の第9区間の値を乗算しながら相関演算を行い、タイミングt22からタイミングt23にかけて、第4参照信号の第10区間の値を乗算しながら相関演算を行う。ここで、上述したように、第4参照信号の第9区間は、第3参照信号の第7区間と一致し、第4参照信号の第10区間は、第3参照信号の第8区間の反転に対応する。したがって、タイミングt21からタイミングt23までの期間2Tbにわたる、第9区間および第10区間からなる第4参照信号の値に基づく相関演算は、第1縞パターンSP1のみの影響を考慮した相関演算と、第2縞パターンSP2のみの影響を考慮した相関演算と、の差に対応する。これにより、期間2Tbにわたる第4参照信号の値に基づく相関演算によれば、第1縞パターンSP1と第2縞パターンSP2との差に対応した第6時間相関画像データが取得される。
このように、第3実施形態によれば、異なる2系統の参照信号(第3参照信号および第4参照信号)に基づき、第1縞パターンSP1と第2縞パターンSP2との和に対応した第5時間相関画像データと、第1縞パターンSP1と第2縞パターンSP2との差に対応した第6時間相関画像データと、を取得することができる。
すなわち、第5時間相関画像データおよび第6時間相関画像データの各々を概念的な式で表現すると、次のようになる。
・第5時間相関画像データ=第1縞パターンSP1+第2縞パターンSP2
・第6時間相関画像データ=第1縞パターンSP1−第2縞パターンSP2
上記の2つの概念的な式によれば、さらに次のような2つの概念的な式が得られる。
・第5時間相関画像データ+第6時間相関画像データ=2×第1縞パターンSP1
・第5時間相関画像データ−第6時間相関画像データ=2×第2縞パターンSP2
したがって、第3実施形態によれば、第5時間相関画像データと第6時間相関画像データとの和に基づき、第1縞パターンSP1のみに対応した第1時間相関画像を生成することができ、第5時間相関画像データと第6時間相関画像データとの差に基づき、第2縞パターンSP2のみに対応した第2時間相関画像を生成することができる。
図25は、第3実施形態の時間相関カメラ110bから出力される第5時間相関画像データの具体例を示した例示的な図であり、図26は、第3実施形態の時間相関カメラ110bから出力される第6時間相関画像データの具体例を示した例示的な図である。また、図27は、第3実施形態において、図25および図26のデータから生成される第1時間相関画像の具体例を示した例示的な図であり、図28は、第3実施形態において、図27の第1時間相関画像とともに生成される第2時間相関画像の具体例を示した例示的な図である。
図25および図26に示されるように、第3実施形態によれば、第1縞パターンSP1と第2縞パターンSP2との両方の影響が混在した異なる2種類のデータを得ることができる。そして、図27および図28に示されるように、第3実施形態によれば、第1縞パターンSP1と第2縞パターンSP2との両方の影響が混在した異なる2種類のデータにさらなる演算処理を行うことで、第1縞パターンSP1のみの影響に基づく第1時間相関画像と、第2縞パターンSP2のみの影響に基づく第2時間相関画像と、を分けて生成することができる。
上述した実施形態のPC100で実行される検査プログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)などのコンピュータで読み取り可能な記録媒体に記録されて提供される。
また、上述した実施形態のPC100で実行される検査プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述した実施形態のPC100で実行される検査プログラムをインターネットなどのネットワーク経由で提供または配布するように構成してもよい。
以上、本発明のいくつかの実施形態および変形例を説明したが、これらの実施形態および変形例は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態および変形例は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形例は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。