JP2019174288A - 検査システム - Google Patents
検査システム Download PDFInfo
- Publication number
- JP2019174288A JP2019174288A JP2018062931A JP2018062931A JP2019174288A JP 2019174288 A JP2019174288 A JP 2019174288A JP 2018062931 A JP2018062931 A JP 2018062931A JP 2018062931 A JP2018062931 A JP 2018062931A JP 2019174288 A JP2019174288 A JP 2019174288A
- Authority
- JP
- Japan
- Prior art keywords
- image
- search
- area
- edge
- region
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
- Image Analysis (AREA)
Abstract
【課題】過検出の発生を抑制すること。【解決手段】実施形態の検査システムは、被検査体に対して光の強度の周期的な時間変化および空間変化を与える面的な照明部と、時間相関カメラまたはそれと等価な動作をする撮像システムから被検査体の撮像結果として出力される複素時間相関画像データに基づいて、振幅、位相、または強度にかかる画像を生成する画像生成部と、画像生成部によって生成された画像からエッジを抽出するエッジ抽出部と、それぞれがエッジを構成する画素からエッジによって分割された2つの領域のうちの予め決められた領域に隣接する向きに延びる複数の探索領域を設定し、被検査体の異常を映した異常領域を複数の探索領域に基づいて探索する探索部と、を備える。【選択図】図1
Description
本発明の実施形態は、検査システムに関する。
従来、周期的に変化する光を被検査体に照射し、当該被検査体の表面からの反射光を撮像することで、光の強度のみならず、光の時間遷移に関する情報をも含んだ時間相関画像を取得する技術が提案されている。このような時間相関画像は、たとえば、被検査体の異常(欠陥)を検出するために用いられる。
時間相関画像を用いた異常検出では、例えば、輝度値が急峻に変化する箇所が欠陥として検出される。しかしながら、欠陥が生じている箇所だけでなく被検査体と背景との境界などにおいても輝度値が急峻に変化する場合がある。よって、たとえ欠陥がなくても欠陥があるものとして検出される過検出が発生しうる。このような過検出は、できるだけ抑制することが望まれる。
実施形態の検査システムは、被検査体に対して光の強度の周期的な時間変化および空間変化を与える面的な照明部と、時間相関カメラまたはそれと等価な動作をする撮像システムから被検査体の撮像結果として出力される複素時間相関画像データに基づいて、振幅、位相、または強度にかかる画像を生成する画像生成部と、画像生成部によって生成された画像からエッジを抽出するエッジ抽出部と、それぞれがエッジを構成する画素からエッジによって分割された2つの領域のうちの予め決められた領域に隣接する向きに延びる複数の探索領域を設定し、被検査体の異常を映した異常領域を複数の探索領域に基づいて探索する探索部と、を備える。
(実施形態)
以下、実施形態の検査システムについて説明する。実施形態の検査システムは、被検査体(ワーク)を検査するために様々な構成を備えている。図1は、実施形態の検査システムの構成例を示した図である。図1に示されるように、実施形態の検査システムは、PC100と、時間相関カメラ110と、照明装置120と、スクリーン130と、アーム140と、を備えている。
以下、実施形態の検査システムについて説明する。実施形態の検査システムは、被検査体(ワーク)を検査するために様々な構成を備えている。図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との間には、集光用のフレネルレンズ等の光学系部品(図示されず)が設けられてもよい。
なお、実施形態は、照明装置120とスクリーン130とを組み合わせて、光強度の周期的な時間変化および空間変化を与える面的な照明部を構成する例について説明するが、実施形態の照明部は、このような組み合わせに制限されるものではない。実施形態では、たとえば、LEDを面的に配置したり、大型モニタを配置したりするなどして、照明部を構成してもよい。
図2は、実施形態の時間相関カメラ110の構成を示したブロック図である。時間相関カメラ110は、光学系210と、イメージセンサ220と、データバッファ230と、制御部240と、参照信号出力部250と、を備えている。
光学系210は、撮像レンズ等を含み、時間相関カメラ110の外部の被写体(被検査体150を含む)からの光束を透過し、その光束により形成される被写体の光学像を結像させる。
イメージセンサ220は、光学系210を介して入射された光の強弱を光強度信号として画素毎に高速に出力可能なセンサとする。
実施形態の光強度信号は、検査システムの照明装置120が被写体(被検査体150を含む)に対して光を照射し、当該被写体からの反射光を、イメージセンサ220が受け取ったものである。
イメージセンサ220は、たとえば従来のものと比べて高速に読み出し可能なセンサであり、行方向(x方向)、列方向(y方向)の2種類の方向に画素が配列された2次元平面状に構成されたものとする。そして、イメージセンサ220の各画素を、画素P(1,1),……,P(i,j),……,P(X,Y)とする(なお、実施形態の画像サイズをX×Yとする。)。なお、イメージセンサ220の読み出し速度を制限するものではなく、従来と同様であってもよい。
イメージセンサ220は、光学系210によって透過された、被写体(被検査体150を含む)からの光束を受光して光電変換することで、被写体から反射された光の強弱を示した光強度信号(撮像信号)で構成される、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種類の画像データとして、強度画像データと、2種類の時間相関画像データと、を生成する。なお、実施形態は、強度画像データと、2種類の時間相関画像データと、を生成することに制限されるものではなく、強度画像データを生成しない場合や、1種類又は3種類以上の時間相関画像データを生成する場合なども考えられる。
実施形態のイメージセンサ220は、上述したように単位時間毎に、光強度信号で構成されたフレームを出力している。しかしながら、通常の画像データを生成するためには、撮像に必要な露光時間分の光強度信号が必要になる。そこで、実施形態では、強度画像用重畳部243が、撮像に必要な露光時間分の複数のフレームを重畳して、強度画像データを生成する。なお、強度画像データの各画素値(光の強度を表す値)G(x,y)は、以下に示す式(1)から導き出すことができる。なお、露光時間は、t0とtnの時間差とする。
これにより、従来のカメラの撮像と同様に、被写体(被検査体150を含む)が撮像された強度画像データが生成される。そして、強度画像用重畳部243は、生成した強度画像データを、画像出力部248に出力する。
時間相関画像データは、時間遷移に応じた光の強弱の変化を示す画像データである。つまり、実施形態では、時系列順のフレーム毎に、当該フレームに含まれる光強度信号に対して、時間遷移を示した参照信号を乗算し、参照信号と光強度信号との乗算結果である時間相関値で構成された、時間相関値フレームを生成し、複数の時間相関値フレームを重畳することで、時間相関画像データを生成する。
ところで、時間相関画像データを用いて、被検査体150の異常を検出するためには、イメージセンサ220に入力される光強度信号を、参照信号に同期させて変化させる必要がある。このため、実施形態の照明装置120は、上述したように、スクリーン130を介して周期的に時間変化および縞の空間的な移動を与えるような、面的な光の照射を行うように構成される。
実施形態では、2種類の時間相関画像データを生成する。参照信号は、時間遷移を表した信号であればよいが、実施形態では、複素正弦波e-jωtを用いる。なお、角周波数ω、時刻tとする。参照信号を表す複素正弦波e-jωtが、上述した露光時間(換言すれば強度画像データ、および時間相関画像データを生成するために必要な時間)の一周期と相関をとるように、角周波数ωが設定されるものとする。換言すれば、照明装置120およびスクリーン130等の照明部によって形成された面的かつ動的な光は、被検査体150の表面(反射面)の各位置で第1の周期(時間周期)での時間的な照射強度の変化を与えるとともに、表面に沿った少なくとも一方向に沿った第2の周期(空間周期)での空間的な照射強度の増減分布を与える。この面的な光は、表面で反射される際に、当該表面のスペック(法線ベクトルの分布等)に応じて複素変調される。時間相関カメラ110は、表面で複素変調された光を受光し、第1の周期の参照信号を用いて直交検波(直交復調)することにより、複素信号としての時間相関画像データを得る。このような複素時間相関画像データに基づく変復調により、表面の法線ベクトルの分布に対応した特徴を検出することができる。
複素正弦波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種類の時間相関画像データと、強度画像データと、をPC100に出力する。これにより、PC100が、2種類の時間相関画像データと、強度画像データと、を用いて、被検査体150の異常を検出する。そのためには、被検査体150に対して光を照射する必要がある。
実施形態の照明装置120は、高速に移動する縞パターンを照射する。図4は、実施形態の照明装置120が照射する縞パターンの一例を示した図である。図4に示す例では、縞パターンをx方向にスクロール(移動)させている例とする。白い領域が縞に対応した明領域、黒い領域が縞と縞との間に対応した間隔領域(暗領域)である。
実施形態では、時間相関カメラ110が強度画像データおよび時間相関画像データを撮像する露光時間で、照明装置120が照射する縞パターンが一周期分移動する。これにより、照明装置120は、光の強度の縞パターンの空間的な移動により光の強度の周期的な時間変化を与える。実施形態では、図4の縞パターンが一周期分移動する時間を、露光時間と対応させることで、時間相関画像データの各画素には、少なくとも、縞パターン一周期分の光の強度信号に関する情報が埋め込まれる。
図4に示されるように、実施形態では、照明装置120が矩形波に基づく縞パターンを照射する例について説明するが、矩形波以外を用いてもよい。実施形態では、照明装置120がスクリーン130を介して照射されることで、矩形波の明暗の境界領域をぼかすことができる。
実施形態では、照明装置120が照射する縞パターンを、A(1+cos(ωt+kx))と表す。すなわち、縞パターンには、複数の縞が反復的に(周期的に)含まれる。なお、被検査体150に照射される光の強度は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)
=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に照射された光強度変化における位相変化と振幅変化とが含まれている。換言すれば、実施形態のPC100は、2種類の時間相関画像データに基づいて、照明装置120から照射された光の位相変化と、光の振幅変化と、を検出できる。
そこで、実施形態のPC100は、時間相関画像データおよび強度画像データに基づいて、画素毎に入る光の位相変化を表した位相画像と、画素毎に入る光の振幅を表した振幅画像と、を生成する。また、PC100は、強度画像データに基づいて、画素毎に入る光の強度を表した強度画像を生成する。そして、PC100は、位相画像と、振幅画像と、強度画像と、の少なくともいずれかに基づいて、被検査体150の異常を検出する。
ところで、被検査体150の表面形状に凹凸に基づく異常が生じている場合、被検査体150の表面の法線ベクトルの分布には、異常に対応した変化が生じている。また、被検査体150の表面に光を吸収するような異常が生じている場合、反射した光の強度に変化が生じる。法線ベクトルの分布の変化は、光の位相変化および振幅変化のうち少なくともいずれか一つとして検出される。そこで、実施形態では、時間相関画像データを用いて、法線ベクトルの分布の変化に対応した、光の位相変化および振幅変化のうち少なくともいずれか一つを検出する。これにより、表面形状の異常が存在する可能性がある領域を特定することが可能となる。以下、被検査体150の異常、法線ベクトル、および光の位相変化又は振幅変化の関係について例を挙げて説明する。
図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が撮像された領域で、局所的に振幅が小さいことが確認できる。換言すれば、振幅変化を示した振幅画像において、周囲と比べて暗くなっている領域がある場合に、当該領域で局所的に光同士の振幅の打ち消し合いが生じていると推測できるため、当該領域に対応する被検査体500の位置で、異常501が生じていると判断できる。なお、ここでは、突形状の異常501に対応する領域で、振幅画像が局所的に暗くなる場合を例示したが、キズなどの凹み状の異常に対応する領域でも、振幅画像は局所的に暗くなる。
実施形態の検査システムは、図5の異常501のように傾きが急峻に変化しているものに限らず、緩やかに変化する異常も検出できる。図7は、実施形態の時間相関カメラ110による、被検査体の異常の第2の検出例を示した図である。図7に示される例では、正常な場合は被検査体の表面が平面(換言すれば法線が平行)となるが、被検査体700に緩やかな勾配701が生じた状況とする。このような状況においては、勾配701上の法線ベクトル721、722、723も同様に緩やかに変化する。したがって、イメージセンサ220に入力する光711、712、713も少しずつずれていく。図7に示される例では、緩やかな勾配701のために光の振幅の打ち消し合いは生じないため、図5、図6で表したような光の振幅はほとんど変化しない。しかしながら、本来スクリーン130から投影された光が、そのままイメージセンサ220に平行に入るはずが、緩やかな勾配701のために、スクリーン130から投影された光が平行の状態でイメージセンサ220に入らないために、光に位相変化が生じる。従って、光の位相変化について、周囲等との違いを検出することで、図7に示したような緩やかな勾配701による異常を検出できる。
また、被検査体の表面形状(換言すれば、被検査体の法線ベクトルの分布)以外にも異常が生じる場合がある。図8は、実施形態の時間相関カメラ110による、被検査体の異常の第3の検出例を示した図である。図8に示される例では、被検査体800に汚れ801が付着しているため、照明装置120から照射された光が吸収あるいは拡散反射し、時間相関カメラ110の、汚れ801を撮像している任意の画素領域では光の強度がほとんど変化しない例を表している。換言すれば、汚れ801を撮像している任意の画素領域では、光の強度変化が打ち消し合ってキャンセルされ、ほとんど直流的な明るさになる例を示している。
このような場合、汚れ801を撮像している画素領域においては、光の振幅がほとんどないため、振幅画像を表示した際に、周囲と比べて暗くなる領域が生じる。したがって、当該領域に対応する被検査体800の位置に、汚れ801があることを推定できる。
このように、実施形態では、時間相関画像データに基づいて、光の振幅の変化と、光の位相の変化と、を検出することで、被検査体における、異常が存在する可能性がある領域を特定することができる。
図1に戻り、PC100について説明する。PC100は、検出システム全体の制御を行う。PC100は、アーム制御部101と、照明制御部102と、制御部103と、を備える。
アーム制御部101は、被検査体150の時間相関カメラ110による撮像対象となる表面を変更するために、アーム140を制御する。実施形態では、PC100において、被検査体150の撮像対象となる表面を複数設定しておく。そして、時間相関カメラ110が被検査体150の撮像が終了する毎に、アーム制御部101が、当該設定に従い、時間相関カメラ110が設定された表面を撮像できるようにアーム140を制御して、被検査体150を移動させる。なお、実施形態によるアーム140の移動方法は、撮像が終了する毎にアーム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と、を備える。制御部103は、時間相関カメラ110から入力されるデータに基づいて、振幅画像および位相画像と、強度画像とを生成し、生成した画像に基づいて、異常が映っている領域(以下、異常領域と記載する)を検出する。なお、実施形態では、制御部103は、振幅成分と位相成分とで分けた極形式の複素数で示される時間相関画像データ(複素時間相関画像データと称されうる)ではなく、当該複素数を実部と虚部とで分けた2種類の時間相関画像データを、時間相関カメラ110から受け取るものとする。
画像生成部104は、時間相関カメラ110から入力されるデータ(強度画像データや時間相関画像データなどといった画像データ)に基づいて、振幅画像、位相画像、および強度画像を生成する。前述したように、振幅画像とは、画素毎に入る光の振幅を表した画像であり、位相画像とは、画素毎に入る光の位相を表した画像であり、強度画像とは、画素毎に入る光の強度を表した画像である。
実施形態は、振幅画像の算出手法を制限するものではないが、たとえば、画像生成部104は、2種類の時間相関画像データの画素値C1(x,y)およびC2(x,y)から、下記の式(8)を用いて、振幅画像の各画素値F(x,y)を導き出すことが可能である。
また、画像生成部104は、画素値C1(x,y)およびC2(x,y)から、下記の式(9)を用いて、位相画像の各画素値P(x,y)を導き出すことが可能である。
なお、画像生成部104が時間相関カメラ110から入力される強度画像データに基づいて強度画像を生成することも可能であることは言うまでもないため、ここでは強度画像の各画素値の導出方法についての説明を省略する。
異常検出部105は、画像生成部104により生成された振幅画像、位相画像、および強度画像を用いて異常領域を検出する。
図11は、実施形態の画像生成部104によって生成された振幅画像の一例を示す図である。本図の場合、被検査体150は自動車のドアノブである。本図に例示されるように、振幅画像1101には、被検査体150を映したワーク領域1102が含まれている。ワーク領域1102には周りに比べて暗い円形状の領域(符号1103)が含まれている。この領域1103は被検査体150の撮像面に存在する異常(欠陥)を映した領域(異常領域)である。
さらに、振幅画像1101は、被検査体150の背景を映した背景領域1104を含んでいる。背景領域1104は、ワーク領域1102に比べて暗く映っている。
このように、振幅画像では、被検査体150の撮像面の正常な領域が明るく(白く)映るのに対し、欠陥および背景は暗く(黒く)映る。
従来では、振幅画像、位相画像、および強度画像を原画像とし、原画像に対して例えばガウシアン差分処理などによって輝度値の急峻な変化を検出することで、異常領域を検出していた。しかしながら、この従来の方法によれば、欠陥を映した領域(例えば領域1103)を異常領域として検出するだけでなく、ワーク領域(例えばワーク領域1102)と背景領域(例えば背景領域1104)との境界においても、例え異常がなくても異常があるものとして検出する過検出が発生し得る。
そこで実施形態では、ワーク領域と背景領域との境界において発生する過検出を抑制するために、異常検出部105は、エッジ抽出部106と、探索部107と、を備えることとした。
エッジ抽出部106は、原画像からエッジを抽出する。探索部107は、エッジを構成する画素(エッジ画素)毎に、エッジ画素が低輝度領域に隣接する向きに延びる探索領域を設定し、複数の探索領域に基づいて被検査体150の欠陥を映した異常領域を探索する。エッジ抽出部106および探索部107が実行する具体的な処理については、検査システムの動作とともに詳しく説明する。
次に、実施形態において実行される検査システムの動作について説明する。図12は、実施形態の検査システムが被検査体150の検査を行う際に実行する一連の動作を示したフローチャートである。以下では、被検査体150は、既にアーム140に固定された状態で、検査の初期位置に配置されているものとする。
図12に示されるように、実施形態のPC100は、まず、照明装置120に対して、被検査体を検査するための縞パターンを出力する(S1201)。
照明装置120は、PC100から入力された縞パターンを格納する(S1221)。そして、照明装置120は、格納された縞パターンを、時間遷移に従って変化するように表示する(S1222)。なお、照明装置120が表示を開始する条件は、縞パターンが格納されることに制限するものではなく、たとえば検査者が照明装置120に対して開始操作を行ったことであってもよい。
そして、PC100の制御部103は、時間相関カメラ110に対して、撮像開始指示を送信する(S1202)。
次に、時間相関カメラ110は、送信されてきた撮像開始指示に従って、被検査体150および当該被検査体150の周囲を含む領域について撮像を開始する(S1211)。そして、時間相関カメラ110の制御部240は、強度画像データと、時間相関画像データと、を生成する(S1212)。そして、時間相関カメラ110の制御部240は、強度画像データと、時間相関画像データと、を、PC100に出力する(S1213)。
PC100の制御部103は、強度画像データと、時間相関画像データと、を受け取る(S1203)。そして、画像生成部104は、受け取った強度画像データおよび時間相関画像データから、振幅画像、位相画像、および強度画像を生成する(S1204)。
そして、異常検出部105は、振幅画像、位相画像、および強度画像から、異常領域を検出する異常検出処理を実行する(S1205)。
図13は、実施形態の検査システムが実行する異常検出処理を詳細に示したフローチャートである。以下では一例として、振幅画像から異常領域を特定する例について説明する。以下の処理は、振幅画像に替えて、位相画像および強度画像に対して実行することも可能である。
まず、エッジ抽出部106は、原画像(振幅画像)に対して微分処理を実行する(S1301)。微分処理では、微分フィルタを用いたフィルタ処理が実行される。
図14は、実施形態の微分フィルタの具体例を示した図である。図14に示されるように、実施形態では、x方向の1次微分に対応した微分フィルタ1401と、y方向の微分に対応した微分フィルタ1402と、の2種類のフィルタが使用される。なお、図14において、k1およびk2は、適宜設定されるフィルタ係数である。
エッジ抽出部106は、微分フィルタ1401を用いて得られたx方向の微分値Dxと、微分フィルタ1402を用いて得られたy方向の微分値Dyと、を演算する。そして、エッジ抽出部106は、x方向の微分値Dxとy方向の微分値Dyとの二乗和の平方根を各画素の画素値とした微分画像を生成する。
なお、異常検出処理の説明において、x方向およびy方向は、原画像または原画像から生成される画像(後述のエッジ画像や分割画像)に対して設定された座標軸であり、例えば、図3に示すx方向、y方向とそれぞれ対応する。
S1301に続いて、エッジ抽出部106は、微分処理の結果に基づいてエッジを特定する(S1302)。
例えばS1302では、エッジ抽出部106は、微分画像から、画素値が所定のしきい値より大きい画素を抽出した、エッジ画像を生成する。抽出された画素値が所定のしきい値より大きい画素は、エッジを構成する。以降、エッジを構成する各画素を、エッジ画素、と表記することがある。
原画像において低輝度領域(黒い領域)と高輝度領域(白い領域)との境界は、エッジとして抽出される。例えば図11に示される振幅画像1101を対象とした場合、S1301およびS1302の処理によって、図15のエッジ画像1501に示されるように、ワーク領域1102と背景領域1104との境界に対応したエッジ1502と、領域1103の輪郭に対応したエッジ1503とが抽出される。
なお、エッジ抽出部106によるエッジの抽出方法は、上記した方法に限定されない。エッジ抽出部106は、任意のフィルタや演算によってエッジを抽出できる。
S1302に続いて、探索部107は、エッジ画素毎に、低輝度領域に隣接する向きを演算する(S1303)。以降、エッジ画素が低輝度領域に隣接する向きを、隣接向き、と表記することがある。
実施形態では、隣接向きは、一例として、y軸方向の正の向きを0時の向きとし、360度(degree)を12等分して得られる12種類の向き(0時〜11時)を用いて表現される。なお、隣接向きの表現方法はこれに限定されない。隣接向きは、360度(degree)を8等分して得られる8種類の向きを用いて表現されてもよい。
実施形態では、探索部107は、以下に述べる方法で隣接向きを演算する。
まず、探索部107は、着目するエッジ画素に対して第1判定から第4判定の4つの判定を実行する。これらの判定では、例えば、エッジ画素のx方向の微分値Dxと、エッジ画素のy方向の微分値Dyとが使用される。例えば、エッジ抽出部106によって演算された各方向の微分値Dx、Dyが使用され得る。
第1判定では、Dx>0の条件が成立するか否かが判定される。第2判定では、Dy>0の条件が成立するか否かが判定される。第3判定では、abs(Dx)>abs(Dy)の条件が成立するか否かが判定される。第4判定では、max(abs(Dx)、abs(Dy))/min(abs(Dx)、abs(Dy))>Cの条件が成立するか否かが判定される。ただし、Cは予め設定されたしきい値であり、例えば3である。
absは、絶対値を演算する演算子である。max(a、b)は、aとbのうちの大きい方を演算する演算子である。また、min(a、b)は、aとbのうちの小さい方を演算する演算子である。
上記の4つの判定から、16通りのパターンに含まれる判定結果が得られる。16通りのパターンは、12種類の向きのいずれかと予め対応付けられている。探索部107は、4つの判定から得られた判定結果に対応する向きを隣接向きとする。
図16は、実施形態の探索部107が使用する、判定結果のパターンと隣接向きとの対応の一例を説明するための図である。本図では、各判定において、対応する条件が成立する場合をtrueとし、対応する条件が成立しない場合をfalseとしている。
図17は、実施形態の探索部107によって演算される隣接向きの具体例を説明するための図である。図17の(A)〜(C)に示す各画像1701〜1703は、原画像(振幅画像)からエッジ画素1704〜1706の近傍の領域を切り出して拡大した画像を示している。
図17(A)に示す画像1701では、エッジ画素1704の右下に低輝度領域1707が広がっており、エッジ画素1704の左上に高輝度領域1708が広がっている。x軸を基準とした、エッジ画素1704近傍でのエッジ1709の傾きは約30度である。この場合、第1判定〜第4判定の判定結果は、すべてfalseとなる。よって、図16によって規定された関係により、エッジ画素1704の隣接向きは「5時」であると判定される。矢印1710は、「5時」と判定された隣接向きを示している。
図17(B)に示す画像1702では、エッジ画素1705の右下に低輝度領域1711が広がっており、エッジ画素1705の左上に高輝度領域1712が広がっている。x軸を基準とした、エッジ画素1705近傍でのエッジ1713の傾きは約60度である。この場合、第3判定の判定結果がtrueとなり、第1判定、第2判定、および第4判定の判定結果は、すべてfalseとなる。よって、図16によって規定された関係により、エッジ画素1705の隣接向きは「4時」であると判定される。矢印1714は、「4時」と判定された、エッジ画素1705の隣接向きを示している。
図17(C)に示す画像1703では、エッジ画素1706の右に低輝度領域1715が広がっており、エッジ画素1706の左に高輝度領域1716が広がっている。x軸を基準とした、エッジ画素1706におけるエッジ1717の傾きは約90度である。この場合、第1判定の判定結果がfalseとなり、第3判定および第4判定の判定結果がtrueとなる。第2判定の判定結果は、エッジ1717の傾きが90度を超えるか否かで変わりうる。この場合、図16によって規定された関係によれば、第2判定の判定結果にかかわらず、エッジ画素1706の隣接向きは「3時」であると判定される。矢印1718は、「3時」と判定された、エッジ画素1706の隣接向きを示している。
このように、エッジによって分割されて得られる高輝度領域と低輝度領域とのうちの、低輝度領域に向かう向きが、各エッジ画素の隣接向きとして演算される。
なお、上記の隣接向きを演算する方法は一例である。隣接向きを演算する方法はこれに限定されない。例えば、探索部107は、エッジ画素毎に、エッジの法線を演算し、当該法線が延びる方向のうちの低輝度領域に向かう向きを、隣接向きとしてもよい。
図13に戻り、S1303によって全てのエッジ画素の隣接向きが判明した後、探索部107は、エッジを隣接向き毎に分割した複数の分割画像(0時画像〜11時画像)を作成する(S1304)。そして、探索部107は、分割画像毎に、隣接向きに延びる探索領域を設定する(S1305)。
図18は、実施形態の探索部107による探索領域の設定例を説明するための図である。例えば図18(A)に示す1時画像1801では、4つの画素1802が隣接向きが1時であるエッジ画素に該当する。探索部107は、4つのエッジ画素1802を右上に向かって6画素分だけ膨張させることによって、点線で囲まれた探索領域1803を設定する。
また、図18(B)に示す7時画像1804では、3つの画素1805が隣接向きが7時であるエッジ画素に該当する。探索部107は、3つのエッジ画素1805を左下に向かって6画素分だけ膨張させることによって、探索領域1806を設定する。
なお、図18の例では、各探索領域1803、1806は元のエッジ画素1802、1805を含むものとしているが、各探索領域1803、1806は元のエッジ画素1802、1805を必ずしも含まなくてもよい。また、各探索領域1803、1806の長さ、即ち膨張させる画素数は、6に限定されない。
また、ここでは、膨張の処理を簡単化するために、エッジ画素の上、右上、右、右下、下、左下、左、および左上に隣接する8つの画素のうちの、隣接向きに最も近い向きに隣接する画素に向かってエッジ画素を膨張させている。例えば、1時画像1801の場合、右上に隣接する画素に向かって4つのエッジ画素1802を膨張させている。また、7時画像1804の場合、左下に隣接する画素に向かって3つのエッジ画素1805を膨張させている。なお、隣接向きと厳密に一致する向きにエッジ画素を膨張させてもよい。
図13に戻り、探索領域を設定した後、探索部107は、第1の向きに延びる探索領域と、第2の向きに延びる探索領域とが重なるか否かに基づいて異常領域を検出する。第2の向きは、第1の向きの逆向きを含む所定角度範囲内の向きである。
ここでは一例として、第2の向きは、0時〜11時の12種類の向きのうち、第1の向きの逆向きを基準として−2時から+2時までの範囲内の5種類の向きである。例えば第1の向きが1時である場合、5時、6時、7時、8時、および9時が第2の向きに該当する。
探索部107は、変数nを0で初期化し(S1306)、S1307〜S1316において、nをループインデックスとしたループ処理を実行する。
ループ処理内の最初の処理では、探索部107は、変数mにn+4を代入する(S1307)。次に、探索部107は、mを12で除算した剰余をmに代入する(S1308)。
続いて、探索部107は、n時画像に設定された探索領域とm時画像に設定された探索領域とが重複する領域を第1領域として特定する(S1309)。
続いて、探索部107は、(m+4)を12で除算した剰余がnと一致するか否かを判定する(S1310)。(m+4)を12で除算した剰余がnと一致しないと判定された場合(S1310:No)、探索部107は、mをインクリメントし(S1311)、S1308の処理を再び実行する。
S1307、S1308、S1310およびS1311の処理によって、探索部107は、第1の向き(n時)の逆向きを中心とした−2時から+2時までの範囲内の5種類の向きを、順次、第2の向き(m時)として選択する。そして、S1309では、探索部107は、第1の向きに延びる探索領域(n時画像に設定された探索領域)と、第2の向きに延びる探索領域(m時画像に設定された探索領域)とが重複する領域を第1領域として特定する。
例えば、nが1であり、mが7である場合、図19に示されるように、隣接向きが1時であるエッジ画素1802から延びる探索領域1803と隣接向きが7時であるエッジ画素1805から延びる探索領域1806とが重複する斜線を施した領域1901が、第1領域として特定される。なお、この例では、領域1901は6つの画素によって構成されている。
第1領域は、最終的に異常領域として出力される領域の一部または全部を構成する。
図13に戻り、n時に対応した全ての第2の向きの選択が完了した場合、S1310の処理において、(m+4)を12で除算した剰余がnと一致すると判定される(S1310:Yes)。その場合、探索部107は、n時画像から第1領域が特定されたか否かを判定する(S1312)。
n時画像から第1領域が特定されと判定された場合(S1312:Yes)、探索部107は、第1領域から隣接向きとは逆向きに延びる逆向き探索領域を設定する(S1313)。
そして、探索部107は、n時画像の探索領域と、逆向き探索領域と、で重複する領域を、第2領域として特定する(S1314)。
例えばnが1である場合、探索部107は、図20に示されるように、領域1901に含まれる各画素から左下に向かって6画素分だけ膨張させることによって、逆向き探索領域2001を設定する。
ここで、探索領域が設定された際と同様に、探索部107は、第1領域内の画素の上、右上、右、右下、下、左下、左、および左上に隣接する8つの画素のうちの、隣接向きの逆向きに最も近い向きに隣接する画素に向かって第1領域の画素を膨張させる。よって、逆向き探索領域2001は、探索領域1803が延びる向きとは反対の向きに延びる。
探索領域1803と逆向き探索領域2001とで重複する、太線で囲まれた領域2101が、第2領域に該当する。なお、第1領域は、第2の領域に包含される。
S1314の後、またはn時画像から第1領域が特定されなかったと判定された場合(S1312:No)、探索部107は、nが11と一致するか否かを判定する(S1315)。
nが11と一致しないと判定された場合(S1315:No)、探索部107は、nをインクリメントし(S1316)、S1307の処理を再び実行する。
nが11と一致すると判定された場合(S1315:Yes)、探索部107は、S1306〜S1316によって構成されるループ処理を抜けて、分割画像毎に特定された第2領域の論理和を演算する(S1317)。
そして、論理和によって得られた領域を、異常領域として特定し(S1318)、異常検出処理が終了する。
以上に述べた異常検出処理では、エッジ画素(第1のエッジ画素とする)に対し、第1のエッジ画素の隣接向きを第1の向きとした場合に、第1のエッジ画素に対して第1の向き側に、隣接向きが第2の向きであるエッジ画素(第2のエッジ画素とする)が存在する場合、第1のエッジ画素と第2のエッジ画素との間の距離に応じて異常を検出することができる。
第1のエッジ画素と第2のエッジ画素との距離が探索領域の長さ(画素数)Lより小さい場合、第1のエッジ画素から第2のエッジ画素までの範囲が第1領域として特定される。つまり、第1のエッジ画素から第2のエッジ画素までを含む範囲が異常領域として検出される。
よって、例えば、図22の(A)に示すように、直径dがLより小さい円形の低輝度領域から抽出されたエッジ2201の場合、当該エッジ2201で囲まれた領域2202の全域が第1領域かつ異常領域として特定される。
第1のエッジ画素と第2のエッジ画素との距離がLより大きくかつ2Lより小さい場合、第1のエッジ画素から第2のエッジ画素までの範囲のうちの中央部分のみが第1領域として特定される。そして、逆向き探索領域を用いた探索処理によって、第1のエッジ画素から第2のエッジ画素までの範囲が第2領域として特定され、その結果、第1のエッジ画素から第2のエッジ画素までの範囲が異常領域として検出される。
よって、例えば、図22の(B)に示すように、直径dが、Lより大きく、かつ2Lより小さい円形の低輝度領域から抽出されたエッジ2203の場合、当該エッジ2203の中心付近の一部の領域(領域2204)が第1領域として特定される。そして、エッジ2203によって囲まれた領域2205(領域2204を含む)が第2領域として特定される。そして、第2領域として特定された領域2205が異常領域として特定される。
さらに、第1のエッジ画素と第2のエッジ画素との距離Dが2Lより小さい場合、第1のエッジ画素と第2のエッジ画素との間に他のエッジ画素が存在したとしても、第1のエッジ画素と第2のエッジ画素との間の範囲が異常領域として検出される。
例えば、図23(A)に示すように、それぞれ円形の低輝度領域から抽出され、Lより大きく2Lより小さい範囲R内に隣接して存在する円形のエッジ2301、2302を考える。その場合、図23(B)に示すように、エッジ2301によって囲まれた領域2303およびエッジ2302によって囲まれた領域2304だけでなく、エッジ2301とエッジ2302との間の領域2305が第1領域として特定され得る。そして、それぞれの第1領域(領域2303、領域2304、および領域2305)から延びる逆向き探索領域を用いた探索によって、図23(C)に示すように、領域2303、領域2304、および領域2305を含む領域2306が1つの異常領域として特定される。
なお、以上の例では、欠陥の形状が円形である場合について説明した。実施形態の異常検出方法では、円形以外の形状の欠陥であっても検出できる。例えば幅が2Lよりも小さければ、線形状の欠陥であっても検出できる。
このように、第1のエッジ画素から隣接向きに向かって2Lまでの範囲に第2のエッジ画素が存在する場合、第1のエッジ画素と第2のエッジ画素との間の範囲が異常領域として検出される。
よって、探索領域の長さLは、検出したい欠陥のサイズに応じて設定される。例えば、円形状の異常領域の場合、探索領域の長さを7画素分の長さとすることで、直径が13画素までの異常領域を検出することが可能である。
逆に、第1のエッジ画素から隣接向きに向かって2Lまでの範囲に第2のエッジ画素が存在しない場合、第1領域が特定できない。よって、第1のエッジ画素から隣接向きに延びる領域では、異常領域が検出されない。
このことを利用して、ワーク領域と背景領域との境界での過検出の発生を抑制することができる。
ワーク領域と背景領域との境界に対応したエッジでは、各エッジ画素から背景領域に向かって延びる探索領域が設定される。背景領域のサイズは、欠陥のサイズよりも著しく大きい場合がほとんどである。よって、探索領域の長さLを十分に小さい値とすることで、ワーク領域と背景領域との境界のエッジ画素を第1のエッジ画素としたときに、第1のエッジ画素から隣接向きに向かって2Lまでの範囲に第2のエッジ画素を無くすることができる。その場合、ワーク領域と背景領域との境界のエッジ画素から延びる探索領域によって第1領域が特定できないので、ワーク領域と背景領域との境界において異常領域が検出されなくなる。
例えば、図24に示す画像2401は、図15のエッジ画像1501の一部を切り出して拡大した画像である。本図では、説明を容易にするために、探索領域を、延びる向きを示した矢印形状で図示している。
ワーク領域と背景領域との境界に対応したエッジ1502においては、エッジ画素2402から背景領域側に延びる探索領域2403が設定される。探索領域2403が延びる向きには、エッジ画素2402から探索領域の長さの2倍の範囲に第2のエッジ画素が存在しないため、探索領域2403は第2のエッジ画素から延びる他の探索領域と重複しない。よって、探索領域2403において異常が検出されない。
ワーク領域と異常(欠陥)を映した領域との境界に対応したエッジ1503では、例えばエッジ画素2404を第1のエッジ画素とした場合、第2のエッジ画素に相当するエッジ画素2405が存在する。エッジ画素2404とエッジ画素2405との距離は、探索領域の2倍の長さよりも小さく、エッジ画素2404から延びる探索領域2406とエッジ画素2405から延びる探索領域2407とが一部で重なっている。よって、エッジ画素2404とエッジ画素2405とを含むエッジ1503では、異常が検出される。
このように、実施形態の異常検出処理では、ワーク領域と背景領域との境界での過検出の発生を抑制しながら、異常を検出することができる。
異常検出処理が終了すると、図12に戻り、異常検出部105は、異常の検出結果を出力する(S1206)。例えば、異常検出部105は、PC100が備える(図示しない)表示装置などに出力する。
なお、異常の検出結果の出力方法としては、たとえば、強度画像データを表示するとともに、振幅画像データと位相画像データとに基づいて異常領域が検出された領域に対応する、強度画像データの領域を、検査者が異常領域を認識できるように装飾表示する方法などが考えられる。なお、実施形態では、欠陥の検出結果を視覚的に出力することに限らず、判定結果を音声などにより出力してもよい。
上記のS1206の処理が終了すると、制御部103は、被検査体150の検査が終了したか否かを判定する(S1207)。検査が終了していないと判定された場合(S1207:No)、アーム制御部101が、予め定められた設定に従って、次の検査対象となる被検査体150の表面が、時間相関カメラ110で撮像できるように、アーム140の移動制御を行う(S1208)。そして、アーム140の移動制御が終了した後、制御部103が、再び時間相関カメラ110に対して、撮像の開始指示を送信する(S1202)。
一方、制御部103は、当該被検査体の検査が終了したと判定した場合(S1207:Yes)、終了指示を時間相関カメラ110に対して出力し(S1209)、処理を終了する。
そして、時間相関カメラ110は、終了指示を受け付けたか否かを判定する(S1214)。終了指示を受け付けていない場合(S1214:No)、再びS1211から処理を行う。一方、終了指示を受け付けた場合(S1214:Yes)、処理が終了する。
なお、照明装置120の終了処理は、検査者が行ってもよいし、他の構成からの指示に従って終了してもよい。
以上により、実施形態の検査システムが被検査体の検査を行う際に実行する一連の処理が終了する。
なお、上述した実施形態では、時間相関カメラ110を用いて生成された強度画像データと、時間相関画像データと、を生成する例について説明した。しかしながら、強度画像データと、時間相関画像データと、を生成するために時間相関カメラ110を用いることに制限するものではなく、アナログ的な処理で実現可能な時間相関カメラや、それと等価な動作をする撮像システムを用いてもよい。たとえば、通常のデジタルスチルカメラが生成した画像データを出力し、情報処理装置が、デジタルスチルカメラが生成した画像データを、フレーム画像データとして用いて参照信号を重畳することで、時間相関画像データを生成してもよいし、イメージセンサ内で光強度信号に参照信号を重畳するようなデジタルカメラを用いて、時間相関画像データを生成してもよい。
また、実施形態では、振幅画像から異常領域を検出する例について説明した。しかしながら、異常領域の検出に使用される画像は、振幅画像だけに制限されない。例えば、位相画像や強度画像を異常領域の検出に使用してもよい。
また、振幅画像、位相画像、または強度画像など、複数種類の画像を異常領域の検出に使用してもよい。例えば、複数種類の画像のそれぞれに対して図13の処理を実行し、各画像から検出された異常領域の論理和または論理積を、最終的な異常検出結果として出力してもよい。
また、図13の処理によって得られた異常領域に対してさらに絞り込みを実行し、絞り込み後の領域を最終的な異常検出結果として出力してもよい。
また、時間相関カメラまたはそれと等価な動作をする撮像システムから出力される複素時間相関画像データに基づいて生成された画像に限らず、例えば通常のデジタルスチルカメラを用いて撮像された画像を、異常領域の検出に使用してもよい。
また、異常検出処理の際、探索領域および逆向き探索領域の長さを7画素とした。探索領域および逆向き探索領域の長さはこれに限定されない。探索領域の長さを、隣接向き毎に異ならせてもよい。また、探索領域の長さと逆向き探索領域の長さとを異ならせてもよい。
また、異常検出処理では、第2領域の特定を必ずしも実行しなくてもよい。例えば、n時画像において第1領域が特定された場合、探索領域を延ばす元の画素から第1領域までの領域を異常領域として特定してもよい。
また、異常検出処理では、エッジを隣接向き毎に分割した複数の分割画像が作成された。それぞれのエッジ画素の隣接向きおよびそれぞれの探索領域が延びる向きが特定できれば、複数の分割画像を作成しなくてもよい。
また、異常検出処理では、第1の向きの逆向きを中心とした−2時から+2時までの範囲内の5種類の向きを第2の向きとした。第2の向きの設定方法はこれに制限されない。第2の向きは、第1の向きの逆向きを含んだ所定の角度範囲にあればよい。また、第1の向きの逆向きのみを第2の向きとしてもよい。
以上述べたように、実施形態の検査システムは、複素時間相関画像データに基づいて、振幅、位相、または強度にかかる画像を生成する画像生成部104と、画像生成部104によって生成された画像からエッジを抽出するエッジ抽出部106と、それぞれがエッジ画素から低輝度領域に隣接する向きに延びる複数の探索領域を設定し、複数の探索領域に基づいて被検査体150の異常を映した異常領域を探索する探索部107と、を備える。これにより、図24を用いて説明したように、ワーク領域とエッジ領域との境界における異常の過検出の発生を抑制することが可能となる。
なお、実施形態の説明では、エッジ画素から低輝度領域に隣接する向きに延びる探索領域を設定した。探索領域を延ばす向きは、設計により変更され得る。例えば、振幅画像に対して輝度反転を実行した場合、被検査体150の撮像面の正常な領域は暗く(黒く)映り、欠陥および背景は明るく(白く)映る。その場合、エッジ画素から高輝度領域に隣接する向きに延びる探索領域が設定されればよい。エッジによって分割されて得られる2つの領域(低輝度領域、高輝度領域)のうちの、正常な領域に対応した領域と異なる領域に隣接する向きを、隣接向きとすればよい。エッジによって分割された低輝度領域と高輝度領域とのうちのいずれを正常な領域に対応した領域とするかは、画像の種類や画像に対して実行された前処理(例えば輝度反転など)に応じて変わり得る。
また、探索部107は、第1の向きに延びる探索領域が、第1の向きの逆向きを中心とした所定の角度範囲内の第2の向きに延びる探索領域と少なくとも一部が重複するか否かに基づいて異常領域を探索する。これにより、探索領域の長さを適切に設定することによって、ワーク領域と背景領域との境界における過検出の発生を抑制することが可能である。
また、探索部107は、第1の向きに延びる探索領域と第2の向きに延びる探索領域とが重複する場合、両方の探索領域に含まれる第1領域を異常領域として検出する。これにより、図22(A)を用いて説明したように、大きさが探索領域の長さLよりも小さい異常領域の輪郭を特定することが可能となる。
また、探索部107は、第1領域から第1の向きの逆向きに延びる逆向き探索領域を設定し、探索領域と逆向き探索領域との両方に含まれる第2領域を異常領域として検出する。これにより、図22(B)を用いて説明したように、大きさが探索領域の長さLよりも大きく2Lよりも小さい異常領域の輪郭を特定することが可能となる。
また、例えば、スジ状の異常が発生している場合、その異常は、微小な間隔をあけて離間した複数の異常領域として撮像される場合がある。このような場合、複数の異常領域は、スジ状の1つの異常として特定することが望まれる場合がある。
実施形態では、図23を用いて説明したように、探索領域の長さLの2倍の長さ2Lよりも小さい範囲に複数の異常領域が存在した場合、それらの異常領域を1つの異常領域として特定することが可能である。よって、探索領域の長さLを適切に設定することにより、スジ状の1つの異常領域を構成する複数の異常領域を、1つの異常として特定することが可能となる。
また、実施形態では、振幅画像を用いて異常領域を特定する例について説明した。振幅画像は、背景領域だけでなく、被検査体150の撮像面のうちの正反射面から外れた面も暗く(黒く)映るという性質がある。よって、被検査体150の撮像面のうちの正反射面が映っている領域と正反射面から外れた面が映っている領域との境界がエッジとして抽出される場合がある。振幅画像を用いて異常領域を検出する場合、実施形態が適用されることによって、被検査体150の撮像面のうちの正反射面が映っている領域と正反射面から外れた面が映っている領域との境界において異常を過検出することを抑制することが可能である。
以下、実施形態のいくつかの変形例について説明する。
<第1変形例>
上述した実施形態では、位相、振幅および強度の局所的な輝度値の変化(周囲との違い)に基づいて、異常領域を特定する例について説明したが、周囲との違いに基づいて異常領域を特定することに制限するものではない。たとえば、第1変形例として、予め設定(取得)された参照形状のデータ(参照データ)との差異に基づいて異常領域を特定する場合も考えられる。この場合、空間位相変調照明(縞パターン)の位置合わせおよび同期の状況を、参照データを設定(取得)した時の状況に合わせる必要がある。
上述した実施形態では、位相、振幅および強度の局所的な輝度値の変化(周囲との違い)に基づいて、異常領域を特定する例について説明したが、周囲との違いに基づいて異常領域を特定することに制限するものではない。たとえば、第1変形例として、予め設定(取得)された参照形状のデータ(参照データ)との差異に基づいて異常領域を特定する場合も考えられる。この場合、空間位相変調照明(縞パターン)の位置合わせおよび同期の状況を、参照データを設定(取得)した時の状況に合わせる必要がある。
第1変形例では、異常検出部105が、予め(図示しない)記憶部に記憶された、参照表面から得られた位相画像、振幅画像および強度画像と、被検査体150の位相画像、振幅画像および強度画像と、を比較し、被検査体150の表面と参照表面との間で、光の位相、振幅および強度のうちいずれか1つ以上について所定の基準以上の違いがあるか否かを判定する。
以下では、第1変形例において、実施形態と同じ構成の検査システムが用いられ、参照表面の例として、正常な被検査体の表面が用いられるものとする。
この場合、照明装置120がスクリーン130を介して縞パターンを照射している間に、時間相関カメラ110が、正常な被検査体の表面を撮像し、強度画像データと、時間相関画像データと、を生成する。そして、PC100が、時間相関カメラ110で生成された強度画像データおよび時間相関画像データから、位相画像、振幅画像および強度画像を生成し、PC100の記憶部(図示せず)に、生成した位相画像、振幅画像および強度画像を記憶させておく。
そして、時間相関カメラ110は、異常が存在する可能性の有無を判定したい被検査体を撮像し、強度画像データと、時間相関画像データとを生成する。そして、PC100は、強度画像データおよび時間相関画像データから、位相画像、振幅画像および強度画像を生成した後、過去に記憶部に記憶した、正常な被検査体の位相画像、振幅画像および強度画像と、を比較する。
上記の比較の際において、画像生成部104は、正常な被検査体の位相画像、振幅画像および強度画像と、検査対象の被検査体の位相画像、振幅画像および強度画像との差分画像を生成する。異常検出部105は、画像生成部104によって生成された差分画像に対して図13に示した処理を実行することで、異常領域を検出することができる。
このように、正常な被検査体と検査対象の被検査体の画像との差分画像が実施形態の異常検出処理に使用され得る。
<第2変形例>
また、上述した実施形態では、x方向に縞パターンを動かして、被検査体の異常(欠陥)を検出する例について説明した。しかしながら、x方向に垂直なy方向で急峻に法線の分布が変化する異常(欠陥)が被検査体に生じている場合、x方向に縞パターンを動かすよりも、y方向に縞パターンを動かす方が欠陥の検出が容易になる場合がある。そこで、第2変形例として、x方向に移動する縞パターンと、y方向に移動する縞パターンとを、交互に切り替える例について説明する。
また、上述した実施形態では、x方向に縞パターンを動かして、被検査体の異常(欠陥)を検出する例について説明した。しかしながら、x方向に垂直なy方向で急峻に法線の分布が変化する異常(欠陥)が被検査体に生じている場合、x方向に縞パターンを動かすよりも、y方向に縞パターンを動かす方が欠陥の検出が容易になる場合がある。そこで、第2変形例として、x方向に移動する縞パターンと、y方向に移動する縞パターンとを、交互に切り替える例について説明する。
第2変形例の照明制御部102は、所定の時間間隔毎に、照明装置120に出力する縞パターンを切り替える。これにより、照明装置120は、1つの検査対象面に対して、異なる方向に延びた複数の縞パターンを出力する。
図25は、第2変形例の照明制御部102が出力する縞パターンの切り替え例を示した図である。図25の(A)では、照明制御部102は、照明装置120が表示する縞パターンをx方向に遷移させる。その後、図25の(B)に示されるように、照明制御部102は、照明装置120が表示する縞パターンをy方向に遷移させる。
そして、PC100の制御部103は、図25の(A)の縞パターン照射から得られた時間相関画像データに基づいて、異常検出処理を行い、図25の(B)の縞パターン照射から得られた時間相関画像データに基づいて、異常検出処理を行う。
図26は、第2変形例の照明制御部102が、異常(欠陥)2601を含めた表面に縞パターンを照射した例を示した図である。図26に示される例では、異常(欠陥)2601が、x方向に延びている。この場合、照明制御部102は、x方向に交差するy方向、換言すれば異常(欠陥)2601の長手方向に交差する方向に縞パターンが移動するように設定する。当該設定により、検出精度を向上させることができる。
図27は、図26において、y方向、換言すれば異常(欠陥)2601の長手方向に直交する方向に縞パターンを変化させた場合における、異常(欠陥)2601とスクリーン130上の縞パターンの関係を示した図である。図27に示されるように、y方向に幅が狭く、且つ当該y方向に交差するx方向を長手方向とする異常(欠陥)2601が生じている場合、照明装置120から照射された光は、x方向に交差するy方向で光の振幅の打ち消しが大きくなる。このため、PC100は、y方向に移動させた縞パターンに対応する振幅画像データから、当該異常(欠陥)2601を検出することが可能である。
第2変形例の検査システムにおいて、被検査体に生じる欠陥の長手方向がランダムな場合には、複数方向(例えば、x方向、および当該x方向に交差するy方向等)で縞パターンを表示することで、欠陥の形状を問わずに当該欠陥の検出が可能となり、異常(欠陥)の検出精度を向上させることができる。また、異常の形状に合わせた縞パターンを投影することで、異常の検出精度を向上させることができる。
<第3変形例>
さらに、実施形態の技術は、上述した第2変形例のような、x方向の異常検出と、y方向の異常検出と、を行うために縞パターンを切り替える技術に制限されるものでない。そこで、第3変形例として、照明制御部102が照明装置120に出力する縞パターンをx方向およびy方向に同時に動かす例について説明する。
さらに、実施形態の技術は、上述した第2変形例のような、x方向の異常検出と、y方向の異常検出と、を行うために縞パターンを切り替える技術に制限されるものでない。そこで、第3変形例として、照明制御部102が照明装置120に出力する縞パターンをx方向およびy方向に同時に動かす例について説明する。
図28は、第3変形例の照明制御部102が照明装置120に出力する縞パターンの例を示した図である。図28に示される例では、照明制御部102が縞パターンを、方向2801に移動させる。
図28に示される縞パターンは、x方向では1周期2802の縞パターンを含み、y方向では一周期2803の縞パターンを含んでいる。つまり、図28に示される縞パターンは、幅が異なる交差する方向に延びた複数の縞を有している。ここで、第3変形例では、x方向の縞パターンの幅と、y方向の縞パターンの幅と、を異ならせる必要がある。これにより、x方向に対応する時間相関画像データと、y方向に対応する時間相関画像データと、を生成する際に、対応する参照信号を異ならせることができる。なお、縞パターンによる光の強度の変化の周期(周波数)が変化すればよいので、縞の幅を変化させるのに代えて、縞パターン(縞)の移動速度を変化させてもよい。
そして、時間相関カメラ110が、x方向の縞パターンに対応する参照信号に基づいて、x方向の縞パターンに対応する時間相関画像データを生成し、y方向の縞パターンに対応する参照信号に基づいて、y方向の縞パターンに対応する時間相関画像データを生成する。そして、PC100の制御部103は、x方向の縞パターンに対応する時間相関画像データに基づいて、異常検出処理を行った後、y方向の縞パターンに対応する時間相関画像データに基づいて、異常検出処理を行う。これにより、第3変形例では、欠陥の生じた方向を問わずに検出が可能となり、異常(欠陥)の検出精度を向上させることができる。
上述した実施形態のPC100で実行される検査プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
また、上述した実施形態のPC100で実行される検査プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上述した実施形態のPC100で実行される検査プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
以上、本発明のいくつかの実施形態および変形例を説明したが、これらの実施形態および変形例は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態および変形例は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形例は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
100…PC(検査システム)、104…画像生成部、105…異常検出部、106…エッジ抽出部、107…探索部、110…時間相関カメラ、120…照明装置(照明部)、130…スクリーン(照明部)。
Claims (6)
- 被検査体に対して光の強度の周期的な時間変化および空間変化を与える面的な照明部と、
時間相関カメラまたはそれと等価な動作をする撮像システムから前記被検査体の撮像結果として出力される複素時間相関画像データに基づいて、振幅、位相、または強度にかかる画像を生成する画像生成部と、
前記画像生成部によって生成された前記画像からエッジを抽出するエッジ抽出部と、
それぞれが前記エッジを構成する画素から前記エッジによって分割された2つの領域のうちの予め決められた領域に隣接する向きに延びる複数の探索領域を設定し、前記被検査体の異常を映した異常領域を前記複数の探索領域に基づいて探索する探索部と、
を備えた検査システム。 - 前記探索部は、前記複数の探索領域のうちの第1の向きに延びる第1の探索領域が、前記複数の探索領域のうちの前記第1の向きの逆向きを中心とした所定の角度範囲内の第2の向きに延びる第2の探索領域と少なくとも一部が重複するか否かに基づいて前記異常領域を探索する、
請求項1に記載の検査システム。 - 前記探索部は、前記第1の探索領域と前記第2の探索領域とが重複する場合、前記第1の探索領域と前記第2の探索領域との両方に含まれる第1の領域を前記異常領域として検出する、
請求項2に記載の検査システム。 - 前記探索部は、前記第1の領域から前記第1の向きの逆向きに延びる第3の探索領域を設定し、前記第1の探索領域と前記第3の探索領域との両方に含まれる第2の領域を前記異常領域として検出する、
請求項3に記載の検査システム。 - 前記画像は振幅にかかる画像である、
請求項1から4の何れか一項に記載の検査システム。 - 被検査体が映っている画像からエッジを抽出するエッジ抽出部と、
それぞれが前記エッジを構成する画素から前記エッジによって分割された2つの領域のうちの予め決められた領域に隣接する向きに延びる複数の探索領域を設定し、前記被検査体の異常を映した異常領域を前記複数の探索領域に基づいて探索する探索部と、
を備えた検査システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018062931A JP2019174288A (ja) | 2018-03-28 | 2018-03-28 | 検査システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018062931A JP2019174288A (ja) | 2018-03-28 | 2018-03-28 | 検査システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019174288A true JP2019174288A (ja) | 2019-10-10 |
Family
ID=68166798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018062931A Pending JP2019174288A (ja) | 2018-03-28 | 2018-03-28 | 検査システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019174288A (ja) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11132740A (ja) * | 1997-10-24 | 1999-05-21 | Nikon Corp | 画像計測装置 |
JP2008281580A (ja) * | 2008-06-26 | 2008-11-20 | Olympus Corp | 欠陥分類装置 |
US20120194673A1 (en) * | 2011-02-01 | 2012-08-02 | Keyence Corporation | Dimension Measuring Apparatus, Dimension Measuring Method, And Program For Dimension Measuring Apparatus |
JP2013200648A (ja) * | 2012-03-23 | 2013-10-03 | Toyota Auto Body Co Ltd | 濃淡画像のエッジ抽出方法、エッジ抽出装置並びに濃淡画像のエッジ抽出プログラム |
JP2013239934A (ja) * | 2012-05-16 | 2013-11-28 | Univ Of Tokyo | 時間相関演算システムおよび時間相関カメラ |
JP2014006803A (ja) * | 2012-06-26 | 2014-01-16 | Seiko Precision Inc | 穴開け位置決定装置、穴開け位置決定方法、及び、プログラム |
JP2015163860A (ja) * | 2014-02-28 | 2015-09-10 | 株式会社キーエンス | 画像測定器 |
JP2016036417A (ja) * | 2014-08-06 | 2016-03-22 | 日立アロカメディカル株式会社 | 超音波診断装置 |
JP2018009849A (ja) * | 2016-07-12 | 2018-01-18 | リコーエレメックス株式会社 | 検査システムおよび検査方法 |
JP2018028527A (ja) * | 2016-08-16 | 2018-02-22 | リコーエレメックス株式会社 | 検査システム |
-
2018
- 2018-03-28 JP JP2018062931A patent/JP2019174288A/ja active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11132740A (ja) * | 1997-10-24 | 1999-05-21 | Nikon Corp | 画像計測装置 |
JP2008281580A (ja) * | 2008-06-26 | 2008-11-20 | Olympus Corp | 欠陥分類装置 |
US20120194673A1 (en) * | 2011-02-01 | 2012-08-02 | Keyence Corporation | Dimension Measuring Apparatus, Dimension Measuring Method, And Program For Dimension Measuring Apparatus |
JP2012159410A (ja) * | 2011-02-01 | 2012-08-23 | Keyence Corp | 寸法測定装置、寸法測定方法及び寸法測定装置用のプログラム |
JP2013200648A (ja) * | 2012-03-23 | 2013-10-03 | Toyota Auto Body Co Ltd | 濃淡画像のエッジ抽出方法、エッジ抽出装置並びに濃淡画像のエッジ抽出プログラム |
JP2013239934A (ja) * | 2012-05-16 | 2013-11-28 | Univ Of Tokyo | 時間相関演算システムおよび時間相関カメラ |
JP2014006803A (ja) * | 2012-06-26 | 2014-01-16 | Seiko Precision Inc | 穴開け位置決定装置、穴開け位置決定方法、及び、プログラム |
JP2015163860A (ja) * | 2014-02-28 | 2015-09-10 | 株式会社キーエンス | 画像測定器 |
JP2016036417A (ja) * | 2014-08-06 | 2016-03-22 | 日立アロカメディカル株式会社 | 超音波診断装置 |
JP2018009849A (ja) * | 2016-07-12 | 2018-01-18 | リコーエレメックス株式会社 | 検査システムおよび検査方法 |
JP2018028527A (ja) * | 2016-08-16 | 2018-02-22 | リコーエレメックス株式会社 | 検査システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6316068B2 (ja) | 検査システムおよび検査方法 | |
US10739272B2 (en) | Inspection system and inspection method | |
WO2018159825A1 (ja) | 検査システムおよび検査方法 | |
JP2016223911A (ja) | 検査システム | |
JP2016224707A (ja) | 検査システム | |
JP6276092B2 (ja) | 検査システムおよび検査方法 | |
JP2018009849A (ja) | 検査システムおよび検査方法 | |
JP2018028527A (ja) | 検査システム | |
JP6420131B2 (ja) | 検査システム、及び検査方法 | |
JP2017101977A (ja) | 検査システムおよび検査方法 | |
JP2019002761A (ja) | 検査システムおよび検査方法 | |
JP2018115937A (ja) | 検査システム | |
JP2019174288A (ja) | 検査システム | |
JP2017101979A (ja) | 検査システム | |
JP6909378B2 (ja) | 検査システム | |
JP2019020365A (ja) | 検査システム | |
JP6703415B2 (ja) | 検査装置及び検査方法 | |
JP6781430B2 (ja) | 検査システム | |
JP6902684B2 (ja) | 画像処理装置および検査システム | |
JP2018112470A (ja) | 検査システムおよび検査方法 | |
JP6909377B2 (ja) | 検査システムおよび検査方法 | |
JP6826813B2 (ja) | 検査装置及び検査方法 | |
JP2018112471A (ja) | 検査システムおよび検査方法 | |
JP2020012816A (ja) | 検査システムおよび検査方法 | |
JP2020101417A (ja) | 検査システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200731 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210519 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210601 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20211124 |