点群

点群とは?

点群は、3D 空間内のデータ点の集合です。各点は、実世界のオブジェクトの表面における位置の XYZ 座標を表しており、それらの点は表面全体をまとめてマッピングします。点群は、一般的に LiDAR スキャナー、ステレオカメラ、TOF (time-of-flight) カメラによって生成されます。

点群は、データ型に基づいて次の 2 つのカテゴリーに分類できます。

オーガナイズド点群

  • 画像データにあるように複数の行と列で構成
  • 形式: M x N x C。M は行数、N は列数、C はチャネル数
  • 通常オーガナイズド点群を生成する、ステレオカメラや TOF (time-of-flight) カメラなどのセンサー
  • 隣接する点間の関係に関する情報を含む

アンオーガナイズド点群

  • 行と列で構成されない
  • 形式: MxC。M は点群内の点の数、C はチャネル数
  • 一般的な LiDAR センサーでアンオーガナイズド点群を生成
  • アンオーガナイズド点群は、球面に投影することでオーガナイズド点群に変換可能 (MATLAB の関数 pcorganizeを使用した変換など)

点群処理は、ロボティクスや自律システムで知覚とナビゲーションに使用されます。また、拡張現実 (AR) や仮想現実 (VR) のアプリケーションにも使用できます。MATLAB® には、特に Lidar Toolbox™ と Computer Vision Toolbox™ を使用して点群処理をサポートするツールやリファレンス アプリケーションが用意されています。

MATLAB を使用した一般的なワークフローとタスク

点群の読み取り、書き込み、ストリーミング

MATLAB は、PCD、PLY、PCAP、LAS/LAZ、Ibeo データコンテナーなど広く利用されているファイル形式の読み取り機能を提供します。Velodyne および Ouster LiDAR センサーからのライブ LiDAR データのストリーミングも可能です。

合成 LiDAR データの作成

実際の LiDAR センサーを模擬した合成 LiDAR データを作成し、ワークフローを実際のシステムに展開する前にテストします。

データの前処理

3D 点群のダウンサンプリング、メディアンフィルター、変換、特徴量の抽出、位置合わせなどのための前処理アルゴリズムを適用します。

LiDAR とカメラのキャリブレーション

システム内でカメラと LiDAR 間の変換を見つけます。次に、その変換を使用して LiDAR データをカメラデータに投影したり、反対にカメラデータを LiDAR データに投影したりできます。

オブジェクト検出とセマンティック セグメンテーションの実行

ディープラーニング アルゴリズムを使用してオブジェクト検出や点群のセグメンテーションを行います。

マップ作成と車両の位置推定

一連の点群を使用して、レジストレーション、マップ作成、および SLAM を行います。

CPU や GPU への展開

ターゲット ハードウェアに LiDAR 処理ワークフローを C/C++ または CUDA コードとして展開できます。

詳細については、 Lidar Toolbox™ と Computer Vision Toolbox™ を参照してください。


点群に関するよくある質問

点群は3 次元空間内のデータ点の集合で、各点は実世界の物体表面上の位置のX、Y、Z 座標を表し、点が集合的に表面全体をマッピングします。

点群は一般に、LiDAR (Light Detection and Ranging) スキャナー、ステレオカメラ、ToF (Time-of-Flight)カメラなどが実世界環境の表面の空間座標を取得して生成されます。

構造化された点群は画像データのように行と列に構成され(M x N x C 形式)、通常はステレオカメラやToFカメラによって作成されます。これに対して非構造化点群は行・列の構造を持たない(M x C 形式)もので、通常はLiDAR (Light Detection and Ranging) センサーによって生成されます。

点群処理はロボティクスや自律システムにおける認識およびナビゲーションに使用され、拡張現実(AR)や仮想現実(VR)アプリケーションでも活用されます。

はい。Lidar ToolboxおよびComputer Vision Toolboxは、読み込み、書き出し、ストリーミング、前処理、物体検出、セマンティック セグメンテーション、SLAM (自己位置推定と環境地図作成)などの点群処理をサポートするツールやリファレンスアプリケーションを提供します。

MATLABはpcd、ply、pcap、las/laz、ibeoデータコンテナなどの一般的な点群ファイル形式向けのリーダーを提供します。

はい。VelodyneおよびOusterのLiDAR (Light Detection and Ranging) センサーから直接MATLABへライブデータをストリーミングできます。

MATLABはダウンサンプリング、メディアンフィルタ、変換、特徴抽出、3 次元点群のアライメントなどの前処理アルゴリズムをサポートします。


参考: 3D 画像処理, アフィン変換, デジタル画像処理, 画像解析, 画像処理およびコンピューター ビジョン, 画像再構成, 画像レジストレーション, 画像セグメンテーション, 画像のしきい値処理, 画像変換, オブジェクト検出, RANSAC, ステレオビジョン, SLAM (自己位置推定と環境地図作成), ドローンマッピング