(57)【要約】【課題】  複雑な演算を行うことなく、二種類以上の方向性を持つ線パターンが存在する撮像画像から、同一の方向性を持つ線パターンのみを容易に抽出する為の技術を提供すること。【解決手段】  投影パターン画像上には、第１の方向に沿って平行に並んでいる単色の第１の線分群と、第１の方向とは異なる第２の方向に沿って平行に並んでいる単色の第２の線分群と、が配置されている。第１の線分群のそれぞれと第２の線分群のそれぞれとの交点位置における画素の輝度値は、該交点位置以外の位置における画素の輝度値と異なる。【選択図】図２
2012167932.tif 000002
【特許請求の範囲】
【請求項１】
被写体に投影パターン画像を投影する投影部と、該投影パターン画像が投影された該被写体を撮像する撮像部と、該撮像部により得られる撮像画像を用いて前記被写体の表面形状を計算する計算部と、を有する画像処理装置であって、
前記投影パターン画像上には、第１の方向に沿って平行に並んでいる単色の第１の線分群と、該第１の方向とは異なる第２の方向に沿って平行に並んでいる単色の第２の線分群と、が配置されており、前記第１の線分群のそれぞれと前記第２の線分群のそれぞれとの交点位置における画素の輝度値は、該交点位置以外の位置における画素の輝度値と異なる
ことを特徴とする画像処理装置。
【請求項２】
被写体に投影パターン画像を投影する投影部と、該投影パターン画像が投影された該被写体を撮像する撮像部と、該撮像部により得られる撮像画像を用いて前記被写体の表面形状を計算する計算部と、を有する画像処理装置であって、
前記投影パターン画像上には、第１の方向に沿って平行に並んでいる単色の第１の線分群と、該第１の方向とは異なる第２の方向に沿って平行に並んでいる単色の第２の線分群と、が配置されており、前記第１の線分群のそれぞれと前記第２の線分群のそれぞれとの交点位置の周辺部における画素の輝度値は、該周辺部以外における画素の輝度値よりも低い
ことを特徴とする画像処理装置。
【請求項３】
被写体に投影パターン画像を投影する投影部と、該投影パターン画像が投影された該被写体を撮像する撮像部と、該撮像部により得られる撮像画像を用いて前記被写体の表面形状を計算する計算部と、を有する画像処理装置であって、
前記投影パターン画像上には、第１の方向に沿って平行に並んでいる単色の第１の線分群と、該第１の方向とは異なる第２の方向に沿って平行に並んでいる単色の第２の線分群と、が配置されており、前記第１の線分群、前記第２の線分群、のそれぞれの線幅は、前記第１の線分群のそれぞれと前記第２の線分群のそれぞれとの交点位置の周辺部における線幅が、該周辺部以外における線幅よりも細い
ことを特徴とする画像処理装置。
【請求項４】
被写体に投影パターン画像を投影する投影部と、該投影パターン画像が投影された該被写体を撮像する撮像部と、該撮像部により得られる撮像画像を用いて前記被写体の表面形状を計算する計算部と、を有する画像処理装置が行う画像処理方法であって、
前記投影パターン画像上には、第１の方向に沿って平行に並んでいる単色の第１の線分群と、該第１の方向とは異なる第２の方向に沿って平行に並んでいる単色の第２の線分群と、が配置されており、前記第１の線分群のそれぞれと前記第２の線分群のそれぞれとの交点位置における画素の輝度値は、該交点位置以外の位置における画素の輝度値と異なる
ことを特徴とする画像処理方法。
【請求項５】
被写体に投影パターン画像を投影する投影部と、該投影パターン画像が投影された該被写体を撮像する撮像部と、該撮像部により得られる撮像画像を用いて前記被写体の表面形状を計算する計算部と、を有する画像処理装置が行う画像処理方法であって、
前記投影パターン画像上には、第１の方向に沿って平行に並んでいる単色の第１の線分群と、該第１の方向とは異なる第２の方向に沿って平行に並んでいる単色の第２の線分群と、が配置されており、前記第１の線分群のそれぞれと前記第２の線分群のそれぞれとの交点位置の周辺部における画素の輝度値は、該周辺部以外における画素の輝度値よりも低い
ことを特徴とする画像処理方法。
【請求項６】
被写体に投影パターン画像を投影する投影部と、該投影パターン画像が投影された該被写体を撮像する撮像部と、該撮像部により得られる撮像画像を用いて前記被写体の表面形状を計算する計算部と、を有する画像処理装置が行う画像処理方法であって、
前記投影パターン画像上には、第１の方向に沿って平行に並んでいる単色の第１の線分群と、該第１の方向とは異なる第２の方向に沿って平行に並んでいる単色の第２の線分群と、が配置されており、前記第１の線分群、前記第２の線分群、のそれぞれの線幅は、前記第１の線分群のそれぞれと前記第２の線分群のそれぞれとの交点位置の周辺部における線幅が、該周辺部以外における線幅よりも細い
ことを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パターン画像を投影し、投影したパターン画像を撮影することによって物体表面の3次元形状を計測する為の技術に関するものである。
【背景技術】
【０００２】
線パターンを被写体に投影し、この被写体の撮像画像から線パターンの変形を計算することで、被写体の形状や、表面の歪み具合を計測する技術が広く実施されている。このとき、二種類以上の方向性を持つ線パターン、例えば縦横に直交するような線パターンを投影すれば、より詳細に表面の歪み具合を計測することができる。特に、時間とともに移動・変形を伴う被写体の形状や表面の歪み具合を計測する場合においては、時間の同一性が必要であり、これらの二種類以上の方向性を持つ線パターンを一度に投影し、一度に撮像する方式であることが望ましい。
【０００３】
このように、二種類以上の方向性を持つ線パターンを一度に投影し、一度に撮像する方式を採用する場合、撮像画像から同一の方向性を持つ線パターンのみを抽出する必要がある。
【０００４】
非特許文献１では、特定順序で一様に着色した縦横の線パターンを投影し、投影した線パターンの順序と、撮影された線パターンの順序を対応付けて、線パターンの変形を計算し、移動・変形する被写体の形状計測を行う例が示されている。非特許文献１では縦横に直交した線パターンに対して縦横の各方向に対応した微分フィルタ処理を適用した結果に対し、Belief Propagation法を適用して微分フィルタ値のピーク位置を推測することで、縦横の線パターンの分離を行っている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】古川亮、川崎洋、佐川立昌、八木康史, ワンショットスキャンによる動物体の密な3次元形状復元手法, 第11回 画像の認識・理解シンポジウム論文集(MIRU2008論文集) 2008
【発明の概要】
【発明が解決しようとする課題】
【０００６】
非特許文献１に開示されている技術を用いれば、縦横の線パターンが重複した領域に対しても、線パターンが存在する位置を推測出来る。しかし、Belief Propagation法のような複雑な繰り返し演算を適用すると、高速に処理を行うことが困難となる。
【０００７】
本発明は以上の問題に鑑みてなされたものであり、複雑な演算を行うことなく、二種類以上の方向性を持つ線パターンが存在する撮像画像から、同一の方向性を持つ線パターンのみを容易に抽出する為の技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。即ち、被写体に投影パターン画像を投影する投影部と、該投影パターン画像が投影された該被写体を撮像する撮像部と、該撮像部により得られる撮像画像を用いて前記被写体の表面形状を計算する計算部と、を有する画像処理装置であって、前記投影パターン画像上には、第１の方向に沿って平行に並んでいる単色の第１の線分群と、該第１の方向とは異なる第２の方向に沿って平行に並んでいる単色の第２の線分群と、が配置されており、前記第１の線分群のそれぞれと前記第２の線分群のそれぞれとの交点位置における画素の輝度値は、該交点位置以外の位置における画素の輝度値と異なることを特徴とする。
【発明の効果】
【０００９】
本発明の構成によれば、複雑な演算を行うことなく、二種類以上の方向性を持つ線パターンが存在する撮像画像から、同一の方向性を持つ線パターンのみを容易に抽出することができる。
【図面の簡単な説明】
【００１０】
【図１】画像処理装置の構成例を示す図。
【図２】投影パターン画像の構成例を示す図。
【図３】画像処理装置が行う処理のフローチャート。
【図４】ステップＳ３０３における処理の詳細を示すフローチャート。
【図５】Sobelフィルタの構成例を示す図。
【図６】フィルタ画像に対する走査方向を示す図。
【図７】着目ラインを構成する画素群のうち一部を示す図。
【図８】縦線重心点cv、基準縦線重心点rv、変位Δx、歪み量Δzの位置関係を示す図。
【図９】変形例を説明する図。
【図１０】投影パターン画像の構成例を示す図。
【図１１】投影パターン画像の構成例を示す図。
【図１２】投影パターン画像の構成例を示す図。
【図１３】投影パターン画像の構成例を示す図。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の１つである。
【００１２】
［第１の実施形態］
本実施形態に係る画像処理装置は、被写体の表面形状（歪み）を計測するためのもので、図１に示す構成を有する。しかし、図１に示した構成は一例であり、幾つかの構成用件を１つの構成用件にまとめたり、１つの構成用件を複数の構成要件に分解したりするなど、様々な変形例が考え得る。
【００１３】
プロジェクタ１０２は、計測対象となる被写体１０１に対して、投影パターン画像を投影する投影部として機能する。この投影パターン画像はプロジェクタ１０２内のメモリに予め保持されているか、若しくは不図示の外部装置からプロジェクタ１０２に対して供給されるものである。投影パターン画像上には、第１の方向に沿って平行に並んでいる単色の第１の線分群と、該第１の方向とは異なる第２の方向に沿って平行に並んでいる単色の第２の線分群と、が配置されている。そして、第１の線分群のそれぞれと第２の線分群のそれぞれとの交点位置における画素の輝度値は交点位置以外の位置における画素の輝度値よりも高く設定されている。
【００１４】
本実施形態で用いる投影パターン画像の構成例を図２に示す。本実施形態で用いる投影パターン画像は、縦線２０２から成る縦線パターンと横線２０３から成る横線パターンとで構成されており、縦線２０２と横線２０３の交点位置を構成する画素群２０４の輝度値は、交点位置以外の位置における画素の輝度値よりも高い。このように、交点位置を構成する画素群と交点位置以外の位置における画素とで輝度値を異ならせることで、後述する微分作用を持つフィルタ処理を用いて、撮像画像中から縦線パターン、横線パターンを抽出することができる。
【００１５】
カメラ１０３は、投影パターン画像が投影された被写体１０１を撮像して撮像画像を生成し、生成した撮像画像を後段の線パターン抽出部１０４に対して送出する撮像部として機能する。なお、カメラ１０３とプロジェクタ１０２の光軸は平行になっており、それぞれの光軸は被写体１０１に対してほぼ垂直をなした配置とする。
【００１６】
線パターン抽出部１０４は、カメラ１０３から送出された撮像画像を取得すると、この撮像画像中に映っている投影パターン画像の縦線パターン及び横線パターンを抽出し、抽出した縦線パターン及び横線パターンを後段の歪み計算部１０５に対して送出する。
【００１７】
歪み計算部１０５は、線パターン抽出部１０４から送出された縦線パターン及び横線パターンを取得すると、この縦線パターン及び横線パターンを用いて被写体の表面形状（歪み）を計算する。縦線パターン及び横線パターンを用いた被写体１０１の表面形状の計算方法については周知の技術ではあるが、その一例について以下で説明する。
【００１８】
次に、本実施形態に係る画像処理装置が行う処理について、同処理のフローチャートを示す図３を用いて説明する。ステップＳ３０１では、プロジェクタ１０２は、図２に示した投影パターン画像を被写体１０１に対して投影する。
【００１９】
ステップＳ３０２ではカメラ１０３は、プロジェクタ１０２により投影パターン画像が投影された被写体１０１を撮像して撮像画像を生成し、生成した撮像画像を後段の線パターン抽出部１０４に対して送出する。
【００２０】
ステップＳ３０３では線パターン抽出部１０４は、カメラ１０３から送出された撮像画像中に映っている投影パターン画像の縦線パターン及び横線パターンを抽出し、抽出した縦線パターン及び横線パターンを後段の歪み計算部１０５に対して送出する。ステップＳ３０３における処理の詳細を、図４のフローチャートを用いて説明する。
【００２１】
ステップＳ４０１では線パターン抽出部１０４は、撮像画像に対して、微分作用を持つSobelフィルタ処理を適用し、Sobelフィルタ画像を生成する。Sobelフィルタは、畳み込みフィルタの一種であり、本実施形態では図５に示すように3×3のサイズからなるSobelフィルタを使用する。縦線パターンを抽出する場合には、図５（a）に示す縦線用Sobelフィルタを撮像画像に対して適用し、横線パターンを抽出する場合には、図５(ｂ)に示す横線用Sobelフィルタを撮像画像に対して適用する。もちろん、撮像画像の微分画像を生成するための処理についてはこれに限るものではなく、他の方法で撮像画像の微分画像を生成しても良い。
【００２２】
撮像画像に対して縦線パターンを検出するための処理（上記の例では縦線用Sobelフィルタを撮像画像に対して適用する処理）を行うことで得られる画像を縦線Sobelフィルタ画像と呼称する。また、撮像画像に対して横線パターンを検出するための処理（上記の例では横線用Sobelフィルタを撮像画像に対して適用する処理）を行うことで得られる画像を横線Sobelフィルタ画像と呼称する。
【００２３】
ステップＳ４０２では線パターン抽出部１０４は、ステップＳ４０１で得た縦線Sobelフィルタ画像、横線Sobelフィルタ画像のそれぞれについて走査を行い、画素値の符号が反転する位置を線の重心位置として検出する。以下では、縦線Sobelフィルタ画像から縦線の重心位置を求める処理について説明する。
【００２４】
以下の説明では、縦線Sobelフィルタ画像をIvと表記し、縦線Sobelフィルタ画像Iv中の座標位置ｘにおける画素値をIv(x)と表記する。縦線Sobelフィルタ画像Ivに対しては図６（ａ）の矢印で示す如く、各横ラインについて左側から右側に走査し、ライン内の各画素の画素値を参照する。この走査方向は、縦線パターンが示す各縦線に対してほぼ垂直に交わる方向として設定する。
【００２５】
着目ラインにおいて現在参照している座標位置における画素の画素値が閾値Ｔよりも大きい場合、この座標位置をｘｔとする。即ち、着目ラインを構成する各画素の画素値を右側から左側に参照して、以下の式（１）を満たすｘｔを特定する。
【００２６】
【数１】
2012167932.tif 000003
【００２７】
着目ラインを構成する画素群のうち一部を図７に示す。区間７０２内の各画素は、ノイズや、横線パターンが被写体１０１によって変形して生じた影響を受けた画素値を有している、着目ライン内の非縦線パターン部分の画素であり、区間７０１内の各画素は、着目ライン内の縦線パターンを構成する画素である。ｘｔは上記の如く、上記の式（１）を満たす座標位置である。
【００２８】
この閾値処理により、ノイズや、横線パターンが被写体によって変形して生じた区間７０２内の微小値の影響を除去し、撮像画像から縦線パターンによって生じた立ち上がりエッジ部分７０３を正しく検出できる。
【００２９】
次に、ｘｔを起点として、この起点から左側に各画素の画素値を参照し、最初に画素値が０となる座標位置をｘ０とする。即ち、起点ｘｔから左側に各画素の画素値を参照し、最初に以下の式（２）を満たす座標位置をｘ０とする。
【００３０】
【数２】
2012167932.tif 000004
【００３１】
このｘ０は図７に示す如く、着目ライン内における縦線パターンの輝度がピークになる重心位置を表している。この座標位置ｘ０を、縦線重心点cvとして取得する。このようなライン内の各画素の画素値を参照して縦線重心点cvを特定する処理を、各ラインについて行う。そして、これにより得られる全ての縦線重心点cvを縦線重心点群Cvとして取得する。
【００３２】
また、横線Sobelフィルタ画像から横線の重心位置を求める場合も、同様にして行う。即ち、横線Sobelフィルタ画像に対しては図６（ｂ）の矢印で示す如く、各縦ラインについて上側から下側に走査し、ライン内の各画素の画素値を参照する。この走査方向は、横線パターンが示す各横線に対してほぼ垂直に交わる方向として設定する。そしてこの走査により、各縦ラインについて、ライン内における横線パターンの輝度がピークになる重心位置ｘ０を、横線重心点chとして取得する。このようなライン内の各画素の画素値を参照して横線重心点chを特定する処理を、各ラインについて行う。そして、これにより得られる全ての横線重心点chを横線重心点群Chとして取得する。
【００３３】
そして線パターン抽出部１０４は、上記の処理により求めた縦線重心点群Cv、横線重心点群Chのそれぞれを、後段の歪み計算部１０５に対して送出する。
【００３４】
図３に戻って、次にステップＳ３０４では、歪み計算部１０５は、線パターン抽出部１０４から送出された縦線重心点群Cv、横線重心点群Chを取得すると、この取得した縦線重心点群Cv、横線重心点群Chを用いて、被写体１０１の歪み量を計算する。この計算処理は上記の通り周知の技術であるが、以下では、この計算処理の一例である、縦線重心点群Cvから被写体１０１の歪み量を計算する処理、について説明する。
【００３５】
最初に、被写体１０１の歪みを、ある基準からの相対的な奥行きの変異である歪み量Δzとして計算を行うために、基準となる基準面を予め撮影しておく。この基準面撮像画像に対して、ステップＳ３０１〜Ｓ３０３までの手順を同様に適用することで、基準縦線重心点群Rvをそれぞれ計算する。
【００３６】
図８に、図１と同一の視点から見た場合の、縦線重心点cv、基準縦線重心点rv、変位Δx、歪み量Δzの位置関係を示す。被写体１０１とカメラ１０３（プロジェクタ１０２）間の距離Zrは、歪み量Δzに対して十分に大きいものと仮定する。また、縦線の方向は方向８０９とする。このとき、基準面８０３上の基準縦線重心点rvとカメラ１０３の主点８０１とを結ぶ線分８０４と、カメラ１０３の光軸８０５とのなす角をαとする。また、被写体１０１上の縦線重心点cvとカメラ１０３の主点８０１とを結ぶ線分８０２と、カメラ１０３の光軸８０５とのなす角をβとする。また、基準縦線重心点rvとプロジェクタ１０２の主点８０６とを結ぶ線分８０７と、プロジェクタ１０２の光軸８０８のなす角をγとする。縦線重心点群Cv中の各縦線重心点cvに対して、基準縦線重心点群Rv中の点で最も近接する基準縦線重心点rvを選択し、上記の位置関係を用いて、その変位Δxを以下の式(3)に従って計算する。
【００３７】
【数３】
2012167932.tif 000005
【００３８】
同様に、上記の位置関係から、歪み量はΔzは変位Δx、β、γを用いて以下の式(4)で表わされる。
【００３９】
【数４】
2012167932.tif 000006
【００４０】
α、β、γは、それぞれカメラ１０３の撮像画像におけるピクセル位置、プロジェクタ１０２による投影パターン画像におけるピクセル位置に対応した値であり、既知である。よって上記の手順で求めた変位Δxを代入することで、歪み量Δzを求める。以上の手順を、縦線重心点群Cv中の全ての縦線重心点cvに適用することで、被写体１０１の縦線パターン上における歪みを計測することができる。また、上記と同様の手順を行うことで、横線重心点群Chから、横線パターン上における被写体１０１の歪みを計算することもできる。
【００４１】
以上、ステップＳ３０１〜Ｓ３０４の手順を実施することで、二種類の方向性を持つ線パターンで構成される投影パターンの撮像画像から、容易に同一の方向性を持つ線パターンのみを抽出し、被写体の歪みを詳細に計測できる。
【００４２】
＜変形例＞
第１の実施形態では、投影パターン画像は、図２に示す如く、２つの方向のそれぞれに対する線パターンから成る投影パターン画像を用いた。しかし、２以上の方向のそれぞれに対する線パターンから成る投影パターン画像を用いても構わない。この場合、それぞれの方向に応じたSobelフィルタをこの投影パターン画像に適用し、それぞれの方向に対する線パターンを抽出すればよい。これにより、被写体の歪みをより詳細に計測することができる。
【００４３】
また、第１の実施形態では、縦線パターン、横線パターンは、それぞれ縦線重心点群Cv、横線重心点群Chといった点群で表現されている。これらの点群を、一定距離内に隣接するもの同士でグループ分けを行い、グループ単位で任意の関数を用いて曲線補間してもよい。本手順を実施することによって、縦線パターン、横線パターンを、それぞれ縦曲線、横曲線として表現することができ、曲線上の任意の位置に縦重心点cv、横重心点rvを設定することで、より詳細に歪みを計測することができる。
【００４４】
さらに、グループ化した各グループの点群の数を計算し、一定数以下のグループをノイズとみなして、グループ単位で点群を削除することによって、撮像画像中のノイズを除去することもできる。これにより、ノイズの影響による計測誤差を削減できる。
【００４５】
また、図９に示すように、上記手順で求めた撮像画像９０１における縦曲線９０２、横曲線９０３に対して、線と線の繋がりを交点９０４経由で辿り、それぞれ横方向、縦方向の相対的な順序を決めるラベリング処理を行ってもよい。このラベリングを行うことで、ステップＳ３０４において、変位Δxが大きすぎるために、図９における縦線重心点cvに対して適切な基準縦線重心点rvを選択するのが困難な場合でも、適切な基準縦線重心点rvを選択することができる。本例の場合、左端にある縦曲線９０２から順序を辿ることで、左から二番目に存在する、基準縦線パターン９０５上の適切な基準縦線重心点rvを選択することができる。
【００４６】
また、第１の実施形態では、縦線２０２と横線２０３の交点位置を構成する画素群２０４の輝度値は、交点位置以外の位置における画素の輝度値よりも高く設定している。しかし図１０に示す如く、縦線１００１と横線１００２との交点位置１００３の周辺部１００４を構成する画素群の輝度値を、周辺部１００４以外（周辺部以外）の位置における画素よりも低く設定した投影パターン画像を用いても良い。このような投影パターン画像を使用することで、縦線パターン、横線パターンの全体的な輝度を高くすることができるため、xtの検出を、ノイズのある環境においてもより確実に行うことができる。
【００４７】
一方で、このような投影パターン画像を用いると、縦線パターンの間に存在する横線パターン、横線パターンの間に存在する縦線パターンをステップＳ４０２で誤検出し、それぞれ縦線パターン、横線パターンとして誤って抽出されてしまうという問題がある。これについては、誤検出した部分が断片状に現れるため、上記のように点群に対してグループ化を行い、ノイズとして除去すればよい。
【００４８】
また、図１１に示すような投影パターン画像１１０１を用いても良い。投影パターン画像１１０１においては、縦線１１０２と横線１１０３との交点位置１１０４の周辺部１１０５における縦線１１０２及び横線１１０３のそれぞれの線幅を、周辺部１１０５以外における縦線１１０２及び横線１１０３の線幅よりも細く設定している。
【００４９】
このような投影パターン画像１１０１をカメラ１０３を用いて撮像した場合、撮像画像上では太い線ほど明るく映っているため、図１０の投影パターン画像を使用する場合と同様の撮像画像を得ることができる。従って、上記と同様の手順を行うことで、撮像画像から縦線パターン、横線パターンを抽出することができる。
【００５０】
このような投影パターン画像を用いることで、明暗２値のみで投影パターン画像を構成することができるため、プロジェクタ１０２をより簡易な構造とすることが可能になる。
【００５１】
また、図１２に示すような投影パターン画像１２０１を用いても良い。投影パターン画像１２０１においては、縦線１２０２と横線１２０３の交点位置を構成する画素群１２０４の輝度値を、交点位置以外の位置における画素の輝度値よりも低く設定している。このような投影パターン画像１２０１を使用する場合、上記のステップＳ４０２において、式(1)を用いてxtの位置を検出する条件に加えて、式(5)を満たすxtの位置も検出する。
【００５２】
【数５】
2012167932.tif 000007
【００５３】
この式(5)を用いることで、撮像画像から画素群１２０４とその周辺部分の輝度差を示す、輝度の立ち下がりエッジ部分を検出することができる。このxtを起点として、同様に式（2）を満たす位置x0の走査を行い、画素群１２０４の輝度が最低になる重心の位置を検出する。このx0の位置を、縦線重心点cv、横重心点chとして上記と同様に扱うことができる。
【００５４】
一方で、投影パターン画像１２０１を用いると、縦線パターンの間に存在する横線パターン、横線パターンの間に存在する縦線パターンをステップＳ４０２で誤検出し、それぞれ縦線パターン、横線パターンとして誤って抽出してしまうという問題がある。これについては、誤検出した部分が断片上に現れるため、上記のように点群に対してグループ化を行い、ノイズとして除去すればよい。
【００５５】
このような投影パターンを用いても、図１１に示す投影パターン画像と同様に明暗２値のみで投影パターン画像を構成することができるため、プロジェクタ１０２をより簡易な構造とすることが可能になる。
【００５６】
なお、第１の実施形態では、縦線２０２と横線２０３をともに歪み計測に用いている。しかし例えば図１３に示す如く、縦線１３０２のみで歪み計測を行い、横線１３０３に識別可能な目印１３０４を付加し、縦線１３０２上の縦線重心点ｃｖに対して適切な基準縦線重心点ｒｖを選択する為の手がかりとするような投影パターン１３０１でもよい。
【００５７】
本実施形態の場合、横線１３０３の太さを大きく変化させて目印としており、この左から三番目の縦線１３０２と四番目の縦線１３０３の位置を基準位置として定める。図９の例で示したように、縦線１３０２と横線１３０３に対して、目印１３０４の位置を基準として線と線の繋がりを交点１３０５経由で辿り、横方向の相対的な順序を決めるラベリング処理を行うことが出来る。この例の場合、ノイズや被写体の形状の影響で端のパターンが撮像されないような条件下でも、目印１３０４が検出され、線と線の繋がりを辿ることができれば、縦線１３０２上の縦線重心点ｃｖに対して適切な基準縦線重心点ｒｖを選択することができる。なお、この例における目印は、式（６）を用いて検出することができる。
【００５８】
【数６】
2012167932.tif 000008
【００５９】
ここで、xIhmaxは、任意の横線１３０３におけるIhの最大値を示すxで、xIminはIhの最小値を示すxである。また、Wtは予め設定した線幅の閾値であり、これを超える線幅の領域を目印とする。もちろん、目印は線幅に限定する必要は無く、例えばパターンの検出能力に影響を与えないよう線幅を一定にしたい場合には、線幅は同一で特徴のある形状の曲線とするなど、その他検出可能な手段を用いても良い。
【００６０】
［第２の実施形態］
図１に示した線パターン抽出部１０４や歪み計算部１０５は、ハードウェアで構成しても良いが、コンピュータプログラムで構成しても良い。この場合、ＰＣ（パーソナルコンピュータ）が管理するメモリにこれらのコンピュータプログラムをインストールし、ＰＣが有するＣＰＵ等の制御部がこのコンピュータプログラムを実行することで、これらの構成用件の機能が実現されることになる。
【００６１】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2012167932.tif 000009
【図３】
2012167932.tif 000010
【図４】
2012167932.tif 000011
【図５】
2012167932.tif 000012
【図６】
2012167932.tif 000013
【図７】
2012167932.tif 000014
【図８】
2012167932.tif 000015
【図１１】
2012167932.tif 000016
【図１２】
2012167932.tif 000017
【図２】
2012167932.tif 000018
【図９】
2012167932.tif 000019
【図１０】
2012167932.tif 000020
【図１３】
2012167932.tif 000021