スマートなマシンビジョンシステムを迅速に設計・導入する方法
DigiKeyの北米担当編集者の提供
2022-08-31
マシンビジョンのニーズは、交通/街頭監視・防犯カメラ、リテール、自動検査、プロセス制御、視覚誘導ロボットなど、さまざまなアプリケーションで高まっています。マシンビジョンは、高性能なハードウェアや高度な人工知能/機械学習(AI/ML)ソフトウェアなど、多様な技術やサブシステムを統合する必要があるので、実装するのに複雑を極めます。マシンビジョンの実装は、まず、アプリケーションのニーズに合うようにするためのビデオキャプチャ技術とビジョンI/Oの最適化から、コネクティビティを効率化するための複数の画像処理パイプラインにまでわたります。マシンビジョンの実装において終局的に重要な点は、必要なAI/ML画像処理および認識ソフトウェアを実行するためのフィールドプログラマブルゲートアレイ(FPGA)、システムオンモジュール(SOM)、システムオンチップ(SoC)、さらにはマルチプロセッサシステムオンチップ(MPSoC)などの高性能ハードウェアを使用して、組み込み型ビジョンシステムでビジョンベースの分析をリアルタイムで実行できるようにすることです。これは、コスト超過やスケジュール遅延となる機会が多いため、複雑でコストと時間のかかるプロセスとなりがちです。
設計者は、ゼロから始めるのではなく、アプリケーションの高度な柔軟性と性能をサポートすると同時に市場投入までの時間短縮、コスト管理、開発リスク低減を行えるように十分に整備された高性能な開発プラットフォームを利用することが可能です。SOMベースの開発プラットフォームはハードウェアとソフトウェアを統合した環境であるため、開発者はアプリケーションのカスタマイズに集中でき、開発期間を最大9か月短縮することができます。このSOMアーキテクチャは、そのような開発環境を提供するだけでなく、商用・産業用環境での量産対応の(実稼働に適した)構成をも提供しているため、アプリケーションの信頼性と品質の向上、さらにはリスクの低減および市場投入までの時間の短縮をも実現できます。
本稿では、まず高性能マシンビジョンシステムの開発に関連する課題を確認し、次にAMD XilinxのKria KV260 Vision AIスターターキットが提供する包括的な開発環境を紹介して、最後にKira 26プラットフォームをベースに、ソリューション固有の周辺機器を搭載したキャリアカードに差し込むように設計されたプロダクションレディSOMの事例を紹介します。
設計ではまずデータ型を最適化
ディープラーニングのアルゴリズムに対するニーズは進化しています。すべてのアプリケーションが高精度の計算を必要としているわけではありません。INT8など低精度のデータ型や、カスタムデータ型も使用されています。GPUベースのシステムにおいても、高精度データ用に最適化されているアーキテクチャを低精度データ型にも効率的に対応するように変更することが課題となっています。Kria K26 SOMは再構成可能なため、FP32からINT8などまで幅広いデータ型に対応することが可能です。また、再構成可能であることは、エネルギー消費量全体の低減にもつながります。たとえば、INT8向けの演算は、FP32向けの演算よりも消費電力が1桁少なくなっています(図1)。
図1:INT8演算(8ビットの加算)に必要なエネルギーは、FP32演算(32ビットの加算)の場合よりも1桁少なくて済みます。(画像提供:AMD Xilinx)
消費電力を最小限に抑えるのに最適なアーキテクチャ
マルチコアGPUまたはCPUのアーキテクチャに基づいて実装された設計は、一般的な電力使用パターンをベースにした場合、消費電力が多くなりがちです。
- コア用電力:30%増加
- 内部メモリ(L1、L2、L3)用電力:30%増加
- 外部メモリ(DDRなど)用電力:40%増加
GPUがプログラミング機能をサポートするために必要となる非効率なDDRメモリへの頻繁なアクセスは、高帯域幅の計算ニーズにとってボトルネックとなる可能性があります。Kria K26 SOMに採用されている Zynq MPSoCアーキテクチャは、外部メモリにほとんどアクセスしないアプリケーションの開発をサポートすることができます。たとえば、一般的な車載用アプリケーションではGPUと各種モジュール間の通信で外部DDRメモリへのアクセスが数回必要になりますが、Zynq MPSoCベースのソリューションに組み込まれたパイプラインは大半のDDRアクセスを回避できるように設計されています(図2)。
図2:この典型的な車載用アプリケーションにおいて、GPUはさまざまなモジュール間の通信のためにDDRに数回アクセスする必要がありますが(左)、Zynq MPSoCのパイプライン アーキテクチャではDDRアクセスの大半を回避できます(右)。(画像提供:AMD Xilinx)
プルーニング(枝取り)で長所が活きる
K26 SOMが持つニューラルネットワークの性能は、データの最適化やプルーニングを可能にするAI最適化ツールを用いて向上させることができます。ニューラルネットワークは過学習して高い冗長性を持ちがちですが、この冗長性はデータのプルーニングやモデルの圧縮を行うことで最適化することができます。XilinxのAI Optimizerを使用することで、モデルの複雑性を50分の1に低減しながらもモデルの精度への影響はわずかなレベルに抑えることができます。たとえば、シングルショット検出器(SSD)と、117Gops(ギガ操作/秒)のVGG畳み込みニューラルネット(CNN)アーキテクチャは、AI Optimizerを使ってプルーニングを11回反復実行することで改良されました。最適化前のモデルは、Zynq UltraScale+ MPSoC上で18フレーム/秒(FPS)で動作していました。モデルに対する11回(12回目)のプルーニング反復実行後、モデルの精度は物体検出が61.55mAP(平均平均精度)から60.4mAPに減少しました(1%だけ低下)が、複雑性が117Gopsから11.6Gops(10分の1)と減少するとともに、性能も18FPSから103FPS(5倍)に向上しました(図3)。
図3:比較的少ない回数のプルーニング反復実行により、精度(mAP)は1%だけ低下しましたが、モデルの複雑性(Gop)が10分の1に減り、性能(FPS)が5倍向上しました。(画像提供:AMD Xilinx)
アプリケーションの実例
Uncanny Visionのビジョン解析ソフトウェアをベースに、自動車ナンバープレート検出・認識(AMPR)のための機械学習アプリケーションが開発されました。ANPRは、自動料金徴収システム、高速道路の監視、駐車場とそのゲートへの安全な侵入などのアプリケーションに使用されています。このAMPRアプリケーションでは、AIを用いたパイプラインで映像のデコードと画像の前処理を行い、その後、MLによる検出とOCR文字認識を行っています(図4)。
図4:AIを用いたAMPRアプリケーションの一般的な画像処理のフロー。(画像提供:AMD Xilinx)
ANPRを実装するには、H.264またはH.265でエンコードされた1つ以上のリアルタイムストリーミングプロトコル(RTSP)フィードが必要です。このフィードをデコードまたは圧縮解除します。デコードしたビデオフレームを拡大縮小、切り出し、色空間変換、正規化(前処理)し、MLによる検出アルゴリズムに送ります。高性能なAMPRの実装には、多段階のAIパイプラインが必要です。第1段階では、画像内の車両を検出・位置特定することで、関心領域(ROI)を作成します。他にも搭載されているアルゴリズムとしては、OCR文字認識アルゴリズムで使用する画質を最適化するアルゴリズムや、複数のフレームにまたがる車両の動きを追跡するアルゴリズムがあります。さらなる手順として、車両のROIをトリミングしてナンバープレートのROIを生成し、OCRアルゴリズムでナンバープレートの文字を識別します。Uncanny VisionのAMPRアプリケーションは、KV260 SOM上で、GPUやCPUをベースにした他の商用SOMよりも2~3倍速く動作し、RTSPフィードあたり100ドル未満のコストで済みます。
スマートビジョン開発環境
交通・街頭監視カメラ、リテール、防犯、産業用オートメーション、ロボティクスなどのスマートビジョンアプリケーションの設計者は、開発環境Kria K26 SOM AI Starterを利用することができます。この環境は、Zynq® UltraScale+™ MPSoCアーキテクチャを使用して構築されており、厳選されたアプリケーションソフトウェアパッケージのライブラリがますます充実化されています(図5)。AIスターターSOMには、クアッドコアのArm Cortex-A53プロセッサ、25万個以上のロジックセル、H.264/265ビデオコーデックが搭載されています。また、本SOMは、4GBのDDR4メモリ、245個のIO、1.4tera-ops(テラ操作)のAI演算機能を搭載することで、他のハードウェアのみのアプローチよりも低いレイテンシと電力を実現した、3倍以上高性能なビジョンAIアプリケーションを構築することができます。あらかじめ構築されたアプリケーションにより、初期設計を1時間未満で行うことができます。
図5:ビジョンAIスターターキットKria KV260は、マシンビジョンアプリケーションを開発できる包括的な環境です。(画像提供:AMD Xilinx)
AMD Xilinxでは、Kria K26 SOMを使用する開発者の開発プロセスを好発進させるため、電源アダプタ、Ethernetケーブル、microSDカード、USBケーブル、HDMIケーブル、カメラモジュールを同梱したビジョンAIスターターキットKV260をご用意しています(図6)。スターターキット全体までは必要ない場合は、オプションの電源アダプタを購入するだけでもKira K26 SOMの使用を開始することができます。
図6:ビジョンAIスターターキットKV260の内容:(上段、左から)電源、Ethernetケーブル、microSDカード、(下段、左から)USBケーブル、HDMIケーブル、カメラモジュール(画像提供:AMD Xilinx)
また、開発スピードを上げるもう一つのファクタとしては、1.8V & 3.3Vの豊富なシングルエンド & 差動I/Oと、4つの6Gb/sトランシーバ、4つの12.5Gb/sトランシーバなど、充実した機能の存在もあります。これらの機能により、SOMあたりのイメージセンサの数が多いだけでなく、特定業務用標準製品(ASSP)やGPUが必ずしもサポートしていないセンサインターフェースのバリエーション(例:MIPI、LVDS、SLVS、SLVS-ECなど)も多いアプリケーションの開発が可能となります。さらに、内蔵のプログラマブルロジックにより、DisplayPort、HDMI、PCIe、USB2.0/3.0、およびユーザー定義の規格を実装することもできます。
最後に、AIアプリケーションの開発をシンプルで、より身近なものにしたのが、K26 SOMの豊富なハードウェア機能およびソフトウェア環境と、プロダクションレディなビジョンアプリケーションとの組み合わせでした。これらのビジョンアプリケーションは、FPGAのハードウェア設計を必要とせずに実装でき、ソフトウェア開発者が迅速にカスタムAIモデルとアプリケーションコードを統合することや、ビジョンパイプラインを変更することも可能にします。XilinxのVitis統合ソフトウェア開発プラットフォーム & ライブラリは、TensorFlow、Pytorch、Caféフレームワークなどの一般的な設計環境と、C、C++、OpenCL™、Pythonなど複数のプログラミング言語をサポートしています。また、Xilinxとそのエコシステムパートナーが開発したKria SOMを使用したエッジアプリケーションのための、組み込み用アプリストアも用意されています。Xilinxは、スマートカメラのトラッキングと顔検出、スマートビジョンによる自然言語処理などを、無償かつオープンソースで提供しています。
量産対応(実稼働向け)のKira 26 SOM
開発プロセスが完了したら、製造への移行を早めることができるキャリアカード(ソリューション固有の周辺機器を搭載)に差し込めるように設計されたK26 SOMの実稼働向けバージョン(図7)が用意されています。ベーシックバージョンのK26 SOMは、内蔵温度センサで測定した接合部温度の温度定格が0℃~+85℃である、商用グレードのユニットです。また、その他にご用意しているK26 SOMのバージョンとしては、-40℃~+100℃での動作が可能な、産業用グレードバージョンもあります。
産業市場では、過酷な環境下での長い動作寿命が求められています。産業用グレードのKria SOMは、100℃の接合部温度、80%の相対湿度で10年間動作し、40Gの衝撃と振動の実効値(RMS)5Gに耐えられるように設計されています。また、長い製品ライフサイクルに対応するため、最低10年の実働耐用年数を設けています。
図7:商用・産業用環境での量産対応のKira 26 SOMは、ソリューション固有の周辺機器を搭載したキャリアカードに差し込めるように設計されています。(画像提供:DigiKey)
まとめ
交通/街頭監視・防犯カメラ、リテール分析、自動検査、プロセス制御、視覚誘導ロボットなどのマシンビジョンアプリケーションの設計者は、AIスターターKria K26 SOMを利用することで製品化までの時間を短縮し、コストを抑制して開発リスクを低減することができます。このSOMベースの開発プラットフォームはハードウェアとソフトウェアを統合した環境であるため、開発者はアプリケーションのカスタマイズに集中でき、開発期間を最大で9か月短縮することができます。このSOMアーキテクチャは、商用・産業用環境での量産対応の(実稼働に適した)構成をも提供しているため、市場投入までの時間の短縮をも実現できます。産業用バージョンは、長い製品ライフサイクルに対応するため、最低10年の実働耐用年数を設けています。
免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、DigiKeyの意見、信念および視点またはDigiKeyの公式な方針を必ずしも反映するものではありません。