(57)【要約】【課題】  複数の色を用いるパターンを投影して被写体の形状計測を行う場合、被写体表面の色によっては計測精度が大幅に悪化する。【解決手段】  被写体に投影パターンを投影する投影手段と、前記投影パターンが投影された画像を撮像する撮像手段と、前記撮像手段によって撮像された画像に基づいて、前記被写体の三次元形状を計算する三次元形状計算手段とを備え、前記投影手段は、周期的に繰り返し、かつ連続的に輝度変化を有する計測波形と、該計測波形の輝度値のピーク間の領域に、前記計測波形の対応付けを行うための、２値以上の情報が符号化された少なくとも２つ以上の符号シンボルからなる符号列とを重畳した投影パターンを投影することを特徴とする三次元形状計測装置。【選択図】  図１
2014052210.tif 000002
【特許請求の範囲】
【請求項１】
被写体に投影パターンを投影する投影手段と、
前記投影パターンが投影された画像を撮像する撮像手段と、
前記撮像手段によって撮像された画像に基づいて、前記被写体の三次元形状を計算する三次元形状計算手段とを備え
前記投影手段は、周期的に繰り返し、かつ連続的に輝度変化を有する計測波形と、該計測波形の輝度値のピーク間の領域に、前記計測波形の対応付けを行うための、２値以上の情報が符号化された少なくとも２つ以上の符号シンボルからなる符号列とを重畳した投影パターンを投影することを特徴とする三次元形状計測装置。
【請求項２】
前記計測波形は、平行に並んでいる単色の第一の線分群であり、前記符号シンボルは、前記計測波形のピーク間の領域に存在し、前記第一の線分群と平行に並んでいる単色の第二の線分群であることを特徴とする請求項１に記載の三次元形状計測装置。
【請求項３】
前記計測波形と前記符号シンボルは、同一色であることを特徴とする請求項１または２のいずれか１項に記載の三次元形状計測装置。
【請求項４】
前記三次元形状計測手段は、
前記計測波形の前記撮像画像におけるピーク位置を抽出する抽出手段と、
前記抽出された撮像画像上の計測波形のピーク位置と、前記符号シンボルを復号した符号情報とに基づいて、前記計測波形の波数の対応付けを行う計測波形対応手段と、
前記計測波形のピーク位置と、前記符号シンボルの位置とに基づいて、前記計測波形のピーク間の領域に、前記符号シンボルが存在するか否かを判定する判定手段と、
前記判定手段により判定された結果に基づき、前記計測波形の位相計算の方法を選択し、前記波数が対応付けられた計測波形に基づいて、選択された位相計算の方法で位相計算を行う位相計算手段と、
前記位相計算された結果に基づいて、前記被写体の三次元形状を計算する計算手段とを備えることを特徴とする請求項１乃至３のいずれか１項に記載の三次元形状計測装置。
【請求項５】
前記判定手段により、前記計測波形のピーク間の領域に、前記符号シンボルが存在しないと判定された領域について、前記計測波形の位相計算を行い、前記符号シンボルが存在すると判定された領域について、前記計測波形の位相計算を行わないことを特徴とする請求項４に記載の三次元形状計測装置。
【請求項６】
前記三次元形状計算手段は、前記位相計算された結果から前記撮像画像中の投影パターンの位置を取得し、該位置と、前記撮像手段及び前記投影手段の位置関係とに基づいて、当該撮像手段から前記被写体への奥行きを計算することを特徴とする請求項１乃至５のいずれか１項に記載の三次元形状計測装置。
【請求項７】
前記計測波形は、正弦波状の輝度変化を有することを特徴とする請求項１乃至５のいずれか１項に記載の三次元形状計測装置。
【請求項８】
前記符号シンボルは、前記計測波形の単位波形と異なる輝度変化を有することを特徴とする請求項１乃至７のいずれか１項に記載の三次元形状計測装置。
【請求項９】
前記符号シンボルは、前記計測波形の単位波形より急峻な輝度変化を有することを特徴する請求項１乃至７のいずれか１項に記載の三次元形状計測装置。
【請求項１０】
前記符号シンボルは、ガウス関数状の輝度変化を有することを特徴とする請求項１乃至７のいずれか１項に記載の三次元形状計測装置。
【請求項１１】
被写体に投影パターンを投影する投影工程と、
前記投影パターンが投影された画像を撮像する撮像工程と、
前記撮像手段によって撮像された画像に基づいて、前記被写体の三次元形状を計算する三次元形状計算工程とを有し、
前記投影工程では、周期的に繰り返し、かつ連続的に輝度変化を有する計測波形と、該計測波形の輝度値のピーク間の領域に、前記計測波形の前記撮像画像上の位置を特定するための、２値以上の情報が符号化された、少なくとも２つ以上からなる符号シンボルからなる符号列とを重畳した投影パターンを投影することを特徴とする三次元形状計測方法。
【請求項１２】
請求項１１に記載された方法をコンピュータに実行させるためのプログラム。
【請求項１３】
請求項１２に記載されたプログラムを記憶した、コンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被写体に投影パターンを投影し、投影した投影パターンを撮影することによって被写体表面の３次元形状を計測する為の技術に関するものである。
【背景技術】
【０００２】
縞パターンを被写体に投影して、その撮像画像から縞パターンの歪みを計算することで、被写体の三次元形状や、表面の歪み具合を計測するアクティブ方式の三次元形状計測が従来から実施されている。特に、正弦波状の輝度変化を有する縞パターンを投影し、縞パターンの位相をずらしながら複数枚撮像することで高密度かつ高精度に被写体の三次元形状や表面の歪み具合を計測できる位相シフト法が広く実施されている。
【０００３】
しかし、位相シフト法は被写体の形状が変わらない状態で複数枚撮像して位相計算を行う前提の手法であり、撮像する間に被写体が移動もしくは変形してしまうような条件下では、正確な計測を行えなくなる課題がある。
【０００４】
このような課題を解決するために、複数枚でなく１枚のみの撮像で位相計算を行う手法も実施されている。非特許文献１に示される方法では、特定順序で緑色、青色それぞれ一様に着色された縦横の線パターンを１枚だけ被写体に投影し、撮像する方式としている。より具体的には、投影された線パターンの順序と、撮像された線パターンの順序を対応付け、撮像された線パターンを、輝度変化を有する縞パターンとしてガボールフィルタを適用し、１枚の撮像画像から位相計算を行って高密度に三次元形状を計測している。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】佐川立昌，  川崎洋，  古川亮，  清田祥太，  平行線投影を用いた連続領域の検出による高密度なワンショット形状復元，  ＭＩＲＵ２０１１  画像の認識・理解シンポジウム論文集，  ｐｐ．  ４１６−４２３（２０１１）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、非特許文献１の方法では、投影パターン内の線パターンに２色を使用しており、被写体表面の色によっては各色の線パターンの波形が大きく影響を受け、線パターンの順序の対応付けに失敗する。または、位相計算が正しく行えない等で計測精度が大幅に悪化する。
本発明は、このような課題に鑑みてなされたものであり、複数の色を使用することなく、１枚の撮像画像から高密度かつ高精度に被写体の３次元形状を計測するための技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、例えば、本発明の三次元形状計測装置は、被写体に投影パターンを投影する投影手段と、前記投影パターンが投影された画像を撮像する撮像手段と、前記撮像手段によって撮像された画像に基づいて、前記被写体の三次元形状を計算する三次元形状計算手段とを備え、前記投影手段は、周期的に繰り返し、かつ連続的に輝度変化を有する計測波形と、該計測波形の輝度値のピーク間の領域に、前記計測波形の対応付けを行うための、２値以上の情報が符号化された少なくとも２つ以上の符号シンボルからなる符号列とを重畳した投影パターンを投影することを特徴とする。
【発明の効果】
【０００８】
本発明を適用することで、複数の色を使用することなく、１枚の撮像画像から高密度かつ高精度に被写体の三次元形状を計測することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態における装置の全体構成を示す図である。
【図２】第１の実施形態における投影パターンを示す図である。
【図３】第１の実施形態における投影パターンが投影された被写体を示す図である。
【図４】第１の実施形態における処理の手順を示すフローチャートである。
【図５】第１の実施形態のステップＳ４０４における詳細な処理の手順を示すフローチャートである。
【図６】本発明の実施形態において使用するＳｏｂｅｌフィルタを示す図である。
【図７】第１の実施形態のステップＳ５０２におけるＳｏｂｅｌフィルタの走査方向を示す図である。
【図８】第１の実施形態のステップＳ５０２における、走査方向に対する縦Ｓｏｂｅｌフィルタ画像の値の変化の例を示す図である。
【図９】（ａ）撮像画像１０３内での位置をプロットした計測波形点群Ｃを示す図と、（ｂ）ラベリングを行って抽出した計測波形ピーク曲線Ｌｎを示す図である。
【図１０】第１の実施形態のステップＳ４０５における詳細な処理の手順を示すフローチャートである。
【図１１】第１の実施形態のステップＳ４０８における詳細な処理の手順を示すフローチャートである。
【図１２】カメラ１０４の光学系の主点位置１２０１を原点Ｏ（０，０）とするカメラ座標系１２０２を用いて、投影パターン投影パターンの縦位置ＹＱｐｑ上における任意の計測点１２０４の位置を計測する場合を示す模式図である。
【図１３】第２の実施形態における投影パターンを示す図である。
【図１４】第２の実施形態における投影パターンが投影された被写体を示す図である。
【図１５】第２の実施形態における処理の手順を示すフローチャートである。
【図１６】第２の実施形態における投影パターン内の符号シンボルを含む分割領域ＳＸａＬｎの（ａ）輝度関数Ｂθ＝Ｆ（θ）と、（ｂ）輝度微分関数ΔＢθ＝Ｆ’（θ）を示す図である。
【図１７】第３の実施形態における投影パターンを示す図である。
【図１８】第３の実施形態における投影パターンが投影された被写体を示す図である。
【図１９】第３の実施形態における処理の手順を示すフローチャートである。
【図２０】第３の実施形態のステップＳ１９０５における詳細な処理の手順を示すフローチャートである。
【図２１】第３の実施形態における撮像画像１８０１の符号シンボルを含む分割領域ＳＸａＬｎにおける（ａ）符号シンボルが１本の場合の輝度微分関数ΔＢｐと、（ｂ）２本の場合の輝度微分関数ΔＢｐを示す図である。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。
【００１１】
［第１の実施形態］
本実施形態に係る三次元形状計測装置は、被写体の表面形状を計測するためのもので、図１に示す構成を有する。しかし、図１に示した構成は一例であり、いくつかの構成要件を１つの構成要件にまとめたり、１つの構成要件を複数の構成要件に分解したりするなど、様々な変形例が考え得る。
【００１２】
プロジェクタ１０２は、計測対象となる被写体１０１に対して、投影パターンを投影する投影部として機能する。この投影パターンはプロジェクタ１０２内のメモリに予め保存されているか、後述の投影パターン生成部によって作成されたものが供給されるか、若しくは不図示の外部装置からプロジェクタ１０２に対して供給されるものであるか、いずれの場合であってもよい。
【００１３】
本実施形態で用いる投影パターン２０１の構成を図２（ａ）に示す。本実施形態で用いる投影パターン２０１は、縦方向（第一の方向）に、周期的に繰り返し、かつ連続的に正弦波状の輝度変化を有する計測波形（第一の線分群）２０２が配置されている。そして、計測波形２０２の波間に、符号シンボル２０３（第二の線分群）を複数重畳した、単色のパターン（符号列）で構成される。すなわち、計測波形と符号シンボルは同一色である。なお、符号シンボル２０３は、後述する計測波形の対応付けに使用するための情報が符号化されている波形である。また、本実施形態および以降の実施形態において、「単色」には濃淡を有する場合も含まれる。
【００１４】
投影パターン生成部１０３は、後述する規則に従いプロジェクタ１０２で投影する投影パターンデータを生成する、投影パターン生成部として機能する。
【００１５】
カメラ１０４は、投影パターンが投影された被写体１０１を撮像して撮像画像を生成した撮像画像を後段の投影パターン抽出部１０５に対して送出する撮像部として機能する。なお、カメラ１０４とプロジェクタ１０２の光軸は並行をなしており、さらに各光軸は被写体に対してほぼ垂直をなした配置とする。
【００１６】
投影パターン抽出部１０５は、カメラ１０４から送出された撮像画像３０１を取得すると、取得した撮像画像中に写っている投影パターン２０１内における計測波形の山に相当する撮像画像上の計測波形ピーク曲線を選択的に抽出する。
【００１７】
計測波形対応部１０６は、撮像画像３０１から符号シンボルを復号して、後述する計測波形の対応付けに使用するための符号情報を取得する。この符号情報を使用して、投影パターン抽出部１０５で得られた撮像波形ピーク曲線と、撮像画像３０１内の各計測波形ピーク曲線との間で、波数の対応付けを行う。前記計測波形の前記撮像画像上の位置を特定する。
【００１８】
位相計算部１０７は、撮像画像３０１内における各計測波形ピーク位置の間の領域に対して、正弦波の位相を計算する。なお、符号シンボルが存在する領域では正弦波とは異なる波形を示すため、位相計算を行わない。
【００１９】
三次元形状計算部１０８は、撮像画像３０１中におけるカメラ１０４から被写体１０１への奥行き、すなわち三次元形状を計算する。具体的には、計測波形対応部１０６で得られた計測波形の対応付け結果と、位相計算部１０７で得られた位相と、事前に取得しているプロジェクタ１０２とカメラ１０４の位置関係とを用いて、計算する。
【００２０】
図４に、本実施形態における動作を説明するフローチャートを示す。以下で、フローチャートのステップに従って動作説明を行う。
【００２１】
（ステップＳ４０１）
図１における投影パターン生成部１０３が、図２（ａ）における投影パターン２０１の投影パターンデータを以下の規則に従い生成する。
【００２２】
投影パターン２０１は、縦方向に、周期的に繰り返し、かつ連続的に正弦波状の輝度変化を有する計測波形２０２の波間に、後述する計測波形の対応付けに使用するため情報が符号化されている符号シンボル２０３を複数重畳した、単色のパターンで構成される。計測波形２０２のピーク位置を横軸で位相０、一つ下のピーク位置を位相２πとして、符号シンボル２０３の存在する領域の輝度Ｂの変化を図２（ｂ）に示す。
【００２３】
符号シンボルの配置は、図２（ｃ）に示すように縦方向に領域Ａａ，  Ａｂ，  Ｂａ，  Ｂｂ，  Ｃａ，  Ｃｂ，  Ｄａ，  Ｄｂ，  Ａａ…と、隙間領域Ｅを挟みながらＡａ〜Ｄｂまでの領域を繰り返すように区切られて構成されている。符号シンボルは、Ａａ〜Ｄｂで分割された単位で、計測波形ピーク位置の中間に配置されており、符号シンボルの直上に位置する計測波形ピークの、計測波形上における波数Ｗ（０〜１５）を符号情報として有している。
【００２４】
具体的には、Ａｘ、Ｂｘ、Ｃｘ、Ｄｘ（ｘ＝ａ，ｂ）で２進数４桁の数値を表しており、Ｘａ（Ｘ＝Ａ，  Ｂ，  Ｃ，  Ｄ）の領域に符号シンボルが存在する場合には０、Ｘｂ（Ｘ＝Ａ，  Ｂ，  Ｃ，  Ｄ）の領域に存在する場合には１を表す。例として、図２（ｂ）における領域２０４を観察した場合、符号シンボルはＡａ、Ｂｂ、Ｃａ、Ｄｂに存在するため、２進数４桁で表現すると０１０１となる。これを１０進数に変換するとＷ＝５となる。
【００２５】
なお、Ａｘ，  Ｂｘ，  Ｃｘ，  Ｄｘ（ｘ＝ａ，ｂ）の間には隙間領域Ｅが配置されているが、これはノイズによる誤検出を防ぐために設けてあり、本領域には符号シンボルは存在しない。
【００２６】
（ステップＳ４０２）
プロジェクタ１０２は、ステップＳ４０１で生成した図２（ａ）における投影パターン２０１を被写体１０１に投影する。
【００２７】
（ステップＳ４０３）
カメラ１０４は、プロジェクタ１０２により投影された被写体１０１を撮像して撮像画像を生成し、生成した撮像画像を後段の投影パターン抽出部１０５に対して送出する。
【００２８】
（ステップＳ４０４）
投影パターン抽出部１０５は、カメラ１０４から送出された撮像画像中に写っている投影パターン２０１中の計測波形２０２を選択的に抽出する。ステップＳ３０４における処理の詳細を、図５のフローチャートを用いて説明する。
【００２９】
（ステップＳ５０１）
投影パターン抽出部１０５は、ステップＳ４０３で取得した撮像画像３０１に対して縦方向に微分作用を持つＳｏｂｅｌフィルタ処理を適用し、縦Ｓｏｂｅｌフィルタ画像を生成する。Ｓｏｂｅｌフィルタは畳み込みフィルタの一種であり、本実施形態においては、図６に示すように３×３のサイズからなるフィルタを使用する。
【００３０】
（ステップＳ５０２）
投影パターン抽出部１０５は、ステップＳ５０１で取得した縦Ｓｏｂｅｌフィルタ画像に対して走査を行い、値の符号が反転する位置を計測波形ピーク位置として検出する。以下に縦Ｓｏｂｅｌフィルタから、計測波形ピーク位置を求める具体的な手順について述べる。
【００３１】
最初に、縦線Ｓｏｂｅｌフィルタ画像をＩｖとして、走査位置における値をＩｖ  （ｘ）とした時、走査方向を図７に示すように、計測波形に対してほぼ垂直に交わる方向として設定する。この走査方向に従って走査を行い、（１）式に示すように閾値Ｔを超える位置ｘｔを検出する。
【００３２】
【数１】
2014052210.tif 000003
【００３３】
図８に、走査方向に対する縦Ｓｏｂｅｌフィルタ画像の値の変化の例を示す。領域８０１で示した部分が計測波形の山が存在する位置に相当する。この閾値処理によって、ノイズや、横線パターンが被写体によって変形して生じた微小値８０２の影響を除去し、撮像画像３０１中から計測波形によって生じた立ち上がり部分８０３を正しく検出できる。
【００３４】
次に、ｘｔを起点として、以下の式（２）を満たす位置ｘ０の走査を行う。
【００３５】
【数２】
2014052210.tif 000004
【００３６】
ここで、式（２）を満たすｘ０の位置は、図８に示すように計測波形の輝度が局所的にピークになる重心の位置を示している。このｘ０の位置を、計測波形ピーク点ｃｍ（ｍ＝１，２．３…ｍｍａｘ）として取得する。縦Ｓｏｂｅｌフィルタ画像Ｉｖ中の全ての位置ｘに対して、上記走査を繰り返し、縦Ｓｏｂｅｌフィルタ画像Ｉｖ中の全ての計測波形ピーク点ｃｍを、計測波形ピーク点群Ｃとして取得する。図９（ａ）に、撮像画像１０３内での位置をプロットした計測波形点群Ｃ９０１を示す。
【００３７】
（ステップＳ５０３）
投影パターン抽出部１０５が、ステップＳ４０３で取得した計測波形ピーク点群Ｃの近接点同士をグループ化して、それぞれを単一領域Ｌｎ（ｎ＝１，２，３…）としてラベル付けを行う。計測波形ピーク点ｃｍ数が閾値Ｎｃ以下のグループは、ノイズとみなしてラベル付けを行わない。
【００３８】
以上のラベル付けを行うことで、ノイズや、符号シンボルの輝度変化によって生じた誤検出を良好に除去して、曲線状の領域である計測波形ピーク曲線Ｌｎを選択的に抽出することができる。図９（ｂ）に、ラベリングを行って抽出した計測波形ピーク曲線Ｌｎ９０２を示す。
【００３９】
（ステップＳ４０５）
計測波形対応部１０６は、ステップＳ４０３で取得した撮像画像３０１と、ステップＳ４０４で抽出した計測波形から、符号情報を抽出する。さらに、この符号情報を使用して、ステップＳ４０４で抽出した計測波形ピーク曲線Ｌｎと、撮像画像３０１内の各計測波形ピーク曲線との間で、波数の対応付けを行う。
【００４０】
図１０に、ステップＳ４０５において符号情報を抽出し、計測波形ピーク曲線Ｌｎの波数の対応付ける手順を説明するフローチャートを示す。以下で、フローチャートのステップ番号に従ってステップＳ４０５における動作説明を行う。
【００４１】
（ステップＳ１００１）
計測波形対応部１０６は、ステップＳ４０３で取得した撮像画像３０１を以下の領域ごとに縦方向、横方向で分割する。
【００４２】
第一に、縦方向の分割を行う。先述のように、投影パターン２０１は、図２（ｂ）に示すように予め縦方向に領域Ａａ，  Ａｂ，  Ｂａ，  Ｂｂ，  Ｃａ，  Ｃｂ，  Ｄａ，  Ｄｂ，  Ａａ…と、隙間領域Ｅを挟みながらＡａ〜Ｄｂまでの領域を繰り返すように区切られている。また、本実施形態においてはカメラ１０４とプロジェクタ１０２の光軸は並行をなしており、各光軸は被写体に対してほぼ垂直をなした配置としている。この配置により、投影パターン２０１の分割領域は、撮像画像３０１においても被写体１０１の形状によらず常に一定となる。この撮像画像３０１における分割領域Ａａ〜Ｄｂを計測前にあらかじめ記録しておき、撮像画像３０１を縦方向に分割する。
【００４３】
第二に、横方向の分割を行う。ステップＳ４０４で抽出した、任意の計測波形ピーク曲線をＬｎ、Ｌｎの下方向で最も近接した計測波形ピーク曲線Ｌｎ＋１としたとき、ＬｎとＬｎ＋１で囲まれる領域を分割する。
【００４４】
第一と第二の分割を行った撮像画像３０１を、分割領域ＳＸｘＬｎと（Ｘｘ＝Ａａ，  Ａｂ…．Ｄｂ，  Ｅ）として取得する。計測波形ピーク曲線Ｌｎ、Ｌｎ＋１のいずれかが途中で縦方向の分割単位の途中で途切れている領域は分割を行わず、以降の処理から除外する。
【００４５】
（ステップＳ１００２）
計測波形対応部１０６は、ステップＳ５０３で取得した、撮像画像３０１中における全ての計測波形ピーク曲線Ｌｎを走査する。
【００４６】
（ステップＳ１００３）
計測波形対応部１０６は、走査対象の計測波形ピーク曲線Ｌｎと計測波形ピーク曲線Ｌｎ＋１とで囲まれる領域に、分割領域がＳＡａＬｎ〜ＳＤｂＬｎまで全て存在するかどうかを判定する。先述の通り、領域Ａａ〜Ｄｂは繰り返し出現するため、一度でも出現していれば存在すると判定する。存在する場合はステップＳ１００４に進む。存在しない場合はステップＳ１００２に戻る。
【００４７】
（ステップＳ１００４）
計測波形対応部１０６は、計測波形ピーク曲線Ｌｎの投影画像３０１内における計測波形上における波数ＷＬｎを、０で初期化する。先に述べたように、この波数ＷＬｎが符号情報に相当する。
【００４８】
（ステップＳ１００５）
計測波形対応部１０６は、撮像画像３０１における分割領域ＳＡａＬｎとＳＡｂＬｎの平均輝度を比較する。平均輝度が高い方に符号シンボルが存在すると判定し、ＳＡａＬｎの平均輝度が高い場合はステップＳ１００６に、それ以外はステップＳ１００７に進む。
【００４９】
（ステップＳ１００６）
計測波形対応部１０６は、波数ＷＬｎに２進数で１０００に相当する８を加える。
【００５０】
（ステップＳ１００７）
計測波形対応部１０６は、撮像画像３０１における分割領域ＳＢａＬｎとＳＢｂＬｎの平均輝度を比較する。平均輝度が高い方に符号シンボルが存在すると判定し、ＳＢａＬｎの平均輝度が高い場合はステップＳ１００８に、それ以外はステップＳ１００９に進む。
【００５１】
（ステップＳ１００８）
計測波形対応部１０６は、波数ＷＬｎに２進数で０１００に相当する４を加える。
【００５２】
（ステップＳ１００９）
計測波形対応部１０６は、撮像画像３０１における分割領域ＳＣａＬｎとＳＣｂＬｎの平均輝度を比較する。平均輝度が高い方に符号シンボルが存在すると判定し、ＳＣａＬｎの平均輝度が高い場合はステップＳ１０１０に、それ以外はステップＳ１０１１に進む。
【００５３】
（ステップＳ１０１０）
計測波形対応部１０６は、波数ＷＬｎに２進数で００１０に相当する２を加える。
【００５４】
（ステップＳ１０１１）
計測波形対応部１０６は、撮像画像３０１における分割領域ＳＤａＬｎとＳＤｂＬｎの平均輝度を比較する。平均輝度が高い方に符号シンボルが存在すると判定し、ＳＤａＬｎの平均輝度が高い場合はステップＳ１０１２に、それ以外はステップＳ１０１３に進む。
【００５５】
（ステップＳ１０１２）
計測波形対応部１０６は、波数ＷＬｎに２進数で０００１に相当する１を加える。
【００５６】
（ステップＳ１０１３）
計測波形対応部１０６は、撮像画像３０１内に存在する全ての計測波形ピーク曲線Ｌｎを走査完了したかどうかを判定する。走査完了していればステップＳ４０５における処理を終了する。走査完了していなければ、ステップＳ１００２に戻り走査を繰り返し実施する。
【００５７】
以上の手順を行うことで、各計測波形ピーク曲線Ｌｎについて、符号シンボルから符号情報を抽出し、投影パターンにおける計測波形ピークに対応する波数ＷＬｎを取得することができる。
【００５８】
（ステップＳ４０６）
位相計算部１０７は、ステップＳ１００１で取得した、撮像画像３０１中における全ての分割領域ＳＸｘＬｎ（Ｘｘ＝Ａａ，  Ａｂ…．Ｄｂ，  Ｅ）を走査する。
【００５９】
（ステップＳ４０７）
位相計算部１０７は、走査対象となる分割領域ＳＸｘＬｎ（Ｘｘ＝Ａａ，  Ａｂ…．Ｄｂ）内に、符号シンボルが存在するかどうかを判定する。符号シンボルが存在するかどうかを判定するには、ＳＸａＬｎの場合はＳＸｂＬｎと平均輝度を比較して高ければ存在すると判定し、ＳＸｂＬｎの場合はＳＸａＬｎと比較して高ければ存在すると判定する。以上のように、分割領域の単位で符号シンボルの投影位置を同定し、符号シンボルが存在しない場合にはステップＳ４０８に、存在する場合には位相計算をせずに、ステップＳ４０９に進む。つまり、符号シンボルが存在する領域は、位相計算を行わないため、位相の値が不明となる。しかしながら、その周囲の領域で求められた位相により、補間することで、符号シンボルが存在する領域に対しても、位相の値を求めることができる。
【００６０】
（ステップＳ４０８）
位相計算部１０７は、走査対象となる分割領域ＳＸａＬｎ内の位相計算を行い、投影パターン２０１内における絶対位相に相当する縦位置ＹＱｐｑを取得する。
図１１に、ステップＳ４０８において分割領域内の位相計算を行う手順を説明するフローチャートを示す。以下で、フローチャートのステップ番号に従ってステップＳ４０８における動作説明を行う。
【００６１】
（ステップＳ１１０１）
位相計算部１０７は、分割領域ＳＸａＬｎを縦方向のピクセル列に分解し、各々を走査線Ｖｐ（ｐ＝１，２，３…ｐｍａｘ）として走査する。ここで、ｐｍａｘは分割領域ＳＸａＬｎの横方向のピクセル幅を示す。
【００６２】
（ステップＳ１１０２）
位相計算部１０７は、走査対象となる走査線Ｖｐ内の上端ピクセルＱｕｐｐの輝度をＢｕｐｐとする。下端ピクセルＱｄｏｗｎｐの輝度をＢｄｏｗｎｐとする。最低輝度ピクセルＱｍｉｎｐの輝度をＢｍｉｎｐとする。これらの値を用いて、下記の式（３）、（４）により走査線Ｖｐを構成するピクセルＱｐｑの輝度Ｂｐｑ  （ｑ＝１，２，３…．ｑｍａｘ）を正規化輝度Ｂｎｐｑに変換する。ここで、ｑｍａｘは走査線Ｖｐのピクセル数を示す。
Ｑｕｐｐ≦Ｑｐｑ≦Ｑｍｉｎｐの場合
【００６３】
【数３】
2014052210.tif 000005
【００６４】
Ｑｍｉｎｐ＜Ｑｐｑ≦Ｑｄｏｗｎｐの場合
【００６５】
【数４】
2014052210.tif 000006
【００６６】
（ステップＳ１１０３）
位相計算部１０７は、走査対象となる走査線Ｖｐ内で、０〜π［ｒａｄ］の相対位相を計算し、投影パターン２０１内における絶対位相に相当する縦位置ＹＱｐｑを取得する。ステップＳ１１０２において得られた正規化輝度Ｂｎｐｑは、被写体表面の色を走査線Ｖｐの範囲内で一定とすると、位相０〜πの範囲内では走査線Ｖｐ上端の位相を０としたときの余弦値による相対位相をそのまま示している。よって、走査線内の任意のピクセルＱｐｑ上の相対位相値θＱｐｑ［ｒａｄ］は以下の式（５）で表わされる。
【００６７】
【数５】
2014052210.tif 000007
【００６８】
（０≦θＱｐｑ≦π）
上記の相対位相値θＱｐｑと、走査線Ｖｐを含む分割領域ＳＸａＬｎの直上に位置する、計測波形ピーク領域の端数ＷＬｎから、任意のピクセルＱｐｑの投影パターン上における縦位置ＹＱｐｑは以下の式（６）で表わされる。
【００６９】
【数６】
2014052210.tif 000008
【００７０】
ここで、Ｙ０は投影パターン２０１上における最上位に配置された計測波形ピークの縦位置、Ｙｐｈａｓｅは投影パターン２０１上における計測波形ピーク間の単位幅、πは円周率を示す。以上の計算を行うことで、走査線Ｖｐにおける０〜πの相対位相の範囲内で、任意のピクセルＱｐｑの縦位置を取得することができる。
【００７１】
（ステップＳ１１０４）
位相計算部１０７は、走査対象となる走査線Ｖｐ内で、π〜２π［ｒａｄ］の相対位相を計算し、投影パターン２０１内における絶対位相に相当する縦位置ＹＱｐｑを取得する。投影パターンの被写体表面での反射率を走査線Ｖｐの範囲内で一定、走査線Ｖｐ下端の位相を２πとしたとき、走査線内の任意のピクセルＱｐｑ上の相対位相値θＱｐｑ［ｒａｄ］は以下の式（７）で表わされる。
【００７２】
【数７】
2014052210.tif 000009
【００７３】
（π＜θＱｐｑ≦２π）
上記の相対位相値θＱｐｑと、走査線Ｖｐを含む分割領域ＳＸａＬｎの直上に位置する、計測波形ピーク領域の端数ＷＬｎから、ステップＳ１１０３と同様に任意のピクセルＱｐｑの投影パターン上における縦位置ＹＱｐｑは式（６）で表わされる。以上の計算を行うことで、走査線Ｖｐにおけるπ〜２πの相対位相の範囲内で、任意のピクセルＱｐｑの縦位置を取得することができる。
【００７４】
（ステップＳ１１０５）
位相計算部１０７は、分割領域ＳＸａＬｎ内に存在する全ての走査線Ｖｐを走査完了したかどうかを判定する。走査完了していればステップＳ４０８における処理を終了する。走査完了していなければ、ステップＳ１１０１に戻り走査を繰り返し実施する。
【００７５】
以上の手順を行うことで、走査対象となる分割領域ＳＸａＬｎ内の全ピクセルの位相計算を行い、投影パターン２０１内における絶対位相に相当する縦位置ＹＱｐｑを取得することができる。
【００７６】
（ステップＳ４０９）
三次元形状計算部１０８は、各分割領域ＳＸａＬｎ内に存在するピクセルＱｐｑの縦位置ＹＱｐｑを用いて、被写体１０１の三次元形状を計算する。図１２に、カメラ１０４の光学系の主点位置１２０１を原点Ｏ（０，０）とするカメラ座標系１２０２を用いて、投影パターンの縦位置ＹＱｐｑ上における任意の計測点１２０４の位置を計測する場合の模式図を示す。被写体１０１上における投影パターンの被写体上の縦位置１２０３は、投影パターンの縦位置ＹＱｐｑが三次元空間上になす平面と被写体１０１との交線となる。ここで、投影パターンの縦位置がなす光切断平面１２０５は、カメラ座標系を用いて以下の式（８）で予め較正されているものとする。
【００７７】
【数８】
2014052210.tif 000010
【００７８】
ここで、αＹｐｑ、βＹｐｑ、γＹｐｑ、εＹｐｑは、それぞれ三次元空間における光切断平面１２０５を表現するパラメータである。
【００７９】
また、投影パターンの被写体上の縦位置１２０３に存在する点１２０４の三次元位置は、図１におけるカメラ１０４による撮像画像１２０６上の投影点１２０７のピクセルＱｐｑ  （Ｑｘ，Ｑｙ，−ｆ）を用いて、以下の式（９）で表される直線１２０８上に存在する。ここで、図１２における撮像画像１２０６は、図１におけるカメラ１０４をピンホールカメラと仮定したときの、撮像素子上における投影像と等しい実寸法としている。さらに、撮像画像１２０６はカメラ座標のｘｙ平面に対して平行で、画像中心が原点位置からＺ軸方向に焦点距離の−ｆだけ離れた位置に配置されているものとする。
【００８０】
【数９】
2014052210.tif 000011
【００８１】
ｔは任意の実数をとるパラメータである。  式（８）で示した光切断平面１２０５と、式（９）で示した直線１２０８の交点が計測点１２０４となるため、計測点１２０４の位置Ｄ（Ｄｘ，  Ｄｙ，  Ｄｚ）はカメラ座標系において以下の式（１０）で表される。
【００８２】
【数１０】
2014052210.tif 000012
【００８３】
（ステップＳ４１０）
三次元形状計算部１０８は、撮像画像３０１内に存在する全ての分割領域ＳＸａＬｎを走査完了したかどうかを判定する。走査完了していれば本実施形態における処理を終了する。走査完了していなければ、ステップＳ４０６に戻り走査を繰り返し実施する。
【００８４】
上記のステップＳ４０２〜４１０の動作を実施することで、撮像画像３０１内で投影パターン上における縦位置ＹＱｐｑを対応付けられたピクセルＱｐｑに対して適用すれば、計測点１２０４の集合により被写体全体の三次元形状が求められる。
【００８５】
以上から、本実施形態によって単色のパターンが投影された１枚の撮像画像から、高密度かつ高精度に被写体の三次元形状を計測することができる。
【００８６】
なお、本実施形態における投影パターン２０１は、０、１を表現する４つの符号シンボルを用いて波数として符号情報を表現していたが、最小の領域で、ロバストに符号情報を表現できるようなその他の方法を用いてもよい。たとえば、多値を示す符号シンボルで疑似ランダムの数値列を示し、取得した符号シンボルの数値列と比較することで、取得した符号シンボルの数が変化しても、ロバストに対応付けが可能な符号情報を得ることができる。
【００８７】
［第２の実施形態］
次に、本発明を実施するに当たって、その他の好適な実施の形態について説明する。
【００８８】
本実施形態における画像情報処理装置の全体の構成は、図１に示す第１の実施形態における構成と基本的に同一である。
【００８９】
ただし、プロジェクタ１０２が計測対象となる被写体１０１に対して投影する投影パターンは、投影パターン２０１に代わって図１３（ａ）に示す投影パターン１３０１を用いる。また、カメラ１０４は図１４（ａ）に示す被写体１０１に対して、図１４（ｂ）に示す投影パターンが投影された撮像画像１４０１を取得する撮像部、として機能する。
【００９０】
図１５に、本実施形態における動作を説明するフローチャートを示す。以下で、フローチャートのステップに従って動作説明を行う。
【００９１】
（ステップＳ１５０１）
投影パターン生成部１０３は、図１３（ａ）における投影パターン１３０１の投影パターンデータを以下の規則に従い生成する。
【００９２】
投影パターン１３０１は、計測波形２０２と同様の輝度変化を有する計測波形１３０２の波間に、投影パターンの対応付けに使用する情報が符号化され、計測波形と同一の方向に輝度変化を有する符号シンボル１３０３を複数重畳した単色のパターンで構成される。
【００９３】
また、図１３（ｂ）に示すように縦方向に領域Ａａ，  Ａｂ，  Ｂａ，  Ｂｂ，  Ｃａ，  Ｃｂ，  Ｄａ，  Ｄｂ，  Ａａ…と、隙間領域Ｅを挟みながらＡａ〜Ｄｂまでの領域を繰り返すように区切られて構成されている。符号シンボル１３０３は、第１の実施形態における投影パターン２０１の符号シンボル２０３と同様の形式で、符号シンボル１３０３の直上に位置する計測波形ピークの、計測波形上における波数Ｗ（０〜１５）を符号情報として有している。
【００９４】
さらに、図１３（ｃ）に示すように、符号シンボル１３０３は、計測波形１３０２の単位波形よりも急峻な細いガウス関数状の連続的な輝度変化を有しており、この輝度変化を検出して後述する位相計算を可能としている。
【００９５】
プロジェクタ１０２は、ステップＳ１５０１で生成した図２（ａ）における投影パターン１３０１を被写体１０１に投影する。
【００９６】
（ステップＳ１５０２）
カメラ１０４は、投影パターン２０１が投影された被写体１０１を撮像し、図１４における撮像画像１４０１を取得する。
【００９７】
（ステップＳ１５０３）
投影パターン抽出部１０５は、ステップＳ１５０３で取得した撮像画像１４０１から、計測波形を選択的に抽出する。本ステップＳ１５０４の手順は、第１の実施形態におけるステップＳ４０４と同様に行えばよい。
【００９８】
（ステップＳ１５０４）
投影パターン抽出部１０５は、ステップＳ１５０３で取得した撮像画像１４０１と、ステップＳ１５０３で抽出した計測波形から、符号情報を抽出する。さらに、この符号情報を使用して、ステップＳ１５０３で抽出した計測波形ピーク曲線Ｌｎと、撮像画像３０１内の各計測波形ピーク曲線との間で、波数の対応付けを行う。本ステップＳ１５０５の手順は、第１の実施形態におけるステップＳ４０５と同様に行えばよい。なお、本実施形態における符号シンボルは、ステップＳ４０５における符号シンボルに相当する。
【００９９】
ステップＳ４０５と同様の手順を行うことで、各計測波形ピーク曲線Ｌｎについて、符号シンボルから符号情報を抽出し、投影パターンにおける計測波形ピークに対応する波数ＷＬｎを取得することができる。
【０１００】
（ステップＳ１５０５）
位相計算部１０７は、ステップＳ１５０５で取得した、撮像画像３０１中における全ての分割領域ＳＸｘＬｎ（Ｘｘ＝Ａａ，  Ａｂ…．Ｄｂ，  Ｅ）を走査する。
【０１０１】
（ステップＳ１５０６）
位相計算部１０７は、走査対象となる分割領域ＳＸｘＬｎ（Ｘｘ＝Ａａ，  Ａｂ…．Ｄｂ）内に、符号シンボルが存在するかどうかを判定する。符号シンボルが存在するかどうかを判定するには、ＳＸａＬｎの場合はＳＸｂＬｎと平均輝度を比較して高ければ存在すると判定し、ＳＸｂＬｎの場合はＳＸａＬｎと比較して高ければ存在すると判定する。以上のように分割領域の単位で符号シンボルの投影位置を同定し、符号シンボルが存在しない場合にはステップＳ１５０７に、存在する場合にはステップＳ１５０８に進む。
【０１０２】
（ステップＳ１５０７）
位相計算部１０７は、符号シンボルの存在しない分割領域ＳＸａＬｎ内の位相計算を行い、投影パターン１４０１内における絶対位相に相当する縦位置ＹＱｐｑを取得する。本ステップＳ１５０８の手順は、第１の実施形態におけるステップＳ４０８と同様に行えばよい。
ステップＳ４０８と同様の手順を行うことで、走査対象となる分割領域ＳＸａＬｎ内の全ピクセルの位相計算を行い、投影パターン１４０１内における絶対位相に相当する縦位置ＹＱｐｑを取得することができる。
【０１０３】
（ステップＳ１５０８）
位相計算部１０７は、符号シンボルの存在する分割領域ＳＸａＬｎ内の位相計算を行い、投影パターン１４０１内における絶対位相に相当する縦位置ＹＱｐｑを取得する。
【０１０４】
ステップＳ１５０９において分割領域内の位相計算を行う手順を説明するフローチャートは、第１の実施形態における図１１と同様である。以下で、フローチャートのステップ番号に従ってステップＳ１５０９における動作説明を行う。
【０１０５】
（ステップＳ１１０１）
位相計算部１０７は、分割領域ＳＸａＬｎを縦方向のピクセル列に分解し、各々を走査線Ｖｐ（ｐ＝１，２，３…ｐｍａｘ）として走査する。ここで、ｐｍａｘは分割領域ＳＸａＬｎの横方向のピクセル幅を示す。
【０１０６】
（ステップＳ１１０２）
位相計算部１０７は、走査対象となる走査線Ｖｐ内の上端ピクセルＱｕｐｐの輝度をＢｕｐｐとする。下端ピクセルＱｄｏｗｎｐの輝度をＢｄｏｗｎｐとする。符号シンボルの輝度ピークをピクセルＱｃｏｄｅｐとする。ピクセルＱｃｏｄｅｐよりも上側の最低輝度ピクセルＱｕｐｍｉｎｐの輝度をＢｕｐｍｉｎｐ、下側の最低輝度ピクセルＱｄｏｗｎｍｉｎｐの輝度をＢｄｏｗｎｍｉｎｐとする。これらの値を用いて、下記の式（１１）、（１２）により走査線Ｖｐを構成するピクセルＱｐｑの輝度Ｂｐｑ  （ｑ＝１，２，３…．ｑｍａｘ）を正規化輝度Ｂｎｐｑに変換する。ここで、ｑｍａｘは走査線Ｖｐのピクセル数を示す。
Ｑｕｐｐ≦Ｑｐｑ≦Ｑｃｏｄｅｐの場合
【０１０７】
【数１１】
2014052210.tif 000013
【０１０８】
Ｑｃｏｄｅｐ＜Ｑｐｑ≦Ｑｄｏｗｎｐの場合
【０１０９】
【数１２】
2014052210.tif 000014
【０１１０】
（ステップＳ１１０３）
位相計算部１０７は、走査対象となる走査線Ｖｐ内で、０〜π［ｒａｄ］の相対位相を計算し、投影パターン１４０１内における絶対位相に相当する縦位置ＹＱｐｑを取得する。ステップＳ１１０２において得られた正規化輝度Ｂｎｐｑは、被写体表面の色を走査線Ｖｐの範囲内で一定とすると、図１６に示すような、投影パターン１４０１の符号シンボルを含む分割領域ＳＸａＬｎの輝度関数Ｂｔ＝Ｆ（θ）の輝度値と等しくなる。ゆえに、位相０〜πの範囲におけるＱｐｑ上の相対位相値θＱｐｑ［ｒａｄ］は以下の式（１３）で表わされる。
【０１１１】
【数１３】
2014052210.tif 000015
【０１１２】
（０≦θＱｐｑ＜π）
輝度関数Ｂｔ＝Ｆ（θ）を予め投影パターンから取得して保持しておき、正規化輝度Ｂｎｐｑに上記の式（１３）を適用することで、θＱｐｑを求めることができる。しかし、図１６（ａ）に示すように、任意の輝度ＢｓａｍｐｌｅをＢｎｐｑとした時、解はθ１、θ２の二つ候補があり、一意に定まらない。そこで、図１６（ｂ）に示すような輝度微分関数ΔＢｔ＝Ｆ’（θ）を用いて、以下の式（１４）により微分値の符号から位置の判別を行う。
【０１１３】
【数１４】
2014052210.tif 000016
【０１１４】
ここでθｕｐｍｉｎは、投影パターン１３０１内に存在する符号シンボル１３０３の上方の計測波形１３０２と挟まれた領域において、最低輝度を取る相対位相値を示している。
【０１１５】
図１６（ｂ）におけるθ１、θ２に示すように、同じ輝度値でもΔＢｔの符号が異なるため、式（１４）による判別を行うことで、相対位相値θＱｐｑを一意に求めることができる。
【０１１６】
上記で求めた相対位相値θＱｐｑと、走査線Ｖｐを含む分割領域ＳＸａＬｎの直上に位置する、計測波形ピーク領域の端数ＷＬｎから、任意のピクセルＱｐｑの投影パターン上における縦位置ＹＱｐｑは第１の実施形態における式（６）と同様に表わされる。
【０１１７】
式（６）を適用した計算を行うことで、走査線Ｖｐにおける０〜πの相対位相の範囲内で、任意のピクセルＱｐｑの縦位置を取得することができる。
【０１１８】
（ステップＳ１１０４）
位相計算部１０７は、走査対象となる走査線Ｖｐ内で、π〜２π［ｒａｄ］の相対位相を計算し、投影パターン２０１内における絶対位相に相当する縦位置ＹＱｐｑを取得する。ステップＳ１１０２において得られた正規化輝度Ｂｎｐｑは、ステップＳ１１０３と同様に分割領域ＳＸａＬｎの輝度関数Ｂθ＝Ｆ（θ）を用いて、式（１５）で表わされる。
【０１１９】
【数１５】
2014052210.tif 000017
【０１２０】
（π≦θＱｐｑ＜２π）
本ステップにおいても、解は二つ候補があり、一意に定まらないため、図１６（ｂ）に示すような輝度微分関数ΔＢθ＝Ｆ’（θ）を用いて、以下の式（１６）により微分値の符号から位置の判別を行う。
【０１２１】
【数１６】
2014052210.tif 000018
【０１２２】
ここでθｄｏｗｎｍｉｎは、投影パターン１３０１内に存在する符号シンボル１３０３の上方の計測波形１３０２と挟まれた領域において、最低輝度を取る相対位相値を示している。
式（１６）による判別を行うことで、相対位相値θＱｐｑを一意に求めることができる。
【０１２３】
上記で求めた相対位相値θＱｐｑと、走査線Ｖｐを含む分割領域ＳＸａＬｎの直上に位置する、計測波形ピーク領域の端数ＷＬｎから、任意のピクセルＱｐｑの投影パターン上における縦位置ＹＱｐｑは第１の実施形態における式（６）と同様に表わされる。
式（６）を適用した計算を行うことで、走査線Ｖｐにおけるπ〜２πの相対位相の範囲内で、任意のピクセルＱｐｑの縦位置を取得することができる。
【０１２４】
（ステップＳ１１０５）
位相計算部１０７は、分割領域ＳＸａＬｎ内に存在する全ての走査線Ｖｐを走査完了したかどうかを判定する。走査完了していればステップＳ１５０９における処理を終了する。走査完了していなければ、ステップＳ１１０１に戻り走査を繰り返し実施する。
【０１２５】
（ステップＳ１５１０）
三次元形状計算部１０８は、各分割領域ＳＸａＬｎ内に存在するピクセルＱｐｑの縦位置ＹＱｐｑを用いて、被写体１０１の三次元形状を計算する。本ステップＳ１５１０の手順は、第１の実施形態におけるステップＳ４０９と同様に行えばよい。
【０１２６】
（ステップＳ１５１１）
三次元形状計算部１０８は、撮像画像１４０１内に存在する全ての分割領域ＳＸａＬｎを走査完了したかどうかを判定する。走査完了していれば本実施形態における処理を終了する。走査完了していなければ、ステップＳ１５０６に戻り走査を繰り返し実施する。
上記のステップＳ１５０２〜１５１０の動作を実施することで、撮像画像１４０１内で投影パターン上における縦位置ＹＱｐｑを対応付けられたピクセルＱｐｑに対して適用すれば、計測点１２０４の集合により被写体全体の三次元形状が求められる。
【０１２７】
以上から、本実施形態によって単色のパターンが投影された１枚の撮像画像から、符号シンボルが存在する領域も含めて高密度かつ高精度に被写体の三次元形状を計測することができる。
【０１２８】
なお、本実施形態においては、符号シンボルは計測波形よりも細いガウス関数状の連続的な輝度変化を有しているが、これに限定されるものではない。その他、符号として容易かつ被写体の形状を受けにくいロバストな検出が可能で、位相計算を高精度に行えるその他の波形を用いてもよい。例えば、本実施形態よりさらに細く、直線上の輝度変化を持ち、計測波形よりも高い輝度ピークを持つノコギリ波を用いることで、被写体との距離変化によるボケが生じても、検出可能なコントラストを維持した符号シンボルとすることができる。
【０１２９】
［第３の実施形態］
さらに、本発明を実施するに当たって、その他の好適な一実施の形態について説明する。
【０１３０】
本実施形態における画像情報処理装置の全体の構成は、図１に示す第１の実施形態における構成と基本的に同一である。
【０１３１】
ただし、プロジェクタ１０２が計測対象となる被写体１０１に対して投影する投影パターンは、投影パターン２０１に代わって図１７（ａ）に示す投影パターン１７０１を用いる。
【０１３２】
また、カメラ１０４は図１８（ａ）に示す被写体１０１に対して、図１８（ｂ）に示す投影パターンが投影された撮像画像１８０１を取得する撮像部として作用する。
【０１３３】
図１９に、本実施形態における動作を説明するフローチャートを示す。以下で、フローチャートのステップに従って動作説明を行う。
【０１３４】
（ステップＳ１９０１）
投影パターン生成部１０３は、図１７（ａ）における投影パターン１７０１の投影パターンデータを以下の規則に従い生成する。
【０１３５】
本実施形態における投影パターン１７０１は、計測波形２０２と同様の輝度変化を有する計測波形１７０２の波間に、投影パターンの波数の対応付けに使用する情報が符号化されている、短い横線状の符号シンボル１７０３を複数重畳した単色のパターンで構成される。
【０１３６】
図１７（ｂ）に示すように横方向に領域Ａ，  Ｂ，  Ｃ，  Ｄ，  Ａ…と、隙間領域Ｅを挟みながらＡ〜Ｄまでの領域を繰り返すように区切られて構成されている。短い横線状の符号シンボル１７０３は、Ａ〜Ｄで分割された単位で、計測波形ピーク位置の中間に配置されており、符号シンボル１７０３の直上に位置する計測波形ピークの、計測波形上における波数Ｗ（０〜１５）を符号情報として有している。
【０１３７】
具体的には、Ａ、Ｂ、Ｃ、Ｄが、各２値ずつ、４つ合わせて２進数４桁の数値を表しており、Ｘ（Ｘ＝Ａ，Ｂ，Ｃ，Ｄ）の領域に符号シンボル１７０３が１本存在する場合には０、２本存在する場合には１を表す。図１７（ｃ）に計測波形１７０２のピーク位置を横軸で位相０、一つ下のピーク位置を位相２πとして、符号シンボル１７０３が１本存在する場合の輝度変化、図１７（ｄ）に２本する場合の輝度変化を示す。
【０１３８】
また、例として図１７（ｂ）における領域１７０４を観察した場合、符号シンボル１７０３はＡ、Ｂ、Ｃ、Ｄに存在するため、２進数４桁で表現すると０１０１となる。これを１０進数に変換するとＷ＝５となる。
【０１３９】
なお、Ａ，  Ｂ，  Ｃ，  Ｄの間には隙間領域Ｅが配置されているが、これはノイズによる誤検出を防ぐために設けてあり、本領域には符号シンボル１７０３は存在しない。
【０１４０】
（ステップＳ１９０２）
プロジェクタ１０２は、ステップＳ１９０１で生成した図１７（ａ）における投影パターン１８０１を被写体１０１に投影する。
【０１４１】
（ステップＳ１９０３）
カメラ１０４は、投影パターン１８０１が投影された被写体１０１を撮像し、図１８における撮像画像１８０１を取得する。
【０１４２】
（ステップＳ１９０４）
投影パターン抽出部１０５は、ステップＳ１９０３で取得した撮像画像１８０１から、計測波形を選択的に抽出する。本ステップＳ１９０４の手順は、第１の実施形態におけるステップＳ４０４と同様に行えばよい。
【０１４３】
（ステップＳ１９０５）
計測波形対応部１０６は、ステップＳ１９０３で取得した撮像画像１８０１と、ステップＳ１９０４で抽出した計測波形ピーク曲線Ｌｎから、符号情報を抽出する。さらに、この符号情報を使用して、ステップＳ１９０４で抽出した計測波形ピーク曲線Ｌｎと、撮像画像１８０１内の各計測波形ピーク曲線との間で、波数の対応付けを行う。
【０１４４】
図２０に、ステップＳ１９０５において符号情報を抽出し、撮像画像上の計測波形ピーク曲線Ｌｎの波数の対応付けを行う手順を説明するフローチャートを示す。以下で、フローチャートのステップ番号に従ってステップＳ１９０５における動作説明を行う。
【０１４５】
（ステップＳ２００１）
計測波形対応部１０６は、ステップＳ１９０３で取得した撮像画像１８０１を以下の領域ごとに縦方向、横方向で分割する。
【０１４６】
第一に、縦方向の分割を行う。先述のように、投影パターン１８０１は、図２（ｂ）に示すように予め縦方向に領域Ａ，  Ｂ，  Ｃ，  Ｄ，  Ａ…と、隙間領域Ｅを挟みながらＡ〜Ｄまでの領域を繰り返すように区切られている。また、本実施形態においてはカメラ１０４とプロジェクタ１０２の光軸は並行をなしており、各光軸は被写体に対してほぼ垂直をなした配置としている。この配置により、投影パターン１８０１の分割領域は、撮像画像１８０１においても被写体１０１の形状によらず常に一定となる。この撮像画像１８０１における分割領域Ａ〜Ｄ，  Ｅを計測前にあらかじめ記録しておき、撮像画像１８０１を縦方向に分割する。
【０１４７】
第二に、横方向の分割を行う。ステップＳ１９０４で抽出した、任意の計測波形ピーク曲線をＬｎ、Ｌｎの下方向で最も近接した計測波形ピーク曲線Ｌｎ＋１としたとき、ＬｎとＬｎ＋１で囲まれる領域を分割する。
【０１４８】
第一と第二の分割を行った撮像画像１８０１を、分割領域ＳＸＬｎと（Ｘ＝Ａ，  Ｂ…．Ｄ，  Ｅ）として取得する。計測波形ピーク曲線Ｌｎ、Ｌｎ＋１のいずれかが途中で縦方向の分割単位の途中で途切れている領域は分割を行わず、以降の処理から除外する。
【０１４９】
（ステップＳ２００２）
計測波形対応部１０６は、ステップＳ１９０４で取得した、撮像画像１８０１中における全ての計測波形ピーク曲線Ｌｎを走査する。
【０１５０】
（ステップＳ２００３）
計測波形対応部１０６は、走査対象の計測波形ピーク曲線Ｌｎと計測波形ピーク曲線Ｌｎ＋１で囲まれる領域に、分割領域がＳＡＬｎ〜ＳＤＬｎまで全て存在するかどうかを判定する。先述の通り、領域Ａ〜Ｄは繰り返し出現するため、一度でも出現していれば存在すると判定する。存在する場合はステップＳ２００４に進む。存在しない場合はステップＳ２００２に戻る。
【０１５１】
（ステップＳ２００４）
計測波形対応部１０６は、計測波形ピーク曲線Ｌｎの投影画像１９０１内における計測波形上における波数ＷＬｎを、０で初期化する。先に述べたように、この波数ＷＬｎが符号情報に相当する。
【０１５２】
（ステップＳ２００５）
計測波形対応部１０６は、撮像画像１８０１における分割領域ＳＡＬｎ内における符号シンボルの数をカウントする。符号シンボルの数をカウントするには、分割領域ＳＡＬｎの各ピクセルの輝度値Ｂｐを縦方向ｐで微分し、０点の数をカウントすればよい。図２１（ａ）の輝度微分値ΔＢｐに示すように０、点の数がＺ１〜Ｚ３で３点の時は符号シンボルが１本、図２１（ｂ）に示すようにＺ４〜Ｚ８で５点の時は符号シンボルが２本となる。以上から、符号シンボルが２本と判定した場合はステップＳ２００６に、１本と判定した場合は３点の場合はステップＳ２００７に進む。
【０１５３】
（ステップＳ２００６）
計測波形対応部１０６は、波数ＷＬｎに２進数で１０００に相当する８を加える。
【０１５４】
（ステップＳ２００７）
計測波形対応部１０６は、撮像画像１８０１における分割領域ＳＢＬｎ内における符号シンボルの数をカウントする。本ステップＳ２００７の手順は、先述のステップＳ２００５における分割領域ＳＡＬｎ内の符号シンボル数のカウントと同様に行えばよい。以上から、符号シンボルが２本と判定した場合はステップＳ２００８に、１本と判定した場合は３点の場合はステップＳ２００９に進む。
【０１５５】
（ステップＳ２００８）
計測波形対応部１０６は、波数ＷＬｎに２進数で０１００に相当する４を加える。
【０１５６】
（ステップＳ２００９）
計測波形対応部１０６は、撮像画像１８０１における分割領域ＳＣＬｎ内における符号シンボルの数をカウントする。本ステップＳ２００９の手順は、先述のステップＳ２００５における分割領域ＳＡＬｎ内の符号シンボル数のカウントと同様に行えばよい。以上から、符号シンボルが２本と判定した場合はステップＳ２０１０に、１本と判定した場合は３点の場合はステップＳ２０１１に進む。
【０１５７】
（ステップＳ２０１０）
計測波形対応部１０６は、波数ＷＬｎに２進数で００１０に相当する２を加える。
【０１５８】
（ステップＳ２０１１）
計測波形対応部１０６は、撮像画像１８０１における分割領域ＳＤＬｎ内における符号シンボルの数をカウントする。本ステップＳ２０１１の手順は、先述のステップＳ２００５における分割領域ＳＡＬｎ内の符号シンボル数のカウントと同様に行えばよい。以上から、符号シンボルが２本と判定した場合はステップＳ２０１２に、１本と判定した場合は３点の場合はステップＳ２０１３に進む。
【０１５９】
（ステップＳ２０１２）
計測波形対応部１０６は、波数ＷＬｎに２進数で０００１に相当する１を加える。
【０１６０】
（ステップＳ２０１３）
計測波形対応部１０６は、撮像画像１８０１内に存在する全ての計測波形ピーク曲線Ｌｎを走査完了したかどうかを判定する。走査完了していればステップＳ１９０５における処理を終了する。走査完了していなければ、ステップＳ２００２に戻り走査を繰り返し実施する。
【０１６１】
以上の手順を行うことで、各計測波形ピーク曲線Ｌｎについて、符号シンボルから符号情報を抽出し、投影パターンにおける計測波形ピークに対応する波数ＷＬｎを取得することができる。
【０１６２】
（ステップＳ１９０６）
位相計算部１０７は、ステップＳ１９０２で取得した、撮像画像１８０１中における全ての分割領域ＳＸＬｎ（Ｘ＝Ａ，  Ｂ…．Ｄ，  Ｅ）を走査する。
【０１６３】
（ステップＳ１９０７）
位相計算部１０７は、走査対象となる分割領域ＳＸＬｎ（Ｘ＝Ａ，  Ｂ…．Ｄ，  Ｅ）が、ＳＥＬｎかどうかを判定し、分割領域の単位で符号シンボルの投影位置を同定する。ＳＥＬｎの場合には符号シンボルは含まないと判定してステップＳ１９０８に、それ以外の場合には符号シンボルを含むと判定してステップＳ１９１０に進む。
【０１６４】
（ステップＳ１９０８）
位相計算部１０７は、走査対象となる分割領域ＳＥＬｎ内の位相計算を行い、投影パターン１９０１内における絶対位相に相当する縦位置ＹＱｐｑを取得する。本ステップＳ１９０８の手順は、第１の実施形態のステップＳ４０８における分割領域ＳＸｘＬｎ内の位相計算と同様に行えばよい。Ｓ４０７と同様の手順を行うことで、走査対象となる分割領域ＳＥＬｎ内の全ピクセルの位相計算を行い、投影パターン１９０１内における絶対位相に相当する縦位置ＹＱｐｑを取得することができる。
【０１６５】
（ステップＳ１９０９）
三次元形状計算部１０８は、各分割領域ＳＥＬｎ内に存在するピクセルＱｐｑの縦位置ＹＱｐｑを用いて、被写体１０１の三次元形状を計算する。本ステップＳ１９０９の手順は、第１の実施形態のステップＳ４０９における分割領域ＳＸｘＬｎ内の三次元形状の計算と同様に行えばよい。
【０１６６】
（ステップＳ１９１０）
三次元形状計算部１０８は、撮像画像１８０１内に存在する全ての分割領域ＳＸＬｎを走査完了したかどうかを判定する。走査完了していれば本実施形態における処理を終了する。走査完了していなければ、ステップＳ１９０６に戻り走査を繰り返し実施する。
上記のステップＳ１９０２〜２００９の動作を実施することで、撮像画像１８０１内で投影パターン上における縦位置ＹＱｐｑを対応付けられたピクセルＱｐｑに対して適用すれば、計測点１２０４の集合により被写体全体の三次元形状が求められる。
【０１６７】
以上から、本実施形態によって単色のパターンが投影された１枚の撮像画像から、第１の実施形態よりも計測領域の穴が少なく、さらに高密度かつ高精度に被写体の三次元形状を計測することができる。
【０１６８】
なお、本実施形態において符号シンボルは線状であり、その本数によって符号化を行っていたが、２値以上の少なくとも２つ以上からなる符号シンボルからなる符号列であれば、これに限定せず、識別が容易かつ被写体の形状に対して影響を受けにくいその他の符号化を行ってもよい。例えば、輝度の上下によって符号化を行った場合、常に符号シンボルの大きさを一定に保つことが可能になるため、被写体との距離変化によるボケで符号シンボルの本数が識別出来ないような場合にも有効に作用する。
【０１６９】
［その他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。  
【符号の説明】
【０１７０】
１０１  被写体
１０２  プロジェクタ
１０３  投影パターン生成部
１０４  カメラ
１０５  投影パターン抽出部
１０６  計測波形対応部
１０７  位相計算部
１０８  三次元形状計算部
【図１】
2014052210.tif 000019
【図４】
2014052210.tif 000020
【図５】
2014052210.tif 000021
【図６】
2014052210.tif 000022
【図７】
2014052210.tif 000023
【図８】
2014052210.tif 000024
【図１０】
2014052210.tif 000025
【図１１】
2014052210.tif 000026
【図１２】
2014052210.tif 000027
【図１５】
2014052210.tif 000028
【図１６】
2014052210.tif 000029
【図１９】
2014052210.tif 000030
【図２０】
2014052210.tif 000031
【図２１】
2014052210.tif 000032
【図２】
2014052210.tif 000033
【図３】
2014052210.tif 000034
【図９】
2014052210.tif 000035
【図１３】
2014052210.tif 000036
【図１４】
2014052210.tif 000037
【図１７】
2014052210.tif 000038
【図１８】
2014052210.tif 000039