击上方“新机器视觉”,选择加"星标"或“置顶”

重磅干货,第一时间送达

结构光视觉的优点:

非接触、信息量大、测精度高、抗干扰能力强。

结构光视觉传感器参数的标定包括:

摄像机参数标定、结构光平面参数标定。

结构光视觉测量原理图

我们不考虑镜头的畸变,将相机的成像模型简化为小孔成像模型,则特征点的图像坐标Pf 与其在摄像机坐标系下的三维坐标P 之间的关系可表示为:

其中:(u,v)是特征点的图像坐标,(u0,v0) 光轴中心的图像坐标,(kx ky )是X 轴,Y 轴方向的放大系数,(xc yc zc) 是特征点在摄像机坐标系下坐标,  Mc 是摄像机内参数矩阵。

结构光视觉投影成像模型:

设结构光在摄像头坐标系的平面方程为:

依据激光条纹特征点图像坐标就可以得到其在摄像机坐标系下的三维坐标

相机参数标定:

采用张正友提出的基于2D平面棋盘格的摄像机标定方法,利用Matlab摄像头标定工具完成相机参数的标定。

摄像机标定工具箱主窗口:

用于摄像机标定的棋盘格图像:

相关参考文献可以查看张正友的论文:

Zhang Z. A flexible new technique for camera calibration[J]. IEEE Transactions on pattern analysis and machine intelligence, 2000, 22(11): 1330-1334.

得到摄像机内参数矩阵:

结构光平面参数标定:

首先,激光器投射结构光平面到平面棋盘格上形成激光条纹,并通过CCD 摄像机采集激光条纹图像。然后,对图像进行处理,提取激光条纹上的两个特征点。控制机器人按照一定的约束进行运动,从一个标定位置移动到另一个位置,从而产生两条不共线的激光条纹,利用上述相同的图像处理方法再次提取激光条纹上的两个特征点。最后,利用结构光平面上的四个点来确定结构光平面方程参数。该方法可以在摄像机参数标定过程中,同时完成结构光平面方程参数的标定。同时,该方法不需要加工高精度的三维标定靶标,也不需要手工测量,标定过程简单实用。

试验装备:

一个六自由度机器人,一个CCD 工业摄像机,一个激光器和一个平面棋盘格靶标。

结构光平面参数标定系统示意图:

摄像机坐标系位于摄像机中心,而世界坐标系位于平面棋盘格靶标上。一个特征点在摄像机坐标系下坐标与其在世界坐标系下坐标之间的对应关系可以用下式来表达:

标定过程如下:

(1)图像获取:

图像的获取是在摄机参数标定过程中同时完成。 首先将棋盘格放在工作台上, 在这个初始位置,利用摄像机采集一幅图,如图 (a) 所示 。保持摄像机和棋盘格的位置姿态不变,打开激光器让条纹投射到棋盘格上, 再采集一幅图像如图 (b) 所示:

然后改变棋盘格和摄像机的相对位姿,使前后形成的两条激光条纹在空间上不共线,即可确定一个唯一的结构光平面。

(2)图像处理:

图像处理的目的是提取激光条纹上特征点的图像坐标。

分为图像感兴趣区域(ROI)确定、自适应阈值分割、骨架细化和特征点计算。

1)图像ROI确定

通过观察图像看出,激光条纹大致平行于图像的u 轴,而且激光条纹处像素的灰度值高于图像中其它像素的灰度值,所以图像的ROI 可以通过对每行像素灰度值进行求和得到:

2)阈值分割

阈值分割分为全局阈值分割、局部阈值分割和自适应阈值分割。最常用的自适应阈值分割是Otsu方法,该方法使用统计学的方法确定最优的阈值,适用于一般的图像,但是不太适合于棋盘格上激光条纹的分割。

根据图像中激光条纹的灰度值高于图像中其它像素的灰度值以及激光条纹所在区域比较集中的特点,利用图像ROI 内行像素灰度值之和计算激光条纹的自适应阈值:

3) 骨架细化:

自适应阈值分割以后的激光条纹具有一定的宽度,直接处理计算量巨大而且精度较低,需要对图像进行骨架细化得到单像素的线。

采用下面文献中所提出的快速骨架细化方法:

该方法通过迭代提取图像骨架,每个迭代过程分为两步,第一步去除东南边缘和西北角的点,第二步去除西北边缘和东南角的点。

Pi分布情况如下:

第二个迭代过程将上述条件的c、d条件更改为:

4)特征提取:

选取激光条纹中心线上的两个点作为激光条纹的特征点,为了提高激光条纹中心线的提取精度,利用最小二乘法拟合方法对细化后的激光条纹直线进行处理。

激光条纹特征点提取过程如下:

标定棋盘格平面内任意一点与法向量关系

由上图可知:

由特征点的图像坐标Pf 与其在摄像机坐标系下的三维坐标P 之间的关系知:

得到棋盘格上任意一点在摄像机坐标系下的zc 坐标

得到激光条纹特征点在摄像机坐标系下的坐标值

至此,得到四个激光条纹特征点的图像坐标,由上式得四个激光条纹特征点在摄像机坐标系下的坐标,由于三点确定一个平面方程,使用最小二乘法计算结构光平面方程如下:

至此,完成结构光平面方程的参数的标定。

参考文献:基于结构光视觉的焊缝识别与跟踪技术研究[D]. 中国科学院自动化研究所. 中国科学院大学. 2019.

推荐阅读

(点击标题可跳转阅读)

最详细、最完整的相机标定讲解

深度学习+机器视觉=下一代检测

视觉检测系统最经典的结构你了解吗?

机器视觉技术的十大应用领域

工业相机和普通相机究竟有什么不同?

基于机器视觉和深度学习的智能缺陷检测

波士顿等移动机器人的视觉算法解析

2020年37个人工智能技术发展趋势

机器视觉的光源选型及打光方案分析

光学三维测量技术及应用

国内80%搞机器视觉的工程师,走的路子是错的!

视觉+机器人,如何实现连接器的自动装配?

机器视觉技术发展的五大趋势

搞懂机器视觉基本内容,这份PPT就够了

机器视觉:PC式视觉系统与嵌入式视觉系统区别

基于HALCON的机器视觉开发,C++或C#如何选择?

3D视觉技术在机器人抓取作业中的应用实例

基于机器视觉的粗糙度检测方案

机器视觉常用图像软件对比及分析

工业相机编程流程及SDK接口使用汇总

 End 

声明:部分内容来源于网络,仅供读者学习、交流之目的。文章版权归原作者所有。如有不妥,请联系删除。

像素测量工具_结构光视觉传感器的标定方式和测量原理相关推荐

  1. 像素测量工具_结构光测量—工程质量管理的潜力股

    计算机视觉技术与图像处理技术的发展促进了三维测量技术的进步,基于计算机视觉的三维信息获取技术已成为了当前三维测量的主流技术方案,光学测量迅速成为了三维测量技术的热门研究内容.本文将介绍工程应用上三维测 ...

  2. matlab 光平面标定代码,线结构光视觉传感器/线激光深度传感器标定工具(matlab)...

    线结构光视觉传感器/线激光深度传感器标定工具(matlab) 发布时间:2018-03-13 17:32, 浏览次数:655 , 标签: matlab 线结构光视觉系统有着结构简单.使用灵活.受周围光 ...

  3. 线结构光视觉传感器/线激光深度传感器标定工具

    续集:线结构光视觉传感器/线激光深度传感器标定工具(续) https://jah10527.github.io/articles/lineLaser.html 线结构光视觉系统有着结构简单.使用灵活. ...

  4. 声速的测量的实验原理和应用_创想智控:光学三角测量系统的测量原理与应用...

    测量原理是三角测量:将激光线投影到表面上,并从与照相机的投影方向不同的方向进行观察.表面距离的变化会导致相机上成像线的偏移.这意味着传感器正在获取表面轮廓. 光学三角测量是一种易于使用的方法,用于测量 ...

  5. 像素测量工具_基于uEye工业相机的光学对准与测量系统

    点击上方"新机器视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 直线度和对齐度对于无故障的工厂操作至关重要,特别是对于大型机械部件 ...

  6. aforge videoresolution获取的相机像素不全_新手做视觉系统,如何选择合适的相机?...

    您是否存在"视觉系统很难""导入非常麻烦"的困扰呢? 视觉系统除了机型种类繁多以外,还是拥有光源.控制等多种要素的传感器.反过来说,只要事先理解重点项目,它也是 ...

  7. 像素测量工具_一键式测量仪在手,磁性元件尺寸测量无忧

    智能手机元年已经迈入了折叠屏时代,厂商们都在公布自己在相关领域的突破,无论是内折还是外折,每一种都让消费者欣喜若狂.其中有一个功能,各厂商都实现了意见统一,那就是闭合功能需要使用磁铁佢支持.当前所发布 ...

  8. 像素测量工具_翼眸科技利用无人机屋顶测量光伏行业应用

    1设备轻小便携,精准定位,精灵RTK-毫无疑问的市场首选. 设备选择条件: 1.2000万像素,成像素质稳定.保证高质量的图像成果. 2.差分定位系统(RTK)提供精准定位,使后期精度提升同时省去大量 ...

  9. 结构光深度仿真测量参数标定

    实验场景 1.相机和投影仪位于同一平面,两者之间坐标相差d 2.参考平面距离相机/投影仪平面距离为l 公式 由公式 在上面的公式中,Z 为深度,deta_phi为解包裹相位差,深度和相位建立一个单射的 ...

最新文章

  1. 自然语言推理:使用注意力机制
  2. codeforces1451 E. Bitwise Queries(位运算妙用)
  3. 配置nginx-rtmp流媒体服务器(宝塔面板配置教程)
  4. 信息学奥赛一本通(1133:输出亲朋字符串)
  5. 带负荷测试要求二次最小电流_差动保护带负荷测试
  6. 好铁不打钉,好男不当网管-----论网管的自我修养 ...
  7. python写一个简单的CMS识别
  8. 100道练习理解SQL语法
  9. C语言————鸡兔共有30只,脚共有90只,下面的程序段是计算鸡和兔共有多少只?
  10. 玻璃幕墙LED透明屏多少钱一平方?为你解答
  11. Typora1.0.2 + SMMS上传图片
  12. 物理层技术前沿_西安交通大学:通信网络安全先进技术研讨会:密码安全专场...
  13. 1个字节占多少个16进制位
  14. centos7 pe系统安装_如何用U盘安装CentOS7系统
  15. ESTIMATE 包 error/报错 无法匹配基因
  16. Java8新特性之filter过滤器
  17. linux系统无法启动 备份恢复,Linux运维 第二阶段 (十四) 备份与恢复及常见故障排除...
  18. 产生创造性思维的好方法:头脑风暴
  19. (最好的BEST)脑电生理记录和刺激工具箱
  20. 5 个好用且免费的在线代码编辑器

热门文章

  1. 大数据在农业农村的应用
  2. 选择BI工具需注意什么
  3. hashmap储存有向图_HashMap的存储结构及原理
  4. print python 带回车_python标准库threading源码解读【二】
  5. oracle dblink 20001,解决ORA-02021: 不允许对远程数据库进行 DDL 操作下面通过DBLINK调用远程过程来执行这样的操作。...
  6. 动手学习深度学习的PDF电子版
  7. [NLP]自然语言的处理步骤
  8. linux下tomcat启动后出现多个java进程
  9. 「镁客·请讲」Site24×7李飞:云服务是大势所趋,云监控生意又要怎么做?...
  10. QT Creator 环境使用 remote debug 调试 arm 程序