(57)【特許請求の範囲】
【請求項１】
環境内の３次元形状を計測した反射強度付き点群データと、マーカ付き３次元ＣＧモデル群を入力とし、
反射強度付き点群データから特定の反射強度を有する領域を抽出し、前記領域をマーカ領域として座標値と共に保存するマーカ位置出力部と、
任意のマーカに対して近傍にあるマーカを探索し、発見された前記マーカの座標値をマーカ配置として保存する近傍マーカ探索部と、
前記反射強度付き点群データから算出したマーカ配置と、入力したマーカ付き３次元ＣＧモデル群のマーカ配置との照合処理により、類似配置のマーカを持つ３次元ＣＧモデルを抽出するモデル候補抽出部と、
反射強度付き点群データから算出したマーカ配置に、前記抽出マーカ付き３次元ＣＧモデルのマーカをあわせることにより、３次元ＣＧモデル位置姿勢を仮決定するモデル初期位置算出部と、
反射強度付き点群データと前記算出モデル初期位置に設置した３次元ＣＧモデルとの照合処理を行うモデル照合部と、
前記照合処理の結果、最も照合誤差の少ない３次元ＣＧモデルを該当３次元ＣＧモデルとし、反射強度付き点群データ中の該当部分と、前記該当３次元ＣＧモデルとを入れ替えて、３次元環境モデルとして出力する点群−ＣＧ置換部と、
を備えることを特徴とした３次元環境モデル作成システム。
【請求項２】
前記マーカ付き３次元ＣＧモデルは、モデル姿勢の拘束条件に応じてマーカに属性を付加することを特徴とする、請求項１に記載の３次元環境モデル作成システム。
【請求項３】
前記マーカ付き３次元ＣＧモデルは、対象が固定物か移動物かに応じてマーカに異なる属性を付加することを特徴とする、請求項１に記載の３次元環境モデル作成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元ＣＧで室内環境を生成するシステムに関し、特に、点群データをＣＧモデルに置換するシステムに関する。
【背景技術】
【０００２】
現実世界にある建造物などの形状をデジタル化する方法の一つとして、レーザ距離センサなどを用いて対象物を詳細に計測し、点群により３次元状況を表現する方法がある。この現実をありのままに再現する技術に対しては、プラント、土木や重工、文化遺産保存や建造物の現状確認、ロボット移動のための環境認識、アミューズメントなど、幅広い分野でのニーズが考えられる。具体的な用途としては、例えば、プラント施設などでは、既存設備の損傷、劣化の状態を正確に計測して診断すること、設備補修もしくは改造のための現場の寸法を計測すること、などがある。さらに、本技術を、工場内レイアウトの変更や、新規機器導入時の設置場所の検討、工場内で動作するハンドロボットの稼動範囲の確認、移動ロボットの動作確認など、工場におけるシミュレーションの分野に展開することも考えられる。
【０００３】
しかし、点群により大型設備のモデルを作成する上での課題は数多い。点群のデータ量は膨大であるためＰＣで扱うのは困難であること、広大な場所を計測するため点群において発生するノイズは大きく異常値の量も多いこと、点群から直接生成されたメッシュモデルのデータ量が膨大であること、などの問題がある。現時点では、大型設備の点群計測データから少ない手間で効率的に３次元モデルを作成する手法は知られていない。
【０００４】
点群データに形状モデルを当てはめる手法としては、非特許文献１に記載されているものがある。プラントの配管のモデル化を対象とし、計測データからパイプ部分を手動で切り取ったり、異常値の含まれるパイプ部分の点群を試験的に作成することによって得たデータを基に、点群を自動的に円柱に当てはめるものである。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】宮川俊樹、角田将一、入谷太基、飯川義文、増田宏、田中一郎、「レーザスキャンデータに基づくプラントの形状モデリング」、精密工学会春季講演会、２００６年３月１日、Ａ６９
【発明の概要】
【発明が解決しようとする課題】
【０００６】
非特許文献１に記載の点群からのモデル化では、試験的に作成された点群は円柱を当てはめることを前提に作成されていること、及び、扱える曲線が円柱に限定されていることにより、予め円柱とわかっている部分を切り出した点群に円柱を当てはめることしかできない。ゆえに円柱以外の形状には対応不可である。
【０００７】
我々の生活する一般の環境の中には、円柱だけでなく、様々な形状のオブジェクトが存在する。しかも、どのような形状のものが、どのような位置姿勢で置いてあるかは未知である。また更に、点群にモデルを当てはめようにも、オブジェクト毎に点群を抽出する方法も確立していない。
【０００８】
点群で取得した室内環境のモデル化を行うためには、まず、オブジェクトのある場所を認識し、その後、その場所の点群に合致するモデルを選択し、そのモデルを的確な位置姿勢に変更する方法が考えられる。
【０００９】
本発明は上記を鑑みて為されたものであり、その目的は、点群による実測データにＣＧモデルを当てはめるにあたり、該当するモデルの選出および位置姿勢の算出を、簡易に、少ない誤差で行う３次元環境生成システムを提供することにある。
【課題を解決するための手段】
【００１０】
本発明の望ましい態様は、次のような３次元環境生成システムである。即ち、本発明に係る３次元環境生成システムは、環境内の３次元形状を計測した反射強度付き距離データとマーカ付きの３次元ＣＧモデル群とを入力とし、反射強度付き距離データから特定の反射強度を持つ領域を抽出しそれをマーカ領域として座標値と共に保存するマーカ位置出力部と、任意のマーカに対して近傍にあるマーカを探索し探索されたマーカの座標値をマーカ配置として保存する近傍マーカ探索部と、前記点群から算出したマーカ配置と、入力したマーカ付き３次元ＣＧモデル群のマーカ配置に対する照合処理によって類似配置のマーカを持つ３次元ＣＧモデルを抽出するモデル候補抽出部と、点群から算出したマーカ配置に前記抽出マーカ付き３次元ＣＧモデルのマーカをあわせることによって、３次元ＣＧモデル位置姿勢を仮決定するモデル初期位置算出部と、前記算出モデルの初期位置に設置した３次元ＣＧモデルを点群データと照合する処理を行うモデル照合部と、最も照合誤差の少ない３次元ＣＧモデルを目的の３次元ＣＧモデルとし、点群データ中の該当部分とその３次元ＣＧモデルを入れ替えて３次元環境モデルとして出力する点群-ＣＧ置換部と、を備える。
【発明の効果】
【００１１】
本発明によれば、少ない計算量で自動的に点群データを３次元ＣＧモデルに置き換えることができる。
【図面の簡単な説明】
【００１２】
【図１】３次元環境モデル作成の流れを示した機能ブロック図である。
【図２】３次元環境モデル作成のフロー図である。
【図３】モデル照合処理のフロー図である。
【図４】点群データの例を示した図である。
【図５】マーカ付き３次元ＣＧモデルの例を示した図である。
【図６】マーカ配置の照合処理により３次元ＣＧモデル候補を絞った図である。
【図７】点群と３次元ＣＧモデル照合処理のイメージ図である。
【図８】点群に最も合致する３次元ＣＧモデルを選出のイメージ図である。
【図９】点群に最も合致する３次元ＣＧモデルを選出のイメージ図である。
【図１０】点群に最も合致する３次元ＣＧモデルを選出のイメージ図である。
【発明を実施するための形態】
【００１３】
以下、実施形態について、図面を参照しながら説明する。
【００１４】
図１は、３次元環境モデル作成の流れを示した機能ブロック図である。３次元環境モデルとは、実空間、例えば我々の生活する室内空間の３次元形状をＣＧなどでモデル化したものである。
【００１５】
実空間にあるものと、レーザ距離センサやカメラなどのセンサで取得したデータとの関連付けを容易にするため、実空間内の適当な場所に目印となるマーカを貼り付ける方法がある。
マーカには、例えば、カメラで認識しやすいような、特定の色・形状・大きさの物体や、ＩＤリーダで認識しやすいような、特定の周波数に反応するＩＣタグを利用する。使用するセンサに応じて適したものを利用する。
ここでは、レーザ距離センサで認識しやすい、レーザ照射時に特別な値を返す素材のものをマーカとして利用する。これを、反射マーカとする。
距離センサを用いて、距離センサ位置と周辺障害物との距離・角度、及び、その計測先におけるレーザの反射強度を計測した、反射強度付き距離データ１００を入力する。特定の反射強度のデータを得るためには、レーザ照射時に特別な値を返すものを計測対象となる実空間のいずれかの場所に設置しておく必要がある。
【００１６】
同じ形状の対象物に対しては、同じ配置でマーカを貼付しておく。マーカ位置出力部２００では、反射強度付き距離データ１００より、反射強度の高い領域を抽出し、その領域の形状及びサイズが予め登録されたマーカ情報と合致していたら、その場所をマーカ貼付場所とする。そして、マーカ領域の中心に位置する点の座標値をマーカ座標値１０２として出力する。点群データ内に存在する、全ての反射強度の高い領域に対してマーカ座標値１０２の出力を行う。前記出力されたマーカ座標値１０２から、任意のマーカを選択し、その近傍にあるマーカを探索する。探索範囲は予め設定しておく。例えば、環境内のモデル化する対象物に設置するマーカの範囲を半径３０ｃｍ以内とルールを定めている場合、選択したマーカから半径３０ｃｍ以内にある他のマーカの座標値を抽出する。近傍で見つかったマーカの座標値を組み合わせ、マーカ配置１０３として出力する。
【００１７】
点群データのデータベースには、図１０の２００に示すように、点群データファイル名と、マーカ座標値、マーカ配置を格納する。マーカ座標値には、点群データ内にある全てのマーカの３次元座標値を、１、２、３、・・・と番号をつけたものを、格納する。マーカ配置には、上記３次元座標値の番号の組み合わせを、マーカ配置として格納する。
【００１８】
次に、点群データから抽出したマーカ配置１０３に合致する、３次元ＣＧモデルを決定する。事前にマーカ付き３次元ＣＧモデル１１０を準備しておく。マーカ付き３次元ＣＧモデルとは、３次元ＣＧモデルにマーカ情報を付加したデータである。図１０の３００に示すように、形状モデルファイル名、マーカに関する情報（個数、サイズ、配置）をデータベース上に格納しておく。
【００１９】
モデル候補抽出部２２０では、点群から抽出したマーカ配置１０３と、全てのマーカ付き３次元モデル１１０のマーカ配置との照合処理を行う。マーカ位置のずれの許容範囲を例えば５ｃｍとあらかじめ定め、その許容範囲内にマーカが配置されているものを類似の配置を持つマーカ付き３次元ＣＧモデルとして全て抽出し、マーカ付き３次元ＣＧモデル候補１１２として、データを確保する。
【００２０】
モデル初期位置算出部２３０では、点群データのマーカ配置１０３に、３次元ＣＧモデル１１２のマーカ配置をあわせることにより、点群と３次元ＣＧモデルの照合処理を行うための３次元ＣＧモデルのおおよその初期位置を算出し、モデル位置・角度１１３を出力する。モデル照合処理２４０では、点群データ１００と、３次元ＣＧモデル１１２の照合処理を行い、最も誤差が最小となる位置を計算し、モデル位置・角度１１３データを更新する。モデル照合時の誤差が閾値より低い場合は、そのモデルが点群と合致すると判断し、点群−ＣＧ置換部２５０において、点群データ内の該当部分をＣＧに置き換え、３次元環境モデル１２０を作成する。ここでいう３次元環境モデル１２０とは、点群データとＣＧモデルとが共存するデータの場合もあれば、全ての点群データがＣＧモデルに置き換えられ、全てのデータがＣＧのデータとなる場合もある。
【００２１】
図２は、本実施形態である３次元環境モデル作成の全体のフロー図である。
まず、ステップＳ１０００で、計測データを入力する。レーザ距離センサでは、例えば、周囲１８０度に1度ごとにレーザ光を照射し、レーザ光が障害物にあたり戻ってくるまでの時間によりその障害物との距離を計測し、センサからの角度θ、その角度における障害物との距離ｒを、距離データとして出力する。また、レーザ光が障害物に当たったときの反射強度Ｉも同時に出力する。計測データとは、前記レーザ距離センサで計測したセンサから周囲障害物までの距離データ、及び反射強度データであり、レーザ距離センサ位置（ｒｘ、ｒｙ、ｒｚ）と距離データ（θ、ｒ）より求めた、レーザ照射先の３次元座標値（ｘ、ｙ、ｚ）と、前記計測反射強度Ｉとを対にして保存する。レーザ照射先の３次元座標値を集めたものを、点群データとする。また、距離データは、計測地点の座標値とそこからの距離及び角度により、同一の座標系に統合され、各座標点は当該座標系の座標値を持つものとする。点群データの例を図４に示す。１００は点群データを示したものであり、１０１は高い反射強度を返す点群データを表したものである。
【００２２】
ステップＳ１０１０で、計測データの中で特定の反射強度を持つ領域を抽出する。マーカ部分を区別するために、物体には、レーザ照射時に高い反射強度値を返す高反射テープを予め決めた配置で貼り付けておく。そして、抽出した領域の面積を算出し、その面積がマーカサイズとほぼ同等、例えば１０％以内の誤差であった場合のみ、その場所をマーカが設定される場所とする。面積の算出方法の例として、ある任意の座標値から見た点群データを、反射強度の高い部分を白、そうでない部分を黒で表した２次元画像として出力し、白い部分の面積を求める方法が挙げられる。
【００２３】
ステップＳ１０２０では、マーカ領域の中心位置をマーカ設置位置とし、その座標値を出力する。点群データ内で検出される全てのマーカの座標値を出力し、図１０の２０２に示すように、マーカ番号と一緒に、データベースに格納する。
【００２４】
ステップＳ１０３０では、出力されたマーカ位置の近傍にある他のマーカを探索し、ステップＳ１０４０では、Ｓ１０２０で出力したマーカの番号と、Ｓ１０３０で探索した近傍マーカの番号とを、図５に示すように同一オブジェクトに対するマーカであると仮定し、図１０の２０３に示すように、マーカ番号をオブジェクトごとにまとめて格納する。
【００２５】
ステップＳ１０５０で、ＣＧモデル候補を選定する。点群とモデルをマッチングする際には、最初にマーカ配置によるマッチングを用いてモデルの候補を絞る。この理由は、すべてのモデルを当てはめて検証すると計算量が膨大になる、モデルのおおよその位置及び姿勢が不明であると探索範囲があまりに広くなる、等である。予め登録された３次元ＣＧモデルの例を図６に示す。事前に室内にあるオブジェクトの３次元ＣＧモデルをＤＢに登録する。図１０の２００に示すように、ＤＢには、各モデルに対して、形状モデルのファイル名１１０、マーカ個数、マーカサイズ、マーカ配置を示すマーカの各座標値１１１を登録する。
【００２６】
ステップ１０５０におけるモデル候補の選定では、図7に示すように、ステップＳ１０４０で出力されたマーカ配置（実測から導出）と、予め登録されたモデルのマーカ配置（ＣＧモデルと一緒に登録）とを比較し、予め定めたマーカ位置のずれの許容範囲、例えば５ｃｍ以内にマーカが配置されているＣＧモデルを抽出し、モデル候補とする。
【００２７】
モデル候補が見つかれば、該当モデルに番号１〜ｎを付ける。ステップＳ１０６０では、モデル候補の有無を判定し、モデル候補が見つからなければ終了とする。モデル候補が見つかった場合、ステップＳ１０７０でモデル候補と計測した点群データとの照合処理を実施し一致するモデルを探す。照合処理の流れは、図３にて詳述する。
【００２８】
ステップＳ１０８０では、点群データをＣＧモデルに置き換える。ステップＳ１０７０で決定したモデル［ｍ］を、ステップＳ１０７０で出力したモデル［ｍ］の位置姿勢に従い、点群データ内に設置する。次に、ＣＧモデル［ｍ］内にある点群、及び、ＣＧモデル［ｍ］周辺の点群（レーザ距離センサの計測誤差分の範囲）の点群を削除する。
【００２９】
この一連の流れを、点群データ内で検出される全てのマーカに対して実施することにより、点群データをＣＧモデルに置換していく。レイアウト変更等で室内にある物の配置が変更になっても、レーザ距離センサで、再度、室内を計測し距離データ、反射強度データを取得し、前記点群―ＣＧ置換処理を行うことにより、該当するモデルを変更された位置・方向においてＣＧモデルへと自動的に変換することができる。
【００３０】
図３は、モデル照合処理のフロー図であり、ステップＳ１０７０のモデル照合処理の流れを詳述するものである。
【００３１】
ステップＳ１０６０で、モデル候補１〜ｎが選出された。ここでは、モデル候補全てを順に点群に当てはめ、最も合致するものを、置換対象のＣＧモデルとして決定する。
【００３２】
まず、モデル番号ｍ＝１から照合処理を実施する。照合処理の前処理として、ＣＧモデルｍの初期位置・姿勢を設定する必要がある。そこで、ステップＳ１０７１で、図８に示すように、モデルのマーカ配置（ＣＧモデルと一緒に登録）が、点群のマーカ配置（実測から導出）と一致するように、ＣＧモデルの位置・姿勢を変更する。ステップＳ１０７２では、点群とＣＧモデルの照合処理を行う。照合処理には、例えば、点群の照合処理に一般的によく用いられるＩＣＰ（Ｉｎｔｅｒａｃｔｉｖｅ  Ｃｌｏｓｅｓｔ  Ｐｏｉｎｔ）アルゴリズム、点群とモデルの近傍点間距離（点とその点に最も近い場所にあるモデル表面上の座標値との距離を全ての点に対して計算）の最小二乗誤差の小さくなる位置姿勢を探索するアルゴリズムなどを用いる。このアルゴリズムを用いて的確な結果を得るためには、初期位置の設定が重要である。事前に位置姿勢の初期値を与えることにより、点群とＣＧモデルの照合処理を容易にし、精度を高めることができる。本発明では、マーカ配置を用いることで予め簡易的に位置合わせを行うため、おおよその初期位置設定を自動的に行うことができる。
【００３３】
ステップＳ１０７３では、上記算出誤差が予め定めた閾値を超えているか否か判断し、閾値を超えている場合は、そのモデルは点群と一致するモデルではないと判断し、ステップＳ１０７５に進む。閾値を超えていない場合は、そのモデルを点群と置換できる可能性が高いと判断し、モデル［ｍ］を候補として保持する。またさらに、照合処理で最も誤差の小さくなる場所を、モデル［ｍ］の位置・姿勢として保存する。
【００３４】
ステップ１０７５では、全ての候補モデルを照合したかどうか判断する。すなわち、今照合処理を行ったモデル番号ｍが候補モデル総数ｎより小さいか否かを判断し、まだ照合処理をしていないモデルがあれば、モデル番号に１を加えてステップＳ１０７１に戻る。全てのモデルの照合がしたら、モデル候補が残っているか否かをステップＳ１０７６で判断し、残っていると判断された場合には、ステップＳ１０７７にて、図９に示すように、この段階で残存するモデル候補を照合してそれらの誤差を比較し、最も誤差が小さいものを点群と置換すべきモデルと決定し、そのモデルの番号ｍと、モデル［ｍ］の位置姿勢を返す。ステップＳ１０７６で、モデル候補が全くなかった場合は、該当モデルなしとして処理を終了する。
【００３５】
環境内にある全てのマーカに関して上記処理を実施し、置換可能な点群を全て３次元ＣＧモデルに置き換えられると、照合処理が終了する。
【００３６】
このように、マーカ配置の照合処理を事前に行うことにより、簡易にＣＧモデルの候補を絞ることができる。さらに、マーカ配置を基に照合処理前の初期位置を与えることにより、点群とモデルを照合処理したときの誤差を低減させることができる。
【００３７】
ＣＧモデル候補を選定するときの探索範囲を限定するため、マーカ付き３次元ＣＧモデルに対して、拘束条件を表す属性を設定してもよい。例えば、棚や机など、倒れた状態で設置される可能性の低いものに対しては、類似マーカ配置を探索する際に、Ｘ軸周りやＹ軸周りの回転の可能性を考慮する必要はないため、ＸＹ軸固定を示す属性を設定する。また、底面が床に接してしていることを前提とするような拘束条件の与え方もある。例えば、Ｚ座標値固定の有無を示す属性を設定する。
【００３８】
また別の属性の可能性としては、移動可能性の有無を示すものも考えられる。例えば、オフィス内の３次元環境を生成することを想定すると、椅子は日々移動する可能性が高いが、ロッカーが移動する可能性は低いと考えられる。そこで、一旦３次元環境モデルを生成し、その後データの更新のみを行う場合には、移動可能性有のモデルのみを更新の対象とすればよく、探索範囲を限定することができる。
【符号の説明】
【００３９】
１００・・・点群、１０１・・・高反射強度点群、１１０・・・３次元CGモデル、１１１・・・マーカ、２００・・・点群データベース、３００・・・マーカ付き３次元ＣＧモデルのデータベース
【図１】
0005470190.tif 000002
【図２】
0005470190.tif 000003
【図３】
0005470190.tif 000004
【図４】
0005470190.tif 000005
【図５】
0005470190.tif 000006
【図６】
0005470190.tif 000007
【図７】
0005470190.tif 000008
【図８】
0005470190.tif 000009
【図９】
0005470190.tif 000010
【図１０】
0005470190.tif 000011