ディープラーニング

手順 1

点群データおよび対応するラベルの読み込み

点群データの読み込み、境界ボックス ラベルの読み込み、および学習用とテスト用にデータセットの分割を行います。

 

学習内容: 点群データおよび対応するラベルの読み込み

  • 関数 pcread を使用して、点群データを fileDatastore として読み込みます
  • 関数 boxLabelDatastore を使用して、境界ボックス ラベルを読み込みます
  • データセットを学習用とテスト用に分割します

手順 2

データセットの前処理

データセットを学習用とテスト用に分割し、データ拡張のさまざまな手法を実行します。

 

学習内容: データセットの分割とデータ拡張

  • データセットを学習用とテスト用に分割します
  • 学習用データには、以下のデータ拡張を使用します
    • すべての点群に対して、一定数の自動車およびトラッククラスのオブジェクトをランダムに追加
    • 点群の反転、スケーリング、回転、および平行移動

手順 3

ネットワークの定義

アンカーボックス、PointPillars ネットワークの柱、および PointPillars ネットワークの定義を理解します。

 

学習内容:  オブジェクト検出のための PointPillars ネットワークの定義

  • アンカーボックスを定義します
  • PointPillars ネットワークの柱を定義します
  • PointPillar ネットワークを定義します

手順 4

ネットワークの学習

PointPillar ネットワークでモデルの学習を行うか、事前学習済みのモデルを使用します。

 

学習内容: PointPillars オブジェクト検出器の学習

  • 学習オプションを指定します
  • 関数 trainPointPillarsObjectDetector を使用して PointPillars の学習を行います
  • あるいは、事前学習済みのモデルを読み込みます

手順 5

検出を生成する

学習済みネットワークを使用して、テストデータでオブジェクトを検出し、境界ボックスを使用して点群を表示します。

 

学習内容:  テストデータセットにおける PointPillars ネットワークのテスト

  • テストデータから点群を読み取ります
  • テスト点群で検出器を実行し、予測された境界ボックスと信頼度スコアを取得します
  • 境界ボックスを使用して検出された出力点群を表示します