(57)【要約】【課題】部分的剛体である点群を精度良くレジストレーションすることができるようにする。【解決手段】点群レジストレーション装置１０は、第１の入力点群及び第２の入力点群のうち、点の数が少ない点群を小点群とし、点の数が多い点群を大点群として出力する点群入力部１１と、小点群を点間の距離に基づいて複数の点群に分割した中間分割点群を出力する点群分割部１２と、中間分割点群の要素点群のそれぞれを大点群にレジストレーションすることによって中間幾何変換及び中間点群対応情報を導出する点群レジストレーション部１３と、中間分割点群、中間幾何変換、及び中間点群対応情報に基づいて、出力分割点群、出力幾何変換、及び出力点群対応情報を導出する後処理部１４と、を備える。【選択図】図１
2019101987.tif 000002
【特許請求の範囲】
【請求項１】
第１の入力点群及び第２の入力点群のうち、点の数が少ない点群を小点群とし、点の数が多い点群を大点群として出力する点群入力部と、
前記小点群を点間の距離に基づいて複数の点群に分割した中間分割点群を出力する点群分割部と、
前記中間分割点群の要素点群のそれぞれを前記大点群にレジストレーションすることによって中間幾何変換及び中間点群対応情報を導出する点群レジストレーション部と、
前記中間分割点群、前記中間幾何変換、及び前記中間点群対応情報に基づいて、出力分割点群、出力幾何変換、及び出力点群対応情報を導出する後処理部と、
を備えた点群レジストレーション装置。
【請求項２】
前記点群分割部は、
前記小点群から直線を検出し、検出した直線との距離が所定値未満の点群である直線分割点群、及び直線パラメータを出力する直線分割部と、
前記直線分割点群を点間の距離に基づいて分割した中間分割点群を出力する距離分割部と、
を含む請求項１に記載の点群レジストレーション装置。
【請求項３】
前記点群レジストレーション部は、
前記中間分割点群の要素点群のそれぞれについて、前記大点群との対応をとることにより、点群対応情報を導出する計算対象選別部と、
前記中間分割点群の要素点群のそれぞれについて、導出された点群対応情報に基づいて幾何変換を導出する幾何変換導出部と、
を含み、
前記計算対象選別部及び幾何変換導出部による処理を所定の条件を満たすまで繰り返し実行し、最終的に得られた点群対応情報と幾何変換とを前記中間幾何変換及び前記中間点群対応情報として導出する場合に、前記計算対象選別部は、前記中間分割点群の要素点群のそれぞれについて、前回の前記幾何変換導出部による処理により導出された幾何変換を前記要素点群に適用した結果と前記大点群との対応を導出する
請求項１又は請求項２に記載の点群レジストレーション装置。
【請求項４】
前記計算対象選別部は、前記点群対応情報を導出する場合に、各点の移動方向の平均とのなす角が閾値以上である移動方向の点を除いて前記点群対応情報を導出する
請求項３に記載の点群レジストレーション装置。
【請求項５】
前記後処理部は、前記第２の入力点群が前記小点群に対応する場合、
前記中間点群対応情報の要素の対応を反転させることで出力点群対応情報を導出する出力点群対応導出部と、
前記第１の入力点群中の点で、前記出力点群対応情報で対応付けられている点をグループに加えた後、前記グループに属さない点を、各グループに所属する点のうちの最近傍の点との距離に応じてグループに所属させるか、又は新たにグループを作成するかを決定することで前記出力分割点群を導出する出力点群分割導出部と、
前記中間幾何変換及び前記出力分割点群に基づいて前記出力幾何変換を導出する出力幾何変換導出部と、
を含む請求項１から請求項４の何れか１項に記載の点群レジストレーション装置。
【請求項６】
点群入力部が、第１の入力点群及び第２の入力点群のうち、点の数が少ない点群を小点群とし、点の数が多い点群を大点群として出力し、
点群分割部が、前記小点群を点間の距離に基づいて複数の点群に分割した中間分割点群を出力し、
点群レジストレーション部が、前記中間分割点群の要素点群のそれぞれを前記大点群にレジストレーションすることによって中間幾何変換及び中間点群対応情報を導出し、
後処理部が、前記中間分割点群、前記中間幾何変換、及び中間点群対応情報に基づいて、出力分割点群、出力幾何変換、及び出力点群対応情報を導出する
点群レジストレーション方法。
【請求項７】
コンピュータを、請求項１から請求項５の何れか１項に記載の点群レジストレーション装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、点群レジストレーション装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
２つの同一の起源を持つ異なる点群があるときに、一方の点群に存在するそれぞれの点を、他方の点群中のどの点と対応付けられるかを表す点群対応情報を導出し、同時に両点群間の幾何変換を導出する技術を点群レジストレーション技術という。
【０００３】
代表的な点群レジストレーション技術として、例えば、非特許文献１に記載のIterative Closest Point（ＩＣＰ）が知られている。ＩＣＰでは、一方の点群中それぞれの点を他方の点群中の最も距離の近い点に対応付け、その対応付けに基づいて２つの点群間の幾何変換を導出する。この点の対応付けと幾何変換の導出とを収束するまで繰り返し実行することで、最終的な点の対応付けと幾何変換とを導出する。
【０００４】
また、特許文献１には、医療画像間で濃度値の分布が互いに異なるように所定の標的組織を撮像した複数の画像間において、標的組織の非剛体としての変形を考慮して標的組織の位置合わせを行う複数画像間の非剛体レジストレーション方法が開示されている。
【０００５】
また、特許文献２には、内部組織構造を有する数値人体モデルに基づいて、個人の内部組織構造をシミュレーションによって生成する個人モデルデータの生成方法が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−７８１７６号公報
【特許文献２】特開２０１３−８９１２３号公報
【非特許文献】
【０００７】
【非特許文献１】増田  健，ICPアルゴリズム，研究報告コンピュータビジョンとイメージメディア（CVIM），情報処理学会，2009-08-24，2009，23，1-8．
【発明の概要】
【発明が解決しようとする課題】
【０００８】
前述したＩＣＰは、点群が剛体であるということを前提に提案された技術である。ここで、剛体とは２つの点群間の幾何変換が回転及び平行移動のみであることをいう。従って、ＩＣＰでは、点群が剛体でなければ精度の高い点の対応付けと幾何変換の導出とが不可能である。
【０００９】
点群のレジストレーションを実問題に適用する場合、対象が剛体でない場合が多い。本発明では、地物の集合の位置情報を含む点群を部分的剛体と考える。部分的剛体とは、点群全体としては変形するが、点群中の部分集合については剛体であると考えられるような点群である。
【００１０】
地物の集合の位置情報の代表的な例として、都市部にある設備（電柱、街路樹等）の観測データがある。この場合、目測等で得た位置を台帳等に記録した点群（以下、「設備台帳点群」という）と、下記の参考文献１の技術等を用いてセンサ等の装置による測定結果を解析して記録した点群（以下、「機器測定点群」という）とが存在する場合がある。
［参考文献１］特許第６１１４０５２号公報
【００１１】
設備台帳点群は目視等で位置を測定していることにより、位置情報が正確ではない場合がある。但し、近接する設備の位置の点のなす形状は精度良く保存されている。機器測定点群は、位置情報は正確であるが、自動検出による設備の検出漏れや誤検出があり、あるべき設備がなかったり、存在しない設備が検出されたりする。このように、設備の観測データによる点群は、部分的には剛体であるが、全体としては剛体ではない部分的剛体であると考えられる。
【００１２】
また、都市部の同一エリアの地物集合を、異なる時間に測定した２つの点群も部分的剛体と考えられる。これは、測定時間の違いにより一部の地物に立替、撤去、及び新設等の変化が生じることで全体としては非剛体となるが、部分集合には変化の生じない場所が多く存在し、全体を剛体の部分集合に分割することができるためである。
【００１３】
同様に、自然に存在する地物（岩石等）も、異なる時間に測定をすると、消失するもの、新たに生まれるもの、及び移動するもの等が存在し、全体で見ると非剛体となるが、変化のない部分も多く、部分集合は剛体となる部分的剛体である場合がある。
【００１４】
非特許文献１に記載のＩＣＰによる点群レジストレーション技術は点群が剛体であるということを前提に設計されているため、対象の点群が部分的剛体である場合は精度の良い結果が得られない。
【００１５】
また、特許文献２に記載の技術は、医療画像を対象としており、部分的剛体の点群には適用することができない。
【００１６】
また、特許文献３に記載の技術は、人体モデルを対象としており、部分的剛体の点群には適用することができない。
【００１７】
本発明は、上記の点に鑑みてなされたものであり、部分的剛体である点群を精度良くレジストレーションすることができる点群レジストレーション装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１８】
上記目的を達成するために、本発明に係る点群レジストレーション装置は、第１の入力点群及び第２の入力点群のうち、点の数が少ない点群を小点群とし、点の数が多い点群を大点群として出力する点群入力部と、前記小点群を点間の距離に基づいて複数の点群に分割した中間分割点群を出力する点群分割部と、前記中間分割点群の要素点群のそれぞれを前記大点群にレジストレーションすることによって中間幾何変換及び中間点群対応情報を導出する点群レジストレーション部と、前記中間分割点群、前記中間幾何変換、及び前記中間点群対応情報に基づいて、出力分割点群、出力幾何変換、及び出力点群対応情報を導出する後処理部と、を備えている。
【００１９】
また、本発明に係る点群レジストレーション方法は、点群入力部が、第１の入力点群及び第２の入力点群のうち、点の数が少ない点群を小点群とし、点の数が多い点群を大点群として出力し、点群分割部が、前記小点群を点間の距離に基づいて複数の点群に分割した中間分割点群を出力し、点群レジストレーション部が、前記中間分割点群の要素点群のそれぞれを前記大点群にレジストレーションすることによって中間幾何変換及び中間点群対応情報を導出し、後処理部が、前記中間分割点群、前記中間幾何変換、及び中間点群対応情報に基づいて、出力分割点群、出力幾何変換、及び出力点群対応情報を導出する。
【００２０】
また、本発明に係るプログラムは、コンピュータを、上記の点群レジストレーション装置の各部として機能させるためのプログラムである。
【発明の効果】
【００２１】
本発明の点群レジストレーション装置、方法、及びプログラムによれば、部分的剛体である点群を精度良くレジストレーションすることができる、という効果が得られる。
【図面の簡単な説明】
【００２２】
【図１】実施の形態に係る点群レジストレーション装置の構成を示すブロック図である。
【図２】実施の形態に係る点群データのデータ形式の一例を示す図である。
【図３】実施の形態に係る点群入力部による処理を説明するための図である。
【図４】対象が設備台帳点群及び機器測定点群である場合の点群レジストレーション装置の構成を示すブロック図である。
【図５】直線分割部及び距離分割部による処理を説明するための図である。
【図６】中間分割点群を導出する処理の擬似コードの一例を示す図である。
【図７】実施の形態に係る点群レジストレーション部による処理を説明するための図である。
【図８】実施の形態に係る出力点群対応導出部による処理を説明するための図である。
【図９】実施の形態に係る出力点群分割導出部及び出力幾何変換導出部による処理を説明するための図である。
【図１０】出力点群対応情報の要素で対応付けられている点をグループに加える処理の擬似コードの一例を示す図である。
【図１１】グループに属さない点を所属させる分割点群を決定する処理の擬似コードの一例を示す図である。
【図１２】実施の形態に係る点群レジストレーション処理ルーチンを示すフローチャートである。
【図１３】対象が設備台帳点群及び機器測定点群である場合の点群レジストレーション処理ルーチンを示すフローチャートである。
【発明を実施するための形態】
【００２３】
以下、図面を参照して本発明の実施の形態を詳細に説明する。なお、以下の実施形態では、点群の位置が２次元座標で表される場合について説明する。
【００２４】
＜点群レジストレーション装置の構成＞
本実施の形態に係る点群レジストレーション装置は、ＣＰＵと、ＲＡＭと、後述する処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、不揮発性の記憶装置と、を含むコンピュータで構成することができる。点群レジストレーション装置１０は、機能的には図１に示すように、点群入力部１１、点群分割部１２、点群レジストレーション部１３、後処理部１４、及び記憶部１５を備えている。
【００２５】
点群入力部１１、点群分割部１２、点群レジストレーション部１３、及び後処理部１４は、ＣＰＵがプログラムを実行することによって実現される。また、記憶部１５は、不揮発性の記憶装置によって実現される。なお、記憶部１５は、点群レジストレーション装置１０と通信可能な外部装置に設けられてもよい。
【００２６】
点群入力部１１は、点群レジストレーション装置１０に対して入力される２つの点群のデータを受け付ける。この２つの点群のデータは、同一の地物を２種類の異なる手法によって得られた点群のデータであり、以下では、一方の点群（第１の入力点群）を「入力点群Ａ」といい、他方の点群（第２の入力点群）を「入力点群Ｂ」という。図２に、点群データのデータ形式の一例を示す。図２に示すように、点群データは、Ｘ座標及びＹ座標を含む位置情報と、各種属性とを含むデータである。本実施形態では、位置情報及び属性のうち、位置情報のみを用いる。
【００２７】
なお、点群入力部１１は、例えば、ＣＤ−ＲＯＭやＵＳＢ（Universal Serial Bus）メモリ等の記録媒体に記録された点群データを読み出してもよい。また、点群入力部１１は、ネットワークを介して他の情報処理装置から点群データを受信しても良い。また、点群入力部１１は、点群データの入力を受け付けることが可能な構成であれば、さらに異なる態様で構成されても良い。
【００２８】
図３に示すように、点群入力部１１は、受け付けた入力点群Ａ及び入力点群Ｂのうち、点の数が少ない点群を小点群とし、点の数が多い点群を大点群として、記憶部１５に出力（記憶）する。
【００２９】
以降、本実施の形態に係る点群レジストレーション装置１０は、小点群を大点群に対してレジストレーションする処理を行う。これは、小点群を大点群に対してレジストレーションする方が、大点群を小点群に対してレジストレーションするよりも精度が向上するためである。なお、点群入力部１１の処理によりレジストレーション元データと対象データとが入れ替わることがあるが、これに対応するために本実施の形態に係る点群レジストレーション装置１０は後処理部１４を備える。
【００３０】
点群分割部１２は、記憶部１５に記憶された小点群を複数の点群に分割した中間分割点群を導出し、導出した中間分割点群を記憶部１５に記憶する。点群分割部１２は、対象とする点群データの性質に応じて分割方法を決定する。その際、点群分割部１２では、点群を剛体の要素に分割可能な分割方法が選択される。
【００３１】
具体的には、例えば、点群分割部１２は、小点群に含まれるある点とその点に対して最も近い点との距離が閾値未満の場合、それら２つの点が同じ中間分割点群に含まれるように分割することによって、小点群を中間分割点群に分割する。
【００３２】
なお、レジストレーションの対象が設備台帳点群及び機器測定点群である場合は、図４に示すように、点群分割部１２は、直線分割部１６及び距離分割部１７を含んでもよい。
【００３３】
図５を参照して、直線分割部１６及び距離分割部１７による処理を説明する。直線分割部１６は、記憶部１５に記憶された小点群の点群データから直線を検出し、検出した直線上に並ぶ点群を１つのセグメントとして分割を行い、分割して得られた直線分割点群、及び検出した直線の直線パラメータを記憶部１５に記憶する。本実施の形態では、直線の検出手法として、Ｒａｎｓａｃ（Radom sample consensus）手法を用いて、直線モデルを小点群に当てはめる手法を適用する。
【００３４】
この手法により、小点群の中からＮ本の直線ｌｎ（ｎ＝１、２、…、Ｎ）が得られる。なお、直線ｌｎは、以下の（１）式に示すように１本あたり２つのパラメータ（ａｎ、ｂｎ）を持つため、直線分割部１６は、合計２Ｎ個の直線パラメータを導出する。
【００３５】
【数１】
2019101987.tif 000003
【００３６】
以下の（２）式に示すように、直線ｌｎとの距離が閾値ｄ１未満の点の集合を考えることによって、小点群をＮ個の点群Ｐｎに分割することができる。（２）式におけるＰは小点群を表し、ＡＴはＡの転置を表す。
【００３７】
【数２】
2019101987.tif 000004
【００３８】
直線分割部１６は、点群Ｐｎを直線分割点群とし、（ａｎ、ｂｎ）を直線パラメータとして、記憶部１５に記憶する。
【００３９】
距離分割部１７は、直線分割部１６により得られた各直線分割点群Ｐｎ（ｎ＝１、２、…、Ｎ）を、さらに点間距離により分割し、分割して得られた点群を中間分割点群として記憶部１５に記憶する。具体的には、距離分割部１７は、各直線分割点群Ｐｎ中の各点
2019101987.tif 000005
を直線ｌｎ上に投影した１次元座標ｐｒｏｊｎ（ｘｎｉ，ｙｎｉ）間の距離と閾値ｄ２との比較により分割を行い、中間分割点群Ｇｍ（ｍ＝１、２、…、Ｍ）を得る。１次元座標ｐｒｏｊｎ（ｘｎｉ，ｙｎｉ）の導出式を以下の（３）式に示す。また、図６に、中間分割点群Ｇｍを導出するための擬似コードの一例を示す。
【００４０】
【数３】
2019101987.tif 000006
【００４１】
ここで点群を直線上に配置されるグループに分割し、さらに距離で分割したのは剛体とみなせる部分点群に分割するためである。街路樹及び電柱等の設備は道路に沿って存在する場合が多い。道路は、多くの場合、線分の組み合わせであるため、直線上に並ぶ点群のグループを作ることで、道路の同じ側に存在する設備をセグメンテーション化することができる。また、距離によって分割することで、さらにまとまって存在する設備の集合を作ることができる。人間が目視で設備位置を記録する際は、道路の何れの側にあるかに着目し、次にまとまりに着目すると考えられる。その小さいまとまりについては幾何形状が維持されやすいので、直線分割部１６及び距離分割部１７の組み合わせにより部分剛体の点群を精度良く得ることができる。
【００４２】
図７を参照して、点群レジストレーション部１３による処理を説明する。点群レジストレーション部１３は、記憶部１５に記憶された大点群及び中間分割点群を入力とし、中間分割点群の要素点群それぞれについて、大点群に対してレジストレーションをすることで、中間幾何変換及び中間点群対応情報を導出する。また、点群レジストレーション部１３は、導出した中間幾何変換及び中間点群対応情報を記憶部１５に記憶する。具体的には、点群レジストレーション部１３は、計算対象選別部１８及び幾何変換導出部１９を含む。点群レジストレーション部１３は、計算対象選別部１８及び幾何変換導出部１９による処理が収束するまで、もしくは計算対象選別部１８及び幾何変換導出部１９による処理の処理回数が最大繰り返し回数に達するまで処理を繰り返す。以降、この繰り返しの要素（計算対象選別部１８及び幾何変換導出部１９による１回の処理）をイテレーションと呼ぶ。
【００４３】
計算対象選別部１８は、点群Ｇ’ｍ（ｍ＝１、２、…、Ｍ）中の点と大点群中の点との対応をとることによって、次の幾何変換導出部１９で用いる点群対応情報を導出する。ここで、点群Ｇ’ｍは、前回のイテレーションの幾何変換導出部１９による処理により得られた幾何変換（本実施形態では、２次元回転行列Ｒｍと２次元並進ベクトルｔｍ)をＧｍの各要素に適用した点群である。点群Ｇ’ｍは、以下の（４）式で表される。
【００４４】
【数４】
2019101987.tif 000007
【００４５】
なお、初回のイテレーションの場合は、Ｇ’ｍ＝Ｇｍとする。同様に、
2019101987.tif 000008
中の点に、前回のイテレーションの幾何変換導出部１９で得られた幾何変換を適用した座標をｐ’＝Ｒｍ（ｐ＋ｔｍ）と記述する。
【００４６】
具体的には、計算対象選別部１８は、点群Ｇ’ｍ中の点ｐ’ｍｉそれぞれについて大点群Ｑの中で最も近い点ｑｊを対応付け、対応付けの集合Ｈ’ｍを得る。集合Ｈ’ｍは、以下の（５）式で表される。
【００４７】
【数５】
2019101987.tif 000009
【００４８】
さらに、計算対象選別部１８は、以下の（６）式に従って、集合Ｈ’ｍ中の点の組間の移動方向の平均ｔｍを算出する。ここで、（６）式におけるａｖｇ（）は平均を取ることを意味する。
【００４９】
【数６】
2019101987.tif 000010
【００５０】
最終的に計算対象選別部１８が出力する対応付けは、集合Ｈ’ｍに属する組の中で移動方向がＴｍとなす角が閾値（本実施形態では、９０度）未満である対応付けであり、かつ対応付けの際に幾何変換前の点を用いた集合Ｈｍである。この集合Ｈｍは、以下の（７）式で表される。ここで、（７）式における「・」はベクトルの内積を意味する。
【００５１】
【数７】
2019101987.tif 000011
【００５２】
計算対象選別部１８で移動方向により点の組を選別するのは、点群の検出漏れや誤検出による影響を低減するためである。一般的に片方の点群に検出漏れや誤検出が存在する場合に点間の対応付けを試みると、本来は対応しない点と対応付けられてしまうことがある。そのため、他の同じ集合に属する点の対応付けと比較して異なる幾何変換を示すことになる。そこで、計算対象選別部１８では、異なる移動方向の対応を取り除くことで、誤検出や検出漏れが生じた点の対応付けを排除することを試みる。
【００５３】
幾何変換導出部１９は、計算対象選別部１８により導出された対応付け情報Ｈｍから、幾何変換を導出する。本実施形態では、ＩＣＰと同様に、以下の（８）式に従って、２乗誤差を最小化する２次元回転行列Ｒｍと２次元並進ベクトルｔｍを、幾何変換として導出する。
【００５４】
【数８】
2019101987.tif 000012
【００５５】
点群レジストレーション部１３は、計算対象選別部１８及び幾何変換導出部１９による繰り返し処理が終了した時点で、最後のイテレーションで計算対象選別部１８が出力する対応付け情報Ｈｍを中間点群対応情報とし、幾何変換導出部１９が出力する２次元回転行列Ｒｍ及び２次元並進ベクトルｔｍを中間幾何変換として、記憶部１５に記憶する。
【００５６】
図８及び図９を参照して、後処理部１４による処理を説明する。後処理部１４は、入力点群Ａと中間分割点群と中間点群対応情報と中間幾何変換とを入力とし、出力分割点群と出力点群対応情報と出力幾何変換とを記憶部１５に出力（記憶）する。具体的には、後処理部１４は、出力点群対応導出部２０、出力点群分割導出部２１、及び出力幾何変換導出部２２を含む。
【００５７】
入力点群Ａが小点群と対応する場合、後処理部１４は、中間分割点群を出力分割点群とし、中間点群対応情報を出力点群対応情報とし、中間幾何変換を出力幾何変換として記憶部１５に記憶する。これは、この場合、入力点群Ａの全ての点が何れかの部分点群に属しており、全ての点についての幾何変換が得られているためである。
【００５８】
入力点群Ｂが小点群と対応する場合、後処理部１４は、以下に説明する出力点群対応導出部２０、出力点群分割導出部２１、及び出力幾何変換導出部２２による処理を行う。
【００５９】
出力点群対応導出部２０は、中間点群対応情報を入力として、出力点群対応情報を記憶部１５に記憶する。具体的には、出力点群対応導出部２０は、以下の（９）式に従って、中間点群対応情報Ｈｍ（ｍ＝１、２、…、Ｍ）の要素の対応を反転させることで出力点群対応情報
2019101987.tif 000013
を得る。
【００６０】
【数９】
2019101987.tif 000014
【００６１】
出力点群分割導出部２１は、入力点群Ａと出力点群対応導出部２０から出力された出力点群対応情報とを入力とし、出力分割点群を記憶部１５に記憶する。具体的には、まず、出力点群分割導出部２１は、出力点群対応情報の要素
2019101987.tif 000015
で対応付けられている点をグループ
2019101987.tif 000016
に加える。図１０に、このグループに加える処理の擬似コードの一例を示す。
【００６２】
次に、出力点群分割導出部２１は、入力点群Ａ中の点で、何れのグループ
2019101987.tif 000017
にも属さない点を所属させる分割点群を決定する。この際、出力点群分割導出部２１は、注目する点とグループに所属する点の中で注目する点の最近傍の点との距離が閾値ｄ３未満の場合、注目する点を最近傍の点が属する分割点群に加える。一方、出力点群分割導出部２１は、注目する点とグループに所属する点の中で注目する点の最近傍の点との距離が閾値ｄ３以上の場合、対応する幾何変換が計算できなかったと見なして、注目する点を単独の点として新規の分割点群を作る。図１１に、この分割点群を決定する処理の擬似コードを示す。この分割点群を決定する処理により、最終的にＭ’個の分割点群が得られる。出力点群分割導出部２１は、得られた
2019101987.tif 000018
を出力分割点群として、記憶部１５に記憶する。
【００６３】
出力幾何変換導出部２２は、中間幾何変換及び出力分割点群を入力として、出力幾何変換を記憶部１５に記憶する。具体的には、出力幾何変換導出部２２は、ｍが１以上Ｍ以下の場合は、以下の（１０）式及び（１１）式に示すように、出力幾何変換
2019101987.tif 000019
を、中間幾何変換Ｒｍ、ｔｍの逆変換とする。
【００６４】
【数１０】
2019101987.tif 000020
2019101987.tif 000021
【００６５】
一方、出力幾何変換導出部２２は、ｍがＭ＋１以上Ｍ’以下の場合は、以下の（１２）式及び（１３）式に示すように、出力幾何変換
2019101987.tif 000022
を、単位行列（（１２）式におけるI）及びゼロベクトル（（１３）式における０）とする。そして、出力幾何変換導出部２２は、導出した出力幾何変換を記憶部１５に記憶する。
【００６６】
【数１１】
2019101987.tif 000023
2019101987.tif 000024
【００６７】
＜点群レジストレーション装置の作用＞
次に、本実施の形態に係る点群レジストレーション装置１０の作用について説明する。例えば、２つの入力点群Ａ、Ｂが点群レジストレーション装置１０に入力された場合に、点群レジストレーション装置１０によって図１２に示す点群レジストレーション処理ルーチンが実行される。
【００６８】
ステップＳ１０では、点群入力部１１は、点群レジストレーション装置１０に対して入力された入力点群Ａ及び入力点群Ｂを受け付ける。そして、点群入力部１１は、受け付けた入力点群Ａ及び入力点群Ｂのうち、点の数が少ない点群を小点群とし、点の数が多い点群を大点群として、記憶部１５に記憶する。
【００６９】
ステップＳ１２では、点群分割部１２は、小点群に含まれるある点とその点に対して最も近い点との距離が閾値未満の場合、それら２つの点が同じ中間分割点に含まれるように分割することによって、小点群を中間分割点群に分割する。そして、点群分割部１２は、この分割によって得られた中間分割点群を記憶部１５に記憶する。
【００７０】
ステップＳ１４では、計算対象選別部１８は、前述したように、点群Ｇ’ｍ中の点と大点群中の点との対応をとることによって、次の幾何変換導出部１９で用いる点群対応情報を導出する。ステップＳ１６では、幾何変換導出部１９は、前述したように、上記（８）式に従って、ステップＳ１４で導出された点群対応情報Ｈｍから、２次元回転行列Ｒｍと２次元並進ベクトルｔｍを幾何変換として導出する。前述したように、点群レジストレーション部１３は、このステップＳ１４及びステップＳ１６の処理（イテレーション）を、処理が収束するまで、もしくは処理回数が最大繰り返し回数に達するまで繰り返す。
【００７１】
ステップＳ１８では、点群レジストレーション部１３は、最終的にステップＳ１４で導出された点群対応情報を中間点群対応情報とし、最終的にステップＳ１６で導出された幾何変換を中間幾何変換として、記憶部１５に記憶する。
【００７２】
ステップＳ２０では、後処理部１４は、ステップＳ１０で受け付けられた入力点群Ａが、記憶部１５に記憶された小点群に対応するか否かを判定する。この判定が肯定判定となった場合は、処理はステップＳ２２に移行する。ステップＳ２２では、後処理部１４は、中間分割点群を出力分割点群とし、中間点群対応情報を出力点群対応情報とし、中間幾何変換を出力幾何変換として記憶部１５に記憶する。
【００７３】
一方、ステップＳ２０の判定が否定判定となった場合は、処理はステップＳ２４に移行する。ステップＳ２４では、出力点群対応導出部２０は、前述したように、上記（９）式に従って、中間点群対応情報Ｈｍの要素の対応を反転させることで出力点群対応情報を導出し、導出した出力点群対応情報を記憶部１５に記憶する。
【００７４】
ステップＳ２６では、出力点群分割導出部２１は、前述したように、入力点群Ａ中の点で、ステップＳ２４で導出された出力点群対応情報の要素で対応付けられている点をグループに加える。そして、出力点群分割導出部２１は、前述したように、入力点群Ａ中の点で、何れのグループにも属さない点を所属させる分割点群を決定する。これらの処理によって、出力点群分割導出部２１は、出力分割点群を導出し、導出した出力分割点群を記憶部１５に記憶する。
【００７５】
ステップＳ２８では、出力幾何変換導出部２２は、ｍが１以上Ｍ以下の場合は、上記（１０）式及び（１１）式に示すように、出力幾何変換を中間幾何変換Ｒｍ、ｔｍの逆変換として導出する。また、出力幾何変換導出部２２は、ｍがＭ＋１以上Ｍ’以下の場合は、上記（１２）式及び（１３）式に示すように、出力幾何変換を単位行列及びゼロベクトルとして導出する。そして、出力幾何変換導出部２２は、導出した出力幾何変換を記憶部１５に記憶する。
【００７６】
ステップＳ２２の処理、又はステップＳ２８の処理が終了すると、点群レジストレーション処理ルーチンが終了する。
【００７７】
なお、レジストレーションの対象が設備台帳点群及び機器測定点群である場合、点群レジストレーション装置１０は、図１２におけるステップＳ１２をステップＳ１２Ａ及びステップＳ１２Ｂに置き換えた点群レジストレーション処理ルーチン（図１３参照）を実行してもよい。
【００７８】
この場合、図１３のステップＳ１２Ａでは、直線分割部１６は、前述したように、記憶部１５に記憶された小点群の点群データから直線を検出し、検出した直線上に並ぶ点群を１つのセグメントとして分割を行い、分割して得られた直線分割点群、及び検出した直線の直線パラメータを記憶部１５に記憶する。
【００７９】
次のステップＳ１２Ｂでは、距離分割部１７は、前述したように、ステップＳ１２Ａで得られた各直線分割点群を、さらに点間距離により分割し、分割して得られた点群を中間分割点群として記憶部１５に記憶する。
【００８０】
以上説明したように、本実施の形態によれば、部分的剛体である点群を精度良くレジストレーションすることができる。
【００８１】
なお、本発明は、前述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【００８２】
例えば、上記実施の形態では、点群の位置が２次元座標で表される場合について説明したが、これに限定されない。例えば、点群の位置がさらに高さ情報を有する３次元座標で表される形態としてもよい。この場合、上記実施の形態で説明した２次元幾何の式を３次元幾何の式に拡張することによって、上記実施の形態と同様の点群レジストレーション処理が可能となる。
【００８３】
また、上記実施の形態では、点群レジストレーション装置１０の各機能部を、プログラムを実行することによって実現する場合を例に説明したが、これに限定されない。点群レジストレーション装置１０の各機能部を、ＦＰＧＡ（Field-Programmable Gate Array）等のハードウェアで実現してもよいし、ハードウェアとソフトウェアとの組み合わせで実現してもよい。
【００８４】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能であるし、ネットワークを介して提供することも可能である。
【符号の説明】
【００８５】
１０  点群レジストレーション装置
１１  点群入力部
１２  点群分割部
１３  点群レジストレーション部
１４  後処理部
１５  記憶部
１６  直線分割部
１７  距離分割部
１８  計算対象選別部
１９  幾何変換導出部
２０  出力点群対応導出部
２１  出力点群分割導出部
２２  出力幾何変換導出部
【図１】
2019101987.tif 000025
【図２】
2019101987.tif 000026
【図３】
2019101987.tif 000027
【図４】
2019101987.tif 000028
【図５】
2019101987.tif 000029
【図６】
2019101987.tif 000030
【図７】
2019101987.tif 000031
【図８】
2019101987.tif 000032
【図９】
2019101987.tif 000033
【図１０】
2019101987.tif 000034
【図１１】
2019101987.tif 000035
【図１２】
2019101987.tif 000036
【図１３】
2019101987.tif 000037