(57)【要約】【課題】基準物を用いずに、対象物の３次元形状を高精度に計測することができる計測装置、方法及びプログラムを提供する。【解決手段】実施形態の計測装置は、投影部と、撮像部と、第１算出部と、設定部と、生成部と、第２算出部とを、備える。投影部は、所定模様がランダムに配置された第１パタンを対象物に投影する。撮像部は、第１パタンが投影された対象物の第１画像を撮像する。第１算出部は、第１パタンと第１画像とを用いて、対象物までの距離を算出する。設定部は、距離を用いて、正弦波関数の周波数を設定する。生成部は、周波数の正弦波関数に従って輝度値が変化する第２パタンを生成する。投影部は、第２パタンを対象物に投影する。撮像部は、第２パタンが投影された対象物の第２画像を撮像する。第２算出部は、第２パタンと第２画像とを用いて、対象物の３次元形状を算出する。【選択図】図１
2015184056.tif 000002
【特許請求の範囲】
【請求項１】
所定模様がランダムに配置された第１パタンを対象物に投影する投影部と、
前記第１パタンが投影された前記対象物の第１画像を撮像する撮像部と、
前記第１パタンと前記第１画像とを用いて、前記対象物までの距離を算出する第１算出部と、
前記距離を用いて、正弦波関数の周波数を設定する設定部と、
前記周波数の前記正弦波関数に従って輝度値が変化する第２パタンを生成する生成部と、を備え、
前記投影部は、前記第２パタンを前記対象物に投影し、
前記撮像部は、前記第２パタンが投影された前記対象物の第２画像を撮像し、
前記第２パタンと前記第２画像とを用いて、前記対象物の３次元形状を算出する第２算出部を更に備える計測装置。
【請求項２】
前記設定部は、前記投影部の単位画素である投影単位画素毎に、前記正弦波関数の周波数を設定し、
前記生成部は、前記投影単位画素毎に当該投影単位画素で設定された前記周波数の前記正弦波関数に従って輝度値が変化する前記第２パタンを生成する請求項１に記載の計測装置。
【請求項３】
前記第１算出部は、前記第１画像の単位画素である画像単位画素毎に、前記距離として、前記計測装置から当該画像単位画素に対応する前記対象物の位置までの３次元距離を算出し、
前記設定部は、前記画像単位画素毎に、当該画像単位画素での前記３次元距離を用いて、当該画像単位画素に対応する投影単位画素の画素数を算出し、前記投影単位画素毎に、対応する画像単位画素で算出された前記画素数に基づいて当該投影単位画素における前記周波数を設定する請求項２に記載の計測装置。
【請求項４】
前記設定部は、前記投影単位画素毎に、当該投影単位画素における前記正弦波関数の単位周期に必要な画素数を、当該投影単位画素に対応する前記画像単位画素で算出された前記画素数の半数以下となるように設定し、設定した前記画素数から当該投影単位画素における前記周波数を設定する請求項３に記載の計測装置。
【請求項５】
前記設定部は、前記投影単位画素における前記正弦波関数の単位周期に必要な画素数に、前記投影単位画素に対応する前記画像単位画素で算出された前記画素数の半数以下となる自然数を値が大きい順に設定して、前記正弦波関数の位相誤差を算出し、当該位相誤差が閾値以下となった自然数を前記単位周期に必要な画素数に設定する請求項４に記載の計測装置。
【請求項６】
前記設定部は、前記距離を用いて、前記正弦波関数の方向を更に設定し、
前記生成部は、前記周波数及び前記方向の前記正弦波関数に従って輝度値が変化する前記第２パタンを生成する請求項１に記載の計測装置。
【請求項７】
前記設定部は、前記投影単位画素毎に、前記正弦波関数の方向を設定し、
前記生成部は、前記投影単位画素毎に当該投影単位画素で設定された前記周波数及び前記方向の前記正弦波関数に従って輝度値が変化する前記第２パタンを生成する請求項６に記載の計測装置。
【請求項８】
前記設定部は、前記投影単位画素毎に、前記距離を用いて、前記対象物の曲率方向を複数算出し、算出した前記複数の曲率方向のうち所定の曲率方向を前記正弦波関数の方向に設定する請求項７に記載の計測装置。
【請求項９】
前記所定の曲率方向は、前記複数の曲率方向のうちの最小の曲率方向である請求項８に記載の計測装置。
【請求項１０】
前記投影単位画素は、１画素である請求項２に記載の計測装置。
【請求項１１】
前記画像単位画素は、１画素である請求項３に記載の計測装置。
【請求項１２】
前記単位周期は、１周期である請求項４に記載の計測装置。
【請求項１３】
所定模様がランダムに配置された第１パタンを対象物に投影する第１投影ステップと、
前記第１パタンが投影された前記対象物の第１画像を撮像する第１撮像ステップと、
前記第１パタンと前記第１画像とを用いて、前記対象物までの距離を算出する第１算出ステップと、
前記距離を用いて、正弦波関数の周波数を設定する設定ステップと、
前記周波数の前記正弦波関数に従って輝度値が変化する第２パタンを生成する生成ステップと、
前記第２パタンを前記対象物に投影する第２投影ステップと、
前記第２パタンが投影された前記対象物の第２画像を撮像する第２撮像ステップと、
前記第２パタンと前記第２画像とを用いて、前記対象物の３次元形状を算出する第２算出ステップと、
を含む計測方法。
【請求項１４】
所定模様がランダムに配置された第１パタンを対象物に投影する第１投影ステップと、
前記第１パタンが投影された前記対象物の第１画像を撮像する第１撮像ステップと、
前記第１パタンと前記第１画像とを用いて、前記対象物までの距離を算出する第１算出ステップと、
前記距離を用いて、正弦波関数の周波数を設定する設定ステップと、
前記周波数の前記正弦波関数に従って輝度値が変化する第２パタンを生成する生成ステップと、
前記第２パタンを前記対象物に投影する第２投影ステップと、
前記第２パタンが投影された前記対象物の第２画像を撮像する第２撮像ステップと、
前記第２パタンと前記第２画像とを用いて、前記対象物の３次元形状を算出する第２算出ステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、計測装置、方法及びプログラムに関する。
【背景技術】
【０００２】
金属のようなテクスチャが無い対象物の３次元形状を計測する方法として、パタン投影法が知られている。パタン投影法は、規則的な模様のパタンを対象物に投影するとともにパタンが投影された対象物の画像を撮像し、パタンと画像との対応関係を求めることで対象物の３次元形状を計測する。
【０００３】
このようなパタン投影法の中でも、正弦波関数に従って輝度値が変化するパタンを用いた位相シフト法は、対象物の３次元形状をサブピクセル精度で計測できるため、計測精度が高い。
【０００４】
但し、位相シフト法では、計測精度の悪化を防止するため、対象物に投影されたパタンを適切な解像度で撮像する必要がある。このため位相シフト法では、パタン内で周期的に繰り返される模様（縞模様）の幅が対象物との距離に適した長さとなるように、正弦波関数の周波数を設定する必要がある。
【０００５】
例えば特許文献１には、測定対象物体及び測定対象物体の後ろに配置されたバックスクリーンに位相パタンを投影し、測定対象物体及びバックスクリーンからの反射パタンを解析することで、１周期毎の格子幅を測定対象物体までの距離に適した長さに調節した位相パタンを生成し、生成した位相パタンを測定対象物体に投影し、測定対象物体からの反射パタンを解析することで、測定対象物体の３次元形状を測定する技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−１２７９３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述したような従来技術では、バックスクリーンなどの基準物を対象物の周囲に配置しなければ、パタンを生成するための正弦波関数の周波数を対象物との距離に適した値に設定できず、対象物の３次元形状を高精度に計測することができない。
【０００８】
本発明が解決しようとする課題は、基準物を用いずに、対象物の３次元形状を高精度に計測することができる計測装置、方法及びプログラムを提供することである。
【課題を解決するための手段】
【０００９】
実施形態の計測装置は、投影部と、撮像部と、第１算出部と、設定部と、生成部と、第２算出部とを、備える。投影部は、所定模様がランダムに配置された第１パタンを対象物に投影する。撮像部は、前記第１パタンが投影された前記対象物の第１画像を撮像する。第１算出部は、前記第１パタンと前記第１画像とを用いて、前記対象物までの距離を算出する。設定部は、前記距離を用いて、正弦波関数の周波数を設定する。生成部は、前記周波数の前記正弦波関数に従って輝度値が変化する第２パタンを生成する。投影部は、前記第２パタンを前記対象物に投影する。撮像部は、前記第２パタンが投影された前記対象物の第２画像を撮像する。第２算出部は、前記第２パタンと前記第２画像とを用いて、前記対象物の３次元形状を算出する。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態の計測装置の構成例を示す図。
【図２】第１実施形態の第１パタンの例を示す図。
【図３】第１実施形態の第１パタンの例を示す図。
【図４】第１実施形態の第２パタンの例を示す図。
【図５】第１実施形態の第２パタンの例を示す図。
【図６】第１実施形態において対象物に投影された第２パタンの例を示す図。
【図７】第１実施形態の処理例を示すフローチャート。
【図８】第２実施形態の計測装置の構成例を示すブロック図。
【図９】第２実施形態において対象物に投影された第２パタンの例を示す図。
【図１０】第２実施形態の処理例を示すフローチャート。
【図１１】上記各実施形態の計測装置のハードウェア構成例を示すブロック図。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照しながら、実施形態を詳細に説明する。
【００１２】
（第１実施形態）
図１は、第１実施形態の計測装置１０の構成の一例を示すブロック図である。図１に示すように、計測装置１０は、記憶部１１と、投影部１３と、撮像部１５と、第１算出部１７と、設定部１９と、生成部２１と、第２算出部２３と、出力部２５とを、備える。
【００１３】
記憶部１１は、例えば、ＨＤＤ（Hard  Disk  Drive）、ＳＳＤ（Solid  State  Drive）、メモリカード、光ディスク、ＲＯＭ（Read  Only  Memory）、及びＲＡＭ（Random  Access  Memory）などの磁気的、光学的、又は電気的に記憶可能な記憶装置により実現できる。投影部１３は、例えば、プロジェクタ、レーザ、及びランプなど、光源から光を照射することで任意のパタンを投影できる投影装置により実現できる。撮像部１５は、例えば、デジタルカメラやステレオカメラなどの撮像装置により実現できる。第１算出部１７、設定部１９、生成部２１、第２算出部２３、及び出力部２５は、例えば、ＣＰＵ（Central  Processing  Unit）などの処理装置にプログラムを実行させること、即ち、ソフトウェアにより実現してもよいし、ＩＣ（Integrated  Circuit）などのハードウェアにより実現してもよいし、ソフトウェア及びハードウェアを併用して実現してもよい。
【００１４】
記憶部１１は、計測装置１０で実行される各種プログラムや計測装置１０で行われる各種処理に使用されるデータなどを記憶する。記憶部１１は、例えば、所定模様がランダムに配置された第１パタンを記憶する。
【００１５】
図２は、第１実施形態の第１パタン３１の一例を示す図である。第１パタン３１は、輝度値が２値（白又は黒）で表現されたドットがランダムに配置されたランダムドットパタンである。
【００１６】
図３は、第１実施形態の第１パタン３２の一例を示す図である。第１パタン３２は、輝度値が２値（白又は黒）で表現された円がランダムに配置された幾何学パタンである。なお幾何学パタンを構成する要素は、円ではなく矩形や線などであってもよい。
【００１７】
投影部１３は、記憶部１１に記憶されている第１パタンを対象物に投影する。具体的には、投影部１３は、第１パタンを透過させた光、又は第１パタンで反射させた光を対象物に投影することで、第１パタンを対象物に投影する。なお、投影部１３が投影する光は、可視光であっても赤外光などの非可視光であってもよい。
【００１８】
撮像部１５は、投影部１３により第１パタンが投影された対象物の画像である第１画像を撮像する。投影部１３が投影する光が可視光の場合、撮像部１５は可視光を受光できればよく、投影部１３が投影する光が非可視光の場合、撮像部１５は非可視光を受光できればよい。第１実施形態では、撮像部１５は、１方向から第１画像を撮像するものとするが、複数方向から第１画像を撮像するものであってもよい。
【００１９】
なお、投影部１３の焦点距離などを算出する校正、撮像部１５の焦点距離などを算出する校正、及び投影部１３と撮像部１５との位置関係を算出する校正などは、予め行われているものとする。
【００２０】
第１算出部１７は、記憶部１１に記憶されている第１パタンと撮像部１５により撮像された第１画像とを用いて、対象物までの距離を算出する。具体的には、第１算出部１７は、第１画像の単位画素である画像単位画素毎に、距離として、計測装置１０から当該画像単位画素に対応する対象物の位置までの３次元距離を算出する。第１実施形態では、単位画素（画像単位画素）が１画素である場合を例に取り説明するが、これに限定されるものではない。
【００２１】
第１実施形態では、第１算出部１７は、第１画像の中から第１パタンを検出し、検出した第１パタンと記憶部１１に記憶されている第１パタンとの対応位置を求める。例えば、第１算出部１７は、検出した第１パタンを複数のブロックに分割するとともに記憶部１１に記憶されている第１パタンを複数のブロックに分割し、ブロック間のマッチングを行うことで、検出した第１パタンと記憶部１１に記憶されている第１パタンとの対応位置を一意に求める。ブロック間のマッチングの評価には、例えば、画素値の差の絶対値の和（ＳＡＤ：Sum  of  Abusolute  Difference）などを用いればよい。第１パタンは、所定模様がランダムに配置されているため、ブロック間のマッチングにより、対応位置を一意に求めることができる。
【００２２】
そして第１算出部１７は、求めた対応位置に基づいて、計測装置１０から対象物までの３次元距離を算出する。例えば、第１算出部１７は、求めた対応位置に三角測量など既存の３次元距離計測手法を適用することで、第１画像の画像単位画素毎に、計測装置１０から当該画像単位画素（当該画像単位画素に写る対象物の像の位置）に対応する対象物の位置までの３次元距離（奥行き方向の３次元距離）を算出する。
【００２３】
設定部１９は、第１算出部１７により算出された距離を用いて、正弦波関数の周波数を設定する。ここで、設定部１９は、投影部１３の単位画素である投影単位画素毎に、正弦波関数の周波数を設定する。第１実施形態では、単位画素（投影単位画素）が１画素である場合を例に取り説明するが、これに限定されるものではない。
【００２４】
具体的には、設定部１９は、第１画像の画像単位画素毎に、当該画像単位画素での３次元距離を用いて、当該画像単位画素に対応する投影単位画素の画素数を算出し、投影部１３の投影単位画素毎に、対応する画像単位画素で算出された画素数に基づいて当該投影単位画素における周波数を設定する。
【００２５】
例えば、設定部１９は、投影単位画素毎に、当該投影単位画素における正弦波関数の単位周期に必要な画素数を、当該投影単位画素に対応する画像単位画素で算出された画素数の半数以下となるように設定し、設定した画素数から当該投影単位画素における周波数を設定する。詳細には、設定部１９は、投影単位画素における正弦波関数の単位周期に必要な画素数に、投影単位画素に対応する画像単位画素で算出された画素数の半数以下となる自然数を値が大きい順に設定して、正弦波関数の位相誤差を算出し、当該位相誤差が閾値以下となった自然数を単位周期に必要な画素数に設定する。第１実施形態では、単位周期が１画素である場合を例に取り説明するが、これに限定されるものではない。
【００２６】
以下、投影部１３の投影単位画素毎の正弦波関数の周波数の設定手法について、具体的に説明する。
【００２７】
まず、撮像部１５の焦点距離をｆｃ、撮像部１５の画素ピッチをｄｃ、計測装置１０（撮像部１５）から第１画像の注目画素（ｘ，ｙ）に写る対象物の像の位置に対応する対象物の位置までの距離をｌｃ（ｘ，ｙ）とすると、撮像部１５の１画素は、数式（１）で算出される大きさｎｃ（ｘ，ｙ）で結像する。
【００２８】
なお、ｌｃ（ｘ，ｙ）は、第１算出部１７が算出した３次元距離より求まる。また、ｆｃ及びｄｃは、予め行われている前述した校正により求まる。
【００２９】
【数１】
2015184056.tif 000003
【００３０】
同様に、投影部１３の焦点距離をｆｐ、投影部１３の画素ピッチをｄｐ、計測装置１０（撮像部１５）から投影部１３が投影した第１パタンの注目画素（ｘ’，ｙ’）までの距離をｌｐ（ｘ’，ｙ’）とすると、投影部１３の１画素は、数式（２）で算出される大きさｎｐ（ｘ’，ｙ’）で結像する。
【００３１】
なお、ｌｐ（ｘ’，ｙ’）は、第１算出部１７が算出した３次元距離より求まる。
また、ｆｐ及びｄｐは、予め行われている前述した校正により求まる。
【００３２】
【数２】
2015184056.tif 000004
【００３３】
従って、撮像部１５の１画素あたりに撮影される投影部１３の画素数ｍ（ｘ，ｙ）は、設定部１９により、数式（３）で算出される。
【００３４】
【数３】
2015184056.tif 000005
【００３５】
なお、撮像部１５のレンズ中心から対象物までの距離と投影部１３のレンズ中心から対象物までの距離とが等しい場合、即ち、ｌｃ（ｘ，ｙ）＝ｌｐ（ｘ’，ｙ’）の場合、計測装置１０から対象物までの距離が変化しても、撮像部１５の１画素あたりに撮影される投影部１３の画素数ｍ（ｘ，ｙ）は、一定であるが、ｌｃ（ｘ，ｙ）≠ｌｐ（ｘ’，ｙ’）の場合、撮像部１５の１画素あたりに撮影される投影部１３の画素数ｍ（ｘ，ｙ）は、一定ではない。
【００３６】
そして設定部１９は、算出した画素数ｍ（ｘ，ｙ）を用いて、投影部１３が後ほど投影する第２パタンが撮像部１５の適切な解像度で撮像されるように、投影部１３の投影単位画素毎に、正弦波関数の周波数を設定する。第２パタンは、正弦波関数に従って輝度値が変化するパタンである。
【００３７】
図４は、第１実施形態の第２パタン３３の一例を示す図である。第２パタン３３は、正弦波関数４１に従って輝度値が２値で変化するパタンである。
【００３８】
図５は、第１実施形態の第２パタン３４の一例を示す図である。第２パタン３４は、正弦波関数４２に従って輝度値が２値で変化するパタンである。
【００３９】
ここで、正弦波関数の周波数を、出来る限り大きな値に設定すること、即ち、正弦波関数の波長を短くすること、が最終的な計測精度の向上に寄与する。
【００４０】
しかしながら、投影部１３が投影した第２パタンを撮像部１５が撮像した画像である第２画像から、投影部１３が投影した第２パタンの情報を復元するためには、ナイキスト条件を満たす必要がある。ナイキスト条件は、元となる入力の信号を観測した信号から復元するためには、入力の信号の２倍以上の周波数でサンプリングしなければならないというサンプリング定理である。つまり、設定部１９は、投影部１３が投影する第２パタンにおける正弦波関数の１周期分の画素数を、撮像部１５が当該画素数の１／２以下の画素数で撮像するように、正弦波関数の周波数を設定すればよい。
【００４１】
このため設定部１９は、投影単位画素毎に、正弦波関数の１周期分の画素数Ｔを求める。まず、設定部１９は、投影単位画素毎に、対応する画像単位画素で算出された画素数ｍ（ｘ，ｙ）の１／２以下となる自然数を画素数Ｔの候補とする。例えば、ｍ（ｘ，ｙ）＝１２の場合、画素数Ｔの候補は、６、５、４、３、２、１となる。
【００４２】
そして設定部１９は、画素数Ｔの候補の大きい順に、当該画素数Ｔの候補での正弦波関数の位相値の誤差である位相誤差を、数式（４）を用いて算出し、閾値以下であれば、当該画素数Ｔの候補を画素数Ｔとし、閾値を超えていれば、次の画素数Ｔの候補での位相誤差を算出する。
【００４３】
【数４】
2015184056.tif 000006
【００４４】
ここで、Ｉ（ｘｉ，ｙｉ）は画素（ｘｉ，ｙｉ）の輝度値、αは正弦波関数の振幅、βはオフセット成分、φは位相、θｘは正弦波関数のｘ方向の周波数であり、θｙは正弦波関数のｙ方向の周波数であり、既知の値とする。但し、θｘ及びθｙは、画素数Ｔによって値が定まる。
【００４５】
最後に設定部１９は、算出した画素数Ｔでのθｘ及びθｙを第２パタンの生成に用いる正弦波関数の周波数に設定する。
【００４６】
生成部２１は、設定部１９により設定された周波数の正弦波関数に従って輝度値が変化する第２パタンを生成する。具体的には、生成部２１は、設定部１９により投影単位画素毎に設定された周波数の正弦波関数に従って各投影単位画素の輝度値が変化する第２パタンを生成する。例えば、生成部２１は、投影単位画素毎に数式（５）に従って輝度値が変化する第２パタンを生成する。
【００４７】
【数５】
2015184056.tif 000007
【００４８】
ここで、α（ｘ，ｙ）は正弦波関数の振幅、β（ｘ，ｙ）はオフセット成分、φ（ｘ，ｙ）は位相値、Ｉ（ｘ，ｙ）は画素（ｘ，ｙ）の輝度値であり、θｘは正弦波関数のｘ方向の周波数であり、θｙは正弦波関数のｙ方向の周波数である。なお、α（ｘ，ｙ）及びβ（ｘ，ｙ）は予め設定された任意の値とする。また、θｘ及びθｙは、設定部１９により設定された画素数Ｔでのθｘ及びθｙである。また、第１実施形態では、θｘ及びθｙの方向は、任意に設定すればよい。
【００４９】
ここで、投影部１３について再度説明する。投影部１３は、生成部２１により生成された第２パタンを対象物に投影する。この際、投影部１３は、第１パタンの投影を中止して第２パタンを対象物に投影する。
【００５０】
ここで、撮像部１５について再度説明する。撮像部１５は、第２パタンが投影された対象物の第２画像を撮像する。
【００５１】
図６は、第１実施形態において対象物５１、５２に投影された第２パタンの一例を示す図である。図６に示す例では、投影部１３の投影距離が遠いほど、第２パタンの縞模様が広くなっており、対象物５２に投影された第２パタン５５の縞模様よりも、対象物５１に投影された第２パタン５４の縞模様の方が、幅が広くなっている。
【００５２】
第１実施形態では、前述した手法で投影単位画素毎に正弦波関数の周波数を設定しているため、投影距離が遠くなるほど第２パタンの縞模様の幅が広くなる。このため第１実施形態によれば、撮像部１５は、投影距離に適した解像度で第２パタンを撮像できる。
【００５３】
第２算出部２３は、生成部２１により生成された第２パタンと撮像部１５により撮像された第２画像とを用いて、対象物の３次元形状を算出する。つまり、第２算出部２３は、位相シフト法で、対象物の３次元形状を算出する。
【００５４】
具体的には、第２算出部２３は、生成部２１により生成された第２パタンを用いて、第２画像を構成する画素毎に、位相値を算出する。例えば、第２画像を構成する画素毎の位相値は、数式（６）により求めることができる。
【００５５】
【数６】
2015184056.tif 000008
【００５６】
ここで、αは正弦波関数の振幅、βはオフセット成分、φは位相値、Ｉ（ｘｉ，ｙｉ）は第２画像の注目画素（ｘ，ｙ）の近傍画素（ｘｉ，ｙｉ）の輝度値である。数式（６）により、ｎ点（ｎ≧３）の輝度値Ｉ（ｘｉ，ｙｉ）から残差二乗和を最小にするα、β、φを求めることができる。
【００５７】
なお、数式（６）は、非線形最小二乗問題となるため、一意に解を算出することができない。このため、εｃ＝αｃｏｓφ、εｓ＝αｓｉｎφと置くと、数式（６）は、数式（７）に示す線形最小二乗問題となる。
【００５８】
【数７】
2015184056.tif 000009
【００５９】
数式（７）は、数式（８）〜数式（１０）に示す線形方程式によって解析的に求めることができる。
【００６０】
【数８】
2015184056.tif 000010
【００６１】
【数９】
2015184056.tif 000011
【００６２】
【数１０】
2015184056.tif 000012
【００６３】
数式（８）〜数式（１０）により得られたεｃ及びεｓより、位相値φは数式（１１）で求められる。
【００６４】
【数１１】
2015184056.tif 000013
【００６５】
そして第２算出部２３は、算出した位相値φを用いて、第２画像と第２パタンとの対応位置をサブピクセル精度で求め、求めた対応位置に三角測量など既存の３次元距離計測手法を適用することで、対象物の３次元形状を算出する。位相値を用いた３次元形状算出方法は、例えば、“プロジェクタ・カメラシステムのレスポンス関数を用いた位相シフト法によるアクティブ・ステレオの精度向上（MIRU2009,  2009）”で用いられている三角測量手法などを用いればよい。
【００６６】
出力部２５は、第２算出部２３により算出された対象物の３次元形状を出力する。例えば、出力部２５は、対象物の３次元形状を図示せぬ表示部に画面出力したり、記憶部１１に出力したり、又は図示せぬ印刷部に印刷出力したりする。
【００６７】
図７は、第１実施形態の計測装置１０で行われる処理の手順の流れの一例を示すフローチャートである。
【００６８】
まず、投影部１３は、記憶部１１に記憶されている第１パタンを対象物に投影する（ステップＳ１０１）。
【００６９】
続いて、撮像部１５は、投影部１３により第１パタンが投影された対象物の画像である第１画像を撮像（生成）する（ステップＳ１０３）。
【００７０】
続いて、第１算出部１７は、記憶部１１に記憶されている第１パタンと撮像部１５により撮像された第１画像とを用いて、対象物までの距離を第１画像の画像単位画素毎に算出する（ステップＳ１０５）。
【００７１】
続いて、設定部１９は、第１算出部１７により算出された画像単位画素毎の距離を用いて、投影部１３の投影単位画素毎に正弦波関数の周波数を設定する（ステップＳ１０７）。
【００７２】
続いて、生成部２１は、設定部１９により投影単位画素毎に設定された周波数の正弦波関数に従って各投影単位画素の輝度値が変化する第２パタンを生成する（ステップＳ１０９）。
【００７３】
続いて、投影部１３は、生成部２１により生成された第２パタンを対象物に投影する（ステップＳ１１１）。
【００７４】
続いて、撮像部１５は、第２パタンが投影された対象物の第２画像を撮像（生成）する（ステップＳ１１３）。
【００７５】
続いて、第２算出部２３は、生成部２１により生成された第２パタンと撮像部１５により撮像された第２画像とを用いて、対象物の３次元形状を算出する（ステップＳ１１５）。
【００７６】
続いて、出力部２５は、第２算出部２３により算出された対象物の３次元形状を出力する（ステップＳ１１７）。
【００７７】
以上のように第１実施形態では、投影単位画素毎に正弦波関数の周波数を設定しているため、投影距離が遠くなるほど第２パタンの縞模様の幅が広くなる。このため第１実施形態によれば、基準物を用いずに、投影距離に適した解像度で撮像できるように第２パタンの縞模様の幅を設定でき、基準物を用いずに、対象物の３次元形状を高精度に計測することができる。
【００７８】
また第１実施形態によれば、投影単位画素毎に正弦波関数の周波数を設定しているため、正弦波関数の周期単位でなく、投影単位画素単位で最適な正弦波関数の周波数を設定でき、対象物の３次元形状を高精度に計測することができる。
【００７９】
（第２実施形態）
第２実施形態では、投影単位画素毎に正弦波関数の方向（第２パタンの縞模様の方向）を設定する例について説明する。以下では、第１実施形態との相違点の説明を主に行い、第１実施形態と同様の機能を有する構成要素については、第１実施形態と同様の名称・符号を付し、その説明を省略する。
【００８０】
図８は、第２実施形態の計測装置１１０の構成の一例を示すブロック図である。図８に示すように、第２実施形態の計測装置１１０では、設定部１１９及び生成部１２１が第１実施形態と相違する。
【００８１】
設定部１１９は、第１算出部１７により算出された距離を用いて、正弦波関数の方向を更に設定する。ここで、設定部１１９は、投影部１３の投影単位画素毎に、正弦波関数の方向を設定する。具体的には、設定部１１９は、投影単位画素毎に、第１算出部１７により算出された３次元距離を用いて、対象物の曲率方向を複数算出し、算出した複数の曲率方向のうち所定の曲率方向を正弦波関数の方向に設定する。所定の曲率方向は、例えば、複数の曲率方向のうちの最小の曲率方向である。
【００８２】
例えば、設定部１１９は、第１算出部１７により算出された３次元距離を用いて、曲率の主方向を算出し、最小主曲率方向に対応する最小の曲率方向を正弦波関数の方向に設定する。
【００８３】
具体的には、設定部１１９は、３次元距離により得られる３次元点を中心とする一定半径内の点群に対して、局所的な二次曲面当てはめを行うことで最小主曲率方向を算出する。
【００８４】
ここでは、設定部１１９は、点群の３次元座標に対して主成分分析を行い、第１〜第３主成分の方向の単位ベクトルを基底とする座標系を構成し、３次元位置の分散が最小となる軸を高さ方向に取る二次曲面関数ｚ＝ａｘ２＋ｂｘｙ＋ｃｙ２＋ｄｘ＋ｅｙ＋ｆを点群にあてはめる。
【００８５】
そして設定部１１９は、あてはめ結果である二次曲面から、曲率が最大・最小となる方向を表す主方向および法線方向を算出する。設定部１１９は、この局所的な二次曲面あてはめを、３次元距離により得られる全ての３次元点に対して行うことで、全ての３次元点に対する最小の曲率方向を求める。
【００８６】
ここで、各局所領域において、理想的には最小の曲率方向は一致する。しかしながら、実際には、推定誤差の影響で最小主曲率方向が１つに定まらないため、第２実施形態では、設定部１１９は、投票によってアウトライヤを排除した後に、主方向を平均化し、局所領域全体の最小主曲率方向Ｖ（ｘ，ｙ）を決定し、決定した最小主曲率方向Ｖ（ｘ，ｙ）を正弦波関数の方向に設定する。
【００８７】
生成部１２１は、設定部１１９により設定された周波数及び方向の正弦波関数に従って輝度値が変化する第２パタンを生成する。具体的には、生成部１２１は、設定部１１９により投影単位画素毎に設定された周波数及び方向の正弦波関数に従って各投影単位画素の輝度値が変化する第２パタンを生成する。例えば、生成部１２１は、投影単位画素毎に数式（１２）に従って輝度値が変化する第２パタンを生成する。
【００８８】
【数１２】
2015184056.tif 000014
【００８９】
ここで、α（ｘ，ｙ）は正弦波関数の振幅、β（ｘ，ｙ）はオフセット成分、φ（ｘ，ｙ）は位相値、Ｉ（ｘ，ｙ）は画素（ｘ，ｙ）の輝度値であり、θｖｘは正弦波関数の最小の曲率方向のｘ方向の周波数であり、θｖｙは正弦波関数の最小の曲率方向のｙ方向の周波数である。
【００９０】
図９は、第２実施形態において対象物５１、５２に投影された第２パタンの一例を示す図である。図９に示す例では、投影部１３の投影距離が遠いほど、第２パタンの縞模様が広くなっており、更に、最小の曲率方向に正弦波関数の方向が設定されるため、対象物５２に投影された第２パタン５５の縞模様よりも、対象物５１に投影された第２パタン１５４の縞模様の方が、幅が広くなっており、第２パタン５５の縞模様と第２パタン１５４の縞模様との方向が異なっている。
【００９１】
第２実施形態では、前述した手法で投影単位画素毎に正弦波関数の周波数及び方向を設定しているため、曲率が大きい方向に縞模様が引き伸ばされず、対象物の３次元形状をより高精度に計測することができる。
【００９２】
図１０は、第２実施形態の計測装置１１０で行われる処理の手順の流れの一例を示すフローチャートである。
【００９３】
まず、ステップＳ２０１〜Ｓ２０７までは、図７に示すフローチャートのステップＳ１０１〜Ｓ１０７までと同様である。
【００９４】
続いて、設定部１１９は、第１算出部１７により算出された画像単位画素毎の距離を用いて、投影部１３の投影単位画素毎に正弦波関数の方向を設定する（ステップＳ２０８）。
【００９５】
続いて、生成部１２１は、設定部１１９により投影単位画素毎に設定された周波数及び方向の正弦波関数に従って各投影単位画素の輝度値が変化する第２パタンを生成する（ステップＳ２０９）。
【００９６】
以降、ステップＳ２１１〜Ｓ２１７までは、図７に示すフローチャートのステップＳ１１１〜Ｓ１１７までと同様である。
【００９７】
以上のように第２実施形態によれば、前述した手法で投影単位画素毎に正弦波関数の周波数及び方向を設定しているため、曲率が大きい方向に縞模様が引き伸ばされず、対象物の３次元形状をより高精度に計測することができる。
【００９８】
（ハードウェア構成）
図１１は、上記各実施形態の計測装置のハードウェア構成の一例を示すブロック図である。図１１に示すように、上記各実施形態の計測装置は、ＣＰＵなどの制御装置９１と、ＲＯＭやＲＡＭなどの記憶装置９２と、ＨＤＤやＳＳＤなどの外部記憶装置９３と、ディスプレイなどの表示装置９４と、マウスやキーボードなどの入力装置９５と、通信Ｉ／Ｆ９６と、プロジェクタなどの投影装置９７と、デジタルカメラなどの撮像装置９８とを、備えており、通常のコンピュータを利用したハードウェア構成で実現できる。
【００９９】
上記各実施形態の計測装置で実行されるプログラムは、ＲＯＭ等に予め組み込んで提供される。
【０１００】
また、上記各実施形態の計測装置で実行されるプログラムを、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、ＣＤ−Ｒ、メモリカード、ＤＶＤ、フレキシブルディスク（ＦＤ）等のコンピュータで読み取り可能な記憶媒体に記憶されて提供するようにしてもよい。
【０１０１】
また、上記各実施形態の計測装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、上記各実施形態の計測装置で実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するようにしてもよい。
【０１０２】
上記各実施形態の計測装置で実行されるプログラムは、上述した各部をコンピュータ上で実現させるためのモジュール構成となっている。実際のハードウェアとしては、例えば、制御装置９１が外部記憶装置９３からプログラムを記憶装置９２上に読み出して実行することにより、上記各部がコンピュータ上で実現されるようになっている。
【０１０３】
以上説明したとおり、上記各実施形態によれば、基準物を用いずに、対象物の３次元形状を高精度に計測することができる。
【０１０４】
なお本発明は、上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また上記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせても良い。
【０１０５】
例えば、上記実施形態のフローチャートにおける各ステップを、その性質に反しない限り、実行順序を変更し、複数同時に実施し、あるいは実施毎に異なった順序で実施してもよい。
【符号の説明】
【０１０６】
１０、１１０  計測装置
１１  記憶部
１３  投影部
１５  撮像部
１７  第１算出部
１９、１１９  設定部
２１、１２１  生成部
２３  第２算出部
２５  出力部
【図１】
2015184056.tif 000015
【図２】
2015184056.tif 000016
【図３】
2015184056.tif 000017
【図４】
2015184056.tif 000018
【図５】
2015184056.tif 000019
【図６】
2015184056.tif 000020
【図７】
2015184056.tif 000021
【図８】
2015184056.tif 000022
【図９】
2015184056.tif 000023
【図１０】
2015184056.tif 000024
【図１１】
2015184056.tif 000025