(57)【要約】【課題】例えば、パターン光の空間周波数や位相に関する分析によって、異常を検出することが可能な新規な画像処理装置および検査システムを得る。【解決手段】画像処理装置は、複素画像をフーリエ変換して複素スペクトルを得るフーリエ変換部と、複素スペクトルを複素周期関数の位相に対応した複数の空間周波数フィルタによって複数の複素周波数成分を抽出するフィルタ部と、複数の複素周波数成分をそれぞれ逆フーリエ変換して複数の複素画像を得る逆フーリエ変換部と、複素画像の振幅と複素周期関数との複素相関画像を算出する複素相関画像算出部と、を備える。【選択図】図１４
2018155718.tif 000002
【特許請求の範囲】
【請求項１】
複素画像をフーリエ変換して複素スペクトルを得るフーリエ変換部と、
前記複素スペクトルを複素周期関数の位相に対応した複数の空間周波数フィルタによって複数の複素周波数成分を抽出するフィルタ部と、
前記複数の複素周波数成分をそれぞれ逆フーリエ変換して複数の複素画像を得る逆フーリエ変換部と、
前記複素画像の振幅と前記複素周期関数との複素相関画像を算出する複素相関画像算出部と、
を備えた、画像処理装置。
【請求項２】
前記複数の空間周波数フィルタは、同一形状で複素周波数平面の原点回りの偏角が異なるフィルタである、請求項１に記載の画像処理装置。
【請求項３】
前記複数の空間周波数フィルタは、複素周波数平面の原点からの半径が異なり径方向の幅が同一の環状のフィルタである、請求項１に記載の画像処理装置。
【請求項４】
光の強度の縞パターンの空間的な移動により光の強度の周期的な時間変化を与える面的な照明部と、
時間相関カメラまたはそれと等価な動作をする撮像システムによって強度と位相とによって表される複素画像である時間相関画像を生成する時間相関画像生成部と、
前記時間相関画像より、検査面の法線ベクトルの分布と対応した特徴であって、周囲との違いおよび参照表面との違いのうち少なくとも一方によって異常を検出する特徴を算出する、演算処理部と、
前記演算処理部の演算結果に基づいて前記検査面を正常領域と異常領域とに区別する異常判別部と、
を備え、
前記演算処理部は、
前記時間相関画像をフーリエ変換して複素スペクトルを得るフーリエ変換部と、
前記複素スペクトルを複素周期関数の位相に対応した複数の空間周波数フィルタによって複数の複素周波数成分を抽出するフィルタ部と、
前記複数の複素周波数成分をそれぞれ逆フーリエ変換して複数の複素画像を得る逆フーリエ変換部と、
前記複素画像の振幅と前記複素周期関数との複素相関画像を算出する複素相関画像算出部と、
を含み、
前記異常判別部は、前記複素相関画像の位相または振幅に基づいて異常領域を判別する、検査システム。
【請求項５】
前記異常判別部は、前記複素相関画像の位相または振幅に基づく異常候補領域の少なくとも一部が所定の領域に含まれていた場合に、当該異常候補領域を異常領域と判別する、請求項４に記載の検査システム。
【請求項６】
前記異常判別部は、前記複素相関画像の位相または振幅に基づく異常候補領域の広さが所定の範囲内である場合に、当該異常候補領域を異常領域と判別する、請求項４または５に記載の検査システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理装置および検査システムに関する。
【背景技術】
【０００２】
従来、被検査体に光を照射し、当該被検査体の表面からの反射光を画像データとして撮像し、当該画像データの輝度変化等に基づいて、被検査体の異常を検出する技術が提案されている。
【０００３】
その際に被検査体に照射する光の強度を周期的に変化させ、撮像された画像データの輝度変化に基づいて、異常を検出する技術が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−２１２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
この種の検査システムでは、例えば、パターン光の空間周波数や位相に関する分析により、通常の検査では検出し難い異常を検出できるような、新規な画像処理装置や検査システムが得られれば、有益である。
【０００６】
そこで、本発明の課題の一つは、例えば、パターン光の空間周波数や位相に関する分析によって、異常を検出することが可能な新規な画像処理装置および検査システムを得ることである。
【課題を解決するための手段】
【０００７】
本開示の画像処理装置は、複素画像をフーリエ変換して複素スペクトルを得るフーリエ変換部と、複素スペクトルを複素周期関数の位相に対応した複数の空間周波数フィルタによって複数の複素周波数成分を抽出するフィルタ部と、複数の複素周波数成分をそれぞれ逆フーリエ変換して複数の複素画像を得る逆フーリエ変換部と、複素画像の振幅と複素周期関数との複素相関画像を算出する複素相関画像算出部と、を備える。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態の検査システムの構成例を示した図である。
【図２】図２は、実施形態の時間相関カメラの構成を示したブロック図である。
【図３】図３は、実施形態の時間相関カメラで時系列順に蓄積されたフレームを表した概念図である。
【図４】図４は、実施形態の照明装置が照射する縞パターンの一例を示した図である。
【図５】図５は、実施形態の照明制御部が照明装置に出力する縞パターンの例を示した図である。
【図６】図６は、実施形態のスクリーンを介した後の縞パターンを表した波の形状の例を示した図である。
【図７】図７は、実施形態の異常検出処理部における振幅に基づく異常検出処理の手順を示すフローチャートである。
【図８】図８は、実施形態の異常検出処理部における、位相に基づく異常検出処理の手順を示すフローチャートである。
【図９】図９は、実施形態の異常検出処理部における振幅および強度に基づく異常検出処理の手順を示すフローチャートである。
【図１０】図１０は、実施形態の検査システムにおける被検査体の検査処理の手順を示すフローチャートである。
【図１１】図１１は、変形例２の照明制御部が出力する縞パターンの切り替え例を示した図である。
【図１２】図１２は、変形例２の照明制御部が、異常（欠陥）を含めた表面に縞パターンを照射した例を示した図である。
【図１３】図１３は、実施形態の検査システムに含まれる異常検出処理部の一例を示すブロック図である。
【図１４】図１４は、実施形態の検査システムにおいて時間相関画像から複素相関画像が得られるまでの処理の流れの一例を示す説明図である。
【図１５】図１５は、時間相関画像の空間周波数領域における２次元複素スペクトルの一例を示すグラフである。
【図１６】図１６は、実施形態の検査システムによって得られた時間相関画像の位相画像であって、形状の変化が比較的緩やかな異常を含むサンプルの位相画像の一例である。
【図１７】図１７は、図１６の時間相関画像に対する実施形態の検査システムによる処理によって得られた複素相関画像の振幅画像の一例である。
【図１８】図１８は、図１６の時間相関画像に対する実施形態の検査システムによる処理によって得られた複素相関画像の位相画像の一例である。
【図１９】図１９は、形状の変化が比較的緩やかな異常領域を含むサンプルの側面図である。
【図２０】図２０は、検査面の傾斜に応じた位相の逆行についての説明図である。
【図２１】図２１は、実施形態の検査システムにおいて用いられうる複素周期関数の位相に対応した空間周波数フィルタの別の一例を示す説明図である。
【発明を実施するための形態】
【０００９】
（実施形態）
本実施形態の検査システムについて説明する。本実施形態の検査システムは、被検査体を検査するために様々な構成を備えている。図１は、本実施形態の検査システムの構成例を示した図である。図１に示されるように、本実施形態の検査システムは、ＰＣ１００と、時間相関カメラ１１０と、プロジェクタ１２１と、スクリーン１２２と、アーム１４０と、を備えている。
【００１０】
アーム１４０は、被検査体１５０を固定するために用いられ、ＰＣ１００からの制御に応じて、時間相関カメラ１１０が撮影可能な被検査体１５０の表面の位置と向きを変化させる。
【００１１】
プロジェクタ１２１は、被検査体１５０に光を照射する装置であって、ＰＣ１００からのパターンに従って、照射する光の強度を領域単位で制御できる。さらに、プロジェクタ１２１は、周期的な時間の遷移に従って当該領域単位の光の強度を制御できる。換言すれば、プロジェクタ１２１は、光の強度の周期的な時間変化及び空間変化を与えることができる。なお、具体的な光の強度の制御手法については後述する。
【００１２】
スクリーン１２２は、プロジェクタ１２１から出力された光を拡散させた上で、被検査体１５０に対して面的に光を照射する。本実施形態のスクリーン１２２は、プロジェクタ１２１から入力された周期的な時間変化及び空間変化が与えられた光を、面的に被検査体１５０に照射する。プロジェクタ１２１およびスクリーン１２２は、照明装置１２０を構成している。照明装置１２０は、照明部の一例である。
【００１３】
時間相関カメラ１１０は、光学系２１０と、イメージセンサ２２０と、データバッファ２３０と、制御部２４０と、参照信号出力部２５０と、を備えている。図２は、本実施形態の時間相関カメラ１１０の構成を示したブロック図である。
【００１４】
光学系２１０は、撮影レンズ等を含み、時間相関カメラ１１０の外部の被写体（被検査体１５０を含む）からの光束を透過し、その光束により形成される被写体の光学像を結像させる。
【００１５】
イメージセンサ２２０は、光学系２１０を介して入射された光の強弱を光強度信号として画素毎に高速に出力可能なセンサとする。
【００１６】
本実施形態の光強度信号は、検査システムのプロジェクタ１２１（照明装置１２０）が被写体（被検査体１５０を含む）に対して光を照射し、当該被写体からの反射光を、イメージセンサ２２０が受け取ったものである。
【００１７】
イメージセンサ２２０は、例えば従来のものと比べて高速に読み出し可能なセンサであり、行方向（ｘ方向）、列方向（ｙ方向）の２種類の方向に画素が配列された２次元平面状に構成されたものとする。そして、イメージセンサ２２０の各画素を、画素Ｐ（１，１），……，Ｐ（ｉ，ｊ），……，Ｐ（Ｘ，Ｙ）とする（なお、本実施形態の画像サイズをＸ×Ｙとする。）。なお、イメージセンサ２２０の読み出し速度を制限するものではなく、従来と同様であってもよい。
【００１８】
イメージセンサ２２０は、光学系２１０によって透過された、被写体（被検査体１５０を含む）からの光束を受光して光電変換することで、被写体から反射された光の強弱を示した光強度信号（撮影信号）で構成される、２次元平面状のフレームを生成し、制御部２４０に出力する。本実施形態のイメージセンサ２２０は、読み出し可能な単位時間毎に、当該フレームを出力する。
【００１９】
本実施形態の制御部２４０は、例えばＣＰＵ、ＲＯＭ、及びＲＡＭ等で構成され、ＲＯＭに格納された検査プログラムを実行することで、転送部２４１と、読出部２４２と、強度画像用重畳部２４３と、第１の乗算器２４４と、第１の相関画像用重畳部２４５と、第２の乗算器２４６と、第２の相関画像用重畳部２４７と、画像出力部２４８と、を実現する。なお、ＣＰＵ等で実現することに制限するものではなく、ＦＰＧＡ、またはＡＳＩＣで実現してもよい。
【００２０】
転送部２４１は、イメージセンサ２２０から出力された、光強度信号で構成されたフレームを、データバッファ２３０に、時系列順に蓄積する。
【００２１】
データバッファ２３０は、イメージセンサ２２０から出力された、光強度信号で構成されたフレームを、時系列順に蓄積する。
【００２２】
図３は、本実施形態の時間相関カメラ１１０で時系列順に蓄積されたフレームを表した概念図である。図３に示されるように、本実施形態のデータバッファ２３０には、時刻ｔ（ｔ＝ｔ０，ｔ１，ｔ２，……，ｔｎ）毎の複数の光強度信号Ｇ（１，１，ｔ），……，Ｇ（ｉ，ｊ，ｔ），……，Ｇ（Ｘ，Ｙ，ｔ）の組み合わせで構成された複数のフレームＦｋ（ｋ＝１，２，……，ｎ）が、時系列順に蓄積される。なお、時刻ｔで作成される一枚のフレームは、光強度信号Ｇ（１，１，ｔ），……，Ｇ（ｉ，ｊ，ｔ），……，Ｇ（Ｘ，Ｙ，ｔ）で構成される。
【００２３】
本実施形態の光強度信号（撮像信号）Ｇ（１，１，ｔ），……，Ｇ（ｉ，ｊ，ｔ），……，Ｇ（Ｘ，Ｙ，ｔ）には、フレーム画像Ｆｋ（ｋ＝１，２，……，ｎ）を構成する各画素Ｐ（１，１），……，Ｐ（ｉ，ｊ），……，Ｐ（Ｘ，Ｙ）が対応づけられている。
【００２４】
イメージセンサ２２０から出力されるフレームは、光強度信号のみで構成されており、換言すればモノクロの画像データとも考えることができる。なお、本実施形態は、解像度、感度、及びコスト等を考慮して、イメージセンサ２２０がモノクロの画像データを生成する例について説明するが、イメージセンサ２２０としてモノクロ用のイメージセンサに制限するものではなく、カラー用のイメージセンサを用いてもよい。
【００２５】
図２に戻り、本実施形態の読出部２４２は、データバッファ２３０から、光強度信号Ｇ（１，１，ｔ），……，Ｇ（ｉ，ｊ，ｔ），……，Ｇ（Ｘ，Ｙ，ｔ）をフレーム単位で、時系列順に読み出して、第１の乗算器２４４と、第２の乗算器２４６と、強度画像用重畳部２４３と、に出力する。
【００２６】
本実施形態の時間相関カメラ１１０は、読出部２４２の出力先毎に画像データを生成する。換言すれば、時間相関カメラ１１０は、３種類の画像データを作成する。
【００２７】
本実施形態の時間相関カメラ１１０は、３種類の画像データとして、強度画像データと、２種類の時間相関画像データと、を生成する。なお、本実施形態は、３種類の画像データを生成することに制限するものではなく、強度画像データを生成しない場合や、１種類又は３種類以上の時間相関画像データを生成する場合も考えられる。
【００２８】
本実施形態のイメージセンサ２２０は、上述したように単位時間毎に、光強度信号で構成されたフレームを出力している。しかしながら、通常の画像データを生成するためには、撮影に必要な露光時間分の光強度信号が必要になる。そこで、本実施形態では、強度画像用重畳部２４３が、撮影に必要な露光時間分の複数のフレームを重畳して、強度画像データを生成する。なお、強度画像データの各画素値（光の強度を表す値）Ｇ（ｘ，ｙ）は、以下に示す式（１）から導き出すことができる。なお、露光時間は、ｔ０とｔｎの時間差とする。
【００２９】
【数１】
2018155718.tif 000003
【００３０】
これにより、従来のカメラの撮影と同様に、被写体（被検査体１５０を含む）が撮影された強度画像データが生成される。そして、強度画像用重畳部２４３は、生成した強度画像データを、画像出力部２４８に出力する。
【００３１】
時間相関画像データは、時間遷移に応じた光の強弱の変化を示す画像データである。つまり、本実施形態では、時系列順のフレーム毎に、当該フレームに含まれる光強度信号に対して、時間遷移を示した参照信号を乗算し、参照信号と光強度信号と乗算結果である時間相関値で構成された、時間相関値フレームを生成し、複数の時間相関値フレームを重畳することで、時間相関画像データを生成する。
【００３２】
ところで、時間相関画像データを用いて、被検査体１５０の異常を検出するためには、イメージセンサ２２０に入力される光強度信号を、参照信号に同期させて変化させる必要がある。このために、プロジェクタ１２１が、上述したように、スクリーン１２２を介して周期的に時間変化および縞の空間的な移動を与えるような、面的な光の照射を行うこととした。
【００３３】
本実施形態では、２種類の時間相関画像データを生成する。参照信号は、時間遷移を表した信号であればよいが、本実施形態では、複素正弦波ｅ-jωtを用いる。なお、角周波数ω、時刻ｔとする。参照信号を表す複素正弦波ｅ-jωtが、上述した露光時間（換言すれば強度画像データ、時間相関画像を生成するために必要な時間）の一周期と相関をとるように、角周波数ωが設定されるものとする。換言すれば、プロジェクタ１２１およびスクリーン１２２等の照明部によって形成された面的かつ動的な光は、被検査体１５０の表面（反射面）の各位置で第一の周期（時間周期）での時間的な照射強度の変化を与えるとともに、表面に沿った少なくとも一方向に沿った第二の周期（空間周期）での空間的な照射強度の増減分布を与える。この面的な光は、表面で反射される際に、当該表面のスペック（法線ベクトルの分布等）に応じて複素変調される。時間相関カメラ１１０は、表面で複素変調された光を受光し、第一の周期の参照信号を用いて直交検波（直交復調）することにより、複素信号としての時間相関画像データを得る。このような複素時間相関画像データに基づく変復調により、表面の法線ベクトルの分布に対応した特徴を検出することができる。
【００３４】
複素正弦波ｅ-jωtは、ｅ-jωt＝ｃｏｓωｔ−ｊ・ｓｉｎωｔと表すこともできる。従って、時間相関画像データの各画素値Ｃ（ｘ，ｙ）は、以下に示す式（２）から導き出すことができる。
【００３５】
【数２】
2018155718.tif 000004
【００３６】
本実施形態では、式（２）において、実数部を表す画素値Ｃ１（ｘ，ｙ）と、虚数部を表す画素値Ｃ２（ｘ，ｙ）と、に分けて２種類の時間相関画像データを生成する。
【００３７】
このため、参照信号出力部２５０は、第１の乗算器２４４と、第２の乗算器２４６と、に対してそれぞれ異なる参照信号を生成し、出力する。本実施形態の参照信号出力部２５０は、複素正弦波ｅ-ｊωtの実数部に対応する第１の参照信号ｃｏｓωｔを第１の乗算器２４４に出力し、複素正弦波ｅ-jωtの虚数部に対応する第２の参照信号ｓｉｎωｔを第２の乗算器２４６に出力する。このように本実施形態の参照信号出力部２５０は、互いにヒルベルト変換対をなす正弦波および余弦波の時間関数として表される２種類の参照信号を出力する例について説明するが、参照信号は時間関数のような時間遷移に応じて変化する参照信号であればよい。
【００３８】
そして、第１の乗算器２４４は、読出部２４２から入力されたフレーム単位で、当該フレームの光強度信号毎に、参照信号出力部２５０から入力された複素正弦波ｅ-jωtの実数部ｃｏｓωｔを乗算する。
【００３９】
第１の相関画像用重畳部２４５は、撮影に必要な露光時間分の複数のフレームについて、第１の乗算器２４４の乗算結果を画素毎に重畳する処理を行う。これにより、第１の時間相関画像データの各画素値Ｃ１（ｘ，ｙ）が、以下の式（３）から導出される。
【００４０】
【数３】
2018155718.tif 000005
【００４１】
そして、第２の乗算器２４６は、読出部２４２から入力されたフレームの光強度信号に対して、参照信号出力部２５０から入力された複素正弦波ｅ-jωtの虚数部ｓｉｎωｔを乗算する。
【００４２】
第２の相関画像用重畳部２４７は、撮影に必要な露光時間分の複数のフレームについて、第２の乗算器２４６の乗算結果を画素毎に重畳する処理を行う。これにより、第２の時間相関画像データの各画素値Ｃ２（ｘ、ｙ）が、以下の式（４）から導出される。
【００４３】
【数４】
2018155718.tif 000006
【００４４】
上述した処理を行うことで、２種類の時間相関画像データ、換言すれば２自由度を有する時間相関画像データを生成できる。
【００４５】
また、本実施形態は、参照信号の種類を制限するものでない。例えば、本実施形態では、複素正弦波ｅ-jωtの実部と虚部の２種類の時間相関画像データを作成するが、光の振幅と、光の位相と、による２種類の画像データを生成してもよい。
【００４６】
なお、本実施形態の時間相関カメラ１１０は、時間相関画像データとして、複数系統分作成可能とする。これにより、例えば複数種類の幅の縞が組み合わされた光が照射された際に、上述した実部と虚部とによる２種類の時間相関画像データを、縞の幅毎に作成可能とする。このために、時間相関カメラ１１０は、２個の乗算器と２個の相関画像用重畳部とからなる組み合わせを、複数系統分備えるとともに、参照信号出力部２５０は、系統毎に適した角周波数ωによる参照信号を出力可能とする。
【００４７】
そして、画像出力部２４８が、２種類の時間相関画像データと、強度画像データと、をＰＣ１００に出力する。これにより、ＰＣ１００が、２種類の時間相関画像データと、強度画像データと、を用いて、被検査体１５０の異常を検出する。そのためには、被写体に対して光を照射する必要がある。
【００４８】
本実施形態のプロジェクタ１２１は、高速に移動する光パターンとして、縞パターンを照射することができる。図４は、本実施形態のプロジェクタ１２１が照射する縞パターンの一例を示した図である。図４に示す例では、縞パターンをｘ方向にスクロール（移動）させている例とする。白い領域が縞に対応した明領域、黒い領域が縞と縞との間に対応した間隔領域（暗領域）である。
【００４９】
本実施形態では、時間相関カメラ１１０が強度画像データ及び時間相関画像データを撮影する露光時間で、プロジェクタ１２１が照射する縞パターンが一周期分移動させる。これにより、プロジェクタ１２１は、光の強度の縞パターンの空間的な移動により光の強度の周期的な時間変化を与える。本実施形態では、図４の縞パターンが一周期分移動する時間を、露光時間と対応させることで、時間相関画像データの各画素には、少なくとも、縞パターン一周期分の光の強度信号に関する情報が埋め込まれる。
【００５０】
図４に示されるように、本実施形態では、プロジェクタ１２１が矩形波に基づく縞パターンを照射する例について説明するが、矩形波以外を用いてもよい。本実施形態では、プロジェクタ１２１がスクリーン１２２を介して照射されることで、矩形波の明暗の境界領域をぼかすことができる。
【００５１】
本実施形態では、プロジェクタ１２１が照射する縞パターンをＡ（１＋cos（ωｔ＋ｋｘ））と表す。すなわち、縞パターンには、複数の縞が反復的に（周期的に）含まれる。なお、被検査体１５０に照射される光の強度は０〜２Ａの間で調整可能とし、光の位相ｋｘとする。ｋは、縞の波数である。ｘは、位相が変化する方向である。
【００５２】
そして、フレームの各画素の光強度信号ｆ（ｘ，ｙ，ｔ）の基本周波数成分は、以下の式（５）として表すことができる。式（５）で示されるように、ｘ方向で縞の明暗が変化する。
【００５３】
ｆ（ｘ，ｙ，ｔ）＝Ａ（１＋ｃｏｓ（ωｔ＋ｋｘ））
＝Ａ＋Ａ／２｛ｅj(ωt+kx)＋ｅ-j(ωt+kx)｝……（５）
【００５４】
式（５）で示されるように、プロジェクタ１２１が照射する縞パターンの強度信号は、複素数として考えることができる。
【００５５】
そして、イメージセンサ２２０には、当該プロジェクタ１２１からの光が被写体（被検査体１５０を含む）から反射して入力される。
【００５６】
したがって、イメージセンサ２２０に入力される光強度信号Ｇ（ｘ，ｙ，ｔ）を、プロジェクタ１２１が照射された際のフレームの各画素の光強度信号ｆ（ｘ，ｙ，ｔ）とできる。そこで、強度画像データを導出するための式（１）に式（５）を代入すると、式（６）を導出できる。なお、位相ｋｘとする。
【００５７】
【数５】
2018155718.tif 000007
【００５８】
式（６）から、強度画像データの各画素には、露光時間Ｔに、プロジェクタ１２１が出力している光の強度の中間値Ａを乗じた値が入力されていることが確認できる。さらに、時間相関画像データを導出するための式（２）に式（５）を代入すると、式（７）を導出できる。なお、ＡＴ／２を振幅とし、ｋｘを位相とする。
【００５９】
【数６】
2018155718.tif 000008
【００６０】
これにより、式（７）で示された複素数で示された時間相関画像データは、上述した２種類の時間相関画像データと置き換えることができる。つまり、上述した実部と虚部とで構成される時間相関画像データには、被検査体１５０に照射された光強度変化における位相変化と振幅変化とが含まれている。換言すれば、本実施形態のＰＣ１００は、２種類の時間相関画像データに基づいて、プロジェクタ１２１から照射された光の位相変化と、光の振幅変化と、を検出できる。そこで、本実施形態のＰＣ１００が、時間相関画像データ及び強度画像データに基づいて、画素毎に入る光の振幅を表した振幅画像データと、画素毎に入る光の位相変化を表した位相画像データと、を生成する。
【００６１】
さらに、ＰＣ１００は、生成した振幅画像データと位相画像データとに基づいて、被検査体１５０の異常を検出する。
【００６２】
ところで、被検査体１５０の表面形状に凹凸に基づく異常が生じている場合、被検査体１５０の表面の法線ベクトルの分布には異常に対応した変化が生じている。また、被検査体１５０の表面に光を吸収するような異常が生じている場合、反射した光の強度に変化が生じる。法線ベクトルの分布の変化は、光の位相変化及び振幅変化のうち少なくともいずれか一つとして検出される。そこで、本実施形態では、時間相関画像データ及び強度画像データを用いて、法線ベクトルの分布の変化に対応した、光の位相変化及び振幅変化のうち少なくともいずれか一つを検出する。これにより、表面形状の異常を検出可能となる。本実施形態によれば、時間相関画像データに基づいて、光の振幅の変化と、光の位相の変化と、を検出することで、被検査体１５０に異常があることを推定できる。
【００６３】
図１に戻り、ＰＣ１００について説明する。ＰＣ１００は、検出システム全体の制御を行う。ＰＣ１００は、アーム制御部１０１と、照明制御部１０２と、制御部１０３と、を備える。
【００６４】
アーム制御部１０１は、被検査体１５０の時間相関カメラ１１０による撮像対象となる表面を変更するために、アーム１４０を制御する。本実施形態では、ＰＣ１００において、被検査体１５０の撮影対象となる表面を複数設定しておく。そして、時間相関カメラ１１０が被検査体１５０の撮影が終了する毎に、アーム制御部１０１が、当該設定に従って、時間相関カメラ１１０が設定された表面を撮影できるように、アーム１４０が被検査体１５０を移動させる。なお、本実施形態は撮影が終了する毎にアーム１４０を移動させ、撮影が開始する前に停止させることを繰り返すことに制限するものではなく、継続的にアーム１４０を駆動させてもよい。なお、アーム１４０は、搬送部、移動部、位置変更部、姿勢変更部等とも称されうる。
【００６５】
照明制御部１０２は、被検査体１５０を検査するためにプロジェクタ１２１が照射する縞パターンを出力する。本実施形態の照明制御部１０２は、少なくとも３枚以上の縞パターンを、プロジェクタ１２１に受け渡し、当該縞パターンを露光時間中に切り替えて表示するようにプロジェクタ１２１に指示する。
【００６６】
図５は、照明制御部１０２がプロジェクタ１２１に出力する縞パターンの例を示した図である。図５（Ｂ）に示す矩形波に従って、図５（Ａ）に示す黒領域と白領域とが設定された縞パターンが出力されるように、照明制御部１０２が制御を行う。
【００６７】
本実施形態で照射する縞パターン毎の縞の間隔は、検出対象となる異常（欠陥）の大きさに応じて設定されるものとしてここでは詳しい説明を省略する。
【００６８】
また、縞パターンを出力するための矩形波の角周波数ωは、参照信号の角周波数ωと同じ値とする。
【００６９】
図５に示されるように、照明制御部１０２が出力する縞パターンは、矩形波として示すことができるが、スクリーン１２２を介することで、縞パターンの境界領域をぼかす、すなわち、縞パターンにおける明領域（縞の領域）と暗領域（間隔の領域）との境界での光の強度変化を緩やかにする（鈍らせる）ことで、正弦波に近似させることができる。図６は、スクリーン１２２を介した後の縞パターンを表した波の形状の例を示した図である。図６に示されるように波の形状が、正弦波に近づくことで、計測精度を向上させることができる。また、縞に明度が多段階に変化するグレー領域を追加したり、グラデーションを与えたりしてもよい。また、カラーの縞を含む縞パターンを用いてもよい。
【００７０】
図１に戻り、制御部１０３は、振幅−位相画像生成部１０４と、異常検出処理部１０５と、を備え、時間相関カメラ１１０から入力された強度画像データと、時間相関画像データと、により、被検査体１５０の検査対象面の法線ベクトルの分布と対応した特徴であって、周囲との違いによって異常を検出する特徴を算出するための処理を行う。なお、本実施形態は、検査を行うために、複素数で示した時間相関画像データ（複素時間相関画像データと称す）の代わりに、複素数相関画像データの実部と虚部とで分けた２種類の時間相関画像データを、時間相関カメラ１１０から受け取る。
【００７１】
振幅−位相画像生成部１０４は、時間相関カメラ１１０から入力された強度画像データと、時間相関画像データと、に基づいて、振幅画像データと、位相画像データと、を生成する。振幅−位相画像生成部１０４は、画像取得部の一例である。
【００７２】
振幅画像データは、画素毎に入る光の振幅を表した画像データとする。位相画像データは、画素毎に入る光の位相を表した画像データとする。
【００７３】
本実施形態は振幅画像データの算出手法を制限するものではないが、例えば、振幅−位相画像生成部１０４は、２種類の時間相関画像データの画素値Ｃ１（ｘ，ｙ）及びＣ２（ｘ，ｙ）から、式（８）を用いて、振幅画像データの各画素値Ｆ（ｘ，ｙ）を導き出せる。
【００７４】
【数７】
2018155718.tif 000009
【００７５】
そして、本実施形態では、振幅画像データの画素値（振幅）と、強度画像データの画素値と、に基づいて、異常が生じている領域があるか否かを判定できる。例えば、強度画像データの画素値（ＡＴ）を２で除算した値と、振幅画像データの振幅（打ち消し合いが生じない場合にはＡＴ／２となる）と、がある程度一致する領域は異常が生じていないと推測できる。一方、一致していない領域については、振幅の打ち消しが生じていると推測できる。なお、具体的な手法については後述する。
【００７６】
同様に、振幅−位相画像生成部１０４は、画素値Ｃ１（ｘ，ｙ）及びＣ２（ｘ，ｙ）から、式（９）を用いて、位相画像データの各画素値Ｐ（ｘ，ｙ）を導き出せる。
【００７７】
【数８】
2018155718.tif 000010
【００７８】
異常検出処理部１０５は、振幅−位相画像生成部１０４により生成された振幅画像データ、及び位相画像データにより、検査対称面の法線ベクトルの分布と対応した特徴であって、周囲との違いによって、被検査体１５０の異常に関連する特徴を検出する。本実施形態では、法線ベクトルの分布に対応した特徴として、複素時間相関画像の振幅の分布を用いた例について説明する。なお、複素時間相関画像の振幅の分布とは、複素時間相関画像の各画素の振幅の分布を示したデータであり、振幅画像データに相当する。異常検出処理部１０５は、演算処理部の一例である。
【００７９】
次に、本実施形態の異常検出処理部１０５における振幅に基づく異常検出処理について説明する。図７は、本実施形態の異常検出処理部１０５における当該処理の手順を示すフローチャートである。
【００８０】
まず、異常検出処理部１０５は、振幅画像データの各画素に格納された、光の振幅値（を表した画素値）から、当該画素を基準（例えば中心）として、Ｎ×Ｎ領域の平均振幅値を減算し（ステップＳ１１０１）、振幅の平均差分画像データを生成する。振幅の平均差分画像データは、振幅の勾配に対応する。なお、整数Ｎは実施の態様に応じて適切な値が設定されるものとする。
【００８１】
次に、異常検出処理部１０５は、減算により生成された振幅の平均差分画像データに対して、予め定められた振幅の閾値を用いたマスク処理を行う（ステップＳ１１０２）。
【００８２】
さらに、異常検出処理部１０５は、平均差分画像データのマスク領域内について画素毎に標準偏差を算出する（ステップＳ１１０３）。なお、本実施形態では、標準偏差に基づいた手法について説明するが、標準偏差を用いた場合に制限するものではなく、例えば平均値等を用いてもよい。
【００８３】
そして、異常検出処理部１０５は、平均を引いた振幅画素値が−４．５σ（σ：標準偏差）より小さい値の画素を、異常（欠陥）がある領域として検出する（ステップＳ１１０４）。
【００８４】
上述した処理手順により、各画素の振幅値（換言すれば、振幅の分布）から、被検査体１５０の異常を検出できる。しかしながら、本実施形態は、複素時間相関画像の振幅の分布から異常を検出することに制限するものではない。検査対称面の法線ベクトルの分布と対応した特徴として、位相の分布の勾配を用いてもよい。そこで、次に位相の分布の勾配を用いた例について説明する。
【００８５】
次に、本実施形態の異常検出処理部１０５における位相に基づく異常検出処理について説明する。図８は、本実施形態の異常検出処理部１０５における当該処理の手順を示すフローチャートである。
【００８６】
まず、異常検出処理部１０５は、位相画像データの画素毎の光の位相値（を表した画素値）から、当該画素を基準（例えば中心）として、Ｎ×Ｎ領域の平均位相値を減算し（ステップＳ１２０１）、位相の平均差分画像データを生成する。位相の平均差分画像データは、位相の勾配に対応する。
【００８７】
次に、異常検出処理部１０５は、減算により生成された位相の平均差分画像データの大きさ（絶対値）と、閾値とを比較し、平均差分画像データの大きさが閾値以上となる画素を、異常（欠陥）のある画素として検出する（ステップＳ１２０２）。
【００８８】
このステップＳ１２０２の検出結果により、異常検出処理部１０５は、平均差分画像データの正負、すなわち、画素の位相値と平均位相値との大小関係によって、凹凸を判別することができる（ステップＳ１２０３）。画素の位相値と平均位相値とのどちらが大きい場合に凸となるかは、各部の設定によって変化するが、大小関係が異なると、凹凸が異なる。
【００８９】
なお、他の手法によって得られた位相の分布の勾配から、異常を検出することができる。例えば、異常検出処理部１０５は、別の手法として、正規化された時間相関画像データのＮ×Ｎの領域の平均ベクトルと、正規化された各画素のベクトルとの差の大きさが、閾値よりも大きい場合に、異常（欠陥）がある画素として検出することができる。また、位相の分布の勾配に限られず、位相の分布に対応する情報に基づいて被検査体１５０の異常を検出すればよい。
【００９０】
次に、本実施形態の異常検出処理部１０５における振幅および強度に基づく異常検出処理について説明する。図９は、本実施形態の異常検出処理部１０５における当該処理の手順を示すフローチャートである。
【００９１】
まず、異常検出処理部１０５は、時間相関画像データと強度画像データとから、各画素について、次の式（１０）を用いて、振幅（を表す画素値）Ｃ（ｘ，ｙ）（式（７）参照）と強度（を表す画素値）Ｇ（ｘ，ｙ）（式（６）参照）との比Ｒ（ｘ，ｙ）を算出する（ステップＳ１３０１）。
【００９２】
Ｒ（ｘ，ｙ）＝Ｃ（ｘ，ｙ）／Ｇ（ｘ，ｙ）……（１０）
【００９３】
次に、異常検出処理部１０５は、比Ｒ（ｘ，ｙ）と閾値とを比較し、比Ｒ（ｘ，ｙ）の値が対応する閾値以下となる画素を、異常（欠陥）のある画素として検出する（ステップＳ１３０２）。また、異常検出処理部１０５は、比Ｒ（ｘ，ｙ）と閾値とを比較し、比Ｒ（ｘ，ｙ）の値が対応する別の閾値以上となる画素を、ムラ（汚れ等）のある画素として検出する（ステップＳ１３０３）。法線ベクトルの分布の異常により、振幅の打ち消し合い（減殺）が顕著となった場合には、強度に比べて振幅がより大きく下がる。一方、法線ベクトルの分布にはそれほどの異常は無いものの被検査体１５０の表面の汚れ等によって光の吸収が顕著となった場合には、振幅に比べて強度がより大きく下がる。よって、異常検出処理部１０５は、ステップＳ１３０２およびステップＳ１３０３による異常種別の検出が可能となる。
【００９４】
次に、本実施形態の検査システムにおける被検査体１５０の検査処理について説明する。図１０は、本実施形態の検査システムにおける上述した処理の手順を示すフローチャートである。なお、被検査体１５０は、すでにアーム１４０に固定された状態で、検査の初期位置に配置されているものとする。
【００９５】
本実施形態のＰＣ１００が、プロジェクタ１２１に対して、被検査体１５０を検査するための縞パターンを出力する（ステップＳ１４０１）。
【００９６】
プロジェクタ１２１は、ＰＣ１００から入力された縞パターンを格納する（ステップＳ１４２１）。そして、プロジェクタ１２１は、格納された縞パターンを、時間遷移に従って変化するように表示する（ステップＳ１４２２）。なお、プロジェクタ１２１が表示を開始する条件は、縞パターンが格納された際に制限するものではなく、例えば検査者がプロジェクタ１２１に対して開始操作を行った際でもよい。
【００９７】
そして、ＰＣ１００の制御部１０３が、時間相関カメラ１１０に対して、撮影の開始指示を送信する（ステップＳ１４０２）。
【００９８】
次に、時間相関カメラ１１０が、送信されてきた撮影指示に従って、被検査体１５０を含む領域について撮像を開始する（ステップＳ１４１１）。次に、時間相関カメラ１１０の制御部２４０が、強度画像データと、時間相関画像データと、を生成する（ステップＳ１４１２）。そして、時間相関カメラ１１０の制御部２４０が、強度画像データと、時間相関画像データと、を、ＰＣ１００に出力する（ステップＳ１４１３）。
【００９９】
ＰＣ１００の制御部１０３は、強度画像データと、時間相関画像データと、を受け取る（ステップＳ１４０３）。そして、振幅−位相画像生成部１０４は、受け取った強度画像データと時間相関画像データとから、振幅画像データと、位相画像データとを生成する（ステップＳ１４０４）。
【０１００】
そして、異常検出処理部１０５が、振幅画像データと、位相画像データとに基づいて、被検査体１５０の異常検出制御を行う（ステップＳ１４０５）。そして、異常検出処理部１０５は、異常検出結果を、ＰＣ１００が備える（図示しない）表示装置に出力する（ステップＳ１４０６）。
【０１０１】
異常検出結果の出力例としては、強度画像データを表示するとともに、振幅画像データと位相画像データとに基づいて異常が検出された領域に対応する、強度画像データの領域を、検査者が異常を認識できるように装飾表示するなどが考えられる。また、視覚に基づく出力に制限するものではなく、音声等で異常が検出されたことを出力してもよい。
【０１０２】
制御部１０３は、当該被検査体１５０の検査が終了したか否かを判定する（ステップＳ１４０７）。検査が終了していないと判定した場合（ステップＳ１４０７：Ｎｏ）、アーム制御部１０１が、予め定められた設定に従って、次の検査対象となる被検査体１５０の表面が、時間相関カメラ１１０で撮影できるように、アームの移動制御を行う（ステップＳ１４０８）。アームの移動制御が終了した後、制御部１０３が、再び時間相関カメラ１１０に対して、撮影の開始指示を送信する（ステップＳ１４０２）。
【０１０３】
一方、制御部１０３は、当該被検査体１５０の検査が終了したと判定した場合（ステップＳ１４０７：Ｙｅｓ）、終了指示を時間相関カメラ１１０に対して出力し（ステップＳ１４０９）、処理を終了する。
【０１０４】
そして、時間相関カメラ１１０は、終了指示を受け付けたか否かを判定する（ステップＳ１４１４）。終了指示を受け付けていない場合（ステップＳ１４１４：Ｎｏ）、再びステップＳ１４１１から処理を行う。一方、終了指示を受け付けた場合（ステップＳ１４１４：Ｙｅｓ）、処理を終了する。
【０１０５】
なお、プロジェクタ１２１の終了処理は、検査者が行ってもよいし、他の構成からの指示に従って終了してもよい。
【０１０６】
また、本実施形態では、時間相関カメラ１１０を用いて生成された強度画像データと、時間相関画像データと、を生成する例について説明した。しかしながら、強度画像データと、時間相関画像データと、を生成するために時間相関カメラ１１０を用いることに制限するものではなく、アナログ的な処理で実現可能な時間相関カメラや、それと等価な動作をする撮像システムを用いてもよい。例えば、通常のデジタルスチルカメラが生成した画像データを出力し、情報処理装置が、デジタルスチルカメラが生成した画像データを、フレーム画像データとして用いて参照信号を重畳することで、時間相関画像データを生成してもよいし、イメージセンサ内で光強度信号に参照信号を重畳するようなデジタルカメラを用いて、時間相関画像データを生成してもよい。
【０１０７】
（変形例１）
上記実施形態では、周囲との違いに基づいて、異常に関連する特徴を検出する例について説明したが、周囲との違いに基づいて当該特徴を検出することに制限するものではなく、参照形状のデータ（参照データ、例えば、時間相関データや、振幅画像データ、位相画像データ等）との差異に基づいて当該特徴を検出してもよい。この場合、参照データの場合とで、空間位相変調照明（縞パターン）の位置合わせおよび同期が必要となる。
【０１０８】
本変形例では、異常検出処理部１０５が、予め（図示しない）記憶部に記憶された、参照表面から得られた振幅画像データ及び位相画像データと、被検査体１５０の振幅画像データ及び位相画像データと、を比較し、被検査体１５０の表面と参照表面との間で、光の振幅及び光の位相とのうちいずれか一つ以上について所定の基準以上の違いがあるか否かを判定する。
【０１０９】
本変形例は、上記実施形態と同じ構成の検査システムを用い、参照表面として正常な被検査体１５０の表面を用いる例とする。
【０１１０】
プロジェクタ１２１がスクリーン１２２を介して縞パターンを照射している間に、時間相関カメラ１１０が、正常な被検査体１５０の表面を撮像し、時間相関画像データを生成する。そして、ＰＣ１００が、時間相関カメラ１１０で生成された時間相関画像データを入力し、振幅画像データ及び位相画像データを生成し、ＰＣ１００の図示しない記憶部に振幅画像データ及び位相画像データを記憶させておく。そして、時間相関カメラ１１０が、異常が生じているか否か判定したい被検査体１５０を撮像し、時間相関画像データを生成する。そして、ＰＣ１００が、時間相関画像データから、振幅画像データ及び位相画像データを生成した後、記憶部に記憶されていた、正常な被検査体１５０の振幅画像データ及び位相画像データと比較する。その際に、正常な被検査体１５０の振幅画像データ及び位相画像データと、検査対象の被検査体１５０の振幅画像データ及び位相画像データと、の比較結果を、異常を検出する特徴を示したデータとして出力する。そして、異常を検出する特徴が、当該所定の基準以上の場合に、被検査体１５０に対して異常があると推測できる。
【０１１１】
これにより、本変形例では、正常な被検査体１５０の表面と差異が生じているか否か、換言すれば、被検査体１５０の表面に異常が生じているか否かを判定できる。なお、振幅画像データ及び位相画像データの比較手法は、どのような手法を用いてもよいので、説明を省略する。
【０１１２】
さらに、本変形例では参照表面の違いに基づいて、異常を検出する特徴を示したデータを出力する例について説明したが、参照表面の違いと、上記実施形態で示した周囲との違いと、を組み合わせて、異常を検出する特徴を算出してもよい。組み合わせる手法は、どのような手法を用いてもよいので、説明を省略する。
【０１１３】
（変形例２）
上記実施形態では、ｘ方向に縞パターンを動かして、被検査体１５０の異常（欠陥）を検出する例について説明した。しかしながら、ｘ方向に垂直なｙ方向で急峻に法線の分布が変化する異常（欠陥）が被検査体１５０に生じている場合、ｘ方向に縞パターンを動かすよりも、ｙ方向に縞パターンを動かす方が欠陥の検出が容易になる場合がある。そこで、変形例では、ｘ方向に移動する縞パターンと、ｙ方向に移動する縞パターンとを、交互に切り替える例について説明する。
【０１１４】
本変形例の照明制御部１０２は、所定の時間間隔毎に、プロジェクタ１２１に出力する縞パターンを切り替える。これにより、プロジェクタ１２１は、一つの検査対象面に対して、異なる方向に延びた複数の縞パターンを出力する。
【０１１５】
図１１は、本変形例の照明制御部１０２が出力する縞パターンの切り替え例を示した図である。図１１の（Ａ）では、照明制御部１０２は、プロジェクタ１２１が表示する縞パターンをｘ方向に遷移させる。その後、（Ｂ）に示されるように、照明制御部１０２は、プロジェクタ１２１が表示する縞パターンをｙ方向に遷移させる。
【０１１６】
そして、ＰＣ１００の制御部１０３は、図１１の（Ａ）の縞パターン照射から得られた時間相関画像データに基づいて、異常検出を行い、図１１の（Ｂ）の縞パターン照射から得られた時間相関画像データに基づいて、異常検出を行う。
【０１１７】
図１２は、本変形例の照明制御部１０２が、異常（欠陥）１６０１を含めた表面に縞パターンを照射した例を示した図である。図１２に示す例では、異常（欠陥）１６０１が、ｘ方向に延びている。この場合、照明制御部１０２は、ｘ方向に交差するｙ方向、換言すれば異常（欠陥）１６０１の長手方向に交差する方向に縞パターンが移動するように設定する。当該設定により、検出精度を向上させることができる。
【０１１８】
本変形例の検査システムにおいて、被検査体１５０に生じる欠陥の長手方向がランダムな場合には、複数方向（例えば、ｘ方向、及び当該ｘ方向に交差するｙ方向等）で縞パターンを表示することで、欠陥の形状を問わずに当該欠陥の検出が可能となり、異常（欠陥）の検出精度を向上させることができる。また、異常の形状に合わせた縞パターンを投影することで、異常の検出精度を向上させることができる。
【０１１９】
＜ＦＦＴ→空間周波数フィルタリング→ＩＦＦＴ→複素相関による分析＞
図１３は、異常検出処理部１０５のブロック図、図１４は、時間相関画像から複素相関画像が得られるまでの処理の流れを示す説明図、図１５は、時間相関画像の空間周波数領域における２次元複素スペクトルの一例を示すグラフである。
【０１２０】
図１３に示されるように、異常検出処理部１０５は、フーリエ変換部１０５ａ、フィルタ部１０５ｂ、逆フーリエ変換部１０５ｃ、複素相関画像算出部１０５ｄ、特徴領域検出部１０５ｅ、および異常判別部１０５ｆを有する。フーリエ変換部１０５ａ、フィルタ部１０５ｂ、逆フーリエ変換部１０５ｃ、複素相関画像算出部１０５ｄ、および特徴領域検出部１０５ｅは、演算処理部の一例である。また、異常検出処理部１０５を含むＰＣ１００（図１）は、画像処理装置の一例である。
【０１２１】
フーリエ変換部１０５ａは、複素時間相関画像に対して、ｘ方向およびｙ方向についての２次元フーリエ変換（離散フーリエ変換、高速フーリエ変換）を実行し、複素スペクトルを得る。
【０１２２】
フィルタ部１０５ｂは、フーリエ変換部１０５ａによって得られた複素スペクトルを複素周期関数の位相ωｆ・ψ（後述）に対応付けた複数の空間周波数フィルタＳＦＦ（ψ）により、各空間周波数フィルタＳＦＦ（ψ）に対応した複数の複素周波数成分を抽出する。ψは、位相ωｆ・ψに対する増分ωｆの倍数を表す変数であり、ψ＝１，２，３，・・・，αである。空間周波数フィルタＳＦＦ（ψ）は、変数ψまたは位相ωｆ・ψの関数であるとも言える。図１４，１５の例では、複数の空間周波数フィルタＳＦＦ（ψ）は、周波数平面の原点Ｏを中心とする半径Ｒの半円状の同一形状のフィルタであり、位相ωｆ・ψに応じて位置および姿勢が異なるフィルタ、具体的には、位相ωｆ・ψに応じて代表位置（任意の位置、例えば、円弧の中央位置）の偏角が異なるフィルタである。各空間周波数フィルタＳＦＦ（ψ）においては、半円（Ｄ字形状）の内側が通過帯域であり、半円の外側が遮断帯域である。
【０１２３】
一例として、空間周波数フィルタＳＦＦ（ψ）の数（分割数）がα＝１２に設定されうる。この場合、位相ωｆ・ψの増分ωｆは、ωｆ＝２π／α＝π／６に設定され、空間周波数フィルタＳＦＦ（ψ）は、変数ψが１増えると、π／６回転する。また、本実施形態では、一例として、図１５に示されるように、変数ψ＝１の空間周波数フィルタＳＦＦ（１）が、全域がｆｘ＞０となる位置に設定され、図１４に示されるように、変数ψすなわち位相ωｆ・ψが増加するにつれて、代表位置の偏角が時計回り方向に回転するよう、設定されている。なお、空間周波数フィルタＳＦＦ（ψ）の初期位置や位相ωｆ・ψに応じた回転方向等は、任意に設定されうるものであって、この例には限定されない。
【０１２４】
逆フーリエ変換部１０５ｃは、複数の複素周波数成分を逆フーリエ変換して絶対値をとり、複数の複素画像振幅を得る。複素画像振幅は、複素周期関数の位相ωｆ・ψに対応したものであり、抽出された復元画像の振幅とも称されうる。そして、複素相関画像算出部１０５ｄは、複素画像振幅と複素周期関数との複素相関演算により、複素相関画像を得る。
【０１２５】
具体的に、逆フーリエ変換部１０５ｃによって得られる位相ωｆ・ψに対応した複素画像振幅を、
Ｆψ（ｘ，ｙ）＝Ａｆ＋Ｂｆ・ｃｏｓ（ωｆ・ψ＋φｆ）  ・・・（１１）
とする。ここに、Ａｆ：複素画像振幅の直流項、Ｂｆ：複素画像振幅の変動幅である。
また、複素周期関数（複素参照信号、複素指数関数）は、次の式（１２）で表される。
【数９】
2018155718.tif 000011
オイラーの公式により、式（１２）の複素周期関数の実部はｃｏｓωｆ・ψ、虚部は−ｓｉｎωｆ・ψと表される。
式（１１）の複素画像振幅と式（１２）の複素周期関数との複素相関画像Ｆｆ（ｘ，ｙ）は、次の式（１３）で表すことができる。
【数１０】
2018155718.tif 000012
式（１３）の複素相関画像Ｆｆ（ｘ，ｙ）は、複素画像振幅と複素周期関数との乗算値の、複素周期関数の位相ωｆ・ψの一周期分の積分値に相当する。
【０１２６】
式（１３）において、各画素における複素相関画像Ｆｆ（ｘ，ｙ）の実部Ｆｆｒ（ｘ，ｙ）は、式（１４）となり、虚部Ｆｆｉ（ｘ，ｙ）は、式（１５）となる。
【数１１】
2018155718.tif 000013
【数１２】
2018155718.tif 000014
したがって、複素相関画像Ｆｆ（ｘ，ｙ）の振幅Ｓｆ（ｘ，ｙ）は、式（１６）となり、位相Ｐｆ（ｘ，ｙ）は、式（１７）となる。
【数１３】
2018155718.tif 000015
【数１４】
2018155718.tif 000016
【０１２７】
特徴領域検出部１０５ｅは、上述のようにして得られた複素相関画像Ｆｆ（ｘ，ｙ）の振幅Ｓｆ（ｘ，ｙ）または位相Ｐｆ（ｘ，ｙ）の特徴領域Ａｒを検出する。特徴領域Ａｒとは、例えば、振幅Ｓｆ（ｘ，ｙ）または位相Ｐｆ（ｘ，ｙ）が正常領域（通常領域、一般領域）とは異なる性質を示す領域である。
【０１２８】
異常判別部１０５ｆは、特徴領域検出部１０５ｅによる特徴領域Ａｒの検出結果に基づいて、異常領域Ａａを判別する。具体的に、異常判別部１０５ｆは、例えば、特徴領域Ａｒの少なくとも一部が対象領域Ａｏ内に位置されていた場合であって、当該特徴領域Ａｒの広さ（含まれる画素数）が所定の範囲内である場合に、当該特徴領域Ａｒを異常領域Ａａと判別することができる。対象領域Ａｏは、所定の領域の一例である。また、広さが所定の範囲内にあるとは、広さが第一の閾値よりも大きくかつ第二の閾値よりも小さいことを意味する。この場合、第一の閾値は、例えば、検出対象としない微少な凹凸等の異常と区別するために設定されうる。また、第二の閾値は、例えば、典型的な異常領域Ａａの大きさに基づいて経験的に設定されうる。
【０１２９】
図１６〜１８は、ＦＦＴ→空間周波数フィルタリング→ＩＦＦＴ→複素相関による分析の検証結果の一例を示している。図１６は、サンプルの時間相関画像の位相画像の一例を示す図であり、図１７は、図１６の時間相関画像から上述した処理によって得られた複素相関画像の振幅画像の一例を示す図であり、図１８は、図１６の時間相関画像から上述した処理によって得られた複素相関画像の位相画像の一例を示す図である。また、図１９は、形状の変化が比較的緩やかな異常領域Ａａを含むサンプルの側面図、図２０は、位相の逆行についての説明図である。
【０１３０】
図１６の位相を示すパターンの変化（不連続性）から、図１６の破線ＤＬ中に示される異常領域Ａ１，Ａ２は、いずれも位相逆行領域を含んでいることが明らかである。位相逆行領域とは、その周辺の正常領域とは逆向きに位相が増加する領域である。位相逆行領域は、図１９に示されるような、形状の変化が比較的緩やかな異常領域Ａａと正常領域Ａｎとの境界近傍に出現することがある。形状が急変する部分では、位相が逆行する領域は狭くなる（あるいは短くなる）。したがって、位相逆行領域の検出は、形状の変化が比較的緩やかな異常領域Ａａ、例えば、塗装時に塗料の滴が溜まったこと等による緩やかな膨らみや、緩やかな凹み等の検出に、適している。
【０１３１】
図２０に詳しく例示されるように、検査面がｘ方向に向かうにつれて緩やかに上る場合、すなわち、検査面のｘ方向の勾配が徐々に大きくなる場合、点１から点７にかけてはｘ方向に向かうにつれて位相は増大するが、点７と点８との間の位置から位相が逆行を開始し、点８から点１１にかけてはｘ方向に向かうにつれて位相が減少する。また、点１１と点１２との間の位置から位相は順行に戻り、点１２から点１４にかけてはｘ方向に向かうにつれて位相が増大する。この場合、点１と点７との間の領域、および点１２と点１４との間の領域が位相順行領域Ａｐであり、点８と点１１との間の領域が位相逆行領域（特徴領域Ａｒ）となる。なお、位相φの範囲は、−πから＋πまでに限定されているため、位相が増加している領域では、位相は＋πに到達した時点で−πにスキップし、位相が減少している領域では、位相は−πに到達した位置で＋πにスキップしている。また、図２０の例では、正常領域Ａｎに含まれる位相順行領域Ａｐと異常領域Ａａに含まれる位相順行領域Ａｐとがある。したがって、この例の場合、位相逆行領域（特徴領域Ａｒ）は、正常領域Ａｎと異常領域Ａａとの間の境界領域に相当する。
【０１３２】
図１６とともに図１７を参照すれば、図１６に示されている異常領域Ａ１，Ａ２が、複素相関画像の振幅がその周囲の正常領域Ａｎよりも低い領域として検出できていることが明らかである。また、図１６とともに図１８を参照すれば、図１６に示されている異常領域Ａ１，Ａ２、すなわち位相逆行領域（特徴領域Ａｒ）を含む異常領域Ａ１，Ａ２が、複素相関画像の位相（の符号）がその周囲の正常領域Ａｎとは異なる領域として検出できていることが明らかである。このように、図１６〜１８から、ＦＦＴ→空間周波数フィルタリング→ＩＦＦＴ→複素相関による上述した分析が、一例として、形状の変化が比較的緩やかな異常領域Ａａ、例えば、塗装時に塗料の滴が溜まったこと等による緩やかな膨らみや、緩やかな凹み等の検出に適用可能であることが明らかである。ただし、ＦＦＴ→空間周波数フィルタリング→ＩＦＦＴ→複素相関による上述した分析は、形状の変化が比較的緩やかな異常領域Ａａのみならず、別の種類の異常領域Ａａの検出にも適用することができる。
【０１３３】
以上、説明したように、本実施形態では、フーリエ変換部１０５ａが、時間相関画像（複素画像）を高速フーリエ変換（フーリエ変換）して複素スペクトルを得て、フィルタ部１０５ｂが、複素スペクトルを式（１２）の複素周期関数の位相ωｆ・ψに対応した複数の空間周波数フィルタＳＦＦ（ψ）によって複数の複素周波数成分を抽出し、逆フーリエ変換部１０５ｃが、複数の複素周波数成分をそれぞれ逆フーリエ変換し絶対値を求めて複数の式（１１）の複素画像振幅Ｆψ（ｘ，ｙ）を得て、複素相関画像算出部１０５ｄが、式（１１）の複素画像振幅Ｆψ（ｘ，ｙ）と式（１２）の複素周期関数との複素相関画像Ｆｆ（ｘ，ｙ）（式（１３））を算出する。このような処理によれば、例えば、新規な概念である複素相関画像Ｆｆ（ｘ，ｙ）に基づいて、従来の手法では見つかり難かった異常領域Ａａ、一例としては、形状の変化が比較的緩やかな異常領域Ａａを、より容易にあるいはより確実に判別することができる。
【０１３４】
また、本実施形態では、複数の空間周波数フィルタＳＦＦ（ψ）は、例えば、同一形状で複素周波数平面の原点Ｏ回りの偏角が異なるフィルタである。このような複数の空間周波数フィルタＳＦＦ（ψ）を適用することにより、従来の手法では見つかり難かった異常領域Ａａ、一例としては、形状の変化が比較的緩やかな異常領域Ａａを、より容易にあるいはより確実に判別することができる。なお、空間周波数フィルタＳＦＦ（ψ）の形状は半円状には限定されず、例えば、四角形などの多角形状であってもよいし、その他の種々の形状を採用することができる。また、空間周波数フィルタＳＦＦ（ψ）は原点Ｏを挟む両側に渡って設けられてもよい。
【０１３５】
また、本実施形態では、異常判別部１０５ｆは、特徴領域Ａｒの少なくとも一部が対象領域Ａｏ（所定の領域）に含まれていた場合に（場所の条件）、当該特徴領域Ａｒを異常領域Ａａと判別してもよいし、異常判別部１０５ｆは、特徴領域Ａｒの広さが所定の範囲内である場合に（広さの条件）、当該特徴領域Ａｒを異常領域Ａａと判別してもよい。よって、本実施形態によれば、例えば、特徴領域Ａｒの出現した場所や、広さに応じて、異常領域Ａａをより精度良く検出することができる。なお、場所の条件と広さの条件は、ＯＲ条件（論理和）であってもよい。また、場所（位置）や広さ（大きさ）以外のスペック（例えば、形状や、延びる方向等）を条件として、異常領域Ａａを判別してもよい。また、これら各条件の種々の組み合わせにより、異常領域Ａａを判別してもよい。
【０１３６】
なお、上述した実施形態のＰＣ１００で実行される検査プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【０１３７】
また、上述した実施形態のＰＣ１００で実行される検査プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述した実施形態のＰＣ１００で実行される検査プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０１３８】
図２１は、検査システムにおいて適用可能な空間周波数フィルタＳＦＦ（ψ）（ψ＝０，１，・・・，ｉ，・・・，α）の別の一例を示す説明図である。図２１の例では、複数（α個）の空間周波数フィルタＳＦＦ（ψ）は、複素周波数平面の原点からの半径ｒ（ψ）が異なり径方向の幅Ｗが同一の環状のフィルタである。幅Ｗの円環状の領域が通過領域であり、円環状の領域の内側および外側の部分が遮断領域である。この場合、空間周波数フィルタＳＦＦ（ψ）の半径ｒ（ψ）は、例えば、次の式（１８）で表される。
ｒ（ψ）＝ｒ０＋ｃ・ωｆ・ψ                                  ・・・  （１８）
図２１の複数の空間周波数フィルタＳＦＦ（ψ）も、式（１２）の複素周期関数の位相ωｆ・ψに対応したフィルタであると言える。上述した例に限らず、複素周期関数の位相ωｆ・ψに対応して位置や、姿勢（偏角）、大きさ等のスペックが変化する空間周波数フィルタＳＦＦ（ψ）は、種々に設定することができる。
【０１３９】
本発明のいくつかの実施形態及び変形例を説明したが、これらの実施形態及び変形例は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態及び変形例は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形例は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。例えば、本発明は、時間相関画像以外の複素画像にも適用可能である。
【符号の説明】
【０１４０】
１００…ＰＣ（画像処理装置）、１０４…振幅−位相画像生成部（時間相関画像生成部）、１０５…異常検出処理部（演算処理部）、１０５ａ…フーリエ変換部（演算処理部）、１０５ｂ…フィルタ部（演算処理部）、１０５ｃ…逆フーリエ変換部（演算処理部）、１０５ｄ…複素相関画像算出部（演算処理部）、１０５ｆ…異常判別部、１２０…照明装置（照明部）。
【図１】
2018155718.tif 000017
【図２】
2018155718.tif 000018
【図３】
2018155718.tif 000019
【図４】
2018155718.tif 000020
【図５】
2018155718.tif 000021
【図６】
2018155718.tif 000022
【図７】
2018155718.tif 000023
【図８】
2018155718.tif 000024
【図９】
2018155718.tif 000025
【図１０】
2018155718.tif 000026
【図１１】
2018155718.tif 000027
【図１２】
2018155718.tif 000028
【図１３】
2018155718.tif 000029
【図１４】
2018155718.tif 000030
【図１５】
2018155718.tif 000031
【図１６】
2018155718.tif 000032
【図１７】
2018155718.tif 000033
【図１８】
2018155718.tif 000034
【図１９】
2018155718.tif 000035
【図２０】
2018155718.tif 000036
【図２１】
2018155718.tif 000037