(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、このような事情に鑑みてなされたものであり、その目的の一は、振動が存在する場合でも、これを補正して高さ方向の高精度な外観検査を可能にした画像検査装置、画像検査方法、画像検査プログラム及びコンピュータで読み取り可能な記録媒体又は記録した機器を提供することにある。
【0007】
本発明の第1の態様に係る画像検査装置によれば、検査対象物の高さ情報に基づいて外観検査を行うための画像検査装置であって、一方向に相対的に移動される検査対象物に対して測定光を照射するための照射部と、前記照射部から検査対象物に照射され、該検査対象物で反射された、高さ方向における振動成分を含む反射光を検出するための検出部と、前記検出部により取得された検出データに基づき、検査対象物の断面形状を示す二次元プロファイルを生成するための二次元プロファイル生成部と、前記二次元プロファイル生成部で生成された複数の二次元プロファイルから得られた振動成分が除去される前の三次元データに基づいて、振動成分推定の基準となる基準高さを設定するための基準高さ設定部と、前記二次元プロファイル生成部で生成された二次元プロファイルと、前記基準高さ設定部で設定された基準高さに基づいて、検査環境の振動成分を推定するための振動推定部と、前記振動推定部で推定された振動成分を、各二次元プロファイルから除去するためのプロファイル補正部と、前記プロファイル補正部で振動成分が除去された複数の二次元プロファイルから、検査対象物の三次元データを生成するための三次元データ生成部と、前記三次元データ生成部で生成された三次元データに基づいて検査対象物の外観検査を行うための検査部とを備え
、前記基準高さ設定部は、前記基準高さとして、前記三次元データ生成部で生成された振動成分が除去される前の三次元データに基づいて基準面を推定し、前記振動推定部は、前記基準高さ設定部で推定された基準面の断面から得られる基準線と、該基準線に対応する二次元プロファイル上の高さとに基づいて、各二次元プロファイルの振動成分を推定するよう構成することができる。上記構成により、検査対象物と検出部とを相対的に移動させる際に高さ方向の振動が発生するような状況においても、プロファイル補正部を用いて振動成分を除去することで、防振用の機構や検査対象物のクランプ機構を不要とでき、振動の大きな移動系に対しても高精度な画像検査が可能となる。
【0008】
また、第2の態様に係る画像検査装置によれば、
検査対象物の高さ情報に基づいて外観検査を行うための検査装置であって、一方向に相対的に移動される検査対象物に対して測定光を照射するための照射部と、前記照射部から検査対象物に照射され、該検査対象物で反射された、高さ方向における振動成分を含む反射光を検出するための検出部と、前記検出部により取得された検出データに基づき、検査対象物の断面形状を示す二次元プロファイルを生成するための二次元プロファイル生成部と、複数の二次元プロファイルから得られた振動成分が除去される前の三次元データに基づいて、振動成分推定の基準となる基準高さを設定するための基準高さ設定部と、前記二次元プロファイル生成部で生成された二次元プロファイルと、前記基準高さ設定部で設定された基準高さに基づいて、検査環境の振動成分を推定するための振動推定部と、前記振動推定部で推定された振動成分を、各二次元プロファイルから除去するためのプロファイル補正部と、前記プロファイル補正部で振動成分が除去された複数の二次元プロファイルから、検査対象物の三次元データを生成するための三次元データ生成部と、前記三次元データ生成部で生成された三次元データに基づいて検査対象物の外観検査を行うための検査部とを備え、前記基準高さ設定部は、基準高さとして、前記三次元データ生成部で生成された振動成分が除去される前の三次元データに基づいて平面状の基準平面として推定され、前記振動推定部は、前記基準高さ設定部で推定された基準平面の断面から得られる基準直線と、該推定された基準線に対応する二次元プロファイル上の高さとに基づいて、各二次元プロファイルの振動成分を推定するよう構成できる。上記構成により、基準線に基づいて振動成分を推定することで、安定した振動成分の推定が可能となる。
【0009】
さらに、第3の態様に係る画像検査装置によれば、
検査対象物の高さ情報に基づいて外観検査を行うための検査装置であって、一方向に相対的に移動される検査対象物に対して測定光を照射するための照射部と、前記照射部から検査対象物に照射され、該検査対象物で反射された、高さ方向における振動成分を含む反射光を検出するための検出部と、前記検出部により取得された検出データに基づき、検査対象物の断面形状を示す二次元プロファイルを生成するための二次元プロファイル生成部と、複数の二次元プロファイルから得られた振動成分が除去される前の三次元データに基づいて、振動成分推定の基準となる基準高さを設定するための基準高さ設定部と、前記二次元プロファイル生成部で生成された二次元プロファイルと、前記基準高さ設定部で設定された基準高さに基づいて、検査環境の振動成分を推定するための振動推定部と、前記振動推定部で推定された振動成分を、各二次元プロファイルから除去するためのプロファイル補正部と、前記プロファイル補正部で振動成分が除去された複数の二次元プロファイルから、検査対象物の三次元データを生成するための三次元データ生成部と、前記三次元データ生成部で生成された三次元データに基づいて検査対象物の外観検査を行うための検査部とを備え、前記基準高さ設定部は、基準高さとして、前記三次元データ生成部で生成された振動成分が除去される前の三次元データに基づいて基準曲面を推定し、前記振動推定部は、前記基準高さ設定部で推定された基準曲面の断面から得られる基準曲線と、該推定された基準曲線に対応する二次元プロファイル上の高さとに基づいて、各二次元プロファイルの振動成分を推定するよう構成できる。上記構成により、基準曲面に基づいて振動成分を推定することで、安定した振動成分の推定が可能となる。
【0010】
さらにまた、第4の態様に係る画像検査装置によれば、前記基準高さ設定部は、振動成分が除去される前の三次元データに基づいて基準平面が自動的に設定されるよう構成できる。上記構成によりユーザによる設定作業を不要とできる。
【0011】
さらにまた、第5の態様に係る画像検査装置によれば、さらに二次元プロファイルの内で、前記基準高さ設定部が基準高さの算出に用いるデータとして、高さ方向の高低差を指定するための高さ範囲指定部を備えており、前記基準高さ設定部が、二次元プロファイルの内、前記高さ範囲指定部で指定された高さ範囲内のデータに基づいて基準高さを設定するよう構成できる。上記構成により、検査対象物の本来の形状の凹凸の高低差よりも、振動成分の振幅が小さいとの前提に立ち、検査対象物の凹凸の高低差と、振動成分による変動とを区別するための高さ範囲を指定することで、高低差の大きいデータは無視又は影響を低減して基準高さを設定することで、検査対象物が本来的に有する凸凹等、検査対象物の形状の有無による基準高さの算出への影響を低減できる。
【0012】
さらにまた、第6の態様に係る画像検査装置によれば、さらに、前記振動成分が除去される前の三次元データを表示させるための三次元データ表示領域と、前記三次元データ表示領域に表示された三次元データの内で、基準平面となる領域を指定するための基準平面指定部を備えることができる。上記構成により、ユーザが基準平面となる領域を直接指定できるので、例えば複数の平面が存在する検査対象物に対して、最も安定した部位を選択することができ、安定的に振動の補正を行うことができる。
【0013】
さらにまた、第7の態様に係る画像検査装置によれば、さらに前記基準高さ設定部が、振動成分が除去される前の三次元データ上から基準平面を算出する基準とすることを禁止するマスク領域を設定するためのマスク領域設定部を備えることができる。上記構成により、ユーザが基準平面の算出の基準としないマスク領域を設定可能とできる。例えば検査対象物の領域を除去する、凸凹部分または凸凹が発生しそうな部分を避ける等、検査対象物に応じた柔軟な設定が可能となる。
【0014】
さらにまた、第8の態様に係る画像検査装置によれば、
検査対象物の高さ情報に基づいて外観検査を行うための検査装置であって、一方向に相対的に移動される検査対象物に対して測定光を照射するための照射部と、前記照射部から検査対象物に照射され、該検査対象物で反射された、高さ方向における振動成分を含む反射光を検出するための検出部と、前記検出部により取得された検出データに基づき、検査対象物の断面形状を示す二次元プロファイルを生成するための二次元プロファイル生成部と、複数の二次元プロファイルから得られた振動成分が除去される前の三次元データに基づいて、振動成分推定の基準となる基準高さを設定するための基準高さ設定部と、前記二次元プロファイル生成部で生成された二次元プロファイルと、前記基準高さ設定部で設定された基準高さに基づいて、検査環境の振動成分を推定するための振動推定部と、前記振動推定部で推定された振動成分を、各二次元プロファイルから除去するためのプロファイル補正部と、前記プロファイル補正部で振動成分が除去された複数の二次元プロファイルから、検査対象物の三次元データを生成するための三次元データ生成部と、前記三次元データ生成部で生成された三次元データに基づいて検査対象物の外観検査を行うための検査部とを備え、前記基準高さ設定部は、
前記基準高さとして、振動成分が除去される前の三次元データに基づいて、
基準直線を設定し、前記振動推定部で、前記基準直線と二次元プロファイルの関係から、高さ方向の振動成分を推定し、前記プロファイル補正部でもって補正するよう構成できる。
【0015】
さらにまた、第9の態様に係る画像検査装置によれば、前記基準高さ設定部は、
前記基準高さとして、振動成分が除去される前の三次元データに基づいて、
基準直線を設定し、前記振動推定部で、前記基準直線と二次元プロファイルの関係から、振動成分を高さ方向、及び検査対象物
の移動方向の回転軸周りに推定し、前記プロファイル補正部でもって補正するよう構成できる。上記構成により、Z位置と、検査対象物移動方向の回転軸周りの振動を推定、補正することが可能となる。
【0016】
さらにまた、第10の態様に係る画像検査装置によれば
、前記基準高さ設定部は、検査対象物の三次元データの更新に合わせて、動的に基準高さを変化させるよう構成できる。上記構成により、一定しない動的に変化する振動にも対応させることができる。
【0017】
さらにまた、第11の態様に係る画像検査装置によれば
、前記基準高さ設定部は、基準高さをユーザに手動で入力させるよう構成できる。
【0018】
さらにまた、第12の態様に係る画像検査装置によれば、
検査対象物の高さ情報に基づいて外観検査を行うための検査装置であって、一方向に相対的に移動される検査対象物に対して測定光を照射するための照射部と、前記照射部から検査対象物に照射され、該検査対象物で反射された、高さ方向における振動成分を含む反射光を検出するための検出部と、前記検出部により取得された検出データに基づき、検査対象物の断面形状を示す二次元プロファイルを生成するための二次元プロファイル生成部と、複数の二次元プロファイルから得られた振動成分が除去される前の三次元データに基づいて、振動成分推定の基準となる基準高さを設定するための基準高さ設定部と、前記二次元プロファイル生成部で生成された二次元プロファイルと、前記基準高さ設定部で設定された基準高さに基づいて、検査環境の振動成分を推定するための振動推定部と、前記振動推定部で推定された振動成分を、各二次元プロファイルから除去するためのプロファイル補正部と、前記プロファイル補正部で振動成分が除去された複数の二次元プロファイルから、検査対象物の三次元データを生成するための三次元データ生成部と、前記三次元データ生成部で生成された三次元データに基づいて検査対象物の外観検査を行うための検査部とを備え、前記基準高さ設定部は、振動成分が除去される前の三次元データを構成する複数の二次元プロファイルから、一つの基準プロファイルを算出し、前記振動推定部は、基準プロファイルと、基準プロファイルに対応する二次元プロファイルの高さとに基づいて、振動成分を推定するよう構成できる。上記構成により、検査対象物の形状が移動方向に大きく変わらないような場合に、適切に外観検査を行うことができる。
【0019】
さらにまた、第13の態様に係る画像検査装置によれば、前記基準高さ設定部は、複数の二次元プロファイルを検査対象物の走査方向に平滑化して、一の基準プロファイルを算出し、前記振動推定部は、該算出された基準プロファイルに基づいて、二次元プロファイルの振動成分を推定するよう構成できる。
【0020】
さらにまた、第14の態様に係る画像検査装置によれば、前記基準高さ設定部は、隣接する位置で取得された複数の二次元プロファイルに基づいて基準プロファイルを算出し、前記振動推定部は、該算出された基準プロファイルに基づいて、二次元プロファイルの振動成分を推定するよう構成できる。
【0021】
さらにまた、第15の態様に係る画像検査装置によれば、前記基準プロファイルを、検査対象物の外形の内、平面状の部分とできる。
【0022】
さらにまた、第16の態様に係る画像検査装置によれば、前記振動推定部は、一以上の二次元プロファイルを飛ばして離散的に二次元プロファイルを選択し、該選択された二次元プロファイルに対して振動成分を推定すると共に、選択された二次元プロファイル同士の間については得られた振動成分の補正データを補間するよう構成できる。上記構成により、処理時間を高速化することが期待できる。
【0023】
さらにまた、第17の態様に係る画像検査装置によれば、前記振動推定部は、前記基準高さ設定部により設定された基準高さとの差分が、所定の範囲内の高さデータを有する二次元プロファイルに基づいて、振動成分が算出されるよう構成できる。
【0024】
さらにまた、第18の態様に係る画像検査装置によれば、前記所定の範囲外の高さデータを有する部分の振動成分は、周囲の振動成分の推定結果を用いて補間するよう構成できる。
【0025】
さらにまた、第19の態様に係る画像検査装置によれば、前記振動推定部による振動推定結果に、フィルタ処理を行うよう構成できる。上記構成により、振動推定結果の安定化を図ることができる。
【0026】
さらにまた、第20の態様に係る画像検査装置によれば、
検査対象物の高さ情報に基づいて外観検査を行うための検査装置であって、一方向に相対的に移動される検査対象物に対して測定光を照射するための照射部と、前記照射部から検査対象物に照射され、該検査対象物で反射された、高さ方向における振動成分を含む反射光を検出するための検出部と、前記検出部により取得された検出データに基づき、検査対象物の断面形状を示す二次元プロファイルを生成するための二次元プロファイル生成部と、複数の二次元プロファイルから得られた振動成分が除去される前の三次元データに基づいて、振動成分推定の基準となる基準高さを設定するための基準高さ設定部と、前記二次元プロファイル生成部で生成された二次元プロファイルと、前記基準高さ設定部で設定された基準高さに基づいて、検査環境の振動成分を推定するための振動推定部と、前記振動推定部で推定された振動成分を、各二次元プロファイルから除去するためのプロファイル補正部と、前記プロファイル補正部で振動成分が除去された複数の二次元プロファイルから、検査対象物の三次元データを生成するための三次元データ生成部と、前記三次元データ生成部で生成された三次元データに基づいて検査対象物の外観検査を行うための検査部とを備え、前記振動推定部が、振動成分として、高さ方向の振動成分のみを推定する垂直振動補正モードと、高さ方向の振動成分に加えて、移動方向を中心とする回転振動成分を推定する回転振動補正モードのいずれかを選択するための補正モード選択部を備えることができる。上記構成により、回転振動成分を補正すると推定結果が不安定になるような場合には、回転振動補正を行わないように補正モードを選択することで、安定的な外観検査が実現される。
【0027】
さらにまた、第21の態様に係る画像検査装置によれば、さらに振動の推定結果を表示するための表示部を備えることができる。
【0028】
さらにまた、第22の態様に係る画像検査装置によれば、前記照射部が発光素子であり、前記検出器が受光器であり、検出データを輝度データとできる。
【0029】
さらにまた、第23の態様に係る画像検査方法によれば、検査対象物の高さ情報に基づいて外観検査を行うための画像検査方法であって、一方向に相対的に移動される検査対象物に対して測定光を照射し、該検査対象物で反射された、高さ方向における振動成分を含む反射光を検出する工程と、前記検出された検出データに基づき、検査対象物の断面形状を示す二次元プロファイルを生成する工程と、前記生成された二次元プロファイルに基づいて、振動成分推定の基準となる基準高さ
として、振動成分が除去される前の三次元データに基づいて基準面を
推定する工程と、前記生成された二次元プロファイルと、前記
推定された基準
面の断面から得られる基準線と、該基準線に対応する二次元プロファイル上の高さ
とに基づいて、
各二次元プロファイルの振動成分を推定する工程と、前記推定された振動成分を、各二次元プロファイルから除去する工程と、前記振動成分が除去された複数の二次元プロファイルから、検査対象物の三次元データを生成する工程と、前記生成された三次元データに基づいて検査対象物の外観検査を行う工程とを含むことができる。これにより、検査対象物と測定光の検出部とを相対的に移動させる際に高さ方向の振動が発生するような状況においても、振動成分を除去することで、防振用の機構やワークのクランプ機構を不要とでき、振動の大きな移動系に対しても高精度な画像検査が可能となる。
【0030】
さらにまた、第24の態様に係る画像検査プログラムによれば、検査対象物の高さ情報に基づいて外観検査を行うための画像検査プログラムであって、一方向に相対的に移動される検査対象物に対して測定光を照射し、該検査対象物で反射された、高さ方向における振動成分を含む反射光を検出し、前記検出された検出データに基づき、検査対象物の断面形状を示す二次元プロファイルを生成する二次元プロファイル生成機能と、前記二次元プロファイル生成機能で生成された二次元プロファイルに基づいて、振動成分推定の基準となる基準高さ
として、振動成分が除去される前の三次元データに基づいて基準面を
推定するための基準高さ設定機能と、前記二次元プロファイル生成機能で生成された二次元プロファイルと、前記基準高さ設定機能で
推定された基準
面の断面から得られる基準線と、該基準線に対応する二次元プロファイル上の高さ
とに基づいて、
各二次元プロファイルの振動成分を推定するための振動推定機能と、前記振動推定機能で推定された振動成分を、各二次元プロファイルから除去するためのプロファイル補正機能と、前記プロファイル補正機能で振動成分が除去された複数の二次元プロファイルから、検査対象物の三次元データを生成するための三次元データ生成機能と、前記三次元データ生成機能で生成された三次元データに基づいて検査対象物の外観検査を行うための検査機能とをコンピュータに実現させることができる。これにより、検査対象物と測定光の検出部とを相対的に移動させる際に高さ方向の振動が発生するような状況においても、プロファイル補正部を用いて振動成分を除去することで、防振用の機構やワークのクランプ機構を不要とでき、振動の大きな移動系に対しても高精度な画像検査が可能となる。
【0031】
さらにまた、第24の態様に係るコンピュータで読み取り可能な記録媒体または記憶した機器は、上記プログラムを格納するものである。記録媒体には、CD−ROM、CD−R、CD−RWやフレキシブルディスク、磁気テープ、MO、DVD−ROM、DVD−RAM、DVD−R、DVD+R、DVD−RW、DVD+RW、Blu−ray(登録商標)、HD DVD(AOD)等の磁気ディスク、光ディスク、光磁気ディスク、半導体メモリその他のプログラムを格納可能な媒体が含まれる。またプログラムには、上記記録媒体に格納されて配布されるものの他、インターネット等のネットワーク回線を通じてダウンロードによって配布される形態のものも含まれる。さらに記憶した機器には、上記プログラムがソフトウェアやファームウェア等の形態で実行可能な状態に実装された汎用もしくは専用機器を含む。さらにまたプログラムに含まれる各処理や機能は、コンピュータで実行可能なプログラムソフトウエアにより実行してもよいし、各部の処理を所定のゲートアレイ(FPGA、ASIC)等のハードウエア、又はプログラムソフトウエアとハードウェアの一部の要素を実現する部分的ハードウエアモジュールとが混在する形式で実現してもよい。
【図面の簡単な説明】
【0032】
【
図1】本発明の実施形態1に係る画像検査装置の外観を示す斜視図である。
【
図2】
図1の画像検査装置を示すブロック図である。
【
図3】
図2の画像検査装置の詳細な機能ブロック図である。
【
図4】
図4Aは、ヘッド部でワークを走査する状態を示す斜視図、
図4Bは走査位置を示すワークの平面図、
図4Cは
図4Bの各走査位置で得られた二次元プロファイルを合成して三次元データを生成する模式図である。
【
図5】ワーク搬送機構で搬送されるワークの外観検査を行う際に振動が生じる様子を示す側面図である。
【
図6】ワークの回転スキャンで振動が生じる様子を示す側面図である。
【
図7】垂直振動成分によるワークの断面の変動を示す模式図である。
【
図8】回転振動成分によるワークの断面の変動を示す模式図である。
【
図9】振動のない平面を測定した三次元画像を示すイメージ図である。
【
図10】
図9の平面に垂直振動成分が加えられた状態の三次元画像を示すイメージ図である。
【
図11】
図9の平面に回転振動成分が加えられた状態の三次元画像を示すイメージ図である。
【
図12】
図9の平面に垂直振動成分と回転振動成分が加えられた状態の三次元画像を示すイメージ図である。
【
図15】振動補正機能の処理フローを示すフロー図である。
【
図19】ワークの二次元プロファイルに対して等断面補正を行う様子を示す断面図である。
【
図20】ワークの高さの値の分布を示すヒストグラムである。
【
図21】補正前の振動成分を含む三次元データから、振動成分を除去した補正後の三次元データを得る様子を示すデータフローダイヤグラムである。
【
図22】フィルタ処理によって二次元プロファイルを画像処理する例を示す模式図である。
【
図23】凹凸を有するワークに対して振動領域を指定する様子を示す平面図である。
【
図24】二次元プロファイルを構成する4点に対して回転振動の推定を行うため直線でフィッティングを行う様子を示す模式図である。
【
図25】
図24の4点に対して回転振動を補正せずに直線でフィッティングを行う様子を示す模式図である。
【
図26】凸条を有するワークに対して基準平面を自動設定する様子を示す模式図である。
【
図27】
図26の二次元プロファイルに対して高さ範囲を超える成分を排除して基準平面を自動設定する様子を示す模式図である。
【
図28】基準平面を自動抽出し振動成分を除去した高さ画像を示すイメージ図である。
【
図29】
図28に対して高さ範囲を狭く指定して基準平面を自動抽出し振動成分を除去した高さ画像を示すイメージ図である。
【
図30】突起を有する平面状のワークを撮像した補正前の高さ画像を示すイメージ図である。
【
図31】
図30から振動成分を除去した補正後の高さ画像を示すイメージ図である。
【
図32】リブ状の突起を有するワークを撮像した補正前の高さ画像を示すイメージ図である。
【
図33】
図32から振動成分を除去した補正後の高さ画像を示すイメージ図である。
【
図34】傷を有するワークの補正前の高さ画像を示すイメージ図である。
【
図35】
図34から振動成分を除去した補正後の高さ画像を示すイメージ図である。
【
図36】途中で衝撃が加わった補正前の高さ画像を示すイメージ図である。
【
図37】
図36から振動成分を除去した補正後の高さ画像を示すイメージ図である。
【
図38】
図38は、突起を有するワークを斜めに配置した補正前の高さ画像を示すイメージ図である。
【
図39】
図38から振動成分を除去した補正後の高さ画像を示すイメージ図である。
【
図40】突起を有するワークの補正前の高さ画像を示すイメージ図である。
【
図41】
図40から振動成分を除去した補正後の高さ画像を示すイメージ図である。
【
図42】突起を有するワークの補正前の高さ画像を示すイメージ図である。
【
図43】
図42から振動成分を除去した補正後の高さ画像を示すイメージ図である。
【
図44】ねじ頭とピンポン球を配置したワークの補正前の高さ画像を示すイメージ図である。
【
図45】
図44から振動成分を除去した補正後の高さ画像を示すイメージ図である。
【
図46】ケーブル状のワークを周囲に沿って撮像した補正前の高さ画像を示すイメージ図である。
【
図48】実施形態2に係る三次元画像検査装置においてヘッド部側をワークに対して相対的に移動させる構成を示す模式図である。
【発明を実施するための形態】
【0033】
以下、本発明の実施形態を図面に基づいて説明する。ただし、以下に示す実施形態は、本発明の技術思想を具体化するための例示であって、本発明は以下のものに特定されない。また、本明細書は特許請求の範囲に示される部材を、実施形態の部材に特定するものでは決してない。特に実施形態に記載されている構成部品の寸法、材質、形状、その相対的配置等は特に特定的な記載がない限りは、本発明の範囲をそれのみに限定する趣旨ではなく、単なる説明例にすぎない。なお、各図面が示す部材の大きさや位置関係等は、説明を明確にするため誇張していることがある。さらに以下の説明において、同一の名称、符号については同一若しくは同質の部材を示しており、詳細説明を適宜省略する。さらに、本発明を構成する各要素は、複数の要素を同一の部材で構成して一の部材で複数の要素を兼用する態様としてもよいし、逆に一の部材の機能を複数の部材で分担して実現することもできる。
(実施形態1)
【0034】
本発明の実施形態1に係る画像検査装置の外観を
図1に、ブロック図を
図2に、さらに詳細な機能ブロック図を
図3に、それぞれ示す。これらの図に示す画像検査装置100は、ワーク搬送機構1上を搬送される検査対象物(ワークWK)の外観を画像処理によって検査する。この画像検査装置100は、ワークWKの画像を撮像するヘッド部2と、ヘッド部2で得られた画像を画像処理するコントローラ部3とを備える。コントローラ部3は、高さ情報を有する画像に対して画像処理により外観検査を行い、検査結果を出力する。なお外観検査とは、ワークWKの画像処理結果を用いて実行される製品検査のことであり、ワークWKの寸法を測定する寸法検査や、ワークWKが製品として良品であるかどうかを判定する良品検査などが含まれる。ワーク搬送機構1は、プログラマブルロジックコントローラ(PLC)などの制御装置4によって制御されるコンベアなどのラインである。
【0035】
画像検査装置100は、
図3のブロック図に示すように、ヘッド部2と、コントローラ部3を備える。コントローラ部3には、別途光学画像を入力するための画像入力部5と、表示部6と、操作部7と、制御装置4と、トリガ入力部8が接続されている。またワーク搬送機構1のエンコーダ信号生成部1bからの信号がコントローラ部3に入力されて、ワークWKがワーク搬送機構1で搬送されていること、あるいはワークWKの搬送が停止されたことを把握できる。エンコーダ信号生成部1bは、ワーク搬送機構1の動作状態を示す信号として、例えばコンベアの回転軸に設けられたロータリーエンコーダなどである。画像入力部5は、コネクタ付きのユニットである。また画像入力部を外付けとする態様に限らず、コントローラ部3に内蔵する態様としてもよい。
【0036】
トリガ入力部8は、ワークWKの撮像タイミングをコントローラ部3に示すための部材である。例えばワーク搬送ライン1上に配置された光電センサからのトリガ信号をトリガ入力部8で受けることで、ワークWKが搬送されてきたことを検出して撮像や外観検査などの処理を行うタイミングを図ることができる。
(操作部7)
【0037】
操作部7は、コントローラ部3に対して各種の操作や設定を行うための部材であり、キーボードやコンソール、あるいはマウスなどのポインティングデバイス等が利用できる。
(表示部6)
【0038】
表示部6は、得られた二次元プロファイルや高さ画像、振動の推定結果や外観検査の結果、あるいは各種の設定を行うための設定画面、この設定画面に対して操作部7から入力される設定値等を表示させるための部材である。このような表示部6は、LCDやCRT、有機EL等のディスプレイである。また、表示部6をタッチパネルとすることで、操作部と表示部を兼用することもできる。またこの表示部6は、二次元プロファイルを表示させるための二次元プロファイル表示領域6aと、三次元データを表示させるための三次元データ表示領域6bを有している。
(ヘッド部2)
【0039】
ヘッド部2は、ワークWKの二次元プロファイルを測定するための部材である。ヘッド部2は、
図3のブロック図に示すように、一方向に相対的に移動されるワークWKに対して測定光を照射するための照射部21と、照射部21からワークWKに照射されて反射された、高さ方向における振動成分を含む反射光を検出するための検出部22と、検出部22により取得された検出データに基づき、ワークWKの断面形状を示す二次元プロファイルを生成するための二次元プロファイル生成部23を備えている。なお、本明細書において「高さ方向」とは、ヘッド部2(正確には検出部22)とワークWKとの距離方向を意味するものとして使用する。
【0040】
このヘッド部2は、
図4Aに示すように、Y軸方向(送り方向)に搬送されるワークWKに対して、照射部21が幅広のレーザ光LBをX軸方向(幅方向)照射し、その反射光を検出部22で受光して、二次元プロファイル生成部23がワークWKの二次元断面形状を示すデータとして二次元プロファイルを作成する。このときワークWKはXZ平面に平行な切断面によって仮想的に切断され、切断面の外形(外縁)が二次元プロファイルとなる(
図4B及び
図4C)。二次元プロファイルは一般に、ヘッド部2からワークWKの測定点までの距離(Z軸方向の距離)であって、X軸方向に沿って並んだ複数の測定点についての距離の集合である。
【0041】
ヘッド部2は、ライン投光型のレーザ変位計を用いている。具体的には、ヘッド部2は、照射部21としてレーザ光LBなどを発する投光素子を、検出部22としてCCD等の受光素子(ラインセンサや二次元撮像素子)を備えている。さらにヘッド部2は、照射光や反射光を案内するためのレンズ等の光学系を備えている。このヘッド部2は、ワークWKを撮像するカメラと捉えることもできる。
【0042】
なお本明細書においては、
図1に示す光切断方式のヘッド部2を用いて、光切断方法で得られた二次元プロファイル画像を合成した高さ画像を用いる例を説明する。ただ本発明は、高さ画像を取得する方法を、この方法に限定するものでなく、高さ情報を取得可能な既知の方法を適宜採用できる。例えば三角測量の原理を使用した方法としては、縞投影画像、位相シフト法、空間コード化法、ランダムパターン投影法等が挙げられる。また三角測量の原理以外を用いた、非接触のアクティブな三次元計測方法としては、タイムオブフライト(Time Of Flight:TOF)法、共焦点法等が利用できる。あるいは、非接触のパッシブな三次元計測方法としては、ステレオ法(キャリブレート済みステレオ法やフォトグラメトリ)、レンズ焦点法などの焦点法が挙げられる。これらのワークの高さ情報を取得する方式に応じて、ヘッド部の構成が適宜設定される。
【0043】
なお本明細書では高さ画像を得るためにレーザ変位計を採用しているが、TOF方式など、他の方式を用いてもよい。本明細書において、測定光や反射光は、可視光や赤外光、紫外光などが利用できる。
【0044】
また
図1の例では、ヘッド部2とコントローラ部3を物理的に分離した構成を採用しているが、本発明はこの構成に限らず、例えばこれらを一体化した構成とすることもできる。逆に、
図1の構成では、照射部21と検出部22を共通のヘッド部2に組み込んでいるが、この構成に限らず、照射部と検出部を個別に配置する構成としてもよい。あるいは、二次元プロファイル生成部をコントローラ部側に配置したり、逆に三次元データ生成部をヘッド部側に設けてもよい。また
図1においてヘッド部2はケーブルを介してコントローラ部3のヘッド用コネクタに接続されている。ただ、これらは有線接続に限られず、無線接続とすることも可能である。また、通信プロトコルを介したネットワーク接続としてもよい。
(コントローラ部3)
【0045】
図3に示すコントローラ部3は、記憶部31と、演算部32と、媒体読取部33を備えている。演算部32は、基準高さ設定部32aと、振動推定部32bと、プロファイル補正部32cと、三次元データ生成部32dと、検査部32eを備えている。記憶部31は、各種の画像データや設定データを保存するための部材であり、補正前の三次元データ記憶領域31a、補正後の三次元データ記憶領域31b、ワークメモリ記憶領域31c、入力プロファイルメモリ記憶領域31d、設定データメモリ記憶領域31e等を備える。媒体読取部33は、可搬メディアを読み取り、または書き込むための部材であり、USBメモリ(商品名)やSDカード(商品名)等の規格化された記録媒体、半導体メモリ等を接続して、データの読み書きを可能とする。また、無線接続やネットワーク接続により、外部の記録機器との間でデータの受け渡しを行うよう構成してもよい。
【0046】
基準高さ設定部32aは、二次元プロファイル生成部23で生成された二次元プロファイルに基づいて、振動成分推定の基準となる基準高さを設定するための部材である。基準高さ設定部32aは、基準高さを演算するために、二次元プロファイルや、二次元プロファイルを合成して得られた三次元データを利用する。例えば、ワークの三次元データから、平面状の部位を抽出して、これを基準高さ(基準平面)として利用する。また基準高さは面状に限らず、例えばワークのY軸方向における特定位置の断面形状を示す二次元プロファイルから、直線状の部位を抽出して基準高さ(基準線)として利用したり、あるいは特定の点を複数抽出して基準高さ(基準点)として利用することもできる。
【0047】
振動推定部32bは、二次元プロファイル生成部23で生成された二次元プロファイルと、基準高さ設定部32aで設定された基準高さに基づいて、検査環境の振動成分を推定するための部材である。プロファイル補正部32cは、振動推定部32bで推定された振動成分を、各二次元プロファイルから除去するための部材である。三次元データ生成部32dは、プロファイル補正部32cで振動成分が除去された複数の二次元プロファイルから、検査対象物の三次元データを生成するための部材である。検査部32eは、三次元データ生成部32dで生成された三次元データに基づいて検査対象物の外観検査を行うための部材である。
【0048】
設定部34は、高さ範囲指定部71と、基準平面指定部72と、マスク領域設定部73と、補正モード選択部74を備える。高さ範囲指定部71は、二次元プロファイルの内で、基準高さ設定部32aが基準高さの算出に用いるデータとして、高さ方向の高低差を指定するための部材である。基準平面指定部72は、三次元データ表示領域に表示された三次元データの内で、基準平面となる領域を指定するための部材である。マスク領域設定部73は、振動成分が除去される前の三次元データ上から基準平面を算出する基準とすることを禁止するマスク領域を設定するための部材である。補正モード選択部74は、振動推定部32bが、振動成分として、高さ方向の振動成分のみを推定する垂直振動補正モードと、高さ方向の振動成分に加えて、移動方向を中心とする回転振動成分を推定する回転振動補正モードのいずれかを選択するための部材である。
【0049】
演算部32は、例えばマイクロプロセッサ(MPU)やCPU、LSI、FPGAやASIC等のゲートアレイ、DSP等のハードウエアやソフトウエア、あるいはこれらの混在により実現できる。また必ずしも各構成要素が
図3に示した構成と同一でなくてもよく、その機能が実質的に同一であるもの、及び一つの要素が
図3に示す構成における複数の要素の機能を備えるものは、本発明に含まれる。
(振動補正機能)
【0050】
このようなスキャン型の画像検査装置100を用いて、ワーク搬送機構1で搬送されるワークWKの外観検査を行う。この様子を
図5の側面図に示す。この場合において、ワークWKをワーク搬送機構1で搬送する際に、振動が生じていると、高さ方向の計測データに誤差が生じる。例えばワーク搬送機構1としてベルトコンベヤやローラーコンベアなどを用いる場合、コンベアの凹凸によってワークWKが高さ方向に上下する。一例として、
図9に示すような振動のない平面を測定した三次元画像に対して、高さ方向(鉛直方向)に振動する平面を測定すると、
図10に示すように波打った形状に検出されてしまい、測定誤差が生じる。このように、振動が比較的大きいワーク搬送機構では、振動による変動が顕著となるため、従来、高精度な外観検査を行うには、振動を抑制した高価なワーク搬送機構や走査装置の導入が必要となり、画像検査装置の導入の障害となっていた。
【0051】
そこで本実施形態1に係る画像検査装置100では、高さの大まかな推定が可能な前提条件を与えることで、振動成分の推定を行い、推定された振動成分を減算することによって、振動が存在しない場合の高さデータの生成を行うことが可能となる。以下、ワークWKをヘッド部2に対して相対的に移動させる方向が直線状である直線スキャンの場合と、移動方向がワークWKの周囲を相対的に回転する回転方向である回転スキャンのそれぞれについて、説明する。
(直線スキャン)
【0052】
直線スキャンの場合は、
図5に示すように、ワーク搬送機構1で振動が発生していると、図において破線で示す正しい高さ成分に加えて、振動成分が計測値に加算されることになる。この振動成分は、各撮像時間毎に変化する。そのため異なるタイミングで撮像された二次元プロファイルは、異なる振動成分を持つ。
(回転スキャン)
【0053】
一方、回転スキャンの例を、
図6の断面図に示す。ここでは、棒状のワークWKを長さ方向(X軸方向)を中心に回転させて、表面をヘッド部2で測定する場合を考える。ここでは、回転する円弧方向をY軸、ワークWKとヘッド部2の距離をZ軸方向とする。ワークWKの回転軸が、ワーク断面形状である円の中心からずれていると、高さ方向(Z軸方向)に上下に変動することになる。
【0054】
以上のような座標位置(x,y)から、高さzを求める関数をモデル化すると、次式(1)で表せる。
【0055】
z(x,y)=Height(x,y)+Error(x,y)…式(1)
【0056】
上式において、z(x,y)は高さの測定値、Height(x,y)は実際の高さ、Error(x,y)は誤差、ここでは振動成分を、それぞれ表す。
(振動のモデル化)
【0057】
以上の振動Error(x,y)をモデル化する。ここで、ワークは剛体と見なす。またワークの断面を測定した一の二次元プロファイルは、ある一瞬の断面を測定している。また、振動のモデル化に際しては、高さ方向(Z軸方向)と、ワークの搬送方向(Y方向)の振動成分のみに着目し、これら以外の振動成分については除外する。そしてZ軸方向の垂直振動成分は、
図7に示すように、ワークWKの断面において高さ方向の変動であり、またY軸周りの回転振動成分は、
図8に示すように、搬送方向(Y軸方向)に沿った左右のゆれやぶれを対象とする。なお、一般的な振動では、回転振動成分の角度は小さく、回転によるX軸方向の座標ずれは無視できる程度に収まると考えられる。このようにして、振動成分の内、高さ方向の測定に与える影響が少ない成分を排除してモデル化することで、振動補正の処理を簡素化し、実装や導入を容易とできる。この結果、モデル化された振動成分は、次式(2)で表現できる。
【0058】
Error(x,y)=Offset(y)+RotTan(y)*x…式(2)
【0059】
上式において、Error(x,y)は誤差(振動成分)、Offset(y)はZ方向の振動成分、RotTan(y)はY軸周りの回転振動成分(正接)を、それぞれ表す。
(振動モデルのシミュレーション)
【0060】
上述した実施形態1に係る振動のモデル化に基づき、平面が振動を受けた場合のシミュレーション結果を、垂直振動の有無と回転振動の有無とで4パターンに分けて
図9〜
図12に示す。これらの図において、
図9、
図10は回転振動のないパターン、
図11と
図12は回転振動のあるパターンを示している。また
図9と
図11は垂直振動のないパターン、
図10と
図12は垂直振動のあるパターンを、それぞれ示している。なお、各図では一定周波数の正弦波でシミュレーションしている。現実の振動は、多少不規則になると思われる。このように、垂直振動成分や回転振動成分の有無によって、本来平面であるべき三次元形状に、凹凸が現れ、これが高さ測定の精度に影響を与える。そこで、振動補正部を用いて振動補正を行う。
(振動補正)
【0061】
上述した振動のモデル化の式(1)と式(2)を変形して、次式(3)が得られる。
【0062】
Height(x,y)= z(x,y)−Offset(y)−RotTan(y)*x…式(3)
【0063】
上式において、Height(x,y)は実際の高さ、z(x,y)は高さの測定値、Offset(y)はZ方向の振動成分、RotTan(y)はY軸周りの回転振動成分(正接)を、それぞれ表す。
【0064】
上式において、yの関数となっている振動成分を推定することができれば、高さ計測値から振動成分の悪影響を除去できる。
(振動推定)
【0065】
上述の通り、振動成分はyの関数となっていることから、二次元プロファイル毎に振動成分を求めればよい。振動成分を求める方法としては、主に以下の2つの方法が考えられる。
1.検査対象物に存在する平面を利用する方法(平面補正)
2.前後の二次元プロファイルから、対象の二次元プロファイルを推定する方法(等断面補正)
【0066】
前者の平面補正は、ワークに平面が存在する場合に適する。特に工業製品は平面が存在することが多いので、この方法が利用できる場面が多い。あるいは、ワークを載置するコンベアベルト等の背景の平面を利用することもできる。一方、後者の等断面補正は、ワークの断面が大きく変わらない場合に適している。例えばケーブルの断面を検査する場合に好適となる。
(1.振動推定:平面補正)
【0067】
平面補正は、ワークに存在する平面を利用し、これを基準高さ(基準平面)として補正する方法である。平面補正は、例えば基準高さ設定部32aにより行われる。基準高さ設定部32aは、二次元プロファイルを合成して得られた三次元データの立体形状から、画像処理によりワークの面状部分を抽出する。この様子を
図13A〜
図13Bに示す。これらの図において、
図13Aは、振動を有する検査対象物WK1の形状を示しており、振動を有するコンベアベルトや、この上に配置されたワークなどの入力高さ画像(入力プロファイル)を、また
図13Bは、
図13Aから算出した基準平面RPLを、それぞれ示している。基準高さ設定部32aは、まず
図13Aに示すように、ワークの搬送方向であるY軸方向に沿って、所定の間隔で二次元プロファイルをそれぞれ取得する。得られた二次元プロファイルを三次元データ生成部32dで合成することで、三次元データである高さ画像が得られる。
【0068】
次に、基準高さ設定部32aがこの高さ画像から、
図13Bに示すように、基準平面RPLを演算する。三次元の高さ画像から基準平面RPLを抽出する手法は、既知の手法やアルゴリズムを利用できる。例えば、RANSAC(RANDdom SAmple Consensus)や、外れ値除外付き最小二乗法等が利用できる。
【0069】
このようにして得られた基準平面RPLに基づいて、Y軸方向に沿った二次元プロファイルの撮像位置毎に基準平面RPLの位置を検出する。ここでは、基準平面RPLと二次元プロファイルとが交差する基準平面RPL上のプロファイルである基準直線RPRを算出する。そして基準平面RPL上の基準直線RPRと、二次元プロファイルとの差分から、振動推定部32bが振動成分を推定する。振動成分の推定は、二次元プロファイル毎に行う。そして、推定された振動成分をプロファイル補正部32cが各二次元プロファイルから除去して、振動成分除去後の二次元プロファイルを用いて、再度三次元データが構築される。これにより、測定値から振動成分を除去された高さ画像が得られる。
(2.振動推定:等断面補正)
【0070】
一方、等断面補正は、隣接する二次元プロファイルから、ワークの二次元プロファイルを推定する方法である。この様子を、
図14A〜
図14Bに基づいて説明する。これらの図において、
図14Aは、
図13Aと同じく高さ方向に振動するワークWK2の入力高さ画像(入力プロファイル)を示しており、ケーブルのような断面形状がほぼ等しいワークWK2を撮像して得られた三次元データである。この入力高さ画像も、上述した
図13Aと同様に、ワークの搬送方向であるY軸方向に沿って、所定の間隔でそれぞれ取得された二次元プロファイルを三次元データ生成部32dで合成して得られる。
【0071】
この入力高さ画像から、
図14Bに示すような基準曲面RROを基準高さ設定部32aでもって抽出する。そして、得られた基準曲面RROに基づいて、Y軸方向に沿った二次元プロファイルの撮像位置毎に、基準曲面RRO等断面と二次元プロファイルとが交差する基準曲線REPを算出する。そして基準曲線REPと、入力プロファイルとの差分から、振動推定部32bが振動成分を推定する。そして、推定された振動成分をプロファイル補正部32cが除去して、高さ画像に反映させる。これにより、測定値から振動成分を除去された高さ画像が得られる。
(振動補正機能の処理フロー)
【0072】
次に、上述した振動補正機能を用いて、ワークを撮像して得られた高さデータに対して、振動補正機能を適用する場合のデータの処理の流れを
図15の処理フローに示す。この図に示すように、ヘッド部で得られた、振動補正前の高さデータから、振動補正のための基準高さ(例えば基準平面、基準等断面、基準曲面)を基準高さ設定部32aで算出する。これによって得られた基準平面RPL上の基準直線RPRや基準曲線REPを、元の振動補正前の高さデータと比較して、プロファイル毎に振動成分を推定し、補正して、振動補正後の二次元プロファイルを合成することで、振動補正後の高さデータが得られる。
【0073】
このようにして、得られた三次元データから、振動成分を除去できる。除去する振動成分は、上述した平面補正や等断面補正においては高さ方向(Z軸方向)に補正している。ただ、これに限らず、高さ方向に加えて、あるいはこれに代えて回転方向(Rx軸方向)の振動補正を加えてもよい。
(高さ範囲指定部71)
【0074】
ここで振動成分の除去に際しては、本来的にワークが有する凹凸形状が損なわれないようにする必要がある。そこで、振動とみなす高さ範囲Dを規定し、この範囲外の高低差については振動として扱わず、振動補正の対象外とすることで、このようなワーク本来の形状を損なえることを回避する。高さ範囲Dの設定は、
図3の高さ範囲指定部71から行う。ユーザが振動の振幅が高さ範囲D内に収まるように、高さ範囲指定部71からから高さ範囲Dを指定する。これにより、ワークの凹凸の高低差よりも振幅が小さい振動を効果的に除去できる。例えば
図16Aに示すような、振動を有するワークの高さ画像(振動補正機能OFF)に対して、振動補正機能をONすることで、
図16Bに示すように、振動成分に起因する波状の凹凸のみを排除し、ワーク本来が有する突起(図において右下)は維持することが可能となる。なお高さ範囲Dは、ユーザに指定させる他、三次元画像検査装置側で予め既定値として設定してもよい。高さ範囲Dとして、検査対象の状況や目的に応じて例えば0.01mm〜2mm、0.05mm〜1mm、0.1mm等に設定する。
(三次元データから振動成分を除去する手順)
【0075】
ここで、三次元データから振動成分を除去する手順を、
図17A〜
図17Gに基づいて詳細に説明する。まず、
図17Aに示すような、振動成分を含むワークWK3の三次元データを、
図3の三次元データ生成部32dで生成する。このワークWK3は、中央部分にかまぼこ状の突起を設けている。次に、この三次元データから、高さ範囲指定部71で設定された高さ範囲Dに含まれるデータを抽出する。この結果、
図17Bに示すように、ワークWK3の中央に設けられた凸状が排除された三次元データが得られる。このように、高さ範囲Dを外れた点については、基準平面の算出の基礎としないことで、ワークの表面の凹凸形状に影響を受けずに正確な基準平面が算出される。
【0076】
さらにこの三次元データに対して、基準高さ設定部32aが基準平面の推定を行う。この結果、
図17Cに示すような基準平面が得られる。この図に示すように、基準平面はデータが抽出された範囲のみならず、全体に設定される。
【0077】
次いで、各二次元プロファイル毎に振動成分の推定を行う。ここでは、
図17Aの三次元データ中から、二次元プロファイルを生成した位置(
図17Aにおいて太線で示す位置)毎に、対応する基準平面上の位置(
図17Cにおいて太線で示す位置)における基準直線RPRを抽出して、
図17Dに示すように、二次元プロファイルを構成する点の内で、基準直線RPRに近い点を用いて、振動成分を推定する。ここでは、基準直線RPRから所定の距離dだけ離れた範囲内に含まれる二次元プロファイルの点を、振動推定部32bでもって抽出して、ワークWK3のプロファイル点WPPを演算する(
図17Dにおいて細線で示す)。
【0078】
このようにして得られたプロファイル点WPPと基準直線RPRとの差分を、振動成分VIBとして振動推定部32bで演算する。この結果、
図17Eに示すように、三次元データ中の一の断面における振動成分が演算される。そして、
図17Fに示すように、同様の演算を二次元プロファイル毎に演算して、最後に各二次元プロファイルの振動成分を、
図17Aの振動成分を含む三次元データから、二次元プロファイル単位で減算して三次元データを再構成することで、
図17Gに示すように振動成分を除去した振動補正後の三次元データ、例えば高さ画像を得ることが可能となる。
【0079】
このように、基準平面の算出においては、高さ範囲Dの範囲内で二次元の平面をワークWK3の平面領域に対してフィッティングさせ、一方、ワークWK3のプロファイル点WPPの算出においては、基準平面を示す基準直線RPRから所定の距離d以内にあるワークWK3の平面状の部位を示すプロファイル点WPPを、一次元でフィッティングしている。ここで、高さ範囲Dと所定の距離dは、同じ値とすることもできる。これにより、フィッティング処理を簡素化できる。ただ、二次元の基準平面のフィッティングの高さ範囲Dと、一次元のプロファイル点WPPの所定の距離dとで、異なる値を設定することもできる。
【0080】
一方、等断面補正についても同様に、
図18Aに示すような、半円状のほぼ等断面が続くワークWK4の二次元プロファイル2DPに対して、ワークWK4の搬送方向(Y軸方向)に平均化フィルタをかけて、
図18Bに示す基準プロファイルREFPを作成する。いいかえると、基準プロファイルREFPはY軸方向に隣接する二次元プロファイル2DPを平均化して得られる。ここで用いる平均化フィルタのサイズは、振動の大きさよりも大きくする。このようにして得られた基準プロファイルREFPを基準曲線REPとして、距離的に近い二次元プロファイル2DPの点を、振動推定部32bでもって抽出し、
図19に示すように、抽出された断面上測定点CPPと、基準曲線REPとの差分から、振動推定部32bでもって振動成分を推定する。
【0081】
なお、基準平面等の基準高さを、基準高さ設定部32aで設定するにあたり、ワーク上の凹凸を除外するための高さ範囲は、表示部に表示される設定画面から直接ユーザに数値で入力させる構成の他、高さ範囲の設定の目安となる指標を与えるように構成してもよい。例えば
図20に示すような、ワークの高さの値の分布を示すヒストグラムを表示部に表示させる。ここでは
図17のワークWK3について、ヒストグラムを示している。ワークWK3中の平面状の領域の高さ値は、カウント値が大きいと思われるので、ピークの集合(第一ピーク集合PK1)となって現れる。一方、ワークWK3上の凹凸部分は、第一ピーク集合PK1よりも高い位置に、別のピーク(第二ピーク集合PK2)となって現れるので、これらのピーク同士の間の距離d2よりも小さい値に高さ範囲dを設定することにより、ワークWK3の凹凸部分を除外して基準高さを設定できるようになる。
【0082】
なお、高さ範囲の指定は、高さ範囲指定部71からユーザが手動で行う他、自動的に設定させることもできる。例えば高さの値の分布を示すヒストグラムにおいて、最も多くの高さ値を示す領域を、基準高さとして設定し、この基準高さに対する標準偏差に基づいて、高さ範囲を自動的に高さ範囲指定部等で演算、指定するようにしてもよい。
(三次元データの補正方法)
【0083】
以上説明した、補正前の振動成分を含む三次元データから、振動成分を除去した補正後の三次元データを得る手順を、
図21のデータフローダイヤグラムに基づいて説明する。まず、得られた二次元プロファイルから、振動成分を含む補正前の三次元データを三次元データ生成部32dで生成する。次に、得られた三次元データから、基準高さ設定部32aでもって平面を推定する。さらに基準平面に基づいて、振動推定部32bが二次元プロファイル毎に振動の推定を行う。さらに必要に応じて振動推定部32bが、振動の推定結果を補完処理し、フィルタリングする。このようにして振動の推定結果が得られると、プロファイル補正部32cでもって補正前の三次元データから振動成分を除去し、振動成分を含まない補正後の三次元データが得られる。
(フィルタ処理)
【0084】
上述した平面補正による振動推定方法では、得られた二次元プロファイル中に平面成分が存在することが前提となる。この振動推定方法では、得られた二次元プロファイル中に良質な平面成分が存在しない場合は、振動を推定しようとしても不安定な結果となってしまう。そこで、直線フィッティング度が悪い二次元プロファイルは、時間的に前後するタイミングで取得された隣接する二次元プロファイルの振動推定結果を用いて、基準高さ設定部32aで補間することができる。さらに、メディアンフィルタやガウシアンフィルタ、平均化フィルタや周波数フィルタを用いて、結果を安定化させることもできる。このようなフィルタ処理によって、二次元プロファイルを画像処理する例を
図22に示す。この図に示すように、部分的に大きな振動やノイズ等が生じた二次元プロファイルに対して、これらをフィルタ処理により均した上で、基準高さ設定部32aで平面成分を抽出することができる。また、平均値から大きく外れた値はノイズ等の異常値として除去するように、前処理を施してもよい。
(基準平面指定部72)
【0085】
また、基準高さ設定部32aが基準平面を自動的に算出する構成の他、ユーザが、基準平面となる領域を手動で指定するように構成することもできる。このような指定は、
図3に示す基準平面指定部72にて行う。例えば、基準高さ設定部32aがワークWKの全体から基準平面となる領域を自動で抽出する際、複数の平面がある場合や、よい平面が存在しない場合には、基準平面の抽出が適切に行われず、外観検査が不安定化することが考えられる。そこで、基準平面としての使用に足る領域をユーザが直接指定することにより、このような事態を回避して、外観検査の安定化を図ることができる。例えば
図23に示すような凹凸を有するワークWKに対して、ユーザがマウスなどのポインティングデバイスを用いて、表示部6の三次元データ表示領域6bに表示された三次元データである高さ画像に対して、凹凸を避けて安定した平面を基準平面として指定する。基準高さ設定部32aは、ユーザに指定された領域を基準平面として、基準高さを取得する。
【0086】
なお、基準平面をユーザが直接指定する他、基準平面を抽出する領域を指定するように構成してもよい。例えば、三次元データ表示領域6bに表示された三次元データである高さ画像中から、凹凸のような基準平面に適さない領域を避けて指定された一又は複数の領域を、基準平面の候補領域として、基準高さ設定部32aが、指定された候補領域中から基準高さを設定する。例えば、指定された領域の平均高さを基準高さとする。この方法でも、同様に安定的な基準平面や基準高さの設定が見込まれ、外観検査の精度向上に寄与し得る。
(マスク領域設定部73)
【0087】
あるいは逆に、基準平面として使用しない領域をユーザに指定させてもよい。例えば
図3の画像検査装置100は、マスク領域設定部73を備えており、マスク領域設定部73でもって、三次元データ表示領域6bに表示された三次元データである高さ画像に対して、基準平面を算出する基準とすることを禁止するマスク領域を指定する。これにより、基準平面や基準高さを得るための領域から、例えばワークWKの凹凸部分や、振動が生じ易い領域を排除するなど、ワークWKや検査目的に応じた柔軟な設定が可能となる。
(補正モード選択部74)
【0088】
上述した振動推定部32bによる振動のモデル化は、垂直振動と回転振動の2つを含めている。ここで、画像検査の多くの場合は垂直振動が主成分であって、回転振動は行わなくとも精度上問題ないことも多々ある。その一方で、垂直振動の推定に加えて回転振動の推定を行うと、振動の推定結果が安定しないことがある。例えば
図24に示すように、二次元プロファイルの生成に際して4点が検出された例において、回転振動の推定を行うため直線でフィッティングを行うと、図において直線で示すような基準平面が抽出される。これに対して、垂直振動の推定のみを行うよう水平な直線でフィッティングを行うと、
図25において直線で示すような基準平面が抽出され、振動推定結果が安定する。そこで、振動推定部32bが振動成分を推定する際に、高さ方向の振動成分のみを推定する垂直振動補正モードと、高さ方向の振動成分に加えて、移動方向を中心とする回転振動成分を推定する回転振動補正モードのいずれかを選択できるようにすることで、回転振動成分の補正をOFFすることが可能となり、外観検査を安定させることができる。このような補正モードの選択は、
図3に示す補正モード選択部74にて行う。これにより、回転振動成分を補正すると外観検査が不安定になる場合には、垂直振動成分のみを補正することで安定させることができる。
【0089】
さらに振動の推定に際しては、ワークWKの表面形状に凹凸が存在する場合に、これらの凹凸により影響を受ける場合がある。例えば
図26に示すように、断面視において凸条を有するワークWKに対して基準平面を基準高さ設定部32aで自動設定する際、得られた二次元プロファイルの各点に対して、実際のワーク形状でなく振動により上下動したものと捉えられ、これらの点を平均化して平面となるように補正しようとする結果、基準平面が実際のワークWKの面よりもずれてしまうことが考えられる。そこで、ワークの本来の形状の凹凸の高低差よりも、振動成分の振幅が小さいとの前提に立ち、ワークの凹凸の高低差と、振動成分による変動とを区別するための高さ範囲を指定し、高低差の大きいデータは無視又は影響を低減して基準平面を設定する。このようにして予め高さ方向の高低差を指定することで、ワークが本来的に有する凸凹等、ワークの形状の有無による基準高さの算出への影響を低減できる。この結果、
図27に示すように振動成分に起因しない、ワーク本来の形状を示す二次元プロファイルの点を排除して、正確な振動成分の推定が可能となる。一例として、基準平面を抽出する対象となる基準領域として、画像全体を指定した場合に、高さ範囲を設定しない、あるいは広く設定したときの、基準平面を自動抽出して振動推定部32bで推定された振動成分を、プロファイル補正部32cで除去して得られた高さ画像の例を
図28に、また高さ範囲を狭く指定して、同様に基準平面を自動抽出し振動成分をプロファイル補正部32cで除去して得られた高さ画像の例を
図29に、それぞれに示す。これらの図の対比から明らかなとおり、
図29において矢印で示す部位のワーク表面の凹凸が、
図29では維持されているのに対し、
図28では失われており、高さ範囲の設定によってワークWKの形状を維持できることが判る。
【0090】
画像検査装置100は、
図3に示すように、二次元プロファイルの内で、基準高さ設定部32aが基準高さの算出に用いるデータとして、高さ方向の高低差を指定するための高さ範囲指定部71を備えている。これにより、基準高さ設定部32aが、二次元プロファイルの内、高さ範囲指定部71で指定された高さ範囲内のデータに基づいて基準高さを設定する。なお高さ範囲は、振動成分として検出するための許容誤差と捉えることもできる。すなわち、許容誤差を広く設定すると、大きな振動成分でも補正できるものの、ワークの細かな凹凸の影響を受けることとなる。一方で許容誤差を小さく設定することで、このようなワークの凹凸の影響を受け難くできる。このように、振動成分の振幅のサイズに応じて、許容誤差として高さ範囲を設定する。
(重み付け処理)
【0091】
なお、高さ範囲指定部71で指定された高さ範囲を外れたデータは、一律に無視して基準平面を設定する構成の他、重み付けを設定してもよい。例えば、二次元プロファイルを構成する点の高さが、高さ範囲指定部71で指定された高さ又は高さ範囲から離れるほど、重み付けが軽くなるように、あるいは指定された高さ又は高さ範囲に近付くほど、重み付けが重くなるように、各データの高さが指定された高さ等からどれだけ離れているかに従って、重み付けを変化させる。あるいは、高さ範囲指定部71で指定された第一高さ範囲内のデータは、重み付け100%とし、第一高さ範囲よりも広い第二高さ範囲内のデータは、高さに応じて重み付けを変化させるよう、段階的に重み付けを変更してもよい。さらに、第二高さ範囲を外れたデータは、排除するように設定してもよい。
【0092】
また、基準平面の抽出においては、上述した所定範囲外の値を除去又は影響を低減する方法の他、最小二乗法やRANSAC(RANDdom SAmple Consensus)といった、局所的な特徴量の対応付けに用いられる既知の方法を単独又は組み合わせて適用することもできる。
【0093】
さらに、物理的な振動の計測に用いられる振動計を用いて振動成分を計測し、計測された値でもって振動成分を特定し、プロファイル補正部32cでもって二次元プロファイルから除去するよう構成してもよい。
【0094】
さらにまた、基準高さ設定部32aは、振動成分が除去される前の三次元データに基づいて、基準平面を設定する構成とする他、三次元データを構成する前の二次元プロファイルに基づいて、基準平面を設定してもよい。特に、上述の通り回転振動成分の補正は、考慮しなくてもよい場面も多いため、任意のY軸方向の位置、またはユーザが指定する位置の二次元プロファイルに基づいて、
図27に示したような基準平面の抽出が可能となる。
【0095】
あるいはまた、振動成分が除去される前の三次元データから、基準平面を設定した後、改めて振動成分を除去した三次元データを三次元データ生成部32dで生成する際は、プロファイル補正部32cでもって三次元データを構成する二次元プロファイル毎に振動成分を除去する構成の他、プロファイル補正部32cが、振動成分を含む三次元データのプロファイルに対して、直接振動成分のプロファイルを除去して、三次元データを補正することもできる。
【0096】
また、以上の例では、三次元データから基準平面を算出する例を説明したが、基準高さ設定部32aは、基準平面に限らず、例えば
図27に示したような線状の基準線を基準高さとして設定することもできる。この場合、振動推定部32bは、基準高さとして基準線と、二次元プロファイルの各点の高さとの差から、振動成分を抽出する。あるいは、基準高さとして面状や線状に代えて、点状を用いることもできる。この場合は、基準高さとして三次元データ上、あるいは二次元プロファイル上の一点または複数の点を基準点として基準高さ設定部32aで設定し、この基準点に従って、振動推定部32bが、基準点と二次元プロファイルの各点の高さとの差から、振動成分を抽出する。
【0097】
以上のようにして、画像検査装置は、光切断方式でワークを走査する場合に、三次元データから振動成分を補正して、振動成分を除去した高さ情報を取得できる。このようにして、補正前の三次元データから、振動成分を除去した補正後の三次元データの例を、
図30〜
図47の高さ画像のイメージ図に示す。これらの図において、
図30は、中間部分に突起を2箇所有する平面状のワークを撮像した補正前の高さ画像、
図31は
図30に対して振動成分を除去した補正後の高さ画像である。このように、補正前の高さ画像においては、振動成分に起因する波状のパターンが生じていたところ、補正後の高さ画像においてはこの波状のパターンが除去された平面が得られていることが確認された。また、突起部分は正しく維持されていることが確認された。
【0098】
次に
図32は、搬送方向(Y軸方向)に沿ってリブ状の突起を有するワークを撮像した補正前の高さ画像を、
図33は
図32から振動成分を除去した補正後の高さ画像を、それぞれ示している。このように、振動成分に起因する波状のパターンが除去される一方で、ワークの凸状は保持されており、振動成分のみが正しく除去されたことが確認された。
【0099】
さらに
図34は、傷を有するワークの補正前の高さ画像を、
図35は
図34から振動成分を除去した補正後の高さ画像を、それぞれ示している。このように、振動成分に起因する波状のパターンを正しく除去しながら、傷の形状が維持され、このような傷の外観検査が正しく行われることが確認された。
【0100】
さらに
図36は、途中で衝撃が加わり、この部位に段差が生じた補正前の高さ画像を、
図37は
図36から振動成分を除去した補正後の高さ画像を、それぞれ示している。このように、突発的に生じた振動も、振動補正機能によって正しく除去されていることが判る。
【0101】
さらにまた
図38は、部分的に突起を有するワークを斜めに配置した補正前の高さ画像を、
図39は
図38から振動成分を除去した補正後の高さ画像を、それぞれ示している。このように、平面の傾斜姿勢を維持し、かつ突起も維持したまま、振動成分に起因する波状のパターンのみを正しく除去可能であることが確認できた。
【0102】
さらに
図40は、同様に突起を有するワークの補正前の高さ画像を、
図41は
図40から振動成分を除去した補正後の高さ画像を、それぞれ示している。このように、振動成分が均一でなく、部分的に振幅が異なるような場合であっても、このような振動成分のみを正しく除去できることが確認できた。
【0103】
さらに
図42は、同様に突起を有するワークの補正前の高さ画像を、
図43は
図42から振動成分を除去した補正後の高さ画像を、それぞれ示している。ここでも、振動成分が均一でなく、そのピッチが異なる上、凹凸の高さも部分的に異なるような不均一な振動成分であっても、このような振動成分のみを正しく除去できることが確認できた。
【0104】
さらに
図44は、平面上にねじ頭とピンポン球を配置したワークの補正前の高さ画像を、
図45は
図44から振動成分を除去した補正後の高さ画像を、それぞれ示している。このように、ワーク中に高さの大きく異なる部位が存在する場合であっても、これらワークの凹凸形状は維持しつつ、形状を振動成分のみを正しく除去できることが確認できた。
【0105】
以上は、垂直な振動成分を除去する例について説明した。最後に、回転振動成分を除去する例を
図46及び
図47に示す。これらの図において
図46は、ケーブル状のワークを周囲に沿って撮像した補正前の高さ画像を、
図47は
図46の補正後の高さ画像を、それぞれ示している。これらから、
図47において水平方向に離間して現れる振動成分を、補正によって除去できることが確認された。
【0106】
このようにして、高価な防振用の機構や、ワークのクランプ機構を導入することなく、演算によって容易に振動成分を除去することができる。この結果、画像検査装置の導入にあたり障壁となっていた、費用や工数の問題を低減することが可能となる。
【0107】
また、基準高さ設定部は、ワーク毎に基準高さを個別に演算している。すなわち、ワークが新たに搬送されると、このワークの二次元プロファイルや高さ画像が取得されるので、このような三次元データ等の更新に合わせて、基準高さも更新される。この際、以前に用いた基準高さを参照して基準高さを変化させるように構成してもよい。特に、似たような形状のワークが順次入力されるような態様においては、毎回基準高さを演算する他、差分のみを演算するようにして、処理を簡素化することもできる。
【0108】
さらに振動推定部は、取得された二次元プロファイルに対して振動成分を推定する他、一又は複数枚の二次元プロファイルを飛ばして、インターレース方式により隣接しない、離散的に位置する二次元プロファイルに対して振動成分を推定し、これらの間については振動成分を演算せず、補間により補正データを生成して対応するよう構成してもよい。このような構成によって、処理時間を高速化することが期待できる
【0109】
以上、画像検査装置として、
図4に示したように光切断方法で得られた二次元プロファイル画像を合成した高さ画像を用いた例を説明した。ただ本発明は、高さ画像を取得する方法を、この方法に限定するものでなく、高さ情報を取得可能な既知の方法を適宜採用できる。例えば三角測量の原理を使用した方法としては、光切断方法の他、縞投影画像、位相シフト法、空間コード化法、ランダムパターン投影法等が挙げられる。また三角測量の原理以外を用いた、非接触のアクティブな三次元計測方法としては、タイムオブフライト(Time Of Flight:TOF)法、共焦点法等が利用できる。あるいは、非接触のパッシブな三次元計測方法としては、ステレオ法(キャリブレート済みステレオ法やフォトグラメトリ)、レンズ焦点法などの焦点法が挙げられる。
(ヘッド搬送機構)
【0110】
また以上の例では、
図1や
図2に示すようにカメラであるヘッド部2(正確には検出部22)側を固定し、ワークWKをワーク搬送機構1で搬送し、ヘッド部2とワークWKを相対的に移動させる構成においてワークWKの外観検査を行う例を説明した。ただ、本発明はこの構成に限らず、ヘッド部側を走査させることもできる。例えば
図48に示す実施形態2に係る画像検査装置200のように、ワークWK側を静止させ、ヘッド部2’をヘッド搬送機構1BでもってワークWKに対して相対的に移動させ、ワークWKの表面を走査することで、ワークWKの二次元プロファイルを順次取得し、三次元データを合成することもできる。このような移動形態においても、ヘッド搬送機構1Bに振動が発生し、これが外観検査の精度に影響を与えることがあるので、同様の方法で振動の推定と補正が適用できる。また、ワークは必ずしも固定する必要はなく、ワークも搬送させつつ、ヘッド部側も走査させるように構成してもよい。このように本発明は、ワークとヘッド部の検出部とが、相対的に移動される構成に対して、振動成分を推定、除去するために適用できる。