(57)【特許請求の範囲】
【請求項１】
１次元の視野を有する撮像装置を用いて検出された映像信号を信号処理することにより、移動速度に変動がある移動物体の画像処理を行う画像処理装置において、
（イ）所定の周期で移動物体の画像を検出し映像信号に変換する１次元撮像装置と、
（ロ）この映像信号を前記所定の周期で記憶する映像信号用メモリと、
（ハ）前記１次元撮像装置の分解能と同等あるいはそれ以下の距離に設定された所定距離の物体の移動に対応してエンコーダパルスを発生するエンコーダパルス発生器と、
（ニ）該エンコーダパルス発生器からのエンコーダパルスを受けて、前記映像信号用メモリから映像信号を読み出して画素ごとに加算して記憶する演算用メモリと、
（ホ）前記加算回数が疵検出に必要な分解能と画像処理で処理すべき画素数とから設定された所定値に達するごとに前記演算用メモリの画素ごとの映像信号の平均値を演算する信号処理装置と、
（ヘ）この演算により得られた画素ごとの映像信号の平均値を出力する出力手段と、を備えていることを特徴とする移動物体の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、１次元の視野を有する撮像装置を用いて検出された映像信号を信号処理することにより、移動速度に変動がある移動物体の画像処理を行う画像処理装置に関する。
【０００２】
【従来の技術】
鋼板等の連続的に生産される製造物の表面欠陥の検出には、一般に画像処理の手法を用いることが多い。画像処理用の画像の採取は、２次元的に行うこともあるが、物体が移動する場合は、製造物のラインに対して幅方向の画像を１次元的に採取することが多い。これは、画像メモリの節約や画像処理速度の向上を図るためである。
【０００３】
例えば、特開平２−２１０２１１号公報には、画素と疵の判定を異なる分解能で行うことにより、高分解能かつメモリ使用量の少ない表面検査装置が提案されている。この技術では、疵を各画素の分解能より小さな寸法の分解能で検出して判定を行い、その判定結果を対応する画素にフラグとして設定する。その結果、画素の分解能を疵の判定と同じ精度とする場合に比べて、メモリを大幅に削減できるというものである。
【０００４】
また、特開平９−８９８００号公報には、検査対象（疵等の欠陥）の寸法に比べて、分解能が高い受光器と分解能が低い受光器を併用する表面欠陥検査装置が提案されている。この技術では、分解能が高い受光器では乱反射光を検出し、分解能が低い受光器では正反射光を検出することにより、疵と面状欠陥とを分離している。
【０００５】
特開平６−１０２１９６号公報には、複数の１次元撮像素子を備えた表面疵検出装置が提案されている。この技術では、複数個（ｎ個とする）の１次元撮像素子について、撮像信号を読み出すための基準クロックパルスを、順次１／ｎクロックずつずらしている。その結果、クロック周波数の制限（上限）により、移動方向の分解能が低下する場合でも、ｎ個の１次元撮像素子を用いることで、分解能を１／ｎの大きさに向上できるというものである。
【０００６】
【発明が解決しようとする課題】
前述の技術（従来技術）では、画像の採取は基本的に一定時間ごとに行われている。従って、物体の移動速度が一定の場合は、物体上の走査線は一定間隔であり、１次元画像採取の位置は一定間隔となる。しかし、移動速度が変化する場合は、走査線の間隔も変化する。その結果、物体上の走査線の密度が移動速度により変化することになり、疵や欠陥の密度や寸法等の定量的な比較ができなくなる。
【０００７】
そのための対策として、採取された画像をメモリに蓄積し、物体の移動距離が一定距離になるごとに、各画素ごとの平均値を算出することが考えられる。この方法（平均値間引き処理）により、疵や欠陥の定量的な比較は確かに可能となる。しかし、移動速度の変化幅が大きい場合、さらに停止時間が長い場合この方法では、大量の画像メモリを必要とするという問題が発生する。
【０００８】
例えば、１次元撮像素子としてＣＣＤ素子を使用した場合、画素数2048素子、走査レート1.25kscan/sとする。ここで、60分間のライン停止があると、その間の走査回数は4.5 Mscanとなる。これに必要な画像メモリの量は、仮に1画素当たり8bit(1B)としても、2kB×4.5 M＝9GB必要ということになり、現時点では経済性、現実性に乏しい。
【０００９】
そこで、画像メモリの必要量を減らすため、画像採取領域が重ならないように、１次元画像を採取することが考えられる。その場合、画像採取領域は、撮像装置の空間分解能により決まる画像のボケと、時間分解能により決まる移動物体の画像のブレとを加えた大きさとなる。しかしこの場合、画像のブレは、物体の移動速度により大きく変化する。その結果、１次元画像を採取する距離間隔、即ち移動方向の分解能が、物体の移動速度により変化することになり、疵や欠陥の密度や寸法等の定量的な比較ができなくなる。
【００１０】
そこで、１次元画像を採取する距離間隔を、一定にすることが考えられる。例えば、距離間隔を１次元撮像素子の分解能に設定すれば、１次元画像を採取する距離間隔は一定となり、しかも、移動する物体の全領域の情報が得られる。しかし、１次元撮像素子の走査周期（周波数）には、応答周波数の制限があるため、物体の移動速度の上昇に追随できなくなるという問題がある。
【００１１】
これとは逆に、画像のブレが最大となる条件に設定することが考えられる。この場合、１次元画像を採取する距離間隔は、物体の移動速度が一定（最大）の場合に設定されるので、一定の間隔となる。しかし、物体の移動速度が小さくなると、画像のブレが小さくなるので、画像に採取される領域（物体の移動方向の長さ）が縮小する。その結果、移動速度によっては、画像に採取されない見落とし領域が発生するという問題がある。
【００１２】
この発明は、以上のような従来技術の問題点を解決し、移動速度が大幅に変化する場合でも、画像メモリの必要量が少なく、物体の移動方向の分解能が一定で、かつ画像採取の見落としのない、移動物体の画像処理装置を提供することを目的とする。
【００１３】
【課題を解決するための手段】
この発明は、１次元の視野を有する撮像装置を用いて検出された映像信号を信号処理することにより、移動速度に変動がある移動物体の画像処理を行う画像処理装置において、（イ）所定の周期で移動物体の画像を検出し映像信号に変換する１次元撮像装置と、（ロ）この映像信号を前記所定の周期で記憶する映像信号用メモリと、（ハ）前記１次元撮像装置の分解能と同等あるいはそれ以下の距離に設定された所定距離の物体の移動に対応してエンコーダパルスを発生するエンコーダパルス発生器と、（ニ）該エンコーダパルス発生器からのエンコーダパルスを受けて、前記映像信号用メモリから映像信号を読み出して画素ごとに加算して記憶する演算用メモリと、（ホ）前記加算回数が疵検出に必要な分解能と画像処理で処理すべき画素数とから設定された所定値に達するごとに前記演算用メモリの画素ごとの映像信号の平均値を演算する信号処理装置と、（ヘ）この演算により得られた画素ごとの映像信号の平均値を出力する出力手段と、を備えていることを特徴とする移動物体の画像処理装置である。
【００１４】
この発明では、移動物体の画像を１次元撮像素子等の撮像装置で検出する際、物体の移動速度には関係なく、所定の周期とすることができる。従って、撮像装置をその特性に合った走査周波数で使用することができる。検出された映像信号は、複数のポートを有する映像信号用メモリに、走査周波数と同じ周期で記憶され、更新される。
【００１５】
エンコーダパルス発生器は、物体の所定距離の移動に対応してエンコーダパルスを発生する。信号処理装置は、エンコーダパルスを受けると、前記映像信号用メモリから映像信号を読出す。これにより、映像信号は常に一定の距離間隔で得られ、物体の移動速度によらず、物体の面積当たりの画素数を一定に保つことができる。
【００１６】
信号処理装置は、映像信号用メモリから映像信号を読出して、画素ごとに所定の回数だけ加算する。この加算が完了すると、信号処理装置は、画素ごとの映像信号の平均値を演算して画像処理用のデータとする。これにより、その後の画像処理で処理すべき画素数を、大幅に削減できる。この場合、平均値を採る範囲（加算の回数）は、最終的に目的とする疵検出等に必要な分解能と、画像処理で処理すべき画素数との観点から、自由に決定することができる。
【００１７】
演算により得られた画素ごとの映像信号の平均値（画像処理用のデータ）は、信号処理装置により出力手段に書込まれる。この出力手段は、ＤＳＰと後続のデータ処理装置等との間のバッファの役割を果すもので、メモリ等で実現できる。
【００１８】
特に、この出力手段をメモリ等で構成し、その容量が１次元撮像装置の１周期分（画素数）あれば、書込みの周期とは無関係に、画像処理用のデータを読出すことが可能となる。従って、信号処理装置と特に同期をとることなく、その後の画像処理を行うことができる。
【００１９】
なおこの発明で、撮像装置の走査周波数を高くして、応答速度の上限近くで使用すれば、物体の移動速度が高速の場合でも、画像採取の見落としを防止できる。これは、画像のブレにより、移動方向の情報を採取することができるからである。この場合、エンコーダパルスの発生周期が、走査の周期より短時間となることがあるが、同じ画像を複数回読出すことで、それ以降の処理は全く変更せずに済む。
【００２０】
また、前記のエンコーダパルスに対応する所定距離として、撮像装置の分解能と同等あるいはそれ以下の距離を用いることにより、物体の移動速度が低速あるいは停止の場合でも、画像採取の見落としを防止することができる。この場合、エンコーダパルスの発生周期が長くなり、撮像装置からの映像信号の読出しの周期が長くなるので、物体の同じ箇所の画像がメモリに取込まれてメモリを消費するということが無い。
【００２１】
【発明の実施の形態】
図１は、発明の実施の形態の１例を示すブロック図である。ここでは、１次元撮像装置１１としてＣＣＤカメラを使用している。素子の画素数は例えば、2048画素とする。サンプルクロック発生器１２は、ＣＣＤカメラ１１の走査用のクロックパルスを発生し、周波数は 2.5MHzとする。
【００２２】
カメラ系コントローラ１３は、カメラからの映像信号の採取と記録を制御する。このカメラ系コントローラ１３の制御対象は、カメラからの映像信号をデジタル変換するA/Dコンバータ１４（の変換開始）、メモリへの映像信号の記録（デジタル信号の書込み）である。映像信号用メモリ１５は、デュアルポートメモリを用いており、一方のポートＡで、カメラ系コントローラ１３からのタイミングに従って、映像信号をそれぞれ対応するアドレスに記憶し、他方のポートＢから、別のタイミングに従って、内部データ（映像信号）を読み出すことができる。容量は、ＣＣＤカメラ１１の画素数に合わせて、2048B（Byte）とする。
【００２３】
信号処理装置（以下、ＤＳＰとよぶ）１６は、映像信号用メモリ１５に格納されたデータと、その（ＤＳＰ１６の）演算用メモリ１７に格納されたデータとを用いて演算処理を行う。なお、映像信号用メモリ１５に通常のメモリ（ポート数：１）を用いた場合は、書込みのタイミングを避けて読出しを行うようにすればよい。
【００２４】
ここでは、外部からのトリガパルスの割込みにより、映像信号用メモリ１５に格納されたデータを読み出して、演算用メモリ１７のデータに画素ごとに加算する。ここで、トリガパルスは、エンコーダにより物品の移動の一定距離ごとに発生させる。これにより、演算用メモリ１７には、映像信号の撮像素子ごとの積算値が格納されることになる。
【００２５】
信号処理装置（ＤＳＰ）１６は、所定の積算回数ごとに、積算値を積算回数で除算して、映像信号の撮像素子ごとの平均値を算出し、出力手段１８に格納する。この出力手段１８も、ここではデュアルポートメモリを用いており、内部データ（撮像素子ごとの平均値）は、もう一方のポートから別のタイミングで読み出すことができる。これらの動作は、図示しない外部のハードウェア等により行う。この読み出されたデータが、画像処理用のデータとなる。
【００２６】
なお、映像信号用メモリ１５および出力手段１８は、合体することができる。この場合、映像信号用メモリと出力手段を区別するには、別のアドレスを割当てればよい。また、演算用メモリ１７は、映像信号用メモリ１５および出力手段１８と合体させてもよい。
【００２７】
この例では、１つのデュアルポートメモリを使用し、アドレスとして0〜2047番地を映像信号用メモリ１５に、2048〜4095番地を演算用メモリ１７に、4096〜6143番地を出力手段１８に、それぞれ割当てている。この場合、１つのメモリの0〜2047番地が輝度データ領域、2048〜4095番地が輝度データ積算領域、4096〜6143番地が平均値間引き結果領域というようになる。
【００２８】
次に、この装置の動作について説明する。図２は、上記の各信号のタイミングを示すタイムチャートである。カメラ系コントローラ１３関連の動作は、次のようになる。サンプルクロック発生器１２からは、2.5MHzの読出しサンプルクロック２２が生成される。これに基づき、カメラ系コントローラ１３では、各種のパルス２１〜２４を発生する。
【００２９】
まず、スタートパルス２１は、以下に述べる画像処理用のデータを作成するための一連の動作を開始するための信号で、1.25kHzである。これは、2048（2k）画素を2.5MHzの読出し周波数で読出すときの、繰返し周波数に相当する。
【００３０】
このスタートパルス２１により、１次元撮像装置１１の読出しが開始される。個々の画素は、読出しサンプルクロック２２により読出される。A/Dスタートパルス２３は、サンプルクロック２２と同一周波数で、位相を読出し完了の時刻に合せておく。このA/Dスタートパルス２３により、A/Dコンバータ１４が、読出された映像信号のデジタル変換を開始し、デジタル変換後の映像信号をデータバスに出力する。
【００３１】
これと並行して、カメラ系コントローラ１３が、アドレスバスに個々の画素（の位置）に対応するアドレスを出力する。データとアドレスの準備が完了する頃、R/Wコントロールパルス２４が生成され、映像信号用メモリ１５に書込みを指示し、個々の画素の映像信号の書込みが行われる。
【００３２】
このようにして、画素の読出しからメモリへの書込みに至る個々の画素についての動作が総て（この場合、2048画素）完了すると、再度スタートパルス２１が生成され、上記の一連の動作が繰返される。この繰返しの周期（スタートパルス２１の周期）は、以下に述べる画像処理用のデータ処理の周期とは全く無関係に、一定の周期（ここでは、1.25kHz）で行われる。
【００３３】
次に、信号処理装置（ＤＳＰ）１６関連の動作について説明する。エンコーダパルス２６は、物体上一定移動距離ごとに生成されるパルスであり、ここでは0.5mmに設定されている。平均値間引間隔パルス２５は、一定数のエンコーダパルス２６ごとに生成されるパルスである。ここではエンコーダパルス5個に対して、平均値間引間隔パルス２５が1個対応している。この平均値間引間隔パルス２５は、外部から与えてもよく、ＤＳＰ１６自身でエンコーダパルス２６をカウントして、生成してもよい。
【００３４】
ＤＳＰ１６は、外部からのエンコーダパルス２６により割込みが入ると、映像信号用メモリ１５のポートＢから内部データの読出しを行う。この際、ＤＳＰ１６からアドレスバスにアドレスが出力され、次いでR/Wコントロール（読出し可パルス）が出力される。これを受けて映像信号用メモリ１５は、そのアドレスに対応する内部データを、ポートＢからデータバスに出力する。ＤＳＰ１６は、このデータを取込み、今度は演算用メモリ１７から、同一のアドレスに対応する内部データを読出す。その後、ＤＳＰ１６はこれらのデータを加算し、結果を演算用メモリ１７の同じアドレス（画素に対応）に戻す。
【００３５】
なお、R/Wコントロール信号は、図１の回路では３つのメモリに同時に出されるので、読み書きを行うメモリを指定する必要がある。その場合は、デコーダ等で目的のメモリを選択しチップイネーブルとすることで、そのメモリのみを読み書き可能とすればよい。
【００３６】
ＤＳＰ１６は、このように一定数のエンコーダパルス２６についてデータの加算を行った後、平均値間引間隔パルス２５により、平均値を算出する。これは、演算用メモリ１７から内部データを読出して、画素ごとに一定数（この例では5）で除算して行う。ＤＳＰ１６は、算出した平均値を、出力手段１８の一方のポートから書込む。その後、次のエンコーダパルス２６によりデータの加算が開始され、上記の動作が繰返される。
【００３７】
この出力手段１８のデータが、画像処理用のデータであり、他方のポートから書込みのタイミングによらず読出すことができる。但し、画像処理用のデータの読出しは、出力手段１８のデータが更新される前に、即ち次の平均値間引間隔パルス２５の前に行う必要がある。
【００３８】
図３は、上記の実施の形態における信号処理装置（ＤＳＰ）１６の動作を示すフロー図である。まず、ステップ３０１でエンコーダパルス２６の割込みが入ると、（ステップ、以下適宜省略）３０２でエンコーダパルス２６がカウントされる。ステップ３０３でカウント数が一定値未満の場合、読出しアドレスnを0にリセットし、３０５〜３１０の読出しループに入る。
【００３９】
読出しループでは、ステップ３０５で映像信号用メモリ１５からアドレスnのデータを読出し、３０６で演算用メモリ１７の対応するアドレスのデータと加算し、３０７で結果を演算用メモリ１７の同じアドレスにストアする。ステップ３０８でアドレスnが上限値未満であれば、３１０でアドレスnに1を加算し、３０５〜３０８を反復する。
【００４０】
ステップ３０８でアドレスnが上限値（ここでは2047）に到達すると、３０９でリターン（待機状態）となり、次のエンコーダパルス２６の割込み（ステップ３０１）を待つ。エンコーダパルス２６のカウント数が、ステップ３０３で上限値に到達すると、３２０で読出しアドレスnを0にリセットし、平均値間引きループに入る。なお、このループでは出力手段１８のデータ更新を行うので、ループに入る前に、ステップ３１９で読出し可フラグをOFFにしておく。
【００４１】
平均値間引きループでは、ステップ３２１、３２２で、ステップ３０５、３０６と同じ動作を行い、映像信号用メモリ１５からアドレスnのデータを読出し、演算用メモリ１７の対応するアドレスのデータと加算する。その後、ステップ３２４で演算用メモリ１７のアドレスnのデータをカウント数の上限値Ｎで除算（ここでは1/5倍）し、３２５で出力手段１８にストアする。その後、演算用メモリ１７を初期化しておく。
【００４２】
次のエンコーダパルス２６により、データの加算が開始され、上記の動作が繰返される。ステップ３２６でアドレスnが上限値未満であれば、３２７でアドレスnに1を加算し、３２１〜３２６を反復する。
【００４３】
ステップ３２６でアドレスnが上限値（ここでは2047）に到達すると、３２８で読出し可フラグをONにし、出力手段１８の別のポートからの読出しを許可する。次いで、ステップ３２９でエンコーダパルス２６のカウントをリセットし、３３０でリターン（待機状態）となり、次のエンコーダパルス２６の割込み（ステップ３０１）を待つ。
【００４４】
【発明の効果】
この発明では、撮像装置では物体の移動速度には関係なく、所定の周期で画像を検出してメモリに書込み、映像信号の読出しは物体の所定距離の移動に対応して行うので、画像メモリの必要量が少なくて済むとともに、物体の移動速度によらず、物体の面積当たりの画素数を一定に保つことができる。従って、移動速度が大幅に変化する場合でも、物体の移動方向の分解能が一定で、かつ画像採取の見落としのない、移動物体の画像処理装置が実現できる。
【図面の簡単な説明】
【図１】実施の形態の１例を示すブロック図である。
【図２】信号のタイミングを示すタイムチャートである。
【図３】実施の形態の１例を示すフロー図である。
【符号の説明】
１１  １次元撮像装置
１２  サンプルクロック発生器
１３  カメラ系コントローラ
１４  A/Dコンバータ
１５  映像信号用メモリ
１６  信号処理装置（ＤＳＰ）
１７  演算用メモリ
１８  出力手段
【図１】
0003959814.tif 000002
【図２】
0003959814.tif 000003
【図３】
0003959814.tif 000004