LiDAR(ライダー)とは?
これだけは知っておきたい3つのこと
LiDAR(Light Detection and Ranging、ライダー)は、ターゲットをレーザー光で照らし、反射光を分析することで、対象物までの距離を測定したり、対象物の性質を捉えることができます。このページでは、LiDARの原理、製品、LiDARを使用するメリット、自動運転にとどまらないLiDARの幅広い活用事例について紹介します。
LiDARは、パルス光を使って周囲の物体までの距離測定を行ったり、物体の性質を特定したりするリモートセンシング技術です。LiDARセンサーが、レーザーパルスを照射して物体に反射させ、周囲の物体・空間の構造を認識します。センサーが、反射した光のエネルギーを記録し、記録した時間とパルス光を照射した時間との差分を取ることで、物体までの距離を測定することができます。パルス光は、方位方向(アジマス方向)や仰角方向(エレベーション方向)にスキャンしながら計測を行うことで、周囲の環境を2Dまたは3Dで表現することができます。
LiDARセンサーは、自動運転、自律走行やロボットなどで使用される主要なセンサーの一つです。LiDARは、物体検出(得られたデータから、車や人などのオブジェクトを検出する)やセマンティックセグメンテーション(記録した一つ一つのパルスにラベルやカテゴリを関連付けるタスクで、現在では主にディープラーニングで行われる)などの3D知覚や、マッピング、SLAM(Simultaneous localization and mapping、自己位置推定と環境地図作成を同時に行う技術)、パスプランニング(経路計画、自己位置から目的地まで、障害物などに衝突しないで到達できる経路を生成する)などのナビゲーションワークフローを実現します。
自律システムでは、環境認識のために、カメラ、IMU(Inertial Measurement Unit、完成計測装置)、レーダーなどの複数のセンサーを使用しています。LiDARは、高精度で構造的な3次元情報を提供することで、他のセンサーの欠点を補完することができます。このメリットにより、LiDARセンサーは認知・知覚領域におけるメインストリームとなりました。
LiDARの長所・メリット
LiDARの利活用が広がる背景として、LiDARには主に2つのメリットがあります。
- 正確な3Dデータを提供できること
LiDARは、レーダーやソナーなどの他のレンジセンサーに比べて、周囲の高密度な3D情報を高い精度で点群(point cloud)として収集します。点群とは、LiDARセンサーが検知した周囲のオブジェクトや地形から反射してきた一つ一つのパルスを点として表現したデータ形式です。点群データは、周囲の建築物といったオブジェクトや地形などの位置や色といった情報を点の集合体として表現します。この点群を解析することで、対象までの距離や方向、形状などを高精度で測定・検出できます。
他にも距離を計測できるセンサーはあります。例えばステレオカメラやToFセンサーなどのRGBDセンサー、そしてミリ波レーダーです。ステレオカメラでは2台のカメラの視差から、被写体の距離を三角測量の原理で計測することが可能です。しかし、計測精度は視差の大きさや、被写体の距離に依存し、距離が遠くなるほど計測精度が低下します。またToFセンサーのように赤外光などを照射して、反射時間から距離を測るタイプもありますが、LiDARと比べると計測密度は低く、計測可能距離も短い傾向にあります。
ミリ波レーダーは、ミリ波帯(30~300GHz)の電磁波を送受信し、LiDARと同様の原理で、反射波の到来時間から距離を推定することができます。しかし、多くのミリ波レーダーはアジマス方向にのみビームをスキャンしますので、2次元の像しか得ることができません。また、ミリ波帯の電磁波を使っているため、どうしてもLiDARほどの高解像度は達成できず、得られるオブジェクトの形状は不明瞭なものとなります。このようにLiDARセンサーは、高解像度で密な点群を3次元的に得られる、という点で非常に有効なセンサーです。
- LiDARを使った様々なアルゴリズムがあること
セマンティックセグメンテーション、物体検出・追跡、LiDARカメラデータフュージョン、LiDAR SLAM、レーン検出などのLiDAR点群処理ワークフローが近年さかんに開発されています。これにより、従来はカメラなど他のセンサーで行われていた各種タスクをLiDARに置き換え、もしくは補完できるようになり、エンジニアの方は開発ワークフローにLiDARを考慮することができるようになりました。MATLAB🄬などのツールを使って、LiDAR点群処理アルゴリズムを開発・適用することができます。
LiDARの弱点・デメリット
これまでLiDARのメリットを紹介してきましたが、LiDARには3つのデメリットもあります。
- 気象条件の変化に弱い
LiDARが照射するパルスは、主に赤外線です。この波長帯の電磁波は霧や雨などの気象条件下では、大気中で拡散・反射してしまいますので検知距離が大幅に減少してしまいます。
- 検知しにくい物体がある
LiDARは対象物から反射した送信パルスを受信することで、物体を検知します。したがって反射光が見えにくいケースでは検知性能が減少します。例えば黒い物体です。黒い車などは、反射率が低いため検知しにくいことが知られています。他にも窓ガラスなどは光が透過してしまうために、検知が難しくなります。さらに鏡やカーブミラー、遠方の水面などは鏡面反射と呼ばれ、照射した光はセンサーに戻ってこないため、計測することができません。
- 比較的高価である
カメラやミリ波レーダーなどほかのセンサーと比較すると、高価です。最近では安価なLiDARが出てきていますが、それでも経済的に大きなコストが発生するため、導入にあたっての大きな障害の一つとなります。 ただ、近年では、検知可能距離、サイズ、堅牢性などの特性を高めた低価格のLiDARが最近では登場しています。結果として、比較的収益性の低い産業用アプリケーションでもLiDARを利用できるようになりつつあります。
LiDARの原理・種類
LiDARセンサーには様々な種類があります。
LiDAR計測原理:LiDARの計測原理はToF方式とFMCW方式に大きく分けられます。ToF方式とは、パルス光の送受信の時間差から距離を計測するものです。FMCW方式は、周波数変調した光を送信し、受信光の周波数と比較することで、物体までの距離及び速度まで計測できるものです。
ToF方式は構造が簡単であり、現在のLiDARセンサーの主流です。一方でFMCW方式は、構造が複雑になり技術的な難しさが出てくるものの、天気の影響を受けづらい点や、速度まで同時計測できる点にメリットがあります。
LiDAR構造:LiDARの構造は回転式とソリッドステート式に大きく分けることができます。
回転式は、LiDARモジュールがモーターを使って回転することで、360度をスキャンすることができます。1台で360度スキャンができるという利点がありますが、駆動部にモーターが必要となるため、小型・軽量化が難しく、耐久性に乏しく、また価格も高くなりやすいという欠点があります。このため、近年ではソリッドステート式、という駆動部を半導体などに置き換えた方式のLiDAR開発が主流となっています。
ソリッドステート式は小型・軽量化が可能なため、自動運転などに活用されています。360度の視野角は確保できませんが、向きを変えるなどして複数設置することでその弱点をカバーすることができます。ソリッドステート式にも様々な構造があり、LiDARメーカー各社が工夫を凝らしている部分です。有名な方式としてMEMS式があります。この方式ではMEMSミラーを使ってレーザー光をスキャンします。
LiDARの波長帯:LiDARで利用されるレーザーの波長帯によって性質が大きく異なり、利用されるシーンにも違いがあります。
赤外線レーザー:もっとも一般的に使われる波長帯です。自動運転用途では、従来は905nmの近赤外波長が用いられていましたが、最大検知距離をより伸ばすために高出力が望まれる中、人間の目に対する影響から、高出力化が難しいという課題がありました。そこで近年では1550nmの短波赤外波長を使ったLiDARが登場してきています。人間の目への影響も少なく気象の影響も受けづらいため、最大検知距離を伸ばしやすいメリットがあります。
グリーンレーザー:緑色に相当する532nm帯の光を使います。水中透過性が高いため、測深を目的として、航空機に搭載されるなどの用途があります。水蒸気やエアロゾルなど気象計測の目的でも用いられる波長帯です。
メーカー | 代表的な製品 | 特徴 |
---|---|---|
Velodyne LiDAR® (ベロダインライダー、米国) |
|
自動運転をはじめ様々な自律移動プラットフォームで活用されている |
SICK (ジック、ドイツ) |
|
3Dから2Dまで様々なタイプのLiDARを提供している |
北陽電機 (日本) |
|
屋内のロボット向けの2DのLiDARとして多く活用されている |
Ouster (アウスター、米国) |
|
独自の光学技術によりより低価格なLiDARを提供している |
Valeo (バレオ、フランス) |
|
量産車向けにLiDARを提供している |
Ibeo Automotive Systems (イベオ、ドイツ) |
|
モジュール単体でフュージョンやトラッキングができる |
Livox (リボックス、中国) |
|
低価格なLiDARを提供している |
LiDARは自動運転だけに留まらず、幅広い領域で活用されています。自動運転の他には、測地学、地理情報学、考古学、地理学、地震学、農業、林業、大気物理学、レーザーガイダンス、空中レーザー測地図(ALSM)、レーザー高度計などでも使用されています。LiDARは搭載されているプラットフォームによって用途が異なり、主に次の3点に分類できます。
- 地上用LiDAR(自動運転、測量などで活用)
- 空中用LiDAR (ドローン・UAV・航空機などで活用)
- 屋内用LiDAR(自律搬送車、見守りロボット、掃除ロボットなどで活用)
地上用LiDAR(自動運転、測量などで活用)
地上用LiDARには、移動式(モバイル)LiDARと固定式LiDARがあります。
- 移動式LiDAR:自動車やトラックなどの移動式プラットフォームに取り付けられた地上用LiDARです。最も一般的なモバイルLiDARのアプリケーションは、自律走行・自動運転です。自動車に取り付けられたLiDARは、周囲の3D点群データを取得し、さらに知覚やナビゲーションのワークフローに使用されます。他にも都市の3次元マップを生成するために用いられるケースもあります。この場合、人間がマニュアルで自動車を運転し、必要な場所の点群データを集めます。航空機のような上空からでは取得が難しいビルなどの建築物の側面の情報を得ることができます。
- 固定式LiDAR:固定されたプラットフォーム上に設置されたLiDARです。一般的には、土地調査、道路調査、地形図作成、デジタル標高マップ(DEM)の作成、農業などに使用されます。固定式の地上用LiDARは、詳細で綿密なデータ収集が必要な場合に用いられるほか、森林帯や各種自然地形などの、自動車などが入り込めない地域での計測で用いられます。この場合、網羅的な計測を行うためには、複数地点で計測を行う必要があり、非常に手間がかかります。
空中用LiDAR(ドローン・UAV・航空機などで活用)
空中用LiDARは、無人航空機(UAV)や航空機に搭載されたLiDARセンサーです。空中LiDARは、広い地形の3D点群データを取得し、LiDARマッピング、特徴抽出、地形分類・リモートセンシング、気象計測、バイオマス計測などに利用することができます。
空中用LiDARには次のような活用事例があります。
農業:LiDAR技術によって、植生エリアのマッピング、農場の正確な地形の特定、集水エリアの特定などを行うことができます。これによって、例えば、農業従事者が、最大の作物収量を達成するために、高価な肥料を農地のどの区域に使用するかの判断をサポートすることができます。
都市計画・建設:LiDARは、ある地域のデジタルサーフェスモデル(DSM)やデジタルシティモデル(DCM)の作成に使用され、都市の設計や既存の都市に新しいインフラを構築する際に使用されます。高さ情報を得ることで、任意の場所からの景観シミュレーションや、災害時の被害エリア予測といった使い道があります。また、建設現場の点群地図を元に建設計画や施工管理に立てるような用途も想定されます。
地質学的マッピング:LiDARを使って地表の3Dマップを作成し、それを鉱山、精密林業、石油・ガス探査などの用途に利用することができます。
空中ナビゲーションとパスプランニング:最近では、LiDARは無人航空機(UAV)に搭載されていて、リアルタイムに3Dデータを収集して、自律的に周囲の状況を捉えています。得られた点群データを逐次レジストレーションして3次元地図を生成したり、生成した地図と現在スキャンした点群データをマッチングし、自機の位置を推定します。
屋内用LiDAR(自動搬送車/AGV、見守りロボット、掃除ロボットなどで活用)
屋内用LiDARは、移動ロボットに搭載することで、屋内でのロボティクス用途に広く利用されています。3D LiDARの他に、2D LiDARやレーザースキャナーも、LiDARスキャンやマッピングなどの屋内ロボットアプリケーションに使用されます。これらは周囲の情報をより詳細に収集し、利用用途に応じて応用することができます。
屋内用LiDARの一般的な用途は以下の通りです。
- LiDARマッピングとSLAM:2Dまたは3D LiDARを使用して、それぞれ2Dまたは3DのSLAMとマッピングを行うことができます。工場内での自律搬送車(AGV)の位置推定や地図作成、経路計画(パスプランニング)にも用いられます。
- 障害物検知、衝突警告と回避:2D LiDARは障害物の検知に広く使用されています。このデータはさらに、衝突警告の作成や障害物の回避に利用できます。屋内空間を把握し、人の接近に反応して停止するなど、お掃除ロボット等へ活用されています。
- セキュリティ・防犯:屋内に固定設置し定点計測を行うことで不審者の侵入などの検知に利用されるケースもあります。警備か監視などの目的で見守りロボットへの活用が期待されています。
MATLABとLiDAR Toolbox™は、LiDARの処理作業を簡単にします。MATLABでは、LiDAR専用ツールや関数を用いて、3Dデータタイプ、データの疎性、データ内の無効な値、高いノイズなど、LiDARデータの処理における一般的な課題をスムーズに対処することができます。
リアルタイム、録画されたLiDARデータをMATLABにインポートし、LiDAR処理のワークフローを実装し、C/C++およびCUDAコードを作成して実運用に導入することができます。
LiDARの点群を処理する際に、MATLABが提供する機能は次のようなものがあります:
LiDARデータのストリーミング、読み込み、および書き込み
MATLABでセンサーデータを処理する際の最初のステップは、データをMATLABのワークスペースに取り込むことです。以下が実行可能です。
- Velodyne LiDAR Hardware Support Packageを使用して、Velodyneセンサーからのリアルタイムデータをストリーミングします。
- PCD、PLY、PCAP、Ibeoデータコンテナ、LAS、LAZなどの異なるファイル形式で保存された点群を読み込みます。
- PCD、PLY形式で点群データを保存することができます。
- rosbag形式で保存された点群データのトピックをインポートし、再生することができます。
- シミュレーション環境でLIDARデータを合成し、処理アルゴリズムをテストすることができます。UAV Toolbox™およびAutomated Driving Toolbox™は、LiDARの点群をシミュレーションするためのLiDARセンサーモデルを提供します。解像度や最大検知距離など、様々なプロパティを設定することができます。既存のLiDARセンサープロダクトを模擬することもできますし、特定条件下で性能を最大化するようなオリジナルの構成の探索を行うことも可能です。
LiDARデータの処理
LiDARデータを前処理することで、データの質を向上させたり、基本的な情報を抽出することができます。LiDAR Toolboxには、ダウンサンプリング、メディアンフィルター処理、整列、変換、点群からの特徴抽出などの基本的な前処理関数を網羅しています。これらの関数を利用することで、処理の高速化やメモリの節約などの効果が得られます。さらに、地表面からの点群を推定・除去する関数や、セマンティックセグメンテーションのためのディープニューラルネットワークを適用するための球面投影(オーガナイズド)に変換する機能などもあります。
LiDARカメラのキャリブレーション
MATLABでは、LiDARカメラのキャリブレーションを行い、カメラとLiDARデータを融合させるためのLiDARカメラ変換を推定することができます。この機能はアプリとして実装されており、チェッカーボードを撮影したカメラ画像と点群データをペアとして読み込ませます。変換行列の推定はボタンワンクリックで完了します。さらに、誤差の大きなペアデータを除いて再計算など全てGUIで操作が可能です。
このようなキャリブレーションが可能になると、LiDAR点群データにカメラ画像から取得した色情報を融合したり、その逆に、カメラ画像に点群データを投影することが可能となります。このような可視化情報の拡張により、データの解釈が容易になったり、開発効率が向上したりするだけでなく、オブジェクト検出精度の向上や、色付きの3次元点群マップが構築できるなど開発アプリケーションの付加価値を向上させることができます。また、同位置のカメラからの2Dバウンディングボックスを使ってLiDARの3Dバウンディングボックスを推定したりなどの応用も可能です。
LiDARのためのディープラーニング
MATLABを使うことで、物体検出やセマンティックセグメンテーションのための機械学習・ディープラーニング アルゴリズムをLiDAR点群データに適用することができます。
- MATLABに数行のコードを記述するだけで、PointSeg++やSqueezeSegV2など、事前に学習されたセマンティックセグメンテーションモデルをインポートして、手元にあるLiDARデータをセグメント化することができます。また、独自の深層学習モデルを学習し、評価、実機に実装することもできます。
- MATLABでは、PointPillarsネットワークのようなロバストな検出器の設計、トレーニング、評価、実機実装が可能です。LiDARの点群の中のオブジェクトを検出し、該当する点群に向きをもったバウンディングボックスをフィットさせることができます。
- LiDAR ToolboxのLiDAR Labelerアプリは、点群のラベリングやアノテーションを簡単にします。オブジェクトの周囲にバウンディングボックスを手動で追加し、組み込みまたはカスタムアルゴリズムを適用して、LiDAR点群のラベリングを自動化し、自動化アルゴリズムの性能を評価することができます。
点群上の物体追跡
MATLABは、物体追跡ワークフローに供給する複数のセンサー出力を融合することができます。これにより、LiDARデータの読み込み、前処理、ディープラーニングの適用による物体の検出、定義済みのトラッカーを使用した物体の追跡、ハードウェアへの展開ができます。
点群レジストレーションとSLAM
MATLABには、LiDAR点群のレジストレーションを行い、SLAMアルゴリズムを使用して3Dマップを構築する関数があります。LiDAR点群から高速点特徴ヒストグラム(FPFH)記述子を抽出してフレーム間で照合し、照合された特徴に基づいた点群のレジストレーションができます。
また、地上用および空中用のLiDARデータのLiDAR点群シーケンスをつなぎ合わせて、3D SLAMアルゴリズムを実装することもできます。
連続したLiDAR点群データから地図を作成する様子
LiDAR処理の詳細については、LiDAR ToolboxおよびComputer Vision Toolbox™を参照してください。