目录

前言

1.基于相位一致性提取光条中心

2.基于图像多尺度分析提取光条中心

2.1提取初始光条中心

2.2多尺度光条中心提取

2.2.1规范化算子。

2.2.2提取光条中心坐标。

3.融合传统方法提高鲁棒性提取光条中心

3.1重心法+极值法

3.1.1初步提取光条中心

3.1.2提取光条中心

3.1.3曲线拟合

3.2重心法+轮廓跟踪算法

4.总结

参考文献


前言

为解决复杂环境下结构光光条中心提取方法的问题,笔者阅读了若干文献,写下这篇文章,希望对读者有所启发。

1.基于相位一致性提取光条中心

介绍一种基于相位一致性提取光条中心的方法。该方法的优点主要体现在可以在不同光照条件下保证较高精度。

相位一致性的基本原理及应用问题_黑化咸鱼的博客-CSDN博客

首先,如果有读者对相位一致性不太了解,可以阅读上面这篇文章。这里仅作简单介绍。

相位一致性简介

相位一致性的提出是基于科学家发现了人感觉图像的关键在于图像信号的相位大小。相位一致性模型是一种考虑相位信息的频率域图像增强方法,它具有局部对比度不变的特性,对光照变化不敏感,因而其能较为稳定地表达图像特征,特别在处理低对比度图像特征方面具有独特的优势,常用于边缘检测。

已知二维图像相位一致性计算公式为:

这里不详细解释各参量的含义,只需知道我们已知原始图像每一像素的灰度值,利用上式,选取合适系数后,可以得到对应像素的相位一致性。进一步,将整个图像的像素运算后,得到新图像的灰度值表示了相位一致性的高低,某处的相位一致性越高,代表图像的边缘特征越明显,从而增强了图像的边缘特征。

图像经过增强后,再使用传统的基于灰度的算法提取结构光光条中心。比如采用精度较高的Steger算法。若读者对Steger算法不太了解,可以阅读下面这篇文章。

利用Steger算法提取线条中心的基本原理_黑化咸鱼的博客-CSDN博客

根据文献描述,在实验室环境下,使用长度为2000mm的标准件作为测量标准。不同视角下各个测量点得到的测量误差存在差异,其总标准差为4.56mm,关于测量距离的相对测量误差约为0.03%。

2.基于图像多尺度分析提取光条中心

介绍一种基于图像多尺度分析优化Steger算法的提取光条中心方法。在高反光的环境下,光条图像会出现亮度不均匀、光条宽度变化剧烈的情况,该方法的优点在于可以在该环境下保持精度。

首先,在Steger算法中,图像通过高斯卷积计算图像中每个像素的Hessian矩阵。σ是高斯函数的均方差,控制着平滑效果。σ 越大,平滑程度越好,但σ过大会造成图像特征过分模糊。而σ的选取与光条的宽度有关,且影响着光条中心的提取精度。该方法Steger线条提取方法的基础上进行优化,即根据光条不同位置处的宽度确定该处卷积核函数对应的均方差σ。

2.1提取初始光条中心

首先需要确定光条区域。考虑到处理的对象主要为复杂图像,首先采用多阈值法针对光条图像进行二值化处理。

Otsu多阈值法简介

多阈值法是胡颖等人于2010年提出的图像阈值分割算法。该算法对单阈值Otsu法进行改进,通过对图像多次分类、使用分离变量合并多余的分类、使用松弛变量搜索阈值等方法提高了运算速度。Otsu法基本思想是根据阈值把直方图分割成目标和背景2组,当分割的2组数据的类间方差最大时,得到最佳分割阈值。该方法对一些灰度直方图谷底并不明显的复杂图像,该方法并不稳定,多阈值法在改进后可以处理这种问题。

经形态学图像处理中的条件膨胀算法,消除小的干扰区域和大面积背景干扰区域。采用骨骼细化的方法,针对每一个满足约束的连通分量,抽取其骨骼作为光条中心初始点.对于光条中心初始点点列中任意一点,在点列中选取邻近的2k个点(k为正整数,一般k=2)拟合直线,得到直线的归一化法线方向,作为光条法线方向初始值。沿光条中心初始点的法线方向对光条灰度图像横截面进行高斯拟合。如下图所示,光条灰度图像横截面的最大值为A,0.2A对应的为光条初始宽度。

(a)光条初始中心点及法线方向的计算结果;(b)灰度高斯函数拟合

2.2多尺度光条中心提取

2.2.1规范化算子

计算图像中像素的Hessian矩阵,针对高斯卷积核进行—坐标规范化 ,得到规范化算子C

其中为Hessian矩阵的模最大特征值。设定光条中心点的判别条件为C大于某阈值。

2.2.2提取光条中心坐标

首先,进行多尺度卷积。卷积步骤如下:

① 定位以为中心的邻域范围RON,RON中像素表示为

②根据高斯核的大小,以为中心,定位图像中相同大小的范围(ROC);

③ 高斯核的一、二阶偏导数与ROC进行单像素卷积得到对应的 Hessian矩阵。其中单像素卷积指平移卷积模板的中心到像素点处,计算模板与的邻域加权和;

④ 由Hessian矩阵根据2.2.1所列公式计算得到对应

多尺度卷积步骤:以(ui,vi)为中心定义 RON,
以 RON 中像素pj为中心定义 ROC

然后,确定最佳尺度因子。RON中的每个像 素 所 对 应 的构成一个C值集合,集合中最大C值对应的为最佳,记为。最大C值对应的像素点作为像素级光条中心的候选点,记为,像素相对于的Hessian矩阵记为的模最大特征值对应的特征向量即为光条法线方向,用表示。

确定了最佳σ之后只需要进行Steger算法即可。

从该文献实验结果来看,相比传统Steger算法,运算提高了速度,但差别不大。

3.融合传统方法提高鲁棒性提取光条中心

3.1重心法+极值法

3.1.1初步提取光条中心

首先对光条中心部分即感兴趣部分做线性增强,弱化灰度较暗部分,增强灰度较亮部分的对比度。

由于实际光条中心附近有着与其接近甚至相同灰度级的光强分布,对整个图像逐行扫描极大值点,当一行出现多个极值点时,将这些极值点位置都先保留下来。这些极值点当中包含了光条的中心点、光条中心点附近的点以及噪声点。

由于光条各个位置反射到采集传感器上的亮度并不相同,即各个位置光条中心的灰度并不完全相同。文献提出了8邻域比较去噪算法滤除噪声点。其基本思路是,通过比较某像素与周围8邻域像素的灰度差值来判断是否为噪声点。

3.1.2提取光条中心

由于光条中心位置的反射光强度都是最大的,中心位置两侧灰度逐渐下降。从而可以引入重心概念,对每行计算出灰度重心,将灰度重心像素所在位置的坐标作为光条中心的坐标。对光条图像逐行或者逐列进行计算可以获得亚像素级的部分光条中心点位置。

3.1.3曲线拟合

考虑到复杂的工业环境,从全局角度对整个范围内已经确定的光条中心像素点进行考虑,保证各个中心点之间平滑过渡,采用最小二乘拟合原理进行多项式拟合,从而得出整个光条中心的完整曲线。完整算法流程图如下图所示。

根据文献描述,该算法在加入高斯白噪声和椒盐噪声的情况下效果良好,较形态学细化算法更优。

3.2重心法+轮廓跟踪算法

该方法文献作者称其为快速重心法,基本原理为:规划搜索光条像素的路径,采用8邻域轮廓跟踪算法沿光条上边缘访问光条像素,并采用重心法实现光条中心的快速计算。在计算过程中对单个像素的噪声点或冗余点进行剔除,以实现抗噪性。

由于光条图像灰度呈类高斯分布,该方法采用8邻域跟踪算法寻找光条。8邻域跟踪算法是一种边界跟踪算法。为某像素到其8邻域的方向编码(即链码),通过指定链码算法,在8邻域内搜索满足阈值的边界点,然后在该边界点上继续搜索下一个新边界点。

边界点邻域内的像素位置。(a)链码表示(b)坐标表示

按顺时针方向旋转搜索时边界的链码表示如图所示,实心直箭头为当前点的链码方向,虚线箭头为自当前点搜索下一个边界点时的链码起始方向。

链码搜索

从图像左上角开始,自上而下、自左向右地扫描图像,遇到满足阈值的像素停止扫描,用8邻域跟踪算法进行跟踪,记录满足阈值的像素,再用重心法计算提取光条中心。

据文献描述,该方法相较重心法和Steger算法提速明显,对一定程度的噪声点有抗噪能力。

4.总结

算法 预处理方法 光条搜寻方法 中心提取方法 鲁棒性 精度 速度
基于相位一致性算法 相位一致性 未提及 Steger算法 适用光照条件变化的情况,有抗噪能力 亚像素级 较慢
基于图像多尺度分析算法 形态学图像处理 骨骼细化方法 改进Steger算法 适用于高反光的情况,采用多阈值法一定程度解决了灰度变化问题,但没有从根本上解决 亚像素级 较慢
重心法+极值法 对ROI线性增强 极值法 重心法 依靠灰度去噪与提取,灰度不变情况下具有抗噪能力,对灰度变化适应性存疑 亚像素级 速度较快
重心法+轮廓跟踪法 未提及 8邻域跟踪算法 重心法 算法中所设阈值与灰度有关,灰度不变有一定抗噪性,对灰度变化适应性存疑 亚像素级 速度较快

参考文献

[1]张旭苹, 汪家其, 张益昕,等. 大尺度三维几何尺寸立体视觉测量系统实现[J]. 光学学报, 2012, 32(003):140-147.

[2]胡颖,崔伟峰.Otsu多阈值分割算法的研究[J].郑州轻工业学院学报(自然科学版),2010,25(02):79-81.

[3]李凤娇,李小菁,刘震.基于多尺度分析的激光光条中心点坐标提取方法[J].光学学报,2014,34(11):111-116.

[4]刘枝梅,邓文怡,娄小平. 结构光测量系统中光条中心的提取算法[J]. 北京机械工业学院学报(综合版),2009,24(1):42-45. DOI:10.3969/j.issn.1674-6864.2009.01.011.

[5]张小艳, 王晓强, 白福忠,等. 基于改进灰度重心法的光带中心提取算法[J]. 激光与红外, 2016, 46(005):622-626.

[6]李伟明,彭国,高兴宇,丁畅.线激光光条中心快速提取算法[J].中国激光,2020,47(03):192-199.

复杂环境下结构光光条中心的几种提取方法相关推荐

  1. android o 结构光流程,结构光光条中心的提取算法.pdf

    结构光光条中心的提取算法 2010年 8月 沈阳航空工业学院学报 A ug. 2010 第 27卷 第 4期 Journa l o f Shenyang Institute of A e ronaut ...

  2. 在生产环境下处理EFCore数据库迁移的五种方法

    在生产环境下处理EFCore数据库迁移的五种方法 原文链接:https://www.thereformedprogrammer.net/handling-entity-framework-core-d ...

  3. K8S 在微服务架构下做服务注册中心的一种思路

    K8S 在微服务架构下做服务注册中心的一种思路 使用 K8S 的 Service 和 DNS: 每个微服务 都在 K8S 中创建一个 Service ,名起名比如: user.xingren.host ...

  4. windows下学习linux,在Windows环境下学习Linux命令行的几种方法

    Linux高手通常将Windows工作平台的人鄙视得一无是处, 其实这完全没有必要.请不要装. 对于想进军linux的人来说, 学好linux命令行无疑是最基本的东西. 本文讲述如何在Windows环 ...

  5. 线结构光光条直线方程提取问题分析

    在线结构光视觉测量系统中,激光光条的提取精度至关重要.光条的提取效果,一方面取决于激光光条本身的质量,另一方面取决于图像处理算法性能,下面进行简要分析. 拍摄的原始图片如下图所示: 用的绿光激光器,本 ...

  6. Linux环境下实现简单进度条

    进度条是我们生活中可见的,但是大家却从来不知道其怎么实现的,下面就是linux环境下的进度条的简单实现 这里应该提一下缓冲区的概念: 计算机中的缓冲区: 缓冲器为暂时置放输出或输入资料的内存. 缓冲器 ...

  7. 开放环境下的群智决策:概念、挑战及引领性技术

    摘要 开放环境下的群智决策是一种群体参与.人机交互.大数据驱动的新型决策模式,致力于借助开放的互联网环境实现复杂问题求解和智能决策.然而,互联网具有高度开放.复杂交互.行为涌现的特性,使得基于互联网的 ...

  8. 金融数据中心环境下的SDN技术评测标准化思考与实践

    声明:本文为CSDN原创投稿文章,未经许可,禁止任何形式的转载. 作者:中国银联电子商务与电子支付国家工程实验室SDN研究团队.上海银行信息技术部网络管理团队. 责编:钱曙光,关注架构和算法领域,寻求 ...

  9. 四步法分析定位生产环境下MySQL上千条SQL中的问题所在

    第一步:通过以下两种方式之一来打开慢查询功能 (1)方式一:通过修改mysql的my.cnf文件 如果是5.0或5.1等版本需要增加以下选项: log-slow-queries="mysql ...

最新文章

  1. 【采用】【风险管理】金融业务风控相关框架(宝藏)
  2. Acwing第 1 场周赛【完结】
  3. 数据范围BZOJ 3209(花神的数论题-数位统计+1,被数据范围坑了)
  4. angular4.0微信oAuth第三方认证的正确方式
  5. web developer tips (55):多项目解决方案中设置启动项
  6. C#中A a=new B()的意义
  7. zabbix系列(二):zabbix agent(Host配置)
  8. django开发_七牛云图片管理
  9. 生产环境下戴尔 R820 kvm虚拟化部署二(物理主机系统优化)
  10. vue-calendar 基于 vue 2.0 开发的轻量,高性能日历组件
  11. word中如何删除某符号前面或后面所有的文字
  12. Serenity框架官方文档翻译3.1(教程)
  13. 微软project服务器搭建,安装和配置 Project Server 2010
  14. Firefox 禁止中国用户!!
  15. 失业参加聚会_谁被邀请参加聚会?
  16. 什么是Alpha策略?有什么作用吗?
  17. 使用腾讯文档收集快递信息
  18. 操作系统第五章笔记---线程
  19. SOFAJRaft 在同程旅游中的实践
  20. IDEA背景颜色设置问题

热门文章

  1. Python NumPy ufunc 双曲函数(sinh、cosh、arctanh)
  2. Linux初学者最常遇到的五个问题
  3. VB银行代扣代发工资系统的设计与实现
  4. C++线程池QueueUserWorkItem
  5. redis 用命令删除所有的key
  6. oracle服务器双ip,LINUX系统的双网卡双IP(双链路)实现方式
  7. 随着交互能力的升级,AI在C端的落地会越来越深
  8. Hadoop读书笔记(三)Java API操作HDFS
  9. 国内外宽带性价比差距大 专家解析假宽带成因
  10. 广告传媒行业CRM需求分析