复杂物体线结构光中心线提取方法研究

论文地址:Excellent-Paper-For-Daily-Reading/application/centerline at main

类别:应用——中心线提取

时间:2023/11/05

摘要

针对复杂物体动态三维测量中条纹图像过曝光、欠曝光以及环境光照干扰引起激光中心线提取速度慢、提取 不准确的问题,提出一种基于深度学习语义分割技术的光条中心线提取方法,该方法使用改进的 UNet++模型进行图像分割,粗提光条中心区域,得到1~2个像素宽度的光条中心线,再利用灰度重心法精确提取亚像素中心。经实验证明,该方法能够有效克服因光条图像曝光不均以及外部干扰噪声带来的不良影响,准确、快速地提取出了复杂物体完整、光滑的亚像素光条中心线,满足工业中动态三维测量的要求。

实验

实验流程

光条中心线提取流程

第一阶段

采集原始激光条图像,然后对每幅图像进行裁剪选取感兴趣区域,经过裁剪后光条图像的大小为736×160像素,最后使用改进的 UNet++模型对裁剪后的光条图像进行分割。该阶段输出的中心线分割结果将直接运用于第二阶段的光条二次提取任务。

第二阶段

使用灰度重心法对光条分割图像进行亚像素提取。

论文提出改进的Unet++网络

在特征融合前引入了通道注意力机制,在通道数上抑制特征融合时产生的干扰噪声,如图 4 所示为 本文引入的 ECANet 网络结构,ECANet是一种极为轻量化的注意力机制,该模型复杂度小,提升效果显著。

并且在网络中添加了残差结构,对输入特征层进行 1×1 卷积进行通道数调整,再经过 ReLU 激活函数,最后与普通卷积后的结果进行相加得到输出特征层。

改进卷积单元

评价指标

首先采集10幅激光光条与棋盘格标定板行角点重合的条纹图像,利用 Matlab中的相机标定工具确定棋盘格角点的图像坐标,然后提取激光条纹的中心坐标,最后对提取的光条中心坐标与棋盘格角点基础坐标求距离均值,将所得的结果作为光条中心的提取误差,以此来评价光条中心线的提取精度。 其中距离均值的定义如下:

式中:n表示光条纹与棋盘格角点重合的数量,(X_{i},Y_{i})表示棋盘格角点的基准坐标,(X_{i},Y_{i})表示光条纹的中心坐标。该值越小,说明光条中心线提取越准确。

总结

本文针对复杂表面物体动态三维测量中光条图像过曝光、欠曝光以及环境光照干扰造成光条中心线提取速度慢、提取精度低的问题,提出了一种快速、准确的激光中心线提取方法。通过改进 UNet++模型将光条图像分割为 1~2 像素宽度,再对细化后的条纹图像利用灰度重心法实现对激光中心线的准确提取。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/117078.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据结构—字符串

文章目录 7.字符串(1).字符串及其ADT#1.基本概念#2.ADT (2).字符串的基本操作#1.求子串substr#2.插入字符串insert#3.其他操作 (3).字符串的模式匹配#1.简单匹配(Brute-Force方法)#2.KMP算法I.kmp_match()II.getNext() #3.还有更多 小结附录:我自己写的string 7.字符…

C语言——选择排序

完整代码: //选择排序 // 选择排序是一种简单直观的排序算法。它的工作原理如下:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大&am…

【Liunx基础】之指令(一)

【Liunx基础】之指令(一) 1.ls指令2.pwd命令3.cd指令4.touch指令5.mkdir指令(重要)6.rmdir指令与rm指令(重要)7.man指令(重要)8.cp指令(重要) 📃博客主页: 小…

✔ ★【备战实习(面经+项目+算法)】 11.5学习

✔ ★【备战实习(面经项目算法)】 坚持完成每天必做如何找到好工作1. 科学的学习方法(专注!效率!记忆!心流!)2. 每天认真完成必做项,踏实学习技术 认真完成每天必做&…

C++二分算法:平衡子序列的最大和

涉及知识点 二分 动态规划 #题目 给你一个下标从 0 开始的整数数组 nums 。 nums 一个长度为 k 的 子序列 指的是选出 k 个 下标 i0 < i1 < … < ik-1 &#xff0c;如果这个子序列满足以下条件&#xff0c;我们说它是 平衡的 &#xff1a; 对于范围 [1, k - 1] 内的所…

Git从基础到实践

1.Git是用来做什么的&#xff1f; git就是一款版本控制软件&#xff0c;主要面向代码的管理。你可以理解为Git是一个代码的备份器&#xff0c;给你的每一次修改后的代码做个备份&#xff0c;防止丢失&#xff0c;这个是git最基本的功能。 其次,git不止备份,当你需要比对多…

【探索Linux】—— 强大的命令行工具 P.13(文件系统 | 软硬链接 | 动态库和静态库)

阅读导航 引言一、文件系统1. 磁盘文件系统2. 磁盘结构&#xff08;1&#xff09;物理结构&#xff08;2&#xff09;存储结构 3. stat 命令4. Linux ext2文件系统 二、软硬链接1. 软连接2. 硬链接 三、动态库和静态库1. 动态库&#xff08;1&#xff09;动态库文件扩展名&…

docker 常用

系统 Ubuntu 20.04 64位 安装文档 ubuntu&#xff1a;https://docs.docker.com/engine/install/ubuntu/ centos&#xff1a;https://docs.docker.com/engine/install/centos/ debian&#xff1a;https://docs.docker.com/engine/install/debian/ 常用命令 查找公共镜像库镜…

5 ip的分配

如上一节所述&#xff0c;需要和其他设备通信&#xff0c;那么需要先配置ip. 1、如何配置ip 1.可以使用 ifconfig&#xff0c;也可以使用 ip addr 2.设置好了以后&#xff0c;用这两个命令&#xff0c;将网卡 up 一下&#xff0c;就可以了 //---------------------------- 使…

Unity2D中瓦片地图的创建与绘制教程

Unity2D中瓦片地图的创建与绘制 素材切割创建地图创建瓦片绘制地图瓦片调色板画笔拓展素材资源链接 素材切割 选中以下素材&#xff0c;以Tiles为例&#xff08;素材链接在文章最下方&#xff09; 修改素材属性。 将Sprite Mode属性改为Multiple多张&#xff08;不然切割不了&…

JVM字节码文件浅谈

文章目录 版权声明java虚拟机的组成字节码文件打开字节码文件的姿势字节码文件的组成魔数&#xff08;基本信息&#xff09;主副版本号&#xff08;基本信息&#xff09;主版本号不兼容的错误解决方法基本信息常量池方法 字节码文件的常用工具javap -v命令jclasslib插件阿里art…

IP路由配置

一、路由协议分类 路由协议是路由器之间维护路由表的规则,用于发现路由并生成路由表以指导报文转发。可分为: 通过链路层协议发现的直连路由通过网络管理员手动配置的静态路由通过动态路由协议发现的动态路由其中,动态路由根据作用范围分为: 内部网关协议(IGP):包括rip…

asp.net人事管理信息系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net 人事管理信息系统是一套完善的web设计管理系统&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为vs2010&#xff0c;数据库为sqlserver2008&#xff0c;使用c#语言 开发 asp.net 人事管理系统1 应用技术…

23种设计模式-Java语言实现

因为要准备一个考试所以又重新接触到了设计模式&#xff0c;之前只是别人说什么就是什么&#xff0c;记下就好了&#xff0c;完全不理解其中的思想以及为什么要用(虽然现在也不太理解…) 先慢慢总结吧&#xff0c;常读常新。 23种设计模式 “每一个模式描述了一个在我们周围不…

如何使用CodeceptJS、Playwright和GitHub Actions构建端到端测试流水线

介绍 端到端测试是软件开发的一个重要方面&#xff0c;因为它确保系统的所有组件都能正确运行。CodeceptJS是一个高效且强大的端到端自动化框架&#xff0c;与Playwright 结合使用时&#xff0c;它成为自动化Web、移动甚至桌面 (Electron.js) 应用程序比较好用的工具。 在本文中…

虚拟机VirtualBox添加磁盘

一、创建虚拟硬盘 二、虚拟硬盘分区 fdisk -l 我们新添加的磁盘/dev/sdb&#xff0c;还没有分区 sdb磁盘分区 fdisk /dev/sdb n 创建一个新分区 选择p添加主分区 我们把所有10GB空间都格式化为一个分区了 。 w 键入w&#xff0c;保存…

Windows安装WinDbg调试工具

一.下载 微软官网下载SDK的地址&#xff0c;有win11&#xff0c;win10&#xff0c;win8&#xff0c;win7&#xff0c;其他 https://developer.microsoft.com/en-us/windows/downloads/sdk-archive/ 二.安装 打开windbg\Installers\X64 Debuggers And Tools-x64_en-us.msi 要安…

如何将R128的lspsram频率提高至200M?

一、修改频率方法 首先通过cboot0命令&#xff0c;跳转到boot0的代码中&#xff0c;路径为&#xff1a; ${root_dir}/lichee/brandy-2.0/spl/ 找到lspsram的代码&#xff0c;路径为&#xff1a; ${root_dir}/lichee/brandy-2.0/spl/drivers/psram 修改头文件&#xff0c;将2…

SQL Server2000mdf升级SQL Server2005数据库还原

SQL Server2000数据库还原sqlserver 2000mdf升级 sqlserver 2008数据库还原SQL Server2005数据库脚本 sqlserver数据库低版本升级成高版本 sqlserver数据库版本升级 数据库版本还原 如果本机安装了sqlserver2012或者sqlserver2019等高版本 怎么样才能运行sqlserver2000的数据库…

开启AWS的ubuntu服务器的root用户登录权限

设置root用户密码 输入以下命令修改root用户密码 sudo passwd root输入以下命令切换到root用户 su root仅允许root用户用密码登录 输入以下命令编辑ssh配置文件 vi /etc/ssh/sshd_config新增以下配置允许root用户登录 PermitRootLogin yes把PasswordAuthentication修改为…