Open Source Robotics

高品質なオープンソースロボティクスプロジェクト、ツール、ソフトウェアの厳選コレクション。

Binary Neural Network in Robotic Manipulation: Flexible Object Manipulation for Humanoid Robot Using Partially Binarized Auto-Encoder on FPGA

著者: Satoshi Ohara, Tetsuya Ogata, Hiromitsu Awano · IROS 2021

ライセンス

  • オープンアクセス
  • 論文: CC BY 4.0

以下の内容はすべて、論文のライセンス(CC BY 4.0)に従い論文全文に基づいています。図は著者のクレジットを付けて掲載しています。

要約

畳み込みオートエンコーダのエンコーダだけを二値化することで、ヒューマノイド向けのエンドツーエンドの布たたみモデルを、わずかな精度低下で Zynq FPGA 上で 41.1 FPS、3.1 W で動かせる。

重要な理由

学習済みの視覚運動方策は通常、ロボット上またはその近くに GPU を必要とする。本研究は、カメラ画像から関節角度を出す布たたみモデルが、3.1 W の組込みボード上でカメラのフレームレートを上回る速度で動くことを示す。部分二値化の考え方は、デコーダが訓練時にしか必要ない、オートエンコーダと RNN を組み合わせたあらゆるコントローラに適用できる。

課題

タオルのような柔軟物体のエンドツーエンド学習によるマニピュレーションは、数百ワットを消費する GPU プラットフォームに依存してきたが、それは空間の限られたロボットの体内に収められない。FPGA はエネルギー効率が高いがオンチップメモリが少なく、画像オートエンコーダを単純に二値化して縮小すると、抽出される画像特徴が壊れてしまう。

提案手法

著者らは部分二値化深層畳み込みオートエンコーダ(PB-DCAE)を提案する。エンコーダの重みと活性化のみを二値化し、訓練時にのみ使って後で取り除く全精度のデコーダによって勾配を伝播させる。二値化エンコーダは Xilinx ZCU102 の FPGA プログラマブルロジック上で動作し、XNOR と popcount による演算を用い、バッチ正規化を整数のしきい値に畳み込み、すべてのパラメータをオンチップの BRAM に置く。画像特徴から次の関節角度とグリッパー指令を予測する LSTM は、ボードの ARM プロセッサ上で浮動小数点で動作し、多ステップ、単ステップ、内部状態の損失を組み合わせて訓練される。

主な知見

  • オートエンコーダを完全に二値化すると勾配の流れが妨げられ特徴が壊れる(PSNR 7.164 dB)が、訓練時に使うデコーダだけを全精度のまま残せば、推論時のメモリコストなしに品質が回復する。
  • 画像エンコーダは推論 1 ステップあたりの乗算の 99.94% を占めるため、LSTM を ARM コアに残したままでも、エンコーダだけを FPGA ロジックで高速化すればシステム全体が速くなる。
  • LSTM はモデルサイズの 1.2% にすぎないため、精度を保つよう量子化せずに残している。
  • 二値化により、エンコーダのすべてのパラメータと特徴マップをオンチップの BRAM に収められ、外部メモリへのアクセスを避けてレイテンシと消費電力を下げられる。

主な結果

  • 再構成画像の平均 PSNR:全精度 DCAE で 21.85 dB、完全二値化 DCAE で 7.164 dB、PB-DCAE で 20.78 dB。
  • 多ステップの関節角度予測誤差:全精度の特徴で 2.98°、完全二値化で 6.32°、PB-DCAE で 3.43°(0.45° の劣化)。
  • モデルサイズは 51.3 MB から 2.20 MB に減り、95.7% の削減となった。
  • ZCU102:1 ステップ 24.3 ms、3.1 W で 41.1 FPS、13.3 FPS/W。Core i7 6700K:55.4 W で 73.0 FPS、1.32 FPS/W。RTX 2080 Ti:69 W で 248 FPS、3.59 FPS/W。
  • エネルギー効率は CPU に対して 10×、GPU に対して 3.7× 向上し、市販の RGB カメラの 30 FPS のフレームレートを上回る速度を保った。

制限事項

  • 評価が報告しているのは、ホールドアウトしたデモンストレーションでの開ループ多ステップ予測誤差と画像再構成品質であり、FPGA をループに入れたロボットでの布たたみの成功率は報告されていない。
  • FPGA システムは絶対的な速度では GPU(41.1 FPS 対 248 FPS)や CPU(73.0 FPS)より遅く、利点はフレームあたりのエネルギーにある。
  • 1 台のロボットで 1 つのタスク(右グリッパーでの布たたみ)のみを、75 本のデモンストレーション系列で試験している。
  • LSTM は ARM プロセッサ上で NumPy により再実装されており、ZCU102 での 1 ステップ 24.3 ms のうち 4.48 ms を占める。

分野への影響

本論文は IROS 2021 Best RoboCup Paper Award のファイナリストに選ばれ、被引用数は 2 である。コードやデータの公開については記載がない。

概要

FPGA 上で動作する、ヒューマノイドロボットのためのニューラルネットワークに基づく柔軟物体マニピュレーションシステムを提案する。柔軟物体のマニピュレーションは日常生活の基本的かつ不可欠な活動であるため、ロボットによるその実現はますます注目を集めているが、実用化されたのは深層ニューラルネットワークの助けを得たごく最近のことである。しかし、そうしたシステムは GPU アクセラレータに依存しており、GPU アクセラレータは空間の限られたロボットの体内に実装できない。フィールドプログラマブルゲートアレイ(FPGA)はエネルギー効率が高く組込みシステムに適していることで知られるが、FPGA のオンチップメモリは限られているため、モデルサイズを大幅に削減する必要がある。そこで我々は、エンコーダ部分のみを二値化して推論精度を落とさずにモデルサイズを圧縮する、「部分的に」二値化した深層畳み込みオートエンコーダの手法を提案する。Xilinx ZCU102 に実装したモデルは、消費電力 3.1 W で毎秒 41.1 フレームを達成し、これは Core i7 6700K および RTX 2080 Ti に実装したシステムに比べてそれぞれ 10× および 3.7× の改善に相当する。

リンク

  • arXiv 2107.00209: https://arxiv.org/abs/2107.00209
  • DOI 10.1109/IROS51168.2021.9636825: https://doi.org/10.1109/IROS51168.2021.9636825
  • PDF: https://arxiv.org/pdf/2107.00209v1

このウェブサイトにはJavaScriptが必要です。オープンソースロボティクスプロジェクトを閲覧するにはJavaScriptを有効にしてください。