論文「RetinaGAN: An Object-aware Approach to Sim-to-Real Transfer」を要約していきます。

【論文要約】RetinaGAN:物体を意識したSim-to-Real手法

以下の論文を読んだので、内容をまとめていきます。

論文タイトル

RetinaGAN: An Object-aware Approach to Sim-to-Real Transfer

論文
プロジェクトページ

著者情報

Daniel Ho, Kanishka Rao, Zhuo Xu, Eric Jang, Mohi Khansari, Yunfei Bai

  • Everyday Robots, X The Moonshot Factory, Mountain View, CA, USA
  • Robotics at Google, Mountain View, CA, USA
  • University of California, Berkeley, Berkeley, CA, USA

出版情報

Proceedings of 2021 IEEE International Conference on Robotics and Automation (ICRA 2021), 2021

どんなもの?

  • 物体情報を把握(object-aware)してsim2real変換できるドメイン適応手法(domain adaptation)
    • CycleGANによる画像の変換前後で、物体検出の領域(bounding box)がズレないように学習させる(perception consistency lossを導入)
      → 物体の構造や位置が変わらないようにsim2real変換できる
    • 行動タスク(e.g. 物体把持)とは切り離して学習させられる
      → 環境やタスクに依存しない
  • 実世界のタスクで評価
    • graspingタスク
      • 限られた訓練データでも、データをsim2real変換することで、既存のRL手法の学習を手助けできた
    • pushingタスク
      • 提案手法のsim2real変換によって、simデータのみでRL手法を訓練できた
    • door opening
      • 模倣学習のための訓練にも、提案手法のsim2real変換によって生成された訓練データが有効だった

先行研究は?

視覚的なsim2realギャップへのアプローチ

  • domain randomization:シミュレーションのパラメータをランダムにする
    → 方策(policy)はパラメータ分布を一般化するように学習する
    → 全ての状況で効果的であろう行動(action)をとる
    • 方策の性能は、ランダム化種類と、それがどれだけ現実に近いのかに依存する
    • Automatic Domain Randomization [12]はハイパラのチューニングを自動化した
    • とはいえ、手動での調整や、タスク固有の視覚パラメータ(e.g. scene、textures、rendering)の調整が必要
  • domain adaptation:ドメイン間の視覚的ギャップを直接的に解決する
    • pixel-level:ソースドメインの画像を、ピクセルレベルでターゲットドメインに似せて変換する
      • GANがよく適用される
      • GANは勝手に(制約なく)画像を変えてしまう(e.g. タスクに必要な情報も消してしまう)
        → GANの訓練時に意味的不変性(semantic consistency)を適用する手法がある
        • CyCADA [23]:セマンティックセグメンテーションの損失関数(pixel-level perception consistency loss)を直接導入した
          ↔ 提案手法は、realでのラベル付けがより容易な物体検出(object detection)を用いる
        • RL-CycleGAN [24]:強化学習(RL)タスクの損失関数を追加する
          (元画像と変換後の画像で、Q値が一致するするように学習させる)
          → タスクに必要な情報を保持するような変換ができる
          → 純粋なCycleGANを超えた
          • RLモデルと同時に学習させる必要があり、既存の方策によって得られたrealのエピソードが必要
            ↔ 提案手法は、物体検出を採用することでタスクから切り離されているため、模倣学習や教師あり学習ができる
            • × bounding boxラベル付きのrealデータが必要になる
              ↑ 既存の物体検知モデルを事前学習モデルとして使用すれば必用データ数を減らせる
            • ◯ さまざまなロボティクスタスクに転用できる
    • feature-level:ネットワークの中間の特徴量を調整する
  • Action Image [22]:把持タスクに対して不変のドメイン表現を学習する
    ↑ 提案手法はこれを補充して、さらにギャップを減らす

先行研究と比べてどこがすごい?

  • タスクに固有せず、さまざまなタスクのための学習に利用できる
  • 訓練データ(bouding boxラベル付きの画像)を比較的用意しやすい
    (cf. セグメンテーションラベル付きのデータは用意が大変)
  • 模倣学習や教師あり学習ができるので、訓練しやすい
    (cf. RL-CycleGANはRLモデルと連結して訓練させる必要がある)

どう実現している?(手法の詳細)

データセット

bounding boxラベル付きのsim&realデータを訓練に使用

  • simデータはPyBullet physics engine [25]で生成
  • CycleGANのデータセットと同様に、simとrealの画像がペアである必要はない

〔論文内の図2を参照〕

モデル構成:CycleGAN+物体検知モデル

  • 物体検出モデル:RetinaNet [27]と同じ損失関数を用いるEfficientDet-D1 [26] model architectureを採用
    • 訓練済みのものを使用し、重みの更新はしない
    • 入力:RGB画像
      出力:bounding box+信頼度つきのクラスラベル(class logit)
  • CycleGANによって6種類の画像が用意される:sim、transferred sim、cycled sim、real、 transferred real、cycled real
    ↑ これらを物体検出モデルにそれぞれ入力する

〔論文内の図3を参照〕

損失の設定

損失=CycleGANの損失L_CycleGAN+物体検出のズレL_prcp

〔論文内の式6を参照〕

  • 物体検出のズレL_prcp:上記6種類の画像に対する物体検出のズレ(perception consistency loss)
    → 生成器の変換によって起きた物体検出のズレを罰する
    ← 6つの画像に対する物体検出の推論結果は一致するはずであるという考えにもとづく

    〔論文内の図4を参照〕

    • クラスラベルに対する損失:RetinaNet/EfficientDetの訓練で用いられる損失関数Focal Loss [27]をもとにする
      ただし、Focal Lossはone-hot vector真値ラベルを前提にしている
      → 確率つきのクラスラベル(logit/probability)に対応できるように改良
      → Focal Consistency Loss(FCL)と呼ぶ(詳細はIV-B節)
    • bounding boxの位置に対する損失:Huber Loss [30]

キモはどこ?

CycleGANの損失に加えて、物体検出の一貫性に対する損失(perception consistency loss)を導入している点

どうやって有効だと検証した?

以下3点を示したい

  • RetinaGAN利用して訓練したロボティクスモデル vs RetinaGANなしで訓練したロボティクスモデル
  • 他のGANモデルと比較
  • 他のタスクに転用する

実験1:RetinaGANを利用して強化学習ベースのgraspingモデルを訓練する

  • 分散強化学習であるQ2-Opt [31](QT-Opt [3]の拡張)を採用
    • 入力:RGB画像+把持対象物のマスク情報(binary mask)
  • sim環境:PyBullet [25] physics engine
  • 〔論文内の図5を参照〕

  • RetinaGANとQ2-Optをそれぞれ訓練する(sim&real)
    • RetinaGANの訓練時にはQ2-Optはoff-policyモード
  • 評価はrealの実機で行った
  • simとrealのデータ数を変えて何回か学習させてみる
  • 結果

    〔論文内の表1を参照〕

    • sim学習のみ(w/o GAN)だとrealで18.9%しか成功しない
      → sim2realギャップが大きいタスクであることが分かる
    • RetinaGANは少量のrealデータでもそこそこ良い結果
    • RL-CycleGAN:訓練時のタスク(indiscriminate grasping)とテストのタスク(instance grasping)は異なる
      → 元論文より精度下がった
      → 他のタスクへの転用が苦手
    • RetinaGAN+sim学習RL ≒ RetinaGAN+sim&real学習RL
      ↑ RetinaGANがsim2realの変換を十分に学習していたと考察

実験2:実験1で学習したRetinaGANを利用して強化学習ベースのpushingモデルを訓練する

  • 実験1で訓練したRetinaGANをfine-tuningなしで利用
    • 環境は同じだが、タスクは異なる
  • pushingモデル(Q2-Opt)は追加のrealデータなしでsim学習のみ
  • 結果

    〔論文内の表2を参照〕

    • 90%成功した(cf. RetinaGANなしのQ2-Opt単体は0%)

実験3:上記のRetinaGANをdoor-opening環境用に再訓練する

  • 実験1、2の環境(ゴミ箱)とは大きく異なる環境で訓練とテスト
    • ただし、訓練環境とテスト環境は同一(3種類の会議室)
  • RetinaGAN
    • simとrealで学習
    • 物体検出器の部分は学習させない(実験1、2の環境で訓練させたものを利用)
      • 新環境で高信頼度で検知できる物体は、自身のロボットアームだけ
        ↑ しかし、ドアフレームなどの構造は、低信頼度の予測領域の一貫性によって維持されると仮説立てている
  • door-openingモデル
    • ResNetFiLM [33] ←実験1、2と異なるネットワーク
    • simとrealで模倣学習による教師あり学習
  • 結果

    〔論文内の表3を参照〕

    • RetinaGANは、部屋の構造やドアの位置を保った変換ができた(cf. 従来のGANでは一貫性が失われていた)
    • タスクの成功率
      • Ensemble-RetinaGAN:ハイパラを変えて別々に訓練した3つのRetinaGANからタスクモデル用の訓練データ生成を行った
        → 疑似データのバリエーション増えた
        → タスクの成功率上がった
      • 〔論文内の図7を参照〕

論文内の議論は?

今後の期待:

  • ピクセルレベルでの認識の一貫性を導入
  • 他のモダリティ(e.g. デプス)への適用
  • 訓練時に見ていない環境でも上手く動作するように拡張

次に読むべき論文

私のコメント

  • 権威性十分
    • トップカンファレス(ICRA)に採択されている
    • 実績のある機関(Everyday Robots、Google、UC Berkeley)の著者たち
  • 「RetinaGAN+sim学習RL ≒ RetinaGAN+sim&real学習RL」という結果になったのすごい
    ↑ RetinaGANがsim2realを完璧にやったという見方ができる
  • real環境にかなり近いsim環境を用意しているのが気になる
    • CycleGANは本来、2つのドメインの訓練データがペアになっている必要がないのが特徴であるため、ある程度大量のSimとRealのデータを用意すれば問題ないはず?
Ad.