モデルベースデザインを可能にするプラットフォームを手掛けるMathWorksはADAS(先進ドライバ支援システム)用のツール「Automated Driving System Toolbox Release 2017a」を発表したが、これはADASや自動運転車の開発を容易にするツールである。

元々、MathWorksが提供するMATLABは信号処理やアルゴリズム開発に向くツールであり、Simulinkはモデルベース設計を容易にするためのツールである。従来のC/C++言語ではなく、MATLABのような対話型のプログラミング環境だと、設計の機能定義から検証まで一貫して行えるため、ADASのような設計と検証を含めた開発フローには適したツールとなる。

このツールは、ADAS/自動運転車の開発において、特にカメラ画像からの映像信号を処理する回路から、認識し対象物を検出するという機能を通し、センサフュージョンで総合的に認識し、状況を判断するプロセスにおいて有効なツールである(図1)。

図1 イメージセンサからの画像処理以降物体検出を判断するまでをMATLAB、Simulinkの環境で開発するもの (提供:MathWorks)

従来は、こういった一連の機能を実現するのにC/C++言語で設計していた。C/C++プログラミングでは、設計はできてもシミュレーションでの検証はできなかった。このため検証のためのツールを別に作る必要があった。今回発表されたAutomated Driving System Toolbox R2017aは、MATLABとSimulinkを利用することで、設計・検証を簡単にすることができる。

ADAS/自動運転車の開発フローで、このツールが解決できる問題は多い(図2)。要求仕様の定義から始まって機能仕様の定義、さらに実装、機能検証、実機テスト、と開発フローを大まかに分け、それぞれでメリットがある。しかも、できるだけ設計とテスト・検証を同じツールで評価したいという時代だ。このツールを使えば、開発期間を短縮できる。

図2 機能の定義から実機テストまでの問題を解く (提供:MathWorks)

例えば、どのような機能にするかを決める時、その機能をすぐに試してみたいが、Automated Driving System Toolboxツールボックスだと、人物検出アルゴリズムや車両検出アルゴリズム、区画線検知アルゴリズム、トラッキング&センサフュージョンアルゴリズム、画像の鳥瞰図変換など既存のアルゴリズムを備えているため、これらを簡単に試行できる。しかも、MATLABベースで記述するため、これらのアルゴリズムを容易にカスタマイズでき、記述コード量が少ないという。

さらに、ADASではクルマか人や自転車なのか、自動的に認識することに注目が集まっているが、実際の作業では対象物がクルマであればそれを四角で囲む作業が必要である。この作業は従来、映像を見ながら手作業で行っていた。表示している映像の時間は、それに相当する膨大なフレーム数に渡り作業していることになる。このためインドなどのアジア、あるいは国内の地方にアウトソーシングしていた。

このツールボックスでは、標準装備している人物検出アルゴリズムと車両検出アルゴリズム、区画線検知アルゴリズムを利用して、正解データを作ることができる。マークした対象物がこれらのアルゴリズムに合っているかどうかをチェックする。アルゴリズムを作る必要がないため、枠を作る作業が手作業でも、楽になるという。最終的には人の眼で確認するが、作業工数は低減する。この機能を「Ground Truth Labeler」と呼んでいる(図3)。この機能が正解データを作ることに相当する。これらの標準装備のアルゴリズムだけではなく、ユーザーが開発・定義したアルゴリズムも読み込むことができる。

図3 検出物体を四角で囲むラベリング作業 (提供:MathWorks)

また、画像処理・認識処理・物体検出などC/C++言語により記述されたアルゴリズムを検証することができる(図4)。ここでは、クルマや人などの分類、対象物の位置[x、y]、速度などのオブジェクトリストが画像処理アルゴリズムに入っている訳だが、それとラベル付けされた映像データ(正解データ)が合っているのかどうかを確認する。そのアルゴリズムが正しいかどうかを検証できるという訳だ。このオブジェクトリストを、ツールボックス上で可視化することでデバッグを容易にしている。さらにMATLABを使えば自動化できるという。

図4 アルゴリズムのデバッグ検証もできる (提供:MathWorks)

映像だけの走行データしかない場合でも、テストケースを作成できる。これはクルマの検知・人の検知・白線検知などのアルゴリズムを使って、センサフュージョンのアルゴリズムをデバッグする。センサフュージョンのアルゴリズムを確認する際には、オブジェクトリストの情報が必要になるが、実際にセンサがあればチェックリストは入手できる。しかし、これまでは映像データしかない場合、テスト環境だけでテストすることは難しかった。

シナリオ生成機能もある。これは、危険な走行を実車ではなかなかテストできない場合に使う。まず、クルマを走らせたい道路を定義する。その上にクルマを定義し、人がいるかいないかなども定義し、レーダーやビデオセンサなどは内部に定義されているので、パラメータを設定してシミュレーションできるようなシナリオを生成する。これに基づいて、センサフュージョンのアルゴリズムを確認・検証する。

さらにデータ解析や可視化のプラットフォームがないという課題についても対応できる。画像センサから画像やレーダーからのデータと、オブジェクトリストの両方が提供されることはなかった。このR2017aツールボックスを使えば、レーダーがどの範囲を検出しているか、クルマや人を検出していか、などの映像を重ねたり、鳥瞰図のように表示したりできる。このツールは検証の自動化によって、さらなる省力化が図れるだろうという。