(57)【特許請求の範囲】
【請求項１】
被検査物の形状を検査する形状検査装置であって、
制御部と、
被検査物にスリット光を投射する投射手段と、
前記スリット光の走査により被検査物上に順次形成される形状線を撮像する撮像手段と、
前記順次形成された各形状線の撮像データに基づいて、被検査物の三次元形状を点群データとして取得する点群データ取得手段と、
前記形状線が延びる方向の直線に沿ったベクトルを形状線ベクトル、前記形状線ベクトルの始点から垂直に立ち上がる垂直ベクトルの周りに前記形状線ベクトルをπ／２回転させたベクトルを高さベクトル、前記点群データ中の隣接する２点を繋ぐ線分のベクトルを線分ベクトルとしたときに、
前記線分ベクトル及び前記形状線ベクトルで作る平行四辺形について、前記線分ベクトルと前記形状線ベクトルの外積により正負を区別した面積、又は前記線分ベクトル、前記形状線ベクトル及び前記高さベクトルで作る平行六面体について、前記外積と前記高さベクトルの内積により正負を区別した体積を算出する面積・体積算出手段と、
前記面積又は前記体積を階調値に階調化する階調化手段と、
前記階調値に対応する前記点群データの度数分布を算出する度数分布算出手段と、
前記被検査物の境界を検出する境界検出手段とを備えており、
前記境界検出手段は、前記度数分布において、前記制御部により決定した前記境界が含まれる範囲の中から前記境界を検出することを特徴とする形状検査装置。
【請求項２】
前記境界検出手段は、前記境界が含まれる範囲とこれ以外の範囲とを２階調に２値化し、前記被検査物の２値化画像を出力する請求項１に記載の形状検査装置。
【請求項３】
被検査物の形状を検査する形状検査方法であって、
被検査物にスリット光を投射し、
前記スリット光の走査により被検査物上に順次形成される形状線を撮像し、
前記順次形成された各形状線の撮像データに基づいて、被検査物の三次元形状を点群データとして取得し、
前記形状線が延びる方向の直線に沿ったベクトルを形状線ベクトル、前記形状線ベクトルの始点から垂直に立ち上がる垂直ベクトルの周りに前記形状線ベクトルをπ／２回転させたベクトルを高さベクトル、前記点群データ中の隣接する２点を繋ぐ線分のベクトルを線分ベクトルとしたときに、
前記線分ベクトル及び前記形状線ベクトルで作る平行四辺形について、前記線分ベクトルと前記形状線ベクトルの外積により正負を区別した面積、又は前記線分ベクトル、前記形状線ベクトル及び前記高さベクトルで作る平行六面体について、前記外積と前記高さベクトルの内積により正負を区別した体積を算出し、
前記面積又は前記体積を階調値に階調化し、
前記階調値に対応する前記点群データの度数分布を算出し、
前記度数分布において、前記被検査物の境界が含まれる範囲を決定し、
前記境界が含まれる範囲の中から前記境界を検出することを特徴とする形状検査方法。
【請求項４】
前記境界が含まれる範囲とこれ以外の範囲とを２階調に２値化し、前記被検査物の２値化画像を出力する請求項３に記載の形状検査方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被検査物にスリット光を照射して得られる三次元形状の点群データに基いて、被検査物の表面に形成される形状線における断面形状を検査する形状検査装置及び形状検査方法に関する。
【背景技術】
【０００２】
被検査物にスリット光を照射して被検査物の形状を検査する検査装置が知られている。このような検査装置においては、スリット光照射により被検査物の表面に形成される形状線を撮像し、この形状線における断面形状を求めることができ、この断面形状に基いて被検査物の形状を検査することができる。
【０００３】
また、被検査物の表面にスリット光を走査することにより得られる点群データから、走査範囲内の各形状線における断面形状を使用して被検査物の高さ、幅の算出もできる。例えば、下記特許文献１には、溶接部及びその周辺部の表面形状を近似するポリラインを作成し、このポリラインの折れ角度に基づき、数値の演算を行って溶接品質を判定することが提案されている。この溶接品質判定方法によれば、溶接品質の良否の判定の結果を定量的に、かつ自動的に取得することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２１５８３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、実際にはスリット光を走査することにより得られる点群データには被検査物の表面状態によるノイズ誤差が含まれており、溶接部とワーク板部の境界がなだらかな場合には、ポリラインの折れ角度は小さくなるため、ノイズ誤差が含まれる点群から作成されたポリラインでは、正しい境界を精度良く安定して検出するのが困難であるという問題があった。
【０００６】
本発明は、前記のような従来の問題を解決するものであり、検査部位と背景部位の境界がなだらかである場合やノイズが含まれる場合でも、安定して正確な境界の検出を行うことができる形状検査装置及び形状検査方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
前記目的を達成するために、本発明の形状検査装置は、被検査物の形状を検査する形状検査装置であって、制御部と、被検査物にスリット光を投射する投射手段と、前記スリット光の走査により被検査物上に順次形成される形状線を撮像する撮像手段と、前記順次形成された各形状線の撮像データに基づいて、被検査物の三次元形状を点群データとして取得する点群データ取得手段と、前記形状線が延びる方向の直線に沿ったベクトルを形状線ベクトル、前記形状線ベクトルの始点から垂直に立ち上がる垂直ベクトルの周りに前記形状線ベクトルをπ／２回転させたベクトルを高さベクトル、前記点群データ中の隣接する２点を繋ぐ線分のベクトルを線分ベクトルとしたときに、前記線分ベクトル及び前記形状線ベクトルで作る平行四辺形について、前記線分ベクトルと前記形状線ベクトルの外積により正負を区別した面積、又は前記線分ベクトル、前記形状線ベクトル及び前記高さベクトルで作る平行六面体について、前記外積と前記高さベクトルの内積により正負を区別した体積を算出する面積・体積算出手段と、前記面積又は前記体積を階調値に階調化する階調化手段と、前記階調値に対応する前記点群データの度数分布を算出する度数分布算出手段と、前記被検査物の境界を検出する境界検出手段とを備えており、前記境界検出手段は、前記度数分布において、前記制御部により決定した前記境界が含まれる範囲の中から前記境界を検出することを特徴とする。
【０００８】
本発明の形状検査方法は、被検査物の形状を検査する形状検査方法であって、被検査物にスリット光を投射し、前記スリット光の走査により被検査物上に順次形成される形状線を撮像し、前記順次形成された各形状線の撮像データに基づいて、被検査物の三次元形状を点群データとして取得し、前記形状線が延びる方向の直線に沿ったベクトルを形状線ベクトル、前記形状線ベクトルの始点から垂直に立ち上がる垂直ベクトルの周りに前記形状線ベクトルをπ／２回転させたベクトルを高さベクトル、前記点群データ中の隣接する２点を繋ぐ線分のベクトルを線分ベクトルとしたときに、前記線分ベクトル及び前記形状線ベクトルで作る平行四辺形について、前記線分ベクトルと前記形状線ベクトルの外積により正負を区別した面積、又は前記線分ベクトル、前記形状線ベクトル及び前記高さベクトルで作る平行六面体について、前記外積と前記高さベクトルの内積により正負を区別した体積を算出し、前記面積又は前記体積を階調値に階調化し、前記階調値に対応する前記点群データの度数分布を算出し、前記度数分布において、前記被検査物の境界が含まれる範囲を決定し、前記境界が含まれる範囲の中から前記境界を検出することを特徴とする。
【０００９】
前記本発明の形状検査装置及び形状検査方法によれば、点群データ中の隣接する２点を繋ぐ線分ベクトルについて、線分ベクトル自体の傾斜を検出しながら被検査物の境界を検出するのではなく、線分ベクトルを正負を区別した面積又は体積に変換し、これを階調化し、階調値の分布に基づいて境界の含まれる範囲を検出した上で境界を検出することになる。線分ベクトルを面積又は体積に変換することにより、線分ベクトルの傾斜が小さいなだらかな境界であっても、線分ベクトルの傾きが強調され、安定して正確な境界の検出を行うことができる。
【００１０】
また、面積又は体積を階調化し、階調値の分布に基づいて境界の含まれる範囲を検出した上で境界を検出することより、ノイズを除去するフィルタ処理を行った上で境界を検出することができ、この点においても安定して正確な境界の検出を行うことができる。
【００１１】
さらに、本発明における階調化は、線分ベクトルに基づく面積又は体積に基づいており、光の光量によるものではないので、光源の強度、向きにより影響を受けることはなく、このことも安定して正確な境界の検出に有利になる。
【００１２】
前記本発明の形状検査装置においては、前記境界検出手段は、前記境界が含まれる範囲とこれ以外の範囲とを２階調に２値化し、前記被検査物の２値化画像を出力することが好ましく、前記本発明の形状検査方法においては、前記境界が含まれる範囲とこれ以外の範囲とを２階調に２値化し、前記被検査物の２値化画像を出力することが好ましい。これらの構成によれば、被検査物の２値化画像を見ながら、境界が含まれる範囲の設定を適宜変更して、同範囲を最適な範囲に設定することができる。
【発明の効果】
【００１３】
本発明の効果は前記のとおりであり、要約すれば、本発明によれば、点群データ中の隣接する２点を繋ぐ線分ベクトルを正負を区別した面積又は体積に変換し、これを階調化し、階調値の分布に基づいて境界の含まれる範囲を検出した上で境界を検出することにより、線分ベクトルの傾きが強調され、安定して正確な境界の検出を行うことができることに加え、ノイズを除去するフィルタ処理を行った上で境界を検出することができ、この点においても安定して正確な境界の検出を行うことができる。さらに、本発明における階調化は、光の光量によるものではないので、光源の強度、向きにより影響を受けることはなく、このことも安定して正確な境界の検出に有利になる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態に係る形状検査装置の概略図。
【図２】本発明の一実施形態において、被検査物をレーザ光源からのスリット光で走査している様子を示す斜視図。
【図３】図２の形状線の点群データを表示した図。
【図４】形状線において、点同士を繋いで得られる折れ線の一部分を拡大した図。
【図５】本発明の一実施形態に係る形状検査のプロセスを示すフローチャート。
【図６】本発明の一実施形態において、被検査物をスリット光で走査した後の状態を示した斜視図。
【図７】図６に示した形状線のうち、１本分の形状線の点群データの一部を示した図。
【図８】本発明の一実施形態において、隣接する一対の点を抜き出して平行六面体を形成したときの拡大図であり、平行六面体の体積が正の値となるときの図。
【図９】本発明の一実施形態において、隣接する一対の点を抜き出して平行六面体を形成したときの拡大図であり、平行六面体の体積が負の値となるときの図。
【図１０】本発明の一実施形態において、体積Ｖと階調値Ｇとの関係を示した図。
【図１１】本発明の一実施形態において、横長の溶接ビードが形成された被検査物の濃淡画像を示した図。
【図１２】図３（ｃ）に示した形状線の点群の拡大図。
【図１３】本発明の一実施形態において、階調値Ｇと度数（画素数）との関係を示した分布図。
【図１４】図１３に示した分布図に係る被検査物について二値化処理を実施後の画像を示した図。
【発明を実施するための形態】
【００１５】
以下、本発明の一実施形態について図面を参照しながら説明する。本実施形態では、本発明を溶接ビードの形状検査の例で説明するが、検査対象はこれに限るものではなく、各種形状の検査に用いることができる。例えば、樹脂成形品の検査に用いてもよく、航空機の機体の検査に用いてもよい。また、医療分野の検査に用いてもよく、例えば骨の検査に用いることもできる。
【００１６】
図１は、本発明の一実施形態に係る形状検査装置１０の概略図である。形状検査装置１０は、ケース１１内に撮像光学系１２を収納している。撮像光学系１２は、投射手段であるレーザ光源１３と撮像手段である計測カメラ１４（ＣＣＤカメラ）とで構成されている。ステージ１５上には、被検査物２０が載置されている。被検査物２０には凸状部２１（溶接ビード）が形成されている。
【００１７】
形状検査装置１０は、コンピュータを備えており、図１に示した形状処理部３０、制御部３１、入力部３２及び表示部３３は、コンピュータの構成部分である。レーザ光源１３からは、スリット光が発せられる。このスリット光を被検査物２０に投射することにより、被検査物２０上には被検査物２０の形状に沿って、形状線が形成される。この形状線は計測カメラ１４で撮像され、計測カメラ１４からの信号は、形状処理部３０に送られる。形状処理部３０では、形状線を点群として認識し、この点群の各点における３次元座標を光切断法により算出する。計測カメラ１４のシャッタースピードや露光時間等は制御部３１により設定される。
【００１８】
制御部３１により形状検査装置１０の駆動系（図示せず）が制御され、撮像光学系１２をＸ軸方向に移動させると、レーザ光源１３からのスリット光は被検査物２０上をＸ軸方向に走査する。本実施形態では、撮像光学系１２を移動させる例を示しているが、ステージ１５を移動させてもよい。
【００１９】
スリット光のＸ軸方向における走査に伴い、被検査物２０上には連続的に新たな形状線が順次形成されていく。これらの順次形成される形状線を撮像することにより、被検査物２０の全体に亘り形状線の点群データを取得でき、被検査物２０の三次元形状を計測することが可能になる。以下、図２、３を参照しながら三次元形状の計測についてより具体的に説明する。
【００２０】
図２は、被検査物２０をレーザ光源１３（図１参照）からのスリット光で走査している様子を示す斜視図である。被検査物２０がスリット光でＸ軸方向に走査されると、被検査物２０上にはＸ軸方向における位置を変えながら形状線が順次形成されていく。図２では、凸状部２１の後方部、中央部及び前方部の３個所における形状線２２〜２４を図示している。形状線２２〜２４は、それぞれ計測カメラ１４（図１参照）で撮像される。
【００２１】
形状線２２〜２４における断面形状は、光切断法によって求めることができる。具体的には以下の通りである。図１に示したように、計測カメラ１４の光軸は、被検査物２０の垂直線（Ｚ軸）に対して傾斜している。一方、図２において、被検査物２０は凸状部２１が形成されているので、形状線２２〜２４は、Ｙ軸方向において、高さ（Ｚ軸方向）が変化している。したがって、各形状線の計測カメラ１４による撮像画像は、凸状部２１の高さの変化に応じて、高さが変化していることになる。撮像画像における形状線の高さは、三角測量法により実際の高さに換算でき、形状線の点群の各点における３次元座標を算出することができる。
【００２２】
図３（ａ）〜（ｃ）は、形状線２２〜２４の点群データを表示した図である。形状線のデータは、図１に示した点群データ取得手段３４において、点群データの集合体として取得される。点群における各点のデータは、三次元座標（Ｘ軸上の値、Ｙ軸上の値、Ｚ軸上の値）で表される。例えば図３（ａ）の形状線２２においては、各点のＸ軸上の値は共通であり、図３（ａ）は各点をＹＺ座標に示したものである。すなわち、図３（ａ）は、Ｘ軸上の特定の位置において、被検査物２０のＹ軸方向における高さ（Ｚ軸方向）の変化を示したものであり、形状線２２における断面形状の計測値を示していることになる。
【００２３】
図３（ａ）〜（ｃ）に示した各形状線の点群データは、前記の通り、それぞれ特定のＸ軸上の位置におけるものであるが、被検査物２０全体をスリット光で走査することにより、被検査物２０の全体に亘り形状線の点群データが得られ、被検査物２０の３次元形状を計測することが可能になる。
【００２４】
図４（ａ）は、図３（ｃ）に示した形状線２４において点同士を繋いで得られる折れ線の一部分を拡大したものである。図４（ａ）は、点２６と点２７とを繋ぐ線分４０の拡大図を示している。図４（ａ）において、背景部位である平面部と検査部位である凸状部２１（図２参照）との境界を検出するために、平行線２５と、点同士を繋ぐ線分とのなす角度αの角度閾値α１を設定したとする。図４（ａ）の左端の点から順次角度αを検出し、点２６と点２７を繋ぐ線分４０において、初めて角度αが角度閾値α１以上になったとすると、点２７の一つ前の点２６を境界として検出する。
【００２５】
図４（ｂ）に示した形状線２４’は、形状線２４と同じ位置において改めて点群データを取得したときに、点同士を繋いで得られる折れ線の一部分を拡大したものである。図４（ｂ）は、点２８と点２９とを繋ぐ線分４１の拡大図を示している。図４（ｂ）を図４（ａ）と比べると、図４（ａ）の点２７に対応する図４（ｂ）の点２７’は、点２７よりも高さが少し低くなっている。このように、実際の点群は、ノイズの影響により上下にばらつきが生じる場合がある。図４（ｂ）の場合は、点２８と点２９とを繋ぐ線分４１において、初めて角度αが角度閾値α１以上になり、点２６ではなく、点２９の一つ前の点２８が境界として検出されてしまう。
【００２６】
図４の例のように、境界近傍がなだらかな場合には、隣接する一対の線分同士がなす角度が小さくなり、少しの誤差でも検出に大きく影響する。このため、閾値を基準とした境界の検出方法は、精度の高い境界の検出を安定して行なえるとは限らなかった。本実施形態は、境界近傍がなだらかな場合やノイズが含まれる場合であっても、精度の高い検出が安定して行えるようにしたものであり、以下具体例を参照しながら説明する。
【００２７】
図５は、本実施形態に係る形状検査のプロセスを示すフローチャートである。図６は、被検査物４２を示す斜視図である。被検査物４２には凸状部である溶接ビード４３が形成されている。形状検査には、図１に示した形状検査装置１０を用いる。以下、図５のフローチャートに沿って、図６に示した被検査物４２の形状検査について説明する。
【００２８】
図６は、被検査物４２をスリット光で走査した後の状態を示している。図６は、被検査物４２上に多数の形状線４４が形成された履歴を示している。これらの形状線４４は、スリット光の走査により、Ｘ軸方向の位置を変えながら順次形成されたものである。
【００２９】
図６のように、被検査物４２全体をスリット光で走査した後は、被検査物４２全体の点群データを取得する（図５のステップ１００）。点群データの取得は、図１に示した形状処理部３０が備える点群データ取得手段３４により行う。点群データ取得後は、図６に示した形状線４４上の各点における３次元座標（点群データ）が取得されていることになる。点群データの取得方法は、図２、３を用いて説明した通りである。
【００３０】
点群データ取得後は、被検査物４２の三次元形状を図１に示した表示部３３に表示する（図５のステップ１０１）。具体的には、図１の点群データ取得手段３４で算出された点群データは、制御部３１に送られる。制御部３１では点群データの３次元座標に基いて三次元形状を作成し、これを表示部３３に出力する。
【００３１】
図７は、図６に示した形状線４４のうち、１本分の形状線４４の点群データの一部を示した図である。形状線ベクトルＬは、形状線４４が延びる方向の直線に沿ったベクトルであり、形状線ベクトルｌはベクトルＬの単位ベクトルである。垂直ベクトルＲは形状線ベクトルｌの始点から垂直に立ち上がるベクトルである。高さベクトルｍは単位ベクトルであり、垂直ベクトルＲの周りに形状線ベクトルｌをπ／２回転（矢印ａ）させたベクトルである。
【００３２】
図８は図７中の点群のうち、隣接する一対の点５０及び点５１を抜き出して平行六面体を形成したときの拡大図である。線分ベクトルｐは、点群データ中の隣接する２点を繋ぐ線分のベクトルであり、図８では点５０と点５１とを繋ぐ線分のベクトルである。外積ベクトルｙは、形状線ベクトルｌと線分ベクトルｐの外積のベクトルである。外積ベクトルｙの方向はベクトルｌ及び線分ベクトルｐに垂直な方向であり、向きは線分ベクトルｐから形状線ベクトルｌに向かって回転するときに、右ねじの進む方向であり、大きさは線分ベクトルｐ及び形状線ベクトルｌで作る平行四辺形の面積Ｓである。
【００３３】
形状線ベクトルｌと線分ベクトルｐとの位置関係により、外積は正の値又は負の値となるため、面積Ｓも正の値又は負の値となる。図８の面積Ｓが正の値であるとすると、図９の面積Ｓ’は負の値である。図９は、図８の点５１の位置を点５１’に変更したときの拡大図である。図８の点５１が形状線ベクトルｌの下方にあるのに対して、図９の点５１’は形状線ベクトルｌの上方にある。この場合、図９において線分ベクトルｐから形状線ベクトルｌに向かうときの向きは、図８とは逆であり、外積ベクトルｙの向きも図８とは逆になっている。このため、図９では形状線ベクトルｌと線分ベクトルｐの外積は負の値となり、面積Ｓ’も負の値となる。
【００３４】
前記の演算手法により、図１に示した面積・体積算出手段３５は、図６の各形状線４４に対応する点のそれぞれについて、線分ベクトルｐ及び形状線ベクトルｌで作る平行四辺形の面積Ｓを算出する。このことにより、正の値と負の値とが混在した面積Ｓの集合体が得られる。このように２点間の位置関係を単に線分ベクトルｐの傾斜角度で捉えるのではなく、平行四辺形の面積Ｓで捉えることにより、線分ベクトルの傾きが強調され、後に説明する安定して正確な境界の検出が可能になる。
【００３５】
また、２点間の位置関係を、形状線ベクトルｌ、線分ベクトルｐ及び高さベクトルｍで作る平行六面体の体積Ｖで捉えるようにしてもよい。以下の実施形態では、体積Ｖを算出する例について説明する。詳細は後に説明する通り、体積Ｖを算出することにより、算出した体積Ｖに、点群データの検出誤差による影響が反映されにくくなる。
【００３６】
図８は、形状線ベクトルｌ、線分ベクトルｐ及び高さベクトルｍで作る平行六面体を示しており、この平行六面体の体積Ｖは、形状線ベクトルｌと線分ベクトルｐの外積と高さベクトルｍの内積で求めることができる。この演算手法により、図１に示した面積・体積算出手段３５は、平行六面体の体積Ｖを算出する。高さベクトルｍの大きさ・向きは固定されており、前記の通り、面積Ｓは正の値又は負の値であるので、面積Ｓが正の値であれば、平行六面体の体積Ｖも正の値となり、面積Ｓが負の値であれば、平行六面体の体積Ｖも負の値となる。
【００３７】
ここで、図８に示した線分ベクトルｐは、点５０と点５１とを繋ぐ線分のベクトルである。点５０と点５１は、図７に示したように、形状線ベクトルＬ上にある。この状態は、形状線の延びる方向に対して、誤差なく点群を測定できた状態である。このときは、線分ベクトルｐ及び形状線ベクトルｌで作る平行四辺形と高さベクトルｍは直交するので、平行四辺形の面積Ｓに高さベクトルｍの大きさを乗じると体積Ｖとなる。したがって、点群データ全てが点５０及び点５１のように形状線ベクトルＬ上にある誤差のない状態では、面積Ｓが変化しても定数である高さを乗じて体積Ｖが算出されるので、あえて体積Ｖを算出する必要性はなくなる。
【００３８】
一方、図７の点５２のように、誤差により、点の位置が形状線ベクトルＬからずれていると、図８において、点５０と点５２とをつなぐ線分の線分ベクトルｐ１と形状線ベクトルｌで作られる平行四辺形５４は、面積Ｓに対応する平行四辺形５３に対して傾斜したものとなり、面積Ｓ１は面積Ｓよりも大きくなる。このため、線分ベクトルｐと線分ベクトルｐ１の形状線ベクトルｌに対する傾斜状態が殆んど変わらない場合であっても、面積に差異が生じてしまう。
【００３９】
しかし、平行四辺形５４が平行四辺形５３に対して傾斜したものとなることにより、平行四辺形５４と高さベクトルｍは直交しなくなり、平行四辺形５４に対応する平行六面体の体積Ｖを算出する際の高さは高さベクトルｍの大きさよりも小さくなる。したがって、面積で生じた差異は、体積Ｖを算出する際に調整され、体積Ｖには点群データの検出誤差による影響が反映されにくくなる。
【００４０】
図１に示した面積・体積算出手段３５は、図６の各形状線４４に対応する点のそれぞれについて、体積Ｖを算出する（図５のステップ１０２）。このことにより、正の値と負の値とが混在した体積Ｖの集合体が得られる。この後は、図１に示した階調化手段３６により、平行六面体の各体積Ｖについて０〜２５５（２５６階調）の階調値に階調化を行う（図５のステップ１０３）。階調値Ｇは、下記式（１）で算出される。算出値の端数は処理して、体積Ｖを０〜２５５の整数に変換する。Ｖｍａｘは最大の体積値、Ｖｍｉｎは最小の体積値、Ｖは計算対象の体積値である。
【００４１】
【数１】
0006796348.tif 000002
【００４２】
図１０は、体積Ｖと階調値Ｇとの関係を示した図である。階調化により、ＶｍｉｎからＶｍａｘまでの範囲内の体積Ｖは、０〜２５５の範囲内の階調値に変換される。式（１）の２５５／（Ｖｍａｘ−Ｖｍｉｎ）の部分は、ＶｍｉｎからＶｍａｘまでの範囲内を２５５等分したときの隣接する目盛り間の長さとなる。図１０の目盛りは便宜上の図示であり、正確に２５５等分したものではない。
【００４３】
図１０において、階調値が０から増加するにつれて、階調値に対応する色は黒からグレーに変化しさらに白に変化する。前記のように、体積Ｖを階調値Ｇに変換することにより、点群の各点を濃淡で表すことができ、点群全体すなわち被検査物全体を濃淡画像で表すことができる。図１１は、横長の溶接ビードが形成された被検査物の濃淡画像を示している。
【００４４】
一方、図１０から分かるように、体積Ｖが負方向で大きくなると階調値は０に近づき、体積Ｖが正方向で大きくなると階調値は２５５に近づく。また、体積Ｖがゼロに近づくと、階調値は１２７又は１２８に近づく。この点について、図１２を参照しながら説明を補足する。図１２は、図３（ｃ）に示した形状線２４の点群の拡大図である。ｂ部において線分ベクトルｐは、単位ベクトルである形状線ベクトルｌの上側にある。この位置関係は図９と同じであり、点６０に対応する体積Ｖは負となる。また、線分ベクトルｐは凸状部の境界近傍のベクトルであり、傾斜があり傾斜が大きくなると体積Ｖも大きな値となる。
【００４５】
これに対して、ｄ部においては線分ベクトルｐは、単位ベクトルである形状線ベクトルｌの下側にある。この位置関係は図８と同じであり、点６２に対応する体積Ｖは正となる。また、ｄ部における線分ベクトルｐは凸状部の境界近傍ベクトルであり、傾斜があり傾斜が大きくなると体積Ｖも大きな値となる。ｃ部においては線分ベクトルｐの方向は、形状線ベクトルｌの方向とほぼ一致しており、体積Ｖは正負いずれであってもゼロに近い小さな値となる。
【００４６】
すなわち、凸状部において、一端側の境界部においては、体積Ｖは正の比較的大きな値となる。これは図１０のＶｍａｘ近傍に対応しており、体積Ｖが大きくなるほど、階調値は２５５に近い値となる。一方、他端側の境界部においては、体積Ｖは負の比較的大きな値となる。これは図１０のＶｍｉｎに対応しており、体積Ｖが大きくなるほど、階調値は０に近い値となる。また、凸状部の中央部においては、体積Ｖは小さな値となる。これは図１０の０近傍に対応しており、体積Ｖがゼロに近づくほど、階調値は１２７又は１２８に近づいていく。
【００４７】
したがって、階調値が２５５に近い所定の範囲内に一端側の境界が含まれ、階調値が０に近い所定の範囲内に他端側の境界が含まれるとみなすことができる。本実施形態は、この点に着目し、凸状部の境界を検出するようにしている。この点について、図１３を参照しながら説明する。
【００４８】
図１３は、階調値Ｇと度数（画素数）との関係を示した度数分布図である。度数分布の算出は、図１に示した度数分布算出手段３７により行う（図５のステップ１０４）。度数は特定の階調値Ｇである点の数である。図１３において階調値１２７又は１２８近傍で度数が突出しており、両端部近傍で度数が小さくなっている。前記の通り、階調値が２５５に近い所定の範囲内と、階調値が０に近い所定の範囲内に境界が含まれるとみなすことができる。所定の範囲は、操作者が分布図から判断してもよく、経験値等に基づいて予め設定した基準に基づいて制御部３１が判断してもよい。
【００４９】
図１３では、階調値が０から閾値Ｇ１の範囲と、閾値Ｇ２から２５５の範囲を境界が含まれる範囲とみなしている。この後、図１に示した境界検出手段３８により、二値化処理を実施し境界が含まれる範囲を検出した上で境界を検出する（図５のステップ１０５）。具体的には、図１３において、前記のように境界が含まれる範囲とみなした階調値が０から閾値Ｇ１の範囲と、閾値Ｇ２から２５５の範囲を白とし、これ以外のＧ１からＧ２までの範囲を黒とする。
【００５０】
このことにより、点群の各点を白又は黒で表すことができ、点群全体すなわち被検査物全体を白黒画像で表すことができる。図１４は、図１３に示した被検査物について二値化処理を実施後の画像を示している。図１４において、白の部分が境界が含まれる範囲とみなされる領域である。この領域は幅を有しているが、幅の中心線等を演算処理で求めることにより、境界を求めることができる。前記の演算処理は、事前の試験等で決定しておけばよい。
【００５１】
図１３に示した度数分布図及び図１４に示した二値化処理実施後の画像は、図１に示した表示部３３に表示されるので、操作者は、閾値Ｇ１及び閾値Ｇ２を図1に示した入力部３２により適宜変更して、変更後の二値化処理実施後の画像を見ながら、最適な閾値Ｇ１及び閾値Ｇ２を決定してもよい。
【００５２】
以上、本発明の一実施形態について説明したが、本発明においては、点群データ中の隣接する２点を繋ぐ線分ベクトルについて、線分ベクトル自体の傾斜を検出しながら被検査物の境界を検出するのではなく、線分ベクトルを正負を区別した体積に変換し、この体積を階調化し、階調値の分布に基づいて境界の含まれる範囲を検出した上で境界を検出することになる。線分ベクトルを体積に変換することにより、線分ベクトルの傾斜が小さいなだらかな境界であっても、線分ベクトルの傾きが強調され、安定して正確な境界の検出を行うことができる。
【００５３】
また、体積を階調化し、階調値の分布に基づいて境界の含まれる範囲を検出した上で境界を検出することより、ノイズを除去するフィルタ処理を行った上で境界を検出することができ、この点においても安定して正確な境界の検出を行うことができる。なお、ノイズが残留した場合は、二値化後の画像に面積の小さな白点又は黒点として現れるが、これらはノイズとみなして除去すればよい。
【００５４】
さらに、本発明における階調化は、前記の通り、線分ベクトルに基づく平行六面体の体積に基づいており、光の光量によるものではないので、光源の強度、向きにより影響を受けることはなく、このことも安定して正確な境界の検出に有利になる。
【００５５】
以上、本発明の一実施形態について説明したが、本発明はこれに限るものではなく、適宜変更したものであってもよい。前記実施形態では、面積・体積算出手段３５は、最終的には体積を算出しているが、図５のステップ１０２において、算出は平行四辺形の面積Ｓ（図８参照）に留め、図５のステップ１０３においては、平行四辺形の面積Ｓを階調化してもよい。前記の通り、体積Ｖを算出することにより、点群データの検出誤差による影響が反映されにくくなるが、検出誤差が問題とならない場合には、面積Ｓを階調化してもよい
【００５６】
また、前記実施形態においては、形状線ベクトルｌ及び高さベクトルｍは、単位ベクトルの例で説明したが、大きさが固定されていればよく、単位ベクトルに限るものではない。
【符号の説明】
【００５７】
１０  形状検査装置
１２  撮像光学系
１３  レーザ光源
１４  計測カメラ
２０，４２  被検査物
２１  凸状部
２２，２３，２４，４４  形状線
３０  形状処理部
３１  制御部
３４  点群データ取得手段
３５  面積・体積算出手段
３６  階調化手段
３７  度数分布算出手段
３８  境界検出手段
４３  溶接ビード
【要約】
【課題】検査部位と背景部位の境界がなだらかである場合やノイズが含まれる場合でも、安定して正確な境界の検出を行うことができる形状検査装置及び形状検査方法を提供する。
【解決手段】線分ベクトル及び形状線ベクトルで作る平行四辺形について、線分ベクトルと形状線ベクトルの外積により正負を区別した面積、又は線分ベクトル、形状線ベクトル及び高さベクトルで作る平行六面体について、外積と高さベクトルの内積により正負を区別した体積を算出する面積・体積算出手段３５と、面積又は体積を階調値に階調化する階調化手段３６と、階調値に対応する点群データの度数分布を算出する度数分布算出手段３７とを備え、境界検出手段３８は、度数分布において、予め決定した境界が含まれる範囲の中から前記境界を検出する。
【選択図】図１【図１】
0006796348.tif 000003
【図２】
0006796348.tif 000004
【図３】
0006796348.tif 000005
【図４】
0006796348.tif 000006
【図５】
0006796348.tif 000007
【図６】
0006796348.tif 000008
【図７】
0006796348.tif 000009
【図８】
0006796348.tif 000010
【図９】
0006796348.tif 000011
【図１０】
0006796348.tif 000012
【図１１】
0006796348.tif 000013
【図１２】
0006796348.tif 000014
【図１３】
0006796348.tif 000015
【図１４】
0006796348.tif 000016