热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

matlab工业相机曝光时间_激光三角测量法在工业视觉检测上的应用

作者:白杨来源:公众号3D视觉工坊激光三角测量法,是工业视觉领域较为常用也是比较容易理解的一种3D检测算法。本文主要从应用层次来阐述&#x

作者:白杨

来源:公众号@3D视觉工坊

激光三角测量法,是工业视觉领域较为常用也是比较容易理解的一种3D检测算法。本文主要从应用层次来阐述,包括相机和激光选型、搭接方式的优劣点分析、软件开发过程中的注意事项等。

1.原理及演示

将一条单线细激光光线投射到物体表面,由于物体表面高度发生变化,使得激光线发生了弯曲,根据这个线的变形,可以计算出精确的物体表面三维轮廓。如下图所示,基本组成结构有:1) 2D/3D相机 2)线激光 3)镜头 4)固定架和安装方法

61ff9d03d14bad26e11265b93bae3c46.png
7a05af58b5583f1eb1aed8d9ea122aaf.png
b201da073bf294d6af58c49e0b2427a3.png

2.特点

1)可以同时获得X,Z向坐标

2)相机与被测物之间必须有相对运行

3)主要用于在线3D测量

4)适合近距离、高精度、高速测量

3.关键参数

3.1相机的选择

相机可以选择普通面阵相机或3D相机,均可以得到3D图像或者点云数据。使用普通面阵相机,需要自己提取轮廓线,并通过标定来重建深度图像,Halcon里面有现成的例程进行实现。如果对行频要求不高、Z向精度要求不高的场合,完全可以使用高速面阵相机来实现。

我近期所做项目,对行频和精度要求偏高,所以还是选取的3D相机的方案。德国的SICK、AT相机是工业检测应用中用的比较多的两款3D相机了,最高行频都可以做到几十KHZ,以AT相机为例,具体参数如下:

1050b016de6bceb965e3b43b13e21ed4.png

行频的大小除了和行数有关,也跟设置的ROI的宽度(像素点数)、曝光时间均有直接的关系。

3.2线激光的选择

线激光的评价参数有很多,如均匀性、点稳定性、准直度、瞄准线、功率稳定性。激光器自身的参数有:扇角、功率、景深等。实际项目选型中,最常用的参数有:

  • 扇角:扇角越大,同样工作距离对应的激光线越长。
9b292d52197436877a1476adf36346ed.png
  • 功率:功率越高,激光的强度越大(肉眼看越亮)。对于黑色不反光材质,要选择功率大一点的激光。功率的稳定性也会影响测量的灵敏性,较差的功率稳定性,将不能使用固定的阈值方法,对于较低对比度的物体测量变得困难
  • 均匀性:不好的均匀性会降低分辨率和精度
8743a653b8581abce4ff739d74313794.png

经过对多个不同品牌激光的测试,德国的ZLaser激光是性价比较高的一款激光,多种型号可以满足不同场合的应用。

3.3搭接方式的选择

1)标准安装:激光垂直材料平面,相机与激光呈α角度

1473ea0bc7a204dd13fec3906417aa7b.png

适应场合:大多数场合均适用

优点:轮廓上的点都有相同的Y坐标,标定简单

缺点:存在盲区

2)反向安装:相机垂直材料平面,激光与相机呈α角度

8309a9e01e5693999689ed3b93d137c8.png

适用场合:平面物体

优点:可增加高度分辨率

缺点:轮廓上的点的Y坐标不相同,标定复杂

3)发射式安装或明场安装方式

38d0c81bd5d8670a774d9827e97aac25.png

适用场合:适用于返光不强的平面物体。由于直接反射,可增加物体的返光亮度(对于某些材质,可能是缺点)。

优点:大大增加高度分辨率

缺点:标定复杂

4)暗场安装方式

适用场合:返光较强的平面物体。

65b1bfe51a9f7995bdc25f12e2b9f371.png

优点:可减少直接光的反射

缺点:会降低高度分辨率,标定复杂

3.4测量角的选择

较大的测量角,可以带来更高的Z方向分辨率,同时也会导致更大的盲区。所以需要根据实际项目情况进行权衡。

9bcf2c357a91127f2634d5229f31bb87.png

例如:5mm高物体,,盲区为4.2mm

4.实际应用

4.1应用举例

c18f2a2a0f66b73def35e55cdea51389.png

需要已知如下信息:

  • 物体大小(长、宽、高)
  • X,Y,Z方向精度要求
  • 扫描速度
  • 应用类型
  • 材质

举个例子,需要测量的物体大小为80*50*5(长*宽*高),X向精度0.3mm,Y向精度0.3mm,扫描速度为2m/s,那么需要的X向分辨率不高于0.1mm/pixel,Y向分辨率不高于0.1mm/pixel。

  • 相机选择

需要选择的像素点数不低于80/0.1=800;对应的行频不低于2000/0.1=20KHZ。

相机能达到的最大行频,取决于ROI有效区域的大小、曝光时间和轮廓提取算法等。而ROI有效区域的大小又取决于材料的厚度范围,曝光时间一部分取决于材料的材质(有的材料比如橡胶轮胎为黑色吸光的材质,在同等光源亮度情况下,需要的曝光时间要高一些)

2)镜头选择

这个跟2D一致。主要取决于现场安装的工作距离,焦距越大工作距离越远

3)搭接方式

如上所述,各有利弊,可以从标定的难易程度、检测精度、平面物体的材质等多个因素考虑选择哪种方式

4.2采图

当相机和激光角度固定时,相机安装方向的不同会导致灰度极性的不同(即高度越高的物体,对应的灰度值越亮还是越暗)。简单总结:相机自身安装是有方向的,若激光在相机的正方向的上面,则高度越高的物体,对应的灰度值越低;否则对应的灰度值越高。

基于此,如果想改变灰度极性,在不更改相机安装方向的情况下,可以通过设置ReverseY参数来更改。

41b56e17abeb6837a3e13e988b337b22.png
352309107acfffa95cadfb85733f6d0c.png

4.3标定

标定的目的:获得相机内外参数、以及激光光平面的方向。进而可以计算出物体X和Z向的物理单位大小。3D相机一般集成了现成的标定模块,所以标定起来比较容易,经常用的标定方法为:锯齿形标定板

03107dc041b393487f85cb84635a94d4.png

通过在运动方向上移动标定块,调用相机自身的标定算法,来实现对3D相机的标定。

本文仅做学术分享,如有侵权,请联系删文。



推荐阅读
  • Java高级工程师学习路径及面试准备指南
    本文基于一位朋友的PDF面试经验整理,涵盖了Java高级工程师所需掌握的核心知识点,包括数据结构与算法、计算机网络、数据库、操作系统等多个方面,并提供了详细的参考资料和学习建议。 ... [详细]
  • 如何高效学习鸿蒙操作系统:开发者指南
    本文探讨了开发者如何更有效地学习鸿蒙操作系统,提供了来自行业专家的建议,包括系统化学习方法、职业规划建议以及具体的开发技巧。 ... [详细]
  • 知识图谱与图神经网络在金融科技中的应用探讨
    本文详细介绍了融慧金科AI Lab负责人张凯博士在2020爱分析·中国人工智能高峰论坛上的演讲,探讨了知识图谱与图神经网络模型如何在金融科技领域发挥重要作用。 ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • MySQL InnoDB 存储引擎索引机制详解
    本文深入探讨了MySQL InnoDB存储引擎中的索引技术,包括索引的基本概念、数据结构与算法、B+树的特性及其在数据库中的应用,以及索引优化策略。 ... [详细]
  • 本文总结了一次针对大厂Java研发岗位的面试经历,探讨了面试中常见的问题及其背后的原因,并分享了一些实用的面试准备资料。 ... [详细]
  • PHP函数的工作原理与性能分析
    在编程语言中,函数是最基本的组成单元。本文将探讨PHP函数的特点、调用机制以及性能表现,并通过实际测试给出优化建议。 ... [详细]
  • Redis 是一个高性能的开源键值存储系统,支持多种数据结构。本文将详细介绍 Redis 中的六种底层数据结构及其在对象系统中的应用,包括字符串对象、列表对象、哈希对象、集合对象和有序集合对象。通过12张图解,帮助读者全面理解 Redis 的数据结构和对象系统。 ... [详细]
  • 自动驾驶中的9种传感器融合算法
    来源丨AI修炼之路在自动驾驶汽车中,传感器融合是融合来自多个传感器数据的过程。该步骤在机器人技术中是强制性的,因为它提供了更高的可靠性、冗余性以及最终的 ... [详细]
  • LeetCode 实战:寻找三数之和为零的组合
    给定一个包含 n 个整数的数组,判断该数组中是否存在三个元素 a、b、c,使得 a + b + c = 0。找出所有满足条件且不重复的三元组。 ... [详细]
  • 本文详细介绍了 Java 网站开发的相关资源和步骤,包括常用网站、开发环境和框架选择。 ... [详细]
  • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
    本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
  • 短暂的人生中,IT和技术只是其中的一部分。无论换工作还是换行业,最终的目标是成功、荣誉和收获。本文探讨了技术人员如何跳出纯技术的局限,实现更大的职业发展。 ... [详细]
  • Python环境下OpenCV的安装与验证方法
    本文介绍了如何在Python环境中安装OpenCV库及其额外模块,并提供了验证安装是否成功的具体步骤和代码示例。 ... [详细]
  • 如何寻找程序员的兼职机会
    随着远程工作的兴起,越来越多的程序员开始寻找灵活的兼职工作机会。本文将介绍几个适合程序员、设计师、翻译等专业人士的在线平台,帮助他们找到合适的兼职项目。 ... [详细]
author-avatar
kakeru0o0
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有