Rerun是一个用于构建多模态数据时间感知可视化的开源SDK。它的目标是帮助开发人员更好地理解和调试涉及丰富多模态数据的复杂过程,比如机器人、仿真、计算机视觉等领域的应用。
使用Rerun SDK,开发者可以轻松记录各种类型的数据,包括:
这些记录的数据可以实时流式传输到Rerun Viewer进行可视化,也可以保存到文件中供日后使用。Rerun支持C++、Python和Rust三种主流编程语言,可以无缝集成到现有的开发工作流中。
Rerun支持记录多种类型的数据,包括但不限于:
这使得开发者可以全面记录系统的内部状态和输出,从而更容易理解系统的行为。
Rerun的一个关键特性是它的时间感知可视化能力。它可以展示数据随时间的演变过程,让开发者能够:
这对于调试复杂的时序系统特别有帮助。
Rerun支持将记录的数据实时流式传输到Rerun Viewer中进行可视化。这意味着开发者可以在系统运行的同时观察其内部状态和输出,实现实时监控和调试。
除了实时流式传输,Rerun还支持将记录的数据保存到文件中(.rrd格式)。这些文件可以在之后使用Rerun Viewer加载和回放,方便离线分析和问题复现。
Rerun SDK支持C++、Python和Rust三种主流编程语言,可以满足不同开发者的需求。无论你使用哪种语言,都可以轻松集成Rerun到你的项目中。
Rerun适用于多种应用场景,特别是那些涉及复杂多模态数据的领域。以下是一些典型的应用场景:
在机器人开发中,Rerun可以帮助开发者可视化机器人的感知、决策和控制过程。例如,你可以使用Rerun来记录和可视化:
这些可视化信息可以帮助开发者更好地理解机器人的行为,快速定位问题,并优化算法。
在计算机视觉项目中,Rerun可以用来可视化算法的中间结果和最终输出。例如:
通过可视化这些信息,开发者可以更直观地评估算法性能,发现潜在问题。
自动驾驶系统涉及大量传感器数据和复杂的决策过程。Rerun可以帮助可视化:
这些可视化可以帮助开发者调试自动驾驶系统,提高其安全性和可靠性。
在AR/VR开发中,Rerun可以用来可视化:
这些信息对于优化AR/VR 体验至关重要。
在各种科学研究领域,Rerun也可以发挥重要作用。例如:
研究人员可以使用Rerun来更好地理解和展示他们的数据和结果。
使用Rerun非常简单,主要分为以下几个步骤:
Rerun支持多种安装方式:
pip install rerun-sdk
cargo add rerun
以Python为例,使用Rerun记录数据的基本流程如下:
import rerun as rr # 初始化Rerun rr.init("my_app") # 连接到Rerun Viewer或保存到文件 rr.connect() # 连接到远程Viewer # rr.spawn() # 启动一个本地Viewer # rr.save("recording.rrd") # 保存到文件 # 设置时间序列 rr.set_time_sequence("frame", 0) # 记录数据 rr.log("camera", rr.Image(image_data)) rr.log("points", rr.Points3D(positions, colors=colors)) rr.log("text", rr.TextLog("Hello, Rerun!")) # 更新时间序列 rr.set_time_sequence("frame", 1) # 继续记录数据...
Rerun Viewer是一个强大的工具,用于可视化和探索记录的数据。你可以通过以下方式启动Viewer:
rr.spawn()
在代码中直接启动Viewerrerun
命令行工具Viewer提供了丰富的功能,包括:
简单易用: Rerun的API设计简洁直观,集成成本低,学习曲线平缓。
跨语言支持: 支持C++、Python和Rust,可以满足不同开发者的需求。
性能优秀: Rerun的核心是用Rust编写的,性能优秀,可以处理大量数据。
可扩展性: Rerun支持自定义数据类型和可视化方式,可以适应各种特定需求。