Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AMBER、rosbag と pytorchで はじめるお手軽マルチ モーダルロボット開発

AMBER、rosbag と pytorchで はじめるお手軽マルチ モーダルロボット開発

現在SayCanやRT-1といったマルチモーダルな深層学習モデルによるロボット研究が盛んに行われている。しかし、マルチモーダルなデータセットを収集し効率よく学習を行うにはアノテーション、データセットの変換や前処理など様々な手間がロボット開発を妨げる。本発表では現在開発中のrosbagデータを直接pytorchに読み込ませることでマルチモーダルなロボット開発をサポートするツールについて紹介する

Masaya Kataoka

November 26, 2023
Tweet

More Decks by Masaya Kataoka

Other Decks in Technology

Transcript

  1. 自己紹介 もともとVRがやりたくてプログラミングを始める Oculus DK2 x Unityで遊戯王のゲームを作ろうとしていました 趣味はロボット開発 学生時代から海洋ロボットの開発、RoboCupに参加 学生時代の専門はソフトロボティクス 発話ロボットの舌機構制御の研究をしてました

    お仕事は自動運転 世界中で自動運転するためのインフラ開発をしてます rosjpオーガナイザー 日本全国でROS関連のイベントを開いています!是非connpassから ご参加ください 2 Thanks! slidescarnival.com/help-use-presentation-template ROSConJP前日に インフルエンザにか かりました... みなさま お気をつけて
  2. マルチモーダルな機械学習モデル 5 Thanks! slidescarnival.com/help-use-presentation-template CLIPのアーキテクチャ [Open AI, 2021] 複数のモダリティをまたいで推論 画像

    + 言語 => CLIPなど 画像 + 動画 + 言語 + 音声 => NExT-GPT 違うモダリティを共通の表現にできるものも 例えばCLIPでは、画像、テキストを 512次元のベクトルに変 換することが可能 このような表現を持つモデルを利用すれば自然言語の入力 を物体認識に利用したりすることが可能 基盤モデル等の研究により近年大きく進展 基盤モデルとは「大量で多様なデータを用いて訓練され、 様々なタスクに適応(ファインチューニングなど)できる大規 模モデル」のこと
  3. マルチモーダルな機械学習モデル 6 Thanks! slidescarnival.com/help-use-presentation-template DALL-E 3 [Open AI, 2023] 複数のモダリティをまたいで推論

    画像 + 言語 => CLIPなど 画像 + 動画 + 言語 + 音声 => NExT-GPT 違うモダリティを共通の表現にできるものも 例えばCLIPでは、画像、テキストを 512次元のベクトルに変 換することが可能 このような表現を持つモデルを利用すれば自然言語の入力 を物体認識に利用したりすることが可能 基盤モデル等の研究により近年大きく進展 基盤モデルとは「大量で多様なデータを用いて訓練され、 様々なタスクに適応(ファインチューニングなど)できる大規 模モデル」のこと
  4. ロボティクスへの応用 (RT-2) 7 Thanks! slidescarnival.com/help-use-presentation-template VQAによる学習 入力された画像に対する質問に答えるタスクにロボット の行動計画の情報を混ぜてLLMをファインチューニング マルチモーダルなLLMを用いた行動計画 マルチモーダルな情報をLLMに埋め込んで与えること

    で、複数のセンサ情報を統合して「この状況ではこう行 動するのが望ましい」という行動計画が可能 機械学習モデルとプランナーの橋渡し 通常のLLMは入出力ともに言語であるため、プランナー に対して指示を出すことができないが、ロボットの行動 をトークナイズした結果を出力して統合を可能に RT-2 [Google, 2023]
  5. ROSで独自MLモデルを作る際の困難さ 分野ごとに規格が乱立 自動運転といえばWaymo/nuScenes/KITTI etc… 画像認識に至っては多すぎて分野内ですら乱立しており、 V&L分野の流行に伴って乱立はさらに加速 アノテーションや前処理が必要 画像のアノテーションは手動でやると時間が溶ける 座標変換など、頻出の処理も多い 使わないデータも多い

    MLモデルごとに必要なデータを読み出して使うため、色々 入ってるが画像しか使わない、などもよくある 8 Thanks! slidescarnival.com/help-use-presentation-template 各フォーマットに合わせてデータを読みに行くのではなく、 rosbagに含まれているデータを柔軟に取り出せれば rosbagその ものがデータセットに => rosbagを貯めるだけでモデルが出来上がる!
  6. AMBER: Automated annotation and Multimodal Bag Extraction for Robotics 9

    Thanks! slidescarnival.com/help-use-presentation-template Dataset ROSBAGからPyTorchにデータを渡す Visualization データを可視化し、分析する PyTorchの豊富なソフトウェア資産を 活用した各種自動化 Automation 非rosbagデータをrosbagに変換 Importer AMBERの主な4機能 全機能がPython APIを通して連携 User Friendlyなツールを目指して全機能を操作できるCLIも提供
  7. 開発コンセプト ROS 2非依存 mcapフォーマットは内部にスキーマ定義を持つため、 Pythonで処理が完 結、そのためAMBERをクラウドなどで実行するのも容易 Docker Imageも配布中 様々なデータに対応 現在は画像、点群データに対応

    将来的には姿勢、音声、言語などにも対応予定 自動化とUser Friendlyの両立 すべての機能にPython APIとCLIを提供 将来的にはyamlやノードエディターで全工程を定義、実行できるようにした い 10 Thanks! slidescarnival.com/help-use-presentation-template Github Repository Documentation AMBER Automation Dataset 画像 画像と アノテーション 3次元 再構成 ラベリング 点群 Importer 動画 読み込み Visualization 埋め込み 可視化 AMBERに現状実装されている機能
  8. Dataset機能 rosbagの中身を呼んでtorch.Tensor等に変換 mcapの中身にスキーマがあるので、 mcapフォーマットのrosbagさ えればOK mcapフォーマットのデータを解釈するライブラリは公式実装が PyPI 上で公開されているのでそれを利用 yamlでどのデータを読み出すか指定可能 例:画像とアノテーションデータを読み出す場合

    image_topics: - topic_name: /image_front_left annotation_topic: /detic_image_labeler/annotation compressed: false 11 Thanks! slidescarnival.com/help-use-presentation-template AMBER 1.mcapに記録されたスキーマ定義を読む 2.データとそのスキーマを紐付ける 3.スキーマ定義に基づいてデータを復元 4.復元したデータをPyTorchのDatasetに入れる 5.必要に応じてデータを変換しながら読み出す
  9. Automation機能 PyTorchで動作するMLモデルによる自動化 Dataset機能によりrosbagのデータをPyTorchに入力すること が可能になり、PyTorchの豊富な資産を利用可能 Deticによる自動アノテーション機能 Deticという21Kクラスを検出可能な V&Lモデルを用いて画像 に対して推論、マスク、 bounding box、クラスの情報が自動

    的にアノテーションされていく NeRFによる三次元再構成機能 NeRF Studioを統合し、rosbagの画像データから三次元再構 成を実現 marching cubes法などによるメッシュ作成も実行はできる が、現状抜けが激しく崩壊している 画像のサンプリングなどを今後改善予定 12 Thanks! slidescarnival.com/help-use-presentation-template
  10. AMBERを利用したロボット向けML開発基盤 15 Thanks! slidescarnival.com/help-use-presentation-template 推論器のデプロイ ML基盤で出来上がったモデルや各種パラ メータを実機に対して送信する 現状はソフトウェアごと dockerでデプロイする ことを検討中

    データ取得 必要なデータを rosbag recordし基盤にupload データの分析、学習 現在AWSをlocalに再現する LocalStackを用い てクラウドでもオンプレでも使用可能な基盤 を実装検討中 03 01 02 ただし、Open Source版 ではAWS Batch等が 使用不可らしく悩み中、 詳しい方相談させてくだ さい! ロボットを動かして データを貯める!
  11. Thanks! slidescarnival.com/help-use-presentation-template まとめ AMBerで快適ML x ROS生活 ROSのDataを直接PyTorchに 自動化ツールも装備で快適! ROS非依存でデプロイ楽々 AMBERはただのPythonライブラリ

    Docker Image配布もあり 今後の予定 クラウド・ローカルの区別がない自動化パイ プラインの実装例提示 音声等の他のモダリティのサポート
  12. Thank you for listening Have a good Robot time !

    Thanks! slidescarnival.com/help-use-presentation-template