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