一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种用于腹腔镜微创手术的器械视觉跟踪方法与流程

2021-10-24 06:34:00 来源:中国专利 TAG:微创 腹腔镜 跟踪 手术 用于


1.本发明涉及腹腔镜微创手术技术领域,特别涉及一种用于腹腔镜微创手术的器械视觉跟踪方法。


背景技术:

2.微创手术(mis)是一种最新的外科技术,手术过程中医生不再直接对病人病灶进行操作,通过插入患者腹腔的仪器来进行手术,同时将腹腔镜捕获的视频流投影至显示器上观察术中过程。相对传统开放手术,腹腔镜微创手术创口小恢复快,术后护理简单,是目前胸腹腔内术的发展趋势,但这种间接操作会使医生丧失手术器械及病灶区域的深度感知信息,执行这些手术对外科医生来说仍然是非常具有挑战性的。
3.腹腔镜微创手术是在腹腔镜视野下,确定并获得手术器械与目标物体或预处理区域的相对位姿,然后手术机器人在医生引导下完成相应的手术器械姿态调整和术中处理。
4.这种手术的主要的挑战在于如何补偿二维腹腔镜下手术器械深度感知的丧失。传统的腹腔镜无法获得手术器械的深度和方向感知信息,往往依赖于医生的临床经验,导致手术效率低下并伴有高频术后并发症发生。目前较为先进的手术机器人系统配备有三维腹腔镜和3d眼镜,三维腹腔镜具有更好的深度感知和解剖细节识别能力,但整体图像质量较差,另一个缺点是缺乏足够的可行性分析和临床数据验证,而高清二维腹腔镜在临床上更具可行性和可信性,此外三维腹腔镜在灵活性方面表现较差,尤其是在角度转换方面。因此二维腹腔镜深度感知丧失是亟待解决的问题。
5.这种手术的第二个挑战在于如何获得手术器械与目标物体间的相对位姿和对手术器械的实时定位,实现对手术器械的实时定位跟踪和导航至关重要。在传统的腹腔镜微创手术中,对手术器械的定位有超声、电磁、光学定位等方法,例如,专利cn201910908481.9提出一种光磁融合的手术导航方法,采用电磁定位和光学定位相结合的方法对手术进行定位导航,但是电磁定位容易受磁场影响,对手术环境要求较高,光学定位仪需要在手术器械上附着标记,这意味着标准和普通手术器械都需要修改,此外,腹腔镜手术空间狭窄会对标记有一定的遮挡,无法实时定位器械,容易造成局部特征丢失出现跟踪失败的情况。
6.手术的第三个挑战在于如何实现对手术器械的实时视觉跟踪,在临床手术中手术器械的实时视觉跟踪有助于场景和手术阶段分析以及术中监测,手术器械跟踪延迟或跟踪丢失容易使医生偏离理想的路径或轨迹规划,从而影响术后效果评价甚至导致术后并发症的增加。


技术实现要素:

7.本发明的目的是提供一种用于腹腔镜微创手术的器械视觉跟踪方法,用以至少解决现有腹腔镜微创手术中对手术器械与目标区域的深度、方向和相对位姿感知误差过大,以及对手术器械的检测效率不高、定位精度不够和实时跟踪延迟不可靠等一个或多个问题。
8.为了实现上述任务,本发明采用以下技术方案:
9.一种用于腹腔镜微创手术的器械视觉跟踪方法,包括以下步骤:
10.对获取的腹腔镜手术视频流进行逐帧处理,以进行手术器械所在的目标区域分割,得到包含目标区域的灰度图像;对所述灰度图像进行图像增强预处理,包括对所述灰度图像进行空间滤波,然后将滤波后的图像转换为二值图像进行自适应阈值处理,得到包含目标区域的二值图像,之后对其进行欧氏距离变换,得到距离图像;基于距离图像,确定手术机械轴部分和末端执行器部分中最大像素值的点,用以确定目标跟踪点的位置;
11.其中,对于距离图像中各连通区域灰度级最大点的数组,将腹腔镜轴部分中最大像素值的点记为点m,末端执行器部分中最大像素值的点记为点n,连接点 m和点n的线l为手术器械手术部分的轴线;在轴线l上,如果一个点位于轴部分,并且它的下一个点位于末端执行器部分,那么就把该点作为目标跟踪点s,最后输出目标跟踪点s的像素坐标信息;
12.对腹腔镜相机进行标定,利用标定后获得的内参与外参矩阵,计算每一帧图像中所述目标跟踪点在世界坐标系中的x轴、y轴坐标;利用基于深度学习的单目视觉深度估计方法,获取所述目标跟踪点在图像中的深度信息,从而得到目标跟踪点在世界坐标系中的z轴坐标,这样就得到了目标跟踪点在世界坐标系中的完整坐标;其中,单目视觉深度估计方法通过建立预测模型进行深度信息的提取,预测模型包括特征提取网络和融合预测网络;所述特征提取网络利用低层次网络获取图像局部的特征,利用高层次网络获取图像的语义特征;特征提取网络包括网络层级依次增大的第一至第五编码器,每个编码器均包括依次连接的多个卷积层,并在卷积层最后连接一个最大池化层;融合预测网络包括依次连接的跳转层、批归一化层和反卷积层;从特征提取网络的最高层,即第五编码器的最大池化层输出的特征图像开始,该特征图经过融合预测网络的跳转层、批归一化层和反卷积层处理后,与前一个编码器输出的特征在一个跳转层进行融合,融合后的特征图再经过融合预测网络处理后,再与更前一个编码器输出的特征图在一个跳转层进行融合,最终通过一个卷积层后输出深度图像;
13.对目标跟踪点进行初始化,目标跟踪点在视频流第一帧中的位置是跟踪任务的初始化位置,视频流的下一帧当作目标提取和目标跟踪点定位的输入;逐帧定位目标跟踪点,首先针对于目标区域引入椭圆掩模来获得处理区域,利用上一帧目标区域的边缘,通过最小二乘法拟合一个椭圆;接下来,在保持椭圆处于同一个中心的前提下,通过缩放椭圆来生成当前帧的椭圆掩膜;最后,利用椭圆掩模,得到当前帧的目标区域;
14.获取到当前帧的目标区域后,如果目标区域不满足预设条件,则认为当前帧处理失败,从下一帧进行初始化后重新处理;
15.在找到目标区域后,在图像中使用最小二乘误差方法将椭圆拟合到其边缘;将目标跟踪点作为椭圆掩膜中心点,同时目标跟踪点在世界坐标系中的三维坐标将用于指导手术机器人;当前帧的掩膜椭圆也将用于生成下一帧的掩膜。
16.进一步地,所述方法还包括:
17.采用多线程并行处理方法,第一个线程从腹腔镜获取帧并开始执行器械跟踪程序:获取到图像后,确定目标跟踪点的像素坐标信息以及目标跟踪点的三维坐标数据,以此确定目标跟踪点后,第一个线程将其三维坐标数据发送到第二个线程并开始处理下一帧;第二个线程通过从第一个线程接收目标跟踪点的三维坐标数据和从第三个线程接收机器
人关节的位置数据来启动,根据此信息,第二个线程生成路径并将对应的运动命令发送到机器人的执行器;
18.最后,第三个线程不断从机器人位置传感器收集位置数据,并使变量保持最新以供第二个线程使用;在下一帧中检测到目标跟踪点后,第一个线程立即尝试再次启动第二个线程;但是,如果上一个路径生成的过程还没有完成,则新的过程不会启动,第一个线程继续下一帧。
19.进一步地,采用轻量级网络linknet作为分割模型,以进行视频流中每帧图像的分割与目标区域提取;所述分割模型在开放数据集上进行训练,使用 resnet18作为编码器;为了训练分割模型,用交叉熵损失和jaccard两个损失函数评估linknet网络的输出并指导反向传播,其中,损失函数的表达式为:
20.f=αe

(1

α)ln j
21.其中α是一个权重参数,取值从0到1;
[0022][0023][0024]
其中n表示腹腔镜图像中的像素总数,p
i
表示第i个像素属于目标区域的预测概率,q
i
表示第i个像素的真实值。
[0025]
进一步地,所述椭圆的定义如下:
[0026]
ax2 bxy cy2 dx ey f=0
[0027]
min||m
t
x||2=m
t
xx
t
m
[0028]
其中,m=[a,b,c,d,e,f]
t
表示拟合椭圆的参数矩阵,x=[u2,uv,v2,u,v ,1]
t
表示拟合椭圆的输入矩阵,x=p={(u,v)∣(u1,v1),(u2,v2),

,(u
n
,v
n
)}表示像素点集,包含目标区域边缘的所有像素点,n表示像素点集中像素点的个数。
[0029]
进一步地,所述预设条件为:
[0030]
目标区域的面积大于最小限度,其中最小限度为所述二值图像的5%;
[0031]
目标区域的尾端边界与原始帧图像的边界有所重合;
[0032]
如果其中任何一个条件不满足,则认为当前图像帧处理失败。
[0033]
与现有技术相比,本发明具有以下技术特点:
[0034]
1.本发明对腹腔镜视频逐帧处理,采用基于深度学习的轻量级网络linknet 在保证高准确度的前提下对每帧图像进行实时分割,快速准确的提取到含有手术器械的目标区域,并且通过术前模型训练可以将分割准确率提升到行业领先水平。
[0035]
2.本发明在图像分割阶段采用深度学习的方法,在模型训练阶段融合交叉熵损失和jaccard两个损失函数评估linknet网络的输出并指导反向传播,极大降低误差与输出延迟,并能进一步提高分割准确率,效率远远高于传统视觉分割。
[0036]
3.得到分割图像后的自适应阈值处理和欧氏距离转换等一系列图像增强步骤,为目标区域分割与对象提取提供了最为热门的研究方法,可以获得关于含有手术器械的目标区域所有像素点信息。
[0037]
4.目标跟踪点的确定对手术器械的无标记实时视觉追踪的精准度与成功率、手术轨迹的规划,以及对手术动作指导与分析都是至关重要的,我们使用末端执行器和轴部分
的两个中心点的连接线来确定目标跟踪点,本发明所确定的目标跟踪点位置是目前腹腔镜微创手术中极具创新性的方法。
[0038]
5.本发明采用单目相机标定确定了腹腔镜相机的内参和外参系数,并且给出了2d

3d坐标转换公式,可以计算目标区域所有像素点的x和y轴数值。
[0039]
6.二维腹腔镜视觉下手术器械深度感知丧失的问题是目前临床应用中亟待解决的问题,本发明提出基于深度学习的单目视觉深度估计方法,构建了基于全卷积神经网络(fcn)的多特征融合网络架构模型,是目前解决深度感知丧失问题的优胜方案,也是本发明核心优势所在。
[0040]
7.本发明提供了深度感知估计评价指标,为手术效果评价与分析提供理论与数值依据。
[0041]
8.使用最小二乘法拟合一个椭圆掩码来逐帧定位目标跟踪点,能够保证手术器械的精准定位与目标跟踪点的实时捕捉,并且能够极大减少计算量,提高系统流畅度。
[0042]
9.本发明的跟踪程序实行采用多线程并行处理方法,加快处理速度并实现实时操作,降低系统延迟。
附图说明
[0043]
图1为linknet网络结构示意图;
[0044]
图2为目标像素点分类示意图,左边为内部点,右边为孤立点;
[0045]
图3为手术器械末端执行器、轴和手持部分的示意图;
[0046]
图4为2d

3d坐标转换过程示意图;
[0047]
图5为多特征融合网络架构示意图;
[0048]
图6为特征提取网络和融合预测网络架构示意图;
[0049]
图7为拟合椭圆掩码边缘(左)与目标跟踪点(右)的示例图;
[0050]
图8为手术器械检测定位跟踪方法流程图。
具体实施方式
[0051]
本发明基于深度学习的方法,在不对手术器械进行术前标记的前提下,首先从手术视频流中检测或分割出手术器械区域,并提取局部特征,大大提高手术器械的检测与定位效率和特征提取的准确性;同时利用图像滤波算法和区域筛选对感兴趣区域进行图像增强处理,提高跟踪目标点的识别精度;然后通过建模及数学式表达计算出手术器械与目标区域间的2d

3d转换关系,以此确定手术器械末端执行器和目标区域的深度感知信息;最后利用掩码算法实现目标点的实时跟踪程序。通过临床医学指导建立数据集用来训练和测试手术器械检测模型,实现腹腔镜手术器械的自动化检测与跟踪,使模型更具实用性。
[0052]
参见附图,本发明的一种用于腹腔镜微创手术的器械视觉跟踪方法,包括以下步骤:
[0053]
步骤1,为实现对手术器械的实时监测定位与跟踪,需要对获取的腹腔镜手术视频流进行逐帧处理,以进行手术器械所在的目标区域分割,具体过程如下:
[0054]
1.1腹腔镜视频获取及读取:系统封装有opencv库串口接口,调用 videocapture函数对腹腔镜视频文件进行读取,获取到video对象之后,可以用过get方法,获取视频相关
的信息:视频的宽度、高度、总帧数以及原视频的帧率。
[0055]
1.2视频逐帧处理:逐帧读取视频,第一个返回值的是读取视频成功与否,第二个返回值是视频当前帧,读完后视频会迭代到下一帧,下载再调read方法的时候,就可以把下一帧读出。因此,用while循环,即可把视频逐帧读出。
[0056]
1.3重写视频:传入视频帧,加入一些必要调试信息。前面用read函数读进来的frame是mat类型,因此,就可以直接在上面进行进一步的处理了。
[0057]
1.4图像分割与目标提取:通过深度学习分割将视频流的每帧腹腔镜图像中的每个像素分为前景(手术器械区域)和背景,目前的分割算法虽然精度较高,但参数与操作上的数量都是十分巨大的,这对手术器械的实时无延迟跟踪有很大的影响。因此本发明使用轻量级网络linknet作为分割模型,能够在不影响处理时间的条件下得到较高分割准确率,模型结构类似u

net,是一个典型的encoder
‑ꢀ
decoder结构。该网络绕过空间信息,直接将编码器与解码器连接来提高准确率,一定程度上减少了处理时间。通过这种方式,保留编码部分中不同层丢失的信息,同时,在进行重新学习丢失的信息时并未增加额外的参数与操作。
[0058]
1.5训练分割模型:在开放数据集(imagenet)上训练分割模型,使用 resnet18作为编码器;为了训练分割模型,用交叉熵损失和jaccard两个损失函数评估linknet网络的输出并指导反向传播。这两个损失函数定义如下:
[0059][0060][0061]
其中n表示腹腔镜图像中的像素总数,p
i
表示第i个像素属于前景(手术器械区域)的预测概率,q
i
表示第i个像素的真实值(q
i
=1表示第i个像素属于到前景,q
i
=0表示第i个像素属于背景)。
[0062]
本发明融合两个损失函数,定义一个新的损失函数表达式:
[0063]
f=αe

(1

α)ln j
[0064]
其中α是一个权重参数,取值从0到1。
[0065]
步骤2,通过步骤1将每一帧图像分割为前景(手术器械区域)和背景,即腹腔镜图像被处理成包含目标区域的灰度图像,接下来要进行一些必要的图像增强预处理,增强图像细节以便有效筛选出目标区域(手术器械的区域),详细过程如下:
[0066]
2.1空间滤波处理:通过滤波算法去除小的、孤立的噪声区域,增强目标区域(手术器械区域);图像平滑里中值滤波的效果最好,中值滤波是非线性的图像处理方法,在去噪的同时可以兼顾到边界信息的保留。本发明通过opencv调用medianblur()函数实现中值滤波,内核大小选用5*5。滤波处理后得到去噪、平滑的灰度图像。
[0067]
2.2自适应阈值处理:将灰度图像转换为二值图像,通过区域筛选获得对象。自适应阈值法根据图像不同区域亮度分布,计算其局部阈值,本发明通过opencv 提供的api函数adaptive threshold()实现自适应阈值处理。相比opencv提供的 api函数,本发明多用了一个中值法确定阈值,相比以往的阈值确定方法最终效果会更好。通过阈值处理后我们将灰度图像转换为二值图像,在二值图像中我们将图像分为目标图像和背景图像,假设目标图像像素值为255,即为白色,背景像素为0即为黑色。在阈值处理之后,可以筛选获得包
含目标区域的二值图像。
[0068]
2.3欧式距离变换:针对所述二值图像,通过欧式距离变换得到距离图像,确定手术器械轴部分和末端执行器部分中最大像素值的点,以此计算目标跟踪点的位置。
[0069]
欧式距离变换(euclidean distance transform)用于将二值图像变换为灰度图像,在转换后的灰度图像中,每个连通域的各个像素点的灰度级与该像素点到其背景像素的最近距离有关。其中灰度级表明图像中不同灰度的最大数量,灰度级越大,图像的亮度范围越大。图像中前景区域的像素点距离背景的像素点越远,用一个像素值来替换这个距离值,那么新生成的图像的这个点(前景目标的像素点)越亮,这样就能得到前景中各连通区域内灰度级最大的点,其中灰度级最大点的集合为目标图像的骨架,就是目标图像中心部分的像素的集合,灰度级反应了背景像素与目标图像边界的影响关系。这么做的目的在于有助于后续确定目标跟踪点。
[0070]
欧式距离变换的具体步骤如下:
[0071]

将图像中的目标像素点分类,分为内部点,边界点和孤立点;
[0072]

计算图像中所有的内部点和非内部点,点的集合分别记为s1,s2;
[0073]

对于s1中的每一个内部点(x,y),使用距离公式disf()计算其在s2中的最小距离,这些最小距离构成集合s3;
[0074][0075]

计算s3中的最大值和最小值max,min;
[0076]

对于每一个内部点,转换后的灰度值g计算如下式,其中s3(x,y)表示s1中内部点(x,y)在s2中的最小距离。
[0077]
g(x,y)=255
×
|s3(x,y)

min|/|max

min|
[0078]

孤立点保持不变,执行欧式距离变换。计算欧式距离:
[0079][0080]
其中b[i]是像素值为0的背景点,x[i]是输入坐标点,y
i
为背景点到x的最小距离,n为维度。
[0081]
通过调用opencv距离变换api函数distancetransform()计算非零像素到最近零像素点的距离,求解目标图像的骨架(前景中各连通区域内灰度级最大的点的集合),得到的是距离图像数组。欧式距离变换返回的结果使用normalize() 进行归一化处理,显示出目标图像的骨架并输出各连通区域灰度级最大点的数组矩阵。
[0082]
通过欧式距离变换得到灰度级最大点的集合,就是目标区域(手术器械区域) 中心部分的像素的集合,就可以轻易提取出手术器械区域中最大像素值的点。
[0083]
步骤3,确定目标跟踪点的位置。
[0084]
手术器械手术介入部分可以分为末端执行器和轴部分,并由关节连接起来,如图3所示;在手术过程中,手术器械末端移动频繁,经常被器官组织遮挡,如果将手术器械尖端定义为目标跟踪点,很容易造成较大的定位误差甚至跟踪失败,此外末端执行器种类繁多,将末端定为目标跟踪点不太现实。因此,我们将手术器械关节定义为目标跟踪点,而不是手
术器械末端。
[0085]
通过欧式距离变换后得到“距离图像”,并输出各连通区域灰度级最大点的数组,其中将轴部分中最大像素值的点记为点m,末端执行器部分中最大像素值的点记为点n,连接点m和点n的线l为手术器械手术部分的轴线。在轴线l 上,如果一个点位于轴部分,并且它的下一个点(由m到n的方向上)位于末端执行器部分,那么就把该点作为目标跟踪点s,最后输出目标跟踪点s的像素坐标信息。
[0086]
步骤4,腹腔镜相机标定。
[0087]
相机标定的目的是获取腹腔镜相机的内参和外参矩阵(同时也可以得到每一幅标定图像的旋转和平移矩阵),内参和外参系数可以对之后相机拍摄的图像进行矫正,得到畸变相对很小的图像。
[0088]
对于单目腹腔镜相机模型,一幅视图是通过透视变换将三维空间中的点投影到图像平面。假设某个点在世界坐标系下的坐标为p=[xw,yw,zw]
t
,经过刚性变换(旋转和平移)后该点在相机坐标系下的坐标为p=[xc,yc,zc]
t
,点p 投影成像后在图像坐标系中的坐标为p=[x,y]
t
,在像素坐标系中的坐标为p= [u,v]
t
。从世界坐标系到像素坐标系投影公式如下:
[0089][0090]
其中(u0,v0)是基准点(通常在图像的中心),fx,fy是以像素为单位的焦距。r为3
×
3正交旋转矩阵,t为三维平移向量,相机内参矩阵a:
[0091][0092]
内参数矩阵不依赖场景的视图,一旦计算出,可以被重复使用(只要焦距固定),在腹腔镜手术中手持腹腔镜的焦距已在术前做好规划,可以当作固定焦距对待。旋转

平移矩阵[r|t]被称作外参矩阵,它用来描述相机相对于一个固定场景的运动,或者相反,物体围绕相机的刚性运动。也就是[r|t]将点(x,y,z)的坐标变换到某个坐标系,这个坐标系相对于摄像机来说是固定不变的。
[0093]
标定流程:
[0094]

提取角点;
[0095]

提取亚像素角点;
[0096]

画出角点;
[0097]

参数标定;
[0098]

评价标定结果;
[0099]

查看标定效果——利用标定结果对棋盘图进行矫正。
[0100]
通过对相机的标定可以得到腹腔镜相机的内参矩阵a和外参矩阵即旋转

平移矩阵[r|t],将用于计算目标跟踪点的三维坐标。
[0101]
步骤5,目标跟踪点的三维坐标的计算。
[0102]
对目标跟踪点的实时跟踪以及对手术机器人的控制需要获取目标跟踪点的三维
坐标数据,即某一帧图像中目标跟踪点(u,v)的世界坐标系坐标(xw,yw, zw),其中xw和yw的值可以通过腹腔镜相机与图像之间的坐标转换关系求得, z轴表示目标跟踪点的深度信息,单目腹腔镜获取到的视频流会丧失深度感知信息,故zw无法直接求得。下面求解x
w
和y
w
的值。
[0103]
建立腹腔镜图像与手术器械间的2d

3d转换关系:
[0104][0105]
f是相机焦距,fx,fy是以像素为单位的焦距。所以如果因为某些因素对来自于摄像机的一幅图像升采样或者降采样,所有这些参数(fx,fy,u0和v0)都将被缩放(乘或者除)同样的尺度。其中,
[0106][0107]
是平移和缩放矩阵。是旋转

平移矩阵[r|t]即外参矩阵的齐次形式。 zc是相机坐标系下的坐标为p=[xc,yc,zc]
t
的深度值,通过图像坐标系

相机坐标系变换可得。
[0108]
旋转

平移矩阵[r|t]和内参矩阵a通过步骤4求得,通过opencv读取目标跟踪点的像素坐标,逆运算依次求取图像坐标、相机图像坐标、世界坐标,能够获得目标跟踪点在世界坐标系中的xw、yw值。
[0109]
步骤6,手术器械的深度感知信息的确定,即求取目标跟踪点zw值。
[0110]
从二维腹腔镜获得的视频流传输到显示器上后,一些重要的深度感知及其他融合信息往往会丢失,这会对医生后续的精准引导产生严重影响。如何利用单目摄像机实现对手术器械的深度感知在临床实践中显得格外重要,本发明运用基于深度学习的单目视觉深度估计方法,旨在利用成本廉价实用性高的单目腹腔镜解决深度感知丧失问题,具体过程如下:
[0111]
6.1基于全卷积神经网络(fcn)的多特征融合网络架构。
[0112]
读入经由步骤2.1和2.2处理后的灰度图像,输入进预测模型中,先经过特征提取网络,在网络不同层次产生多层特征图像,经由融合预测网络将多层特征图像进行逐步融合,最终生成预测深度图像。即可获得目标区域(手术器械)的深度信息。
[0113]
特征提取网络包括网络层级依次增大的第一至第五编码器,每个编码器均包括依次连接的多个卷积层,并在卷积层最后连接一个最大池化层;每个编码器中的卷积层的个数以及卷积核大小、步长等参数根据实际情况调整;本实施例中,第五编码器有三个依次连
接的3
×
3卷积层,最后为最大池化层。特征提取网络抽取输入图像经过各个编码器进行特征提取后产生的特征图像,由于网络的各个层次对图像的感受范围不同,因此其产生的特征图像具有多尺度的性质,从低层次网络获得的图像局部的特征到高层次网络获取的图像语义特征,至此通过特征提取部分获得充分且丰富的特征表达。
[0114]
融合预测网络包括依次连接的跳转层、批归一化层和反卷积层;从特征提取网络的最高层,即第五编码器的最大池化层输出的特征图像开始,该特征图经过融合预测网络的跳转层、批归一化层和反卷积层处理后,与前一个编码器输出的特征在一个跳转层进行融合,融合后的特征图再经过融合预测网络处理后,再与更前一个编码器输出的特征图在一个跳转层进行融合,以此类推,最终通过一个卷积层后输出深度图像。
[0115]
在该网络中,从网络最高层,即第五编码器的最大池化层(见图6)输出的特征图像开始,逐级与前一池化层输出特征图像进行融合。在此过程中,高一层次的特征图像分别经过跳转层(一层卷积层)、批归一化层、反卷积层,然后与其前一层次的经过跳转层的特征图像融合。其中,跳转层就是一层1
×
1卷积层是为了保证融合两层特征图像通道数的一致性;批归一化层能加快网络的训练速度以及减少繁琐的调参工作,具有强大的功能;反卷积层为4
×
4的卷积层,反卷积层一方面可以逐步增加输出图像尺寸,另一方面以达到保持融合两层特征图像的空间尺寸一致的目的。
[0116]
例如,第5编码器池化层的特征图像a输出后,经过融合预测网络的跳转层,批归一化层,反卷积层后,与第4编码器池化层输出的特征图像b在一个跳转层进行融合,融合后的特征图像c继续经过融合预测网络的跳转层,批归一化层,反卷积层后,得到特征图像d再与第3编码器池化层特征图像e在一个跳转层进行融合,直到融合到网络的最底层特征图像为止。
[0117]
融合的过程即是对相应特征图像按照通道维度进行矩阵的求和操作。经过后一层与前一层的逐步融合,图像的特征图通道数逐步减少,融合图像的尺寸逐步增大,最终经过卷积层作为线性预测得到输出深度图像。
[0118]
6.2算法执行过程
[0119]

整个算法的执行过程在imagenet数据集上进行,首先通过降采样将图像数据变成320
×
240的分辨率,运用数据扩充方法,即小范围旋转、缩放、颜色转换、随机水平翻转处理,扩充图像样本数据量并且增加图像的多样性,使训练得到的网络模型具有更强的鲁棒性。
[0120]

然后对整个网络模型参数做初始化,在特征提取网络部分,采用预训练的结果作为其初始参数。对跳转层等卷积层参数的初始化,采用均值为0,方差为 0.01的正态分布进行随机数初始化。反卷积层参数利用双线性插值的滤波器参数进行初始化。
[0121]

网络训练使用随机梯度下降法sgd进行,选择的训练损失函数如下:
[0122][0123][0124]
其中,l(x)代表损失函数目标值;其中,l(x)代表损失函数目标值;网络输出的预测深度图像, y为训
练图像数据集中的标签深度图像实际值;为第一个预测深度图像和第i个标签深度图像之间的差异,则c为第一个预测深度图像和第i个标签深度图像之间最大差异值的五分之一。其中i为图像中像素索引,即作用在整个训练集上的一批图像像素,与且x∈(

c,c)。
[0125]
损失函数衡量网络输出预测图像与用于训练时提供的标签深度图像的差异,即需要l(x)在训练的过程中逐步收敛,即差异逐步缩小以使网络参数逐步优化。
[0126]

整个网络训练20个周期,每一批的批量大小设置为5,初始学习率为0.01,按照每5个周期逐渐减小,比如变为前一次学习率的0.5倍。
[0127]
步骤6输出的深度图像,可以得到图像各个像素点的深度信息,基于步骤5、 6就可以完整获得目标跟踪点的三维坐标。对目标跟踪点的实时逐帧跟踪需要其三维坐标数据,同时,也需要将传送至手术机器人控制算法用来指导机器人完成相应的逆运动。
[0128]
对于单目图像深度估计,在具体评价所得图像的数值表现如何,需要应用客观评价标准。深度感知估计评价指标包括:平均相对误差、均方根误差、阈值准确度。
[0129]
步骤7,初始化目标跟踪点。
[0130]
经由步骤2依次得到包含目标对象(手术器械)的灰度图像、二值图像、距离图像。步骤3定义了目标跟踪点的位置,步骤5和6求得了目标跟踪点的三维坐标,最后将目标跟踪点位置返回至原始帧。为了实现跟踪任务,目标跟踪点必须在腹腔镜视频中逐帧定位。目标跟踪点在视频流第一帧中的位置是跟踪任务的初始化位置。腹腔镜视频的下一帧当作目标提取和目标跟踪点定位的输入。当前帧的目标区域(含有手术器械的目标区域)将被限制于前一帧手术器械提取区域的周围,以减少计算过程。
[0131]
步骤8,手术器械目标区域跟踪掩膜的生成。
[0132]
通过步骤5和6获得目标跟踪点的实时三维坐标后,本专利采用掩膜法逐帧定位目标跟踪点。
[0133]
8.1确定掩膜。目标区域是一个细长的区域,引入椭圆掩模来获得处理区域。利用上一帧目标区域的边缘,用最小二乘法拟合一个椭圆,定义如下:
[0134]
ax2 bxy cy2 dx ey f=0
[0135]
min||m
t
x||2=m
t
xx
t
m
[0136]
其中,m=[a,b,c,d,e,f]
t
表示拟合椭圆的参数矩阵,x,y为椭圆方程变量, x=[u2,uv,v2,u,v,1]
t
表示拟合椭圆的输入矩阵,x=p={(u,v)∣ (u1,v1),(u2,v2),

,(u
n
,u
n
)}表示像素点集,包含目标区域边缘的所有像素点,n 表示像素点集中像素点的个数。
[0137]
8.2提取当前帧的目标区域。接下来,在保持椭圆处于同一个中心的前提下,通过缩放椭圆来生成当前帧的椭圆掩膜。最后,利用椭圆掩模,得到当前帧的目标区域,生成掩膜过程如下:
[0138][0139]
其中,其中i和i
m
分别代表原始图像和掩膜图像,m是前一个循环生成的掩膜。
[0140]
步骤9,跟踪过程的实现。
[0141]
前面步骤1在对视频流每帧图像进行分割之后,在步骤2对灰度图像进行了滤波减少图像噪声和自适应阈值处理筛选出含有手术器械的目标区域。同时含有器械的目标区域应满足以下条件才能被接受:
[0142]

它的面积大于最小限度(经步骤2自适应阈值处理后的二值图像,含手术器械的目标区域占比应大于5%,即二值图像中前景面积比例应大于5%);
[0143]

它跨越了图像边界,即目标区域的尾端边界与原始帧图像的边界有所重合。
[0144]
如果其中任何一个条件不满足,则认为当前图像帧处理失败,应从下一帧初始化并开始新的处理循环。
[0145]
在找到器械目标区域后,在图像中使用最小二乘误差方法将椭圆拟合到其边缘。经由步骤5和6求得的目标跟踪点作为椭圆掩膜中心点,同时目标跟踪点像素坐标经过步骤5和6坐标转换后求得其三维坐标将用于指导手术机器人。当前帧的掩膜椭圆也用于生成下一帧的掩膜。即当前帧的椭圆掩膜尺寸会被缩放一定的尺度,例如大直径的1.2倍和小直径的2倍,以产生下一帧掩膜椭圆。然后在下一个掩膜生成阶段,只有这部分图像帧会经历上述步骤9过程。手术器械在腹腔镜手术中移动幅度不会很大,假设第一帧已经提取到目标跟踪区域,基于当前帧(第一帧)生成掩膜,然后在下一帧(第二帧)会适当缩放掩膜,使得器械能够在掩膜中占比更大,这样有助于提高跟踪效率,那么在第三帧图像中就不会再使用第一帧的掩膜了,而是在第二帧掩膜中对手术器械进行跟踪,这样做的目的是让手术器械能够和掩膜更好重合,以免丢失目标。
[0146]
步骤10,跟踪程序的循环。
[0147]
为了加快处理速度并实现实时操作,本发明提出多线程并行处理方法,旨在使用多核cpu/gpu并行执行不同的功能。
[0148]
第一个线程从输入设备(腹腔镜)获取帧并开始执行器械跟踪程序。获取到图像后,由步骤2获得目标跟踪点的像素坐标信息,并由步骤5和6求得目标跟踪点的三维坐标数据,以此确定目标跟踪点后,第一个线程将其三维坐标(已经过2d

3d转换后)发送到第二个线程并开始处理下一帧。第二个线程通过从第一个线程接收目标跟踪点的三维坐标数据和从第三个线程接收机器人关节的位置数据来启动。根据此信息,第二个线程生成路径并将适当的运动命令发送到机器人的执行器。
[0149]
最后,第三个线程不断从机器人位置传感器收集位置数据,并使变量保持最新以供第二个线程使用。在下一帧中检测到目标跟踪点后,第一个线程立即尝试再次启动第二个线程。但是,如果上一个路径生成的过程还没有完成,则新的过程不会启动,第一个线程继续下一帧。
[0150]
通过这种方式,第二线程始终接收到尖端坐标的最新信息,这有助于在路径生成过程耗时过长的情况下保持实时操作。
[0151]
步骤11,手术器械的无标记视觉跟踪效果分析。
[0152]
以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜