特許第5945188号(P5945188)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 中央発條株式会社の特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5945188
(24)【登録日】2016年6月3日
(45)【発行日】2016年7月5日
(54)【発明の名称】形状計測装置
(51)【国際特許分類】
   G06T 1/00 20060101AFI20160621BHJP
   G01B 11/24 20060101ALI20160621BHJP
【FI】
   G06T1/00 300
   G01B11/24 K
【請求項の数】4
【全頁数】18
(21)【出願番号】特願2012-174853(P2012-174853)
(22)【出願日】2012年8月7日
(65)【公開番号】特開2014-35567(P2014-35567A)
(43)【公開日】2014年2月24日
【審査請求日】2015年6月10日
(73)【特許権者】
【識別番号】000210986
【氏名又は名称】中央発條株式会社
(74)【代理人】
【識別番号】110000110
【氏名又は名称】特許業務法人快友国際特許事務所
(72)【発明者】
【氏名】竹内 英世
【審査官】 佐藤 実
(56)【参考文献】
【文献】 特開2007−292619(JP,A)
【文献】 特開2012−002612(JP,A)
【文献】 特開2007−263795(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00
G01B 11/24
H04N 5/232
(57)【特許請求の範囲】
【請求項1】
ワークの形状を計測する計測装置であり、
撮影装置と、
撮影装置によって撮影される画像の光量を調整する光量調整手段と、
撮影装置によって撮影されるキャリブレーション画像の歪み量を算出する歪み量算出手段と、
歪み量算出手段で算出される歪み量に基づいて、光量調整手段で調整される光量を決定する光量決定手段と、
光量決定手段で決定される光量のときに撮影装置によって撮影されるキャリブレーション画像から、キャリブレーションデータを算出するキャリブレーションデータ算出手段と、
を有する、形状計測装置。
【請求項2】
光量調整手段は、撮影装置で撮影される画像の光量を複数段階に調整し、
撮影装置は、複数段階に調整される光量毎に、キャリブレーション画像を撮影し、
歪み量算出手段は、複数段階に調整される光量毎に撮影されたキャリブレーション画像のそれぞれについて歪み量を算出し、
キャリブレーションデータ算出手段は、算出された歪み量のうち、最も歪み量が小さくなる光量で撮影されたキャリブレーション画像から、キャリブレーションデータを算出する、
請求項1に記載の形状計測装置。
【請求項3】
キャリブレーション画像は、既知のパターンが印刷された平面の画像であり、
歪み量算出手段は、前記パターンの歪み量を算出する、請求項1又は2に記載の形状計測装置。
【請求項4】
前記パターンは、市松模様であり、
歪み量算出手段は、市松模様のキャリブレーション画像から直線群を抽出し、その抽出された直線群を構成する各直線の歪みから歪み量を算出する、請求項3に記載の形状計測装置。

【発明の詳細な説明】
【技術分野】
【0001】
本明細書に開示の技術は、撮影したワークの画像からワーク形状を計測する形状計測装置に関する。
【背景技術】
【0002】
工業部品等のワークを撮影し、その撮影したワーク画像からワークの形状を計測する形状計測装置が開発されている。この形状計測装置では、ワーク画像内の位置情報(座標値)と、実際の位置とを結びつけるためのキャリブレーションが必要となる。特許文献1には、キャリブレーションに関する従来技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−250628号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
形状計測装置においてキャリブレーションを行う場合、まず、寸法が既知のパターン(例えば、格子パターン、ドットパターン等)が設けられたキャリブレーションボードを撮影装置により撮影する。次いで、撮影された画像(キャリブレーション画像)から基準点(例えば、格子点)の位置座標を算出し、その位置座標をキャリブレーションデータとして保存する。したがって、キャリブレーションを正確に行うためには、キャリブレーションボードを適正に撮影しなければならない。
【0005】
しかしながら、キャリブレーションボードの撮影には、作業者の熟練が必要とされる。すなわち、撮影装置の露光時間や、ワークを照明する際の照明強度が適切でないと、キャリブレーションボード画像内のパターン(例えば、格子パターン等)に歪みが生じる。パターンに歪みが生じると、基準点の位置座標を正確に算出することができず、精度の高いキャリブレーションデータを得ることができない。本明細書では、作業者の熟練を要することなく、キャリブレーションボードの撮影を適正に行うことが可能となる技術を開示する。
【課題を解決するための手段】
【0006】
本明細書が開示する形状計測装置は、ワークの形状を計測する計測装置であり、撮影装置と、撮影装置によって撮影される画像の光量を調整する光量調整手段と、撮影装置によって撮影されるキャリブレーション画像の歪み量を算出する歪み量算出手段と、歪み量算出手段で算出される歪み量に基づいて、光量調整手段で調整される光量を決定する光量決定手段と、光量決定手段で決定される光量のときに撮影装置によって撮影されるキャリブレーション画像から、キャリブレーションデータを算出するキャリブレーションデータ算出手段と、を有している。
【0007】
この形状計測装置では、撮影装置によってキャリブレーション画像を撮影すると、その撮影されたキャリブレーション画像から歪み量を算出する。そして、算出された歪み量に基づいて、撮影装置によって撮影される画像の光量(例えば、露光時間、照明強度等)を決定する。したがって、作業者の熟練を要することなく適切な光量に調整することができ、キャリブレーション画像の撮影を適正に行うことができる。
【図面の簡単な説明】
【0008】
図1】形状計測装置の構成を示す図。
図2】キャリブレーションの手順を示すフローチャート。
図3】露光時間決定処理の手順を示すフローチャート。
図4】歪み量算出処理の手順を示すフローチャート。
図5】撮影されたキャリブレーション画像の一例を示す図。
図6】撮影された画像から得られた垂直方向エッジ強調画像の一例を示す図。
図7】撮影された画像から得られた水平方向エッジ強調画像の一例を示す図。
図8】ρ−θ空間上の処理を説明するための図。
図9】垂直方向の処理対象領域の一例を示す図。
図10】水平方向の処理対象領域の一例を示す図。
図11】垂直方向エッジ強調画像を垂直方向に分割した状態を示す図。
図12】垂直方向エッジ強調画像の歪み量を算出する処理を説明するための図。
図13】水平方向エッジ強調画像の歪み量を算出する処理を説明するための図。
図14】キャリブレーションデータ作成処理の手順を示すフローチャート。
図15】キャリブレーション画像と、そのキャリブレーション画像から得られた基準点を示す図。
図16】ワークの形状を計測する処理の手順を示すフローチャート。
図17】ワークの厚み補正の考えを説明するための図。
図18】画像の歪み補正処理を説明するための図(その1)。
図19】画像の歪み補正処理を説明するための図(その2)。
図20】露光時間を変えて撮影したキャリブレーション画像を示す図。
図21】露光時間決定処理の他の手順を示すフローチャート。
図22】露光時間決定処理の他の手順を示すフローチャート。
図23】キャリブレーションボードの撮影面に印刷されるパターンの他の例。
図24】キャリブレーションボードの撮影面に印刷されるパターンの他の例。
図25図24に示すキャリブレーションボードを撮影した時の画像から歪み量を算出する方法を説明するための図。
図26図24に示すキャリブレーションボードを撮影した時の画像から歪み量を算出する他の方法を説明するための図。
図27図24に示すキャリブレーションボードを撮影した時の画像から歪み量を算出する他の方法を説明するための図。
図28図24に示すキャリブレーションボードを撮影した時の画像内に含まれる各ドットの歪み量を算出する方法を説明するための図。
【発明を実施するための形態】
【0009】
以下、本明細書で開示する実施例の技術的特徴の幾つかを記載する。なお、以下に記載する事項は、各々単独で技術的な有用性を有している。
【0010】
(特徴1)本明細書で開示する実施例では、光量調整手段は、撮影装置で撮影される画像の光量を複数段階に調整してもよい。撮影装置は、複数段階に調整される光量毎に、キャリブレーション画像を撮影してもよい。歪み量算出手段は、複数段階に調整される光量毎に撮影されたキャリブレーション画像のそれぞれについて歪み量を算出してもよい。キャリブレーションデータ算出手段は、算出された歪み量のうち、最も歪み量が小さくなる光量で撮影されたキャリブレーション画像から、キャリブレーションデータを算出してもよい。このような構成によると、歪み量が小さくなる光量を好適に決定することができる。
【0011】
(特徴2)本明細書で開示する実施例では、キャリブレーション画像は、既知のパターンが印刷された平面の画像としてもよい。歪み量算出手段は、前記パターンの歪み量を算出してもよい。このような構成によると、既知のパターンと、撮影された画像内のパターンとの相違(歪み)を用いるため、画像の歪み量を好適に評価することができる。
【0012】
(特徴3)本明細書で開示する実施例では、パターンは市松模様としてもよい。歪み量算出手段は、市松模様のキャリブレーション画像から直線群を抽出し、その抽出された直線群を構成する各直線の歪みから歪み量を算出してもよい。このような構成によると、市松模様から抽出した各直線の歪みから歪み量を算出するため、撮影装置で撮影された画像の全体を好適に評価することができる。
【実施例1】
【0013】
本実施例の形状計測装置10は、ワーク(例えば、渦巻きばね等)を撮影し、撮影した画像からワークの形状を計測する。形状計測装置10は、例えば、工業製品を出荷する際の形状検査に用いられる。図1に示すように、形状計測装置10は、ステージ12と、ステージ12に固定されているCCDカメラ16と、CCDカメラ16に通信線18を介して接続されているコンピュータ22と、コンピュータ22に接続されているディスプレイ20及び入力装置24(例えば、キーボード等)を備えている。
【0014】
ステージ12上には、較正時にキャリブレーションボード14が載置され、形状計測時にはワーク(図示しない)が載置される。CCDカメラ16は、ステージ12上に配置されており、ステージ12上に載置されたキャリブレーションボード14又はワークを撮影する。CCDカメラ16は、撮影時の露光時間が調整可能となっている。なお、ステージ12上に載置されたキャリブレーションボード14又はワークは、図示しない照明器によって照明されるようになっている。
【0015】
CCDカメラ16が撮影した画像データは、通信線18を介してコンピュータ22に入力される。また、コンピュータ22には、入力装置24からワークの厚みが入力される。コンピュータ22には、後述する各種処理を実行するためのプログラムが記憶されている。コンピュータ22は、CCDカメラ16が撮影したキャリブレーションボード14の画像データを処理してキャリブレーションデータを作成し、また、CCDカメラ16が撮影したワークの画像データを処理してワークの形状を計測する。コンピュータ22は、計測されたワークの形状データをディスプレイ20に表示する。
【0016】
図2は、形状計測装置10によるキャリブレーションデータを作成する処理の流れを示すフローチャートである。形状計測装置10は、図2に示す各処理を経て、キャリブレーションデータを作成する。以下、図2に示すフローチャートに沿って、形状計測装置10による処理の流れを説明する。
【0017】
まず、図2のステップS10において、作業者は、キャリブレーションボード14をステージ12上の撮影位置にセットする。キャリブレーションボード14の撮影面には、寸法が既知のパターン(例えば、格子パターン、ドットパターン等)が形成されている。本実施例では、図5に示すように、キャリブレーションボード14の撮影面には市松模様が印刷されている。ステップS10では、キャリブレーションボード14の撮影面(パターン)がCCDカメラ16で撮影されるように、キャリブレーションボード14をステージ12上にセットする。
【0018】
次に、図2のステップS20では、CCDカメラ16でキャリブレーションボード14を撮影するときの露光時間を決定する処理を行う。すなわち、図20に示すように、露光時間が短すぎると、CCDカメラ16で撮影される画像内のキャリブレーションボード14のパターンが不鮮明となる。また、露光時間が長すぎても、CCDカメラ16で撮影される画像内のキャリブレーションボード14のパターンが不鮮明となる。画像内のパターンが不鮮明であると、得られるキャリブレーションデータも不正確な値となる。そこで、ステップS20を実行することで、撮影時の露光時間を決定する。
【0019】
図3は、露光時間決定処理(図2のステップS20の処理)の流れを示すフローチャートである。まず、図3のステップS22において、コンピュータ22は、CCDカメラ16の露光時間を初期値に設定する。次いで、図3のステップS24では、CCDカメラ16によってキャリブレーションボード14を撮影する。これによって、図5に示すキャリブレーション画像30が取得される。キャリブレーション画像30では、白色の正方形状の白色領域32と、黒色の正方形状の黒色領域34が、xy方向に交互に配置されている。なお、CCDカメラ16で撮影された画像(キャリブレーション画像)は、コンピュータ22に入力される。
【0020】
次に、図3のステップS26では、コンピュータ22は、ステップS24で撮影されたキャリブレーション画像30の歪み量を算出する。歪み量は、露光時間が適切であるか否かを評価するために用いられるパラメータである。すなわち、図20に例示するように、露光時間が短いと、キャリブレーション画像30内の黒色領域34が膨らむ。一方、露光時間が長いと、キャリブレーション画像30内の白色領域32が膨らむ。このため、露光時間が適切でないと、白色領域32と黒色領域34の四角形状の歪みが大きくなる。したがって、キャリブレーション画像30の歪み量を算出することで、露光時間が適切か否かを評価する。
【0021】
図4は、歪み量を算出する処理の流れを示すフローチャートである。まず、図4のステップS38では、コンピュータ22は、ステップS24で撮影されたキャリブレーション画像から、水平方向(x方向)及び垂直方向(y方向)のエッジ強調画像を作成する。すなわち、コンピュータ22は、図5に示すキャリブレーション画像30の白色領域32と黒色領域34の境界線のうち、図6に示すように垂直方向(y方向)の境界線38を強調した画像36と、図7に示すように水平方向(x方向)の境界線42を強調した画像40を作成する。図6に示すように、垂直方向エッジ強調画像36には複数の垂直方向の境界線38が含まれており、図7に示すように、水平方向エッジ強調画像40には複数の水平方向の境界線42が含まれている。エッジ強調画像36,40は、例えば、キャリブレーション画像30にソベルフィルタをかけることで作成することができる。
【0022】
次に、図4のステップS40では、コンピュータ22は、ステップS38で作成した水平及び垂直方向エッジ強調画像40,36の境界線42,38から代表直線を算出する。すなわち、垂直方向エッジ強調画像36の境界線38は、CCDカメラ16のレンズの歪み等のために湾曲しており、水平方向エッジ強調画像40の境界線42も、同様に湾曲している。ステップS40では、これらのエッジ強調画像36,40の境界線38,42を直線近似することで、代表直線を算出する。
【0023】
ここで、エッジ強調画像36,40の境界線38,42から代表直線を算出する方法としては、例えば、Hough変換を利用することができる。なお、垂直方向エッジ強調画像36の境界線38から代表直線を算出する方法と、水平方向エッジ強調画像40の境界線42から代表直線を算出する方法とは、同一であるため、ここでは、垂直方向エッジ強調画像36の境界線38から代表直線を算出する方法について説明する。
【0024】
まず、垂直方向エッジ強調画像36を2値化し、それをHough変換する。Hough変換することで、xy平面上のデータが、図8(a)に示すようにρ−θ平面に展開される。図6に示すように、垂直方向エッジ強調画像36には8本の境界線38が含まれている。このため、図8(a)には8つのデータ群が存在する。次に、図8(a)のデータ群にガウスの窓をかけて平滑化し(図8(b))、次いで、その平滑化したデータ群(図8(b))を2値化し(図8(c))、次いで、2値化したデータ群(図8(c))をラベリングする(図8(d))。そして、ラベルの面積が所定の閾値以上となるものを抽出する。次に、ρ−θ平面上で抽出した各ラベルの重心を算出する。重心の算出には、相加平均による重心算出の式を濃度値h(θ,ρ)のn乗で重み付けした式を用いる。i番目のラベル(LABEL(i))に対応する重み付け重心(θ(i),ρ(i))は、次の式(1)で算出される。ここで、Nは、LABEL(i)に属する画素数である。
【0025】
【数1】
【0026】
上記の式によりラベルの重心(θ(i),ρ(i))が算出されると、これを用いて下記の式(2)により代表直線に変換する。ここで、a=cos(θ(i)),b=sin(θ(i)),c=ρ(i)である。
【0027】
【数2】
【0028】
上記のようにxy平面上のデータをHough変換によってρ−θ平面に展開することで、ノイズが含まれた画像から好適に代表直線を算出することができる。また、ρ−θ平面に展開された各点の濃度値をn乗で重み付けして得られた重心から代表直線を算出するため、安定して代表直線を算出することができる。
【0029】
次に、図4のステップS42では、コンピュータ22は、ステップS40で得られた代表直線を用いて処理対象領域を決定する。すなわち、図9に示すように、代表直線を水平方向にシフトした直線46a,46bによって挟まれる領域46に垂直方向境界線38が含まれるようにする。そして、シフトした直線46a,46bによって挟まれる領域46を処理対象領域とする。水平方向境界線42に対しても同様に、図10に示すように、代表直線を垂直方向にシフトした直線48a,48bによって挟まれる領域48に水平方向境界線42が含まれるようにする。そして、シフトした直線48a,48bによって挟まれる領域48を処理対象領域とする。
【0030】
次に、図4のステップS44では、コンピュータ22は、エッジ強調画像36,40を複数の領域に分割する。具体的には、図11に示すように、垂直方向エッジ強調画像36を、水平方向に伸びる切断線50(l〜l)によって垂直方向にJ等分する(図11ではJ=7)。これによって、垂直方向に伸びる境界線38が、垂直方向にJ等分される。同様に、水平方向エッジ強調画像40に対して、図13に示すように、垂直方向に伸びる切断線52(m〜m)によって水平方向にI等分する。これによって、水平方向に伸びる境界線42が、水平方向にI等分される。
【0031】
次に、図4のステップS46では、コンピュータ22は、ステップS44で分割された各領域において、境界線38,42を直線近似する。すなわち、図12に示すように、垂直方向エッジ強調画像36は、ステップS44によって垂直方向に分割されている。これによって、境界線38及び処理対象領域46も垂直方向に分割される。したがって、分割された各処理対象領域46i,jにおいて、分割された境界線38i,jを直線近似する。これによって、複数の分割境界線38i,jを直線近似した分割境界近似直線(x=αi,jy+βi,j(i=0〜7,j=0〜6))が得られる。なお、分割された境界線38i,jを直線近似する方法としては、最小二乗法や、既に説明したHough変換を用いることができる。また、水平方向エッジ強調画像40についても、図13に示すように、水平方向に分割された各処理対象領域48i,jにおいて、分割された境界線42i,jを直線近似する。これによって、複数の分割境界線42i,jを直線近似した分割境界近似直線(y=Ai,jx+Bi,j(i=0〜12,j=0〜5))が得られる。なお、分割境界近似直線を算出する際は、計算対象領域が処理対象領域46i,j,48i,jに限定されているため、計算処理量を大幅に軽減することができる。
【0032】
次に、図4のステップS48では、コンピュータ22は、図3のステップS24においてCCDカメラ16で撮影された画像の歪み量を算出する。具体的には、まず、図12に示すように、垂直方向の境界線38(すなわち、垂直方向に伸びるi番目(i=0〜7)の境界線38)のそれぞれについて、ステップS46で算出された垂直方向の分割境界近似直線(x=αi,jy+βi,j(i=0〜7,j=0〜6))のx切片の分散σβ(i)を算出する。x切片の分散σβ(i)は、下記の式(3)により算出される。なお、βave(i)はx切片の平均である。また、Nは分割後の区間数である。
【0033】
【数3】
【0034】
垂直方向の境界線38のそれぞれについて分散σβ(i)を算出すると、下記の式(4)によって、これらの分散σβ(i)の平均値σβaveを算出する。なお、Nは分割後の区間数である。
【0035】
【数4】
【0036】
同様に、図13に示すように、水平方向の境界線42(すなわち、水平方向に伸びるj番目(j=0〜5)の境界線42)のそれぞれについて、ステップS46で算出された水平方向の分割境界近似直線(y=Ai,jx+Bi,j(i=0〜12,j=0〜5))のy切片の分散σ(j)を算出する。y切片の分散σ(j)は、下記の式(5)により算出される。なお、Bave(j)はy切片の平均である。
【0037】
【数5】
【0038】
水平方向の境界線42のそれぞれについて分散σ(j)を算出すると、下記の式(6)によって、これらの分散σ(j)の平均値σaveを算出する。
【0039】
【数6】
【0040】
最後に、上記のように算出された垂直方向の境界線38についての分散の平均値σβaveと、水平方向の境界線42についての分散の平均値σaveとの和を、図3のステップS24においてCCDカメラ16で撮影された画像の歪み量とする。
【0041】
ここで、ステップS48で算出される歪み量σの意味を簡単に説明しておく。図20に示すように、露光時間が適切でないキャリブレーション画像30では、黒色領域34又は白色領域32が膨らむ。一方、キャリブレーション画像30では、白色領域32と黒色領域34とがxy方向に交互に配置される。このため、露光時間が適切でないキャリブレーション画像30では、エッジ強調画像36,40の境界線38,42が交互に左右又は上下方向にずれることとなる。したがって、垂直方向の境界線38についての分散の平均値σβaveと、水平方向の境界線42についての分散の平均値σaveとの和をとることで、キャリブレーション画像の露光時間が適切か否かを評価することができる。
【0042】
ステップS48で歪み量σが算出されると、図3のステップS28に戻って、コンピュータ22は、算出された歪み量σが最小歪み量σminより小さいか否かを判断する。露光時間が初期値の場合は、コンピュータ22のメモリ内に最小歪み量σminが記憶されていないので、ステップS26で算出された歪み量σが最小歪み量σminより小さいと判断する。一方、露光時間が初期値でない場合は、コンピュータ22のメモリ内に最小歪み量σminが既に記憶されているので、ステップS26で算出された歪み量σが記憶されている最小歪み量σminより小さいか否かを判断する。
【0043】
算出された歪み量σが最小歪み量σminより小さい場合は、図3のステップS30に進み、コンピュータ22は、算出された歪み量σを最小歪み量σminとして記憶する。これによって、最小歪み量σminが更新される。一方、算出された歪み量σが最小歪み量σminより大きい場合は、図3のステップS30をスキップしてステップS32に進み、コンピュータ22は、露光時間が終値になったか否かを判断する。
【0044】
露光時間が終値となっていない場合は、図3のステップS36に進み、コンピュータ22は露光時間を変更し、ステップS24からの処理を繰り返す。これによって、露光時間を変えてキャリブレーションボード14が撮影され、その撮影されたキャリブレーション画像について歪み量σが算出され、最小歪み量σminが更新されていくこととなる。一方、露光時間が終値となっている場合は、図3のステップS34に進み、コンピュータ22は、最小歪み量σminが算出されたときの露光時間を、最終的な露光時間として決定する。これによって、予め定められた範囲内(すなわち、初期値〜終値)の露光時間の中から、適切な露光時間が決定される。
【0045】
露光時間が決定されると、図2のステップS50に進み、コンピュータ22は、キャリブレーションデータ作成処理を実行する。キャリブレーションデータ作成処理について、図14のフローチャートに沿って説明する。
【0046】
まず、図14のステップS52では、コンピュータ22は、図3のステップS34で決定された露光時間で撮影されたキャリブレーション画像を特定する。そして、その特定したキャリブレーション画像に対して、図14のステップS54〜S62の処理を実行する。ここで、ステップS54〜S62の処理は、図4のステップS38〜S46の処理と同一の処理である。したがって、ステップS54〜S62の処理を実行することで、垂直方向の複数の境界線38に対して、分割境界近似直線(x=αi,jy+βi,j(i=0〜7,j=0〜6))が得られる。また、水平方向の複数の境界線42に対して、分割境界近似直線(y=Ai,jx+Bi,j(j=0〜5,i=0〜12))が得られる。なお、図4のステップS40〜S46の処理を実行することで得られる分割境界近似直線を予め記憶しておけば、図14のステップS54〜S62の処理を実行しなくてもよい。
【0047】
次に、図14のステップS64では、コンピュータ22は、分割境界近似直線(x=αi,jy+βi,j(i=0〜7,j=0〜6))と分割境界近似直線(y=Ai,jx+Bi,j(j=0〜5,i=0〜12))との交点(基準点)の位置データを算出する。次いで、図14のステップS66で、コンピュータ22は、ステップS64で得られた交点の座標データを、キャリブレーションデータとして記憶する。これによって、図2のキャリブレーションデータ作成処理が終了する。キャリブレーションデータ作成処理が終了すると、図15に示すように、キャリブレーション画像30内の、白色領域32の頂点(すなわち、黒色領域34の頂点)の位置(pxi,j,pyi,j)が、キャリブレーションデータとしてメモリ内に記憶される。
【0048】
次に、形状計測装置10によりワークの形状を測定する処理を説明する。図16は、ワークの形状を測定する処理の流れを示すフローチャートである。形状計測装置10は、図16に示す各処理を経て、ワークの形状を測定したデータを作成する。以下、図16に示すフローチャートに沿って、形状計測装置10による処理の流れを説明する。
【0049】
まず、図16のステップS70では、作業者は、入力装置24を用いてワークの厚みをコンピュータ22に入力する。すなわち、図17に示すように、キャリブレーションボード14の厚みとワークWの厚みが相違すると、撮影された画像内の位置が同一でも実際の大きさは相違する。したがって、キャリブレーションボード14の厚みとワークWの厚みの相違を考慮するため、ワークWの厚みをコンピュータ22に入力する。
【0050】
次に、図16のステップS72では、コンピュータ22は、ワークWを撮影するときの露光時間を設定する。例えば、コンピュータ22は、図3のステップS34で決定した露光時間に設定してもよい。あるいは、照明条件により、これとは異なる露光時間に設定してもよい。次に、図16のステップS74では、作業者は、ステージ12上にワークWを設置する。次いで、図16のステップS76では、コンピュータ22は、CCDカメラ16によってワークWを撮影する。CCDカメラ16で撮影されたワークWの画像は、通信線18を介してコンピュータ22に入力される。
【0051】
次に、図16のステップS78では、コンピュータ22は、図2のステップS50で作成したキャリブレーションデータを読み出す。次いで、図16のステップS80に進み、コンピュータ22は、ステップS78で読み出したキャリブレーションデータを、ステップS70で入力したワークWの厚みによって修正する。すなわち、キャリブレーションボード14の厚みとワークWの厚みの差を考慮して、キャリブレーションデータを補正する。なお、ステップS80によるワークWの厚み補正は、従来公知の方法によって行うことができる。
【0052】
次に、図16のステップS82では、コンピュータ22は、ステップS80で修正したキャリブレーションデータを用いて、ステップS76で撮影されたワークWの画像を補正する。すなわち、上述したように、キャリブレーションデータは、キャリブレーション画像内の基準点の位置座標を記憶している。したがって、撮影された画像が歪んでいると、図18のように、隣接する4つの基準点(pxi,j,pyi,j),(pxi+1,j,pyi+1,j),(pxi,j+1,pyi,j+1),(pxi+1,j+1,pyi+1,j+1)を結んで形成される四角形54も歪んでいる。一方、キャリブレーションボード14に印刷されたパターン(四角形)は歪んでおらず、また、このパターンは寸法が既知である。したがって、図19に示すように、画像内の隣接する4つの基準点によって形成される四角形54を、キャリブレーションボード14に印刷された正しい形状56に変換することで、撮影された画像の歪みを修正する。そして、ステップS83で、コンピュータ22は、歪みが補正された画像から、ワークWの寸法を計測する。計測された結果(ワークWの寸法)は、モニタ20に表示される。
【0053】
上述したように、本実施例の形状計測装置10では、露光時間を変化させながらCCDカメラ16によってキャリブレーションボード14を撮影し、その撮影により得られた各キャリブレーション画像30の歪み量を算出する。そして、算出された歪み量が最も小さくなる露光時間を、キャリブレーションボード14及びワークWを撮影するときの露光時間として決定する。したがって、作業者の熟練を要することなく適切な光量に自動的に調整され、適切な露光時間でキャリブレーションボード14及びワークWを撮影することができる。
【0054】
また、本実施例の形状計測装置10では、市松模様が印刷されたキャリブレーションボード14の画像から、垂直方向及び水平方向の境界線38,42を抽出し、これらの境界線38,42を直線で近似する。そして、近似した直線(代表直線)を水平方向又は垂直方向にシフトさせて、対応する境界線38又は42を包含する領域46又は48を抽出する。そして、抽出された領域46,48の内部で基準点の位置データを特定する。したがって、キャリブレーション画像30から基準点が含まれる比較的に狭い領域46,48を抽出し、その抽出した領域46,48の中で基準点の座標を特定する。このため、基準点の座標を特定する処理に必要となる計算量を少なくすることができる。
【0055】
本実施例と特許請求の範囲の記載の対応関係を説明する。CCDカメラ16が、「撮影装置」の一例である。コンピュータ22によるCCDカメラ16の露光時間の調整処理が、「光量調整手段」の一例である。コンピュータ22による歪み量算出処理(図3のステップS26、図4のステップS38〜S48)が、「歪み量算出手段」の一例である。コンピュータ22によるキャリブレーションデータ作成処理(図2のステップS50、図14のステップS52〜S66)が、「キャリブレーションデータ作成手段」の一例である。
【0056】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
【0057】
例えば、上述した実施例では、予め定められた露光時間の範囲内で最も歪み量が小さくなる露光時間を探索し、その最も歪み量が小さくなる露光時間を撮影時の露光時間としたが、本明細書に開示の技術はこのような形態に限られない。例えば、図21に示すように、コンピュータ22は、露光時間を初期値に設定し(ステップS84)、キャリブレーションボード14を撮影し(ステップS86)、その撮影して得られたキャリブレーション画像30の歪み量σを算出する(ステップS88)。そして、コンピュータ22は、算出された歪み量σが閾値より小さくなったか否かを判断する(ステップS90)。算出された歪み量σが閾値より小さくない場合(ステップS90でNO)は、コンピュータ22は、露光時間を変更し(ステップS94)、ステップS86からの処理を繰返す。一方、算出された歪み量σが閾値より小さい場合(ステップS90でYES)は、コンピュータ22は、歪み量σを閾値より小さくする露光時間を、撮影時の露光時間に決定する(ステップS92)。このような方法によっても、歪み量σを充分に小さくする露光時間を決定でき、キャリブレーションボード14及びワークWの撮影を好適に行うことができる。
【0058】
あるいは、図22に示すように、コンピュータ22は、露光時間を初期値に設定し(ステップS96)、キャリブレーションボード14を撮影し(ステップS98)、その撮影して得られたキャリブレーション画像30の歪み量σを算出する(ステップS100)。そして、コンピュータ22は、算出された歪み量σが第1設定値より小さくなったか否か、及び、算出された歪み量σの変化量Δσの絶対値が第2設定値より小さくなったか否かを判断する(ステップS102)。そして、算出された歪み量σが第1設定値より小さくなく、あるいは、算出された歪み量σの変化量Δσの絶対値が第2設定値より小さくない場合(ステップS102でNO)は、コンピュータ22は、露光時間を変更し(ステップS106)、ステップS98からの処理を繰返す。一方、算出された歪み量σが第1設定値より小さく、かつ、算出された歪み量σの変化量Δσの絶対値が第2設定値より小さい場合(ステップS102でYES)は、コンピュータ22は、そのときの露光時間を、撮影時の露光時間に決定する(ステップS104)。このような方法によっても、歪み量σが最小値となる近傍において露光時間を決定でき、キャリブレーションボード14及びワークWの撮影を好適に行うことができる。
【0059】
また、上述した実施例において、露光時間を決定する処理(図3)を、粗探索と詳細探索の2段階で行うようにし、露光時間決定処理を高速化するようにしてもよい。さらに、キャリブレーション画像30の歪み量σを評価関数とし、2分探索法やニュートン法を用いて、歪み量σが最小値となる露光時間を探索してもよい。なお、撮影画像の光量の調整は、CCDカメラ16の露光時間(露出時間)の調整に代えて、照明装置の照明強度や、CCDカメラ16の絞りや、CCDカメラ16のゲインによって調整してもよい。また、これらを組み合わせて調整してもよい。
【0060】
さらに、上述した実施例においては、市松模様のキャリブレーションボード14を用いたが、図23に示すような格子模様のキャリブレーションボード58を用いてもよいし、図24に示すようなドット模様のキャリブレーションボード60を用いてもよい。図23に示す格子模様のキャリブレーションボード58を用いる場合は、撮影されたキャリブレーション画像の歪み量は、上述した実施例と同様の方法で算出することができる。すなわち、垂直方向の直線の歪み量と水平方向の直線の歪み量から、撮影画像の歪み量を算出することができる。
【0061】
一方、図24に示すドット模様のキャリブレーションボード60を用いた場合は、下記の方法によって画像の歪み量を算出することができる。例えば、図25に示すように、隣接するドット62を水平方向に結んだ直線64のy切片、及び、隣接するドット62を垂直方向に結んだ直線のx切片を用いて、画像の歪み量を算出することができる。あるいは、図26に示すように、隣接するドット62を水平方向及び垂直方向に結んで形成される四角形状66の歪み具合から歪み量を算出してもよい。さらには、図27に示すように、各ドット62の潰れ具合から歪み量を算出してもよい。具体的には、図28に示すように、まず、ドット62を二値化して輪郭線70及び重心G(c,c)を算出する。次に、重心G(c,c)から輪郭線70上の各点(x,y)までの距離lを算出し、算出された距離lから平均半径raveを算出する(図中の72は平均半径raveの円)。次いで、重心G(c,c)から輪郭線70上の各点(x,y)までの距離lと平均半径raveを用いて、下記の式(7)によって歪み量Dを算出する。
【0062】
【数7】
【0063】
上記の式(7)で算出される歪み量Dを各ドット62について算出し、それらを平均することで画像の歪み量とする。このような方法によっても、キャリブレーション画像30の歪み量を算出することができる。
【0064】
あるいは、各ドット62の面積を算出し、その面積の分散Dを歪み量としてもよい。
【0065】
本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時の請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は、複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【0066】
10:形状計測装置
12:ステージ
14:キャリブレーションボード
16:CCDカメラ
18:通信線
20:ディスプレイ
22:コンピュータ
24:入力装置
図1
図2
図3
図4
図5
図6
図7
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図21
図22
図23
図24
図25
図26
図27
図28
図8
図20