
こんにちは、HACARUSデータサイエンティストの山下です。HACARUSには学生インターンとして参加しており、普段は大学院でプラズマシミュレーションの研究をしています。
HACARUSでは、スパースモデリングを利用した様々なAIサービスを提供しています。そこで今回はスパースモデリングの応用例として、ポイントクラウドデータへの適用例についてご紹介します。
Point Cloud
まずはポイントクラウドについてご紹介します。ポイントクラウドは3次元の点群データで、(x, y, z)のような形式で各点の座標値が記録されたものです。画像や動画とは異なり、「座標上の全ての点に規則正しくデータが入っているわけではない」という特徴があります(図1)。
図1 ポイントクラウドのイメージ図
ポイントクラウドは、LiDAR[1](パルス状レーザー光の散乱を計測することで対象物との距離を測る技術)から得られます(図2)[2]。
図2 LiDARのイメージ図[2]
LiDARはロボットの自律動作や自動運転車[3]にも用いられているため、近年、需要が高まっており、2024年には市場規模が6600億円にまで広がるという予想があります(図3)[4]。それに伴い、ポイントクラウドのデータ処理も高効率化が求められています。
図3 LiDARの市場規模予測[4]
Point Cloud と スパースモデリング
今回HACARUSでは、「ポイントクラウドのデータ処理にスパースモデリングを適用すること」を目的に、ノイズ低減(デノイズ)のタスクに挑戦しました。
画像・動画処理の分野では、既にスパースモデリングによるデノイズ手法が有効であることが確認されています(図4)。
図4 スパースモデリングを使って画像に対してデノイズした例
ポイントクラウドに関しても、同じようにスパースモデリングを利用してデノイズできると考えられます。そこで、今回、スパースモデリングによるポイントクラウドデータのデノイズを実装・実験しました。
デノイズの必要性
そもそも何故デノイズが必要なのか、LiDARを例にとって確認しておきましょう。
基本的にセンサーで実世界から取得したデータには、ノイズが含まれます。LiDARで言えば、太陽光などの外乱光が主なノイズとなります(図5)[5]。
図5 ノイズの乗ったデータのイメージ図[5]
この図でいえば、左がノイズの乗ったデータ、右が(本来のデータに近い)フィルタリングされたデータです。ノイズが乗ったデータでは、高さ方向にデータがばらけてしまっている様子が見て取れます。
取得したデータをそのまま、例えば物体検知に使うと、検出精度はあまり期待できません。そのため、データの利用にはデノイズが必要不可欠になります。
デノイズ手法および結果
今回使用した手法は、2016年12月に公開されたCloud Dictionary: Sparse Coding and Modeling for Point Clouds[6]という論文を参考にしました。実際には、「パッチへの分割」・「主成分分析」・「辞書による再構成」・「再構成パッチの結合」が主な処理となり、スパースモデリング は「辞書による再構成」のステップで使用されます(図6)。今回は詳細な説明は省きますが、弊社ではデータサイエンティスト養成プログラムを提供しており、その講義の一貫で詳細なアルゴリズムの説明を行うことができます。興味のある方はぜひ弊社までご連絡ください。
図6 デノイズ全体の流れ
今回使用したのは、ウサギ型のポイントクラウドデータ(点数129551個、各点ごとに(x, y, z)の座標値)です(図7)[7]。
ここにガウシアンノイズを付加し、ノイジーな点群を作ります(図8)。この点群をデノイズし、正解の点群に近づけることを目指します。
図7 正解の点群
図8 ノイジーな点群
このウサギ型ポイントクラウドデータに対して、デノイズ処理を行った結果が以下になります。
図9 デノイズ後の点群
図10 デノイズ点群とノイジー点群の比較
ノイジーな点群(橙色の点)と比較すると、ちゃんとノイズが減っていることが確認できます(図10)。 正解データも含めて比較します(図11)。図は左からデノイズ点群・ノイジー点群・正解点群で、それぞれ異なる角度から見た結果を縦に並べたものです。
図11 デノイズ、ノイジー、正解の点群比較(様々な角度から)
まとめ
3Dのポイントクラウドデータに対し、スパースモデリングによるデノイズを試しました。 その結果、スパースモデリングがポイントクラウドデータのデノイズに有効であることを確認できました。 スパースモデリングの応用範囲の広さが確認できて良かったです。
引用
[1] ‘Lidar’ Wikipedia,https://en.wikipedia.org/wiki/Lidar
[2] ‘Precise load carrying through target recognition with 3D LiDAR sensors’ SICK, https://www.sick.com/ag/en/industries/industrial-vehicles/mobile-platforms/automated-guided-vehicles/load-handling/precise-load-carrying-through-target-recognition-with-3d-lidar-sensors/c/p613537
[3] ‘Automated guided vehicle’ Wikipedia, ttps://en.wikipedia.org/wiki/Automated_guided_vehicle
[4] ‘LiDAR for Automotive and Industrial Applications 2019’ Yole Development
http://www.yole.fr/iso_upload/News/2019/PR_LIDAR_IndustryUpdate_YOLE_April2019.pdf
[5] ‘Rapid, High-Resolution Forest Structure and Terrain Mapping over Large Areas using Single Photon Lidar’ nature scientific reports, https://www.nature.com/articles/srep28277
[6] Cloud Dictionary: Sparse Coding and Modeling for Point Clouds https://arxiv.org/abs/1612.04956
[7] ‘Chapter 5: Meshes’ Visual Computing: Geometry, Graphics, and Vision
https://www2.sonycsl.co.jp/person/nielsen/visualcomputing/