以下に図面を参照して、本発明にかかる情報処理プログラム、情報処理方法、および情報処理装置の実施の形態を詳細に説明する。
図1は、情報処理装置による一動作例を示す説明図である。情報処理装置100は、3D計測によって得られた計測点群情報101に基づいて、3次元のモデルを示すモデル情報を取得するコンピュータである。3次元のモデルとは、コンピュータ空間上に表された物体である。コンピュータ空間とは、コンピュータ上で物体を表すために設定された空間である。
また、図1において情報処理装置100は、3D計測を行う計測機器そのものであるが、これに限らない。情報処理装置100は、例えば、3D計測を行う計測機器と通信可能なPC(Personal Computer)やサーバなどであってもよい。
ここで、計測点群情報101は、例えば、計測点ごとに、計測機器から計測点までの距離に基づく位置情報を有する。情報処理装置100は、x軸、y軸、z軸などのローカルな直交座標系を用いて各計測点の位置を表す。より詳細に説明すると、計測点群情報101は、計測点ごとに、情報処理装置100で用いる座標系Cにおける計測点の位置を示す座標値を含む。座標値はx座標値、y座標値、z座標値である。
例えば、CADは、例えば、計測点群情報101に基づいて、3次元のモデルを示すモデル情報を生成する。モデル情報とは、測定対象の空間や物体の形状を面によって表す3次元の面情報である。モデル情報は、例えば、頂点と三角形によって3次元の形状を表す情報などのCAD情報であってもよいし、3次元の形状を四面体や立方体などの小要素によって表す解析モデル情報であってもよく、特に限定しない。
また、手前にある物体が背後にある物体を隠す状態(以下、オクルージョンと称する。)により測定されない場所などがある。例えばCADでは、この測定によって得られた計測点群情報を用いて3次元のモデルを作成する場合、オクルージョン部分の形状を表すモデルを生成することができないという問題点がある。オクルージョンやオクルージョンのある計測点群情報によるモデル化例については図2を用いて説明する。例えば、測定対象の空間を死角なく測定するためには、複数の測定箇所において3D計測を行うことが考えられる。しかし、複数の測定箇所において3D計測を行うのには、測定者の手間がかかる。また、測定対象の空間を死角なく測定するために異なる測定箇所における複数の計測点群情報が取得された場合、複数の計測点群情報を合わせることが難しい場合がある。
そこで、本実施の形態では、情報処理装置100は、3D計測により得た計測点群情報101を、床面上に存在する点群情報と床面より上に存在する点群情報に分離し、分離した点群情報別にモデル化した各モデルを合わせたモデルを示すモデル情報を生成する。これにより、情報処理装置100は、複数の測定箇所によって測定を行うなどの測定者の手間をかけることなく、基準面のオクルージョンとなる部分の形状をより忠実に表すモデルを生成することができる。したがって、測定者の手間を省くことができる。特に、情報処理装置100は、床面、天井面、壁面のある部屋などの空間に有用である。例えば、基準面が床面である場合、床面のオクルージョン部分の形状を表すモデルを生成することができる。したがって、例えば、より実際の部屋に忠実な3次元モデルを、手間をかけることなく生成することができる。
まず、情報処理装置100は、測定装置によって測定された測定装置から物体までの距離に基づく3次元の計測点群情報101を取得する。測定装置は、例えば距離センサを含む。測定装置は、例えば、光を照射しながら走査すると共に物体から反射される反射光を用いて測定装置から物体までの距離を計測する。なお、測定装置は、図4を用いて後述する。3次元の計測点群情報101は、距離が測定された計測点群の3次元における各位置を示す。これにより、情報処理装置100は、3D計測によって得られた計測点群情報101を取得できる。情報処理装置100は、3D計測によって計測点群情報101を取得してもよいし、他の計測機器によって測定された計測点群情報101を、ネットワークなどを介して取得してもよい。図1の例では、情報処理装置100は、測定装置を備える。
次に、情報処理装置100は、取得した計測点群情報101の中から、測定装置によって測定された基準面に対応する第1計測点群情報と、基準面に対して特定の方向に存在する第2計測点群情報と、を抽出する。基準面については、床面、天井面、壁面などの基準となる面である。基準面については、後述するように情報処理装置100によって自動で特定される。また、基準面については、計測点群情報101によって特定される複数の面の中から利用者が指定した面であってもよい。基準面に対応する第1計測点群情報521は、例えば、基準面上に存在する計測点群の情報である。基準面上とは、略基準面上であり、基準面上に存在する計測点とは、誤差範囲を設定して基準面近傍に存在する計測点を含む。特定の方向とは、基準面に応じて設定される。図1の例では、床面を基準面として説明する。また、図1の例では、理解の容易化のために、床面上に存在する計測点の下に床を示す。基準面が床面の場合、特定の方向は、例えば床面よりも上の方向である。具体的には、情報処理装置100は、例えば、取得した計測点群情報101の中から、床面に対応する第1計測点群情報と、床面よりも高さが上の方向に存在する第2計測点群情報と、を抽出する。これにより、床面の計測点群と、床面よりも上に存在する計測点群が分離される。
次に、情報処理装置100は、抽出した第1計測点群情報に基づく第1モデル111を示す第1モデル情報121を取得する。具体的には、情報処理装置100は、例えば、CADなどに第1計測点群情報を与えることよりCADによって第1モデル111を示す第1モデル情報121を取得する。これにより、床面のモデルが得られる。床面には、計測点がない部分があるが、モデル化される際に、床面に対応する計測点群情報101となっていれば、床面に対応する計測点同士に面が形成される。このように、計測点がない部分は床面となるようにモデルの面が形成される。したがって、床面のオクルージョン部分の形状を表すモデルが得られる。
また、情報処理装置100は、抽出した第2計測点群情報に基づく第2モデル112を示す第2モデル情報122を取得する。具体的には、情報処理装置100は、例えば、CADなどに第2計測点群情報を与えることよりCADによって第2モデル112を示す第2モデル情報122を取得する。これにより、床面より上の障害物のモデルが得られる。なお、第1モデル情報121と第2モデル情報122との生成処理順については特に限定しない。
次に、情報処理装置100は、取得した第1モデル情報121と、取得した第2モデル情報122と、に基づいて、第1モデル111と第2モデル112とを含む第3モデル113を示す第3モデル情報123を生成する。具体的には、情報処理装置100は、第1モデル情報121と、第2モデル情報121とを含む第3モデル情報123を生成する。
全体の計測点群情報101がそのままモデル化された場合、床面のオクルージョン部分は計測点が存在しないため、床面と障害物とが一体化されたようなモデルが生成される場合がある。これに対して、情報処理装置100は、床面の第1モデル111と、障害物の第2モデル112とをそれぞれ別に生成することにより、床面と障害物とが一体化されないようになる。そして、情報処理装置100は、床面のオクルージョン部分の形状をより忠実に表すモデルを得ることができる。
図2は、オクルージョン例を示す説明図である。図2(1)において、測定対象の空間には、床の上に障害物が載っている。障害物としては、例えば、机や箱などの物体であり、特に限定しない。図2(1)において、計測機器が左側から右側にレーザを照射した場合、床面には障害物によってオクルージョンとなる部分がある。図2(1)および図2(2)において、四角形の点が計測点である。
上述したように、CADなどのアプリケーションでは、例えば、計測点群情報に基づいて、測定対象の空間を面によって表すモデル情報を生成することができる。CADなどのアプリケーションが、例えば、オクルージョンとなる部分がある計測点群情報によってモデル200を示すモデル情報を生成する場合、計測点群がない部分を補間するために、近い計測点同士に面を作成することがある。より具体的には、図2(2)に示すように、CADなどのアプリケーションでは、計測点p1と計測点p2との間に面を作成することがある。床面と障害物とが面s1によって一体化されたようなモデル200が作成され、床面と障害物との区別が不明瞭となる場合がある。このように、計測点群情報に基づき作成したモデルは、床や障害物を表すことができない場合がある。図1で説明したように、本実施の形態では、情報処理装置100は、床面に対応する計測点群情報と、床面より上に存在する計測点群情報(障害物に対応する計測点群情報)と、のそれぞれについてモデル化した各モデルを合わせたモデル情報を生成する。これにより、情報処理装置100は、オクルージョン部分の形状を忠実に表すモデルを得ることができる。
図3は、3D計測を行うための情報処理装置100の一例を示す説明図である。図3において、情報処理装置100は、駆動装置301と、測定装置302と、制御装置303と、を有する。情報処理装置100は、例えば、水平床面に設置されて使用される。図3において、情報処理装置100の筐体の形状については、例えば、いずれの方向から情報処理装置100を見ても外形が略同一となる形状となっているが、これに限らない。
また、情報処理装置100の3脚部分は、例えば伸縮することができる。情報処理装置100の3脚部分の伸縮により情報処理装置100の高さを変更することができる。情報処理装置100は、3脚部分により、例えば、30cmから130cmまでの高さを変更することができる。
駆動装置301は、回転軸310(図3中、z軸に対応)を中心にパン方向d1に回転するモータである。以下の説明では、パン方向d1の回転角(図3中、x軸に対する角度)を「回転角θh(θh=0〜360°(度))」と表記する場合がある。ただし、駆動装置301が初期位置のときの正面方向とx軸方向とが一致しているものとする。
測定装置302は、チルト方向d2に走査しながら光(例えば、レーザ)を物体に向けて照射し、反射光を受光するまでの時間を用いて自装置から物体までの距離を測定する2Dセンサである。チルト方向d2は、チルト軸320を中心に回転する方向である。すなわち、測定装置302は、チルト軸320を中心に光学系(例えば、後述の図4に示す発光部411、受光部412等)を回転させながら、図3中の太線矢印で示す方向(照射方向)に光を照射する。
情報処理装置100において、測定装置302は、パン方向d1に対してチルト方向d2が垂直となるように駆動装置301に取り付けられる。そして、測定装置302は、回転軸310を中心として円軌道に沿って移動される状態で、チルト方向d2に走査しながら光(以下、「レーザ」という)を物体に向けて照射して物体までの距離を測定する。
この際、測定装置302は、チルト方向d2に「0〜360°」の範囲でレーザを照射する。チルト角θvは、回転軸310に対するチルト方向d2の角度である。より詳細に説明すると、例えば、測定装置302は、チルト方向d2に0°から360°まで所定の角度ずつ移動される度に、この計測を行う。例えば、所定角度が0.25°の場合、測定装置302は、1周当たり25[msec]で約1440点の計測を行う。また、測定装置302は、例えば、駆動装置301によってパン方向d1に、「0〜360°」まで所定の角度ずつ移動される度に、この計測を行う。ただし、チルト方向とパン方向共に0°から360°計測する必要はない。どちらか一方が0から180°の計測を実施すれば、全方位の計測を行うことができる。また、全方位に限らず、角度を指定して計測範囲を制限してもよい。これにより、2Dセンサである測定装置302を利用して3D計測を行うことができる。
(情報処理装置100のハードウェア構成例)
図4は、情報処理装置100のハードウェア構成例を示すブロック図である。図6において、情報処理装置100は、CPU(Central Processing Unit)401と、メモリ402と、I/F(Interface)403と、駆動装置301と、測定装置302と、を有する。また、各構成部は、バス400によってそれぞれ接続される。
ここで、CPU401は、情報処理装置100の全体の制御を司る。メモリ402は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU401のワークエリアとして使用される。メモリ402に記憶されるプログラムは、CPU401にロードされることで、コーディングされている処理をCPU401に実行させる。
I/F403は、有線または無線のネットワークに接続され、ネットワーク410を介して他のコンピュータ(例えば、利用者のパーソナル・コンピュータ)に接続される。そして、I/F403は、ネットワーク410と自装置内部とのインターフェースを司り、他のコンピュータからのデータの入出力を制御する。なお、図3に示した制御装置303は、例えば、CPU401と、メモリ402と、I/F403と、を含む。
駆動装置301は、回転軸310を中心にパン方向d1に回転するモータである。測定装置302は、発光部411と、受光部412と、駆動部413と、センサ制御部414と、を含む。発光部411は、レーザを照射する光源であり、例えば、半導体レーザである。受光部412は、反射光を受光する。駆動部413は、チルト軸320を中心にチルト方向d2に発光部411を回転させる。センサ制御部414は、チルト方向d2に走査しながらレーザを物体に向けて照射し、反射光を受光するまでの時間を用いて自装置から物体までの距離を測定する。センサ制御部414は、距離に基づいて座標系Cにおける物体の座標値を計測点の座標データとしてメモリ402などに出力する。
なお、情報処理装置100は、上述した構成部のほかに、例えば、ディスクドライブ、ディスク、SSD(Solid State Drive)、入力装置、ディスプレイなどを有することにしてもよい。
(情報処理装置100の機能的構成例)
図5は、情報処理装置100の機能的構成例を示すブロック図である。情報処理装置100は、取得部501と、制御部502と、記憶部510と、を有する。記憶部510は、例えば、メモリ402などによって実現される。取得部501は、駆動装置301と測定装置302によって実現される。また、制御部502は、第1特定部511と、第2特定部512と、抽出部513と、第3特定部514と、付加部515と、第1取得部516と、第2取得部517と、生成部518と、を有する。第1特定部511から生成部518までの制御部502の処理は、例えば、メモリ402などによって実現される。図4に示すCPU401がアクセス可能なメモリ402などに記憶されたプログラムにコーディングされている。そして、CPU401がメモリ402などから該プログラムを読み出して、プログラムにコーディングされている処理を実行する。これにより、制御部502の処理が実現される。また、制御部502の処理結果は、例えば、メモリ402などに記憶される。
取得部501は、計測点群情報101を取得する。具体的には、取得部501は、例えば、光を照射しながら走査すると共に物体から反射される反射光を用いて、自情報処理装置100から物体までの距離に基づく計測点群情報101を取得する。
次に、第1特定部511は、取得された計測点群情報101に基づいて、測定された基準面を特定する。具体的には、第1特定部511は、例えば、計測点群情報101に基づいて、高さ方向に計測点の数を計数することにより高さ方向の計測点の数の分布を特定する。ここで、高さ方向とは、例えば、計測点群情報101の各軸の座標値に基づいて特定可能である。また、例えば、情報処理装置100が床面に水平な面に設置されて測定を行った場合、高さ方向は、図3に示すz軸方向と平行な方向である。そして、第1特定部511は、計測点群情報101のうち高さ方向の上側の計測点群情報101に基づく第1基準面と、高さ方向の下側の計測点群情報101に基づく第2基準面と、を特定する。
上側の計測点群情報101とは、例えば、最も高い計測点の高さから最も低い計測点の高さまでの高さの範囲を100[%]とした場合に、高さの範囲のうち最高の高さから、高さ方向と逆方向の所定数[%]の高さまでの範囲に含まれる計測点群情報101である。所定数[%]は、特に限定しないが、例えば10[%]程度である。下側の計測点群情報101とは、例えば、高さの範囲のうち最低の高さから、高さ方向に所定数[%]の高さまでの範囲に含まれる計測点群情報101である。所定数[%]は、特に限定しないが、例えば10[%]程度である。
第1特定部511は、上側の計測点群情報101における計測点数が最も多い高さの平面を天井面として特定する。第1特定部511は、下側の計測点群情報101における計測点数が最も多い高さの平面を床面として特定する。なお、第1特定部511によって床面および天井面を特定する例については、図6を用いて詳細に説明する。
第2特定部512は、例えば、取得された計測点群情報101から得られる高さ方向における計測点の数の分布に基づいて、計測点群情報101の中から、床面に応じた第4計測点群情報と、天井面に応じた第5計測点群情報と、を抽出する。そして、第2特定部512は、抽出した第4計測点群情報に基づく床面に対する各垂直面と、抽出した第5計測点群情報に基づく天井面に対する各垂直面と、の間で、高さ方向以外の各方向における位置が一致する垂直面である基準面を特定する。
ここで、計測点群情報101から垂直面を抽出する処理について簡単に説明する。具体的には、第2特定部512は、RANSAC(Randam Sample consensus)などのアルゴリズムにしたがって、計測点群情報(例えば、第4計測点群情報や第5計測点群情報)に含まれる計測点群が形成する垂直面を抽出する。
より詳細に説明すると、第2特定部512は、例えば、計測点群情報によって特定される点群をサンプルとし、このサンプルから3つの点をランダムに抽出する。つづいて、第2特定部512は、計測点群情報によって特定される点群のうち、サンプルからランダムに抽出された3点により定まる垂直面モデルから所定の距離以内にある点群をさらに抽出する。垂直面モデルから所定の距離以内にある点群を垂直面モデル上に存在する点群とみなす。この垂直面モデルとは、上述したCADによってコンピュータ空間上に表された3次元のモデルとは異なり、垂直面を規定するために用いられるモデルである。
そして、第2特定部512は、垂直面モデル上に存在する点群の数が閾値以上であるか否かを判定する。第2特定部512は、垂直面モデル上に存在する点群が閾値以上である場合、垂直面モデルを定義するパラメータと、垂直面モデル上に存在する点群と、が対応付けられた垂直面データを記憶部510などに記憶する。垂直面モデルを定義するパラメータとしては、例えば、3点の座標または垂直面の方程式等が挙げられる。第2特定部512は、垂直面モデル上に存在する点群の数が閾値未満である場合、サンプルからの3点のランダムサンプリングおよびそれに伴う平面データの保存を所定の試行回数にわたって繰り返し実行する。このような平面抽出方法によって、一定数以上の点群が垂直面モデルからの法線方向へ向けて一定距離内にある垂直面モデルを求めることができる。なお、一定距離は、互いに平行な複数の垂直面モデル間の最小の距離となる。換言すると、例えば、互いに平行な複数の平面モデルの平面モデル間の距離は、一定距離以上である。第2特定部512は、垂直面モデルによって規定される面を垂直面として特定する。なお、ここでは垂直面の特定方法を説明したが、垂直面に略直交する水平面についても同様に特定可能である。
このようにして、床面に対する各垂直面や天井面に対する各垂直面が得られる。第2特定部512は、床面に対する各垂直面と、天井面に対する各垂直面と、の間で高さ方向以外の位置が一致する垂直面を特定する。高さ方向以外の位置が一致する垂直面は、壁面である。壁とは、室内において室内の四方を囲うものである。壁面は、天井面から床面までの間に存在することが推定される。床面に対する垂直面と、天井面に対する垂直面との両方に存在する垂直面は、壁面である可能性が高い。なお、第2特定部512によって壁面を特定する例については、図7を用いて詳細に説明する。
次に、モデル化の例について、3つの方法を用いて説明する。1つ目の方法では、図1に示したように、計測点群情報101から基準面に対して特定の方向に存在する第2計測点群情報522を分離し、それぞれの計測点群情報101をモデル化した各モデル情報を生成して合成する。2つ目の方法では、計測点群情報101に、基準面のうちの計測点のない欠落部分に対応する計測点群情報を追加し、追加後の計測点群情報101をモデル化したモデル情報を生成する。3つ目の方法では、1つ目の方法と2つ目の方法とを組み合わせる。
まず、モデル化の1つ目の方法について説明する。
抽出部513は、取得部501によって取得された計測点群情報101から、基準面に対応する第1計測点群情報521と、基準面に対して特定の方向に存在する第2計測点群情報522と、を抽出する。特定の方向とは、例えば、基準面に応じて設定される。基準面が床面の場合、特定の方向とは、床面から天井面に向かう方向であり、高い方に向かう高さ方向である。基準面が天井面の場合、特定の方向とは、天井面から床面に向かう方向であり、低い方に向かう高さ方向である。基準面が壁面の場合、特定の方向とは、壁面からその壁面に対向する壁面に向かう方向である。
より具体的に説明すると、抽出部513は、取得部501によって取得された計測点群情報101から、基準面に対して特定の方向に存在する第2計測点群情報522を抽出する。そして、抽出部513は、取得された計測点群情報101のうち第2計測点群情報522以外の計測点群情報101を第1計測点群情報521として抽出する。
そして、第1取得部516は、第1計測点群情報521に基づく第1モデル111を示すモデル情報を取得する。具体的には、第1取得部516は、第1計測点群情報521をCADなどのアプリケーションに与える。そして、第1取得部516は、CADなどのアプリケーションによって生成されたモデル情報を取得する。CADなどのアプリケーションについては、情報処理装置100が実行していてもよいし、情報処理装置100と異なる装置が実行していてもよい。
そして、第2取得部517は、第2計測点群情報522に基づく第2モデル112を示すモデル情報を取得する。具体的には、第2取得部517は、第2計測点群情報522をCADに与える。そして、第2取得部517は、CADなどのアプリケーションによって生成されたモデル情報を取得する。
そして、生成部518は、第1モデル情報121と、第2モデル情報122と、に基づいて、第1モデル111と第2モデル112とを含む第3モデル113を示す第3モデル情報123を生成する。例えば、第1モデル情報121をP1とし、第2モデル情報122をP2とし、第3モデル情報123をPとした場合、生成部518は、「P={P1,P2}」のように生成すればよい。モデル化の1つ目の方法については図1に示した通りである。
ところで、例えば床に机や棚などの複数の物体が離れて設置されている場合がある。机に対応する計測点群情報と棚に対応する計測点群情報とを一緒にモデル化した場合、机や棚が一体化される場合がある。そこで、第2取得部517は、抽出された第2計測点群情報522に含まれる計測点間の距離に基づいて、第2計測点群情報522に含まれる計測点をグループ化する。具体的には、第2取得部517は、例えば、距離が閾値以下の計測点同士を同一のグループとする。第2取得部517は、グループ化した複数のグループの各々のグループについて、各々のグループに含まれる計測点の情報に基づく第2モデル112を示す第2モデル情報122を取得する。そして、生成部518は、第1モデル情報121と、各々のグループについて取得された第2モデル情報122と、に基づいて第1モデル111と各々のグループについての第2モデル112とを含む第3モデル113を示す第3モデル情報123を生成する。生成方法の詳細については1つ目の方法において説明した通りである。
次に、モデル化の2つ目の方法について説明する。
抽出部513は、取得部501によって取得された計測点群情報101から、基準面に対応する第1計測点群情報521を抽出する。
そして、第3特定部514は、第1計測点群情報521に基づいて、基準面のうち、第1計測点群情報521に含まれる計測点群の密度が所定密度以下の欠落部分を特定する。第3特定部514は、例えば、基準面を複数の領域に分割して領域ごとに計測点群の密度が所定密度以下であるか否かを判定してもよい。より具体的には、第3特定部514は、領域ごとに、計測点群の数が閾値以下である場合に、領域を欠落部分として特定する。閾値は、情報処理装置100と基準面との距離に基づき定められる。情報処理装置100と基準面との距離が遠いと、領域当たりの計測点の数は少なくなり、情報処理装置100と基準面との距離が近いと、領域当たりの計測点の数は多くなる。なお、領域当たりの計測点の数は、チルト方向d2およびパン方向d1の分解能に基づき定まる。
また、第3特定部514は、第1計測点群情報521に含まれる計測点群の各計測点に色を付けた画像に基づいて計測点群の密度が所定密度以下の欠落部分を特定してもよい。具体的には、第3特定部514は、第1計測点群情報521に含まれる計測点群の各計測点に色を付けた画像を示す画像情報を生成する。そして、第3特定部514は、生成した画像情報が示す画像から、色づけされていない部分を、計測点群の密度が所定密度以下の欠落部分として特定してもよい。
付加部515は、取得部501によって取得された計測点群情報101と、欠落部分に対応する計測点群情報とを含む第3計測点群情報を生成する。ここで生成される第3計測点群情報は、追加後の計測点群情報101とも表す。具体的には、付加部515は、欠落部分に対応する計測点群情報を生成する。欠落部分に対応する計測点群情報とは、欠落部分の計測点が所定密度以上となるように設けた場合の計測点群の位置を示す情報である。付加部515は、例えば、基準面がz軸方向に略垂直な面である場合、第1計測点群情報521に含まれる各計測点のz座標値と同じz座標値を含み、欠落部分に対応するx座標値およびy座標値を含む計測点群情報101を生成する。そして、付加部515は、取得された計測点群情報101に、生成した計測点群情報101を付加する。より具体的には、例えば計測点群情報101をDkとし、生成した計測点群情報をDxとし、追加後の計測点群情報101をDとした場合、付加部515は、「D={Dk,Dx}」とする。
そして、第1取得部516は、付加部515による追加後の計測点群情報101に基づくモデルを示すモデル情報を取得する。第1取得部516によるモデル情報の取得方法については、1つ目の方法で説明した取得方法と同じである。なお、2つ目の方法については、基準面として床面を用いた簡単な例を図8に示す。
また、情報処理装置100は、1つ目の方法と2つ目の方法までのいずれかを選択可能なように構成されていてもよい。1つ目の方法では、2つ目の方法と比較して処理時間の短縮化を図ることができる。一方、2つ目の方法は、欠落部分が大きい場合などにおいて1つ目の方法と比較して、オクルージョン部分の形状をより忠実に表すモデルが得られる。例えば、基準面の欠落部分が大きいと、CADなどのアプリケーションによるモデル情報の作成時に欠落部分に対してどのような計測点を用いて面が作成されるかが明確でない。このため、情報処理装置100は、例えば、欠落部分が所定サイズ以上である場合に2つ目の方法を行い、欠落部分が所定サイズ未満である場合に1つ目の方法を行う。
最後に、モデル化の3つ目の方法について説明する。3つ目の方法は、1つ目の方法と2つ目の方法の組み合わせである。
抽出部513は、取得部501によって取得された計測点群情報101から、基準面に対応する第1計測点群情報521と、基準面に対して特定の方向に存在する第2計測点群情報522と、を抽出する。基準面に対応する第1計測点群情報521とは、例えば、基準面上に存在する第1計測点群情報521である。
第3特定部514は、第1計測点群情報521に基づいて、基準面のうち、第1計測点群情報521に含まれる計測点群の密度が所定密度以下の欠落部分を特定する。特定方法については、2つ目の方法で説明した通りである。
付加部515は、抽出された第1計測点群情報521と、欠落部分に対応する計測点群情報とを含む第3計測点群情報を生成する。欠落部分に対応する計測点群情報の生成方法については2つ目の方法で説明した通りである。ここで生成される第3計測点群情報は、追加後の第1計測点群情報521とも表す。
次に、第1取得部516は、付加部515によって追加後の第1計測点群情報521に基づく第1モデル111を示すモデル情報を取得する。第2取得部517は、第2計測点群情報522に基づく第2モデル112を示すモデル情報を取得する。第1取得部516と第2取得部517とによるモデル情報の取得方法については、1つ目の方法で説明した通りである。
そして、生成部518は、第1モデル111を示すモデル情報と第2モデル112を示すモデル情報とを合成する。合成方法については、1つ目の方法で説明した通りである。なお、3つ目の方法については、基準面として床面を用いた簡単な例を図9に示す。
2つ目の方法のようにCADによってモデル化が行われる場合、基準面のうち計測点が付加された部分と基準面に接する部分との間に、どのように面が作成されるかが明確でない。このため、3つ目の方法については、基準面と基準面に接する部分とのそれぞれ別にモデル化が行われることにより、特にこの基準面に接する部分の形状をより忠実に表すモデルが得られる。
情報処理装置100は、1つ目の方法〜3つ目の方法までのいずれかを利用者や各種条件によって選択可能なように構成されていてもよい。
また、上述したように、基準面が第2特定部512によって特定された壁面の場合における例については、図10に示す。
また、基準面が複数ある場合についての抽出部513による抽出処理について説明する。基準面の特定方法は、上述した通りである。このため、基準面は、床面、天井面、壁面などのように複数の場合がある。
抽出部513は、計測点群情報101の中から、測定された複数の基準面の各々に対応する第1計測点群情報521を抽出する。また、抽出部513は、測定された複数の基準面の各々の基準面について設定された特定の方向に存在し、第1計測点群情報521以外の第2計測点群情報522を抽出する。特定の方向は、各々の基準面によって設定される。床面についての特定の方向は、天井面に向かう方向である。天井面についての特定の方向は、床面に向かう方向である。壁面についての特定の方向は、対向する壁面に向かう方向である。基準面が床面、天井面、壁面の場合、抽出部513は、取得された計測点群情報101の中から、床面、天井面、壁面によって囲われた領域内の計測点群情報101を第2計測点群情報522として抽出する。
図6は、床面と天井面との特定例を示す説明図である。第1特定部511は、例えば、取得された計測点群情報101に基づいて、高さ方向の計測点の数の分布600を特定する。分布600では、縦軸が高さであり、横軸が計測点の数である。分布600において、最も高い計測点の高さMAX(Maximum)から最も低い計測点の高さMIN(Minimum)までの高さの範囲を100[%]とする。
そして、第1特定部511は、分布600に基づいて、取得された計測点群情報101の中から、高さMAXから高さが低くなる方向に10[%]の高さまでの範囲に含まれる計測点群情報101を抽出する。ここで抽出される計測点群情報101は、上述した上側の計測点群情報101である。この10[%]は所定数であり、特に限定しない。第1特定部511は、抽出した計測点群情報101によって特定される計測点群の高さ方向の分布において最も計測点の数が多い高さの水平面を天井面として特定する。
また、第1特定部511は、分布600に基づいて、取得された計測点群情報101の中から、高さMINから高さが高くなる方向に10[%]の高さまでの範囲に含まれる計測点群情報101を抽出する。ここで抽出される計測点群情報101は、上述した下側の計測点群情報101である。この10[%]は所定数であり、特に限定しない。第1特定部511は、抽出した計測点群情報101によって特定される各計測点群の高さ方向の分布において最も計測点の数が多い高さの水平面を床面として特定する。
図7は、壁面の特定例を示す説明図である。図7(1)には、天井面付近領域の計測点群情報101と床面付近領域の計測点群情報101とを示す。図7(2−1)および図7(2−2)には、天井面付近領域の計測点群情報101における垂直面と、床面付近領域の計測点群情報101における垂直面とを示す。図7(3)には、垂直面を重ね合わせた状態を示す。
図7(1)に示すように、第2特定部512は、分布600において、取得された計測点群情報101の中から、高さMAXから高さが低くなる方向に20[%]の高さまでの範囲に含まれる計測点群情報101を抽出する。この20[%]は所定数であり、特に限定しない。ここで抽出される計測点群情報101は、天井面付近領域の計測点群情報101である。
第2特定部512は、分布600において、取得された計測点群情報101の中から、高さMINから高さ方向に10[%]の高さまでの範囲に含まれる計測点群情報101を抽出する。この10[%]は所定数であり、特に限定しない。ここで抽出される計測点群情報101は、床面付近領域の計測点群情報101である。
第2特定部512は、天井面付近領域の計測点群情報101に基づいて、天井面に対する垂直面を抽出する。垂直面を抽出する処理については、上述した通りである。第2特定部512は、例えば、床面付近領域の計測点群情報101に基づいて、床面に対する垂直面を抽出する。垂直面を抽出する処理については、上述した通りである。ここで、各垂直面は、高さ方向と略平行な方向の面である。図7(2−1)には、天井面に対する垂直面を高さ方向と逆方向(上)から見た場合の垂直面の各第1エッジを示す。図7(2−2)には、床面に対する垂直面を高さ方向と逆方向(上)から見た場合の垂直面の各第2エッジとを示す。
第2特定部512は、各第1エッジと各第2エッジとを重ねた場合において一致するエッジの垂直面を壁面(基準面)として特定する。図7(3)において一致するエッジは太い線の部分である。例えば、天井面付近領域の垂直面において一致しないエッジの垂直面は、例えば、天井に取り付けられた物体を表す垂直面である。例えば、天井面付近領域の垂直面において一致しないエッジの垂直面は、例えば、床に配置された棚などの物体を表す垂直面である。
図8は、床面である基準面のモデル化の2つ目の方法例を示す説明図である。第3特定部514は、床面に対応する第1計測点群情報521に基づいて、基準面のうち、第1計測点群情報521に含まれる計測点の密度が所定密度以下の欠落部分800を特定する。付加部515は、例えば、取得された計測点群情報101に、欠落部分800に対応する計測点群情報を追加する。
そして、第1取得部516は、付加部515によって追加された計測点群情報101に基づくモデルを示すモデル情報を取得する。CADでは、モデル化する際に、計測点p1と計測点p2との間に面を作成せずに、計測点p2よりも計測点p1からの距離が近い計測点p3と計測点p1との間に面を作成すると推定される。このため、情報処理装置100は、床面のオクルージョン部分の形状をより忠実に表すモデルを作成することができる。
図9は、床面である基準面のモデル化の3つ目の方法例を示す説明図である。抽出部513は、取得部501によって取得された計測点群情報101から、床面に対応する第1計測点群情報521と、床面に対して特定の方向に存在する第2計測点群情報522と、を抽出する。これにより、計測点群情報101は、床面に対応する第1点群情報521と、床面に対して特定の方向に存在する第2計測点群情報522と、に分離される。床面が基準面の場合、特定の方向は、高さ方向である。
第3特定部514は、床面に対応する第1計測点群情報521に基づいて、床面のうち、第1計測点群情報521に含まれる計測点の密度が所定密度以下の欠落部分800を特定する。付加部515は、例えば、第1計測点群情報521に、欠落部分800に対応する計測点群情報を追加する。
そして、第1取得部516は、付加部515によって欠落部分800に対応する計測点群情報が追加された第1計測点群情報521に基づく第1モデル111を示す第1モデル情報121を取得する。
第2取得部517は、抽出された第2計測点群情報522に基づく第2モデル112を示す第2モデル情報122を取得する。そして、生成部518は、第1モデル情報121と、第2モデル情報122と、を合成する。これにより、情報処理装置100は、床面のオクルージョン部分(欠落部分800)の形状をより忠実に表すモデルを作成することができる。
図10は、壁面を基準面とする際のモデル化の方法例を示す説明図である。図10(1)には、第2特定部512によって基準面として特定された各垂直面を太線によって示す。図10(2)には、閉ループ化された後の垂直面を太線によって示す。ここでは、壁面を基準面とする際のモデル化の方法として、上述した3つ目の方法を用いて説明する。
抽出部513は、第2特定部512によって基準面として特定された各垂直面の端部を閉ループ化処理する。そして、抽出部513は、取得された計測点群情報101から、閉ループ化処理後の垂直面によって囲われた領域よりも内側にある第2計測点群情報522を抽出する。垂直面にはそれぞれ特定の方向が設定されており、抽出部513は、これらの特定の方向に基づいて垂直面によって囲われた領域を設定できる。また、抽出部513は、取得された計測点群情報101から、垂直面上に存在する第1計測点群情報521を抽出する。抽出部513は、取得された計測点群情報101から、垂直面によって囲われた領域の外側にある第6計測点群情報を抽出する。
第3特定部514は、第1計測点群情報521に基づいて、垂直面のうちの欠落部分800を特定する。そして、付加部515は、第1計測点群情報521に、欠落部分800に対応する計測点群情報を付加する。
第1取得部516は、付加部515によって追加後の第1計測点群情報521および抽出された第6計測点群情報に基づく第1モデル111を示す第1モデル情報121を取得する。第2取得部517は、抽出された第2計測点群情報522に基づく第2モデル112を示す第2モデル情報122を取得する。生成部518は、第1モデル111と第2モデル112を含む第3モデル113を示す第3モデル情報123を生成する。
これにより、情報処理装置100は、壁面のオクルージョン部分の形状をより忠実に表すモデルを作成することができる。
(情報処理装置100が行う処理手順例)
次に、図11〜図13を用いて、情報処理装置100が行う処理手順例について説明する。図11を用いて、上述したモデル化の1つ目の方法における処理手順例について説明する。図12を用いて、上述したモデル化の2つ目の方法における処理手順例について説明する。図13を用いて、上述したモデル化の3つ目の方法における処理手順例について説明する。
図11は、情報処理装置100が行う処理手順例1を示すフローチャートである。情報処理装置100は、計測点群情報101を取得する(ステップS1101)。次に、情報処理装置100は、各々の基準面を特定する(ステップS1102)。情報処理装置100は、例えば、床面、天井面、壁面などのうちの少なくともいずれかの基準面を特定する。なお、基準面は、計測点群情報101から特定可能な垂直面や水平面のうちの利用者によって指定された面であってもよい。
情報処理装置100は、各々の基準面に対応する第1計測点群情報521を抽出する(ステップS1103)。情報処理装置100は、各々の基準面について、設定された方向に存在する第2計測点群情報522を抽出する(ステップS1104)。情報処理装置100は、第1計測点群情報521に基づく第1モデル111を示す第1モデル情報121を生成する(ステップS1105)。情報処理装置100は、第2計測点群情報522に基づく第2モデル112を示す第2モデル情報122を生成する(ステップS1106)。ステップS1105およびステップS1106において、情報処理装置100が、第1モデル情報121と第2モデル情報122とを生成しているが、これに限らない。例えば、情報処理装置100以外の他の装置がCADを実行する場合、情報処理装置100は、ネットワーク410を介して、第1計測点群情報521と第2計測点群情報522を他の装置に与えて、他の装置から第1モデル情報121と第2モデル情報122とを取得する。
情報処理装置100は、第1モデル情報121と第2モデル情報122とに基づいて、第1モデル111と第2モデル112とを含む第3モデル113を示す第3モデル情報123を生成し(ステップS1107)、一連の処理を終了する。
図12は、情報処理装置100が行う処理手順例2を示すフローチャートである。情報処理装置100は、計測点群情報101を取得する(ステップS1201)。次に、情報処理装置100は、各々の基準面を特定する(ステップS1202)。そして、情報処理装置100は、各々の基準面に対応する第1計測点群情報521を抽出する(ステップS1203)。
情報処理装置100は、第1計測点群情報521に基づいて、基準面のうち第1計測点群情報521によって特定される計測点がない欠落部分800を特定する(ステップS1204)。情報処理装置100は、第1計測点群情報521に基づいて、特定した欠落部分800に対応する計測点群情報を生成する(ステップS1205)。そして、情報処理装置100は、ステップS1201において取得した計測点群情報101に、生成した欠落部分800に対応する計測点群情報を追加する(ステップS1206)。
情報処理装置100は、追加後の計測点群情報101に基づくモデルを示すモデル情報を生成し(ステップS1207)、一連の処理を終了する。
図13は、情報処理装置100が行う処理手順例3を示すフローチャートである。情報処理装置100は、計測点群情報101を取得する(ステップS1301)。次に、情報処理装置100は、各々の基準面を特定する(ステップS1302)。情報処理装置100は、各々の基準面に対応する第1計測点群情報521を抽出する(ステップS1303)。情報処理装置100は、各々の基準面に対して、各々の基準面に設定された方向に存在する第2計測点群情報522を抽出する(ステップS1304)。なお、ステップS1304において、情報処理装置100は、各々の基準面に対して、各々の基準面に設定された方向に存在する計測点のうち、第1計測点群情報521に含まれる計測点は、第2計測点群情報522として抽出しない。
次に、情報処理装置100は、第1計測点群情報521に基づいて、基準面のうち第1計測点群情報521によって特定される計測点がない欠落部分800を特定する(ステップS1305)。情報処理装置100は、第1計測点群情報521に基づいて、特定した欠落部分800に対応する計測点群情報を生成する(ステップS1306)。そして、情報処理装置100は、第1計測点群情報521に、生成した計測点群情報101を追加する(ステップS1307)。情報処理装置100は、追加後の第1計測点群情報521(第3計測点群情報)に基づく第1モデル111を示す第1モデル情報121を生成する(ステップS1308)。情報処理装置100は、第2計測点群情報522に基づく第2モデル112を示す第2モデル情報122を生成する(ステップS1309)。情報処理装置100は、第1モデル情報121と第2モデル情報122とに基づいて、第1モデル111と第2モデル112とを含む第3モデル113を示す第3モデル情報123を生成し(ステップS1310)、一連の処理を終了する。
次に、図14と図15を用いて、計測点群情報101をそのままモデル化した場合と、計測点群情報101を基準面に基づき分離してモデル化した場合と、の比較例を説明する。
図14は、計測点群情報101をそのままモデル化した例を示す説明図である。図15は、計測点群情報101を分離してモデル化した例を示す説明図である。図14(1)および図15(1)には、測定対象の空間を示す。測定対象の空間では、部屋の中に机がある。机に隠れて、床の一部がオクルージョン部分となる。
このため、図14(2)に示すように、全体の計測点群情報101がそのままモデル化された場合、モデルでは、オクルージョン部分において机と床が一体化される。
図15(2)に示すように、情報処理装置100は、床面、壁面、天井面などの基準面に対応する計測点群情報と、壁面に囲われた領域に対応する計測点群情報のうち、床面よりも上であり、天井面よりも下にある計測点群情報と、のそれぞれをモデル化する。これにより、机に対応する計測点群情報によってモデル化が行われるため、測定対象に含まれる実際の机の形状をより忠実に表すモデルが得られる。また、床面、壁面、天井面などの基準面でモデル化されるため、測定対象に含まれる実際の床の形状をより忠実に表すモデルが得られる。そして、図15(3)に示すように、情報処理装置100は、モデル化した2つのモデルを含むモデル情報を生成する。これにより、図15に示すモデルは、オクルージョン部分において机と床が一体化しない。
このように、情報処理装置100は、計測点群情報101をそのままモデル化する場合と比較して、測定対象である実際の空間をより忠実に表すモデルを作成することができる。
図16は、システム例を示す説明図である。本実施の形態では、情報処理装置100は、計測機器そのものである場合を例に説明したが、これに限らない。図5に示した情報処理装置100の機能部のうちの一部の機能部を他の装置に実現させてもよい。
システム1600は、計測機器である情報処理装置100と、装置1601と、装置1602と、を有する。情報処理装置100と、装置1601と、装置1602とは、例えば、ネットワーク410を介して接続される。図16の例では、装置1601は、PCであり、装置1602は、携帯型の端末装置であるが、これに限らない。装置1601と装置1602としては、例えば、PC、サーバ、携帯型の端末装置などが挙げられる。例えば、取得部501を計測機器である情報処理装置100によって実現させ、制御部502および記憶部510を装置1601によって実現させてもよい。また、制御部502の一部の機能を情報処理装置100によって実現させ、制御部502の残余の機能を装置1601によって実現させてもよい。
また、例えば装置1602は、利用者による操作入力によって受け付けた測定の開始指示を計測機器である情報処理装置100に通知してもよい。これにより、利用者は、直接計測機器を操作することなく、3D計測を行うことができる。
装置1601や装置1602は、CPU、ディスク、メモリ、I/F、入力装置、ディスプレイなどの出力装置などのようなハードウェア構成を有していればよく、特に限定しない。また、各種の計測点群情報や各種のモデル情報については、データベースサーバ(図示省略)などに記憶および管理されてもよい。
以上説明したように、情報処理装置100は、3D計測により得た計測点群情報を、基準面上にある第1計測点群情報と基準面に対して特定の方向にある第2計測点群情報とに分け、計測点群情報別にモデル化した各モデルを合わせたモデル情報を生成する。これにより、情報処理装置100は、複数の測定箇所によって測定を行うなどの測定者の手間をかけることなく、基準面のオクルージョン部分の形状をより忠実に表すモデルを生成することができる。したがって、測定者の手間を省くことができる。特に、情報処理装置100は、床面、天井面、壁面のある部屋などの空間に有用である。例えば、基準面が床面である場合、床面のオクルージョン部分をより忠実に表すモデルが得られる。したがって、例えば、部屋をより忠実に表す3次元のモデルを、手間をかけることなく生成することができる。
ところで、基準面のうち計測点が存在しない欠落部分が小さければ、基準面上に存在する計測点群のうち欠落部分に近い計測点によって欠落部分の形状を表すモデルが得られる。しかし、特に欠落部分が大きいと、モデル化の際に欠落部分に対してどのような計測点を用いて面が作成されるか明確でない。そこで、情報処理装置100は、基準面に応じた計測点群情報に、基準面のうちの計測点がない欠落部分に対応する計測点群情報を追加し、追加後の計測点群情報によってモデル化する。これにより、情報処理装置100は、欠落部分が大きい場合であってもオクルージョン部分をより忠実に表すモデルを生成することができる。例えば、基準面が床面の場合、床面のオクルージョン部分に対応する計測点が追加されるため、床面のオクルージョン部分をより忠実に表すモデルを生成することができる。
また、情報処理装置100は、取得した計測点群情報から得られる高さ方向における計測点の数の分布に基づいて、床面と天井面の少なくともいずれかである基準面を推定する。これにより、測定対象の空間が部屋の中である場合に、床面のオクルージョン部分や天井面のオクルージョン部分をより忠実に表すモデルが得られる。したがって、情報処理装置100は、例えば、測定対象の部屋をより忠実に表すモデルを、手間をかけることなく生成することができる。
また、情報処理装置100は、床面に対する各垂直面と、天井面に対する各垂直面と、の間で一致する垂直面を壁面として特定する。これにより、測定対象の空間が部屋の中である場合に、壁面のオクルージョン部分をより忠実に表すモデルが得られる。したがって、情報処理装置100は、例えば、部屋をより忠実に表すモデルを、手間をかけることなく生成することができる。
また、基準面が複数ある場合、情報処理装置100は、複数の基準面の各々に対応する第1計測点群情報と、複数の基準目の各々について設定された特定の方向に存在し、第1計測点群情報以外の第2計測点群情報と、を抽出する。このように、情報処理装置100は、基準面が複数ある場合に、複数の基準面と基準面以外の部分と、のそれぞれについてモデル化を行うことにより、基準面以外の部分をより正確にモデル化することができる。例えば、壁、床、天井があり、床の上に机が設置された部屋を測定対象の空間とした場合、壁、床および天井と、机とが別々にモデル化される。このため、情報処理装置100は、机に対応するモデルが、壁、床、天井などと一体化されないため、より机に見えるようなモデルを作成することができる。
また、情報処理装置100は、基準面に対応する第1計測点群情報以外の第2計測点群情報によって特定される計測点群の3次元の分布において、複数の分布の集合がある場合、集合別にモデル化する。例えば、床に、机や棚、ごみ箱などのように複数の物体がある場合、モデル化する際に、複数の物体が一体化される虞がある。このため、情報処理装置100は、分布の集合別にモデル化することにより、物体別にモデル化することができる。したがって、情報処理装置100は、複数の物体が一体化されることを抑制でき、より物体らしく見えるモデルを作成することができる。
情報処理装置100は、3D計測によって取得した計測点群情報に、基準面のうちの計測点がない欠落部分に対応する計測点群情報を追加し、追加後の計測点群情報に基づいてモデル化したモデル情報を生成する。これにより、情報処理装置100は、複数の測定箇所によって測定を行うなどの測定者の手間をかけることなく、基準面のオクルージョン部分の形状をより忠実に表すモデルを生成することができる。したがって、測定者の手間を省くことができる。特に、情報処理装置100は、床面、天井面、壁面のある部屋などの空間に有用である。例えば、基準面が床面である場合、床面のオクルージョン部分の形状を忠実に表すモデルが得られる。したがって、例えば、部屋をより忠実に表す3次元のモデルを、手間をかけることなく生成することができる。
なお、本実施の形態で説明した情報処理方法は、予め用意された情報処理プログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本情報処理プログラムは、磁気ディスク、光ディスク、USB(Universal Serial Bus)フラッシュメモリなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、情報処理プログラムは、インターネット等のネットワークを介して配布してもよい。
また、本実施の形態で説明した情報処理装置100は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGA(Field Programmable Gate Array)などのPLD(Programmable Logic Device)によっても実現することができる。具体的には、例えば、上述した情報処理装置の機能をHDL(Hardware Description Language)記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより、情報処理装置100を製造することができる。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
測定装置によって測定された前記測定装置から前記物体までの距離に基づく3次元の計測点群情報を取得し、
取得した前記計測点群情報の中から、前記測定装置によって測定された基準面上に存在する第1計測点群情報と、前記基準面に対して特定の方向に存在する第2計測点群情報と、を抽出し、
抽出した前記第1計測点群情報に基づく第1モデルを示す第1モデル情報を取得し、
抽出した前記第2計測点群情報に基づく第2モデルを示す第2モデル情報を取得し、
取得した前記第1モデル情報と、取得した前記第2モデル情報と、に基づいて前記第1モデルと前記第2モデルとを含む第3モデルを示す第3モデル情報を生成する、
処理を実行させることを特徴とする情報処理プログラム。
(付記2)前記コンピュータに、
前記第1計測点群情報に基づいて、前記基準面のうち、前記第1計測点群情報によって特定される各計測点の密度が所定密度以下の部分を特定し、
前記第1計測点群情報と、特定した前記部分に対応する計測点群情報とを含む第3計測点群情報を生成する、
処理を実行させ、
前記第1モデル情報を取得する処理は、
前記第1計測点群情報に基づく前記第1モデルを示す前記第1モデル情報を取得せずに、前記第3計測点群情報に基づく第1モデルを示す第1モデル情報を取得する、
ことを特徴とする付記1に記載の情報処理プログラム。
(付記3)前記コンピュータに、
取得した前記計測点群情報によって特定される各計測点の数の高さ方向における分布に基づいて、床面と天井面の少なくともいずれかである前記基準面を特定する、
処理を実行させ、
前記第1計測点群情報と前記第2計測点群情報とを抽出する処理は、
取得した前記計測点群情報の中から、特定した前記基準面に対応する前記第1計測点群情報と、前記基準面に対して前記特定の方向に存在する前記第2計測点群情報と、を抽出することを特徴とする付記1または2に記載の情報処理プログラム。
(付記4)前記コンピュータに、
取得した前記計測点群情報から得られる高さ方向における計測点の数の分布に基づいて、前記計測点群情報のうち、床面に応じた第4計測点群情報と、前記計測点群情報のうち天井面に応じた第5計測点群情報と、を抽出し、
抽出した前記第4計測点群情報に基づく前記床面に対する各垂直面と、抽出した前記第5計測点群情報に基づく前記天井面に対する各垂直面と、の間で、前記高さ方向以外の各方向における位置が一致する垂直面である前記基準面を特定する、
処理を実行させ、
前記第1計測点群情報と前記第2計測点群情報とを抽出する処理は、
取得した前記計測点群情報の中から、特定した前記基準面に対応する前記第1計測点群情報と、前記基準面に対して前記特定の方向に存在する前記第2計測点群情報と、を抽出することを特徴とする付記1〜3のいずれか一つに記載の情報処理プログラム。
(付記5)前記抽出する処理は、
前記計測点群情報の中から、前記測定装置によって測定された複数の基準面の各々に対応する第1計測点群情報と、前記測定装置によって測定された前記複数の基準面の各々の基準面について設定された特定の方向に存在し、前記第1計測点群情報以外の第2計測点群情報と、を抽出する、
ことを特徴とする付記1〜4のいずれか一つに記載の情報処理プログラム。
(付記6)コンピュータに、
測定装置によって測定された前記測定装置から前記物体までの距離に基づく3次元の計測点群情報を取得し、
取得した前記計測点群情報の中から、前記測定装置によって測定された基準面上に存在する第1計測点群情報を抽出し、
抽出した前記第1計測点群情報に基づいて、前記基準面のうち、前記第1計測点群情報によって特定される各計測点の密度が所定密度以下の欠落部分を特定し、
前記計測点群情報と、特定した前記欠落部分に対応する計測点群情報とを含む第3計測点群情報を生成し、
生成した前記第3計測点群情報に基づくモデルを示すモデル情報を取得する、
処理を実行させることを特徴とする情報処理プログラム。
(付記7)コンピュータが、
測定装置によって測定された前記測定装置から前記物体までの距離に基づく3次元の計測点群情報を取得し、
取得した前記計測点群情報の中から、前記測定装置によって測定された基準面上に存在する第1計測点群情報と、前記基準面に対して特定の方向に存在する第2計測点群情報と、を抽出し、
抽出した前記第1計測点群情報に基づく第1モデルを示す第1モデル情報を取得し、
抽出した前記第2計測点群情報に基づく第2モデルを示す第2モデル情報を取得し、
取得した前記第1モデル情報と、取得した前記第2モデル情報と、に基づいて前記第1モデルと前記第2モデルとを含む第3モデルを示す第3モデル情報を生成する、
処理を実行することを特徴とする情報処理方法。
(付記8)コンピュータが、
測定装置によって前記測定装置から前記物体までの距離に基づく3次元の計測点群情報を取得し、
取得した前記計測点群情報の中から、前記測定装置によって測定された基準面上に存在する第1計測点群情報を抽出し、
抽出した前記第1計測点群情報に基づいて、前記基準面のうち、前記第1計測点群情報によって特定される各計測点の密度が所定密度以下の欠落部分を特定し、
前記計測点群情報と、特定した前記欠落部分に対応する計測点群情報とを含む第3計測点群情報を生成し、
生成した前記第3計測点群情報に基づくモデルを示すモデル情報を取得する、
処理を実行することを特徴とする情報処理方法。
(付記9)測定装置によって測定された前記測定装置から前記物体までの距離に基づく3次元の計測点群情報を取得し、
取得した前記計測点群情報の中から、前記測定装置によって測定された基準面上に存在する第1計測点群情報と、前記基準面に対して特定の方向に存在する第2計測点群情報と、を抽出し、
抽出した前記第1計測点群情報に基づく第1モデルを示す第1モデル情報を取得し、
抽出した前記第2計測点群情報に基づく第2モデルを示す第2モデル情報を取得し、
取得した前記第1モデル情報と、取得した前記第2モデル情報と、に基づいて前記第1モデルと前記第2モデルとを含む第3モデルを示す第3モデル情報を生成する、
制御部を有することを特徴とする情報処理装置。
(付記10)測定装置によって測定された前記測定装置から前記物体までの距離に基づく3次元の計測点群情報を取得し、
取得した前記計測点群情報の中から、前記測定装置によって測定された基準面上に存在する第1計測点群情報を抽出し、
抽出した前記第1計測点群情報に基づいて、前記基準面のうち、前記第1計測点群情報によって特定される各計測点の密度が所定密度以下の欠落部分を特定し、
前記計測点群情報と、特定した前記欠落部分に対応する計測点群情報とを含む第3計測点群情報を生成し、
生成した前記第3計測点群情報に基づくモデルを示すモデル情報を取得する、
制御部を有することを特徴とする情報処理装置。