面向微创手术空间感知的内窥镜图像三维重构方法和系统

文档序号:25044476发布日期:2021-05-14 11:46阅读:111来源:国知局
面向微创手术空间感知的内窥镜图像三维重构方法和系统

1.本发明涉及三维重构技术领域,具体涉及一种面向微创手术空间感知的内窥镜图像三维重构方法和系统。


背景技术:

2.微创手术,是指利用内窥镜等现代医疗器械及相关设备进行的手术。在过去的十年里,微创手术以创口小、疼痛轻、出血少、恢复快等优势,成为普外、泌尿、脑外、心外等多个科室的重要诊疗手段。
3.在微创手术中,由于内窥镜视场角的限制,医生难以获得全面的体内环境信息。此外,术前和术中器官位移,术中手术操作可能导致解剖学特征缺失,给术中病灶点定位、缝合、切割等操作带来挑战,降低手术精度。体内模型三维重构可以解决上述问题,辅助微创手术的开展。
4.现有的基于深度学习的内窥镜图像三维重构方法仅能估计当前内窥镜图像的景深信息,无法重构并动态更新整体三维模型。


技术实现要素:

5.(一)解决的技术问题
6.针对现有技术的不足,本发明提供了一种面向微创手术空间感知的内窥镜图像三维重构方法和系统,解决了现有的方法无法重构并动态更新整体三维模型的技术问题。
7.(二)技术方案
8.为实现以上目的,本发明通过以下技术方案予以实现:
9.本发明提供了一种面向微创手术空间感知的内窥镜图像三维重构方法,所述方法包括:
10.s1、获取内窥镜图像;
11.s2、基于预设的多任务神经网络模型对内窥镜图像的当前帧进行深度估计,获取当前帧的点云深度;
12.s3、基于所述点云深度和相机模型获取局部点云;
13.s4、对多个局部点云进行配准融合;
14.s5、对配准融合后的多个局部点云进行拼接,形成随着时间推移柔性变换的全局点云,对全局点云进行可视化展示。
15.优选的,所述预设的多任务神经网络模型包括:三类卷积块和全局池化层,所述三类卷积块包括卷积块一、卷积块二和卷积块三,所述多任务神经网络模型处理内窥镜图像的过程包括:
16.通过两个卷积块一对两帧内窥镜图像提取内窥镜图像的特征图,得到第一特征图和第二特征图,两个卷积块一之间的网络参数权值共享;
17.对所述第一特征图和第二特征图进行拼接,通过所述卷积块二对拼接后的特征图
进行特征提取,得到帧间运动向量估计特征;
18.通过所述全局池化层对帧间运动向量估计特征进行池化处理,得到两帧内窥镜图像之间的相机运动向量;
19.通过所述卷积块三对拼接后的特征图进行调整特征提取,得到深度信息特征;第二特征图与深度信息特征跳层连接,输出适用于第二张内窥镜图像的多尺度视差图。
20.优选的,所述预设的多任务神经网络模型的训练过程包括:
21.获取内窥镜图像并进行处理;
22.将处理后的内窥镜图像输入到初始神经网络模型,采用自监督的方式对初始神经网络模型进行训练,得到多任务神经网络模型;
23.其中,训练过程中的损失函数包括:
24.相机帧间运动估计损失:
[0025][0026]
其中,表示神经网络模型预设的相机平移向量;表示神经网络模型预设的相机旋转向量;δ1和δ2分别为适用于平移向量和旋转向量的huber函数的参数;
[0027]
其中,huber函数计算如下:
[0028][0029]
其中,y和表示需要进行比较的两个数;
[0030]
图像还原损失,包括像素误差损失和相似性误差损失,具体为:
[0031]
像素误差损失:
[0032][0033]
其中:m和n分别表示图像的像素宽和高的值;i(i,j)表示第二张图在坐标(i,j)下的真实像素值;表示通过算法重建的第二张图在坐标(i,j)的像素值;θ为代表像素误差的huber函数参数;
[0034]
相似性误差损失:
[0035][0036]
其中:sim表示图像相似性评估函数,其值位于0~1之间;i表示真实的第二张图;表示通过算法重建的第二张图;
[0037]
深度平滑误差损失:
[0038][0039]
其中:d(i,j)表示在坐标(i,j)处,所估计的第二张图的深度的倒数;
[0040]
总的损失函数为损失函数的加权和,各部分的权重分配通过神经网络超参数学习获得。
[0041]
优选的,所述s3包括:
[0042]
根据相机外参对内窥镜图像进行畸变校正,对于非畸变图像像素坐标(u v),其像素值还原步骤包括:
[0043]
对于非畸变图像的归一化平面,有:
[0044][0045]
其中,(x

y

)表示非畸变图像像素坐标(u v)在归一化平面上对应的坐标;
[0046]
坐标经畸变后,在归一化平面上的坐标为(x
″ꢀ
y

),有:
[0047][0048]
其中,r2=x
′2+y
′2[0049]
畸变后的归一化平面坐标经过投影到像素平面上,得到像素坐标为:
[0050][0051]
因此非畸变图像坐标(u v)的像素值即为畸变图像坐标(u
d v
d
)所对应的像素值;而u
d
和v
d
通常为非整数,可以根据双线性插值法求得(u
d v
d
)所对应的像素值;
[0052]
双线性插值法如下:
[0053]
若u
d
和v
d
均为非整数,则取u1<u
d
<u1+1,v1<v
d
<v1+1;若u1和v1均为整数,则有:
[0054]
i(u
d
,v
d
)=(v1+1

v
d
)i(u
d
,v1)+(v
d

v1)i(u
d
,v1+1)
[0055]
其中,
[0056]
i(u
d
,v1)=(u1+1

u
d
)i(u1,v1)+(u
d

u1)i(u1+1,v1)
[0057]
i(u
d
,v1+1)=(u1+1

u
d
)i(u1,v1+1)+(u
d

u1)i(u1+1,v1+1);
[0058]
根据像素值还原后的坐标和相机模型求解点云的x和y,具体为:
[0059]
x=z(u

c
x
)/f
x
[0060]
y=z(v

c
y
)/f
y
[0061]
根据点云的x和y,将步骤s2中的点云深度作为z,得到在当前帧所对应的内窥镜相机坐标系下的局部点云。
[0062]
优选的,所述s4包括:
[0063]
若内窥镜是由机器人扶持,获得每一帧图像所对应的相机位姿,通过位姿转换获
得内窥镜相机帧间运动信息;
[0064]
将帧间运动信息作为点云配准的初始值,采用相干点漂移算法对多个局部点云进行配准融合。
[0065]
优选的,所述s4还包括:
[0066]
若内窥镜不是由机器人扶持,通过多任务神经网络模型获得帧间运动信息;
[0067]
将帧间运动信息作为点云配准的初始值,采用相干点漂移算法对多个局部点云进行配准融合。
[0068]
优选的,所述s5包括:
[0069]
采用动态更新机制对配准融合后的多个局部点云进行拼接,形成随着时间推移柔性变换的全局点云,采用三维数据处理库对全局点云进行可视化展示。
[0070]
本发明还提供一种面向微创手术空间感知的内窥镜图像三维重构系统,其特征在于,包括:
[0071]
获取模块,用于获取内窥镜图像;
[0072]
深度估计模块,用于基于预设的多任务神经网络模型对内窥镜图像的当前帧进行深度估计,获取当前帧的点云深度;
[0073]
局部点云获取模块,用于基于点云深度和相机模型获取局部点云;
[0074]
配准融合模块,用于对多个局部点云进行配准融合;
[0075]
全局点云生成模块,用于对配准融合后的多个局部点云进行拼接,形成随着时间推移柔性变换的全局点云,对全局点云进行可视化展示。
[0076]
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行权利要求1~7任一项所述的方法。
[0077]
本发明还提供一种电子设备,所述电子设备包括处理器以及存储器:
[0078]
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
[0079]
所述处理器用于根据所述程序代码中的指令执行权利要求1~7任一项所述的方法。
[0080]
(三)有益效果
[0081]
本发明提供了一种面向微创手术空间感知的内窥镜图像三维重构方法和系统。与现有技术相比,具备以下有益效果:
[0082]
本发明通过获取内窥镜图像,基于预设的多任务神经网络模型对内窥镜图像的当前帧进行深度估计,获取当前帧的点云深度;基于点云深度和相机模型获取局部点云;对多个局部点云进行配准融合;对配准融合后的多个局部点云进行拼接,形成随着时间推移柔性变换的全局点云,对全局点云进行可视化展示。本发明克服了现有的基于深度学习的内窥镜图像三维重构方法仅能估计当前内窥镜图像的景深信息,无法重构并动态更新整体三维模型的技术问题,实现面向微创手术空间感知的内窥镜图像三维重构。
附图说明
[0083]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他的附图。
[0084]
图1为本发明实施例一种面向微创手术空间感知的内窥镜图像三维重构方法的框图;
[0085]
图2为本发明实施例中多任务神经网络模型的结构图。
具体实施方式
[0086]
为使本发明实施例的目的、技术方案和优点更加清楚,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0087]
本申请实施例通过提供一种面向微创手术空间感知的内窥镜图像三维重构方法和系统,解决了现有的方法无法重构并动态更新整体三维模型的技术问题,实现面向微创手术空间感知的内窥镜图像三维重构。
[0088]
本申请实施例中的技术方案为解决上述技术问题,总体思路如下:
[0089]
内窥镜图像三维重构可以辅助微创手术的开展,给主刀医生带来更好的感知体验,提高手术精度。现有的基于深度学习的内窥镜图像三维重构方法仅限于单张图像的三维重构(深度估计),较少涉及全局三维重构。全局三维重构模型大部分的研究集中于与术前ct/mri三维模型进行非刚性配准,当没有术前三维模型时,该方法失效。为解决上述问题,提出了本发明实施例的方法,克服现有的基于深度学习的内窥镜图像三维重构系统仅能估计当前内窥镜图像的景深信息,无法重构并动态更新整体三维模型的现状,同时本发明实施例无需术前ct/mri图像的支持,实现内窥镜图像的无监督实时动态全局三维重构。
[0090]
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
[0091]
本发明实施例提供了一种面向微创手术空间感知的内窥镜图像三维重构方法,该方法包括步骤s1~s5:
[0092]
s1、获取内窥镜图像;
[0093]
s2、基于预设的多任务神经网络模型对内窥镜图像的当前帧进行深度估计,获取当前帧的点云深度;
[0094]
s3、基于点云深度和相机模型获取局部点云;
[0095]
s4、对多个局部点云进行配准融合;
[0096]
s5、对配准融合后的多个局部点云进行拼接,形成随着时间推移柔性变换的全局点云,对全局点云进行可视化展示。
[0097]
本发明实施例克服了现有的基于深度学习的内窥镜图像三维重构方法仅能估计当前内窥镜图像的景深信息,无法重构并动态更新整体三维模型的技术问题,实现面向微创手术空间感知的内窥镜图像三维重构。
[0098]
下面对各个步骤进行详细说明:
[0099]
在步骤s1中,获取内窥镜图像。具体实施过程如下:
[0100]
采用opencv和棋盘格对内窥镜参数进行标定,得到内窥镜相机内参f
x
,f
y
,c
x
,c
y
和外参k1,k2,k3,p1,p2。其中k1,k2,k3为径向畸变参数,p1和p2为切向畸变参数。
[0101]
利用标定好的内窥镜对软组织图像进行拍摄,采用opencv获取内窥镜图像,并修改内窥镜图像的分辨率使其满足多任务神经网络模型输入。
[0102]
在步骤s2中,基于预设的多任务神经网络模型对内窥镜图像的当前帧进行深度估计,获取当前帧的点云深度。具体实施过程如下:
[0103]
在本发明实施例中,预设的多任务神经网络模型的构建过程包括:
[0104]
a1、获取内窥镜图像并进行处理,包括:
[0105]
采用opencv和棋盘格对内窥镜参数进行标定,得到内窥镜相机内参f
x
,f
y
,c
x
,c
y
和外参k1,k2,k3,p1,p2。其中k1,k2,k3为径向畸变参数,p1和p2为切向畸变参数。
[0106]
利用机器人扶持标定好的内窥镜对软组织图像进行拍摄,采用opencv获取内窥镜图像,并修改内窥镜图像的分辨率使其满足模型输入。在获取内窥镜图像时,同时根据机器人正运动学建模求解每一帧图像对应的相机位姿。通过计算可求得每两帧内窥镜图像之间的位姿转换关系。
[0107]
正向运动学建模是指采用机器人的运动方程,根据机器人各关节的相关状态参数求解末端执行器的位姿,然后通过末端执行器到内窥镜相机位姿转换,最终求得内窥镜相机位姿。常用的正向运动学求解方法有d

h参数法。该过程为本领域人员的公知常识,此处不再赘述。
[0108]
a2、将处理后的内窥镜图像输入到初始神经网络模型,对初始神经网络模型进行训练,得到多任务神经网络模型。具体为:
[0109]
初始神经网络模型的输入为任意两帧具有较多匹配点的内窥镜图像,输出为相机位姿转换向量这两帧内窥镜图像之间的相机位姿转换向量,包括旋转(r
x r
y r
z
)和平移(t
x t
y t
z
),和后面那帧图像各像素的深度信息的倒数组成的矩阵。
[0110]
该多任务神经网络模型的结构如图2所示,包括:三类卷积块层和一层全局池化层,其中卷积块代表一系列由卷积层组成的块。
[0111]
两帧内窥镜图像分别由两个卷积块一提取内窥镜图像的特征图,卷积块一之间的网络参数权值共享,所获得的特征图拼接之后再通过卷积块二进行适用于帧间运动向量估计的特征提取,得到帧间运动向量估计特征,然后通过全局池化层得到这两帧内窥镜图像之间的相机运动向量;与此同时,经拼接的特征图会经过卷积块三进行适用于求解第二张内窥镜图像深度信息的特征提取,得到深度信息特征,第二张内窥镜图像经过卷积块一操作时所输出的多尺度特征图会与卷积块三操作所生成的深度信息特征跳层连接,最终输出适用于第二张内窥镜图像的多尺度视差图(即深度的倒数构成的矩阵)。
[0112]
在训练过程中,首先对相机帧间运动估计这一分支的网络模型进行训练,结束后固定公共部分的权值,进一步训练深度估计部分的网络权值。这么做的好处是可以保证在尺度不统一的情况下,模型能够达到较好的效果。
[0113]
在模型的训练过程中,采用自监督的方式进行训练。损失函数如下:
[0114]
相机帧间运动估计损失:
[0115]
[0116]
其中,表示神经网络模型预设的相机平移向量;表示神经网络模型预设的相机旋转向量;δ1和δ2分别为适用于平移向量和旋转向量的huber函数的参数;
[0117]
其中,huber函数计算如下:
[0118][0119]
其中,y和表示需要进行比较的两个数。
[0120]
图像还原损失,包括像素误差损失和相似性误差损失,具体为:
[0121]
像素误差损失:
[0122][0123]
其中:m和n分别表示图像的像素宽和高的值。i(i,j)表示第二张图在坐标(i,j)下的真实像素值,表示通过算法重建的第二张图在坐标(i,j)的像素值,θ为代表像素误差的huber函数参数。
[0124]
相似性误差损失:
[0125][0126]
其中:sim表示图像相似性评估函数,可采用ssim,psnr等,其值位于0

1之间。i表示真实的第二张图,表示通过算法重建的第二张图。
[0127]
深度平滑误差损失:
[0128][0129]
其中:d(i,j)表示在坐标(i,j)处,所估计的第二张图的深度的倒数。
[0130]
最后总的损失函数为上述损失函数的加权和。各部分的权重分配通过神经网络超参数学习获得。
[0131]
需要说明的是,模型训练好后,可反复多次运用,无需重复训练。
[0132]
在实际使用过程中,也可收集使用过程中的内窥镜图像数据,定期对模型进行更新,保证模型的精度。
[0133]
采用训练好的多任务神经网络模型以时间窗为m帧,m通常取3,对当前帧进行深度估计。(即:假设当前帧为i,则采用i

3,i

2,i

1这三帧分别与第i帧组合进入神经网络模型来求取第i帧的深度,最后求取平均值作为第i帧的深度。)
[0134]
在步骤s3中,基于点云深度和相机模型获取局部点云。具体实施过程如下:
[0135]
首先根据相机外参对内窥镜图像进行畸变校正。对于非畸变图像像素坐标(u v),
其像素值还原步骤如下:
[0136]
对于非畸变图像的归一化平面,有:
[0137][0138]
其中,(x

y

)表示非畸变图像像素坐标(u v)在归一化平面上对应的坐标。
[0139]
而该坐标经畸变后,在归一化平面上的坐标为(x
″ꢀ
y

),有:
[0140][0141]
其中,r2=x
′2+y
′2。
[0142]
该畸变后的归一化平面坐标经过投影到像素平面上,得到像素坐标为:
[0143][0144]
故非畸变图像坐标(u v)的像素值即为畸变图像坐标(u
d v
d
)所对应的像素值。而u
d
和v
d
通常为非整数,此时可以根据双线性插值法求得(u
d v
d
)所对应的像素值。
[0145]
双线性插值法如下:
[0146]
若u
d
和v
d
均为非整数。则取u1<u
d
<u1+1,v1<v
d
<v1+1.u1和v1均为整数。则有:
[0147]
i(u
d
,v
d
)=(v1+1

v
d
)i(u
d
,v1)+(v
d

v1)i(u
d
,v1+1)
[0148]
其中,
[0149]
i(u
d
,v1)=(u1+1

u
d
)i(u1,v1)+(u
d

u1)i(u1+1,v1)
[0150]
i(u
d
,v1+1)=(u1+1

u
d
)i(u1,v1+1)+(u
d

u1)i(u1+1,v1+1)
[0151]
然后根据相机模型求解点云的x和y;
[0152]
求解公式如下:
[0153]
x=z(u

c
x
)/f
x
[0154]
y=z(v

c
y
)/f
y
[0155]
根据点云的x和y,将步骤s2中的深度作为z。得到在当前帧所对应的内窥镜相机坐标系下的局部点云。
[0156]
在步骤s4中,对多个局部点云进行配准融合。具体实施过程如下:
[0157]
在具体实施过程中,在执行配准融合前,还需对局部点云进行滤波处理,在本发明实施例中,采用滤波算法对局部点云的离群点和噪声数据进行过滤。
[0158]
配准融合分为两种情况:
[0159]
情况一、内窥镜是由机器人扶持,获得每一帧图像所对应的相机位姿,通过位姿转换获得内窥镜相机帧间运动信息。
[0160]
情况二、内窥镜不是由机器人扶持,通过多任务神经网络模型获得帧间运动信息。
[0161]
将帧间运动信息作为点云配准的初始值,然后采用适用于柔性点云配准的相干点漂移算法对多个局部点云进行配准融合。
[0162]
在步骤s5中,对配准融合后的多个局部点云进行拼接,形成随着时间推移柔性变
换的全局点云,对全局点云进行可视化展示。具体实施过程如下:
[0163]
采用动态更新机制对点云进行拼接,形成随着时间推移柔性变换的全局点云采用pcl,open3d,chai3d等库对全局点云进行可视化展示。
[0164]
基于同一发明构思,本发明实施例还提供一种面向微创手术空间感知的内窥镜图像三维重构系统,包括:
[0165]
获取模块,用于获取内窥镜图像;
[0166]
深度估计模块,用于基于预设的多任务神经网络模型对内窥镜图像的当前帧进行深度估计,获取当前帧的点云深度;
[0167]
局部点云获取模块,用于基于点云深度和相机模型获取局部点云;
[0168]
配准融合模块,用于对多个局部点云进行配准融合;
[0169]
全局点云生成模块,用于对配准融合后的多个局部点云进行拼接,形成随着时间推移柔性变换的全局点云,对全局点云进行可视化展示。
[0170]
可理解的是,本发明实施例提供的面向微创手术空间感知的内窥镜图像三维重构系统与本发明提供的面向微创手术空间感知的内窥镜图像三维重构方法相对应,其有关内容的解释、举例和有益效果等部分可以参考面向微创手术空间感知的内窥镜图像三维重构方法中的相应部分,此处不再赘述。
[0171]
基于同一发明构思,本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质用于存储程序代码,该程序代码用于执行上述面向微创手术空间感知的内窥镜图像三维重构方法。
[0172]
基于同一发明构思,本发明实施例还提供了一种电子设备,该电子设备包括处理器以及存储器:
[0173]
该存储器用于存储程序代码,并将该程序代码传输给该处理器;
[0174]
该处理器用于根据该程序代码中的指令执行上述面向微创手术空间感知的内窥镜图像三维重构方法。
[0175]
综上所述,与现有技术相比,具备以下有益效果:
[0176]
1、本发明实施例克服现有的基于深度学习的内窥镜图像三维重构方法仅能估计当前内窥镜图像的景深信息,无法重构并动态更新整体三维模型的现状,实现面向微创手术空间感知的内窥镜图像三维重构。
[0177]
2、本发明实施例的多任务神经网络模型的训练数据只需要机器人扶持内窥镜获取内窥镜图像数据,和相机位姿数据,无需深度信息。数据容易获得,适用性强。
[0178]
3、本发明实施例设计多任务神经网络模型,一个网络模型就可还原景深信息和相机帧间运动信息。
[0179]
4、本发明实施例能实现无监督实时动态全局三维重构,无需术前ct/mri图像的支持。
[0180]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备
所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0181]
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1