MATLAB ユーザーコミュニティー

MATLAB & Simulink ユーザーコミュニティー向け日本語ブログ

【点群のディープラーニング】PointPillars によるオブジェクト検出ワークフロー

この投稿は 2024 1 16 Artificial Intelligence Blog 投稿されたものの抄訳(by アプリケーションエンジニア部 草野)です 

LiDARlight detection and ranging)は、リモートセンシング技術の1つです。LiDARセンサーはレーザーパルスを発射します。照射されたパルスは周囲にある物体で反射し、そのパルスの一部をセンサ検知ます。LiDARで得られるこの信号を解析することでセンサー周囲の環境を認識することができます。具体的には、記録された反射パルスの強度と受信時間から、物体までの距離と向きがわかるため、センサー周囲の2Dまたは3Dのマップを作成することができます。 

LiDARで計測されるデータ点群と言います。点群は、レーザーパルスの反射を3D空間上にプロットしたものあり、実際のオブジェクト表面上のX、Y、およびZ座標で定義されます。このように、点群を用いることで物体の表面形状を把握することができますLiDARは、林業、インフラ検査、鉱業など多くの産業で使用されています。  

ディープラーニングを使うことで点群データの処理をより正確に、短時間で行うことができますの5つのビデオPointPillarsの学習を例に、ディープラーニングを使用したLiDAR点群処理ワークフローの手順説明ます。こちらのリンクからも視聴いただけます 

また、LiDAR点群に対するディープラーニングの例題複数ありますのでご覧ください。ディープラーニング、コンピュータビョン画像処理技術を使ってLiDARの課題に取り組んだMATLABユーザーの事例として、SpacesiumがMATLABを使用して大規模LiDAR点群をセグメンテーションするディープラーニングシステムを作成した事例あります 

 

点群データの読み込み 

pcread関数を使用してデータストアとして点群データを読み込み、boxLabelDatastore関数を使用して境界ボックスのラベルを読み込みます。 

 

データの前処理 

データを学習用とテストに分割します。学習用データセットのサイズを水増しために、各点群に固定数の’car’と‘trackクラスそれぞれのオブジェクトをランダムに追加し、反転拡大、回転、並行移動など拡張します。LiDARデータを使用した3Dオブジェクト検出ワークフローにおける典型的なデータ拡張方法については、「Data Augmentations for LiDAR Object Detection Using Deep Learning」を参照してください。 

 

ディープニューラルネットワークの定義 

アンカーボックスやピラーに関する値などのネットワーク構築に必要なパラメータを定義します。その後、pointPillarObjectDetector関数を使用してPointPillarsのネットワークを定義します。 

 

ネットワークの学習 

ネットワークを学習するには、トレーニングオプションを指定する必要があります。ネットワークの学習には時間がかかる場合があるため、このワークフローでは事前学習済みのPointPillarsモデルを読み込んでいます  

 

物体検出 

 テストデータセット上でPointPillarsネットワークをテストし、検出された出力のポイントクラウドと境界ボックスを表示します。 

 

|
  • print

Comments

To leave a comment, please click here to sign in to your MathWorks Account or create a new one.