(57)【特許請求の範囲】
【請求項１】
検査対象品を撮像装置と相対変位させて撮像し、得られた撮像画像から、当該検査対象品の合否の基準となる基準画像と照合される検査画像を生成する検査画像の生成方法において、
前記基準画像を二次元マトリックスに分割した分割セルを設定する分割セル設定ステップと、
前記分割セルのうち、検査対象となる模様の特徴を表す座標を基準点として含むものを補正適用セルとして設定する補正適用セル設定ステップと、
前記撮像画像と前記基準画像とをパターンマッチングで照合し、前記補正適用セルに対応する当該撮像画像のずれ量を前記基準点毎に検出するずれ量検出ステップと、
前記ずれ量検出ステップで検出した前記基準点でのずれ量に基づいて、前記撮像画像における前記補正適用セル以外の全分割セルのずれ量を線形補間で演算する補間演算ステップと、
前記補正適用セルを含む全分割セルのずれ量に基づいて、前記撮像画像を分割セル毎に補正した検査画像を生成する検査画像生成ステップと、
同一の基準画像を当該基準画像の両側に連続させる拡張ステップと、
該両側に連続された基準画像のうち、補正適用セルに相当する分割セルと、両側に連続された基準画像の隅部の分割セルとを、補正適用セルとして登録するステップと、
前記基準点を頂点とする三角形に分割されたポリゴンを設定するポリゴン設定ステップと、
前記分割セルのうち、補正適用セル以外の全分割セルを線形補間の演算対象として何れかのポリゴンに割り当てる割り当てステップと、
前記ポリゴンの頂点を基点とし、且つ前記ずれ量に対応するスカラ量で前記撮像画像の分割セルの法線方向に沿う法線ベクトルを前記ポリゴンの頂点毎に演算する法線ベクトル設定ステップと、
演算された前記法線ベクトルの終点に基づいて、当該ポリゴンに割り当てられた全ての分割セルのずれ量を当該法線ベクトルの成分毎に演算する行列演算ステップと
を備えていることを特徴とする検査画像の生成方法。
【請求項２】
請求項１記載の検査画像の生成方法において、
前記ポリゴンの生成に寄与する分割セルを強制的に補正適用セルに設定する強制設定ステップを備えている
ことを特徴とする検査画像の生成方法。
【請求項３】
請求項１または２に記載の検査画像の生成方法において、
前記ポリゴン設定ステップは、二次元ドロネー分割法で多角形のポリゴンを三角形のポリゴンに分割するステップを含んでいる
ことを特徴とする検査画像の生成方法。
【請求項４】
請求項１から３の何れか１項に記載の検査画像の生成方法において、
前記行列演算ステップは、前記ポリゴンの頂点を基点として演算された一の法線ベクトルの終点を始点とし、且つ前記ポリゴンを構成する他の頂点を基点として演算された他の法線ベクトルの終点に向かう二つの単位ベクトルと、各単位ベクトルの成分ベクトルに基づく係数の行列式とを予め演算し、これら単位ベクトルと行列式とに基づいて、当該ポリゴンに割り当てられた分割セル毎のずれ量を順次演算するステップを含む
ことを特徴とする検査画像の生成方法。
【請求項５】
請求項１から４記載の検査画像の生成方法を用いた画像検査方法において、
前記検査画像の生成方法で生成された検査画像と前記基準画像とを照合して、当該検査画像の合否を判定する合否判定ステップを備えている
ことを特徴とする画像検査方法。
【請求項６】
検査対象品の検査部位を撮像する撮像装置と、
前記検査対象品の合否の基準となる基準画像を記憶する基準画像記憶手段と、
前記基準画像のうち、検査対象となる模様の特徴を表す座標を基準点として記憶する基準点記憶手段と、
前記基準画像を二次元マトリックスに分割した分割セルに関する情報を記憶する分割セル情報記憶手段と、
前記分割セルのうち、前記基準点を含むものを補正適用セルとして記憶する補正適用セル記憶手段と、
制御ユニットと
を備え、前記制御ユニットは、
前記撮像装置で撮像した撮像画像と前記基準画像とをパターンマッチングで照合し、前記補正適用セルに対応する当該撮像画像のずれ量を前記基準点毎に検出するずれ量検出手段と、
前記ずれ量検出手段により検出した前記基準点でのずれ量に基づいて、前記撮像画像における前記補正適用セル以外の全分割セルのずれ量を線形補間で演算する補間演算手段と、
各分割セルのずれ量に基づいて、前記撮像画像を全ての分割セル毎に補正した検査画像を生成する検査画像生成手段と、
前記検査画像と前記基準画像とを照合して、当該検査対象品の良否を判定する判定手段とを有し、かつ
同一の基準画像を当該基準画像の両側に連続させる拡張ステップ、該両側に連続された基準画像のうち、補正適用セルに相当する分割セルと、両側に連続された基準画像の隅部の分割セルとを、補正適用セルとして登録するステップ、前記基準点を頂点とする三角形に分割されたポリゴンを設定するポリゴン設定ステップ、前記分割セルのうち、補正適用セル以外の全分割セルを線形補間の演算対象として何れかのポリゴンに割り当てる割り当てステップ、前記ポリゴンの頂点を基点とし、且つ前記ずれ量に対応するスカラ量で前記撮像画像の分割セルの法線方向に沿う法線ベクトルを前記ポリゴンの頂点毎に演算する法線ベクトル設定ステップ、および演算された前記法線ベクトルの終点に基づいて、当該ポリゴンに割り当てられた全ての分割セルのずれ量を当該法線ベクトルの成分毎に演算する行列演算ステップを実行するものである
ことを特徴とする外観検査装置。
【請求項７】
請求項６記載の外観検査装置において、
前記補間演算手段は、
前記基準点を頂点とする三角形に分割されたポリゴンを設定するポリゴン設定ステップと、
前記分割セルのうち、補正適用セル以外の全分割セルを線形補間の演算対象として何れかのポリゴンに割り当てる割り当てステップと、
前記ポリゴンの頂点を基点とし、且つ前記ずれ量に対応するスカラ量で前記撮像画像の分割セルの法線方向に沿う法線ベクトルを前記ポリゴンの頂点毎に演算する法線ベクトル設定ステップと、
演算された前記法線ベクトルの終点に基づいて、当該ポリゴンに割り当てられた全ての分割セルのずれ量を当該法線ベクトルの成分毎に演算する行列演算ステップと
を実行するものである
ことを特徴とする外観検査装置。
【請求項８】
請求項７記載の外観検査装置において、
前記ポリゴンに割り当てられた分割セルの演算処理の順位を当該ポリゴン毎に記憶する演算順位記憶手段を備えている
ことを特徴とする外観検査装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は検査画像の生成方法、それを用いた画像検査方法、並びに外観検査装置に関する。
【背景技術】
【０００２】
予め基準画像を記憶しておき、ワークを撮像して得られた検査画像を基準画像と照合して、ワークの合否を判定する技術が知られている。また、照合に先立ち、撮像して得られた撮像画像の歪みを補正して検査画像を得る技術も知られている。例えば、特許文献１は、画像を水平走査ライン毎に分割したラインブロック単位で逐次位置ずれを検査し、位置合わせした後、基準画像と検査画像とを比較する技術を開示する。また、特許文献２は、複数のカメラでワークの複数の面を撮像し、これらを合成して検査画像を得た後、検査画像と基準画像とを比較する技術を開示する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３７２５２０７号
【特許文献２】特開２０００−１７１４０９号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述のような種々の処理にも拘わらず、撮像される態様や製品の種類によっては、充分な画像補正を図ることができない場合があった。
【０００５】
一例として、近年、周面の可撓性が高い軟包材容器、例えば、化粧品のチューブ、調味料の容器の外観検査が要請されている。この外観検査は、軟包材容器の外周全面を撮像し、その展開画像を検査画像として、基準画像と比較する工程を必要とする。
【０００６】
しかしながら、軟包材容器の外周全面を精緻に撮像することは容易ではない。
【０００７】
撮像に際しては、通常、検査対象品の内周にマンドレルやその他の冶具を挿入し、検査対象品をその中心線回りに回動して表面を撮像することが好ましい。しかし、冶具に挿入された検査対象品は、真円形ではない。よって、撮像時に検査対象品の周速がばらつく。このばらつきは、検査対象品毎に異なり、その程度も、撮像の度に異なる。その結果、画像に歪みが生じ、良品を不良品と誤判定することがあった。
【０００８】
特許文献１の構成では、検査画像と基準画像との相対的な位置ずれをラインブロック毎に補正しているが、各ラインブロックを構成するセルについては、専らテンプレートとして適用される選択セルのずれ量の最小値を平均化しているに過ぎず、ラインブロックを構成する全てのセルでのずれ量を反映させることはできない。そのため、回動する検査対象品の周面を撮像した際に検査画像に生じた歪みを所要の精度で補正することはできなかった。
【０００９】
特許文献２の構成もまた、検査画像に生じた歪みを補正することはできない。また、複数のカメラを使用する構成は、コスト高の原因となる。
【００１０】
本発明は上記課題に鑑みてなされたものであり、検査対象品が可撓性の高い軟包材容器であったとしても、検査対象品の画像検査を精緻に実行することのできる検査画像の生成方法、それを用いた画像検査方法、並びに外観検査装置を提供することを課題としている。
【課題を解決するための手段】
【００１１】
上記課題を解決するために本発明は、検査対象品を撮像装置と相対変位させて撮像し、得られた撮像画像から、当該検査対象品の合否の基準となる基準画像と照合される検査画像を生成する検査画像の生成方法において、前記基準画像を二次元マトリックスに分割した分割セルを設定する分割セル設定ステップと、前記分割セルのうち、検査対象となる模様の特徴を表す座標を基準点として含むものを補正適用セルとして設定する補正適用セル設定ステップと、前記撮像画像と前記基準画像とをパターンマッチングで照合し、前記補正適用セルに対応する当該撮像画像のずれ量を前記基準点毎に検出するずれ量検出ステップと、前記ずれ量検出ステップで検出した前記基準点でのずれ量に基づいて、前記撮像画像における前記補正適用セル以外の全分割セルのずれ量を線形補間で演算する補間演算ステップと、前記補正適用セルを含む全分割セルのずれ量に基づいて、前記撮像画像を分割セル毎に補正した検査画像を生成する検査画像生成ステップと、同一の基準画像を当該基準画像の両側に連続させる拡張ステップと、該両側に連続された基準画像のうち、補正適用セルに相当する分割セルと、両側に連続された基準画像の隅部の分割セルとを、補正適用セルとして登録するステップと、前記基準点を頂点とする三角形に分割されたポリゴンを設定するポリゴン設定ステップと、前記分割セルのうち、補正適用セル以外の全分割セルを線形補間の演算対象として何れかのポリゴンに割り当てる割り当てステップと、前記ポリゴンの頂点を基点とし、且つ前記ずれ量に対応するスカラ量で前記撮像画像の分割セルの法線方向に沿う法線ベクトルを前記ポリゴンの頂点毎に演算する法線ベクトル設定ステップと、演算された前記法線ベクトルの終点に基づいて、当該ポリゴンに割り当てられた全ての分割セルのずれ量を当該法線ベクトルの成分毎に演算する行列演算ステップとを備えていることを特徴とする検査画像の生成方法である。この態様では、撮像画像と基準画像とのパターンマッチングで得られたずれ量に基づき、補間演算によって、撮像画像のずれ量が全ての分割セルについて演算されるので、検査対象品の撮像時の速度のばらつきやその他の原因に起因する歪みが撮像時に生じていても、その歪みを全ての分割セル毎に補正した精緻な検査画像を得ることができる。この結果、検査画像の精度が高まり、照合時の誤判定を可及的に低減することが可能になる。また、全ての分割セルをポリゴンに割り当てることができ、確実に分割セル毎のずれ量を線形補間で演算することができる。
【００１２】
また、本態様では、線形補間を演算するに当たり、三角形のポリゴンの頂点を基点とする法線ベクトルの終点に基づいて行列式を設定し、単純な代数でずれ量を線形補間で演算することができる。
【００１３】
好ましい態様において、前記ポリゴンの生成に寄与する分割セルを強制的に補正適用セルに設定する強制設定ステップを備えている。この態様では、ポリゴンを設定する際、その面積が過度に大きくなることを防止したり、ポリゴンに含まれない分割セルが生じることを防止し、好適なずれ量の演算誤差を抑制することができる。
【００１５】
好ましい態様において、前記ポリゴン設定ステップは、二次元ドロネー分割法で多角形のポリゴンを三角形のポリゴンに分割するステップを含んでいる。この態様では、各補正適用セルを頂点として網羅することのできる好適な三次元マッピングをすることができる。
【００１６】
好ましい態様において、前記行列演算ステップは、前記ポリゴンの頂点を基点として演算された一の法線ベクトルの終点を始点とし、且つ前記ポリゴンを構成する他の頂点を基点として演算された他の法線ベクトルの終点に向かう二つの単位ベクトルと、各単位ベクトルの成分ベクトルに基づく係数の行列式とを予め演算し、これら単位ベクトルと行列式とに基づいて、当該ポリゴンに割り当てられた分割セル毎のずれ量を順次演算するステップを含む。この態様では、ずれ量を演算するために必要な単位ベクトルや行列式が、予め演算された状態で分割セルの演算が順次実行されるので、重複処理を排除し、演算を効率化することができる。
【００１７】
本発明の別の態様は、上述した検査画像の生成方法を用いた画像検査方法において、前記検査画像の生成方法で生成された検査画像と前記基準画像とを照合して、当該検査画像の合否を判定する合否判定ステップを備えていることを特徴とする画像検査方法である。
【００１８】
本発明の別の態様は、検査対象品の検査部位を撮像する撮像装置と、前記検査対象品の合否の基準となる基準画像を記憶する基準画像記憶手段と、前記基準画像のうち、検査対象となる模様の特徴を表す座標を基準点として記憶する基準点記憶手段と、前記基準画像を二次元マトリックスに分割した分割セルに関する情報を記憶する分割セル情報記憶手段と、前記分割セルのうち、前記基準点を含むものを補正適用セルとして記憶する補正適用セル記憶手段と、制御ユニットとを備え、前記制御ユニットは、前記撮像装置で撮像した撮像画像と前記基準画像とをパターンマッチングで照合し、前記補正適用セルに対応する当該撮像画像のずれ量を前記基準点毎に検出するずれ量検出手段と、前記ずれ量検出手段により検出した前記基準点でのずれ量に基づいて、前記撮像画像における前記補正適用セル以外の全分割セルのずれ量を線形補間で演算する補間演算手段と、各分割セルのずれ量に基づいて、前記撮像画像を全ての分割セル毎に補正した検査画像を生成する検査画像生成手段と、前記検査画像と前記基準画像とを照合して、当該検査対象品の良否を判定する判定手段とを有し、かつ同一の基準画像を当該基準画像の両側に連続させる拡張ステップ、該両側に連続された基準画像のうち、補正適用セルに相当する分割セルと、両側に連続された基準画像の隅部の分割セルとを、補正適用セルとして登録するステップ、前記基準点を頂点とする三角形に分割されたポリゴンを設定するポリゴン設定ステップ、前記分割セルのうち、補正適用セル以外の全分割セルを線形補間の演算対象として何れかのポリゴンに割り当てる割り当てステップ、前記ポリゴンの頂点を基点とし、且つ前記ずれ量に対応するスカラ量で前記撮像画像の分割セルの法線方向に沿う法線ベクトルを前記ポリゴンの頂点毎に演算する法線ベクトル設定ステップ、および演算された前記法線ベクトルの終点に基づいて、当該ポリゴンに割り当てられた全ての分割セルのずれ量を当該法線ベクトルの成分毎に演算する行列演算ステップを実行するものであることを特徴とする外観検査装置である。この態様では、撮像画像と基準画像とのパターンマッチングで得られたずれ量に基づき、補間演算によって、撮像画像のずれ量が全ての分割セルについて演算されるので、分割セル毎に歪みを補正することができる。従って、検査対象品の撮像時の速度のばらつきやその他の原因に起因する歪みが撮像時に生じていても、その歪みを全ての分割セル毎に補正した精緻な検査画像を得ることができる。この結果、検査画像の精度が高まり、照合時の誤判定を可及的に低減することが可能になる。
【００１９】
好ましい態様において、前記補間演算手段は、前記基準点を頂点とする三角形に分割されたポリゴンを設定するポリゴン設定ステップと、前記分割セルのうち、補正適用セル以外の全分割セルを線形補間の演算対象として何れかのポリゴンに割り当てる割り当てステップと、前記ポリゴンの頂点を基点とし、且つ前記ずれ量に対応するスカラ量で前記撮像画像の分割セルの法線方向に沿う法線ベクトルを前記ポリゴンの頂点毎に演算する法線ベクトル設定ステップと、演算された前記法線ベクトルの終点に基づいて、当該ポリゴンに割り当てられた全ての分割セルのずれ量を当該法線ベクトルの成分毎に演算する行列演算ステップとを実行するものである。この態様では、補正適用セルの基準点を頂点とするポリゴンに、当該基準点でのずれ量を反映した法線ベクトルが設定され、さらに、設定された法線ベクトルに基づいて、全ての分割セルのずれ量が線形補間で演算されて、補正された検査画像が生成されるので、ずれ量の演算負荷を軽減し、一層精緻且つ迅速に補正処理を実行することが可能になる。
【００２０】
好ましい態様において、前記ポリゴンに割り当てられた分割セルの演算処理の順位を当該ポリゴン毎に記憶する演算順位記憶手段を備えている。この態様では、演算される分割セルの順番をポリゴン毎に予め設定しておき、演算処理の最適化を図ることができるので、一層、演算負荷の軽減を図り、処理を迅速化することができる。
【発明の効果】
【００２１】
以上説明したように、本発明によれば、検査対象品の撮像時の速度のばらつきやその他の原因に起因する歪みが撮像時に生じていても、その歪みを全ての分割セル毎に補正した検査画像を得ることができる。従って、本発明は、検査対象品が可撓性の高い軟包材容器であったとしても、検査対象品の画像検査を精緻に実行することができるという顕著な効果を奏する。
【図面の簡単な説明】
【００２２】
【図１】本願発明に係る検査対象品の一例としてのチューブを示す斜視図である。
【図２】本発明の実施形態の一例として、図１のチューブの検査装置の構成例を示す正面略図である。
【図３】図１のチューブの平面略図である。
【図４】図２の検査装置の構成例を示すブロック図である。
【図５】良否判定の全体を示すフローチャートである。
【図６】図５のフローチャートを実行した一例を示す撮像画像の模式図である。
【図７】図６の撮像画像の処理過程を示す模式図である。
【図８】図６の撮像画像の処理過程を拡大して示す模式図である。
【図９】図６の撮像画像の処理過程を拡大して示す模式図である。
【図１０】図５のフローチャートを実行した結果を示す差分データのイメージ図であり、（Ａ）は本実施形態、（Ｂ）は従来品に係るものである。
【図１１】基準画像の生成処理を示すフローチャートである。
【図１２】図１１のフローチャートに基づいて基準画像の処理過程を示す画像データの模式図である。
【図１３】図１１のフローチャートに基づいて基準画像の処理過程を示す画像データの模式図である。
【図１４】図１１の処理過程を説明する画像データの模式図である。
【図１５】図１１のフローチャートに基づいて基準画像の処理過程を示す画像データの模式図である。
【図１６】図１１のフローチャートに基づいて基準画像の処理過程を示す画像データの模式図である。
【図１７】図１１のフローチャートに基づいて基準画像の処理過程を示す画像データの模式図である。
【図１８】図１１のフローチャートに基づいて生成されたデータの一例を示すビュー表である。
【図１９】図５の全セルのずれ量演算サブルーチンを示すフローチャートである。
【図２０】図１９の線形補間演算サブルーチンを示すフローチャートである。
【図２１】図２０の続きを示すフローチャートである。
【図２２】撮像画像の処理過程に関するデータの一例を示すビュー表である。
【図２３】図１９、図２０のフローチャートの実行例を模式的に示す斜視図である。
【発明を実施するための形態】
【００２３】
以下、添付図面を参照しながら本発明の好ましい実施の形態について説明する。
【００２４】
図１を参照して、本実施形態に係る検査装置は、図１に示す検査対象品の一例としてのチューブ１を検査対象としている。チューブ１は、円筒形に成形された本体部１ａと、本体部１ａの頂部に延設されるフランジ部１ｂと、フランジ部１ｂの中央に同心に突設される首部１ｃとを一体的に有している軟包材容器である。
【００２５】
本体部１ａは、ポリエチレンやポリプロピレン等、可撓性の高い樹脂で成形されている。本体部１ａの外周面には、複数の模様１ｄが印刷されている。本実施形態に係る検査装置１０は、本体部１ａの模様１ｄの良否を画像処理により検査するものである。ここで、「模様」とは、図柄、文字、ロゴ等の総称を指す。この検査段階では、本体部１ａの下端部は、開放されている。そして、検査後に良品と判定された場合には、内容物が本体部１ａに充填され、本体部１ａの下端が封止されるようになっている。
【００２６】
図２を参照して、同検査装置１０は、一水平軸回りに回動する検査テーブル１１を備えている。検査テーブル１１には、当該検査テーブル１１の接線方向に沿って、検査前のチューブ１を搬入する搬入コンベア１２と、検査後に良品と判定されたチューブ１を搬出する良品搬出コンベア１４と、検査後に不良品と判定されたチューブ１を搬出する不良品搬出コンベア１６とが設けられている。
【００２７】
検査テーブル１１の外周には、複数（例えば６個）のマンドレル１１ａが等配されている。各マンドレル１１ａは、検査テーブル１１の回転軸と平行に、一方向に（図示の例では、紙面の表側に）突設されている。また、マンドレル１１ａは、自身の中心軸回りに回動可能に取り付けられている。マンドレル１１ａには、動力入力部材（例えば歯車）１１ｂが設けられている。この動力入力部材１１ｂに動力が入力されると、マンドレル１１ａは、自身の中心線回りに回動する。
【００２８】
検査テーブル１１の外周部には、マンドレル１１ａの個数に対応して、複数のステーションＳＴ１〜ＳＴ６が均等に設定されている。検査テーブル１１は、周方向一方向に回動し、マンドレル１１ａが各ステーションＳＴ１〜ＳＴ６で一時停止するように、マンドレル１１ａを間欠的に搬送する。
【００２９】
搬入コンベア１２の下流端は、例えばステーションＳＴ５に臨んでいる。また、良品搬出コンベア１４と、不良品搬出コンベア１６の上流端は、ステーションＳＴ５を基点として下流側に位置するステーションＳＴ４、ＳＴ３にそれぞれ臨んでいる。
【００３０】
ステーションＳＴ５では、図略のロボットにより、下流端に搬入されたチューブ１が当該ステーションＳＴ５で一時停止するマンドレル１１ａに装着される。また、ステーションＳＴ４、ＳＴ３では、図略のロボットにより、良否判定されたチューブ１がそれぞれ判定結果に対応するコンベア１４（１６）の上流端に排出される。
【００３１】
搬入コンベア１２のステーションＳＴ５と、両搬出コンベア１４、１６のステーションＳＴ４、ＳＴ３との間には、撮像処理を実行する撮像ステーション（例えば、ＳＴ１）が設定されている。
【００３２】
撮像ステーションでは、ここに一時停止したマンドレル１１ａの動力入力部材１１ｂに動力を出力する動力出力部材１８が設けられている。動力出力部材１８は、例えば、ステッピングモータで駆動されるギアであり、マンドレル１１ａがステーションＳＴ１に停止している間、マンドレル１１ａの中心線回りにマンドレル１１ａを一周回転させる。
【００３３】
また、ステーションＳＴ１には、撮像装置の一例としてのＣＣＤカメラ２０と、マンドレル１１ａのチューブ１を照明するＬＥＤライン照明装置２１と、ＬＥＤライン照明装置２１から照射されて、チューブ１から反射した光をＣＣＤカメラ２０に導くミラー２２とが設けられている。チューブ１が装着されたマンドレル１１ａは、ステーションＳＴ６を経てステーションＳＴ１に到達する。ステーションＳＴ１にマンドレル１１ａが停止し、動力出力部材１８の駆動力を受けて、マンドレル１１ａが一周回動する間、ＬＥＤライン照明装置２１がマンドレル１１ａ上のチューブ１を照明し、その反射光をＣＣＤカメラ２０が撮像して、チューブ１を撮像する。詳しくは後述する制御ユニット１００は、撮像された画像に基づき検査画像を生成し、当該検査画像の良否を判定する。
【００３４】
ここで、図３（Ａ）（Ｂ）を参照して、マンドレル１１ａにチューブ１を装着したときの問題点について説明する。
【００３５】
上述したように、検査対象となるチューブ１は、本体部１ａの下端が開放されている。そのため、自由状態では、図３（Ａ）に示すように、直径がＤ１のフランジ部１ｂの近傍部分よりも途中部分が撓んで、長軸がＤ２の楕円形になっている。この撓みは、マンドレル１１ａへの装着によって、図３（Ｂ）に示すように、幾分緩和されるのであるが、それでも長軸Ｄ３が直径Ｄ１と等しくなることはない。マンドレル１１ａに対してチューブ１を挿抜するための隙間が必要となるからである。
【００３６】
このため、ステーションＳＴ１での撮像時に、長軸Ｄ２と平行な方向に光を当てて撮像しているときは、チューブ１の外周面の周速が速くなり、長軸Ｄ２と交差する方向に光りを当てて撮像しているときは、チューブ１の外周面の周速が遅くなる。この結果、ＣＣＤカメラ２０によって撮像される画像が、周速の変化に伴って歪みを含んでしまうことになる。
【００３７】
本実施形態に係る検査装置１０は、この歪みを簡便な方法で除去し、精緻な検査画像に補正することができるようになっている。
【００３８】
次に、図４を参照して、検査装置１０は、上述した検査テーブル１１、動力出力部材１８、ＣＣＤカメラ２０等の他、入力装置３０、表示装置４０、記憶装置５０を備え、これらのユニットの制御を司る制御ユニット１００が設けられている。
【００３９】
入力装置３０は、例えばキーボードやマウス等のポインティングディバイスで具体化され、操作者が入力操作を行うためのユニットである。
【００４０】
表示装置４０は、例えば液晶ディスプレイで具体化され、制御ユニット１００の処理状態や対話式プログラムの指示画面をＧＵＩで操作者に表示するものである。
【００４１】
記憶装置５０は、不揮発性メモリで構成された補助記憶装置で具体化されており、制御ユニット１００が実行する各種のプログラムやＯＳ、並びに検査処理に必要な種々のデータを記憶している。
【００４２】
次に、制御ユニット１００は、マイクロプロセッサやメモリ等を備えたユニットであり、分散モデル処理モジュール１０１、分割セル登録モジュール１０２、補正適用セル登録モジュール１０３、ずれ量演算モジュール１０４、補間演算モジュール１０５、検査画像生成モジュール１０６、並びに合否判定モジュール１０７を論理的に備えている。
【００４３】
これらモジュール１０１〜１０７によって実現される各処理を図５以下のフローチャートで説明する。
【００４４】
図５を参照して、検査装置１０が作動されると、制御ユニット１００は、対象となっている基準画像を記憶装置５０からメモリに読み出す（ステップＳ１）。次いで、図２に示した機構を操作し、チューブ１を搬入コンベア１２から検査テーブル１１のマンドレル１１ａに搭載して撮像ステーション（ステーションＳＴ１）に搬送し、ここで、マンドレル１１ａを回動しながらＣＣＤカメラ２０でチューブ本体部１ａの周面を全周にわたって撮像する（ステップＳ２）。制御ユニット１００は、撮像して得られた撮像画像を記憶装置５０に製品毎に登録する。図６は、このステップＳ２で登録された撮像画像の一例を模式的に示している。図示の通り、撮像画像には、チューブ１の高さ方向がＸと設定され、チューブ１の上側がＸ＋と設定される。また、チューブ１の周方向は、Ｙとして撮像画像に設定される。後述するように、この撮像画像から、マトリックスで分割された分割セルＣＬ毎に補正された検査画像が生成される（図７参照）。図７において、Ｄは、検出されるべきキズである。以下の説明では、特定の分割セルＣＬを示すときには、ＣＬ［ｉ，ｊ］と表示し、当該分割セルＣＬのＸ座標、Ｙ座標をそれぞれｉ、ｊとする。
【００４５】
次いで、制御ユニット１００は、登録された製品毎にパターンマッチング処理を実行する（ステップＳ３）。このパターンマッチング処理に基づき、制御ユニット１００は、所定の分割セルＣＬに設定される補正適用セル（図８の太枠で囲まれた分割セルＣＬ）ＣＬａ毎に、Ｘ方向およびＹ方向のずれ量ｄｘ、ｄｙをそれぞれ演算し（ステップＳ４）、演算結果を記憶装置５０に登録する（ステップＳ５）。図８は、補正適用セルＣＬａにずれ量ｄｘ、ｄｙを演算した例を示す。太枠で囲まれた分割セルＣＬの上側が分割セルＣＬの座標［ｉ，ｊ］を示し、下側が対応する分割セルＣＬのずれ量ｄｘ、ｄｙを示している。記憶装置５０には、分割セルＣＬ毎に処理済みであるか否かを示す演算済フラグＦ２を記憶する領域があり（図２２参照）、制御ユニット１００は、このタイミングで、ずれ量ｄｘ、ｄｙが演算された分割セルＣＬ、つまり補正適用セルＣＬａに対応する演算済フラグＦ２をＯＮにする（ステップＳ６）。また、記憶装置５０には、補正適用セルＣＬａであることを示す補正適用フラグＦ１を記憶する領域があり、この補正適用フラグＦ１もＯＮに更新される。
【００４６】
次に、制御ユニット１００は、補正適用セルを除く全ての分割セルＣＬについて、成分毎にずれ量ｄｘ、ｄｙを演算し（ステップＳ７）、演算されたずれ量ｄｘ、ｄｙに基づいて、撮像画像の歪みを補正した検査画像を生成する（ステップＳ８）。この結果、本実施形態では、図９に示したように、全ての分割セルＣＬ毎にずれ量ｄｘ、ｄｙに基づくずれ補正を実行することが可能となる。
【００４７】
その後、制御ユニット１００は、基準画像と検査画像とを比較し、差分を演算する（ステップＳ９）。具体的には、制御ユニット１００は、検査画像の画素毎に基準画像の対応する画素との濃度を比較し、基準から外れる度合の大きい画素を１とし、それ以外を０とする二値画像を得、その二値画像から０ではない塊の面積をカウントする。
【００４８】
次いで、カウントされた塊毎に面積を演算し（ステップＳ１０）、各塊の面積が許容範囲であるか否かを判定する（ステップＳ１１）。全ての塊の面積が許容範囲内であれば、制御ユニット１００は、合格判定を行い（ステップＳ１２）、検査品の良否判定を記憶するメモリ領域に良品の値を入れて合否判定を終了する。他方、ステップＳ１１の判定で、何れか一つの塊Ｄの面積が許容範囲外であれば、制御ユニット１００は、不合格判定を行い、検査品の良否判定を記憶するメモリ領域に不良品の値を入れて合否判定を終了する（ステップＳ１４）。
【００４９】
図１０（Ａ）に示すように、チューブ１のキズＤが写っていた場合、ステップＳ１０で、このキズＤは、塊として検出され、ステップＳ１１の判定で、制御ユニット１００は、不良判定を行う。また、二値化された良品の画像は、塊Ｄがなく、真っ黒な画像となる。
【００５０】
しかしながら、たとえ良品であったとしても、従来の処理方法では、図３で示したような周速の変化に伴う画像の歪みを完全に除去することができなかったので、図１０（Ｂ）に示すように、撮像された画像の歪みに基づく塊Ｄｅが検出されてしまい、良品を不良と判定する誤判定の原因となっていたのである。
【００５１】
次に、図１１を参照して、本実施形態に係る基準画像の生成例について説明する。
【００５２】
まず、制御ユニット１００は、基準画像の基になる画像データを読み取られる（ステップＳ２０）。画像データの読み取りは、良品サンプルを検査装置で撮像して入力される。この場合、撮像された画像データは、周速の変化によって歪みを含み得るが、検査画像もこの歪みに合わせて補正すれば、結果として歪みのない画像での対比をすることと同じ効果を得ることができるのである。
【００５３】
撮像された画像データは、チューブ１の本体部１ａの展開図として画素毎に記憶される。本実施形態では、制御ユニット１００がこの段階で、展開図のうち、本体部１ａの高さをＸ方向とし、周方向をＹ方向として画像データを登録する。この段階では、例えば、図１２に示す画像データが記憶される。
【００５４】
次に、画像データに分散モデルの一例としてのパターンマッチングモデル（ＰＭモデル）Ｍが設定される（ステップＳ２１）。この工程では、操作者が図１２に示したような展開図を表示装置４０に表示し、模様の特徴部分をＰＭモデルＭとして設定する。この抽出過程では、入力装置３０を操作する操作者と対話式に処理を進めて、ＰＭモデルＭの位置を適宜補正し、最終決定できるようにすることが好ましい。或いは、自動的に設定されるようにしてもよい。本実施形態では、ＰＭモデルＭを設定する際、操作者は、模様１ｄの少なくとも一つをＰＭモデルＭが含んでいること、並びにＹ方向に１／４周以上、模様が続く場合には、途中にＰＭモデルＭを配置することを拘束条件として作業するように義務づけられている。この処理過程で、例えば、図１３に示すＰＭモデルＭが設定される。
【００５５】
次に、制御ユニット１００は、分割セルＣＬを設定する（ステップＳ２２）。図１４に示すように、分割セルＣＬは、予め実験やシミュレーションで決定された所定のピッチＳｃｘ、Ｓｃｙでマトリックス状に設定される。次いで、分割セルＣＬにＰＭモデルＭが割り当てられる。ＰＭモデルＭ自身は、画像の模様を反映して選択されたエリアデータであるので、例えば、そのエリアデータのうち、最も面積を広く占有している分割セルＣＬを選定し、その分割セルＣＬの中心座標を選んで基準点Ｐとすることにより、一つのＰＭモデルＭを一つの分割セルＣＬに割り当てる作業が行われる。ＰＭモデルＭを分割セルＣＬに割り当てて、基準点Ｐを設定する作業は、所定のアルゴリズムを設定して自動的に行うようにすることが好ましいが、操作者に対話型のプログラムで設定されるようにしてもよい。この基準点Ｐが設定された分割セルＣＬが補正適用セルＣＬａとして扱われることになる。
【００５６】
ここで本実施形態では、検査対象となる撮像画像のうち、ＰＭモデルＭが設定された分割セルＣＬのみならず、ＰＭモデルＭが設定されていない他の分割セルＣＬについても線形補間によってずれ量ｄｘ、ｄｙを求めることとしている。この線形補間を可能にするため、図１５に示すように、各基準点Ｐを頂点とする三角形のポリゴンＳを設定し、ポリゴンＳ毎に分割セルＣＬを割り当てて、ベクトル演算によりずれ量ｄｘ、ｄｙを演算することとしているのである。ところで、全ての分割セルＣＬについて、ずれ量ｄｘ、ｄｙを演算するためには、全ての分割セルＣＬが何れかのポリゴンＳに含まれていることが必要である。しかし、チューブ１の本体部１ａの図柄によっては、ポリゴンＳの頂点となる基準点Ｐが不足している場合がある。その場合には、全ての分割セルＣＬをポリゴンＳで網羅することができなくなり、例えば、図１５の斜線で示した分割セルＣＬが演算不能となる。
【００５７】
そこで、本実施形態のステップＳ２２において、制御ユニット１００は、図１５のＹ座標における０行から９行に示した最初の画像データをＹ１として、この画像データＹ１の、Ｙ方向の上流側と下流側にそれぞれ拡張データＹ２、Ｙ３を連続させて、３周分の拡張画像を作成し、画像データを拡張することとしている。
【００５８】
次いで、制御ユニット１００は、図１６に示すように、基準点Ｐを含む分割セルＣＬを補正適用セルＣＬａに設定する（ステップＳ２３）。この補正適用セルＣＬａの基準点Ｐがずれ量ｄｘ、ｄｙの演算の基礎となる。ところで、線形補間の際に設定されるポリゴンＳは、可能な限り、短い辺で構成されていることが、誤差を少なくする上で好ましい。また、ポリゴンＳが全ての分割セルＣＬを含んでいることも必要である。かかる要請に応じるため、本実施形態では、所定の分割セルＣＬを強制的に補正適用セルＣＬａに設定することとしている。具体的には、図１６の斜線部分で示すように、基準となる撮像画像の一方向両端側（Ｘ方向両側）に基準点Ｐを含むものがない場合には、Ｘ方向の両側にある補正適用セルＣＬａ（図示の例では、ＣＬ［１，５］と、ＣＬ［８，２］）に隣接する分割セル（図示の例では、ＣＬ［０，５］と、ＣＬ［９，２］）を強制的に補正適用セルＣＬａとして設定することとしている（ステップＳ２４）。また、拡張された撮像画像の四隅部（図示の例では、ＣＬ［０，１９］、ＣＬ［０，２０］、ＣＬ［９，１９］、ＣＬ［９，２０］）が選定される（ステップＳ２５）。強制的に設定されたこれら補正適用セルＣＬａの中心には、基準点Ｐが設定される。設定された基準点Ｐには、当該補正適用セルＣＬａと最も近い補正適用セルＣＬａの基準点Ｐのずれ量ｄｘ、ｄｙが設定される。
【００５９】
次いで、制御ユニット１００は、拡張データＹ２、Ｙ３を含む全ての補正適用セルＣＬａの基準点Ｐを頂点とする多角形のポリゴンを生成し、このポリゴンを所定のアルゴリズムで三角形のポリゴンＳに分割する（ステップＳ２６）。このポリゴンＳの生成時のアルゴリズムとしては、二次元ドロネー分割法を用いることが好ましい。二次元ドロネー分割法では、何れの補正適用セルＣＬａも面上に含まない三角形の集合体となるように、平面上の補正適用セルＣＬａの基準点Ｐを頂点として、各頂点を含む多角形が三角形のポリゴンＳに分割される。このようなポリゴンＳを設定することにより、図１７に示すように、基準画像の全ての分割セルＣＬを割り当てることが可能なポリゴンＳが設定される。
【００６０】
ステップＳ２６が終了した後は、ポリゴンＳを構成する補正適用セルＣＬａのデータに基づき、ポリゴンＳに対して全ての分割セルＣＬを割り当て（ステップＳ２７）、その関連を示す三角面情報テーブルを作成する（ステップＳ２８）。図１８は、三角面情報テーブルの一例を示すビュー表である。図示の例では、製品であるチューブ１の品番毎に、基準画像の分割セルＣＬが列挙され、分割セルＣＬ毎にポリゴンＳが割り当てられる。図１８のビュー表において、ｉ、ｊは、分割セルＣＬの座標（ｘ、ｙ）を示す。Ｆ１は、補正適用セルであることを示す補正適用フラグである。補正適用フラグＦ１は、初期値はＮｕｌｌである。また、Ｉｄは、ポリゴンＳを一意に特定する識別番号であり、何れの分割セルＣＬが何れのポリゴンＳに属しているかを特定している。さらに、本実施形態においては、各分割セルＣＬを演算する順位がポリゴンＳ毎に設定されており、一つのポリゴンＳ（例えば、Ｉｄ＝１のポリゴンＳ）が選定されると、そのポリゴンＳに属する分割セルＣＬを予め定められた順序（例えば、矢印で示すようにＣＬ［０，０］→ＣＬ［０，１］→ＣＬ［０，２］・・・）で選定し、ずれ量ｄｘ、ｄｙを演算することができるようになっている。なお、この順位は、所定の値（例えば−１）でポリゴンＳ毎に最終行であることを識別できるようにして、演算の高速化が図られている。
【００６１】
ステップＳ２８が終了すると、制御ユニット１００は、三角面分割状況を表示装置３０にグラフィック表示し（ステップＳ２９）、基準画像生成処理を終了する。
【００６２】
次に、図１９〜図２０を参照して、分割セルのずれ量ｄｘ、ｄｙを演算するサブルーチン（図５のステップＳ７）について説明する。
【００６３】
一般に、線形補間は、既知の２点の座標に基づいて、当該２点の座標の間にある点の座標を演算する手法である。本実施形態では、ポリゴンＳの頂点を構成する補正適用セルＣＬａの基準点Ｐを利用し、線形代数で分割セルＣＬのずれ量（従って補正量）ｄｘ、ｄｙを演算することとしている。かかる線形補間を実行するため、制御ユニット１００の記憶装置５０には、先に説明した図１８のデータテーブルとともに、図２２に示すような記憶領域が設定されており、ずれ量ｄｘ、ｄｙの処理を管理することができるようになっている。
【００６４】
図２２を参照して、製品毎のずれ量ｄｘ、ｄｙを管理するため、記憶装置５０には、製品番号を管理する領域が設定される。そして、この製品番号毎に分割セルＣＬの座標ｉ、ｊが管理される。分割セルＣＬは、補正適用フラグＦ１とともに、演算済フラグＦ２が設定されるようになっている。後述するように、分割セルＣＬの演算順序は、ポリゴンＳに対する割り当て状況に応じてランダムに変化するので、分割セルＣＬ毎に演算済フラグＦ２の値を設定して、処理順序を管理するようにしている。演算済フラグＦ２は、初期値はｎｕｌｌであり、処理済みの値はＯＮである。さらに、分割セルＣＬ毎に演算されたずれ量ｄｘ、ｄｙの値を保存する領域が設けられている。補正適用セルＣＬａについては、図５のステップＳ３〜ステップＳ５で登録され、図１１のステップＳ２４、Ｓ２５で設定した、強制補正適用セルと四隅の補正適用セルについては、図１１のステップＳ２４、Ｓ２５で照合した補正適用セルＣＬａのずれ量ｄｘ、ｄｙがそのまま登録されており、この時点で演算済フラグＦ２は、ＯＮに更新される（図５のステップＳ６参照）。
【００６５】
図１９および図２３を参照して、まず、このサブルーチンでは、制御ユニット１００は、Ｙ座標で示す行毎に分割セルＣＬのずれ量ｄｘ、ｄｙを順番に処理するように構成されている。かかる処理を実行するため、制御ユニット１００は、処理対象となる分割セルＣＬのＸ座標ｉ、Ｙ座標ｊを初期化する（ステップＳ７１）。ついで、制御ユニット１００は、処理対象となる番号の行の存否を処理対象のＹ座標ｊに基づいて判定する（ステップＳ７２）。仮に処理対象の行の値ｊが設定されている最大値ｊｍａｘ以上であれば、制御ユニット１００は、メインルーチンに復帰する。未処理の行がある場合、制御ユニット１００は、Ｘ座標ｉの値に基づいて、処理対象となる分割セルＣＬが当該行内にあるか否かを判定する（ステップＳ７３）。仮に処理対象となる分割セルＣＬの列の値ｉが設定されている最大値ｉｍａｘ未満である場合には、さらに、当該分割セルＣＬの演算済フラグＦ２がＮｕｌｌであるか否かを判定し（ステップＳ７４）、Ｎｕｌｌである場合には、線形補間演算を実行する（ステップＳ７５）。この線形補間演算により、当該分割セルＣＬのずれ量ｄｘ、ｄｙが精緻に演算される。ステップＳ７５の線形補間演算が終了すると、制御ユニット１００は、分割セルＣＬのＸ座標ｉをインクリメントし（ステップＳ７６）、ステップＳ７３に移行して上述した処理を繰り返す。
【００６６】
ステップＳ７３でＸ座標ｉが最大値ｉｍａｘ以上である場合（ＮＯ判定の場合）、すなわち、当該列での分割セルＣＬが全て演算された場合、制御ユニット１００は、Ｘ座標ｉの値を初期化するとともに、Ｙ座標ｊの値をインクリメントし（ステップＳ７７）、その後、ステップＳ７２に移行する。
【００６７】
また、ステップＳ７４で、演算済フラグＦ２がＮｕｌｌではない場合、すなわち、ＯＮの値が入っている場合（図２２参照）、ステップＳ７６に移行する。これにより、重複演算を排除して、処理を高速化することができる。
【００６８】
次に、図１９の線形補間演算（ステップＳ７５）の詳細について、図２０を参照しながら説明する。
【００６９】
図２０を参照して、線形補間演算（ステップＳ７５）では、予め分割セルＣＬに割り当てられたポリゴンＳのデータを参照し、ポリゴンＳの頂点Ａ、Ｂ、Ｃを設定する。
【００７０】
例えば、図２３の例の場合、ポリゴンＳは、ＣＬ［１，５］、ＣＬ［４，６］、ＣＬ［４，３］がそれぞれＡ、Ｂ、Ｃに割り当てられている。ポリゴンＳが決まれば、当該ポリゴンＳを構成する補正適用セルＣＬａを特定することが可能になるので、特定された補正適用セルＣＬａに設定されているずれ量ｄｘ、ｄｙの値が、この例では参照される（図２２参照）。
【００７１】
次いで、本実施形態では、Ｘ方向のずれ量ｄｘとＹ方向のずれ量ｄｙとを効率よく演算するために、Ｘ座標、Ｙ座標を識別する変数ａを用いてＸ方向とＹ方向とをまとめて演算する。本実施形態の例では、最初に変数ａをｘと定義する（ステップＳ７４２）。
【００７２】
次いで、ポリゴンＳの頂点Ａ、Ｂ、Ｃのそれぞれについて、ａ方向（ステップＳ７４２を実行した後は、Ｘ方向）のずれ量ｄ（ａ）を法線方向（Ｚ方向）にとった法線ベクトルｎＡ（ａ）、ｎＢ（ａ）、ｎＣ（ａ）と、一の法線ベクトルｎＡ（ａ）の終点Ａ（ａ）の座標を始点とし、他の法線ベクトルｎＢ（ａ）、ｎＣ（ａ）の終点Ｂ（ａ）、Ｃ（ａ）に向かう単位ベクトルＵｖ（ａ）、Ｖｖ（ａ）と、行列式Ｄｅｔ（ａ）とを演算する（ステップＳ７４３）。
【００７３】
このステップでは、ずれ量ｄ（ａ）が、座標Ａ（ａ）、Ｂ（ａ）、Ｃ（ａ）を頂点とする三次元マップに座標変換され、ポリゴンＳ（ａ）が設定される。このポリゴンＳ（ａ）は、撮像画像の歪みに基づくばらつきをもってポリゴンＳに対し傾斜している。
【００７４】
単位ベクトルＵｖ（ａ）、Ｖｖ（ａ）は、ポリゴンＳに割り当てられた補正適用セルＣＬａ以外の分割セルＣＬ（例えば図２３のＣＬ［３，５］）について、当該分割セルＣＬの中心点Ｔから法線方向にポリゴンＳ（ａ）と交差する座標Ｔ（ａ）までの距離を求め、中心点Ｔにおけるずれ量ｄ（ａ）（＝法線ベクトルｎＴ（ａ）のスカラ量）を線形補間で演算するためのものである。即ち、座標Ａ（ａ）を始点とし、座標Ｔ（ａ）を終点とするベクトルＴｖ（ａ）は、
Ｔｖ（ａ）＝ｓ＊Ｕｖ（ａ）＋ｔ＊Ｖｖ（ａ）・・・（１）
であるから、（１）式を成分での関係に書き換えると
ｘｔ＝ｓ＊ｘｕ＋ｔ＊ｘｖ・・・（１−１）
ｙｔ＝ｓ＊ｙｕ＋ｔ＊ｙｖ・・・（１−２）
ｚｔ＝ｓ＊ｚｕ＋ｔ＊ｚｖ・・・（１−３）
（１−１）式と（１−２）式の（ｘｕ，ｙｕ）、（ｘｖ，ｙｖ）、（ｘｔ，ｙｔ）は、既知の座標であるので、クラメルの公式により、係数の行列式Ｄｅｔ（ａ）
【数１】
0005603720.tif 000002
を用いて、（１−１）式と（１−２）式の連立方程式から、ｓ、ｔを解くこととしている。
【００７５】
次いで、演算された各値をａ方向について保存する（ステップＳ７４４）。
【００７６】
次に、制御ユニット１００は、変数ａがｙであるか否か、すなわち、Ｘ方向とＹ方向の双方について演算が終了したか否かを判定する（ステップＳ７４５）。Ｘ方向とＹ方向の双方について演算が終了した場合には、次のステップに移行し、変数ａがｘである場合、すなわち、Ｙ方向の演算が終了していない場合には、変数ａをｙに変更して（ステップＳ７４６）、ステップＳ７４３に移行する。
【００７７】
図２０に示したように、一つのポリゴンＳに関して、ずれ量ｄｘ、ｄｙの演算に必要な共通の要素となるＡ（ａ）、Ｂ（ａ）、Ｃ（ａ）、Ｕｖ（ａ）、Ｖｖ（ａ）、Ｄｅｔ（ａ）をまとめて演算しておくことにより、当該ポリゴンＳに割り当てられた複数の分割セルＣＬのずれ量演算を迅速化することができる。
【００７８】
次に、図２０の処理が終了すると、図２１に示すように、ポリゴンＳに関連する分割セルＣＬのずれ量をＸ方向とＹ方向とに分けて演算するため、制御ユニット１００は、再度、ａをｘと定義する（ステップＳ７５０）。次いで、演算対象となっているＣＬ［ｉ，ｊ］のポリゴンＳ上の座標をＴとし、ずれ量を示す座標をＴ（ａ）と定義する（ステップＳ７５１）。この結果、座標Ａ（ａ）を始点とし、座標Ｔ（ａ）を終点とするベクトルＴｖ（ａ）は、単位ベクトルＵｖ（ａ）、Ｖｖ（ａ）によって（１）式の通り表されるので、その成分ｘｔ、ｙｔ、ｚｔについても、（１−１）〜（１−３）式の通りとなる。
【００７９】
次いで、制御ユニット１００は、（１−１）（１−２）式のｘｔ、ｙｔを演算する（ステップＳ７５２）。具体的には、
ｘｔ＝（Ｔ（ａ）のｘ座標）−（Ａ（ａ）のｘ座標）・・・（３−１）
ｙｔ＝（Ｔ（ａ）のｙ座標）−（Ａ（ａ）のｙ座標）・・・（３−２）
を演算し、これらの値を求める。この演算結果を（１−１）式と（１−２）式にそれぞれ代入すると、（１−１）式と（１−２）式は、ｓ、ｔを変数とする連立方程式になる。従って、クラメルの公式により、ｓ、ｔを求めることができるので、制御ユニット１００は、（２）式で求めた係数の行列式Ｄｅｔ（ａ）を分母として
【数２】
0005603720.tif 000003
を演算する（ステップＳ７５３）。
【００８０】
次いで、制御ユニット１００は、演算されたｓ、ｔの値を（１−３）式に代入し、ベクトルＴ→Ｔ（ａ）の法線方向の成分ｚｔを演算する（ステップＳ７５４）。ここで、（１−３）式のｚｔは、Ａ（ａ）点を原点とする法線方向の点Ｔ（ａ）のずれ量である。そこで、制御ユニット１００は、このｚｔにＡ点からＡ（ａ）点の法線方向の成分、すなわち、Ａ点のずれ量ｄ（Ａ（ａ））を加えて、Ｔ（ａ）でのＴからのずれ量ｄ（ａ）を演算し、登録する（ステップＳ７５５）。
【００８１】
次に、制御ユニット１００は、ａがｙであるか否か、すなわち、Ｘ方向とＹ方向の双方について演算が終了したか否かを判定する（ステップＳ７５６）。Ｙ方向の演算が終了していない場合には、ａをｙに変更して（ステップＳ７５７）、ステップＳ７５１に移行する。
【００８２】
Ｘ方向とＹ方向の双方について演算が終了した場合には、当該分割セルＣＬについて演算済フラグＦ２をＯＮにする（ステップＳ７５８）。この段階で、当該分割セルＣＬに関するずれ量ｄｘ、ｄｙの演算が完了したことになる。
【００８３】
次いで、制御ユニット１００は、演算対象になったポリゴンＳについて、演算が終了していない分割セルＣＬがあるか否かを判定し（ステップＳ７５９）、演算されていない分割セルＣＬが残っている場合には、演算順位Ｐｙ（図１８参照）に基づいて、次の分割セルＣＬを選定し、ステップＳ７５０に移行して上述した処理を繰り返す。他方、全ての分割セルＣＬについて演算が終了した場合には、制御ユニット１００は、図１９のサブルーチンに復帰する。
【００８４】
以上説明したように本実施形態は、可撓性の高い円筒形のチューブ１の外周をＣＣＤカメラ２０と相対変位させて撮像し、得られた撮像画像から、当該チューブ１の合否の基準となる基準画像と照合される検査画像を生成する検査画像の生成方法において、基準画像を二次元マトリックスに分割した分割セルＣＬを設定する分割セル設定ステップ（ステップＳ２２）と、分割セルＣＬのうち、検査対象となる模様１ｄの特徴を表す座標を基準点Ｐとして含むものを補正適用セルＣＬａとして設定する補正適用セル設定ステップ（ステップＳ２３〜Ｓ２５）と、撮像画像と基準画像とをパターンマッチングで照合し、補正適用セルＣＬａに含まれる基準点Ｐに対応する当該撮像画像のずれ量ｄｘ、ｄｙを基準点Ｐ毎に検出するずれ量検出ステップ（ステップＳ４）と、ずれ量検出ステップ（ステップＳ４）で検出した基準点Ｐでのずれ量ｄｘ、ｄｙに基づいて、前記補正適用セルＣＬａ以外の全分割セルＣＬのずれ量ｄｘ、ｄｙを線形補間で演算する補間演算ステップ（ステップＳ７）と、補正適用セルＣＬａを含む全分割セルＣＬのずれ量ｄｘ、ｄｙに基づいて、前記撮像画像を分割セルＣＬ毎に補正した検査画像を生成する検査画像生成ステップ（ステップＳ８）とを備えている。
【００８５】
本実施形態では、撮像画像と基準画像とのパターンマッチングで得られた精緻なずれ量ｄｘ、ｄｙに基づき、補間演算（ステップＳ７）によって、撮像画像のずれ量ｄｘ、ｄｙが全ての分割セルＣＬついて演算されるので、チューブ１の撮像時の速度のばらつきやその他の原因に起因する歪みが撮像時に生じていても、その歪みを全ての分割セルＣＬ毎に補正した精緻な検査画像を得ることができる。この結果、検査画像の精度が高まり、照合時の誤判定を可及的に低減することが可能になる。
【００８６】
また、本実施形態では、基準点Ｐを頂点とする三角形Ａ、Ｂ、Ｃに分割されたポリゴンＳを設定するポリゴン設定ステップ（ステップＳ２６）と、分割セルＣＬのうち、補正適用セルＣＬａ以外の全分割セルＣＬを線形補間の演算対象として何れかのポリゴンＳに割り当てる割り当てステップ（ステップＳ２７）と、ポリゴンＳの頂点Ａ、Ｂ、Ｃ毎にずれ量ｄｘ、ｄｙに対応して撮像画像の分割セルＣＬの法線方向Ｚに沿うベクトルｎＡ（ａ）、ｎＢ（ａ）、ｎＣ（ａ）を演算する法線ベクトル設定ステップ（ステップＳ７４３）と、演算された法線ベクトルｎＡ（ａ）、ｎＢ（ａ）、ｎＣ（ａ）の終点（Ａ（ａ）、Ｂ（ａ）、Ｃ（ａ））に基づいて、当該ポリゴンＳに割り当てられた全ての分割セルＣＬのずれ量ｄｘ、ｄｙを成分毎に演算する行列演算ステップ（ステップＳ７５０〜Ｓ７６０）とを備えている。このため本実施形態では、線形補間を演算するに当たり、三角形のポリゴンの頂点Ａ、Ｂ、Ｃを基点とする法線ベクトルｎＡ（ａ）、ｎＢ（ａ）、ｎＣ（ａ）の終点（Ａ（ａ）、Ｂ（ａ）、Ｃ（ａ））に基づいて行列式を設定し、単純な代数でずれ量を線形補間で演算することができる。
【００８７】
また、本実施形態では、ポリゴンＳの生成に寄与する所定の分割セルＣＬ（図１６の斜線部分の分割セル）を強制的に補正適用セルＣＬａに設定する強制設定ステップ（ステップＳ２４、Ｓ２５）を備えている。このため本実施形態では、ポリゴンＳを設定する際、そのポリゴンＳの面積が過度に大きくなることを防止したり、ポリゴンＳに含まれない分割セルＣＬが生じるのを防止し、好適なずれ量ｄｘ、ｄｙの演算誤差を抑制することができる。
【００８８】
また、本実施形態では、同一の基準画像を当該基準画像の両側に連続させる拡張ステップ（ステップＳ２２）と、該両側に連続された基準画像のうち、補正適用セルＣＬａに相当する分割セルＣＬと、両側に連続された基準画像の隅部の分割セルＣＬとを、基準点Ｐを含む補正適用セルとして登録するステップ（ステップＳ２４、Ｓ２５）とを含んでいる。このため本実施形態では、全ての分割セルＣＬをポリゴンＳに割り当てることができ、確実に分割セルＣＬ毎のずれ量ｄｘ、ｄｙを線形補間で演算することができる。
【００８９】
また、本実施形態では、ポリゴン設定ステップ（ステップＳ２６）は、二次元ドロネー分割法で多角形のポリゴンを三角形のポリゴンＳに分割するステップを含んでいる（図１７参照）。このため本実施形態では、各補正適用セルを頂点として網羅することのできる好適な三次元マッピングをすることができる。
【００９０】
また、本実施形態では、行列演算ステップは、ポリゴンＳの頂点Ａを基点として演算された一の法線ベクトルｎＡ（ａ）の終点Ａ（ａ）を始点とし、且つ当該ポリゴンＳを構成する他の法線ベクトルｎＢ（ａ）、ｎＣ（ａ）の終点Ｂ（ａ）、Ｃ（ａ）に向かう二つの単位ベクトルＵｖ（ａ）、Ｖｖ（ａ）と、各単位ベクトルＵｖ（ａ）、Ｖｖ（ａ）の成分ベクトルに基づく係数の行列式（（２）式）とを予め演算し、これら単位ベクトルＵｖ（ａ）、Ｖｖ（ａ）と行列式とに基づいて、当該ポリゴンＳに割り当てられた分割セルＣＬ毎のずれ量ｄｘ、ｄｙを順次演算するステップを含む。このため本実施形態では、ずれ量ｄｘ、ｄｙを演算するために必要な単位ベクトルＵｖ（ａ）、Ｖｖ（ａ）や行列式が、予め演算された状態で分割セルＣＬの演算が順次実行されるので、重複処理を排除し、演算を効率化することができる。
【００９１】
本発明の別の態様は、上述した検査画像の生成方法を用いた画像検査方法において、検査画像生成ステップ（ステップＳ８）により生成された検査画像と基準画像とを照合して、当該検査画像の合否を判定する合否判定ステップ（ステップＳ１１〜Ｓ１４）を備えている画像検査方法である。
【００９２】
本発明の別の態様は、可撓性の高い円筒形のチューブ１を一方向に回転可能に担持するマンドレル１１ａと、マンドレル１１ａに担持されたチューブ１の外周を撮像するＣＣＤカメラ２０と、ＣＣＤカメラ２０が撮像したチューブ１の合否の基準となる基準画像を記憶する基準画像記憶手段と、基準画像のうち、検査対象となる模様の特徴を表す座標を基準点Ｐとして記憶する基準点記憶手段と、基準画像を二次元マトリックスに分割した分割セルＣＬに関する情報を記憶する分割セル情報記憶手段と、分割セルＣＬのうち、基準点Ｐを含むものを補正適用セルＣＬａと識別する手段として補正適用フラグＦ１を記憶する補正適用セル記憶手段とを記憶装置５０が具体化している。加えて、制御ユニット１００は、ＣＣＤカメラ２０により得られた撮像画像と基準画像とをパターンマッチングで照合し、補正適用セルＣＬａに対応する当該撮像画像のずれ量ｄｘ、ｄｙを基準点Ｐ毎に検出するずれ量検出手段としてのずれ量演算モジュール１０４と、ずれ量演算モジュール１０４の検出した基準点Ｐでのずれ量ｄｘ、ｄｙに基づいて全分割セルＣＬのずれ量ｄｘ、ｄｙを線形補間で演算する補間演算手段としての補間演算モジュール１０５と、各分割セルＣＬのずれ量ｄｘ、ｄｙに基づいて、前記撮像画像を全ての分割セルＣＬ毎に補正した検査画像を生成手段としての検査画像生成モジュール１０６と、検査画像生成モジュール１０６の補正した検査画像と基準画像とを照合して、当該チューブ１の良否を判定する判定手段としての合否判定モジュール１０７とを論理的に備えている。このため本実施形態では、パターンマッチングで得られたずれ量ｄｘ、ｄｙに基づき、撮像画像の全ての分割セルＣＬのずれ量ｄｘ、ｄｙが線形補間で演算されて、歪みが補正された検査画像が生成されるので、分割セル毎に歪みを補正することができる。従って、チューブ１の撮像時の速度のばらつきやその他の原因に起因する歪みが撮像時に生じていても、その歪みを分割セルＣＬ毎に補正した精緻な検査画像を得ることができる。この結果、検査画像の精度が高まり、照合時の誤判定を可及的に低減することが可能になる。
【００９３】
また、本実施形態では、補間演算モジュール１０５は、基準点Ｐを頂点Ａ、Ｂ、Ｃとする三角形に分割されたポリゴンＳを設定するポリゴン設定ステップ（ステップＳ２６）と、分割セルＣＬのうち、補正適用セル以外の全分割セルＣＬを線形補間の演算対象として何れかのポリゴンＳに割り当てる割り当てステップ（ステップＳ２７）と、ポリゴンＳの頂点Ａ、Ｂ、Ｃ毎にずれ量ｄｘ、ｄｙを分割セルＣＬの法線方向Ｚに沿う法線ベクトルｎＡ（ａ）、ｎＢ（ａ）、ｎＣ（ａ）を演算する法線ベクトル設定ステップ（ステップＳ７４１）と、演算された法線ベクトルｎＡ（ａ）、ｎＢ（ａ）、ｎＣ（ａ）の終点（Ａ（ａ）、Ｂ（ａ）、Ｃ（ａ））に基づいて、当該ポリゴンＳに割り当てられた全ての分割セルＣＬのずれ量ｄｘ、ｄｙを成分毎に演算する行列演算ステップ（ステップＳ７５）とを実行するものである。このため本実施形態では、補正適用セルＣＬａの基準点Ｐを頂点とするポリゴンＳに、当該基準点Ｐでのずれ量ｄｘ、ｄｙを反映した法線ベクトルｎＡ（ａ）、ｎＢ（ａ）、ｎＣ（ａ）が設定され、さらに、設定された法線ベクトルｎＡ（ａ）、ｎＢ（ａ）、ｎＣ（ａ）に基づいて、全ての分割セルＣＬのずれ量ｄｘ、ｄｙが線形補間で演算されて、補正された検査画像が生成されるので、ずれ量ｄｘ、ｄｙの演算負荷を軽減し、一層精緻且つ迅速に補正処理を実行することが可能になる。
【００９４】
また、本実施形態では、ポリゴンＳに割り当てられた分割セルＣＬの演算処理の順番をポリゴンＳ毎に指定する属性（図１８の順位）を記憶する演算順位記憶手段を備えている。このため本実施形態では、演算される分割セルＣＬの順番をポリゴンＳ毎に予め設定しておき、演算処理の最適化を図ることができるので、一層、演算負荷の軽減を図り、処理を迅速化することができる。
【００９５】
上述した実施の形態は、本発明の好ましい具体例を例示したものに過ぎず、本発明は上述した実施形態に限定されない。例えば、全セルのずれ量ｄｘ、ｄｙの演算ステップＳ７において、一行毎に列を増やして分割セルＣＬを進めるのではなく、１列毎に行を増やして、分割セルＣＬを進めてもよい。
【００９６】
その他、本発明の特許請求の範囲内で種々の変更が可能であることはいうまでもない。
【符号の説明】
【００９７】
１  チューブ
１ａ  チューブ本体部
１ｄ  模様
１０  検査装置
１１  検査テーブル
１１ａ  マンドレル
２０  ＣＣＤカメラ（撮像装置の一例）
５０  記憶装置
１００  制御ユニット
１０１  分散モデル処理モジュール
１０２  分割セル登録モジュール
１０３  補正適用セル登録モジュール
１０４  ずれ量演算モジュール
１０５  補間演算モジュール
１０６  検査画像生成モジュール
１０７  合否判定モジュール
ｎＡ（ａ）、ｎＢ（ａ）、ｎＣ（ａ）  法線ベクトル
Ａ（ａ）、Ｂ（ａ）、Ｃ（ａ）  法線ベクトルの終点
Ｍ  ＰＭモデル（分散モデルの一例）
Ｐｙ  演算順位（属性の一例）
Ｓ  ポリゴン
【図１】
0005603720.tif 000004
【図２】
0005603720.tif 000005
【図３】
0005603720.tif 000006
【図４】
0005603720.tif 000007
【図５】
0005603720.tif 000008
【図６】
0005603720.tif 000009
【図７】
0005603720.tif 000010
【図８】
0005603720.tif 000011
【図９】
0005603720.tif 000012
【図１０】
0005603720.tif 000013
【図１１】
0005603720.tif 000014
【図１２】
0005603720.tif 000015
【図１３】
0005603720.tif 000016
【図１４】
0005603720.tif 000017
【図１５】
0005603720.tif 000018
【図１６】
0005603720.tif 000019
【図１７】
0005603720.tif 000020
【図１８】
0005603720.tif 000021
【図１９】
0005603720.tif 000022
【図２０】
0005603720.tif 000023
【図２１】
0005603720.tif 000024
【図２２】
0005603720.tif 000025
【図２３】
0005603720.tif 000026