このアプリケーションの一部のコンテンツは現時点では利用できません。
このような状況が続く場合は、にお問い合わせくださいフィードバック & お問い合わせ
1. (WO2018179253) ポリゴンモデル生成装置、ポリゴンモデル生成方法及びプログラム
Document

明 細 書

発明の名称 ポリゴンモデル生成装置、ポリゴンモデル生成方法及びプログラム

技術分野

0001  

背景技術

0002   0003  

先行技術文献

特許文献

0004  

発明の概要

発明が解決しようとする課題

0005   0006   0007  

課題を解決するための手段

0008   0009   0010   0011   0012   0013   0014  

図面の簡単な説明

0015  

発明を実施するための形態

0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091   0092   0093   0094   0095   0096   0097   0098   0099   0100   0101   0102   0103   0104   0105   0106   0107   0108   0109   0110   0111   0112   0113   0114   0115   0116   0117   0118   0119   0120   0121   0122   0123   0124   0125   0126   0127   0128   0129   0130   0131   0132  

請求の範囲

1   2   3   4   5   6   7  

図面

1   2   3   4   5   6   7   8   9   10   11   12A   12B   13   14   15   16   17  

明 細 書

発明の名称 : ポリゴンモデル生成装置、ポリゴンモデル生成方法及びプログラム

技術分野

[0001]
 本発明は、ポリゴンモデル生成装置、ポリゴンモデル生成方法及びプログラムに関する。

背景技術

[0002]
 点群の輪郭に沿ったポリゴンモデルを生成する技術が存在する。このような技術の一例として、特許文献1には、実空間に配置されたオブジェクトを撮影することで取得される深さ情報を含む画像から仮想空間内に配置されるポリゴンモデルを生成する技術が記載されている。
[0003]
 この技術では、まず、三角形のポリゴンを含むイニシャルスカルプチャが仮想空間内に生成される。そして取得された画像内の画素及び当該画素の深さとの組合せに対応付けられる仮想空間内の点(データポイント)が特定される。そして特定されたデータポイントに対して原点からレイキャストが実行され、レイキャストされた光線とポリゴンとの交点が特定される。そして特定された交点とデータポイントとの間の長さに応じて上記のポリゴンの頂点を移動させることで、イニシャルスカルプチャが変形される。

先行技術文献

特許文献

[0004]
特許文献1 : 国際公開第2015/193708号

発明の概要

発明が解決しようとする課題

[0005]
 発明者らは、点群の輪郭に沿ったポリゴンモデルを生成する新たな手法を検討している。この手法では、まず、深さ情報を含む画像などから仮想空間内の点群を示す点群データが生成される。そして例えば当該点群に属する点をドロネー点とするドロネー三角形分割(四面体分割)などを行うことによって、それぞれ当該点群に属する点を頂点とする複数のポリゴンを含むポリゴンモデルが生成される。
[0006]
 しかしこのようにして生成されるポリゴンモデルは外表面が点群の輪郭に沿ったものとはならない。ここで例えば所定長よりも長い辺を含むポリゴンをポリゴンモデルから削除することでポリゴンモデルを点群の輪郭に沿ったものにより近づけることが考えられる。しかしこのようにしても点群の粗密等の影響で点群の輪郭に沿った充分な精度のポリゴンモデルが得られないことがあった。
[0007]
 本発明は上記課題に鑑みてなされたものであって、その目的の1つは、点群の輪郭に沿ったポリゴンモデルを精度よく生成できるポリゴンモデル生成装置、ポリゴンモデル生成方法及びプログラムを提供することにある。

課題を解決するための手段

[0008]
 上記課題を解決するために、本発明に係るポリゴンモデル生成装置は、仮想空間内の点群を示す点群データに基づいて、複数のポリゴンを含むポリゴンモデルを生成するポリゴンモデル生成部と、前記仮想空間内における前記ポリゴンモデルを望む第1位置と前記点群に属する点の位置である第2位置とを両端とする線分と交差する前記ポリゴンである交差ポリゴンを特定する交差ポリゴン特定部と、前記交差ポリゴンを前記ポリゴンモデルから削除する交差ポリゴン削除部と、を含む。
[0009]
 本発明の一態様では、実空間において実カメラが被写体を撮影した画像を取得する画像取得部と、前記画像に基づいて、属する点がそれぞれ前記実空間内における前記被写体上の点に相当する前記点群データを生成する点群データ生成部と、前記被写体を撮影した際の前記実カメラの前記実空間内における位置に相当する、前記仮想空間内の位置を特定する対応カメラ位置特定部と、をさらに含み、前記交差ポリゴン特定部は、前記対応カメラ位置特定手順で特定される位置を前記第1位置として前記交差ポリゴンを特定する。
[0010]
 また、本発明の一態様では、前記仮想空間内に設定される1又は複数の仮想カメラのいずれにおいても不可視な前記ポリゴンである不可視ポリゴンを特定する不可視ポリゴン特定部と、前記不可視ポリゴンを前記ポリゴンモデルから削除する不可視ポリゴン削除部と、をさらに含む。
[0011]
 また、本発明の一態様では、前記点群の分布に基づいて、当該点群に属する点に対応付けられる点密度の値を決定する点密度値決定部と、前記ポリゴンを構成する辺の長さが、当該辺の端点に対応付けられる前記点密度の値に応じた閾値を超える場合に、当該ポリゴンを前記ポリゴンモデルから削除する長辺ポリゴン削除部と、をさらに含む。
[0012]
 この態様では、前記交差ポリゴン特定部は、対応付けられる前記点密度の値が所定値よりも大きな点の少なくとも一部のそれぞれのみについて、当該点の位置を前記第2位置として前記交差ポリゴンを特定してもよい。
[0013]
 また、本発明に係るポリゴンモデル生成方法は、仮想空間内の点群を示す点群データに基づいて、複数のポリゴンを含むポリゴンモデルを生成するポリゴンモデル生成ステップと、前記仮想空間内における前記ポリゴンモデルを望む第1位置と前記点群に属する点の位置である第2位置とを両端とする線分と交差する前記ポリゴンである交差ポリゴンを特定する交差ポリゴン特定ステップと、前記交差ポリゴンを前記ポリゴンモデルから削除する交差ポリゴン削除ステップと、を含む。
[0014]
 また、本発明に係るプログラムは、仮想空間内の点群を示す点群データに基づいて、複数のポリゴンを含むポリゴンモデルを生成するポリゴンモデル生成手順、前記仮想空間内における前記ポリゴンモデルを望む第1位置と前記点群に属する点の位置である第2位置とを両端とする線分と交差する前記ポリゴンである交差ポリゴンを特定する交差ポリゴン特定手順、前記交差ポリゴンを前記ポリゴンモデルから削除する交差ポリゴン削除手順、をコンピュータに実行させる。

図面の簡単な説明

[0015]
[図1] 本発明の一実施形態に係るポリゴンモデル生成装置の構成図である。
[図2] 被写体が実空間に配置されている様子の一例を模式的に示す図である。
[図3] 被写体を模したポリゴンモデルが仮想空間内に配置されている様子の一例を模式的に示す図である。
[図4] 点群データが示す点群に属する複数の点の一例を模式的に示す図である。
[図5] 点データの一例を示す図である。
[図6] 最初ポリゴンモデルが仮想空間内に配置されている様子の一例を模式的に示す図である。
[図7] ポリゴンデータの一例を示す図である。
[図8] 長辺ポリゴン削除処理の一例を説明する説明図である。
[図9] 交差ポリゴン削除処理の一例を説明する説明図である。
[図10] 中間ポリゴンモデルが仮想空間内に配置されている様子の一例を模式的に示す図である。
[図11] 仮想空間画像の一例を示す図である。
[図12A] 法線方向修正処理の一例を説明する説明図である。
[図12B] 法線方向修正処理の一例を説明する説明図である。
[図13] 本発明の一実施形態に係るポリゴンモデル生成装置で実装される機能の一例を示す機能ブロック図である。
[図14] 本発明の一実施形態に係るポリゴンモデル生成装置で行われる処理の流れの一例を示すフロー図である。
[図15] 本発明の一実施形態に係るポリゴンモデル生成装置で行われる処理の流れの一例を示すフロー図である。
[図16] 本発明の一実施形態に係るポリゴンモデル生成装置で行われる処理の流れの一例を示すフロー図である。
[図17] 本発明の一実施形態に係るポリゴンモデル生成装置で行われる処理の流れの一例を示すフロー図である。

発明を実施するための形態

[0016]
 以下、本発明の一実施形態について図面に基づき詳細に説明する。
[0017]
 図1は、本発明の一実施形態に係るポリゴンモデル生成装置10の構成図である。本実施形態に係るポリゴンモデル生成装置10は、例えば、ゲームコンソールやパーソナルコンピュータなどのコンピュータである。図1に示すように、本実施形態に係るポリゴンモデル生成装置10は、例えば、プロセッサ12、記憶部14、操作部16、表示部18、を含んでいる。
[0018]
 プロセッサ12は、例えばポリゴンモデル生成装置10にインストールされるプログラムに従って動作するCPU等のプログラム制御デバイスである。本実施形態に係るプロセッサ12には、CPUから供給されるグラフィックスコマンドやデータに基づいてフレームバッファに画像を描画するGPU(Graphics Processing Unit)も含まれている。
[0019]
 記憶部14は、ROMやRAM等の記憶素子やハードディスクドライブなどである。記憶部14には、プロセッサ12によって実行されるプログラムなどが記憶される。また、本実施形態に係る記憶部14には、GPUにより画像が描画されるフレームバッファの領域が確保されている。
[0020]
 操作部16は、キーボード、マウス、ゲームコンソールのコントローラ等のユーザインタフェースであって、ユーザの操作入力を受け付けて、その内容を示す信号をプロセッサ12に出力する。
[0021]
 表示部18は、液晶ディスプレイ等の表示デバイスであって、プロセッサ12の指示に従って各種の画像を表示する。
[0022]
 なお、ポリゴンモデル生成装置10は、ネットワークボードなどの通信インタフェース、DVD-ROMやBlu-ray(登録商標)ディスクなどの光ディスクを読み取る光ディスクドライブ、USB(Universal Serial Bus)ポートなどを含んでいてもよい。
[0023]
 図2は、本実施形態に係る被写体20が実空間22内に配置されている様子の一例を模式的に示す図である。図2には、スタンフォードバニーのような形状の実オブジェクトが被写体20の一例として示されている。
[0024]
 図3は、被写体20を模したポリゴンモデルが仮想空間32内に配置されている様子の一例を模式的に示す図である。本実施形態に係るポリゴンモデル生成装置10では、例えば、実空間22に配置された実カメラ24が図2に例示する被写体20を撮影した1又は複数の撮影画像に基づいて、最終的には図3に示すポリゴンモデルが生成される。以下、最終的に生成されるポリゴンモデルを最終ポリゴンモデル30と呼ぶこととする。
[0025]
 図3に示す最終ポリゴンモデル30は、複数のポリゴン34から構成されている。本実施形態に係る仮想空間32は、実空間22をモデリングした空間となっている。本実施形態では実空間22内における被写体20の位置や向きは、仮想空間32内の最終ポリゴンモデル30の位置や向きに反映される。以下、実空間22内における位置はX1Y1Z1座標系で表現され、仮想空間32内における位置はX2Y2Z2座標系で表現されることとする。
[0026]
 以下、ポリゴンモデル生成装置10で行われる、被写体20に基づく最終ポリゴンモデル30の生成処理について説明する。
[0027]
 本実施形態に係るポリゴンモデル生成装置10は、まず、実カメラ24が被写体20を撮影した1又は複数の撮影画像を取得する。なお、複数の実カメラ24のそれぞれによって同時に撮影画像が撮影されてもよいし、1の実カメラ24によって様々な向きから被写体20の撮影画像が撮影されてもよい。また実カメラ24は、ステレオカメラや赤外線測距センサ付きのカメラなどといった、深さ情報を含む撮影画像の撮影が可能なカメラであってもよい。この場合例えば、撮影画像に含まれる画素のそれぞれに対応付けられる、実カメラ24から被写体20までの距離の分布を示すデプス画像が、実カメラ24によって撮影画像とともに生成されてもよい。
[0028]
 図4は、1又は複数の撮影画像に基づいて生成される点群データが示す点群に属する複数の点36の一例を模式的に示す図である。本実施形態では、ポリゴンモデル生成装置10が取得する1又は複数の撮影画像に基づいて、公知の手法により、仮想空間32内の複数の点36が属する点群を示す点群データが生成される。また撮影画像とデプス画像に基づいて点群データが生成されてもよい。
[0029]
 本実施形態では、複数の撮影画像が撮影される場合には、各撮影画像が撮影される際の被写体20と実カメラ24との間の距離の違いや撮影画像を撮影する複数の実カメラ24の解像度の違いなどによって、点群に属する点36の密度に粗密が生じることがある。また実カメラ24に対する被写体20の向きによっても点群に属する点36の密度に粗密が生じることがある。
[0030]
 図5は、点群データに含まれる、1の点36に対応付けられる点データの一例を示す図である。図5に示す点データには、当該点データに対応付けられる点36の識別情報である点IDと当該点36のX2Y2Z2座標系で表現された位置を表す3次元座標値を示す座標データとの組合せが含まれる。本実施形態で生成される点群データには、図5に例示する点データが点群に属する点36の数だけ含まれる。
[0031]
 そして図4に示す点36の位置は、1又は複数の撮影画像に基づいて特定される、被写体20の表面上の点の位置に対応付けられる。そして本実施形態では例えば、実空間22のX1Y1Z1座標系における座標値(x1,y1,z1)が、仮想空間32内のX2Y2Z2座標系における座標値(t・x1,t・y1,t・z1)(tは定数)にマッピングされる。そのため本実施形態では、図4に示す点群の輪郭に沿った立体の形状は、図2に示す被写体20の形状と概ね同じになる。
[0032]
 そして本実施形態に係るポリゴンモデル生成装置10は、図4に示す点群に属する点36に基づいて、複数のポリゴン34から構成される、ポリゴンモデルを示すポリゴンモデルデータを生成する。ここでは例えば、それぞれ図4に示す点群に属する点36を頂点とするポリゴン34から構成される、図6に例示するポリゴンモデルを示すポリゴンモデルデータが生成されることとする。なお点群に属する点36のなかには、ポリゴン34の頂点とはならずにポリゴン34の面上の点となるものがあってもよい。以下、図6に示すポリゴンモデルを最初ポリゴンモデル40と呼ぶこととする。例えば、図4に示す点群に属する点36をドロネー点とするドロネー三角形分割(四面体分割)を行うことで、複数の三角形から構成される最初ポリゴンモデル40が生成されてもよい。なおドロネー三角形分割によって最初ポリゴンモデル40が生成される必要はなく、その他の方法によって最初ポリゴンモデル40が生成されても構わない。
[0033]
 図7は、1のポリゴン34に対応付けられるポリゴンデータの一例を示す図である。本実施形態では、最初ポリゴンモデル40に含まれるポリゴン34の数だけポリゴンデータを含むポリゴンモデルデータが生成される。ポリゴンデータには、例えば、当該ポリゴンデータに対応付けられるポリゴン34の識別情報であるポリゴンIDと、当該ポリゴン34の頂点である点36の点IDの順序付きリストである頂点データと、が含まれる。
[0034]
 またポリゴンデータによって当該ポリゴンデータに対応付けられるポリゴン34の法線方向(表裏)が定義されてもよい。例えばポリゴン34を表側から見た際において反時計回りとなるような頂点の順序である、各頂点に対応付けられる点36の順序付きリストが頂点データとしてポリゴンデータに含まれるようにしてもよい。そしてこの場合にポリゴン34の裏側から表側に向かう方向が法線方向として定義されてもよい。
[0035]
 なおポリゴンデータのデータ構造は図7に示すものに限定されない。
[0036]
 ここで図6に例示する最初ポリゴンモデル40には、図4に示す点群の凸包が含まれており、図4に示す点群の輪郭に沿ったものであるとは言えない。そこで本実施形態では、以下で説明する長辺ポリゴン削除処理、交差ポリゴン削除処理、及び、不可視ポリゴン削除処理が実行されることによって、図6に例示する最初ポリゴンモデル40を構成するポリゴン34が順次削除される。そしてこのようにすることで本実施形態によれば、図5に例示する最初ポリゴンモデル40が、図4に示す点群の輪郭に沿ったポリゴンモデル、すなわち被写体20の再現精度の高いポリゴンモデルに近づいていく。
[0037]
 ここで図8を参照しながら長辺ポリゴン削除処理の一例について説明する。
[0038]
 長辺ポリゴン削除処理では、まず、図4に示す点群の分布に基づいて、当該点群に属するそれぞれの点36に対応付けられる点密度の値が決定される。
[0039]
 ここで特定の点36を中心とする所定の体積の六面体に含まれる点36の数が、当該特定の点36に対応する点密度の値として決定されてもよい。
[0040]
 また、点群データが、仮想空間32内に配置されるそれぞれの点36の位置を、当該点群データが示す点群を覆う立方体が占める3次元空間を再帰的に8つに分割した部分空間に対応付けた八分木データ構造のデータを含んでいてもよい。この場合、八分木に基づいて大まかに特定される点36の密度が当該点36に対応付けられる点密度の値として決定されてもよい。このようにすれば点密度の値が高速に決定される。
[0041]
 なお点密度の値の決定方法は以上の方法には限定されない。
[0042]
 次に、最初ポリゴンモデル40に含まれるそれぞれの辺42につき、当該辺42の端点である点36に対応付けられる点密度の値に基づいて、当該辺42に対応付けられる閾値が決定される。図8の例において、辺42aの一方の端点である点36aに対応付けられる点密度の値がv1と特定されたとする。また辺42aの他方の端点である点36bに対応付けられる点密度の値がv2と特定されたとする。この場合は例えば、値v1と値v2とに基づいて、辺42aに対応付けられる閾値thが決定される。ここで例えば値v1と値v2のうちの小さな値に対応付けられる閾値が閾値thとして決定されてもよい。また例えば値v1と値v2のうちの大きな値に対応付けられる閾値が閾値thとして決定されてもよい。また例えば値v1と値v2の平均値に対応付けられる閾値が閾値thとして決定されてもよい。
[0043]
 なお本実施形態では点密度の値と閾値との対応規則は予め定められており、点密度の値に基づいて閾値が決定可能であることとする。また点密度の値が大きいほど当該点密度の値に対応付けられる閾値として小さな値が決定されることとする。
[0044]
 そして最初ポリゴンモデル40に含まれる辺42のうちから、当該辺42に対応づけられる閾値よりも当該辺42の長さの方が大きな辺42が特定される。そして特定された辺42を含むポリゴン34が最初ポリゴンモデル40から削除される。すなわち、特定された辺42を含むポリゴン34に対応するポリゴンデータが、ポリゴンモデルデータから削除される。図8の例では、辺42aの長さLが閾値thを超える場合には、辺42aを含むポリゴン34a及びポリゴン34bが最初ポリゴンモデル40から削除される。
[0045]
 上述の長辺ポリゴン削除処理を実行せずに、図6に例示する最初ポリゴンモデル40から所定長よりも長い辺42を含むポリゴン34を一律で削除するようにすると、図4に示す点群の粗密の影響で精度の高いポリゴンモデルが得られないことがある。例えば、上述の所定長を短くすると凹部においてもポリゴンモデルが点群の輪郭に沿ったものとなる一方でポリゴンモデルに穴が空く可能性が高くなる。また上述の所定長を長くするとポリゴンモデルに穴が空く可能性は低減されるが凹部においてポリゴンモデルが点群の輪郭に沿ったものとならない可能性が高くなる。
[0046]
 本実施形態に係る長辺ポリゴン削除処理では、点群に属する点36の密度が反映された閾値に基づき長辺を含むポリゴン34が削除される。具体的には例えば、点36が密である部分においては比較的短い辺を含むポリゴン34であっても削除される一方で、点36が粗である部分においては比較的長い辺を含むポリゴン34であっても削除されない。このようにして本実施形態では、精度の高いポリゴンモデルを得ることができる。
[0047]
 そして本実施形態ではポリゴンモデルの精度をさらに高めるため、以下で説明する交差ポリゴン削除処理が実行される。ここで図9を参照しながら交差ポリゴン削除処理の一例について説明する。
[0048]
 交差ポリゴン削除処理では、まず、撮影画像を撮影した際の実空間22における実カメラ24の位置に相当する、仮想空間32内における位置が特定される。上述のように実カメラ24の位置のX1Y1Z1座標値が(x1,y1,z1)である場合には、この実カメラ24の位置に相当する仮想空間32内の位置のX2Y2Z2座標値として(t・x1,t・y1,t・z1)が特定される。以下、このようにして特定される、実空間22における実カメラ24の位置に相当する、仮想空間32内における位置を、当該実カメラ24の対応カメラ位置と呼ぶこととする。
[0049]
 そして実カメラ24によって撮影された撮影画像に含まれる画素に対応付けられる被写体20の表面上の点に相当する、仮想空間32内における点36が特定される。以下、このようにして特定される点36を、当該実カメラ24の可視点と呼ぶこととする。
[0050]
 そして実カメラ24の対応カメラ位置から、当該実カメラ24の可視点のうち対応付けられる点密度の値が所定値よりも大きな点36のそれぞれに対してレイキャストが実行される。
[0051]
 そしてレイキャストにおけるレイと交差するポリゴン34がポリゴンモデルから削除される。例えば図9に示す、実カメラ24の対応カメラ位置P1から当該実カメラ24の可視点である点36cに対してレイキャストを実行した際に、当該レイキャストにおけるレイとポリゴン34cが位置P2において交差したとする。すなわち、対応カメラ位置P1と点36cの位置とを両端とする線分と交差するポリゴン34としてポリゴン34cが特定されたとする。この場合、このポリゴン34cがポリゴンモデルから削除される。すなわち、ポリゴン34cに対応するポリゴンデータが、ポリゴンモデルデータから削除される。
[0052]
 上述の交差ポリゴン削除処理によれば、長辺ポリゴン削除処理では削除しきれないポリゴン34の削除が可能となり、交差ポリゴン削除処理が実行された後のポリゴンモデルは点群の輪郭に沿ったものにより近づく。
[0053]
 しかし以上の長辺ポリゴン削除処理及び交差ポリゴン削除処理を実行しても、ポリゴンモデルの外表面よりも内側のポリゴン34が残ることがある。このようなポリゴン34は、ポリゴンモデルの外観の表現に寄与しない。そのため、このようなポリゴン34に対応するポリゴンデータはポリゴンモデルデータにおける無駄といえる。
[0054]
 そこで本実施形態では、以下で説明する不可視ポリゴン削除処理によって、ポリゴンモデルの外表面よりも内側のポリゴン34が削除され、その結果、ポリゴンモデルデータのデータサイズの無駄が低減されるようにした。ここで図10~図12Bを参照しながら不可視ポリゴン削除処理の一例について説明する。
[0055]
 まず図10に示すように、長辺ポリゴン削除処理及び交差ポリゴン削除処理が実行されたポリゴンモデルが、仮想空間32内に配置される。以下、長辺ポリゴン削除処理及び交差ポリゴン削除処理が実行されたポリゴンモデルを、中間ポリゴンモデル50と呼ぶこととする。中間ポリゴンモデル50は、外観は最終ポリゴンモデル30と同様であるが、上述のように外表面よりも内側のポリゴン34が残っている。ここで中間ポリゴンモデル50に含まれるポリゴン34が互いに識別可能な状態で仮想空間32内に配置されてもよい。例えば、ポリゴン34のポリゴンIDに対応付けられるテクスチャや色等の可視属性が当該ポリゴン34に設定されてもよい。
[0056]
 そして中間ポリゴンモデル50を望む仮想空間32内の位置に配置された仮想カメラ52から中間ポリゴンモデル50の方向を見た様子を表す、図11に例示する仮想空間画像54がレンダリングされる。図11には、図10における位置P3に配置された仮想カメラ52中間ポリゴンモデル50の方向を見た様子を表す仮想空間画像54が示されている。ここでポリゴン34に設定されている可視属性が仮想空間画像に反映されてもよい。そして当該仮想空間画像54を撮影した位置から可視であるポリゴン34(可視ポリゴン34d)が特定される。ここで例えば、仮想空間画像54に像が含まれるポリゴン34に設定されている可視属性に対応付けられるポリゴンIDに対応するポリゴン34が、可視ポリゴン34dとして特定されてもよい。
[0057]
 ここで図10に示すように、仮想空間32内の複数の位置のそれぞれについて、順次、上述の仮想カメラ52の配置、仮想空間画像54の生成、及び、可視ポリゴン34dの特定が行われてもよい。また仮想空間32内の複数の位置のそれぞれにおける、仮想カメラ52の配置、仮想空間画像54の生成、及び、可視ポリゴン34dの特定が並列処理で実行されてもよい。そしていずれの仮想空間画像54においても可視ポリゴン34dとして特定されなかったポリゴン34が、不可視ポリゴンとして特定される。
[0058]
 ここで例えば、初期状態では空である可視ポリゴンIDリストに、可視ポリゴン34dとして特定されたポリゴン34のポリゴンIDが追加されるようにしてもよい。そして可視ポリゴンIDリストにポリゴンIDが含まれていないポリゴン34が不可視ポリゴンとして特定されてもよい。
[0059]
 そして、不可視ポリゴンとして特定されたポリゴン34が、中間ポリゴンモデル50から削除される。すなわち不可視ポリゴンに対応するポリゴンデータが、ポリゴンモデルデータから削除される。
[0060]
 また本実施形態では、不可視ポリゴン削除処理の際に、それぞれの仮想空間画像54において可視ポリゴン34dとして特定されたポリゴン34については、法線方向修正処理が実行される。
[0061]
 ここでは例えば図12Aに示すように、可視ポリゴン34dの法線方向が仮想カメラ52に向かっていない場合は、当該可視ポリゴン34dに対応付けられる法線反転カウント値が1増加する。すなわち仮想カメラ52による撮影方向のベクトルV1と可視ポリゴン34dの法線方向のベクトルV2との内積が正である場合は、当該可視ポリゴン34dに対応付けられる法線反転カウント値が1増加する。
[0062]
 逆に例えば図12Bに示すように、可視ポリゴン34dの法線方向が仮想カメラ52に向かっている場合は、当該可視ポリゴン34dに対応付けられる法線反転カウント値が1減少する。すなわち仮想カメラ52による撮影方向のベクトルV1と可視ポリゴン34dの法線方向のベクトルV2との内積が負である場合は、当該可視ポリゴン34dに対応付けられる法線反転カウント値が1減少する。なお、可視ポリゴン34dに対応付けられる法線反転カウント値の初期値は0であることとする。
[0063]
 そしてすべての仮想空間画像に対して法線反転カウント値の増加や減少が実行された結果において、対応付けられる法線反転カウント値が正である可視ポリゴン34dが特定される。そして特定された可視ポリゴン34dに対応付けられるポリゴンデータが示す法線方向が反転される。ここでは例えば、ポリゴンデータの頂点データに含まれる3つの点IDのうち2番目の点IDと3番目の点IDの順序が入れ替わる。
[0064]
 図6に示す最初ポリゴンモデル40を構成するポリゴン34が順次削除された結果、法線方向がポリゴンモデルの外表面の内側から外側に向かっていないポリゴン34が存在することがある。このようなポリゴン34についても上述の法線方向修正処理によって、その法線方向がポリゴン34の外表面の内側から外側に向かうよう修正される。
[0065]
 そして以上のようにして不可視ポリゴン削除処理及び法線方向修正処理が行われることで、図3に例示する最終ポリゴンモデル30が生成される。
[0066]
 GPUのレンダリング機能を用いれば、仮想空間画像54は容易に生成できる。そして本実施形態ではこのように容易に生成可能な仮想空間画像54に基づいて、可視ポリゴン34dが特定されるため、不可視ポリゴンを容易に特定できる。
[0067]
 以上で説明したように、本実施形態では、図5に例示する最初ポリゴンモデル40からポリゴン34を削除するというシンプルな処理によって、低処理負荷で、被写体20を模した高精度の最終ポリゴンモデル30を生成することができる。
[0068]
 以下、本実施形態に係るポリゴンモデル生成装置10の機能、及び、ポリゴンモデル生成装置10で実行される処理についてさらに説明する。
[0069]
 図13は、本実施形態に係るポリゴンモデル生成装置10で実装される機能の一例を示す機能ブロック図である。図13に示すように、ポリゴンモデル生成装置10は、機能的には例えば、撮影画像記憶部60、カメラデータ記憶部62、ポリゴンモデルデータ記憶部64、撮影画像取得部66、カメラデータ取得部68、点群データ生成部70、最初ポリゴンモデル生成部72、点密度値決定部74、閾値決定部76、長辺ポリゴン削除部78、対応カメラ位置特定部80、交差ポリゴン削除部82、可視属性設定部84、仮想カメラ配置部86、仮想空間画像生成部88、可視ポリゴン特定部90、法線方向修正部92、不可視ポリゴン削除部94、を含んでいる。
[0070]
 撮影画像記憶部60、カメラデータ記憶部62、ポリゴンモデルデータ記憶部64は、記憶部14を主として実装される。撮影画像取得部66、カメラデータ取得部68、点群データ生成部70、最初ポリゴンモデル生成部72、点密度値決定部74、閾値決定部76、長辺ポリゴン削除部78、対応カメラ位置特定部80、交差ポリゴン削除部82、可視属性設定部84、仮想カメラ配置部86、仮想空間画像生成部88、可視ポリゴン特定部90、法線方向修正部92、不可視ポリゴン削除部94は、プロセッサ12を主として実装される。
[0071]
 以上の機能は、コンピュータであるポリゴンモデル生成装置10にインストールされた、以上の機能に対応する指令を含むプログラムをプロセッサ12で実行することにより実装されてもよい。このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどを介してポリゴンモデル生成装置10に供給されてもよい。
[0072]
 撮影画像記憶部60は、本実施形態では例えば、実空間22において実カメラ24が被写体20を撮影した1又は複数の撮影画像を記憶する。撮影画像記憶部60は、デプス画像などといった深さ情報に関連付けられた撮影画像を記憶してもよい。
[0073]
 カメラデータ記憶部62は、本実施形態では例えば、撮影画像を撮影した際における、実空間22内における実カメラ24の位置、向き、画角、などを示すカメラデータを記憶する。撮影画像記憶部60に複数の撮影画像が記憶される場合は、カメラデータ記憶部62には、それぞれ撮影画像に対応付けられる複数のカメラデータが記憶される。
[0074]
 ポリゴンモデルデータ記憶部64は、本実施形態では例えば、図5に例示する点データを複数含む点群データ、及び、図7に例示するポリゴンデータを複数含むポリゴンモデルデータを記憶する。
[0075]
 撮影画像取得部66は、本実施形態では例えば、撮影画像記憶部60に記憶されている1又は複数の撮影画像を取得する。
[0076]
 カメラデータ取得部68は、本実施形態では例えば、カメラデータ記憶部62に記憶されている1又は複数のカメラデータを取得する。
[0077]
 点群データ生成部70は、本実施形態では例えば、撮影画像取得部66が取得する撮影画像、及び、カメラデータ取得部68が取得するカメラデータに基づいて、点群データを生成して、生成された点群データをポリゴンモデルデータ記憶部64に記憶させる。
[0078]
 最初ポリゴンモデル生成部72は、本実施形態では例えば、ポリゴンモデルデータ記憶部64に記憶されている点群データに基づいて、複数のポリゴン34を含む最初ポリゴンモデル40を生成する。ここで例えば、それぞれポリゴンモデルデータ記憶部64に記憶されている点群データが示す点群に属する点36を頂点とする複数のポリゴン34を含む最初ポリゴンモデル40が生成されてもよい。そして最初ポリゴンモデル生成部72は、本実施形態では例えば、生成された最初ポリゴンモデル40をポリゴンモデルデータ記憶部64に記憶させる。
[0079]
 点密度値決定部74は、本実施形態では例えば、ポリゴンモデルデータ記憶部64に記憶されている点群データが示す点群の分布に基づいて、上述のようにして、当該点群に属するそれぞれの点36に対応付けられる点密度の値を決定する。
[0080]
 閾値決定部76は、本実施形態では例えば、ポリゴンモデルデータ記憶部64に記憶されているポリゴンデータが示すそれぞれのポリゴン34について、上述のようにして、当該ポリゴン34を構成する辺42に対応付けられる閾値を決定する。ここで点密度の値が大きいほど当該点密度の値に対応付けられる閾値として小さな値が決定されるようにしてもよい。また閾値決定部76は、点密度の値と閾値との対応規則を示すデータを保持していてもよい。そして閾値決定部76は、このデータを用いて閾値を決定してもよい。
[0081]
 長辺ポリゴン削除部78は、本実施形態では例えば、ポリゴン34を構成する辺42の長さが、当該辺42の端点に対応付けられる点密度の値に応じた閾値を超える場合に、当該ポリゴン34をポリゴンモデルから削除する。ここで長辺ポリゴン削除部78は、上述のようにして、対応づけられる閾値よりもその長さの方が大きな辺42を含むポリゴン34をポリゴンモデルから削除してもよい。また、対応づけられる閾値よりもその長さの方が大きな辺42を含むポリゴン34のポリゴンIDを含むポリゴンデータが、ポリゴンモデルデータから削除されてもよい。
[0082]
 対応カメラ位置特定部80は、本実施形態では例えば、カメラデータ取得部68が取得するカメラデータに基づいて、当該カメラデータが示す実空間22における実カメラ24の位置に相当する仮想空間32内の位置である対応カメラ位置を特定する。
[0083]
 交差ポリゴン削除部82は、本実施形態では例えば、仮想空間32内におけるポリゴンモデルを望む位置と、点群データが示す点群に属する点36の位置とを両端とする線分と交差するポリゴン34を特定する。
[0084]
 ここで上述のように、実カメラ24の対応カメラ位置と、当該実カメラ24によって撮影された撮影画像に像が含まれる被写体20の表面に相当する点36とを両端とする線分に交差するポリゴン34が特定されてもよい。また、対応付けられる点密度の値が所定値よりも大きな点36の少なくとも一部のそれぞれのみについて、当該点36の位置と仮想空間32内におけるポリゴンモデルを望む位置とを両端とする線分に交差するポリゴン34が特定されてもよい。
[0085]
 また例えば、仮想空間32における、ポリゴンモデルの中心に対する無限遠点と、点36とを両端とする線分に交差するポリゴン34が特定されてもよい。また例えば、ポリゴンモデルの中心から、当該ポリゴンモデルを内包する球の半径の所定倍(例えば1.5倍や3倍など)以上離れた位置と、点36とを両端とする線分に交差するポリゴン34が特定されてもよい。
[0086]
 また例えば、ユーザによって設定された仮想空間32内におけるポリゴンモデルを望む位置と、点36とを両端とする線分に交差するポリゴン34が特定されてもよい。
[0087]
 そして交差ポリゴン削除部82は、本実施形態では例えば、特定されたポリゴン34をポリゴンモデルから削除する。ここで例えば、特定されたポリゴン34のポリゴンIDを含むポリゴンデータがポリゴンモデルデータから削除されてもよい。
[0088]
 可視属性設定部84は、本実施形態では例えば、仮想空間32内に配置されている中間ポリゴンモデル50を構成するそれぞれのポリゴン34に、当該ポリゴン34に対応付けられる可視属性を設定する。
[0089]
 仮想カメラ配置部86は、本実施形態では例えば、仮想空間32内における仮想カメラ52の位置及び撮影方向を決定する。ここで例えば、仮想カメラ配置部86は、ユーザによる操作部16の操作に応じて、仮想カメラ52の位置や向きを変更してもよい。そして、仮想カメラ配置部86は、ユーザの決定操作に応じて、仮想カメラ52の配置を決定してもよい。
[0090]
 仮想空間画像生成部88は、本実施形態では例えば、仮想カメラ配置部86により配置された仮想カメラ52の位置から仮想カメラ52の撮影方向を見た様子を表す仮想空間画像54を生成する。ここで例えば、それぞれ互いに異なる位置から見た様子を表す複数の仮想空間画像54が生成されてもよい。
[0091]
 可視ポリゴン特定部90は、本実施形態では例えば、仮想空間画像54に基づいて、仮想カメラ52から可視である可視ポリゴン34dを特定する。
[0092]
 法線方向修正部92は、本実施形態では例えば、可視ポリゴン特定部90が特定するそれぞれの可視ポリゴン34dに対して、上述の法線方向修正処理を実行する。
[0093]
 不可視ポリゴン削除部94は、本実施形態では例えば、仮想空間32内に設定される1又は複数の仮想カメラ52のいずれにおいても不可視なポリゴン34である不可視ポリゴンを特定する。そして不可視ポリゴン削除部94は、本実施形態では例えば、特定される不可視ポリゴンをポリゴンモデルから削除する。ここで例えば、不可視ポリゴンのポリゴンIDを含むポリゴンデータが、ポリゴンモデルデータから削除されてもよい。またいずれの仮想空間画像54においても可視ポリゴン34dとして特定されなかったポリゴン34に対応付けられるポリゴンデータが、ポリゴンモデルデータから削除されてもよい。
[0094]
 ここで、本実施形態に係るポリゴンモデル生成装置10で行われる処理の流れの一例を、図14に例示するフロー図を参照しながら説明する。なお以下の処理例では、以下の処理の開始の際には空である可視ポリゴンIDリストが可視ポリゴン特定部90によって保持されていることとする。
[0095]
 まず、撮影画像取得部66が、撮影画像記憶部60に記憶されている1又は複数の撮影画像を取得する(S101)。そしてカメラデータ取得部68が、カメラデータ記憶部62に記憶されている、S101に示す処理で取得された撮影画像に対応付けられるカメラデータを取得する(S102)。本処理例ではS101に示す処理で複数の撮影画像が取得され、S102に示す処理でそれぞれ撮影画像に対応付けられる複数のカメラデータが取得されることとする。
[0096]
 そして点群データ生成部70が、複数の点データを含む点群データを生成して、生成された点群データをポリゴンモデルデータ記憶部64に記憶させる(S103)。ここでS101に示す処理で取得された撮影画像に基づいて点群データが生成されてもよい。あるいはS101に示す処理で取得された撮影画像及びS102に示す処理で取得されたカメラデータに基づいて点群データが生成されてもよい。
[0097]
 そして最初ポリゴンモデル生成部72が、S103に示す処理で記憶された点群データに基づいて、最初ポリゴンモデル40のポリゴンモデルデータを生成して、生成されたポリゴンモデルデータをポリゴンモデルデータ記憶部64に記憶させる(S104)。
[0098]
 そして上述の長辺ポリゴン削除処理(S105)、交差ポリゴン削除処理(S106)、不可視ポリゴン削除処理(S107)の順に処理が実行され、最終ポリゴンモデル30に対応付けられるポリゴンモデルデータが最終的には生成される。
[0099]
 以下、本実施形態に係るポリゴンモデル生成装置10で行われる、S105に示す長辺ポリゴン削除処理の流れの一例を、図15に例示するフロー図を参照しながら説明する。
[0100]
 まず、点密度値決定部74が、S103に示す処理で記憶された点群データが示す点群の分布に基づいて、当該点群データに含まれる複数の点データのそれぞれに対応する点36について、当該点36に対応する点密度の値を決定する(S201)。
[0101]
 そして閾値決定部76が、S104に示す処理で生成されるポリゴンモデルデータに含まれる複数のポリゴンデータのそれぞれについて、当該ポリゴンデータが示すポリゴン34の辺42に対応付けられる閾値を決定する(S202)。ここで例えば、辺42は、ポリゴンデータの頂点データに含まれる2つの点IDの組合せに対応付けられる点36の組合せに対応する。そしてこれら2つの点IDのそれぞれに対応付けられる点36についてS105に示す処理で決定された点密度の値に基づいて、辺42に対応付けられる閾値は決定可能である。
[0102]
 そして長辺ポリゴン削除部78は、S202に示す処理で閾値が決定された辺42のなかから、辺42の長さが当該辺42について決定された閾値を超える辺42を含むポリゴン34を特定する(S203)。
[0103]
 そして長辺ポリゴン削除部78は、S203に示す処理で特定されたポリゴン34のポリゴンIDを含むポリゴンデータを、ポリゴンモデルデータ記憶部64に記憶されているポリゴンモデルデータから削除する(S204)。そして長辺ポリゴン削除処理(S105)は終了される。
[0104]
 以下、本実施形態に係るポリゴンモデル生成装置10で行われる、S106に示す交差ポリゴン削除処理の流れの一例を、図16に例示するフロー図を参照しながら説明する。
[0105]
 まず対応カメラ位置特定部80が、S102に示す処理で取得されたカメラデータに基づいて、それぞれカメラデータに対応付けられる、実カメラ24の対応カメラ位置を特定する(S301)。本処理例ではカメラデータが複数取得されるので、対応カメラ位置は複数特定される。
[0106]
 そして交差ポリゴン削除部82が、S301に示す処理で特定された対応カメラ位置のうちから、以下のS303~S307に示す処理が実行されていない1つを選択する(S302)。
[0107]
 そして、交差ポリゴン削除部82は、S302に示す処理で選択された対応カメラ位置に対応する実カメラ24が撮影した撮影画像を特定する(S303)。
[0108]
 そして交差ポリゴン削除部82は、S303に示す処理で特定された撮影画像に像が含まれる被写体20の表面に相当する複数の点36を特定する(S304)。
[0109]
 そして交差ポリゴン削除部82は、S304に示す処理で特定された複数の点36のうちから、S201に示す処理で決定された、対応付けられる点密度の値が所定値よりも大きいものを抽出する(S305)。
[0110]
 そして交差ポリゴン削除部82は、S305に示す処理で抽出された複数の点36のそれぞれについて、当該点36の位置とS301に示す処理で選択された対応カメラ位置とを両端とする線分を交差するポリゴン34を特定する(S306)。
[0111]
 そして交差ポリゴン削除部82は、S306に示す処理で特定されたポリゴン34のポリゴンIDを含むポリゴンデータを、ポリゴンモデルデータ記憶部64に記憶されているポリゴンモデルデータから削除する(S307)。
[0112]
 そして交差ポリゴン削除部82は、S302に示す処理で未選択である、S303~S307に示す処理が実行されていない対応カメラ位置が存在するかを確認する(S308)。存在する場合は(S308:Y)、S302に示す処理に戻る。存在しない場合は(S308:N)、交差ポリゴン削除処理(S106)は終了される。
[0113]
 以下、本実施形態に係るポリゴンモデル生成装置10で行われる、S107に示す不可視ポリゴン削除処理の流れの一例を、図17に例示するフロー図を参照しながら説明する。
[0114]
 まず、可視属性設定部84が、ポリゴンモデルデータ記憶部64に記憶されているポリゴンモデルデータに含まれるポリゴンデータのそれぞれに対して互いに異なる可視属性を設定する(S401)。
[0115]
 そして仮想カメラ配置部86が、仮想空間32内における、ポリゴンモデルを望む仮想カメラ52の位置、及び、仮想カメラ52の撮影方向を決定する(S402)。ここで例えば、位置及び撮影方向がランダムに決定されてもよいし、ユーザの指定に応じて位置及び撮影方向が決定されてもよい。
[0116]
 そして仮想空間画像生成部88が、仮想カメラ52の位置から仮想カメラ52の撮影方向を見た様子を表す仮想空間画像54を生成する(S403)。
[0117]
 そして可視ポリゴン特定部90が、S403に示す処理で生成された仮想空間画像54に基づいて、仮想カメラ52から可視である可視ポリゴン34dを特定する(S404)。
[0118]
 そして可視ポリゴン特定部90が、S404に示す処理で特定された可視ポリゴン34dのポリゴンIDを可視ポリゴンIDリストに追加する(S405)。なお本処理例では、可視ポリゴンIDリストにポリゴンIDが追加される際に、初期値が0である法線反転カウント値が当該ポリゴンIDに関連付けられることとする。
[0119]
 そして法線方向修正部92は、S120に示す処理で特定された可視ポリゴン34dのそれぞれについて、仮想カメラ52による撮影方向のベクトルV1と当該可視ポリゴン34dの法線方向のベクトルV2との内積の値を計算する(S406)。
[0120]
 そして法線方向修正部92は、S405に示す処理で計算される内積の値に応じて、可視ポリゴンIDリストに含まれるポリゴンIDに関連付けられている法線反転カウント値を更新する(S407)。ここで例えば、計算された内積の値が正である可視ポリゴン34dのポリゴンIDに関連付けられている法線反転カウント値は1増加される。また、計算された内積の値が負である可視ポリゴン34dのポリゴンIDに関連付けられている法線反転カウント値は1減少される。
[0121]
 そして不可視ポリゴン削除部94が、S403~S407に示す処理が予め定められた回数だけ繰り返し実行されたか否かを確認する(S408)。ここで実行回数が予め定められた回数に達していないことが確認されたとする(S408:N)。この場合は、仮想カメラ配置部86が、仮想空間32内における、ポリゴンモデルを望む仮想カメラ52の位置、及び、仮想カメラ52の撮影方向を変更して(S409)、S403に示す処理に戻る。ここで位置及び撮影方向は、ランダムに変更されてもよいし、ユーザが指定した位置及び撮影方向に変更されてもよい。
[0122]
 S408に示す処理において、実行回数が予め定められた回数に達したことが確認されたとする(S408:Y)。この場合、法線方向修正部92が、可視ポリゴン特定部90が保持する可視ポリゴンIDリストに含まれるポリゴンIDのうちから、関連付けられている法線反転カウント値が正であるポリゴンIDを特定する(S410)。
[0123]
 そして法線方向修正部92は、ポリゴンモデルデータ記憶部64に記憶されている、S409に示す処理で特定されたポリゴンIDを含むポリゴンデータが表す法線方向を反転させる(S411)。S411に示す処理では例えば、法線方向修正部92が、S410に示す処理で特定されたポリゴンIDを含むポリゴンデータの頂点データに含まれる3つの点IDのうち2番目の点IDと3番目の点IDの順序を入れ替える。
[0124]
 そして不可視ポリゴン削除部94が、可視ポリゴン特定部90が保持する可視ポリゴンIDリスト及びポリゴンモデルデータ記憶部64に記憶されているポリゴンデータに基づいて、不可視ポリゴンを特定する(S412)。
[0125]
 そして不可視ポリゴン削除部94が、S411に示す処理で特定された不可視ポリゴンのポリゴンIDを含むポリゴンデータを、ポリゴンモデルデータ記憶部64に記憶されているポリゴンモデルデータから削除する(S413)。そして不可視ポリゴン削除処理(S107)は終了される。
[0126]
 なお図17に示す処理例において、S406、S407、S410、及び、S411に示す処理が、上述の法線方向修正処理に相当する。
[0127]
 以上で説明した処理例において、例えば、S105に示す長辺ポリゴン削除処理が実行されずに、S106に示す交差ポリゴン削除処理が実行されてもよい。またS105に示す長辺ポリゴン削除処理の代わりに、所定長よりも長い辺42を含むポリゴン34を一律で削除する処理が実行されてもよい。また所定長よりも長い辺42を含むポリゴン34を一律で削除する処理が実行された後に、S105に示す長辺ポリゴン削除処理が実行されてもよい。
[0128]
 またS305に示す処理が実行されず、S304に示す処理で特定されたすべての点36について、S306、S307に示す処理が実行されてもよい。
[0129]
 また上述のS403~S409に示す処理が繰り返し処理として実行されるのではなく、S402に示す処理で仮想カメラ52の位置及び仮想カメラ52の撮影方向が複数決定されるようにした上で、S403~S407に示す処理が並列処理で実行されてもよい。
[0130]
 またS105に示す長辺ポリゴン削除処理やS106に示す交差ポリゴン削除処理が実行されていないポリゴンモデルに対して、S107に示す不可視ポリゴン削除処理が実行されてもよい。またS106に示す交差ポリゴン削除処理が実行された後にS107に示す不可視ポリゴン削除処理が実行されなくてもよい。
[0131]
 なお、本発明は上述の実施形態に限定されるものではない。
[0132]
 また、上記の具体的な文字列や数値及び図面中の具体的な文字列や数値は例示であり、これらの文字列や数値には限定されない。

請求の範囲

[請求項1]
 仮想空間内の点群を示す点群データに基づいて、複数のポリゴンを含むポリゴンモデルを生成するポリゴンモデル生成部と、
 前記仮想空間内における前記ポリゴンモデルを望む第1位置と前記点群に属する点の位置である第2位置とを両端とする線分と交差する前記ポリゴンである交差ポリゴンを特定する交差ポリゴン特定部と、
 前記交差ポリゴンを前記ポリゴンモデルから削除する交差ポリゴン削除部と、
 を含むことを特徴とするポリゴンモデル生成装置。
[請求項2]
 実空間において実カメラが被写体を撮影した画像を取得する画像取得部と、
 前記画像に基づいて、属する点がそれぞれ前記実空間内における前記被写体上の点に相当する前記点群データを生成する点群データ生成部と、
 前記被写体を撮影した際の前記実カメラの前記実空間内における位置に相当する、前記仮想空間内の位置を特定する対応カメラ位置特定部と、をさらに含み、
 前記交差ポリゴン特定部は、前記対応カメラ位置特定手順で特定される位置を前記第1位置として前記交差ポリゴンを特定する、
 ことを特徴とする請求項1に記載のポリゴンモデル生成装置。
[請求項3]
 前記仮想空間内に設定される1又は複数の仮想カメラのいずれにおいても不可視な前記ポリゴンである不可視ポリゴンを特定する不可視ポリゴン特定部と、
 前記不可視ポリゴンを前記ポリゴンモデルから削除する不可視ポリゴン削除部と、をさらに含む、
 ことを特徴とする請求項1又は2に記載のポリゴンモデル生成装置。
[請求項4]
 前記点群の分布に基づいて、当該点群に属する点に対応付けられる点密度の値を決定する点密度値決定部と、
 前記ポリゴンを構成する辺の長さが、当該辺の端点に対応付けられる前記点密度の値に応じた閾値を超える場合に、当該ポリゴンを前記ポリゴンモデルから削除する長辺ポリゴン削除部と、をさらに含む、
 ことを特徴とする請求項1から3のいずれか一項に記載のポリゴンモデル生成装置。
[請求項5]
 前記交差ポリゴン特定部は、対応付けられる前記点密度の値が所定値よりも大きな点の少なくとも一部のそれぞれのみについて、当該点の位置を前記第2位置として前記交差ポリゴンを特定する、
 ことを特徴とする請求項4に記載のポリゴンモデル生成装置。
[請求項6]
 仮想空間内の点群を示す点群データに基づいて、複数のポリゴンを含むポリゴンモデルを生成するポリゴンモデル生成ステップと、
 前記仮想空間内における前記ポリゴンモデルを望む第1位置と前記点群に属する点の位置である第2位置とを両端とする線分と交差する前記ポリゴンである交差ポリゴンを特定する交差ポリゴン特定ステップと、
 前記交差ポリゴンを前記ポリゴンモデルから削除する交差ポリゴン削除ステップと、
 を含むことを特徴とするポリゴンモデル生成方法。
[請求項7]
 仮想空間内の点群を示す点群データに基づいて、複数のポリゴンを含むポリゴンモデルを生成するポリゴンモデル生成手順、
 前記仮想空間内における前記ポリゴンモデルを望む第1位置と前記点群に属する点の位置である第2位置とを両端とする線分と交差する前記ポリゴンである交差ポリゴンを特定する交差ポリゴン特定手順、
 前記交差ポリゴンを前記ポリゴンモデルから削除する交差ポリゴン削除手順、
 をコンピュータに実行させることを特徴とするプログラム。

図面

[ 図 1]

[ 図 2]

[ 図 3]

[ 図 4]

[ 図 5]

[ 図 6]

[ 図 7]

[ 図 8]

[ 図 9]

[ 図 10]

[ 図 11]

[ 図 12A]

[ 図 12B]

[ 図 13]

[ 図 14]

[ 図 15]

[ 図 16]

[ 図 17]