(57)【特許請求の範囲】
【請求項１】
計測部が周囲の存在物の形状を計測した計測地点を図面上に記録して図面位置情報を生成する位置設定部と、
計測形状を受信し、前記計測形状間の相対姿勢を算出して、当該計測形状を統合する形状事前統合部と、
前記計測地点の位置を算出する計測位置算出部と、
前記計測位置算出部が算出した位置を用いて限定した範囲を探索して、前記計測形状間で共通する部位の形状の一致度に基づいて、前記計測形状の姿勢を算出する計測姿勢算出部と、を備える形状計測システム。
【請求項２】
請求項１に記載の形状計測システムであって、
前記相対姿勢から得られる計測地点間の実距離と、前記位置設定部が図面上に記録した計測地点間の距離との比率から、前記図面のスケールを決定するスケール算出部を備え、
前記計測位置算出部は、前記図面位置情報及び前記図面のスケールから、正しいスケールの計測地点の位置を算出する形状計測システム。
【請求項３】
請求項１に記載の形状計測システムであって、
前記計測姿勢算出部は、
前記計測位置算出部が算出した計測地点の位置によって限定した範囲を探索して、前記計測形状間で共通する部位の形状の一致度に基づいて、当該計測形状間の相対姿勢を算出する第１計測姿勢算出部と、
前記第１計測姿勢算出部が算出した計測形状間の相対姿勢によって限定した範囲を探索して、当該相対姿勢が算出済みの計測形状の組と他の計測形状との間で共通する部位の形状の一致度に基づいて、当該計測形状間の相対姿勢を算出する第２計測姿勢算出部と、を有する形状計測システム。
【請求項４】
請求項１から３のいずれか一つに記載の形状計測システムであって、
前記計測姿勢算出部は、前記計測位置算出部が算出した計測地点の位置及び前記形状事前統合部が算出した相対姿勢によって限定した範囲を探索して、相対姿勢が算出済みの計測形状の組について、当該計測形状間で共通する部位の形状の一致度に基づいて、当該計測形状の組の間の相対姿勢を算出する第３計測姿勢算出部を有する形状計測システム。
【請求項５】
請求項１から３のいずれか一つに記載の形状計測システムであって、
前記計測形状間で共通して計測されている水平面を用いて、当該計測形状間の相対的な高さを調整する高さ調整部を備える形状計測システム。
【請求項６】
請求項１から３のいずれか一つに記載の形状計測システムであって、
計測形状に含まれる平面の向きのヒストグラムを求め、前記ヒストグラムのマッチングによって、当該計測形状間の相対的な向きの候補を算出する計測向き候補算出部を備え、
前記計測姿勢算出部は、前記計測向き候補算出部が算出した向きの候補によって限定した範囲を探索して、前記計測形状の姿勢を算出する形状計測システム。
【請求項７】
計測部が周囲の存在物を計測した計測形状を計算機を用いて処理する形状計測方法であって、
前記計算機は、プログラムを実行するプロセッサと、前記プログラムを格納する記憶装置とを有し、
前記形状計測方法は、
前記プロセッサが、前記計測部が周囲の存在物の形状を計測した計測地点を図面上に記録して図面位置情報を生成する位置設定手順と、
前記プロセッサが、計測形状を受信し、前記計測形状間の相対姿勢を算出して、当該計測形状を統合する形状事前統合手順と、
前記プロセッサが、前記計測地点の位置を算出する計測位置算出手順と、
前記プロセッサが、前記計測位置算出手順で算出された位置を用いて限定した範囲を探索して、前記計測形状間で共通する部位の形状の一致度に基づいて、前記計測形状の姿勢を算出する計測姿勢算出手順と、を含む形状計測方法。
【請求項８】
請求項７に記載の形状計測方法であって、
前記相対姿勢から得られる計測地点間の実距離と、前記位置設定手順で図面上に記録された計測地点の間の距離との比率から、前記図面のスケールを決定するスケール算出手順を含み、
前記計測位置算出手順では、前記図面位置情報及び前記図面のスケールから、正しいスケールの計測地点の位置を算出する形状計測方法。
【請求項９】
請求項７に記載の形状計測方法であって、
前記計測姿勢算出手順では、
前記プロセッサが、前記計測位置算出手順で算出された計測地点の位置によって限定した範囲を探索して、前記計測形状間で共通する部位の形状の一致度に基づいて、当該計測形状間の相対姿勢を算出する第１計測姿勢算出手順と、
前記プロセッサが、前記第１計測姿勢算出手順で算出された計測形状間の相対姿勢によって限定した範囲を探索して、当該相対姿勢が算出済みの計測形状の組と他の計測形状との間で共通する部位の形状の一致度に基づいて、当該計測形状間の相対姿勢を算出する第２計測姿勢算出手順と、を含む形状計測方法。
【請求項１０】
請求項７から９のいずれか一つに記載の形状計測方法であって、
前記計測姿勢算出手順は、前記プロセッサが、前記計測位置算出手順で算出した計測地点の位置によって限定した範囲を探索して、相対姿勢が算出済みの計測形状の組について、当該計測形状間で共通する部位の形状の一致度に基づいて、当該計測形状の組の間の相対姿勢を算出する第３計測姿勢算出手順を含む形状計測方法。
【請求項１１】
請求項７から９のいずれか一つに記載の形状計測方法であって、
前記プロセッサが、前記計測形状間で共通して計測されている水平面を用いて、当該計測形状間の相対的な高さを調整する高さ調整手順を含む形状計測方法。
【請求項１２】
請求項７から９のいずれか一つに記載の形状計測方法であって、
前記プロセッサが、計測形状に含まれる平面の向きのヒストグラムを求め、前記ヒストグラムのマッチングによって、当該計測形状間の相対的な向きの候補を算出する計測向き候補算出手順を含み、
前記計測姿勢算出手順では、前記プロセッサが、前記計測向き候補算出手順で算出した向きの候補によって限定した範囲を探索して、前記計測形状の姿勢を算出する形状計測方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、形状計測センサが複数地点で計測した形状データを統合するためのシステム及び方法に関する。
【背景技術】
【０００２】
空間の形状を記録するための一つの手段として、周囲の存在物までの距離を測ることによって存在物の三次元的な形状を計測できる形状計測センサがある。形状計測センサを用いると、手計りに比べ迅速かつ高精度に空間全体の形状を取得でき、また人の手が届かない高所や危険な場所を離れた地点から非破壊で形状を計測できる。
【０００３】
本技術の背景技術として、特開２００５−４３２４８号公報（特許文献１）、特開２００３−８３７３９号公報（特許文献２）、特開２０１４−１３７２４４号公報（特許文献３）、特開２０１２−５７９６０号公報（特許文献４）がある。
【０００４】
特許文献１には、計測対象物体にレーザ光を照射して対象の三次元的な形状を測定する形状測定器が開示されている。この方法では、反射光が戻ってくるまでの時間を測ることで、センサからレーザ光の照射点までの距離を算出できるため、照射方向及び算出された距離から、レーザ光の照射点の三次元座標を求めることができる。この処理を全方向に繰り返し行うことによって、周囲の形状を計測点の集合（以下、点群）として測定できる。
【０００５】
特許文献１に記載されたレーザ光を照射する方法では、空間内に遮蔽物が存在すると遮蔽物の裏にある対象物にレーザ光が当たらず、一地点からの計測では空間全体を計測できない。このため、複数地点からレーザ光を照射して形状を計測し、計測した形状を統合することによって、空間全体を計測できる。各計測形状は計測地点を原点とした座標系で表されており、統合のためには共通座標系に変換する必要があり、変換量は各計測地点の姿勢（位置及び向き）を求める必要がある。
【０００６】
また、特許文献２には、マーカを空間内に設置し、地点間で共通して計測できたマーカ同士を対応付け、マーカの位置が合うように計測データ間の相対姿勢を求めることによって、計測データを統合する方法が開示されている。また、特許文献３には、方向センサとＧＰＳを用いて計測地点の位置姿勢を予め求める方法が開示されている。さらに、特許文献４には、計測データ内に存在する特徴的な形状（特徴点）を用いて、形状同士を統合する方法が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００５−４３２４８号公報
【特許文献２】特開２００３−８３７３９号公報
【特許文献３】特開２０１４−１３７２４４号公報
【特許文献４】特開２０１２−５７９６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
前述した特許文献２に開示された方法では、計測時に予めマーカを計測空間内に設置する必要がある。特許文献３に開示された方法では、形状計測センサの他に姿勢を計測するセンサが必要である。さらに、屋内ではＧＰＳは使えないことが多い。
【０００９】
特許文献４に開示された方法では、特別なセンサを用いなくてもよいが、３か所以上の地点で計測した形状情報のみを用いて統合する場合、組み合わせの数が増加し、計算時間が増加し、統合ミスが発生する確率が増加する。さらに、共通して計測された領域が狭い場合、十分な特徴点が得られずに統合できない場合もある。
【課題を解決するための手段】
【００１０】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、形状計測システムであって、計測部が周囲の存在物の形状を計測した計測地点を図面上に記録して図面位置情報を生成する位置設定部と、計測形状を受信し、前記計測形状間の相対姿勢を算出して、当該計測形状を統合する形状事前統合部と、前記計測地点の位置を算出する計測位置算出部と、前記計測位置算出部が算出した位置を用いて限定した範囲を探索して、前記計測形状間で共通する部位の形状の一致度に基づいて、前記計測形状の姿勢を算出する計測姿勢算出部と、を備える。
【発明の効果】
【００１１】
本発明の一態様によれば、複数地点で計測した形状を、計算量を抑えつつロバストに統合できる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施例の形状計測システムの全体構成図である。
【図２】本発明の実施例の計測部による周囲の存在物の計測を示す図である。
【図３】本発明の実施例の位置設定部が位置を設定するための入力画面の例を示す図である。
【図４】本発明の実施例の形状事前統合部による処理の例を示す図である。
【図５】本発明の実施例のスケール算出部による処理の例を示す図である。
【図６】本発明の実施例の計測位置算出部による処理の例を示す図である。
【図７】本発明の実施例の計測向き候補算出部による処理の例を示す図である。
【図８】本発明の実施例の計測姿勢算出部の構成例を示す図である。
【図９】本発明の実施例の計測姿勢算出部Ａによる処理の例を示す図である。
【図１０】本発明の実施例の計測姿勢算出部Ｂによる処理の例を示す図である。
【図１１】本発明の実施例の計測姿勢算出部Ｃによる処理の例を示す図である。
【図１２】本発明の実施例の高さ調整部による処理を示す図である。
【図１３】本発明の実施例の形状計測システムの物理的な構成を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を用いて本発明の一実施例について説明する。
【００１４】
図１は、本実施例の形状計測システムの全体構成図である。
【００１５】
まず、計測部１００が、複数の地点から周囲の３次元形状を計測し、多数の計測形状１０１として記録する。更に、位置設定部１０２が、予め与えられた図面１０３上における計測地点を図面位置情報１０４として記録する。図面１０３はスケールが未知のものでもよく、例えば、手書きの図面をスキャンしたデータを画面に表示し、タブレット端末等を用いて図面上における各計測地点の位置を指示することによって、図面位置情報１０４を得る。
【００１６】
続いて、形状事前統合部１０５は、所定の複数地点の計測形状１０１同士を、計測した複数の形状に含まれる共通部位の計測結果を対応させることによって統合する。統合に用いる計測地点は、図面位置情報１０４から得られる一定距離内の計測形状の２地点以上の組を選ぶ。又は、オペレータが所定の計測形状１０１を指示してもよい。計測した形状情報からの統合が可能であれば、本処理において、どの計測形状を統合対象としてもよい。
【００１７】
統合処理では、統合する形状から抽出された特徴点の特徴量の類似度を用いて両形状の同じ位置を示す特徴点同士を対応付け、特徴点間の距離を最小にする姿勢を算出してもよい。また、特徴点を使わずに、仮に定めた相対的な姿勢より形状間の各部位同士を再近傍探索によって対応付け、対応間距離を最小化するＩＣＰアルゴリズムを用いてもよい。さらに、事前に環境内にマーカを配置して、マーカ同士を対応付けることによって統合してもよい。なお、マーカを用いる方法ではマーカを配置する必要があるが、形状事前統合部１０５で統合する形状についてマーカを計測すればよく、全ての計測地点においてマーカを計測する必要はないため、マーカを配置する手間は少ない。形状事前統合部１０５においては、二つ以上の形状を統合できる方法であれば、前述した以外の方法を採用してもよい。
【００１８】
スケール算出部１０６は、形状事前統合部１０５が統合した形状が計測された地点間の相対距離と、スケールが未知の図面１０３上に設定された当該計測地点間の図面上の相対距離の比率から、図面のスケール１０７を算出する。計測位置算出部１０８は、スケール算出部１０６が算出したスケール１０７を用いて、図面位置情報１０４を正しいスケールに補正して、位置情報１０９を算出する。計測向き候補算出部１１２は、計測形状に含まれる面の方向の傾向の解析によって、計測形状の向きの候補を出力する。
【００１９】
計測姿勢算出部１１０は、計測位置算出部１０８が算出したスケールの正しい位置情報１０９を用いて、計測形状１０１の姿勢（向き及び位置）を算出する。なお、計測姿勢算出部１１０が位置を再度算出するのは、計測位置算出部１０８が算出する位置には通常は誤差が含まれているので、精度良く計測されている計測形状を用いて正確な位置を算出するためである。計測された部位のうち計測形状間で共通する部位が一致するような形状間の相対回転量及び相対並進量を探索することによって、向きと詳細な位置が求まる。この際に、位置情報１０９や形状事前統合部１０５で算出した姿勢情報を用いて探索範囲を限定することによって、共通して計測されている領域が小さい場合にも高速かつロバストに正しい解を求めることができる。これによって求まった各計測形状の姿勢を用いて、各計測形状に対して回転及び並進処理を実施することで、統合後形状１１１とする。
【００２０】
なお、本実施例の形状計測システムは、計測部１００を有さず、別に周囲の存在物を計測した計測形状が入力されてもよい。また、既知のスケールの図面を用いる場合、スケール算出部１０６を設けなくてもよい。
【００２１】
図１３は、本実施例の形状計測システムの物理的な構成を示す図である。
【００２２】
本実施例の形状計測作成システムは、プロセッサ（ＣＰＵ）１、メモリ２、補助記憶装置３及び通信インターフェース４を有する計算機によって構成される。
【００２３】
プロセッサ１は、メモリ２に格納されたプログラムを実行する。メモリ２は、不揮発性の記憶装置であるＲＯＭ及び揮発性の記憶装置であるＲＡＭを含む。ＲＯＭは、不変のプログラム（例えば、ＢＩＯＳ）などを格納する。ＲＡＭは、ＤＲＡＭ（Dynamic Random Access Memory）のような高速かつ揮発性の記憶装置であり、プロセッサ１が実行するプログラム及びプログラムの実行時に使用されるデータを一時的に格納する。
【００２４】
補助記憶装置３は、例えば、磁気記憶装置（ＨＤＤ）、フラッシュメモリ（ＳＳＤ）等の大容量かつ不揮発性の記憶装置であり、プロセッサ１が実行するプログラム及びプログラムの実行時に使用されるデータ（例えば、地図データ）を格納する。すなわち、プログラムは、補助記憶装置３から読み出されて、メモリ２にロードされて、プロセッサ１によって実行される。
【００２５】
形状計測システムは、入力インターフェース５及び出力インターフェース８を有してもよい。入力インターフェース５は、キーボード６やマウス７などが接続され、オペレータからの入力を受けるインターフェースである。出力インターフェース８は、ディスプレイ装置９やプリンタなどが接続され、プログラムの実行結果をオペレータが視認可能な形式で出力するインターフェースである。
【００２６】
通信インターフェース４は、所定のプロトコルに従って、他の装置との通信を制御するネットワークインターフェース装置である。形状計測システムは、通信インターフェース４を介して端末（図示省略）と接続されてもよく、該端末から入力された指示に従って動作し、該端末に演算結果を出力してもよい。
【００２７】
プロセッサ１が実行するプログラムは、リムーバブルメディア（ＣＤ−ＲＯＭ、フラッシュメモリなど）又はネットワークを介して図面作成システムに提供され、非一時的記憶媒体である不揮発性記憶装置３に格納される。このため、形状計測システムは、リムーバブルメディアからデータを読み込むインターフェースを有するとよい。
【００２８】
形状計測システムは、物理的に一つの計算機上で、又は、論理的又は物理的に構成された複数の計算機上で構成される計算機システムであり、同一の計算機上で別個のスレッドで動作してもよく、複数の物理的計算機資源上に構築された仮想計算機上で動作してもよい。
【００２９】
図２は、計測部１００による周囲の存在物２００の計測を示す図である。
【００３０】
計測部１００は、様々な方向にレーザ光を照射し、レーザ光の反射光が戻るまでの時間を計測することによって、レーザ光を照射した方向に存在する物までの距離を計測する。計測部１００は、周囲全方向にレーザ光を照射し、反射光を受光するまでの時間を繰り返し計測することによって、周囲に存在する全ての物の形状を計測することができる。計測結果として、１回のレーザ光の照射につき、周囲の物体の表面上の１点が計測でき、繰り返しレーザ光を照射することによって、周囲の形状を点群２０２として計測できる。
【００３１】
なお、計測部１００は、周囲の形状が計測できるものであれば、ＲＧＢ−Ｄセンサなどの拡散光を用いた距離計測装置や、音波を用いたソナーセンサでもよい。また、計測部１００が出力する計測形状１０１は、点群データでなく、メッシュデータやステレオカメラ画像でもよい。
【００３２】
図３は、位置設定部１０２が位置を設定するための入力画面３００の例を示す図である。
【００３３】
位置設定部１０２は、空間の図面１０３を予め読み込んで、画面３００上に表示する。図面１０３は、環境の全体の形状を示す図面であれば、手書き図面や環境の見取り図などでよい。計測部１００が形状を計測した位置を、オペレータが図面上でポインタ３０１によって指定することによって、指示位置３０２を記録する。図３において、計測位置３０３は記録済みの計測地点の位置である。なお、屋内ＧＰＳ情報などの外部センサによって計測位置が得られている場合は、得られた位置を自動的に記録してもよい。
【００３４】
図４は、形状事前統合部１０５による処理の例を示す図である。
【００３５】
形状事前統合部１０５は、所定の複数の形状同士を統合する処理を実行する。位置設定部１０２が、図面４００上で設定した設定位置４０１間の距離が所定値以下の形状の組４０２を複数選び、各組に対してそれぞれ統合処理を行う。統合処理を行うことによって計測形状の姿勢の相対関係が算出できる。
【００３６】
統合処理は、計測形状４０３、計測形状４０４間で共通して計測された部位４０６が一致するような並進の３パラメータ及び回転の３パラメータの６次元の変換量４０５を算出する。変換量４０５は計測地点間の相対的な姿勢であり、地点間の位置関係（距離）や向きを表す。変換量４０５は、ＩＣＰアルゴリズムや４ＰＣＳなどの方法で算出できる。予めマーカ等の統合の目印となる情報が得られている場合、マーカを基準にして統合してもよい。
【００３７】
なお、共通して得られている領域が少ない又は無い組を選択した場合、前述した方法では統合できないため、それらの組を破棄する。統合できたかは、統合結果のうち所定の閾値以上の割合が一致しているかなどによって判定できる。
【００３８】
図５は、スケール算出部１０６による処理の例を示す図である。
【００３９】
スケール算出部１０６は、図面のスケール１０７を算出する。手書きの図面をスキャンして読み込んだビットマップ形式のデータが予め与えられており、当該図面では図面上の２点間の実空間における距離が分からない。スケール算出部１０６は、図面上の任意の２点間の長さ５００と、形状事前統合部１０５が求めた実空間での当該２点に対応する計測形状５０１と計測形状５０２を計測した地点間の長さ５０３との比率を算出することによって、図面のスケールを決定する。形状事前統合部１０５によって統合されている形状に２地点以上が含まれている場合、地点間の距離が分かっている形状の組を用い、式（１）を用いて最小二乗法によって最適なスケールを算出できる。なお、式（１）における変数ｐは形状事前統合部１０５が算出した地点間の実際の距離、変数ｍは地点間の図面上の距離、ｓはスケールである。
【００４０】
【数１】
0006486845.tif 000002
【００４１】
図６は、計測位置算出部１０８による処理を示す図である。
【００４２】
計測位置算出部１０８は、各計測地点の正しいスケールの位置情報を算出する。まず、前記位置設定部１０２が、スケールが未知の図面１０３における計測位置の図面位置情報１０４を設定している。さらに、スケール算出部１０６が図面のスケール１０７を求めている。そして、これらの値を式（２）に入力することよって、実際の空間の位置情報１０９を算出する。なお、式（２）において、変数ｐは図面上の位置を、変数ｃは実空間における原点の図面上の座標を、変数ｓはスケールを示す。
【００４３】
【数２】
0006486845.tif 000003
【００４４】
図７は、計測向き候補算出部１１２による処理の例を示す図である。
【００４５】
計測向き候補算出部１１２による処理は、計測姿勢算出部１１０によって計測姿勢を算出する前に実行され、算出した向きの候補を用いて、計測姿勢算出部１１０が姿勢を算出する際の向きの探索範囲を限定する。計測向きの候補は、計測形状１０１の計測向きを探索する際の探索領域の候補であり、本候補に限定して計測向きを探索することによって、よりロバストに向きを決定できる。計測向き候補算出部１１２は、各計測形状１０１における壁、天井面及び床面の少なくとも一つの向きを合わせることによって、向きの候補を絞り込む。但し、ある計測形状に含まれる壁に対応する他の計測形状の壁は分からないので、この時点では向きは一意に定まらない。そのため、計測向き候補算出部１１２は向きの候補を出力する。
【００４６】
まず、計測向き候補算出部１１２は、計測形状Ａ７００と計測形状Ｂ７０１において、それぞれ計測された計測点群の法線方向を算出し、法線方向毎に計測データが得られている点数のヒストグラム７０２を作成する。一般的な屋内形状であれば、壁同士の角度は直角であり、９０度毎にヒストグラムのピークが現れる。計測形状の向きを変更すると、角度軸方向に向きを変更した分、ヒストグラムを水平移動する。ここでは、計測形状Ａ７００に一致するように、計測形状Ｂ７０１の向きを変更する場合を説明する。
【００４７】
計測形状Ｂ７０１から算出したヒストグラムを所定の向きの探索ステップ毎に左右に動かし、計測形状Ａ７０１のヒストグラムと整合する角度７０３を探索する。ヒストグラムの一致度はバタチャリア距離など公知の方法で算出できる。一致度が所定の閾値より高い角度を向きの候補として出力する。なお、一般的な屋内形状では、前述したように、９０度毎にヒストグラムのピークが現れ、角度の探索の結果、四つのヒストグラムが一致する状態７０４が得られ、向き修正後の状態７０５となる。
【００４８】
本処理は、壁の向きに着目するため、計測地点の位置に含まれる誤差は結果に影響しない。なお、ここでは鉛直軸に関する１次元の回転について述べたが、法線の３次元的な方向から３次元のヒストグラムを作成し、該ヒストグラムのマッチングを行えば、傾きに関する回転量も算出できる。
【００４９】
図８は、計測姿勢算出部１１０の構成例を示す図である。
【００５０】
計測姿勢算出部１１０は、計測姿勢算出部Ａ８０１、計測姿勢算出部Ｂ８０２及び計測姿勢算出部Ｃ８０３を有し、複数の計測形状１０１、該計測形状の位置情報１０９及び形状事前統合部１０５が算出した姿勢を入力として、計測形状間の相対姿勢を算出する。なお、計測姿勢算出部１１０は、処理するデータの特性や用途に応じて、計測姿勢算出部Ａ８０１、計測姿勢算出部Ｂ８０２及び計測姿勢算出部Ｃ８０３の少なくとも一つを有せばよい。
【００５１】
計測姿勢算出部Ａ８０１は、姿勢情報が未算出である二つ以上の計測形状の間の相対姿勢８００を算出する。計測姿勢算出部Ｂ８０２は、相対姿勢が算出済みの計測形状の組と、計測姿勢が未算出の二つ以上の計測形状との相対姿勢８００を算出する。計測姿勢算出部Ｃ８０３は、相対姿勢が算出済みの計測形状の組によって構成される集合の２つ以上の間の相対姿勢を算出する。
【００５２】
前述した相対姿勢が算出済みの計測形状の組は、形状事前統合部１０５、計測姿勢算出部Ａ８０１、計測姿勢算出部Ｂ８０２及び計測姿勢算出部Ｃ８０３のいずれかが相対姿勢を算出した計測形状の組である。図８において矢印でデータの流れを示すように、計測姿勢算出部Ｂ８０２には、形状事前統合部１０５、計測姿勢算出部Ａ８０１及び計測姿勢算出部Ｃ８０３のいずれかから出力された姿勢算出結果が入力される。また、計測姿勢算出部Ｃ８０３は、形状事前統合部１０５、計測姿勢算出部Ａ８０１及び計測姿勢算出部Ｂ８０２のいずれかから出力された姿勢算出結果が入力される。
【００５３】
次に、計測姿勢算出部Ａ８０２、計測姿勢算出部Ｂ８０３、計測姿勢算出部Ｃ８０４が実行する処理の詳細を説明する。
【００５４】
図９は、計測姿勢算出部Ａ８０２による処理の例を示す図である。
【００５５】
計測姿勢算出部は、計測位置算出部１０８が算出した位置情報１０９を姿勢（向き及び位置）の探索範囲の絞り込みに用い、計測形状間で共通して計測された部位が最も一致する姿勢を算出する。計測形状Ａ９００は計測地点Ａ９０１で計測され、計測形状Ｂ９０２は計測地点Ｂ９０３で計測された場合、計測形状Ａ９００の正しい姿勢は、計測地点Ａ９０１を中心とした所定の並進範囲９０４内かつ３６０度の回転範囲９０５内である。同様に、計測形状Ｂ９０２も、計測地点Ｂ９０３を中心とした所定の並進範囲９０６内かつ３６０度の回転範囲９０７内に正しい姿勢がある。この所定の並進範囲９０４、９０６は、位置設定部１０２による位置設定精度に応じて決定すればよい。さらに、計測向き候補算出部１１２が計測向き候補を算出している場合、探索時の拘束条件として算出された計測向き候補を追加するとよい。
【００５６】
探索は所定の長さ及び角度の探索ステップで行い、一致度の評価は形状間で共通して計測した共通計測部位９０８の一致の程度を指標とする。具体的には、ＩＣＰアルゴリズムのように、各計測点について相手の点群に含まれる近傍点までの距離の和を使用してもよい。前述したように、計測姿勢に関する探索範囲を所定領域内に限定することによって、計算量を抑制すると共に、共通して計測できている部位が少ない場合でもロバストに統合を実行できる。
【００５７】
本処理は、探索範囲内において解が一意に定まる計測形状に対して選択的に実行する。すなわち、計測姿勢算出部Ａ８０２は、解が二つになる計測形状は相対姿勢８００を算出できない。具体的には、全データに対して相対姿勢を算出して、一致度合いが一定以上であるデータを選択しても、相対姿勢の算出前にオペレータが対象とする計測形状を選択してもよい。なお、形状事前統合部１０５が既に測定形状を統合している場合は、計測姿勢算出部Ａ８０２が姿勢を算出する必要はない。
【００５８】
図１０は、計測姿勢算出部Ｂ８０３による処理の例を示す図である。
【００５９】
この処理は、他の計測形状との相対姿勢を計算していない計測形状について、相対姿勢を計算済みの計測形状の組からの相対姿勢を算出する。相対姿勢を計算済みの計測形状の組は、形状事前統合部１０５、計測姿勢算出部Ａ８０２、計測姿勢算出部Ｃ８０４のいずれから得られたものでもよい。
【００６０】
この処理は、姿勢が算出されていない一つの計測形状の位置及び向きのみを算出すればよいため、計測姿勢算出部Ａ８０２より更に探索範囲が小さくなる。このため、より少ない計算量で、かつロバストに計測形状の位置及び向きを算出できる。探索範囲は、計測形状Ｃ１０００について、計測位置算出部１０８が算出した計測位置を中心とした所定の並進範囲１００１内及び３６０度の回転範囲１００２である。統合の相手となる計測形状９００、計測形状９０２は既に姿勢を算出済みであるため、探索を行う必要はなく、計測形状Ｃについてのみ探索を行えばよい。なお、計測向き候補算出部１１２が計測形状の向き候補を算出している場合、その候補によって探索範囲を更に限定できる。探索処理は、計測姿勢算出部Ａ８０２と同様に所定の探索ステップで探索範囲内を走査し、計測形状間で共通して計測されている共通部位１００３の一致度が最も高い姿勢を解とする。
【００６１】
図１１は、計測姿勢算出部Ｃ８０４による処理の例を示す図である。
【００６２】
この処理は、形状事前統合部１０５及び計測姿勢算出部Ａ８０２、計測姿勢算出部Ｂ８０３が相対的な姿勢を算出済みの計測形状に適用される。この処理では、相対姿勢が算出済みの計測形状の組で構成される集合間の相対姿勢を算出する。各集合内の計測形状間の相対姿勢は高精度に算出されているが、位置設定部１０２が図面上に設定した位置には誤差があるため、その位置を基準に統一の座標系に変換すると、変換後の位置は誤差を含む。そこで、計測姿勢算出部Ｃ８０４が、その誤差を補正する。
【００６３】
この処理は、位置設定部１０２が大まかな位置を設定し、形状事前統合部１０５が向きを算出するため、設定された位置及び算出された向きを中心とした所定範囲内に探索範囲を限定して、正しい姿勢を算出する。位置の所定範囲は、位置設定部１０２の設定誤差に応じて決定すればよい。向きの所定範囲は、オペレータが設定すればよく、算出されている精度が高いため５度程度の探索範囲でよい。
【００６４】
計測向き候補算出部１１２が計測形状の向き候補を算出している場合、その候補によって探索範囲を更に限定できる。図１１に示す例では、形状事前統合部１０５が、計測形状１１００と計測形状１１０１と相対姿勢を算出しており、さらに計測形状１１０２と計測形状１１０３との相対姿勢を算出している。ここで、計測位置算出部１０８が算出した計測形状１１０２の位置を中心に所定の並進探索範囲１１０４内及び向き探索範囲１１０５内を探索して、計測形状１１０１と計測形状１１０２との共通計測部位１１０６を一致させることによって、形状を統合する。
【００６５】
この処理は、向きの探索範囲が限定されているため、計測姿勢算出部Ａ８０２及び計測姿勢算出部Ｂ８０３より、さらに少ない計算量で、かつロバストに計測形状の位置及び向きを算出できる。探索処理は、計測姿勢算出部Ａ８０２及び計測姿勢算出部Ｂ８０３と同様に、所定の探索ステップで探索範囲内を走査し、計測形状間で共通して計測されている共通計測部位１１０６の一致度が最も高い姿勢を解とする。
【００６６】
計測姿勢算出部１１０が各計測形状間の相対姿勢を計算し、計算された相対姿勢と矛盾しないように一つの座標系に姿勢を変換することによって、形状を統合できる。相対姿勢と矛盾しないような各計測形状の姿勢を算出するためには、ＧｒａｐｈＳＬＡＭなどの公知の計算方法を用いればよい。
【００６７】
図１２は、計測形状間の高さを調整する高さ調整部１２０９による処理を示す図である。
【００６８】
この処理は、計測姿勢算出部１１０が姿勢を算出した後に実行され、各姿勢の値を調整する。ここでは計測形状Ａ１２００の高さと計測形状Ｂ１２０１の高さとを合わせる処理を述べる。
【００６９】
まず、水平面認識部１２０３が、各計測形状１２００、１２０１から天井面、床面などの水平面を抽出し。水平面情報Ａ１２０４及び水平面情報Ｂ１２０５を得る。例えば、計測点で構成される面の法線を求め、法線方向が鉛直（又は、鉛直から所定の角度以下）でる場合、その点で構成される面を水平面と推定することによって、水平面を抽出できる。
【００７０】
さらに、計測姿勢算出部１１０が算出した計測姿勢Ａ１２０６及び計測姿勢Ｂ１２０７を用いて。該水平面を実空間の座標系に変換する。ここでは、高さ以外の形状が統合されているため、形状が最も一致する高さ方向の調整量を探索すればよい。
【００７１】
共通面抽出部１２０８は、形状の一致度を算出するために、同じ床や天井を計測している領域を抽出する。抽出処理は、計測姿勢算出部１１０によって高さ以外の統合は完了しているため、計算された相対姿勢で変換後の形状の水平面情報を重ね合わせ、両方の計測形状で同じ位置に重なり合う部位を共通領域とし、該共通領域に含まれる面を共通面として抽出する。
【００７２】
共通面の抽出後、高さ調整部１２０９が、共通面を高さ方向に調整し、最も形状が重なり合う高さを求める。そして、求めた高さを用いて計測形状の姿勢を補正し、補正済み計測姿勢Ａ１２１０及び補正済み計測姿勢Ｂ１２１１とする。
【００７３】
なお、３以上計測形状の高さを調整する場合、この処理によって各計測形状間の相対的な高さを求めた上で、高さが求められている計測形状中の地点の高さを基準として、ＧｒａｐｈＳＬＡＭを用いて、相対的な高さの関係から統一の座標系における高さを計算すればよい。
【００７４】
以上に説明したように、本発明の実施例の形状計測システムは、
計測部１００が周囲の存在物の形状を計測した計測地点を図面上に記録して図面位置情報１０４を生成する位置設定部１０２と、計測形状１０１を受信し、計測形状間の相対姿勢を算出して、当該計測形状を統合する形状事前統合部１０５と、前記地点の位置１０９を算出する計測位置算出部１０８と、計測位置算出部１０８が算出した位置を用いて限定した範囲を探索して、計測形状間で共通する部位の形状の一致度に基づいて、計測形状の姿勢を算出する計測姿勢算出部１１０とを備えるので、複数地点で計測した形状を、計算量を抑えつつロバストに統合できる。
【００７５】
また、相対姿勢から得られる計測地点間の実距離と、位置設定部１０２が図面上に記録した計測地点間の距離との比率から、図面のスケール１０７を決定するスケール算出部１０６を備え、計測位置算出部１０８は、図面位置情報１０４及び図面のスケール１０７から、正しいスケールの計測地点の位置１０９を算出するので、スケールが未知の図面上でも形状を統合できる。
【００７６】
また、計測姿勢算出部１１０は、計測位置算出部１０８が算出した計測地点の位置１０９によって限定した範囲を探索して、計測形状間で共通する部位の形状の一致度に基づいて、当該計測形状間の相対姿勢を算出する計測姿勢算出部Ａ８０２を有するので、探索範囲を限定して、よりロバストに形状を統合できる。
【００７７】
また、計測姿勢算出部１１０は、計測姿勢算出部Ａ８０２が算出した計測形状間の相対姿勢によって限定した範囲を探索して、当該相対姿勢が算出済みの計測形状の組と他の計測形状との間で共通する部位の形状の一致度に基づいて、当該計測形状間の相対姿勢を算出する計測姿勢算出部Ｂ８０３を有するので、探索範囲を限定して、よりロバストに形状を統合できる。
【００７８】
また、計測姿勢算出部１１０は、計測位置算出部１０８が算出した計測地点の位置及び形状事前統合部１０５が算出した相対姿勢によって限定した範囲を探索して、相対姿勢が算出済みの計測形状の組について、当該計測形状間で共通する部位の形状の一致度に基づいて、当該計測形状の組の間の相対姿勢を算出する計測姿勢算出部Ｃ８０４を有するので、探索範囲を限定して、よりロバストに形状を統合できる。
【００７９】
また、計測形状間で共通して計測されている水平面を用いて、当該計測形状間の相対的な高さを調整する高さ調整部１２０９を備えるので、測定形状を垂直方向にも統合できる。
【００８０】
また、計測形状に含まれる平面の向きのヒストグラムを求め、前記ヒストグラムのマッチングによって、当該計測形状間の相対的な向きの候補を算出する計測向き候補算出部１１２を備え、計測姿勢算出部１１０は、計測向き候補算出部１１２が算出した向きの候補によって限定した範囲を探索して、前記計測形状の姿勢を算出するので、探索範囲を限定して、よりロバストに形状を統合できる。
【００８１】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加・削除・置換をしてもよい。
【００８２】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【００８３】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶装置、又は、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に格納することができる。
【００８４】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
【符号の説明】
【００８５】
１００・・・計測部、１０１・・・計測形状、１０２・・・位置設定部、１０３・・・図面、１０４・・・図面位置情報、１０５・・・形状事前統合部、１０６・・・スケール算出部、１０７・・・スケール、１０８・・・計測位置算出部、１０９・・・位置情報、１１０・・・計測姿勢算出部、１１１・・・統合後形状、１１２・・・計測向き候補算出部、２００・・・存在物、２０１・・・各照射方向、２０２・・・点群、３００・・・画面、３０１・・・ポインタ、３０２・・・指示位置、３０３・・・計測位置、４００・・・図面、４０１・・・設定位置、４０２・・・形状の組、４０３・・・計測形状、４０４・・・計測形状、４０５・・・変換量、５００・・・図面上の２点間の長さ、５０１・・・計測形状、５０２・・・計測形状、５０３・・・地点間の距離、７００・・・計測形状Ａ、７０１・・・計測形状Ｂ、７０２・・・ヒストグラム、７０３・・・ヒストグラムのマッチする角度、７０４・・・ヒストグラムの一致する状態、７０５・・・向き修正後の状態、８００・・・相対姿勢情報、８０１・・・相対姿勢情報、８０２・・・計測姿勢算出部Ａ、８０３・・・計測姿勢算出部Ｂ、８０４・・・計測姿勢算出部Ｃ、９００・・・計測形状Ａ、９０１・・・計測位置Ａ、９０２・・・計測形状Ｂ、９０３・・・計測位置Ｂ、９０４・・・範囲、９０５・・・回転範囲、９０６・・・並進範囲、９０７・・・回転範囲、９０８・・・共通計測部位、１０００・・・計測形状Ｃ、１００１・・・並進範囲、１００２・・・回転範囲、１００３・・・共通部位、１１００・・・計測形状、１１０１・・・計測形状、１１０２・・・計測形状、１１０３・・・計測形状、１１０４・・・並進探索範囲、１１０５・・・向き探索範囲、１１０６・・・通計測部位、１２００・・・計測形状Ａ、１２０１・・・計測形状Ｂ、１２０３・・・水平面認識部、１２０４・・・水平面情報Ａ、１２０５・・・水平面情報Ｂ、１２０６・・・計測姿勢Ａ、１２０７・・・計測姿勢Ｂ、１２０８・・・共通面抽出部、１２０９・・・高さ調整部、１２１０・・・補正済み計測姿勢Ａ、１２１１・・・補正済み計測姿勢Ｂ
【図１】
0006486845.tif 000004
【図２】
0006486845.tif 000005
【図３】
0006486845.tif 000006
【図４】
0006486845.tif 000007
【図５】
0006486845.tif 000008
【図６】
0006486845.tif 000009
【図７】
0006486845.tif 000010
【図８】
0006486845.tif 000011
【図９】
0006486845.tif 000012
【図１０】
0006486845.tif 000013
【図１１】
0006486845.tif 000014
【図１２】
0006486845.tif 000015
【図１３】
0006486845.tif 000016