(57)【要約】      （修正有）【課題】計測対象の三次元形状をより高精度に計測する三次元形状計測装置を提供する。【解決手段】計測対象物の三次元形状を計測する三次元形状計測装置１００は、計測対象物１０６が載置された載置部材を含む所定の計測空間に対しパターン画像を投影する投影手段１０１と、所定の計測空間を撮像する撮像手段１０２と、指標パターン画像が載置部材に投影されているときに撮像手段により得られる撮像画像に基づいて、投影手段１０１及び撮像手段１０２を固定する支持部材１０４の位置変動を補正するための第１補正値と投影手段１０１による投影位置の変動を補正するための第２補正値とを導出する導出手段と、座標算出用パターン画像が計測対象物に対して投影されているときに撮像手段１０２により得られる撮像画像と、導出手段により導出された第１補正値及び第２補正値と、に基づいて、計測対象物の表面の複数の座標を算出する座標値算出手段と、を有する。【選択図】図１
2015102423.tif 000002
【特許請求の範囲】
【請求項１】
計測対象物の三次元形状を計測する三次元形状計測装置であって、
前記計測対象物が載置された載置部材を含む所定の計測空間に対しパターン画像を投影する投影手段であって、前記計測対象物に対しては座標算出用パターン画像を投影し前記載置部材に対しては指標パターン画像を投影するよう構成される、前記投影手段と、
前記所定の計測空間を撮像する撮像手段と、
前記投影手段により前記指標パターン画像が前記載置部材に投影されているときに前記撮像手段により得られる撮像画像に基づいて、前記投影手段及び前記撮像手段を固定する支持部材の位置変動を補正するための第１補正値と前記投影手段による投影位置の変動を補正するための第２補正値とを導出する導出手段と、
前記投影手段により前記座標算出用パターン画像が前記計測対象物に対して投影されているときに前記撮像手段により得られる撮像画像と、前記導出手段により導出された前記第１補正値及び前記第２補正値と、に基づいて、前記計測対象物の表面の複数の座標を算出する座標値算出手段と、
を有することを特徴とする三次元形状計測装置。
【請求項２】
前記導出手段は、所定の条件を満たすまで、前記第１補正値の導出処理と前記第２補正値の導出処理とを交互に反復実行するよう構成されていることを特徴とする請求項１に記載の三次元形状計測装置。
【請求項３】
前記所定の条件は、
先行する反復実行時に導出された第１補正値と今回の反復実行時に導出された第１補正値との差が所定の閾値以下になる
先行する反復実行時に導出された第２補正値と今回の反復実行時に導出された第２補正値との差が所定の閾値以下になる
反復実行開始から所定の時間が経過する
の少なくとも１つであることを特徴とする請求項２に記載の三次元形状計測装置。
【請求項４】
前記載置部材には基準指標が配されており、
前記導出手段は、前記投影手段により前記指標パターン画像が前記載置部材に投影されているときに前記撮像手段により得られる撮像画像に基づいて、前記指標パターン画像の各画素と前記撮像画像に含まれる指標パターン画像の各画素とを対応付け、前記基準指標の座標の変動を導出することを特徴とする請求項１乃至３の何れか一項に記載の三次元形状計測装置。
【請求項５】
前記座標算出用パターン画像は、互いに異なる解像度の複数の縞パターン画像を含み、  前記撮像手段は、前記投影手段により投影される前記複数の縞パターン画像の各々に対して撮像を行う
ことを特徴とする請求項１乃至４の何れか一項に記載の三次元形状計測装置。
【請求項６】
計測対象物の三次元形状を計測する三次元形状計測装置であって、
前記計測対象物が載置されかつ同一平面上に無い複数の立体的な基準指標が配された載置部材を含む所定の計測空間に対しパターン画像を投影する投影手段であって、前記計測対象物に対して座標算出用パターン画像を投影するよう構成される、前記投影手段と、
前記所定の計測空間を撮像する撮像手段と、
前記撮像手段により得られる撮像画像に基づいて、前記投影手段による投影位置の変動を補正するための第１補正値を導出する第１導出手段と、
前記撮像手段により得られる撮像画像に含まれる前記複数の立体的な基準指標の画像に基づいて、前記投影手段及び前記撮像手段を固定する支持部材の位置変動を補正するための第２補正値を導出する第２導出手段と、
前記投影手段により前記座標算出用パターン画像が前記計測対象物に対して投影されているときに前記撮像手段により得られる撮像画像と、前記第１補正値と、前記第２補正値と、に基づいて、前記計測対象物の表面の複数の座標を算出する座標値算出手段と、
を有することを特徴とする三次元形状計測装置。
【請求項７】
前記座標算出用パターン画像は、第１の方向の縞パターンを有しかつ互いに異なる解像度の複数の第１縞パターン画像と、該第１の方向と直交する第２の方向の縞パターンを有しかつ互いに異なる解像度の複数の第２縞パターン画像と、を含み、
前記撮像手段は、前記投影手段により投影される前記複数の第１縞パターン画像及び前記複数の第２縞パターン画像の各々に対して撮像を行う
ことを特徴とする請求項６に記載の三次元形状計測装置。
【請求項８】
計測対象物の三次元形状を計測する三次元形状計測装置であって、
前記計測対象物が載置された載置部材を含む所定の計測空間に対しパターン画像を投影する投影手段と、
前記所定の計測空間を撮像する撮像手段と、
前記投影手段と前記撮像手段とを固定する支持部材と、基準指標が配された指標支持部材と、の両方の位置姿勢を一体的に制御するロボットハンド手段と、
を有し、
前記投影手段は、前記計測対象物に対しては座標算出用パターン画像を投影し前記指標支持部材に対しては指標パターン画像を投影するよう構成され、
前記投影手段により前記指標パターン画像が前記指標支持部材に投影されているときに前記撮像手段により得られる撮像画像に基づいて、前記支持部材の位置変動を補正するための第１補正値と前記投影手段による投影位置の変動を補正するための第２補正値とを導出する導出手段と、
前記投影手段により前記座標算出用パターン画像が前記計測対象物に対して投影されているときに前記撮像手段により得られる撮像画像と、前記導出手段により導出された前記第１補正値及び前記第２補正値と、に基づいて、前記計測対象物の表面の複数の座標を算出する座標値算出手段と、
ことを特徴とする三次元形状計測装置。
【請求項９】
計測対象物の三次元形状を計測する三次元形状計測装置であって、
前記計測対象物が載置されかつ基準指標が配された載置部材を含む所定の計測空間に対しパターン画像を投影する投影手段であって、前記計測対象物に対して座標算出用パターン画像を投影するよう構成される、前記投影手段と、
前記所定の計測空間を撮像する撮像手段と、
前記投影手段により前記座標算出用パターン画像が前記計測対象物に対して投影されているときに前記撮像手段により得られる撮像画像に基づいて、前記投影手段及び前記撮像手段を固定する支持部材の位置変動を補正するための第１補正値と前記投影手段による投影位置の変動を補正するための第２補正値とを導出する導出手段と、
前記投影手段により前記座標算出用パターン画像が前記計測対象物に対して投影されているときに前記撮像手段により得られる撮像画像と、前記導出手段により導出された前記第１補正値及び前記第２補正値と、に基づいて、前記計測対象物の表面の複数の座標を算出する座標値算出手段と、
を有することを特徴とする三次元形状計測装置。
【請求項１０】
計測対象物の三次元形状を計測する三次元形状計測装置の制御方法であって、
前記三次元形状計測装置は、
前記計測対象物が載置されかつ同一平面上に複数の基準指標が配された載置部材を含む所定の計測空間に対しパターン画像を投影する投影手段であって、前記計測対象物に対しては座標算出用パターン画像を投影し前記載置部材に対しては指標パターン画像を投影するよう構成される、前記投影手段と、
前記所定の計測空間を撮像する撮像手段と、
を有し、前記制御方法は、
前記投影手段により前記指標パターン画像が前記載置部材に投影されているときに前記撮像手段により得られる撮像画像に基づいて、前記投影手段及び前記撮像手段を固定する支持部材の位置変動を補正するための第１補正値と前記投影手段による投影位置の変動を補正するための第２補正値とを導出する導出工程と、
前記投影手段により前記座標算出用パターン画像が前記計測対象物に対して投影されているときに前記撮像手段により得られる撮像画像と、前記導出工程により導出された前記第１補正値及び前記第２補正値と、に基づいて、前記計測対象物の表面の複数の座標を算出する座標値算出工程と、
を含むことを特徴とする三次元形状計測装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象物の三次元形状を計測する技術に関するものである。
【背景技術】
【０００２】
空間符号化法や位相シフト法などに代表される縞パターンや、計測対象に投影した光の反射光の撮像部での観測位置に基づいて、三角測量の原理によって三次元座標を求める三次元計測装置が広く知られている。このような装置では、当該装置を支持する構造体の振動によって、三次元形状計測装置と計測対象との間の幾何的関係が変化し、所望の計測精度が得られないことがある。また、撮像部と投影部との相対的な幾何関係の時間変動により、計測対象に投影されるパターンやレーザーのスポットの位置が変化し、所望の計測精度が得られないことがある。これらの課題に対処するため、例えば、特許文献１では、計測対象と共に配置されている距離の真値が既知である基準物体を計測し、ミラーの投光角度および撮像角度の基準状態からのずれをもとにスポット光の位置座標を補正する方法が提案されている。また、特許文献２には、ビーム光をスプリッタによって分割し、補正用位置検出装置によってビーム光の時間的変動を観測して、計測値補正する方法が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−５４２３４号公報
【特許文献２】特開平５−２４８８３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、三次元形状計測装置と計測対象との間の幾何的関係の変動と、計測対象に投影されるパターンやレーザーのスポットの位置の変動とは独立に発生しているが、一般に相互依存関係にある。言い換えると、これら２つの変動は、相互に影響を受けた状態で観測される。そのため、例えば、特許文献２に記載の方法によってパターンのずれを補正しても、三次元形状計測装置の振動による誤差を完全に取り除くことは出来ない。また、特許文献１に記載の方法では、投影光の時間的変動の影響により補正に用いる計測値自体が三角測量の段階で誤差を持つ。そのため、三角測量による計測値を用いても装置全体の動き量の誤差を完全に補正することは出来ない。従って、これらの方法のように何れか一方の変動のみが発生することを前提とした手法を複数同時に適用したとしても、ある程度の誤差が残存することとなり十分な計測精度を得ることができない。
【０００５】
本発明は上述の問題点に鑑みなされたものであり、三次元形状の計測をより高精度に行うことを可能とする技術を提供することを目的としている。
【課題を解決するための手段】
【０００６】
上述の問題点を解決するため、本発明の三次元形状計測装置は以下の構成を備える。すなわち、計測対象物の三次元形状を計測する三次元形状計測装置において、前記計測対象物が載置された載置部材を含む所定の計測空間に対しパターン画像を投影する投影手段であって、前記計測対象物に対しては座標算出用パターン画像を投影し前記載置部材に対しては指標パターン画像を投影するよう構成される、前記投影手段と、前記所定の計測空間を撮像する撮像手段と、前記投影手段により前記指標パターン画像が前記載置部材に投影されているときに前記撮像手段により得られる撮像画像に基づいて、前記投影手段及び前記撮像手段を固定する支持部材の位置変動を補正するための第１補正値と前記投影手段による投影位置の変動を補正するための第２補正値とを導出する導出手段と、前記投影手段により前記座標算出用パターン画像が前記計測対象物に対して投影されているときに前記撮像手段により得られる撮像画像と、前記導出手段により導出された前記第１補正値及び前記第２補正値と、に基づいて、前記計測対象物の表面の複数の座標を算出する座標値算出手段と、を有する。
【発明の効果】
【０００７】
本発明によれば、計測対象の三次元形状をより高精度に計測することを可能とする技術を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態に係る三次元形状計測装置の全体構成を模式的に示す図である。
【図２】第１実施形態に係る三次元形状計測装置の機能ブロック図である。
【図３】空間符号化法で利用可能なパターン画像の一例を示す図である。
【図４】投影指標を形成するためのパターン画像の一例を示す図である。
【図５】第１実施形態に係る三次元形状計測装置の動作フローチャートである。
【図６】第２実施形態に係る三次元形状計測装置の全体構成を模式的に示す図である。
【図７】第３実施形態に係る三次元形状計測装置の全体構成を模式的に示す図である。
【図８】第１実施形態に係る振動・変動補正処理の詳細フローチャートである。
【図９】第２実施形態に係る振動・変動補正処理の詳細フローチャートである。
【図１０】第３実施形態に係る振動・変動補正処理の詳細フローチャートである。
【図１１】第４実施形態に係る三次元形状計測装置の全体構成を模式的に示す図である。
【図１２】第４実施形態に係る三次元形状計測装置の機能ブロック図である。
【図１３】第４実施形態に係る三次元形状計測装置の動作フローチャートである。
【図１４】第５実施形態に係る三次元形状計測装置の全体構成を模式的に示す図である。
【図１５】第５実施形態に係る三次元形状計測装置の動作フローチャートである。
【図１６】第５実施形態に係る振動・変動補正処理の詳細フローチャートである。
【発明を実施するための形態】
【０００９】
以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
【００１０】
（第１実施形態）
本発明に係る三次元形状計測装置の第１実施形態として、計測対象物近傍に配置した基準指標と、投影部から計測対象物近傍に投影された投影指標とを用いる三次元形状計測装置を例に挙げて以下に説明する。
【００１１】
＜１．装置構成＞
図１は、第１実施形態に係る三次元形状計測装置の全体構成を模式的に示す図である。図１の構成は一例であり図示されるものに限定されない。三次元形状計測装置１００は、投影部１０１、撮像部１０２、制御部１０３、支持部１０４、計測対象物支持部１０５を含んでいる。三次元形状計測装置１００は、計測対象物支持部１０５（載置部材）上に載置された計測対象物１０６の三次元座標を計測する。なお、計測対象物支持部１０５には基準指標１０７が配置されている。
【００１２】
投影部１０１は、計測対象物１０６に光を投影する。投影部１０１は、光源、表示素子、投影光学系、制御回路などによって構成される。光源で発生した光は、表示素子に表示される画像（以下パターン画像と呼ぶ）によって変調され、投影光学系を通じて投影される。パターン画像によって変調された投影光を以下ではパターン光と呼ぶ。パターン光はパターン画像を変更することによって任意に制御することが可能である。パターン光は計測対象物１０６の表面で反射され、撮像部１０２によって撮像される。
【００１３】
パターン画像は、例えば汎用インタフェースを介して制御部１０３から表示素子に供給されるが、投影部１０１の内部にメモリを設け、あらかじめこのメモリ内に画像を格納するように構成してもよい。投影部１０１としては、他にもレーザ光を発生させて走査する投影部や、多数並べた微小な鏡を高速で駆動することによって任意のパターン光を照射する投影部などを用いることが出来る。
【００１４】
撮像部１０２は、計測対象物１０６を撮像する。撮像部１０２は、撮像素子、シャッター、光学系、制御回路などによって構成される。投影部１０１によって投影されたパターン光は計測対象物１０６および基準指標１０７の表面で反射され、撮像部１０２へと入射する。この反射光は撮像光学系を介して撮像素子上に結像され、撮像素子が検出した信号強度に基づいた画像が生成され、制御部１０３に送られる。撮像部１０２は、投影部１０１がパターン光を投影するのに同期してシャッターが制御され、投影部１０１によるパターン投影に同期して撮像部１０２は画像を撮像する。
【００１５】
制御部１０３は、内部に備えるコンピュータおよび電気回路によって、投影部１０１および撮像部１０２の動作を制御する。また、制御部１０３は、撮像部１０２により得られた撮像画像に基づいて計測対象物１０６の三次元座標を算出する処理を行う。
【００１６】
支持部１０４（支持部材）は、投影部１０１および撮像部１０２を固定し支持するための構造物である。ここでは、支持部１０４の振動は、三次元形状計測装置１００と計測対象物１０６との間の相対振動が発生しうるものとする。
【００１７】
計測対象物支持部１０５は、その上に計測対象物１０６を設置するための台である。また、上述したように、計測対象物支持部１０５には、撮像部１０１の視野の範囲内となる場所かつ計測対象物１０６の周囲に、基準指標１０７が配置されている。なお、計測対象物１０６は、三次元形状計測の対象となる物体である。
【００１８】
基準指標１０７は、計測対象物支持部１０５上に複数配置される目印であり、ここでは支持部１０４の振動を検出するために用いられる。基準指標１０７は必ずしも計測対象物支持部１０５上に存在する必要はないが、撮像部１０２の視野範囲内に存在する必要がある。ここでは基準指標１０７は円盤形状としているが、これに限られるものではない。
【００１９】
投影指標１０８は、投影部１０１から投影される特定の形状を持つ像であり、後述の投影指標パターン１１２（図４）に基づいて投影される。なお、投影指標パターン１１２（図４）は、計測対象物１０６を三次元計測するために用いるパターン（後述の図３）とは区別される。ここでは、投影指標１０８は、計測対象物支持部１０５上かつ計測対象物１０６が配置されない位置に投影されるものとする。なお、投影指標１０８は必ずしも計測対象物支持部１０５上に投影されなくてもよいが、撮像部１０２の視野範囲内であって、同一平面上に存在する必要がある。
【００２０】
投影指標１０８がそのように投影されるために、投影部１０１が使用するパターン画像の一部に、投影指標１０８を形成するための画素領域が設けられている。投影部１０１はこのパターン画像を投影することによって、投影指標１０８を形成する。なお、基準指標１０７は計測対象物支持部１０５上に物理的に配置されるものであり、投影指標１０８は投影部１０１から投影される画像の一部が計測対象物支持部１０５上になす像であるため、両者は互いに異なる指標である。
【００２１】
図３は、空間符号化法で利用可能なパターン画像（座標算出用パターン画像）の一例を示す図である。また、図４は、投影指標を形成するためのパターン画像（指標パターン画像）の一例を示す図である。図４の例では、三次元座標を算出するための縞パターン画像（図３）の周囲に投影指標パターン１０９が複数配置されている。これにより、計測対象物１０６には縞パターン画像が投影され、投影指標１０８は計測対象物支持部１０５上の計測対象物１０６の周囲に投影されることとなる。
【００２２】
図２は、第１実施形態に係る三次元形状計測装置の機能ブロック図である。投影部２０１は、投影パターン生成部２０２によって生成され入力されたパターン画像に基づくパターン光を計測対象物１０６に対して投影する。なお、投影の制御は制御部２１０から送出される投影制御信号を投影部２０１が受信した時点で行われる。ここでは、投影部２０１の機能は投影部１０１によって実現される。
【００２３】
投影パターン生成部２０２は、パターン画像を生成し、投影部２０１に送出する。投影光の時間的位置変動を算出するために必要となる投影指標１０８についても投影パターン生成部２０２で生成する。例えば、投影パターン生成部２０２は、図３の縞パターン画像とは別に投影指標パターン１１２のみからなるパターン画像を生成し、これも投影部２０１に送出する。投影指標パターン１１２は、投影部１０１によって計測対象物支持部１０５上に投影されたときに投影指標１０８の像を成すようにパターン画像に埋め込まれたパターンである。
【００２４】
なお、三次元計測するために用いるパターン及び（図３）投影指標パターン１１２（図４）は、計測対象、環境などによって様々なものを用いることが可能である。なお、全種類のパターン画像を予めパラメータ記憶部２０６に保持しておくよう構成してもよい。その場合には、投影パターン生成部２０２は、パラメータ記憶部２０６よりパターン画像を順次読み出し、投影部２０１に送出する。ここでは、投影パターン生成部２０２の機能は制御部１０３によって実現されることを想定するが、投影部１０１によって実現するように構成してもよい。
【００２５】
撮像部２０３は、制御部２１０から送出される撮像制御信号を受信し、そのタイミングに基づき、あらかじめ指定されたシャッター速度、絞り、焦点位置で画像を撮像する。撮像された画像は画像入力部２０４へと送られる。制御部２１０は、例えば、投影部２０１と撮像部２０３に制御信号を同時刻に送出することにより、投影と撮像が同期して実行されるように制御する。ここでは、撮像部２０３の機能は撮像部１０２によって実現される。
【００２６】
画像入力部２０４は、撮像部２０３によって撮像された画像を受信し、図示しないメモリ領域にこれを保持する。通常、空間符号化法などの縞パターン画像投影を用いる三次元計測手法では、異なるパターン光を照射して撮影した複数の画像を用いて三次元座標を算出する。画像入力部２０４は、撮像部２０３から順次画像を入力し、メモリ領域に追加していくが、一回の三次元座標算出に必要な枚数の画像が入力された時点で、メモリ領域に保持されている画像群を画像処理部２０５へと出力する。また、投影指標パターン１１２のみからなるパターン画像を投影して撮像した画像についてもメモリ領域に保持し、画像処理部２０５に送出する。ここでは、画像入力部２０４の機能は制御部１０３によって実現される。
【００２７】
画像処理部２０５は、撮像した画像を画像入力部２０４から受信し、必要な画像処理を行う。画像処理部２０５が行う画像処理には、画像に含まれるパターン光の復号処理、基準指標１０７や投影指標１０８の抽出処理、投影座標と画像座標の正規化処理などが含まれる。
【００２８】
画像処理部２０５が行う投影座標と画像座標の正規化は、パラメータ記憶部２０６より投影部１０１、撮像部１０２の内部パラメータを入力し、数式（１）に従って行われる。ｕ’，ｖ’は正規化後の投影座標または画像座標、ｕ，ｖは正規化前の投影座標または画像座標，ｃx，ｃyは主点位置の座標，ｆx，ｆyは焦点距離を表す。以後、投影座標と画像座標は正規化されているものとして説明する。
【００２９】
【数１】
2015102423.tif 000003
【００３０】
また、画像処理部２０５は、画像中に光学系に由来する歪みがある場合には、その歪みを補正し除去する処理についても行う。
【００３１】
画像処理部２０５は、画像入力部２０５から入力した複数の画像を用いてパターンの復号処理を行う。この復号処理により、投影部１０１によって投影されるパターン画像の画素と、撮像部１０２で撮像された画像の画素とが対応づけられる。すなわち、パターン画像の各画素に対応するパターン光の一部が、計測対象物１０６の表面で反射した後に撮像部１０２のどの画素で捉えられたかという対応関係が導出される。この対応関係と、投影部１０１と撮像部１０２との間の幾何関係とに基づき、三角測量の原理によって計測対象物１０６の表面の三次元座標が算出される。ここでは、画像処理部２０５の機能は制御部１０３によって実現される。
【００３２】
パラメータ記憶部２０６は、三次元形状計測方法に必要な各種パラメータを保持する。パラメータには、投影部１０１や撮像部１０２を制御するための設定をはじめ、投影部１０１および撮像部１０２の較正結果、変動算出部２０７にて用いられる基準時刻での画像座標・投影座標などが含まれる。ここでは、パラメータ記憶部２０６の機能は制御部１０３によって実現される。
【００３３】
変動算出部２０７は、投影光の時間的位置変動と、支持部１０４の振動の両方を算出する。算出処理の詳細については後述する。ここでは、変動検出部２０７の機能は制御部１０３によって実現される。
【００３４】
＜２．変動算出部２０７の構成＞
先に述べたように、画像入力部２０５から入力した複数の画像を用いて導出される計測値は、投影光の時間的位置変動と支持部１０４の振動の双方に依存した形でしか得ることができない。そのため、各々の変動検出の過程でもう一方の変動の影響を考慮しなければ十分な補正ができない。そこで、第１実施形態では、個々の変動を検出し、他方の変動による影響を補正しながら検出処理を反復して繰り返すことで、この相互依存関係の影響を取り除く。
【００３５】
ここでは、
・投影部１０１と撮像部１０２との間の幾何関係
・投影部１０１及び撮像部１０２が設置される支持台１０４と計測対象物支持部１０５との間の幾何関係
の２種類の幾何関係が変化するものとする。なお、第１実施形態では、投影部１０１と撮像部１０２との間の幾何関係については、両者の光学中心や三次元並進回転といった直接的な物理量を補正する代わりに、投影部１０１が投影するパターンをホモグラフィーを用いて補正する。
【００３６】
＜２．１．支持部１０４の振動（第１補正値）の導出処理＞
変動算出部２０７は、対応づけられた画像座標と投影座標を用いて複数個の基準指標１０７の三次元座標を算出する。この三次元座標を基準状態で算出されたものと比較し、座標群の相対的な三次元並進回転量を算出する。そして、座標群の三次元並進回転量を支持部１０４の振動と見なし、補正処理を行う。
【００３７】
時刻ｔにおける画像座標と投影座標をそれぞれ（ｘvkt，ｙvkt），ｕpktとする。ただし、これらの座標は既に正規化されているものとする。なお、第１実施形態では投影座標の縦成分（ｖ座標）は使用しない。基準指標１０７の内部に画像座標がｐi個存在し、観測されている基準指標１０７の総数がｍであるとすると、画像座標と投影座標の総数は数式（２）に従ってＭPとなる。よってｋ＝１，２，．．．，ＭPである。
【００３８】
【数２】
2015102423.tif 000004
【００３９】
次に変動算出部２０７は、投影光の時間的変動の検出時に算出されるホモグラフィーＨpを用いて数式（３）によって投影座標ｕpktをｕ’pktに変換する。他に誤差要因が存在しなければ、この変換処理によって、投影パターン変動による影響を投影座標から取り除くことが可能である。ホモグラフィーＨpの算出処理については後述する。なお、初回実行時はＨpはまだ算出されていないので、Ｈpとして単位行列を設定するとよい。なお、λpkはスケーリング係数であり、以後の処理には用いない。
【００４０】
【数３】
2015102423.tif 000005
【００４１】
次に変動算出部２０７は、パラメータ記憶部２０６より較正値を入力し、ｋ＝１，２，．．．ＭPの全点に対して三次元座標を算出する。較正値には、投影部１０１、撮像部１０２各々に固有である焦点距離、光学中心、歪み係数といった所謂内部パラメータが含まれる。また、撮像部１０２と投影部１０１との間の三次元並進回転量である外部パラメータも含まれる。
【００４２】
投影部１０１の射影行列をＰP、撮像部１０２の射影行列をＰCとする。ただし、ＰP、ＰCはそれぞれ内部パラメータと外部パラメータから算出される３行４列の行列である。撮像部１０２の光学中心を計測空間の原点とすると、ＰCは撮像部１０２の内部パラメータのみから定義される。また、ＰPは撮像部１０２と投影部１０１との間の三次元並進回転量と投影部１０１の内部パラメータの積によって定義される。計測空間の原点を他の場所に設定した場合、ＰC、ＰPには、さらにその点から撮像部１０２の光学中心への三次元並進回転量が乗算される。
【００４３】
このとき、求める三次元座標をＭvkt＝（Ｘvkt，Ｙvkt，Ｚvkt）Tとすると、Ｍvkt＝Ａvkt-1Ｂvktとして算出することができる。ただし、Ａvkt，Ｂvktは数式（４）で定義される行列であり、ｐcij，ｐpijは行列ＰP，ＰCの各成分を表す。
【００４４】
【数４】
2015102423.tif 000006
【００４５】
なお、基準時刻ｔ＝０のときには、変動算出部２０７は、基準画像座標（ｘvk0，ｙvk0）、基準三次元座標Ｍvk0をパラメータ記憶部２０６に送出する。これらのパラメータはパラメータ記憶部２０６で保持される。それ以外の時刻では、これらの値はパラメータ記憶部２０６から読み出される。
【００４６】
一方、支持部１０４の振動により、画像座標と投影座標は時間とともに変化する。時刻ｔにおける画像座標と投影座標、そして対応する三次元座標をそれぞれ（ｘvkt，ｙvkt），ｕpkt，（Ｘvkt，Ｙvkt，Ｚvkt）とする。このとき、投影部と撮像装置間の変動がないという前提では、基準指標１０７上の三次元座標Ｍvkt＝（Ｘvkt，Ｙvkt，Ｚvkt）の時間軸方向での変動を支持部１０４の振動とみなすことができる。
【００４７】
時刻ｔにおける三次元座標の集合をＭt＝（Ｍv1tT，Ｍv2tT，…，ＭvmtT）とすると、時刻ｔ＝０とｔ＝Ｔとの間の並進回転量を３行４列の行列ＲT＝（ｒT｜ｔT）で表現する。ただしｒTは３行３列の回転を表す行列、ｔTは並進を表す３次元ベクトルである。
【００４８】
ｔ＝０、ｔ＝Ｔそれぞれの時刻での基準指標１０７上の三次元座標の集合Ｍ0およびＭTは計測対象物支持部１０５上の点であることから、どちらも同一平面上に存在するとみなすことができる。これらの平面の法線ベクトルをそれぞれｎ0，ｎTとし、変動算出部２０７はこれらを算出する。ｎ0に関しては初回実行時のみ算出され、以後はパラメータ記憶部２０６で保持される。
【００４９】
三次元点群に対する平面の推定に関しては公知の手法が複数提案されているが、いずれの方法を用いてもよい。ｒTはｎ0をｎTへと変換するための回転行列であり、ｎ0とｎTの外積となるベクトルｎaを軸とする回転として求めることができる。このときの回転角はｎ0とｎTの内積から算出できる。ｎa＝（ｎax，ｎay，ｎaz），回転角をθとすると、ｒTは数式（５）から求められる。
【００５０】
【数５】
2015102423.tif 000007
【００５１】
並進成分ｔTは、ＭTとＭ0の差の平均から算出できる。このようにして算出したｒTとｔTからＲTを構成できる。なお、ここに示したＲTの算出方法は一例に過ぎず、ＲTを公知の他の方法で求めてもよい。また、ＲTを基準指標１０７のみに基づいて算出するのではなく、支持部１０４に位置センサや回転センサなどを設置し、それらから得られる情報を併用してもよい。例えば、ＲTの算出に反復解法を適用する場合には、センサからの情報を初期値として用いることができる。
【００５２】
＜２．２．投影光の投影位置の変動（第２補正値）の導出処理＞
パターン画像中の投影指標パターン１１２の正規化座標を（ｕpk，ｖpk）とする。投影指標パターン１１２の総数をｎとすると、ｋ＝１，２，．．．ｎである。図４に示す投影指標パターン１１２では、×印の線分が交差する中心の座標を投影指標パターン１１２の座標と定義する。また、対応する投影指標１０８が画像中で観測された正規化座標を（ｘpk0，ｙpk0）とする。このとき、すべての投影指標１０８が同一平面上にあるという条件下では、すべてのｋについて（ｕpk，ｖpk）（ｘpk0，ｙpk0）の間には数式（６）に示す関係が成り立つ。
【００５３】
【数６】
2015102423.tif 000008
【００５４】
ここでＨpc0は３行３列のホモグラフィー行列である。Ｎが４以上であれば、例えば、「Richard Hartley and Andrew Zisserman, Multiple View Geometry in Computer Vision, Cambridge University Press, 2004」（文献Ａ）に示されている手法を用いてホモグラフィー行列Ｈpc0を算出することができる。λpc0はスケーリング係数であり、以後の処理には用いない。
【００５５】
なお、基準時刻ｔ＝０のときには、変動算出部２０７は、基準座標（ｘvk0，ｙvk0）、基準ホモグラフィーＨpc0をパラメータ記憶部２０６に送出し、そこで保持される。それ以外の時刻では、これらの値はパラメータ記憶部２０６から読み出される。
【００５６】
投影光の時間的変動によって投影座標１０８が観測される座標は時間によって変化する。そのため、この座標を時刻ｔにおいて（ｘpkt，ｙpkt）とする。（ｕpk，ｖpk）と（ｘpkt，ｙpkt）の間にも同様に数式（７）に示す関係が成り立つ。
【００５７】
【数７】
2015102423.tif 000009
【００５８】
Ｈpctも３行３列のホモグラフィー行列であり、数式（６）の場合と同様に（ｕpk，ｖpk）と（ｘpkt，ｙpkt）の対応関係から算出できる。このようにして算出されたＨpc0とＨpctに対し、これらを合成したホモグラフィーＨpは数式（８）で表わされる。λpctはスケーリング係数であり、以後の処理には用いない。
【００５９】
【数８】
2015102423.tif 000010
【００６０】
Ｈvtは支持部１０４の振動をホモグラフィー行列に変換したものであり、ＲTを用いて数式（９）より算出することができる。
【００６１】
【数９】
2015102423.tif 000011
【００６２】
ここでｒT、ｔTはＲTのそれぞれ回転成分と並進成分、ｎは計測対象物支持部１０５の法線ベクトル、ｄは撮像部１０２の光学中心から計測対象物支持部１０５への垂線の長さである。投影光の時間的変動により、投影部１０１の内部パラメータ、投影部１０１と撮像部１０２との間の幾何関係が変化するが、Ｈpはこの変化量の差分を表現していることになる。また、支持部１０４の振動についてはＨvtによって補償されている。
【００６３】
＜２．３．繰り返し（反復実行）制御＞
ただし、先に説明した支持部１０４の振動ＲTの検出処理が最初に実行されるときには、投影光の時間的変動Ｈpがまだ算出されていない。そのため、これまでに説明した検出処理を単純に実行するのみでは、相互依存性のある変動量は正しく検出されず、その影響を完全に除去することはできない。
【００６４】
そこで、上述の２つの検出処理を繰り返し実行する。特に、２回目以降の処理では、支持部１０４の振動ＲTの算出処理を実行する時点で、直前に求めた投影光の時間的変動Ｈpを用いることができる。そのため、より正確なＲTとＨpを算出することが可能である。この処理を繰り返す（反復実行する）ことによって、ＲTとＨpは正しい値に近づいていくこととなる。
【００６５】
変動検出部１０７は、あらかじめ設定された条件が満たされるまで、反復実行する。ここでは、各反復ごとにＲTとＨpの変化量を記録しておき、この変化量が一定のしきい値を下回ったときに、変動検出部１０７は反復実行を打ち切る。すなわち、先行する反復実行時に導出された補正値と今回の反復実行時に導出された補正値との差が所定の閾値以下になった場合に反復実行を打ち切る。打ち切る条件はこれに限られるものではなく、例えば反復実行開始から一定時間経過したときに反復を打ち切るようにしてもよい。
【００６６】
なお、上述の説明では、支持部１０４の振動ＲT、投影光の時間的変動Ｈpの順に算出処理を行っているが、この順序を逆にしてもよい。その際、初回実行時にはまだＲTが算出されていないため、そのときにはＨvtを単位行列として反復処理を行えばよい。
【００６７】
三次元座標算出部２０８（座標値算出手段）は、変動検出部２０７から送られたＲTとＨpとを用いて、支持部１０４の振動と投影光の時間的変動を補正して、計測対象物１０６の三次元座標を算出する。第１実施形態では、三次元座標算出部２０８の機能は制御部１０３によって実現される。
【００６８】
三次元座標算出部２０８は、画像処理部２０５より計測対象物１０６の投影座標と画像座標を、変動検出部２０７より変動量ＲTとＨpを、パラメータ記憶部２０６より較正値を入力する。計測空間原点から投影部１０１の光学中心までの三次元並進回転量をＲp、計測空間原点から撮像部１０２の光学中心までの三次元並進回転量をＲcとする。三次元座標算出部２０８は、支持部１０４の振動ＲTを、計測空間原点から投影部１０１および撮像部１０２の光学中心までの三次元並進回転量に反映させる。すなわち、新しい三次元並進回転量Ｒ’p、Ｒ’cは数式（１０）のように算出される。
【００６９】
【数１０】
2015102423.tif 000012
【００７０】
ただしＲは３行４列の三次元並進回転を表す行列Ｒ＝（ｒ｜ｔ）であり、ｒは３行３列の回転成分、ｔは３行１列の並進成分とする。Ｒ1とＲ2の積は数式（１１）のように定義される。
【００７１】
【数１１】
2015102423.tif 000013
【００７２】
次にホモグラフィーＨpを用いて、投影光の時間的変動の影響を補正する。投影座標をｕiとすると、補正済み投影座標ｕ’iは数式（１２）で求めることができる。ただし、ｉ＝１，２，．．．Ｎmであり、Ｎmは計測対象物１０６上のサンプル点の総数である。λiはスケーリング係数であり、以後の処理には用いない。
【００７３】
【数１２】
2015102423.tif 000014
【００７４】
次に、投影部１０１、撮像部１０２の射影行列をＰ’P、Ｐ’Cとすると、Ｐ’P＝Ｒ’p，Ｐ’C＝Ｒ’cである。そのため、求める三次元座標をＭi＝（Ｘi，Ｙi，Ｚi）Ｔとすると、Ｍi＝Ａi-1Ｂiとして算出することができる。ただし、Ａi，Ｂiは数式（１３）で定義される行列であり、ｐ’cij，ｐ’pijは行列Ｐ’p，Ｐ’cの各成分を表す。
【００７５】
【数１３】
2015102423.tif 000015
【００７６】
三次元座標算出部２０８は、数式（１３）によって算出されたＮm個の三次元座標を、結果出力部２０９に送出する。
【００７７】
結果出力部２０９は、三次元座標算出部２０８によって算出された計測対象物１０６の三次元座標を出力する。出力先としては、制御部１０３に接続されたディスプレイ装置や他のコンピュータ、補助記憶装置などが含まれる。結果出力部２０９の機能は制御装置１０３によって実現される。
【００７８】
制御部２１０は、三次元形状計測装置１００の動作全般を制御する。より具体的には、投影部１０１によるパターン光の投影と、撮像部１０２の撮像とを同期させる制御や、各機能要素に所定の動作を行わせるタイミングの制御が行われる。第１実施形態では、制御部２１０の機能は制御装置１０３によって実現される。
【００７９】
＜３．装置の動作＞
図５は、第１実施形態に係る三次元形状計測装置の動作フローチャートである。まず、装置が起動されると、ステップＳ１０００が開始される。
【００８０】
ステップＳ１０００では、初期化処理が行われる。初期化処理には、基準時刻におけるＲTやＨpを計測し、パラメータ記憶部２０６に保持する処理が含まれる。また、基準時刻での画像座標（ｘvk0，ｙvk0）や投影座標（ｕpk，ｖpk）やｕpk0をパラメータ記憶部２０６に保持する処理もこの段階で行われる。なお、パターン画像の種類が少ないなどの場合には、投影パターン生成部２０２は全パターン画像をこの時点で生成し、パラメータ記憶部２０６に保持するとよい。
【００８１】
ステップＳ１１００では、投影パターン生成部２０２は、投影パターンを生成し、投影部２０１がパターン光としてそれを投影する。同時に撮像部２０３はパターン光が投影された計測対象物２０６の画像を撮像し、画像入力部２０４でこれを保持する。この処理は、必要な枚数のパターン画像を投影し、撮像が完了するまで繰り返される。この必要枚数は三次元計測に用いる手法や解像度、精度などの要求によって異なる。
【００８２】
ステップＳ１２００では、画像処理部２０５は、撮像された画像群を用いて、投影座標の復号を行い、画像座標と投影座標とを対応づける。
【００８３】
ステップＳ１３００では、変動算出部２０７は、支持部１０４の振動と投影光の時間的変動とを算出する。図８は、第１実施形態に係る振動・変動補正処理（Ｓ１３００）の詳細フローチャートである。
【００８４】
ステップＳ１３１０では、変動算出部２０７は、支持部１０４の振動を算出する。ステップＳ１３２０では、変動算出部２０７は、投影光の時間的変動を算出する。ステップＳ１３３０では、変動算出部２０７は、あらかじめ設定された反復終了条件が満たされたか否かを判定し、条件が満たされた場合には内部処理を終了してステップＳ１４００に進む。条件が満たされない場合には、ステップＳ１３１０に戻る。
【００８５】
ステップＳ１４００では、三次元座標算出部２０８は、計測対象物２０６の三次元座標を算出する。ステップＳ１５００では、装置は、ユーザからの指示に基づき、動作を終了する、あるいはステップＳ１１００に戻る。  以上説明したとおり、第１実施形態に係る三次元形状計測装置によれば、支持部１０４の振動および投影光の時間的変動の両方を検出し補正することが可能となる。特に、計測対象物支持部１０５上に設けられた基準指標１０７と、投影部１０１から計測対象物支持部１０５上に投影される投影指標１０８を利用し反復計算を行うことにより、計測対象物１０６の三次元座標を高精度に求めることが可能となる。
【００８６】
（第２実施形態）
第２実施形態として、第１実施形態における投影指標の代わりに、立体的な基準指標を用いる三次元形状計測装置を例に挙げて以下に説明する。なお、以下の説明では、第１実施形態と異なる部分についてのみ説明する。
【００８７】
＜１．装置構成＞
図６は、第２実施形態に係る三次元形状計測装置の全体構成を模式的に示す図である。三次元形状計測装置１００は、投影部１０１、撮像部１０２、制御部１０３、支持部１０４、計測対象物支持部１０５を含んでいる。三次元形状計測装置１００は、計測対象物支持部１０５上に配置された計測対象物１０６の三次元座標を計測する。第１実施形態と異なり、投影指標１０８は存在しない。また、基準指標１０７の代わりに、立体的な形状を持つ基準立体指標１０９を設け、これを用いて支持部１０４の振動と、投影光の時間的変動を検出する。
【００８８】
基準立体指標１０９は計測対象物１０６の近傍に複数配置され、ある特定の立体形状を有している。ここでは基準立体指標１０９は球状であるが、他の形状を取るように構成してもよい。また、基準立体指標１０９は全体として同一平面上に存在しないように配置される。
【００８９】
機能ブロック構成は、第１実施形態（図２）に示されている構成と同様であるが、各機能ブロックの動作が一部異なる。以下、機能要素の詳細について、第１実施形態とは異なる部分について説明する。
【００９０】
投影パターン生成部２０２は、パターン画像を生成し、投影部２０１にパターン画像を送出する。具体的には、例えば、従来手法である空間符号化法や位相シフト法などを実現するために必要となるパターン光を投影するための画像を生成する。第１実施形態では投影座標のうち、横方向の成分（ｕi）のみを用いたため、縦方向のみの縞パターン画像を投影すればよかった。ただし、第２実施形態では投影座標の縦方向の成分（ｖi）も用いるため、投影パターン生成部２０２は縦方向に加えて横方向（つまり直交方向）の縞パターン画像も生成して投影部２０１に送る。また、上述のように、投影パターン生成部２０２は、第１実施形態とは異なり、投影指標１０８の画像は生成しない。
【００９１】
画像処理部２０５は、基準立体指標１０９の領域抽出処理を行うが、投影指標１０８の領域抽出処理については行わない。変動算出部２０７は、投影光の時間的変動を算出する。
【００９２】
＜２．変動算出部２０７の構成＞
第２実施形態では、変動算出部２０７は投影光の時間的変動のみを検出し、変動算出部２０７では支持部１０４の振動は算出しない。支持部１０４の振動は三次元座標算出部２０８によって算出される。ここでは、変動算出部２０７の機能は制御装置１０３によって実現される。
【００９３】
既に画像処理部２０５によって、基準立体指標１０９の表面上に投影されたパターン光の復号処理が行われている。そのため、基準立体指標１０９上の各点について、時刻ｔにおける画像座標（ｘvkt，ｙvkt）と投影座標（ｕpkt，ｖpkt）との対応が得られている。ただし、ｋ＝１，２，．．．Ｎmであり、Ｎmは基準立体指標１０９上のサンプル点の総数である。変動検出部２０７は、これらの対応をもとに、数式（１４）の条件を満たす基礎行列Ｆを算出する。
【００９４】
【数１４】
2015102423.tif 000016
【００９５】
基礎行列Ｆを求める方法については公知のものが複数存在するが、上述の文献Ａに記載の手法を用いて算出できる。変動検出部２０７は算出した基礎行列Ｆを投影光の時間的変動量として三次元座標算出部２０８に送出する。
【００９６】
なお、画像座標（ｘvkt，ｙvkt）と投影座標（ｕpkt，ｖpkt）は投影光の時間的変動と支持部１０４の振動の両方の影響を受ける。ただし、基礎行列Ｆは投影部１０１と撮像部１０２との相対的な関係のみを表わすため、支持部１０４の振動の影響からは独立している。すなわち、基礎行列Ｆの時間的変化がそのまま投影光の時間的変動量を表現していることになる。
【００９７】
三次元座標算出部２０８は、変動検出部２０７より送られた基礎行列Ｆを用いて、投影部１０１の射影行列Ｐｐを算出する。この計算は、例えば、「出口光一郎著  ロボットビジョンの基礎  コロナ社  2000年」（文献Ｂ）に記載の手法を用いて実現できる。先に述べた理由により、このＰpを用いて三次元座標を算出することは、投影光の時間的変動を補正することと等価である。撮像部１０２の射影行列Ｐcについては、第１実施形態で説明した計算によって求められ、処理の間は常に同じ値を取る。
【００９８】
次に三次元座標算出部２０８は、基準立体指標１０９の三次元座標Ｍckt＝（Ｘvkt，Ｙvkt，Ｚvkt）をＭvkt＝Ａvkt＋Ｂvktとして算出する。ただし、Ａvkt，Ｂvktは数式（１５）で定義される行列であり、Ａ+はムーア・ペンローズの疑似逆行列である。また、ｐcij，ｐpijは行列Ｐp，Ｐcの各成分を表す。
【００９９】
【数１５】
2015102423.tif 000017
【０１００】
なお、基準時刻ｔ＝０のときには、変動算出部２０７は、基準画像座標（ｘvk0，ｙvk0）、基準三次元座標Ｍvk0をパラメータ記憶部２０６に送出し、パラメータ記憶部２０６で保持される。それ以外の時刻では、これらの値はパラメータ記憶部２０６から読み出される。
【０１０１】
一方、支持部１０４の振動により、画像座標と投影座標は時間とともに変化する。時刻ｔにおける画像座標と投影座標、そして対応する三次元座標をそれぞれ（ｘvkt，ｙvkt），ｕpkt，（Ｘvkt，Ｙvkt，Ｚvkt）とする。このとき、基準立体指標１０９上の三次元座標Ｍvktを同次座標を用いてＭvkt＝（Ｘvkt，Ｙvkt，Ｚvkt，１）とし、Ｍvktの時間的な変化を支持部１０４の振動とみなすことができる。時刻ｔにおける三次元座標の集合をＭt＝（Ｍv1tT，Ｍv2tT，…，ＭvmtT）とする。その場合、時刻ｔ＝０とｔ＝Ｔとの間の三次元変換を４行４列の行列Ｒ’TとしてＲ’T＝ＭTＭ0-1によって直接算出できる。
【０１０２】
投影部１０１、撮像部１０２の振動ＲTを補正した射影行列をＰ’P、Ｐ’C、とすると、数式（１６）によってこれらを算出することができる。
【０１０３】
【数１６】
2015102423.tif 000018
【０１０４】
求める三次元座標をＭi＝（Ｘi，Ｙi，Ｚi）Tとすると、Ｍi＝Ａi-1Ｂiとして算出することができる。ただし、Ａi，Ｂiは数式（１３）で定義される行列である。また、ｉ＝１，２，．．．Ｎmであり、Ｎmは計測対象物１０６上のサンプル点の総数である。
【０１０５】
なお、第２実施形態では基礎行列Ｆは支持部１０４の振動の影響を受けない形で算出されるため、第１実施形態のように繰り返し計算を行う必要はない。三次元座標算出部２０８は、数式（１３）によって算出されたＮm個の三次元座標を、結果出力部２０９に送出する。
【０１０６】
＜３．装置の動作＞
図９は、第２実施形態に係る振動・変動補正処理の詳細フローチャートである。まず、装置が起動されると、ステップＳ２０００が開始される。
【０１０７】
ステップＳ２０００では、初期化処理が行われる。ステップＳ２０００の初期化処理には、基準時刻におけるＲTやＨpを計測し、パラメータ記憶部２０６に保持する処理が含まれる。また、基準時刻での画像座標（ｘvk0，ｙvk0）をパラメータ記憶部２０６に保持する処理もこの段階で行われる。また、パターン画像の種類が限られる場合には、投影パターン生成部２０２は全パターン画像をこの時点で生成し、パラメータ記憶部２０６は、これを保持する。
【０１０８】
ステップＳ２１００では、投影パターン生成部２０２は、投影パターンを生成し、投影部２０１がパターン光としてそれを投影する。同時に撮像部２０３はパターン光が投影された計測対象物２０６の画像を撮像し、画像入力部２０４でこれを保持する。この処理は、必要な枚数のパターン画像を投影し、撮像が完了するまで繰り返される。この必要枚数は三次元計測に用いる手法や解像度、精度などの要求によって異なる。
【０１０９】
ステップＳ２２００では、画像処理部２０５は、撮像された画像群を用いて、投影座標の復号を行い、画像座標と投影座標とを対応づける。
【０１１０】
ステップＳ２３００では、変動算出部２０７は、対応づけられた画像座標と投影座標とを用いて基礎行列Ｆを算出する。ステップＳ２４００では、変動算出部２０７は、支持部１０４の振動を算出する。
【０１１１】
ステップＳ２５００では、三次元座標算出部２０８は、計測対象物２０６の三次元座標を算出する。ステップＳ２６００では、装置は、ユーザからの指示に基づき、三次元形状計測装置を終了する、あるいはステップＳ２１００に戻る。
【０１１２】
以上説明したとおり、第２実施形態に係る三次元形状計測装置によれば、支持部１０４の振動および投影光の時間的変動の両方を検出し補正することが可能となる。特に、計測対象物支持部１０５上に設けられた基準立体指標１０９を利用することにより、反復計算をすること無く、計測対象物１０６の三次元座標を高精度に求めることが可能となる。
【０１１３】
（第３実施形態）
第３実施形態として、投影部１０１、撮像部１０２の両方がロボットハンド１１０上に設置される形態の三次元形状計測装置を例に挙げて以下に説明する。
【０１１４】
ロボットハンド１１０の振動が正確に計測できる状況においても、ロボットハンド１１０の振動によって、ロボットハンド１１０と投影部１０１および撮像部１０２との間の幾何的関係が変動し、三次元座標の計測精度を低下させる場合がある。このような場合には、ロボットハンド１１０と投影部１０１・撮像部１０２とを固定する部材がロボットハンド１１０とは異なる振動を起こす。そのため、ロボットハンド１１０の位置姿勢の計測値を三角測量に用いたとしても、三次元座標を高精度に算出することができない。第３実施形態では、このような場合においてもこの幾何的関係の変動を算出し、計測対象物１０６の三次元座標を高精度に求めることを可能とする。
【０１１５】
＜１．装置構成＞
図７は、第３実施形態に係る三次元形状計測装置の全体構成を模式的に示す図である。三次元形状計測装置１００は、投影部１０１、撮像部１０２、制御部１０３、計測対象物支持部１０５、ロボットハンド１１０、指標支持部１１１を含む。三次元形状計測装置１００は、計測対象物支持部１０５上に配置された計測対象物１０６の三次元座標を計測する。第１実施形態とは異なり、ロボットハンド１１０が支持部１０４の機能を果たしており、基準指標１０７と投影指標１０８は指標支持部１１１上に設置あるいは投影される。
【０１１６】
ロボットハンド１１０は、その可動領域の範囲内において、任意の位置姿勢を取ることができる。この動作の制御は制御部１０３によって行われ、ロボットハンド１１０の位置姿勢はその内部に備えるエンコーダによって常に観測され、制御部１０３に送られる。ロボットハンド１１０のアーム上には、投影部１０１、撮像部１０２および指標支持部１１１が固定され、ロボットハンド１１０はこれらの位置姿勢を一体的に制御する。
【０１１７】
指標支持部１１１（指標支持部材）は、ロボットハンド１１０に固定され、指標支持部１１１上に基準指標１０７が複数配置される。また、投影部１０１によって、投影指標１０８が指標支持部１１１上に投影される。また、指標支持部１１１の中央には、投影部１０１がパターン光を投影する、あるいは撮像部１０２が計測対象物１０６を撮像することを妨げることのない大きさの穴が空いている。投影部１０１からのパターン光は常に基準指標１０７と計測対象物１０６の両方を照明し、撮像部１０２は常に基準指標１０７と計測対象物１０６の両方を撮像する。
【０１１８】
指標支持部１１１は、ロボットハンド１１０に固定されている。そのため、投影部１０１、撮像部１０２、基準指標１０７、投影指標１０８の間の相対的な幾何関係は、ロボットハンド１１０の振動と投影部１０１の投影光の時間的変動の影響でのみ変化する。
【０１１９】
三次元座標算出部２０８は、変動検出部２０７から送られたＲTとＨpとを用いて、支持部１０４の振動と投影光の時間的変動を補正して、計測対象物１０６の三次元座標を算出する。ここでは、三次元座標算出部２０８の機能は制御部１０３によって実現される。
【０１２０】
＜２．三次元座標算出部２０８の構成＞
三次元座標算出部２０８は、画像処理部２０５より計測対象物１０６の投影座標と画像座標の組を受信し、計測対象物１０６の三次元座標を算出する。三次元座標算出部２０８には、変動検出部２０７より変動量ＲTとＨp、制御部２１０よりロボットハンド１１０の位置姿勢、パラメータ記憶部２０６より較正値が更に入力される。
【０１２１】
ここで、投影部１０１の内部パラメータをＡp、計測空間原点から投影部１０１の光学中心までの三次元並進回転量をＲpとする。また、撮像部１０２の内部パラメータをＡc、計測空間原点から撮像部１０２の光学中心までの三次元並進回転量をＲc、ロボットハンド１１０の位置姿勢をＲAとする。その場合、三次元座標算出部２０８は、ロボットハンド１１０の位置姿勢をＲAと支持部１０４の振動ＲTを、計測空間原点から投影部１０１および撮像部１０２の光学中心までの三次元並進回転量に反映させる。すなわち、新しい三次元並進回転量Ｒ’p、Ｒ’cは数式（１７）のように算出される。
【０１２２】
【数１７】
2015102423.tif 000019
【０１２３】
このようにして求めたＲ’p、Ｒ’cから、第１実施形態と同様に数式（１２）によって投影光の時間的変動を補正し、数式（１３）によって計測対象物１０６の三次元座標を算出する。
【０１２４】
制御部２１０は、三次元形状計測装置１００の動作全般を制御する。より具体的には、ロボットハンド１１０を所定の位置姿勢に配置させるための制御や、ロボットハンド１１０の現在の位置姿勢の受信制御を行う。また、制御部２１０は、投影部１０１によるパターン光の投影と撮像部１０２の撮像とを同期させる制御や、各機能要素に所定の動作を行わせるタイミングの制御も行う。ここでは、制御部２１０の機能は制御装置１０３によって実現される。
【０１２５】
＜３．装置の動作＞
図１０は、第３実施形態に係る振動・変動補正処理の詳細フローチャートである。まず、装置が起動されると、ステップＳ３０００が開始される。
【０１２６】
ステップＳ３０００では、初期化処理が行われる。ステップＳ３０００の初期化処理には、基準時刻におけるＲTやＨpを計測し、パラメータ記憶部２０６に保持する処理が含まれる。また、基準時刻での画像座標（ｘvk0，ｙvk0）や投影座標（ｕpk，ｖpk）やｕpk0をパラメータ記憶部２０６に保持する処理もこの段階で行われる。また、パターン画像の種類が限られる場合には、投影パターン生成部２０２は全パターン画像をこの時点で生成し、パラメータ記憶部２０６は、これを保持する。
【０１２７】
ステップＳ３１００では、投影パターン生成部２０２は、投影パターンを生成し、投影部２０１がパターン光としてそれを投影する。同時に撮像部２０３はパターン光が投影された計測対象物２０６の画像を撮像し、画像入力部２０４でこれを保持する。この処理は、必要な枚数のパターン画像を投影し、撮像が完了するまで繰り返される。この必要枚数は三次元計測に用いる手法や解像度、精度などの要求によって異なる。
【０１２８】
ステップＳ３２００では、画像処理部２０５は、撮像された画像群を用いて、投影座標の復号を行い、画像座標と投影座標とを対応づける。
【０１２９】
ステップＳ３３００では、変動算出部２０７は、支持部１０４の振動と投影光の時間的変動とを算出する。ステップＳ３４００では、三次元座標算出部２０８は、計測対象物２０６の三次元座標を算出する。ステップＳ３５００では、制御部１０３は、ロボットハンド１１０に制御命令を送出し、ロボットハンド１１０を所望の位置姿勢へと動作させる。ステップＳ３６００では、装置は、ユーザからの指示に基づき、動作を終了する、あるいはステップＳ３１００に戻る。
【０１３０】
以上述べたように、第３実施形態によれば、ロボットハンドの振動と、投影光の時間的変動とを算出し、計測対象物１０６の三次元座標を高精度に求めることが可能となる。また、ロボットハンド１１０と投影部１０１および撮像部１０２との間に、振動に起因する幾何的関係の変動が生じた場合においてもこの変動を算出し、計測対象物１０６の三次元座標を高精度に求めることが可能となる。
【０１３１】
（第４実施形態）
第４実施形態として、計測対象物の想定配置位置に配置される三次元座標が既知である較正物体を用いる三次元形状計測装置を例に挙げて以下に説明する。なお、以下の説明では、第１実施形態と異なる部分についてのみ説明する。
【０１３２】
＜１．装置構成＞
図１１は、第４実施形態に係る三次元形状計測装置の全体構成を模式的に示す図である。三次元形状計測装置１００は、投影部１０１、撮像部１０２、制御部１０３、支持部１０４、計測対象物支持部１０５を含み、第１実施形態と同様である。計測対象物支持部１０５上には較正物体１１２が配置され、この較正物体１１２を三次元形状計測装置１００で計測することによって三次元形状計測装置１００の較正を行うことができる。
【０１３３】
投影部１０１、撮像部１０２、支持部１０４、計測対象物支持部１０５については、第１実施形態と同様の機能を有する。制御部１０３は、三次元形状計測装置１００の較正を行うために必要な処理の制御を行う。
【０１３４】
較正物体１１３は、例えば、表面に複数の較正指標１１４が配置されている平面板からなり、この平面板はきわめて高い平面性を確保できる素材、工法で製作されている。そして較正物体１１３は較正物体１１３内部で定義される座標系において、較正指標１１４の三次元座標が既知であると見なせる精度が確保されている。ここでは較正指標１１４は等間隔に配置された真円であり、円中心の三次元座標が既知であるものとする。なお、この較正指標１１４は必ずしも真円である必要はなく、例えば二重円や楕円、また市松模様やその他任意の模様を用いることができる。また、形状に関しても、必ずしも較正物体１１３の全部が平面である必要はなく、直方体、立方体など、局所的に平面を持つ任意の形状の物体を用いることができる。三次元形状計測装置１００が実現しうる計測精度に対して、較正物体１１２内部で定義される座標系において真値とみなすことができる三次元座標を物理的に提供できれば、較正物体１１３や較正指標１１４は任意のもので良い。
【０１３５】
図１２は、第４実施形態に係る三次元形状計測装置の機能ブロック図である。
【０１３６】
投影部２０１、撮像部２０３、画像入力部２０４、パラメータ記憶部２０６、制御部２１０については、第１実施形態のものと同じである。
【０１３７】
投影パターン生成部２０２は、パターン画像を生成し、投影部２０１にパターン画像を送出する。具体的には、例えば、従来手法である空間符号化法や位相シフト法などを実現するために必要となるパターン光を投影するための画像を生成する。第１実施形態では投影座標のうち、横方向の成分（ｕi）のみを用いたため、縦方向のみの縞パターン画像を投影すればよかった。しかし、ここでは投影座標の縦方向の成分（ｖi）も用いるため、投影パターン生成部２０２は縦方向に加えて横方向の縞パターン画像も生成して投影部２０１に送る。また、第１実施形態とは異なり、投影パターン生成部２０２は、投影指標１０８の画像は生成しない。
【０１３８】
画像処理部２０５は、撮像した画像を画像入力部２０４から受信し、必要な画像処理を行う。画像処理部２０５が行う画像処理には、較正指標１１４の抽出処理や、画像に含まれるパターン光の復号処理などが含まれる。
【０１３９】
画像処理部２０５は、画像入力部２０５から入力した画像を用いて、較正指標１１４の抽出処理を行う。この抽出処理により、撮像部１０２で撮像された画像の画素と較正物体１１３の座標系における三次元座標とが較正指標１１４を介して対応づけられることとなる。ここでは較正指標１１４は真円であるため、画像処理部２０５は画像中から円の領域を抽出し、当該円の中心に対応する画像座標を算出する。画像中から円の中心を算出する手法は、検出されたエッジから円を構成するパラメータを推定するものや、テンプレートマッチングにより重心を検出するものの他、公知の任意の方法を利用することが出来る。また、較正指標１１４が格子模様などの場合には、格子の交点となる画像座標を算出してこれを三次元座標に対応づける。すなわち、較正指標１１４の形状に応じて安定的に検出可能な特徴があらかじめ定義されており、画像処理部２０５は画像からその特徴の画像座標を検出し、三次元座標との対応付けを行う。
【０１４０】
画像処理部２０５は、画像入力部２０５から入力した複数の画像を用いてパターンの復号処理を行う。この復号処理により、投影部１０１によって投影されるパターン画像の投影座標と較正物体１１３の座標系における三次元座標とが較正指標１１４を介して対応づけられることとなる。投影部１０１は画像を観測することができないため、較正指標１１４に対応する投影座標は、撮像部１０２における画像座標を用いて対応させる。
より具体的には、前記復号処理により画像座標と投影座標とが既に対応づけられているため、較正指標１１４に対応する画像座標に対応する投影座標を選択する。一般的に物体面上では投影部１０１の一画素よりも撮像部１０２の一画素が小さくなるように両者を構成する。そのため、高い精度で較正指標１１４の投影座標を得るためには、複数の対応関係を用いて当該投影座標を補間して推定する処理を行う必要がある。画像処理部２０５の機能は制御部１０３によって実現される。
【０１４１】
変動算出部２０７は、投影光の時間的変動を算出し、それを打ち消すように投影座標を修正する。変動検出部２０７の機能は制御部１０３によって実現される。
【０１４２】
較正部２１１は、較正指標１１４の既知の三次元座標、対応する画像座標および変動検出部２０７で修正された対応する投影座標とをもとに、較正処理を行う。より具体的には、投影部１０１と撮像部１０２の各々の内部パラメータである焦点距離、光学中心座標、レンズ歪み係数を算出する。また、外部パラメータ、すなわち撮像部１０２と較正物体１１３で定義される座標系との間の三次元並進回転と投影部１０１と撮像部１０２との間の三次元並進回転のパラメータを算出する。これらの内部および外部パラメータを以下では較正値と呼ぶ。
【０１４３】
第４実施形態では、変動算出部２０７によって、支持部１０４の振動は明には算出されない。しかし、較正部２１１の処理によって、支持部１０４の振動による影響が取り除かれるように較正値を算出するため、支持部１０４の振動を補正しているのと同じ効果を得ることができる。
【０１４４】
先に述べたように投影光の時間的変動と支持部１０４の振動によって、双方に依存した形でしか計測値を得ることができない。そこで、第４実施形態では、他方の変動による影響を補正しながら較正を行い、さらにこの処理を反復して繰り返すことで、最終的にこの相互依存関係を有する２つの変動の影響が取り除かれるように変動検出部２０７および較正部２１１を構成する。
【０１４５】
＜２．変動検出部２０７および較正部２１１の構成＞
較正部２１１は、投影光の時間的変動と支持部１０４の振動とが全くないものと仮定して較正値を算出する。当然算出された較正値には誤差が含まれることになるが、この誤差は後述の処理の過程で取り除かれるため、最初の段階では概略としての較正値が得られればよい。
【０１４６】
較正値を算出する処理は大きく２つに分けられる。第一段階として、撮像部１０２と投影部１０１について、各々の内部パラメータと、較正物体１１３との三次元並進回転量を算出する。較正物体１１３は複数種類の位置姿勢を取りうるため、この三次元並進回転量は外部パラメータとは見なさない。第二段階として、第一段階で算出した内部パラメータを利用して、撮像部１０２と投影部１０１との間の三次元並進回転量を算出する。この三次元並進回転量が外部パラメータである。なお、各々のパラメータの算出には公知の任意の方法が利用可能である。例えば、既知の幾何関係をもとに初期値を求め、再投影した画像上での誤差を最小化するように非線形最適化を適用して行うのが一般的である。
【０１４７】
変動算出部２０７は、概略の較正値を用いて投影光の時間的変動を算出する。以下、その処理の内容について詳細に説明する。
【０１４８】
較正物体１１３上に定義される座標系から撮像部１０２への三次元並進回転量を表す行列をＲWC、撮像部１０２から投影部１０１への三次元並進回転量をＲCPとする。ＲWC、ＲCPは較正値の一部であり、較正部２１１によって既に概略値が算出されている。この時点ではＲCPに支持部１０４の振動に起因する誤差が含まれている。また、既知の較正指標１１４の三次元座標をＰWj＝（ＸWj，ＹWj，ＺWj）T（ｊは個々の較正指標１１４を区別するための添字である）とする。この場合、ＰWjに投影されるべき本来の投影座標ｐ’pj＝（ｕ’pj，ｖ’pj，１）Tは数式（１８）のように表わされる。
【０１４９】
【数１８】
2015102423.tif 000020
【０１５０】
なお、数式（１８）のλpjはスケーリング係数であり、以後の処理には用いない。
【０１５１】
なお、較正物体１１３上に定義される座標系から投影部１０１への三次元並進回転量を表す行列ＲWPが算出されている場合には、数式（１８）に替えて数式（１９）を用いる。この場合は行列ＲWCに支持部１０４の振動に起因する誤差が含まれる。
【０１５２】
【数１９】
2015102423.tif 000021
【０１５３】
一方、実際にＰWjに投影された投影座標をｐpj＝（ｕpj，ｖpj，１）Tとする。ＰWjはすべて同一平面上に存在するため、ｐpjとｐ’pjとの関係は数式（２０）のようにホモグラフィーＨpによって記述することができる。
【０１５４】
【数２０】
2015102423.tif 000022
【０１５５】
変動算出部２０７は数式（２０）を満たすホモグラフィーＨpを算出し、ｐpjをＨpで変換したｐ’’pjをすべてのｊについて算出する。このｐ’’pjは投影部１０１の時間的変動を修正した後の投影座標であり、この座標を較正部２１１に送る。
【０１５６】
通常、較正時には較正物体１１３の位置や向きを変え、全体として対象となる計測空間全体が網羅されるように複数回の撮影を行うのが一般的である。ただし、その場合には較正物体１１３の撮影ごとに独立にホモグラフィーＨpを求め、対応する投影座標ｐ’’pjを修正するという工程を撮影した回数だけ繰り返す。較正物体１１３が複数の平面を有する場合においても、平面ごとに同様の処理を行う。
【０１５７】
較正部２１１は最初に較正を行ったときの投影座標ｐpjに替えて変動算出部２０７によって修正されたｐ’’pjを用いて、再び較正値を算出する。なお、較正値のうち撮像装置１０２の内部パラメータに関しては、投影光の時間的変動および支持部１０４の振動の影響を受けないため、再度計算する必要はなく、先に算出したものをそのまま用いる。
【０１５８】
較正部２１１によって更新された較正値は投影光の時間的変動に起因する誤差がより少なくなっている。しかしながら、ホモグラフィーＨpを算出するのに用いたＲWCおよびＲCPには支持部１０４の振動に由来する誤差が含まれている。投影光の時間的変動と支持部１０４の振動は相互に依存しているため、この時点では、これらの誤差は完全に取り除かれてはいない。
【０１５９】
そこで較正部２１１は、更新された較正値を変動検出部２０７へと送る。変動検出部２０７は更新された較正値を用いて再びＨpを算出し、修正された投影座標ｐ’’pjを求め、再度較正部２１１へと送る。較正部２１１は、修正後の投影座標ｐ’’pjを用いて再度較正値を算出する。反復を繰り返すごとに較正値からは変動の影響が取り除かれ、最終的には変動による誤差を含まない較正値が算出されることになる。
【０１６０】
第４実施形態では、反復のたびに較正値の変化あるいは最適化演算における残差の総和を比較し、反復ごとの変化量が十分に小さいと判定された場合に、較正部２１１はその後の処理を打ち切り、最新の較正値を結果出力部２０９へと送る。
【０１６１】
結果出力部２０９は、較正部２１１から送られた較正値を所定の形式で出力する。ここでは、結果出力部２０９は較正値を所定のフォーマットで記述したデータファイルとして、補助記憶装置（不図示）に書き込む。
【０１６２】
また、結果出力部２０９は、ディスプレイなどの表示装置上に較正値そのもの、前記残差の総和、あるいは較正値を用いて較正指標２１４の三次元座標を算出した結果などを表示し、ユーザの操作や判断を促すようにしてもよい。
【０１６３】
＜３．装置の動作＞
図１３は、第４実施形態に係る三次元形状計測装置の動作フローチャートである。まず、装置が起動されると、ステップＳ４０００が開始される。
【０１６４】
ステップＳ４０００では、初期化処理が行われる。ステップＳ４０００の初期化処理には、較正指標１１４の三次元座標値を補助記憶装置から読み出す、あるいは算出してパラメータ記憶部２０６に保持する処理が含まれる。なお、パターン画像の種類が少ない場合には、投影パターン生成部２０２は全パターン画像をこの時点で生成し、パラメータ記憶部２０６に保持する処理などが含まれる。
【０１６５】
ステップＳ４１００では、投影パターン生成部２０２は、投影パターンを生成し、投影部２０１がパターン光としてそれを投影する。同時に撮像部２０３はパターン光が投影された計測対象物２０６の画像を撮像し、画像入力部２０４でこれを保持する。この処理は、必要な枚数のパターン画像を投影し、撮像が完了するまで繰り返される。
【０１６６】
ステップＳ４２００では、画像処理部２０５は、撮像された画像から較正指標１１４を抽出し、較正物体１１３上の座標系における三次元座標と画像座標とを対応づける。
【０１６７】
ステップＳ４３００では、画像処理部２０５は、撮像された画像群を用いて、投影座標の復号を行い、画像座標と投影座標とを対応づける。
【０１６８】
ステップＳ４４００では、較正部２１１は、初期値となる概略較正値を算出する。ステップＳ４５００では、変動算出部２０７は、投影光の時間的変動を算出し、投影座標を修正する。ステップＳ４６００では、較正部２１１は、修正された投影座標に基づいて更新された較正値を算出する。
【０１６９】
ステップＳ４７００では、較正部２１１は、あらかじめ設定された反復終了条件が満たされたか否かを判定し、条件が満たされた場合には、最新の較正値を出力し、処理を終了する。条件が満たされない場合には、ステップＳ４５００に戻る。
【０１７０】
以上述べたように、第４実施形態によれば、計測対象物の想定配置位置に配置され三次元座標が既知である較正物体を利用することにより、三次元形状計測装置１００を高精度に較正することが可能になる。特に、撮像部１０２と投影部１０１との間の幾何関係が未知である場合においても、三次元形状計測装置の振動および投影光の時間的変動の影響を好適に取り除くことが出来る。
【０１７１】
（第５実施形態）
第５実施形態として、計測対象物近傍に配置される三次元座標が既知である基準平面指標を用いる三次元形状計測装置を例に挙げて以下に説明する。なお、以下の説明では、第１実施形態と異なる部分についてのみ説明する。
【０１７２】
＜１．装置構成＞
図１４は、第５実施形態に係る三次元形状計測装置の全体構成を模式的に示す図である。三次元形状計測装置１００は、投影部１０１、撮像部１０２、制御部１０３、支持部１０４、計測対象物支持部１０５を含み、第１実施形態と同様である。計測対象物支持部１０５上には計測対象物１０６とその近傍に基準平面指標１１５が配置される。投影部１０１、撮像部１０２、制御部１０３、支持部１０４、計測対象物１０６については、第１実施形態のものと同じである。
【０１７３】
計測対象物支持部１０５は、その上に計測対象物１０６を設置するための台であり、その表面は平面で構成される。また、計測対象物支持部１０５上には、計測対象物１０６の周囲であって撮像部１０１の視野の範囲内となる場所に複数の基準平面指標１１５が配置される。計測対象物支持部１０５の表面を構成する平面は、きわめて高い平面性を確保できる素材、工法で製作されており、基準平面指標１１５の三次元座標が既知であると見なせる精度が確保されている。
【０１７４】
ここでは、基準平面指標１１５は等間隔に配置された真円であり、円中心の三次元座標が既知であるものとする。ここでは、計測対象物支持部１０５はその上に計測対象物１０６が配置されるため、基準平面指標１１５のいくつかは遮蔽され、撮像部１０２からは観測できない状態になる。そのため、撮像部１０２によって観測可能な残りの基準平面指標１１５が十分な数だけ存在するように、数多くの基準平面指標１１５を配置する。なお、この基準平面指標１１５は必ずしも真円である必要はなく、例えば二重円や楕円、また市松模様やその他任意の模様を用いることができる。
【０１７５】
第５実施形態における三次元形状計測方法を実現するための機能要素の構成と機能要素間の関係については、第１実施形態（図２）と同様である。投影部２０１、撮像部２０３、画像入力部２０４、パラメータ記憶部２０６、制御部２１０については、第１実施形態のものと同じである。
【０１７６】
投影パターン生成部２０２は、パターン画像を生成し、投影部２０１にパターン画像を送出する。具体的には、例えば、従来手法である空間符号化法や位相シフト法などを実現するために必要となるパターン光を投影するための画像を生成する。第１実施形態では投影座標のうち、横方向の成分（ｕi）のみを用いたため、縦方向のみの縞パターン画像を投影すればよかった。しかし、第５実施形態では投影座標の縦方向の成分（ｖi）も用いる。そのため、投影パターン生成部２０２は縦方向に加えて横方向の縞パターン画像も生成して投影部２０１に送る。また、第１実施形態とは異なり、投影パターン生成部２０２は、投影指標１０８の画像は生成しない。
【０１７７】
画像処理部２０５は、撮像した画像を画像入力部２０４から受信し、必要な画像処理を行う。画像処理部２０５が行う画像処理には、基準平面指標１１５の抽出処理や、画像に含まれるパターン光の復号処理などが含まれる。
【０１７８】
画像処理部２０５は、画像入力部２０５から入力した画像を用いて、基準平面指標１１５の抽出処理を行う。この抽出処理により、撮像部１０２で撮像された画像の画素と較正物体１１３の座標系における三次元座標とが基準平面指標１１５を介して対応づけられることとなる。ここでは基準平面指標１１５は真円であるため、画像処理部２０５は画像中から円の領域を抽出し、当該円の中心に対応する画像座標を算出する。画像中から円の中心を算出する手法は、検出されたエッジから円を構成するパラメータを推定するものや、テンプレートマッチングにより重心を検出するものを含め、任意の方法が利用可能である。
【０１７９】
画像処理部２０５は、画像入力部２０５から入力した複数の画像を用いてパターンの復号処理を行う。この復号処理により、投影部１０１によって投影されるパターン画像の投影座標と較正物体１１３の座標系における三次元座標とが基準平面指標１１５を介して対応づけられることとなる。投影部１０１は、画像を観測することができないため、基準平面指標１１５に対応する投影座標は、撮像部１０２における画像座標を用いて対応させる。
【０１８０】
より具体的には、前記復号処理により画像座標と投影座標とが既に対応づけられているため、基準平面指標１１５に対応する画像座標に対応する投影座標を選択する。一般的に物体面上では投影部１０１の一画素よりも撮像部１０２の一画素が小さくなるように両者を構成するので、高い精度で基準平面指標１１５の投影座標を得るためには、複数の対応関係を用いて当該投影座標を補間して推定する処理を行う必要がある。画像処理部２０５の機能は制御部１０３によって実現される。
【０１８１】
変動算出部２０７は、投影光の時間的変動と、支持部１０４の振動の両方を算出し、さらに投影部１０１と撮像部１０２との間の三次元並進回転をこれらの変動および振動の影響を取り除いたかたちで算出する。変動検出部２０７の機能は制御部１０３によって実現される。
【０１８２】
＜２．変動算出部２０７の構成＞
＜２．１．支持部１０４の振動を算出する処理＞
変動算出部２０７は、対象とする時刻ｔにおける計測空間から撮像部１０２への三次元並進回転量を表す行列ＲWCtを算出する。具体的には、撮像部１０２によって観測されている基準平面指標１１５について、既知の三次元座標と対応する画像座標とから算出する。三次元座標が既知の点について、画像上に射影される座標との対応関係から撮像部の三次元並進回転量を求める手法は公知であるため説明を省略する。
【０１８３】
基準時刻ｔ＝０のときには、変動算出部２０７は、このときのＲWC0を基準三次元並進回転量としてパラメータ記憶部２０６に送出し、これらのパラメータはパラメータ記憶部２０６で保持される。それ以外の時刻では、これらの値はパラメータ記憶部２０６から読み出される。
【０１８４】
基準平面指標１１５の三次元座標は時間によって変化することがないため、ＲWCtとＲWC0との三次元並進回転量の差異を支持部１０４の振動とみなすことができる。そのため、以後の処理では、撮像部１０２の外部パラメータとして常にＲWC0を用いればよいことになる。
【０１８５】
支持部１０４の振動によって基準平面指標１１５の三次元座標が時間によって変化する場合も考えられる。ただし、計測対象物１０６の三次元座標を算出するのに影響するのは、計測対象物１０６と撮像部１０２との相対的な関係のみであるため、この場合についても撮像部１０２の外部パラメータとして常にＲWC0を用いてよい。
【０１８６】
＜２．２．投影部１０１と撮像部１０２との間の三次元並進回転を算出する処理＞
変動算出部２０７は、基準平面指標１１５の三次元座標と対応する画像座標と投影座標、そして先に求めたＲWC0とから、バンドル調整法によってＲCPtを算出する。
【０１８７】
＜２．３．投影光の時間的変動を算出する処理＞
時刻ｔにおける基準平面指標１１５について、対応する投影座標をｐpjt＝（ｕpjt，ｖpjt，１）Tとする。ｊは基準平面指標１１５を識別するための添字である。すべての基準平面指標１１５は同一平面上に配置されているので、すべてのｔおよびｊについて数式（２１）に示す関係が成り立つ。λptはスケーリング係数であり、以後の処理には用いない。
【０１８８】
【数２１】
2015102423.tif 000023
【０１８９】
変動算出部２０７は数式（２１）を満たすホモグラフィーＨptを算出し、ｐpjtをＨptで変換したｐ’’pjtをすべてのｊについて算出する。このｐ’’pjtは投影部１０１の時間的変動を修正した後の投影座標である。
【０１９０】
なお、基準時刻ｔ＝０のときには、変動算出部２０７は、基準座標（ｕpj0，ｖpj0）、をパラメータ記憶部２０６に送出し、基準座標はパラメータ記憶部２０６に保持される。それ以外の時刻では、これらの値はパラメータ記憶部２０６から読み出される。
【０１９１】
次に変動算出部２０７は、変動を修正した後の投影座標ｐ’’pjｔを用いて、再び撮像部１０２から投影部１０１への三次元並進回転量を表す行列ＲCPtを算出する。この段階で算出したＲCPtは、前回求めたものよりも投影光の時間的変動および支持部１０４の振動の影響による誤差は少なくなっている。ただし、これらの変動および振動は相互に影響しているため、完全には取り除かれていない。そのため、変動算出部２０７は、ＲCPtの算出処理と投影座標の修正とを交互に反復する。
【０１９２】
変動算出部２０７は、以上の処理によって算出された、計測空間から撮像部１０２への三次元並進回転行列ＲWC0、投影部１０１と撮像部１０２との間の三次元並進回転行列ＲCPt、およびホモグラフィーＨpｔを三次元座標算出部２０８へと送出する。以上述べたように、これらのパラメータからは投影光の時間的変動と、支持部１０４の振動の影響が取り除かれている。
【０１９３】
三次元座標算出部２０８は、変動検出部２０７から送られたＲWC0、ＲCPt、Ｈptを用いて、支持部１０４の振動と投影光の時間的変動を補正して、計測対象物１０６の三次元座標を算出する。三次元座標算出部２０８の機能は制御部１０３によって実現される。
【０１９４】
三次元座標算出部２０８は、画像処理部２０５より計測対象物１０６の投影座標と画像座標を受信する。また、変動検出部２０７よりＲWC0、ＲCPt、Ｈptを、パラメータ記憶部２０６より撮像部１０２及び投影部１０１の内部パラメータを受信する。
【０１９５】
第１実施形態におけるＲCを第５実施形態におけるＲWC0、ＲPをＲWC0とＲCPtの積（すなわちＲWC0・ＲCPt）、ＨpをＨptとすれば、三次元座標算出部２０８が行う処理は第１実施形態と同様である。
【０１９６】
結果出力部２０９は、三次元座標算出部２０８によって算出された計測対象物１０６の三次元座標を出力する。出力先としては、制御部１０３に接続された図示しないディスプレイ装置や他のコンピュータ、補助記憶装置などが含まれる。結果出力部２０９の機能は制御装置１０３によって実現される。
【０１９７】
＜３．装置の動作＞
図１５は、第５実施形態に係る三次元形状計測装置の動作フローチャートである。まず、装置が起動されると、ステップＳ５０００が開始される。
【０１９８】
ステップＳ５０００では、初期化処理が行われる。ステップＳ５０００の初期化処理には、基準平面指標１１５の三次元座標値を補助記憶装置から読み出し、パラメータ記憶部２０６に保持する処理が含まれる。また、基準時刻におけるＲCW0を計測し、パラメータ記憶部２０６に保持する処理が含まれる。更に、投影座標（ｕpj0，ｖpj0）をパラメータ記憶部２０６に保持する処理もこの段階で行われる。また、パターン画像の種類が少ない場合には、投影パターン生成部２０２は全パターン画像をこの時点で生成し、パラメータ記憶部２０６に保持する。
【０１９９】
ステップＳ５１００では、投影パターン生成部２０２は、投影パターンを生成し、投影部２０１がパターン光としてそれを投影する。同時に撮像部２０３はパターン光が投影された計測対象物２０６の画像を撮像し、画像入力部２０４でこれを保持する。この処理は、必要な枚数のパターン画像を投影し、撮像が完了するまで繰り返される。
【０２００】
ステップＳ５２００では、画像処理部２０５は、撮像された画像から較正指標１１４を抽出し、較正物体１１３上の座標系における三次元座標と画像座標とを対応づける。ステップＳ５３００では、画像処理部２０５は、撮像された画像群を用いて、投影座標の復号を行い、画像座標と投影座標とを対応づける。
【０２０１】
ステップＳ５４００では、変動算出部２０７は、支持部１０４の振動と投影光の時間的変動および撮像部１０２から投影部１０１への三次元並進回転量とを算出する。図１６は、第５実施形態に係る振動・変動補正処理（Ｓ５４００）の詳細フローチャートである。
【０２０２】
ステップＳ５４１０では、変動算出部２０７は、支持部１０４の振動を算出する。ステップＳ５４２０では、変動算出部２０７は、撮像部１０２から投影部１０１への三次元並進回転量を算出する。ステップＳ５４３０では、変動算出部２０７は、投影光の時間的変動を算出する。ステップＳ５４４０では、変動算出部２０７は、あらかじめ設定された反復終了条件が満たされたか否かを判定し、条件が満たされた場合には内部処理を終了してステップＳ５５００に進む。条件が満たされない場合には、ステップＳ５４１０に戻る。
【０２０３】
ステップＳ５５００では、三次元座標算出部２０８は、計測対象物２０６の三次元座標を算出する。ステップＳ５６００では、装置は、ユーザからの指示に基づき、動作を終了する、あるいはステップＳ５１００に戻る。
【０２０４】
以上説明したとおり、第５実施形態に係る三次元形状計測装置によれば、計測対象物の三次元座標を高精度に求めることが可能になる。特に、撮像部１０２と投影部１０１との間の幾何関係が未知である場合においても、計測対象物近傍に配置される三次元座標が既知である基準平面指標を利用することにより、時間的変動の影響を好適に取り除くことが可能となる。
【０２０５】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2015102423.tif 000024
【図２】
2015102423.tif 000025
【図３】
2015102423.tif 000026
【図４】
2015102423.tif 000027
【図５】
2015102423.tif 000028
【図６】
2015102423.tif 000029
【図７】
2015102423.tif 000030
【図８】
2015102423.tif 000031
【図９】
2015102423.tif 000032
【図１０】
2015102423.tif 000033
【図１１】
2015102423.tif 000034
【図１２】
2015102423.tif 000035
【図１３】
2015102423.tif 000036
【図１４】
2015102423.tif 000037
【図１５】
2015102423.tif 000038
【図１６】
2015102423.tif 000039