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