3次元データ処理の基本 ~3次元点群の「生成」「位置合わせ」を実現する技術の概要

3次元データを取得・生成するためのセンサー、プラットフォーム、アルゴリズムなどの技術がこれまでになく発展したことで、空中・近距離の3次元データがさまざまな形で利用されるようになり、その重要性が増している。

現在、建設や都市計画、施設管理、製品設計など、多種多様な領域で3次元モデルが利用されている。

たとえば建設業界では、現場の複雑さを細部まで正確に捉える3次元モデルを作成し、建設計画を作成後、3次元モデルによって計画管理する取り組みが進んでいる。

また国土交通省では、3D都市モデル整備・オープンデータ化プロジェクト「PLATEAU」 (プラトー)がスタートした。

3D都市モデルとは、実世界の都市を仮想的な世界(サイバー空間)に再現するもの。都市計画のために作成されている「都市計画基本図」などの都市の図形情報と、航空測量などで得た建物の高さや形状情報を掛け合わせ、そこに都市計画基礎調査などで取得した属性情報を付加することで3D都市モデルを構築する。

このように官民問わず、3次元データ活用の取り組みが積極的に進んでおり、今後ますます3次元データの重要度が増すと予想される。

ここで3次元データについて、少し整理してみよう。

3次元データとは、奥行きの情報を持つデータのことである。奥行きの情報を使って、「周囲の物体の距離や位置を把握する」「形状を分析する」といった、2次元画像だけでは非常に困難なタスクも容易に実行できる。

3次元データで、生センサー・データに近い状態のデータ形式は2つある。「RGBD画像」と「3次元点群」である。

RGBD画像はRGB画像、およびその画像とほぼ同じ範囲での距離画像と併せて表現され(図表1)、RGBD画像の奥行きは2次元配列で表現する。

図表1 3次元データの形式―RGBD画像の例

その一方、3次元点群は無数の色付き点の集合によって立体を表現する形式である(図表2)。

図表2 3次元データの形式―点群の例

それぞれの点のXYZ座標は絶対的な座標であり、3次元空間によって奥行きを表現する。

3次元点群は回転・拡大させて観察するだけでなく、3次元点群から3次元物体の表面を推定して、面積や体積を計測するといった定量的な測定も行える。点群の密度が高ければ高いほど、より詳細な地形の特性を確認できる。

本稿では、この3次元点群で最も基本的な処理である「生成」「位置合わせ」をテーマに、それらの代表的な技術を概観したい。

3次元点群の「生成」 

非常に多くの細かい点を含む点群を、どのようにして生成するのか。それには、LiDAR(Light Detection and Ranging)と写真測量の2つの方法がある。

LiDAR 

LiDARは、レーザー光のパルスの反射を利用している。一般的にTime-of-Flight(ToF)と呼ばれる方式を用いており、反射した光を受信するまでの時間を極めて正確に測定することで、物体までの正確な距離を計測する。

GPSなどの位置情報と組み合わせることで、これらの計測値が3次元点の計測値に変換される。

LiDARはレーザー光の反射を利用するため、レーザー光を拡散反射・乱反射する物体には不向きであるが、3次元点群の密度・精度は非常に優れている。

地上設置型のLiDARはミリ単位の精度、ドローン設置型のLiDARは1~30cmの精度で計測が可能である。

ただし、LiDARによる点群生成はコストがかかる。多くのLiDARサービスプロバイダーは固定価格ではなく、日割りでサービスを提供している。LiDARセンサーは小型のドローンでは搭載できず、DJI M600 Proのような中程度サイズ以上のドローンが必要となる。

写真測量 

写真測量による方法は、連続撮影によって得られた画像から幾何学的な逆問題を解くことによって3次元構造を復元し、3次元点群を生成する。

現場の環境に合わせてズームやジンバルの設定を調整し、ターゲットの物体の全体像を捉えるためにさまざまな角度から撮影する。すべての画像を撮影した後、3次元構造復元用のソフトウェアを使って3次元構造を復元し、3次元点群を生成する。

3次元点群の精度は、それに使用する画像の解像度に依存するが、市販のデジタルカメラや安価なドローンに搭載されているカメラの解像度でも十分である。

3次元構造復元ライブラリーは、オープンソースであっても非常に性能の優れたものが多く用意されているので、写真測量による方法は比較的安価に3次元点群を生成できる。

一般に写真測量の精度はLiDARに劣るものの、数cm単位の精度がある。LiDARは写真測量に比べ、運用面やコスト面でハードルが高いため、まずは写真測量により3次元構造を復元し、そのデータをLiDARで補完する必要があるかどうかを検討すべきであろう。

Structure from Motion (SfM)は、対象物をさまざまな角度から撮影した多視点の画像を用いて3次元構造を復元する手法の1つである。この方法により、デジタルカメラ、スマートフォンカメラなどの比較的身近にあるデバイスから得られた画像を使って3次元点群を生成できる。

従来の写真測量と同様に、複数の視点から取得した画像を重ね合わせて使用する。しかし従来の写真測量とは異なり、既知の3次元位置にある「地上基準点」と呼ばれる基準点を事前に設定しなくても、内部のカメラジオメトリやカメラの位置・姿勢を自動的に決定できることが重要なポイントである。

SfMは、2009年にインターネット上にある画像からローマの街並みを復元する研究成果が発表されたのを機に急速に普及した(Reconstructing Rome )。

SfMの一般的なアプローチは、デジタルカメラを用いてさまざまな位置から対象物を複数回撮影し、SIFT(Scale Invariant Feature Transform)やSURF(Speeded Up Robust Features)により、画像セット全体に共通する特徴点を特定する。

異なる視点の画像間でこれらの特徴点の対応づけを行うことで、画像の撮影位置や撮影された対象物の3次元構造を復元する。それと同時に、内部のカメラジオメトリやカメラの位置・姿勢を自動的に決定する。

SfMはエッジのような視覚的な特徴を持つ点しか復元できないため、復元される3次元点群は疎となる。そこでMVS(Multi-View Stereo)の利用により、SfMで復元された対象物および推定されたカメラの姿勢の配置関係から、より精細な3次元点群を生成する。

こうしてSfMとMVSを利用することで、従来の手法と比較して比較的容易に密な3次元点群を生成できる。

それでは、生成される点群はどのような性質を持つのだろうか。

SfMの技術を利用したオープンソースや商用ソフトは、数多く登場している。これらのソフトウェアパッケージを用いて、さまざまなデバイスにより取得した画像シーケンスから3次元点群を生成できる。

こうしたソフトウェアの1つであるCOLMAPにより、室内の画像シーケンスを使用して3次元点群を生成したのが図表3である。

図表3 SfM実施例―生成された点群

ここからわかるとおり、ディスプレイなどの単色かつフラットな物体の3次元構造は復元できていない。局所的に特異な特徴がないため、抽出した特徴点が少なく、複数の画像でディスプレイ上の対応点を見つけられなかったためである。

加えて、画像シーケンスで死角になっている場所も3次元構造を復元できていないなどの点はあるものの、大体の3次元構造は復元できていると言える。

次に精度はどれくらいか、計測値と比較してみよう。

図表3に示した家の模型の点群を利用して、比較評価した。この例では絶対的な位置座標を用いずSfMを実行しなかったため、基準の長さをおいて、それを用いて相対的に評価している。

図表4を見ると、誤差は5%以内に収まっているとわかる。

図表4 SfM実施例―点群の精度

このように写真測量を用いることで、画像シーケンスから精密な3次元構造を復元できる。

また建造物、市街地、山麓部の空撮画像シーケンスを使用して、地形が3次元構造復元の結果にどのように影響するのかを考察した。

OpenDroneMapとCOLMAPによって生成された各点群の「点の総数」「密度」「点間距離」(点の平均間隔)を比較したのが、図表5である。

図表5 生成された点群の特徴比較

密度と点間距離を比較すると、建造物と市街地では非常に類似していることがわかる。建造物や市街地の3次元構造は複雑かつ色も多様なので、より多くの特徴点を生成できるからである。

その一方、山麓部に関しては、他の2つと比較すると密度が小さく、点間距離の長い点群となる。山の傾斜や田んぼの領域はほぼ単色で特徴がないので、3次元構造を復元する際の基礎となる特徴点を生成しにくいためである。

3次元点群の「位置合わせ」

ここまで写真測量やLiDARを用いて点群を取得する方法について説明したが、これらの方法では限られた視野範囲内の3次元点群しか生成できないため、生成される点群には死角となる領域が発生する。

ゆえに複数回に分けて全体の測定を行うのが一般的で、対象物全体の点群生成には、複数の測定から生成された部分的な点群を位置合わせし、対象物全体の点群へ拡張する必要がある。

一方、1回の測定で対象全体の3次元点群を生成できる場合であっても、同じ対象の3次元構造の変化を観察したい場合がある。

その場合、異なる数時間の点群を比較するため、異なる時間の点群を位置合わせする必要がある。このような位置合わせに、レジストレーションという技術が用いられる。

レジストレーションは、コンピュータビジョンの分野で広く用いられる技術である。主な目的は、2つ以上の3次元点群間の対応関係を見つけ、それらの点群を共通の座標系に変換するために、変換を推定することである。

レジストレーションの中心的な存在として、「Iterative Closest Point」(ICP、反復最近接点)がある。

Iterative Closest Point(ICP)

ICPの目的は、参照点群と目標点群を与えた場合、参照点群と目標点群の距離を最小化することによって参照点群と目標点群を整列させる、つまり最適な回転と平行移動を推定することである。

手順は端的にいうと、参照点群と目標点群で対応している点を算出し、それらの対応点同士の距離を最小化できる変換を算出し、その変換を目標点群に適用するという流れになる。これら3つの手順を一定回数または終了条件を満たすまで繰り返す。

通常は30~60回程度の反復で収束し、適切な位置合わせを行えるが、初期状態の点群同士に角度や位置で大きなずれがある場合や、点群同士のスケールが違う場合は正確に対応付けを行えず、局所解に陥る。そういった場合に対処するため、ICPを実施する前にRANSACのような技術を用いる。

図表6図表7を用いてレジストレーションを実行した例が、図表8である。

図表6 レジストレーションの実施例―点群1
図表7 レジストレーションの実施例―点群2
図表8 レジストレーションの実施例―点群3

RANSACマッチング後、ICPを実行した。対象としている3次元点群は複雑な構造であるが、図表8を見ると、適切な位置合わせを行えたのがわかる。十分な数の点があり、それらが3次元点群全体に十分に分散されていれば、ICPの反復プロセスは収束し、よい結果が得られる。

さまざまなレジストレーション手法 

ICPを主とした距離ベースの手法以外にも、数多くのレジストレーション手法が存在する。たとえばGMM法を用いた最尤(ML)推定問題として定式化した確率ベースの手法、状態空間モデル(SSM)を用いてレジストレーションを行う手法(Surface-Based Registration with a Particle Filter)などがある。

図表9図表10図表11では、ノイズを追加したうさぎの点群(The Stanford 3D Scanning Repository )でレジストレーションを実行した結果について、ICPと確率ベースの手法であるCoherent Point Drift(CPD)、FilterRegを比較している。。

図表9 レジストレーション手法の比較―ICP
図表10 レジストレーション手法の比較―CPD
図表11 レジストレーション手法の比較―FilterReg

緑の点群をターゲット点群、赤の点群をソース点群とし、赤のソース点群を緑のターゲット点群の位置に合わせるような変換を各手法で算出し、その変換をソース点群へ適用したのが、青の点群である。

確率ベースの手法は距離ベースの手法よりも計算コストが高いが、図表のとおり、青の点群と緑の点群の位置ずれが極めて小さいことから、ノイズにロバストな結果が得られたことがわかる。

一方ICPは青い点群と緑の点群の座標が大きくずれていることから、ノイズを多く含む点群に関しては、正しい変換を得られないことがわかる。事実、ICPはノイズ、外れ値、死角となる領域の影響を受けやすい。

3次元点群の応用事例 

ここまで点群の「生成」「位置合わせ」をテーマに、それらの代表的な技術を概観してきた。

これらの技術を駆使して、何ができるのだろうか。

その1つは、変化検出である。変化検出とは異なる時間に収集された3次元点群を比較することで、物体や現象の幾何学的な変化を識別するプロセスである。

その3次元点群同士を比較する前に、2つの点群を同じ座標系に整列させる必要があるので、レジストレーションは変化検知で非常に重要なステップである。

地滑りといった地形変化の検出(Mapping landslide displacements using Structure from Motion (SfM) and image correlation of multi-temporal UAV photography )(Landform monitoring in active volcano by UAV and SFM-MVS technique )、植物の成長の分析(Aerial imaging of plant heights could help farmers manage field crops more effectively )など、さまざまな用途で重要な役割を果たしている。

またSLAM (Simultaneous Localization and Mapping)と呼ばれる、ロボットの自己位置推定と環境地図作成を同時に行うプロセスでも重要な役割を果たす。自己位置推定にICPアルゴリズムが多く用いられ、作成された環境地図と新しく取得した点群の間でマッチングし、地図中の自己位置推定を行う。

3次元データ活用の今後に期待 

3次元データの活用需要は、日々高まっている。その需要に呼応するように、多種多様な研究が進められている。

レジストレーションのほか、3次元物体検出(3D Object Detection )、画像と3次元点群の対応づけ(Direct Image to Point Cloud Descriptors Matchingfor 6-DOF Camera Localization in Dense 3D Point Cloud )、3次元点群のスケルトン化(Skeleton Extraction from 3D Point Clouds byDecomposing the Object into Parts )など、さまざまな研究がある。

たとえば3次元物体検出では、画像の物体検出では認識できなかった動きの情報を得られるなど、3次元固有のメリットがある。このように3次元点群を分析することにより、2次元画像では不可能だったより緻密な構造・運動の情報が得られることから、今後もさらなる発展が期待される。

 


著者|
中山 雄貴氏

日本アイ・ビー・エム システムズ・エンジニアリング株式会社
IoTソリューション
アドバイザリーITスペシャリスト

2016年、日本アイ・ビー・エム システムズ・エンジニアリングに入社。主にアプリケーション開発、データ分析を担当。現在はドローン案件でモバイルアプリケーション開発を担当している。

 

[i Magazine・IS magazine]

More Posts