データドリブン開発の活用例としてのdSPACE Sensor Vehicle
近年、データドリブン開発はさまざまな業界において最も重要なソフトウェア開発手法の1つになってきています。自動車業界はこの分野の第一線を走っており、高品質なデータの取得が不可欠な自動運転車両における各種の問題をこの手法を用いて解決しようとしています。dSPACEでは、自動車業界に最先端の機能を提供するためにさらなるツール開発を進め、高品質なデータを収集するエコシステムを構築しました。このエコシステムの構築のために当社では、高品質データの収集を目的として特別に開発された、独自の「dSPACE Sensor Vehicle」を使用しています。
dSPACE Sensor Vehicle
dSPACE Sensor Vehicleには、上記のエコシステムを実現するための重要な要素として次のセンサが搭載されています。
• 128チャンネルの高分解能Velodyne Alpha Prime LiDAR
• 解像度2,880×1,860ピクセルのサラウンドおよびステレオビジョンが搭載されたカメラ9台
• 4D UHDレーダー
• 数センチメートル単位の精度で位置を特定できる高精度なGPSセンサ
これらのセンサを組み合わせることで、1時間あたり約10 TBのデータが生成されます。ルーフボックスに搭載したdSPACE AUTERA Autoboxデータロガーは、約23 GBit/sの転送速度でSSDに書き込み、センサのデータをすべて記録します。センサデータの取得とシステムの管理は、ミドルウェアのRTMapsで処理されます。RTMapsは、すべてのハードウェアの同期、システムのプロセス管理、データの記録などのタスクを実行します。
ただし、路上でのデータ収集を開始する際には、あらかじめセンサキャリブレーションなどの必須の設定はいくつか実施しておく必要があります。データ収集後にデータドリブン開発パイプラインに沿って特定のプロセスを実行できるようにするためです。
センサキャリブレーション:本質と理由
センサキャリブレーションとは何でしょうか。センサキャリブレーションとは一般的に、センサの出力とセンサが実際に計測したデータとの相関性を評価するプロセスを指します。ただし、データ取得を目的としたセンサセットアップの領域では、センサキャリブレーションという用語は、センサの幾何学的なキャリブレーションを指します。一般的に、キャリブレーションには2種類あります。内部キャリブレーションと外部キャリブレーションです。
内部キャリブレーションとは、計測されたデータと実際のデータの幾何学的一致を得るためにセンサ自体の中で行われるキャリブレーションを指します。たとえばカメラリセクションとも呼ばれるカメラの内部キャリブレーションでは、レンズやイメージセンサなどのパラメータを推測します。そしてその予測されたパラメータは、レンズに起因する画像の歪みを除去するために使用されるのです。
外部キャリブレーションとは、複数のセンサを対比して行うもので、一つのセンサで計測したデータと別のセンサで計測したデータが幾何学的に一致するようにします。たとえば、LiDARとカメラを使用するセンサセットアップの場合、外部キャリブレーションではセンサの相対的な位置を定義し、セットアップのLiDARからカメラへの計測データの転送に使用できるパラメータを推測します。
センサキャリブレーションはなぜ必要なのでしょうか。一般にキャリブレーションではセンサの精度と再現性を検証します。幾何学的なキャリブレーションは、センサ間で情報を転送する場合に必要です。自動運転車両の動作には、相互に関連するさまざまなセンサのキャリブレーションが必要であり、それらから受信した情報を連係させなければなりません。たとえば、多くの3Dオブジェクト検出アルゴリズムでは、物体の検出性能を高めるため、カメラの画像とLiDARのポイントクラウドデータを組み合わせて使用します。また、1台または複数のカメラから取得した2D画像に、3D LiDARポイントクラウドのオブジェクトを正確にラベリングし3Dの境界ボックスラベルを生成することで、物体を認識するニューラルネットワークの学習を行います。この際には、LiDARとの対比を通じてカメラの内部キャリブレーションと外部キャリブレーションの両方が求められます。
センサのキャリブレーション方法
自動運転アプリケーションにおける最も一般的なセンサキャリブレーションの例は、カメラとLiDARセンサのキャリブレーションです。何よりもまず、カメラの内部キャリブレーションを行う必要があります。従来の手法でカメラの内部キャリブレーションを行う場合は、平面のチェッカーボードのターゲットを使用してカメラのマトリックスおよび歪みパラメータを計算します。画像には、チェッカーボードのキーポイントまたは角の部分が検出されています。次に、画像の中に検出されたキーポイントをチェッカーボードにある既知の実際のキーポイントと比較し、パラメータを計算します。キャリブレーションの精度とロバスト性を高めるために、特定のヒューリスティックアプローチを使用します。多様なターゲットの位置かつ、ターゲット位置に対して十分なサンプル数をもってキーポイントが検出されるよう、確保するのです。算出された内部パラメータは、外部キャリブレーションのプロセスにも使用されます。
外部キャリブレーションの場合は、カメラの画像とLiDARのポイントクラウドデータの両方でキーポイントを検出する必要があります。LiDARのポイントクラウドデータは画像データに比べて量が少ないため、キャリブレーションターゲット上でキーポイントを検出するのは困難です。キャリブレーションの品質は、2つのセンサデータにおけるキーポイントの検出精度によって決まります。センサセットアップのキャリブレーション精度を検証する場合は、複数のキャリブレーションターゲットを用いてキャリブレーションパフォーマンスを計測します。従来の手法でキーポイントを検出する場合は、平面のチェッカーボードをターゲットとして使用します。一方、最先端の手法では、円形の穴の付いた3Dターゲットを採用します。これは、ポイントクラウドがまばらに存在する際のキーポイント検出にも適しています。
ヒューリスティックな手法が、キーポイントの正確な検出結果のみを保持し、キャリブレーション結果のロバスト性を確保することを可能にするのです。カメラの座標系で検出されたキーポイントを、LiDARの座標系において対応するキーポイントと比較して、相互に関連した座標系の平行移動と回転を定義する外部キャリブレーションパラメータを計算します。RTMapsソフトウェアに組み込まれた内部キャリブレーションと外部キャリブレーションの両アルゴリズムにより、キーポイントの検出結果を高品質でリアルタイムに記録し、キャリブレーションアルゴリズムのパフォーマンスを評価することができます。
高分解能LiDARを使用することで、いずれの手法でも高い精度が実現されています。外部キャリブレーションでの再投影誤差も1 ± 0.1ピクセルの範囲に収まっているのです。チェッカーボードを使用すると、3Dターゲットを使用するよりキャリブレーションが迅速に収束します。なぜならチェッカーボードのパターンは3Dターゲットより3倍以上のキーポイントを含んでいるからです。算出されたキャリブレーションパラメータを使用すれば、画像のRGBデータとLiDARのポイントクラウドデータをマージしたり、LiDARのポイントクラウドデータの奥行きに関する情報と画像をマージしたりすることが可能です。