JP2020101417A - 検査システム - Google Patents
検査システム Download PDFInfo
- Publication number
- JP2020101417A JP2020101417A JP2018238807A JP2018238807A JP2020101417A JP 2020101417 A JP2020101417 A JP 2020101417A JP 2018238807 A JP2018238807 A JP 2018238807A JP 2018238807 A JP2018238807 A JP 2018238807A JP 2020101417 A JP2020101417 A JP 2020101417A
- Authority
- JP
- Japan
- Prior art keywords
- candidate
- image
- unit
- edge
- image data
- 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
- Length Measuring Devices By Optical Means (AREA)
- Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
- Image Analysis (AREA)
Abstract
【課題】線傷を高精度に検出すること。【解決手段】実施形態の検査システムは、被検査体に対して光の強度の周期的な時間変化および空間変化を与える面的な照明部と、時間相関カメラまたはそれと等価な動作をする撮像システムから前記被検査体の撮像結果として出力される複素時間相関画像データに基づいて、振幅、位相、または強度にかかる画像を生成する画像生成部と、前記画像からエッジを抽出するエッジ抽出部と、前記エッジに基づいて複数の候補領域を特定する候補特定部と、第1方向を候補領域毎に算出する処理部と、前記複数の候補領域から前記第1方向が同一である1以上の候補領域からなるグループを特定し、前記グループの特徴に基づいて前記1以上の候補領域が線傷に該当するか否かの判定を実行する判定部と、を備える。【選択図】図1
Description
本発明の実施形態は、検査システムに関する。
従来、周期的に変化する光を被検査体に照射し、当該被検査体の表面からの反射光を撮像することで、光の強度のみならず、光の時間遷移に関する情報をも含んだ時間相関画像を取得する技術が提案されている。このような時間相関画像は、たとえば、被検査体の異常(欠陥)を検出するために用いられる。
メッキされた表面や塗装された表面などを凹凸の少ない物体で摩擦すると、線傷がつく場合がある。このような線傷を高精度に検出することが要望される。
実施形態の検査システムは、被検査体に対して光の強度の周期的な時間変化および空間変化を与える面的な照明部と、時間相関カメラまたはそれと等価な動作をする撮像システムから前記被検査体の撮像結果として出力される複素時間相関画像データに基づいて、振幅、位相、または強度にかかる画像を生成する画像生成部と、前記画像からエッジを抽出するエッジ抽出部と、前記エッジに基づいて複数の候補領域を特定する候補特定部と、第1方向を候補領域毎に算出する処理部と、前記複数の候補領域から前記第1方向が同一である1以上の候補領域からなるグループを特定し、前記グループの特徴に基づいて前記1以上の候補領域が線傷に該当するか否かの判定を実行する判定部と、を備える。
(実施形態)
以下、実施形態の検査システムについて説明する。実施形態の検査システムは、被検査体(ワーク)を検査するために様々な構成を備えている。図1は、実施形態の検査システムの構成例を示した図である。図1に示されるように、実施形態の検査システムは、パーソナルコンピュータ(PC)100と、時間相関カメラ110と、照明装置120と、スクリーン130と、アーム140と、を備えている。
以下、実施形態の検査システムについて説明する。実施形態の検査システムは、被検査体(ワーク)を検査するために様々な構成を備えている。図1は、実施形態の検査システムの構成例を示した図である。図1に示されるように、実施形態の検査システムは、パーソナルコンピュータ(PC)100と、時間相関カメラ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と、背景を映した背景領域1103と、が含まれている。そして、ワーク領域1102のうちの点線で囲んだ領域1104には、同じ方向に延びる複数の線傷が映っている。
通常は、被検査体150を映した画像に対して例えばエッジ抽出などを実行することによって、輝度値の急峻な変化を検出することで、異常が映っている部分が特定される。
しかしながら、線傷の場合、傷の深さが非常に浅いため、図11に示されるように、線傷は不鮮明に映る。したがって、エッジ抽出のみによって線傷を検出しようとすると、検出の感度を高くするためにエッジ判定のためのしきい値を小さくする必要がある。他方、エッジ判定のためのしきい値を小さくすると、画像に含まれるノイズや被検査体150の表面に形成されたブツなどもエッジとして拾ってしまい、その結果、線傷でない部分であっても線傷として検出する、過検出が発生する。
ここで、線傷は、例えば、被検査体15の表面を凹凸の少ない物体で摩擦するなどによって形成される。したがって、領域1104に示されるように、線傷は、同じ方向に複数発生するという特徴がある。異常検出部105は、この特徴に基づいて線傷を特定する。そのための構成として、異常検出部105は、エッジ抽出部106、候補特定部107、処理部108、および判定部109を備える。
エッジ抽出部106は、画像生成部104によって生成された画像からエッジを抽出する。
候補特定部107は、エッジに基づいて候補領域を特定する。原画像において異常が映っている領域の境界は、エッジとして抽出される。候補特定部107は、エッジを構成する画素(エッジ画素)を位置的な連続性に基づいて1以上の候補領域に分類する。つまり、候補特定部107は、位置的に連続する複数のエッジ画素を、1つの候補領域にグループ化する。候補領域は、異常(特に線傷)の候補である。
処理部108は、各候補領域の方向を算出する。ここで、候補領域の方向は、例えば候補領域が延びる方向である。以降、処理部108によって算出する候補領域の方向を、延伸方向と表記する。
また、処理部108は、各候補領域の特徴量(第1特徴量)として、長さに対応した量を算出する。以降、長さに対応した量を、単に、長さ、と表記する。
判定部109は、延伸方向が同じ1以上の候補領域からなるグループを特定し、グループの特徴に基づいて当該グループを構成する各候補領域が線傷に該当するか否かの判定を実行する。
つまり、判定部109は、延伸方向が同じ1以上の候補領域を1つのグループと見なして、グループ単位で線傷の判定を実行する。これによって、判定部109は、同じ方向に延びる複数の傷が発生しやすいという線傷の特徴に合致した候補領域を線傷として特定する。ノイズやブツなどに起因する候補領域は、この処理によって線傷ではないと判定される。
なお、判定部109は、グループの特徴に基づく判定の一例として、グループを構成する全ての候補領域の長さの合計値に基づいて判定する。線傷(線傷のグループ)の場合、長さの合計値がノイズやブツなどに比べて著しく長くなるので、線傷を検出することが容易になる。
また、処理部108は、さらに別の種類の特徴量(第3特徴量)として、面積に対応した量を算出する。より具体的には、処理部108は、候補領域の面積に基づいて、候補領域の形状が円形であると仮定した場合の直径を算出する。
また、判定部109は、グループの特定の前に、長さや直径に基づいた候補領域の絞り込みを実行することができる。
各構成要素が実行する上記の各処理や他の処理については、検査システムの動作とともに詳しく説明する。
次に、実施形態において実行される検査システムの動作について説明する。図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は、微分画像から、画素値が所定のしきい値より大きい画素を抽出した、エッジ画像を生成する。抽出された画素値が所定のしきい値より大きい画素は、エッジを構成する。以降、エッジを構成する各画素を、エッジ画素、と表記する。
線傷を含む異常が映っている領域は、周囲よりも低輝度に映る。つまり、エッジ抽出によって、異常な領域の輪郭がエッジとして抽出される。
なお、エッジ抽出部106によるエッジの抽出方法は、上記した方法に限定されない。エッジ抽出部106は、任意のフィルタや演算によってエッジを抽出できる。
図15は、実施形態の検査システムが実行する各処理による処理内容を説明するための模式的かつ例示的な図である。(A)に示される画像1501は原画像であり、(B)に示される画像1502はエッジ抽出部106によって原画像(画像1501)から生成されたエッジ画像である。
(A)に示される画像1501(原画像)には、細長い形状の5つの領域1510a〜1510eが低輝度な領域として映っている。そして、(B)に示される画像1502(エッジ画像)には、5つの領域1510a〜1510eに対応した5つのエッジ1520a〜1520eが映っている。
S1302に続いて、候補特定部107は、抽出されたエッジに基づいて候補領域を特定する(S1303)。
S1303では、候補特定部107は、エッジ画素の連続性に基づいて候補領域を特定する。つまり、候補特定部107は、連続した一塊のエッジ画素群を、1つの候補領域として特定し、互いに連続していない2塊のエッジ画素群のそれぞれを、それぞれ異なる2つの候補領域として特定する。これによって、それぞれが異常の候補を示す1以上の候補領域が特定される。図15の例に従えば、エッジ1520a〜1520e(領域1510a〜1510e)は、それぞれ異なる候補領域として特定される。
S1303に続いて、処理部108は、S1304〜S1306の処理によって、候補領域の延伸方向を算出する。
具体的には、処理部108は、まず、エッジ画素毎に、原画像における低輝度領域から高輝度領域に向かう方向を演算する(S1304)。以降、低輝度領域から高輝度領域に向かう方向を、高輝度領域方向と表記する。
実施形態では、高輝度領域方向は、一例として、y方向の正の向きを0時の向きとし、360度(degree)を12等分して得られる12種類の向き(0時〜11時)を用いて表現される。なお、高輝度領域方向の表現方法はこれに限定されない。高輝度領域方向は、360度(degree)を8等分して得られる8種類の向きを用いて表現されてもよい。
実施形態では、処理部108は、以下に述べる方法で高輝度領域方向を演算する。
まず、処理部108は、着目するエッジ画素に対して第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種類の向きのいずれかと予め対応付けられている。処理部108は、4つの判定から得られた判定結果に対応する向きを高輝度領域方向とする。
図16は、実施形態の処理部108が使用する、判定結果のパターンと高輝度領域方向との対応の一例を説明するための図である。本図では、各判定において、対応する条件が成立する場合をtrueとし、対応する条件が成立しない場合をfalseとしている。
図17は、実施形態の処理部108によって演算される高輝度領域方向の具体例を説明するための図である。図17の(A)〜(C)に示す各画像1701〜1703は、原画像(振幅画像)からエッジ画素1704〜1706の近傍の領域を切り出して拡大した画像を示している。
図17(A)に示す画像1701では、エッジ画素1704の右下に低輝度領域1707が広がっており、エッジ画素1704の左上に高輝度領域1708が広がっている。x軸を基準とした、エッジ画素1704近傍でのエッジ1709の傾きは約30度である。この場合、第1判定〜第4判定の判定結果は、すべてfalseとなる。よって、図16によって規定された関係により、エッジ画素1704の高輝度領域方向は「11時」であると判定される。矢印1710は、「11時」と判定された高輝度領域方向を示している。
図17(B)に示す画像1702では、エッジ画素1705の右下に低輝度領域1711が広がっており、エッジ画素1705の左上に高輝度領域1712が広がっている。x軸を基準とした、エッジ画素1705近傍でのエッジ1713の傾きは約60度である。この場合、第3判定の判定結果がtrueとなり、第1判定、第2判定、および第4判定の判定結果は、すべてfalseとなる。よって、図16によって規定された関係により、エッジ画素1705の高輝度領域方向は「10時」であると判定される。矢印1714は、「10時」と判定された、エッジ画素1705の高輝度領域方向を示している。
図17(C)に示す画像1703では、エッジ画素1706の右に低輝度領域1715が広がっており、エッジ画素1706の左に高輝度領域1716が広がっている。x軸を基準とした、エッジ画素1706におけるエッジ1717の傾きは約90度である。この場合、第1判定の判定結果がfalseとなり、第3判定および第4判定の判定結果がtrueとなる。第2判定の判定結果は、エッジ1717の傾きが90度を超えるか否かで変わりうる。この場合、図16によって規定された関係によれば、第2判定の判定結果にかかわらず、エッジ画素1706の高輝度領域方向は「9時」であると判定される。矢印1718は、「9時」と判定された、エッジ画素1706の高輝度領域方向を示している。
このように、エッジによって分割されて得られる高輝度領域と低輝度領域とのうちの、低輝度領域から高輝度領域に向かう方向が、各エッジ画素の高輝度領域方向として演算される。
S1304に続いて、処理部108は、エッジ画素毎に算出した高輝度領域方向に基づいて、各エッジ画素におけるエッジの接線が延びる方向(接線方向)を算出する(S1305)。そして、処理部108は、エッジ画素毎に算出した接線方向に基づいて、各候補領域の延伸方向を算出する(S1306)。
図18は、実施形態の延伸方向を算出するための処理内容を説明するための模式的かつ例示的な図である。
図18の(A)に示される画像1801は、エッジ画像であり、当該画像1801の各セル1805は、画素を示している。そして、セル1805のうちの黒く塗りつぶされたセル1806は、ある候補領域1810を構成するエッジ画素を示している。
図18の(B)の画像1802は、エッジ画素(セル1806)毎に算出された高輝度領域方向を示している。エッジ画素を示すセル(セル1806)に記されている、0から11までの範囲の数字は、高輝度領域方向を示している。本図から、延伸方向が0時である1つのエッジ画素と、延伸方向が3時である1つのエッジ画素と、延伸方向が4時である4つのエッジ画素と、延伸方向が5時である3つのエッジ画素と、延伸方向が6時である1つのエッジ画素と、延伸方向が9時である1つのエッジ画素と、延伸方向が10時である4つのエッジ画素と、延伸方向が11時である3つのエッジ画素と、によって候補領域1810が構成されていることが読み取れる。
処理部108は、S1305では、例えば、下記の式(10)を用いることによって接線方向を算出する。ただし、dir_1は高輝度領域方向であり、dir_2は接線方向である。
dir_2=(dir_1+3) mod 6 …(10)
dir_2=(dir_1+3) mod 6 …(10)
上記の式(10)によれば、高輝度領域方向に90度に対応した3時が加算されている。これによって、高輝度領域方向に直交する方向が、接線方向として算出される。
なお、上記の式(10)によれば、3時が加算された高輝度領域方向を被除数とし、6を除数とした剰余演算が実行される。したがって、接線方向は、0時から5時までの範囲の数値として算出される。
図18の(C)の画像1803は、エッジ画素毎に算出された接線方向を示している。エッジ画素を示すセル(セル1806)に記されている数字は、高輝度領域方向を示している。本図から、高輝度領域方向が0時または6時であったエッジ画素にかかる接線方向は3時として算出され、高輝度領域方向が3時または9時であったエッジ画素にかかる接線方向は0時として算出され、高輝度領域方向が4時または10時であったエッジ画素にかかる接線方向は1時として算出され、高輝度領域方向が5時または11時であったエッジ画素にかかる接線方向は2時として算出されていることが読み取れる。
処理部108は、S1306では、例えば、多数決に基づいて候補領域の延伸方向を算出する。図18の(C)の例に従えば、候補領域1810を構成するエッジ画素のうち、接線方向が0時であるエッジ画素が2個、接線方向が1時であるエッジ画素が8個、接線方向が2時であるエッジ画素が6個、接線方向が3時であるエッジ画素が2個である。よって、多数決によれば、図18の(D)に示されるように、1時が候補領域1810の延伸方向として算出される。
S1306に続いて、処理部108は、候補領域毎に長さおよび直径を算出する(S1307)。
長さの算出方法は、特定の方法に限定されない。一例では、処理部108は、下記の式(11)によって候補領域の長さを算出する。dxは、x方向において候補領域が分布する範囲(画素数)であり、dyはy方向において候補領域が分布する範囲(画素数)であり、Lは候補領域の長さである。
また、直径の算出方法は、特定の方法に限定されない。一例では、処理部108は、下記の式(12)によって直径を算出する。Diは、直径である。Eは、候補領域の面積であり、例えばエッジおよびエッジによって囲まれた領域に含まれる画素の数である。この式(12)によれば、面積が大きいほど直径が大きくなる。つまり、直径は、面積に対応した特徴量の一例である。
S1307に続いて、判定部109は、長さに基づいて候補領域の絞り込みを実行する(S1308)。例えば、判定部109は、長さが所定値に満たない領域を候補領域から除外する。これによって、候補領域は、長さが所定値以上である領域に限定される。
さらに、判定部109は、直径に基づいて候補領域の絞り込みを実行する(S1309)。例えば、判定部109は、直径が所定値に満たない領域を候補領域から除外する。これによって、候補領域は、直径が所定値以上である領域に限定される。
さらに、判定部109は、長さと直径との比率に基づく絞り込みを実行する(S1310)。例えば、判定部109は、長さを直径で除算して得られた値が所定値に満たない領域を候補領域から除外する。これによって、候補領域は、長さを直径で除算して得られた値が所定値以上である領域に限定される。
線傷は、一方向に延びる細長い形状を有している。S1308〜S1310では、判定部109は、形状的な特徴に基づいて、線傷に該当しない可能性が高い候補領域を線傷の判定の対象から除外している。例えば、長さが所定値に満たない、短い形状の候補領域や、直径が所定値に満たない、つまり面積が小さい候補領域は、これらの処理によって除外される。また、面積に対する長さの比率が所定値に満たない、つまり細長い形状を有さない候補領域は、これらの処理によって除外される。
なお、候補領域の絞り込みの方法は上記の方法に限定されない。候補領域の絞り込みの方法は種々に変更され得る。例えば、長さ、直径、および長さと直径との比率のうちの任意の一部に基づいて絞り込みが実行され得る。また、長さ、直径、および長さと直径との比率のいずれとも異なる任意の量に基づいて絞り込みが実行され得る。
S1309に続いて、判定部109は、延伸方向が同じ候補領域のグループを特定する(S1311)。そして、判定部109は、グループを構成する候補領域の長さの合計値に基づいて各候補領域が線傷に該当するか否かを判定する(S1312)。
S1311では、判定部109は、例えば、延伸方向毎に候補領域をグループ化する。これによって、それぞれは0時〜5時の何れかに対応した最大で6つのグループが生成される。そして、S1312では、判定部109は、長さの合計値と所定のしきい値とを比較する。
長さの合計値がしきい値を超えたグループがある場合、判定部109は、そのグループを構成するそれぞれの候補領域を線傷であると判定する。長さの合計値がしきい値を越えていないグループがある場合、判定部109は、そのグループを構成するそれぞれの候補領域を線傷でないと判定する。
なお、長さの合計値がしきい値と等しい場合の扱いはこれに限定されない。長さの合計値がしきい値と等しいグループがある場合、判定部109は、そのグループを構成するそれぞれの候補領域を線傷であると判定してもよい。
なお、グループ化は、所定の範囲に含まれる候補領域に関して実行される。例えば、画像(原画像、エッジ画像)の撮像範囲に含まれる候補領域に関して実行され得る。または、例えば画像の撮像範囲を複数の小領域に区切り、小領域毎に候補領域のグループ化が実行されてもよい。即ち、グループ化が実行される範囲は、任意に設定され得る。
例えば、絞り込みの後、図15の(B)の画像1502に含まれるエッジ1520a〜1520eのそれぞれが候補領域として残り、エッジ1520a〜1520cのそれぞれの延伸方向が1時であり、エッジ1520dの延伸方向が3時であり、エッジ1520eの延伸方向が4時である場合を考える。その場合、図15の(C)に示されるように、判定部109は、エッジ1520a〜1520cを“1時”のグループ1530−1に分類し、エッジ1520dを“3時”のグループ1530−3に分類し、エッジ1520eを“4時”のグループ1531−4に分類する。
そして、エッジ1520a〜1520dのそれぞれの長さが2mmであり、エッジ1520eの長さが0.5mmである場合、1時のグループ1530−1に関する長さの合計値は6mmとして算出され、3時のグループ1530−3に関する長さの合計値は2mmとして算出され、4時のグループ1530−4に関する長さの合計値は0.5mmとして算出される。
判定のしきい値が4mmである場合、1時のグループ1530−1に関する長さの合計値が当該しきい値を超えるため、判定部109は、1時のグループ1530−1を構成するエッジ1520a〜1520cは線傷に該当すると判定する。
3時のグループ1530−3および4時のグループ1530−4に関しては、長さの合計値がしきい値を超えない。よって、判定部109は、3時のグループ1530−3を構成するエッジ1520dおよび4時のグループ1530−4を構成するエッジ1520eは線傷に該当しないと判定する。
S1312の処理が完了すると、S1205の線傷検出処理が終了する。
線傷検出処理が終了すると、図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の処理によって検出された線傷に対してさらに絞り込みを実行し、絞り込み後の領域を最終的な検出結果として出力してもよい。
また、時間相関カメラまたはそれと等価な動作をする撮像システムから出力される複素時間相関画像データに基づいて生成された画像に限らず、例えば通常のデジタルスチルカメラを用いて撮像された画像を、線傷の検出に使用してもよい。
以上述べたように、実施形態の検査システムは、複素時間相関画像データに基づいて、振幅、位相、または強度にかかる画像を生成する画像生成部104と、画像生成部104によって生成された画像からエッジを抽出するエッジ抽出部106と、エッジ抽出部106によって抽出されたエッジに基づいて候補領域を特定する候補特定部107と、延伸方向を候補領域毎に算出する処理部108と、延伸方向が同一である1以上の候補領域からなるグループを特定し、グループで候補領域の長さの合計値を算出し、候補領域の長さの合計値に基づいてグループを構成する1以上の候補領域が線傷に該当するか否かを判定する判定部109と、を備える。
この構成により、検査システムは、過検出を防止しつつ線傷を検出することが可能である。即ち、実施形態の検査システムは、線傷を高精度に検出することが可能である。
なお、候補領域の長さの合計値は、グループの特徴の一例である。グループの特徴は、候補領域の長さの合計値に限定されない。
例えば、グループを構成する候補領域の数がグループの特徴として採用され得る。グループを構成する候補領域の数が所定値を越える場合には、判定部109は、当該グループを構成する候補領域は線傷に該当すると判定し得る。また、グループを構成する候補領域の数が所定値に満たない場合には、判定部109は、当該グループを構成する候補領域は線傷に該当しないと判定し得る。グループを構成する候補領域の数が所定値に等しい場合には、判定部109は、当該グループを構成する候補領域は線傷に該当すると判定してもよいし、線傷に該当しないと判定してもよい。
また、グループの特徴の算出方法は、加算に限定されない。判定部109は、候補領域の長さの重み付け加算によってグループの特徴を取得してもよい。
なお、以上では、処理部108は、各候補領域の長さを算出し、判定部109は、グループを構成する候補領域の長さの合計値に基づいて判定を実行する、として説明した。
長さの合計値をグループの特徴量として採用することによって、線傷にかかる特徴量と、ノイズやブツなど線傷以外の異常にかかる特徴量と、を著しく異ならせることができる。これによって、ノイズやブツなどを誤って線傷として検出することを防止することができる。つまり、線傷の検出の精度が向上する。
また、判定部109は、候補領域に対し、長さに基づく絞り込みを実行する。
この構成により、形状的な特徴が線傷に該当しない領域を候補領域から除外することができる。これによって、ノイズやブツなどを誤って線傷として検出することをさらに抑制することができるので、線傷の検出の精度がさらに向上する。
また、実施形態によれば、処理部108は、直径を候補領域毎に演算する。そして、判定部109は、候補領域に対し、長さに基づく絞り込みを実行する。
これによって、面積が所定値に満たないなど、面積的な特徴が線傷に該当しない領域を候補領域から除外することができる。これによって、線傷の検出の精度がさらに向上する。
また、実施形態によれば、判定部109は、候補領域に対し、長さと直径との比率に基づく絞り込みを実行する。
これによって、面積に対する長さが所定値に満たないなど、形状的な特徴が線傷に該当しない領域を候補領域から除外することができる。これによって、線傷の検出の精度がさらに向上する。
また、候補特定部107は、エッジ画素を連続性に基づいて候補領域に分類する。
これによって、エッジ抽出された結果に基づいて候補領域を特定できる。
また、処理部108は、各エッジ画素におけるエッジの接線が延びる方向(接線方向)を算出し、エッジ画素毎の接線方向に基づいて各候補領域の延伸方向を算出する。
これによって、各候補領域の延伸方向を精度よく算出することが可能である。
また、処理部108は、エッジのよって分割された2つの領域(高輝度領域および低輝度領域)のうちの低輝度領域から高輝度領域に向かう方向(高輝度領域方向)を算出し、高輝度領域方向に直交する方向を接線方向として算出する。
これによって、エッジ画素毎の接線方向を精度よく算出することが可能である。
なお、処理部108は、高輝度領域から低輝度領域に向かう方向を算出し、当該方向に直交する方向を接線方向として算出してもよい。
また、候補領域の延伸方向の算出の方法は、上記した方法に限定されない。
一例では、処理部108は、ある候補領域に外接する矩形を算出し、当該矩形の長手方向をその候補領域の延伸方向として算出してもよい。
別の例では、処理部108は、x方向においてある候補領域が分布する範囲(画素数)をdxとし、y方向においてその候補領域が分布する範囲(画素数)をdyとし、dxとdyとの関係に基づいてその候補領域の方向を算出してもよい。処理部108は、dxとdyとの比(つまり傾き)をその候補領域の方向としてもよいし、arctan(dy/dx)の演算によって得られる値をその候補領域の方向としてもよい。
さらに別の例では、処理部108は、ある候補領域を構成する全てのエッジ画素の座標値を最小二乗法などを用いることによって直線に近似し、近似によって得られた直線の傾きに基づいてその候補領域の方向を算出してもよい。
以下、実施形態のいくつかの変形例について説明する。
<第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つの検査対象面に対して、異なる方向に延びた複数の縞パターンを出力する。
図19は、第2変形例の照明制御部102が出力する縞パターンの切り替え例を示した図である。図19の(A)では、照明制御部102は、照明装置120が表示する縞パターンをx方向に遷移させる。その後、図19の(B)に示されるように、照明制御部102は、照明装置120が表示する縞パターンをy方向に遷移させる。
そして、PC100の制御部103は、図19の(A)の縞パターン照射から得られた時間相関画像データに基づいて、線傷検出処理を行い、図19の(B)の縞パターン照射から得られた時間相関画像データに基づいて、線傷検出処理を行う。
図20は、第2変形例の照明制御部102が、異常(欠陥)2001を含めた表面に縞パターンを照射した例を示した図である。図20に示される例では、異常(欠陥)2001が、x方向に延びている。この場合、照明制御部102は、x方向に交差するy方向、換言すれば異常(欠陥)2001の長手方向に交差する方向に縞パターンが移動するように設定する。当該設定により、検出精度を向上させることができる。
図21は、図20において、y方向、換言すれば異常(欠陥)2001の長手方向に直交する方向に縞パターンを変化させた場合における、異常(欠陥)2001とスクリーン130上の縞パターンの関係を示した図である。図21に示されるように、y方向に幅が狭く、且つ当該y方向に交差するx方向を長手方向とする異常(欠陥)2001が生じている場合、照明装置120から照射された光は、x方向に交差するy方向で光の振幅の打ち消しが大きくなる。このため、PC100は、y方向に移動させた縞パターンに対応する振幅画像データから、当該異常(欠陥)2001を検出することが可能である。
第2変形例の検査システムにおいて、被検査体に生じる欠陥の長手方向がランダムな場合には、複数方向(例えば、x方向、および当該x方向に交差するy方向等)で縞パターンを表示することで、線傷の方向を問わずに当該線傷の検出が可能となり、線傷の検出精度を向上させることができる。また、線傷の方向に合わせた縞パターンを投影することで、異常の検出精度を向上させることができる。
<第3変形例>
さらに、実施形態の技術は、上述した第2変形例のような、x方向の線傷検出と、y方向の線傷検出と、を行うために縞パターンを切り替える技術に制限されるものでない。そこで、第3変形例として、照明制御部102が照明装置120に出力する縞パターンをx方向およびy方向に同時に動かす例について説明する。
さらに、実施形態の技術は、上述した第2変形例のような、x方向の線傷検出と、y方向の線傷検出と、を行うために縞パターンを切り替える技術に制限されるものでない。そこで、第3変形例として、照明制御部102が照明装置120に出力する縞パターンをx方向およびy方向に同時に動かす例について説明する。
図22は、第3変形例の照明制御部102が照明装置120に出力する縞パターンの例を示した図である。図22に示される例では、照明制御部102が縞パターンを、方向2201に移動させる。
図22に示される縞パターンは、x方向では1周期2202の縞パターンを含み、y方向では一周期2203の縞パターンを含んでいる。つまり、図22に示される縞パターンは、幅が異なる交差する方向に延びた複数の縞を有している。ここで、第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…候補特定部、108…処理部、109…判定部、110…時間相関カメラ、120…照明装置(照明部)、130…スクリーン(照明部)。
Claims (9)
- 被検査体に対して光の強度の周期的な時間変化および空間変化を与える面的な照明部と、
時間相関カメラまたはそれと等価な動作をする撮像システムから前記被検査体の撮像結果として出力される複素時間相関画像データに基づいて、振幅、位相、または強度にかかる画像を生成する画像生成部と、
前記画像からエッジを抽出するエッジ抽出部と、
前記エッジに基づいて複数の候補領域を特定する候補特定部と、
第1方向を候補領域毎に算出する処理部と、
前記複数の候補領域から前記第1方向が同一である1以上の候補領域からなるグループを特定し、前記グループの特徴に基づいて前記1以上の候補領域が線傷に該当するか否かの判定を実行する判定部と、
を備える検査システム。 - 前記処理部は、長さに対応した第1特徴量を候補領域毎に算出し、
前記判定部は、前記1以上の候補領域の前記第1特徴量の合計値である第2特徴量に基づいて前記判定を実行する、
請求項1に記載の検査システム。 - 前記判定部は、前記複数の候補領域に対し、前記第1特徴量に基づく絞り込みを実行する、
請求項2に記載の検査システム。 - 前記処理部は、面積に対応した第3特徴量を候補領域毎に算出し、
前記判定部は、前記複数の候補領域に対し、前記第3特徴量に基づく絞り込みを実行する、
請求項2または請求項3に記載の検査システム。 - 前記判定部は、前記複数の候補領域に対し、前記第1特徴量と前記第3特徴量との比率に基づく絞り込みを実行する、
請求項4に記載の検査システム。 - 前記候補特定部は、前記エッジを構成する複数の画素を連続性に基づいて前記複数の候補領域に分類する、
請求項1から5の何れか一項に記載の検査システム。 - 前記処理部は、前記複数の画素のそれぞれにおいて前記エッジの接線が延びる第2方向を算出し、前記第2方向に基づいて前記第1方向を算出する、
請求項6に記載の検査システム。 - 前記処理部は、前記エッジによって分割された2つの領域のうちの一の領域から前記2つの領域のうちの他の領域に向かう第3方向を算出し、前記第3方向に直交する方向を前記第2方向として算出する、
請求項7に記載の検査システム。 - 被検査体が映っている画像からエッジを抽出するエッジ抽出部と、
前記エッジに基づいて複数の候補領域を特定する候補特定部と、
候補領域毎に方向を算出する処理部と、
前記複数の候補領域から前記方向が同一である1以上の候補領域からなるグループを特定し、前記グループの特徴に基づいて前記1以上の候補領域が線傷に該当するか否かの判定を実行する判定部と、
を備えた検査システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018238807A JP2020101417A (ja) | 2018-12-20 | 2018-12-20 | 検査システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018238807A JP2020101417A (ja) | 2018-12-20 | 2018-12-20 | 検査システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020101417A true JP2020101417A (ja) | 2020-07-02 |
Family
ID=71139461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018238807A Pending JP2020101417A (ja) | 2018-12-20 | 2018-12-20 | 検査システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020101417A (ja) |
-
2018
- 2018-12-20 JP JP2018238807A patent/JP2020101417A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10739272B2 (en) | Inspection system and inspection method | |
US10724960B2 (en) | Inspection system and inspection method | |
JP6542586B2 (ja) | 検査システム | |
WO2018159825A1 (ja) | 検査システムおよび検査方法 | |
JP2016224707A (ja) | 検査システム | |
JP6276092B2 (ja) | 検査システムおよび検査方法 | |
JP2018028527A (ja) | 検査システム | |
JP2018009849A (ja) | 検査システムおよび検査方法 | |
JP2017101977A (ja) | 検査システムおよび検査方法 | |
JP2018115937A (ja) | 検査システム | |
JP2016109463A (ja) | 検査システム、及び検査方法 | |
JP2020101417A (ja) | 検査システム | |
JP6909378B2 (ja) | 検査システム | |
JP2019002761A (ja) | 検査システムおよび検査方法 | |
JP6703415B2 (ja) | 検査装置及び検査方法 | |
JP6781430B2 (ja) | 検査システム | |
JP2017101979A (ja) | 検査システム | |
JP2018112470A (ja) | 検査システムおよび検査方法 | |
JP6902684B2 (ja) | 画像処理装置および検査システム | |
JP6826813B2 (ja) | 検査装置及び検査方法 | |
JP6909377B2 (ja) | 検査システムおよび検査方法 | |
JP2019174232A (ja) | 検査システムおよび検査方法 | |
JP2020012816A (ja) | 検査システムおよび検査方法 | |
JP2019174288A (ja) | 検査システム | |
JP2018112471A (ja) | 検査システムおよび検査方法 |