Zynq UltraScale+ MPSoCで、AI搭載インテリジェントカメラを実現

人物検知などの監視機能を備えたインテリジェントカメラを手掛けるレグラスは、画像処理のプラットフォームとして、FPGAファブリックとArmプロセッサコアを統合したザイリンクスのZynq®-7000 SoCおよびZynq UltraScale+™ MPSoCを採用した。とくに後者にはニューラルネットワークの推論器を搭載し、画像認識精度の大幅な向上を実現。安全を求める産業界からも熱い視線が注がれている。製品の狙いや開発のポイントを伺った。

メインイメージ
集合写真(左より)
株式会社 レグラス
マーケティング推進室 室長 小川 幸孝 氏
マーケティング推進室 笹子 文(あや) 氏
取締役 事業企画室長 酒井 将(まさる) 氏
ザイリンクス株式会社
グローバルセールス アンド マーケット エンジニアリング本部 シニアプロセッサスペシャリスト 坂下 智也 氏
マーケティング部 シニアマネージャー 神保 直弘 氏

見る、捕る、解析するをコンセプトにインテリジェントカメラを展開

―今日はレグラスさんをお招きしてインテリジェントカメラについてお話を伺いたいと思います。まずは会社の概要を簡単に説明してください。

小川(レグラス):レグラスは1999年の創業で、画像処理を中心にビジネスを展開してきました。今はやっていませんが、以前は専用のASICを開発していたこともあります。現在は監視カメラやロボットビジョンなどのソリューションがビジネスのメインで、エアロセンス社(本社・東京都文京区)の自律型ドローンにも搭載されており、周囲の人を検知して警告を出すような監視カメラが建設現場や建機に採用されています。

―いくつかの実機をご持参いただきました。

小川:インテリジェントカメラとしては「見る、捕(と)る、解析する」をコンセプトとした「Summitシリーズ」を4モデル展開しています。今までのカメラは、イメージセンサーから取得した画像をローカルストレージに蓄積したり、ネットワークを通じて外部に転送するといった機能が主体でしたが、全部を記録したり転送すると容量や帯域が必要になってきます。しかし監視という目的を考えると、あるエリアに人が侵入したといったような情報や、何メートル離れたところに人がいるといった数値が重要で、すべての映像が必要というわけではありません。管理者が画面をずっと見ているのも大変ですし、人を検知したという情報や前後の映像だけを転送したほうが帯域も抑えられます。従来もパソコンなどのホストマシンを使えばそうした機能を実現できましたが、当社ではカメラユニット自体にインテリジェント性を持たせているのが特徴です。

小川:リアルタイム性は要らないから安いものを、というお客様向けのローエンドのインテリジェントカメラが「FitzRoy(フィッツロイ)」で、NXP社のi.MX 6プロセッサを使ってすべてソフトウェアで処理しています。「Eiger(アイガー)」はザイリンクスのZynq-7000 All Programmable SoCを搭載したミッドレンジモデルで、さきほど触れたエアロセンス社のドローンにも搭載されています。「McKinley(マッキンリー)」はIntel社のAtom E3845プロセッサとザイリンクスのFPGAを組み合わせたハイエンドモデルで、どちらかというと研究用途で使われています。これまでは、これら3モデルだけだったのですが、ニューラルネットワークによるAI機能を入れ込みたいと考えて、ザイリンクスのZynq UltraScale+ MPSoCを搭載した「Eiger II(アイガー・ツー)」を新たに加えて4モデルになりました。これらのハードウェアに「Kailas(カイラス)」と名付けた画像処理ライブラリを組み合わせてお客様のシステムを構築していきます。Kailasの各ライブラリはソフトウェア実装とハードウェア(RTL)実装の両方を用意しており、お客様の性能要件に応じていずれかを使い分ける形です。

図1図1:手のひらサイズで実現するAI搭載インテリジェントカメラボード(右は比較のためのモバイルバッテリー)

笹子(レグラス):「Eiger」の応用事例としては、工場やプラントに数多く設置されているメーターの前にEigerを設置して、メーターの針がある範囲から逸脱したことを認識してネットワークを通じてアラートを出す、といった用途に使われています。いわゆるIoTの一つですが、センサー付きのスマートメーターに入れ替えるのは費用が掛かるため、後付けでのニーズがかなりあります。こういった使い方も小型化したメリットなのだと思います。

イメージ処理に適するザイリンクス。Zynqにインテリジェント機能を実装

―ArmプロセッサコアとFPGAファブリックとを一体化したデバイスは他社からも出ていますが、ザイリンクスを採用した理由は?

酒井(レグラス):ザイリンクスさん以外の会社も含めてFPGAは以前から使ってきましたが、高速なイメージセンサーを使うことも多くなった最近は、I/OやFPGAファブリックなどの性能が高いザイリンクスさんのほうが画像処理に適するということが経験として分かってきたので、その流れでSummitシリーズでも採用しました。

神保(ザイリンクス):ご採用ありがとうございます。Zynq-7000 All Programmable SoCを開発するにあたって設定したターゲットアプリケーションのひとつがイメージプロセッシングだったんですが、レグラスさんから「画像処理に合うね」と言っていただいたことは、とりもなおさず当社の製品企画が間違っていなかったわけで、とても嬉しく感じました。

―Zynq-7000 All Programmable SoCをザイリンクスが発表したのは2011年でしたね。

神保:そうです。アプリケーションプロセッサとしてデュアルコアまたはシングルコアのArm® Cortex®-A9に、ハードウェアアクセラレータとしての28nmプロセスノードのFPGAファブリックを一体化したZynq-7000 All Programmable SoCを発表しました。それから7年ほどが経ちましたが、現在は当社の売上高の二桁パーセントを占めるまで成長し、自動車のADAS(先進運転支援システム)やコンビニエンスストアのPOSのほか、産業機器などに広く採用されています。

酒井:ザイリンクスさん含めて各半導体ベンダーの新製品は常にウォッチしていますから、Zynq-7000が出たときも、もちろん把握はしていました。ただ、当時はハードウェアIPで画像処理をするのがメインでしたので、Armコアを統合する方向とはちょっと違うのかなと考えてしばらく手を出さなかったんです。その後、複数センサーの並列処理やメモリ共有による低レイテンシーが画像処理に向いていることが解ってきて、Zynq-7000をインテリジェントカメラEigerに採用したという経緯があります。汎用インターフェースを使った周辺デバイスへの高いコネクティビティもシステムを小型に完結させる大きな魅力です。

神保:その後2015年前半に発表したのがZynq UltraScale+ MPSoCです。Zynq-7000はアプリケーションプロセッサだけを統合していましたが、Zynq UltraScale+ MPSoCでは、アプリケーションプロセッサとしてデュアルコアまたはクワッドコアのArm Cortex-A53と、機能安全の担保にも使えるデュアルコアのArm Cortex-R5のほか、電源監視、システム監視、セキュリティなど合計で11個のプロセッサコアが内蔵されています。また、FPGAファブリックは16nmプロセスノードで作られていますので、さらに高速です。

坂下(ザイリンクス):両者のメモリ性能を比較すると、Zynq-7000ではDDR3 1333Mbps x 32ビット幅が最大性能でしたが、Zynq UltraScale+ MPSoCではDDR4 2400Mbps x 64ビット幅まで対応し、3.6倍の性能差になります。しかし、これはあくまでも理論値の話で、実際に得られる性能はこれよりも低く、特に、複数のバスマスタからアクセス競合が発生した場合に大きく低下します。これまでは、せいぜい理論値の50%の性能を達成するのがやっとでしたが、Zynq UltraScale+ MPSoCではAXIのQoSをチューニングしてバスのアービトレーションを最適化することで、理論値の70%まで十分に達成可能になりました。

酒井:実際に使ってみて両者の性能差は感じます。Zynq-7000だとメモリ帯域が全体のボトルネックになる場合がしばしばありましたが、Zynq UltraScale+ MPSoCではそうした問題は今のところ起きていません。また、Zynq-7000で100MHzで動くIPをZynq UltraScale+ MPSoCに持ってくると200MHz ~300MHzで動作するイメージです。そういった差があるために、画像認識用にディープラーニングの推論器をEigerに実装したかったのですが、デバイスの性能面から難しいと判断してEiger IIを開発したわけです。

AI機能で正面以外の人物も検知。推論器は量子化CNNを自前で開発

―先ほどEiger IIにはAI機能を組み込んだという説明がありましたが、なにができるようになったのですか?

酒井:EigerⅡ以外のsummitシリーズのカメラでもサポートベクターマシン(SVM)を用いた手法で前方に人がいるかどうかは検知できるのですが、しゃがまれたり後ろを向かれたりすると検知が難しくなってしまうといった課題があります。建設現場や工場などでの検知漏れや誤検知はときには人命にも関わりますので、小型ながら精度の高いエッジコンピューティングカメラを作りたいと考え、EigerⅡには特徴を抽出する畳み込みニューラルネットワーク(CNN)を実装しています。その結果として人物が正面を向いていない状態でも高い精度で検知が可能になりました。小型なEigerⅡですが、最大4つ迄イメージセンサーを接続でき、ステレオ測距や周囲360°撮影、多波長カメラ等としても使用可能です(図2)。

図2図2:Eiger IIの人物検出の様子。どんなポーズや障害物があったとしても人物として検出している。

小川:建設、工事現場、工場等、安全監視が必要な業界のお客様にEiger IIのAI機能を紹介すると、すぐにでも使いたいといった声が返ってきます。水平だけではなくて上方にカメラをつけて見下ろした場合でも人物を精度高く検知できるのがAIならではの特徴です。また、誤報での出動が90%を占めるとも言われている警備会社からも高い関心が寄せられています。

―AI機能はどのように開発したのでしょうか?

酒井:ディープラーニングの推論器はZynq UltraScale+ MPSoCのアーキテクチャーに最適化させた量子化版CNNをFPGAファブリック上に実装しています。学習はPreferredNetworks社が開発したChainerを用いてNVIDIA社のGPUやディープラーニングをサポートしているクラウドサービスを使って行っています。

神保:ディープラーニングをやりたいというお客様にとって重要なのが、推論器をいかに小さくするかなんですね。エッジ側ってそんなに電力がもらえませんし、小型化も必要で、さらにシステムとしての信頼性を高めるためにファンレスにもしたい、といった要件を満たさなければなりません。レグラスさんもそうですが、アプリケーションに応じた独自のニューラルネットワークを組んで、性能、サイズ、消費電力、コストをそれぞれ最適にバランスさせるということをやっていらっしゃる例が多いと感じます。ちなみにザイリンクスではビジョンアプリケーションを対象に機械学習機能の開発を支援する「reVISIONスタック」を提供しているほか、エコシステムを通じてAI機能の構築をサポートするように努めています。

次世代7nm製品を2019年に出荷予定。ニーズのさらなる高度化に応える

―最後に、これからの取り組みを聞かせてください。

酒井:インテリジェントカメラを通じて人命や財産の安全を高め、ひいては社会に貢献していきたいというのが我々の願いです。もっともっと活用していただきたいと考えて、さまざまな分野の展示会に出展するなどソリューションの紹介に努めています。APS読者の皆さんにもこれを機会に当社の取り組みを知っていただければ幸いです。デバイスについては、今回はZynq UltraScale+ MPSoCを採用しましたが、この分野は変化が激しいため今後勢力が大きく変わる可能性も考えられます。ザイリンクスさんには引き続き頑張ってもらいたいと思います。

神保:ザイリンクスの今後の展開ですが、3月に発表しましたように7nmのデバイスを2019年に出荷予定で、開発はスケジュールどおりに進んでいます。また、多くのパートナーさんが次世代製品についてもエコシステムを一緒にやってくださると表明していただいています。今後もレグラスさんの期待に沿えるようなソリューションの提供に努めていきます。今日はわざわざお越しいただきありがとうございました。

―ありがとうございました。

APS EYE'S

FPGAを超えたZynq UltraScale+ MPSoC。64bit ArmとフレキシブルなFPGAで他の追従を許さない圧倒的な高性能と省電力を同時に実現。インテリジェントカメラをリードするレグラス社の製品の魅力をさらに光らせている。両社のシナジーがもたらした「優れた眼」の実力は無限大だ。