(57)【要約】【課題】測定されない部分の形状を表すモデルを生成すること。【解決手段】情報処理装置１００は、３Ｄ計測によって取得した計測点群情報１０１から、床面上に存在する第１計測点群情報と床面より上にある第２計測点群情報とを抽出する。情報処理装置１００は、抽出した第１計測点群情報に基づく第１モデル１１１を示す第１モデル情報１２１と、抽出した第２計測点群情報に基づく第２モデル１１２を示す第２モデル情報１２２とを取得する。情報処理装置１００は、第１モデル情報１２１と第２モデル情報１２２とに基づいて、第１モデル１１１と第２モデル１１２とを含む第３モデル１１３を示す第３モデル情報１２３を生成する。【選択図】図１
2018151835.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
測定装置によって測定された前記測定装置から前記物体までの距離に基づく３次元の計測点群情報を取得し、
取得した前記計測点群情報の中から、前記測定装置によって測定された基準面上に存在する第１計測点群情報と、前記基準面に対して特定の方向に存在する第２計測点群情報と、を抽出し、
抽出した前記第１計測点群情報に基づく第１モデルを示す第１モデル情報を取得し、
抽出した前記第２計測点群情報に基づく第２モデルを示す第２モデル情報を取得し、
取得した前記第１モデル情報と、取得した前記第２モデル情報と、に基づいて前記第１モデルと前記第２モデルとを含む第３モデルを示す第３モデル情報を生成する、
処理を実行させることを特徴とする情報処理プログラム。
【請求項２】
前記コンピュータに、
前記第１計測点群情報に基づいて、前記基準面のうち、前記第１計測点群情報によって特定される各計測点の密度が所定密度以下の部分を特定し、
前記第１計測点群情報と、特定した前記部分に対応する計測点群情報とを含む第３計測点群情報を生成する、
処理を実行させ、
前記第１モデル情報を取得する処理は、
前記第１計測点群情報に基づく前記第１モデルを示す前記第１モデル情報を取得せずに、前記第３計測点群情報に基づく第１モデルを示す第１モデル情報を取得する、
ことを特徴とする請求項１に記載の情報処理プログラム。
【請求項３】
前記コンピュータに、
取得した前記計測点群情報によって特定される各計測点の数の高さ方向における分布に基づいて、床面と天井面の少なくともいずれかである前記基準面を特定する、
処理を実行させ、
前記第１計測点群情報と前記第２計測点群情報とを抽出する処理は、
取得した前記計測点群情報の中から、特定した前記基準面に対応する前記第１計測点群情報と、前記基準面に対して前記特定の方向に存在する前記第２計測点群情報と、を抽出することを特徴とする請求項１または２に記載の情報処理プログラム。
【請求項４】
前記コンピュータに、
取得した前記計測点群情報から得られる高さ方向における計測点の数の分布に基づいて、前記計測点群情報のうち、床面に応じた第４計測点群情報と、前記計測点群情報のうち天井面に応じた第５計測点群情報と、を抽出し、
抽出した前記第４計測点群情報に基づく前記床面に対する各垂直面と、抽出した前記第５計測点群情報に基づく前記天井面に対する各垂直面と、の間で、前記高さ方向以外の各方向における位置が一致する垂直面である前記基準面を特定する、
処理を実行させ、
前記第１計測点群情報と前記第２計測点群情報とを抽出する処理は、
取得した前記計測点群情報の中から、特定した前記基準面に対応する前記第１計測点群情報と、前記基準面に対して前記特定の方向に存在する前記第２計測点群情報と、を抽出することを特徴とする請求項１〜３のいずれか一つに記載の情報処理プログラム。
【請求項５】
前記抽出する処理は、
前記計測点群情報の中から、前記測定装置によって測定された複数の基準面の各々に対応する第１計測点群情報と、前記測定装置によって測定された前記複数の基準面の各々の基準面について設定された特定の方向に存在し、前記第１計測点群情報以外の第２計測点群情報と、を抽出する、
ことを特徴とする請求項１〜４のいずれか一つに記載の情報処理プログラム。
【請求項６】
コンピュータが、
測定装置によって測定された前記測定装置から前記物体までの距離に基づく３次元の計測点群情報を取得し、
取得した前記計測点群情報の中から、前記測定装置によって測定された基準面上に存在する第１計測点群情報と、前記基準面に対して特定の方向に存在する第２計測点群情報と、を抽出し、
抽出した前記第１計測点群情報に基づく第１モデルを示す第１モデル情報を取得し、
抽出した前記第２計測点群情報に基づく第２モデルを示す第２モデル情報を取得し、
取得した前記第１モデル情報と、取得した前記第２モデル情報と、に基づいて前記第１モデルと前記第２モデルとを含む第３モデルを示す第３モデル情報を生成する、
処理を実行することを特徴とする情報処理方法。
【請求項７】
測定装置によって測定された前記測定装置から前記物体までの距離に基づく３次元の計測点群情報を取得し、
取得した前記計測点群情報の中から、前記測定装置によって測定された基準面上に存在する第１計測点群情報と、前記基準面に対して特定の方向に存在する第２計測点群情報と、を抽出し、
抽出した前記第１計測点群情報に基づく第１モデルを示す第１モデル情報を取得し、
抽出した前記第２計測点群情報に基づく第２モデルを示す第２モデル情報を取得し、
取得した前記第１モデル情報と、取得した前記第２モデル情報と、に基づいて前記第１モデルと前記第２モデルとを含む第３モデルを示す第３モデル情報を生成する、
制御部を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理プログラム、情報処理方法、および情報処理装置に関する。
【背景技術】
【０００２】
従来、物体に向けてレーザを照射し、反射光が返ってくるまでの時間を測定することにより、物体までの距離を測定する距離センサがある。また、距離センサ内で光学系を回転させて水平方向のスキャニングを行いながら物体までの距離を測定する、いわゆる２Ｄ（２次元：２−Ｄｉｍｅｎｓｉｏｎｓ）センサがある。また、２Ｄセンサを駆動装置により回転させることにより立体的な物の位置や形状をデータ化する３Ｄ計測と呼ばれる技術がある。
【０００３】
３Ｄ計測によって得られた３次元の計測点群情報は、例えば、各種シミュレータやＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）などのアプリケーションに利用される。計測点とは、２Ｄセンサによってレーザが照射された物体の点である。ＣＡＤなどのアプリケーションは、例えば、計測点の位置や２Ｄセンサから計測点までの距離に基づく計測点の位置の情報に基づいてコンピュータ空間上に測定対象の空間を表すことができる。
【０００４】
先行技術としては、例えば、対象物に発射して反射されたパルスレーザに基づき取得される距離画像データに基づいて対象物を認識する際に、距離画像データから対象物の一部であるエッジに係る情報を利用して対象物の平面を抽出する技術がある（例えば、以下特許文献１参照。）。また、先行技術としては、例えば、３次元座標データを平面に投影した投影画像から直線を検出し、直線から３次元座標データ上の平面を検出する技術がある（例えば、以下特許文献２参照。）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−３１７２２１号公報
【特許文献２】特開２０１４−８５９４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、例えばセンサによって測定対象の空間を測距する際に障害物があると、センサは、その障害物によってレーザが遮断される部分の距離を測定することができない。このため、従来、例えばこの測定によって得られた計測点群情報を用いて３次元のモデルを生成した場合、レーザが遮断される部分の形状を表すモデルが生成できない。
【０００７】
１つの側面では、本発明は、床面、壁面、天井面などの基準面に含まれる障害物によって測定されない部分の形状を表すモデルを生成することができる情報処理プログラム、情報処理方法、および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一側面によれば、測定装置によって測定された前記測定装置から前記物体までの距離に基づく３次元の計測点群情報を取得し、取得した前記計測点群情報の中から、前記測定装置によって測定された基準面上に存在する第１計測点群情報と、前記基準面に対して特定の方向に存在する第２計測点群情報と、を抽出し、抽出した前記第１計測点群情報に基づく第１モデルを示す第１モデル情報を取得し、抽出した前記第２計測点群情報に基づく第２モデルを示す第２モデル情報を取得し、取得した前記第１モデル情報と、取得した前記第２モデル情報と、に基づいて前記第１モデルと前記第２モデルとを含む第３モデルを示す第３モデル情報を生成する情報処理プログラム、情報処理方法、および情報処理装置が提案される。
【発明の効果】
【０００９】
本発明の一態様によれば、床面、壁面、天井面などの基準面に含まれる障害物によって測定されない部分の形状を表すモデルを生成することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、情報処理装置による一動作例を示す説明図である。
【図２】図２は、オクルージョン例を示す説明図である。
【図３】図３は、３Ｄ計測を行うための情報処理装置１００の一例を示す説明図である。
【図４】図４は、情報処理装置１００のハードウェア構成例を示すブロック図である。
【図５】図５は、情報処理装置１００の機能的構成例を示すブロック図である。
【図６】図６は、床面と天井面との特定例を示す説明図である。
【図７】図７は、壁面の特定例を示す説明図である。
【図８】図８は、床面である基準面のモデル化の２つ目の方法例を示す説明図である。
【図９】図９は、床面である基準面のモデル化の３つ目の方法例を示す説明図である。
【図１０】図１０は、壁面を基準面とする際のモデル化の方法例を示す説明図である。
【図１１】図１１は、情報処理装置１００が行う処理手順例１を示すフローチャートである。
【図１２】図１２は、情報処理装置１００が行う処理手順例２を示すフローチャートである。
【図１３】図１３は、情報処理装置１００が行う処理手順例３を示すフローチャートである。
【図１４】図１４は、計測点群情報１０１をそのままモデル化した例を示す説明図である。
【図１５】図１５は、計測点群情報１０１を分離してモデル化した例を示す説明図である。
【図１６】図１６は、システム例を示す説明図である。
【発明を実施するための形態】
【００１１】
以下に図面を参照して、本発明にかかる情報処理プログラム、情報処理方法、および情報処理装置の実施の形態を詳細に説明する。
【００１２】
図１は、情報処理装置による一動作例を示す説明図である。情報処理装置１００は、３Ｄ計測によって得られた計測点群情報１０１に基づいて、３次元のモデルを示すモデル情報を取得するコンピュータである。３次元のモデルとは、コンピュータ空間上に表された物体である。コンピュータ空間とは、コンピュータ上で物体を表すために設定された空間である。
【００１３】
また、図１において情報処理装置１００は、３Ｄ計測を行う計測機器そのものであるが、これに限らない。情報処理装置１００は、例えば、３Ｄ計測を行う計測機器と通信可能なＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）やサーバなどであってもよい。
【００１４】
ここで、計測点群情報１０１は、例えば、計測点ごとに、計測機器から計測点までの距離に基づく位置情報を有する。情報処理装置１００は、ｘ軸、ｙ軸、ｚ軸などのローカルな直交座標系を用いて各計測点の位置を表す。より詳細に説明すると、計測点群情報１０１は、計測点ごとに、情報処理装置１００で用いる座標系Ｃにおける計測点の位置を示す座標値を含む。座標値はｘ座標値、ｙ座標値、ｚ座標値である。
【００１５】
例えば、ＣＡＤは、例えば、計測点群情報１０１に基づいて、３次元のモデルを示すモデル情報を生成する。モデル情報とは、測定対象の空間や物体の形状を面によって表す３次元の面情報である。モデル情報は、例えば、頂点と三角形によって３次元の形状を表す情報などのＣＡＤ情報であってもよいし、３次元の形状を四面体や立方体などの小要素によって表す解析モデル情報であってもよく、特に限定しない。
【００１６】
また、手前にある物体が背後にある物体を隠す状態（以下、オクルージョンと称する。）により測定されない場所などがある。例えばＣＡＤでは、この測定によって得られた計測点群情報を用いて３次元のモデルを作成する場合、オクルージョン部分の形状を表すモデルを生成することができないという問題点がある。オクルージョンやオクルージョンのある計測点群情報によるモデル化例については図２を用いて説明する。例えば、測定対象の空間を死角なく測定するためには、複数の測定箇所において３Ｄ計測を行うことが考えられる。しかし、複数の測定箇所において３Ｄ計測を行うのには、測定者の手間がかかる。また、測定対象の空間を死角なく測定するために異なる測定箇所における複数の計測点群情報が取得された場合、複数の計測点群情報を合わせることが難しい場合がある。
【００１７】
そこで、本実施の形態では、情報処理装置１００は、３Ｄ計測により得た計測点群情報１０１を、床面上に存在する点群情報と床面より上に存在する点群情報に分離し、分離した点群情報別にモデル化した各モデルを合わせたモデルを示すモデル情報を生成する。これにより、情報処理装置１００は、複数の測定箇所によって測定を行うなどの測定者の手間をかけることなく、基準面のオクルージョンとなる部分の形状をより忠実に表すモデルを生成することができる。したがって、測定者の手間を省くことができる。特に、情報処理装置１００は、床面、天井面、壁面のある部屋などの空間に有用である。例えば、基準面が床面である場合、床面のオクルージョン部分の形状を表すモデルを生成することができる。したがって、例えば、より実際の部屋に忠実な３次元モデルを、手間をかけることなく生成することができる。
【００１８】
まず、情報処理装置１００は、測定装置によって測定された測定装置から物体までの距離に基づく３次元の計測点群情報１０１を取得する。測定装置は、例えば距離センサを含む。測定装置は、例えば、光を照射しながら走査すると共に物体から反射される反射光を用いて測定装置から物体までの距離を計測する。なお、測定装置は、図４を用いて後述する。３次元の計測点群情報１０１は、距離が測定された計測点群の３次元における各位置を示す。これにより、情報処理装置１００は、３Ｄ計測によって得られた計測点群情報１０１を取得できる。情報処理装置１００は、３Ｄ計測によって計測点群情報１０１を取得してもよいし、他の計測機器によって測定された計測点群情報１０１を、ネットワークなどを介して取得してもよい。図１の例では、情報処理装置１００は、測定装置を備える。
【００１９】
次に、情報処理装置１００は、取得した計測点群情報１０１の中から、測定装置によって測定された基準面に対応する第１計測点群情報と、基準面に対して特定の方向に存在する第２計測点群情報と、を抽出する。基準面については、床面、天井面、壁面などの基準となる面である。基準面については、後述するように情報処理装置１００によって自動で特定される。また、基準面については、計測点群情報１０１によって特定される複数の面の中から利用者が指定した面であってもよい。基準面に対応する第１計測点群情報５２１は、例えば、基準面上に存在する計測点群の情報である。基準面上とは、略基準面上であり、基準面上に存在する計測点とは、誤差範囲を設定して基準面近傍に存在する計測点を含む。特定の方向とは、基準面に応じて設定される。図１の例では、床面を基準面として説明する。また、図１の例では、理解の容易化のために、床面上に存在する計測点の下に床を示す。基準面が床面の場合、特定の方向は、例えば床面よりも上の方向である。具体的には、情報処理装置１００は、例えば、取得した計測点群情報１０１の中から、床面に対応する第１計測点群情報と、床面よりも高さが上の方向に存在する第２計測点群情報と、を抽出する。これにより、床面の計測点群と、床面よりも上に存在する計測点群が分離される。
【００２０】
次に、情報処理装置１００は、抽出した第１計測点群情報に基づく第１モデル１１１を示す第１モデル情報１２１を取得する。具体的には、情報処理装置１００は、例えば、ＣＡＤなどに第１計測点群情報を与えることよりＣＡＤによって第１モデル１１１を示す第１モデル情報１２１を取得する。これにより、床面のモデルが得られる。床面には、計測点がない部分があるが、モデル化される際に、床面に対応する計測点群情報１０１となっていれば、床面に対応する計測点同士に面が形成される。このように、計測点がない部分は床面となるようにモデルの面が形成される。したがって、床面のオクルージョン部分の形状を表すモデルが得られる。
【００２１】
また、情報処理装置１００は、抽出した第２計測点群情報に基づく第２モデル１１２を示す第２モデル情報１２２を取得する。具体的には、情報処理装置１００は、例えば、ＣＡＤなどに第２計測点群情報を与えることよりＣＡＤによって第２モデル１１２を示す第２モデル情報１２２を取得する。これにより、床面より上の障害物のモデルが得られる。なお、第１モデル情報１２１と第２モデル情報１２２との生成処理順については特に限定しない。
【００２２】
次に、情報処理装置１００は、取得した第１モデル情報１２１と、取得した第２モデル情報１２２と、に基づいて、第１モデル１１１と第２モデル１１２とを含む第３モデル１１３を示す第３モデル情報１２３を生成する。具体的には、情報処理装置１００は、第１モデル情報１２１と、第２モデル情報１２１とを含む第３モデル情報１２３を生成する。
【００２３】
全体の計測点群情報１０１がそのままモデル化された場合、床面のオクルージョン部分は計測点が存在しないため、床面と障害物とが一体化されたようなモデルが生成される場合がある。これに対して、情報処理装置１００は、床面の第１モデル１１１と、障害物の第２モデル１１２とをそれぞれ別に生成することにより、床面と障害物とが一体化されないようになる。そして、情報処理装置１００は、床面のオクルージョン部分の形状をより忠実に表すモデルを得ることができる。
【００２４】
図２は、オクルージョン例を示す説明図である。図２（１）において、測定対象の空間には、床の上に障害物が載っている。障害物としては、例えば、机や箱などの物体であり、特に限定しない。図２（１）において、計測機器が左側から右側にレーザを照射した場合、床面には障害物によってオクルージョンとなる部分がある。図２（１）および図２（２）において、四角形の点が計測点である。
【００２５】
上述したように、ＣＡＤなどのアプリケーションでは、例えば、計測点群情報に基づいて、測定対象の空間を面によって表すモデル情報を生成することができる。ＣＡＤなどのアプリケーションが、例えば、オクルージョンとなる部分がある計測点群情報によってモデル２００を示すモデル情報を生成する場合、計測点群がない部分を補間するために、近い計測点同士に面を作成することがある。より具体的には、図２（２）に示すように、ＣＡＤなどのアプリケーションでは、計測点ｐ１と計測点ｐ２との間に面を作成することがある。床面と障害物とが面ｓ１によって一体化されたようなモデル２００が作成され、床面と障害物との区別が不明瞭となる場合がある。このように、計測点群情報に基づき作成したモデルは、床や障害物を表すことができない場合がある。図１で説明したように、本実施の形態では、情報処理装置１００は、床面に対応する計測点群情報と、床面より上に存在する計測点群情報（障害物に対応する計測点群情報）と、のそれぞれについてモデル化した各モデルを合わせたモデル情報を生成する。これにより、情報処理装置１００は、オクルージョン部分の形状を忠実に表すモデルを得ることができる。
【００２６】
図３は、３Ｄ計測を行うための情報処理装置１００の一例を示す説明図である。図３において、情報処理装置１００は、駆動装置３０１と、測定装置３０２と、制御装置３０３と、を有する。情報処理装置１００は、例えば、水平床面に設置されて使用される。図３において、情報処理装置１００の筐体の形状については、例えば、いずれの方向から情報処理装置１００を見ても外形が略同一となる形状となっているが、これに限らない。
【００２７】
また、情報処理装置１００の３脚部分は、例えば伸縮することができる。情報処理装置１００の３脚部分の伸縮により情報処理装置１００の高さを変更することができる。情報処理装置１００は、３脚部分により、例えば、３０ｃｍから１３０ｃｍまでの高さを変更することができる。
【００２８】
駆動装置３０１は、回転軸３１０（図３中、ｚ軸に対応）を中心にパン方向ｄ１に回転するモータである。以下の説明では、パン方向ｄ１の回転角（図３中、ｘ軸に対する角度）を「回転角θｈ（θｈ＝０〜３６０°（度））」と表記する場合がある。ただし、駆動装置３０１が初期位置のときの正面方向とｘ軸方向とが一致しているものとする。
【００２９】
測定装置３０２は、チルト方向ｄ２に走査しながら光（例えば、レーザ）を物体に向けて照射し、反射光を受光するまでの時間を用いて自装置から物体までの距離を測定する２Ｄセンサである。チルト方向ｄ２は、チルト軸３２０を中心に回転する方向である。すなわち、測定装置３０２は、チルト軸３２０を中心に光学系（例えば、後述の図４に示す発光部４１１、受光部４１２等）を回転させながら、図３中の太線矢印で示す方向（照射方向）に光を照射する。
【００３０】
情報処理装置１００において、測定装置３０２は、パン方向ｄ１に対してチルト方向ｄ２が垂直となるように駆動装置３０１に取り付けられる。そして、測定装置３０２は、回転軸３１０を中心として円軌道に沿って移動される状態で、チルト方向ｄ２に走査しながら光（以下、「レーザ」という）を物体に向けて照射して物体までの距離を測定する。
【００３１】
この際、測定装置３０２は、チルト方向ｄ２に「０〜３６０°」の範囲でレーザを照射する。チルト角θｖは、回転軸３１０に対するチルト方向ｄ２の角度である。より詳細に説明すると、例えば、測定装置３０２は、チルト方向ｄ２に０°から３６０°まで所定の角度ずつ移動される度に、この計測を行う。例えば、所定角度が０．２５°の場合、測定装置３０２は、１周当たり２５［ｍｓｅｃ］で約１４４０点の計測を行う。また、測定装置３０２は、例えば、駆動装置３０１によってパン方向ｄ１に、「０〜３６０°」まで所定の角度ずつ移動される度に、この計測を行う。ただし、チルト方向とパン方向共に０°から３６０°計測する必要はない。どちらか一方が０から１８０°の計測を実施すれば、全方位の計測を行うことができる。また、全方位に限らず、角度を指定して計測範囲を制限してもよい。これにより、２Ｄセンサである測定装置３０２を利用して３Ｄ計測を行うことができる。
【００３２】
（情報処理装置１００のハードウェア構成例）
図４は、情報処理装置１００のハードウェア構成例を示すブロック図である。図６において、情報処理装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４０１と、メモリ４０２と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）４０３と、駆動装置３０１と、測定装置３０２と、を有する。また、各構成部は、バス４００によってそれぞれ接続される。
【００３３】
ここで、ＣＰＵ４０１は、情報処理装置１００の全体の制御を司る。メモリ４０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）およびフラッシュＲＯＭなどを有する。具体的には、例えば、フラッシュＲＯＭやＲＯＭが各種プログラムを記憶し、ＲＡＭがＣＰＵ４０１のワークエリアとして使用される。メモリ４０２に記憶されるプログラムは、ＣＰＵ４０１にロードされることで、コーディングされている処理をＣＰＵ４０１に実行させる。
【００３４】
Ｉ／Ｆ４０３は、有線または無線のネットワークに接続され、ネットワーク４１０を介して他のコンピュータ（例えば、利用者のパーソナル・コンピュータ）に接続される。そして、Ｉ／Ｆ４０３は、ネットワーク４１０と自装置内部とのインターフェースを司り、他のコンピュータからのデータの入出力を制御する。なお、図３に示した制御装置３０３は、例えば、ＣＰＵ４０１と、メモリ４０２と、Ｉ／Ｆ４０３と、を含む。
【００３５】
駆動装置３０１は、回転軸３１０を中心にパン方向ｄ１に回転するモータである。測定装置３０２は、発光部４１１と、受光部４１２と、駆動部４１３と、センサ制御部４１４と、を含む。発光部４１１は、レーザを照射する光源であり、例えば、半導体レーザである。受光部４１２は、反射光を受光する。駆動部４１３は、チルト軸３２０を中心にチルト方向ｄ２に発光部４１１を回転させる。センサ制御部４１４は、チルト方向ｄ２に走査しながらレーザを物体に向けて照射し、反射光を受光するまでの時間を用いて自装置から物体までの距離を測定する。センサ制御部４１４は、距離に基づいて座標系Ｃにおける物体の座標値を計測点の座標データとしてメモリ４０２などに出力する。
【００３６】
なお、情報処理装置１００は、上述した構成部のほかに、例えば、ディスクドライブ、ディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、入力装置、ディスプレイなどを有することにしてもよい。
【００３７】
（情報処理装置１００の機能的構成例）
図５は、情報処理装置１００の機能的構成例を示すブロック図である。情報処理装置１００は、取得部５０１と、制御部５０２と、記憶部５１０と、を有する。記憶部５１０は、例えば、メモリ４０２などによって実現される。取得部５０１は、駆動装置３０１と測定装置３０２によって実現される。また、制御部５０２は、第１特定部５１１と、第２特定部５１２と、抽出部５１３と、第３特定部５１４と、付加部５１５と、第１取得部５１６と、第２取得部５１７と、生成部５１８と、を有する。第１特定部５１１から生成部５１８までの制御部５０２の処理は、例えば、メモリ４０２などによって実現される。図４に示すＣＰＵ４０１がアクセス可能なメモリ４０２などに記憶されたプログラムにコーディングされている。そして、ＣＰＵ４０１がメモリ４０２などから該プログラムを読み出して、プログラムにコーディングされている処理を実行する。これにより、制御部５０２の処理が実現される。また、制御部５０２の処理結果は、例えば、メモリ４０２などに記憶される。
【００３８】
取得部５０１は、計測点群情報１０１を取得する。具体的には、取得部５０１は、例えば、光を照射しながら走査すると共に物体から反射される反射光を用いて、自情報処理装置１００から物体までの距離に基づく計測点群情報１０１を取得する。
【００３９】
次に、第１特定部５１１は、取得された計測点群情報１０１に基づいて、測定された基準面を特定する。具体的には、第１特定部５１１は、例えば、計測点群情報１０１に基づいて、高さ方向に計測点の数を計数することにより高さ方向の計測点の数の分布を特定する。ここで、高さ方向とは、例えば、計測点群情報１０１の各軸の座標値に基づいて特定可能である。また、例えば、情報処理装置１００が床面に水平な面に設置されて測定を行った場合、高さ方向は、図３に示すｚ軸方向と平行な方向である。そして、第１特定部５１１は、計測点群情報１０１のうち高さ方向の上側の計測点群情報１０１に基づく第１基準面と、高さ方向の下側の計測点群情報１０１に基づく第２基準面と、を特定する。
【００４０】
上側の計測点群情報１０１とは、例えば、最も高い計測点の高さから最も低い計測点の高さまでの高さの範囲を１００［％］とした場合に、高さの範囲のうち最高の高さから、高さ方向と逆方向の所定数［％］の高さまでの範囲に含まれる計測点群情報１０１である。所定数［％］は、特に限定しないが、例えば１０［％］程度である。下側の計測点群情報１０１とは、例えば、高さの範囲のうち最低の高さから、高さ方向に所定数［％］の高さまでの範囲に含まれる計測点群情報１０１である。所定数［％］は、特に限定しないが、例えば１０［％］程度である。
【００４１】
第１特定部５１１は、上側の計測点群情報１０１における計測点数が最も多い高さの平面を天井面として特定する。第１特定部５１１は、下側の計測点群情報１０１における計測点数が最も多い高さの平面を床面として特定する。なお、第１特定部５１１によって床面および天井面を特定する例については、図６を用いて詳細に説明する。
【００４２】
第２特定部５１２は、例えば、取得された計測点群情報１０１から得られる高さ方向における計測点の数の分布に基づいて、計測点群情報１０１の中から、床面に応じた第４計測点群情報と、天井面に応じた第５計測点群情報と、を抽出する。そして、第２特定部５１２は、抽出した第４計測点群情報に基づく床面に対する各垂直面と、抽出した第５計測点群情報に基づく天井面に対する各垂直面と、の間で、高さ方向以外の各方向における位置が一致する垂直面である基準面を特定する。
【００４３】
ここで、計測点群情報１０１から垂直面を抽出する処理について簡単に説明する。具体的には、第２特定部５１２は、ＲＡＮＳＡＣ（Ｒａｎｄａｍ  Ｓａｍｐｌｅ  ｃｏｎｓｅｎｓｕｓ）などのアルゴリズムにしたがって、計測点群情報（例えば、第４計測点群情報や第５計測点群情報）に含まれる計測点群が形成する垂直面を抽出する。
【００４４】
より詳細に説明すると、第２特定部５１２は、例えば、計測点群情報によって特定される点群をサンプルとし、このサンプルから３つの点をランダムに抽出する。つづいて、第２特定部５１２は、計測点群情報によって特定される点群のうち、サンプルからランダムに抽出された３点により定まる垂直面モデルから所定の距離以内にある点群をさらに抽出する。垂直面モデルから所定の距離以内にある点群を垂直面モデル上に存在する点群とみなす。この垂直面モデルとは、上述したＣＡＤによってコンピュータ空間上に表された３次元のモデルとは異なり、垂直面を規定するために用いられるモデルである。
【００４５】
そして、第２特定部５１２は、垂直面モデル上に存在する点群の数が閾値以上であるか否かを判定する。第２特定部５１２は、垂直面モデル上に存在する点群が閾値以上である場合、垂直面モデルを定義するパラメータと、垂直面モデル上に存在する点群と、が対応付けられた垂直面データを記憶部５１０などに記憶する。垂直面モデルを定義するパラメータとしては、例えば、３点の座標または垂直面の方程式等が挙げられる。第２特定部５１２は、垂直面モデル上に存在する点群の数が閾値未満である場合、サンプルからの３点のランダムサンプリングおよびそれに伴う平面データの保存を所定の試行回数にわたって繰り返し実行する。このような平面抽出方法によって、一定数以上の点群が垂直面モデルからの法線方向へ向けて一定距離内にある垂直面モデルを求めることができる。なお、一定距離は、互いに平行な複数の垂直面モデル間の最小の距離となる。換言すると、例えば、互いに平行な複数の平面モデルの平面モデル間の距離は、一定距離以上である。第２特定部５１２は、垂直面モデルによって規定される面を垂直面として特定する。なお、ここでは垂直面の特定方法を説明したが、垂直面に略直交する水平面についても同様に特定可能である。
【００４６】
このようにして、床面に対する各垂直面や天井面に対する各垂直面が得られる。第２特定部５１２は、床面に対する各垂直面と、天井面に対する各垂直面と、の間で高さ方向以外の位置が一致する垂直面を特定する。高さ方向以外の位置が一致する垂直面は、壁面である。壁とは、室内において室内の四方を囲うものである。壁面は、天井面から床面までの間に存在することが推定される。床面に対する垂直面と、天井面に対する垂直面との両方に存在する垂直面は、壁面である可能性が高い。なお、第２特定部５１２によって壁面を特定する例については、図７を用いて詳細に説明する。
【００４７】
次に、モデル化の例について、３つの方法を用いて説明する。１つ目の方法では、図１に示したように、計測点群情報１０１から基準面に対して特定の方向に存在する第２計測点群情報５２２を分離し、それぞれの計測点群情報１０１をモデル化した各モデル情報を生成して合成する。２つ目の方法では、計測点群情報１０１に、基準面のうちの計測点のない欠落部分に対応する計測点群情報を追加し、追加後の計測点群情報１０１をモデル化したモデル情報を生成する。３つ目の方法では、１つ目の方法と２つ目の方法とを組み合わせる。
【００４８】
まず、モデル化の１つ目の方法について説明する。
【００４９】
抽出部５１３は、取得部５０１によって取得された計測点群情報１０１から、基準面に対応する第１計測点群情報５２１と、基準面に対して特定の方向に存在する第２計測点群情報５２２と、を抽出する。特定の方向とは、例えば、基準面に応じて設定される。基準面が床面の場合、特定の方向とは、床面から天井面に向かう方向であり、高い方に向かう高さ方向である。基準面が天井面の場合、特定の方向とは、天井面から床面に向かう方向であり、低い方に向かう高さ方向である。基準面が壁面の場合、特定の方向とは、壁面からその壁面に対向する壁面に向かう方向である。
【００５０】
より具体的に説明すると、抽出部５１３は、取得部５０１によって取得された計測点群情報１０１から、基準面に対して特定の方向に存在する第２計測点群情報５２２を抽出する。そして、抽出部５１３は、取得された計測点群情報１０１のうち第２計測点群情報５２２以外の計測点群情報１０１を第１計測点群情報５２１として抽出する。
【００５１】
そして、第１取得部５１６は、第１計測点群情報５２１に基づく第１モデル１１１を示すモデル情報を取得する。具体的には、第１取得部５１６は、第１計測点群情報５２１をＣＡＤなどのアプリケーションに与える。そして、第１取得部５１６は、ＣＡＤなどのアプリケーションによって生成されたモデル情報を取得する。ＣＡＤなどのアプリケーションについては、情報処理装置１００が実行していてもよいし、情報処理装置１００と異なる装置が実行していてもよい。
【００５２】
そして、第２取得部５１７は、第２計測点群情報５２２に基づく第２モデル１１２を示すモデル情報を取得する。具体的には、第２取得部５１７は、第２計測点群情報５２２をＣＡＤに与える。そして、第２取得部５１７は、ＣＡＤなどのアプリケーションによって生成されたモデル情報を取得する。
【００５３】
そして、生成部５１８は、第１モデル情報１２１と、第２モデル情報１２２と、に基づいて、第１モデル１１１と第２モデル１１２とを含む第３モデル１１３を示す第３モデル情報１２３を生成する。例えば、第１モデル情報１２１をＰ１とし、第２モデル情報１２２をＰ２とし、第３モデル情報１２３をＰとした場合、生成部５１８は、「Ｐ＝｛Ｐ１，Ｐ２｝」のように生成すればよい。モデル化の１つ目の方法については図１に示した通りである。
【００５４】
ところで、例えば床に机や棚などの複数の物体が離れて設置されている場合がある。机に対応する計測点群情報と棚に対応する計測点群情報とを一緒にモデル化した場合、机や棚が一体化される場合がある。そこで、第２取得部５１７は、抽出された第２計測点群情報５２２に含まれる計測点間の距離に基づいて、第２計測点群情報５２２に含まれる計測点をグループ化する。具体的には、第２取得部５１７は、例えば、距離が閾値以下の計測点同士を同一のグループとする。第２取得部５１７は、グループ化した複数のグループの各々のグループについて、各々のグループに含まれる計測点の情報に基づく第２モデル１１２を示す第２モデル情報１２２を取得する。そして、生成部５１８は、第１モデル情報１２１と、各々のグループについて取得された第２モデル情報１２２と、に基づいて第１モデル１１１と各々のグループについての第２モデル１１２とを含む第３モデル１１３を示す第３モデル情報１２３を生成する。生成方法の詳細については１つ目の方法において説明した通りである。
【００５５】
次に、モデル化の２つ目の方法について説明する。
【００５６】
抽出部５１３は、取得部５０１によって取得された計測点群情報１０１から、基準面に対応する第１計測点群情報５２１を抽出する。
【００５７】
そして、第３特定部５１４は、第１計測点群情報５２１に基づいて、基準面のうち、第１計測点群情報５２１に含まれる計測点群の密度が所定密度以下の欠落部分を特定する。第３特定部５１４は、例えば、基準面を複数の領域に分割して領域ごとに計測点群の密度が所定密度以下であるか否かを判定してもよい。より具体的には、第３特定部５１４は、領域ごとに、計測点群の数が閾値以下である場合に、領域を欠落部分として特定する。閾値は、情報処理装置１００と基準面との距離に基づき定められる。情報処理装置１００と基準面との距離が遠いと、領域当たりの計測点の数は少なくなり、情報処理装置１００と基準面との距離が近いと、領域当たりの計測点の数は多くなる。なお、領域当たりの計測点の数は、チルト方向ｄ２およびパン方向ｄ１の分解能に基づき定まる。
【００５８】
また、第３特定部５１４は、第１計測点群情報５２１に含まれる計測点群の各計測点に色を付けた画像に基づいて計測点群の密度が所定密度以下の欠落部分を特定してもよい。具体的には、第３特定部５１４は、第１計測点群情報５２１に含まれる計測点群の各計測点に色を付けた画像を示す画像情報を生成する。そして、第３特定部５１４は、生成した画像情報が示す画像から、色づけされていない部分を、計測点群の密度が所定密度以下の欠落部分として特定してもよい。
【００５９】
付加部５１５は、取得部５０１によって取得された計測点群情報１０１と、欠落部分に対応する計測点群情報とを含む第３計測点群情報を生成する。ここで生成される第３計測点群情報は、追加後の計測点群情報１０１とも表す。具体的には、付加部５１５は、欠落部分に対応する計測点群情報を生成する。欠落部分に対応する計測点群情報とは、欠落部分の計測点が所定密度以上となるように設けた場合の計測点群の位置を示す情報である。付加部５１５は、例えば、基準面がｚ軸方向に略垂直な面である場合、第１計測点群情報５２１に含まれる各計測点のｚ座標値と同じｚ座標値を含み、欠落部分に対応するｘ座標値およびｙ座標値を含む計測点群情報１０１を生成する。そして、付加部５１５は、取得された計測点群情報１０１に、生成した計測点群情報１０１を付加する。より具体的には、例えば計測点群情報１０１をＤｋとし、生成した計測点群情報をＤｘとし、追加後の計測点群情報１０１をＤとした場合、付加部５１５は、「Ｄ＝｛Ｄｋ，Ｄｘ｝」とする。
【００６０】
そして、第１取得部５１６は、付加部５１５による追加後の計測点群情報１０１に基づくモデルを示すモデル情報を取得する。第１取得部５１６によるモデル情報の取得方法については、１つ目の方法で説明した取得方法と同じである。なお、２つ目の方法については、基準面として床面を用いた簡単な例を図８に示す。
【００６１】
また、情報処理装置１００は、１つ目の方法と２つ目の方法までのいずれかを選択可能なように構成されていてもよい。１つ目の方法では、２つ目の方法と比較して処理時間の短縮化を図ることができる。一方、２つ目の方法は、欠落部分が大きい場合などにおいて１つ目の方法と比較して、オクルージョン部分の形状をより忠実に表すモデルが得られる。例えば、基準面の欠落部分が大きいと、ＣＡＤなどのアプリケーションによるモデル情報の作成時に欠落部分に対してどのような計測点を用いて面が作成されるかが明確でない。このため、情報処理装置１００は、例えば、欠落部分が所定サイズ以上である場合に２つ目の方法を行い、欠落部分が所定サイズ未満である場合に１つ目の方法を行う。
【００６２】
最後に、モデル化の３つ目の方法について説明する。３つ目の方法は、１つ目の方法と２つ目の方法の組み合わせである。
【００６３】
抽出部５１３は、取得部５０１によって取得された計測点群情報１０１から、基準面に対応する第１計測点群情報５２１と、基準面に対して特定の方向に存在する第２計測点群情報５２２と、を抽出する。基準面に対応する第１計測点群情報５２１とは、例えば、基準面上に存在する第１計測点群情報５２１である。
【００６４】
第３特定部５１４は、第１計測点群情報５２１に基づいて、基準面のうち、第１計測点群情報５２１に含まれる計測点群の密度が所定密度以下の欠落部分を特定する。特定方法については、２つ目の方法で説明した通りである。
【００６５】
付加部５１５は、抽出された第１計測点群情報５２１と、欠落部分に対応する計測点群情報とを含む第３計測点群情報を生成する。欠落部分に対応する計測点群情報の生成方法については２つ目の方法で説明した通りである。ここで生成される第３計測点群情報は、追加後の第１計測点群情報５２１とも表す。
【００６６】
次に、第１取得部５１６は、付加部５１５によって追加後の第１計測点群情報５２１に基づく第１モデル１１１を示すモデル情報を取得する。第２取得部５１７は、第２計測点群情報５２２に基づく第２モデル１１２を示すモデル情報を取得する。第１取得部５１６と第２取得部５１７とによるモデル情報の取得方法については、１つ目の方法で説明した通りである。
【００６７】
そして、生成部５１８は、第１モデル１１１を示すモデル情報と第２モデル１１２を示すモデル情報とを合成する。合成方法については、１つ目の方法で説明した通りである。なお、３つ目の方法については、基準面として床面を用いた簡単な例を図９に示す。
【００６８】
２つ目の方法のようにＣＡＤによってモデル化が行われる場合、基準面のうち計測点が付加された部分と基準面に接する部分との間に、どのように面が作成されるかが明確でない。このため、３つ目の方法については、基準面と基準面に接する部分とのそれぞれ別にモデル化が行われることにより、特にこの基準面に接する部分の形状をより忠実に表すモデルが得られる。
【００６９】
情報処理装置１００は、１つ目の方法〜３つ目の方法までのいずれかを利用者や各種条件によって選択可能なように構成されていてもよい。
【００７０】
また、上述したように、基準面が第２特定部５１２によって特定された壁面の場合における例については、図１０に示す。
【００７１】
また、基準面が複数ある場合についての抽出部５１３による抽出処理について説明する。基準面の特定方法は、上述した通りである。このため、基準面は、床面、天井面、壁面などのように複数の場合がある。
【００７２】
抽出部５１３は、計測点群情報１０１の中から、測定された複数の基準面の各々に対応する第１計測点群情報５２１を抽出する。また、抽出部５１３は、測定された複数の基準面の各々の基準面について設定された特定の方向に存在し、第１計測点群情報５２１以外の第２計測点群情報５２２を抽出する。特定の方向は、各々の基準面によって設定される。床面についての特定の方向は、天井面に向かう方向である。天井面についての特定の方向は、床面に向かう方向である。壁面についての特定の方向は、対向する壁面に向かう方向である。基準面が床面、天井面、壁面の場合、抽出部５１３は、取得された計測点群情報１０１の中から、床面、天井面、壁面によって囲われた領域内の計測点群情報１０１を第２計測点群情報５２２として抽出する。
【００７３】
図６は、床面と天井面との特定例を示す説明図である。第１特定部５１１は、例えば、取得された計測点群情報１０１に基づいて、高さ方向の計測点の数の分布６００を特定する。分布６００では、縦軸が高さであり、横軸が計測点の数である。分布６００において、最も高い計測点の高さＭＡＸ（Ｍａｘｉｍｕｍ）から最も低い計測点の高さＭＩＮ（Ｍｉｎｉｍｕｍ）までの高さの範囲を１００［％］とする。
【００７４】
そして、第１特定部５１１は、分布６００に基づいて、取得された計測点群情報１０１の中から、高さＭＡＸから高さが低くなる方向に１０［％］の高さまでの範囲に含まれる計測点群情報１０１を抽出する。ここで抽出される計測点群情報１０１は、上述した上側の計測点群情報１０１である。この１０［％］は所定数であり、特に限定しない。第１特定部５１１は、抽出した計測点群情報１０１によって特定される計測点群の高さ方向の分布において最も計測点の数が多い高さの水平面を天井面として特定する。
【００７５】
また、第１特定部５１１は、分布６００に基づいて、取得された計測点群情報１０１の中から、高さＭＩＮから高さが高くなる方向に１０［％］の高さまでの範囲に含まれる計測点群情報１０１を抽出する。ここで抽出される計測点群情報１０１は、上述した下側の計測点群情報１０１である。この１０［％］は所定数であり、特に限定しない。第１特定部５１１は、抽出した計測点群情報１０１によって特定される各計測点群の高さ方向の分布において最も計測点の数が多い高さの水平面を床面として特定する。
【００７６】
図７は、壁面の特定例を示す説明図である。図７（１）には、天井面付近領域の計測点群情報１０１と床面付近領域の計測点群情報１０１とを示す。図７（２−１）および図７（２−２）には、天井面付近領域の計測点群情報１０１における垂直面と、床面付近領域の計測点群情報１０１における垂直面とを示す。図７（３）には、垂直面を重ね合わせた状態を示す。
【００７７】
図７（１）に示すように、第２特定部５１２は、分布６００において、取得された計測点群情報１０１の中から、高さＭＡＸから高さが低くなる方向に２０［％］の高さまでの範囲に含まれる計測点群情報１０１を抽出する。この２０［％］は所定数であり、特に限定しない。ここで抽出される計測点群情報１０１は、天井面付近領域の計測点群情報１０１である。
【００７８】
第２特定部５１２は、分布６００において、取得された計測点群情報１０１の中から、高さＭＩＮから高さ方向に１０［％］の高さまでの範囲に含まれる計測点群情報１０１を抽出する。この１０［％］は所定数であり、特に限定しない。ここで抽出される計測点群情報１０１は、床面付近領域の計測点群情報１０１である。
【００７９】
第２特定部５１２は、天井面付近領域の計測点群情報１０１に基づいて、天井面に対する垂直面を抽出する。垂直面を抽出する処理については、上述した通りである。第２特定部５１２は、例えば、床面付近領域の計測点群情報１０１に基づいて、床面に対する垂直面を抽出する。垂直面を抽出する処理については、上述した通りである。ここで、各垂直面は、高さ方向と略平行な方向の面である。図７（２−１）には、天井面に対する垂直面を高さ方向と逆方向（上）から見た場合の垂直面の各第１エッジを示す。図７（２−２）には、床面に対する垂直面を高さ方向と逆方向（上）から見た場合の垂直面の各第２エッジとを示す。
【００８０】
第２特定部５１２は、各第１エッジと各第２エッジとを重ねた場合において一致するエッジの垂直面を壁面（基準面）として特定する。図７（３）において一致するエッジは太い線の部分である。例えば、天井面付近領域の垂直面において一致しないエッジの垂直面は、例えば、天井に取り付けられた物体を表す垂直面である。例えば、天井面付近領域の垂直面において一致しないエッジの垂直面は、例えば、床に配置された棚などの物体を表す垂直面である。
【００８１】
図８は、床面である基準面のモデル化の２つ目の方法例を示す説明図である。第３特定部５１４は、床面に対応する第１計測点群情報５２１に基づいて、基準面のうち、第１計測点群情報５２１に含まれる計測点の密度が所定密度以下の欠落部分８００を特定する。付加部５１５は、例えば、取得された計測点群情報１０１に、欠落部分８００に対応する計測点群情報を追加する。
【００８２】
そして、第１取得部５１６は、付加部５１５によって追加された計測点群情報１０１に基づくモデルを示すモデル情報を取得する。ＣＡＤでは、モデル化する際に、計測点ｐ１と計測点ｐ２との間に面を作成せずに、計測点ｐ２よりも計測点ｐ１からの距離が近い計測点ｐ３と計測点ｐ１との間に面を作成すると推定される。このため、情報処理装置１００は、床面のオクルージョン部分の形状をより忠実に表すモデルを作成することができる。
【００８３】
図９は、床面である基準面のモデル化の３つ目の方法例を示す説明図である。抽出部５１３は、取得部５０１によって取得された計測点群情報１０１から、床面に対応する第１計測点群情報５２１と、床面に対して特定の方向に存在する第２計測点群情報５２２と、を抽出する。これにより、計測点群情報１０１は、床面に対応する第１点群情報５２１と、床面に対して特定の方向に存在する第２計測点群情報５２２と、に分離される。床面が基準面の場合、特定の方向は、高さ方向である。
【００８４】
第３特定部５１４は、床面に対応する第１計測点群情報５２１に基づいて、床面のうち、第１計測点群情報５２１に含まれる計測点の密度が所定密度以下の欠落部分８００を特定する。付加部５１５は、例えば、第１計測点群情報５２１に、欠落部分８００に対応する計測点群情報を追加する。
【００８５】
そして、第１取得部５１６は、付加部５１５によって欠落部分８００に対応する計測点群情報が追加された第１計測点群情報５２１に基づく第１モデル１１１を示す第１モデル情報１２１を取得する。
【００８６】
第２取得部５１７は、抽出された第２計測点群情報５２２に基づく第２モデル１１２を示す第２モデル情報１２２を取得する。そして、生成部５１８は、第１モデル情報１２１と、第２モデル情報１２２と、を合成する。これにより、情報処理装置１００は、床面のオクルージョン部分（欠落部分８００）の形状をより忠実に表すモデルを作成することができる。
【００８７】
図１０は、壁面を基準面とする際のモデル化の方法例を示す説明図である。図１０（１）には、第２特定部５１２によって基準面として特定された各垂直面を太線によって示す。図１０（２）には、閉ループ化された後の垂直面を太線によって示す。ここでは、壁面を基準面とする際のモデル化の方法として、上述した３つ目の方法を用いて説明する。
【００８８】
抽出部５１３は、第２特定部５１２によって基準面として特定された各垂直面の端部を閉ループ化処理する。そして、抽出部５１３は、取得された計測点群情報１０１から、閉ループ化処理後の垂直面によって囲われた領域よりも内側にある第２計測点群情報５２２を抽出する。垂直面にはそれぞれ特定の方向が設定されており、抽出部５１３は、これらの特定の方向に基づいて垂直面によって囲われた領域を設定できる。また、抽出部５１３は、取得された計測点群情報１０１から、垂直面上に存在する第１計測点群情報５２１を抽出する。抽出部５１３は、取得された計測点群情報１０１から、垂直面によって囲われた領域の外側にある第６計測点群情報を抽出する。
【００８９】
第３特定部５１４は、第１計測点群情報５２１に基づいて、垂直面のうちの欠落部分８００を特定する。そして、付加部５１５は、第１計測点群情報５２１に、欠落部分８００に対応する計測点群情報を付加する。
【００９０】
第１取得部５１６は、付加部５１５によって追加後の第１計測点群情報５２１および抽出された第６計測点群情報に基づく第１モデル１１１を示す第１モデル情報１２１を取得する。第２取得部５１７は、抽出された第２計測点群情報５２２に基づく第２モデル１１２を示す第２モデル情報１２２を取得する。生成部５１８は、第１モデル１１１と第２モデル１１２を含む第３モデル１１３を示す第３モデル情報１２３を生成する。
【００９１】
これにより、情報処理装置１００は、壁面のオクルージョン部分の形状をより忠実に表すモデルを作成することができる。
【００９２】
（情報処理装置１００が行う処理手順例）
次に、図１１〜図１３を用いて、情報処理装置１００が行う処理手順例について説明する。図１１を用いて、上述したモデル化の１つ目の方法における処理手順例について説明する。図１２を用いて、上述したモデル化の２つ目の方法における処理手順例について説明する。図１３を用いて、上述したモデル化の３つ目の方法における処理手順例について説明する。
【００９３】
図１１は、情報処理装置１００が行う処理手順例１を示すフローチャートである。情報処理装置１００は、計測点群情報１０１を取得する（ステップＳ１１０１）。次に、情報処理装置１００は、各々の基準面を特定する（ステップＳ１１０２）。情報処理装置１００は、例えば、床面、天井面、壁面などのうちの少なくともいずれかの基準面を特定する。なお、基準面は、計測点群情報１０１から特定可能な垂直面や水平面のうちの利用者によって指定された面であってもよい。
【００９４】
情報処理装置１００は、各々の基準面に対応する第１計測点群情報５２１を抽出する（ステップＳ１１０３）。情報処理装置１００は、各々の基準面について、設定された方向に存在する第２計測点群情報５２２を抽出する（ステップＳ１１０４）。情報処理装置１００は、第１計測点群情報５２１に基づく第１モデル１１１を示す第１モデル情報１２１を生成する（ステップＳ１１０５）。情報処理装置１００は、第２計測点群情報５２２に基づく第２モデル１１２を示す第２モデル情報１２２を生成する（ステップＳ１１０６）。ステップＳ１１０５およびステップＳ１１０６において、情報処理装置１００が、第１モデル情報１２１と第２モデル情報１２２とを生成しているが、これに限らない。例えば、情報処理装置１００以外の他の装置がＣＡＤを実行する場合、情報処理装置１００は、ネットワーク４１０を介して、第１計測点群情報５２１と第２計測点群情報５２２を他の装置に与えて、他の装置から第１モデル情報１２１と第２モデル情報１２２とを取得する。
【００９５】
情報処理装置１００は、第１モデル情報１２１と第２モデル情報１２２とに基づいて、第１モデル１１１と第２モデル１１２とを含む第３モデル１１３を示す第３モデル情報１２３を生成し（ステップＳ１１０７）、一連の処理を終了する。
【００９６】
図１２は、情報処理装置１００が行う処理手順例２を示すフローチャートである。情報処理装置１００は、計測点群情報１０１を取得する（ステップＳ１２０１）。次に、情報処理装置１００は、各々の基準面を特定する（ステップＳ１２０２）。そして、情報処理装置１００は、各々の基準面に対応する第１計測点群情報５２１を抽出する（ステップＳ１２０３）。
【００９７】
情報処理装置１００は、第１計測点群情報５２１に基づいて、基準面のうち第１計測点群情報５２１によって特定される計測点がない欠落部分８００を特定する（ステップＳ１２０４）。情報処理装置１００は、第１計測点群情報５２１に基づいて、特定した欠落部分８００に対応する計測点群情報を生成する（ステップＳ１２０５）。そして、情報処理装置１００は、ステップＳ１２０１において取得した計測点群情報１０１に、生成した欠落部分８００に対応する計測点群情報を追加する（ステップＳ１２０６）。
【００９８】
情報処理装置１００は、追加後の計測点群情報１０１に基づくモデルを示すモデル情報を生成し（ステップＳ１２０７）、一連の処理を終了する。
【００９９】
図１３は、情報処理装置１００が行う処理手順例３を示すフローチャートである。情報処理装置１００は、計測点群情報１０１を取得する（ステップＳ１３０１）。次に、情報処理装置１００は、各々の基準面を特定する（ステップＳ１３０２）。情報処理装置１００は、各々の基準面に対応する第１計測点群情報５２１を抽出する（ステップＳ１３０３）。情報処理装置１００は、各々の基準面に対して、各々の基準面に設定された方向に存在する第２計測点群情報５２２を抽出する（ステップＳ１３０４）。なお、ステップＳ１３０４において、情報処理装置１００は、各々の基準面に対して、各々の基準面に設定された方向に存在する計測点のうち、第１計測点群情報５２１に含まれる計測点は、第２計測点群情報５２２として抽出しない。
【０１００】
次に、情報処理装置１００は、第１計測点群情報５２１に基づいて、基準面のうち第１計測点群情報５２１によって特定される計測点がない欠落部分８００を特定する（ステップＳ１３０５）。情報処理装置１００は、第１計測点群情報５２１に基づいて、特定した欠落部分８００に対応する計測点群情報を生成する（ステップＳ１３０６）。そして、情報処理装置１００は、第１計測点群情報５２１に、生成した計測点群情報１０１を追加する（ステップＳ１３０７）。情報処理装置１００は、追加後の第１計測点群情報５２１（第３計測点群情報）に基づく第１モデル１１１を示す第１モデル情報１２１を生成する（ステップＳ１３０８）。情報処理装置１００は、第２計測点群情報５２２に基づく第２モデル１１２を示す第２モデル情報１２２を生成する（ステップＳ１３０９）。情報処理装置１００は、第１モデル情報１２１と第２モデル情報１２２とに基づいて、第１モデル１１１と第２モデル１１２とを含む第３モデル１１３を示す第３モデル情報１２３を生成し（ステップＳ１３１０）、一連の処理を終了する。
【０１０１】
次に、図１４と図１５を用いて、計測点群情報１０１をそのままモデル化した場合と、計測点群情報１０１を基準面に基づき分離してモデル化した場合と、の比較例を説明する。
【０１０２】
図１４は、計測点群情報１０１をそのままモデル化した例を示す説明図である。図１５は、計測点群情報１０１を分離してモデル化した例を示す説明図である。図１４（１）および図１５（１）には、測定対象の空間を示す。測定対象の空間では、部屋の中に机がある。机に隠れて、床の一部がオクルージョン部分となる。
【０１０３】
このため、図１４（２）に示すように、全体の計測点群情報１０１がそのままモデル化された場合、モデルでは、オクルージョン部分において机と床が一体化される。
【０１０４】
図１５（２）に示すように、情報処理装置１００は、床面、壁面、天井面などの基準面に対応する計測点群情報と、壁面に囲われた領域に対応する計測点群情報のうち、床面よりも上であり、天井面よりも下にある計測点群情報と、のそれぞれをモデル化する。これにより、机に対応する計測点群情報によってモデル化が行われるため、測定対象に含まれる実際の机の形状をより忠実に表すモデルが得られる。また、床面、壁面、天井面などの基準面でモデル化されるため、測定対象に含まれる実際の床の形状をより忠実に表すモデルが得られる。そして、図１５（３）に示すように、情報処理装置１００は、モデル化した２つのモデルを含むモデル情報を生成する。これにより、図１５に示すモデルは、オクルージョン部分において机と床が一体化しない。
【０１０５】
このように、情報処理装置１００は、計測点群情報１０１をそのままモデル化する場合と比較して、測定対象である実際の空間をより忠実に表すモデルを作成することができる。
【０１０６】
図１６は、システム例を示す説明図である。本実施の形態では、情報処理装置１００は、計測機器そのものである場合を例に説明したが、これに限らない。図５に示した情報処理装置１００の機能部のうちの一部の機能部を他の装置に実現させてもよい。
【０１０７】
システム１６００は、計測機器である情報処理装置１００と、装置１６０１と、装置１６０２と、を有する。情報処理装置１００と、装置１６０１と、装置１６０２とは、例えば、ネットワーク４１０を介して接続される。図１６の例では、装置１６０１は、ＰＣであり、装置１６０２は、携帯型の端末装置であるが、これに限らない。装置１６０１と装置１６０２としては、例えば、ＰＣ、サーバ、携帯型の端末装置などが挙げられる。例えば、取得部５０１を計測機器である情報処理装置１００によって実現させ、制御部５０２および記憶部５１０を装置１６０１によって実現させてもよい。また、制御部５０２の一部の機能を情報処理装置１００によって実現させ、制御部５０２の残余の機能を装置１６０１によって実現させてもよい。
【０１０８】
また、例えば装置１６０２は、利用者による操作入力によって受け付けた測定の開始指示を計測機器である情報処理装置１００に通知してもよい。これにより、利用者は、直接計測機器を操作することなく、３Ｄ計測を行うことができる。
【０１０９】
装置１６０１や装置１６０２は、ＣＰＵ、ディスク、メモリ、Ｉ／Ｆ、入力装置、ディスプレイなどの出力装置などのようなハードウェア構成を有していればよく、特に限定しない。また、各種の計測点群情報や各種のモデル情報については、データベースサーバ（図示省略）などに記憶および管理されてもよい。
【０１１０】
以上説明したように、情報処理装置１００は、３Ｄ計測により得た計測点群情報を、基準面上にある第１計測点群情報と基準面に対して特定の方向にある第２計測点群情報とに分け、計測点群情報別にモデル化した各モデルを合わせたモデル情報を生成する。これにより、情報処理装置１００は、複数の測定箇所によって測定を行うなどの測定者の手間をかけることなく、基準面のオクルージョン部分の形状をより忠実に表すモデルを生成することができる。したがって、測定者の手間を省くことができる。特に、情報処理装置１００は、床面、天井面、壁面のある部屋などの空間に有用である。例えば、基準面が床面である場合、床面のオクルージョン部分をより忠実に表すモデルが得られる。したがって、例えば、部屋をより忠実に表す３次元のモデルを、手間をかけることなく生成することができる。
【０１１１】
ところで、基準面のうち計測点が存在しない欠落部分が小さければ、基準面上に存在する計測点群のうち欠落部分に近い計測点によって欠落部分の形状を表すモデルが得られる。しかし、特に欠落部分が大きいと、モデル化の際に欠落部分に対してどのような計測点を用いて面が作成されるか明確でない。そこで、情報処理装置１００は、基準面に応じた計測点群情報に、基準面のうちの計測点がない欠落部分に対応する計測点群情報を追加し、追加後の計測点群情報によってモデル化する。これにより、情報処理装置１００は、欠落部分が大きい場合であってもオクルージョン部分をより忠実に表すモデルを生成することができる。例えば、基準面が床面の場合、床面のオクルージョン部分に対応する計測点が追加されるため、床面のオクルージョン部分をより忠実に表すモデルを生成することができる。
【０１１２】
また、情報処理装置１００は、取得した計測点群情報から得られる高さ方向における計測点の数の分布に基づいて、床面と天井面の少なくともいずれかである基準面を推定する。これにより、測定対象の空間が部屋の中である場合に、床面のオクルージョン部分や天井面のオクルージョン部分をより忠実に表すモデルが得られる。したがって、情報処理装置１００は、例えば、測定対象の部屋をより忠実に表すモデルを、手間をかけることなく生成することができる。
【０１１３】
また、情報処理装置１００は、床面に対する各垂直面と、天井面に対する各垂直面と、の間で一致する垂直面を壁面として特定する。これにより、測定対象の空間が部屋の中である場合に、壁面のオクルージョン部分をより忠実に表すモデルが得られる。したがって、情報処理装置１００は、例えば、部屋をより忠実に表すモデルを、手間をかけることなく生成することができる。
【０１１４】
また、基準面が複数ある場合、情報処理装置１００は、複数の基準面の各々に対応する第１計測点群情報と、複数の基準目の各々について設定された特定の方向に存在し、第１計測点群情報以外の第２計測点群情報と、を抽出する。このように、情報処理装置１００は、基準面が複数ある場合に、複数の基準面と基準面以外の部分と、のそれぞれについてモデル化を行うことにより、基準面以外の部分をより正確にモデル化することができる。例えば、壁、床、天井があり、床の上に机が設置された部屋を測定対象の空間とした場合、壁、床および天井と、机とが別々にモデル化される。このため、情報処理装置１００は、机に対応するモデルが、壁、床、天井などと一体化されないため、より机に見えるようなモデルを作成することができる。
【０１１５】
また、情報処理装置１００は、基準面に対応する第１計測点群情報以外の第２計測点群情報によって特定される計測点群の３次元の分布において、複数の分布の集合がある場合、集合別にモデル化する。例えば、床に、机や棚、ごみ箱などのように複数の物体がある場合、モデル化する際に、複数の物体が一体化される虞がある。このため、情報処理装置１００は、分布の集合別にモデル化することにより、物体別にモデル化することができる。したがって、情報処理装置１００は、複数の物体が一体化されることを抑制でき、より物体らしく見えるモデルを作成することができる。
【０１１６】
情報処理装置１００は、３Ｄ計測によって取得した計測点群情報に、基準面のうちの計測点がない欠落部分に対応する計測点群情報を追加し、追加後の計測点群情報に基づいてモデル化したモデル情報を生成する。これにより、情報処理装置１００は、複数の測定箇所によって測定を行うなどの測定者の手間をかけることなく、基準面のオクルージョン部分の形状をより忠実に表すモデルを生成することができる。したがって、測定者の手間を省くことができる。特に、情報処理装置１００は、床面、天井面、壁面のある部屋などの空間に有用である。例えば、基準面が床面である場合、床面のオクルージョン部分の形状を忠実に表すモデルが得られる。したがって、例えば、部屋をより忠実に表す３次元のモデルを、手間をかけることなく生成することができる。
【０１１７】
なお、本実施の形態で説明した情報処理方法は、予め用意された情報処理プログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本情報処理プログラムは、磁気ディスク、光ディスク、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）フラッシュメモリなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、情報処理プログラムは、インターネット等のネットワークを介して配布してもよい。
【０１１８】
また、本実施の形態で説明した情報処理装置１００は、スタンダードセルやストラクチャードＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）などの特定用途向けＩＣ（以下、単に「ＡＳＩＣ」と称す。）やＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）などのＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）によっても実現することができる。具体的には、例えば、上述した情報処理装置の機能をＨＤＬ（Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）記述によって機能定義し、そのＨＤＬ記述を論理合成してＡＳＩＣやＰＬＤに与えることにより、情報処理装置１００を製造することができる。
【０１１９】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１２０】
（付記１）コンピュータに、
測定装置によって測定された前記測定装置から前記物体までの距離に基づく３次元の計測点群情報を取得し、
取得した前記計測点群情報の中から、前記測定装置によって測定された基準面上に存在する第１計測点群情報と、前記基準面に対して特定の方向に存在する第２計測点群情報と、を抽出し、
抽出した前記第１計測点群情報に基づく第１モデルを示す第１モデル情報を取得し、
抽出した前記第２計測点群情報に基づく第２モデルを示す第２モデル情報を取得し、
取得した前記第１モデル情報と、取得した前記第２モデル情報と、に基づいて前記第１モデルと前記第２モデルとを含む第３モデルを示す第３モデル情報を生成する、
処理を実行させることを特徴とする情報処理プログラム。
【０１２１】
（付記２）前記コンピュータに、
前記第１計測点群情報に基づいて、前記基準面のうち、前記第１計測点群情報によって特定される各計測点の密度が所定密度以下の部分を特定し、
前記第１計測点群情報と、特定した前記部分に対応する計測点群情報とを含む第３計測点群情報を生成する、
処理を実行させ、
前記第１モデル情報を取得する処理は、
前記第１計測点群情報に基づく前記第１モデルを示す前記第１モデル情報を取得せずに、前記第３計測点群情報に基づく第１モデルを示す第１モデル情報を取得する、
ことを特徴とする付記１に記載の情報処理プログラム。
【０１２２】
（付記３）前記コンピュータに、
取得した前記計測点群情報によって特定される各計測点の数の高さ方向における分布に基づいて、床面と天井面の少なくともいずれかである前記基準面を特定する、
処理を実行させ、
前記第１計測点群情報と前記第２計測点群情報とを抽出する処理は、
取得した前記計測点群情報の中から、特定した前記基準面に対応する前記第１計測点群情報と、前記基準面に対して前記特定の方向に存在する前記第２計測点群情報と、を抽出することを特徴とする付記１または２に記載の情報処理プログラム。
【０１２３】
（付記４）前記コンピュータに、
取得した前記計測点群情報から得られる高さ方向における計測点の数の分布に基づいて、前記計測点群情報のうち、床面に応じた第４計測点群情報と、前記計測点群情報のうち天井面に応じた第５計測点群情報と、を抽出し、
抽出した前記第４計測点群情報に基づく前記床面に対する各垂直面と、抽出した前記第５計測点群情報に基づく前記天井面に対する各垂直面と、の間で、前記高さ方向以外の各方向における位置が一致する垂直面である前記基準面を特定する、
処理を実行させ、
前記第１計測点群情報と前記第２計測点群情報とを抽出する処理は、
取得した前記計測点群情報の中から、特定した前記基準面に対応する前記第１計測点群情報と、前記基準面に対して前記特定の方向に存在する前記第２計測点群情報と、を抽出することを特徴とする付記１〜３のいずれか一つに記載の情報処理プログラム。
【０１２４】
（付記５）前記抽出する処理は、
前記計測点群情報の中から、前記測定装置によって測定された複数の基準面の各々に対応する第１計測点群情報と、前記測定装置によって測定された前記複数の基準面の各々の基準面について設定された特定の方向に存在し、前記第１計測点群情報以外の第２計測点群情報と、を抽出する、
ことを特徴とする付記１〜４のいずれか一つに記載の情報処理プログラム。
【０１２５】
（付記６）コンピュータに、
測定装置によって測定された前記測定装置から前記物体までの距離に基づく３次元の計測点群情報を取得し、
取得した前記計測点群情報の中から、前記測定装置によって測定された基準面上に存在する第１計測点群情報を抽出し、
抽出した前記第１計測点群情報に基づいて、前記基準面のうち、前記第１計測点群情報によって特定される各計測点の密度が所定密度以下の欠落部分を特定し、
前記計測点群情報と、特定した前記欠落部分に対応する計測点群情報とを含む第３計測点群情報を生成し、
生成した前記第３計測点群情報に基づくモデルを示すモデル情報を取得する、
処理を実行させることを特徴とする情報処理プログラム。
【０１２６】
（付記７）コンピュータが、
測定装置によって測定された前記測定装置から前記物体までの距離に基づく３次元の計測点群情報を取得し、
取得した前記計測点群情報の中から、前記測定装置によって測定された基準面上に存在する第１計測点群情報と、前記基準面に対して特定の方向に存在する第２計測点群情報と、を抽出し、
抽出した前記第１計測点群情報に基づく第１モデルを示す第１モデル情報を取得し、
抽出した前記第２計測点群情報に基づく第２モデルを示す第２モデル情報を取得し、
取得した前記第１モデル情報と、取得した前記第２モデル情報と、に基づいて前記第１モデルと前記第２モデルとを含む第３モデルを示す第３モデル情報を生成する、
処理を実行することを特徴とする情報処理方法。
【０１２７】
（付記８）コンピュータが、
測定装置によって前記測定装置から前記物体までの距離に基づく３次元の計測点群情報を取得し、
取得した前記計測点群情報の中から、前記測定装置によって測定された基準面上に存在する第１計測点群情報を抽出し、
抽出した前記第１計測点群情報に基づいて、前記基準面のうち、前記第１計測点群情報によって特定される各計測点の密度が所定密度以下の欠落部分を特定し、
前記計測点群情報と、特定した前記欠落部分に対応する計測点群情報とを含む第３計測点群情報を生成し、
生成した前記第３計測点群情報に基づくモデルを示すモデル情報を取得する、
処理を実行することを特徴とする情報処理方法。
【０１２８】
（付記９）測定装置によって測定された前記測定装置から前記物体までの距離に基づく３次元の計測点群情報を取得し、
取得した前記計測点群情報の中から、前記測定装置によって測定された基準面上に存在する第１計測点群情報と、前記基準面に対して特定の方向に存在する第２計測点群情報と、を抽出し、
抽出した前記第１計測点群情報に基づく第１モデルを示す第１モデル情報を取得し、
抽出した前記第２計測点群情報に基づく第２モデルを示す第２モデル情報を取得し、
取得した前記第１モデル情報と、取得した前記第２モデル情報と、に基づいて前記第１モデルと前記第２モデルとを含む第３モデルを示す第３モデル情報を生成する、
制御部を有することを特徴とする情報処理装置。
【０１２９】
（付記１０）測定装置によって測定された前記測定装置から前記物体までの距離に基づく３次元の計測点群情報を取得し、
取得した前記計測点群情報の中から、前記測定装置によって測定された基準面上に存在する第１計測点群情報を抽出し、
抽出した前記第１計測点群情報に基づいて、前記基準面のうち、前記第１計測点群情報によって特定される各計測点の密度が所定密度以下の欠落部分を特定し、
前記計測点群情報と、特定した前記欠落部分に対応する計測点群情報とを含む第３計測点群情報を生成し、
生成した前記第３計測点群情報に基づくモデルを示すモデル情報を取得する、
制御部を有することを特徴とする情報処理装置。
【符号の説明】
【０１３０】
１００  情報処理装置
１０１  計測点群情報
１１１  第１モデル
１１２  第２モデル
１１３  第３モデル
１２１  第１モデル情報
１２２  第２モデル情報
１２３  第３モデル情報
３０１  駆動装置
３０２  測定装置
３０３  制御装置
５０１  取得部
５０２  制御部
５１０  記憶部
５１１  第１特定部
５１２  第２特定部
５１３  抽出部
５１４  第３特定部
５１５  付加部
５１６  第１取得部
５１７  第２取得部
５１８  生成部
５２１  第１計測点群情報
５２２  第２計測点群情報
６００  分布
【図１】
2018151835.tif 000003
【図２】
2018151835.tif 000004
【図３】
2018151835.tif 000005
【図４】
2018151835.tif 000006
【図５】
2018151835.tif 000007
【図６】
2018151835.tif 000008
【図７】
2018151835.tif 000009
【図８】
2018151835.tif 000010
【図９】
2018151835.tif 000011
【図１０】
2018151835.tif 000012
【図１１】
2018151835.tif 000013
【図１２】
2018151835.tif 000014
【図１３】
2018151835.tif 000015
【図１４】
2018151835.tif 000016
【図１５】
2018151835.tif 000017
【図１６】
2018151835.tif 000018