バックナンバーはこちら

today&tomorrow

What's New in DesignWare IP?

2019 vol.112

AIが車載SoC設計に与える影響

先進運転支援システム(ADAS)およびその先の自動運転を実現する強力な技術として、人工知能(AI)およびニューラル・ネットワークを使用したディープ・ラーニングがあります。しかしAIの研究は急速な進歩を続けており、エンベデッド・ビジョンにおける推論など、ディープ・ラーニングを利用した車載アプリケーションをサポートするには、効率と柔軟性に優れたスケーラブルなハードウェアとソフトウェアを開発しなければならず、このことが設計者にとって大きな課題となっています。AIやディープ・ラーニングは、インフォテインメント・システムのように安全に直結しない車載システムには簡単に導入できても、セーフティ・クリティカルなシステムでは機能安全規格ISO 26262の要求事項を満たす必要があるため、導入は容易ではありません。ニューラル・ネットワークを使用したシステムがISOの安全要求を満たし、必要なASIL認証を達成するには、実証済みIPを選択すること、安全の文化を育成すること、厳密なプロセスとポリシーを作成すること、セーフティ・マネージャーを任命することなどが必要となってきます。また、ISO 26262の要求事項を満たしたビジョン対応SoCを開発するには、包括的なシミュレーション、バリデーション、テスト、および体系的な検証プランも必要となります。

ビジョンを利用したADASシステムへのAIの適用

AIとディープ・ラーニングによってADASシステムは進化を続け、自動運転車の実現へと向かっています。その背景には、伝統的なアルゴリズムでは実行が難しかった物体(歩行者)検出や複数の物体の認識が、AIとディープ・ラーニングによって精度が飛躍的に向上していることが挙げられます。AIによって、自動車は周囲環境の意味さえも解析できるようになっています。これは、自動車が周囲の環境やそこで発生する事象を評価できるようになるために欠かせない能力です。

車載アプリケーションへのAIの採用は主に2つの分野で進行しています。1つはヒューマン・マシン・インターフェイス(HMI)を備えたインフォテインメント・システムで、もう1つはADAS/自動運転車です。HMIは音声認識(自然言語インターフェイス)、ジェスチャ認識、バーチャル・アシスタントなどで構成され、既に現在の自動車にも導入されています。これらのシステムでは単なる汎用AIではなく、最先端のディープ・ラーニングの活用が始まっています。これに対し、もう1つの分野であるADAS/自動運転車を実現するシステムは、はるかに複雑で、カメラ、長距離/短距離レーダー・システム、LiDARを使用して物体認識やコンテキスト評価、更には行動予測も実行します。

ソフトウェア開発に対するAIの影響

ソフトウェアの面から見ると、ディープ・ラーニングはアルゴリズムのプログラミングと実装の大きなパラダイム・シフトを意味します。たとえば伝統的なコンピュータ・ビジョンで歩行者検出アプリケーションを開発するには、ある特定の形状が人物であるかどうかを判定するプログラムを作成します。このプログラムはビデオ入力の各イメージをフレームごとに解析して、そのイメージに人物が含まれるかどうかを判定します。ディープ・ラーニング以前に開発された物体検出手法の1つにHOG(Histogram-Oriented Gradients)アルゴリズムがあります。これは、画像に存在する形状のエッジの向きを解析して特定の物体を検出するというものです(図1)。

画像

図1:CNNエンジンを内蔵したシノプシスのDesignWare® EV61エンベデッド・ビジョン・プロセッサでTinyYOLO CNNグラフを実行し、物体検出・分類を行う自動運転および監視アプリケーションの例

HOGなどの伝統的なコンピュータ・ビジョン・アルゴリズムを使用した場合、歩行者に加え乗用車、各種トラック、犬、自転車など、あらゆる物体を識別可能なアルゴリズムを人手で作成しようとすると、何年もの工数がかかります。これに対し、ニューラル・ネットワークは生の入力データを与えると、それを使用して画像の中に何を見つければよいかの判断を下す方法を「学習」します。ニューラル・ネットワークには入力層と出力層が1つずつあり、入力層と出力層の間に複数の隠れ層(すなわち全体で3層以上)を持つものをディープ・ニューラル・ネットワーク(DNN)と呼びます(図2)。各層にはいくつもの独立したノードがあり、これらが学習をします。各ノードの値に重みを掛けて足したものを次の層のノードに入力します。このプロセスはニューラル・ネットワークの学習の一部であり、直接プログラムするものではありません。

画像

図2:ディープ・ニューラル・ネットワーク(DNN)。大量のデータセットを使用して「トレーニング」したネットワークは物体を分類、検出する方法を「学習」し、この学習が進むにつれて重み(係数)が微調整されていきます。

ニューラル・ネットワークでは、すべてのノードが次の層のすべてのノードに接続されます。ノードの層を増やすことで、物体検出/分類、顔認識、ジェスチャ認識など多くのアプリケーションにおいて伝統的なコンピュータ・ビジョン・アルゴリズムを上回る精度を達成できます。前処理と後処理が必要なため、プログラマブル・ソリューションが完全に不要になるわけではありませんが、DNNは飛躍的に高い精度を実現できるため、分類、検出、認識などの解析における事実上の標準となっています。

畳込みニューラル・ネットワークを利用した衝突被害軽減ブレーキ(AEB)

畳込みニューラル・ネットワーク(CNN)はDNNの一種で、画像認識における最先端の手法となっています。CNNはビデオ入力の各イメージをフレームごとに処理します。CNNでは、フィルタを使用して各イメージを畳込み処理して中間特徴マップを得ます。これを複数の層に対して繰り返して実行し、低レベル特徴、中レベル特徴、高レベル特徴を抽出したものを、衝突被害軽減ブレーキ(AEB)システムの歩行者検出などのアプリケーションで利用します(図3)。

画像

図3:CNNは1つの画像を特徴マップに分解します。出典:「Deep Convolutional Neural Networks for Pedestrian Detection」(Milan: Dipartimento di Elettronica, Informazione e Bioingegneria, Politecnico di Milano, 2016)アクセス日2017年3月14日

低レベル特徴とは、曲線やエッジなどをいいます。中レベル特徴とは円(曲線の組み合わせ)や矩形(エッジの組み合わせ)などです。そして最後に、歩行者を認識するようにトレーニングしたネットワークであれば、腕、足、胴体などの形状を識別します。最後の層は全結合され、すべての解析結果が1つにまとめられます。要するに、コンピュータまたはマシンは入力画像を細かく分解し、これらを最後に再び1つに組み合わせ、曲線やエッジ、ラインに基づいてそれが歩行者であるかどうかを判定します。この判定はCNNの学習フェーズに基づいて行われます。

カテゴリートップ