(57)【要約】【課題】表示画面上に表示された複数の点群データの位置合わせを行う作業の効率を改善する。【解決手段】表示画面上に、位置合わせ用の複数のマーカを含む第１の点群および位置合わせ用の複数のマーカを含む第２の点群が表示された状態において、一方の点群における前記マーカ１１が指定された際に、対応する他方の点群のマーカ２１を強調表示する強調表示制御部を備える点群データ処理装置。【選択図】図２
2018147065.tif 000002
【特許請求の範囲】
【請求項１】
表示画面上に、位置合わせ用の複数のマーカを含む第１の点群および位置合わせ用の複数のマーカを含む第２の点群が表示された状態において、
一方の点群における前記マーカが指定された際に、対応する他方の点群のマーカを強調表示する強調表示制御部を備える点群データ処理装置。
【請求項２】
前記一方の点群において指定された第１のマーカと、該第１のマーカに対応する他方の点群における第２のマーカとの前記表示画面上における距離が規定の値以下となった場合に、前記表示画面上おいて前記第１のマーカと前記第２のマーカとを一致させる処理を実行する一致処理部を備える請求項１に記載の点群データ処理装置。
【請求項３】
前記第１の点群と前記第２の点群における共通の点が画面上で一致した段階で、前記共通な点を中心とした前記第１の点群または前記第２の点群の回転を前記表示画面上で制御する回転表示制御部を備える請求項１または２に記載の点群データ処理装置。
【請求項４】
一方の点群における前記マーカを指定した際に、対応する他方の点群のマーカを算出する対応マーカ算出部を備え、
前記対応マーカ算出部は、当該点群における指定したマーカと他のマーカの相対位置関係に基づき、前記対応する他方の点群のマーカの特定を行う請求項１〜３のいずれか一項に記載の点群データ処理装置。
【請求項５】
前記相対位置関係は、前記指定した前記マーカと他のマーカを頂点とした図形により特定される請求項４に記載の点群データ処理装置。
【請求項６】
前記相対位置関係は、前記指定した前記マーカと他のマーカとの間の距離および/または方向によって規定される請求項４または５に記載の点群データ処理装置。
【請求項７】
前記点群表示制御部は、前記第１の点群と前記第２の点群とを位置をずらして表示する請求項１〜６のいずれか一項に記載の点群データ処理装置。
【請求項８】
表示画面上に、位置合わせ用の複数のマーカを含む第１の点群および位置合わせ用の複数のマーカを含む第２の点群が表示された状態において、
一方の点群における前記マーカが指定された際に、対応する他方の点群のマーカを強調表示する点群データ処理方法。
【請求項９】
コンピュータに読み取らせて実行させるプログラムであって、
コンピュータを
表示画面上に、位置合わせ用の複数のマーカを含む第１の点群および位置合わせ用の複数のマーカを含む第２の点群が表示された状態において、
一方の点群における前記マーカが指定された際に、対応する他方の点群のマーカを強調表示する強調表示制御部として動作させる点群データ処理用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、点群データの処理技術に関する。
【背景技術】
【０００２】
レーザスキャナやステレオ写真計測によって得られる点群データが知られている（例えば特許文献１や２を参照）。点群データは、対象物を点の集合として捉えたもので、各点の三次元座標を取得したデータである。点群データは、三次元レーザスキャナによる測定やステレオ写真画像から特徴点を抽出し、各特徴点の三次元座標をステレオ写真測量の原理で算出することで得られる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開番号ＷＯ２０１１/０７０９２７号公報
【特許文献２】特開２０１２−２３０５９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
点群データをＰＣ等の表示画面上に３Ｄ表示させると、対象物の点群（点の集合）によって測定対象物の三次元形状が表示される。点群データの主な活用方法として、点群データから三次元モデルを得る技術がある。三次元モデルは、対象物の輪郭線データを画面表示することができ、ＣＡＤソフト上で扱う三次元データと親和性が高い。
【０００５】
点群データは、視点から影となる部分は得られない。これをオクルージョンという。よって、オクルージョンのない三次元モデルを作成する場合、複数の視点から点群を得、それを合成する。この際、異なる視点から得た点群同士をマッチングさせる作業が必要となる。
【０００６】
この作業では、作業者がＰＣ（パーソナルコンピュータ）等を操作して、２つの点群の間における複数の点の対応関係を指定する。具体的には、第１の点群における特定の点と、それに対応する第２の点群における特定の点とが作業者のマニュアル操作によって指定され、更にこの作業が複数の点において行われる。
【０００７】
この作業の際、点群の平行移動と回転を行う操作が行われるが、この際の作業性が作業効率に大きく影響する。本発明は、表示画面上に表示された複数の点群データの位置合わせを行う作業の効率を改善することを目的とする。
【課題を解決するための手段】
【０００８】
請求項１に記載の発明は、表示画面上に、位置合わせ用の複数のマーカを含む第１の点群および位置合わせ用の複数のマーカを含む第２の点群が表示された状態において、一方の点群における前記マーカが指定された際に、対応する他方の点群のマーカを強調表示する強調表示制御部を備える点群データ処理装置である。
【０００９】
請求項２に記載の発明は、請求項１に記載の発明において、前記一方の点群において指定された第１のマーカと、該第１のマーカに対応する他方の点群における第２のマーカとの前記表示画面上における距離が規定の値以下となった場合に、前記表示画面上おいて前記第１のマーカと前記第２のマーカとを一致させる処理を実行する一致処理部を備えることを特徴とする。
【００１０】
請求項３に記載の発明は、請求項１または２に記載の発明において、前記第１の点群と前記第２の点群における共通の点が画面上で一致した段階で、前記共通な点を中心とした前記第１の点群または前記第２の点群の回転を前記表示画面上で制御する回転表示制御部を備えることを特徴とする。
【００１１】
請求項４に記載の発明は、請求項１〜３のいずれか一項に記載の発明において、一方の点群における前記マーカを指定した際に、対応する他方の点群のマーカを算出する対応マーカ算出部を備え、前記対応マーカ算出部は、当該点群における指定したマーカと他のマーカの相対位置関係に基づき、前記対応する他方の点群のマーカの特定を行うことを特徴とする。
【００１２】
請求項５に記載の発明は、請求項４に記載の発明において、前記相対位置関係は、前記指定した前記マーカと他のマーカを頂点とした図形により特定されることを特徴とする。請求項６に記載の発明は請求項４または５に記載の発明において、前記相対位置関係は、前記指定した前記マーカと他のマーカとの間の距離および/または方向によって規定されることを特徴とする。
【００１３】
請求項７に記載の発明は、請求項１〜６のいずれか一項に記載の発明において、前記点群表示制御部は、前記第１の点群と前記第２の点群とを位置をずらして表示することを特徴とする。
【００１４】
請求項８に記載の発明は、表示画面上に、位置合わせ用の複数のマーカを含む第１の点群および位置合わせ用の複数のマーカを含む第２の点群が表示された状態において、一方の点群における前記マーカが指定された際に、対応する他方の点群のマーカを強調表示する点群データ処理方法である。
【００１５】
請求項９に記載の発明は、コンピュータに読み取らせて実行させるプログラムであって、コンピュータを表示画面上に、位置合わせ用の複数のマーカを含む第１の点群および位置合わせ用の複数のマーカを含む第２の点群が表示された状態において、一方の点群における前記マーカが指定された際に、対応する他方の点群のマーカを強調表示する強調表示制御部として動作させる点群データ処理用プログラムである。
【発明の効果】
【００１６】
本発明によれば、ディスプレイに表示された複数の点群データの位置合わせを行う作業の効率が改善される。
【図面の簡単な説明】
【００１７】
【図１】実施形態の原理図である。
【図２】実施形態の原理図である。
【図３】実施形態の原理図である。
【図４】実施形態の原理図である。
【図５】実施形態の原理図である。
【図６】実施形態の原理図である。
【図７】実施形態のブロック図である。
【図８】実施形態の処理の手順の一例を示すフローチャートである。
【図９】実施形態の処理の手順の一例を示すフローチャートである。
【図１０】表示画面の一例を示す図面代用写真である。
【図１１】表示画面の一例を示す図面代用写真である。
【図１２】表示画面の一例を示す図面代用写真である。
【図１３】表示画面の一例を示す図面代用写真である。
【図１４】表示画面の一例を示す図面代用写真である。
【図１５】表示画面の一例を示す図面代用写真である。
【図１６】表示画面の一例を示す図面代用写真である。
【発明を実施するための形態】
【００１８】
（概要）
図１には、ＰＣ（パーソナルコンピュータ）等のディスプレイ装置（例えば、液晶ディスプレイ）上に異なる視点から取得した２つの点群が表示された状態が示されている。図１に示す２つの点群は、測定対象の範囲が重なるように異なる２つの視点からレーザスキャンを行うことで得ている。
【００１９】
図１に示す２つの点群は、鉛直上方から見た状態のものが示されている。また、図１には、２つの点群をずらして表示させ、２つの点群の関係が把握し易いようにしている。なお、実際の表示では、第１の点群と第２の点群で点の色を変え、識別がし易いようにしている。また図１には、表示スケールを合わせた状態で第１の点群と第２の点群を表示した状態が示されている。
【００２０】
図１における◎の点は、専用のターゲットを用いた反射点である。以下、◎の反射点をマーカと称する。３つのマーカは、２つの点群で共通であり、このマーカを利用して第１の点群と第２の点群との位置合わせが行われる。なお、この例では、マーカが３点用意されているが、さらに多くのマーカを用いてもよい。
【００２１】
以下、使用するＰＣのディスプレイ上において、図１に示す画面表示された２つの点群のマッチング（位置合わせ）を行う手順の一例を説明する。なお、以下の処理を行うハードウェアについては後述する。まず、図１に示すように、画面上に鉛直上方から見た視点で描写した第１の点群と第２の点群を極力重ならないように離して表示する。
【００２２】
ここで、ユーザは、使用するＰＣを操作し、一方の点群（この場合は、第２の点群）における３つあるマーカの中の一つを指定する。マーカが指定されたら、その点を視認し易いように当該マーカを強調表示する。この例では、ユーザによってマーカ１１（図２参照）が指定され、その◎表示の中心を黒点とする強調表示が行われた例が示されている。
【００２３】
次に、指定されたマーカ１１の識別情報が取得される。マーカ１１の識別情報を得たら、第１の点群における対応するマーカ２１を特定する（図２参照）。それぞれのマーカは、予め設置位置がトータルステーション等を用いて特定されており、番号等の識別データと関連付けされている。当然、第１の点群のマーカも第２の点群と同じものであるので、第２の点群におけるマーカ１１が特定されれば、対応する第１の点群におけるマーカ２１も特定できる。
【００２４】
なお、視点の違いに起因して、一方のレーザスキャナから見えて、他方のレーザスキャナから見えないマーカが存在する場合も有り得る。この場合、第１の点群と第２の点群とで全てのマーカが対応しない。図１の例では、第１の点群と第２の点群において、同じマーカが検出された場合が示されている。
【００２５】
なお、予め決めておいた識別データが取得できない場合も有り得る。例えば、取得された点群データにおいて、マーカは専用のターゲットとして他の点とは識別できているが、その位置情報や識別情報が判らない場合がある。また例えば、工事現場でレーザスキャナを用いた点群データの取得が行われ、このデータの処理が後日遠隔地の事務所等でレーザスキャナのオペレータと違うオペレータにより行われる場合等に上記の状況となることがある。
【００２６】
このような場合は、着目したマーカの識別情報として、他のマーカとの相対位値関係を利用する。例えば、図１のようにマーカが３つあったとする。この場合、３つのマーカを頂点とする三角形を作成する。通常この三角形は、正三角形や２等辺三角形でなく歪な対称性のない形状となる。こうして、第１の点群で３つのマーカを頂点とする第１の三角形を形成し、第２の点群で３つのマーカを頂点とする第２の三角形を形成する。
【００２７】
図１の場合、３つのマーカは共通である。よって、第１の三角形と第２の三角形は一致し、各頂点の対応関係は特定できる。したがって、図２に示すように、第２の点群で指定されたマーカ１１に対応する第１の点群におけるマーカ２１を特定できる。
【００２８】
マーカの数が４以上の場合は、各マーカを頂点とする多角形をそれぞれの点群で作成し、この多角形同士を比較して、各頂点の対応関係を特定することで、一方の点群で指定されたマーカに対応する他方の点群のマーカを特定する。また、点群の各点は、三次元空間上に分布しているので、４以上のマーカの位置を頂点とする多面体を第１の点群と第２の点群とにおいて作成し、２つの点群において、この多面体の対応関係を調べることで、一方の点群で指定されたマーカに対応する他方の点群のマーカを特定することもできる。
【００２９】
また、２つの点群で対応しないマーカが存在する場合は、点群に含まれる一部のマーカを用いて多角形または多面体を形成し、２つの点群で形状が一致する多角形または多面体の探索を行う。そして、一致する多角形または多面体の探索ができた段階で、対応する他方の点群におけるマーカを特定する。
【００３０】
こうして、図２に示すように第２の点群で指定されたマーカ１１に対応する第１の点群のマーカ２１を特定する。図２には、対応する第１の点群のマーカ２１も指定した第２の点群のマーカ１１と同様に強調表示とした場合が示されている。なお、マーカ２１の強調表示は、マーカ１１とマーカ２１との距離が規定の距離以下となった段階で行ってもよい。
【００３１】
図２の状態を得たら、ユーザはＰＣのＧＵＩ(Graphical User Interface)を用いて第２の点群を第１の点群の方向に移動させ、両者を画面上で近接させる（図３参照）。この際、対応する２つのマーカ（ユーザに指定された第２の点群のマーカ１１と、それに対応する第１の点群のマーカ２１）の画面上における距離が予め定めた値以下になった段階で、２つのマーカを画面上で強制的に一致させる。この状態が図４に示されている。
【００３２】
この処理は、一方のマーカを他方のマーカに強制的に引き込むことで両者を画面上で一致させる方法、あるいは両方のマーカを互いに引き寄せることで両者を画面上で一致させる方法で行われる。
【００３３】
図４の符号３０は、マーカ１１と２１を一致させることで得た第１の点群と第２の点群で重畳された重畳マーカである。この状態で、重畳マーカ３０を中心として、少なくとも一方の点群を回転させることが可能な状態に移る。この回転の操作は、ユーザにより行われる。
【００３４】
以下、図５を参照して上記の回転の操作について説明する。この操作では、第２の点群におけるマーカの中から、第２のマーカであるマーカ１２がユーザにより選択される（例えば、マウスの左クリックで指定）。指定されたマーカ１２は、図５に示すように強調表示される。そして、ユーザが使用しているＰＣのＧＵＩを用いてマーカ１２を動かすと、重畳マーカ３０を中心に第２の点群全体が表示画面に垂直な方向（点群の鉛直方向）を軸として回転する。図５には、時計回りに第２の点群が回転する様子が示されている。
【００３５】
この際、マーカ１２に対応する第１の点群におけるマーカ２２が特定され、その表示が強調表示とされる。対応関係の特定に係る処理は、マーカ１１と１２の対応関係を特定した場合と同じである。
【００３６】
図５に示すように、重畳マーカ３０を中心に第２の点群を時計回り方向で回転させると、マーカ１２と２２が次第に近づく。そして、マーカ１２と２２の画面上における距離が、予め定めた値以下となった段階で、マーカ１２をマーカ２２に画面上で一致させる処理が行われる。この処理では、マーカ１２と２２が画面上で一致するように、第２の点群を強制的に回転させる処理が行われる。
【００３７】
上記の処理により、マーカ１１と２１が重なった状態で、更にマーカ１２と２２が重なり、図６の状態が得られる。マーカ１２と２２が一致することで、重畳マーカ４０が得られる。重畳マーカ３０と４０で示されるように、２組のマーカ（マーカ１１と２１の組、マーカ１２と２２の組）を画面上でそれぞれ一致させることで、第１の点群と第２の点群とが一致する。
【００３８】
なお、第１の点群と第２の点群において、マーカ以外の点は、必ずしも一致しない。また、第１の点群を取得する視点から見えて、第２の点群を取得する視点から見えない点およびその逆の場合の点もあるので、図８に示すように、両者で対応しない点群の領域も存在する。
【００３９】
（優位性）
以上のようにして、図１の第１の点群と第２の点群とを画面上で位置合わせし、合成する処理が行われる。この際、マーカ１１，２１の強調表示、マーカ１１と１２の自動引き込み処理（強制一致処理）、重畳マーカ３０を中心とした回転が許容される処理、この回転を行う段階におけるマーカ１２と２２の自動引き込み処理（強制一致処理）により、簡便な操作により、２つの点群の位置合わせを行うことができる。
【００４０】
また、第１の点群と第２の点群におけるマーカの予め定めた識別情報が利用できない場合に、マーカを頂点とした多角形または多面体を作成し、２つの点群におけるこの多角形または多面体の対応関係を探索することで、２つの点群で対応するマーカの対応関係を特定することができる。
【００４１】
（ハードウェアの構成）
図７に点群データ処理装置１００が示されている。点群データ処理装置１００は、図１〜図６に係る処理を行うための装置である。点群データ処理装置１００は、市販のＰＣ（パーソナルコンピュータ）を利用して構成されている。点群データ処理装置１００は、図示する機能を実現するアプリケーションソフトウェアをＰＣにインストールし、当該アプリケーションソフトウェアを起動することで実現される。
【００４２】
ＰＣを利用した場合、図７に図示する各機能部は、ソフトウェア的に構成される。なお、図７に示す各機能部の一部または全部を専用の演算回路によって構成してもよい。また、ソフトウェア的に構成された機能部と、専用の演算回路によって構成された機能部が混在していてもよい。例えば、図示する各機能部は、ＣＰＵ（Central Processing Unit）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）に代表されるＰＬＤ（Programmable Logic Device）などの電子回路により構成される。
【００４３】
各機能部を専用のハードウェアで構成するのか、ＣＰＵにおけるプログラムの実行によりソフトウェア的に構成するのかは、要求される演算速度、コスト、消費電力等を勘案して決定される。機能部を専用のハードウェアで構成することとソフトウェア的に構成することは、上述した違いはあるが、特定の機能を実現するという観点からは、等価である。
【００４４】
図７に示す点群データ処理装置１００は、点群データ受付部１０１、指定マーカ受付部１１０、点群表示制御部１２０、対応マーカ取得部１３０、対応マーカ算出部１４０、引き込み処理条件判定部１５０、画像表示部１６０、処理制御部１７０、記憶部１８０を備えている。また、点群表示制御部１２０は、離間表示制御部１２１、強調表示制御部１２２、引き込み処理部１２３および回転表示制御部１２４を含んでいる。
【００４５】
点群データ受付部１０１は、レーザスキャナで取得した点群データを受け付ける。レーザスキャナについては、特開２０１０−１５１６８２号公報、特開２００８−２６８００４号公報、米国特許８７６７１９０号公報、米国特許７９６９５５８号公報等に記載されている。点群データは、ステレオ写真画像に基づき作成したものを用いることもできる。この技術については、例えば特開２０１３―１８６８１６号公報や特開２０１３−１７８６５６号公報等に記載されている。指定マーカ受付部１１０は、ユーザにより指定されたマーカの情報を受け付ける。例えば、使用するＰＣのＧＵＩを用いて、ユーザにより図２のマーカ１１が指定された場合、その旨の情報が指定マーカ受付部１１０で受け付けられる。
【００４６】
点群表示制御部１２０は、画面表示部（液晶ディスプレイ等）１６０に表示された点群の表示制御を行う。例えば、図１〜６に示す点群表示画面の制御が点群表示制御部１２０において行われる。点群表示制御部１２０は、離間表示制御部１２１、強調表示制御部１２２、引き込み処理部１２３、回転表示制御部１２４を備える。
【００４７】
離間表示制御部１２１は、図１に示す様に２つの点群を表示画面上で離間させる表示を行う。なるべく２つの点群の表示が重ならないようにすることで、図２〜図６に示す処理係るユーザ側の操作が行い易くなる。強調表示制御部１２２は、ユーザにより指定されたマーカの表示を強調表示する処理を行う。強調表示としては、図２に示すような黒点とする方法、点滅表示とする方法、表示されるマーカの形状を他のマーカと異なる形状とする（例えば、四角表示を三角表示に変更する）方法等が挙げられる。
【００４８】
引き込み処理部１２３は、ユーザが指定した一方の点群のマーカと、このマーカに対応する他方の点群のマーカとが、画面上で近づいた際に、その距離が予め定めた値以下となった段階で、両者を強制的に一致させる処理を行う。
【００４９】
例えば、図３の場合、ユーザの操作により、第２の点群を第１の点群に画面上で近づけていった場合に、マーカ１１とマーカ２１との距離が閾値以下となった段階で、マーカ１１とマーカ２１とが画面上で一致するように、第２の点群を画面上で強制的に移動させる処理が引き込み処理部１２３において行われる。
【００５０】
また、例えば図５に示すように、ユーザにより、重畳マーカ３０を中心に第２の点群を回転させる操作が行われた際に、マーカ１２とマーカ２１の画面上での距離が閾値以下となった段階で、マーカ１２とマーカ２１とが画面上で重なるように第２の点群を強制的に回転させる処理が引き込み処理部１２３において行われる。
【００５１】
回転表示制御部１２４は、図４になった段階で第２の点群の表示を、鉛直方向を回転軸として回転させる操作が表示画面上で行えるようにする制御を行う。すなわち、図５に示すように、マーカ１２を指定し、それを画面上で動かす操作を行うと、重畳マーカ３０を中心に第２の点群が画面上で回転する表示が行われる制御が回転表示制御部１２４で行われる。
【００５２】
対応マーカ取得部１３０は、一方の点群で指定したマーカに対応する他方の点群のマーカを取得する。対応するマーカの取得には、２つの形態がある。第１の形態は、各マーカに関連付けされた番号等の識別情報をデータベース上から取得し、それを利用して他方の点群の中から対応するマーカを取得する形態である。この場合、各マーカの識別情報は、予め取得され、マーカ毎に関連付けされ、データベース化されている。
【００５３】
第２の形態は、マーカの識別情報が用意されていない場合である。この場合、前述した各マーカを頂点とした多角形または多面体を各点群において作成し、その相似性（対応関係）を利用して、一方の点群で指定されたマーカに対応する他方の点群のマーカを特定する。
【００５４】
対応マーカ算出部１４０は、一方の点群でマーカが指定され場合に、当該点群における着目しているマーカと他のマーカとの相対関係を利用して、他方の点群で対応するマーカを特定する処理を行う。この例では、各マーカを頂点とした多角形または多面体を各点群において作成し、その相似性（対応関係）を利用して、一方の点群で指定されたマーカに対応する他方の点群のマーカを特定する処理を行う。
【００５５】
引き込み処理条件判定部１５０は、上述した画面上でマーカ同士を強制的に一致させるための条件の判定を行う。画像表示部１６０は、点群データ処理装置１００として使用するＰＣが備える（あるいは当該ＰＣに接続された）液晶ディスプレイである。処理制御部１７０は、後述する図７および図８の処理を管理実行する。記憶部１８０は、点群データ処理装置１００で用いる各種データ、動作プログラム、処理の結果得られる各種のデータを記憶する。記憶部１８０としては、使用するＰＣのメモリ領域やハードディスク装置が利用される。
【００５６】
（処理の一例）
図８および図９は、図７の点群データ処理装置１００で行われる処理の手順の一例を示すフローチャートである。図８および図９に示す処理を実行するためのプログラムは、記憶部１８０に記憶されている。このプログラムは、適当な識別媒体やサーバに記憶され、そこから提供される形態であってもよい。
【００５７】
処理が開始されると、まず図１に示す様に２つの点群（第１の点群と第２の点群）とを画面上で離して表示させる処理が行われる（ステップＳ１０１）。この処理は、離間表示制御部１２１で行われる。次に、ユーザにより一方の点群のマーカが指定されると、ステップＳ１０２からステップＳ１０３に進み、指定されたマーカの強調表示（例えば、図２のマーカ１１の表示）が行われる。マーカの指定は、指定マーカ受付部１１０で受け付けられ、強調表示の処理は、強調表示制御部１２２で行われる。
【００５８】
次に、指定されたマーカに対応する他方の点群のマーカを取得する（ステップＳ１０４）。例えば、ユーザにより指定された第１の点群のマーカ１１に対応する第２の点群のマーカ２１が、予め指定された識別情報を利用して取得される（図２参照）。この処理は、対応マーカ取得部１３０で行われる。例えば、図２のマーカ１１が指定された場合に、マーカ２１が対応するマーカとして取得される。
【００５９】
ここで、予め用意した識別情報を利用できない場合、各点群内においてマーカを頂点とした多角形または多面体を形成し、この多角形または多面体の対応関係を用いたマーカの特定が対応マーカ算出部１４０で行われる。そして、対応マーカ算出部１４０における演算で特定された他方の点群のマーカが、指定されたマーカに対応する他方の点群のマーカとして対応マーカ取得部１３０で取得される。
【００６０】
対応するマーカ（例えば、マーカ２１）が取得できたら、その表示を強調表示とする（ステップＳ１０５）。この処理は、強調表示制御部１２２で行われる。次に、ユーザに操作されて（図３参照）、一方の点群が他方の点群に近づき、２つの点群で対応するマーカ（例えば、マーカ１１と２１）が特定の距離まで近づいたか否か、が判定される（ステップＳ１０６）。この処理は、引き込み処理条件判定部１５０で行われる。
【００６１】
対応する２つのマーカの距離が規定値以下である場合、この２つのマーカを画面上で強制的に重ねるために一方のマーカを他方のマーカに引き込む引き込み処理を行う（ステップＳ１０７）。例えば、図３におけるマーカ１１をマーカ２１に引き寄せ、両者を一致させる処理が行われる。ステップＳ１０７の処理は、引き込み処理部１２３で行われる。ステップＳ１０７の結果、例えば図５の状態が得られる。図５には、マーカ１１とマーカ２１を一致させ、重畳マーカ３０が得られた状態が示されている。
【００６２】
次に、ステップＳ１０８に進み、２つ目のマーカ（例えば、図５のマーカ１２）がユーザにより指定されると、指定されたマーカが強調表示される（ステップＳ１０９）。この処理は、強調表示制御部１２２で行われる。
【００６３】
次に、ステップＳ１０９で強調表示したマーカに対応する他方の点群のマーカ（例えば、マーカ２１に対応するマーカ２２）を取得する（ステップＳ１１０）。この処理は、対応マーカ取得部１３０で行われる。この際、必要に応じて対応マーカ算出部１４０による対応マーカの特定が行われる。
【００６４】
対応するマーカ（例えば、マーカ２１に対応するマーカ２２）を得たら、その強調表示を行う（ステップＳ１１１）。そして、既にステップＳ１０７で重畳させたマーカ（例えば、マーカ１１と２１を重ねた重畳マーカ３０）を回転中心とした回転操作が可能な状態に移行する（ステップＳ１１２）。この処理は、回転表示制御部１２４で行われる。
【００６５】
そして、図５に示すようなユーザの操作による一方の点群の回転が行われた結果、ここで対象となる２つのマーカ（例えば、図５のマーカ１２と２２）の画面上における距離が予め定めた規定値以下であるか否か、が判定され（ステップＳ１１３）、当該距離が規定値以下であれば、２つのマーカの表示位置を強制的に一致させる引き込み処理を行い（ステップＳ１１４）、処理を終了する。ステップＳ１１３の判定は、引き込み処理条件判定部１５０で行われ、引き込み処理は引き込み処理部１２３で行われる。
【００６６】
（その他）
点群データを取得した後に、マーカを点群データに付与する形態も可能である。この場合、建物のエッジ部分等の特徴点として識別し易い点に後処理でマーカを付与する。
【００６７】
本明細書で開示する発明では、一方の点群でマーカが指定され場合に、識別情報を利用しないで他方の点群で対応するマーカを特定する方法として、当該点群における着目しているマーカと他のマーカとの相対位置関係を利用している。この相対位置関係を利用する形態としては、実施形態で述べたマーカを頂点とする図形を用いる方法の他に、着目しているマーカと他のマーカとの間の距離を用いる第１の方法、当該マーカと他のマーカを結ぶ複数の直線がなす角度を用いる第２の方法がある。
【００６８】
例えば、第１の方法の場合を説明する。まず、図１のような視点が異なり、同じ対象をから得た２つの点群があるとする。ここで両方の点群には、共通のマーカＭ１、Ｍ２，Ｍ３があるとする。この場合、マーカＭ１とＭ２との間の距離ＬM1-M2、マーカＭ２とＭ３との間の距離ＬM2-M3、マーカＭ１とＭ３との間の距離ＬM1-M３を考える。この場合、マーカＭ１の他のマーカに対する相対関係は、ＬM1-M2＋ＬM1-M３で定義される。同様に、マーカＭ２の他のマーカに対する相対関係は、ＬM1-M2＋ＬM2-M3で定義される。同様に、マーカＭ３の他のマーカに対する相対関係は、ＬM1-M3＋ＬM2-M3で定義される。
【００６９】
通常、マーカＭ１，Ｍ２，Ｍ３を頂点とする三角形は、正三角形または２等辺三角形ではないので、ＬM1-M2＋ＬM1-M３，ＬM1-M2＋ＬM2-M3，ＬM1-M3＋ＬM2-M3の値は同じではない。よって、ＬM1-M2＋ＬM1-M３によって、マーカＭ１が特徴づけられる（他のマーカから識別される）。また、ＬM1-M2＋ＬM2-M3によってマーカＭ２が特徴づけられる（他のマーカから識別される）。また、ＬM1-M3＋ＬM2-M3によってマーカＭ３が特徴づけられる（他のマーカから識別される）。
【００７０】
よって、両方の点群において、ＬM1-M2＋ＬM1-M３で特徴付けられるマーカを抽出することで、一方の点群におけるマーカＭ１と他方の点群におけるマーカＭ１を対応付けることができる。また、ＬM1-M2＋ＬM2-M3で特徴付けられるマーカを抽出することで、一方の点群におけるマーカＭ２と他方の点群におけるマーカＭ２を対応付けることができる。また、ＬM1-M3＋ＬM2-M3で特徴付けられるマーカを抽出することで、一方の点群におけるマーカＭ３と他方の点群におけるマーカＭ３を対応付けることができる。
【００７１】
また、第１の方法と第２の方法を組み合わせて、点群におけるマーカを特徴付けることもできる。この場合、例えば上記の例において、マーカＭ１とマーカＭ２を結ぶ線分を線分ＬM1-M2とし、マーカＭ１とマーカＭ３を結ぶ線分を線分ＬM1-M3とする。そして、マーカＭ１を特徴付けるパラメータとして、ＬM1-M2＋ＬM1-M３と、線分ＬM1-M2と線分ＬM1-M３のなす角度Δθを採用する。ＬM1-M2＋ＬM1-M３とΔθの組み合わせは、マーカＭ１に固有なものであるので、同様な組み合わせを有するマーカを他方の点群から探索することで、一方の点群におけるマーカＭ１と他方の点群におけるマーカＭ１を対応付けることができる。
【００７２】
２つの点群を表示する視点は、鉛直上方に限定されない。例えば、仰角４５°や６０°といった斜め上方の方向から２つの点群を見た状態を表示し、各点群を平行移動および鉛直方向を軸とした回転が可能な状態とする例が挙げられる。この場合も一方の点群におけるマーカ１の指定、他方の点群における対応するマーカ１’の特定、マーカ１のマーカ１’への移動、マーカ１とマーカ１’とが近接した状態でのマーカ１’へのマーカ１の引き込み、マーカ１とマーカ１’とが一致した状態での一方の点群におけるマーカ２の指定、マーカ２を動かしてのマーカ１とマーカ１’の一致点を中心とした一方の点群の回転、マーカ２に対応する他方の点群のマーカ２’へのマーカ２の引き込みが行われる。
【００７３】
２つの点群のスケールがあっていない場合、一方の点群の縮尺を変更する操作および最終状態における強制縮尺調整が行われる。この場合、図７の構成に強制縮尺調整部を追加し、以下の処理を行う。
【００７４】
図１〜図６の例の場合、第１の点群と第２の点群のスケールがあっていないと、図５の状態で第１の点群を回転させても、マーカ１２とマーカ２２とは一致しない。この場合、第１の点群を回転させた際に、マーカ１２とマーカ２２とが最接近した段階で、第１の点群の縮尺を強制的に変更する処理を行う。
【００７５】
例えば、マーカ１２とマーカ２２とが最接近した段階で、第２の点群の縮尺を拡大し、仮にマーカ１２とマーカ２２の距離が離れれば、逆に第２の点群の縮尺を縮小し、マーカ１２とマーカ２２とを画面上で一致させる。また、第２の点群の縮尺を拡大した段階で、マーカ１２とマーカ２２の距離が近づけば、そのまま拡大を続け、マーカ１２とマーカ２２とを画面上で一致させる。また、拡大縮小だけではマーカ１２とマーカ２２とが画面上で一致しない場合は、第２の点群の強制回転処理を併用し、マーカ１２とマーカ２２との一致を探索する。
【００７６】
（具体例）
図１０〜図１６には、ＰＣのディスプレイ上の表示された点群の図面代用写真である。図１０〜図１６には、鉛直上方から見た点群の様子が示されている。
【００７７】
図１０には、２つの点群が重ねて表示された状態が示されている。図１１には、２つの点群を離して表示した状態が示されている。図１２には、上側に表示されている青の点群のマーカＳＨ０２を指定し、更に青の点群を平行移動させ、またマーカＳＨ０２と、対応する下側に表示されている赤の点群のマーカＴＡＲ０００１が強調表示された状態が示されている。
【００７８】
図１３には、青の点群のマーカＳＨ０２と、赤の点群のマーカＴＡＲ０００１を画面上で一致させた状態が示されている。図１４には、青の点群の中から２点目のマーカＯＣＣ０００１を指定（クリックして捕捉）した状態が示されている。また、マーカＯＣＣ０００１に対応する他方の点群（赤の点群）のマーカＳＨ０１が特定された状態が示されている。
【００７９】
図１５には、図１４の状態から青の点群を時計回りの方向で回転させ、マーカＯＣＣ０００１をマーカＳＨ０１に近づけた状態が示されている。図１６には、マーカＯＣＣ０００１がマーカＳＨ０１に一致し、上側に表示されている青の点群と下側に表示されている赤の点群とが一致した状態が示されている。
【図１】
2018147065.tif 000003
【図２】
2018147065.tif 000004
【図３】
2018147065.tif 000005
【図４】
2018147065.tif 000006
【図５】
2018147065.tif 000007
【図６】
2018147065.tif 000008
【図７】
2018147065.tif 000009
【図８】
2018147065.tif 000010
【図９】
2018147065.tif 000011
【図１０】
2018147065.tif 000012
【図１１】
2018147065.tif 000013
【図１２】
2018147065.tif 000014
【図１３】
2018147065.tif 000015
【図１４】
2018147065.tif 000016
【図１５】
2018147065.tif 000017
【図１６】
2018147065.tif 000018