(57)【特許請求の範囲】
【請求項１】
被検査面に向けて検査光を照射する光源と、検査光を照射された被検査面を撮影する撮影手段と、この撮影手段により撮影された画像の輝度データの配列を保持して記憶する画像データ記憶手段と、前記画像データ記憶手段に記憶された輝度データを解析して被検査面上の欠陥を検出する画像解析手段とを備えた表面欠陥検出装置であって、
前記被検査面と前記撮影手段との間の垂直離間距離を略一定に維持したままの状態で前記被検査面と前記撮影手段との間に相対移動を生じさせる走査用移動手段と、
前記相対移動の量が前記撮影手段の撮影範囲内にある間に前記撮影手段を繰り返し作動させて前記被検査面の画像を取り込む画像取り込み手段と、
前記画像取り込み手段によって画像が取り込まれる度、前回の画像取り込み時点から今回の画像取り込み時点までの間に生じた前記相対移動の量に基づいて、この相対移動の量に対応する前記画像データ記憶手段上の輝度データの書き込み開始位置を算出するオフセット量算出手段と、
前記オフセット量算出手段で算出された書き込み開始位置に基づき、その時点で既に前記画像データ記憶手段上に記憶されている輝度データに今回の撮影で取り込まれた画像の輝度データを加算して書き込む輝度データ書き込み手段とを有し、
前記光源と前記撮影手段との相対的な位置が固定され、前記光源は、前記相対移動の向きと交差する方向に帯状に広がって照射される複数の検査光を所定のピッチで有し、かつ、前記走査用移動手段による相対移動の速度は、前記画像取り込み手段の画像の取り込み周期の間に生じる相対移動の量が前記所定のピッチと一致しないように調整されると共に、
前記画像解析手段には、前記画像データ記憶手段に記憶された輝度データを解析して、設定範囲内の輝度が所定のしきい値以上の面積に亘って検出された場合に欠陥として検出する欠陥検出機能を配備したことを特徴とする表面欠陥検出装置。
【請求項２】
前記撮影手段は撮影された画像を多階調のディジタルデータとして出力するものであり、前記輝度データ書き込み手段は、前記画像を微分処理して前記画像データ記憶手段上に書き込むものである請求項１記載の表面欠陥検出装置。
【請求項３】
前記撮影手段は撮影された画像を多階調のディジタルデータとして出力するものであり、前記輝度データ書き込み手段は、前記画像を微分処理した後に二階調化し、更に、二階調化されたデータに対して膨張処理を行って前記画像データ記憶手段上に書き込むものである請求項１記載の表面欠陥検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、撮影手段によって取り込まれた画像の輝度データを解析して被検査面上の欠陥を検出する表面欠陥検出装置の改良に関する。
【０００２】
【従来の技術】
画像の輝度データを解析して被検査面上の欠陥を検出する表面欠陥検出装置としては、レーザービーム等の収束光を被検査面に照射し、その反射光をセンサによって検出することで欠陥の有無を検出するもの、また、ＬＥＤ等の検査光で被検査面を照明してＣＣＤカメラ等の撮影手段で画像を取り込み、その画像を所定の手続きに従ってマイクロプロセッサ等で処理することにより欠陥の有無を判定するようにしたもの等が既に多数提案されている。
また、比較的広い面積に亘って欠陥の有無を検出する必要がある場合、例えば、車両のルーフやボンネットの塗装面等の異常を検出するものにおいては、レーザービームやセンサ、または、ＬＥＤ等の検査光やＣＣＤカメラ等の撮影手段を被検査面に対して相対的に移動させながら異常の有無を検出していくものが一般的である。
表面欠陥検出装置の使用環境に関して言えば、必ずしも、検査専用のラインに設置されるというわけではなく、他の生産ラインや作業スペース等と隣接した場所で使用されることも多い。
【０００３】
【発明が解決しようとする課題】
そこで問題となるのが、外部からの光による外乱である。レーザービームやＬＥＤ等の検査光を使用した表面欠陥検出装置は、いずれも外部からの光による干渉に弱く、他の作業スペースに設置された蛍光灯や白熱電球からの光を受けたり、また、その点灯や消灯によって被検査面に照度変化が生じたり、部分的な明暗比（コントラスト）が変化したりすると、センサやＣＣＤカメラがその外乱を拾い、正常な動作が妨げられるといった可能性もあった。
【０００４】
このような不都合を解消するための検査装置として、例えば、特開平８−２４７９６１号公報に開示されるように、ＣＣＤカメラ等を被検査面に対して一定の速度で相対移動させながら連続的に撮影を行い、撮影タイミングの異なる複数の画像から画像中の移動物を検出し、前述した相対移動の速度から次の撮影時における移動物の位置を予測し、次の撮影時における移動物の位置と予測位置とが一致した場合にこれを被検査面上に実在する異常、即ち、外乱ではなく直接的に検査面に関連した欠陥として検出するようにしたものが知られている。
しかし、このものは画像上の移動物の位置を予測するためにＣＣＤカメラ等と被検査面との間の相対移動速度を厳密に把握する必要があり、生産ラインが一様な速度で稼動しないような場合、例えば、一時停止の工程を含むタクト形式等の場合では、その欠陥検出機能が十分に機能しなくなるといった恐れがある。
【０００５】
【発明の目的】
そこで、本発明の目的は、前記従来技術の欠点を解消し、照明状態の明暗の変化による悪影響を受けにくく、また、装置を設置した生産ラインの移動速度が必ずしも一様でない場合であっても、被検査面の欠陥を安定的に検出することのできる表面欠陥検出装置を提供することにある。
【０００６】
【課題を解決するための手段】
図１は本発明が前記目的を達成するために採用した手段の概略について示すクレーム対応図である。本発明は、被検査面（Ａ）と撮影手段（Ｂ）との間の垂直離間距離を略一定に維持したままの状態で被検査面（Ａ）と撮影手段（Ｂ）との間に相対移動を生じさせる走査用移動手段（Ｃ）と、前記相対移動の量が撮影手段（Ｂ）の撮影範囲（Ｊ）内にある間に撮影手段（Ｂ）を繰り返し作動させて被検査面（Ａ）の画像を取り込む画像取り込み手段（Ｄ）と、画像取り込み手段（Ｄ）によって画像が取り込まれる度、前回の画像取り込み時点から今回の画像取り込み時点までの間に生じた前記相対移動の量に基づいて、この相対移動の量に対応する画像データ記憶手段（Ｅ）上の輝度データの書き込み開始位置を算出するオフセット量算出手段（Ｆ）と、オフセット量算出手段（Ｆ）で算出された書き込み開始位置に基づき、その時点で既に画像データ記憶手段（Ｅ）上に記憶されている輝度データに今回の撮影で取り込まれた画像の輝度データを加算して書き込む輝度データ書き込み手段（Ｇ）とを有し、光源と撮影手段（Ｂ）との相対的な位置が固定され、前記光源は、前記相対移動の向きと交差する方向に帯状に広がって照射される複数の検査光を所定のピッチで有し、かつ、走査用移動手段（Ｃ）による相対移動の速度は、画像取り込み手段（Ｄ）の画像の取り込み周期の間に生じる相対移動の量が前記所定のピッチと一致しないように調整されると共に、画像解析手段（Ｈ）には、画像データ記憶手段（Ｅ）に記憶された輝度データを解析して、設定範囲内の輝度が所定のしきい値以上の面積に亘って検出された場合に欠陥として検出する欠陥検出機能を配備することにより前記目的を達成した。
被検査面（Ａ）と撮影手段（Ｂ）との間の相対移動の量が撮影手段（Ｂ）の撮影範囲（Ｊ）内にある間に撮影手段（Ｂ）が繰り返し作動する。また、輝度データ書き込み手段（Ｇ）は、前回の画像取り込み時点から今回の画像取り込み時点までの間に生じた相対移動の量に対応する画像データ記憶手段（Ｅ）上の輝度データ書き込み開始位置を求め、その時点で既に画像データ記憶手段（Ｅ）上に記憶されている輝度データに加算して、今回の撮影で取り込まれた画像の輝度データを書き込む。被検査面（Ａ）と撮影手段（Ｂ）との間の相対移動の量が撮影手段（Ｂ）の撮影範囲（Ｊ）内にある間に撮影手段（Ｂ）が繰り返し作動する結果、画像データ記憶手段（Ｅ）には、順次、相対移動の量に相当する記憶領域の分だけ輝度データが重複して積算されていくことになる。
従って、輝度が低い部分、即ち、輝度データの値が小さい部分が被検査面（Ａ）上の座標系を基準として同一位置で安定的に検出された場合には、複数回の撮影によってその部分の値が何回積算されても、その部分の最終的な輝度データの積算値は低い値に保たれる。
一方、輝度が高い部分、即ち、輝度データの値が大きい部分が被検査面（Ａ）上の座標系を基準として同一位置で安定的に検出された場合には、その部分の値が積算される度にその部分の輝度データの値が著しく大きくなる。
更に、輝度が高い部分や低い部分が被検査面（Ａ）上の座標系を基準として様々な位置でランダムに検出された場合は、１回の撮影ではその輝度データの値がそのまま反映されるが、最終的に何回かの撮影と積算が繰り返し行われる結果、このようなランダムな輝度データの値は、前述した同一位置で安定的に検出される輝度データ、つまり、常に暗い値を示す輝度データや常に明るい値を示す輝度データによって、暗い値または明るい値のいずれか一方に平準化される。例えば、同一個所を重複してｎ回撮影し、そのうちの１回で外乱の影響を受けたデータが検出されたとすれば、この外乱によるデータが積算値に与える影響の重みは最終的には１／ｎである。
つまり、前述した様々な位置でランダムに検出される輝度データは、外乱の影響によるものであり、この外乱による影響は、複数の撮影の繰り返しとそれに伴う輝度データの積算によって平準化されるので、最終的に画像データ記憶手段（Ｅ）に記録された積算データを適切なしきい値と比較して明暗を判定することによって外乱の影響を排除することができる。
しかも、走査用移動手段（Ｃ）による相対移動の速度は、画像取り込み手段（Ｄ）の画像の取り込み周期の間に生じる相対移動の量が前記所定のピッチと一致しないように調整されているので、相対移動の向きと交差する方向に帯状に広がって照射される複数の検査光を所定のピッチで備えた光源を利用して光源と撮影手段（Ｂ）との相対的な位置を固定して作業を行うような場合であっても、撮影手段（Ｂ）が作動するときに被検査面（Ａ）上の座標系を基準として常に同一位置で安定的に検査光が検出されることはなく、検査光の照射によって生じる明暗の境が誤って被検査面（Ａ）上の欠陥として検出されといった不都合を防止することができる。
【０００７】
また、撮影手段（Ｂ）によって撮影された画像を多階調（例えば２５６階調）のディジタルデータとして出力する場合は、前記輝度データ書き込み手段（Ｇ）によって画像に微分処理を施し、画像の明暗の境を明確に強調してから画像データ記憶手段（Ｅ）に書き込むことにより、欠陥の検出精度を高めることができる。
【０００８】
更に、前述した微分処理を行った後に画像に膨張処理を施すことにより、微小な欠陥部分を一層確実に検出することができる。多階調（例えば２５６階調）のディジタルデータに膨張処理を施すためには、それを実施するマイクロプロセッサに強力な処理能力が要求されるが、膨張処理を行う前の段階で前記多階調（例えば２５６階調）のディジタルデータを予め二階調化して処理を単純化することにより、容易に膨張処理を実施することができる。また、こうすることによって画像データ記憶手段（Ｅ）に記録される輝度データも二階調化されるので、画像データ記憶手段（Ｅ）に必要とされるメモリ容量も大幅に軽減することができる。
【００１０】
【発明の実施の形態】
以下、図面を参照して本発明の一実施形態について詳細に説明する。図２は本発明を適用した一実施形態の表面欠陥検出装置１の構成について示す概念図であり、一例として、車両２のルーフ塗装面３を被検査面として塗装の欠陥を検出する場合の構造について示している。
図２に示す通り、表面欠陥検出装置１は、被検査面となるルーフ塗装面３に向けて検査光を照射するための光源４と、撮影手段となるＣＣＤカメラ５、および、車両２を載置した台車６をＣＣＤカメラ５に対して相対移動させるための走査用駆動手段７を備え、これらの要素は、表面欠陥検出装置１の主要部を構成する検査用制御装置８によって駆動制御されるようになっている。
【００１１】
検査用制御装置８は、画像取り込み手段，オフセット量算出手段，輝度データ書き込み手段および画像解析手段となるマイクロプロセッサ（以下、単にＭＰＵという）９を有し、該ＭＰＵ９には、前述した各手段の機能を達成するための制御プログラムを格納したＲＯＭ１０や、演算データの一時記憶等に用いられるＲＡＭ１１、および、入出力回路１２を介してＣＣＤカメラ５から取り込まれた画像データを一時記憶するためのフレームメモリ１３、更には、画像データ記憶手段としての不揮発性メモリ１４等がバス１５を介して接続されている。なお、インターフェイス回路１６は、検査用制御装置８を工場内の別のホストコンピュータに接続してデータの入出力を行ったり、プリンタ等に接続してデータの印字出力を行ったりするためのものである。また、操作パネル１７は欠陥検出処理のための起動指令等を入力するためのもので、データ表示用のディスプレイやキーボード等を必要に応じて備える。
【００１２】
光源４およびＣＣＤカメラ５と走査用移動手段７は入出力回路１２を介してＭＰＵ９によって駆動制御される。また、ＣＣＤカメラ５で撮影された画像の輝度データは入出力回路１２を介してＭＰＵ９に取り込まれ、フレームメモリ１３に一時記憶される。図２の例では、車両２を載置した台車６を走査用移動手段７で移動させることによって光源４およびＣＣＤカメラ５に対してルーフ塗装面３を相対移動させるようにしているが、これとは逆に、車両２の側を固定して光源４およびＣＣＤカメラ５の側を移動させる構成としてもよい。
【００１３】
図３は光源４を取り出してその構造を詳細に示した図である。光源４は、多数のＬＥＤ１８を縦横に密接配備して帯状に形成した複数の光源ユニット４ａ，４ｂ，４ｃ，・・・を備える。光源４は、ＬＥＤ１８を下に向けた状態で、光源ユニット４ａ，４ｂ，４ｃ，・・・の長手方向が走査用移動手段７による台車６の送り方向と交差するようにして、例えば図２に示すように、ＣＣＤカメラ５と共に工場内の天井等に固定して取り付けられる。各光源ユニット４ａ，４ｂ，４ｃ，・・・から照射される検査光４ａ’，４ｂ’，４ｃ’の例を図２に二点鎖線で示す。
【００１４】
ＣＣＤカメラ５は、一回の走査によってルーフ塗装面３上の塗装の欠陥を検出する必要上、図２の紙面厚み方向に重合して複数配備されているが、いずれのＣＣＤカメラ５に関しても、その処理動作に関しては同様であるので、以下の説明では、一つのＣＣＤカメラ５を取り上げて全体的な処理について説明する。
一つのＣＣＤカメラ５の撮影範囲１９と該ＣＣＤカメラ５によって走査されるルーフ塗装面３上の検査領域２０との関係について図４に示す。ＣＣＤカメラ５は、図４に示すように、台車６を移動させる走査用移動手段７の１回の送り動作によってルーフ塗装面３の端から端まで相対移動し、その間に複数回の撮影動作を実行する。
【００１５】
図５はＣＣＤカメラ５によって撮影される画像と各撮影時毎に画像データ記憶手段としての不揮発性メモリ１４に書き込まれる画像データとの関係について大まかに示す概念図であり、図５（ａ）では各撮影タイミングにおけるルーフ塗装面３上の検査領域２０に対するＣＣＤカメラ５の撮影範囲１９の実位置を符号１９ａ，１９ｂ，１９ｃ，・・・で示し、また、図５（ｂ）では、各撮影タイミングに対応させて、不揮発性メモリ１４上における輝度データの書き込み位置をフレーム１，フレーム２，フレーム３，・・・で示している。
【００１６】
図５（ａ）に示すように、一回の撮影周期間のＣＣＤカメラ５の相対移動量ΔＹｄ’はＣＣＤカメラ５の撮影範囲Ｙｄよりも小さくなるように調整されている。また、ＣＣＤカメラ５によって画像が取り込まれる度に、前回の画像取り込み時点から今回の画像取り込み時点までの間に生じたＣＣＤカメラ５の相対移動の量に基づいて、この一回の撮影周期間の相対移動量に対応する不揮発性メモリ１４の輝度データ書き込み開始位置を求め、その時点で既に不揮発性メモリ１４上に記憶されている輝度データに加算して、今回撮影した画像の輝度データを前述の書き込み開始位置から加算して書き込むようにしているので、図５（ｂ）に示すように、不揮発性メモリ１４上の各記憶領域、例えば、フレーム１，フレーム２，フレーム３，・・・には、複数回の撮影データが重複して加算されることになる。
【００１７】
図１２に本実施形態におけるＣＣＤカメラ５の撮影範囲１９の実際の寸法とＣＣＤカメラ５におけるＣＣＤのドットの配列との関係、および、ＣＣＤのドットの配列と不揮発性メモリ１４上における輝度データの記憶位置との関係について示す。
【００１８】
この実施形態においては、図１２（ａ）に示すように、ＣＣＤカメラ５の撮影範囲１９の実際の幅、つまり、ＣＣＤカメラ５の相対移動方向と直行する向きの長さがＸｍ（mm）、また、ＣＣＤカメラ５の撮影範囲１９の実際の長さ、要するに、ＣＣＤカメラ５の相対移動方向に対応する撮影範囲１９の長さがＹｍ（mm）であって、ＣＣＤカメラ５の受光面の横方向に配列されたドットの数がＸｄ（ドット）、また、長さ方向に配列されたドットの数がＹｄ（ドット）であるとする。従って、ルーフ塗装面３に対するＣＣＤカメラ５の実際の移動量１（mm）は、ＣＣＤカメラ５の受光面上のドット数にしてＸｄ／Ｘｍ＝Ｙｄ／Ｙｍ（ドット）の移動量に相当する。
【００１９】
そして、この実施形態の場合、ＣＣＤカメラ５で撮影された画像から垂直方向に１／２の割合でデータを間引きすることによって奇数行のデータだけを取り出すようにしているので、実際にＣＣＤカメラ５から取り出される画像の輝度データ１９’の大きさは、図１２（ｂ）に示されるように、幅方向にＸｄ（ドット）分、また、長さ方向にはＹｄ／２（ドット）分となる。従って、ＣＣＤカメラ５の実際の移動量１（mm）は、図１２（ｃ）の不揮発性メモリ１４上におけるデータの行数としては、最終的に、Ｘｄ／Ｘｍ／２＝Ｙｄ／Ｙｍ／２行分となる。
【００２０】
また、図１２（ｃ）に示すように、ルーフ塗装面３の検査領域２０の長さをＬｍ（mm）とすると、これに対応する不揮発性メモリ１４上のデータの行数は、Ｌｄ＝Ｌｍ・（Ｘｄ／Ｘｍ）／２となり、結果的に、不揮発性メモリ１４には、幅方向にＸｄ（列）、また、長さ方向にＬｍ・（Ｘｄ／Ｘｍ）／２（行）のデータを記憶するだけの記憶領域が必要になる。撮影された画像を２５６階調のグレースケールのディジタルデータとして取り出すとすれば、２５６階調分の色深度を８（bit）として、不揮発性メモリ１４には、Ｘｄ・Ｌｄ・８（bit）分の記憶領域が必要である。
【００２１】
また、仮に、ルーフ塗装面３に対するＣＣＤカメラ５の相対移動速度がＶmax・Ｖ／１００（mm/sec.）、ＣＣＤカメラ５による撮影の繰り返し周期が２・ｔ（sec.）であるとすると、この間のＣＣＤカメラ５の実移動量はＶmax・Ｖ／１００・２・ｔ（mm）であり、これに対応する不揮発性メモリ１４上の移動量ΔＹｄは、データの行数にしてＶmax・Ｖ／１００・２・ｔ・Ｘｄ／Ｘｍ／２（行）分である。
この実施形態においては、ルーフ塗装面３に対するＣＣＤカメラ５の相対移動速度の最大値をＶmax（mm/sec.）とし、その値にオーバーライド値Ｖ（％）を乗じて実際の相対移動速度を設定するようにしているので、ＣＣＤカメラ５の実際の相対移動速度の値は、既に述べたようにＶmax・Ｖ／１００（mm/sec.）で表される。また、撮影周期２・ｔ（sec.）は実質的に固定的な値であり、図１４に示すように、ＣＣＤカメラ５の垂直同期信号の周期ｔ（sec.）の２倍の値として設定されている。
【００２２】
ＭＰＵ９は、図１４に示すように、基準となる垂直同期信号からｔ（sec.）の間でＣＣＤカメラ５からの画像データの取り込みに関する処理を実行し、残るｔ（sec.）の間に、前述した輝度データの間引き抽出やグレースケール画像の微分処理、および、輝度データの加算処理等を実施する。そして、ＭＰＵ９は、後述する欠陥検出処理により、画像データの取り込みに関する処理と輝度データの間引き抽出およびグレースケール画像の微分や輝度データの加算処理等を撮影周期２・ｔ（sec.）毎に繰り返し実行し、図５（ａ）に示されるように、ＣＣＤカメラ５の相対移動量ΔＹｄ’の積算値が、ＣＣＤカメラ５の撮影範囲Ｙｄに達する度、つまり、図１２（ｃ）の不揮発性メモリ１４上における撮影周期毎の相対移動量ΔＹｄの積算値Ｙｃの値がＹｄ／２に達して１フレーム分の撮影領域に対する撮影処理が終わる度に、この１フレーム分の撮影領域に対して表面欠陥の有無を判定する。
【００２３】
不揮発性メモリ１４上での画像データの書き込み開始位置はルーフ塗装面３に対するＣＣＤカメラ５の相対移動量に対応してシフトするので、図５(ａ)および図５（ｂ）から明らかなように、各撮影タイミングにおける不揮発性メモリ１４上でのデータの書き込み開始位置は、前述した不揮発性メモリ１４上での相対移動量ΔＹｄの積算値Ｙｃに基づいて決めればよい。但し、この実施形態の場合、実際には、積算値Ｙｃの値は１フレーム分の撮影領域に対する判定処理が完了する度、次の１フレームのカウントを実施するためににリセットされるようになっているので、図１２（ｃ）に示すように、ＣＣＤカメラ５が検査領域２０上の移動を完了するまでの間継続して相対移動量ΔＹｄの積算を続けるもう一つの積算値記憶レジスタＹｍを用意し、このレジスタＹｍを用いて不揮発性メモリ１４上でのデータの書き込み開始位置を特定するようにしている。ある撮影タイミングで撮影された画像の輝度データ１９’，１９”と、これらの輝度データ１９’，１９”が実際に書き込まれる不揮発性メモリ１４上の位置との関係を図１２（ｂ）および図１２（ｃ）に実例を挙げて示す。
【００２４】
図６〜図８は画像取り込み手段，オフセット量算出手段，輝度データ書き込み手段および画像解析手段となるＭＰＵ９によって実施される欠陥検出処理の概略を示すフローチャートである。以下、これらのフローチャートを参照して機能実現手段としてのＭＰＵ９の処理動作について詳細に説明する。
【００２５】
オペレータが操作パネル１７を操作して欠陥検出処理のための起動指令を入力すると、ＭＰＵ９は、まず、ステップａ１の判別処理でこの操作を検出し、光源４に電源を投入した後、オーバーライド値記憶レジスタＶに、不揮発性メモリ１４に予め登録されているデフォルト値（例えば５０％）をセットし（ステップａ２）、このオーバーライド値に相当する走査用移動手段７の相対送り速度Ｖmax・Ｖ／１００（mm/sec.）の値を算出し、その送り速度でルーフ塗装面３に対するＣＣＤカメラ５および光源４の相対送りを開始する（ステップａ３）。
【００２６】
次いで、ＭＰＵ９は、ＣＣＤカメラ５および光源４の現在位置がルーフ塗装面３上の検査開始位置に到達しているか否かを判別し、達していなければ、ＣＣＤカメラ５および光源４の現在位置が検査開始位置に到達するまで、その送り動作を保持して送り動作を続ける（ステップａ４）。
【００２７】
そして、ＣＣＤカメラ５および光源４の現在位置が検査開始位置に到達したことがステップａ４の判別処理で検出されると、画像取り込み手段としてのＭＰＵ９は、積算値記憶レジスタＹｍおよび積算値記憶レジスタＹｃの値を共に０に初期化し（ステップａ５）、経過時間計測タイマＴをリスタートさせて経過時間の計測を開始すると共に（ステップａ６）、ＣＣＤカメラ５にスナップショット指令を出力して撮影および画像の取り込みを実施し、図１２（ａ）に示されるように、ＣＣＤカメラ５で撮影された画像の輝度データＰ（１，１）〜Ｐ（Ｘｄ，Ｙｄ）のうち奇数行の輝度データだけを取り出し、その配列状態を保持したまま、各スポットの輝度データを図１２（ｂ）に示すようにしてフレームメモリ１３のＰ（１，１）〜Ｐ（Ｘｄ，Ｙｄ／２）のスポットに一時記憶する（ステップａ７）。
なお、フレームメモリ１３に記憶される輝度データは、結果的に、Ｐ（１，１）〜Ｐ（Ｘｄ，Ｙｄ／２）までとなるが、ここで取り出すのは飽くまでＣＣＤカメラ５の奇数行の輝度データのみであるから、フレームメモリ１３上におけるＰ（Ｘｄ，Ｙｄ／２）のスポットの輝度データはＣＣＤカメラ５上におけるＰ（Ｘｄ，Ｙｄ）の輝度データと同一である。
【００２８】
フレームメモリ１３上に取り込まれた輝度データの実例を図１５（ａ１）に示す。図１５（ａ１）において白く見える３本の線４ａ’，４ｂ’，４ｃ’は光源ユニット４ａ，４ｂ，４ｃからの検査光、また、白点２１はルーフ塗装面３上の欠陥、例えば、傷である。この実施形態ではＣＣＤカメラ５から２５６階調のグレースケールで輝度データを取り込むようにしており、白部分の輝度の値は２５５またはそれに近い値であり、黒部分の輝度の値は０またはそれに近い値である。
【００２９】
フレームメモリ１３上に輝度データを取り込んだＭＰＵ９は、次いで、フレームメモリ１３上のＰ（ｘ，ｙ）＝Ｐ（１，１）〜Ｐ（Ｘｄ，Ｙｄ／２）の各々のデータに微分処理を施し、明暗の輪郭を強調した微分データＰ’（ｘ，ｙ）＝Ｐ’（１，１）〜Ｐ’（Ｘｄ，Ｙｄ／２）を生成し、その値をフレームメモリ１３上に再格納する（ステップａ８）。微分値を求める演算式としては、ステップａ８に示すように、Ｐ’（ｘ，ｙ）＝｜Ｐ（ｘ＋ｎ１，ｙ）−Ｐ（ｘ−ｎ１，ｙ）｜＋｜Ｐ（ｘ，ｙ＋ｎ２）−Ｐ（ｘ，ｙ−ｎ２）｜の式を利用しており、Ｐ（ｘ，ｙ）の位置を基準として、幅方向では左右に各々ｎ１ドット離れた輝度データの輝度差をとって微分データとする一方、長さ方向では上下に各々ｎ２ドット離れた輝度データの輝度差をとって、点Ｐ（ｘ，ｙ）における微分データＰ’（ｘ，ｙ）とするようにしている。
本実施形態で採用した微分フィルタの概念を図１３に示す。図１３（ａ）は幅方向の微分処理に用いるフィルタ、また、図１３（ｂ）は長さ方向の微分処理に用いるフィルタであり、本実施形態においては係数ｎ１の値は２、また、係数ｎ２の値は１となっている。しかし、フレームメモリ１３上のデータは前述したＣＣＤカメラ５の奇数行からのデータの取り出しによって長さ方向に１／２の割合で圧縮されているので、ＣＣＤカメラ５で取り込んだ画像の元データを基準としてみれば、結果的に、ｎ１＝ｎ２＝２であることと同値である。
【００３０】
図１５（ａ１）の輝度データをステップａ８の処理で微分した結果を図１５（ｂ１）に示す。図１５（ｂ１）で黒に見える部分は微分データの値が０またはそれに近い値を示す部分、要するに、輝度の不連続的な変化がない部分であり、また、図１５（ｂ１）で白く見える部分は微分データの値が２５５またはそれに近い値を示す部分、要するに、輝度データの明暗の輪郭が強調された部分２２である。図１５（ａ１）のデータに比べて白点２１の部分、つまり、ルーフ塗装面３上の欠陥の部分が一層明確になっていることが分かる。
【００３１】
このようにして１回の撮影データに対する微分処理を終え、輝度データとしての微分データをフレームメモリ１３に格納したＭＰＵ９は、次いで、フレームメモリ１３上の微分データの値を不揮発性メモリ１４に加算して記憶する輝度データ書き込み処理を実施する（ステップａ９）。この加算および記憶に関する処理は、ステップａ９および図１２（ｃ）に示す通り、不揮発性メモリ１４上の記憶位置Ｐ０（１，１＋Ｙｍ）〜Ｐ０（Ｘｄ，Ｙｄ／２＋Ｙｍ）のＰ０（ｘ，ｙ）の各々に対してフレームメモリ１３上の微分データＰ’（１，１）〜Ｐ’（Ｘｄ，Ｙｄ／２）のＰ’（ｘ，ｙ）の各々を加算することによって行われる。
【００３２】
欠陥検出処理を開始した直後の最初の撮影実施時点では、不揮発性メモリ１４上のデータは全て０に初期化されており、また、積算値記憶レジスタＹｍの値も０であるから、最初のステップａ９の処理によって、結果として、図１２（ｃ）に符号１９’で示す位置、つまり、Ｐ０（１，１）〜Ｐ０（Ｘｄ，Ｙｄ／２）の位置にフレームメモリ１３上の微分データＰ’（１，１）〜Ｐ’（Ｘｄ，Ｙｄ／２）の値がそのまま書き込まれることになる。
【００３３】
また、２回目以降の撮影実施時点では積算値記憶レジスタＹｍにＣＣＤカメラ５の相対移動量に相当する不揮発性メモリ１４上のデータ行数が記憶されているので、例えば、図１２(ｃ)に符号１９”で示すような位置、つまり、不揮発性メモリ１４上のＰ０（１，１＋Ｙｍ）の位置にフレームメモリ１３上の微分データＰ’（１，１）の値が加算して書き込まれ、また、不揮発性メモリ１４上のＰ０（Ｘｄ，Ｙｄ／２＋Ｙｍ）の位置にはフレームメモリ１３上の微分データＰ’（Ｘｄ，Ｙｄ／２）の値がそのまま書き込まれることになる。
既に述べた通り、一回の撮影周期間のＣＣＤカメラ５の相対移動量に対応する不揮発性メモリ１４上のデータ行数ΔＹｄの値はＣＣＤカメラ５の撮影範囲に相当する不揮発性メモリ１４上のデータ行数Ｙｄ／２よりも小さいので、この時点では、既に、不揮発性メモリ１４上のＹｍ＋Ｙｄ／２−ΔＹｄの行までは、前回の撮影とそれ以前の撮影による微分データの書き込みと加算が行われていることを意味する。つまり、図１２(ｃ)に符号１９”で示される記憶領域において二重のハッチングで示される部分に関しては、既に微分データが書き込まれており、その各々のスポットに今回の撮影で求めたフレームメモリ１３上の微分データＰ’（１，１）〜Ｐ’（Ｘｄ，Ｙｄ／２）の値が加算して書き込まれるのである。
【００３４】
微分データの加算および記憶に関する処理を終えたＭＰＵ９は、次いで、ＣＣＤカメラ５の送り速度として設定されているオーバーライドの現在値Ｖ（％）を読み込み、既に述べた関係式により、現時点から起算して撮影周期２・ｔ（sec.）経過後のＣＣＤカメラ５の相対移動量に対応する不揮発性メモリ１４上のデータ行数ΔＹｄの値を求め（ステップａ１０）、その値を積算値記憶レジスタＹｍに加算することによって、次回の撮影で得た微分データの加算および書き込みを開始すべき不揮発性メモリ１４上の記憶開始位置を求め、その値を積算値記憶レジスタＹｍに更新記憶すると共に、積算値記憶レジスタＹｃにもΔＹｄの値を加算する（ステップａ１１）。ＣＣＤカメラ５の送り速度となるオーバーライド値Ｖ（％）が途中で変更されていたような場合であっても、今後の撮影周期２・ｔ（sec.）間の相対移動量ΔＹｄの予測は常にオーバーライドの現在値Ｖ（％）に基づいて行われるので、ＣＣＤカメラ５の相対送り速度が変更された場合であっても、その変更操作に関わりなく、次のデータ書き込み位置を的確に求めることができる。
【００３５】
次いで、ＭＰＵ９は、積算値記憶レジスタＹｃの値がＣＣＤカメラ５の撮影範囲に相当する不揮発性メモリ１４上のデータ行数Ｙｄ／２に達しているか否か、つまり、図５(ｂ)に示されるような１フレーム分の撮影が完了しているか否かを判別する（ステップａ１２）。そして、１フレーム分の撮影が終了していなければ、ＭＰＵ９は、余り時間を待機した後（ステップａ１３）、ステップａ１２の判別処理によって１フレーム分の撮影の完了が確認されるまでの間、前述したステップａ６〜ステップａ１２の処理を繰り返し実行する。
【００３６】
この繰り返し処理の間に抽出される輝度データの一例を図１５（ａ２）〜図１５（ａ４）に時系列で示すと共に、その各々に対応する微分データの例を図１５（ｂ２）〜図１５（ｂ４）に示す。
【００３７】
そして、このような処理を繰り返し実行する間にステップａ１２の判別結果が真となって１フレーム分の撮影が完了したことが確認されると、ＭＰＵ９は、積算値記憶レジスタＹｃの値をリセットし（ステップａ１４）、予め設定されたしきい値、例えば、２３０を基準として、最近の１フレーム分の微分データを加算記憶した不揮発性メモリ１４の記憶領域、つまり、図１２（ｃ）に符号１９”で示されるようなＰ０（１，Ｙｍ−ΔＹｄ）〜Ｐ０（Ｘｄ，Ｙｍ＋Ｙｄ／２−ΔＹｄ）のデータを２値化する（ステップａ１５）。なお、−ΔＹｄは、Ｙｍの値をステップａ１１の処理実行前の状態に戻すための補正値である。
【００３８】
最近の１フレーム分の微分データを加算記憶した不揮発性メモリ１４の記憶領域の一例を図１６(ａ)に示す。
【００３９】
この実施形態では、画像の取り込み周期２・ｔ（sec.）の間にＣＣＤカメラ５に生じる相対移動の量ΔＹｄが検査光４ａ’，４ｂ’，４ｃ’間のピッチと一致しないように調整されている。従って、各撮影周期間にＣＣＤカメラ５に生じる相対移動量ΔＹｄだけデータ列をシフトして不揮発性メモリ１４上で図１５（ｂ１）〜図１５（ｂ４）のデータを加算しても、言い換えれば、白点２１の位置が一致するように図１５（ｂ１）〜図１５（ｂ４）の画像の位置を調整して図１５（ｂ１）〜図１５（ｂ４）の画像を重ね合わせたとしても、図１６（ａ）に示される通り、検査光４ａ’，４ｂ’，４ｃ’の輝度データの明暗強調部分２２が完全に重複することはなく、よって、検査光４ａ’，４ｂ’，４ｃ’の影響で生じる輝度データの明暗強調部分２２自体の輪郭が加算処理によって強調されることはない。
また、照明状態の変化による撮影領域２０のコントラスト変化や近傍に配備された照明を人が横切ることによって生じる瞬間的なコントラストの変化等もこれと同様であり、その影響が常に検査領域２０上の同一位置に現れることはないので、前述した検査光４ａ’，４ｂ’，４ｃ’の影響による明暗強調部分２２の場合と同様、複数回の撮影と加算処理を繰り返すことによって、その影響を排除することができる。
【００４０】
これに対し、欠陥を示す白点２１の部分は、ＣＣＤカメラ５の撮影範囲がその欠陥位置を通過する過程で実施される何回かの撮影、例えば、図１５（ｂ１）〜図１５（ｂ４）の撮影により、常に不揮発性メモリ１４上の同一位置に加算して記憶されることになるので、そのデータの持つ重みは更に強調され、図１６（ａ）に示すように、白点２１の部分が一層目立つようになる。
そこで、予め設定されたしきい値、例えば、２３０を基準として図１６（ａ）に示されるような微分データの積算値を二階調化すると、不揮発性メモリ１４上において常時同じ位置では検出されない輝度データの明暗強調部分２２の部分は色深度２３０以下の黒に属する値と識別されて背景の黒と一体化され、最終的には、図１６（ｂ）に示すように、色深度２３０以上の白に属するデータとして、欠陥を示す白点２１の部分のみが残る。
なお、この実施形態では輝度データの値が大きな部分を明部、また、輝度データの値が小さな部分を暗部として扱っているが、これは飽くまで定義上の問題であるので、輝度データの値と濃度との関係自体は前記とは逆に定義することも可能である。
【００４１】
２値化処理を終えたＭＰＵ９は、次いで、図１６（ｂ）に示されるような２値化済みの輝度データに対して粒子計測と面積計算に関する処理を従来と同様にして実施し（ステップａ１６）、予め設定されたしきい値以上の面積を有する白点データ２１の有無を検出し、しきい値以上の面積を有する白点データ２１が存在すれば、その位置をルーフ塗装面３上の表面欠陥位置として不揮発性メモリ１４の欠陥位置記憶ファイルに記憶する（ステップａ１７）。
【００４２】
次いで、ＭＰＵ９は、積算値記憶レジスタＹｍの値が検査領域２０の全長に相当する不揮発性メモリ１４上のデータ行数Ｌｄに達しているか否か、即ち、ルーフ塗装面３の検査領域２０の全ての部分に対して欠陥検出処理が完了しているか否かを判別する（ステップａ１８）。前述した通り、Ｌｄの値はＬｄ＝Ｌｍ・（Ｘｄ／Ｘｍ）／２である。
【００４３】
そして、検査領域２０の全長に亘る欠陥検出処理が完了していなければ、ＭＰＵ９は、余り時間を待機した後（ステップａ１９）、前述したステップａ６〜ステップａ１８の処理を繰り返し実行し、撮影周期２・ｔ（sec.）毎にＣＣＤカメラ５を起動して画像取り込み等の処理を行い、１フレーム分の撮影領域に対する撮影処理が終わる度に、その１フレーム分の撮影領域に対して表面欠陥の有無を判定し、前記と同様にして不揮発性メモリ１４の欠陥位置記憶ファイルに次々と記憶していく。
【００４４】
そして、最終的にステップａ１８の判別結果が真となり、検査領域２０の全ての部分に対して欠陥検出処理が完了したことが確認された段階で、ＭＰＵ９は、不揮発性メモリ１４の欠陥位置記憶ファイルに記憶されている白点データの位置と大きさ、つまり、検査領域２０上の表面欠陥に関する全てのデータを纏めて出力する（ステップａ２０）。
このデータはインターフェイス回路１６を介してプリンタ等に印字出力してもよいし、また、ホストコンピュータ等に転送して管理させるようにしてもよい。
【００４５】
以上、一実施形態として、ＣＣＤカメラ５を用いて取り込んだ多階調（例えば２５６階調）の画像を微分処理し、撮影位置を考慮して不揮発性メモリ１４上で加算してから二階調化することにより表面欠陥を検出するようにしたものについて述べたが、このような処理手続きで得られる白点２１の微分画像は、図１５（ｂ１）〜図１５（ｂ４）に示されるようにその面積が小さく、表面欠陥検出装置１を配備したラインに大きな振動等の外乱があるような場合には、撮影位置を考慮してこれらの画像を加算（重合）したとしても、必ずしも、図１５（ｂ１）〜図１５（ｂ４）に示されるような白点２１の位置が一致するとは限らず、最終的に、白点２１を欠陥として検出することが困難となる可能性もある。
【００４６】
その原因は、ＣＣＤカメラ５と検査領域２０との間の振動によって生じる白点２１の検出位置のずれであるから、基本的には、図１５（ｂ１）〜図１５（ｂ４）に示される微分画像の白点２１に対して膨張処理（dilate）を施してその面積を増大させることにより対処することが可能である。
【００４７】
しかし、ここで問題となるのが２５６階調で保存された微分画像の膨張処理である。フレームメモリ１３に２５６階調で保存された６４０（ドット）×４８０（ドット）の微分画像に対して膨張処理を施したところ、その所要時間は３３．３（msec.）であった。既に述べた通り、本実施形態においてはＣＣＤカメラ５の垂直同期信号の周期ｔ（sec.）に基づいて２・ｔ（sec.）の周期で１サイクルの処理を実施するようにしているが、ここで用いたＣＣＤカメラ５の垂直同期信号の周期は３３．３（msec.）であるから、２・ｔ（sec.）＝６６．６（msec.）となり、この間に３３．３（msec.）を要する画像の取り込みと３３．３（msec.）を要する膨張処理を実施すると、その他の処理、例えば、輝度データの加算やデータ書き込み開始位置の演算等に関連する処理が実施できなくなるといった問題が発生してしまう。
【００４８】
そこで、これらの不都合を解決して表面欠陥を的確に検出すべく、第二の実施形態においては、ＣＣＤカメラ５から取り込んだ多階調（例えば２５６階調）の画像を前記と同様に微分処理した後、直ちにその画像を２値化してデータの容量を減少させ、この２値化された画像データに対して膨張処理を施すことによりＭＰＵ９の実質的な処理速度を向上させて時間的な問題を解消すると共に、膨張処理によって面積を増大させられた白点２１を加算処理で重合させることで、表面欠陥を的確に検出できるようにした。
【００４９】
この構成によれば、加算処理のために不揮発性メモリ１４に記憶される画像データも二階調となり、結果的に、不揮発性メモリ１４に必要とされるメモリ容量も大幅に軽減され、また、加算処理の対象となるデータのビット数も減るので、全体的な処理速度が向上する。
【００５０】
以下、図９〜図１１のフローチャートを参照して第二の実施形態におけるＭＰＵ９の処理動作について簡単に説明する。なお、ハードウェアの構成に関しては先に述べた実施形態と同様である。
【００５１】
ステップｂ１〜ステップｂ８の処理は初期設定に関する処理やＣＣＤカメラ５からの画像の取り込みと画像の微分処理等に関するもので、その処理内容は、前述した実施形態のステップａ１〜ステップａ８までの処理と同様である。従って、ここでは説明を省略する。前述した実施形態と同様、ステップｂ８の処理が終わった段階でフレームメモリ１３内には図１５（ｂ１）に示されるような微分データの画像が生成されることになる。
【００５２】
次いで、この実施形態では、予め設定されたしきい値（例えば３０）を基準としてフレームメモリ１３内の微分データに対して２値化処理を実施し（ステップｂ９−１）、図１７（ａ１）に示されるような画像を得る。しきい値を３０としているので、検査光４ａ’，４ｂ’，４ｃ’の影響で明暗の輪郭が強調された部分２２や白点２１の部分に隣接する画像データも白に属するデータとして扱われるようになり、結果的に、この２値化処理によっても、図１５（ｂ１）に示されるような微分データの元画像における輪郭強調部分２２や白点２１の面積が僅かに増大することになる。
同時に、図１７（ａ１）に示されるような白点２１’や２１”も見られるようになるが、これは二階調化のためのしきい値を３０に設定することによって生じたノイズであり、白点２１とは違って、実質的な表面欠陥に相当するものではない。
【００５３】
次いで、ＭＰＵ９は、２値化された図１７（ａ１）の画像に対して公知の膨張処理を施し、輪郭強調部分２２や白点２１の面積を増大させる（ステップｂ９−２）。この段階で、図１７（ｂ１）に示されるように、明暗強調部分２２および白点２１やノイズ２１’，２１”が肥大した画像が得られる。膨張処理の対象となるデータが１ビットであるため、膨張処理に必要とされる所要時間は約１８（msec.）と短く、図１４に示されるような処理サイクルの画像取り込みの余り時間３３．３（msec.）を用いて十分に膨張処理を実施することが可能であり、更に膨張処理の余り時間を利用してその他の処理、例えば、輝度データの加算やデータ書き込み開始位置の演算等に関連する処理を実施することができる。
【００５４】
次いで、ＭＰＵ９は、フレームメモリ１３上で膨張処理を施された微分データの値を不揮発性メモリ１４に加算して記憶する輝度データ書き込み処理を実施する（ステップｂ９−３）。
ここで実施される加算処理は、不揮発性メモリ１４上の記憶位置Ｐ０（１，１＋Ｙｍ）〜Ｐ０（Ｘｄ，Ｙｄ／２＋Ｙｍ）の各々のスポットの輝度データとフレームメモリ１３上の記憶位置Ｐ’（１，１）〜Ｐ’（Ｘｄ，Ｙｄ／２）の各々のスポットの輝度データとのＡＮＤをとって、不揮発性メモリ１４上の記憶位置Ｐ０（１，１＋Ｙｍ）〜Ｐ０（Ｘｄ，Ｙｄ／２＋Ｙｍ）の各スポットにデータを書き込むことによって行われる。
つまり、対応するスポットのデータが共に黒（２値化された値が０）であれば結果として書き込まれるデータは黒（値が０）となり、また、対応するスポットのデータが共に白（２値化された値が１）であれば結果として書き込まれるデータは白（値が１）となる。更に、対応するスポットのデータの一方が黒で他方が白であれば結果として書き込まれるデータは黒（値が０）である。
扱われるデータが１ビットのデータに制限されるため、前述した実施形態におけるステップａ９の加算処理に比べ、演算処理の所要時間が短縮される。
【００５５】
ステップｂ１０〜ステップｂ１１の処理は、ＣＣＤカメラ５の相対移動量を求めて不揮発性メモリ１４に対するデータ書き込み開始位置を算出するための処理等であり、その内容は、前述した実施形態のステップａ１０〜ステップａ１１までの処理と同様である。従って、ここでは説明を省略する。
【００５６】
次いで、ＭＰＵ９は、積算値記憶レジスタＹｃの値がＣＣＤカメラ５の撮影範囲に相当する不揮発性メモリ１４上のデータ行数Ｙｄ／２に達しているか否か、つまり、図５(ｂ)に示されるような１フレーム分の撮影が完了しているか否かを判別するが（ステップｂ１２）、１フレーム分の撮影が終了していなければ、余り時間を待機した後（ステップｂ１３）、前記と同様にしてステップｂ６〜ステップｂ１２の処理を繰り返し実行する。
【００５７】
このような処理を繰り返し実行する間に抽出される微分データの例を図１５（ｂ２）〜図１５（ｂ４）に示すと共に、その各々に対応する２値化データを図１７（ａ２）〜図１７（ａ４）に示し、更に、その各々に対応する膨張処理終了後のデータを図１７（ｂ２）〜図１７（ｂ４）に示す。
【００５８】
そして、このような処理を繰り返し実行する間にステップｂ１２の判別結果が真となって１フレーム分の撮影が完了したことが確認されると、ＭＰＵ９は、積算値記憶レジスタＹｃの値をリセットし（ステップｂ１４）、最近の１フレーム分の微分データをＡＮＤの処理で加算して記憶した不揮発性メモリ１４の記憶領域、つまり、図１２（ｃ）に符号１９”で示されるようなＰ０（１，Ｙｍ−ΔＹｄ）〜Ｐ０（Ｘｄ，Ｙｍ＋Ｙｄ／２−ΔＹｄ）のデータを参照して粒子計測と面積計算に関する処理を従来と同様にして実施し（ステップｂ１６）、予め設定されたしきい値以上の面積を有する白点データ２１の有無を検出し、しきい値以上の面積を有する白点データ２１が存在すれば、その位置をルーフ塗装面３上の表面欠陥位置として、不揮発性メモリ１４の欠陥位置記憶ファイルに記憶する（ステップｂ１７）。この実施形態の場合、不揮発性メモリ１４のデータは書き込みの段階で既に２値化されているので、前述した実施形態におけるステップａ１５のような２値化処理は必要ない。
【００５９】
最近の１フレーム分の微分データをＡＮＤの処理で加算して記憶した不揮発性メモリ１４の記憶領域の一例を図１８に示す。前述した通り、白点２１の部分が傷等の欠陥部である。また、図１７（ｂ１）や図１７（ｂ２）に見られるノイズ２１’，２１”の形跡がなくなっていることが分かる。
これは、前述したステップｂ９−３のＡＮＤを利用した加算処理による効果である。つまり、不揮発メモリ１４とフレームメモリ１３の対応するスポットのデータの一方が黒で他方が白であれば結果として不揮発メモリ１４上に書き込まれるデータは黒（値が０）となるので、ＣＣＤカメラ５の撮影範囲が欠陥位置を通過するまでの間に実施される何回かの撮影、例えば、図１７（ｂ１）〜図１７（ｂ４）の撮影により、検査領域２０上の同一位置つまりは不揮発性メモリ１４上の同一位置に、欠陥部分を示す白データが常に検出され続けない限りは、その部分のデータは最終的に白とはされないからである。従って、撮影の都度に検査領域２０上の異なる位置で検出される明暗強調部分２２と二階調化または膨張処理の段階で生成されたノイズとしての白点２１’，２１”はＡＮＤを用いた加算処理によって排除され、常に検査領域２０上の同一位置で検出される白点２１、要するに、塗装上の傷等に起因する白点２１のみを的確に検出することができる。
【００６０】
次いで、ＭＰＵ９は、積算値記憶レジスタＹｍの値が検査領域２０の全長に相当する不揮発性メモリ１４上のデータ行数Ｌｄに達しているか否か、即ち、ルーフ塗装面３の検査領域２０の全ての部分に対して欠陥検出処理が完了しているか否かを判別するが（ステップｂ１８）、検査領域２０の全長に亘る欠陥検出処理が完了していなければ、撮影周期の余り時間を待機した後（ステップｂ１９）、前述したステップｂ６〜ステップｂ１８の処理を繰り返し実行し、撮影周期２・ｔ（sec.）毎にＣＣＤカメラ５を起動して画像取り込み等の処理を行い、１フレーム分の撮影領域に対する撮影処理が終わる度に、１フレーム分の撮影領域に対して表面欠陥の有無を判定し、不揮発性メモリ１４の欠陥位置記憶ファイルに次々と記憶していく。
【００６１】
そして、最終的にステップｂ１８の判別結果が真となって検査領域２０の全ての部分に対して欠陥検出処理が完了したことが確認された段階で、ＭＰＵ９は、不揮発性メモリ１４の欠陥位置記憶ファイルに記憶されているデータ、つまり、検査領域２０上の全ての表面欠陥に関するデータを纏めて出力する（ステップｂ２０）。
【００６２】
以上に述べたように、何れの実施形態においても、ＣＣＤカメラ５を移動させながら撮影を繰り返すことによって検査領域２０上の同じ領域を複数回重複して撮影し、不揮発性メモリ１４上の同一位置、つまり、検査領域２０上の同一位置で繰り返し検出された輝度の変化部分のみを欠陥個所として検出するようにしているので、複数回の撮影とそれに伴うデータの加算処理によって、照明状態の変化による撮影領域のコントラスト変化等の外乱による影響が排除され、ルーフ塗装面３上の欠陥を的確に検出することができる。
【００６３】
また、撮影周期間におけるＣＣＤカメラ５の相対移動量の予測は常にオーバーライド（Ｖ）の現在値に基づいて行われるので、欠陥検出処理の途中で車両２を載置したラインの送り速度が変更されたような場合であっても、データを加算すべき不揮発性メモリ１４上の位置に狂いが生じることはなく、送り速度の変化に対処して安定した欠陥検出作業を実施することができる。
【００６４】
【発明の効果】
本発明の表面欠陥検出装置は、被検査面上の同じ領域の輝度データを部分的に重複させつつ次々と加算して画像解析の元になる画像データを作成するようにしているので、一時的な外乱による影響を受けた輝度データが画像解析手段の判断に与える影響を低く抑えることができ、照明状態やコントラスト変化等の外乱が発生した場合であっても、常に安定した欠陥検出作業を行うことができる。
【００６５】
また、撮影周期毎に撮影手段の相対移動量を求めることで次の撮影の輝度データの書き込み開始位置を算出するようにしているので、撮影手段と被検査面との間の相対移動速度に多少の変化が生じたような場合であっても輝度データの取り込み作業を安定的に継続して画像解析の元になる画像データを作成することが可能となり、送り速度が一定でないタクト形式等の生産ラインにも適する。
【００６６】
更に、撮影手段で取り込んだ輝度データを微分処理して被検査面上の明暗の境を明確にした後、その微分データを膨張処理して強調してから画像データ記憶手段に書き込むようにしているので、撮影手段と被検査面との間に振動が生じるような環境下にあっても、この振動による影響を輝度データの面積によって吸収して的確な欠陥検出作業を行うことができる。
また、撮影手段で取り込んだ輝度データを二階調化してから膨張処理を施すようにしているので、多階調の輝度データに対して直に膨張処理を施す場合に比べて大幅に処理時間が短縮化される。この結果、撮影周期の冗長化が防止され、全体の処理速度の低下を招くことなく、安定した欠陥検出作業を行うことができる。また、画像データ記憶手段に書き込まれるデータも二階調となるため、欠陥検出に必要とされるメモリの記憶容量が大幅に節減され、しかも、画像データ記憶手段のデータを解析する画像解析手段の処理速度も向上する。
【図面の簡単な説明】
【図１】本発明が目的を達成するために採用した手段の概略について示すクレーム対応図である。
【図２】本発明を適用した一実施形態の表面欠陥検出装置の構成について示す概念図である。
【図３】同実施形態の表面欠陥検出装置の光源の構造を詳細に示す図である。
【図４】ＣＣＤカメラの撮影範囲とＣＣＤカメラによって走査されるルーフ塗装面上の検査領域との関係について示す概念図である。
【図５】ＣＣＤカメラによって撮影される画像と各撮影時毎に不揮発性メモリに書き込まれる画像データとの関係について大まかに示す概念図である。
【図６】マイクロプロセッサによって実施される欠陥検出処理の概略を示すフローチャートである。
【図７】欠陥検出処理の概略を示すフローチャートの続きである。
【図８】欠陥検出処理の概略を示すフローチャートの続きである。
【図９】他の実施形態の欠陥検出処理の概略を示すフローチャートである。
【図１０】欠陥検出処理の概略を示すフローチャートの続きである。
【図１１】欠陥検出処理の概略を示すフローチャートの続きである。
【図１２】ＣＣＤカメラの撮影範囲の実際の寸法とディジタルデータのドットとの関係を示す概念図で、図１２（ａ）はＣＣＤカメラの撮影範囲の実際の寸法とＣＣＤのドットとの関係を示す図、図１２（ｂ）はＣＣＤカメラから間引きして取り込まれるディジタルデータを示す図、図１２(Ｃ)は画像データ記憶手段としての不揮発性メモリ上の輝度データについて示す図である。
【図１３】同実施形態で採用した微分フィルタの構造を概念的に示す図で、図１３（ａ）は幅方向の微分に用いるフィルタ、また、図１３（ｂ）は縦軸方向の微分に用いるフィルタある。
【図１４】ＣＣＤカメラの垂直同期信号の周期と各種処理との時間的な同期関係を示すタイミングチャートである。
【図１５】ＣＣＤカメラで取り込まれた輝度データと微分データとの関係を示す図で、図１５（ａ１）〜図１５（ａ４）は輝度データ、図１５（ｂ１）〜図１５（ｂ４）は、その各々を微分して得られた微分データである。
【図１６】最近の１フレーム分の微分データを加算して記憶した不揮発性メモリの記憶領域の一例とそれを２値化して得られるデータの一例を示す図で、図１６(ａ)は微分前のデータ、また、図１６(ｂ)は微分後のデータである。
【図１７】２値化データと膨張処理を施したデータとの関係を示す図で、図１７（ａ１）〜図１７（ａ４）は２値化データ、図１７（ｂ１）〜図１７（ｂ４）は、その各々を膨張処理して得られるデータである。
【図１８】最近の１フレーム分の微分データを加算して記憶した不揮発性メモリの記憶領域の一例を示す図である。
【符号の説明】
１  表面欠陥検出装置
２  車両
３  ルーフ塗装面（被検査面）
４  光源
４ａ，４ｂ，４ｃ  光源ユニット
４ａ’，４ｂ’，４ｃ’  検査光
５  ＣＣＤカメラ（撮影手段）
６  台車
７  走査用移動手段
８  検査用制御装置
９  マイクロプロセッサ（画像取り込み手段，オフセット量算出手段，輝度データ書き込み手段，画像解析手段）
１０  ＲＯＭ
１１  ＲＡＭ
１２  入出力回路
１３  フレームメモリ
１４  不揮発性メモリ（画像データ記憶手段）
１５  バス
１６  インターフェイス回路
１７  操作パネル
１８  ＬＥＤ
１９  撮影範囲
２０  検査領域
２１  白点（欠陥）
２２  輝度データの明暗の輪郭が強調された部分
【図１】
0003985385.tif 000002
【図２】
0003985385.tif 000003
【図３】
0003985385.tif 000004
【図４】
0003985385.tif 000005
【図５】
0003985385.tif 000006
【図６】
0003985385.tif 000007
【図７】
0003985385.tif 000008
【図８】
0003985385.tif 000009
【図９】
0003985385.tif 000010
【図１０】
0003985385.tif 000011
【図１１】
0003985385.tif 000012
【図１２】
0003985385.tif 000013
【図１３】
0003985385.tif 000014
【図１４】
0003985385.tif 000015
【図１５】
0003985385.tif 000016
【図１６】
0003985385.tif 000017
【図１７】
0003985385.tif 000018
【図１８】
0003985385.tif 000019