(57)【要約】【課題】  キャリブレーション画像から基準点の座標を特定する処理に必要な計算量を少なくする。【解決手段】  この形状計測装置１０は、撮影装置１６によって撮影される格子パターンの画像から、キャリブレーション用の基準点の位置データを算出する演算装置２２を有している。格子パターンは、第１方向に間隔を空けて配置されている第１直線群と、第１方向と交差する第２方向に間隔を空けて配置されている第２直線群とを有している。演算装置は、撮影された格子パターンの画像から、第１直線群に相当する第１曲線群を抽出し、また、第２直線群に相当する第２曲線群を抽出する。次いで、各第１曲線を包含する第１領域を抽出すると共に、各第２曲線を包含する第２領域を抽出する。そして、抽出した第１領域及び第２領域内において、第１曲線と第２曲線との各交点の座標を特定する。【選択図】  図１
2014035196.tif 000002
【特許請求の範囲】
【請求項１】
ワークの形状を計測する計測装置であり、
撮影装置と、
撮影装置によって撮影される格子パターンの画像から、キャリブレーション用の基準点の位置データを算出する演算装置と、を有しており、
格子パターンは、第１方向に間隔を空けて配置されている第１直線群と、第１方向と交差する第２方向に間隔を空けて配置されている第２直線群とを有しており、
演算装置は、
撮影された格子パターンの画像から、前記第１直線群に相当する第１曲線群を抽出する第１曲線群抽出手段と、
撮影された格子パターンの画像から、前記第２直線群に相当する第２曲線群を抽出する第２曲線群抽出手段と、
抽出された第１曲線群に含まれる各第１曲線を直線に近似する第１直線近似手段と、
抽出された第２曲線群に含まれる各第２曲線を直線に近似する第２直線近似手段と、
第１直線近似手段で近似された各直線を第１方向にシフトさせて、対応する第１曲線を包含する第１領域を抽出する第１領域抽出手段と、
第２直線近似手段で近似された各直線を第２方向にシフトさせて、対応する第２曲線を包含する第２領域を抽出する第２領域抽出手段と、
第１領域抽出手段で抽出した第１領域及び第２領域抽出手段で抽出した第２領域内において、第１曲線群を構成する各曲線と第２曲線群を構成する各曲線との各交点の座標を特定して、基準点の位置データを算出する位置データ算出手段と、
を有する形状計測装置。
【請求項２】
位置データ算出手段は、
第１領域抽出手段で抽出された第１領域を第２方向に複数の第１分割領域に分割すると共に、第２領域抽出手段で抽出された第２領域を第１方向に複数の第２分割領域に分割し、
分割された第１分割領域のそれぞれにおいて、当該第１分割領域内に位置する第１曲線を直線に近似して第１分割直線を特定すると共に、分割された第２分割領域のそれぞれにおいて、当該第２分割領域内に位置する第２曲線を直線に近似して第２分割直線を特定し、
第１分割直線と第２分割直線の交点の座標を特定することで、基準点の位置データを算出する、請求項１に記載の形状計測装置。
【請求項３】
第１直線近似手段は、第1曲線をＨｏｕｇｈ変換によりρ−θ平面に投影し、ρ−θ平面に投影された各点の重心を求めることで直線に近似し、
第２直線近似手段は、第２曲線をＨｏｕｇｈ変換によりρ−θ平面に投影し、ρ−θ平面に投影された各点の重心を求めることで直線に近似する、請求項1又は２に記載の形状計測装置。
【請求項４】
第１直線近似手段は、ρ−θ平面に投影された各点を、ρ−θ平面の濃度値のｎ乗で重み付けした重心を求めることで直線に近似し、
第２直線近似手段は、ρ−θ平面に投影された各点を、ρ−θ平面の濃度値のｎ乗で重み付けした重心を求めることで直線に近似する、請求項３に記載の形状計測装置。
【請求項５】
第１方向に間隔を空けて配置されている複数の第１直線群と、第１方向と交差する第２方向に間隔を空けて配置されている複数の第２直線群とを有する格子パターンを撮影した画像から、キャリブレーション用の基準点の位置データを算出する方法であり、コンピュータに下記の処理、即ち、
撮影された格子パターンの画像から、第１直線群に相当する第１曲線群を抽出する第１曲線群抽出処理と、
撮影された格子パターンの画像から、第２直線群に相当する第２曲線群を抽出する第２曲線群抽出処理と、
抽出された第１曲線群に含まれる各第１曲線を直線に近似する第１直線近似処理と、
抽出された第２曲線群に含まれる各第２曲線を直線に近似する第２直線近似処理と、
第１直線近似処理で近似された各直線を第１方向にシフトさせて、対応する第１曲線を包含する第１領域を抽出する第１領域抽出処理と、
第２直線近似処理で近似された各直線を第２方向にシフトさせて、対応する第２曲線を包含する第２領域を抽出する第２領域抽出処理と、
第１領域抽出処理で抽出した第１領域及び第２領域抽出処理で抽出した第２領域内において、第１曲線群を構成する各曲線と第２曲線群を構成する各曲線との各交点の座標を特定して、基準点の位置データを算出する位置データ算出処理と、
を実行させる位置データ算出方法。
【請求項６】
第１方向に間隔を空けて配置されている複数の第１直線群と、第１方向と交差する第２方向に間隔を空けて配置されている複数の第２直線群とを有する格子パターンを撮影した画像から、キャリブレーション用の基準点の位置データを算出するためのプログラムであり、コンピュータに下記の処理、即ち、
撮影された格子パターンの画像から、第１直線群に相当する第１曲線群を抽出する第１曲線群抽出処理と、
撮影された格子パターンの画像から、第２直線群に相当する第２曲線群を抽出する第２曲線群抽出処理と、
抽出された第１曲線群に含まれる各第１曲線を直線に近似する第１直線近似処理と、
抽出された第２曲線群に含まれる各第２曲線を直線に近似する第２直線近似処理と、
第１直線近似処理で近似された各直線を第１方向にシフトさせて、対応する第１曲線を包含する第１領域を抽出する第１領域抽出処理と、
第２直線近似処理で近似された各直線を第２方向にシフトさせて、対応する第２曲線を包含する第２領域を抽出する第２領域抽出処理と、
第１領域抽出処理で抽出した第１領域及び第２領域抽出処理で抽出した第２領域内において、第１曲線群を構成する各曲線と第２曲線群を構成する各曲線との各交点の座標を特定して、基準点の位置データを算出する位置データ算出処理と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示の技術は、撮影したワークの画像からワーク形状を計測する形状計測装置に関する。
【背景技術】
【０００２】
工業部品等のワークを撮影装置によって撮影し、その撮影したワーク画像からワークの形状を計測する形状計測装置が開発されている。この形状計測装置では、撮影装置の機構等に起因して撮影された画像に歪みが生じるため、画像の歪みを補正する処理が必要となる。画像の歪みを補正するには、画像内の位置情報（座標値）と、実際の位置とを結びつけるためのキャリブレーションが必要となる。
【０００３】
キャリブレーションでは、まず、寸法が既知のパターン（例えば、市松模様、ドットパターン等）が印刷されたキャリブレーションボードを用意する。次いで、キャリブレーションボードを撮影し、撮影されたキャリブレーション画像から基準点（例えば、市松模様の交点）の座標を特定する。キャリブレーションボードのパターンは寸法が既知であるため、基準点の実際の位置（例えば、市松模様の交点の位置）も既知である。したがって、撮影されたキャリブレーション画像内における基準点の座標と、その基準点の実際の位置とを対応付けることで、画像の歪みを補正することができる。なお、特許文献１には、キャリブレーションに関する従来技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２９２６１９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の技術では、キャリブレーション画像内の基準点の座標を特定するために、キャリブレーション画像内に適宜の大きさの正方形状のウィンドウを設定する。そして、キャリブレーション画像内でウィンドウを走査し、これによって基準点の座標を特定する。したがって、特許文献１の技術では、キャリブレーション画像の全体に対してウィンドウを走査するため、その計算量が大きくなるという問題がある。
【０００６】
本明細書は、キャリブレーション画像から基準点の座標を特定する処理に必要な計算量を少なくすることができる技術を開示する。
【課題を解決するための手段】
【０００７】
本明細書が開示する形状計測装置は、ワークの形状を計測する計測装置である。この形状計測装置は、撮影装置と、撮影装置によって撮影される格子パターンの画像から、キャリブレーション用の基準点の位置データを算出する演算装置を有している。格子パターンは、第１方向に間隔を空けて配置されている第１直線群と、第１方向と交差する第２方向に間隔を空けて配置されている第２直線群とを有している。演算装置は、撮影された格子パターンの画像から、前記第１直線群に相当する第１曲線群を抽出する第１曲線群抽出手段と、撮影された格子パターンの画像から、前記第２直線群に相当する第２曲線群を抽出する第２曲線群抽出手段と、抽出された第１曲線群に含まれる各第１曲線を直線に近似する第１直線近似手段と、抽出された第２曲線群に含まれる各第２曲線を直線に近似する第２直線近似手段と、第１直線近似手段で近似された各直線を第１方向にシフトさせて、対応する第１曲線を包含する第１領域を抽出する第１領域抽出手段と、第２直線近似手段で近似された各直線を第２方向にシフトさせて、対応する第２曲線を包含する第２領域を抽出する第２領域抽出手段と、第１領域抽出手段で抽出した第１領域及び第２領域抽出手段で抽出した第２領域内において、第１曲線群を構成する各曲線と第２曲線群を構成する各曲線との各交点の座標を特定して、基準点の位置データを算出する位置データ算出手段と、を有している。
【０００８】
この形状計測装置では、格子パターンを撮影した画像（キャリブレーション画像）から第１曲線群及び第２曲線群を抽出し、これらの曲線を直線で近似する。そして、近似した直線を第１方向又は第２方向にシフトさせて、対応する第１曲線又は第２曲線を包含する領域（第１領域又は第２領域）を抽出する。そして、抽出された第１領域と第２領域の内部で、基準点の位置データを特定する。したがって、キャリブレーション画像から基準点が含まれる比較的に狭い領域を抽出し、この抽出した領域内において基準点の座標を特定する。その結果、基準点の座標を特定する処理に必要となる計算量を少なくすることができる。
【０００９】
また、本明細書は、キャリブレーション画像から基準点の位置データを算出する方法を開示する。ここで、キャリブレーション画像は、第１方向に間隔を空けて配置されている複数の第１直線群と、第１方向と交差する第２方向に間隔を空けて配置されている複数の第２直線群とを有する格子パターンを撮影した画像である。この算出方法は、コンピュータに下記の処理、即ち、撮影された格子パターンの画像から、第１直線群に相当する第１曲線群を抽出する第１曲線群抽出処理と、撮影された格子パターンの画像から、第２直線群に相当する第２曲線群を抽出する第２曲線群抽出処理と、抽出された第１曲線群に含まれる各第１曲線を直線に近似する第１直線近似処理と、抽出された第２曲線群に含まれる各第２曲線を直線に近似する第２直線近似処理と、第１直線近似処理で近似された各直線を第１方向にシフトさせて、対応する第１曲線を包含する第１領域を抽出する第１領域抽出処理と、第２直線近似処理で近似された各直線を第２方向にシフトさせて、対応する第２曲線を包含する第２領域を抽出する第２領域抽出処理と、第１領域抽出処理で抽出した第１領域及び第２領域抽出処理で抽出した第２領域内において、第１曲線群を構成する各曲線と第２曲線群を構成する各曲線との各交点の座標を特定して、基準点の位置データを算出する位置データ算出処理と、を実行させる。
【００１０】
この方法によっても、キャリブレーション画像から抽出した比較的に狭い領域内で、基準点の座標（位置データ）を算出する。したがって、基準点の座標を特定する処理に必要となる計算量を少なくすることができる。
【００１１】
また、本明細書は、キャリブレーション画像から基準点の位置データを算出するためのプログラムを開示する。ここで、キャリブレーション画像は、第１方向に間隔を空けて配置されている複数の第１直線群と、第１方向と交差する第２方向に間隔を空けて配置されている複数の第２直線群とを有する格子パターンを撮影した画像である。このプログラムは、コンピュータに下記の処理、即ち、撮影された格子パターンの画像から、第１直線群に相当する第１曲線群を抽出する第１曲線群抽出処理と、撮影された格子パターンの画像から、第２直線群に相当する第２曲線群を抽出する第２曲線群抽出処理と、抽出された第１曲線群に含まれる各第１曲線を直線に近似する第１直線近似処理と、抽出された第２曲線群に含まれる各第２曲線を直線に近似する第２直線近似処理と、第１直線近似処理で近似された各直線を第１方向にシフトさせて、対応する第１曲線を包含する第１領域を抽出する第１領域抽出処理と、第２直線近似処理で近似された各直線を第２方向にシフトさせて、対応する第２曲線を包含する第２領域を抽出する第２領域抽出処理と、第１領域抽出処理で抽出した第１領域及び第２領域抽出処理で抽出した第２領域内において、第１曲線群を構成する各曲線と第２曲線群を構成する各曲線との各交点の座標を特定して、基準点の位置データを算出する位置データ算出処理を実行させる。
【００１２】
このプログラムにより、コンピュータを用いて、キャリブレーション画像から基準点の位置データを、少ない計算量で算出することができる。
【図面の簡単な説明】
【００１３】
【図１】形状計測装置の構成を示す図。
【図２】キャリブレーションの手順を示すフローチャート。
【図３】露光時間決定処理の手順を示すフローチャート。
【図４】歪み量算出処理の手順を示すフローチャート。
【図５】撮影されたキャリブレーション画像の一例を示す図。
【図６】撮影された画像から得られた垂直方向エッジ強調画像の一例を示す図。
【図７】撮影された画像から得られた水平方向エッジ強調画像の一例を示す図。
【図８】ρ−θ空間上の処理を説明するための図。
【図９】垂直方向の処理対象領域の一例を示す図。
【図１０】水平方向の処理対象領域の一例を示す図。
【図１１】垂直方向エッジ強調画像を垂直方向に分割した状態を示す図。
【図１２】垂直方向エッジ強調画像の歪み量を算出する処理を説明するための図。
【図１３】水平方向エッジ強調画像の歪み量を算出する処理を説明するための図。
【図１４】キャリブレーションデータ作成処理の手順を示すフローチャート。
【図１５】キャリブレーション画像と、そのキャリブレーション画像から得られた基準点を示す図。
【図１６】ワークの形状を計測する処理の手順を示すフローチャート。
【図１７】ワークの厚み補正の考えを説明するための図。
【図１８】画像の歪み補正処理を説明するための図。
【図１９】画像の歪み補正処理を説明するための図。
【図２０】露光時間を変えて撮影したキャリブレーション画像を示す図。
【図２１】露光時間決定処理の他の手順を示すフローチャート。
【図２２】露光時間決定処理の他の手順を示すフローチャート。
【図２３】キャリブレーションボードの撮影面に印刷されるパターンの他の例。
【発明を実施するための形態】
【００１４】
以下、本明細書で開示する実施例の技術的特徴の幾つかを記載する。なお、以下に記載する事項は、各々単独で技術的な有用性を有している。
【００１５】
（特徴１）本明細書で開示する実施例では、位置データ算出手段は、第１領域抽出手段で抽出された第１領域を第２方向に複数の第１分割領域に分割すると共に、第２領域抽出手段で抽出された第２領域を第１方向に複数の第２分割領域に分割してもよい。また、位置データ算出手段は、分割された第１分割領域のそれぞれにおいて、当該第１分割領域内に位置する第１曲線を直線に近似して第１分割直線を特定すると共に、分割された第２分割領域のそれぞれにおいて、当該第２分割領域内に位置する第２曲線を直線に近似して第２分割直線を特定してもよい。そして、位置データ算出手段は、第１分割直線と第２分割直線の交点の座標を特定することで、基準点の位置データを算出してもよい。このような構成によると、基準点の位置データを効率的に算出することができる。
【００１６】
（特徴２）本明細書で開示する実施例では、第１直線近似手段は、第1曲線をＨｏｕｇｈ変換によりρ−θ平面に投影し、ρ−θ平面に投影された各点の重心を求めることで直線に近似してもよい。また、第２直線近似手段は、第２曲線をＨｏｕｇｈ変換によりρ−θ平面に投影し、ρ−θ平面に投影された各点の重心を求めることで直線に近似してもよい。こうような構成によると、ノイズが含まれた画像から好適に近似直線を得ることができる。
【００１７】
（特徴３）本明細書で開示する実施例では、第１直線近似手段は、ρ−θ平面に投影された各点を、ρ−θ平面の濃度値のｎ乗で重み付けした重心を求めることで直線に近似してもよい。また、第２直線近似手段は、ρ−θ平面に投影された各点を、ρ−θ平面の濃度値のｎ乗で重み付けした重心を求めることで直線に近似してもよい。このような構成によると、安定して近似直線を得ることができる。
【実施例１】
【００１８】
本実施例の形状計測装置１０は、ワーク（例えば、渦巻きばね等）を撮影し、撮影した画像からワークの形状を計測する。形状計測装置１０は、例えば、工業製品を出荷する際の形状検査に用いられる。図１に示すように、形状計測装置１０は、ステージ１２と、ステージ１２に固定されているＣＣＤカメラ１６と、ＣＣＤカメラ１６に通信線１８を介して接続されているコンピュータ２２と、コンピュータ２２に接続されているディスプレイ２０及び入力装置２４（例えば、キーボード等）を備えている。
【００１９】
ステージ１２上には、較正時にキャリブレーションボード１４が載置され、形状計測時にはワーク（図示しない）が載置される。ＣＣＤカメラ１６は、ステージ１２上に配置されており、ステージ１２上に載置されたキャリブレーションボード１４又はワークを撮影する。ＣＣＤカメラ１６は、撮影時の露光時間が調整可能となっている。なお、ステージ１２上に載置されたキャリブレーションボード１４又はワークは、図示しない照明器によって照明されるようになっている。
【００２０】
ＣＣＤカメラ１６が撮影した画像データは、通信線１８を介してコンピュータ２２に入力される。また、コンピュータ２２には、入力装置２４からワークの厚みが入力される。コンピュータ２２には、後述する各種処理を実行するためのプログラムが記憶されている。コンピュータ２２は、ＣＣＤカメラ１６が撮影したキャリブレーションボード１４の画像データを処理してキャリブレーションデータを作成し、また、ＣＣＤカメラ１６が撮影したワークの画像データを処理してワークの形状を計測する。コンピュータ２２は、計測されたワークの形状データをディスプレイ２０に表示する。
【００２１】
図２は、形状計測装置１０によるキャリブレーションデータを作成する処理の流れを示すフローチャートである。形状計測装置１０は、図２に示す各処理を経て、キャリブレーションデータを作成する。以下、図２に示すフローチャートに沿って、形状計測装置１０による処理の流れを説明する。
【００２２】
まず、図２のステップＳ１０において、作業者は、キャリブレーションボード１４をステージ１２上の撮影位置にセットする。キャリブレーションボード１４の撮影面には、寸法が既知のパターン（例えば、格子パターン、ドットパターン等）が形成されている。本実施例では、図５に示すように、キャリブレーションボード１４の撮影面には市松模様が印刷されている。ステップＳ１０では、キャリブレーションボード１４の撮影面（パターン）がＣＣＤカメラ１６で撮影されるように、キャリブレーションボード１４をステージ１２上にセットする。
【００２３】
次に、図２のステップＳ２０では、ＣＣＤカメラ１６でキャリブレーションボード１４を撮影するときの露光時間を決定する処理を行う。すなわち、図２０に示すように、露光時間が短すぎると、ＣＣＤカメラ１６で撮影される画像内のキャリブレーションボード１４のパターンが不鮮明となる。また、露光時間が長すぎても、ＣＣＤカメラ１６で撮影される画像内のキャリブレーションボード１４のパターンが不鮮明となる。画像内のパターンが不鮮明であると、得られるキャリブレーションデータも不正確な値となる。そこで、ステップＳ２０を実行することで、撮影時の露光時間を決定する。
【００２４】
図３は、露光時間決定処理（図２のステップＳ２０の処理）の流れを示すフローチャートである。まず、図３のステップＳ２２において、コンピュータ２２は、ＣＣＤカメラ１６の露光時間を初期値に設定する。次いで、図３のステップＳ２４では、ＣＣＤカメラ１６によってキャリブレーションボード１４を撮影する。これによって、図５に示すキャリブレーション画像３０が取得される。キャリブレーション画像３０では、白色の正方形状の白色領域３２と、黒色の正方形状の黒色領域３４が、ｘｙ方向に交互に配置されている。なお、ＣＣＤカメラ１６で撮影された画像（キャリブレーション画像）は、コンピュータ２２に入力される。
【００２５】
次に、図３のステップＳ２６では、コンピュータ２２は、ステップＳ２４で撮影されたキャリブレーション画像３０の歪み量を算出する。歪み量は、露光時間が適切であるか否かを評価するために用いられるパラメータである。すなわち、図２０に例示するように、露光時間が短いと、キャリブレーション画像３０内の黒色領域３４が膨らむ。一方、露光時間が長いと、キャリブレーション画像３０内の白色領域３２が膨らむ。このため、露光時間が適切でないと、白色領域３２と黒色領域３４の四角形状の歪みが大きくなる。したがって、キャリブレーション画像３０の歪み量を算出することで、露光時間が適切か否かを評価する。
【００２６】
図４は、歪み量を算出する処理の流れを示すフローチャートである。まず、図４のステップＳ３８では、コンピュータ２２は、ステップＳ２４で撮影されたキャリブレーション画像から、水平方向（ｘ方向）及び垂直方向（ｙ方向）のエッジ強調画像を作成する。すなわち、コンピュータ２２は、図５に示すキャリブレーション画像３０の白色領域３２と黒色領域３４の境界線のうち、図６に示すように垂直方向（ｙ方向）の境界線３８を強調した画像３６と、図７に示すように水平方向（ｘ方向）の境界線４２を強調した画像４０を作成する。図６に示すように、垂直方向エッジ強調画像３６には複数の垂直方向の境界線３８が含まれており、図７に示すように、水平方向エッジ強調画像４０には複数の水平方向の境界線４２が含まれている。エッジ強調画像３６，４０は、例えば、キャリブレーション画像３０にソベルフィルタをかけることで作成することができる。
【００２７】
次に、図４のステップＳ４０では、コンピュータ２２は、ステップＳ３８で作成した水平及び垂直方向エッジ強調画像４０，３６の境界線４２，３８から代表直線を算出する。すなわち、垂直方向エッジ強調画像３６の境界線３８は、ＣＣＤカメラ１６のレンズの歪み等のために湾曲しており、水平方向エッジ強調画像４０の境界線４２も、同様に湾曲している。ステップＳ４０では、これらのエッジ強調画像３６，４０の境界線３８，４２を直線近似することで、代表直線を算出する。
【００２８】
ここで、エッジ強調画像３６，４０の境界線３８，４２から代表直線を算出する方法としては、例えば、Ｈｏｕｇｈ変換を利用することができる。なお、垂直方向エッジ強調画像３６の境界線３８から代表直線を算出する方法と、水平方向エッジ強調画像４０の境界線４２から代表直線を算出する方法とは、同一であるため、ここでは、垂直方向エッジ強調画像３６の境界線３８から代表直線を算出する方法について説明する。
【００２９】
まず、垂直方向エッジ強調画像３６を２値化し、それをＨｏｕｇｈ変換する。Ｈｏｕｇｈ変換することで、ｘｙ平面上のデータが、図８（ａ）に示すようにρ−θ平面に展開される。図６に示すように、垂直方向エッジ強調画像３６には８本の境界線３８が含まれている。このため、図８（ａ）には８つのデータ群が存在する。次に、図８（ａ）のデータ群にガウスの窓をかけて平滑化し（図８（ｂ））、次いで、その平滑化したデータ群（図８（ｂ））を２値化し（図８（ｃ））、次いで、２値化したデータ群（図８（ｃ））をラベリングする（図８（ｄ））。そして、ラベルの面積が所定の閾値以上となるものを抽出する。次に、ρ−θ平面上で抽出した各ラベルの重心を算出する。重心の算出には、相加平均による重心算出の式を濃度値ｈ（θ，ρ）のｎ乗で重み付けした式を用いる。ｉ番目のラベル（ＬＡＢＥＬ(ｉ)）に対応する重み付け重心（θｃ（ｉ），ρｃ（ｉ））は、次の式（１）で算出される。ここで、Ｎｉは、ＬＡＢＥＬ（ｉ）に属する画素数である。ただし、ここでは垂直方向エッジ強調画像３６を２値化しているが、エッジ強調画像の濃淡値をそのままρ−θ平面に展開してもよい。
【００３０】
【数１】
2014035196.tif 000003
【００３１】
上記の式によりラベルの重心（θｃ（ｉ），ρｃ（ｉ））が算出されると、これを用いて下記の式（２）により代表直線に変換する。ここで、ａｉ＝ｃｏｓ（θｃ（ｉ）），ｂｉ＝ｓｉｎ（θｃ（ｉ）），ｃｉ＝ρｃ（ｉ）である。
【００３２】
【数２】
2014035196.tif 000004
【００３３】
上記のようにｘｙ平面上のデータをＨｏｕｇｈ変換によってρ−θ平面に展開することで、ノイズが含まれた画像から好適に代表直線を算出することができる。また、ρ−θ平面に展開された各点を濃度値のｎ乗で重み付けして得られた重心から代表直線を算出するため、安定して代表直線を算出することができる。
【００３４】
なお、本実施例では、各ラベルの重心を用いて直線を検出するため、一度に複数の直線を検出することができるという利点を有する。すなわち、Ｈｏｕｇｈ変換では、通常、ρ−θ平面から濃度最大点を１つ抽出し、これを１本の直線とする。したがって、Ｈｏｕｇｈ変換を用いた通常の方法では、一度に１本の直線しか検出できない。しかしながら、本実施例では、各ラベルの重心を用いて直線を検出するため、一度に複数の直線を検出することができる。
【００３５】
また、本実施例では、各点を濃度値のｎ乗で重み付けするため、検出される直線がぶれ難く、直線検出の繰り返し精度を高くすることができるという利点を有する。すなわち、キャリブレーションボード１４をＣＣＤカメラ１６で撮影すると、ＣＣＤカメラ１６のレンズの歪みによって、画像内の直線が湾曲する。湾曲した曲線をＨｏｕｇｈ変換によってρ−θ平面に写像すると、濃度最大点が定まらないことがある。その結果、従来の方法（濃度最大点から直線を検出する方法）では、検出した直線がぶれ易く、直線検出の繰り返し精度が低い。一方、本実施例では、各点を濃度値のｎ乗で重み付けするため、検出される直線がぶれ難くなり、直線検出の繰り返し精度を高めることができる。
【００３６】
次に、図４のステップＳ４２では、コンピュータ２２は、ステップＳ４０で得られた代表直線を用いて処理対象領域を決定する。すなわち、図９に示すように、代表直線を水平方向にシフトした直線４６ａ，４６ｂによって挟まれる領域４６に垂直方向境界線３８が含まれるようにする。そして、シフトした直線４６ａ，４６ｂによって挟まれる領域４６を処理対象領域とする。水平方向境界線４２に対しても同様に、図１０に示すように、代表直線を垂直方向にシフトした直線４８ａ，４８ｂによって挟まれる領域４８に水平方向境界線４２が含まれるようにする。そして、シフトした直線４８ａ，４８ｂによって挟まれる領域４８を処理対象領域とする。
【００３７】
次に、図４のステップＳ４４では、コンピュータ２２は、エッジ強調画像３６，４０を複数の領域に分割する。具体的には、図１１に示すように、垂直方向エッジ強調画像３６を、水平方向に伸びる切断線５０（ｌ０〜ｌＪ）によって垂直方向にＪ等分する（図１１ではＪ＝７）。これによって、垂直方向に伸びる境界線３８が、垂直方向にＪ等分される。同様に、水平方向エッジ強調画像４０に対して、図１３に示すように、垂直方向に伸びる切断線５２（ｍ０〜ｍＩ）によって水平方向にＩ等分する。これによって、水平方向に伸びる境界線４２が、水平方向にＩ等分される。
【００３８】
次に、図４のステップＳ４６では、コンピュータ２２は、ステップＳ４４で分割された各領域において、境界線３８，４２を直線近似する。すなわち、図１２に示すように、垂直方向エッジ強調画像３６は、ステップＳ４４によって垂直方向に分割されている。これによって、境界線３８及び処理対象領域４６も垂直方向に分割される。したがって、分割された各処理対象領域４６ｉ，ｊにおいて、分割された境界線３８ｉ，ｊを直線近似する。これによって、複数の分割境界線３８ｉ，ｊを直線近似した分割境界近似直線（ｘ＝αｉ，ｊｙ＋βｉ，ｊ（ｉ＝０〜７，ｊ＝０〜６））が得られる。なお、分割された境界線３８ｉ，ｊを直線近似する方法としては、最小二乗法や、既に説明したＨｏｕｇｈ変換を用いることができる。また、水平方向エッジ強調画像４０についても、図１３に示すように、水平方向に分割された各処理対象領域４８ｉ，ｊにおいて、分割された境界線４２ｉ，ｊを直線近似する。これによって、複数の分割境界線４２ｉ，ｊを直線近似した分割境界近似直線（ｙ＝Ａｉ，ｊｘ＋Ｂｉ，ｊ（ｉ＝０〜１２，ｊ＝０〜５））が得られる。なお、分割境界近似直線を算出する際は、計算対象領域が処理対象領域４６ｉ，ｊ，４８ｉ，ｊに限定されているため、計算処理量を大幅に軽減することができる。
【００３９】
次に、図４のステップＳ４８では、コンピュータ２２は、図３のステップＳ２４においてＣＣＤカメラ１６で撮影された画像の歪み量を算出する。具体的には、まず、図１２に示すように、垂直方向の境界線３８ｉ（すなわち、垂直方向に伸びるｉ番目（ｉ＝０〜７）の境界線３８）のそれぞれについて、ステップＳ４６で算出された垂直方向の分割境界近似直線（ｘ＝αｉ，ｊｙ＋βｉ，ｊ（ｉ＝０〜７，ｊ＝０〜６））のｘ切片の分散σβ２（ｉ）を算出する。ｘ切片の分散σβ２（ｉ）は、下記の式（３）により算出される。なお、βａｖｅ（ｉ）はｘ切片の平均である。また、Ｎｙは分割後の区間数である。
【００４０】
【数３】
2014035196.tif 000005
【００４１】
垂直方向の境界線３８ｉのそれぞれについて分散σβ２（ｉ）を算出すると、下記の式（４）によって、これらの分散σβ２（ｉ）の平均値σβ２ａｖｅを算出する。なお、Ｎｘは分割後の区間数である。
【００４２】
【数４】
2014035196.tif 000006
【００４３】
同様に、図１３に示すように、水平方向の境界線４２ｊ（すなわち、水平方向に伸びるｊ番目（ｊ＝０〜５）の境界線４２）のそれぞれについて、ステップＳ４６で算出された水平方向の分割境界近似直線（ｙ＝Ａｉ，ｊｘ＋Ｂｉ，ｊ（ｉ＝０〜１２，ｊ＝０〜５））のｙ切片の分散σＢ２（ｊ）を算出する。ｙ切片の分散σＢ２（ｊ）は、下記の式（５）により算出される。なお、Ｂａｖｅ（ｊ）はｙ切片の平均である。
【００４４】
【数５】
2014035196.tif 000007
【００４５】
水平方向の境界線４２ｊのそれぞれについて分散σＢ２（ｊ）を算出すると、下記の式（６）によって、これらの分散σＢ２（ｊ）の平均値σＢ２ａｖｅを算出する。
【００４６】
【数６】
2014035196.tif 000008
【００４７】
最後に、上記のように算出された垂直方向の境界線３８についての分散の平均値σβ２ａｖｅと、水平方向の境界線４２についての分散の平均値σＢ２ａｖｅとの和を、図３のステップＳ２４においてＣＣＤカメラ１６で撮影された画像の歪み量とする。
【００４８】
ここで、ステップＳ４８で算出される歪み量σ２の意味を簡単に説明しておく。図２０に示すように、露光時間が適切でないキャリブレーション画像３０では、黒色領域３４又は白色領域３２が膨らむ。一方、キャリブレーション画像３０では、白色領域３２と黒色領域３４とがｘｙ方向に交互に配置される。このため、露光時間が適切でないキャリブレーション画像３０では、エッジ強調画像３６，４０の境界線３８，４２が交互に左右又は上下方向にずれることとなる。したがって、垂直方向の境界線３８についての分散の平均値σβ２ａｖｅと、水平方向の境界線４２についての分散の平均値σＢ２ａｖｅとの和をとることで、キャリブレーション画像の露光時間が適切か否かを評価することができる。
【００４９】
ステップＳ４８で歪み量σ２が算出されると、図３のステップＳ２８に戻って、コンピュータ２２は、算出された歪み量σ２が最小歪み量σｍｉｎ２より小さいか否かを判断する。露光時間が初期値の場合は、コンピュータ２２のメモリ内に最小歪み量σｍｉｎ２が記憶されていないので、ステップＳ２６で算出された歪み量σ２が最小歪み量σｍｉｎ２より小さいと判断する。一方、露光時間が初期値でない場合は、コンピュータ２２のメモリ内に最小歪み量σｍｉｎ２が既に記憶されているので、ステップＳ２６で算出された歪み量σ２が記憶されている最小歪み量σｍｉｎ２より小さいか否かを判断する。
【００５０】
算出された歪み量σ２が最小歪み量σｍｉｎ２より小さい場合は、図３のステップＳ３０に進み、コンピュータ２２は、算出された歪み量σ２を最小歪み量σｍｉｎ２として記憶する。これによって、最小歪み量σｍｉｎ２が更新される。一方、算出された歪み量σ２が最小歪み量σｍｉｎ２より大きい場合は、図３のステップＳ３０をスキップしてステップＳ３２に進み、コンピュータ２２は、露光時間が終値になったか否かを判断する。
【００５１】
露光時間が終値となっていない場合は、図３のステップＳ３６に進み、コンピュータ２２は露光時間を変更し、ステップＳ２４からの処理を繰り返す。これによって、露光時間を変えてキャリブレーションボード１４が撮影され、その撮影されたキャリブレーション画像について歪み量σ２が算出され、最小歪み量σｍｉｎ２が更新されていくこととなる。一方、露光時間が終値となっている場合は、図３のステップＳ３４に進み、コンピュータ２２は、最小歪み量σｍｉｎ２が算出されたときの露光時間を、最終的な露光時間として決定する。これによって、予め定められた範囲内（すなわち、初期値〜終値）の露光時間の中から、適切な露光時間が決定される。
【００５２】
露光時間が決定されると、図２のステップＳ５０に進み、コンピュータ２２は、キャリブレーションデータ作成処理を実行する。キャリブレーションデータ作成処理について、図１４のフローチャートに沿って説明する。
【００５３】
まず、図１４のステップＳ５２では、コンピュータ２２は、図３のステップＳ３４で決定された露光時間で撮影されたキャリブレーション画像を特定する。そして、その特定したキャリブレーション画像に対して、図１４のステップＳ５４〜Ｓ６２の処理を実行する。ここで、ステップＳ５４〜Ｓ６２の処理は、図４のステップＳ３８〜Ｓ４６の処理と同一の処理である。したがって、ステップＳ５４〜Ｓ６２の処理を実行することで、垂直方向の複数の境界線３８に対して、分割境界近似直線（ｘ＝αｉ，ｊｙ＋βｉ，ｊ（ｉ＝０〜７，ｊ＝０〜６））が得られる。また、水平方向の複数の境界線４２に対して、分割境界近似直線（ｙ＝Ａｉ，ｊｘ＋Ｂｉ，ｊ（ｊ＝０〜５，ｉ＝０〜１２））が得られる。なお、図４のステップＳ４０〜Ｓ４６の処理を実行することで得られる分割境界近似直線を予め記憶しておけば、図１４のステップＳ５４〜Ｓ６２の処理を実行しなくてもよい。
【００５４】
次に、図１４のステップＳ６４では、コンピュータ２２は、分割境界近似直線（ｘ＝αｉ，ｊｙ＋βｉ，ｊ（ｉ＝０〜７，ｊ＝０〜６））と分割境界近似直線（ｙ＝Ａｉ，ｊｘ＋Ｂｉ，ｊ（ｊ＝０〜５，ｉ＝０〜１２））との交点（基準点）の位置データを算出する。次いで、図１４のステップＳ６６で、コンピュータ２２は、ステップＳ６４で得られた交点の座標データを、キャリブレーションデータとして記憶する。これによって、図２のキャリブレーションデータ作成処理が終了する。キャリブレーションデータ作成処理が終了すると、図１５に示すように、キャリブレーション画像３０内の、白色領域３２の頂点（すなわち、黒色領域３４の頂点）の位置（ｐｘｉ，ｊ，ｐｙｉ，ｊ）が、キャリブレーションデータとしてメモリ内に記憶される。
【００５５】
次に、形状計測装置１０によりワークの形状を測定する処理を説明する。図１６は、ワークの形状を測定する処理の流れを示すフローチャートである。形状計測装置１０は、図１６に示す各処理を経て、ワークの形状を測定したデータを作成する。以下、図１６に示すフローチャートに沿って、形状計測装置１０による処理の流れを説明する。
【００５６】
まず、図１６のステップＳ７０では、作業者は、入力装置２４を用いてワークの厚みをコンピュータ２２に入力する。すなわち、図１７に示すように、キャリブレーションボード１４の厚みとワークＷの厚みが相違すると、撮影された画像内の位置が同一でも実際の大きさは相違する。したがって、キャリブレーションボード１４の厚みとワークＷの厚みの相違を考慮するため、ワークＷの厚みをコンピュータ２２に入力する。
【００５７】
次に、図１６のステップＳ７２では、コンピュータ２２は、ワークＷを撮影するときの露光時間を設定する。例えば、コンピュータ２２は、図３のステップＳ３４で決定した露光時間に設定してもよい。あるいは、照明条件により、これとは異なる露光時間に設定してもよい。次に、図１６のステップＳ７４では、作業者は、ステージ１２上にワークＷを設置する。次いで、図１６のステップＳ７６では、コンピュータ２２は、ＣＣＤカメラ１６によってワークＷを撮影する。ＣＣＤカメラ１６で撮影されたワークＷの画像は、通信線１８を介してコンピュータ２２に入力される。
【００５８】
次に、図１６のステップＳ７８では、コンピュータ２２は、図２のステップＳ５０で作成したキャリブレーションデータを読み出す。次いで、図１６のステップＳ８０に進み、コンピュータ２２は、ステップＳ７８で読み出したキャリブレーションデータを、ステップＳ７０で入力したワークＷの厚みによって修正する。すなわち、キャリブレーションボード１４の厚みとワークＷの厚みの差を考慮して、キャリブレーションデータを補正する。なお、ステップＳ８０によるワークＷの厚み補正は、従来公知の方法によって行うことができる。
【００５９】
次に、図１６のステップＳ８２では、コンピュータ２２は、ステップＳ８０で修正したキャリブレーションデータを用いて、ステップＳ７６で撮影されたワークＷの画像を補正する。すなわち、上述したように、キャリブレーションデータは、キャリブレーション画像内の基準点の位置座標を記憶している。したがって、撮影された画像が歪んでいると、図１８のように、隣接する４つの基準点（ｐｘｉ，ｊ，ｐｙｉ，ｊ），（ｐｘｉ＋１，ｊ，ｐｙｉ＋１，ｊ），（ｐｘｉ，ｊ＋１，ｐｙｉ，ｊ＋１），（ｐｘｉ＋１，ｊ＋１，ｐｙｉ＋１，ｊ＋１）を結んで形成される四角形５４も歪んでいる。一方、キャリブレーションボード１４に印刷されたパターン（四角形）は歪んでおらず、また、このパターンは寸法が既知である。したがって、図１９に示すように、画像内の隣接する４つの基準点によって形成される四角形５４を、キャリブレーションボード１４に印刷された正しい形状５６に変換することで、撮影された画像の歪みを修正する。そして、ステップＳ８３で、コンピュータ２２は、歪みが補正された画像から、ワークＷの寸法を計測する。計測された結果（ワークＷの寸法）は、モニタ２０に表示される。
【００６０】
上述したように、本実施例の形状計測装置１０では、露光時間を変化させながらＣＣＤカメラ１６によってキャリブレーションボード１４を撮影し、その撮影により得られた各キャリブレーション画像３０の歪み量を算出する。そして、算出された歪み量が最も小さくなる露光時間を、キャリブレーションボード１４及びワークＷを撮影するときの露光時間として決定する。したがって、作業者の熟練を要することなく適切な光量に自動的に調整され、適切な露光時間でキャリブレーションボード１４及びワークＷを撮影することができる。
【００６１】
また、本実施例の形状計測装置１０では、市松模様が印刷されたキャリブレーションボード１４の画像から、垂直方向及び水平方向の境界線３８，４２を抽出し、これらの境界線３８，４２を直線で近似する。そして、近似した直線（代表直線）を水平方向又は垂直方向にシフトさせて、対応する境界線３８又は４２を包含する領域４６又は４８を抽出する。そして、抽出された領域４６，４８の内部で基準点の位置データを特定する。したがって、キャリブレーション画像３０から基準点が含まれる比較的に狭い領域４６，４８を抽出し、その抽出した領域４６，４８の中で基準点の座標を特定する。このため、基準点の座標を特定する処理に必要となる計算量を少なくすることができる。
【００６２】
本実施例と特許請求の範囲の記載の対応関係を説明する。ＣＣＤカメラ１６が、「撮影装置」の一例である。コンピュータ２２によるＣＣＤカメラ１６の露光時間の調整処理が、「光量調整手段」の一例である。市松模様が、「格子パターン」の一例である。黒色領域と３４と白色領域３２の境界線のうち垂直方向に伸びる境界線群が「第１直線群」の一例であり、黒色領域３４と白色領域３２の境界線のうち水平方向に伸びる境界線群が「第２直線群」の一例である。コンピュータ２２によるステップＳ３８の処理（図４参照）が、「第１曲線抽出手段」及び「第２曲線抽出手段」の一例である。コンピュータ２２によるステップＳ４０の処理（図４参照）が、「第１直線近似手段」及び「第２直線近似手段」の一例である。コンピュータ２２によるステップＳ４２の処理（図４参照）が、「第１領域抽出手段」及び「第２領域抽出手段」の一例である。領域４６，４８が、それぞれ「第１領域」、「第２領域」の一例である。コンピュータ２２によるステップＳ６４及びＳ６６の処理（図１４参照）が、「位置データ算出手段」の一例である。分割境界近似直線（ｘ＝αｉ，ｊｙ＋βｉ，ｊ（ｉ＝０〜７，ｊ＝０〜６））が、「第１分割直線」の一例である。分割境界近似直線（ｙ＝Ａｉ，ｊｘ＋Ｂｉ，ｊ（ｉ＝０〜１２，ｊ＝０〜５））が、「第２分割直線」の一例である。
【００６３】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
【００６４】
例えば、上述した実施例では、予め定められた露光時間の範囲内で最も歪み量が小さくなる露光時間を探索し、その最も歪み量が小さくなる露光時間を撮影時の露光時間としたが、本明細書に開示の技術はこのような形態に限られない。例えば、図２１に示すように、コンピュータ２２は、露光時間を初期値に設定し（ステップＳ８４）、キャリブレーションボード１４を撮影し（ステップＳ８６）、その撮影して得られたキャリブレーション画像３０の歪み量σ２を算出する（ステップＳ８８）。そして、コンピュータ２２は、算出された歪み量σ２が閾値より小さくなったか否かを判断する（ステップＳ９０）。算出された歪み量σ２が閾値より小さくない場合（ステップＳ９０でＮＯ）は、コンピュータ２２は、露光時間を変更し（ステップＳ９４）、ステップＳ８６からの処理を繰返す。一方、算出された歪み量σ２が閾値より小さい場合（ステップＳ９０でＹＥＳ）は、コンピュータ２２は、歪み量σ２を閾値より小さくする露光時間を、撮影時の露光時間に決定する（ステップＳ９２）。このような方法によっても、歪み量σ２を充分に小さくする露光時間を決定でき、キャリブレーションボード１４及びワークＷの撮影を好適に行うことができる。
【００６５】
あるいは、図２２に示すように、コンピュータ２２は、露光時間を初期値に設定し（ステップＳ９６）、キャリブレーションボード１４を撮影し（ステップＳ９８）、その撮影して得られたキャリブレーション画像３０の歪み量σ２を算出する（ステップＳ１００）。そして、コンピュータ２２は、算出された歪み量σ２が第１設定値より小さくなったか否か、及び、算出された歪み量σ２の変化量Δσ２の絶対値が第２設定値より小さくなったか否かを判断する（ステップＳ１０２）。そして、算出された歪み量σ２が第１設定値より小さくなく、あるいは、算出された歪み量σ２の変化量Δσ２の絶対値が第２設定値より小さくない場合（ステップＳ１０２でＮＯ）は、コンピュータ２２は、露光時間を変更し（ステップＳ１０６）、ステップＳ９８からの処理を繰返す。一方、算出された歪み量σ２が第１設定値より小さく、かつ、算出された歪み量σ２の変化量Δσ２の絶対値が第２設定値より小さい場合（ステップＳ１０２でＹＥＳ）は、コンピュータ２２は、そのときの露光時間を、撮影時の露光時間に決定する（ステップＳ１０４）。このような方法によっても、歪み量σ２が最小値となる近傍において露光時間を決定でき、キャリブレーションボード１４及びワークＷの撮影を好適に行うことができる。
【００６６】
また、上述した実施例において、露光時間を決定する処理（図３）を、粗探索と詳細探索の２段階で行うようにし、露光時間決定処理を高速化するようにしてもよい。さらに、キャリブレーション画像３０の歪み量σ２を評価関数とし、２分探索法やニュートン法を用いて、歪み量σ２が最小値となる露光時間を探索してもよい。なお、撮影画像の光量の調整は、ＣＣＤカメラ１６の露光時間（露出時間）の調整に代えて、照明装置の照明強度や、ＣＣＤカメラ１６の絞りや、ＣＣＤカメラ１６のゲインによって調整してもよい。また、これらを組み合わせて調整してもよい。
【００６７】
さらに、上述した実施例においては、市松模様のキャリブレーションボード１４を用いたが、図２３に示すような格子模様のキャリブレーションボード５８を用いてもよい。図２３に示す格子模様のキャリブレーションボード５８を用いる場合は、撮影されたキャリブレーション画像の歪み量は、上述した実施例と同様の方法で算出することができる。すなわち、垂直方向の直線の歪み量と水平方向の直線の歪み量から、撮影画像の歪み量を算出することができる。
【００６８】
本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時の請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は、複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００６９】
１０：形状計測装置
１２：ステージ
１４：キャリブレーションボード
１６：ＣＣＤカメラ
１８：通信線
２０：ディスプレイ
２２：コンピュータ
２４：入力装置
【図１】
2014035196.tif 000009
【図２】
2014035196.tif 000010
【図３】
2014035196.tif 000011
【図４】
2014035196.tif 000012
【図５】
2014035196.tif 000013
【図６】
2014035196.tif 000014
【図７】
2014035196.tif 000015
【図９】
2014035196.tif 000016
【図１０】
2014035196.tif 000017
【図１１】
2014035196.tif 000018
【図１２】
2014035196.tif 000019
【図１３】
2014035196.tif 000020
【図１４】
2014035196.tif 000021
【図１５】
2014035196.tif 000022
【図１６】
2014035196.tif 000023
【図１７】
2014035196.tif 000024
【図１８】
2014035196.tif 000025
【図１９】
2014035196.tif 000026
【図２１】
2014035196.tif 000027
【図２２】
2014035196.tif 000028
【図２３】
2014035196.tif 000029
【図８】
2014035196.tif 000030
【図２０】
2014035196.tif 000031