JP2007212159A - 3次元形状検出装置のキャリブレーションに用いる校正用治具及びそのキャリブレーション方法 - Google Patents

3次元形状検出装置のキャリブレーションに用いる校正用治具及びそのキャリブレーション方法 Download PDF

Info

Publication number
JP2007212159A
JP2007212159A JP2006029310A JP2006029310A JP2007212159A JP 2007212159 A JP2007212159 A JP 2007212159A JP 2006029310 A JP2006029310 A JP 2006029310A JP 2006029310 A JP2006029310 A JP 2006029310A JP 2007212159 A JP2007212159 A JP 2007212159A
Authority
JP
Japan
Prior art keywords
calibration
plane
image
calibration jig
boundary
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006029310A
Other languages
English (en)
Inventor
Hiroyuki Sasaki
博幸 佐々木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2006029310A priority Critical patent/JP2007212159A/ja
Publication of JP2007212159A publication Critical patent/JP2007212159A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Length Measuring Devices By Optical Means (AREA)
  • Measurement Of Optical Distance (AREA)
  • Projection Apparatus (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

【課題】3次元形状検出装置のキャリブレーションに用いる校正用治具の構成を複雑にせず、しかもキャリブレーションのために位置を移動することなく、システムパラメータのキャリブレーションを可能とする校正用冶具を提供すること。
【解決手段】システムパラメータの校正するための校正用治具において、基面上に位置し、所定方向に延在する第1の平面部と、基面と異なる平面であって同基面に平行な平面上に位置して所定方向に延在する第2の平面部とを、所定方向と交差する方向に交互に配置することによって、第1の平面部と第2の平面部をそれぞれ複数設け、複数の第1の平面部と複数の第2の平面部とに少なくとも6以上の校正用指標が離散して配置する。
【選択図】図15

Description

本発明は、3次元形状検出装置のキャリブレーションに用いる校正用治具及びそのキャリブレーション方法に関する。詳細には、3次元形状検出装置において被写体の3次元形状を算出するのに用いるシステムパラメータの校正するための校正用治具及びそのキャリブレーション方法に関する。
従来より、対象物体である被写体に投影部からスリット光やスポット光などのパターン光を投光して、そのパターン光が投光された被写体を撮像手段によって撮像し、その撮像された画像から検出されるパターン光の軌跡に基づいて、被写体の3次元形状を検出する3次元形状検出装置が知られている。
このような3次元形状検出装置においては、3次元空間の1点を、平面と直線の交点、2本の直線の交点として決定するアクティブ型3次元画像計測法が用いられる。すなわち、所定の位置にある投影部から投影されるパターン光と、所定の位置にある撮像部からの視線とを、それぞれ平面と直線として捉え、投影部及び撮像部による結像光学系をその位置及び姿勢などを含むパラメータによってモデル化し、このパラメータ(以下、「システムパラメータ」という。)を用いて3次元形状を計測する(例えば、非特許文献1参照。)。
投影部及び撮像部の位置と姿勢は、設計モデルと完全に一致していることが望ましい。ところが、部品の精度や組み立て精度などの諸要因により、その位置及び姿勢共に誤差が生じてしまう。投影部及び撮像部の位置と姿勢とを測定器を用いて測定することによって、システムパラメータを求めることもできるが手間がかかる。
そこで、3次元形状が既知である複数の校正用指標を設けた基準の物体(校正用治具)を用いることによって、プロジェクタ部及びカメラ部の位置と姿勢の情報を含むシステムパラメータをキャリブレーション(校正)する方法が一般的に用いられている(例えば特許文献1参照)。
佐藤宏介、他1名、「三次元画像計測」、株式会社昭晃堂、p91〜99 特開平8−35828号公報
しかし、従来の校正用治具は、投影部のキャリブレーションと撮像部のキャリブレーションとが別々であったり、或いはキャリブレーションのために位置を移動させなければならなかった。
たとえば、特許文献1においては、位置が既知である複数の格子点を有する校正用治具平面を移動させ、その移動前後の画像を撮像手段で撮像し、この撮像画像に基づいてカメラパラメータを演算する。その後、校正用治具平面を移動させ、その移動前後の画像を撮像手段で撮像し、この撮像画像と第1パラメータとに基づいてプロジェクタパラメータを演算するように校正されている。したがって、校正用治具平面は平面状であるものの、校正用治具平面を移動させる構造を設ける必要があった。
そこで、本発明は、校正用治具の構成を複雑にせず、しかもキャリブレーションのために位置を移動することなく、システムパラメータのキャリブレーションを可能とする校正用冶具を提供することを目的とする。また、校正用冶具に配置される校正用指標やパターン光境界の検出を容易にするキャリブレーション方法を提供すること目的とする。
かかる課題を解決するために、請求項1に記載の発明は、明と暗とを交互に並べてなる複数種類のパターン光の各々を時系列に被写体に投影する投影手段と、その投影手段から各パターン光が投影されている状態の被写体を撮像する撮像手段と、その撮像手段によって撮像される各撮影画像に基づいて被写体の3次元形状を算出する3次元形状算出手段と、を備えた3次元形状検出装置において前記被写体の3次元形状を算出するのに用いるシステムパラメータの校正するための校正用治具において、基面上に位置し、所定方向に延在する第1の平面部と、前記基面と異なる平面であって同基面に平行な平面上に位置して前記所定方向に延在する第2の平面部とを、前記所定方向と交差する方向に交互に配置することによって、前記第1の平面部と前記第2の平面部をそれぞれ複数設け、前記複数の第1の平面部と前記複数の第2の平面部とに少なくとも6以上の校正用指標が離散して配置されたことを特徴とする。
また、請求項2に記載の発明は、請求項1に記載の発明であって、前記校正用冶具は、前記所定方向と直交する方向における中心を通る前記所定方向の軸に対して、左右対称に形成したことを特徴とする。
また、請求項3に記載の発明は、請求項1又は請求項2に記載の発明であって、前記被写体の実空間座標系の一軸が通る平面上に前記複数の第1の平面部または前記複数の第2の平面部が配置されることを特徴とする。
また、請求項4に記載の発明は、請求項1〜3のいずれか1項に記載の発明であって、前記複数の第1の平面部と前記複数の第2の平面部とにそれぞれに前記所定の方向に離散して3以上、かつ前記第1の平面部ごと及び前記第2の平面部ごとに少なくとも1以上の校正用指標を設けたことを特徴とする。
また、請求項5に記載の発明は、請求項1〜4のいずれか1項に記載の発明であって、前記複数の第1の平面部及び前記複数の第2の平面部は、荷重成型加工により形成したことを特徴とする。
また、請求項6に記載の発明は、請求項1〜4のいずれか1項に記載の発明であって、前記複数の第1の平面部及び前記複数の第2の平面部は、押し出し加工により形成したことを特徴とする。
また、請求項7に記載の発明は、請求項1〜4のいずれか1項に記載の発明であって、前記複数の第1の平面部及び前記複数の第2の平面部は、複数の部材を用いて形成したことを特徴とする。
また、請求項8に記載の発明は、請求項1〜4のいずれか1項に記載の発明であって、前記複数の第1の平面部及び前記複数の第2の平面部は、射出整形することによって形成したことを特徴とする。
また、請求項9に記載の発明は、請求項1〜8のいずれか1項に記載の発明であって、前記校正用指標は、校正用指標を除く他の部分と異なる表面加工処理によって、この校正用指標を除く他の部分と反射率を異ならしめたことを特徴とする。
また、請求項10に記載の発明は、請求項1〜8のいずれか1項に記載の発明であって、前記複数の第1の平面部と前記複数の第2の平面部とにそれぞれ開口穴を形成することによって前記指標を設けたことを特徴とする。
また、請求項11に記載の発明は、請求項1〜8のいずれか1項に記載の発明であって、前記複数の第1の平面部と前記複数の第2の平面部とは反射率と異なるシールを貼り付けることによって前記指標を設けたことを特徴とする。
また、請求項12に記載の発明は、請求項1〜9のいずれか1項に記載の発明であって、前記複数の第1の平面部と前記複数の第2の平面部とは反射率の異なるインクによる印刷処理によって前記指標を設けたことを特徴とする。
また、請求項13に記載の発明は、請求項1〜12のいずれか1項に記載の発明であって、前記複数の第1の平面部及び前記複数の第2の平面部のうち少なくとも一つの平面部の一端に前記3次元形状検出装置に設けられる載置台と嵌合するための嵌合部を設けたことを特徴とする。
また、請求項14に記載の発明は、請求項1〜13のいずれか1項に記載の発明である校正用治具を用いた3次元形状検出装置のキャリブレーション方法であって、前記校正用治具に明暗の3つ以上の境界が現れるように前記パターン光投光手段からパターン光を校正用治具へ投光し、前記撮像手段によって前記校正用治具を撮像する第1の撮像ステップと、前記撮像手段によって撮像した画像から前記第1の平面部及び前記第2の平面部における前記パターン光の境界を検出する第1の境界検出ステップと、前記第2のステップで検出したパターン光の境界を用いて前記システムパラメータを校正する校正ステップとを有することを特徴とする。
また、請求項15に記載の発明は、請求項1〜13のいずれか1項に記載の発明である校正用治具を用いた3次元形状検出装置のキャリブレーション方法であって、前記校正用治具に明暗の境界が異なる複数のパターン光を前記パターン光投光手段から校正用治具へ投光し、前記撮像手段によって前記校正用治具を前記投光したパターン光ごとに撮像する第2の撮像ステップと、前記撮像手段によって撮像した複数の画像から前記第1の平面部及び前記第2の平面部におけるパターン光の境界を検出する第2の境界検出ステップと、前記第2のステップで検出したパターン光の境界を用いて前記システムパラメータを校正する校正ステップとを有することを特徴とする。
また、請求項16に記載の発明は、請求項1〜13のいずれか1項に記載の発明である校正用治具を用いた3次元形状検出装置のキャリブレーション方法であって、前記校正用治具に明暗の境界が異なる複数のパターン光を前記パターン光投光手段から校正用治具へ投光し、前記撮像手段によって前記校正用治具を前記投光したパターン光ごとに撮像する第2の撮像ステップと、前記撮像手段によって撮像した複数の画像から空間コード画像を生成する空間コード画像生成ステップと、前記空間コード画像生成ステップで生成された空間コード画像を参照し、前記第1の平面部及び前記第2の平面部における空間コード境界を検出する空間コード境界検出ステップと、前記空間コード境界検出ステップで検出した空間コード境界を用いて前記システムパラメータを校正する校正ステップとを有することを特徴とする。
また、請求項17に記載の発明は、請求項14又は請求項15に記載の発明であって、前記第1の境界検出ステップ又は前記第2の境界検出ステップは、前記撮像された前記校正用治具の撮像画像を表示する表示ステップと、前記表示した撮像画像上で前記第1の平面部と前記第2の平面部における前記パターン光の境界を含む領域を指定する境界領域指定ステップと、前記指定された領域から前記パターン光の境界を検出する検出ステップとを有することを特徴とする。
また、請求項18に記載の発明は、請求項16に記載の発明であって、前記空間コード境界検出ステップは、前記空間コード画像生成ステップで生成された空間コード画像を表示する表示ステップと、前記表示した撮像画像上で前記第1の平面部と前記第2の平面部における前記空間コードの境界を含む領域を指定する境界領域指定ステップと、前記指定された領域から前記空間コードの境界を検出する検出ステップとを有することを特徴とする。
また、請求項19に記載の発明は、請求項1〜13のいずれか1項に記載の発明である校正用治具を用いた3次元形状検出装置のキャリブレーション方法であって、照明手段によって前記校正用治具を照らし、前記撮像手段によって前記校正用治具を撮像する撮像ステップと、前記ステップにおいて撮像された前記校正用治具の撮像画像を表示する表示ステップと、前記表示した撮像画像上で前記校正用指標を含む領域を指定する指標領域指定ステップと、前記指定された領域から前記校正用指標の中心を検出する検出ステップとを有することを特徴とする。
請求項1に記載の発明によれば、システムパラメータの校正するための校正用治具において、基面上に位置し、所定方向に延在する第1の平面部と、前記基面と異なる平面であって同基面に平行な平面上に位置して前記所定方向に延在する第2の平面部とを、前記所定方向と交差する方向に交互に配置することによって、前記第1の平面部と前記第2の平面部をそれぞれ複数設け、前記複数の第1の平面部と前記複数の第2の平面部とに少なくとも6以上の校正用指標が離散して配置されているので、校正用治具の構成を複雑にせず、しかもキャリブレーションのために位置を移動することなく、システムパラメータのキャリブレーションを可能とする校正用冶具を提供することができる。
また、請求項2に記載の発明によれば、前記所定方向と直交する方向における中心を通る前記所定方向の軸に対して、左右対称に校正用冶具を形成したので、校正用治具の構成を複雑にせず、たとえば、校正用冶具を上下反転した場合でもシステムパラメータのキャリブレーションを可能とする校正用冶具を提供することができる。
また、請求項3に記載の発明によれば、被写体の実空間座標系の一軸が通る平面上に複数の第1の平面部または複数の第2の平面部が配置されるので、実際の3次元計測と同様の状態で校正を行うことになり、精度の高い校正が可能になる。
また、請求項4に記載の発明によれば、複数の第1の平面部と複数の第2の平面部とにそれぞれに所定の方向に離散して3以上、かつ第1の平面部ごと及び前記第2の平面部ごとに少なくとも1以上の校正用指標を設けたので、上下に離散して3以上の校正用指標を設けることにより、カメラパラメータのキャリブレーション時の収束性を向上させることができる。また、第1の平面部ごと及び第2の平面部ごとに少なくとも1以上の校正用指標を設けることにより、カメラパラメータのキャリブレーション精度を向上させることができる。
また、請求項5に記載の発明によれば、複数の第1の平面部及び複数の第2の平面部を荷重成型加工により形成したので、鉄板などの金属板をプレス成型することにより校正用冶具を低コストで生産することができる。
また、請求項6に記載の発明によれば、複数の第1の平面部及び複数の第2の平面部を押し出し加工により形成したので、校正用冶具を低コストで生産することができ、また校正用冶具の重量を軽くすることができる。
また、請求項7に記載の発明によれば、複数の第1の平面部及び複数の第2の平面部を複数の部材を用いて形成したので、校正用冶具の形状を高精度で形成することができる。
また、請求項8に記載の発明によれば、複数の第1の平面部及び複数の第2の平面部を射出整形することによって形成したので、校正用冶具の低コストで製造することができる他校正用指標の同時成形が可能となるため生産工程の軽減等を図ることができる。
また、請求項9に記載の発明によれば、校正用指標を表面加工処理によって、この校正用指標を除く他の部分と反射率を異ならしめたので、たとえば、アルミニウム等軽金属素材により校正用治具を形成した場合、校正用指標に相当する表面をサンドブラスト加工することで、校正用指標の形成が容易となる。
また、請求項10に記載の発明によれば、複数の第1の平面部と複数の第2の平面部とにそれぞれ開口穴を形成することによって指標を設けたので、校正用指標の形成を容易にすることができる。特に、校正用冶具を金属板の荷重成型加工により形成する場合、この開口穴を貫通孔とせず凹形状とすれば、一度の加工で校正用指標を有する校正用冶具を形成できる。
また、請求項11に記載の発明によれば、複数の第1の平面部と複数の第2の平面部とは反射率の異なるシールを貼り付けることによって指標を設けたので、校正用指標を他の部分と著しく異なる色にすることができるため校正用冶具を撮像したときの画像において校正用指標の識別の精度が向上する。
また、請求項12に記載の発明によれば、複数の第1の平面部と複数の第2の平面部とは反射率の異なるインクによる印刷処理によって指標を設けたので、校正用指標を他の部分と著しく異なる色にすることができるため校正用冶具を撮像したときの画像において校正用指標の識別の精度が向上する。しかも、シールのように剥れる可能性も少ない。
また、請求項13に記載の発明によれば、複数の第1の平面部及び複数の第2の平面部のうち少なくとも一つの平面部の一端に前記3次元形状検出装置に設けられる載置台と嵌合するための嵌合部を設けたので、所定位置への載置のずれを防止することができると共に位置決めが容易である。
また、請求項14に記載の発明によれば、校正用治具に明暗の3つ以上の境界が現れるようにパターン光を投光し、撮像手段によって撮像した画像から第1の平面部及び第2の平面部における前記パターン光の境界を検出してシステムパラメータを校正するので、一つのパターン光を用いてシステムパラメータの校正を行うことができるため、校正時間の短縮を図ることができる。
また、請求項15に記載の発明によれば、校正用治具に明暗の境界が異なる複数のパターン光を投光し、撮像手段によって撮像した複数の画像から第1の平面部及び第2の平面部における前記パターン光の境界を検出してシステムパラメータを校正するので、投光する複数のパターン光の組合せにより、検出するパターン光境界の数を増加させたり、検出するパターン光境界の位置を校正治具上で偏り無く分布させることが出来るため、システムパラメータの校正の精度を向上させることができる。
また、請求項16に記載の発明によれば、校正用治具に明暗の境界が異なる複数のパターン光を投光して、撮像手段によって撮像した複数の画像から空間コード画像を生成し、この空間コード画像を参照し、第1の平面部及び第2の平面部における空間コード境界を検出してシステムパラメータを校正するので、検出する空間コード境界の数を増加させたり、検出する空間コード境界の位置を校正治具上で偏り無く分布させることが出来るため、システムパラメータの校正の精度を向上させることができる。
また、請求項17に記載の発明によれば、境界検出を、撮像された校正用治具の撮像画像を表示し、撮像画像上で第1の平面部と第2の平面部におけるパターン光の境界を含む領域を指定するようにし、指定された領域から前記パターン光の境界を検出するので、パターン光の境界位置の特定を容易に行うことができると共に、パターン光の境界位の算出精度が増す。
また、請求項18に記載の発明によれば、空間コード境界検出を、空間コード画像を表示して、この空間コード画像上で第1の平面部と第2の平面部における空間コードの境界を含む領域を指定するようにし、指定された領域から空間コードの境界を検出するので、空間コード境界位置の特定を容易に行うことができると共に、空間コード境界位置の算出精度が増す。
また、請求項19に記載の発明によれば、照明手段によって校正用治具を照らして、撮像手段によって校正用治具を撮像し、このように撮像された校正用治具の撮像画像を表示すると共に、この撮像画像上で校正用指標を含む領域を指定するようにし、指定された領域から校正用指標の中心を検出するので、校正用指標の位置特定を容易に行うことができる。しかも、校正用指標の中心位置を特定した校正用指標からその重心を算出するようにすれば、校正用指標の中心位置の算出精度が増す。
以下、本発明のさらに具体的な実施の形態のうちのいくつかを図面に基づいて詳細に説明する。
図1には、本発明の第1実施形態に従う3次元形状検出装置10の外観が斜視図で示されている。この3次元形状検出装置10は、明と暗とを交互に並べてなるストライプ状の複数種類のパターン光の被写体S(物体)への投影と、被写体Sの撮像と、その撮像結果に基づき、被写体Sの3次元情報および表面色情報をコンピュータによって取得する信号処理とを行うように設計されている。この3次元形状検出装置10は、被写体Sとの間における予定外の相対変位にもかかわらず、被写体Sの3次元形状情報と表面色情報とを画素の位置に関して互いに正確にマッチングするように被写体Sを撮像するように設計されている。
図1ないし図4には、3次元形状検出装置10の外部構成が示される一方、図5ないし図11には、3次元形状検出装置10の内部構成が示されている。以下、まず、外部構成を説明し、次に、内部構成を説明する。
図1に示すように、3次元形状検出装置10は、測定ヘッドMHと、台座部HDとを含むように構成されている。
測定ヘッドMHは、被写体Sを光学的に撮像し、その撮像結果に基づいて被写体Sの3次元形状および表面色を測定するために設けられている。台座部HDは、測定ヘッドMH及び被写体Sを載置可能に構成されており、一端の領域に測定ヘッドMHを装着する測定ヘッド装着部を設けると共に、他端に被写体Sを載置する載置台としての回転テーブル部RTを設けている。回転テーブル部RTは、測定ヘッドMHに対して被写体Sを割り出し回転させるごとに測定ヘッドMHによる被写体Sの撮像を可能にし、それにより、被写体Sの外面の全体領域を複数の部分領域に分割して撮像することを可能にするために設けられている。
被写体Sについては、各部分領域ごとの撮像によって複数の部分画像が取得される。それら取得された複数の部分画像は1つのステッチ画像に結合される。同じ被写体Sについて取得された表面色情報がそのステッチ画像にマッピングされ、それにより、その被写体Sについてのステッチテクスチャが生成される。
図1に示すように、測定ヘッドMHは、被写体Sにパターン光を投影するための投影部12と、被写体Sを撮像するための撮像部14と、被写体Sの3次元情報および表面色情報の取得とを行うために信号処理を行う処理部16とを備えている。それら投影部12、撮像部14および処理部16は、測定ヘッドMHの、略直方体状を成すケーシング20に装着されている。
図1に示すように、そのケーシング20には、鏡筒24とフラッシュ26とが、それぞれが部分的にケーシング20の正面において露出する姿勢で装着されている。このケーシング20には、さらに、撮像部14の一部である撮像光学系30が、それのレンズの一部がケーシング20の正面において露出する姿勢で装着されている。その撮像光学系30は、それの露出部分において、被写体Sを表す画像光を受光する。
鏡筒24は、図1に示すように、ケーシング20の正面から突出しており、その内部において、図5に示すように、投影部12の一部である投影光学系32を収容している。投影光学系32は、複数枚の投影レンズ34と絞り36とを含むように構成されている。
鏡筒24は、投影光学系32を、焦点調節のために全体的に移動可能である状態で保持し、さらに、この鏡筒24は、投影光学系32を損傷から保護している。鏡筒24の露出端面から、複数枚の投影レンズ34のうち最も外側に位置するものが露出している。投影光学系32は、その最も外側の投影レンズ34において、被写体Sに向かってパターン光を投影する。
フラッシュ26は、不足光量を補充するために発光する光源であり、例えば、キセノンガスが充填された放電管を用いて構成されている。したがって、このフラッシュ26は、ケーシング20に内蔵されているコンデンサ(図示しない)の放電により繰り返し使用することができる。
図1に示すように、ケーシング20には、それの上面において、レリーズボタン40が装着されている。また、図2(b)に示すように、ケーシング20には、さらに、それの背面において、モード切替スイッチ42(図2(b)に示す例においては、3個のボタンから成る。)と、4方向カーソルキー(十字キー)43と、モニタLCD44とが装着されている。それらモード切替スイッチ42および4方向カーソルキー43はそれぞれ、ファンクションボタンの一例を構成する。
レリーズボタン40は、3次元形状検出装置10を作動させるためにユーザによって操作される。このレリーズボタン40は、ユーザの操作状態(押下状態)が「半押し状態」である場合と「全押し状態」である場合とで異なる指令を発令できる2段階の押しボタン式のスイッチによって構成されている。レリーズボタン40の操作状態は処理部16によって監視される。処理部16によって「半押し状態」が検出されれば、よく知られたオートフォーカス(AF)および自動露出(AF)の機能が起動し、ピント、絞りおよびシャッタスピードが自動的に調節される。これに対し、処理部16によって「全押し状態」が検出されれば、撮像等が行われる。
モード切替スイッチ42は、3次元形状検出装置10の作動モードを、後述の三次元測定モード(図2(b)において「3D」で示す。)、校正モード(図2(b)において「C」でしめす。)およびオフモード(図2(b)において「OFF」で示す。)を含む複数種類のモードのいずれかとして設定するためにユーザによって操作される。このモード切替スイッチ42の操作状態は処理部16によって監視されており、モード切替スイッチ42の操作状態が処理部16によって検出されると、その検出された操作状態に対応するモードでの処理が3次元形状検出装置10において行われる。
モニタLCD44は、液晶ディスプレイ(Liquid Crystal Display)を用いて構成されており、処理部16から画像信号を受けて、画像をユーザに表示する。このモニタLCD44は、例えば、被写体Sの3次元形状の検出結果を表す画像(立体画像)等を表示する。
図2に示すように、ケーシング20には、さらに、RF(無線)インタフェイスとしてのアンテナ50が装着されている。アンテナ50は、図5に示すように、RFドライバ52に接続されている。このアンテナ50は、被写体Sを立体画像として表すデータ等を、RFドライバ52を介して、図示しない外部インタフェイスに無線によって送信する。
ここで、図1および図3を参照することにより、測定ヘッドMHを台座部HDに着脱可能に装着する構造を説明する。
測定ヘッドMHは、台座部HDの一端の上面に機械的に係合することにより、その台座部HDに装着される。その係合を実現するために、測定ヘッドMHは、図3に示すように、台座部HDとの係合部である下端部にヘッド沈座部150が形成されている。このヘッド沈座部150は、第1および第2の係合爪152,154を一対の雄側係合部として有している。
図3に示すように、それら第1および第2の係合爪152,154は、測定ヘッドMHの横方向、すなわち、台座部HDの幅方向に互いに隔たる一対の位置において、それぞれ測定ヘッドMHの前後方向、すなわち、台座部HDの長さ方向に延びるように形成されている。本実施形態においては、測定ヘッドMHが台座部HDにできる限り強固に固定されるようにするために、それら第1および第2の係合爪152,154間の距離ができる限り長くなるようにそれら第1および第2の係合爪152,154の各位置が選定されている。
図3に示すように、台座部HDには、ヘッド沈座部150との機械的係合によってそのヘッド沈座部150を固定的に受容するヘッド受容部160が形成されている。このヘッド受容部160は、ヘッド沈座部150が嵌り入るヘッドベース沈座空隙162を備え、さらに、測定ヘッドMHの第1および第2の係合爪152,154にそれぞれ係合する第1および第2の爪突き当て部164,166を一対の雌側係合部として備えている。
第1の爪突き当て部164は、対応する第1の係合爪152に係合して、測定ヘッドMHが台座部HDから、それの上面に直角な方向に離脱することを阻止する固定爪突き当て部である。一方、第2の爪突き当て部166は、(a)対応する第2の係合爪154に係合して、測定ヘッドMHが台座部HDから、それの上面に直角な方向に離脱することを阻止する係合位置と、(b)対応する第2の係合爪154から離脱して、測定ヘッドMHが台座部HDから、それの上面に直角な方向に離脱することを許可する解放位置とに変位可能な可動爪突き当て部である。
第2の爪突き当て部166の一例は、台座部HDの長さ方向(台座部HDに対する測定ヘッドMHの装着・離脱時にその測定ヘッドMHが回転する回転平面に直角な方向)に延びるピボット軸線まわりにピボット可能なピボット部材170を含んでいる。
そのピボット部材170は、そのピボット軸線と同軸な軸線を有するジョイント172によって台座部HDにピボット可能に装着される。このピボット部材170は、対応する第2の係合爪154に機械的に係合してその第2の係合爪154が離脱することを阻止する可動係合部174を含んでいる。その可動係合部174が第2の係合爪154を上方から係合する向きにピボット部材170が常時、弾性部材としてのスプリング176によって付勢される。本実施形態においては、そのピボット部材170が、さらに、可動係合部174による係合を解除するためにユーザによって押圧操作される操作部178と、スプリング176の弾性力を拡大して可動係合部174に伝達するレバレッジ180とを含んでいる。
次に、図3を参照することにより、台座部HDに対する測定ヘッドMHの着脱作業を説明する。
測定ヘッドMHを台座部HDに装着するためには、ユーザは、ピボット部材170の操作部178を、スプリング176の弾性力に抗して、可動係合部174が係合位置から解放位置に向かう解放方向に押圧する。その押圧状態で、ユーザは、ヘッド沈座部150がヘッドベース沈座空隙162内に進入しつつ第1の係合爪152が第1の爪突き当て部164内に進入して当接するように、測定ヘッドMHを概して垂直面内において回転させつつ下降させる。その後、ユーザは、操作部178の押圧を解除し、それにより、ピボット部材170がスプリング176の弾性回復力によって解放位置から係合位置に回動して、可動係合部174が第2の係合爪154に上方から係合して突き当たる。その結果、第1の係合爪152が第1の爪突き当て部164から上方に離脱することが阻止されるとともに、第2の係合爪154が第2の爪突き当て部166から上方に離脱することも阻止される。それにより、測定ヘッドMHが台座部HDから離脱することが阻止される。
これに対し、測定ヘッドMHを台座部HDから離脱するためには、ユーザは、上記の場合と同様にして、ピボット部材170の操作部178をスプリング176の弾性力に抗して、解放方向に押圧する。その押圧状態で、ユーザは、ヘッド沈座部150がヘッドベース沈座空隙162から退避しつつ第1の係合爪152が第1の爪突き当て部164から退避するように、測定ヘッドMHを概して垂直面内において回転させつつ上昇させて、測定ヘッドMHを台座部HDから離脱させる。その後、ユーザは、操作部178の押圧を解除し、それにより、ピボット部材170がスプリング176の弾性回復力によって解放位置から係合位置に復元する。
次に、図4を参照することにより、回転テーブル部RTを詳細に説明する。
この回転テーブル部RTは、被写体Sが載置されるべき回転テーブル184と、その回転テーブル184を回転可能に支持する支持フレーム186とを含んでいる。その支持フレーム186は、上板部188と下板部189とを含むように薄い中空箱状を成しており、上板部188の開口から回転テーブル184の上面が露出している。本実施形態においては、その支持フレーム186のうちの下板部189がテーブルベースとしても機能する。
回転テーブル184の上面は、撮像されるべき被写体Sが載置される載置面190である。一方、回転テーブル184の下面から、回転シャフト191が同軸に延び出しており、この回転シャフト191は、軸受け192を介して支持フレーム186に回転可能に支持されている。その軸受け192は、支持フレーム186に形成された軸受けホルダ193によって保持されている。
回転テーブル184を回転させるテーブルモータ194が支持フレーム186に装着されている。このテーブルモータ194を収容するモータボックス195が支持フレーム186に形成されている。
このモータボックス195は、支持フレーム186の上板部188の上面に、その上面から上方に突出する姿勢で形成されている。このモータボックス195の上面は、回転テーブル184の上面より高く設定されている。それにより、被写体Sが回転テーブル184と共に回転させられる際にその被写体Sが、回転テーブル184を同軸に投影した投影空間から外側にはみ出していると、モータボックス195のうち回転テーブル184の上面より上方に位置する部分が被写体Sに当接してその被写体Sの向きを変化させる。
したがって、モータボックス195は、テーブルモータ194の収容部として機能するのみならず、被写体Sが回転テーブル184に位置決めされる位置を規制する位置規制部196としても機能する。
テーブルモータ194の回転を回転テーブル184に伝達するために、テーブルモータ194の回転シャフトにモータギヤ197が同軸に固定され、このモータギヤ197にかみ合うテーブルギヤ198が回転テーブル184に同軸に固定されている。モータギヤ197は、テーブルギヤ198より小径であるため、テーブルギヤ198の回転速度が減速されて回転テーブル184に伝達される。
ところで、テーブルモータ194は、支持フレーム186の上板部188の上面から突出しないように支持フレーム186に装着することが可能である。一方、上板部188の上面のうち回転テーブル184が露出する部分を除く部分の上方空間にテーブルモータ194を配置しても、何ら支障がなく、むしろ、支持フレーム186の薄型化に有利である。
したがって、本実施形態によれば、テーブルモータ194を上板部188の上面から突出するように配置することにより、上述の位置規制部196としての機能に加えて、支持フレーム186の薄型化を容易にするという機能も実現される。
この3次元形状検出装置10は、複数種類のモードのうちユーザによって選択されたものに従って作動する。それらモードは、三次元計測モード(以下「3Dモード」とする。)と、校正モード、オフモードとを含んでいる。3Dモードは、被写体Sを撮像し、被写体Sの立体形状を検出するモードである。校正モードは、後述の校正用冶具KAを用いて3次元形状検出装置10における後述のシステムパラメータをキャリブレーションするためのモードである。オフモードは、この3次元形状検出装置10の動作を停止させるモードである。
撮像部14は、被写体Sを撮像し、その被写体Sを表す全体画像を構成する複数個の画素のいずれかを間引いて形成される画素間引き画像を取り出すことが可能であるように構成されている。
ここで、CCDを用いた撮像の分野においては、被写体Sの撮像結果から画素間引き画像を取り出すために、加算方式と選択方式とがすでに知られている。
加算方式によれば、被写体Sを表す全体画像を構成する複数個の画素がグループ分けされた複数個の画素グループの各々に属する複数個の対象画素の照度検出値が各画素グループごとに加算され、その加算された照度を用いて、各画素グループに属する複数個の対象画素の照度検出値が均等に分散される。
これに対し、選択方式によれば、それら複数個の画素グループの各々に属する複数個の対象画素から、それら対象画素を代表する代表画素が各画素グループごとに選択され、その選択された代表画素の照度検出値を用いて、各画素グループに属する複数個の対象画素の照度検出値が均等に分散される。
本実施形態においては、撮像部14は、それら加算方式と選択方式とのうち予め選択されたものに従い、被写体Sの撮像結果から画素間引き画像を取り出すように設計されている。
投影部12は、被写体Sにパターン光を投影するためのユニットである。この投影部12は、図5および図6に示すように、基板60と、LED62(例えば、単一のLED素子によって広い出射面から光を出力するLED)と、照明絞り63と、光源レンズ64と、マスク200を送るためのマスクモータ(例えば、パルスモータ)65を駆動源とする投影機構66と、投影光学系32とを、投影方向に沿って直列に備えている。
図6には、この投影部12のハードウエア構成のうち、基板60と、LED62と、照明絞り63と、光源レンズ64と、マスク200と、投影光学系32とが詳細に示されている。図7には、この投影部12を含む3次元形状検出装置10全体のソフトウエア構成および電気的接続関係が詳細に示されている。図8ないし図11には、投影部12のハードウエア構成のうち、投影機構66が詳細に示されている。
撮像部14は、被写体Sを撮像するためのユニットである。この撮像部14は、図5に示すように、撮像光学系30と、CCD(Charge Coupled Device)70とを、画像光の入射方向に沿って直列に備えている。このCCD70は、インターライントランスファー方式でプログレッシブ走査を行うように構成されている。
撮像光学系30は、図5に示すように、複数枚のレンズを用いて構成されている。この撮像光学系30は、よく知られたオートフォーカス機能により、焦点距離および絞りを自動調整して外部からの光をCCD70上に結像する。
CCD70は、フォトダイオード素子などの光電変換素子をマトリクス状に配列して構成されている。このCCD70は、撮像光学系30を介してこのCCD70の表面に結像される画像の光の色および強さに応じた信号を各画素ごとに生成する。その生成された信号は、デジタルデータに変換されて処理部16に出力される。
図7にブロック図で表すように、処理部16は、フラッシュ26、レリーズボタン40およびモード切替スイッチ42にそれぞれ電気的に接続されている。処理部16は、さらに、モニタLCD44にはモニタLCDドライバ72を介して、アンテナ50にはRFドライバ52を介して、バッテリ74には電源インタフェイス76を介してそれぞれ電気的に接続されている。それらフラッシュ26等は、処理部16によって制御される。
処理部16は、さらに、外部メモリ78およびキャッシュメモリ80にそれぞれ電気的に接続されている。処理部16は、さらに、LED62には光源ドライバ84を介して、投影機構66のマスクモータ65にはマスクモータドライバ86を介して、CCD70にはCCDインタフェイス88を介してそれぞれ電気的に接続されている。それらLED62等は、処理部16によって制御される。
外部メモリ78は、着脱可能なフラッシュROMであり、立体画像モードにおいて撮像された撮像画像や3次元情報(前述のステッチテクスチャを含む。)を記憶することが可能である。外部メモリ78を構成するために、例えば、SDカード、コンパクトフラッシュ(登録商標)カード等を使用することができる。
キャッシュメモリ80は、データの読み書きを高速で行い得る記憶装置である。キャッシュメモリ80は、例えば、デジカメモードにおいて撮像された撮像画像を高速でキャッシュメモリ80に転送し、処理部16で画像処理を行ってから外部メモリ78に格納することを可能にするために使用される。キャッシュメモリ80を構成するために、例えば、SDRAM、DDRRAM等を使用することができる。
電源インタフェイス76、光源ドライバ84、マスクモータドライバ86およびCCDインタフェイス88はそれぞれ、バッテリ74、LED62、投影機構66のマスクモータ65およびCCD70を制御する各種のIC(Integrated Circuit)によって構成されている。
図2(a)に示すように、測定ヘッドMHには、ACアダプタ端子90と、USB端子91と、テーブルモータ端子92とが設けられている。ACアダプタ端子90は、図5にも示すように、バッテリ74に電気的に接続されており、それにより、3次元形状検出装置10が外部の交流電源を電力源として利用することが可能となっている。USB端子91は、図5に示すように、USBドライバ93を介して処理部16に接続されている。テーブルモータ端子92は、図5に示すように、テーブルモータドライバ94を介して処理部16に接続されている。
図1に示すように、回転テーブル部RTのテーブルモータ194から電気ラインとしてのハーネス95が延び出している。このハーネス95は、図2(a)に示すように、そのハーネス95の先端に接続されたL字プラグ96においてテーブルモータ端子92に接続されている。そのハーネス95は、測定ヘッドMHからテーブルモータ194に制御信号および電力を供給する電気ラインとして機能する。したがって、図8に示すように、テーブルモータ194がテーブルモータドライバ94を介して処理部16に接続されることになる。
図1に示すように、ハーネス95は、台座部HDの表面上でハーネス止め97,98,98によって規定される。
前述のように、投影部12は、図6に示すように、基板60と、LED62と、照明絞り63と、光源レンズ64と、投影機構66と、投影光学系32とをパターン光の投影方向に沿って直列に備えている。
基板60は、それにLED62が装着されることにより、その装着されたLED62との間において電気的な配線を行う。基板60は、例えば、アルミニウム製基板に絶縁性合成樹脂を塗布してから無電解メッキによってパターンを形成したものや、ガラスエポキシ基材をコアとする単層または多層構造の基板を使用して製作することができる。LED62は、投影機構66に向けて放射状のアンバー色の光を広い面積で発光する光源であり、LEDケーシング100内に収容されている。
図6に示すように、照明絞り63は、LED62から出力された光のうち不要な部分を遮蔽することにより、必要な部分のみを光源レンズ64に誘導するために設けられている。光源レンズ64は、LED62から放射状に発光される光を集光するレンズであり、その材質はアクリルに代表される光学樹脂である。
本実施形態においては、図6に示すように、LED62から発光される放射状の光が、光源レンズ64によって効率良く集光され、LED62からの出射光が投影機構66の入射面106に略直角に入射するとともに、指向性の高い放射光として投影機構66の出射面108から出射する。この意味において、光源レンズ64は、コリメータレンズとして機能する。図6には、その出射面108上において互いに隔たった2個の注目点A,Bにつき、それぞれの指向性特性が照度分布のグラフ(θ:半値拡がり半角)で表されている。
投影光学系32は、投影機構66を通過した光を被写体Sに向かって投影するための複数枚の投影レンズ34を含んでいる。それら投影レンズ34は、ガラス製レンズと合成樹脂製レンズとの組合せから成るテレセントリックレンズによって構成されている。テレセントリックとは、投影光学系32を通過する主光線が、入射側の空間では光軸に平行になり、入射瞳の位置が無限になる構成をいう。
投影光学系32は、上述のようにテレセントリック特性を持ち、その入射NAが0.1程度であるため、垂直±5°以内の光のみが投影光学系32の内部の絞り36を通過できるように、投影光学系32の光路が規制されている。したがって、本実施形態においては、投影光学系32のテレセントリック性により、投影機構66を垂直±5°で通過する光のみを投影光学系32に投影し得る構成と相俟って、画質の向上を容易に図り得る。
ここで、図8ないし図11を参照することにより、投影部12のハードウエア構成のうち投影機構66を詳細に説明する。
この投影機構66は、光源としてのLED62からの入射光を複数種類のパターン光に選択的に変換することにより、それら複数種類のパターン光を順次被写体Sに投影するために設けられている。図8には、この投影機構66が正面図で示され、図9には、この投影機構66が部分断面側面図で示されている。
図8に示すように、この投影機構66は、シート状を成して長さ方向に延びるマスク200を備えており、そのマスク200はマスクモータ65によってそのマスク200の長さ方向に送られる。
図10には、そのマスク200の長さ方向における一部が拡大されて正面図で示されている。このマスク200には、前記複数種類のパターン光にそれぞれ対応する複数のフレーム202がマスク200の長さ方向に並んで割り当てられている。図8に示すように、それらフレーム202は、選択的に前記入射光の照射領域に位置させられる。
本実施形態においては、3Dモードの際、被写体Sを撮像するために8種類のパターン光が順次被写体Sに投影される。図10には、パターン番号PNが5であるパターン光を形成するためのフレーム202(図10において「コード5」を付して示す。)と、パターン番号PNが6であるパターン光を形成するためのフレーム202(図10において「コード6」を付して示す。)と、パターン番号PNが7であるパターン光を形成するためのフレーム202(図10において「コード7」を付して示す。)とが代表的に示されている。また、校正モードの際には、フラッシュ光やパターン光が校正用冶具KAに投射される。
マスク200は、各フレーム202ごとに、マスク200をそれの厚さ方向に貫通する貫通穴(空気開口)204を、各フレーム202に対応するパターン光の形状に対応する形状を有する状態で備えている。図10に示すように、いずれのフレーム202においても、個々の貫通穴204が直線的に延びるスリット状を成している。複数個のフレーム202のうち、複数個の貫通穴204を有するものにおいては、それら複数個の貫通穴204がストライプ状を成すように配列されている。
さらに、本実施形態においては、いずれのフレーム202においても、各貫通穴204がマスク200の長さ方向に平行に延びるように配置されている。
そのマスク200は、長さ方向と厚さ方向との双方に平行な平面内において屈曲可能である。このマスク200は、金属製の薄いシートによって構成されている。マスク200を構成する金属は、不透明弾性材料の一例であり、そのような材料の一例はステンレスである。このマスク200の板厚の一例は、0.1mmである。
本実施形態においては、厚さ0.1mmのステンレス板に対してウエットエッチングが施されることにより、そのステンレス板に複数個の貫通穴204がミクロン精度で形成され、それにより、マスク200が製作されている。
このマスク200は、弾性屈曲性を有しており、後述のようにローラに巻き取られて収容されていても、そのローラから解放されれば、真っ直ぐな平面を成す原形状に復元する性質を有する。
図8に示すように、投影機構66は、マスク200を巻き取り可能に保持しつつ送るために、ハウジング210を備えている。このハウジング210に、供給具としての供給ローラ220と、案内具としてのガイドローラ222と、送り具としての送りローラ224と、巻き取り具としての巻き取りローラ226とが、互いに平行な各軸線を有する姿勢で支持されている。それら供給ローラ220,ガイドローラ222,送りローラ224および巻き取りローラ226の軸線はいずれも、マスク200の幅方向に平行に延びている。
図9に示すように、マスク200は、それの長さ方向における両端部においてそれぞれ、供給ローラ220と巻き取りローラ226とに結合されている。マスク200は、さらに、それら供給ローラ220と巻き取りローラ226との間において、供給ローラ220寄りのガイドローラ222と、巻き取りローラ226寄りの送りローラ224とに支持されている。
3次元形状検出装置10の不使用状態においては、マスク200は、供給ローラ220と巻き取りローラ226とのうち主に供給ローラ220に巻き付けられており、マスク200は、この状態で3次元形状検出装置10内において収容される。すなわち、マスク200のうちの未使用部分は、供給ローラ220に巻き付けられて収容されるのであり、供給ローラ220は、マスク200のうちの未使用部分を屈曲状態において収容するローラなのである。
被写体Sの撮像が開始されると、マスク200のうちの未使用部分は、マスクモータ65の正回転により、供給ローラ220から剥がされて巻き取りローラ226に向かって供給される。その未使用部分が被写体Sの撮像に使用されると、使用済部分として、巻き取りローラ226に巻き取られて収容される。すなわち、巻き取りローラ226は、マスク200のうちの使用済部分を屈曲状態において収容するローラなのである。
被写体Sの撮像が終了した時点においては、マスク200は、供給ローラ220と巻き取りローラ226とのうち主に巻き取りローラ226に巻き付けられ、マスク200は、この状態で3次元形状検出装置10内において収容される。その後、次回の撮像に備えて、マスクモータ65の逆回転により、マスク200は、供給ローラ220と巻き取りローラ226とのうち主に供給ローラ220に巻き取られ、それにより、マスク200は、供給ローラ220に巻き付けられた状態で、3次元形状検出装置10内において収容される。
図9に示すように、それらガイドローラ222と送りローラ224との間に、LED62からの入射光がマスク200に照射される照射位置228が設定されている。マスク200のうちそれらガイドローラ222と送りローラ224とによって両端を支持される部分が、前記設定された照射位置228を前記入射光に直角な方向に通過する直線部230を形成している。
図9に示すように、本実施形態においては、マスク200のうち供給ローラ220とガイドローラ222とによって両端を支持される部分232(図9において直線部より左側の部分)と、送りローラ224と巻き取りローラ226とによって両端を支持される部分234(図9において直線部より右の部分)とがそれぞれ、直線部230に対して同じ側に傾斜させられている。その傾斜角度は、小さいほど、直線部230に対する部分232,234の弾性曲げに起因する直線部230の反りを軽減するために望ましい。一方、その傾斜角度は、大きいほど、マスク200の長さ方向においてこの投影機構66を小型化するために望ましい。
図9に示すように、マスク200は、それの長さ方向における両端部においてそれぞれ、供給ローラ220と巻き取りローラ226とに結合されている。
供給ローラ220は、ハウジング210に固定されたシャフト240と、そのシャフト240を同軸に取り囲むローラ部242とを含むように構成されている。ローラ部242は、シャフト240に対して同軸に相対回転可能に支持されている。このローラ部242にマスク200の一端部が固定され、そのローラ部242の回転によってそのローラ部242の外周面にマスク200が巻き付けられる。ローラ部242の両回転方向のうち、ローラ部242にマスク200が巻き付けられる回転方向が戻り回転方向であり、ローラ部242からマスク200が剥がされる回転方向が送り回転方向である。
ローラ部242には、付勢部材としてのスプリング246が係合させられており、それにより、ローラ部242は、戻り回転方向に常時付勢されている。そのスプリング246は、例えば、図9に示すように、ローラ部242とシャフト240との間の半径方向隙間内において、可動部材としてのローラ部242と静止部材としてのシャフト240とに係合させられるように使用される。そのスプリング246は、例えば、図9に示すように、シャフト240の外周面に巻き付けられるリーフスプリングとして構成される。そのスプリング246の弾性力により、マスク200にテンションがそのマスク200の長さ方向に作用させられる。
図8および図10に示すように、マスク200の両側縁部にはそれぞれ、マスク200の長さ方向に並んだ複数個の送り穴250から成るパーフォレーション領域252が形成されている。ガイドローラ222および送りローラ224は、それら送り穴250に貫通してそれら送り穴に係合する歯254,256を備えている。本実施形態においては、図9に示すように、ガイドローラ222も送りローラ224も、複数個の歯254,256を、各外周面上において等間隔に並んで備えている。
ガイドローラ222はフリーローラであるのに対し、送りローラ224は、マスクモータ65によって駆動される駆動ローラである。図8に示すように、本実施形態においては、マスクモータ65が送りローラ224に同軸に連結されており、送りローラ224がマスクモータ65によって回転駆動される。送りローラ224の両回転方向のうち、マスク200が供給ローラ220から剥がされる回転方向が送り回転方向であり、マスク200が供給ローラ220に巻き付けられる回転方向が戻り回転方向である。
図9に示すように、そのマスクモータ65は、送りローラ224を回転させる機能と、それと同期して巻き取りローラ226を回転させる機能とを有している。そのため、マスクモータ65は、マスク200を送りつつ巻き取りローラ226によって巻き取られる正回転と、マスク200を巻き取りローラ226から剥がしつつ供給ローラ220に供給する逆回転とを選択的に行わせられる。
図8に示すように、本実施形態においては、送りローラ224およびマスクモータ65と同軸かつ一体的に回転させられる回転体としての駆動プーリ260と、巻き取りローラ226と同軸かつ一体的に回転させられる回転体としての被動プーリ262とに、動力伝達体としてのベルト264が巻き掛けられている。このように構成された伝動機構266により、マスクモータ65の回転力が巻き取りローラ226に伝達される。
図8および図9に示すように、投影機構66は、照射位置228においてマスクガイド270を備えている。そのマスクガイド270は、マスク200のうちの直線部230の送りを案内するために設けられている。
本実施形態においては、マスクガイド270が、マスク200の直線部230をそれの厚さ方向における両側から挟む構造を有しており、具体的には、マスク200の直線部230を隔てて互いに対向する一対のガイド板272,272を備えている。このマスクガイド270は、マスク200をそれの長さ方向にスライド可能に保持する一方、マスク200をそれの幅方向にはできる限り変位しないように保持する。
各ガイド板272には、それを厚さ方向に貫通する窓276が形成されている。この窓276も、貫通穴204と同様に、空気開口として形成されている。LED62からの入射光のうち窓276を通過する部分のみが、マスク200に照射される。
図10に示すように、マスク200には、各フレーム202ごとに、位置基準穴280とID穴領域282とが、マスク200の幅方向に並んで形成されている。それら位置基準穴280およびID穴領域282は、いずれも貫通穴(空気開口)としてマスク200に形成されている。位置基準穴280は、いずれかのフレームが照射位置228に位置していることを光学的に検出するために設けられている。一方、ID穴領域282は、照射位置228に位置しているフレームのIDすなわちパターン番号PNを光学的に特定するために設けられている。
本実施形態においては、ID穴領域282が、3ビットの情報によって8個のフレーム202すなわち8種類のパターン光をそれぞれ識別する。そのため、各フレーム202ごとのID穴領域282には、最大で3個のID穴290,292,294が形成される。
図11に示すように、投影機構66は、位置基準穴280を光学的に検出するために、位置センサ300を、マスク200の幅方向位置に関して位置基準穴280と一致する位置に備えている。本実施形態においては、その位置センサ300は、位置基準穴280を高い位置精度で検出するために、絞ったビームをマスク200に照射するとともに、マスク200からの反射光を絞って受光する。
そのため、位置センサ300は、発光素子としてのLED302と、受光素子としてのフォトダイオード(以下、「PD」という。)304と、LED302のための集光素子としてのLEDレンズ306と、PD304のための集光素子としてのPDレンズ308とを含んでいる。この位置センサ300は、図7に示すように、処理部16に電気的に接続されている。
PD304は、マスク200からの反射光の受光の有無に応じて変化するPD信号を出力する。具体的には、PD信号は、図12にタイミングチャートで表すように、いずれの位置基準穴280も位置センサ300に対向しないために位置センサ300からの光がマスク200で反射して位置センサ300に入射する場合に、ハイレベルを示す一方、いずれかの位置基準穴280が位置センサ300に対向するために位置センサ300からの光がその位置基準穴280を透過して位置センサ300に入射しない場合に、ローレベルを示すように変化する。
LEDレンズ306は、LED302からの光を集光してマスク200に照射する集光機能を有する。PDレンズ308は、マスク200からの反射光を集光してPD304に照射する集光機能を有する。それらLEDレンズ306およびPDレンズ308により、位置基準穴280の位置ひいてはフレーム202の位置を高精度に検出することが可能となっている。
図11に示すように、投影機構66は、さらに、ID穴290,292,294を光学的に検出するために、第1ないし第3のIDセンサ310,312,314を備えている。それら第1ないし第3のIDセンサ310,312,314はそれぞれ、マスク200の幅方向位置に関して3個のID穴290,292,294と一致する位置に配置されている。いずれのIDセンサ310,312,314も、ID穴領域282に向けて光を照射する発光素子と、ID穴領域282からの反射光を受光する受光素子とを含んでいる。
第1ないし第3のIDセンサ310,312,314の3個の受光素子はそれぞれ、ID穴領域282からの反射光の有無を表す信号を、信号S1ないしS3として出力する。それら信号S1ないしS3は、前述のPD信号と同様に変化する。それら第1ないし第3のIDセンサも、位置センサ300と同様に、図7に示すように、処理部16に電気的に接続されている。
図12には、PD信号およびS1ないしS3信号が互いに同期して変化する様子の一例がタイミングチャートで表されている。処理部16においては、後に詳述するが、マスクモータ65の駆動によってマスク200が送られている間にいずれかの位置基準穴280が位置センサ300に対向したためにPD信号がハイレベルからローレベルに変化した事象をトリガとして、第1ないし第3のIDセンサ310,312,314からそれぞれS1ないしS3信号がサンプリングされる。
図11に示すマスク200の例においては、第1および第3のIDセンサ310,314がそれぞれ、ID穴290,294に対向するため、S1信号およびS3信号がそれぞれ、ハイレベルからローレベルに変化する一方、第2のIDセンサ312は、ID穴292に対向しないため、S2信号がハイレベルに維持される。それらサンプリングされたS1ないしS3信号のレベルの組合せにより、位置センサ300によって検出されたフレーム202のIDすなわちパターン番号PNが検出される。
図7には、3次元形状検出装置10の電気的な構成がブロック図で表されている。処理部16はコンピュータ400を主体として構成されており、そのコンピュータ400は、CPU402と、ROM404と、RAM406と、バス408とを含むように構成されている。
CPU402は、ROM404に記憶されたプログラムをRAM406を利用しつつ実行することにより、レリーズボタン40の操作状態の検出、CCD70からの画像データの取込み、その取り込まれた画像データの転送および格納、モード切替スイッチ42の操作状態の検出等の各種処理を行う。
ROM404には、カメラ制御プログラム404aと、撮像処理プログラム404bと、輝度画像生成プログラム404cと、コード画像生成プログラム404dと、コード境界抽出プログラム404eと、レンズ収差補正プログラム404fと、三角測量演算プログラム404gと、マスクモータ制御プログラム404hと、テーブルモータ制御プログラム404i、校正プログラム404jとが格納されている。
カメラ制御プログラム404aは、3次元形状検出装置10全体の制御を実行するために実行され、その制御には、図13にフローチャートで概念的に表されているメイン処理が含まれる。
撮像処理プログラム404bは、被写体Sの3次元形状を検出するためにパターン光が投影された被写体Sを撮像してパターン光有画像を取得し、さらに、パターン光が投影されていない被写体Sを撮像してパターン光無画像を取得するために実行される。
輝度画像生成プログラム404cは、撮像処理プログラム404bの実行によって被写体Sについて取得された各画素のRGB値に基づき、複数枚のパターン光有画像にそれぞれ対応する複数枚の輝度画像が生成される。
本実施形態においては、同じ被写体Sに対して複数種類のパターン光が時系列に順次投影され、各パターン光が投影されるごとに被写体Sが撮像される。そのようにして撮像された複数枚のパターン光有画像の各々について各画素のRGB値が取得され、その結果、パターン光の種類と同数の輝度画像が生成される。
コード画像生成プログラム404dは、輝度画像生成プログラム404cの実行によって生成された複数枚の輝度画像それぞれに対する閾値処理により生成される2値化画像から、各画素毎に空間コードが割り当てられたコード画像を生成するために実行される。
概略的に説明するに、このコード画像生成プログラム404dが実行されると、複数種類のパターン光のうちパターンライン間の間隔が最も狭いものが投影された被写体Sの輝度画像におけるパターンライン間の間隔が周期として取得され、その周期の輝度画像全体における分布が周期分布として取得される。
このコード画像生成プログラム404dが実行されると、さらに、その取得された周期分布に従ってサイズが変化する可変窓が各パターン光ごとの輝度画像にローカルに設定されることにより、前記可変窓を用いたフィルタ処理により輝度画像全体に対して閾値がローカルに算出されて設定される。そのようにして設定された閾値の分布を表す閾値画像と各パターン光ごとの輝度画像との関係から、各パターン光ごとに2値化画像が生成される。
可変窓を用いたフィルタ処理により輝度画像全体に対して閾値をローカルに算出する技術は、本出願人の特願2004−285736号明細書に詳細に開示されており、その明細書を参照することによってその明細書の内容を本明細書に引用する。
コード境界抽出プログラム404eは、コード画像生成プログラム404dの実行によって生成されたコード画像と、輝度画像生成プログラム404cの実行によって生成された輝度画像とを利用することにより、コードの境界座標をサブピクセル精度で求めるために実行される。
レンズ収差補正プログラム404fは、コード境界抽出プログラム404eの実行によってサブピクセル精度で求められたコードの境界座標に対して、撮像光学系30の収差補正を行うために実行される。
三角測量演算プログラム404gは、レンズ収差補正プログラム404fの実行によって収差補正が行われたコードの境界座標から、その境界座標に関する実空間の3次元座標を演算するために実行される。
マスクモータ制御プログラム404hは、複数種類のパターン光を順次被写体Sに投影すべくマスクモータ65を制御するために実行される。このマスクモータ制御プログラム404hは、図33にフローチャートで概念的に表されている。
テーブルモータ制御プログラム404iは、回転テーブル184を被写体Sと共に割り出し回転させるべくテーブルモータ194を制御するために実行される。このテーブルモータ制御プログラム404iは、他の処理と共に図31にフローチャートで概念的に表されている。
校正プログラム404jは、被写体の3次元形状を算出するために用いるシステムパラメータの校正を実行する。すなわち、被写体の実空間3次元座標系の3次元座標演算に用いるカメラパラメータとプロジェクタパラメータから構成されるシステムパラメータを校正する。この校正プログラム404jは、図14,図22,図25にフローチャートで概念的に表されている。
本実施形態においては、前述の一連のパターン光の被写体Sへの投影および被写体Sの撮像が、被写体Sの回転位置が等間隔で割り出されるごとに行われる。具体的には、被写体Sの回転位置が90度ずつ間欠的に割り出され、各割り出し位置において、一連のパターン光の投影および被写体Sの撮像が行われる。その結果、被写体Sの外面の全体領域が4つの部分領域に分割され、各部分領域ごとに立体画像(3次元形状情報)が取得される。それら立体画像が、互いにオーバラップする部分を除去する処理が施されて互いに結合されることにより、被写体Sに対応する1つの全体画像がステッチ画像として生成される。
さらに、本実施形態においては、その生成されたステッチ画像に、同じ被写体Sについて計測された表面色情報がマッピングされることにより、ステッチテクスチャが生成される。これにより、被写体Sについての一連の3次元入力処理が終了する。
図7に示すように、RAM406には、パターン光有画像格納部406aと、パターン光無画像格納部406bと、輝度画像格納部406cと、コード画像格納部406dと、コード境界座標格納部406eと、収差補正座標格納部406gと、3次元座標格納部406hと、周期分布格納部406pと、閾値画像格納部406qと、2値化画像格納部406rと、ステッチ画像格納部406sと、ステッチテクスチャ格納部406tと、システムパラメータ格納部406uと、ワーキングエリア410とがそれぞれ記憶領域として割り当てられている。
パターン光有画像格納部406aは、撮像処理プログラム404bの実行によって撮像されたパターン光有画像を表すパターン光有画像データを格納する。パターン光無画像格納部406bは、撮像処理プログラム404bの実行によって撮像されたパターン光無画像を表すパターン光無画像データを格納する。
輝度画像格納部406cは、輝度画像生成プログラム404cの実行によって生成された輝度画像を表すデータを格納する。コード画像格納部406dは、コード画像生成プログラム404dの実行によって生成されたコード画像を表すデータを格納する。コード境界座標格納部406eは、コード境界抽出プログラム404eの実行によってサブピクセル精度で抽出された各コードの境界座標を表すデータを格納する。
収差補正座標格納部406gは、レンズ収差補正プログラム404fの実行によって収差補正が行われたコードの境界座標を表すデータを格納する。3次元座標格納部406hは、三角測量演算プログラム404gの実行によって演算された実空間の3次元座標を表すデータを格納する。
周期分布格納部406p、閾値画像格納部406qおよび2値化画像格納部406rは、コード画像生成プログラム404dの実行によって取得された周期分布、閾値画像および2値化画像を表すデータをそれぞれ格納する。
ステッチ画像格納部406sは、前述のステッチ画像を格納し、ステッチテクスチャ格納部406tは、前述のステッチテクスチャを格納する。また、システムパラメータ格納部406uは、前述のシステムパラメータを格納する。ワーキングエリア410は、CPU402がその動作のために一時的に使用するデータを格納する。
ここで、システムパラメータ格納部406uに格納するシステムパラメータについて説明する。
本実施形態における3次元形状検出装置10では、3次元空間の1点を、平面と直線の交点、2本の直線の交点として決定するアクティブ型3次元画像計測法を用いる。すなわち、所定の位置にある投影部から投影されるパターン光と、所定の位置にある撮像部からの視線とを、それぞれ平面と直線として捉え、投影部及び撮像部による結像光学系をその位置及び姿勢などを含むシステムパラメータによってモデル化し、このシステムパラメータを用いて3次元形状を計測する。システムパラメータは、カメラパラメータ及びプロジェクタパラメータとから構成されるパメラメータであり、以下具体的に説明する。
カメラパラメータは、以下の3×4のパラメータで表される。このパラメータには、撮像部に関して、その位置、姿勢、画角などのデータが含まれることになる。言い換えれば、撮像部からの視線を表す。
Figure 2007212159
このカメラパラメータにより、実空間3次元座標(X,Y,Z)と撮像部における歪曲収差補正後の撮像座標系の座標(ccdcx,ccdcy)との関係は、以下の式(1)のように表すことができる。
Figure 2007212159
また、プロジェクタパラメータは、以下の2×4のパラメータで表される。このパラメータには、投影部に関して、その位置、姿勢などのデータが含まれることになる。言い換えれば、パターン光の平面を表す。
Figure 2007212159
このプロジェクタパラメータにより、実空間3次元座標(X,Y,Z)と空間コード境界値code(或いは、パターン光境界位置を示す座標)との関係は、以下の式(2)にように表すことができる。
Figure 2007212159
以上のカメラパラメータ及びプロジェクタパラメータを元に、以下の式(3)によって被写体Sの実空間3次元座標V=(X,Y,Z)を求めることができる。
Figure 2007212159
以上のようなシステムパラメータ、すなわちカメラパラメータ及びプロジェクタパラメータがシステムパラメータ格納部406uに格納されることになる。
ここで、図13を参照することにより、カメラ制御プログラム404aを説明する。このカメラ制御プログラム404aがコンピュータ400によって実行されることにより、前述のメイン処理が実行される。
このメイン処理においては、まず、ステップS101(以下、単に「S101」で表す。他のステップについても同じとする。)において、バッテリ74を含む電源がONされる。次に、S102において、処理部16、周辺インタフェイス等が初期化される。
続いて、S103において、モード切替スイッチ42の操作状態を判別するためにキースキャンが行われ、その後、S104において、モード切替スイッチ42の操作によって校正用モードが選択されたか否かが判定される。今回は、校正用モードが選択されたと仮定すれば、判定がYESとなり、S105において、システムパラメータの校正処理が実行され、続いて、S103に戻る。
また、S104において、校正用モードが選択されなかったと仮定すれば、判定がNOとなり、S106において、モード切替スイッチ42の操作によって3Dモードが選択されたか否かが判定される。今回は、3Dモードが選択されたと仮定すれば、判定がYESとなり、S107において、前述の間引き画像処理モードが設定される。このS107の実行後、後に詳述するS108が実行され、続いて、S103に戻る。
これに対し、今回は、モード切替スイッチ42の操作によって3Dモードが選択されなかったと仮定すれば、S106の判定がNOとなり、S109において、モード切替スイッチ42の操作によってオフモードが選択されたか否かが判定される。今回は、モード切替スイッチ42の操作によってオフモードが選択されたと仮定すれば、判定がYESとなり、直ちに今回のメイン処理が終了するが、今回は、モード切替スイッチ42の操作によってオフモードが選択されなかったと仮定すれば、判定がNOとなり、S103に戻る。
図14には、図13におけるS105が校正処理ルーチンとしてフローチャートで概念的に表されている。この構成理ルーチンには、校正プログラム404jが組み込まれており、この校正プログラム404jは、図14におけるS501およびS502、図22におけるS510ないしS512、図25におけるS520ないしS522を含むように構成されている。この校正処理ルーチンの実行により、システムパラメータの生成が行われ、このように生成されたシステムパラメータがシステムパラメータ格納部406uに格納される。この処理は、CPU402がROM404から校正プログラム404jを読み出して実行することによって実現するものであり、処理部16による処理である。
この校正処理ルーチンは、図15に示すように校正用治具KAを回転テーブル部RTに載置した後、ユーザがモード切替スイッチ42を操作することによって、校正用モードが設定されることによって、開始される。なお、ユーザは回転テーブル184の回転位置を初期位置に合わせるため、フレーム186に記されたマーク182と、回転テーブル184の位置に記されたマーク181が一致する様、テーブルを手動で回転させておく。
校正用モードが設定されると、処理部16は、S501において、カメラパラメータのキャリブレーションを行い、その後S502において、プロジェクタパラメータのキャリブレーションが行われる。このようにキャリブレーションされたカメラパラメータ及びプロジェクタパラメータは、システムパラメータ格納部406uに格納される。
ここで、校正用冶具KAの校正について、図16を用いて具体的に説明する。図面上校正用冶具KAは、基面である第1の平面上に位置し、上下方向に延在し、上下方向が開放された複数の第1の平面部501a,501b,501cと、基面と異なる平面であってこの基面に平行な平面である第2の平面上に位置して上下方向に延在し、上下方向が開放された第2の平面部502a,502bとを、上下方向と交差する左右方向に交互に配置する構成を有している。言い換えれば、凹条溝である第1の平面部と凸条溝である第2の平面部とが交互に配置された形状とも表現できる。なお、校正用冶具KAの方向は、図15に示すように、3次元形状検出装置10の回転テーブル184の所定位置に校正用冶具KAを配置したときに、台座部HD側となる方を下側とし、その反対方向を上側として説明する。このように2平面上にそれぞれ少なくとも離隔した2つ以上の平面部分をその表面に有すればよいため、校正用治具の構成を複雑にせず、しかもキャリブレーションのために位置を移動することなく、システムパラメータのキャリブレーションを可能とする校正用冶具を提供することができる。また、この校正用冶具KAは、図16に示すように、左右対称に形成されている。すなわち、校正用冶具KAは、上下方向と直交する左右方向における中心を通る上下方向の軸に対して、左右対称に形成している。したがって、校正用治具の構成を複雑にせず、たとえば、校正用冶具を上下反転した場合でもシステムパラメータのキャリブレーションを可能とする校正用冶具を提供することができる。
この校正用冶具KAは、アルミニュウム材を押し出し加工により、基面表面を第1の平面部501a,501b,501cと第2の平面部502a,502bとを有するように形成したものである。このように校正用冶具KAをアルミ押し出し材としているため、校正用冶具KAを低コストで生産することができ、また校正用冶具KAの重量を軽くすることができる。
また、校正用冶具KAを荷重成型加工により形成するようにしてもよい。すなわち、略正方形の基面を有する薄肉状の鉄板などの金属板を所定の金型上に配置し、プレス機によってこの金属板に荷重をかけることによって金型に応じた形状に加工する。このように校正用冶具KAを鉄板などの金属板をプレス成型しているため、校正用冶具KAを低コストで生産することができる。
また、校正用冶具KAは、上述のように一体的に構成するのではなく、複数の部材で形成するようにしてもよい。たとえば、図17に示すように、方形板510の基面500に断面方形状或いは断面凹状の長手状の部材511a,511bを所定の間隔をおいてその長手方向が上下となるように取り付けることによって、基面上に複数の第1の平面部501a,501b,501cを設けると共に、上述の長手状の部材の一面を第2の平面部502a,502bとを設けるのである。方形板510及び長手状の部材511a,511bは、金属部材で形成しても、樹脂部材で形成してもよい。このように複数の部材で形成するようにしているために、校正用冶具KAの形状を高精度で形成することができる。
また、校正用冶具KAは、ABS樹脂などのプラスティク材を射出整形することによって形成するようにしてもよい。このように射出成型を用いることにより、校正用冶具KAの低コストで製造することができる他、後述の校正用指標の同時成形が可能となるため生産工程の軽減等を図ることができる。
校正用冶具KAには、図16に示すように、複数の校正用指標が第1の平面部及び第2の平面部の所定位置に配置されている。すなわち、第1の平面部501a,501b,501cにはそれぞれ上下方向に所定間隔で3つの校正用指標512a〜512c,512d〜512f,512g〜512iが、第2の平面部502a,502bにはそれぞれ513a〜513c,513d〜513fが配置されている。
ここで、校正用指標は、カメラパラメータを算出するために設けられるものであり、少なくとも複数の第1の平面部と複数の第2の平面部とにそれぞれに上下に離散して3以上、かつ第1の平面部ごと及び第2の平面部ごとに少なくとも1以上の校正用指標を設けることが望ましい。上下に離散して3以上の校正用指標を設けることにより、また、第1の平面部ごと及び第2の平面部ごとに少なくとも1以上の校正用指標を設けることにより、カメラパラメータのキャリブレーション精度を向上させることができる。
また、各校正用指標512a〜512i、513a〜513fは、この校正用指標を除く他の部分と異なる表面加工処理によって、この校正用指標を除く他の部分と反射率を異ならしめている。すなわち、押し出し成形したアルミの表面をサンドブラスト加工等により表面加工処理を施して他の部分と反射率を異ならしめた校正用指標を形成するのである。
この校正用指標512a〜512i、513a〜513fは、上記表面加工処理とは別の方法で形成するようにしてもよい。たとえば、図18に示すように、押し出し成形したアルミの表面に円形の開口穴を形成することによって校正用指標とするのである。このように校正用指標を開口穴とすることにより、校正用指標の形成を容易にすることができる。特に、校正用冶具KAを金属板の荷重成型加工により形成する場合、この開口穴を貫通孔とせず凹形状とすれば、一度の加工で校正用指標を有する校正用冶具KAを形成できる。
また、反射率と異なるシール(たとえば、黒色のシール)を貼り付けることによって校正用指標512a〜512i、513a〜513fを形成するようにしてもよい。このようにシールで校正用指標を形成すれば、校正用指標を他の部分と著しく異なる色にすることができるため校正用冶具KAを撮像したときの画像において校正用指標の識別の精度が向上する。
また、反射率の異なるインク(たとえば、黒インク)による印刷処理によって校正用指標512a〜512i、513a〜513fを形成するようにしてもよい。このように印刷処理で校正用指標を形成すれば、上記シールと同様に、校正用指標を他の部分と著しく異なる色にすることができるため校正用冶具KAを撮像したときの画像において校正用指標の識別の精度が向上する。しかも、シールのように剥れる可能性も少ない。
ここで、全ての校正用指標を同一の円形状とするのではなく、図19に示すように、一部又は全部を三角形状(図19においては、512eのみ三角形状でその他は円形状)とするようにしてもよい。このようにすれば、校正用冶具KAの上下判別が可能となり、しかも、円形状と同様に、重心と中心が一致しているため、中心位置の判別が容易となる。
また、この校正用冶具KAは、システムパラメータのキャリブレーション時に、回転テーブル184の所定位置に載置される。所定位置への載置にずれが発生すると、キャリブレーションが正確に行えない。図20に示すように、校正用冶具KAに回転テーブル184と位置決め固定のための嵌合部を設けるようにし、所定位置への載置のずれを防止することができる。
すなわち、一の第1の平面部501aの下端を他の第1の平面部501b,501cの下端よりも下方に突出させて第1嵌合部503aとすると共に、一の第2の平面部502bの下端を他の第2の平面部502aの下端よりも下方に突出させて第2嵌合部503bとする。一方、回転テーブル184には、図21に示すように、第1嵌合部503aと嵌合するための細長状の開口部183aと、第2嵌合部503bと嵌合するための細長状の開口部183bとが設けられている。また、第1及び第2嵌合部503a,503bを開口部183a,183bに差し込み所定位置に校正用冶具KAを配置した後、この校正用冶具KAが測定ヘッドMHに対して一定の角度内で対向することができるように、回転テーブル184の角度を合わせる。このとき、回転テーブル184の角度を合わせる目安とするために、フレーム186にマーク182、回転テーブル184にマーク181がそれぞれ形成されている。
このように校正用冶具KAの下面における前後左右の異なる位置に嵌合部を配置しているために、安定して校正用冶具KAを回転テーブル184に配置することができ、しかも、第1及び第2嵌合部503a,503bを開口部183a,183bに差し込むだけでよいため所定位置への配置が極めて容易となる。
また、実空間3次元座標系の一軸が通る平面上に複数の第2の平面部502a,502bが配置されるように所定位置を決定することにより、実際の3次元計測に即した冶具構成となる。すなわち、実際に物体を3次元測定する場合、回転テーブル184の中心付近に被写体Sを置いて測定するが、測定できる範囲は、投影部12及び撮像部14に面した面、つまり実空間3次元座標系の1軸である回転テーブル184の回転軸よりも前にある面を測定していることになる。従って、遠い平面上に実空間3次元座標系の1軸を通し、近い面にもう1つの面を設定することが、上述のように配置することにより実際の3次元計測と同様の状態で校正を行うことになり、精度の高い校正が可能になる。
なお、複数の第2の平面部502a,502bが複数の第1の平面部501a,501b,501cよりも測定ヘッドMH側にある場合には、実空間座標系の一軸が通る平面上に複数の第1の平面部501a,501b,501cが配置されるように所定一を決定することが望ましい。
以上のように形成された校正用冶具KAを用いることにより、S501のカメラキャリブレーションとS502のプロジェクタキャリブレーションが行われる。
図22には、図14におけるS501がカメラキャリブレーション処理ルーチンとしてフローチャートで概念的に表されている。
このカメラキャリブレーション処理においては、まず、S510において、投影部12からパターン光を投影しない状態で、図23に示すように、校正用治具KA全体がフラッシュ26よりフラッシュ投光された状態で、校正用冶具KAが撮像部14によって撮像され、校正用冶具KAの撮像画像が取得される。撮像部14で取得された撮像画像は、CCDインタフェイス88を介して、処理部16に入力される。
処理部16に入力された校正用冶具KAの撮像画像のデータは、S511において、処理部16によって所定の処理が施された後、モニタLCDドライバ72に出力され、モニタLCD44に表示される。このようにモニタLCD44に表示される校正用冶具KAの撮像画像の例を図24に示す。
図24に示すように、撮像部14が撮影した校正用冶具KA全体の撮像画像(以下、「全体画像」とも呼ぶ。)がモニタLCD44の一部の領域である右上部領域601に表示される。この領域601に表示される校正用冶具KA全体の撮像画像上には、方形状の枠が重ねて表示される。領域601に表示された全体画像のうち、この方形状の枠で囲われた部分の画像(以下、「部分画像」ともいう。)が、領域601を除いた領域602に表示される。すなわち、部分画像が拡大されて領域601よりも大きな領域である領域602に表示される。
また、領域602には、上記のように部分画像を表示すると共に、この部分画像上に校正用指標を指定するための方形状の枠603(以下、「指標特定枠603」とする。)が表示される。この方形状の指標特定枠603は、指標特定枠操作手段である4方向カーソルキー43を操作することによって、部分画像上の位置を移動可能に処理部16によって処理される。
ユーザは、モニタLCD44に表示された部分画像上で指標特定枠603を移動させ、この指標特定枠603が校正用指標を囲む位置になるように4方向カーソルキー43を操作する。このように指標特定枠603を校正用指標を含む領域に移動させたあと、4方向カーソルキー43の中心に位置する決定ボタン(図示せず)を押下することによって、この校正用指標を含む領域を指定する。
処理部16は、このように校正用指標を含む領域の指定があったことを検出すると、指定された領域から校正用指標の中心を検出する。校正用指標の中心の検出は、指標特定枠603で囲われた画像から色の異なる部分を抽出し、このように抽出した部分の重心を求めることにより行われる。
ユーザは、上記校正用指標を含む領域の指定を、全ての校正用指標512a〜512i、513a〜513fについて行うことによって、S511における校正用指標の位置認識及びその中心位置の推定処理が行われる。このように指標特定枠603によって校正用指標を含む領域の指定を行うため、校正用指標の位置特定を容易に行うことができる。また、校正用指標の中心位置を特定した校正用指標からその重心を算出することによって行うようにしているため、校正用指標の中心位置の算出精度が増す。なお、以上の処理を処理部16が動的に行うことも可能であるが、校正用指標が他の部分との識別をするための処理プログラムが複雑となり、校正用冶具KAにおける校正用指標の状態によっては、その精度を向上させることが困難となる場合が多い。
校正用指標の中心位置の推定が終了すると、S512において、この推定結果に基づいて、カメラパラメータを算出する。
校正用冶具KAの校正用指標512a〜512i、513a〜513fの中心位置は、実空間3次元系の座標の値が既知であり、それぞれ以下のように設定されている。
(X0,Y0,Z0),・・・,(X14,Y14,Z14)
この設定は、校正プログラム404jに予め記述しておくことによって行われる。
また、それぞれの校正用指標に対応する歪曲収差補正済み撮像部空間座標は、以下のように設定されている。
(ccdx0,ccdy0),・・・,(ccdx14,ccdx14)
この設定も、実空間3次元系の座標の値と同様に、校正プログラム404jに予め記述しておくことによって行われる。
そして、処理部16は、以下の式(4)を演算することによって、カメラパラメータを算出する。
Figure 2007212159
このように算出されたカメラパラメータは、処理部16によって、システムパラメータ格納部406uに格納される。
図25には、図14におけるS502がプロジェクタキャリブレーション処理ルーチンとしてフローチャートで概念的に表されている。
このプロジェクタキャリブレーション処理においては、まず、S520において、パターン光投光手段としての投影部12からパターン光を投影して校正用冶具KAを照らす。すなわち、校正用冶具KAにパターン光を投光する。このパターン光は、たとえば図26に示すように、校正用治具KAに明暗の3つ以上の境界が現れるようなパターン光であり、このようなパターン光を投射することができるような貫通穴204がマスク200の一フレームに形成されており、このようなフレームが選択される。このようにパターン光が投光された状態で、校正用冶具KAが撮像部14によって撮像され、校正用冶具KAの撮像画像が取得される。撮像部14で取得された撮像画像は、CCDインタフェイス88を介して、処理部16に入力される。
処理部16に入力された校正用冶具KAの撮像画像のデータは、S521において、処理部16によって所定の処理が施された後、モニタLCDドライバ72に出力され、モニタLCD44に表示される。このようにモニタLCD44に表示される校正用冶具KAの撮像画像の例を図27に示す。
図27に示すように、撮像部14が撮影した校正用冶具KA全体の撮像画像(以下、「パターン光全体画像」とも呼ぶ。)がモニタLCD44の一部の領域である右上部領域701に表示される。この領域701に表示される校正用冶具KA全体の撮像画像上には、方形状の枠が重ねて表示される。領域701に表示されたパターン光全体画像のうち、この方形状の枠で囲われた部分の画像(以下、「パターン光部分画像」ともいう。)が、領域701を除いた領域702に表示される。すなわち、パターン光部分画像が拡大されて領域701よりも大きな領域である領域702に表示される。
また、領域702には、上記のようにパターン光部分画像を表示すると共に、この部分画像上にパターン光の境界を含む領域を指定するための方形状の枠703(以下、「パターン光境界特定枠703」とする。)が表示される。この方形状のパターン光境界特定枠703は、パターン光境界特定枠操作手段である4方向カーソルキー43を操作することによって、パターン光部分画像上の位置を移動可能に処理部16によって処理される。
ユーザは、モニタLCD44に表示された部分画像上でパターン光境界特定枠703を移動させ、このパターン光境界特定枠703がパターン光境界を囲む位置になるように4方向カーソルキー43を操作する。このようにパターン光境界特定枠703をパターン光境界を囲む領域に移動させたあと、4方向カーソルキー43の決定ボタン(図示せず)を押下することによって、このパターン光境界を囲む領域を指定する。パターン光境界をサブピクセル精度で算出する技術については、本出願人の特願2004−105426号明細書に詳細に記載されているため、その特許出願を参照することにより容易に実施可能である。具体的には、指定された領域内の各画素の輝度値の平均を計算し、それを閾値とする。その閾値と領域内の画素を比較し、閾値より小さければ0、大きければ255とすることにより、2値化画像を生成する。2値化画像を参照して、領域幅(ccdx方向)中央で明暗変化(0→255あるいは255→0)する画素の位置を求める。そして、求めた画素ccdy方向について、輝度の変化の近似式(3次乃至5次程度)を求める。この近似式と閾値の交点を求めることにより、サブピクセル精度でパターン光境界を求めることができる。
処理部16は、このようにパターン光の境界を含む領域の指定があったことを検出すると、指定された領域からパターン光の境界位置を検出する。そして、パターン光境界特定枠703で囲われた画像からパターン光境界線を抽出することによって行う。
ユーザは、上記パターン光の境界を含む領域の指定を、第1の平面部501a,501b,501c及び第2の平面部502a,502bごとに形成されるパターン光の境界の数だけ行う。すなわち、本実施形態における校正用冶具KAでは、10回(5平面×2パターン光境界)繰り返し行うことになる。このようにパターン光境界特定枠703によってパターン光の境界を含む領域の指定を行うため、パターン光の境界位置の特定を容易に行うことができると共に、パターン光の境界位の算出精度が増す。なお、以上の処理を処理部16が動的に行うことも可能であるが、パターン光の境界位置を識別するための処理プログラムが複雑となり、校正用冶具KAにおけるパターン光の境界の状態によっては、その精度を向上させることが困難となる場合が多い。
パターン光の境界位置の算出が終了すると、S522において、この算出結果に基づいて、プロジェクタパラメータを算出する。
プロジェクタパラメータの算出は、パターン光全体画像から、校正用冶具KA上のパターン光境界を通る画素の位置であって、撮像歪曲収差補正後の撮像空間領域を(ccdcx,ccdcy)とする。パターン光境界と画素位置との組み合わせを、第1の平面部501a,501b,501c及び第2の平面部502a,502bごとにそれぞれ形成されるパターン光の2つの境界上にある10個の画素の位置とし、下記の式(5)を用いて、プロジェクタパラメータを算出する。
Figure 2007212159
ここで、上述の式(5)における実空間3次元座標(X,Y,Z)は、校正用冶具KA上の各平面部501a,501b,501c,502a,502bは、X−Y平面に平行で、Z値が既知であるとする。
式(2)において、媒介変数Hcを消去すると、以下のように表すことができる。
Figure 2007212159
そして、上述のようにZ値は既知であるとして整理すると、以下のように表すことができる。
Figure 2007212159
Dの逆行列が存在すると仮定すると、U=D−1×Eとなり、実空間3次元座標(X,Y,Z)の算出が可能となる。すなわち、実空間3次元座標(X,Y,Z)は、カメラ歪曲収差補正後の撮像系空間座標(ccdcx,ccdcy)から変換される。このように算出した実空間3次元座標(X,Y,Z)を、式(5)を用いてプロジェクタパラメータを算出する。
このように算出されたプロジェクタパラメータは、処理部16によって、システムパラメータ格納部306uに格納される。以上のようにして、システムパラメータの校正が行われる。
ところで、S521では、校正用治具KAに明暗の3つ以上の境界が現れるようなパターン光を投射するようにしたが、たとえば、図28,図29に示すように、校正用治具KAに明暗の境界が異なる複数のパターン光をパターン光投光手段としての投影部12から校正用治具KAへ投光するようにしてもよい。そして、このように撮像部14によって校正用治具KAを投光したパターン光ごとに撮像画像を取得し、これらの複数の撮像画像からパターン光の境界を検出する第2の境界検出し、このように検出したパターン光の境界を用いてシステムパラメータを校正するのである。
また、空間コード法によって、プロジェクタパラメータの算出を行うようにしてもよい。空間コード法による場合には、S520〜S522の手順を以下のように行う。
まず、S520において、パターン光投光手段としての投影部12から校正用治具KAに明暗の境界が異なる複数のパターン光を投光する。すなわち、投影部12によって、複数種類のパターン光が時系列に順次校正用冶具KAに投光される。そして、各パターン光が投影されるごとに校正用冶具KAが撮像される。そのようにして撮像された複数枚のパターン光有画像の各々について各画素のRGB値が取得され、その結果、パターン光の種類と同数の輝度画像が生成される。
撮像部14で取得された撮像画像は、CCDインタフェイス88を介して、処理部16に入力される。処理部16は、コード画像生成プログラム404dによる処理(後述のS4002の処理)と同様に、生成された複数枚の輝度画像それぞれに対する閾値処理により2値化画像を生成し、各画素毎に空間コードが割り当てられた空間コード画像を生成する。
処理部16に入力された校正用冶具KAの撮像画像のデータは、S521において、処理部16によって所定の処理が施された後、モニタLCDドライバ72に出力され、モニタLCD44に表示される。このようにモニタLCD44に表示される校正用冶具KAの撮像画像は、上述した図27と同様に表示される。
ユーザは、モニタLCD44に表示された部分画像上で光パターン境界特定枠と同様の空間コード境界特定枠を移動させ、この空間コード境界特定枠が空間コード境界を囲む位置になるように4方向カーソルキー43を操作する。このように空間コード境界特定枠を空間コード境界を囲む領域に移動させたあと、4方向カーソルキー43の決定ボタン(図示せず)を押下することによって、この空間コード境界を囲む領域を指定する。
処理部16は、このように空間コード境界を含む領域の指定があったことを検出すると、指定された領域から空間コード境界位置を検出する。そして、空間コード境界特定枠で囲われた画像から空間コード境界を抽出する。空間コード境界をサブピクセル精度で算出する技術については、本出願人の特願2004−105426号明細書に詳細に記載されているため、その特許出願を参照することにより容易に実施可能である。具体的には、特定枠で囲われた領域内の空間コードの変化を調べる。その変化に対応する、光パターンを投光した画像を選び出す。その画像において、特定枠で囲われた領域に相当する領域について、各画素の輝度値の平均を計算し、それを閾値とする。その閾値と領域内の画素を比較し、閾値より小さければ0、大きければ255とすることにより、2値化画像を生成する。2値化画像を参照して、領域幅(ccdx方向)中央で明暗変化(0→255あるいは255→0)する画素の位置を求める。そして、求めた画素ccdy方向について、輝度の変化の近似式(3次乃至5次程度)を求める。この近似式と閾値の交点を求めることにより、サブピクセル精度でパターン光境界を求めることができる。このパターン光境を空間コード境界とすることで、サブピクセル精度で空間コード境界を求めることが出来る。
ユーザは、上記パターン光の境界を含む領域の指定を、第1の平面部501a,501b,501c及び第2の平面部502a,502bごとに形成される空間コード境界のうち、少なくとも上下に離散した2つ以上の境界行う。このように空間コード境界特定枠によって空間コード境界を含む領域の指定を行うため、検出する空間コード境界の数を増加させたり、検出する空間コード境界の位置を校正治具上で偏り無く分布させることが出来るので、システムパラメータの校正の精度を向上させることができる。
図30には、図13におけるS108が立体画像処理ルーチンとしてフローチャートで概念的に表されている。この立体画像処理ルーチンの実行により、被写体Sの3次元形状を立体画像として検出し、表示する立体画像処理が実行される。この立体画像処理においては、さらに、同じ被写体Sの表面色も検出される。それら立体画像の検出結果と表面色の検出結果とが位置に関連付けて組み合わされたものが3次元色形状検出結果である。
この立体画像処理においては、まず、S1001において、ファインダ画像、すなわち、撮像光学系30を通して見える範囲の画像と同じ画像がモニタLCD44に表示される。よって、ユーザは、モニタLCD44に表示された画像を見ることにより、実際の撮像前に、撮像画像(撮像範囲)を確認することができる。
次に、S1002において、レリーズボタン40の操作状態がスキャンされ、その後、S1003において、そのスキャン結果に基づき、レリーズボタン40が半押し状態にあるか否かが判定される。半押し状態にあれば、判定がYESとなり、S1004において、オートフォーカス(AF)および自動露出(AE)機能が起動し、それにより、ピント、絞りおよびシャッタスピードが調節される。レリーズボタン40が半押し状態になければ、S1003の判定がNOとなり、S1010に移行する。
S1004の実行後、S1005において、再度、レリーズボタン40の操作状態がスキャンされ、その後、S1006において、そのスキャン結果に基づき、レリーズボタン40が全押し状態にあるか否かが判定される。レリーズボタン40が全押し状態になければ、このS1006の判定がNOとなってS1002に戻る。
レリーズボタン40が半押し状態から全押し状態に移行すれば、S1006の判定がYESとなり、S1007において、後述の3次元色形状検出処理が実行され、それにより、被写体Sの3次元形状および表面色が検出される。
概略的に説明するに、その3次元色形状検出処理により、被写体Sについて3次元色形状検出結果が生成される。ここに、3次元色形状検出結果とは、後述の空間コード画像において検出される複数の空間コード境界画像を3次元座標に変換した結果取得される頂点座標の集合体であって、各頂点ごとに色形状情報とポリゴン情報とが互いに関連付けられたものを意味する。色形状情報は、実空間座標とRGB値との組合せを表す情報である。ポリゴン情報は、複数個の頂点のうち、被写体Sを3次元的に表面する立体を構成するために互いに連結されるべき複数の頂点の組合せを表す情報である。
その後、S1008において、その3次元色形状検出結果が外部メモリ78に格納され、続いて、S1009において、その3次元色形状検出結果が3次元コンピュータグラフィック画像としてモニタLCD44に表示される。
その後、S1010において、図13におけるS103と同様にしてキースキャンが行われる。続いて、S1011において、モード切替スイッチ42の操作状態に変化が無いか否かが判定される。変化が無ければ、S1011の判定がYESとなり、S1001に戻るが、変化が有れば、S1011の判定がNOとなり、今回の立体画像処理が終了する。
図30のS1007において実行される3次元色形状検出処理においては、空間コード化法を用いて被写体Sの3次元形状が検出される。
図31には、図30におけるS1007が3次元色形状検出処理ルーチンとしてフローチャートで概念的に表されている。この3次元色形状検出処理ルーチンには、テーブルモータ制御プログラム404iが組み込まれており、このテーブルモータ制御プログラム404iは、図31におけるS1201およびS1221ないしS1223を含むように構成されている。
この3次元色形状検出処理ルーチンにおいては、まず、S1201において、回転テーブル184の回転位相PHが0に初期化される。本実施形態においては、回転テーブル184が1回転する間に4回停止させられるため、回転テーブル184には4つの回転位相PHが離散的に設定される。具体的には、回転位相PHは、初期の回転位相PHを表す「0」と、次の回転位相PHを表す「1」と、次の回転位相PHを表す「2」と、最後の回転位相PHを表す「3」とに離散的に変化させられる。
次に、S1210において、撮像処理プログラム404bが実行されることにより、今回の回転位相PHについて撮像処理が実行される。この撮像処理においては、投影部12からストライプ状のパターン光が時系列的に被写体Sに投影される。さらに、複数種類のパターン光が投影されている被写体Sをそれぞれ撮像した複数枚のパターン光有画像と、パターン光が投影されていない同じ被写体Sを撮像した1枚のパターン光無画像とが取得される。このS1210は、後に図32を参照して詳述する。
撮像処理が終了すると、S1220において、今回の回転位相PHについて3次元計測処理が実行される。この3次元計測処理が実行されると、上述の撮像処理によって取得された複数枚のパターン光有画像と1枚のパターン光無画像とが利用されて、実際に被写体Sの3次元形状が計測される。このS1220は、後に図36を参照して詳述する。
この3次元計測処理が終了すると、S1221において、次回の撮像に備えて、回転位相PHが1だけインクリメントされる。続いて、S1222において、回転位相PHの現在値が4より大きいか否か、すなわち、被写体Sについての一連の撮像が既に終了しているか否かが判定される。
今回は、回転位相PHの現在値が4より大きくはないと仮定すれば、そのS1222の判定がNOとなり、S1223において、回転テーブル184を時計方向に90度回転させるのに必要な駆動信号がテーブルモータ194に対して出力される。その結果、回転テーブル184が時計方向に90度回転させられ、それにより、被写体Sが、前回の撮像時とは異なる部分領域において測定ヘッドMHに対向させられる。その後、S1210およびS1220が実行され、それにより、次の回転位相PHについて前述の撮像処理および3次元計測処理が行われる。
S1210ないしS1223のループが必要回数実行された結果、S1222の判定がYESとなれば、その後、S1230において、被写体Sについて計測された3次元形状と表面色とを組み合わせることにより、3次元色形状検出結果が生成される。このS1230は、後に図38を参照して詳述する。
この3次元色形状検出結果が生成されると、今回の3次元色形状検出処理が終了する。
ここで、図32を参照することにより、図31におけるS1210を詳述する。図32には、そのS1210が撮像処理プログラム404bとしてフローチャートで概念的に表されている。
この撮像処理プログラム404bにおいては、まず、S2001において、パターン光を形成するために使用されるマスクパターンの番号を表すパターン番号PNが0に初期化される。続いて、S2002において、そのパターン番号PNの現在値が最大値PNmaxより小さいか否かが判定される。その最大値PNmaxは、使用されるマスクパターンの合計数に応じて決定される。例えば、8種類のマスクパターンが使用される場合には、最大値PNmaxが8に設定される。
今回は、パターン番号PNの現在値が最大値PNmaxより小さいと仮定すれば、S2002の判定がYESとなり、続いて、S2002aにおいて、マスクモータ制御プログラム404hが実行される。
このマスクモータ制御プログラム404hにおいては、図33に示すように、まず、S2201において、マスクモータ65を一定速度で回転駆動するための信号がマスクモータドライバ86に供給される。これにより、マスク200が供給ローラ220から照射位置228に供給される向きにマスク200が送られる。
次に、S2202において、位置センサ300からPD信号が読み取られる。続いて、S2203において、その読み取られたPD信号がローレベルを示すか否かが判定される。すなわち、位置センサ300がいずれかの位置基準穴280(今回は、先頭の位置基準穴280)が検出されたか否かが判定されるのである。
今回は、PD信号がハイレベルを示すと仮定すれば、S2203の判定がNOとなり、S2201に戻り、マスクモータ65の駆動およびPD信号の読み取りが繰り返される。S2201ないしS2203の実行が何回か繰り返された結果、PD信号がハイレベルからローラベルに変化したと仮定すれば、S2203の判定がYESとなる。
その後、S2204において、第1ないし第3のIDセンサ310ないし314からS1ないしS3信号がそれぞれ読み取られる。続いて、S2205において、それら読み取られたS1ないしS3信号のレベルの組合せ(3ビットの情報)がパターン番号PNの現在値を表すか否かが判定される。すなわち、マスク200における複数のフレーム202のうち現在、照射位置228に位置しているものすなわち現在フレーム202のパターン番号PNが、パターン番号PNの現在値と一致するか否かが判定されるのである。
今回は、現在フレーム202のパターン番号PNがパターン番号PNの現在値と一致しないと仮定すると、S2205の判定がNOとなり、S2201に戻る。これに対し、今回は、現在フレーム202のパターン番号PNがパターン番号PNの現在値と一致すると仮定すると、S2205の判定がYESとなる。本実施形態においては、マスク200において複数のフレーム202が並ぶ順序と同じ順序に、パターン番号PNが1ずつ増加させられるようになっている。すなわち、マスク200がシーケンシャルに送られるようになっているのであり、よって、S2205の判定は、3次元形状検出装置10に異常が存在しない限り、YESとなる。
S2205の判定がYESとなると、その後、S2206において、マスクモータ65が停止させられ、それにより、現在フレーム202が照射位置228に停止させられる。その結果、現在フレーム202の位置決めが完了する。
以上で、このマスクモータ制御プログラム404hの一回の実行が終了する。
なお付言するに、本実施形態においては、マスクモータ65の間欠的駆動によるマスク200の間欠的送りにより、複数のフレーム202が順次、照射位置228に位置決めされるように、マスクモータ65が制御される。これに対し、マスクモータ65の連続的駆動によるマスク200の連続的送りにより、複数のフレーム202が順次、照射位置228に位置決めされるように、マスクモータ65が制御される態様で本発明を実施することが可能である。
ところで、前述のように、本実施形態においては、マスク200において各貫通穴204の長さ方向がマスク200の送り方向に一致させられている。よって、マスク200の移動中でも、いずれかのフレーム202が照射位置228を通過する際に、同じフレーム202によって同じパターン光が生成されて被写体Sに投影される時間を確保することが容易である。
したがって、マスク200が一時的に停止しないにもかかわらず、同じパターン光を事実上、静止画像として被写体Sに投影することが容易である。このことは、マスク200の連続的送りにより、複数のフレーム202を順次、照射位置228に確実に位置決めするために好都合である。
本実施形態においては、マスクモータ制御プログラム404hの一回の実行が終了すると、図32におけるS2003において、使用される複数種類のマスクパターンのうち、パターン番号PNの現在値と等しい番号が付されたPN番目のマスクパターンの投影が開始される。
続いて、S2004において、PN番目のマスクパターンを被写体Sに投影するための投影処理が行われる。図34には、このS2004の詳細が投影処理サブルーチンとしてフローチャートで概念的に表されている。この投影処理サブルーチンの実行により、PN番目のマスクパターンを有するパターン光を投影部12から被写体Sに投影する投影処理が投影機構66との共同作用によって実行される。
この投影処理においては、まず、S3004において、光源ドライバ84が駆動され、続いて、S3005において、その光源ドライバ84からの電気信号によってLED62が発光する。以上で、今回の投影処理が終了する。
LED62から発光した光は、光源レンズ64を経て投影機構66に到達する。その投影機構66においては、マスク200の現在フレーム202の開口パターンに応じた空間変調が施され、その結果、投影機構66への入射光がパターン光に変換されて出力される。その投影機構66から出力されるパターン光は、投影光学系32を経て被写体Sに投影画像として投影される。
以上のようにして、PN番目のマスクパターンによって形成されるPN番目のパターン光が被写体Sに投影されると、続いて、図32におけるS2005において、そのPN番目のパターン光が投影されている被写体Sが撮像部14によって撮像される。
その撮像により、PN番目のパターン光が投影されている被写体Sを撮像したPN番目のパターン光有画像が取得される。その取得されたパターン光有画像は、対応するパターン番号PNに関連付けてパターン光有画像格納部406aに格納される。
その撮像が終了すると、S2006において、PN番目のパターン光の投影が終了し、続いて、S2007において、次のパターン光を投影すべく、パターン番号PNが1だけインクリメントされ、その後、S2002に戻る。
S2002ないしS2007の実行がパターン光の種類の数と同数回繰り返された結果、パターン番号PNの現在値が最大値PNmaxより小さくはない値になると、S2002の判定がNOとなり、今回の撮像処理が終了する。したがって、一回の撮像処理により、最大値PNmaxと同数枚のパターン光有画像が取得されることになる。
続いて、S2008において、フラッシュモードが選択されているか否かが判定される。フラッシュモードが選択されていれば、その判定がYESとなり、S2009において、フラッシュ26が発光させられるが、フラッシュモードが選択されていなければ、S2008の判定がNOとなり、S2009がスキップされる。いずれにしても、その後、S2010において、被写体Sが撮像される。
この撮像は、被写体Sの表面色を計測することを目的として、投影部12からパターン光を被写体Sに投影することなく、行われる。その結果、被写体Sについて1枚のパターン光無画像が取得される。その取得されたパターン光無画像はパターン光無画像格納部406bに格納される。
続いて、S2011において、マスク200のうちの長さ方向における先頭部分が照射位置228に位置するようにマスク200の長さ方向位置を初期化すべくマスクモータ65が駆動される。
以上で、この撮像処理プログラム404bの一回の実行が終了する。
図35には、この撮像処理プログラム404bの一回の実行に伴うこの3次元形状検出装置10の作動の一例がタイミングチャートで表されている。この作動例は、ユーザによって3Dモードが選択されている状態でユーザによってレリーズボタン40が全押し状態に操作された場合にこの3次元形状検出装置10によって実行されるものである。
図35(a)には、被写体Sからの入射光によってCCD70が複数回、連続して露光される様子が示されている。図35(b)には、それら複数回の露光のそれぞれにつき、被写体Sからの入射光によって表される全体画像のうちの各画素ごとに光がCCD70によって電気信号に変換されてCCD70から出力される信号出力タイミングがタイミングチャートで表されている。図35(c)には、撮像部14の画像処理モードが前述の間引き画像処理モードと非間引き画像処理モードとに時間的に切り替わるタイミングがタイミングチャートで表されている。
さらに、図35(d)には、撮像部14の状態が、待機状態と、撮像および信号取り出しのための作動状態とに時間的に切り替わるタイミングがタイミングチャートで表されている。図35(e)には、各パターン光を形成するためにマスク200において各フレーム202が割り出されるタイミングがタイミングチャートで表されている。図35(f)には、フラッシュ26がOFF状態とON状態とに時間的に切り替わるタイミングがタイミングチャートで表されている。図35(g)には、レリーズボタン40が非操作状態(OFF状態)と操作状態(ON状態)とに時間的に切り替わるタイミングがタイミングチャートで表されている。
本実施形態においては、被写体Sからの入射光によるCCD70の露光後に、その露光を反映した信号のCCD70からの取り出しが行われる。1回の露光に1回の信号取り出しが対応しており、それら露光と信号取り出しとが互いに共同して1回の個別撮像処理を構成する。
本実施形態においては、同じ被写体Sについて3次元形状情報の取得と表面色情報の取得とが連続的に、かつ、それらの順で行われる。
前述のように、被写体Sの3次元形状情報を取得するために、その被写体Sに8種類のパターン光(パターン番号PN=0〜7)が順次投影され、各パターン光の投影ごとに、CCD70の露光とCCD70からの信号取り出しとが行われる。すなわち、被写体Sの3次元形状情報を取得するために、その被写体Sに対する個別撮像処理が順次、合計8回行われるのである。図35においては、3次元形状情報を取得するための各回の個別撮像処理に対応するパターン光の番号PNが、「0」ないし「7」の数字によって示されている。
被写体Sの表面色情報を取得するために、被写体Sからの入射光によってCCD70が1回露光され、その後に信号取り出しが行われる。すなわち、被写体Sの表面色情報を取得するために、被写体Sに対する個別撮像処理が1回行われるのである。図35においては、表面色情報を取得するための1回の個別撮像処理が「c」という記号によって示されている。
3次元形状情報取得のための撮像においては、照明光としてパターン光を被写体Sに投影することが必須であるのに対し、表面色情報取得のための撮像においては、照明光を被写体Sに投影することが選択的である。具体的には、表面色情報取得のための撮像においては、被写体Sからの受光量が不足している場合に、フラッシュ26が自動的に発光させられ、それにより、被写体Sに照明光が投影される。
したがって、本実施形態においては、3次元形状情報取得のための8回の個別撮像処理と、表面色情報取得のための1回の個別撮像処理とが連続的に行われ、合計9回の個別撮像処理が連続的に行われる。本実施形態においては、それら9回の個別撮像処理が互いに共同して1回の全体撮像処理を構成している。
それら9回の個別撮像処理においては、同じ被写体Sについて9回の露光が順次行われ、それら9回の露光は、例えば、ビデオレートと同じ速度で同一周期で行われる。それら9回の露光が連続的に行われる期間は、被写体Sと3次元形状検出装置10との相対位置が変化するとその影響がCCD70の撮像結果に現れる期間である。この期間は、3次元形状検出装置10の撮像時間である。
3次元形状情報取得のための8回の個別撮像処理における信号取り出しは、間引き画像処理として実行される。したがって、3次元形状情報取得のための各回の個別撮像処理においては、CCD70の露光に後続し、必要な信号取り出し時間t1の経過後、CCD70から電気信号が出力される。信号取り出し時間t1は、1フレーム取り出し時間ともいい、各パターン光の投影ごとに、CCD70の露光が終了してから、3次元形状情報が1フレーム分、CCD70から出力されるまでに必要な3次元形状情報出力時間を意味する。
これに対し、図35に示す一例においては、表面色情報取得のための1回の個別撮像処理における信号取り出しが、非間引き画像処理として実行される。したがって、表面色情報取得のための1回の個別撮像処理については、CCD70の露光に後続し、必要な信号取り出し時間t2の経過後、CCD70から電気信号が出力される。信号取り出し時間t2は、1フレーム取り出し時間ともいい、CCD70の露光が終了してから、表面色状情報が1フレーム分、CCD70から出力されるまでに必要な表面色情報出力時間を意味する。
間引き画像処理に必要な信号取り出し時間t1は、例えば、約33msであるのに対し、信号取り出し時間t2は、約0.5sである。
図35(a)および(b)に示すように、1回の個別撮像処理においては、露光が終了した後に信号取り出しが開始されるが、次回の個別撮像処理における露光は、前回の個別撮像処理における信号取り出しが終了する前に開始される。すなわち、ある回の個別撮像処理における信号取り出しと次回の個別撮像処理における露光とが時間的に部分的にオーバラップするように行われるのである。ただし、ある回の個別撮像処理における信号取り出しは、次回の個別撮像処理における露光が終了する前に終了する。
したがって、本実施形態においては、図35(b)に示すように、3次元形状情報取得のための8回の信号取り出しが時間的に隙間なく連続的に行われる。
各回の信号取り出しは、それが間引き画像処理として実行される場合には、約33msで終了する。したがって、8回の信号取り出しは約0.26sで終了する。よって、図35に示す撮像時間(全体撮像時間)のうち3次元形状情報取得のための撮像に必要な部分(以下、「部分撮像時間」という。)の長さは、信号取り出し時間の長さの合計値によって支配されるため、約0.26sの程度の長さで済む。
このように、CCD70からの信号取り出しを間引き画像処理として実行する場合には、撮像時間が短縮され、その結果、被写体Sの動きや3次元形状検出装置10の手振れにもかかわらず、被写体Sの3次元形状を高精度で計測できる。
さらに、図35に示すように、本実施形態においては、3次元形状情報取得のための2回目ないし8回目の露光のそれぞれと、表面色情報取得のための露光とが、それぞれ、先行する直前の露光に対応する信号取り出しの終了を待つことなく、開始される。先行する露光に対応する信号取り出しと、後続する露光とが互いに並行して行われるのであり、これにより、9回の信号取出しが時間的に隙間なく連続的に行われる。したがって、図35に示す撮像時間、すなわち、3次元形状情報取得のための撮像と表面色情報取得のための撮像との双方を連続的に行うのに必要な時間が短縮される。
具体的には、各回の信号取り出しは、約33msで終了するため、9回の信号取り出しは約0.3sで終了し、よって、それに対応する全体撮像時間もその程度の長さで済む。
仮に、表面色情報取得のための1回の個別撮像処理すなわち表面色計測撮像処理(信号取り出しが非間引き画像処理として実行される。)を先に、3次元形状情報取得のための8回の個別撮像処理すなわち3次元計測撮像処理(信号取り出しが間引き画像処理として実行される。)を後に実行した場合には、先行する表面色計測撮像処理における信号取出しがほとんど終了するまで、3次元形状情報取得のための初回の露光を待たせなければならない。その待ち時間は、信号取り出し時間t2の長さにほぼ等しく、約0.5sである。
この場合には、表面色情報取得のための露光と、3次元形状情報取得のための初回の露光との間にやや長い時間間隔が存在し、図35に示す全体撮像時間が長くなる。一方、測定ヘッドMHと被写体Sとの間の相対変位が存在しないかないしは十分に小さい場合には、その全体撮像時間がやや長いことは問題にならない。これに対し、測定ヘッドMHと被写体Sとの間の相対変位が大きい場合には、その全体撮像時間が長いと、表面色情報と3次元形状情報とが画素の位置に関して互いに十分に正確にマッチングしなくなってしまう。すなわち、テクスチャマッピング精度が低下してしまうのである。
これに対し、本実施形態においては、図35に示すように、3次元形状情報取得のための8回の個別撮像処理が先に、表面色情報取得のための1回の個別撮像処理が後に行われる。その結果、先行する3次元形状情報取得のための8回目の露光と、後続する表面色情報取得のための露光とを、先行する3次元形状情報取得のための8回の露光が行われる周期と同じ周期で連続して行うことが可能となる。よって、本実施形態によれば、全体撮像時間を、約0.3s程度にまで短縮することが可能となる。
したがって、本実施形態によれば、3次元形状情報取得のための露光と表面色情報取得のための露光とを十分に短い時間間隔で連続して行うことが可能となり、その結果、測定ヘッドMHと被写体Sの間の相対変位の有無やその程度の大小にかかわらず、高いテクスチャマッッピング精度が実現される。
ここで、図36を参照することにより、図31におけるS1220を詳述する。図36には、そのS1220が3次元計測処理サブルーチンとしてフローチャートで概念的に表されている。
この3次元計測処理サブルーチンにおいては、まず、S4001において、輝度画像生成プログラム404cの実行により、輝度画像が生成される。
このS4001においては、輝度値が、YCbCr空間におけるY値として定義されており、各画素のRGB値より、
Y=0.2989・R+0.5866・G+0.1145・B
なる式を用いて計算される。各画素についてY値を求めることにより、複数枚のパターン光有画像にそれぞれ対応複数枚の輝度画像が生成される。それら生成された輝度画像は、パターン番号PNに関連付けて輝度画像格納部406cに格納される。ただし、輝度値の算出に用いられる式は、上記式に限定されるものではなく、他の式に適宜変更することが可能である。
次に、S4002において、コード画像生成プログラム404dが実行される。このコード画像生成プログラム404dが実行されると、生成された複数枚の輝度画像が前述の空間コード化法を利用して組み合わされることにより、各画素ごとに空間コードが割り当てられたコード画像が生成される。そのコード画像は、輝度画像格納部406cに格納された複数種類のパターン光有画像に関する輝度画像と、各画素ごとに輝度閾値が割り当てられた閾値画像との比較による2値化処理によって生成される。その生成されたコード画像はコード画像格納部406dに格納される。
図37には、このコード画像生成プログラム404dの詳細がフローチャートで概念的に表されている。このコード画像生成プログラム404dにおいて採用されている技術は、本出願人の特願2004−285736号明細書に詳細に記載されているため、その特許出願を参照することにより、その特許出願の内容を本明細書に引用する。
以下、このコード画像生成プログラム404dを時系列的に説明するが、それに先立ち、原理的に説明する。
本実施形態においては、同じ被写体S(3次元対象物)につき、複数種類のパターン光のもとにそれぞれ複数枚の輝度画像が生成される。それらパターン光はいずれも、明部、すなわち、幅を有する明るいパターンラインと、暗部、すなわち、幅を有する暗いパターンラインとが交互に一定の周期で繰り返すように形成される。それらパターン光は、その周期に関して互いに異なっており、それぞれ、パターン番号PNを有するパターン光と称される。それらパターン光のうち最も短い周期を有するパターン光が、パターン番号PNが0であるパターン光であり、最も長い周期を有するパターン光が、パターン番号PNが(PNmax−1)であるパターン光である。
いずれの輝度画像も、対応するパターン光のもとに取得されるため、明部としての明るいパターンラインと、暗部としての暗いパターンラインとが交互に並んで成るパターン画像として形成される。パターンライン間の間隔すなわち周期は、3次元形状検出装置10と被写体Sとの間における相対的な幾何学的関係(位置および向きに関する関係)に依存するため、各輝度画像内のすべての位置において一定であるとは限らない。複数種類のパターン光のもとにそれぞれ取得される複数枚の輝度画像は、対応するパターン光のパターン番号PNを用いて特定される。
本実施形態においては、それら複数枚の輝度画像のうちのいずれかが代表パターン画像に選択される。その代表パターン画像の一典型例は、複数種類のパターン光のうちパターンライン周期が最小であるものに対応する輝度画像であり、これは、パターン番号PNが0である輝度画像である。
パターン光が投影された被写体Sを撮像した輝度画像においては、輝度値が画素列の方向において空間的にかつ周期的に変化する。その周期的変化を表すグラフにそれの複数個の下ピーク点(最低輝度点)において接する包絡線が存在する。この包絡線は、同じ被写体Sを無照射状態で撮像した輝度画像における輝度値、すなわち、被写体Sの背景光の輝度値の空間的変化を表している。このような包絡線が存在する輝度画像については、各画素の輝度値を閾値処理によって正確に2値化するためには、閾値を画素位置に応じて変化させることが望ましい。すなわち、輝度画像の実際の輝度値変化をトラッキングすることによって閾値を適応的に変化させることが望ましいのである。
このような知見に基づき、本実施形態においては、輝度画像に対してフィルタ処理を行うことによって閾値を算出するフィルタ窓がローカルに設定され、フィルタ処理されることによりその位置に適した閾値が、輝度画像に対してローカルに設定される。輝度画像のうちのあるローカル位置に窓が設定されれば、輝度画像を構成する複数本のパターンラインのうちその窓内に存在する画素の輝度値が取り出されて参照されることにより、そのあるローカル位置に対応する閾値が設定される。
本実施形態において使用される窓は、方形窓である。この方形窓を採用する場合には、その方形窓内に存在する複数本のパターンラインを構成する画素の輝度値が取り出され、それら輝度値に対して同一の重み係数が用いられて閾値が算出される。その重み係数により、方形窓の窓関数が定義される。
さらに、方形窓を採用する場合には、その方形窓の、パターンラインが延びるライン方向におけるライン方向サイズに応じて、その方形窓内においてライン方向に存在する画素の数を可変とすることができる。一方、その方形窓の、複数本のパターンラインが列を成して並ぶ列方向における列方向サイズに応じて、その方形窓内において列方向に存在するパターンラインの数も画素の数も可変とすることができる。
したがって、方形窓を採用する場合には、その方形窓の列方向サイズにより、輝度画像に窓を設定することによってその輝度画像から算出される閾値が変化することになる。よって、その閾値を適応的に変化させることが必要である場合には、方形窓の列方向サイズを適応的に変化させればよい。
本実施形態においては、方形窓として構成される窓のサイズが、その窓内に存在するパターンラインの数がそれらパターンラインの間隔すなわち周期(例えば、明るいパターンラインが繰り返される周期)の整数倍であるように設定することが望ましい。すなわち、窓内に、明るいパターンラインと暗いパターンラインとが同数ずつ存在するように窓のサイズを設定することが望ましいのである。このように設定すれば、窓内に存在する複数本のパターンラインの輝度値の平均値を算出することにより、望ましい閾値を高精度取得することができる。
しかしながら、同じ輝度画像上であっても、パターンラインの周期は場所によって異なる可能性がある。そのため、窓のサイズを固定した場合には、窓内に存在するパターンラインの数が場所によって変動してしまい、閾値の設定精度が低下してしまう。
本実施形態においては、複数枚の輝度画像のうち、パターンラインの周期が最小であるパターン光のもとに撮像されたもの、すなわち、パターン番号PNが0である輝度画像が代表パターン画像として選択される。さらに、本実施形態においては、その代表パターン画像に対してローカルに設定される窓VWが、それのサイズが可変である可変窓として構成されている。それにより、その可変窓VWのサイズが、代表パターン画像の実際のパターンライン周期に適応して変化させられる。
したがって、本実施形態によれば、代表パターン画像におけるパターンライン周期が列方向位置に応じて変動しても、それに追従するように可変窓VWのサイズが変更され、その結果、パターンライン周期の変動にもかかわらず、可変窓VW内に存在する明部と暗部のパターンラインの数が一定に維持される。本実施形態においては、代表パターン画像に対して可変窓VWが設定される各ローカル位置ごとに閾値THが取得される。各ローカル位置ごとの閾値THは、各ローカル位置に最適なサイズを有する可変窓VWのもとに精度よく取得されることになる。
また、明部と暗部のパターンラインの数が一定に維持されるような可変窓VWのサイズは、パターン番号PNが0である輝度画像において最小となる。したがって、パターン番号PNが0である輝度画像を代表パターン画像として選択することにより、最小の可変窓VWのサイズが可能になり、可変窓VWを用いた後のフィルタ処理の計算負担を抑えることが可能になる。
本実施形態においては、その可変窓VWが、サイズが可変である方形窓として構成されている。その可変窓VWのサイズは、代表パターン画像の列方向には可変であるが、ライン方向には固定であるように設定されている。
本実施形態においては、その可変窓VWのサイズ、すなわち、代表パターン画像の列方向におけるサイズが、その代表パターン画像の実際のパターンライン周期を適応的に反映するように設定される。そのため、可変窓VWのサイズを設定するために、代表パターン画像の実際のパターンライン周期分布が事前に判明していることが必要である。
よって、本実施形態においては、可変窓VWのサイズの設定に先立ち、サイズが固定された固定窓が代表パターン画像に対して設定される。その設定された固定窓によって捕捉される複数個の連続画素が複数個の注目画素として選択され、それら選択された注目画素の輝度値に基づき、代表パターン画像の実際のパターンライン周期分布が取得される。
本実施形態においては、さらに、代表パターン画像における複数個の注目画素の輝度値に対してFFT(Fast Fourier Transform:高速フーリエ変換)処理が施され、それにより、代表パターン画像の列方向において輝度値変化の周波数成分のそれぞれについて強度(例えば、パワースペクトル)が取得される。ここに、「周波数成分」は、1個の固定窓によって捕捉される複数個の注目画素を列方向に辿った場合に、輝度値の変化が反復される反復回数を意味する。
本実施形態においては、代表パターン画像において列方向に連続的に並んだ複数個の連続画素のそれぞれが順次注目画素に選定され、その選定された各注目画素ごとにパターンライン周期が、代表パターン画像の輝度値分布に基づいて取得される。
以上、このコード画像生成プログラム404dを原理的に説明したが、以下、図37を参照することにより、時系列的に説明する。
このコード画像生成プログラム404dにおいては、まず、S5001において、パターン番号PNが0であるパターン光が投影された被写体Sが撮像された輝度画像が輝度画像格納部406cから、代表パターン画像として読み込まれる。
次に、S5002において、その代表パターン画像につき、前記読み込まれた輝度画像に基づき、前述のFFT変換によるアプローチにより、代表パターン画像において列方向に連続的に並んだ各画素ごとにパターンライン周期が演算される。演算された複数個のパターンライン周期は各画素(各列方向画素位置)に関連付けて周期分布格納部406pに格納される。
続いて、S5003において、演算された複数個のパターンライン周期に基づき、可変窓VWの特性がローカルに設定される。本実施形態においては、可変窓VWのライン方向サイズは、その可変窓VWが設定される代表パターン画像上の位置にかかわらず、変化しないように設定されるのに対し、可変窓VWの列方向サイズは、各列方向画素位置に関連付けて演算されたパターンライン周期の整数倍に相当するように設定される。
その後、S5004において、代表パターン画像に対して可変窓VWが、ライン方向と列方向とに沿って平面的に、かつ、各画素に関連付けて設定される。それにより、各画素ごとに、可変窓VW内に存在する複数個の画素の輝度値の平均値がローカルな閾値として演算される。このS5004においては、さらに、演算された閾値が各画素に割り当てられた閾値画像が生成される。生成された閾値画像は閾値画像格納部406qに格納される。
続いて、S5005において、パターン番号PNが0に初期化され、その後、S5006において、パターン番号PNの現在値が最大値PNmaxより小さいか否かが判定される。今回は、パターン番号PNの現在値が0であるため、判定がNOとなり、S5007に移行する。
このS5007においては、パターン番号PNの現在値と等しいパターン番号PNが割り当てられた輝度画像の輝度値と、前記生成された閾値画像の閾値とが、各画素ごとに互いに比較される。その比較結果は、各画素ごとに2値化画像に反映される。具体的には、輝度画像の輝度値が閾値より大きい場合には、「1」を表すデータが、2値化画像のうち対応する画素位置に関連付けて2値化画像格納部406rに格納され、一方、輝度画像の輝度値が閾値より大きくはない場合には、「0」を表すデータが、2値化画像のうち対応する画素位置に関連付けて2値化画像格納部406rに格納される。
その後、S5008において、パターン番号PNが1だけインクリメントされる。続いて、S5006に戻り、パターン番号PNの現在値が最大値PNmaxより小さいか否かが判定される。今回も、最大値PNmaxより小さい場合には、判定がNOとなり、S5007に移行する。
S5006ないしS5008の実行がパターン光の種類の数と同数回繰り返された結果、パターン番号PNの現在値が最大値PNmaxより小さくはない値になると、S5006の判定がYESとなり、S5009に移行する。
このS5009においては、各画素ごとに、最大値PNmaxと同数枚の2値化画像から画素値(「1」または「0」)が、パターン番号PNが0である輝度画像に対応する2値化画像から、パターン番号PNが(PNmax−1)である輝度画像に対応する2値化画像に至る順序に従って抽出され、最下位ビットLSMから最上位ビットMSBに至る順序に従って並んだ空間コードが生成される。各画素ごとの空間コードのビット数は、最大値PNmaxと同数である。各画素ごとに空間コードが生成されることにより、今回の被写体Sに対応する空間コード画像が生成される。生成された空間コードは、各画素位置に関連付けて空間コード格納部116dに格納される。例えば、最大値PNmaxが8である場合には、生成される空間コードは0から255までの範囲内の値を有する。
以上で、このコード画像生成プログラム404dの一回の実行が終了する。
その後、図36におけるS4003において、コード境界抽出プログラム404eの実行により、コード境界座標検出処理が実施される。前述の空間コード化法によるコード化は、各画素単位で行われるため、実際のパターン光における明暗の境界線と、前記生成されたコード画像における空間コードの境界線(ある空間コードが割り当てられた領域と別の空間コードが割り当てられた領域との間の境界線)との間にサブピクセル精度の誤差が生ずる。そのため、このコード境界座標検出処理は、空間コードの境界座標値をサブピクセル精度で検出することを目的として実施される。
例えば、各パターン光のライン方向と交差する離散的な基準線の位置をCCD座標系において255本設定すると、最大値PNmaxが8(空間コードを256有するため、境界は255)である場合には、図36におけるS4003(コード境界抽出プログラム404eの実行)により、最大約6万5千の空間コードの境界座標値が検出される。
検出されたコード境界座標値はコード境界座標格納部406eに格納される。コード境界座標値は、CCD70の結像面に設定された2次元座標系であるCCD座標系ccdx−ccdyにおいて定義される。
続いて、S4004において、レンズ収差補正プログラム404fの実行により、レンズ収差補正処理が実施される。このレンズ収差補正処理は、撮像光学系30に入射した光束の実際の結像位置であってその撮像光学系30の収差の影響を受けたものを、その撮像光学系30が理想レンズであったならば結像されるはずである理想結像位置に近づくように補正する処理である。
このレンズ収差補正処理により、S4003において検出されたコード境界座標値が、撮像光学系30の歪みなどに起因した誤差が除去されるように補正される。そのようにして補正されたコード境界座標は収差補正座標格納部406gに格納される。
その後、S4005において、三角測量演算プログラム404gの実行により、三角測量の原理による実空間変換処理が実施される。この実空間変換処理が実施されれば、三角測量の原理により、前述の、CCD座標系ccdx−ccdy上のコード境界座標値であって収差補正が施されたものが、実空間に設定された3次元座標系である実空間座標系X−Y−Z上の3次元座標値に変換され、その結果、3次元色形状検出結果としての3次元座標値が取得される。その取得された3次元座標値は、対応する部分画像の回転位相PHに関連付けて、3次元座標格納部406hに格納される。
このS4005においては、被写体Sの3次元形状を複数個の3次元頂点の集まりとして空間離散的に計測するために、2次元的なコード画像が、各パターン光のライン方向と交差する離散的な複数本の基準線に関して空間離散的に参照される。これにより、そのコード画像の外周境界上の複数個の離散点にそれぞれ対応する複数個の3次元頂点が取得されるのみならず、そのコード画像の内部の複数個の離散点(S4003において検出されたコードの境界座標点)にそれぞれ対応する複数個の3次元頂点が取得される。
ここで、図38を参照することにより、図31におけるS1230を詳述する。図38には、そのS1230が3次元色形状検出結果生成サブルーチンとして概念的にフローチャートで表されている。
この3次元色形状検出結果生成サブルーチンにおいては、まず、S5501において、3次元座標格納部406hから、回転位相PH0ないし3のそれぞれに関連付けて、複数個の3次元座標値がロードされる。本実施形態においては、被写体Sの外面全体が4つの部分面(正面、右側面、左側面および背面)に分割され、各部分面ごとに立体画像が生成される。このS5501においては、それら4つの部分面のすべてについて、各部分面に属する複数個の3次元座標値が3次元座標格納部406hからロードされる。
次に、S5502において、それらロードされた複数個の3次元座標値(頂点座標値)に対し、各3次元座標値が属する各部分面の回転位相PHに応じた回転変換が行われ、それにより、4つの部分面に属する複数個の3次元座標値が、各部分面の回転位相PHを見込んで組み合わされる。その結果、複数個の3次元座標値によって3次元的に表現される4つの部分面が一体化されて、被写体Sの外面全体を現す画像が合成される。ただし、この段階においては、その合成画像に、測定ヘッドMHの分割撮像手法に起因して空間的にオーバラップする部分が存在する。
続いて、S5503において、その生成された合成画像において空間的にオーバラップする部分が抽出される。さらに、その合成画像の長さ方向における各領域においてオーバラップする2つの部分が、それら2部分に属する複数個の3次元座標値の平均化等の手法により、1つの部分に結合される。その結果、合成画像において空間的なオーバラップが除去され、それにより、ステッチ画像が完成する。そのステッチ画像を表すデータがステッチ画像格納部406sに格納される。
その後、S6001において、前述の実空間3次元座標系に座標変換された3次元頂点群の各実座標空間座標値に対応するRGB値(R輝度値、G輝度値およびB輝度値)が前述の表面色画像から抽出される。
実空間座標系と、表面色画像を定義する平面座標系との関係は、前述の三角測量計算によって幾何学的に互いに対応付けられている。すなわち、コード画像、すなわち、被写体Sの3次元形状を計測するための2次元画像である形状画像を定義する平面座標系を実空間3次元座標系に計算によってマッピングさせるために用いられる関数が存在する場合に、その関数の逆関数を用いることにより、実空間3次元座標系を、表面色画像を定義する平面座標系に計算によってマッピングさせることが可能なのである。したがって、このS6001においては、2次元的な表面色画像から、各3次元頂点ごとに、それに対応する表面色値すなわちRGB値を抽出することが可能である。
次に、S6002において、各頂点ごとに、対応する実空間座標値とRGB値とが組み合わされて色形状情報が生成される。さらに、その生成された色形状情報が、対応する頂点に直接にまたは間接に関連付けてワーキングエリア410にローカル保存される。
続いて、S6003において、被写体Sの表面形状を複数個のポリゴンの一例である三角形に分割することによって近似的に表現するために、その被写体Sについて取得された複数個の頂点のうち、距離的に互いに近接する複数個の頂点が3個ずつ、グループ分けされる。各グループごとに、3個の頂点が互いに連結されることにより、1個のポリゴンが形成される。
その後、S6004において、各ポリゴンごとに、そのポリゴンを形成するために互いに連結すべき3個の頂点の組合せがポリゴン情報として、各ポリゴンに直接にまたは間接に関連付けてワーキングエリア410にローカル保存される。また、そのポリゴン情報は、必要に応じ、ステッチテクスチャを表す情報として、ステッチテクスチャ格納部406tに格納される。
以上で、この3次元色形状検出結果生成サブルーチンの一回の実行が終了し、それに伴い、図38に示す3次元色形状検出処理ルーチンの一回の実行が終了する。
本実施形態においては、測定ヘッドMHに対する回転テーブル184の相対位置が自動的にかつ一義的に決まっている。その相対位置は、例えば、測定ヘッドMHからの距離と、その測定ヘッドMHの光軸に対する角度とによって規定される。
被写体Sの撮像および測定のために測定ヘッドMHに課されるべき負担が軽減される理由はその他にも存在する。その一例を説明するに、回転テーブル184を用いた、被写体Sの4面方向(PN=0〜3)からの3次元形状測定において、その回転テーブル184の回転中心軸の座標を推定するための処理が高効率化される。
具体的に説明するに、本実施形態においては、被写体Sが配置される回転テーブル184の回転中心軸の、測定ヘッドMHに対する空間座標値が既知である。したがって、4面各々についての3次元形状測定結果である各3次元座標値(図36におけるS4005において演算される。)に対して、前記回転中心軸を中心に空間回転演算処理を行うことにより、被写体Sの形状および色を表すポリゴンサーフェスおよびテクスチャのステッチ処理(結合処理)が行われ、ひいては、最終的な出力である、被写体Sの全周の3次元色形状検出結果が生成される(図31におけるS1230)。その結果、被写体Sの全周の形状および色が、位置のずれなく、正しく結合されることになる。
よって、この3次元形状検出装置10によれば、被写体Sの3次元測定のために、回転テーブル184の回転中心軸の検出または推定を完全にないしは部分的に省略可能となる。
いずれにしても、本実施形態によれば、同じ被写体Sにつき、各面ごとに独立して測定された複数の形状および色を正しく結合するために行われる回転中心軸推定処理の負担を軽減することが容易となる。ここに、「回転中心軸推定処理」の一例としては、被写体Sの全周について離散的に測定された複数の色形状間の位置ずれが実質的に最小となるように、回転中心軸の座標を推定する手法を採用することが可能である。
被写体Sの撮像および測定のために測定ヘッドMHに課されるべき負担が軽減される別の理由を説明するに、回転テーブル184は常に同じ正規位置(測定ヘッドMHからの距離および角度)に位置決めされるため、被写体Sが常に撮像視野の中心に位置するという効果、焦点調節を簡略化することができるという効果等が得られ、それら効果により、被写体Sの撮像および測定のために測定ヘッドMHに課されるべき負担が軽減される。
さらに、回転テーブル184は常に同じ正規位置(測定ヘッドMHからの距離および角度)に位置決めされるため、測定ヘッドMHの撮像可能領域いっぱいに配置された被写体Sを、撮像視野内で画面全体にできる限り大きく撮像することが容易となる。その結果、被写体Sの3次元入力精度を向上させることが容易となり、このことによっても、被写体Sの撮像および測定のために測定ヘッドMHに課されるべき負担が軽減される可能性がある。
上記実施の形態においては、測定ヘッドMHを装着する測定ヘッド装着部と被写体Sや校正用冶具KAを載置する回転テーブル部RTとを一体的に形成した台座部HDを説明したが、図39に示すように、測定ヘッドを設置するための第1の台座HDaと、被写体Sや校正用冶具KAを載置する表面が平面状の第2の台座HDbと分離して構成するようにしてもよい。分離した構成である第2の台座HDbを用いた場合、測定ヘッドMHと、台座HDbを任意の距離で設置できる。このようにすることで、測定ヘッドMHと台座HDが常に同じ正規位置に一位置決めされた場合に比べ、被写体Sの大きさに自由度を持たせることが出来、より大きな被写体Sの測定も可能になる。この場合も、分離した構成である第2の台座HDbに本発明の校正用治具KAを用いて校正処理を行うことにより、簡単に測定ヘッドMHと台座HDbの位置関係に適合したシステムパラメータに更新することができる。
なお、校正用冶具KAにおいて、上述の第1嵌合部503a及び第2嵌合部503bを設けている場合であっても、上下反転させることによって第2の台座HDbに載置することができる。
以上、本発明の実施の形態のうちのいくつかを図面に基づいて詳細に説明したが、これらは例示であり、前記[発明の開示]の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
たとえば、図40,図41に示すように、図面上校正用冶具KAを、基面である第1の平面上に位置し、上下方向に延在し、上下方向が開放された複数の第1の平面部801a,801bと、基面と異なる平面であってこの基面に平行な平面である第2の平面上に位置して上下方向に延在し、上下方向が開放された第2の平面部802a,802bと、基面及び第2の平面部と異なる平面であってこの基面及び第2の平面部に平行な平面上に位置して上下方向に延在し、上下方向が開放された第3の平面部803とを上下方向と交差する左右方向に配置する構成にしてもよい。すなわち、第1の平面部と第2の平面部とをそれぞれ複数設けていれば、第3の平面部が設けられた構成であってもよい。
本発明の第1実施形態に従う3次元形状検出装置の外観を示す斜視図である。 図1に示す3次元形状検出装置を示す側面図および背面図である。 図1における測定ヘッドホルダとの取付構造を説明するための部分断面背面図である。 図1における回転テーブル部を示す背面断面図である。 図1における測定ヘッドの内部構成を示す平面断面図である。 図1における投影部を拡大して示す平面図である。 図1に示す3次元形状検出装置の電気的構成を概念的に表すブロック図である。 図5における投影機構を示す正面図である。 図8に示す投影機構を示す部分側面断面図である。 図8におけるマスクを部分的に拡大して示す正面図である。 図8におけるマスクを部分的に示す正面図および図7における位置センサおよび第1ないし第3のIDセンサをマスクと共に示す側面図である。 図11における位置センサのPD信号および第1ないし第3のIDセンサの信号を説明するためのタイミングチャートである。 図7におけるカメラ制御プログラムにおいて実行されるメイン処理を概念的に表すフローチャートである。 図13における校正処理を概念的に表すフローチャートである。 図14における校正処理時の3次元形状検出装置の外観を示す斜視図である。 本発明の実施形態に従う校正用冶具の外観を示す斜視図である。 本発明の実施形態に従う他の校正用冶具の外観を示す斜視図である。 本発明の実施形態に従う別の校正用冶具の外観を示す斜視図である。 本発明の実施形態に従うまた別の校正用冶具の外観を示す斜視図である。 本発明の実施形態に従うさらに別の校正用冶具の外観を示す斜視図である。 図20の校正用冶具の回転テーブルへの配置方法の説明図である。 図15におけるカメラキャリブレーション処理ルーチンを概念的に表すフローチャートである。 カメラキャリブレーションのためのフラッシュ光が校正用冶具KAの全面に投影されたときの状態を示す図である。 モニタLCDに表示された校正用指標を指定するための画像を示す図である。 図15におけるプロジェクタキャリブレーション処理を概念的に表すフローチャートである。 プロジェクタキャリブレーションのためのパターン光が校正用冶具KAに投影されたときの状態を示す図である。 モニタLCDに表示されたパターン光境界を指定するための画像を示す図である。 プロジェクタキャリブレーションのために複数のパターン光のうちの一つが校正用冶具KAに投影されたときの状態を示す図である。 プロジェクタキャリブレーションのために複数のパターン光のうちの他の一つが校正用冶具KAに投影されたときの状態を示す図である。 図13における立体画像処理を概念的に表すフローチャートである。 図30における3次元色形状検出処理を3次元色形状検出処理ルーチンとして概念的に表すフローチャートである。 図31における撮像処理プログラムとして概念的に表すフローチャートである。 図32におけるマスクモータ制御プログラムとして概念的に表すフローチャートである。 図32における投影処理を投影処理サブルーチンとして概念的に表すフローチャートである。 図1に示す3次元形状検出装置の作動の一例を説明するためのタイミングチャートである。 図31における3次元計測処理サブルーチンとして概念的に表すフローチャートである。 図36におけるコード画像生成プログラムを概念的に表すフローチャートである。 図31における3次元色形状検出結果生成ルーチンとして概念的に表すフローチャートである。 本発明の実施形態に従う他の3次元形状検出装置の外観を示す斜視図である。 本発明の実施形態に従うその他の校正用冶具の外観を示す斜視図である。 本発明の実施形態に従うさらにその他の校正用冶具の外観を示す斜視図である。
符号の説明
MH 測定ヘッド
RT 回転テーブル
HD ホルダ
KA 校正用冶具
10 3次元形状検出装置
12 投影部
14 撮像部
16 処理部
184 回転テーブル
501a,501b,501c 第1の平面部
502a,502b 第2の平面部
503a 第1嵌合部
503b 第2嵌合部
512a〜i,513a〜f 校正用指標

Claims (19)

  1. 明と暗とを交互に並べてなる複数種類のパターン光の各々を時系列に被写体に投影する投影手段と、その投影手段から各パターン光が投影されている状態の被写体を撮像する撮像手段と、その撮像手段によって撮像される各撮影画像に基づいて被写体の3次元形状を算出する3次元形状算出手段と、を備えた3次元形状検出装置において前記被写体の3次元形状を算出するのに用いるシステムパラメータの校正するための校正用治具において、
    基面上に位置し、所定方向に延在する第1の平面部と、前記基面と異なる平面であって同基面に平行な平面上に位置して前記所定方向に延在する第2の平面部とを、前記所定方向と交差する方向に交互に配置することによって、少なくとも前記第1の平面部と前記第2の平面部とをそれぞれ複数設け、前記複数の第1の平面部と前記複数の第2の平面部とに少なくとも6以上の校正用指標が離散して配置されたことを特徴とする校正用治具。
  2. 前記校正用冶具は、前記所定方向と直交する方向における中心を通る前記所定方向の軸に対して、左右対称に形成したことを特徴とする請求項1に記載の校正用冶具。
  3. 前記被写体の実空間座標系の一軸が通る平面上に前記複数の第1の平面部または前記複数の第2の平面部が配置されることを特徴とする請求項1又は請求項2に記載の校正用治具。
  4. 前記複数の第1の平面部と前記複数の第2の平面部とにそれぞれに前記所定の方向に離散して3以上、かつ前記第1の平面部ごと及び前記第2の平面部ごとに少なくとも1以上の校正用指標を設けたことを特徴とする請求項1〜3のいずれか1項に記載の校正用治具。
  5. 前記複数の第1の平面部及び前記複数の第2の平面部は、荷重成型加工により形成したことを特徴とする請求項1〜4のいずれか1項に記載の校正用治具。
  6. 前記複数の第1の平面部及び前記複数の第2の平面部は、押し出し加工により形成したことを特徴とする請求項1〜4のいずれか1項に記載の校正用治具。
  7. 前記複数の第1の平面部及び前記複数の第2の平面部は、複数の部材を用いて形成したことを特徴とする請求項1〜4のいずれか1項に記載の校正用治具。
  8. 前記複数の第1の平面部及び前記複数の第2の平面部は、射出整形することによって形成したことを特徴とする請求項1〜4のいずれか1項に記載の校正用治具。
  9. 前記校正用指標は、校正用指標を除く他の部分と異なる表面加工処理によって、この校正用指標を除く他の部分と反射率を異ならしめたことを特徴とする請求項1〜8のいずれか1項に記載の校正用治具。
  10. 前記複数の第1の平面部と前記複数の第2の平面部とにそれぞれ開口穴を形成することによって前記指標を設けたことを特徴とする請求項1〜8のいずれか1項に記載の校正用治具。
  11. 前記複数の第1の平面部と前記複数の第2の平面部とは反射率と異なるシールを貼り付けることによって前記指標を設けたことを特徴とする請求項1〜8のいずれか1項に記載の校正用治具。
  12. 前記複数の第1の平面部と前記複数の第2の平面部とは反射率の異なるインクによる印刷処理によって前記指標を設けたことを特徴とする請求項1〜8のいずれか1項に記載の校正用治具。
  13. 前記複数の第1の平面部及び前記複数の第2の平面部のうち少なくとも一つの平面部の一端に前記3次元形状検出装置に設けられる載置台と嵌合するための嵌合部を設けたことを特徴とする請求項1〜12のいずれか1項に記載の校正用治具。
  14. 請求項1〜13のいずれか1項に記載の校正用治具を用いた3次元形状検出装置のキャリブレーション方法であって、
    前記校正用治具に明暗の3つ以上の境界が現れるように前記パターン光投光手段からパターン光を校正用治具へ投光し、前記撮像手段によって前記校正用治具を撮像する第1の撮像ステップと、
    前記撮像手段によって撮像した画像から前記第1の平面部及び前記第2の平面部における前記パターン光の境界を検出する第1の境界検出ステップと、
    前記第2のステップで検出したパターン光の境界を用いて前記システムパラメータを校正する校正ステップと、
    を有することを特徴とする3次元形状検出装置のキャリブレーション方法。
  15. 請求項1〜13のいずれか1項に記載の校正用治具を用いた3次元形状検出装置のキャリブレーション方法であって、
    前記校正用治具に明暗の境界が異なる複数のパターン光を前記パターン光投光手段から校正用治具へ投光し、前記撮像手段によって前記校正用治具を前記投光したパターン光ごとに撮像する第2の撮像ステップと、
    前記撮像手段によって撮像した複数の画像から前記第1の平面部及び前記第2の平面部におけるパターン光の境界を検出する第2の境界検出ステップと、
    前記第2のステップで検出したパターン光の境界を用いて前記システムパラメータを校正する校正ステップと、
    を有することを特徴とする3次元形状検出装置のキャリブレーション方法。
  16. 請求項1〜13のいずれか1項に記載の校正用治具を用いた3次元形状検出装置のキャリブレーション方法であって、
    前記校正用治具に明暗の境界が異なる複数のパターン光を前記パターン光投光手段から校正用治具へ投光し、前記撮像手段によって前記校正用治具を前記投光したパターン光ごとに撮像する第2の撮像ステップと、
    前記撮像手段によって撮像した複数の画像から空間コード画像を生成する空間コード画像生成ステップと、
    前記空間コード画像生成ステップで生成された空間コード画像を参照し、前記第1の平面部及び前記第2の平面部における空間コード境界を検出する空間コード境界検出ステップと、
    前記空間コード境界検出ステップで検出した空間コード境界を用いて前記システムパラメータを校正する校正ステップと、
    を有することを特徴とする3次元形状検出装置のキャリブレーション方法。
  17. 前記第1の境界検出ステップ又は前記第2の境界検出ステップは、
    前記撮像された前記校正用治具の撮像画像を表示する表示ステップと、
    前記表示した撮像画像上で前記第1の平面部と前記第2の平面部における前記パターン光の境界を含む領域を指定する境界領域指定ステップと、
    前記指定された領域から前記パターン光の境界を検出する検出ステップと、を有することを特徴とする請求項14又は請求項15に記載の3次元形状検出装置のキャリブレーション方法。
  18. 前記空間コード境界検出ステップは、
    前記空間コード画像生成ステップで生成された空間コード画像を表示する表示ステップと、
    前記表示した撮像画像上で前記第1の平面部と前記第2の平面部における前記空間コードの境界を含む領域を指定する境界領域指定ステップと、
    前記指定された領域から前記空間コードの境界を検出する検出ステップと、を有することを特徴とする請求項16に記載の3次元形状検出装置のキャリブレーション方法。
  19. 請求項1〜13のいずれか1項に記載の校正用治具を用いた3次元形状検出装置のキャリブレーション方法であって、
    照明手段によって前記校正用治具を照らし、前記撮像手段によって前記校正用治具を撮像する撮像ステップと、
    前記ステップにおいて撮像された前記校正用治具の撮像画像を表示する表示ステップと、
    前記表示した撮像画像上で前記校正用指標を含む領域を指定する指標領域指定ステップと、
    前記指定された領域から前記校正用指標の中心を検出する検出ステップと、を有することを特徴とする3次元形状検出装置のキャリブレーション方法。
JP2006029310A 2006-02-07 2006-02-07 3次元形状検出装置のキャリブレーションに用いる校正用治具及びそのキャリブレーション方法 Pending JP2007212159A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006029310A JP2007212159A (ja) 2006-02-07 2006-02-07 3次元形状検出装置のキャリブレーションに用いる校正用治具及びそのキャリブレーション方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006029310A JP2007212159A (ja) 2006-02-07 2006-02-07 3次元形状検出装置のキャリブレーションに用いる校正用治具及びそのキャリブレーション方法

Publications (1)

Publication Number Publication Date
JP2007212159A true JP2007212159A (ja) 2007-08-23

Family

ID=38490758

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006029310A Pending JP2007212159A (ja) 2006-02-07 2006-02-07 3次元形状検出装置のキャリブレーションに用いる校正用治具及びそのキャリブレーション方法

Country Status (1)

Country Link
JP (1) JP2007212159A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012056895A1 (ja) * 2010-10-26 2012-05-03 株式会社Jvcケンウッド 投射型表示装置
JP2015099048A (ja) * 2013-11-18 2015-05-28 セイコーエプソン株式会社 標準ゲージ、三次元測定装置、及び、三次元測定装置のキャリブレーション方法
JP2019158361A (ja) * 2018-03-07 2019-09-19 日本製鉄株式会社 距離計校正方法及びそれに用いる校正治具
CN112097683A (zh) * 2020-11-13 2020-12-18 山东海德智能科技有限公司 一种基于激光扫描成像的3d高精密检测系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012056895A1 (ja) * 2010-10-26 2012-05-03 株式会社Jvcケンウッド 投射型表示装置
JP2012093477A (ja) * 2010-10-26 2012-05-17 Jvc Kenwood Corp 投射型表示装置
US9083894B2 (en) 2010-10-26 2015-07-14 JVC Kenwood Corporation Projection type display apparatus
JP2015099048A (ja) * 2013-11-18 2015-05-28 セイコーエプソン株式会社 標準ゲージ、三次元測定装置、及び、三次元測定装置のキャリブレーション方法
JP2019158361A (ja) * 2018-03-07 2019-09-19 日本製鉄株式会社 距離計校正方法及びそれに用いる校正治具
CN112097683A (zh) * 2020-11-13 2020-12-18 山东海德智能科技有限公司 一种基于激光扫描成像的3d高精密检测系统

Similar Documents

Publication Publication Date Title
JP2007271530A (ja) 3次元形状検出装置及び3次元形状検出方法
US7751066B2 (en) Projector and three-dimensional input apparatus using the same
JP2007256116A (ja) 3次元形状検出装置
EP3650807B1 (en) Handheld large-scale three-dimensional measurement scanner system simultaneously having photography measurement and three-dimensional scanning functions
JP2006300531A (ja) 3次元形状測定装置
US9448059B2 (en) Three-dimensional scanner with external tactical probe and illuminated guidance
US8120642B2 (en) Optical fingerprint acquisition
US20070296979A1 (en) Three-dimensional shape measuring apparatus
US20070025612A1 (en) Image input-and-output apparatus
WO2005095886A1 (ja) 3次元形状検出装置、3次元形状検出方法、3次元形状検出プログラム
JP2005293075A5 (ja)
JP2011017700A (ja) 対象物の3次元座標の決定方法
WO2005029408A1 (ja) 画像処理装置、及び、撮像装置
WO2005095887A1 (ja) 投影装置および3次元形状検出装置
US9291527B2 (en) System and method for analysis of surface features
JP2007212159A (ja) 3次元形状検出装置のキャリブレーションに用いる校正用治具及びそのキャリブレーション方法
JP4552485B2 (ja) 画像入出力装置
WO2007119396A1 (ja) 三次元情報測定装置
CN115994954B (zh) 一种高精度大视野近红外光学相机标定装置及标定方法
JP2005352835A (ja) 画像入出力装置
JP4552484B2 (ja) 画像入出力装置
JP4595690B2 (ja) 投影装置
WO2005122553A1 (ja) 画像入出力装置
JP2006266957A (ja) 3次元入力装置
JP2006349394A (ja) 3次元入力装置