SDGsの分類
研究テーマ
IT・IoT・AI・ロボティクス
学科の分類
情報科学部情報知能学科

エッジAIで高精度画像認識・物体検出 低消費電力,手のひらサイズのMPSoCボードで高精度物体認識・物体検出を実現

情報科学部

情報知能学科

システムアーキテクチャ

中西知嘉子 准教授

組み込み市場では,運用コストやセキュリティー,リアルタイム性などの問題から,エッジ(端末側)で単独処理できる「エッジAI」が期待されている.その実現方法であるFPGAによるエッジAIは根強いニーズがありながら,デバイスが高価格,実装が難しい,量子化による性能劣化という問題点があった.そこで,我々は,低価格のデバイスをターゲットにし,推論アルゴリズムを解析することで,効率よくアクセラレートする回路をFPGAで実装,処理を最適化することで,低消費電力で高速な推論処理を実現している.

背景

 組み込み市場では,運用コストやセキュリティー,リアルタイム性などの問題から,エッジ(端末側)で単独処理できる「エッジAI」が期待されている.各種の端末自体にAIを搭載すれば,その場で複雑な処理を行えるようになる.その実現方法であるFPGAによるエッジAIは根強いニーズがありながら,高価格FPGAデバイスが必要,FPGA専用のネットワークで学習しないとうまく実装できない,量子化による精度劣化という問題点があった.

 一方,エッジデバイスの候補になりうる,名刺サイズのFPGA開発プラットフォーム「Ultra96」というボードが発売された. Ultra96は、ザイリンクスの最先端のプログラマブルSoCである「Zynq UltraScale+ MPSoC(以下、MPSoC)」を搭載する開発ボードで,数万円という手の届くの値段で買えるようになっている.

画像認識

 画像認識技術は,顔認証,監視などのセキュリティー分野,医療現場での画像診断や工場における不良品は判定や故障予兆など,様々な場面で用いられ始めている.画像認識は、以下のようなより詳細なタスクに分けられる.

  • 画像分類:画像が何の画像であるかを識別する
  • 物体検出:画像内の対象物の場所を検出する
  • 異常検知:画像の中から異なる状態を検出する
  • 姿勢推定:画像内の人間などの姿勢を推定する.

 人工知能による画像認識の事例は今後ますます増えてくることが予想される.我々は,これらの画像認識に注目し,エッジデバイス(MPSoC)への実装にチャレンジしている.

実現手法

 下左図が実現フローを表している.まず,実装する物体認識や物体検出,異常検知のアルゴリズムを解析し,C言語の標準ライブラリのみでの推論処理を作成する.これは,ニューラルネットワークライブラリであるkerasやpytorch, ONNXの学習済みデータからC言語プログラムを作成している(自動生成).そして,生成したプログラムをMPSoCに適したアルゴリズムに変更し,FPGA部にアクセラレータを作成する.アクセラレータの作成には,高位合成を用いる.高位合成により,短期間にさまざまな構成の検討を可能になる.そして,MPSoC内のCPU(Linux)とFPGAの協調動作によって,システム全体の高速化を行っている.

特徴

 物体認識,検出などの画像系AIのプログラムコードは,9割はシーケンシャルな処理で1割が演算処理であることが多い.しかし,その1割が全体のパフォーマンスの8~9割ぐらいを占める.上右図に物体認識プログラムの1つであるYoloV3のプロファイリングの結果を示す.このように1つの関数が実行時間の9割を占めている.

そこで,パフォーマンスの8~9割を占める処理をFPGAで実装し,他の処理は,MPSoC内蔵のCPUで実行する.CPUで実行する処理は,推論部分のみを切り出し,C言語の標準ライブラリのみで作成しているため(※1),負荷が軽い.また,アクセラレータの機能を,推論部分の一部とすることで,高価なFPGAが必要ない.さらに,アクセラレータを有効に使えるように,CPUとFPGAが協調動作するアルゴリズムに変更しているため,推論処理を高速に実行できる.

(※1)kerasやpytorch,ONNXで学習した重みから推論処理を自動作成するツールを用いて作成.

評価に用いたネットワークモデルは,物体認識に関してはResnet50とRegnetを,物体検出に関してはYOLOX_sとYOLOv7_tiny,yolov5-sを,姿勢推定に関してはMovenetである.評価は各モデルの推論の開始から終了までの処理時間を測定して実施した.表1は,CPUのみで実行したときの推論時間と,本手法を用いたときの推論時間の表である.ちなみに,Ultra96-V2のCPU はARM Cortex-A53 1.5 GHzでRaspberry Pi 3 Model B+と同程度である.表1より,約13.2~31.2倍の高速化が実現できていることが分かる.また,Resnet50と,Regnet について,CPUのみで実行した浮動小数点での推論結果と,回路を用いた提案手法で実行した推論結果を,5種類の画像に表2に示す.出力値は,ほぼ一致しており,推論結果の回路による精度劣化は生じていないことがわかる.

また,実際にUltra96-v2の電源とワットチェッカーを接続し.各推論処理を複数回実行し計測した.アイドル時はどれも5w程度であり, 最小はYOLOX_Sの5.2Wで,最大はResnet50とYOLOv5の5.5Wであった.

研究シーズ・教員に対しての問合せや相談事項はこちら

技術相談申込フォーム