AFEELAの自動運転を支える、AIモデルによるトラジェクトリ推論
ソニー・ホンダモビリティ株式会社 オートノマスシステム開発部で、自動運転のトラジェクトリ(軌道)推論の開発している花田武彦、山口 凜太朗です。トラジェクトリ推論は、多様なセンサーからの入力をもとに周囲の状況を把握し、どう振る舞うべきかを判断し、具体的な走行計画を立てる、自動運転の要です。どのように取り組んでいるのか、「トラジェクトリ推論」「シミュレーション」「MLOps」について紹介します。
・トラジェクトリ推論の高度化
SOTA技術と自社開発機能を融合し、複雑な交通状況に対応。機能干渉によるデグレードを可視化や自動検知で解消し、着実に機能を拡充
・シミュレーションによる評価
シミュレーションも活用することで、加速度や曲率まで多角的に自動評価。課題抽出を早期化し、物理的に破綻のない高精度な軌道を生成
・開発サイクルの圧倒的短縮
MLOps導入で学習から評価までを自動化し、工程時間を10分の1以下に削減。またDataOpsにより、学習データの生成に必要な時間を半分以下へ
トラジェクトリ推論の特性
トラジェクトリ推論の開発における難しさとして、多機能性とSOTA(State of the Art、最先端)技術の適用、単一出力と機能干渉・デグレード、が挙げられます。
まず、多機能性とSOTA適用についてです。トラジェクトリ推論には幅広い運転シーンへの対応が必要で、先行車へのスムーズな追従、車線維持、停止線での一時停止といった基本的な挙動から、複雑な交通状況での判断(合流時に自分が先に行くのか、相手に先に行かせるのか)といった振る舞いまでカバーする、多岐にわたる機能が必要です。また、市販車では「目的地到達」や「ナビのルート案内への追従」といった機能が必要ですが、これらは世の中で発表されている論文には含まれていないことが多く、自社で開発して実装する必要があります。モデル構造、入力方法、損失関数に独自の工夫を行うことで着実に機能の拡充を行なっています。
次に単一出力と機能干渉・デグレードについてです。推論されたトラジェクトリは、先述した先行者追従、車線維持、停止線での一時停止、ルート案内への追従といった、すべての運転の意図を、車の軌道という単一の出力に内包します。そのため、その推論問題は物体認識のように入出力が1対1対応に近い問題とは事情が異なっており、新機能を追加するたびに機能間で干渉が発生し、これまで実現できていた機能性が崩れてしまうという課題があります。例えば「停止線で上手く停止できるようになった代わりに、先行車への追従が下手になる」といった機能間のデグレード(品質の低下)が起きやすくなります。
これに対応するためにデグレードと学習データとの相関の可視化、モデル内部の徹底的な分析を通じた原因の特定と仮説検証だけでなく、シミュレーションによるデグレードの早期検知までを自動化することによりトライアンドエラーの周期を上げる開発手法を取っています。
トラジェクトリプランの質とシミュレーションによる評価
トラジェクトリ推論が生成するトラジェクトリプラン(走行計画)は、形状の面、速度の面で見た目は問題なさそうに見えても、時間のレンジを小さくしてよく分析してみると加速度や曲率が非現実的で、実車で走行させてもうまく機能しないことがあります。また、前述のように機能干渉によるデグレードが生じることもあります。この問題を早期にかつ低コストで発見して改善するため、シミュレーションを活用しています。実車でのテストではコストと時間がかかるので、シミュレーションで課題を速やかに抽出します。シミュレーション環境を用いることで、先行車追従、停止線での停止、歩行者の横断といった具体的なシナリオを再現し、その中で推論された結果のトラジェクトリを評価できます。
シミュレーション結果は、目標速度からのずれ、横方向の車線からのずれ、目標地点への到達率、他車との衝突率などのシナリオを走破するためのメトリクスだけでなく、前述したような加速度や曲率など車両が物理的に実現できることを測るメトリクスによっても評価されます。道なり走行、交差点、他車両がいる道なり走行など、異なるシナリオやシーンに応じて評価軸が設定されています。
高速で開発・改善を進めるために
開発を効率よく進めるために、開発当初から、開発プロセスそのものの自動化、すなわち学習データ生成とAIモデルのトレーニング・評価の自動化に取り組んでいます。MLOps(Machine Learning Operations)とDataOps(Data Operations)の構築です。
学習パイプラインは自動化されており、GitHub上の学習コードを変更すると自動的に学習が開始され、終わり次第、前述したシミュレーションとメトリクス計測、集計が行われ、スコアが提示される仕組みです。これによりエンジニアは雑多な作業から解放されて、本質的な開発業務である学習コードの改良、学習データの分析や実行結果の分析に集中力できるようになっています。学習後にチェックポイントを手作業で選ぶことや、チェックポイントをシミュレータへ渡すこと、シミュレーションを自分で起動すること、そしてメトリクスを集計すること、いずれも必要ありません。すべて自動化することで、開発に着手した当初に比べ、学習開始から評価完了までの1サイクルにかかる時間を約10分の1以下に短縮しています。
DataOpsでは、学習データを定期的に全て作り直すことができるパイプラインを構築しています。トラジェクトリ推論の入力は認識部分の出力に依存していて、データ収集車が撮り貯めたセンサーデータやCANデータを、最新のソフトウェアや認識器に入力し、その結果がトラジェクトリ推論の学習データになります。ソフトウェアや認識器の性能は日進月歩で改善していますので、その性能改善に対応してトラジェクトリ推論の学習データを作り直すことで、常に最新の開発成果に基づいた学習データが利用可能な状態が維持されています。この学習データの生成プロセスも、当初は手作業で時間を要していましたが、自動化や、複数の処理を平行して実行することで、現在では学習データの生成に必要な時間を、開発当初の半分以下にまで短縮しています。また、クラウドを活用したスケールアウトにも対応しており、学習データを増量する場合であっても、必要に応じてノードを増強することで、リードタイムの調整が可能です。
机上で考えたものが実際に動く醍醐味
ソニー・ホンダモビリティでは、本当に作りたいものを作るべく、自分たちの手で自動運転技術の開発に取り組んでいます。最先端の技術を追いながら量産に直結できる組織は、業界でも珍しいと思います。前例のない技術領域を自分たちの考えだけで突き進めることができる—-。それが難しさでもあり、魅力でもあります。
クルマが実際に動くと、やはり楽しいです。自分たちが机上で考えたモノが現実世界で実現できること、しかもそれが市場に出てくること。これが我々開発者のモチベーションであり、開発の醍醐味です。シミュレーションと実車のギャップを埋め、複雑な調整を経てクルマが意図した通りに動くようになった時の達成感は何事にも代えがたいものです。
当記載内容は開発段階の情報やデータに基づくものです。
Related