0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Rerun入門【Rust製可視化ツールをPythonで使う】

Last updated at Posted at 2024-09-09

Rerunとは

↓以下の記事を書きました.合わせてお読みください

Rerunとはマルチモーダルなデータストリームを可視化して操作するためのSDKおよびviwerです.

  • 特徴

    • 無料
    • 導入が容易
    • Python, C++, Rustで使用可能
    • 柔軟で,拡張可能
    • Rustで実装され,高速
    • オープンソース,MITとApache 2のデュアルライセンス
    • 時系列データの扱いに強い
  • 可視化の例

    • RGB camera feed
    • depth images
    • lidar scan
    • segmentation image (how the robot interprets what it sees)
    • its 3D map of the apartment
    • all the objects the robot has detected (or thinks it has detected), as 3D shapes in the 3D map
    • its confidence in its prediction
    • etc
Image 1 Image 2
Image 3 Image 4

examplesより引用

個人的には,遠隔でviewer表示を出来る点が気に入っています.
ssh接続などでリモートサーバ上で作業をしている際にopencvのimshowなどでwindow表示をしたい状況がよくあるのですが,ウィンドウシステムが〜〜〜みたいなエラーで上手く行った例が有りません.
ですが,RerunではTCPベースの通信方法でデータの通信を行っているようなのでウィンドウシステムの必要はなくIPアドレスやポート番号を指定してデータを送信することで,ssh接続をしているクライアント側の画面で可視化を出来る点が非常にありがたいと感じています.

本記事ではRerunの基本的な使い方について簡単に解説したいと思います.
サンプルプログラムは以下で公開しています.

Pythonでの使い方

install

terminal
pip3 install rerun-sdk

rerunコマンドのヘルプ表示

rerun -h

viewerの起動

デフォルトで0.0.0.0:9876でlistenされています

terminal
rerun

or

import rerun as rr

rr.init("test")
rr.spawn(port=9876)

client, log側からviewerに接続

import rerun as rr

rr.init("test")
rr.connect(addr="0.0.0.0:9876")

可視化結果を.rrdファイルに保存

rr.save("/path/to/save")

ファイルの読み込み

対応しているファイル

  • Native Rerun files: rrd
  • 3D models: gltf, glb, obj, stl
  • Images: avif, bmp, dds, exr, farbfeld, ff, gif, hdr, ico, jpeg, jpg, pam, pbm, pgm, png, ppm, tga, tif, tiff, webp
  • Point clouds: ply
  • Text files: md, txt
rr.log_file_from_path("/path/to/file")

memory-limit

RerunではRAMに収まるデータしか表示できない.デフォルトではRAM全体の75%まで表示することが出来る

  • rerunコマンドのオプション (16GB or 50%)
option
rerun --memory-limit 〇〇
  • python関数
def spawn(*, port=9876, connect=True, memory_limit='75%', hide_welcome_screen=False, default_blueprint=None, recording=None)

notebookでの使用

notebook optionをつけたinstall

pip install rerun-sdk[notebook]

通常のrerunの使い方+最終行に以下を追加

rr.notebook_show()

自分が導入時に気になった点について主にまとめました.
初期化周りはこちらを参考にすると良いです.

PointやMesh, 画像など,それぞれのモダリティの実際の表示方法については公式ドキュメントを参照してください.
その他も細かい実装はAPIs,すぐに使えそうなものを探したい時はExamplesを参考にすると良いと思います

最後に

まだまだ日本語の解説記事は少ないので,今後もRerunについての記事を書いていきたいと思います.

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?