(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022018141
(43)【公開日】2022-01-27
(54)【発明の名称】形状検査装置及び形状検査方法
(51)【国際特許分類】
G01B 11/24 20060101AFI20220120BHJP
G01N 21/88 20060101ALI20220120BHJP
【FI】
G01B11/24 K
G01N21/88 J
【審査請求】有
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2020121027
(22)【出願日】2020-07-15
(11)【特許番号】
(45)【特許公報発行日】2020-12-09
(71)【出願人】
【識別番号】593118128
【氏名又は名称】コアテック株式会社
(74)【代理人】
【識別番号】110003085
【氏名又は名称】特許業務法人森特許事務所
(72)【発明者】
【氏名】渡邊 正芳
(72)【発明者】
【氏名】原 知安紀
【テーマコード(参考)】
2F065
2G051
【Fターム(参考)】
2F065AA04
2F065AA53
2F065AA58
2F065AA59
2F065BB05
2F065CC11
2F065CC15
2F065CC16
2F065DD03
2F065FF01
2F065FF02
2F065FF04
2F065FF09
2F065GG04
2F065HH05
2F065JJ03
2F065JJ08
2F065JJ26
2F065MM03
2F065MM07
2F065QQ04
2F065QQ29
2F065QQ31
2F065QQ33
2G051AA90
2G051AB10
2G051AB13
2G051BA10
2G051BA20
2G051BC06
2G051CA04
2G051CB01
2G051EA02
2G051EA11
2G051EA12
2G051EA25
2G051EB01
2G051EC02
2G051ED04
2G051ED22
(57)【要約】
【課題】検査部位と背景部位の境界がなだらかである場合やノイズが含まれる場合でも、安定して正確な境界の検出を行うことができる形状検査装置及び形状検査方法を提供する。
【解決手段】線分ベクトル及び形状線ベクトルで作る平行四辺形について、線分ベクトルと形状線ベクトルの外積により正負を区別した面積、又は線分ベクトル、形状線ベクトル及び高さベクトルで作る平行六面体について、外積と高さベクトルの内積により正負を区別した体積を算出する面積・体積算出手段35と、面積又は体積を階調値に階調化する階調化手段36と、階調値に対応する点群データの度数分布を算出する度数分布算出手段37とを備え、境界検出手段38は、度数分布において、予め決定した境界が含まれる範囲の中から前記境界を検出する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
被検査物の形状を検査する形状検査装置であって、
被検査物にスリット光を投射する投射手段と、
前記スリット光の走査により被検査物上に順次形成される形状線を撮像する撮像手段と、
前記順次形成された各形状線の撮像データに基づいて、被検査物の三次元形状を点群データとして取得する点群データ取得手段と、
前記形状線が延びる方向の直線に沿ったベクトルを形状線ベクトル、前記形状線ベクトルの始点から垂直に立ち上がる垂直ベクトルの周りに前記形状線ベクトルをπ/2回転させたベクトルを高さベクトル、前記点群データ中の隣接する2点を繋ぐ線分のベクトルを線分ベクトルとしたときに、
前記線分ベクトル及び前記形状線ベクトルで作る平行四辺形について、前記線分ベクトルと前記形状線ベクトルの外積により正負を区別した面積、又は前記線分ベクトル、前記形状線ベクトル及び前記高さベクトルで作る平行六面体について、前記外積と前記高さベクトルの内積により正負を区別した体積を算出する面積・体積算出手段と、
前記面積又は前記体積を階調値に階調化する階調化手段と、
前記階調値に対応する前記点群データの度数分布を算出する度数分布算出手段と、
前記被検査物の境界を検出する境界検出手段とを備えており、
前記境界検出手段は、前記度数分布において、操作者又は前記境界検出手段により決定した前記境界が含まれる範囲の中から前記境界を検出することを特徴とする形状検査装置。
【請求項2】
前記境界検出手段は、前記境界が含まれる範囲とこれ以外の範囲とを2階調に2値化し、前記被検査物の2値化画像を出力する請求項1に記載の形状検査装置。
【請求項3】
被検査物の形状を検査する形状検査方法であって、
被検査物にスリット光を投射し、
前記スリット光の走査により被検査物上に順次形成される形状線を撮像し、
前記順次形成された各形状線の撮像データに基づいて、被検査物の三次元形状を点群データとして取得し、
前記形状線が延びる方向の直線に沿ったベクトルを形状線ベクトル、前記形状線ベクトルの始点から垂直に立ち上がる垂直ベクトルの周りに前記形状線ベクトルをπ/2回転させたベクトルを高さベクトル、前記点群データ中の隣接する2点を繋ぐ線分のベクトルを線分ベクトルとしたときに、
前記線分ベクトル及び前記形状線ベクトルで作る平行四辺形について、前記線分ベクトルと前記形状線ベクトルの外積により正負を区別した面積、又は前記線分ベクトル、前記形状線ベクトル及び前記高さベクトルで作る平行六面体について、前記外積と前記高さベクトルの内積により正負を区別した体積を算出し、
前記面積又は前記体積を階調値に階調化し、
前記階調値に対応する前記点群データの度数分布を算出し、
前記度数分布において、前記被検査物の境界が含まれる範囲を決定し、
前記境界が含まれる範囲の中から前記境界を検出することを特徴とする形状検査方法。
【請求項4】
前記境界が含まれる範囲とこれ以外の範囲とを2階調に2値化し、前記被検査物の2値化画像を出力する請求項3に記載の形状検査方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、被検査物にスリット光を照射して得られる三次元形状の点群データに基いて、被検査物の表面に形成される形状線における断面形状を検査する形状検査装置及び形状検査方法に関する。
【背景技術】
【0002】
被検査物にスリット光を照射して被検査物の形状を検査する検査装置が知られている。このような検査装置においては、スリット光照射により被検査物の表面に形成される形状線を撮像し、この形状線における断面形状を求めることができ、この断面形状に基いて被検査物の形状を検査することができる。
【0003】
また、被検査物の表面にスリット光を走査することにより得られる点群データから、走査範囲内の各形状線における断面形状を使用して被検査物の高さ、幅の算出もできる。例えば、下記特許文献1には、溶接部及びその周辺部の表面形状を近似するポリラインを作成し、このポリラインの折れ角度に基づき、数値の演算を行って溶接品質を判定することが提案されている。この溶接品質判定方法によれば、溶接品質の良否の判定の結果を定量的に、かつ自動的に取得することができる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、実際にはスリット光を走査することにより得られる点群データには被検査物の表面状態によるノイズ誤差が含まれており、溶接部とワーク板部の境界がなだらかな場合には、ポリラインの折れ角度は小さくなるため、ノイズ誤差が含まれる点群から作成されたポリラインでは、正しい境界を精度良く安定して検出するのが困難であるという問題があった。
【0006】
本発明は、前記のような従来の問題を解決するものであり、検査部位と背景部位の境界がなだらかである場合やノイズが含まれる場合でも、安定して正確な境界の検出を行うことができる形状検査装置及び形状検査方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
前記目的を達成するために、本発明の形状検査装置は、被検査物の形状を検査する形状検査装置であって、被検査物にスリット光を投射する投射手段と、前記スリット光の走査により被検査物上に順次形成される形状線を撮像する撮像手段と、前記順次形成された各形状線の撮像データに基づいて、被検査物の三次元形状を点群データとして取得する点群データ取得手段と、前記形状線が延びる方向の直線に沿ったベクトルを形状線ベクトル、前記形状線ベクトルの始点から垂直に立ち上がる垂直ベクトルの周りに前記形状線ベクトルをπ/2回転させたベクトルを高さベクトル、前記点群データ中の隣接する2点を繋ぐ線分のベクトルを線分ベクトルとしたときに、前記線分ベクトル及び前記形状線ベクトルで作る平行四辺形について、前記線分ベクトルと前記形状線ベクトルの外積により正負を区別した面積、又は前記線分ベクトル、前記形状線ベクトル及び前記高さベクトルで作る平行六面体について、前記外積と前記高さベクトルの内積により正負を区別した体積を算出する面積・体積算出手段と、前記面積又は前記体積を階調値に階調化する階調化手段と、前記階調値に対応する前記点群データの度数分布を算出する度数分布算出手段と、前記被検査物の境界を検出する境界検出手段とを備えており、前記境界検出手段は、前記度数分布において、操作者又は前記境界検出手段により決定した前記境界が含まれる範囲の中から前記境界を検出することを特徴とする。
【0008】
本発明の形状検査方法は、被検査物の形状を検査する形状検査方法であって、被検査物にスリット光を投射し、前記スリット光の走査により被検査物上に順次形成される形状線を撮像し、前記順次形成された各形状線の撮像データに基づいて、被検査物の三次元形状を点群データとして取得し、前記形状線が延びる方向の直線に沿ったベクトルを形状線ベクトル、前記形状線ベクトルの始点から垂直に立ち上がる垂直ベクトルの周りに前記形状線ベクトルをπ/2回転させたベクトルを高さベクトル、前記点群データ中の隣接する2点を繋ぐ線分のベクトルを線分ベクトルとしたときに、前記線分ベクトル及び前記形状線ベクトルで作る平行四辺形について、前記線分ベクトルと前記形状線ベクトルの外積により正負を区別した面積、又は前記線分ベクトル、前記形状線ベクトル及び前記高さベクトルで作る平行六面体について、前記外積と前記高さベクトルの内積により正負を区別した体積を算出し、前記面積又は前記体積を階調値に階調化し、前記階調値に対応する前記点群データの度数分布を算出し、前記度数分布において、前記被検査物の境界が含まれる範囲を決定し、前記境界が含まれる範囲の中から前記境界を検出することを特徴とする。
【0009】
前記本発明の形状検査装置及び形状検査方法によれば、点群データ中の隣接する2点を繋ぐ線分ベクトルについて、線分ベクトル自体の傾斜を検出しながら被検査物の境界を検出するのではなく、線分ベクトルを正負を区別した面積又は体積に変換し、これを階調化し、階調値の分布に基づいて境界の含まれる範囲を検出した上で境界を検出することになる。線分ベクトルを面積又は体積に変換することにより、線分ベクトルの傾斜が小さいなだらかな境界であっても、線分ベクトルの傾きが強調され、安定して正確な境界の検出を行うことができる。
【0010】
また、面積又は体積を階調化し、階調値の分布に基づいて境界の含まれる範囲を検出した上で境界を検出することより、ノイズを除去するフィルタ処理を行った上で境界を検出することができ、この点においても安定して正確な境界の検出を行うことができる。
【0011】
さらに、本発明における階調化は、線分ベクトルに基づく面積又は体積に基づいており、光の光量によるものではないので、光源の強度、向きにより影響を受けることはなく、このことも安定して正確な境界の検出に有利になる。
【0012】
前記本発明の形状検査装置においては、前記境界検出手段は、前記境界が含まれる範囲とこれ以外の範囲とを2階調に2値化し、前記被検査物の2値化画像を出力することが好ましく、前記本発明の形状検査方法においては、前記境界が含まれる範囲とこれ以外の範囲とを2階調に2値化し、前記被検査物の2値化画像を出力することが好ましい。これらの構成によれば、被検査物の2値化画像を見ながら、境界が含まれる範囲の設定を適宜変更して、同範囲を最適な範囲に設定することができる。
【発明の効果】
【0013】
本発明の効果は前記のとおりであり、要約すれば、本発明によれば、点群データ中の隣接する2点を繋ぐ線分ベクトルを正負を区別した面積又は体積に変換し、これを階調化し、階調値の分布に基づいて境界の含まれる範囲を検出した上で境界を検出することにより、線分ベクトルの傾きが強調され、安定して正確な境界の検出を行うことができることに加え、ノイズを除去するフィルタ処理を行った上で境界を検出することができ、この点においても安定して正確な境界の検出を行うことができる。さらに、本発明における階調化は、光の光量によるものではないので、光源の強度、向きにより影響を受けることはなく、このことも安定して正確な境界の検出に有利になる。
【図面の簡単な説明】
【0014】
【
図1】本発明の一実施形態に係る形状検査装置の概略図。
【
図2】本発明の一実施形態において、被検査物をレーザ光源からのスリット光で走査している様子を示す斜視図。
【
図4】形状線において、点同士を繋いで得られる折れ線の一部分を拡大した図。
【
図5】本発明の一実施形態に係る形状検査のプロセスを示すフローチャート。
【
図6】本発明の一実施形態において、被検査物をスリット光で走査した後の状態を示した斜視図。
【
図7】
図6に示した形状線のうち、1本分の形状線の点群データの一部を示した図。
【
図8】本発明の一実施形態において、隣接する一対の点を抜き出して平行六面体を形成したときの拡大図であり、平行六面体の体積が正の値となるときの図。
【
図9】本発明の一実施形態において、隣接する一対の点を抜き出して平行六面体を形成したときの拡大図であり、平行六面体の体積が負の値となるときの図。
【
図10】本発明の一実施形態において、体積Vと階調値Gとの関係を示した図。
【
図11】本発明の一実施形態において、横長の溶接ビードが形成された被検査物の濃淡画像を示した図。
【
図12】
図3(c)に示した形状線の点群の拡大図。
【
図13】本発明の一実施形態において、階調値Gと度数(画素数)との関係を示した分布図。
【
図14】
図13に示した分布図に係る被検査物について二値化処理を実施後の画像を示した図。
【発明を実施するための形態】
【0015】
以下、本発明の一実施形態について図面を参照しながら説明する。本実施形態では、本発明を溶接ビードの形状検査の例で説明するが、検査対象はこれに限るものではなく、各種形状の検査に用いることができる。例えば、樹脂成形品の検査に用いてもよく、航空機の機体の検査に用いてもよい。また、医療分野の検査に用いてもよく、例えば骨の検査に用いることもできる。
【0016】
図1は、本発明の一実施形態に係る形状検査装置10の概略図である。形状検査装置10は、ケース11内に撮像光学系12を収納している。撮像光学系12は、投射手段であるレーザ光源13と撮像手段である計測カメラ14(CCDカメラ)とで構成されている。ステージ15上には、被検査物20が載置されている。被検査物20には凸状部21(溶接ビード)が形成されている。
【0017】
形状検査装置10は、コンピュータを備えており、
図1に示した形状処理部30、制御部31、入力部32及び表示部33は、コンピュータの構成部分である。レーザ光源13からは、スリット光が発せられる。このスリット光を被検査物20に投射することにより、被検査物20上には被検査物20の形状に沿って、形状線が形成される。この形状線は計測カメラ14で撮像され、計測カメラ14からの信号は、形状処理部30に送られる。形状処理部30では、形状線を点群として認識し、この点群の各点における3次元座標を光切断法により算出する。計測カメラ14のシャッタースピードや露光時間等は制御部31により設定される。
【0018】
制御部31により形状検査装置10の駆動系(図示せず)が制御され、撮像光学系12をX軸方向に移動させると、レーザ光源13からのスリット光は被検査物20上をX軸方向に走査する。本実施形態では、撮像光学系12を移動させる例を示しているが、ステージ15を移動させてもよい。
【0019】
スリット光のX軸方向における走査に伴い、被検査物20上には連続的に新たな形状線が順次形成されていく。これらの順次形成される形状線を撮像することにより、被検査物20の全体に亘り形状線の点群データを取得でき、被検査物20の三次元形状を計測することが可能になる。以下、
図2、3を参照しながら三次元形状の計測についてより具体的に説明する。
【0020】
図2は、被検査物20をレーザ光源13(
図1参照)からのスリット光で走査している様子を示す斜視図である。被検査物20がスリット光でX軸方向に走査されると、被検査物20上にはX軸方向における位置を変えながら形状線が順次形成されていく。
図2では、凸状部21の後方部、中央部及び前方部の3個所における形状線22~24を図示している。形状線22~24は、それぞれ計測カメラ14(
図1参照)で撮像される。
【0021】
形状線22~24における断面形状は、光切断法によって求めることができる。具体的には以下の通りである。
図1に示したように、計測カメラ14の光軸は、被検査物20の垂直線(Z軸)に対して傾斜している。一方、
図2において、被検査物20は凸状部21が形成されているので、形状線22~24は、Y軸方向において、高さ(Z軸方向)が変化している。したがって、各形状線の計測カメラ14による撮像画像は、凸状部21の高さの変化に応じて、高さが変化していることになる。撮像画像における形状線の高さは、三角測量法により実際の高さに換算でき、形状線の点群の各点における3次元座標を算出することができる。
【0022】
図3(a)~(c)は、形状線22~24の点群データを表示した図である。形状線のデータは、
図1に示した点群データ取得手段34において、点群データの集合体として取得される。点群における各点のデータは、三次元座標(X軸上の値、Y軸上の値、Z軸上の値)で表される。例えば
図3(a)の形状線22においては、各点のX軸上の値は共通であり、
図3(a)は各点をYZ座標に示したものである。すなわち、
図3(a)は、X軸上の特定の位置において、被検査物20のY軸方向における高さ(Z軸方向)の変化を示したものであり、形状線22における断面形状の計測値を示していることになる。
【0023】
図3(a)~(c)に示した各形状線の点群データは、前記の通り、それぞれ特定のX軸上の位置におけるものであるが、被検査物20全体をスリット光で走査することにより、被検査物20の全体に亘り形状線の点群データが得られ、被検査物20の3次元形状を計測することが可能になる。
【0024】
図4(a)は、
図3(c)に示した形状線24において点同士を繋いで得られる折れ線の一部分を拡大したものである。
図4(a)は、点26と点27とを繋ぐ線分40の拡大図を示している。
図4(a)において、背景部位である平面部と検査部位である凸状部21(
図2参照)との境界を検出するために、平行線25と、点同士を繋ぐ線分とのなす角度αの角度閾値α1を設定したとする。
図4(a)の左端の点から順次角度αを検出し、点26と点27を繋ぐ線分40において、初めて角度αが角度閾値α1以上になったとすると、点27の一つ前の点26を境界として検出する。
【0025】
図4(b)に示した形状線24’は、形状線24と同じ位置において改めて点群データを取得したときに、点同士を繋いで得られる折れ線の一部分を拡大したものである。
図4(b)は、点28と点29とを繋ぐ線分41の拡大図を示している。
図4(b)を
図4(a)と比べると、
図4(a)の点27に対応する
図4(b)の点27’は、点27よりも高さが少し低くなっている。このように、実際の点群は、ノイズの影響により上下にばらつきが生じる場合がある。
図4(b)の場合は、点28と点29とを繋ぐ線分41において、初めて角度αが角度閾値α1以上になり、点26ではなく、点29の一つ前の点28が境界として検出されてしまう。
【0026】
図4の例のように、境界近傍がなだらかな場合には、隣接する一対の線分同士がなす角度が小さくなり、少しの誤差でも検出に大きく影響する。このため、閾値を基準とした境界の検出方法は、精度の高い境界の検出を安定して行なえるとは限らなかった。本実施形態は、境界近傍がなだらかな場合やノイズが含まれる場合であっても、精度の高い検出が安定して行えるようにしたものであり、以下具体例を参照しながら説明する。
【0027】
図5は、本実施形態に係る形状検査のプロセスを示すフローチャートである。
図6は、被検査物42を示す斜視図である。被検査物42には凸状部である溶接ビード43が形成されている。形状検査には、
図1に示した形状検査装置10を用いる。以下、
図5のフローチャートに沿って、
図6に示した被検査物42の形状検査について説明する。
【0028】
図6は、被検査物42をスリット光で走査した後の状態を示している。
図6は、被検査物42上に多数の形状線44が形成された履歴を示している。これらの形状線44は、スリット光の走査により、X軸方向の位置を変えながら順次形成されたものである。
【0029】
図6のように、被検査物42全体をスリット光で走査した後は、被検査物42全体の点群データを取得する(
図5のステップ100)。点群データの取得は、
図1に示した形状処理部30が備える点群データ取得手段34により行う。点群データ取得後は、
図6に示した形状線44上の各点における3次元座標(点群データ)が取得されていることになる。点群データの取得方法は、
図2、3を用いて説明した通りである。
【0030】
点群データ取得後は、被検査物42の三次元形状を
図1に示した表示部33に表示する(
図5のステップ101)。具体的には、
図1の点群データ取得手段34で算出された点群データは、制御部31に送られる。制御部31では点群データの3次元座標に基いて三次元形状を作成し、これを表示部33に出力する。
【0031】
図7は、
図6に示した形状線44のうち、1本分の形状線44の点群データの一部を示した図である。形状線ベクトルLは、形状線44が延びる方向の直線に沿ったベクトルであり、形状線ベクトルlはベクトルLの単位ベクトルである。垂直ベクトルRは形状線ベクトルlの始点から垂直に立ち上がるベクトルである。高さベクトルmは単位ベクトルであり、垂直ベクトルRの周りに形状線ベクトルlをπ/2回転(矢印a)させたベクトルである。
【0032】
図8は
図7中の点群のうち、隣接する一対の点50及び点51を抜き出して平行六面体を形成したときの拡大図である。線分ベクトルpは、点群データ中の隣接する2点を繋ぐ線分のベクトルであり、
図8では点50と点51とを繋ぐ線分のベクトルである。外積ベクトルyは、形状線ベクトルlと線分ベクトルpの外積のベクトルである。外積ベクトルyの方向はベクトルl及び線分ベクトルpに垂直な方向であり、向きは線分ベクトルpから形状線ベクトルlに向かって回転するときに、右ねじの進む方向であり、大きさは線分ベクトルp及び形状線ベクトルlで作る平行四辺形の面積Sである。
【0033】
形状線ベクトルlと線分ベクトルpとの位置関係により、外積は正の値又は負の値となるため、面積Sも正の値又は負の値となる。
図8の面積Sが正の値であるとすると、
図9の面積S’は負の値である。
図9は、
図8の点51の位置を点51’に変更したときの拡大図である。
図8の点51が形状線ベクトルlの下方にあるのに対して、
図9の点51’は形状線ベクトルlの上方にある。この場合、
図9において線分ベクトルpから形状線ベクトルlに向かうときの向きは、
図8とは逆であり、外積ベクトルyの向きも
図8とは逆になっている。このため、
図9では形状線ベクトルlと線分ベクトルpの外積は負の値となり、面積S’も負の値となる。
【0034】
前記の演算手法により、
図1に示した面積・体積算出手段35は、
図6の各形状線44に対応する点のそれぞれについて、線分ベクトルp及び形状線ベクトルlで作る平行四辺形の面積Sを算出する。このことにより、正の値と負の値とが混在した面積Sの集合体が得られる。このように2点間の位置関係を単に線分ベクトルpの傾斜角度で捉えるのではなく、平行四辺形の面積Sで捉えることにより、線分ベクトルの傾きが強調され、後に説明する安定して正確な境界の検出が可能になる。
【0035】
また、2点間の位置関係を、形状線ベクトルl、線分ベクトルp及び高さベクトルmで作る平行六面体の体積Vで捉えるようにしてもよい。以下の実施形態では、体積Vを算出する例について説明する。詳細は後に説明する通り、体積Vを算出することにより、算出した体積Vに、点群データの検出誤差による影響が反映されにくくなる。
【0036】
図8は、形状線ベクトルl、線分ベクトルp及び高さベクトルmで作る平行六面体を示しており、この平行六面体の体積Vは、形状線ベクトルlと線分ベクトルpの外積と高さベクトルmの内積で求めることができる。この演算手法により、
図1に示した面積・体積算出手段35は、平行六面体の体積Vを算出する。高さベクトルmの大きさ・向きは固定されており、前記の通り、面積Sは正の値又は負の値であるので、面積Sが正の値であれば、平行六面体の体積Vも正の値となり、面積Sが負の値であれば、平行六面体の体積Vも負の値となる。
【0037】
ここで、
図8に示した線分ベクトルpは、点50と点51とを繋ぐ線分のベクトルである。点50と点51は、
図7に示したように、形状線ベクトルL上にある。この状態は、形状線の延びる方向に対して、誤差なく点群を測定できた状態である。このときは、線分ベクトルp及び形状線ベクトルlで作る平行四辺形と高さベクトルmは直交するので、平行四辺形の面積Sに高さベクトルmの大きさを乗じると体積Vとなる。したがって、点群データ全てが点50及び点51のように形状線ベクトルL上にある誤差のない状態では、面積Sが変化しても定数である高さを乗じて体積Vが算出されるので、あえて体積Vを算出する必要性はなくなる。
【0038】
一方、
図7の点52のように、誤差により、点の位置が形状線ベクトルLからずれていると、
図8において、点50と点52とをつなぐ線分の線分ベクトルp1と形状線ベクトルlで作られる平行四辺形54は、面積Sに対応する平行四辺形53に対して傾斜したものとなり、面積S1は面積Sよりも大きくなる。このため、線分ベクトルpと線分ベクトルp1の形状線ベクトルlに対する傾斜状態が殆んど変わらない場合であっても、面積に差異が生じてしまう。
【0039】
しかし、平行四辺形54が平行四辺形53に対して傾斜したものとなることにより、平行四辺形54と高さベクトルmは直交しなくなり、平行四辺形54に大対応する平行六面体の体積Vを算出する際の高さは高さベクトルmの大きさよりも小さくなる。したがって、面積で生じた差異は、体積Vを算出する際に調整され、体積Vには点群データの検出誤差による影響が反映されにくくなる。
【0040】
図1に示した面積・体積算出手段35は、
図6の各形状線44に対応する点のそれぞれについて、体積Vを算出する(
図5のステップ102)。このことにより、正の値と負の値とが混在した体積Vの集合体が得られる。この後は、
図1に示した階調化手段36により、平行六面体の各体積Vについて0~255(256階調)の階調値に階調化を行う(
図5のステップ103)。階調値Gは、下記式(1)で算出される。算出値の端数は処理して、体積Vを0~255の整数に変換する。Vmaxは最大の体積値、Vminは最小の体積値、Vは計算対象の体積値である。
【0041】
【0042】
図10は、体積Vと階調値Gとの関係を示した図である。階調化により、VminからVmaxまでの範囲内の体積Vは、0~255の範囲内の階調値に変換される。式(1)の255/(Vmax-Vmin)の部分は、VminからVmaxまでの範囲内を255等分したときの隣接する目盛り間の長さとなる。
図10の目盛りは便宜上の図示であり、正確に255等分したものではない。
【0043】
図10において、階調値が0から増加するにつれて、階調値に対応する色は黒からグレーに変化しさらに白に変化する。前記のように、体積Vを階調値Gに変換することにより、点群の各点を濃淡で表すことができ、点群全体すなわち被検査物全体を濃淡画像で表すことができる。
図11は、横長の溶接ビードが形成された被検査物の濃淡画像を示している。
【0044】
一方、
図10から分かるように、体積Vが負方向で大きくなると階調値は0に近づき、体積Vが正方向で大きくなると階調値は255に近づく。また、体積Vがゼロに近づくと、階調値は127又は128に近づく。この点について、
図12を参照しながら説明を補足する。
図12は、
図3(c)に示した形状線24の点群の拡大図である。b部において線分ベクトルpは、単位ベクトルである形状線ベクトルlの上側にある。この位置関係は
図9と同じであり、点60に対応する体積Vは負となる。また、線分ベクトルpは凸状部の境界近傍のベクトルであり、傾斜があり傾斜が大きくなると体積Vも大きな値となる。
【0045】
これに対して、d部においては線分ベクトルpは、単位ベクトルである形状線ベクトルlの下側にある。この位置関係は
図8と同じであり、点62に対応する体積Vは正となる。また、d部における線分ベクトルpは凸状部の境界近傍ベクトルであり、傾斜があり傾斜が大きくなると体積Vも大きな値となる。c部においては線分ベクトルpの方向は、形状線ベクトルlの方向とほぼ一致しており、体積Vは正負いずれであってもゼロに近い小さな値となる。
【0046】
すなわち、凸状部において、一端側の境界部においては、体積Vは正の比較的大きな値となる。これは
図10のVmax近傍に対応しており、体積Vが大きくなるほど、階調値は255に近い値となる。一方、他端側の境界部においては、体積Vは負の比較的大きな値となる。これは
図10のVminに対応しており、体積Vが大きくなるほど、階調値は0に近い値となる。また、凸状部の中央部においては、体積Vは小さな値となる。これは
図10の0近傍に対応しており、体積Vがゼロに近づくほど、階調値は127又は128に近づいていく。
【0047】
したがって、階調値が255に近い所定の範囲内に一端側の境界が含まれ、階調値が0に近い所定の範囲内に他端側の境界が含まれるとみなすことができる。本実施形態は、この点に着目し、凸状部の境界を検出するようにしている。この点について、
図13を参照しながら説明する。
【0048】
図13は、階調値Gと度数(画素数)との関係を示した度数分布図である。度数分布の算出は、
図1に示した度数分布算出手段37により行う(
図5のステップ104)。度数は特定の階調値Gである点の数である。
図13において階調値127又は128近傍で度数が突出しており、両端部近傍で度数が小さくなっている。前記の通り、階調値が255に近い所定の範囲内と、階調値が0に近い所定の範囲内に境界が含まれるとみなすことができる。所定の範囲は、操作者が分布図から判断してもよく、経験値等に基づいて予め設定した基準に基づいて制御部31が判断してもよい。
【0049】
図13では、階調値が0から閾値G1の範囲と、閾値G2から255の範囲を境界が含まれる範囲とみなしている。この後、
図1に示した境界検出手段38により、二値化処理を実施し境界が含まれる範囲を検出した上で境界を検出する(
図5のステップ105)。具体的には、
図13において、前記のように境界が含まれる範囲とみなした階調値が0から閾値G1の範囲と、閾値G2から255の範囲を白とし、これ以外のG1からG2までの範囲を黒とする。
【0050】
このことにより、点群の各点を白又は黒で表すことができ、点群全体すなわち被検査物全体を白黒画像で表すことができる。
図14は、
図13に示した被検査物について二値化処理を実施後の画像を示している。
図14において、白の部分が境界が含まれる範囲とみなされる領域である。この領域は幅を有しているが、幅の中心線等を演算処理で求めることにより、境界を求めることができる。前記の演算処理は、事前の試験等で決定しておけばよい。
【0051】
図13に示した度数分布図及び
図14に示した二値化処理実施後の画像は、
図1に示した表示部33に表示されるので、操作者は、閾値G1及び閾値G2を
図1に示した入力部32により適宜変更して、変更後の二値化処理実施後の画像を見ながら、最適な閾値G1及び閾値G2を決定してもよい。
【0052】
以上、本発明の一本実施形態について説明したが、本発明においては、点群データ中の隣接する2点を繋ぐ線分ベクトルについて、線分ベクトル自体の傾斜を検出しながら被検査物の境界を検出するのではなく、線分ベクトルを正負を区別した体積に変換し、この体積を階調化し、階調値の分布に基づいて境界の含まれる範囲を検出した上で境界を検出することになる。線分ベクトルを体積に変換することにより、線分ベクトルの傾斜が小さいなだらかな境界であっても、線分ベクトルの傾きが強調され、安定して正確な境界の検出を行うことができる。
【0053】
また、体積を階調化し、階調値の分布に基づいて境界の含まれる範囲を検出した上で境界を検出することより、ノイズを除去するフィルタ処理を行った上で境界を検出することができ、この点においても安定して正確な境界の検出を行うことができる。なお、ノイズが残留した場合は、二値化後の画像に面積の小さな白点又は黒点として現れるが、これらはノイズとみなして除去すればよい。
【0054】
さらに、本発明における階調化は、前記の通り、線分ベクトルに基づく平行六面体の体積に基づいており、光の光量によるものではないので、光源の強度、向きにより影響を受けることはなく、このことも安定して正確な境界の検出に有利になる。
【0055】
以上、本発明の一実施形態について説明したが、本発明はこれに限るものではなく、適宜変更したものであってもよい。前記実施形態では、面積・体積算出手段35は、最終的には体積を算出しているが、
図5のステップ102において、算出は平行四辺形の面積S(
図8参照)に留め、
図5のステップ103においては、平行四辺形の面積Sを階調化してもよい。前記の通り、体積Vを算出することにより、点群データの検出誤差による影響が反映されにくくなるが、検出誤差が問題とならない場合には、面積Sを階調化してもよい
【0056】
また、前記実施形態においては、形状線ベクトルl及び高さベクトルmは、単位ベクトルの例で説明したが、大きさが固定されていればよく、単位ベクトルに限るものではない。
【符号の説明】
【0057】
10 形状検査装置
12 撮像光学系
13 レーザ光源
14 計測カメラ
20,42 被検査物
21 凸状部
22,23,24,44 形状線
30 形状処理部
31 制御部
34 点群データ取得手段
35 面積・体積算出手段
36 階調化手段
37 度数分布算出手段
38 境界検出手段
43 溶接ビード
【手続補正書】
【提出日】2020-10-02
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
被検査物の形状を検査する形状検査装置であって、
制御部と、
被検査物にスリット光を投射する投射手段と、
前記スリット光の走査により被検査物上に順次形成される形状線を撮像する撮像手段と、
前記順次形成された各形状線の撮像データに基づいて、被検査物の三次元形状を点群データとして取得する点群データ取得手段と、
前記形状線が延びる方向の直線に沿ったベクトルを形状線ベクトル、前記形状線ベクトルの始点から垂直に立ち上がる垂直ベクトルの周りに前記形状線ベクトルをπ/2回転させたベクトルを高さベクトル、前記点群データ中の隣接する2点を繋ぐ線分のベクトルを線分ベクトルとしたときに、
前記線分ベクトル及び前記形状線ベクトルで作る平行四辺形について、前記線分ベクトルと前記形状線ベクトルの外積により正負を区別した面積、又は前記線分ベクトル、前記形状線ベクトル及び前記高さベクトルで作る平行六面体について、前記外積と前記高さベクトルの内積により正負を区別した体積を算出する面積・体積算出手段と、
前記面積又は前記体積を階調値に階調化する階調化手段と、
前記階調値に対応する前記点群データの度数分布を算出する度数分布算出手段と、
前記被検査物の境界を検出する境界検出手段とを備えており、
前記境界検出手段は、前記度数分布において、前記制御部により決定した前記境界が含まれる範囲の中から前記境界を検出することを特徴とする形状検査装置。
【請求項2】
前記境界検出手段は、前記境界が含まれる範囲とこれ以外の範囲とを2階調に2値化し、前記被検査物の2値化画像を出力する請求項1に記載の形状検査装置。
【請求項3】
被検査物の形状を検査する形状検査方法であって、
被検査物にスリット光を投射し、
前記スリット光の走査により被検査物上に順次形成される形状線を撮像し、
前記順次形成された各形状線の撮像データに基づいて、被検査物の三次元形状を点群データとして取得し、
前記形状線が延びる方向の直線に沿ったベクトルを形状線ベクトル、前記形状線ベクトルの始点から垂直に立ち上がる垂直ベクトルの周りに前記形状線ベクトルをπ/2回転させたベクトルを高さベクトル、前記点群データ中の隣接する2点を繋ぐ線分のベクトルを線分ベクトルとしたときに、
前記線分ベクトル及び前記形状線ベクトルで作る平行四辺形について、前記線分ベクトルと前記形状線ベクトルの外積により正負を区別した面積、又は前記線分ベクトル、前記形状線ベクトル及び前記高さベクトルで作る平行六面体について、前記外積と前記高さベクトルの内積により正負を区別した体積を算出し、
前記面積又は前記体積を階調値に階調化し、
前記階調値に対応する前記点群データの度数分布を算出し、
前記度数分布において、前記被検査物の境界が含まれる範囲を決定し、
前記境界が含まれる範囲の中から前記境界を検出することを特徴とする形状検査方法。
【請求項4】
前記境界が含まれる範囲とこれ以外の範囲とを2階調に2値化し、前記被検査物の2値化画像を出力する請求項3に記載の形状検査方法。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0007
【補正方法】変更
【補正の内容】
【0007】
前記目的を達成するために、本発明の形状検査装置は、被検査物の形状を検査する形状検査装置であって、制御部と、被検査物にスリット光を投射する投射手段と、前記スリット光の走査により被検査物上に順次形成される形状線を撮像する撮像手段と、前記順次形成された各形状線の撮像データに基づいて、被検査物の三次元形状を点群データとして取得する点群データ取得手段と、前記形状線が延びる方向の直線に沿ったベクトルを形状線ベクトル、前記形状線ベクトルの始点から垂直に立ち上がる垂直ベクトルの周りに前記形状線ベクトルをπ/2回転させたベクトルを高さベクトル、前記点群データ中の隣接する2点を繋ぐ線分のベクトルを線分ベクトルとしたときに、前記線分ベクトル及び前記形状線ベクトルで作る平行四辺形について、前記線分ベクトルと前記形状線ベクトルの外積により正負を区別した面積、又は前記線分ベクトル、前記形状線ベクトル及び前記高さベクトルで作る平行六面体について、前記外積と前記高さベクトルの内積により正負を区別した体積を算出する面積・体積算出手段と、前記面積又は前記体積を階調値に階調化する階調化手段と、前記階調値に対応する前記点群データの度数分布を算出する度数分布算出手段と、前記被検査物の境界を検出する境界検出手段とを備えており、前記境界検出手段は、前記度数分布において、前記制御部により決定した前記境界が含まれる範囲の中から前記境界を検出することを特徴とする。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0039
【補正方法】変更
【補正の内容】
【0039】
しかし、平行四辺形54が平行四辺形53に対して傾斜したものとなることにより、平行四辺形54と高さベクトルmは直交しなくなり、平行四辺形54に対応する平行六面体の体積Vを算出する際の高さは高さベクトルmの大きさよりも小さくなる。したがって、面積で生じた差異は、体積Vを算出する際に調整され、体積Vには点群データの検出誤差による影響が反映されにくくなる。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0052
【補正方法】変更
【補正の内容】
【0052】
以上、本発明の一実施形態について説明したが、本発明においては、点群データ中の隣接する2点を繋ぐ線分ベクトルについて、線分ベクトル自体の傾斜を検出しながら被検査物の境界を検出するのではなく、線分ベクトルを正負を区別した体積に変換し、この体積を階調化し、階調値の分布に基づいて境界の含まれる範囲を検出した上で境界を検出することになる。線分ベクトルを体積に変換することにより、線分ベクトルの傾斜が小さいなだらかな境界であっても、線分ベクトルの傾きが強調され、安定して正確な境界の検出を行うことができる。