生産準備の完了したプラットフォームで適応性の高いエッジビジョンアプリケーションを迅速に構築・展開する方法
DigiKeyの北米担当編集者の提供
2022-02-03
エッジベースのスマートカメラに人工知能(AI)を応用することは、マシンビジョン、セキュリティ、小売、ロボティクスなど、増大する組み込みビジョンアプリケーションの分野で急速に普及しています。アクセス可能な機械学習(ML)アルゴリズムが急速に登場したことでAIへの関心が高まっていますが、開発者は、低消費電力で高性能なエッジベースのアプリケーションを実現しながら、過密なプロジェクトスケジュールをこなすのに苦労しています。
さらに問題を複雑にしているのは、新たに展開されたソリューションであっても、アプリケーション要件が目まぐるしく変化し、進化を続けるアルゴリズムが継続的に改善されるため、すぐに次善策となってしまうことです。
この記事では、開発者がエッジ展開用のスマートカメラソリューションを迅速に実装するために使用できる、Xilinxの柔軟なシステムオンモジュール(SOM)ソリューションを紹介します。また、レイテンシや電力の主要な要件を妥協することなく、ニーズの変化に応じてより簡単にソリューションを適応させる方法も示します。
ビジョンアプリケーションの実行を加速化
XilinxのKria K26 SOMは、カスタム構築されたZynq UltraScale+マルチプロセッサシステムオンチップ(MPSoC)をベースとし、64ビットクワッドコアのArm Cortex-A53アプリケーション処理ユニット(APU)、32ビットデュアルコアのArm® Cortex®-R5Fリアルタイム処理ユニット(RPU)、およびArm Mali-400MP2 3Dグラフィック処理ユニット(GPU)で構成される堅牢な組み込み処理システムを提供します。このSOMは、MPSoCと、4ギガバイトで64ビット幅のダブルデータレート4(DDR4)メモリおよび関連メモリコントローラ、さらには512メガビットのクワッドシリアルペリフェラルインターフェース(QSPI)メモリ、16ギガバイトの組み込みマルチメディアカード(eMMC)メモリ、電気的に消去可能でプログラム可能な64キロビットの読み取り専用メモリ(EEPROM)といった複数の不揮発性メモリ(NVM)デバイスを組み合わせたものです(図1)。
図1:XilinxのKria K26 SOMは、カスタム構築されたZynq UltraScale+ MPSoCの広範な処理能力と、トラステッドプラットフォームモジュール2.0(TPM2)および動的メモリと不揮発性メモリを組み合わせたものです。(画像提供:Xilinx)
Xilinxは、256Kシステムロジックセル、234Kコンフィギュラブルロジックブロック(CLB)フリップフロップ、117K CLBルックアップテーブル(LUT)で構成される広範なプログラマブルロジックシステムと、分散型ランダムアクセスメモリ(RAM)、ブロックRAM、およびUltraRAMブロックで構成される合計26.6メガビットのメモリを使用して、自社の処理資産およびメモリ資産を補完しています。さらに、プログラマブルロジックシステムには、1,248個のデジタル信号処理(DSP)スライス、4個のトランシーバおよび、最大32ストリームの同時エンコード/デコード、60フレーム/秒(fps)で最大合計3840 × 2160ピクセルに対応したH.264およびH.265用ビデオコーデックが含まれています。SOMの2つの240ピンコネクタは、ユーザー構成可能な入出力(I/O)を介して、機能ブロックやペリフェラルへの即時アクセスを提供します。
このようにプロセッサコア、メモリ、プログラマブルロジックを組み合わせることで、MLアルゴリズムの高速実行に使用されるGPUの主な短所を克服し、独自の柔軟性と性能を実現しています。GPUの固定されたデータフローとは異なり、開発者はK26 SOMのデータパスを再構成することで、スループットの最適化とレイテンシの低減を図ることができます。さらに、K26 SOMのアーキテクチャは、増加するMLアプリケーションの中核を成す疎なネットワークに特に適しています。
また、K26 SOMのプログラマビリティは、GPU、マルチコアプロセッサ、さらには高度なSoCを使用した従来のアーキテクチャで構築されたMLなど、メモリ負荷の高いアプリケーションにおいて、消費電力の増加やパフォーマンスの制限を招くメモリボトルネックにも対応します。このような従来型のデバイスで設計されたアプリケーションでは、システムの消費電力のうち外部メモリが約40%、プロセッサコアと内部メモリがそれぞれ約30%を占めているのが一般的です。一方で、開発者はK26 SOMの内部メモリブロックと再構成可能性を活用して、外部メモリへのアクセスをほとんど必要としない設計を実現することができます。その結果、従来のデバイスよりも性能が向上し、低消費電力を実現することができます(図2)。
図2:組み込みCPUや一般的なSoCをベースにしたシステムでは、アプリケーションを実行するために、電力を消費する複数のメモリアクセスが必要になりますが、Xilinx Kriaをベースにしたシステムでは、いかなるDDRアクセスも回避するように設計できる効率的なビジョンパイプラインを使用しています。(画像提供:Xilinx)
K26 SOMは、その高性能、低消費電力、広範な再構成可能性により、高感度アプリケーション向けのスマートカメラ設計においてセキュリティの確保に貢献します。MPSoCは、SOMの内蔵TPMセキュリティデバイスに加えて、専用のコンフィギュレーションセキュリティユニット(CSU)を統合しており、セキュアブート、タンパーモニタリング、セキュアキーストレージ、暗号ハードウェアアクセラレーションをサポートしています。CSU、内蔵オンチップメモリ(OCM)、およびセキュアキーストレージの組み合わせにより、セキュアブートを実装するためのハードウェアルートオブトラストと、アプリケーション実行用のトラステッドプラットフォームを確保するための安全な基盤を提供します。
K26 SOMで利用可能な広範な機能は、要求の厳しいエッジベースアプリケーションを実装するための強力な基盤となります。しかし、各アプリケーションには、アプリケーション特有のペリフェラルやその他の部品に関連する機能や特徴に対して独自の要件があります。アプリケーション特有のソリューションの実装を簡素化するために、K26 SOMは、追加のペリフェラルをホストするキャリアカードにプラグインできるように設計されています。Xilinxは、このアプローチをKria K26ベースのKV260Vision AIスターターキットで実証しています。
スターターキットによるビジョンアプリケーション開発の簡素化
XilinxのKV260 Vision AIスターターキットは、K26 SOMをビジョン中心のキャリアボードにプラグインしたもので、スマートビジョンアプリケーションの即時評価と迅速な開発のために特別に設計された、すぐに使用できるプラットフォームを提供します。K26 SOMが必要な処理能力を提供する一方で、スターターキットのキャリアボードは、パワーオンとリセットのシーケンスを含む電源管理および、カメラ、ディスプレイ、microSDカードなどのインターフェースオプションとコネクタを提供します(図3)。
図3:XilinxのKV260 Vision AIスターターキットは、ビジョン中心のキャリアボードにプラグインされたK26 SOMを使用して、完全なスマートビジョンソリューションを提供します。(画像提供:Xilinx)
このキャリアボードは、複数のインターフェースに加えて、Raspberry Piコネクタと1対のイメージアクセスシステム(IAS)コネクタを介したマルチカメラサポートを提供します。コネクタの1つは、すべての画像処理機能に対応可能なonsemiの13メガピクセル(MP)AP1302イメージセンサープロセッサ(ISP)へ接続されます。
ビジョンベースのアプリケーションの実装をさらに高速化するために、Xilinxはこの事前定義済みビジョンハードウェアプラットフォームと、一連の構築済みアクセラレーテッドビジョンアプリケーション、そしてカスタム開発用のソフトウェアツールおよびライブラリの包括的なセットをサポートしています。
高速化アプリケーションがもたらす迅速なソリューション
Xilinxは、アクセラレーテッドビジョンアプリケーションの評価と開発を迅速に行うために、プログラマブルロジックを使用したスマートカメラの顔検出、歩行者の識別と追跡、欠陥検出、MPSoCの処理システムを使用したペアキーワードの検出など、一般的なユースケースの実行を示す複数の構築済みアプリケーションを提供しています。XilinxのKriaアプリストアで入手可能な各アプリケーションは、特定のユースケースに対応する完全なソリューションとともに、付随するツールやリソースも提供します。たとえば、スマートカメラの顔検出アプリケーションは、KV260のキャリアカードに内蔵されたAR1335イメージセンサとAP1302 ISPを使用して画像を取得し、カードのHDMIまたはDisplayPort(DP)出力を使用して結果を表示します。顔検出処理において、このアプリケーションはK26 SOMを構成し、顔検出、人数計測、その他のスマートカメラアプリケーション用にビジョンパイプラインアクセラレータと構築済みの機械学習推論エンジンを提供します(図4)。
図4:XilinxのKriaアプリストアからダウンロード可能な構築済みの高速化アプリケーションは、KV260スターターキット上ですぐに実行でき、顔検出などのビジョン使用モデルに完全なソリューションを提供します。(画像提供:Xilinx)
Xilinxのアプリストアで提供されている構築済みの高速化アプリケーションは、完全な実装とサポートを提供するため、FPGA経験のない開発者でも1時間以内で設計を進められるようになります。アプリケーションを評価する際には、提供されているソフトウェアスタックを使用して機能を変更し、代替ソリューションを検討することができます。より広範なカスタム開発のために、Xilinxは開発ツールとライブラリの包括的なパッケージを提供しています。
AI開発環境とツールによるカスタム開発の高速化
XilinxのVitis AI開発環境は、AIベースアプリケーションのカスタム開発向けに、最適化されたツールとライブラリおよび、より専門的なカスタムモデルの基礎となる事前学習済みモデルを提供します。XilinxのYoctoベースのPetaLinux組み込みLinuxソフトウェア開発キット(SDK)は、実行時のオペレーティング環境として、組み込みLinuxシステムの構築、開発、テスト、展開に必要なすべての機能を提供します。
Vitis AI環境は、FPGA経験のない専門家や開発者向けに設計されており、基盤となるシリコンハードウェアの詳細を抽象化するため、開発者はより効果的なMLモデルの構築に専念することができます。実際、Vitis AI環境はオープンソースのApache Tensor Virtual Machine(TVM)深層学習コンパイラスタックと統合されているため、開発者は異なるフレームワークのモデルをプロセッサ、GPU、またはアクセラレータにコンパイルできます。Vitis AIをTVMと一緒に使用することで、開発者は既存の設計をアクセラレーテッドビジョン機能で強化し、深層学習モデルのような計算負荷の高いビジョンワークロードをKria SOMにオフロードができます。開発者が深層学習モデルをさらに最適化できるようにするため、XilinxのAI最適化ツールは、ニューラルネットワークをプルーニングして、1秒間に処理できる命令数(Gops)における複雑さを軽減し、1秒あたりのフレーム数(fps)を増加させ、過剰パラメータモデルを軽減し、平均平均精度(mAP)における精度へほとんど影響を与えることなく、最大50倍に圧縮することができます(図5)。
図5:Xilinx Researchのケーススタディでは、XilinxのAI最適化ツールを使用してプルーニングを数回繰り返すことで、ニューラルネットワークの複雑さをGopsにおいて急速に低減させると同時に、精度にほとんど影響を与えることなく1秒あたりのフレーム数を増加させる方法が示されました。(画像提供:Xilinx)
カスタムビジョンアプリケーションの実装において、XilinxのオープンソースVitisビジョンライブラリは、Xilinxのプラットフォーム上で高い性能と低いリソース使用率を実現するように最適化されており、OpenCVをベースとした馴染みのあるインターフェースを提供します。解析の場合、Xilinxのビデオ解析SDKアプリケーションフレームワークは、開発者がFPGAの深い知識を必要とせずに、より効果的なビジョンパイプラインおよびビデオ解析パイプラインを構築するのに役立ちます。このビデオ解析SDKは、広く採用されているオープンソースのGStreamerフレームワークをベースとしているため、開発者はGStreamerプラグインとしてカスタムアクセラレーションカーネルを素早く作成し、SDKフレームワークに統合することができます。
一般的な組み込み開発者はこれらのツールを使用することで、カスタムアクセラレーションカーネルの有無にかかわらず、カスタムアクセラレーションパイプラインを簡単に組み立てることができます。
まとめ
計算負荷の高いMLアルゴリズムにより、エッジで実行されるさまざまなアプリケーションにスマートビジョン技術を利用できるようになりましたが、開発者は、エッジベースのビジョンシステムの高性能、低消費電力、適応性という要件を満たすうえで複数の課題に直面しています。XilinxのKria K26 SOMソリューションは、厳しい電力バジェットを超えずに高度なアルゴリズムを加速するためのハードウェア基盤を提供します。構築済みアプリケーションを備えたKria K26ベースのスターターキットを使用することで、開発者はすぐにスマートビジョンアプリケーションの評価を開始し、包括的な開発環境を使用してカスタムエッジデバイスソリューションを作成することができます。
免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、DigiKeyの意見、信念および視点またはDigiKeyの公式な方針を必ずしも反映するものではありません。

