本文へ移動

Turing Tech Talk 第13回 「複雑な都市環境に挑むEnd-to-end自動運転におけるマップ推定」

この記事に登場する人
CTO / 基盤AIチーム
山口 祐 Yu Yamaguchi
産業技術総合研究所 研究員/米国NIST客員研究員として研究する傍ら、独自にゲームAIの深層学習の開発を開始。日本の囲碁AIプロジェクトの開発代表として、最大1100GPUの並列分散強化学習を設計・開発し、世界大会準優勝、将棋AIでも世界大会優勝などの実績がある。HEROZ株式会社 執行役員を経て、2022年、チューリングに創業メンバーとして参画。2024年8月、CTO就任。基盤AIチームマネージャー兼任。
E2E自動運転チーム / シニアエンジニア
塩塚 大気 Daiki Shiotsuka
新卒でチューリングに創業メンバーとして参画。創業当初からEnd-to-end自動運転を実現するためにMLモデル開発・車両開発業務に従事。現在はEnd-to-End自動運転チームのシニアエンジニアとしてモデル開発・学習データの収集・マップ推定業務をリード。久留米高専、東京大学大学院卒。

2025年3月4日、チューリングではTuring Tech Talk 第13回 「複雑な都市環境に挑むEnd-to-end自動運転におけるマップ推定」と題したオンラインイベントを開催しました。

今回は、我々が自動運転をやるにあたって、モデル学習するためのデータセットのキーポイントの一つである地図データ、これがどういう風に構成されてるかというテーマでお話ししました。当社のCTOである山口祐、ソフトウェアエンジニアの塩塚大気が登壇し、現場とマネジメント双方の目線から解説を行いました。当日の模様を、イベントレポートとしてお届けいたします。

山口:皆さんこんにちは。Turing Tech Talk 第13回 「複雑な都市環境に挑むEnd-to-end自動運転におけるマップ推定」について始めさせていただきます。私はチューリング株式会社CTO兼Director of AIの山口と申します。

今日は我々の開発のメインストリームでもあるEnd-to-end自動運転で、地図データあるいは地図の推論をどういう風にやっているかについて、技術的な部分をトークしていきます。本日は、マップ推定を担当するE2E自動運転チームのシニアエンジニアである塩塚大気に来てもらっています。簡単に自己紹介をお願いします。

塩塚:塩塚大気と言います。約3年前の創業期に新卒でチューリングに入りました。そこからE2E自動運転の開発をやっています。現在もE2E自動運転チームで、モデル周りや学習データ周りの仕事に従事しています。元々は高専卒で、その後東京大学大学院へ行きました。今日はよろしくお願いします。

山口:今日は塩塚と2人でやっていきますが、実は我々は同期入社なんです。

塩塚:そうですね。

山口:創業メンバーは代表の山本・青木ですが、続いてこの会社に正式に入ったのが私と塩塚、あともう一人のエンジニアです。つまり最古参のメンバーなので、そのあたりのお話もできたらと思っています。

塩塚は、入社する前のインターン時代からチューリングの車をEnd-to-end、カメラインコントロールアウトのところで学習をずっとやってきています。そこも踏まえてEnd-to-endモデルでどういうマップ推定、周囲の環境認識をしているのか、チューリングの歴史と共に振り返られるといいかなと考えております。

塩塚:よろしくお願いします。「複雑な都市環境に挑むEnd-to-end自動運転におけるマップ推定」というテーマでお話しさせていただきます。まず最初に、End-to-end運転におけるマップ認識の立ち位置をお話していきます。

Level4の自動運転というのは、LiDARとHD Mapと言われるかなりリッチなマップを以て自己推定や周りの環境認識をします。しかし、我々のEnd-to-end運転はカメラオンリーで自動運転をやっているので、HD Mapと言われるようなものは基本的には不要です。一方で、周りの環境は理解しないといけないため、HD Mapに頼らず周りの環境を認識するところを開発しています。

そのためには学習用のデータセットを0から作らないといけません。(スライドp7)我々が作っているマップの範囲や道路のエリアが右に出ている画像になりますが、このような東京の大規模なエリアのマップが当時はない状態だったので、自社でマップを作るところから開始しました。最初にやろうとなってから、約1年で車線長で約7000kmのE2E自動運転用の地図を作ることができました。

また実際にモデルを学習して推論するのですが、経路予測や3次元物体検出を同時にマルチタスクで学習し、車載の計算機でリアルタイムにマップに予測・表示をすることが可能になっています。

チューリングのTech Talkに来ている方は何度も見たスライドかもしれませんが、従来のシステムでは、入力に画像とLiDAR、センサーデータとHDマップを用意して、そこからPerception→Prediction→Planning→Controlという順で自動運転を行っていきます。

しかし、我々のアプローチはカメラ画像のみで、あとはNeural Networkで車の経路を作るので、入力としてHDマップがないところが我々の自動運転の特徴です。

我々はTD-1というE2E自動運転モデルを開発していますが、これはマルチカメラのイメージを一度BEV futureという良い情報を持ったベクトルにして、そこから3次元物体検出や実際に車が進む経路生成だったり、またその1つとしてマップ認識をやっています。

ここでマップ認識をやることによって、自動運転に使う経路生成のTrajectory部分が周囲の環境を認識した上で理解して、経路生成ができるモデルになっております。

マップ認識をE2E自動運転でやろうと言い始めたのは我々が世界で初めてというわけではありません。例えば左下の画像はテスラFSDの画像ですが、周りの車とレーンや横断歩道などマップ認識をしているのがわかるかと思います。

右下はLiAutoという中国の会社で私がYouTubeから拾ってきたものですが、周りの横断歩道や白線を認識して自動運転をしていることが分かります。

マップの認識をマルチスクで行うことで、実際に自動運転の性能も向上するということが2025年にも報告されているので、産業的にもアカデミック的にもマップ認識がE2E自動運転に良い影響があることがわかります。

冒頭で、我々自身で学習データを作ったとお話しましたが、ここのスライドはその紹介です。1番左の画像が先ほどもお見せしたもので、この範囲のマップを作っています。これを拡大したものが真ん中になりますが、このように多くのアノテーションマップを作っています。

一番右がよりズームインしたものですが、東京の大きめの交差点を写しています。我々はレーンや白線などの目に見えるものだけではなく、トポロジーと呼ばれる「道路がどのように繋がっているか」、実際にE2E自動運転でも人間がやってるように「どのようにレーンが接続していて自分がどのように進べきか」といった、目で見えないようなところも学習できるようになっています。

エリアは一般道に限らず、高速道路や住宅地の細い道路も含めて色々なバリエーションで作られており、車線長で7000kmになります。 車線長は、例えば3車線だったら1車線ごとに数えて3倍になります。ちなみに北海道から鹿児島に行くと、道路長と車線長でフェアな比較ではないですが2600kmになります。我々が作ったマップのサイズが、とても大きいということが理解いただけると思います。

先ほど上から見たマップをお見せしましたが、それをモデルに学習してもらうには正しい変換が必要になってきます。基本的にマップは緯度・経度上で点が打ってあるものです。それをモデルに学習する時には、自分を中心にしたエゴ座標計と呼ばれるもので、相対的に何m前に横断歩道があって何m横に白線があって……というように、モデルが学習しやすい形にデータを変換してあげる必要があります。

このように座標変換をすることで、モデルが学習できるようになりますが、実際にモデルが学習できているかどうかは、更にしっかりとデータを見ないと分からないところがあります。

今出している例は、エゴ座標計からカメラ座標に変換、それを画像座標に変換して可視化したものです。このようにカメラ画像にグローバルな地図データをオーバーレイすることもできて、この辺りは細かい座標変換の泥臭いところです。学習データを作るところは、緻密に泥臭くやる必要がありまして、こういうところはしっかりと取り組んでいます。

動画が流れていますが、これが実際の学習結果です。 右上がGT(Grand Truth:正解データ)で、左上が学習してるモデルのPredictionになります。 右下がその差分になりますが、GTとPredictionを見比べてもかなり近いことが分かりますし、右下の差分を見ても奥行きもぴったり一致していることがわかります。基本的にはカメラのみで推論をしているので奥行き方向は苦手なはずですが、この一致を見てもらうと我々のモデルは3次元的な奥行きや周りの状況なども理解をしていることが分かります。

ここではカメラ1つ分しか映していませんが、実際にはカメラ6つを周囲に取り付けて360°を認識しながらやっています。6つのカメラの入力で、リアルタイムで推論を行うことができています。属性としてはレーンや横断歩道などの要素を予測しております。

最後に細かい話ですが、GTの一致度はフェアな比較で90%以上を達成しています。マップ認識をやったことがある方からすると、90%は驚いてもらえると思います。

改めてE2E自動運転とマップ認識に関してですが、E2E自動運転はHD Mapに頼らずに周りを認識しながらリアルタイムで周囲を認識する必要があるので、我々で大規模にデータを作っています。その上でリアルタイムに推論して、精度も高いところまで来ているかなという風に思っています。

山口:ありがとうございました。実はこのような壮大なマップを自社で作っていて、それをさらに学習させるところまで紹介してもらいました。

このYouTubeをご覧の方は、そもそも「HD Mapとはなんぞや?」という人も結構いるわけじゃないですか。 我々は「高精度マップがなくても運転できるよ、これがE2Eのいいところだよ」と言っていますが。我々が90%の精度で地図予測できていますというのは、車につけたカメラによって上から鳥瞰図のような地図を予測することがリアルタイムでできるということですね。車にカメラって今何台つけているんでしたっけ?

塩塚:学習に使っているのは6つです。

山口:どういう方向でついていますか?

塩塚:まずはフロント方向に1つ、フロントの右と左方向に1つずつ、 後ろ方向にも1つで、 あとは右後ろと左後ろで6つになります。

山口: つまり車の周囲360°を死角なく撮れるようなカメラ配置になっていますね。その6つのカメラ映像が入ってきて、それを使ってモデルを予測して、さっき見たような自分の車の周囲の地図をリアルタイムで推測できるということですよね。

塩塚: そうです。

山口:これがすごく高い精度でできるようになっていますが、例えば普通のカーナビの地図やGoogle Mapだとそこまで正確な地図はそもそも予測できないですよね。カーナビやGoogle Mapの地図と我々の地図は、どの辺が違うんですか?

塩塚:Google Mapなどの地図は、例えば3車線の道を走っている時にGoogle Mapを見ると、1車線になっているんです。つまりレーン単位の情報はなくて、何車線あっても1つのレーンとして表示されています。 一方で我々のマップはレーン単位で作っており、そういった細かさが違いますね。

山口:そうですよね。カーナビに従って運転していたら、「左に曲がりたいけど何車線あるんだ? どこの車線に入ったらいいんだ?」と混乱する時がありますもんね。

我々も東京都内で自動運転するモデルを作っているので、その辺の複雑な車線の情報とかもきちんとリアルタイムで推論予測するところが必要です。なので、それに必要な車線の情報も見られるようになっているんですね。これはカーナビやGoogle Mapで見る二次元で、三次元情報は含んでないという理解で合っていますか?

塩塚: はい、二次元で合っています。

山口:では、改めてスライドを見ながら地図について深掘りして行こうと思います。

End-to-end自動運転について、そもそも従来のシステムはどういうものなのでしょうか?

塩塚:従来のシステムと言ってるものは、Perception→Prediction→Planning→Controlと書いてあるように、まずはPerception: 周りを認識して、Prediction:Perceptionの結果がPredictionに渡って認識した物体の移動予測をして、Planning:その結果がPlanningに渡ってどのように進むかを決めて、Control:最終的にControlの部分に行く、という流れになります。それぞれ前段のタスクに依存しているところがあるかと思います。

山口:センサーとしては我々と同じようにカメラを使っていますか?

塩塚:センサーとしては、カメラ画像も使っていますが、それ以外にもLiDAR点群と色々合わせる形でHD Mapというものを用意して使っています。

山口:LiDARは基本的にレーザー光を周りに発射して、その戻りを取ることで周囲の物体の立体的な形状や物質の材料・距離などを取ることができる、ポイントクラウドと呼ばれる点の集合体を取ることができる非常に優れたセンサーなのですが、これを使うだけでなく三次元地図を組み合わせるんですね。

三次元地図も通常はLiDARで取って、より緻密にあらかじめ取っておいた三次元の点群の地図=HD Mapと呼ばれるんですけども、このHD Mapと実際に車が走っている時のリアルタイムのセンサー情報を突き合わせて、地図と実際のリアルタイムで撮っているセンサーデータによって自分がどこにいるかをはめ込むイメージですね。

なので従来のシステムと言ってるところは、非常に高精度な点群情報があるような三次元地図がある前提で、ある範囲で正確に自分の位置を推定して走ることが、この地図という文脈だと必要なんですね。逆に言うと、HD Mapがないところは走るのが難しいですか?

塩塚:そうですね. 難しいと思います。

山口: 例えばアメリカとか中国ではLiDARベースの無人タクシーが最近ありますが、あれもこの方式ですよね。

塩塚: そうです。

山口:あの辺は基本的に特定の区間、例えばサンフランシスコや上海とか、その区間だったら非常に正確で安全性も高く走ることができます。しかし、例えばそれを通常の乗用車で区間関係なく使おうとすると、この方式はかなり大変なんですね。つまり日本全国高精度マップを用意するのはすごく大変で、この高度マップの容量はどのくらいなんでしょう? 数100Bとか、1TBなど、ちょっとした街を作るだけでもそれくらいのオーダーになってしまいます。

実は我々もLiDARを実際の学習データで集めていますが、点群データというのはデータ容量としてはとても重いです。そのため、日本全国全ての道で用意することは現状では難しいし、それを1台の車にローカルで用意したり通信で送ったりすることも難しいです。

我々は、乗用車でもあらゆる状況で走ることのできる自動運転を目指しているので、また違ったアプローチが必要になります。ですので、こういった高精度地図に頼らないかたちを目指しています。この辺で地図の違いについては説明できたかなと思います。

では実際に我々のモデルがどういう風にやっているかという詳細を、次のスライドでまた聞いていきたいと思います。

End-to-end自動運転、特にTD-1というモデルを我々は作っていますが、 これはカメラを入れて経路を出すので、これがインプット・アウトプット(=future trajectory「未来の軌跡」)じゃないですか。下のところにあるマップ認識は何のためにやっているんですか?

塩塚:これはBEV 3次元特徴と書いているところから経路生成とマップ認識が出ていますが、マップ認識を行うことでBEV 3次元特徴と言われるものが周りのマップ認識を十分に認識できるだけの情報を持つことができるようになるんです。

その特徴を持って経路生成を行うことで、きちんと周りをマップ認識できるような(例えば自分が左に寄すぎていることを認識したり、それを修正したりするような)情報量をBEV 3次元特徴に作ってもらうことが役割になっています。

山口:なるほど。BEVについても教えてもらって良いでしょうか?

塩塚:BEVは、Bird Eye View(鳥瞰図)の略です。

山口:普段我々が地図アプリなどで見る地図は基本的に鳥瞰図になりますが、これをモデルは内部的に持ってるということでしょうか?

塩塚: はい、内部的に持っています。

山口;だから、このマップ認識で周囲の地図が鳥瞰図で見えていますが、これに近いようなものをモデルの内部空間として持っていて、そこから派生してマップ認識をしたり、あるいは車の存在を物体認識したりするようなかたちでしょうか。

塩塚: そうですね。

山口:基本的にはこのBEVを使うとすごく良いEnd-to-endモデルを作ることができるというのは2023年くらいから言われていると思います。さっき言ったように、経路を作るにもマップ認識ができるほど周囲の認識がよくできて、BEVがより賢くなってくるので、最終的に経路も良くなるんですね。直接的に経路生成によく使っているわけではないですが、総合的なタスク能力を上げるためにサブタスクとして行っているということです。実際どのくらい重要なんですか?

塩塚:私の仕事上は非常に重要と言わざるを得ないですけれど(笑)、冗談は置いておいて、結構大事だと思っています。

この前も実験をしていたんですけれども、TD-1がゼブラゾーンをあまり認識していない場面があり、ゼブラゾーンに突っ込んでいくようなトラジェクトリを引いていました。しかし 改良したモデルではゼブラゾーンを認識できて、そこへは入らずにきちんと道路の真ん中を走るトランジェクトリが出ました。また逐次他の研究も見ており、その中でもマップ認識や3次元物体検出をやることによって経路生成が良くなるという報告はあるので、これは非常に重要であると考えております。

山口: 本当にそうですよね。基本的にこのマップでアノテーションしていないところはモデルもあんまり明示的に認識できないですよね。 例えば横断歩道などは最初からラベリングしたけど、多分横断歩道を引いていなかったらあまり横断歩道がよくわかんなくて、それを無視するようなものが学習されてしまうかもしれないですね。なので地図認識というのは、人間も当然車線の情報や横断歩道などを見ていますが、 それと同じぐらいモデルもその辺りの交通環境を見ているということですね。

他の自動車メーカー、特にTeslaや中国の自動車メーカーもやはり似たようなEnd-to-endモデルを作っているんですよね。

次のスライドで見ていきますが、TeslaそれからLiAuto辺りはかなりEnd-to-endをたくさんやっているところでよく知られている会社かなと思いますけれども、実際に車のディスプレイ上に出てきますもんね。左がTeslaで右がLiAutoですけどUIが似ていますよね。Teslaの方が基本的には、あらゆる自動車メーカーから先行していて、後続する企業は基本的にこれに寄せていく力が働くというのもありますし、もしかしたらこのUIは完成系に近いのかもしれないです。

実は私もプライベートでTeslaに乗っていますが、日本だとTesla FSDと呼ばれるグレードの高い自動運転は機能として解放されておらず、北米以外では最近中国が初めて解放されたんです。ただこの周囲の認識みたいなものはUIとしては出ていて、直感的で見やすいUIだなと改めて思います。

各社は自分たちのEnd-to-endモデルでマップの推論がリアルタイムでできるようなモデルを作ってきていますね。それがどういう風に学習しているか、どういう風に使われているかの詳細までは分からないです。

実際に中国とTeslaを技術的に比べて、マップ認識などの精度を比較すると違いがありますか?

塩塚:私は最新のTeslaFSDをアメリカに見に行けてはいないのですが、両者ともかなりマップ認識の精度が高く、非常に遠くまで見ているところも特徴ですね。

人間からすると「そんなところまで見えているのか」というところまでマップ認識をして、実際にモデルが出しているトラジェクトリがマップと矛盾していないと思います。我々も探索する必要があるという風に思っています。

山口:ありがとうございます。 このマップ認識もルールベースにできる話ではなくて、End-to-endモデルを学習する時に正解ラベルのようなものを用意して、それできちんと学習することによってすごく精度の高いモデルができるという形ですよね。だからTeslaもLiAutoもそれぞれの地図データを持っていて、それで自分たちのモデルを頑張って学習しているのかなと思っております。

山口:実際にチューリングでも、このマップの学習データを作っているんですよね。

塩塚:はい、作りました。

山口:これは塩塚が1年かけて東京の道を頑張って地図データとして起こしたのですが、大体今はどのくらいの範囲をカバーしていますか? 例えば23区を全部カバーしているのか、あるいは中心部をカバーしているのか。

塩塚:それで言うと、左側のマップ作成エリアとほぼ同じエリアを作っていることになります。

山口:我々チューリングのオフェスがある品川区は入っていて、大田区、江東区、中央区、新宿区、渋谷区、目黒区などが入っていますね。江戸川区が入っていませんが、E2E自動運転チームの江戸川区民がちょっと悲しそうでした(笑)

特に東京の中心部でより複雑なところをまずはデータとして起こして、もしかしたら今後これを拡張していくこともあると思います。既に7000kmありますからね。

塩塚:そうですね、7000kmと言ったらかなり広いと思います。

山口:昔話になってしまいますけど、自動運転を作り始めた2022年の我々が入社した当時、 北海道を1周しました。我々が作った自動運転システムで、どれくらい長距離を安定して走ることができるかを見ていて、確か6日ぐらいかかりましたよ。その時に走った距離って覚えていますか?

塩塚:すみません、ちょっと覚えてないです。

山口:その時は1495km走ったんですよ。1500kmに届かなくてあれも大変な距離だったと思いましたが、それよりもずっと長いですね。その4倍以上の距離を都内だけで整備しています。このマップはあらゆる道路をカバーしていますか?

塩塚:厳密に言うと、全てのこの範囲にある道路を作っているわけではないです。 基本的に必ず入っているものは高速道路、 あとは道路の幅が5.5m以上のものは必ずこの範囲では作っています。50%弱くらいは作っていますね。

山口:100%ではないけれども、例えば片側2車線あるような主要な道路は全てカバーしているし、住宅街の狭い道もある程度は地図に入っているということですね。この地図を作るのは大変でしたもんね。

この地図の種類はベクターマップと呼ばれるんですよね。先ほど言っていたように、2次元で車線の情報もあったり、横断歩道やゼブラゾーン、トポロジー(どの車線とどの車線が交差点の中で繋がってるか)もあったりするんですね。皆さんあまり意識されることがないと思いますが、交差点は車線が消えるので無法地帯になってしまうため、自動運転がどこへ行ったらいいか分からない時に、トポロジーでどことどこが繋がってるかをわかるようにします。

この右側のトポロジーも、何気なく普通によくある片側三車線の交差点ですが、トポロジーが何本あるんだという感じですね。実は東京中の交差点で全てのトポロジーを書いています。どこの道を通ると1番理想的な経路になるかを知るために、これはすごく大事になってきます。

横断歩道などの道路表示も、車線からどのくらいはみ出ているかを自動運転では評価しないといけないので、実際のリアルな環境と同じくらいの精度でこの地図を東京都内で集めています。実際に我々がデータを取っているわけですが、大体10000時間に近づいていますね。取っている地域はこのマップとなにか関係あるんですか?

塩塚:我々は基本的には、マップを作った場所を中心に学習をしています。ですので、データ収集も基本的にはマップがあるところ中心に行っています。

山口:今は東京都内かなりの範囲のマップができましたが、昔はそんなにマップの範囲が広くなくて、限定的なところを頑張って走っていました。今は7000kmの範囲をカバーできるようになったので、本当に東京都内のいろんなところを走れるようになってきたというとこですよね。

※以降では、参加者との質疑応答が展開されました。本イベントの全内容は、ぜひ以下のリンクからご覧ください。

【イベント概要】

Turing Tech Talk #13 End-to-end自動運転におけるマップ推定https://www.youtube.com/watch?v=Nrc4hUDbKdY