1
DEEP LEARNING JP
[DL Papers]
http://deeplearning.jp/
画像を使ったSim2Realの現況
Reiji Hatsugai, DeepX
どんなことをやっているか
• シミュレータ空間で生成した画像を学習画像として用いて、様々なタ
スクを解く
– セグメンテーションや識別のようないわゆる画像認識タスクのみならず、ロボ
ティクスと組み合わせたタスクを解かれることが多い
2
sim
Simで生成された
データセット
学習機構
モデル
現実世界
適用
(古典)論文①
• Domain Randomization for Transferring Deep Neural Networks
from Simulation to the Real World
– 2017年
– Domain Randomization(シミュレータで現実世界を包含するような多様な環
境を作成し、現実世界のタスクに汎化することを目指す)が初めて(?)単語
として出た論文
– 机の上の座標系に置いて、目標の物体の位置を返すCNNを学習する
3
(古典)論文②
• CAD2RL: Real Single-Image Flight Without a Single Real Image
– 2016年
– シミュレータ環境内で学習によりdroneのナビゲーション方策を獲得し、獲得
した方策を現実世界に転移
4
なんで画像を使ったSim2Realが必要なのか
• 深層学習を使う場合、実画像へのアノテーションコストが大きい
• アノテーションは間違ってしまうことがある
• 実画像だと、良くも悪くも現実であまり起こらない事象のデータが少
ない
• 処理する物体の数が増えるにつれ、データの組み合わせが膨大となる
• 深層強化学習等を考えるとき、探索活動の安全性を現実世界で担保す
るのは難しい
• そもそも深層学習系では大量のデータが必要
5
現況はどんな感じ
• シミュレータを活用して、Domain RandomizationやDomain
adaptationを行っていくという基本思想は変わらない
• どんな所がアップデートされているのか
– シミュレータのレンダリングエンジンがリッチに
– 学習させる際のtipsが少しわかりつつある
– Domain adaptationをシミュレータと組み合わせる
– シミュレータ活用の際の課題がわかりつつある
– 実画像を超える結果となるときも出てきた
– 汎用的に使える画像生成ソフトウェアとしてOSSで公開
6
シミュレータのレンダリングエンジンがリッチに①
• BlenderProc: Reducing the Reality Gap with Photorealistic
Rendering
– 2019年
– バックエンドにBlenderを使用
– Blenderのray tracingにより、photo realisticな画像を生成可能
• Ray tracing: レンダリングされる画像の各ピクセルに対して、そのピクセルに入ってくる
光はどこから来ているのか経路を辿り計算する
– YAMLでconfigを書いてあげることにより、指定の範囲からランダムに画像を
サンプル可能
7
シミュレータのレンダリングエンジンがリッチに②
• NVIDIA Deep learning Dataset Synthesizer (NDDS)
– 2018年
– バックエンドにUE4を使用
8
学習させる際のtipsが少しわかりつつある①
• On Pre-Trained Image Features and Synthetic Images for Deep
Learning
– 2017年
– ImageNetで事前学習された特徴量抽出器の重みをfreezeさせる
– Freezeによって性能が大きく変わることを確認
9
学習させる際のtipsが少しわかりつつある②
• Automated Synthetic-to-Real Generalization
– 2020年
– ImageNetで事前学習されたモデルとの中間表現の距離を維持するように、各
層の学習率を自動的に選択する機構を提案
– この機構により、Sim2Realの汎化能力が向上することを確認
10
Domain adaptationをシミュレータと組み合わせる
• Learning to Predict Robot Keypoints Using Artificially Generated
Images
– 2019年
– レンダリングのパラメータを確率モデルで記述し、その生成過程を更新してい
くことでadaptationを実施
– 安定的に学習できることを確認
11
シミュレータ活用の際の課題がわかりつつある
• Stilleben: Realistic Scene Synthesis for Deep Learning in Robotics
– 2020年
– 対象の3Dモデルは用いずに、対象のものと似たモデルを大量に用いてシミュ
レータ空間を作成し、Sim2Realセグメンテーションを実施
• ドリルについて、テストケースのドリル3Dモデルは用いずに、24の他の形のドリルを用い
て学習を実施
– 精度が著しく低下したことを確認
– 3Dモデルは正確でないと精度が著しく低下する可能性
12
実画像を超える結果となるときも出てきた
• BlendTorch: A Real-Time, Adaptive Domain Randomization Library
– 2020年
– Blenderをバックエンドに使用し、レンダリングパラメータのadaptationも実
装
– Object Detectionで、実画像を学習に使った場合の性能を超えていることを確
認
13
汎用的に使える画像生成ソフトウェアとしてOSSで公開
• NVIDIA Deep learning Dataset Synthesizer (NDDS)
– 2018年
– https://github.com/NVIDIA/Dataset_Synthesizer
• BlenderProc: Reducing the Reality Gap with Photorealistic
Rendering
– https://github.com/DLR-RM/BlenderProc
• Stilleben: Realistic Scene Synthesis for Deep Learning in Robotics
– 2020年
– https://github.com/AIS-Bonn/stillleben
• BlendTorch: A Real-Time, Adaptive Domain Randomization Library
– 2020年
– https://github.com/cheind/pytorch-blender
14
まとめ
• 画像を使ったSim2Real関連論文の(短い)歴史をまとめた
• 画像を使ったSim2Realが実現できると、色々といいことがある
• 大きなブレークスルーはないが、少しずつ論点が検証されつつある
• オープンに使えるツールが揃いつつある
15

[DL輪読会]画像を使ったSim2Realの現況