3D点云缺陷检测新范式:Rerun工业质检案例全解析
你还在为零件表面裂纹、凹陷等微小缺陷的人工检测效率低下而烦恼吗?传统工业质检依赖人工目检,不仅耗时费力,还容易漏检。本文将展示如何利用Rerun实现零件缺陷的三维点云可视化检测,帮助你快速定位问题,提升质检效率。读完本文,你将掌握使用Rerun进行三维点云数据可视化的基本方法,了解如何在工业场景中应用该技术,并通过实际案例学习缺陷检测的实现流程。
工业质检的痛点与Rerun解决方案
在工业制造领域,零件质量检测是确保产品可靠性的关键环节。传统的检测方法主要依赖人工肉眼观察和接触式测量,这种方式存在效率低、主观性强、难以检测内部缺陷等问题。特别是对于复杂形状的零件,人工检测往往力不从心。
Rerun是一个开源的可视化工具,能够快速、轻松地集成到现有系统中,实现多模态数据的流式可视化。它基于Rust语言开发,使用egui界面库,具有高性能和易用性的特点。通过Rerun,我们可以将三维点云数据实时可视化,直观地展示零件的表面结构,从而快速发现潜在的缺陷。
官方文档:docs/getting-started.md 社区教程:README.md
Rerun三维点云可视化基础
Rerun支持多种数据类型的可视化,其中三维点云是工业质检中的重要数据形式。通过将激光扫描或摄影测量得到的点云数据导入Rerun,我们可以在三维空间中查看零件的形状和细节。
以下是一个使用Rerun记录三维点云数据的简单示例代码,来自examples/python/open_photogrammetry_format/open_photogrammetry_format.py:
def log_point_cloud(self) -> None:
"""Log the project's point cloud."""
points = self.project.point_cloud_objs[0].nodes[0]
rr.log("world/points", rr.Points3D(points.position, colors=points.color), static=True)
这段代码从OPF项目中读取点云数据,并使用rr.log函数将其记录到Rerun中。rr.Points3D用于表示三维点云,其中包含点的位置和颜色信息。通过设置static=True,我们可以确保点云数据在可视化界面中保持静止,方便观察。
工业质检案例:零件缺陷检测流程
数据采集与预处理
在工业质检中,我们首先需要使用激光扫描仪或其他三维测量设备采集零件的点云数据。这些数据通常以PLY、OBJ等格式存储。Rerun支持多种数据格式的导入,例如examples/assets/example.ply就是一个示例点云文件。
点云数据可视化
将采集到的点云数据导入Rerun后,我们可以通过调整视角、缩放和平移来观察零件的细节。Rerun提供了丰富的交互功能,帮助我们从不同角度检查零件表面。
以下是一个使用Rerun记录摄像头和点云数据的示例,来自examples/python/objectron/objectron/main.py:
def log_point_cloud(point_cloud: ARPointCloud) -> None:
"""Logs a point cloud from an `ARFrame` using the Rerun SDK."""
positions = np.array([[p.x, p.y, p.z] for p in point_cloud.point]).astype(np.float32)
rr.log("world/points", rr.Points3D(positions, colors=[255, 255, 255, 255]))
这段代码将ARFrame中的点云数据转换为NumPy数组,并记录到Rerun中。通过设置白色作为点的颜色,我们可以在深色背景下清晰地看到点云的形状。
缺陷检测与标注
在可视化界面中,我们可以通过观察点云的异常区域来检测缺陷。例如,零件表面的凹陷会导致点云在该区域出现明显的凹痕,而裂纹则表现为点云的不连续。Rerun支持在三维空间中绘制边界框,帮助我们标注缺陷位置。
以下是一个使用Rerun记录边界框的示例代码:
def log_annotated_bboxes(bboxes: Iterable[Object]) -> None:
"""Logs all the bounding boxes annotated in an `ARFrame` sequence using the Rerun SDK."""
for bbox in bboxes:
if bbox.type != ObjectType.BOUNDING_BOX:
continue
rot = R.from_matrix(np.asarray(bbox.rotation).reshape((3, 3)))
rr.log(
f"world/annotations/box-{bbox.id}",
rr.Boxes3D(
half_sizes=0.5 * np.array(bbox.scale),
centers=bbox.translation,
rotations=rr.Quaternion(xyzw=rot.as_quat()),
colors=[160, 230, 130, 255],
labels=bbox.category,
),
static=True,
)
这段代码遍历所有标注的边界框,并使用rr.Boxes3D将其记录到Rerun中。通过设置不同的颜色和标签,我们可以区分不同类型的缺陷。
案例展示与结果分析
为了更直观地展示Rerun在工业质检中的应用,我们可以查看测试资产中的三维模型文件。例如,tests/assets/cube.glb是一个立方体模型,我们可以将其导入Rerun并模拟缺陷检测过程。
在实际应用中,我们可以将有缺陷的零件点云与标准零件的点云进行对比,通过Rerun的可视化功能快速定位差异区域。例如,使用Rerun的时间线功能,我们可以在同一视图中切换显示标准零件和待测零件的点云,从而清晰地观察到缺陷位置。
总结与展望
本文介绍了如何使用Rerun实现工业质检中的三维点云可视化检测。通过Rerun的高效可视化能力,我们可以快速发现零件的缺陷,提高质检效率和准确性。未来,Rerun还可以与AI算法结合,实现缺陷的自动检测和分类,进一步提升工业质检的智能化水平。
如果你对Rerun感兴趣,可以参考以下资源深入学习:
- Rerun官方文档:docs/content/index.md
- 示例代码库:examples/
- 三维点云处理教程:examples/python/structure_from_motion/
希望本文能够帮助你了解Rerun在工业质检中的应用,欢迎点赞、收藏并关注我们,获取更多关于数据可视化的实用教程!
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00- QQwen3-Coder-Next2026年2月4日,正式发布的Qwen3-Coder-Next,一款专为编码智能体和本地开发场景设计的开源语言模型。Python00
xw-cli实现国产算力大模型零门槛部署,一键跑通 Qwen、GLM-4.7、Minimax-2.1、DeepSeek-OCR 等模型Go06
PaddleOCR-VL-1.5PaddleOCR-VL-1.5 是 PaddleOCR-VL 的新一代进阶模型,在 OmniDocBench v1.5 上实现了 94.5% 的全新 state-of-the-art 准确率。 为了严格评估模型在真实物理畸变下的鲁棒性——包括扫描伪影、倾斜、扭曲、屏幕拍摄和光照变化——我们提出了 Real5-OmniDocBench 基准测试集。实验结果表明,该增强模型在新构建的基准测试集上达到了 SOTA 性能。此外,我们通过整合印章识别和文本检测识别(text spotting)任务扩展了模型的能力,同时保持 0.9B 的超紧凑 VLM 规模,具备高效率特性。Python00
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. 注意:本仓库为Github仓库镜像,PR或Issue请移步至Github发起,感谢支持!Kotlin08
VLOOKVLOOK™ 是优雅好用的 Typora/Markdown 主题包和增强插件。 VLOOK™ is an elegant and practical THEME PACKAGE × ENHANCEMENT PLUGIN for Typora/Markdown.Less00