(57)【特許請求の範囲】
【請求項１】
検査対象物の高さ情報に基づいて外観検査を行うための検査装置であって、
一方向に相対的に移動される検査対象物に対して測定光を照射するための照射部と、
前記照射部から検査対象物に照射され、該検査対象物で反射された、高さ方向における振動成分を含む反射光を検出するための検出部と、
前記検出部により取得された検出データに基づき、検査対象物の断面形状を示す二次元プロファイルを生成するための二次元プロファイル生成部と、
複数の二次元プロファイルから得られた振動成分が除去される前の三次元データに基づいて、振動成分推定の基準となる基準高さを設定するための基準高さ設定部と、
前記二次元プロファイル生成部で生成された二次元プロファイルと、前記基準高さ設定部で設定された基準高さに基づいて、検査環境の振動成分を推定するための振動推定部と、
前記振動推定部で推定された振動成分を、各二次元プロファイルから除去するためのプロファイル補正部と、
前記プロファイル補正部で振動成分が除去された複数の二次元プロファイルから、検査対象物の三次元データを生成するための三次元データ生成部と、
前記三次元データ生成部で生成された三次元データに基づいて検査対象物の外観検査を行うための検査部と
を備え、
前記基準高さ設定部は、前記基準高さとして、前記三次元データ生成部で生成された振動成分が除去される前の三次元データに基づいて基準面を推定し、
前記振動推定部は、前記基準高さ設定部で推定された基準面の断面から得られる基準線と、該基準線に対応する二次元プロファイル上の高さとに基づいて、各二次元プロファイルの振動成分を推定するよう構成してなる検査装置。
【請求項２】
検査対象物の高さ情報に基づいて外観検査を行うための検査装置であって、
一方向に相対的に移動される検査対象物に対して測定光を照射するための照射部と、
前記照射部から検査対象物に照射され、該検査対象物で反射された、高さ方向における振動成分を含む反射光を検出するための検出部と、
前記検出部により取得された検出データに基づき、検査対象物の断面形状を示す二次元プロファイルを生成するための二次元プロファイル生成部と、
複数の二次元プロファイルから得られた振動成分が除去される前の三次元データに基づいて、振動成分推定の基準となる基準高さを設定するための基準高さ設定部と、
前記二次元プロファイル生成部で生成された二次元プロファイルと、前記基準高さ設定部で設定された基準高さに基づいて、検査環境の振動成分を推定するための振動推定部と、
前記振動推定部で推定された振動成分を、各二次元プロファイルから除去するためのプロファイル補正部と、
前記プロファイル補正部で振動成分が除去された複数の二次元プロファイルから、検査対象物の三次元データを生成するための三次元データ生成部と、
前記三次元データ生成部で生成された三次元データに基づいて検査対象物の外観検査を行うための検査部と
を備え、
前記基準高さ設定部は、基準高さとして、前記三次元データ生成部で生成された振動成分が除去される前の三次元データに基づいて平面状の基準平面として推定され、
前記振動推定部は、前記基準高さ設定部で推定された基準平面の断面から得られる基準直線と、該推定された基準直線に対応する二次元プロファイル上の高さとに基づいて、各二次元プロファイルの振動成分を推定するよう構成してなる画像検査装置。
【請求項３】
検査対象物の高さ情報に基づいて外観検査を行うための検査装置であって、
一方向に相対的に移動される検査対象物に対して測定光を照射するための照射部と、
前記照射部から検査対象物に照射され、該検査対象物で反射された、高さ方向における振動成分を含む反射光を検出するための検出部と、
前記検出部により取得された検出データに基づき、検査対象物の断面形状を示す二次元プロファイルを生成するための二次元プロファイル生成部と、
複数の二次元プロファイルから得られた振動成分が除去される前の三次元データに基づいて、振動成分推定の基準となる基準高さを設定するための基準高さ設定部と、
前記二次元プロファイル生成部で生成された二次元プロファイルと、前記基準高さ設定部で設定された基準高さに基づいて、検査環境の振動成分を推定するための振動推定部と、
前記振動推定部で推定された振動成分を、各二次元プロファイルから除去するためのプロファイル補正部と、
前記プロファイル補正部で振動成分が除去された複数の二次元プロファイルから、検査対象物の三次元データを生成するための三次元データ生成部と、
前記三次元データ生成部で生成された三次元データに基づいて検査対象物の外観検査を行うための検査部と
を備え、
前記基準高さ設定部は、基準高さとして、前記三次元データ生成部で生成された振動成分が除去される前の三次元データに基づいて基準曲面を推定し、
前記振動推定部は、前記基準高さ設定部で推定された基準曲面の断面から得られる基準曲線と、該推定された基準曲線に対応する二次元プロファイル上の高さとに基づいて、各二次元プロファイルの振動成分を推定するよう構成してなる画像検査装置。
【請求項４】
請求項２に記載の画像検査装置であって、
前記基準高さ設定部は、振動成分が除去される前の三次元データに基づいて基準平面が自動的に設定されるよう構成されてなる画像検査装置。
【請求項５】
請求項１〜４のいずれか一項に記載の画像検査装置であって、さらに、
二次元プロファイルの内で、前記基準高さ設定部が基準高さの算出に用いるデータとして、高さ方向の高低差を指定するための高さ範囲指定部を備えており、
前記基準高さ設定部が、二次元プロファイルの内、前記高さ範囲指定部で指定された高さ範囲内のデータに基づいて基準高さを設定するよう構成してなる画像検査装置。
【請求項６】
請求項２に記載の画像検査装置であって、さらに、
前記振動成分が除去される前の三次元データを表示させるための三次元データ表示領域と、
前記三次元データ表示領域に表示された三次元データの内で、基準平面となる領域を指定するための基準平面指定部を備える画像検査装置。
【請求項７】
請求項２、４、６のいずれか一項に記載の画像検査装置であって、さらに、
前記基準高さ設定部が、振動成分が除去される前の三次元データ上から基準平面を算出する基準とすることを禁止するマスク領域を設定するためのマスク領域設定部を備える画像検査装置。
【請求項８】
検査対象物の高さ情報に基づいて外観検査を行うための検査装置であって、
一方向に相対的に移動される検査対象物に対して測定光を照射するための照射部と、
前記照射部から検査対象物に照射され、該検査対象物で反射された、高さ方向における振動成分を含む反射光を検出するための検出部と、
前記検出部により取得された検出データに基づき、検査対象物の断面形状を示す二次元プロファイルを生成するための二次元プロファイル生成部と、
複数の二次元プロファイルから得られた振動成分が除去される前の三次元データに基づいて、振動成分推定の基準となる基準高さを設定するための基準高さ設定部と、
前記二次元プロファイル生成部で生成された二次元プロファイルと、前記基準高さ設定部で設定された基準高さに基づいて、検査環境の振動成分を推定するための振動推定部と、
前記振動推定部で推定された振動成分を、各二次元プロファイルから除去するためのプロファイル補正部と、
前記プロファイル補正部で振動成分が除去された複数の二次元プロファイルから、検査対象物の三次元データを生成するための三次元データ生成部と、
前記三次元データ生成部で生成された三次元データに基づいて検査対象物の外観検査を行うための検査部と
を備え、
前記基準高さ設定部は、前記基準高さとして、振動成分が除去される前の三次元データに基づいて、基準直線を設定し、前記振動推定部で、前記基準直線と二次元プロファイルの関係から、高さ方向の振動成分を推定し、前記プロファイル補正部でもって補正するよう構成されてなる画像検査装置。
【請求項９】
請求項８に記載の画像検査装置であって、
前記基準高さ設定部は、前記基準高さとして、振動成分が除去される前の三次元データに基づいて、基準直線を設定し、前記振動推定部で、前記基準直線と二次元プロファイルの関係から、振動成分を高さ方向、及び検査対象物の移動方向の回転軸周りに推定し、前記プロファイル補正部でもって補正するよう構成されてなる画像検査装置。
【請求項１０】
請求項１〜９のいずれか一項に記載の画像検査装置であって、
前記基準高さ設定部は、過去に用いた基準高さを参照して基準高さを変化させるよう構成されてなる画像検査装置。
【請求項１１】
請求項１〜９のいずれか一項に記載の画像検査装置であって、
前記基準高さ設定部は、基準高さをユーザに手動で入力させるよう構成されてなる画像検査装置。
【請求項１２】
検査対象物の高さ情報に基づいて外観検査を行うための検査装置であって、
一方向に相対的に移動される検査対象物に対して測定光を照射するための照射部と、
前記照射部から検査対象物に照射され、該検査対象物で反射された、高さ方向における振動成分を含む反射光を検出するための検出部と、
前記検出部により取得された検出データに基づき、検査対象物の断面形状を示す二次元プロファイルを生成するための二次元プロファイル生成部と、
複数の二次元プロファイルから得られた振動成分が除去される前の三次元データに基づいて、振動成分推定の基準となる基準高さを設定するための基準高さ設定部と、
前記二次元プロファイル生成部で生成された二次元プロファイルと、前記基準高さ設定部で設定された基準高さに基づいて、検査環境の振動成分を推定するための振動推定部と、
前記振動推定部で推定された振動成分を、各二次元プロファイルから除去するためのプロファイル補正部と、
前記プロファイル補正部で振動成分が除去された複数の二次元プロファイルから、検査対象物の三次元データを生成するための三次元データ生成部と、
前記三次元データ生成部で生成された三次元データに基づいて検査対象物の外観検査を行うための検査部と
を備え、
前記基準高さ設定部は、振動成分が除去される前の三次元データを構成する複数の二次元プロファイルから、一つの基準プロファイルを算出し、
前記振動推定部は、基準プロファイルと、基準プロファイルに対応する二次元プロファイルの高さとに基づいて、振動成分を推定するよう構成してなる画像検査装置。
【請求項１３】
請求項１２に記載の画像検査装置であって、
前記基準高さ設定部は、複数の二次元プロファイルを検査対象物の走査方向に平滑化して、一の基準プロファイルを算出し、
前記振動推定部は、該算出された基準プロファイルに基づいて、二次元プロファイルの振動成分を推定するよう構成されてなる画像検査装置。
【請求項１４】
請求項１２又は１３に記載の画像検査装置であって、
前記基準高さ設定部は、隣接する位置で取得された複数の二次元プロファイルに基づいて基準プロファイルを算出し、
前記振動推定部は、該算出された基準プロファイルに基づいて、二次元プロファイルの振動成分を推定するよう構成されてなる画像検査装置。
【請求項１５】
請求項１２〜１４のいずれか一項に記載の画像検査装置であって、
前記基準プロファイルが、検査対象物の外形の内、平面状の部分である画像検査装置。
【請求項１６】
請求項１〜１５のいずれか一項に記載の画像検査装置であって、
前記振動推定部は、一以上の二次元プロファイルを飛ばして離散的に二次元プロファイルを選択し、該選択された二次元プロファイルに対して振動成分を推定すると共に、選択された二次元プロファイル同士の間については得られた振動成分の補正データを補間するよう構成されてなる画像検査装置。
【請求項１７】
請求項１６に記載の画像検査装置であって、
前記振動推定部は、前記基準高さ設定部により設定された基準高さとの差分が、所定の範囲内の高さデータを有する二次元プロファイルに基づいて、振動成分が算出されるよう構成されてなる画像検査装置。
【請求項１８】
請求項１７に記載の画像検査装置であって、
前記所定の範囲外の高さデータを有する部分の振動成分は、周囲の振動成分の推定結果を用いて補間するよう構成されてなる画像検査装置。
【請求項１９】
請求項１〜１８のいずれか一項に記載の画像検査装置であって、
前記振動推定部による振動推定結果に、フィルタ処理を行うよう構成されてなる画像検査装置。
【請求項２０】
検査対象物の高さ情報に基づいて外観検査を行うための検査装置であって、
一方向に相対的に移動される検査対象物に対して測定光を照射するための照射部と、
前記照射部から検査対象物に照射され、該検査対象物で反射された、高さ方向における振動成分を含む反射光を検出するための検出部と、
前記検出部により取得された検出データに基づき、検査対象物の断面形状を示す二次元プロファイルを生成するための二次元プロファイル生成部と、
複数の二次元プロファイルから得られた振動成分が除去される前の三次元データに基づいて、振動成分推定の基準となる基準高さを設定するための基準高さ設定部と、
前記二次元プロファイル生成部で生成された二次元プロファイルと、前記基準高さ設定部で設定された基準高さに基づいて、検査環境の振動成分を推定するための振動推定部と、
前記振動推定部で推定された振動成分を、各二次元プロファイルから除去するためのプロファイル補正部と、
前記プロファイル補正部で振動成分が除去された複数の二次元プロファイルから、検査対象物の三次元データを生成するための三次元データ生成部と、
前記三次元データ生成部で生成された三次元データに基づいて検査対象物の外観検査を行うための検査部と
を備え、
前記振動推定部が、振動成分として、
高さ方向の振動成分のみを推定する垂直振動補正モードと、
高さ方向の振動成分に加えて、移動方向を中心とする回転振動成分を推定する回転振動補正モードのいずれかを選択するための補正モード選択部を備える画像検査装置。
【請求項２１】
請求項１〜２０のいずれか一項に記載の画像検査装置であって、さらに、
振動の推定結果を表示するための表示部を備える画像検査装置。
【請求項２２】
請求項１〜２１のいずれか一項に記載の画像検査装置であって、
前記照射部が発光素子であり、
前記検出器が受光器であり、
検出データが輝度データである画像検査装置。
【請求項２３】
検査対象物の高さ情報に基づいて外観検査を行うための画像検査方法であって、
一方向に相対的に移動される検査対象物に対して測定光を照射し、該検査対象物で反射された、高さ方向における振動成分を含む反射光を検出する工程と、
前記検出された検出データに基づき、検査対象物の断面形状を示す二次元プロファイルを生成する工程と、
前記生成された二次元プロファイルに基づいて、振動成分推定の基準となる基準高さとして、振動成分が除去される前の三次元データに基づいて基準面を推定する工程と、
前記生成された二次元プロファイルと、前記推定された基準面の断面から得られる基準線と、該基準線に対応する二次元プロファイル上の高さとに基づいて、各二次元プロファイルの振動成分を推定する工程と、
前記推定された振動成分を、各二次元プロファイルから除去する工程と、
前記振動成分が除去された複数の二次元プロファイルから、検査対象物の三次元データを生成する工程と、
前記生成された三次元データに基づいて検査対象物の外観検査を行う工程と
を含む画像検査方法。
【請求項２４】
検査対象物の高さ情報に基づいて外観検査を行うための画像検査プログラムであって、
一方向に相対的に移動される検査対象物に対して測定光を照射し、該検査対象物で反射された、高さ方向における振動成分を含む反射光を検出し、前記検出された検出データに基づき、検査対象物の断面形状を示す二次元プロファイルを生成する二次元プロファイル生成機能と、
前記二次元プロファイル生成機能で生成された二次元プロファイルに基づいて、振動成分推定の基準となる基準高さとして、振動成分が除去される前の三次元データに基づいて基準面を推定するための基準高さ設定機能と、
前記二次元プロファイル生成機能で生成された二次元プロファイルと、前記基準高さ設定機能で推定された基準面の断面から得られる基準線と、該基準線に対応する二次元プロファイル上の高さとに基づいて、各二次元プロファイルの振動成分を推定するための振動推定機能と、
前記振動推定機能で推定された振動成分を、各二次元プロファイルから除去するためのプロファイル補正機能と、
前記プロファイル補正機能で振動成分が除去された複数の二次元プロファイルから、検査対象物の三次元データを生成するための三次元データ生成機能と、
前記三次元データ生成機能で生成された三次元データに基づいて検査対象物の外観検査を行うための検査機能と
をコンピュータに実現させる画像検査プログラム。
【請求項２５】
請求項２４に記載のプログラムを記録したコンピュータで読み取り可能な記録媒体または記憶した機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像検査装置、画像検査方法、画像検査プログラム及びコンピュータで読み取り可能な記録媒体又は記録した機器に関する。
【背景技術】
【０００２】
ワーク（検査対象物や被写体）の表面の傷の有無や外観形状、印字された文字の読み取りといった検査を行う画像検査装置が利用されている。このような画像検査装置は、ワークに対して必要な照明を行い、画像を撮像し、得られた画像データに対してエッジ検出等、必要な画像処理を行い、その結果に基づいて良否判定等の判断を行っていた。
【０００３】
このような画像検査装置の一として、光切断方式や光走査方式の二次元プロファイル測定器をワークに対して相対的に移動させることにより、ワークの二次元断面形状である二次元プロファイルデータを連続して取得してワークの三次元形状のデータを構成し、カメラからワークまでの距離に応じて画素の濃淡値が変化する距離画像（高さ画像）を作成し、ワークの良否を検査する装置が知られている（例えば特許文献１参照）。
【０００４】
このような高さ情報を有する画像を検査可能な画像検査装置において、ワークに対して二次元プロファイル測定器を相対的に移動させるため、例えばワークをベルトコンベアやローラーコンベアなどの搬送装置を利用して搬送することが行われている。この場合に、ワークを搬送する搬送装置に振動が存在すると、変位計の高さ方向の計測データに誤差が発生するという問題があった。このため、高精度な高さ寸法検査が求められるケースでは、搬送系に極力振動が発生しないような機構を導入したり、あるいは計測用のステーションを別途用意して、載せ替えるといった手間が必要となり、このことが三次元検査装置導入の障壁となっていた。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−３１５４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、このような事情に鑑みてなされたものであり、その目的の一は、振動が存在する場合でも、これを補正して高さ方向の高精度な外観検査を可能にした画像検査装置、画像検査方法、画像検査プログラム及びコンピュータで読み取り可能な記録媒体又は記録した機器を提供することにある。
【課題を解決するための手段及び発明の効果】
【０００７】
本発明の第１の態様に係る画像検査装置によれば、検査対象物の高さ情報に基づいて外観検査を行うための画像検査装置であって、一方向に相対的に移動される検査対象物に対して測定光を照射するための照射部と、前記照射部から検査対象物に照射され、該検査対象物で反射された、高さ方向における振動成分を含む反射光を検出するための検出部と、前記検出部により取得された検出データに基づき、検査対象物の断面形状を示す二次元プロファイルを生成するための二次元プロファイル生成部と、前記二次元プロファイル生成部で生成された複数の二次元プロファイルから得られた振動成分が除去される前の三次元データに基づいて、振動成分推定の基準となる基準高さを設定するための基準高さ設定部と、前記二次元プロファイル生成部で生成された二次元プロファイルと、前記基準高さ設定部で設定された基準高さに基づいて、検査環境の振動成分を推定するための振動推定部と、前記振動推定部で推定された振動成分を、各二次元プロファイルから除去するためのプロファイル補正部と、前記プロファイル補正部で振動成分が除去された複数の二次元プロファイルから、検査対象物の三次元データを生成するための三次元データ生成部と、前記三次元データ生成部で生成された三次元データに基づいて検査対象物の外観検査を行うための検査部とを備え、前記基準高さ設定部は、前記基準高さとして、前記三次元データ生成部で生成された振動成分が除去される前の三次元データに基づいて基準面を推定し、前記振動推定部は、前記基準高さ設定部で推定された基準面の断面から得られる基準線と、該基準線に対応する二次元プロファイル上の高さとに基づいて、各二次元プロファイルの振動成分を推定するよう構成することができる。上記構成により、検査対象物と検出部とを相対的に移動させる際に高さ方向の振動が発生するような状況においても、プロファイル補正部を用いて振動成分を除去することで、防振用の機構や検査対象物のクランプ機構を不要とでき、振動の大きな移動系に対しても高精度な画像検査が可能となる。
【０００８】
また、第２の態様に係る画像検査装置によれば、検査対象物の高さ情報に基づいて外観検査を行うための検査装置であって、一方向に相対的に移動される検査対象物に対して測定光を照射するための照射部と、前記照射部から検査対象物に照射され、該検査対象物で反射された、高さ方向における振動成分を含む反射光を検出するための検出部と、前記検出部により取得された検出データに基づき、検査対象物の断面形状を示す二次元プロファイルを生成するための二次元プロファイル生成部と、複数の二次元プロファイルから得られた振動成分が除去される前の三次元データに基づいて、振動成分推定の基準となる基準高さを設定するための基準高さ設定部と、前記二次元プロファイル生成部で生成された二次元プロファイルと、前記基準高さ設定部で設定された基準高さに基づいて、検査環境の振動成分を推定するための振動推定部と、前記振動推定部で推定された振動成分を、各二次元プロファイルから除去するためのプロファイル補正部と、前記プロファイル補正部で振動成分が除去された複数の二次元プロファイルから、検査対象物の三次元データを生成するための三次元データ生成部と、前記三次元データ生成部で生成された三次元データに基づいて検査対象物の外観検査を行うための検査部とを備え、前記基準高さ設定部は、基準高さとして、前記三次元データ生成部で生成された振動成分が除去される前の三次元データに基づいて平面状の基準平面として推定され、前記振動推定部は、前記基準高さ設定部で推定された基準平面の断面から得られる基準直線と、該推定された基準線に対応する二次元プロファイル上の高さとに基づいて、各二次元プロファイルの振動成分を推定するよう構成できる。上記構成により、基準線に基づいて振動成分を推定することで、安定した振動成分の推定が可能となる。
【０００９】
さらに、第３の態様に係る画像検査装置によれば、検査対象物の高さ情報に基づいて外観検査を行うための検査装置であって、一方向に相対的に移動される検査対象物に対して測定光を照射するための照射部と、前記照射部から検査対象物に照射され、該検査対象物で反射された、高さ方向における振動成分を含む反射光を検出するための検出部と、前記検出部により取得された検出データに基づき、検査対象物の断面形状を示す二次元プロファイルを生成するための二次元プロファイル生成部と、複数の二次元プロファイルから得られた振動成分が除去される前の三次元データに基づいて、振動成分推定の基準となる基準高さを設定するための基準高さ設定部と、前記二次元プロファイル生成部で生成された二次元プロファイルと、前記基準高さ設定部で設定された基準高さに基づいて、検査環境の振動成分を推定するための振動推定部と、前記振動推定部で推定された振動成分を、各二次元プロファイルから除去するためのプロファイル補正部と、前記プロファイル補正部で振動成分が除去された複数の二次元プロファイルから、検査対象物の三次元データを生成するための三次元データ生成部と、前記三次元データ生成部で生成された三次元データに基づいて検査対象物の外観検査を行うための検査部とを備え、前記基準高さ設定部は、基準高さとして、前記三次元データ生成部で生成された振動成分が除去される前の三次元データに基づいて基準曲面を推定し、前記振動推定部は、前記基準高さ設定部で推定された基準曲面の断面から得られる基準曲線と、該推定された基準曲線に対応する二次元プロファイル上の高さとに基づいて、各二次元プロファイルの振動成分を推定するよう構成できる。上記構成により、基準曲面に基づいて振動成分を推定することで、安定した振動成分の推定が可能となる。
【００１０】
さらにまた、第４の態様に係る画像検査装置によれば、前記基準高さ設定部は、振動成分が除去される前の三次元データに基づいて基準平面が自動的に設定されるよう構成できる。上記構成によりユーザによる設定作業を不要とできる。
【００１１】
さらにまた、第５の態様に係る画像検査装置によれば、さらに二次元プロファイルの内で、前記基準高さ設定部が基準高さの算出に用いるデータとして、高さ方向の高低差を指定するための高さ範囲指定部を備えており、前記基準高さ設定部が、二次元プロファイルの内、前記高さ範囲指定部で指定された高さ範囲内のデータに基づいて基準高さを設定するよう構成できる。上記構成により、検査対象物の本来の形状の凹凸の高低差よりも、振動成分の振幅が小さいとの前提に立ち、検査対象物の凹凸の高低差と、振動成分による変動とを区別するための高さ範囲を指定することで、高低差の大きいデータは無視又は影響を低減して基準高さを設定することで、検査対象物が本来的に有する凸凹等、検査対象物の形状の有無による基準高さの算出への影響を低減できる。
【００１２】
さらにまた、第６の態様に係る画像検査装置によれば、さらに、前記振動成分が除去される前の三次元データを表示させるための三次元データ表示領域と、前記三次元データ表示領域に表示された三次元データの内で、基準平面となる領域を指定するための基準平面指定部を備えることができる。上記構成により、ユーザが基準平面となる領域を直接指定できるので、例えば複数の平面が存在する検査対象物に対して、最も安定した部位を選択することができ、安定的に振動の補正を行うことができる。
【００１３】
さらにまた、第７の態様に係る画像検査装置によれば、さらに前記基準高さ設定部が、振動成分が除去される前の三次元データ上から基準平面を算出する基準とすることを禁止するマスク領域を設定するためのマスク領域設定部を備えることができる。上記構成により、ユーザが基準平面の算出の基準としないマスク領域を設定可能とできる。例えば検査対象物の領域を除去する、凸凹部分または凸凹が発生しそうな部分を避ける等、検査対象物に応じた柔軟な設定が可能となる。
【００１４】
さらにまた、第８の態様に係る画像検査装置によれば、検査対象物の高さ情報に基づいて外観検査を行うための検査装置であって、一方向に相対的に移動される検査対象物に対して測定光を照射するための照射部と、前記照射部から検査対象物に照射され、該検査対象物で反射された、高さ方向における振動成分を含む反射光を検出するための検出部と、前記検出部により取得された検出データに基づき、検査対象物の断面形状を示す二次元プロファイルを生成するための二次元プロファイル生成部と、複数の二次元プロファイルから得られた振動成分が除去される前の三次元データに基づいて、振動成分推定の基準となる基準高さを設定するための基準高さ設定部と、前記二次元プロファイル生成部で生成された二次元プロファイルと、前記基準高さ設定部で設定された基準高さに基づいて、検査環境の振動成分を推定するための振動推定部と、前記振動推定部で推定された振動成分を、各二次元プロファイルから除去するためのプロファイル補正部と、前記プロファイル補正部で振動成分が除去された複数の二次元プロファイルから、検査対象物の三次元データを生成するための三次元データ生成部と、前記三次元データ生成部で生成された三次元データに基づいて検査対象物の外観検査を行うための検査部とを備え、前記基準高さ設定部は、前記基準高さとして、振動成分が除去される前の三次元データに基づいて、基準直線を設定し、前記振動推定部で、前記基準直線と二次元プロファイルの関係から、高さ方向の振動成分を推定し、前記プロファイル補正部でもって補正するよう構成できる。
【００１５】
さらにまた、第９の態様に係る画像検査装置によれば、前記基準高さ設定部は、前記基準高さとして、振動成分が除去される前の三次元データに基づいて、基準直線を設定し、前記振動推定部で、前記基準直線と二次元プロファイルの関係から、振動成分を高さ方向、及び検査対象物の移動方向の回転軸周りに推定し、前記プロファイル補正部でもって補正するよう構成できる。上記構成により、Ｚ位置と、検査対象物移動方向の回転軸周りの振動を推定、補正することが可能となる。
【００１６】
さらにまた、第１０の態様に係る画像検査装置によれば、前記基準高さ設定部は、検査対象物の三次元データの更新に合わせて、動的に基準高さを変化させるよう構成できる。上記構成により、一定しない動的に変化する振動にも対応させることができる。
【００１７】
さらにまた、第１１の態様に係る画像検査装置によれば、前記基準高さ設定部は、基準高さをユーザに手動で入力させるよう構成できる。
【００１８】
さらにまた、第１２の態様に係る画像検査装置によれば、検査対象物の高さ情報に基づいて外観検査を行うための検査装置であって、一方向に相対的に移動される検査対象物に対して測定光を照射するための照射部と、前記照射部から検査対象物に照射され、該検査対象物で反射された、高さ方向における振動成分を含む反射光を検出するための検出部と、前記検出部により取得された検出データに基づき、検査対象物の断面形状を示す二次元プロファイルを生成するための二次元プロファイル生成部と、複数の二次元プロファイルから得られた振動成分が除去される前の三次元データに基づいて、振動成分推定の基準となる基準高さを設定するための基準高さ設定部と、前記二次元プロファイル生成部で生成された二次元プロファイルと、前記基準高さ設定部で設定された基準高さに基づいて、検査環境の振動成分を推定するための振動推定部と、前記振動推定部で推定された振動成分を、各二次元プロファイルから除去するためのプロファイル補正部と、前記プロファイル補正部で振動成分が除去された複数の二次元プロファイルから、検査対象物の三次元データを生成するための三次元データ生成部と、前記三次元データ生成部で生成された三次元データに基づいて検査対象物の外観検査を行うための検査部とを備え、前記基準高さ設定部は、振動成分が除去される前の三次元データを構成する複数の二次元プロファイルから、一つの基準プロファイルを算出し、前記振動推定部は、基準プロファイルと、基準プロファイルに対応する二次元プロファイルの高さとに基づいて、振動成分を推定するよう構成できる。上記構成により、検査対象物の形状が移動方向に大きく変わらないような場合に、適切に外観検査を行うことができる。
【００１９】
さらにまた、第１３の態様に係る画像検査装置によれば、前記基準高さ設定部は、複数の二次元プロファイルを検査対象物の走査方向に平滑化して、一の基準プロファイルを算出し、前記振動推定部は、該算出された基準プロファイルに基づいて、二次元プロファイルの振動成分を推定するよう構成できる。
【００２０】
さらにまた、第１４の態様に係る画像検査装置によれば、前記基準高さ設定部は、隣接する位置で取得された複数の二次元プロファイルに基づいて基準プロファイルを算出し、前記振動推定部は、該算出された基準プロファイルに基づいて、二次元プロファイルの振動成分を推定するよう構成できる。
【００２１】
さらにまた、第１５の態様に係る画像検査装置によれば、前記基準プロファイルを、検査対象物の外形の内、平面状の部分とできる。
【００２２】
さらにまた、第１６の態様に係る画像検査装置によれば、前記振動推定部は、一以上の二次元プロファイルを飛ばして離散的に二次元プロファイルを選択し、該選択された二次元プロファイルに対して振動成分を推定すると共に、選択された二次元プロファイル同士の間については得られた振動成分の補正データを補間するよう構成できる。上記構成により、処理時間を高速化することが期待できる。
【００２３】
さらにまた、第１７の態様に係る画像検査装置によれば、前記振動推定部は、前記基準高さ設定部により設定された基準高さとの差分が、所定の範囲内の高さデータを有する二次元プロファイルに基づいて、振動成分が算出されるよう構成できる。
【００２４】
さらにまた、第１８の態様に係る画像検査装置によれば、前記所定の範囲外の高さデータを有する部分の振動成分は、周囲の振動成分の推定結果を用いて補間するよう構成できる。
【００２５】
さらにまた、第１９の態様に係る画像検査装置によれば、前記振動推定部による振動推定結果に、フィルタ処理を行うよう構成できる。上記構成により、振動推定結果の安定化を図ることができる。
【００２６】
さらにまた、第２０の態様に係る画像検査装置によれば、検査対象物の高さ情報に基づいて外観検査を行うための検査装置であって、一方向に相対的に移動される検査対象物に対して測定光を照射するための照射部と、前記照射部から検査対象物に照射され、該検査対象物で反射された、高さ方向における振動成分を含む反射光を検出するための検出部と、前記検出部により取得された検出データに基づき、検査対象物の断面形状を示す二次元プロファイルを生成するための二次元プロファイル生成部と、複数の二次元プロファイルから得られた振動成分が除去される前の三次元データに基づいて、振動成分推定の基準となる基準高さを設定するための基準高さ設定部と、前記二次元プロファイル生成部で生成された二次元プロファイルと、前記基準高さ設定部で設定された基準高さに基づいて、検査環境の振動成分を推定するための振動推定部と、前記振動推定部で推定された振動成分を、各二次元プロファイルから除去するためのプロファイル補正部と、前記プロファイル補正部で振動成分が除去された複数の二次元プロファイルから、検査対象物の三次元データを生成するための三次元データ生成部と、前記三次元データ生成部で生成された三次元データに基づいて検査対象物の外観検査を行うための検査部とを備え、前記振動推定部が、振動成分として、高さ方向の振動成分のみを推定する垂直振動補正モードと、高さ方向の振動成分に加えて、移動方向を中心とする回転振動成分を推定する回転振動補正モードのいずれかを選択するための補正モード選択部を備えることができる。上記構成により、回転振動成分を補正すると推定結果が不安定になるような場合には、回転振動補正を行わないように補正モードを選択することで、安定的な外観検査が実現される。
【００２７】
さらにまた、第２１の態様に係る画像検査装置によれば、さらに振動の推定結果を表示するための表示部を備えることができる。
【００２８】
さらにまた、第２２の態様に係る画像検査装置によれば、前記照射部が発光素子であり、前記検出器が受光器であり、検出データを輝度データとできる。
【００２９】
さらにまた、第２３の態様に係る画像検査方法によれば、検査対象物の高さ情報に基づいて外観検査を行うための画像検査方法であって、一方向に相対的に移動される検査対象物に対して測定光を照射し、該検査対象物で反射された、高さ方向における振動成分を含む反射光を検出する工程と、前記検出された検出データに基づき、検査対象物の断面形状を示す二次元プロファイルを生成する工程と、前記生成された二次元プロファイルに基づいて、振動成分推定の基準となる基準高さとして、振動成分が除去される前の三次元データに基づいて基準面を推定する工程と、前記生成された二次元プロファイルと、前記推定された基準面の断面から得られる基準線と、該基準線に対応する二次元プロファイル上の高さとに基づいて、各二次元プロファイルの振動成分を推定する工程と、前記推定された振動成分を、各二次元プロファイルから除去する工程と、前記振動成分が除去された複数の二次元プロファイルから、検査対象物の三次元データを生成する工程と、前記生成された三次元データに基づいて検査対象物の外観検査を行う工程とを含むことができる。これにより、検査対象物と測定光の検出部とを相対的に移動させる際に高さ方向の振動が発生するような状況においても、振動成分を除去することで、防振用の機構やワークのクランプ機構を不要とでき、振動の大きな移動系に対しても高精度な画像検査が可能となる。
【００３０】
さらにまた、第２４の態様に係る画像検査プログラムによれば、検査対象物の高さ情報に基づいて外観検査を行うための画像検査プログラムであって、一方向に相対的に移動される検査対象物に対して測定光を照射し、該検査対象物で反射された、高さ方向における振動成分を含む反射光を検出し、前記検出された検出データに基づき、検査対象物の断面形状を示す二次元プロファイルを生成する二次元プロファイル生成機能と、前記二次元プロファイル生成機能で生成された二次元プロファイルに基づいて、振動成分推定の基準となる基準高さとして、振動成分が除去される前の三次元データに基づいて基準面を推定するための基準高さ設定機能と、前記二次元プロファイル生成機能で生成された二次元プロファイルと、前記基準高さ設定機能で推定された基準面の断面から得られる基準線と、該基準線に対応する二次元プロファイル上の高さとに基づいて、各二次元プロファイルの振動成分を推定するための振動推定機能と、前記振動推定機能で推定された振動成分を、各二次元プロファイルから除去するためのプロファイル補正機能と、前記プロファイル補正機能で振動成分が除去された複数の二次元プロファイルから、検査対象物の三次元データを生成するための三次元データ生成機能と、前記三次元データ生成機能で生成された三次元データに基づいて検査対象物の外観検査を行うための検査機能とをコンピュータに実現させることができる。これにより、検査対象物と測定光の検出部とを相対的に移動させる際に高さ方向の振動が発生するような状況においても、プロファイル補正部を用いて振動成分を除去することで、防振用の機構やワークのクランプ機構を不要とでき、振動の大きな移動系に対しても高精度な画像検査が可能となる。
【００３１】
さらにまた、第２４の態様に係るコンピュータで読み取り可能な記録媒体または記憶した機器は、上記プログラムを格納するものである。記録媒体には、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷやフレキシブルディスク、磁気テープ、ＭＯ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ、ＤＶＤ＋Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、Ｂｌｕ−ｒａｙ（登録商標）、ＨＤ  ＤＶＤ（ＡＯＤ）等の磁気ディスク、光ディスク、光磁気ディスク、半導体メモリその他のプログラムを格納可能な媒体が含まれる。またプログラムには、上記記録媒体に格納されて配布されるものの他、インターネット等のネットワーク回線を通じてダウンロードによって配布される形態のものも含まれる。さらに記憶した機器には、上記プログラムがソフトウェアやファームウェア等の形態で実行可能な状態に実装された汎用もしくは専用機器を含む。さらにまたプログラムに含まれる各処理や機能は、コンピュータで実行可能なプログラムソフトウエアにより実行してもよいし、各部の処理を所定のゲートアレイ（ＦＰＧＡ、ＡＳＩＣ）等のハードウエア、又はプログラムソフトウエアとハードウェアの一部の要素を実現する部分的ハードウエアモジュールとが混在する形式で実現してもよい。
【図面の簡単な説明】
【００３２】
【図１】本発明の実施形態１に係る画像検査装置の外観を示す斜視図である。
【図２】図１の画像検査装置を示すブロック図である。
【図３】図２の画像検査装置の詳細な機能ブロック図である。
【図４】図４Ａは、ヘッド部でワークを走査する状態を示す斜視図、図４Ｂは走査位置を示すワークの平面図、図４Ｃは図４Ｂの各走査位置で得られた二次元プロファイルを合成して三次元データを生成する模式図である。
【図５】ワーク搬送機構で搬送されるワークの外観検査を行う際に振動が生じる様子を示す側面図である。
【図６】ワークの回転スキャンで振動が生じる様子を示す側面図である。
【図７】垂直振動成分によるワークの断面の変動を示す模式図である。
【図８】回転振動成分によるワークの断面の変動を示す模式図である。
【図９】振動のない平面を測定した三次元画像を示すイメージ図である。
【図１０】図９の平面に垂直振動成分が加えられた状態の三次元画像を示すイメージ図である。
【図１１】図９の平面に回転振動成分が加えられた状態の三次元画像を示すイメージ図である。
【図１２】図９の平面に垂直振動成分と回転振動成分が加えられた状態の三次元画像を示すイメージ図である。
【図１３】図１３Ａは、検査対象物の入力高さ画像を、図１３Ｂは、図１３Ａから算出した基準平面を、それぞれ示すイメージ図である。
【図１４】図１４Ａは、ワークの入力高さ画像を、図１４Ｂは、図１４Ａから算出した基準曲線を、それぞれ示すイメージ図である。
【図１５】振動補正機能の処理フローを示すフロー図である。
【図１６】図１６Ａは振動成分除去前の高さ画像を、図１６Ｂは振動成分除去後の高さ画像を示すイメージ図である。
【図１７】図１７Ａは振動成分を含むワークの三次元データ、図１７Ｂは図１７Ａから高さ範囲Ｄ内にあるデータを抽出した状態、図１７Ｃは図１７Ｂから基準平面を抽出した状態、図１７Ｄは図１７Ａの一断面における二次元プロファイルと図１７Ｃの基準平面上の対応する基準直線とで振動成分を推定する様子、図１７Ｅは図１７Ｄから振動成分を抽出した状態、図１７Ｆは図１７Ｅの振動成分を二次元プロファイル毎に取得する状態、図１７Ｇは図１７Ａから図１７Ｆの振動成分を除去した三次元データを、それぞれ示す図である。
【図１８】図１８Ａはワークの複数枚の二次元プロファイル、図１８Ｂは図１８Ａから得られた基準プロファイルを示す模式図である。
【図１９】ワークの二次元プロファイルに対して等断面補正を行う様子を示す断面図である。
【図２０】ワークの高さの値の分布を示すヒストグラムである。
【図２１】補正前の振動成分を含む三次元データから、振動成分を除去した補正後の三次元データを得る様子を示すデータフローダイヤグラムである。
【図２２】フィルタ処理によって二次元プロファイルを画像処理する例を示す模式図である。
【図２３】凹凸を有するワークに対して振動領域を指定する様子を示す平面図である。
【図２４】二次元プロファイルを構成する４点に対して回転振動の推定を行うため直線でフィッティングを行う様子を示す模式図である。
【図２５】図２４の４点に対して回転振動を補正せずに直線でフィッティングを行う様子を示す模式図である。
【図２６】凸条を有するワークに対して基準平面を自動設定する様子を示す模式図である。
【図２７】図２６の二次元プロファイルに対して高さ範囲を超える成分を排除して基準平面を自動設定する様子を示す模式図である。
【図２８】基準平面を自動抽出し振動成分を除去した高さ画像を示すイメージ図である。
【図２９】図２８に対して高さ範囲を狭く指定して基準平面を自動抽出し振動成分を除去した高さ画像を示すイメージ図である。
【図３０】突起を有する平面状のワークを撮像した補正前の高さ画像を示すイメージ図である。
【図３１】図３０から振動成分を除去した補正後の高さ画像を示すイメージ図である。
【図３２】リブ状の突起を有するワークを撮像した補正前の高さ画像を示すイメージ図である。
【図３３】図３２から振動成分を除去した補正後の高さ画像を示すイメージ図である。
【図３４】傷を有するワークの補正前の高さ画像を示すイメージ図である。
【図３５】図３４から振動成分を除去した補正後の高さ画像を示すイメージ図である。
【図３６】途中で衝撃が加わった補正前の高さ画像を示すイメージ図である。
【図３７】図３６から振動成分を除去した補正後の高さ画像を示すイメージ図である。
【図３８】図３８は、突起を有するワークを斜めに配置した補正前の高さ画像を示すイメージ図である。
【図３９】図３８から振動成分を除去した補正後の高さ画像を示すイメージ図である。
【図４０】突起を有するワークの補正前の高さ画像を示すイメージ図である。
【図４１】図４０から振動成分を除去した補正後の高さ画像を示すイメージ図である。
【図４２】突起を有するワークの補正前の高さ画像を示すイメージ図である。
【図４３】図４２から振動成分を除去した補正後の高さ画像を示すイメージ図である。
【図４４】ねじ頭とピンポン球を配置したワークの補正前の高さ画像を示すイメージ図である。
【図４５】図４４から振動成分を除去した補正後の高さ画像を示すイメージ図である。
【図４６】ケーブル状のワークを周囲に沿って撮像した補正前の高さ画像を示すイメージ図である。
【図４７】図４６の補正後の高さ画像を示すイメージ図である。
【図４８】実施形態２に係る三次元画像検査装置においてヘッド部側をワークに対して相対的に移動させる構成を示す模式図である。
【発明を実施するための形態】
【００３３】
以下、本発明の実施形態を図面に基づいて説明する。ただし、以下に示す実施形態は、本発明の技術思想を具体化するための例示であって、本発明は以下のものに特定されない。また、本明細書は特許請求の範囲に示される部材を、実施形態の部材に特定するものでは決してない。特に実施形態に記載されている構成部品の寸法、材質、形状、その相対的配置等は特に特定的な記載がない限りは、本発明の範囲をそれのみに限定する趣旨ではなく、単なる説明例にすぎない。なお、各図面が示す部材の大きさや位置関係等は、説明を明確にするため誇張していることがある。さらに以下の説明において、同一の名称、符号については同一若しくは同質の部材を示しており、詳細説明を適宜省略する。さらに、本発明を構成する各要素は、複数の要素を同一の部材で構成して一の部材で複数の要素を兼用する態様としてもよいし、逆に一の部材の機能を複数の部材で分担して実現することもできる。
（実施形態１）
【００３４】
本発明の実施形態１に係る画像検査装置の外観を図１に、ブロック図を図２に、さらに詳細な機能ブロック図を図３に、それぞれ示す。これらの図に示す画像検査装置１００は、ワーク搬送機構１上を搬送される検査対象物（ワークＷＫ）の外観を画像処理によって検査する。この画像検査装置１００は、ワークＷＫの画像を撮像するヘッド部２と、ヘッド部２で得られた画像を画像処理するコントローラ部３とを備える。コントローラ部３は、高さ情報を有する画像に対して画像処理により外観検査を行い、検査結果を出力する。なお外観検査とは、ワークＷＫの画像処理結果を用いて実行される製品検査のことであり、ワークＷＫの寸法を測定する寸法検査や、ワークＷＫが製品として良品であるかどうかを判定する良品検査などが含まれる。ワーク搬送機構１は、プログラマブルロジックコントローラ（ＰＬＣ）などの制御装置４によって制御されるコンベアなどのラインである。
【００３５】
画像検査装置１００は、図３のブロック図に示すように、ヘッド部２と、コントローラ部３を備える。コントローラ部３には、別途光学画像を入力するための画像入力部５と、表示部６と、操作部７と、制御装置４と、トリガ入力部８が接続されている。またワーク搬送機構１のエンコーダ信号生成部１ｂからの信号がコントローラ部３に入力されて、ワークＷＫがワーク搬送機構１で搬送されていること、あるいはワークＷＫの搬送が停止されたことを把握できる。エンコーダ信号生成部１ｂは、ワーク搬送機構１の動作状態を示す信号として、例えばコンベアの回転軸に設けられたロータリーエンコーダなどである。画像入力部５は、コネクタ付きのユニットである。また画像入力部を外付けとする態様に限らず、コントローラ部３に内蔵する態様としてもよい。
【００３６】
トリガ入力部８は、ワークＷＫの撮像タイミングをコントローラ部３に示すための部材である。例えばワーク搬送ライン１上に配置された光電センサからのトリガ信号をトリガ入力部８で受けることで、ワークＷＫが搬送されてきたことを検出して撮像や外観検査などの処理を行うタイミングを図ることができる。
（操作部７）
【００３７】
操作部７は、コントローラ部３に対して各種の操作や設定を行うための部材であり、キーボードやコンソール、あるいはマウスなどのポインティングデバイス等が利用できる。
（表示部６）
【００３８】
表示部６は、得られた二次元プロファイルや高さ画像、振動の推定結果や外観検査の結果、あるいは各種の設定を行うための設定画面、この設定画面に対して操作部７から入力される設定値等を表示させるための部材である。このような表示部６は、ＬＣＤやＣＲＴ、有機ＥＬ等のディスプレイである。また、表示部６をタッチパネルとすることで、操作部と表示部を兼用することもできる。またこの表示部６は、二次元プロファイルを表示させるための二次元プロファイル表示領域６ａと、三次元データを表示させるための三次元データ表示領域６ｂを有している。
（ヘッド部２）
【００３９】
ヘッド部２は、ワークＷＫの二次元プロファイルを測定するための部材である。ヘッド部２は、図３のブロック図に示すように、一方向に相対的に移動されるワークＷＫに対して測定光を照射するための照射部２１と、照射部２１からワークＷＫに照射されて反射された、高さ方向における振動成分を含む反射光を検出するための検出部２２と、検出部２２により取得された検出データに基づき、ワークＷＫの断面形状を示す二次元プロファイルを生成するための二次元プロファイル生成部２３を備えている。なお、本明細書において「高さ方向」とは、ヘッド部２（正確には検出部２２）とワークＷＫとの距離方向を意味するものとして使用する。
【００４０】
このヘッド部２は、図４Ａに示すように、Ｙ軸方向（送り方向）に搬送されるワークＷＫに対して、照射部２１が幅広のレーザ光ＬＢをＸ軸方向（幅方向）照射し、その反射光を検出部２２で受光して、二次元プロファイル生成部２３がワークＷＫの二次元断面形状を示すデータとして二次元プロファイルを作成する。このときワークＷＫはＸＺ平面に平行な切断面によって仮想的に切断され、切断面の外形（外縁）が二次元プロファイルとなる（図４Ｂ及び図４Ｃ）。二次元プロファイルは一般に、ヘッド部２からワークＷＫの測定点までの距離（Ｚ軸方向の距離）であって、Ｘ軸方向に沿って並んだ複数の測定点についての距離の集合である。
【００４１】
ヘッド部２は、ライン投光型のレーザ変位計を用いている。具体的には、ヘッド部２は、照射部２１としてレーザ光ＬＢなどを発する投光素子を、検出部２２としてＣＣＤ等の受光素子（ラインセンサや二次元撮像素子）を備えている。さらにヘッド部２は、照射光や反射光を案内するためのレンズ等の光学系を備えている。このヘッド部２は、ワークＷＫを撮像するカメラと捉えることもできる。
【００４２】
なお本明細書においては、図１に示す光切断方式のヘッド部２を用いて、光切断方法で得られた二次元プロファイル画像を合成した高さ画像を用いる例を説明する。ただ本発明は、高さ画像を取得する方法を、この方法に限定するものでなく、高さ情報を取得可能な既知の方法を適宜採用できる。例えば三角測量の原理を使用した方法としては、縞投影画像、位相シフト法、空間コード化法、ランダムパターン投影法等が挙げられる。また三角測量の原理以外を用いた、非接触のアクティブな三次元計測方法としては、タイムオブフライト（Time Of Flight：ＴＯＦ）法、共焦点法等が利用できる。あるいは、非接触のパッシブな三次元計測方法としては、ステレオ法（キャリブレート済みステレオ法やフォトグラメトリ）、レンズ焦点法などの焦点法が挙げられる。これらのワークの高さ情報を取得する方式に応じて、ヘッド部の構成が適宜設定される。
【００４３】
なお本明細書では高さ画像を得るためにレーザ変位計を採用しているが、ＴＯＦ方式など、他の方式を用いてもよい。本明細書において、測定光や反射光は、可視光や赤外光、紫外光などが利用できる。
【００４４】
また図１の例では、ヘッド部２とコントローラ部３を物理的に分離した構成を採用しているが、本発明はこの構成に限らず、例えばこれらを一体化した構成とすることもできる。逆に、図１の構成では、照射部２１と検出部２２を共通のヘッド部２に組み込んでいるが、この構成に限らず、照射部と検出部を個別に配置する構成としてもよい。あるいは、二次元プロファイル生成部をコントローラ部側に配置したり、逆に三次元データ生成部をヘッド部側に設けてもよい。また図１においてヘッド部２はケーブルを介してコントローラ部３のヘッド用コネクタに接続されている。ただ、これらは有線接続に限られず、無線接続とすることも可能である。また、通信プロトコルを介したネットワーク接続としてもよい。
（コントローラ部３）
【００４５】
図３に示すコントローラ部３は、記憶部３１と、演算部３２と、媒体読取部３３を備えている。演算部３２は、基準高さ設定部３２ａと、振動推定部３２ｂと、プロファイル補正部３２ｃと、三次元データ生成部３２ｄと、検査部３２ｅを備えている。記憶部３１は、各種の画像データや設定データを保存するための部材であり、補正前の三次元データ記憶領域３１ａ、補正後の三次元データ記憶領域３１ｂ、ワークメモリ記憶領域３１ｃ、入力プロファイルメモリ記憶領域３１ｄ、設定データメモリ記憶領域３１ｅ等を備える。媒体読取部３３は、可搬メディアを読み取り、または書き込むための部材であり、ＵＳＢメモリ（商品名）やＳＤカード（商品名）等の規格化された記録媒体、半導体メモリ等を接続して、データの読み書きを可能とする。また、無線接続やネットワーク接続により、外部の記録機器との間でデータの受け渡しを行うよう構成してもよい。
【００４６】
基準高さ設定部３２ａは、二次元プロファイル生成部２３で生成された二次元プロファイルに基づいて、振動成分推定の基準となる基準高さを設定するための部材である。基準高さ設定部３２ａは、基準高さを演算するために、二次元プロファイルや、二次元プロファイルを合成して得られた三次元データを利用する。例えば、ワークの三次元データから、平面状の部位を抽出して、これを基準高さ（基準平面）として利用する。また基準高さは面状に限らず、例えばワークのＹ軸方向における特定位置の断面形状を示す二次元プロファイルから、直線状の部位を抽出して基準高さ（基準線）として利用したり、あるいは特定の点を複数抽出して基準高さ（基準点）として利用することもできる。
【００４７】
振動推定部３２ｂは、二次元プロファイル生成部２３で生成された二次元プロファイルと、基準高さ設定部３２ａで設定された基準高さに基づいて、検査環境の振動成分を推定するための部材である。プロファイル補正部３２ｃは、振動推定部３２ｂで推定された振動成分を、各二次元プロファイルから除去するための部材である。三次元データ生成部３２ｄは、プロファイル補正部３２ｃで振動成分が除去された複数の二次元プロファイルから、検査対象物の三次元データを生成するための部材である。検査部３２ｅは、三次元データ生成部３２ｄで生成された三次元データに基づいて検査対象物の外観検査を行うための部材である。
【００４８】
設定部３４は、高さ範囲指定部７１と、基準平面指定部７２と、マスク領域設定部７３と、補正モード選択部７４を備える。高さ範囲指定部７１は、二次元プロファイルの内で、基準高さ設定部３２ａが基準高さの算出に用いるデータとして、高さ方向の高低差を指定するための部材である。基準平面指定部７２は、三次元データ表示領域に表示された三次元データの内で、基準平面となる領域を指定するための部材である。マスク領域設定部７３は、振動成分が除去される前の三次元データ上から基準平面を算出する基準とすることを禁止するマスク領域を設定するための部材である。補正モード選択部７４は、振動推定部３２ｂが、振動成分として、高さ方向の振動成分のみを推定する垂直振動補正モードと、高さ方向の振動成分に加えて、移動方向を中心とする回転振動成分を推定する回転振動補正モードのいずれかを選択するための部材である。
【００４９】
演算部３２は、例えばマイクロプロセッサ（ＭＰＵ）やＣＰＵ、ＬＳＩ、ＦＰＧＡやＡＳＩＣ等のゲートアレイ、ＤＳＰ等のハードウエアやソフトウエア、あるいはこれらの混在により実現できる。また必ずしも各構成要素が図３に示した構成と同一でなくてもよく、その機能が実質的に同一であるもの、及び一つの要素が図３に示す構成における複数の要素の機能を備えるものは、本発明に含まれる。
（振動補正機能）
【００５０】
このようなスキャン型の画像検査装置１００を用いて、ワーク搬送機構１で搬送されるワークＷＫの外観検査を行う。この様子を図５の側面図に示す。この場合において、ワークＷＫをワーク搬送機構１で搬送する際に、振動が生じていると、高さ方向の計測データに誤差が生じる。例えばワーク搬送機構１としてベルトコンベヤやローラーコンベアなどを用いる場合、コンベアの凹凸によってワークＷＫが高さ方向に上下する。一例として、図９に示すような振動のない平面を測定した三次元画像に対して、高さ方向（鉛直方向）に振動する平面を測定すると、図１０に示すように波打った形状に検出されてしまい、測定誤差が生じる。このように、振動が比較的大きいワーク搬送機構では、振動による変動が顕著となるため、従来、高精度な外観検査を行うには、振動を抑制した高価なワーク搬送機構や走査装置の導入が必要となり、画像検査装置の導入の障害となっていた。
【００５１】
そこで本実施形態１に係る画像検査装置１００では、高さの大まかな推定が可能な前提条件を与えることで、振動成分の推定を行い、推定された振動成分を減算することによって、振動が存在しない場合の高さデータの生成を行うことが可能となる。以下、ワークＷＫをヘッド部２に対して相対的に移動させる方向が直線状である直線スキャンの場合と、移動方向がワークＷＫの周囲を相対的に回転する回転方向である回転スキャンのそれぞれについて、説明する。
（直線スキャン）
【００５２】
直線スキャンの場合は、図５に示すように、ワーク搬送機構１で振動が発生していると、図において破線で示す正しい高さ成分に加えて、振動成分が計測値に加算されることになる。この振動成分は、各撮像時間毎に変化する。そのため異なるタイミングで撮像された二次元プロファイルは、異なる振動成分を持つ。
（回転スキャン）
【００５３】
一方、回転スキャンの例を、図６の断面図に示す。ここでは、棒状のワークＷＫを長さ方向（Ｘ軸方向）を中心に回転させて、表面をヘッド部２で測定する場合を考える。ここでは、回転する円弧方向をＹ軸、ワークＷＫとヘッド部２の距離をＺ軸方向とする。ワークＷＫの回転軸が、ワーク断面形状である円の中心からずれていると、高さ方向（Ｚ軸方向）に上下に変動することになる。
【００５４】
以上のような座標位置（ｘ，ｙ）から、高さｚを求める関数をモデル化すると、次式（１）で表せる。
【００５５】
ｚ（ｘ，ｙ）＝Ｈｅｉｇｈｔ（ｘ，ｙ）＋Ｅｒｒｏｒ（ｘ，ｙ）…式（１）
【００５６】
上式において、ｚ（ｘ，ｙ）は高さの測定値、Ｈｅｉｇｈｔ（ｘ，ｙ）は実際の高さ、Ｅｒｒｏｒ（ｘ，ｙ）は誤差、ここでは振動成分を、それぞれ表す。
（振動のモデル化）
【００５７】
以上の振動Ｅｒｒｏｒ（ｘ，ｙ）をモデル化する。ここで、ワークは剛体と見なす。またワークの断面を測定した一の二次元プロファイルは、ある一瞬の断面を測定している。また、振動のモデル化に際しては、高さ方向（Ｚ軸方向）と、ワークの搬送方向（Ｙ方向）の振動成分のみに着目し、これら以外の振動成分については除外する。そしてＺ軸方向の垂直振動成分は、図７に示すように、ワークＷＫの断面において高さ方向の変動であり、またＹ軸周りの回転振動成分は、図８に示すように、搬送方向（Ｙ軸方向）に沿った左右のゆれやぶれを対象とする。なお、一般的な振動では、回転振動成分の角度は小さく、回転によるＸ軸方向の座標ずれは無視できる程度に収まると考えられる。このようにして、振動成分の内、高さ方向の測定に与える影響が少ない成分を排除してモデル化することで、振動補正の処理を簡素化し、実装や導入を容易とできる。この結果、モデル化された振動成分は、次式（２）で表現できる。
【００５８】
Ｅｒｒｏｒ（ｘ，ｙ）＝Ｏｆｆｓｅｔ（ｙ）＋ＲｏｔＴａｎ（ｙ）＊ｘ…式（２）
【００５９】
上式において、Ｅｒｒｏｒ（ｘ，ｙ）は誤差（振動成分）、Ｏｆｆｓｅｔ（ｙ）はＺ方向の振動成分、ＲｏｔＴａｎ（ｙ）はＹ軸周りの回転振動成分（正接）を、それぞれ表す。
（振動モデルのシミュレーション）
【００６０】
上述した実施形態１に係る振動のモデル化に基づき、平面が振動を受けた場合のシミュレーション結果を、垂直振動の有無と回転振動の有無とで４パターンに分けて図９〜図１２に示す。これらの図において、図９、図１０は回転振動のないパターン、図１１と図１２は回転振動のあるパターンを示している。また図９と図１１は垂直振動のないパターン、図１０と図１２は垂直振動のあるパターンを、それぞれ示している。なお、各図では一定周波数の正弦波でシミュレーションしている。現実の振動は、多少不規則になると思われる。このように、垂直振動成分や回転振動成分の有無によって、本来平面であるべき三次元形状に、凹凸が現れ、これが高さ測定の精度に影響を与える。そこで、振動補正部を用いて振動補正を行う。
（振動補正）
【００６１】
上述した振動のモデル化の式（１）と式（２）を変形して、次式（３）が得られる。
【００６２】
Ｈｅｉｇｈｔ（ｘ，ｙ）＝  ｚ（ｘ，ｙ）−Ｏｆｆｓｅｔ（ｙ）−ＲｏｔＴａｎ（ｙ）＊ｘ…式（３）
【００６３】
上式において、Ｈｅｉｇｈｔ（ｘ，ｙ）は実際の高さ、ｚ（ｘ，ｙ）は高さの測定値、Ｏｆｆｓｅｔ（ｙ）はＺ方向の振動成分、ＲｏｔＴａｎ（ｙ）はＹ軸周りの回転振動成分（正接）を、それぞれ表す。
【００６４】
上式において、ｙの関数となっている振動成分を推定することができれば、高さ計測値から振動成分の悪影響を除去できる。
（振動推定）
【００６５】
上述の通り、振動成分はｙの関数となっていることから、二次元プロファイル毎に振動成分を求めればよい。振動成分を求める方法としては、主に以下の２つの方法が考えられる。
１．検査対象物に存在する平面を利用する方法（平面補正）
２．前後の二次元プロファイルから、対象の二次元プロファイルを推定する方法（等断面補正）
【００６６】
前者の平面補正は、ワークに平面が存在する場合に適する。特に工業製品は平面が存在することが多いので、この方法が利用できる場面が多い。あるいは、ワークを載置するコンベアベルト等の背景の平面を利用することもできる。一方、後者の等断面補正は、ワークの断面が大きく変わらない場合に適している。例えばケーブルの断面を検査する場合に好適となる。
（１．振動推定：平面補正）
【００６７】
平面補正は、ワークに存在する平面を利用し、これを基準高さ（基準平面）として補正する方法である。平面補正は、例えば基準高さ設定部３２ａにより行われる。基準高さ設定部３２ａは、二次元プロファイルを合成して得られた三次元データの立体形状から、画像処理によりワークの面状部分を抽出する。この様子を図１３Ａ〜図１３Ｂに示す。これらの図において、図１３Ａは、振動を有する検査対象物ＷＫ１の形状を示しており、振動を有するコンベアベルトや、この上に配置されたワークなどの入力高さ画像（入力プロファイル）を、また図１３Ｂは、図１３Ａから算出した基準平面ＲＰＬを、それぞれ示している。基準高さ設定部３２ａは、まず図１３Ａに示すように、ワークの搬送方向であるＹ軸方向に沿って、所定の間隔で二次元プロファイルをそれぞれ取得する。得られた二次元プロファイルを三次元データ生成部３２ｄで合成することで、三次元データである高さ画像が得られる。
【００６８】
次に、基準高さ設定部３２ａがこの高さ画像から、図１３Ｂに示すように、基準平面ＲＰＬを演算する。三次元の高さ画像から基準平面ＲＰＬを抽出する手法は、既知の手法やアルゴリズムを利用できる。例えば、ＲＡＮＳＡＣ（RANDdom SAmple Consensus）や、外れ値除外付き最小二乗法等が利用できる。
【００６９】
このようにして得られた基準平面ＲＰＬに基づいて、Ｙ軸方向に沿った二次元プロファイルの撮像位置毎に基準平面ＲＰＬの位置を検出する。ここでは、基準平面ＲＰＬと二次元プロファイルとが交差する基準平面ＲＰＬ上のプロファイルである基準直線ＲＰＲを算出する。そして基準平面ＲＰＬ上の基準直線ＲＰＲと、二次元プロファイルとの差分から、振動推定部３２ｂが振動成分を推定する。振動成分の推定は、二次元プロファイル毎に行う。そして、推定された振動成分をプロファイル補正部３２ｃが各二次元プロファイルから除去して、振動成分除去後の二次元プロファイルを用いて、再度三次元データが構築される。これにより、測定値から振動成分を除去された高さ画像が得られる。
（２．振動推定：等断面補正）
【００７０】
一方、等断面補正は、隣接する二次元プロファイルから、ワークの二次元プロファイルを推定する方法である。この様子を、図１４Ａ〜図１４Ｂに基づいて説明する。これらの図において、図１４Ａは、図１３Ａと同じく高さ方向に振動するワークＷＫ２の入力高さ画像（入力プロファイル）を示しており、ケーブルのような断面形状がほぼ等しいワークＷＫ２を撮像して得られた三次元データである。この入力高さ画像も、上述した図１３Ａと同様に、ワークの搬送方向であるＹ軸方向に沿って、所定の間隔でそれぞれ取得された二次元プロファイルを三次元データ生成部３２ｄで合成して得られる。
【００７１】
この入力高さ画像から、図１４Ｂに示すような基準曲面ＲＲＯを基準高さ設定部３２ａでもって抽出する。そして、得られた基準曲面ＲＲＯに基づいて、Ｙ軸方向に沿った二次元プロファイルの撮像位置毎に、基準曲面ＲＲＯ等断面と二次元プロファイルとが交差する基準曲線ＲＥＰを算出する。そして基準曲線ＲＥＰと、入力プロファイルとの差分から、振動推定部３２ｂが振動成分を推定する。そして、推定された振動成分をプロファイル補正部３２ｃが除去して、高さ画像に反映させる。これにより、測定値から振動成分を除去された高さ画像が得られる。
（振動補正機能の処理フロー）
【００７２】
次に、上述した振動補正機能を用いて、ワークを撮像して得られた高さデータに対して、振動補正機能を適用する場合のデータの処理の流れを図１５の処理フローに示す。この図に示すように、ヘッド部で得られた、振動補正前の高さデータから、振動補正のための基準高さ（例えば基準平面、基準等断面、基準曲面）を基準高さ設定部３２ａで算出する。これによって得られた基準平面ＲＰＬ上の基準直線ＲＰＲや基準曲線ＲＥＰを、元の振動補正前の高さデータと比較して、プロファイル毎に振動成分を推定し、補正して、振動補正後の二次元プロファイルを合成することで、振動補正後の高さデータが得られる。
【００７３】
このようにして、得られた三次元データから、振動成分を除去できる。除去する振動成分は、上述した平面補正や等断面補正においては高さ方向（Ｚ軸方向）に補正している。ただ、これに限らず、高さ方向に加えて、あるいはこれに代えて回転方向（Ｒx軸方向）の振動補正を加えてもよい。
（高さ範囲指定部７１）
【００７４】
ここで振動成分の除去に際しては、本来的にワークが有する凹凸形状が損なわれないようにする必要がある。そこで、振動とみなす高さ範囲Ｄを規定し、この範囲外の高低差については振動として扱わず、振動補正の対象外とすることで、このようなワーク本来の形状を損なえることを回避する。高さ範囲Ｄの設定は、図３の高さ範囲指定部７１から行う。ユーザが振動の振幅が高さ範囲Ｄ内に収まるように、高さ範囲指定部７１からから高さ範囲Ｄを指定する。これにより、ワークの凹凸の高低差よりも振幅が小さい振動を効果的に除去できる。例えば図１６Ａに示すような、振動を有するワークの高さ画像（振動補正機能ＯＦＦ）に対して、振動補正機能をＯＮすることで、図１６Ｂに示すように、振動成分に起因する波状の凹凸のみを排除し、ワーク本来が有する突起（図において右下）は維持することが可能となる。なお高さ範囲Ｄは、ユーザに指定させる他、三次元画像検査装置側で予め既定値として設定してもよい。高さ範囲Ｄとして、検査対象の状況や目的に応じて例えば０．０１ｍｍ〜２ｍｍ、０．０５ｍｍ〜１ｍｍ、０．１ｍｍ等に設定する。
（三次元データから振動成分を除去する手順）
【００７５】
ここで、三次元データから振動成分を除去する手順を、図１７Ａ〜図１７Ｇに基づいて詳細に説明する。まず、図１７Ａに示すような、振動成分を含むワークＷＫ３の三次元データを、図３の三次元データ生成部３２ｄで生成する。このワークＷＫ３は、中央部分にかまぼこ状の突起を設けている。次に、この三次元データから、高さ範囲指定部７１で設定された高さ範囲Ｄに含まれるデータを抽出する。この結果、図１７Ｂに示すように、ワークＷＫ３の中央に設けられた凸状が排除された三次元データが得られる。このように、高さ範囲Ｄを外れた点については、基準平面の算出の基礎としないことで、ワークの表面の凹凸形状に影響を受けずに正確な基準平面が算出される。
【００７６】
さらにこの三次元データに対して、基準高さ設定部３２ａが基準平面の推定を行う。この結果、図１７Ｃに示すような基準平面が得られる。この図に示すように、基準平面はデータが抽出された範囲のみならず、全体に設定される。
【００７７】
次いで、各二次元プロファイル毎に振動成分の推定を行う。ここでは、図１７Ａの三次元データ中から、二次元プロファイルを生成した位置（図１７Ａにおいて太線で示す位置）毎に、対応する基準平面上の位置（図１７Ｃにおいて太線で示す位置）における基準直線ＲＰＲを抽出して、図１７Ｄに示すように、二次元プロファイルを構成する点の内で、基準直線ＲＰＲに近い点を用いて、振動成分を推定する。ここでは、基準直線ＲＰＲから所定の距離ｄだけ離れた範囲内に含まれる二次元プロファイルの点を、振動推定部３２ｂでもって抽出して、ワークＷＫ３のプロファイル点ＷＰＰを演算する（図１７Ｄにおいて細線で示す）。
【００７８】
このようにして得られたプロファイル点ＷＰＰと基準直線ＲＰＲとの差分を、振動成分ＶＩＢとして振動推定部３２ｂで演算する。この結果、図１７Ｅに示すように、三次元データ中の一の断面における振動成分が演算される。そして、図１７Ｆに示すように、同様の演算を二次元プロファイル毎に演算して、最後に各二次元プロファイルの振動成分を、図１７Ａの振動成分を含む三次元データから、二次元プロファイル単位で減算して三次元データを再構成することで、図１７Ｇに示すように振動成分を除去した振動補正後の三次元データ、例えば高さ画像を得ることが可能となる。
【００７９】
このように、基準平面の算出においては、高さ範囲Ｄの範囲内で二次元の平面をワークＷＫ３の平面領域に対してフィッティングさせ、一方、ワークＷＫ３のプロファイル点ＷＰＰの算出においては、基準平面を示す基準直線ＲＰＲから所定の距離ｄ以内にあるワークＷＫ３の平面状の部位を示すプロファイル点ＷＰＰを、一次元でフィッティングしている。ここで、高さ範囲Ｄと所定の距離ｄは、同じ値とすることもできる。これにより、フィッティング処理を簡素化できる。ただ、二次元の基準平面のフィッティングの高さ範囲Ｄと、一次元のプロファイル点ＷＰＰの所定の距離ｄとで、異なる値を設定することもできる。
【００８０】
一方、等断面補正についても同様に、図１８Ａに示すような、半円状のほぼ等断面が続くワークＷＫ４の二次元プロファイル２ＤＰに対して、ワークＷＫ４の搬送方向（Ｙ軸方向）に平均化フィルタをかけて、図１８Ｂに示す基準プロファイルＲＥＦＰを作成する。いいかえると、基準プロファイルＲＥＦＰはＹ軸方向に隣接する二次元プロファイル２ＤＰを平均化して得られる。ここで用いる平均化フィルタのサイズは、振動の大きさよりも大きくする。このようにして得られた基準プロファイルＲＥＦＰを基準曲線ＲＥＰとして、距離的に近い二次元プロファイル２ＤＰの点を、振動推定部３２ｂでもって抽出し、図１９に示すように、抽出された断面上測定点ＣＰＰと、基準曲線ＲＥＰとの差分から、振動推定部３２ｂでもって振動成分を推定する。
【００８１】
なお、基準平面等の基準高さを、基準高さ設定部３２ａで設定するにあたり、ワーク上の凹凸を除外するための高さ範囲は、表示部に表示される設定画面から直接ユーザに数値で入力させる構成の他、高さ範囲の設定の目安となる指標を与えるように構成してもよい。例えば図２０に示すような、ワークの高さの値の分布を示すヒストグラムを表示部に表示させる。ここでは図１７のワークＷＫ３について、ヒストグラムを示している。ワークＷＫ３中の平面状の領域の高さ値は、カウント値が大きいと思われるので、ピークの集合（第一ピーク集合ＰＫ１）となって現れる。一方、ワークＷＫ３上の凹凸部分は、第一ピーク集合ＰＫ１よりも高い位置に、別のピーク（第二ピーク集合ＰＫ２）となって現れるので、これらのピーク同士の間の距離ｄ２よりも小さい値に高さ範囲ｄを設定することにより、ワークＷＫ３の凹凸部分を除外して基準高さを設定できるようになる。
【００８２】
なお、高さ範囲の指定は、高さ範囲指定部７１からユーザが手動で行う他、自動的に設定させることもできる。例えば高さの値の分布を示すヒストグラムにおいて、最も多くの高さ値を示す領域を、基準高さとして設定し、この基準高さに対する標準偏差に基づいて、高さ範囲を自動的に高さ範囲指定部等で演算、指定するようにしてもよい。
（三次元データの補正方法）
【００８３】
以上説明した、補正前の振動成分を含む三次元データから、振動成分を除去した補正後の三次元データを得る手順を、図２１のデータフローダイヤグラムに基づいて説明する。まず、得られた二次元プロファイルから、振動成分を含む補正前の三次元データを三次元データ生成部３２ｄで生成する。次に、得られた三次元データから、基準高さ設定部３２ａでもって平面を推定する。さらに基準平面に基づいて、振動推定部３２ｂが二次元プロファイル毎に振動の推定を行う。さらに必要に応じて振動推定部３２ｂが、振動の推定結果を補完処理し、フィルタリングする。このようにして振動の推定結果が得られると、プロファイル補正部３２ｃでもって補正前の三次元データから振動成分を除去し、振動成分を含まない補正後の三次元データが得られる。
（フィルタ処理）
【００８４】
上述した平面補正による振動推定方法では、得られた二次元プロファイル中に平面成分が存在することが前提となる。この振動推定方法では、得られた二次元プロファイル中に良質な平面成分が存在しない場合は、振動を推定しようとしても不安定な結果となってしまう。そこで、直線フィッティング度が悪い二次元プロファイルは、時間的に前後するタイミングで取得された隣接する二次元プロファイルの振動推定結果を用いて、基準高さ設定部３２ａで補間することができる。さらに、メディアンフィルタやガウシアンフィルタ、平均化フィルタや周波数フィルタを用いて、結果を安定化させることもできる。このようなフィルタ処理によって、二次元プロファイルを画像処理する例を図２２に示す。この図に示すように、部分的に大きな振動やノイズ等が生じた二次元プロファイルに対して、これらをフィルタ処理により均した上で、基準高さ設定部３２ａで平面成分を抽出することができる。また、平均値から大きく外れた値はノイズ等の異常値として除去するように、前処理を施してもよい。
（基準平面指定部７２）
【００８５】
また、基準高さ設定部３２ａが基準平面を自動的に算出する構成の他、ユーザが、基準平面となる領域を手動で指定するように構成することもできる。このような指定は、図３に示す基準平面指定部７２にて行う。例えば、基準高さ設定部３２ａがワークＷＫの全体から基準平面となる領域を自動で抽出する際、複数の平面がある場合や、よい平面が存在しない場合には、基準平面の抽出が適切に行われず、外観検査が不安定化することが考えられる。そこで、基準平面としての使用に足る領域をユーザが直接指定することにより、このような事態を回避して、外観検査の安定化を図ることができる。例えば図２３に示すような凹凸を有するワークＷＫに対して、ユーザがマウスなどのポインティングデバイスを用いて、表示部６の三次元データ表示領域６ｂに表示された三次元データである高さ画像に対して、凹凸を避けて安定した平面を基準平面として指定する。基準高さ設定部３２ａは、ユーザに指定された領域を基準平面として、基準高さを取得する。
【００８６】
なお、基準平面をユーザが直接指定する他、基準平面を抽出する領域を指定するように構成してもよい。例えば、三次元データ表示領域６ｂに表示された三次元データである高さ画像中から、凹凸のような基準平面に適さない領域を避けて指定された一又は複数の領域を、基準平面の候補領域として、基準高さ設定部３２ａが、指定された候補領域中から基準高さを設定する。例えば、指定された領域の平均高さを基準高さとする。この方法でも、同様に安定的な基準平面や基準高さの設定が見込まれ、外観検査の精度向上に寄与し得る。
（マスク領域設定部７３）
【００８７】
あるいは逆に、基準平面として使用しない領域をユーザに指定させてもよい。例えば図３の画像検査装置１００は、マスク領域設定部７３を備えており、マスク領域設定部７３でもって、三次元データ表示領域６ｂに表示された三次元データである高さ画像に対して、基準平面を算出する基準とすることを禁止するマスク領域を指定する。これにより、基準平面や基準高さを得るための領域から、例えばワークＷＫの凹凸部分や、振動が生じ易い領域を排除するなど、ワークＷＫや検査目的に応じた柔軟な設定が可能となる。
（補正モード選択部７４）
【００８８】
上述した振動推定部３２ｂによる振動のモデル化は、垂直振動と回転振動の２つを含めている。ここで、画像検査の多くの場合は垂直振動が主成分であって、回転振動は行わなくとも精度上問題ないことも多々ある。その一方で、垂直振動の推定に加えて回転振動の推定を行うと、振動の推定結果が安定しないことがある。例えば図２４に示すように、二次元プロファイルの生成に際して４点が検出された例において、回転振動の推定を行うため直線でフィッティングを行うと、図において直線で示すような基準平面が抽出される。これに対して、垂直振動の推定のみを行うよう水平な直線でフィッティングを行うと、図２５において直線で示すような基準平面が抽出され、振動推定結果が安定する。そこで、振動推定部３２ｂが振動成分を推定する際に、高さ方向の振動成分のみを推定する垂直振動補正モードと、高さ方向の振動成分に加えて、移動方向を中心とする回転振動成分を推定する回転振動補正モードのいずれかを選択できるようにすることで、回転振動成分の補正をＯＦＦすることが可能となり、外観検査を安定させることができる。このような補正モードの選択は、図３に示す補正モード選択部７４にて行う。これにより、回転振動成分を補正すると外観検査が不安定になる場合には、垂直振動成分のみを補正することで安定させることができる。
【００８９】
さらに振動の推定に際しては、ワークＷＫの表面形状に凹凸が存在する場合に、これらの凹凸により影響を受ける場合がある。例えば図２６に示すように、断面視において凸条を有するワークＷＫに対して基準平面を基準高さ設定部３２ａで自動設定する際、得られた二次元プロファイルの各点に対して、実際のワーク形状でなく振動により上下動したものと捉えられ、これらの点を平均化して平面となるように補正しようとする結果、基準平面が実際のワークＷＫの面よりもずれてしまうことが考えられる。そこで、ワークの本来の形状の凹凸の高低差よりも、振動成分の振幅が小さいとの前提に立ち、ワークの凹凸の高低差と、振動成分による変動とを区別するための高さ範囲を指定し、高低差の大きいデータは無視又は影響を低減して基準平面を設定する。このようにして予め高さ方向の高低差を指定することで、ワークが本来的に有する凸凹等、ワークの形状の有無による基準高さの算出への影響を低減できる。この結果、図２７に示すように振動成分に起因しない、ワーク本来の形状を示す二次元プロファイルの点を排除して、正確な振動成分の推定が可能となる。一例として、基準平面を抽出する対象となる基準領域として、画像全体を指定した場合に、高さ範囲を設定しない、あるいは広く設定したときの、基準平面を自動抽出して振動推定部３２ｂで推定された振動成分を、プロファイル補正部３２ｃで除去して得られた高さ画像の例を図２８に、また高さ範囲を狭く指定して、同様に基準平面を自動抽出し振動成分をプロファイル補正部３２ｃで除去して得られた高さ画像の例を図２９に、それぞれに示す。これらの図の対比から明らかなとおり、図２９において矢印で示す部位のワーク表面の凹凸が、図２９では維持されているのに対し、図２８では失われており、高さ範囲の設定によってワークＷＫの形状を維持できることが判る。
【００９０】
画像検査装置１００は、図３に示すように、二次元プロファイルの内で、基準高さ設定部３２ａが基準高さの算出に用いるデータとして、高さ方向の高低差を指定するための高さ範囲指定部７１を備えている。これにより、基準高さ設定部３２ａが、二次元プロファイルの内、高さ範囲指定部７１で指定された高さ範囲内のデータに基づいて基準高さを設定する。なお高さ範囲は、振動成分として検出するための許容誤差と捉えることもできる。すなわち、許容誤差を広く設定すると、大きな振動成分でも補正できるものの、ワークの細かな凹凸の影響を受けることとなる。一方で許容誤差を小さく設定することで、このようなワークの凹凸の影響を受け難くできる。このように、振動成分の振幅のサイズに応じて、許容誤差として高さ範囲を設定する。
（重み付け処理）
【００９１】
なお、高さ範囲指定部７１で指定された高さ範囲を外れたデータは、一律に無視して基準平面を設定する構成の他、重み付けを設定してもよい。例えば、二次元プロファイルを構成する点の高さが、高さ範囲指定部７１で指定された高さ又は高さ範囲から離れるほど、重み付けが軽くなるように、あるいは指定された高さ又は高さ範囲に近付くほど、重み付けが重くなるように、各データの高さが指定された高さ等からどれだけ離れているかに従って、重み付けを変化させる。あるいは、高さ範囲指定部７１で指定された第一高さ範囲内のデータは、重み付け１００％とし、第一高さ範囲よりも広い第二高さ範囲内のデータは、高さに応じて重み付けを変化させるよう、段階的に重み付けを変更してもよい。さらに、第二高さ範囲を外れたデータは、排除するように設定してもよい。
【００９２】
また、基準平面の抽出においては、上述した所定範囲外の値を除去又は影響を低減する方法の他、最小二乗法やＲＡＮＳＡＣ（RANDdom SAmple Consensus）といった、局所的な特徴量の対応付けに用いられる既知の方法を単独又は組み合わせて適用することもできる。
【００９３】
さらに、物理的な振動の計測に用いられる振動計を用いて振動成分を計測し、計測された値でもって振動成分を特定し、プロファイル補正部３２ｃでもって二次元プロファイルから除去するよう構成してもよい。
【００９４】
さらにまた、基準高さ設定部３２ａは、振動成分が除去される前の三次元データに基づいて、基準平面を設定する構成とする他、三次元データを構成する前の二次元プロファイルに基づいて、基準平面を設定してもよい。特に、上述の通り回転振動成分の補正は、考慮しなくてもよい場面も多いため、任意のＹ軸方向の位置、またはユーザが指定する位置の二次元プロファイルに基づいて、図２７に示したような基準平面の抽出が可能となる。
【００９５】
あるいはまた、振動成分が除去される前の三次元データから、基準平面を設定した後、改めて振動成分を除去した三次元データを三次元データ生成部３２ｄで生成する際は、プロファイル補正部３２ｃでもって三次元データを構成する二次元プロファイル毎に振動成分を除去する構成の他、プロファイル補正部３２ｃが、振動成分を含む三次元データのプロファイルに対して、直接振動成分のプロファイルを除去して、三次元データを補正することもできる。
【００９６】
また、以上の例では、三次元データから基準平面を算出する例を説明したが、基準高さ設定部３２ａは、基準平面に限らず、例えば図２７に示したような線状の基準線を基準高さとして設定することもできる。この場合、振動推定部３２ｂは、基準高さとして基準線と、二次元プロファイルの各点の高さとの差から、振動成分を抽出する。あるいは、基準高さとして面状や線状に代えて、点状を用いることもできる。この場合は、基準高さとして三次元データ上、あるいは二次元プロファイル上の一点または複数の点を基準点として基準高さ設定部３２ａで設定し、この基準点に従って、振動推定部３２ｂが、基準点と二次元プロファイルの各点の高さとの差から、振動成分を抽出する。
【００９７】
以上のようにして、画像検査装置は、光切断方式でワークを走査する場合に、三次元データから振動成分を補正して、振動成分を除去した高さ情報を取得できる。このようにして、補正前の三次元データから、振動成分を除去した補正後の三次元データの例を、図３０〜図４７の高さ画像のイメージ図に示す。これらの図において、図３０は、中間部分に突起を２箇所有する平面状のワークを撮像した補正前の高さ画像、図３１は図３０に対して振動成分を除去した補正後の高さ画像である。このように、補正前の高さ画像においては、振動成分に起因する波状のパターンが生じていたところ、補正後の高さ画像においてはこの波状のパターンが除去された平面が得られていることが確認された。また、突起部分は正しく維持されていることが確認された。
【００９８】
次に図３２は、搬送方向（Ｙ軸方向）に沿ってリブ状の突起を有するワークを撮像した補正前の高さ画像を、図３３は図３２から振動成分を除去した補正後の高さ画像を、それぞれ示している。このように、振動成分に起因する波状のパターンが除去される一方で、ワークの凸状は保持されており、振動成分のみが正しく除去されたことが確認された。
【００９９】
さらに図３４は、傷を有するワークの補正前の高さ画像を、図３５は図３４から振動成分を除去した補正後の高さ画像を、それぞれ示している。このように、振動成分に起因する波状のパターンを正しく除去しながら、傷の形状が維持され、このような傷の外観検査が正しく行われることが確認された。
【０１００】
さらに図３６は、途中で衝撃が加わり、この部位に段差が生じた補正前の高さ画像を、図３７は図３６から振動成分を除去した補正後の高さ画像を、それぞれ示している。このように、突発的に生じた振動も、振動補正機能によって正しく除去されていることが判る。
【０１０１】
さらにまた図３８は、部分的に突起を有するワークを斜めに配置した補正前の高さ画像を、図３９は図３８から振動成分を除去した補正後の高さ画像を、それぞれ示している。このように、平面の傾斜姿勢を維持し、かつ突起も維持したまま、振動成分に起因する波状のパターンのみを正しく除去可能であることが確認できた。
【０１０２】
さらに図４０は、同様に突起を有するワークの補正前の高さ画像を、図４１は図４０から振動成分を除去した補正後の高さ画像を、それぞれ示している。このように、振動成分が均一でなく、部分的に振幅が異なるような場合であっても、このような振動成分のみを正しく除去できることが確認できた。
【０１０３】
さらに図４２は、同様に突起を有するワークの補正前の高さ画像を、図４３は図４２から振動成分を除去した補正後の高さ画像を、それぞれ示している。ここでも、振動成分が均一でなく、そのピッチが異なる上、凹凸の高さも部分的に異なるような不均一な振動成分であっても、このような振動成分のみを正しく除去できることが確認できた。
【０１０４】
さらに図４４は、平面上にねじ頭とピンポン球を配置したワークの補正前の高さ画像を、図４５は図４４から振動成分を除去した補正後の高さ画像を、それぞれ示している。このように、ワーク中に高さの大きく異なる部位が存在する場合であっても、これらワークの凹凸形状は維持しつつ、形状を振動成分のみを正しく除去できることが確認できた。
【０１０５】
以上は、垂直な振動成分を除去する例について説明した。最後に、回転振動成分を除去する例を図４６及び図４７に示す。これらの図において図４６は、ケーブル状のワークを周囲に沿って撮像した補正前の高さ画像を、図４７は図４６の補正後の高さ画像を、それぞれ示している。これらから、図４７において水平方向に離間して現れる振動成分を、補正によって除去できることが確認された。
【０１０６】
このようにして、高価な防振用の機構や、ワークのクランプ機構を導入することなく、演算によって容易に振動成分を除去することができる。この結果、画像検査装置の導入にあたり障壁となっていた、費用や工数の問題を低減することが可能となる。
【０１０７】
また、基準高さ設定部は、ワーク毎に基準高さを個別に演算している。すなわち、ワークが新たに搬送されると、このワークの二次元プロファイルや高さ画像が取得されるので、このような三次元データ等の更新に合わせて、基準高さも更新される。この際、以前に用いた基準高さを参照して基準高さを変化させるように構成してもよい。特に、似たような形状のワークが順次入力されるような態様においては、毎回基準高さを演算する他、差分のみを演算するようにして、処理を簡素化することもできる。
【０１０８】
さらに振動推定部は、取得された二次元プロファイルに対して振動成分を推定する他、一又は複数枚の二次元プロファイルを飛ばして、インターレース方式により隣接しない、離散的に位置する二次元プロファイルに対して振動成分を推定し、これらの間については振動成分を演算せず、補間により補正データを生成して対応するよう構成してもよい。このような構成によって、処理時間を高速化することが期待できる
【０１０９】
以上、画像検査装置として、図４に示したように光切断方法で得られた二次元プロファイル画像を合成した高さ画像を用いた例を説明した。ただ本発明は、高さ画像を取得する方法を、この方法に限定するものでなく、高さ情報を取得可能な既知の方法を適宜採用できる。例えば三角測量の原理を使用した方法としては、光切断方法の他、縞投影画像、位相シフト法、空間コード化法、ランダムパターン投影法等が挙げられる。また三角測量の原理以外を用いた、非接触のアクティブな三次元計測方法としては、タイムオブフライト（Time Of Flight：ＴＯＦ）法、共焦点法等が利用できる。あるいは、非接触のパッシブな三次元計測方法としては、ステレオ法（キャリブレート済みステレオ法やフォトグラメトリ）、レンズ焦点法などの焦点法が挙げられる。
（ヘッド搬送機構）
【０１１０】
また以上の例では、図１や図２に示すようにカメラであるヘッド部２（正確には検出部２２）側を固定し、ワークＷＫをワーク搬送機構１で搬送し、ヘッド部２とワークＷＫを相対的に移動させる構成においてワークＷＫの外観検査を行う例を説明した。ただ、本発明はこの構成に限らず、ヘッド部側を走査させることもできる。例えば図４８に示す実施形態２に係る画像検査装置２００のように、ワークＷＫ側を静止させ、ヘッド部２’をヘッド搬送機構１ＢでもってワークＷＫに対して相対的に移動させ、ワークＷＫの表面を走査することで、ワークＷＫの二次元プロファイルを順次取得し、三次元データを合成することもできる。このような移動形態においても、ヘッド搬送機構１Ｂに振動が発生し、これが外観検査の精度に影響を与えることがあるので、同様の方法で振動の推定と補正が適用できる。また、ワークは必ずしも固定する必要はなく、ワークも搬送させつつ、ヘッド部側も走査させるように構成してもよい。このように本発明は、ワークとヘッド部の検出部とが、相対的に移動される構成に対して、振動成分を推定、除去するために適用できる。
【産業上の利用可能性】
【０１１１】
本発明の画像検査装置、画像検査方法、画像検査プログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器は、ライン上を搬送されるワークの外観検査に利用できる。
【符号の説明】
【０１１２】
１００、２００…画像検査装置
１…ワーク搬送機構；１ｂ…エンコーダ信号生成部；１Ｂ…ヘッド搬送機構
２、２’…ヘッド部
３…コントローラ部
４…制御装置
５…画像入力部
６…表示部；６ａ…二次元プロファイル表示領域；６ｂ…三次元データ表示領域
７…操作部
８…トリガ入力部
２１…照射部
２２…検出部
２３…二次元プロファイル生成部
３１…記憶部；３１ａ…補正前の三次元データ記憶領域；３１ｂ…補正後の三次元データ記憶領域；３１ｃ…ワークメモリ記憶領域；３１ｄ…入力プロファイルメモリ記憶領域；３１ｅ…設定データメモリ記憶領域
３２…演算部；３２ａ…基準高さ設定部；３２ｂ…振動推定部；３２ｃ…プロファイル補正部；３２ｄ…三次元データ生成部；３２ｅ…検査部
３３…媒体読取部
３４…設定部
７１…高さ範囲指定部
７２…基準平面指定部
７３…マスク領域設定部
７４…補正モード選択部
ＷＫ、ＷＫ２、ＷＫ３、ＷＫ４…ワーク
ＷＫ１…検査対象物
ＬＢ…レーザ光
ＲＰＬ…基準平面
ＲＰＲ…基準直線
ＲＲＯ…基準曲面
ＶＩＢ…振動成分
ＲＥＦＰ…基準プロファイル
ＷＰＰ…プロファイル点
ｄ…距離
２ＤＰ…二次元プロファイル
ＲＥＰ…基準曲線
ＣＰＰ…断面上測定点
ＰＫ１…第一ピーク集合
ＰＫ２…第二ピーク集合
【図１】
0006681743.tif 000002
【図２】
0006681743.tif 000003
【図３】
0006681743.tif 000004
【図４】
0006681743.tif 000005
【図５】
0006681743.tif 000006
【図６】
0006681743.tif 000007
【図７】
0006681743.tif 000008
【図８】
0006681743.tif 000009
【図９】
0006681743.tif 000010
【図１０】
0006681743.tif 000011
【図１１】
0006681743.tif 000012
【図１２】
0006681743.tif 000013
【図１３】
0006681743.tif 000014
【図１４】
0006681743.tif 000015
【図１５】
0006681743.tif 000016
【図１６】
0006681743.tif 000017
【図１７】
0006681743.tif 000018
【図１８】
0006681743.tif 000019
【図１９】
0006681743.tif 000020
【図２０】
0006681743.tif 000021
【図２１】
0006681743.tif 000022
【図２２】
0006681743.tif 000023
【図２３】
0006681743.tif 000024
【図２４】
0006681743.tif 000025
【図２５】
0006681743.tif 000026
【図２６】
0006681743.tif 000027
【図２７】
0006681743.tif 000028
【図２８】
0006681743.tif 000029
【図２９】
0006681743.tif 000030
【図３０】
0006681743.tif 000031
【図３１】
0006681743.tif 000032
【図３２】
0006681743.tif 000033
【図３３】
0006681743.tif 000034
【図３４】
0006681743.tif 000035
【図３５】
0006681743.tif 000036
【図３６】
0006681743.tif 000037
【図３７】
0006681743.tif 000038
【図３８】
0006681743.tif 000039
【図３９】
0006681743.tif 000040
【図４０】
0006681743.tif 000041
【図４１】
0006681743.tif 000042
【図４２】
0006681743.tif 000043
【図４３】
0006681743.tif 000044
【図４４】
0006681743.tif 000045
【図４５】
0006681743.tif 000046
【図４６】
0006681743.tif 000047
【図４７】
0006681743.tif 000048
【図４８】
0006681743.tif 000049