Rerun: Build Time Aware Visualizations of Multimodal Data

Feb 2, 2022 | Data Science

banner

PyPi crates.io MIT Apache Rerun Discord

Build Time Aware Visualizations of Multimodal Data

Use the Rerun SDK (available for C++, Python, and Rust) to log data like images, tensors, point clouds, and text. Logs are streamed to the Rerun Viewer for live visualization or to file for later use.

A Short Taste

Here’s a simple snippet to get you started with Rerun:

import rerun as rr  # pip install rerun-sdk
rr.init("rerun_example_app")
rr.connect()  # Connect to a remote viewer
# rr.spawn()  # Spawn a child process with a viewer and connect
# rr.save(recording.rrd)  # Stream all logs to disk
# Associate subsequent data with 42 on the “frame” timeline
rr.set_time_sequence(frame, 42)
# Log colored 3D points to the entity at path "points"
rr.log("points", rr.Points3D(positions, colors=colors))

This sample code snippet is like setting up a concert, where:

  • The rr.init() line represents the stage being set up (your application).
  • rr.connect() acts like the musicians tuning their instruments to connect with their audience (the viewer).
  • When you log data, it’s similar to a live performance where each musician plays their unique piece, which everyone gets to enjoy and experience.

Getting Started

To dive into Rerun, start with the following links for your programming language:

Installing the Rerun Viewer Binary

To stream log data over the network or load .rrd data files, you need the Rerun binary. This can be installed using:

pip install rerun-sdk
# or for Rust users
cargo install rerun-cli --locked

Note that only the Python SDK comes bundled with the Viewer, while C++ and Rust rely on separate installations.

Documentation

Explore the Rerun documentation:

Status

Rerun is in active development. Expect breaking changes! Note that:

  • Multi-million point clouds may be slow.
  • The viewer may slow down with too many entities.
  • The data to visualize must fit in RAM. For methods to limit memory use, check this link.

What is Rerun For?

Rerun aids in understanding complex processes involving rich multimodal data. It’s designed for industries like robotics, simulation, and computer vision, among others. Here’s a sample use case: suppose you’re building a vacuum-cleaning robot that bumps into walls.

Example Use Case

Debugging this requires more than text logs. You need a tool to visualize the robot’s understanding of its world—like the RGB camera feed, depth images, and 3D maps. With Rerun, you can identify issues like glare affecting sensor performance or other bugs that obscure accurate object detection.

As you visualize the process, you might brainstorm ideas for algorithm improvements or new test cases. Rerun not only helps to debug but also to enhance your project’s capabilities.

Business Model

Rerun operates on an open-core model, ensuring that all components remain free and open-source, targeting individual developers while planning a commercial product for team-centric computer vision and robotics solutions.

Troubleshooting

If you encounter issues, consult the troubleshooting section of the documentation linked above. For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.

At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

Stay Informed with the Newest F(x) Insights and Blogs

Tech News and Blog Highlights, Straight to Your Inbox