JP6910820B2 - 点群データ処理装置、点群データ処理方法、点群データ処理用プログラム - Google Patents

点群データ処理装置、点群データ処理方法、点群データ処理用プログラム Download PDF

Info

Publication number
JP6910820B2
JP6910820B2 JP2017039043A JP2017039043A JP6910820B2 JP 6910820 B2 JP6910820 B2 JP 6910820B2 JP 2017039043 A JP2017039043 A JP 2017039043A JP 2017039043 A JP2017039043 A JP 2017039043A JP 6910820 B2 JP6910820 B2 JP 6910820B2
Authority
JP
Japan
Prior art keywords
marker
point cloud
point
data processing
markers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017039043A
Other languages
English (en)
Other versions
JP2018147065A (ja
Inventor
隆浩 古明地
隆浩 古明地
直樹 森川
直樹 森川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Topcon Corp
Original Assignee
Topcon Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Topcon Corp filed Critical Topcon Corp
Priority to JP2017039043A priority Critical patent/JP6910820B2/ja
Priority to EP18157061.5A priority patent/EP3370209A1/en
Priority to US15/905,887 priority patent/US10810699B2/en
Publication of JP2018147065A publication Critical patent/JP2018147065A/ja
Application granted granted Critical
Publication of JP6910820B2 publication Critical patent/JP6910820B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/14Transformations for image registration, e.g. adjusting or mapping for alignment of images
    • G06T3/153Transformations for image registration, e.g. adjusting or mapping for alignment of images using elastic snapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Architecture (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)

Description

本発明は、点群データの処理技術に関する。
レーザスキャナやステレオ写真計測によって得られる点群データが知られている(例えば特許文献1や2を参照)。点群データは、対象物を点の集合として捉えたもので、各点の三次元座標を取得したデータである。点群データは、三次元レーザスキャナによる測定やステレオ写真画像から特徴点を抽出し、各特徴点の三次元座標をステレオ写真測量の原理で算出することで得られる。
国際公開番号WO2011/070927号公報 特開2012−230594号公報
点群データをPC等の表示画面上に3D表示させると、対象物の点群(点の集合)によって測定対象物の三次元形状が表示される。点群データの主な活用方法として、点群データから三次元モデルを得る技術がある。三次元モデルは、対象物の輪郭線データを画面表示することができ、CADソフト上で扱う三次元データと親和性が高い。
点群データは、視点から影となる部分は得られない。これをオクルージョンという。よって、オクルージョンのない三次元モデルを作成する場合、複数の視点から点群を得、それを合成する。この際、異なる視点から得た点群同士をマッチングさせる作業が必要となる。
この作業では、作業者がPC(パーソナルコンピュータ)等を操作して、2つの点群の間における複数の点の対応関係を指定する。具体的には、第1の点群における特定の点と、それに対応する第2の点群における特定の点とが作業者のマニュアル操作によって指定され、更にこの作業が複数の点において行われる。
この作業の際、点群の平行移動と回転を行う操作が行われるが、この際の作業性が作業効率に大きく影響する。本発明は、表示画面上に表示された複数の点群データの位置合わせを行う作業の効率を改善することを目的とする。
請求項1に記載の発明は、表示画面上に、位置合わせ用の複数のマーカを含む第1の点群および位置合わせ用の複数のマーカを含む第2の点群が表示された状態において、一方の点群における前記マーカを指定した際に、対応する他方の点群のマーカを算出する対応マーカ算出部を備え、前記対応マーカ算出部は、当該点群における指定したマーカと他のマーカの相対位置関係に基づき、前記対応する他方の点群のマーカの特定を行う点群データ処理装置である。
請求項2に記載の発明は、請求項1に記載の発明において、前記一方の点群において指定された第1のマーカと、該第1のマーカに対応する他方の点群における第2のマーカとの前記表示画面上における距離が規定の値以下となった場合に、前記表示画面上おいて前記第1のマーカと前記第2のマーカとを一致させる処理を実行する一致処理部を備えることを特徴とする。
請求項3に記載の発明は、請求項1または2に記載の発明において、前記第1の点群と前記第2の点群における共通の点が画面上で一致した段階で、前記共通な点を中心とした前記第1の点群または前記第2の点群の回転を前記表示画面上で制御する回転表示制御部を備えることを特徴とする。
請求項4に記載の発明は、請求項1〜3のいずれか一項に記載の発明において、前記相対位置関係は、前記指定した前記マーカと他のマーカを頂点とした図形により特定されることを特徴とする。
請求項5に記載の発明は、請求項4に記載の発明において、前記相対位置関係は、前記指定した前記マーカと他のマーカとの間の距離および/または方向によって規定されることを特徴とする。
請求項6に記載の発明は、請求項1〜5のいずれか一項に記載の発明において、前記表示画面上に、前記第1の点群と前記第2の点群とを位置をずらして表示することを特徴とする。
請求項7に記載の発明は、表示画面上に、位置合わせ用の複数のマーカを含む第1の点群および位置合わせ用の複数のマーカを含む第2の点群が表示された状態において、一方の点群における前記マーカを指定した際に、対応する他方の点群のマーカを算出する対応マーカ算出処理を行い、前記対応マーカ算出処理では、当該点群における指定したマーカと他のマーカの相対位置関係に基づき、前記対応する他方の点群のマーカの特定が行なわれる点群データ処理方法である。
請求項8に記載の発明は、コンピュータに読み取らせて実行させるプログラムであって、コンピュータを表示画面上に、位置合わせ用の複数のマーカを含む第1の点群および位置合わせ用の複数のマーカを含む第2の点群が表示された状態において、一方の点群における前記マーカを指定した際に、対応する他方の点群のマーカを算出する対応マーカ算出部として動作させ、前記対応マーカ算出部は、当該点群における指定したマーカと他のマーカの相対位置関係に基づき、前記対応する他方の点群のマーカの特定を行う点群データ処理用プログラムである。
本発明によれば、ディスプレイに表示された複数の点群データの位置合わせを行う作業の効率が改善される。
実施形態の原理図である。 実施形態の原理図である。 実施形態の原理図である。 実施形態の原理図である。 実施形態の原理図である。 実施形態の原理図である。 実施形態のブロック図である。 実施形態の処理の手順の一例を示すフローチャートである。 実施形態の処理の手順の一例を示すフローチャートである。 表示画面の一例を示す図面代用写真である。 表示画面の一例を示す図面代用写真である。 表示画面の一例を示す図面代用写真である。 表示画面の一例を示す図面代用写真である。 表示画面の一例を示す図面代用写真である。 表示画面の一例を示す図面代用写真である。 表示画面の一例を示す図面代用写真である。
(概要)
図1には、PC(パーソナルコンピュータ)等のディスプレイ装置(例えば、液晶ディスプレイ)上に異なる視点から取得した2つの点群が表示された状態が示されている。図1に示す2つの点群は、測定対象の範囲が重なるように異なる2つの視点からレーザスキャンを行うことで得ている。
図1に示す2つの点群は、鉛直上方から見た状態のものが示されている。また、図1には、2つの点群をずらして表示させ、2つの点群の関係が把握し易いようにしている。なお、実際の表示では、第1の点群と第2の点群で点の色を変え、識別がし易いようにしている。また図1には、表示スケールを合わせた状態で第1の点群と第2の点群を表示した状態が示されている。
図1における◎の点は、専用のターゲットを用いた反射点である。以下、◎の反射点をマーカと称する。3つのマーカは、2つの点群で共通であり、このマーカを利用して第1の点群と第2の点群との位置合わせが行われる。なお、この例では、マーカが3点用意されているが、さらに多くのマーカを用いてもよい。
以下、使用するPCのディスプレイ上において、図1に示す画面表示された2つの点群のマッチング(位置合わせ)を行う手順の一例を説明する。なお、以下の処理を行うハードウェアについては後述する。まず、図1に示すように、画面上に鉛直上方から見た視点で描写した第1の点群と第2の点群を極力重ならないように離して表示する。
ここで、ユーザは、使用するPCを操作し、一方の点群(この場合は、第2の点群)における3つあるマーカの中の一つを指定する。マーカが指定されたら、その点を視認し易いように当該マーカを強調表示する。この例では、ユーザによってマーカ11(図2参照)が指定され、その◎表示の中心を黒点とする強調表示が行われた例が示されている。
次に、指定されたマーカ11の識別情報が取得される。マーカ11の識別情報を得たら、第1の点群における対応するマーカ21を特定する(図2参照)。それぞれのマーカは、予め設置位置がトータルステーション等を用いて特定されており、番号等の識別データと関連付けされている。当然、第1の点群のマーカも第2の点群と同じものであるので、第2の点群におけるマーカ11が特定されれば、対応する第1の点群におけるマーカ21も特定できる。
なお、視点の違いに起因して、一方のレーザスキャナから見えて、他方のレーザスキャナから見えないマーカが存在する場合も有り得る。この場合、第1の点群と第2の点群とで全てのマーカが対応しない。図1の例では、第1の点群と第2の点群において、同じマーカが検出された場合が示されている。
なお、予め決めておいた識別データが取得できない場合も有り得る。例えば、取得された点群データにおいて、マーカは専用のターゲットとして他の点とは識別できているが、その位置情報や識別情報が判らない場合がある。また例えば、工事現場でレーザスキャナを用いた点群データの取得が行われ、このデータの処理が後日遠隔地の事務所等でレーザスキャナのオペレータと違うオペレータにより行われる場合等に上記の状況となることがある。
このような場合は、着目したマーカの識別情報として、他のマーカとの相対位値関係を利用する。例えば、図1のようにマーカが3つあったとする。この場合、3つのマーカを頂点とする三角形を作成する。通常この三角形は、正三角形や2等辺三角形でなく歪な対称性のない形状となる。こうして、第1の点群で3つのマーカを頂点とする第1の三角形を形成し、第2の点群で3つのマーカを頂点とする第2の三角形を形成する。
図1の場合、3つのマーカは共通である。よって、第1の三角形と第2の三角形は一致し、各頂点の対応関係は特定できる。したがって、図2に示すように、第2の点群で指定されたマーカ11に対応する第1の点群におけるマーカ21を特定できる。
マーカの数が4以上の場合は、各マーカを頂点とする多角形をそれぞれの点群で作成し、この多角形同士を比較して、各頂点の対応関係を特定することで、一方の点群で指定されたマーカに対応する他方の点群のマーカを特定する。また、点群の各点は、三次元空間上に分布しているので、4以上のマーカの位置を頂点とする多面体を第1の点群と第2の点群とにおいて作成し、2つの点群において、この多面体の対応関係を調べることで、一方の点群で指定されたマーカに対応する他方の点群のマーカを特定することもできる。
また、2つの点群で対応しないマーカが存在する場合は、点群に含まれる一部のマーカを用いて多角形または多面体を形成し、2つの点群で形状が一致する多角形または多面体の探索を行う。そして、一致する多角形または多面体の探索ができた段階で、対応する他方の点群におけるマーカを特定する。
こうして、図2に示すように第2の点群で指定されたマーカ11に対応する第1の点群のマーカ21を特定する。図2には、対応する第1の点群のマーカ21も指定した第2の点群のマーカ11と同様に強調表示とした場合が示されている。なお、マーカ21の強調表示は、マーカ11とマーカ21との距離が規定の距離以下となった段階で行ってもよい。
図2の状態を得たら、ユーザはPCのGUI(Graphical User Interface)を用いて第2の点群を第1の点群の方向に移動させ、両者を画面上で近接させる(図3参照)。この際、対応する2つのマーカ(ユーザに指定された第2の点群のマーカ11と、それに対応する第1の点群のマーカ21)の画面上における距離が予め定めた値以下になった段階で、2つのマーカを画面上で強制的に一致させる。この状態が図4に示されている。
この処理は、一方のマーカを他方のマーカに強制的に引き込むことで両者を画面上で一致させる方法、あるいは両方のマーカを互いに引き寄せることで両者を画面上で一致させる方法で行われる。
図4の符号30は、マーカ11と21を一致させることで得た第1の点群と第2の点群で重畳された重畳マーカである。この状態で、重畳マーカ30を中心として、少なくとも一方の点群を回転させることが可能な状態に移る。この回転の操作は、ユーザにより行われる。
以下、図5を参照して上記の回転の操作について説明する。この操作では、第2の点群におけるマーカの中から、第2のマーカであるマーカ12がユーザにより選択される(例えば、マウスの左クリックで指定)。指定されたマーカ12は、図5に示すように強調表示される。そして、ユーザが使用しているPCのGUIを用いてマーカ12を動かすと、重畳マーカ30を中心に第2の点群全体が表示画面に垂直な方向(点群の鉛直方向)を軸として回転する。図5には、時計回りに第2の点群が回転する様子が示されている。
この際、マーカ12に対応する第1の点群におけるマーカ22が特定され、その表示が強調表示とされる。対応関係の特定に係る処理は、マーカ11と12の対応関係を特定した場合と同じである。
図5に示すように、重畳マーカ30を中心に第2の点群を時計回り方向で回転させると、マーカ12と22が次第に近づく。そして、マーカ12と22の画面上における距離が、予め定めた値以下となった段階で、マーカ12をマーカ22に画面上で一致させる処理が行われる。この処理では、マーカ12と22が画面上で一致するように、第2の点群を強制的に回転させる処理が行われる。
上記の処理により、マーカ11と21が重なった状態で、更にマーカ12と22が重なり、図6の状態が得られる。マーカ12と22が一致することで、重畳マーカ40が得られる。重畳マーカ30と40で示されるように、2組のマーカ(マーカ11と21の組、マーカ12と22の組)を画面上でそれぞれ一致させることで、第1の点群と第2の点群とが一致する。
なお、第1の点群と第2の点群において、マーカ以外の点は、必ずしも一致しない。また、第1の点群を取得する視点から見えて、第2の点群を取得する視点から見えない点およびその逆の場合の点もあるので、図8に示すように、両者で対応しない点群の領域も存在する。
(優位性)
以上のようにして、図1の第1の点群と第2の点群とを画面上で位置合わせし、合成する処理が行われる。この際、マーカ11,21の強調表示、マーカ11と12の自動引き込み処理(強制一致処理)、重畳マーカ30を中心とした回転が許容される処理、この回転を行う段階におけるマーカ12と22の自動引き込み処理(強制一致処理)により、簡便な操作により、2つの点群の位置合わせを行うことができる。
また、第1の点群と第2の点群におけるマーカの予め定めた識別情報が利用できない場合に、マーカを頂点とした多角形または多面体を作成し、2つの点群におけるこの多角形または多面体の対応関係を探索することで、2つの点群で対応するマーカの対応関係を特定することができる。
(ハードウェアの構成)
図7に点群データ処理装置100が示されている。点群データ処理装置100は、図1〜図6に係る処理を行うための装置である。点群データ処理装置100は、市販のPC(パーソナルコンピュータ)を利用して構成されている。点群データ処理装置100は、図示する機能を実現するアプリケーションソフトウェアをPCにインストールし、当該アプリケーションソフトウェアを起動することで実現される。
PCを利用した場合、図7に図示する各機能部は、ソフトウェア的に構成される。なお、図7に示す各機能部の一部または全部を専用の演算回路によって構成してもよい。また、ソフトウェア的に構成された機能部と、専用の演算回路によって構成された機能部が混在していてもよい。例えば、図示する各機能部は、CPU(Central Processing Unit)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)に代表されるPLD(Programmable Logic Device)などの電子回路により構成される。
各機能部を専用のハードウェアで構成するのか、CPUにおけるプログラムの実行によりソフトウェア的に構成するのかは、要求される演算速度、コスト、消費電力等を勘案して決定される。機能部を専用のハードウェアで構成することとソフトウェア的に構成することは、上述した違いはあるが、特定の機能を実現するという観点からは、等価である。
図7に示す点群データ処理装置100は、点群データ受付部101、指定マーカ受付部110、点群表示制御部120、対応マーカ取得部130、対応マーカ算出部140、引き込み処理条件判定部150、画像表示部160、処理制御部170、記憶部180を備えている。また、点群表示制御部120は、離間表示制御部121、強調表示制御部122、引き込み処理部123および回転表示制御部124を含んでいる。
点群データ受付部101は、レーザスキャナで取得した点群データを受け付ける。レーザスキャナについては、特開2010−151682号公報、特開2008−268004号公報、米国特許8767190号公報、米国特許7969558号公報等に記載されている。点群データは、ステレオ写真画像に基づき作成したものを用いることもできる。この技術については、例えば特開2013―186816号公報や特開2013−178656号公報等に記載されている。指定マーカ受付部110は、ユーザにより指定されたマーカの情報を受け付ける。例えば、使用するPCのGUIを用いて、ユーザにより図2のマーカ11が指定された場合、その旨の情報が指定マーカ受付部110で受け付けられる。
点群表示制御部120は、画面表示部(液晶ディスプレイ等)160に表示された点群の表示制御を行う。例えば、図1〜6に示す点群表示画面の制御が点群表示制御部120において行われる。点群表示制御部120は、離間表示制御部121、強調表示制御部122、引き込み処理部123、回転表示制御部124を備える。
離間表示制御部121は、図1に示す様に2つの点群を表示画面上で離間させる表示を行う。なるべく2つの点群の表示が重ならないようにすることで、図2〜図6に示す処理係るユーザ側の操作が行い易くなる。強調表示制御部122は、ユーザにより指定されたマーカの表示を強調表示する処理を行う。強調表示としては、図2に示すような黒点とする方法、点滅表示とする方法、表示されるマーカの形状を他のマーカと異なる形状とする(例えば、四角表示を三角表示に変更する)方法等が挙げられる。
引き込み処理部123は、ユーザが指定した一方の点群のマーカと、このマーカに対応する他方の点群のマーカとが、画面上で近づいた際に、その距離が予め定めた値以下となった段階で、両者を強制的に一致させる処理を行う。
例えば、図3の場合、ユーザの操作により、第2の点群を第1の点群に画面上で近づけていった場合に、マーカ11とマーカ21との距離が閾値以下となった段階で、マーカ11とマーカ21とが画面上で一致するように、第2の点群を画面上で強制的に移動させる処理が引き込み処理部123において行われる。
また、例えば図5に示すように、ユーザにより、重畳マーカ30を中心に第2の点群を回転させる操作が行われた際に、マーカ12とマーカ21の画面上での距離が閾値以下となった段階で、マーカ12とマーカ21とが画面上で重なるように第2の点群を強制的に回転させる処理が引き込み処理部123において行われる。
回転表示制御部124は、図4になった段階で第2の点群の表示を、鉛直方向を回転軸として回転させる操作が表示画面上で行えるようにする制御を行う。すなわち、図5に示すように、マーカ12を指定し、それを画面上で動かす操作を行うと、重畳マーカ30を中心に第2の点群が画面上で回転する表示が行われる制御が回転表示制御部124で行われる。
対応マーカ取得部130は、一方の点群で指定したマーカに対応する他方の点群のマーカを取得する。対応するマーカの取得には、2つの形態がある。第1の形態は、各マーカに関連付けされた番号等の識別情報をデータベース上から取得し、それを利用して他方の点群の中から対応するマーカを取得する形態である。この場合、各マーカの識別情報は、予め取得され、マーカ毎に関連付けされ、データベース化されている。
第2の形態は、マーカの識別情報が用意されていない場合である。この場合、前述した各マーカを頂点とした多角形または多面体を各点群において作成し、その相似性(対応関係)を利用して、一方の点群で指定されたマーカに対応する他方の点群のマーカを特定する。
対応マーカ算出部140は、一方の点群でマーカが指定され場合に、当該点群における着目しているマーカと他のマーカとの相対関係を利用して、他方の点群で対応するマーカを特定する処理を行う。この例では、各マーカを頂点とした多角形または多面体を各点群において作成し、その相似性(対応関係)を利用して、一方の点群で指定されたマーカに対応する他方の点群のマーカを特定する処理を行う。
引き込み処理条件判定部150は、上述した画面上でマーカ同士を強制的に一致させるための条件の判定を行う。画像表示部160は、点群データ処理装置100として使用するPCが備える(あるいは当該PCに接続された)液晶ディスプレイである。処理制御部170は、後述する図7および図8の処理を管理実行する。記憶部180は、点群データ処理装置100で用いる各種データ、動作プログラム、処理の結果得られる各種のデータを記憶する。記憶部180としては、使用するPCのメモリ領域やハードディスク装置が利用される。
(処理の一例)
図8および図9は、図7の点群データ処理装置100で行われる処理の手順の一例を示すフローチャートである。図8および図9に示す処理を実行するためのプログラムは、記憶部180に記憶されている。このプログラムは、適当な識別媒体やサーバに記憶され、そこから提供される形態であってもよい。
処理が開始されると、まず図1に示す様に2つの点群(第1の点群と第2の点群)とを画面上で離して表示させる処理が行われる(ステップS101)。この処理は、離間表示制御部121で行われる。次に、ユーザにより一方の点群のマーカが指定されると、ステップS102からステップS103に進み、指定されたマーカの強調表示(例えば、図2のマーカ11の表示)が行われる。マーカの指定は、指定マーカ受付部110で受け付けられ、強調表示の処理は、強調表示制御部122で行われる。
次に、指定されたマーカに対応する他方の点群のマーカを取得する(ステップS104)。例えば、ユーザにより指定された第1の点群のマーカ11に対応する第2の点群のマーカ21が、予め指定された識別情報を利用して取得される(図2参照)。この処理は、対応マーカ取得部130で行われる。例えば、図2のマーカ11が指定された場合に、マーカ21が対応するマーカとして取得される。
ここで、予め用意した識別情報を利用できない場合、各点群内においてマーカを頂点とした多角形または多面体を形成し、この多角形または多面体の対応関係を用いたマーカの特定が対応マーカ算出部140で行われる。そして、対応マーカ算出部140における演算で特定された他方の点群のマーカが、指定されたマーカに対応する他方の点群のマーカとして対応マーカ取得部130で取得される。
対応するマーカ(例えば、マーカ21)が取得できたら、その表示を強調表示とする(ステップS105)。この処理は、強調表示制御部122で行われる。次に、ユーザに操作されて(図3参照)、一方の点群が他方の点群に近づき、2つの点群で対応するマーカ(例えば、マーカ11と21)が特定の距離まで近づいたか否か、が判定される(ステップS106)。この処理は、引き込み処理条件判定部150で行われる。
対応する2つのマーカの距離が規定値以下である場合、この2つのマーカを画面上で強制的に重ねるために一方のマーカを他方のマーカに引き込む引き込み処理を行う(ステップS107)。例えば、図3におけるマーカ11をマーカ21に引き寄せ、両者を一致させる処理が行われる。ステップS107の処理は、引き込み処理部123で行われる。ステップS107の結果、例えば図5の状態が得られる。図5には、マーカ11とマーカ21を一致させ、重畳マーカ30が得られた状態が示されている。
次に、ステップS108に進み、2つ目のマーカ(例えば、図5のマーカ12)がユーザにより指定されると、指定されたマーカが強調表示される(ステップS109)。この処理は、強調表示制御部122で行われる。
次に、ステップS109で強調表示したマーカに対応する他方の点群のマーカ(例えば、マーカ21に対応するマーカ22)を取得する(ステップS110)。この処理は、対応マーカ取得部130で行われる。この際、必要に応じて対応マーカ算出部140による対応マーカの特定が行われる。
対応するマーカ(例えば、マーカ21に対応するマーカ22)を得たら、その強調表示を行う(ステップS111)。そして、既にステップS107で重畳させたマーカ(例えば、マーカ11と21を重ねた重畳マーカ30)を回転中心とした回転操作が可能な状態に移行する(ステップS112)。この処理は、回転表示制御部124で行われる。
そして、図5に示すようなユーザの操作による一方の点群の回転が行われた結果、ここで対象となる2つのマーカ(例えば、図5のマーカ12と22)の画面上における距離が予め定めた規定値以下であるか否か、が判定され(ステップS113)、当該距離が規定値以下であれば、2つのマーカの表示位置を強制的に一致させる引き込み処理を行い(ステップS114)、処理を終了する。ステップS113の判定は、引き込み処理条件判定部150で行われ、引き込み処理は引き込み処理部123で行われる。
(その他)
点群データを取得した後に、マーカを点群データに付与する形態も可能である。この場合、建物のエッジ部分等の特徴点として識別し易い点に後処理でマーカを付与する。
本明細書で開示する発明では、一方の点群でマーカが指定され場合に、識別情報を利用しないで他方の点群で対応するマーカを特定する方法として、当該点群における着目しているマーカと他のマーカとの相対位置関係を利用している。この相対位置関係を利用する形態としては、実施形態で述べたマーカを頂点とする図形を用いる方法の他に、着目しているマーカと他のマーカとの間の距離を用いる第1の方法、当該マーカと他のマーカを結ぶ複数の直線がなす角度を用いる第2の方法がある。
例えば、第1の方法の場合を説明する。まず、図1のような視点が異なり、同じ対象をから得た2つの点群があるとする。ここで両方の点群には、共通のマーカM1、M2,M3があるとする。この場合、マーカM1とM2との間の距離LM1-M2、マーカM2とM3との間の距離LM2-M3、マーカM1とM3との間の距離LM1-M3を考える。この場合、マーカM1の他のマーカに対する相対関係は、LM1-M2+LM1-M3で定義される。同様に、マーカM2の他のマーカに対する相対関係は、LM1-M2+LM2-M3で定義される。同様に、マーカM3の他のマーカに対する相対関係は、LM1-M3+LM2-M3で定義される。
通常、マーカM1,M2,M3を頂点とする三角形は、正三角形または2等辺三角形ではないので、LM1-M2+LM1-M3,LM1-M2+LM2-M3,LM1-M3+LM2-M3の値は同じではない。よって、LM1-M2+LM1-M3によって、マーカM1が特徴づけられる(他のマーカから識別される)。また、LM1-M2+LM2-M3によってマーカM2が特徴づけられる(他のマーカから識別される)。また、LM1-M3+LM2-M3によってマーカM3が特徴づけられる(他のマーカから識別される)。
よって、両方の点群において、LM1-M2+LM1-M3で特徴付けられるマーカを抽出することで、一方の点群におけるマーカM1と他方の点群におけるマーカM1を対応付けることができる。また、LM1-M2+LM2-M3で特徴付けられるマーカを抽出することで、一方の点群におけるマーカM2と他方の点群におけるマーカM2を対応付けることができる。また、LM1-M3+LM2-M3で特徴付けられるマーカを抽出することで、一方の点群におけるマーカM3と他方の点群におけるマーカM3を対応付けることができる。
また、第1の方法と第2の方法を組み合わせて、点群におけるマーカを特徴付けることもできる。この場合、例えば上記の例において、マーカM1とマーカM2を結ぶ線分を線分LM1-M2とし、マーカM1とマーカM3を結ぶ線分を線分LM1-M3とする。そして、マーカM1を特徴付けるパラメータとして、LM1-M2+LM1-M3と、線分LM1-M2と線分LM1-M3のなす角度Δθを採用する。LM1-M2+LM1-M3とΔθの組み合わせは、マーカM1に固有なものであるので、同様な組み合わせを有するマーカを他方の点群から探索することで、一方の点群におけるマーカM1と他方の点群におけるマーカM1を対応付けることができる。
2つの点群を表示する視点は、鉛直上方に限定されない。例えば、仰角45°や60°といった斜め上方の方向から2つの点群を見た状態を表示し、各点群を平行移動および鉛直方向を軸とした回転が可能な状態とする例が挙げられる。この場合も一方の点群におけるマーカ1の指定、他方の点群における対応するマーカ1’の特定、マーカ1のマーカ1’への移動、マーカ1とマーカ1’とが近接した状態でのマーカ1’へのマーカ1の引き込み、マーカ1とマーカ1’とが一致した状態での一方の点群におけるマーカ2の指定、マーカ2を動かしてのマーカ1とマーカ1’の一致点を中心とした一方の点群の回転、マーカ2に対応する他方の点群のマーカ2’へのマーカ2の引き込みが行われる。
2つの点群のスケールがあっていない場合、一方の点群の縮尺を変更する操作および最終状態における強制縮尺調整が行われる。この場合、図7の構成に強制縮尺調整部を追加し、以下の処理を行う。
図1〜図6の例の場合、第1の点群と第2の点群のスケールがあっていないと、図5の状態で第1の点群を回転させても、マーカ12とマーカ22とは一致しない。この場合、第1の点群を回転させた際に、マーカ12とマーカ22とが最接近した段階で、第1の点群の縮尺を強制的に変更する処理を行う。
例えば、マーカ12とマーカ22とが最接近した段階で、第2の点群の縮尺を拡大し、仮にマーカ12とマーカ22の距離が離れれば、逆に第2の点群の縮尺を縮小し、マーカ12とマーカ22とを画面上で一致させる。また、第2の点群の縮尺を拡大した段階で、マーカ12とマーカ22の距離が近づけば、そのまま拡大を続け、マーカ12とマーカ22とを画面上で一致させる。また、拡大縮小だけではマーカ12とマーカ22とが画面上で一致しない場合は、第2の点群の強制回転処理を併用し、マーカ12とマーカ22との一致を探索する。
(具体例)
図10〜図16には、PCのディスプレイ上の表示された点群の図面代用写真である。図10〜図16には、鉛直上方から見た点群の様子が示されている。
図10には、2つの点群が重ねて表示された状態が示されている。図11には、2つの点群を離して表示した状態が示されている。図12には、上側に表示されている青の点群のマーカSH02を指定し、更に青の点群を平行移動させ、またマーカSH02と、対応する下側に表示されている赤の点群のマーカTAR0001が強調表示された状態が示されている。
図13には、青の点群のマーカSH02と、赤の点群のマーカTAR0001を画面上で一致させた状態が示されている。図14には、青の点群の中から2点目のマーカOCC0001を指定(クリックして捕捉)した状態が示されている。また、マーカOCC0001に対応する他方の点群(赤の点群)のマーカSH01が特定された状態が示されている。
図15には、図14の状態から青の点群を時計回りの方向で回転させ、マーカOCC0001をマーカSH01に近づけた状態が示されている。図16には、マーカOCC0001がマーカSH01に一致し、上側に表示されている青の点群と下側に表示されている赤の点群とが一致した状態が示されている。

Claims (8)

  1. 表示画面上に、位置合わせ用の複数のマーカを含む第1の点群および位置合わせ用の複数のマーカを含む第2の点群が表示された状態において、
    一方の点群における前記マーカを指定した際に、対応する他方の点群のマーカを算出する対応マーカ算出部を備え、
    前記対応マーカ算出部は、当該点群における指定したマーカと他のマーカの相対位置関係に基づき、前記対応する他方の点群のマーカの特定を行う点群データ処理装置。
  2. 前記一方の点群において指定された第1のマーカと、該第1のマーカに対応する他方の点群における第2のマーカとの前記表示画面上における距離が規定の値以下となった場合に、前記表示画面上おいて前記第1のマーカと前記第2のマーカとを一致させる処理を実行する一致処理部を備える請求項1に記載の点群データ処理装置。
  3. 前記第1の点群と前記第2の点群における共通の点が画面上で一致した段階で、前記共通な点を中心とした前記第1の点群または前記第2の点群の回転を前記表示画面上で制御する回転表示制御部を備える請求項1または2に記載の点群データ処理装置。
  4. 前記相対位置関係は、前記指定した前記マーカと他のマーカを頂点とした図形により特定される請求項1〜3のいずれか一項に記載の点群データ処理装置。
  5. 前記相対位置関係は、前記指定した前記マーカと他のマーカとの間の距離および/または方向によって規定される請求項に記載の点群データ処理装置。
  6. 前記表示画面上に、前記第1の点群と前記第2の点群とを位置をずらして表示する請求項1〜のいずれか一項に記載の点群データ処理装置。
  7. 表示画面上に、位置合わせ用の複数のマーカを含む第1の点群および位置合わせ用の複数のマーカを含む第2の点群が表示された状態において、
    一方の点群における前記マーカを指定した際に、対応する他方の点群のマーカを算出する対応マーカ算出処理を行い、
    前記対応マーカ算出処理では、当該点群における指定したマーカと他のマーカの相対位置関係に基づき、前記対応する他方の点群のマーカの特定が行なわれる点群データ処理方法。
  8. コンピュータに読み取らせて実行させるプログラムであって、
    コンピュータを
    表示画面上に、位置合わせ用の複数のマーカを含む第1の点群および位置合わせ用の複数のマーカを含む第2の点群が表示された状態において、
    一方の点群における前記マーカを指定した際に、対応する他方の点群のマーカを算出する対応マーカ算出部として動作させ、
    前記対応マーカ算出部は、当該点群における指定したマーカと他のマーカの相対位置関係に基づき、前記対応する他方の点群のマーカの特定を行う点群データ処理用プログラム。
JP2017039043A 2017-03-02 2017-03-02 点群データ処理装置、点群データ処理方法、点群データ処理用プログラム Active JP6910820B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017039043A JP6910820B2 (ja) 2017-03-02 2017-03-02 点群データ処理装置、点群データ処理方法、点群データ処理用プログラム
EP18157061.5A EP3370209A1 (en) 2017-03-02 2018-02-16 Point cloud data processing device, point cloud data processing method, and point cloud data processing program
US15/905,887 US10810699B2 (en) 2017-03-02 2018-02-27 Point cloud data processing device, point cloud data processing method, and point cloud data processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017039043A JP6910820B2 (ja) 2017-03-02 2017-03-02 点群データ処理装置、点群データ処理方法、点群データ処理用プログラム

Publications (2)

Publication Number Publication Date
JP2018147065A JP2018147065A (ja) 2018-09-20
JP6910820B2 true JP6910820B2 (ja) 2021-07-28

Family

ID=61598843

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017039043A Active JP6910820B2 (ja) 2017-03-02 2017-03-02 点群データ処理装置、点群データ処理方法、点群データ処理用プログラム

Country Status (3)

Country Link
US (1) US10810699B2 (ja)
EP (1) EP3370209A1 (ja)
JP (1) JP6910820B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109726647B (zh) * 2018-12-14 2020-10-16 广州文远知行科技有限公司 点云的标注方法、装置、计算机设备和存储介质
CN110189400B (zh) * 2019-05-20 2023-04-14 深圳大学 一种三维重建方法、三维重建系统、移动终端及存储装置
JP7339069B2 (ja) * 2019-08-27 2023-09-05 ファナック株式会社 加工プログラム生成支援装置
JP7313998B2 (ja) * 2019-09-18 2023-07-25 株式会社トプコン 測量データ処理装置、測量データ処理方法および測量データ処理用プログラム
CN110986969B (zh) * 2019-11-27 2021-12-28 Oppo广东移动通信有限公司 地图融合方法及装置、设备、存储介质
JP6708917B1 (ja) * 2020-02-05 2020-06-10 リンクウィズ株式会社 形状検出方法、形状検出システム、プログラム
JP2023022517A (ja) * 2021-08-03 2023-02-15 株式会社東芝 計測システム及び計測プログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006214893A (ja) * 2005-02-04 2006-08-17 Iwate Univ 対象物測定方法及びコンピュータシステムを用いて対象物の三次元形状を計測するためのコンピュータソフトウエアプログラム
EP2041515A4 (en) 2006-07-13 2009-11-11 Velodyne Acoustics Inc HIGH DEFINITION LIDAR SYSTEM
JP5263804B2 (ja) 2007-04-20 2013-08-14 株式会社トプコン 多点測定方法及び測量装置
JP5688876B2 (ja) 2008-12-25 2015-03-25 株式会社トプコン レーザスキャナ測定システムの較正方法
WO2011070927A1 (ja) 2009-12-11 2011-06-16 株式会社トプコン 点群データ処理装置、点群データ処理方法、および点群データ処理プログラム
EP3901653A3 (en) 2010-05-17 2022-03-02 Velodyne Lidar USA, Inc. High definition lidar system
JP5711039B2 (ja) 2011-04-27 2015-04-30 株式会社トプコン 三次元点群位置データ処理装置、三次元点群位置データ処理方法、三次元点群位置データ処理システムおよびプログラム
KR101841668B1 (ko) * 2012-02-15 2018-03-27 한국전자통신연구원 입체 모델 생성 장치 및 방법
JP5955028B2 (ja) 2012-02-28 2016-07-20 株式会社トプコン 画像処理装置、画像処理方法および画像処理用のプログラム
JP5832341B2 (ja) 2012-03-09 2015-12-16 株式会社トプコン 動画処理装置、動画処理方法および動画処理用のプログラム
JP6347169B2 (ja) * 2014-07-30 2018-06-27 アイシン精機株式会社 欠陥抽出装置及び欠陥抽出方法
JP6589410B2 (ja) * 2015-06-24 2019-10-16 株式会社豊田中央研究所 地図生成装置及びプログラム
US9875546B1 (en) * 2016-03-29 2018-01-23 A9.Com, Inc. Computer vision techniques for generating and comparing three-dimensional point clouds
JP6906916B2 (ja) * 2016-09-06 2021-07-21 株式会社トプコン 画像処理装置、画像処理方法、画像処理用プログラム
JP2018045587A (ja) * 2016-09-16 2018-03-22 株式会社トプコン 画像処理装置、画像処理方法、画像処理用プログラム
JP6868992B2 (ja) * 2016-09-27 2021-05-12 株式会社トプコン 画像処理装置、画像処理方法および画像処理用プログラム
JP2018088209A (ja) * 2016-11-30 2018-06-07 富士通株式会社 画像処理装置、画像処理プログラム、及び画像処理方法

Also Published As

Publication number Publication date
US10810699B2 (en) 2020-10-20
US20180253821A1 (en) 2018-09-06
JP2018147065A (ja) 2018-09-20
EP3370209A1 (en) 2018-09-05

Similar Documents

Publication Publication Date Title
JP6910820B2 (ja) 点群データ処理装置、点群データ処理方法、点群データ処理用プログラム
JP5963353B2 (ja) 光学データ処理装置、光学データ処理システム、光学データ処理方法、および光学データ処理用プログラム
US10810734B2 (en) Computer aided rebar measurement and inspection system
EP3314570B1 (en) Real-time, model-based object detection and pose estimation
JP5343042B2 (ja) 点群データ処理装置および点群データ処理プログラム
US5990900A (en) Two-dimensional to three-dimensional image converting system
JP5013961B2 (ja) 位置姿勢計測装置及びその制御方法
US8433128B2 (en) Method of creating three-dimensional model and object recognizing device
US20130058526A1 (en) Device for automated detection of feature for calibration and method thereof
JP2011185650A (ja) モデル作成装置およびモデル作成プログラム
JP6054831B2 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP2012063866A (ja) 点群位置データ処理装置、点群位置データ処理方法、点群位置データ処理システム、および点群位置データ処理プログラム
JP6468757B2 (ja) 三次元モデル生成方法、三次元モデル生成システム及び三次元モデル生成プログラム
US10354447B2 (en) Image processing device, image processing method, and image processing program
JP2018142109A (ja) 表示制御プログラム、表示制御方法および表示制御装置
US20210201522A1 (en) System and method of selecting a complementary image from a plurality of images for 3d geometry extraction
WO2016084142A1 (ja) 作業支援システム、及び、作業支援方法
JP7003617B2 (ja) 推定装置、推定方法、及び推定プログラム
JP7112908B2 (ja) 三次元点群データの断面図を作成するための測量データ処理装置および断面図作成方法
KR101154436B1 (ko) 콘텍스트 교차에 근거한 라인 매칭 방법
JP2017199259A (ja) 資材認識装置、および、資材認識方法
JP6320638B2 (ja) 3次元点群選択装置および3次元点群選択方法
JP2015062017A (ja) モデル作成装置、モデル作成プログラム、および画像認識システム
JP7063165B2 (ja) 計測装置、計測方法及び計測プログラム
JP2004252815A (ja) 画像表示装置、画像表示方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210212

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210621

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210707

R150 Certificate of patent or registration of utility model

Ref document number: 6910820

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250