先進運転支援システム(ADAS)およびその先の自動運転を実現する強力な技術として、人工知能(AI)およびニューラル?ネットワークを使用したディープ?ラーニングがあります。しかしAIの研究は急速な進歩を続けており、エンベデッド?ビジョンにおける推論など、ディープ?ラーニングを利用した車載アプリケーションをサポートするには、効率と柔軟性に優れたスケーラブルなハードウェアとソフトウェアを開発しなければならず、このことが设计者にとって大きな課題となっています。AIやディープ?ラーニングは、インフォテインメント?システムのように安全に直結しない車載システムには簡単に導入できても、セーフティ?クリティカルなシステムでは機能安全規格ISO 26262の要求事項を満たす必要があるため、導入は容易ではありません。ニューラル?ネットワークを使用したシステムがISOの安全要求を満たし、必要なASIL認証を達成するには、実証済みIPを選択すること、安全の文化を育成すること、厳密なプロセスとポリシーを作成すること、セーフティ?マネージャーを任命することなどが必要となってきます。また、ISO 26262の要求事項を満たしたビジョン対応SoCを開発するには、包括的なシミュレーション、バリデーション、テスト、および体系的な検証プランも必要となります。
AIとディープ?ラーニングによってADASシステムは進化を続け、自動運転車の実現へと向かっています。その背景には、伝統的なアルゴリズムでは実行が難しかった物体(歩行者)検出や複数の物体の認識が、AIとディープ?ラーニングによって精度が飛躍的に向上していることが挙げられます。AIによって、自动车は周囲環境の意味さえも解析できるようになっています。これは、自动车が周囲の環境やそこで発生する事象を評価できるようになるために欠かせない能力です。
車載アプリケーションへのAIの採用は主に2つの分野で進行しています。1つはヒューマン?マシン?インターフェイス(HMI)を備えたインフォテインメント?システムで、もう1つはADAS/自動運転車です。HMIは音声認識(自然言語インターフェイス)、ジェスチャ認識、バーチャル?アシスタントなどで構成され、既に現在の自动车にも導入されています。これらのシステムでは単なる汎用AIではなく、最先端のディープ?ラーニングの活用が始まっています。これに対し、もう1つの分野であるADAS/自動運転車を実現するシステムは、はるかに複雑で、カメラ、長距離/短距離レーダー?システム、LiDARを使用して物体認識やコンテキスト評価、更には行動予測も実行します。
ソフトウェアの面から見ると、ディープ?ラーニングはアルゴリズムのプログラミングと実装の大きなパラダイム?シフトを意味します。たとえば伝統的なコンピュータ?ビジョンで歩行者検出アプリケーションを開発するには、ある特定の形状が人物であるかどうかを判定するプログラムを作成します。このプログラムはビデオ入力の各イメージをフレームごとに解析して、そのイメージに人物が含まれるかどうかを判定します。ディープ?ラーニング以前に開発された物体検出手法の1つにHOG(Histogram-Oriented Gradients)アルゴリズムがあります。これは、画像に存在する形状のエッジの向きを解析して特定の物体を検出するというものです(図1)。
図1:颁狈狈エンジンを内蔵したシノプシスの顿别蝉颈驳苍奥补谤别? EV61エンベデッド?ビジョン?プロセッサでTinyYOLO CNNグラフを実行し、物体検出?分類を行う自動運転および監視アプリケーションの例
贬翱骋などの伝统的なコンピュータ?ビジョン?アルゴリズムを使用した场合、歩行者に加え乗用车、各种トラック、犬、自転车など、あらゆる物体を识别可能なアルゴリズムを人手で作成しようとすると、何年もの工数がかかります。これに対し、ニューラル?ネットワークは生の入力データを与えると、それを使用して画像の中に何を见つければよいかの判断を下す方法を「学习」します。ニューラル?ネットワークには入力层と出力层が1つずつあり、入力层と出力层の间に复数の隠れ层(すなわち全体で3层以上)を持つものをディープ?ニューラル?ネットワーク(顿狈狈)と呼びます(図2)。各层にはいくつもの独立したノードがあり、これらが学习をします。各ノードの値に重みを掛けて足したものを次の层のノードに入力します。このプロセスはニューラル?ネットワークの学习の一部であり、直接プログラムするものではありません。
図2:ディープ?ニューラル?ネットワーク(顿狈狈)。大量のデータセットを使用して「トレーニング」したネットワークは物体を分类、検出する方法を「学习」し、この学习が进むにつれて重み(係数)が微调整されていきます。
ニューラル?ネットワークでは、すべてのノードが次の层のすべてのノードに接続されます。ノードの层を増やすことで、物体検出/分类、颜认识、ジェスチャ认识など多くのアプリケーションにおいて伝统的なコンピュータ?ビジョン?アルゴリズムを上回る精度を达成できます。前処理と后処理が必要なため、プログラマブル?ソリューションが完全に不要になるわけではありませんが、顿狈狈は飞跃的に高い精度を実现できるため、分类、検出、认识などの解析における事実上の标準となっています。
畳込みニューラル?ネットワーク(颁狈狈)は顿狈狈の一种で、画像认识における最先端の手法となっています。颁狈狈はビデオ入力の各イメージをフレームごとに処理します。颁狈狈では、フィルタを使用して各イメージを畳込み処理して中间特徴マップを得ます。これを复数の层に対して繰り返して実行し、低レベル特徴、中レベル特徴、高レベル特徴を抽出したものを、衝突被害軽减ブレーキ(础贰叠)システムの歩行者検出などのアプリケーションで利用します(図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つに组み合わせ、曲线やエッジ、ラインに基づいてそれが歩行者であるかどうかを判定します。この判定は颁狈狈の学习フェーズに基づいて行われます。
AIアプリケーションのプログラミングは伝統的なコンピュータ?プログラミングとはまったく異なり、2つのフェーズで構成されます(図4)。第1フェーズは学習フェーズと呼ばれ、物体を認識するようにネットワークをトレーニングします。第2フェーズは推論または運用フェーズと呼ばれ、自动车などの組込み環境のハードウェア上で実行します。一般に、学習フェーズはクラウド?データ?センターで1つまたは複数のGPUを使用して行い、推論フェーズは最終製品で実行します。
図4:学习フェーズはクラウドまたはサーバ?ファームで実行し、推论フェーズは自动运転车などの最终製品で実行します。
学習フェーズでは、ネットワークにラベル付きイメージを入力してトレーニングを行います。この作業を何度も繰り返すことにより、ネットワークは係数(重み)を調整して目的の物体を認識するように「学習」します。十分なトレーニングの後、この重みとネットワークを自动车などの組込みシステムに移転し、推論フェーズで物体を認識させます。基本的に、推論フェーズでのニューラル?ネットワークは、学習フェーズでトレーニングした物体が画像に含まれる確率を出力します。たとえば歩行者を検出するようにトレーニングされたニューラル?ネットワークは、入力イメージに歩行者が含まれる確率を返します。更に高度な処理を実行するには、画像に含まれる物体(一時停止標識など)に対して自动车がどのようにふるまうかを判断させる作業が必要となります。ここでもAIとディープ?ラーニングを利用して、さまざまな状況でどのようにふるまうかをシステムに学習させることができます。
学習フェーズの出力は32ビット浮動小数点数です。自动车に推論フェーズを実装する場合、機能安全と消費電力の両方が課題となるため、なるべく小さな規模で最大の精度が得られるようなハードウェアが望まれます。面積と消費電力を考慮しながら最適なビット分解能を決定することで、面積を最小限に抑えたハードウェアを開発することができます。ここ数年で、これらの新しいニューラル?ネットワーク?アルゴリズムを組み合わせたハードウェア開発が進み、CNN機能を内蔵した小型で高速な低消費電力SoCが実現しています。
シノプシスDesignWare EV6xエンベデッド?ビジョン?プロセッサは颁狈狈を密接に统合しており(図5)、性能、消费电力、面积の要件を満たしつつデザインの拡张が可能です。前処理と后処理はスカラーおよびベクター?ユニットで実行し、ディープ?ラーニング処理は颁狈狈エンジンで実行します。もちろん、これらを効率よくプログラムするにはソフトウェアが重要な役割を果たします。
図5:DesignWare EV6xエンベデッド?ビジョン?プロセッサ
ニューラル?ネットワークは常に変化しており、このことがAIテクノロジを使用するハードウェアの设计において大きな課題となります。たとえば分類ネットワークはAlexNetからGoogLeNet、ResNetを経て、今も新しいネットワークが登場しています。また、物体認識は分類と位置特定を組み合わせたもので、物体が何であるかだけでなくどこにあるかも認識する必要があるため更に複雑で、より高い演算性能が要求されます。このニューラル?ネットワークも急速に発展しており、RCNN(Regional CNN)からFast RCNN、Faster RCNNと変遷し、現在ではSSDやYOLOの派生ネットワークが主流となっています。
こうした演算面での課題に加え、自动车に搭載されるカメラの解像度も変化しています。現在の自动车に搭載されているカメラの画素数は1?2メガピクセル(MP)ですが、最近は3?4 MPのものも登場しており、8 MPのカメラも視野に入っています。画素数が増えると視覚性能が向上しますが、求められる処理性能も増大します。また、フレーム?レートを現在の15?30 fpsから60 fpsに引き上げると車両を完全に静止するまでの距離を短くできますが、そのためにはレイテンシを短く抑える必要があります。
このように解像度とフレーム?レートは向上する傾向にあり、数年前のニューラル?ネットワークは64 MACsの性能があれば十分でしたが、その後すぐに800~100 MACsが要求されるようになり、現在では複数のカメラに対応するために50 TeraMACs/sの性能を最小限の消費電力で達成することが求められるようになっています。
こうした要件の急激な変化を考虑して、シノプシスは専用のニューラル?ネットワーク?エンジンとビジョン?コア、およびMetaWare EV Development Toolkitを組み合わせたDesignWare EV6xエンベデッド?ビジョン?プロセッサをご提供しています。伝統的コンピューティングとニューラル?ネットワーク?エンジン、およびソフトウェアを組み合わせることによって、居眠り運転検知用の小型SoCでも自動運転に使用する高性能なセーフティ?クリティカルSoCでも開発が可能です。このDesignWareソリューションは幅広いアプリケーションへの対応を考慮して開発されていますが、基本的なハードウェアおよびソフトウェア?ビルディング?ブロックは共通のものを使用しています。
図6:DesignWare EV6xプロセッサは880 CNNエンジンを1個だけ使用して小規模なデザインを実装することも、AXIバスに複数個のプロセッサを接続してより高いCNN性能を得ることもできます。DesignWare EV6xプロセッサは現在、車載デザインなど低消費電力と高性能の両立が求められるアプリケーションに採用されています。
AIとニューラル?ネットワークによってADASアプリケーションの改良が進み、自動運転車の実現が近付いていますが、こうした自動運転が消費者に受け入れられるためには、システムの安全に万全の信頼が求められます。自动车业界は、車両システムが正しく機能して危険な状況を回避できること、そして故障を検出および管理できる能力を証明できることを要求しています。これらの要求事項は、機能安全規格ISO 26262、およびその中で定義されているASIL(Automotive Safety Integrity Level)によって規定されています。
図7:础厂滨尝レベルの定义
ISO 26262の要求事項におけるディープ?ラーニング?システムの位置付けはまだ定まっていません。インフォテインメント?システムでASIL B認証を取得するのは比較的容易かもしれませんが、ASIL CまたはD認証が必要とされるようなセーフティ?クリティカルなアプリケーションの場合、システムに冗長性を持たせることが求められるでしょう。また、このようなアプリケーションでは、ISO 26262の厳格な認証要求を満たしたポリシー、プロセス、文書化ストラテジを開発することも必要となってきます。
この場合、50 TeraMAC/sでの動作を達成するという課題を解決するだけでなく、ASIL認証を取得するために冗長性とフォールト?トレランスを追加する必要があります。シノプシスは、インフォテインメントなどのシステムではASIL B、セーフティ?クリティカルなアプリケーションではASIL Dを達成できるように设计者を支援するソリューションに投資を続けています。ただし、現在のSoC開発の要求レベルがASIL Bだからといって、ASIL Bに対応したSoCを開発していると、将来的にASIL Dが要求される自動運転アプリケーションでそのSoCを使用する場合に対応できなくなるため注意が必要です。
シノプシスはASIL BおよびASIL D対応IPを幅広くご提供するだけでなく、これまでISO 26262認証を成功させてきた豊富な経験に基づき、安全文化の育成、検証プランの作成、FMEDA(Failure-Mode Effect and Diagnostic Analysis)評価の実行などに関するノウハウもご提供しています。シノプシスはSGS-TUVとも協業しており、SoCの安全評価および認証にかかる期間を短縮していただけます。
車載システム设计には既に伝統的なエンベデッド?ビジョン?アルゴリズムが採用されていますが、今後の自動運転を実現していくには、AI手法の応用が1つの重要なキー?テクノロジとなってきます。その中でも特に注目されているのが、ディープ?ラーニング?アルゴリズムをベースにしたAIを多層CNNに実装したエンベデッド?ビジョンです。これらのアルゴリズムは、自動運転車の実現に必要な物体認識、分割、分類に特に大きな進歩をもたらすことが期待されています。
車載システムにAIを統合しようとすると、性能、消費電力、面積、機能安全の面で高いハードルをクリアする必要があり、ソフトウェアおよびハードウェア?エンジニアにとってシステム设计のあり方が大きく変化しています。シノプシスのようにASIL対応IPの提供において豊富な実績を持つIPベンダを選ぶことが、市場での成功の鍵を握ります。
详细情报