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在工业质检中的应用,欢迎点赞、收藏并关注我们,获取更多关于数据可视化的实用教程!
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
请把这个活动推给顶尖程序员😎本次活动专为懂行的顶尖程序员量身打造,聚焦AtomGit首发开源模型的实际应用与深度测评,拒绝大众化浅层体验,邀请具备扎实技术功底、开源经验或模型测评能力的顶尖开发者,深度参与模型体验、性能测评,通过发布技术帖子、提交测评报告、上传实践项目成果等形式,挖掘模型核心价值,共建AtomGit开源模型生态,彰显顶尖程序员的技术洞察力与实践能力。00
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00
MiniMax-M2.5MiniMax-M2.5开源模型,经数十万复杂环境强化训练,在代码生成、工具调用、办公自动化等经济价值任务中表现卓越。SWE-Bench Verified得分80.2%,Multi-SWE-Bench达51.3%,BrowseComp获76.3%。推理速度比M2.1快37%,与Claude Opus 4.6相当,每小时仅需0.3-1美元,成本仅为同类模型1/10-1/20,为智能应用开发提供高效经济选择。【此简介由AI生成】Python00
Qwen3.5Qwen3.5 昇腾 vLLM 部署教程。Qwen3.5 是 Qwen 系列最新的旗舰多模态模型,采用 MoE(混合专家)架构,在保持强大模型能力的同时显著降低了推理成本。00- RRing-2.5-1TRing-2.5-1T:全球首个基于混合线性注意力架构的开源万亿参数思考模型。Python00