モビリティ開発の速度を上げる「リアル×仮想」(後編)

ディープラーニングの学習用教師データを仮想環境で作成。その価値とは

運転支援システムのAIをつくるためには、莫大な量の学習データが必要である。デンソーは、ゲームの開発技術を活かしたAI学習用のデータ生成や、駐車支援システムの開発を目指して技術の開発に取り組んでいる。仮想環境とAIが組み合わさることで、次世代モビリティの開発は加速し、今までは実現が難しいとされていた技術の検証が進んでいる。

※本記事は「モビリティ開発の速度を上げる「リアル×仮想」(前編)の続編です

  • AD&ADASシステム技術部小口 貴弘

    幼少時代からゲームやプログラミングに慣れ親しむ。学生時代は量子力学やカオスシミュレーションを専攻。新卒でゲームメーカーに入社し、エンジニアとして15年勤めたのちデンソーに転職。前職で培った仮想環境での研究開発技術を活かし、高度運転支援システムの先行開発などに従事。

この記事の目次

    ゲームの開発技術を使って、AI学習データを大量生成

    2つ目は「センシング機能開発」への適用ということでしたが、どのように仮想環境を活用するのでしょう?

    小口: その前にまずは高度運転支援システム(以下、ADAS)でどのような処理を行っているかを説明しましょう。

    ADASでは、カメラなどのセンサーから取り込んだ情報を元に、周囲の状況をシステムが認識する必要があります。「ここは進んでもよい場所だ」「ここには入ってはいけない」などとシステムが推論するわけです。
    そのためには、カメラの画像にどのような物体が写っているのかを認識する必要があります。その過程で行われる処理の1つがセマンティックセグメンテーションです。セマンティックセグメンテーションでは、画像中のピクセル(画素)1つ1つについて、道路・標識・人間といった具合にクラス分類を行います。
    例えば、晴天時にかすれや汚れのない白線を認識するなら、ピクセルの濃淡から「この部分は白線だ」と推論することもできる場合もありますが、こうした手法だけでさまざまな物体を認識することは困難です。

    そこでディープラーニングという機械学習の手法が主流になってきました。ディープラーニングの「教師あり学習」では、膨大な数の教師データ(正解データ)をAIモデルに学習させます。こうして作られたAIモデルに任意の画像を入力すると、画像中のオブジェクトを適切に分類してくれるようになります。
    厄介な点は、どのように教師データを用意するかという点です。セマンティックセグメンテーションの場合だと、画像中でどのピクセルがどのクラスに属するのかを、タグ付けして示すアノテーションという作業を行って教師データをつくるのですが、教師データは数千から数百万という膨大な量を用意しなければなりません。

    そこで最近では、CGを使ってディープラーニング用の教師データを生成することも行われるようになってきました。「そのようにして作られたAIモデルで、現実の画像を認識できるのか?」と思われるかもしれませんが、CG画像と現実の画像を混ぜてAIモデルに学習させた方が認識率は上がるという結果が複数の論文で報告されています。

    セマンティックセグメンテーションのクラス分類

    つまり、ディープラーニングの学習用教師データを、仮想環境を使ってつくると言うことですね?

    小口: はい。Unreal Engineには、遅延レンダリングという機能があります。この機能を使うと、画面にレンダリング(演算結果を表示すること)するだけでなく、中間の画像バッファを生成することができます。
    バッファ中の画像には正解データのタグを埋め込むことができますから、教師データの生成を圧倒的に効率化できるわけです。

    仮想環境において、どのようなシーンを教師データとしてピックアップするのでしょうか?

    小口: ディープラーニングを使う場合、どういうデータを学習させれば、正しく認識するようになるのかをあらかじめ予測する難しさがあります。質の高いAIモデルをつくるには、豊富なバリエーションのデータで学習する必要があります。

    仮想環境であれば、「交通標識」と「交通標識に似たデザインのお店の看板」が横並びになるような珍しいシーンを作り、AIが「交通標識」を識別できるか試すことが可能です。そのようなシーンを私たちはレアケースと呼んでいます。こういうシーンは現実だと用意するのが大変ですが、仮想環境ではそうしたシーンも簡単につくることができます。
    また、ADASの「認識」で問題になることが多いのは道路上の物体です。中でも「動物」が上位に来ますが、テストをするために実際にさまざまな動物を道路に歩かせることは難しいです。こうしたケースについても、AI学習用のデータをつくれることは仮想環境ならではの強みです。

    直感的に把握しづらい範囲が見える?駐車支援システム

    3つ目の「HMI機能の開発」への活用では、駐車支援システムのユーザーインターフェイス開発の研究事例があるということでした。これは、どのようなものでしょうか?

    小口: モビリティの前後左右に付いているカメラからの映像を元に、トップビュー(上から見下ろしたアングル)の周辺映像を表示する機能です。自車の周辺だけでなく、それより広範囲が歪みなく表示できればユーザーの安心に繋がります。これは共同発表者である服部氏の研究が発端となっています。

    左:モビリティに搭載されるカメラの位置、右:トップビューアングル

    モビリティ自体のカメラからの映像だと、直感的に把握しづらい範囲がありますよね。

    小口: はい、見渡せる範囲が広がるほど画面端の映像は歪みますから、ユーザーが直感的に把握しづらくなります。そこで複数の手法を組み合わせ、画像生成を行う技術の開発の研究に、仮想環境を使用しました。

    まず、前後左右カメラからの画像を元に、SfM(Structure from Motion)を使って、周辺の立体形状を推定します。SfMというのは、複数画像に共通して写る点を元に深度(奥行き)の推定を行う手法です。同時に、前後左右カメラからの画像を合成してトップビュー画像を生成しますが、この時点では間延びして歪んだ画像になっています。
    そこで、SfMで得た深度情報を元に、トップビュー画像を補正します。これによって画像の歪みは補正されますが、カメラから見えない領域(オクルージョン領域)は空白として描画されてしまいます。この空白部のエッジを検出・復元し、さらにそれらしく見えるように穴埋めを行うという、2段階のアルゴリズムで処理を行います。このエッジコネクトという当時最先端だったGANベース画像穴埋めアルゴリズムを選択したのは、株式会社デンソーアイティーラボラトリの関川氏です。

    ちなみに、エッジコネクトの前には IntroVAEというVAE手法でエッジ復元なしのアルゴリズムを試したのですが、こちらは相性が悪く、モビリティの輪郭が潰れてしまいました。

    空白になっているのは、本来はカメラで見えていない領域なわけですよね?どうやって穴埋めを行っているのですか?

    小口: GAN(Generative Adversarial Networks:敵対的生成ネットワーク)という、ディープラーニングの手法を使っています。GANは実在しない写真やイラストなどの生成にも使われています。
    GANの原理は、偽札を作る偽造者と、警官の競争として説明されることがあります。偽造者(ジェネレータ)はできる限り本物に近い画像をつくろうとし、警官(ディスクリミネータ)は本物か偽物かを判定しようとします。ディスクリネータに見破れないように競い合いながら学習を重ねることで、本物らしい画像が生成されるようになっていくのです。

    ユーザーが安心できるトップビュー画像を生成する。

    GANのAIモデルに学習させるためのデータは、どのように用意するのでしょうか?

    小口: まさにそこで仮想環境の強みが生きてきます。リアルで正解データを用意するためには、ドローンなどを使って実際にトップビューを撮影する必要があります。しかし、仮想環境内にオブジェクトを配置すれば、どの角度からでも自由に見ることができますよね。当然、モビリティの真上にカメラを設置してトップビューの画像をつくることも可能です。つまり、仮想環境を使うことでトップビューの正解データを用意できるわけです。

    プロジェクトのチームで仮想環境上に駐車場モデルを作り、トップビュー画像を10万枚程度生成しました。こうして作成した画像で学習させたAIモデルで画像を生成させたところ、良い結果を得られました。画像内のモビリティは、きちんとモビリティと認識できるレベルで再現できています。
    AIモデルの開発は長期にわたることが多いのですが、このトップビュー画像を生成するAIモデルに関しては2ヶ月とかなりの短期間でつくることができました。
    仮想環境のモデルの品質を上げたり、学習用にリアル環境の画像を追加したりしていけば、さらに高精度の結果が得られるでしょう。

    GANで生成するということは、現実を完全に反映したものではないということですよね。

    小口: はい、その問題はあります。たしかにGANで推論した画像は現実と違う可能性がありますが、もしADASアプリケーションに実装するとなれは推論した画像をそのまま使用せず、推論した部分を明示する必要があると考えています。このプロジェクトは、仮想環境でどのようなことが可能になるのかというトライアルになりました。

    正解を完全に担保するのであれば、インフラ側にサポートを置くという手があります。駐車場の天井にカメラを設置すれば完全なトップビューは取れるわけですし、あらかじめパターンを覚えて、ある認識しやすいマーカーを地面に設置することで空間を把握しやすくするといった手法もあるでしょう。
    モビリティ側のセンサーの多寡によってどういう結果になるのか、あるいはインフラ側のサポートはどの程度必要なのか、そうした問題の洗い出しになると考えています。

    仮想環境でモビリティ開発のあり方が変わる

    仮想環境でモビリティを開発する面白さは、どのような点にあると思いますか?

    小口: 安心・安全を担保した上で、実車では難しい取り組みを実現できる点です。私もゲーム業界で15年働き、ゲームの品質が現実に近づいたと思ったからこそ、転職しました。デンソーはいろいろな技術を挑戦したいエンジニアにとって、チャレンジできる環境が整っていると思います。

    最近では、メタバースやデジタルツインなど、仮想環境に関する話題をよく耳にするようになりました。特に日本はゲームの技術が先行しており、仮想環境技術を牽引してさまざまなトライアルが進められています。これから、ブレークスルーが益々増えてくるのではないかと期待しています。
    さまざまなアイデアを仮想環境で膨らませて、現実に反映する。ADAS開発で、それを実現したいです。

    モビリティの開発も大きく変わっていきそうですね。

    小口: デンソーは、現地現物で的確なアクションに結び付ける技術開発のアプローチを基本としています。私も安心・安全を担保するには、これが必要不可欠だと考えています。そのアプローチをさらに高めるために、仮想環境を上手く活用しより良い技術を開発していきます。

    登録はこちら

    「できてない」 を 「できる」に。
    知と人が集まる場所。