文献学习-37-动态场景中任意形状针的单目 3D 位姿估计:一种高效的视觉学习和几何建模方法

On the Monocular 3D Pose Estimation for Arbitrary Shaped Needle in Dynamic Scenes: An Efficient Visual Learning and Geometry Modeling Approach

Authors: Bin Li,† , Student Member, IEEE, Bo Lu,† , Member, IEEE, Hongbin Lin, Yaxiang Wang, Fangxun Zhong, Member, IEEE, Qi Dou, Member, IEEE and Yun-Hui Liu, Fellow, IEEE

Source: IEEE TRANSACTIONS ON MEDICAL ROBOTICS AND BIONICS

Keywords: Surgical Robotics, Pose Estimation, Geometry Modeling, Vision-based Manipulation

Abstract:

导向图像的针具姿态估计对于机器人自主缝合至关重要,但它面临着重大挑战,因为针具的视觉投影细长,且手术环境动态多变。当前最先进的方法依赖额外的先验信息(如手握姿态、精确的运动学等)来实现亚毫米级别的精度,这限制了它们在不同手术场景中的应用。这篇论文提出了一种新的通用框架,用于单目针具姿态估计:视觉学习网络用于高效的几何特征提取,以及新颖的几何模型用于精确的姿态恢复。

为了精确捕获针具的特征,引入了一种基于形态学的多尺度掩码轮廓融合机制。然后,为针具姿态建立了一个新的状态表示,并开发了一个物理投影模型来推导其与特征之间的关系。还制定了一个抗遮挡目标,以联合优化姿态和推断特征的偏置,从而在遮挡场景下实现亚毫米级别的精度。方法既不需要CAD模型,也不依赖于圆形形状的假设,可以广泛估计其他小型平面轴对称物体的姿态。

在内外活体实验场景中验证了估计的中间特征和针具最终姿态的准确性。进一步将框架部署到dVRK平台上,实现针具的自动精确操作,证明了其在机器人手术中的应用可行性。

图 1. 实时精确的针位姿估计示意图:动态且具有挑战性的手术场景,可以促进真实操作平台中各种针相关操作的机器人辅助自动化,例如 dVRK 系统中的针通过。

自动机器人手术有潜力显著提高手术精度,确保不受外科医生个体因素影响的一致性,并增强相比手动手术的安全性。自主缝合是自动化手术的关键组成部分,包括针具操作,如抓取、插入和交接等。

为了提高机器人缝合的效率和可靠性,过去几十年来,研究人员一直关注针具操作的自动化。在临床共识中,自主缝合的核心部分是实时针具姿态估计,因为它为针穿透组织进行伤口闭合时的后续轨迹规划和动作控制提供指导信息。然而,针具姿态估计通常面临的重大挑战是如何在具有挑战性的手术环境中实现高精度,这直接影响到自主缝合的安全性。例如,手术场景中可能包含镜头污染、反射或其他干扰因素。另外,针具的窄长形状,加上可能被组织或器械遮挡,也会阻碍高精度的估计。

为了高效且准确地提取必要的感知信息,视觉感知模型应该针对针具形状进行定制,防止在未针对针具形状设计的自然视觉方法中(如[8]和[9]中较大的或正常形状的物体)提取不准确的视觉特征。基于视觉特征,姿态求解器需要在缝合过程中准确且可用,因此它应该达到与当前最先进的方法相当的精度,但不需要它们所需的一些先验假设,如手握姿态配置或者准确的运动学信息。这是关键,因为在不被夹持器夹住时,针可以在空间或组织中的任何位置。此外,算法应该对噪声不敏感,以在出现意外噪声时保持姿态估计的鲁棒性。考虑到不同手术中针具的多样性(例如,妇科和整形手术中针的圆形/通用形状),算法应该具有通用性,以适应不同形状的针具,并且易于应用于各种手术程序。因此,开发一种新的针具姿态估计模型,系统地解决上述问题,对于实现机器人辅助自主缝合至关重要。

在本文中,提出了一种系统框架,实现在具有挑战性的手术场景中实时的针具姿态估计,达到当前最先进的性能,而无需依赖先验假设(如手握设置或圆形形状)。为了应对与针具形状相关的视觉感知挑战,提出了一种定制的针具网络(Needle-Net),用于从单目图像中提取针具的几何特征,包括掩码、关键点和检测结果,这些可以端到端地进行训练。为了获得有助于后续精确姿态估计的针具细长细节,首先在多尺度上分别学习粗掩码和精细轮廓,然后利用一种新颖的基于形态学的掩码轮廓融合机制将它们合并成精确的针具掩码。然后,开发了一种基于稀疏点描述符和基于几何的图像平面上的6自由度(DoF)物理模型的新型几何模型,并在几何流形上优化姿态。接着,提出了一个新颖的抗遮挡目标函数,涉及重新投影的点和掩码,随后使用粗到细的非线性优化器求解,实现高效且准确的姿态估计,能够补偿复杂手术场景中细长针具的不准确视觉感知。最后,在自收集的活体临床数据集和脱活体模型数据集上验证了框架,结果表明方法可以实现对中间特征和最终估计针具姿态的精确估计。此外,通过在达芬奇研究套件(dVRK)上进行视觉引导的针具操作评估了框架,证明了它在自动化机器人辅助手术中的可行性。

这是前期工作的全面改进版本,该工作在AccelNet手术机器人挑战赛中排名第一。这是第一个可以在动态遮挡环境中从单目图像中实时准确估计任意形状针具姿态的工作,精度达到亚毫米级别,为机器人手术中的自动针具操作奠定了坚实的基础。主要贡献如下:

1. 提出视觉学习与几何建模的无缝结合,实现高精度的姿态估计。
2. 一个高效的针具网络,用于提取长而窄形针具对象的精确几何特征。
3. 一种新的针具姿态表示状态空间,以及在这个空间上的基于几何的的姿态优化模型。
4. 在活体/脱活体图像和真实机器人部署的广泛实验,展示了姿态精度及其在自动手术中的适用性。

如表I所示,与现有方法进行了比较,并强调了在通用可操作性方面的独特优势:
1. 它可以在动态遮挡的手术场景中运行,提供与当前最先进的方法相当的精度,同时避免了额外的先验假设(如手握姿态或准确的运动学)。
2. 其高效流程(约60fps)和准确性能(@0.85mm/2.75°的误差)使得它适合在手术机器人中部署。

图 2. 所提出的框架由一个多任务 Needle-Net 组成,该网络共享一个特征编码器和用于提取几何基元的不同头,即用于针存在的检测头、用于对象分割的掩模头以及用于关键点定位的关键点头和 能见度。 如果检测到针,则将使用代数几何模型根据先前提取的几何基元以及附加解耦参数(稀疏点先验和相机固有参数)来有效估计新颖的 6-DoF 位姿空间中的 3D 位姿。 否则,如果没有检测到针,则不需要进一步估计。

图3 基于透视投影的3D几何姿态模型。 针是一个具有固定中心轴的弯曲物体,用沿轴的对应点对其进行编码。

A. 框架概述:

该框架由多任务 Needle-Net 和几何 3D 位姿估计组件组成。
Needle-Net 首先确定针是否存在,如果存在,则提取几何基元,如分割掩模、关键点等。
然后,几何姿态估计组件使用这些基元来有效地估计针的 3D 姿态。


B. 检测、分割和几何基元提取子网络:

Needle-Net 使用共享特征编码器和单独的头进行检测、分割和关键点提取。
对于分割,它使用基于形态学的掩模轮廓融合(MCF)机制来精确分割细弯针。
对于关键点,它提取针的起点和终点并对它们的可见性/遮挡进行分类。
它使用结合交叉熵和 Jaccard 损失的混合损失函数来训练分割,并使用关键点的几何原始损失。
为了使框架轻量级以进行实时部署,它使用深度可分离卷积。
总体而言,关键创新在于多任务 Needle-Net 架构、用于精确分割的 MCF 模块以及基于提取的图元构建的几何姿态估计组件。

图 4. 几何示意图对应于基于恒定深度假设的 (a) θinit1 和 (b) θinit2 的初始粗略计算。

图5.存在遮挡时的姿态估计示意图。 优化函数考虑可见区域像素到投影轴点集的最小距离,遮挡部分不影响最小JA对应的位姿极值。

C. 针状物体的 3D 位姿估计

 1. 几何投影模型及表示法: - 针状物体使用沿其曲线中心轴的离散点来表示。 - 使用投影的起点/终点和描述针方向的两个角度(θ1、θ2)定义新颖的 6-DoF 位姿空间。 - 导出方程来计算针在相机框架中的平移和旋转分量。

2. 3D Pose初始化: - 当检测到针时,使用恒定深度假设和提取的关键点来估计初始粗略姿势。 - 初始角度θ_init1和θ_init2根据几何关系计算。

3. 3D姿势的细化: - 制定了抗遮挡目标函数 (JA),以最小化可见掩模区域中的像素与投影的 3D 点之间的距离。 - LM算法用于有效优化6-DoF位姿参数x以最小化JA。

- 对于具有一个闭塞关键点的圆形针,执行附加的局部旋转细化步骤。 - EKF 用于平滑机器人部署过程中的稳定性估计姿势。

关键的创新是新颖的 6-DoF 姿态表示、抗遮挡目标函数以及利用提取的几何基元的从粗到细的姿态估计方法。

实验部分:

A.数据集:
- 作者根据体内子宫切除视频和体外模型模拟操作创建了一个包含 1428 张图像(769 张阳性图像,659 张阴性图像)的新数据集。
- 阳性样本用掩模、开始/结束关键点及其可见性/遮挡进行注释。
- 使用带有 apriltags 的透明亚克力板创建了额外的 20 个案例评估数据集,以获得地面真实 3D 姿势。

B. 实施细节:
- Needle-Net 使用 NVIDIA RTX 3090 GPU 和 Adam 优化器进行训练。
- 对于 3D 位姿估计,根据已知的物理参数或样条拟合对针轴进行均匀采样(200 个点)。
- Levenberg-Marquardt 算法用于姿势优化,并使用 EKF 过滤最终姿势输出。
- 该框架部署在达芬奇研究套件 (dVRK) 平台上,用于自动针操作。

C. 检测、分割和几何特征检测的评估:
- Needle-Net 在测试集上实现了 100% 的检测准确率,优于 VGG16、ResNet18 和 MobileNet18。
- 对于关键点检测,Needle-Net 的平均准确率达到 95%,优于 Keypoint-RCNN 和 DeepLabCut。
- 对于分割,具有所提出的损失和 MCF 模块的 Needle-Net 实现了最佳性能,平均 DSC 为 85.77%,平均 IoU 为 80.72%,优于 U-Net、PSPNet 和 ViT-Adapter。

D. 3D位姿估计评估:
- 定性结果表明该方法可以处理手术场景中的各种遮挡场景、反射和其他具有挑战性的条件。
- 对 20 个案例数据集的定量评估显示,中位位置误差为 1.42 毫米,中位方向误差为 2.16 度。
- 该框架已成功部署在 dVRK 平台上,用于自动针操作任务。

总的来说,实验证明了所提出的多任务 Needle-Net 和 3D 姿态估计框架在具有挑战性的手术场景中的有效性。

图 6. 来自内部子宫切除术和几个体模的带注释的自我收集图像示例。 从上到下逐行依次是原始图像、掩模、起始关键点热图和结束关键点热图。 热图周围的绿色框表示关联的关键点可见,而红色框表示关联的关键点被遮挡

图 7.(a) 根据真实图像数据进行 3D 姿态评估的一般图像。 手动提取不包含 apriltag 的子图像(如左侧未变暗的部分所示)并用作 Needle-Net 输入图像。 apriltag 用于计算 3D 位姿 GT。 (b) 重新投影到原始图像上的估计 3D 姿态。

Reference:

[1] Li, B., Lu, B., Lin, H., Wang, Y., Zhong, F., Dou, Q., & Liu, Y. H. (2024). On the Monocular 3D Pose Estimation for Arbitrary Shaped Needle in Dynamic Scenes: An Efficient Visual Learning and Geometry Modeling Approach. IEEE Transactions on Medical Robotics and Bionics.

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

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

相关文章

使用arthas查看java项目resources目录下面的文件内容

有一次在测试环境想看resources下面的mapper文件内容(代码执行和预期不一致,所以想排查一下是不是打上去的包有问题,没有通过下载jar的方式解压查看),然后想到了使用arthas来弄,这里记录一下怎么个查看法。…

【Textin.com】智能文档处理系列 - 电子文档解析技术全格式解析

一、引言 在当今的数字化时代,电子文档已成为信息存储和交流的基石。从简单的文本文件到复杂的演示文档,各种格式的电子文档承载着丰富的知识与信息,支撑着教育、科研、商业和日常生活的各个方面。随着信息量的爆炸性增长,如何高效…

listpack

目录 为什么有listpack? listpack结构 listpack的节点entry 长度length encoding编码方式 listpack的API 1.创建listpack 2.遍历操作 正向遍历 反向遍历 3.查找元素 4.插入/替换/删除元素 总结 为什么有listpack? ziplist是存储在连续内存空间,节省…

Spring Boot 2.x 将 logback 1.2.x 升级至 1.3.x

场景 安全部门针对代码进行漏洞扫描时,发现 logback-core 和 logback-classic 都属于 1.2.x 版本,这个版本存在 CVE 漏洞,并且建议升级到 1.3.x 版本。 问题 将两个包直接升级到 1.3.x 版本时,Spring Boot Web 服务启动直接出现…

基于Springboot+Vue+mysql仓库管理系统仓库进销存管理系统

博主介绍: 大家好,本人精通Java、Python、C#、C、C编程语言,同时也熟练掌握微信小程序、Php和Android等技术,能够为大家提供全方位的技术支持和交流。 我有丰富的成品Java、Python、C#毕设项目经验,能够为学生提供各类…

nfs服务器详解

nfs(网络文件系统)---------- 其实就是通过网络将文件共享出去。 通过TCP/IP网络去共享资源的。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。 客户端和服务端需要去读写共…

五分钟搞定什么是系统的平均负载

平均负载定义 平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数,和CPU使用率没有直接关系。简单理解就是平均负载其实就是平均活跃进程数。 使用uptime命令查看系统平均负载 在linux中&#xf…

【环境】原则

系列文章目录 【引论一】项目管理的意义 【引论二】项目管理的逻辑 【环境】概述 【环境】原则 一、培养项目系统性思维 1.1 系统性思维 1.2 系统性思维的价值 1.3 建模和推演&数字孪生 二、项目的复杂性和如何驾驭复杂性 2.1 复杂性的三个维度 2.2 如何驾驭复杂性 三、…

Qt实现XYModem协议(一)

1 概述 Kermit文件运输协议提供了一条从大型计算机下载文件到微机的途径。它已被用于进行公用数据传输。 其特性如下: Kermit文件运输协议是一个半双工的通信协议。它支持7位ASCII字符。数据以可多达96字节长度的可变长度的分组形式传输。对每个被传送分组需要一个确认。Kerm…

如何利用纯前端技术,实现一个网页版视频编辑器?

纯网页版视频编辑器 一、前言二、功能实现三、所需技术四、部分功能实现4.1 素材预设4.2 多轨道剪辑 一、前言 介绍:本篇文章打算利用纯前端的技术,来实现一个网页版的视频编辑器。为什么突然想做一个这么项目来呢,主要是最近一直在利用手机…

KITTI结果领先地位!Progressive LiDAR Adaptation for Road Detection——PLARD算法

描述 详解一篇基于激光视觉融合的道路检测文章,发表在2019年自动化学报英文版(我所主编的业界顶刊)中,第三作者是陶大程,业界大佬,可自行进行百度。 为什么选择这篇文章进行分析呢。查看KITTI数据集的分数…

分布式数据库Polardb-X架构及特点

PolarDB-X架构 计算节点(Compute Node,CN)是系统的入口,采用无状态设计的sql引擎提供分布式路由和计算,包括SQL解析器、优化器、执行器等模块。负责数据分布式路由、计算及动态调度,负责分布式事务2PC协调…

CFDPro雾化仿真 | 专为雾化过程与液滴属性研究设计的仿真模块

雾化是一种将液体转化为微小液滴的技术,通过不同的雾化方法实现液体的高效分散、蒸发、燃烧、吸附或沉积等目的。 雾化仿真在多个工业领域中具有极其重要的地位。无论是内燃机中燃油的高效燃烧,还是化工生产中的喷雾干燥,以及农业喷雾中农药…

[linux]进程控制——进程终止

一、main函数的返回值 我们在编写C语言的程序时,通常会这样写: int main() {return 0; } 那么我们为什么要返回(return)0 呢? 其实,main函数也是一个函数,它也会被调用,所以谁调…

【力扣 Hot100 | 第四天】4.15(括号生成)

文章目录 4.括号生成4.1题目4.2解法:回溯4.2.1回溯思路(1)函数返回值以及参数(2)终止条件(3)遍历过程 4.2.2代码 4.括号生成 4.1题目 数字 n 代表生成括号的对数,请你设计一个函数…

计算机笔记(11)续20个

180.时钟频率2.0GHz表示一秒有2*10的9次方个时钟周期,若执行一条指令需要2个时钟周期,则每秒执行的指令数为2*10的9次方/21*10的9次方 181.同轴电缆粗缆采用AUI头作为连接器件 182. 183.win7中的回收站,存放的是硬盘上被删除的…

C语言:文件操作(三)

目录 前言 5、文章的随机读写 5.1 fseek 5.2 ftell 5.3 rewind 结语 前言 本篇文章继续讲解文件操作,讲解文件的随机读写,主要有三个函数:fseek;ftell;rewind。 前面讲解的函数都是对文件内容进行顺序读写&#x…

MySQL 8.0.19安装教程(windows 64位)

在c盘目录下的Program Files目录下创建MySQL目录,将下载好的mysql解压到里面 解压完是这个样子 配置初始化的my.ini文件的文件 [mysqld] # 设置3306端口 port3306 # 设置mysql的安装目录 basedirC:\Program Files\MySQL # 设置mysql数据库的数据的存放目录 datad…

Trl SFT: llama2-7b-hf使用QLora 4bit量化后ds zero3加上flash atten v2单机多卡训练(笔记)

目录 一、环境 1.1、环境安装 1.2、安装flash atten 二、代码 2.1、bash脚本 2.2、utils.py 注释与优化 2.3、train.py 注释与优化 2.4、模型/参数相关 2.4.1、量化后的模型 2.4.1.1 量化后模型结构 2.4.1.2 量化后模型layers 2.4.2、参数 2.4.2.1 training args 2.4.2.2 pe…

【随笔】Git 基础篇 -- 拉取数据 git pull(二十八)

💌 所属专栏:【Git】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! 💖 欢迎大…