标志点检测模型生成方法及标志点检测方法与流程

文档序号:16364377发布日期:2018-12-22 08:21阅读:303来源:国知局
标志点检测模型生成方法及标志点检测方法与流程

本发明涉及医学图像处理技术领域,尤其涉及一种标志点检测模型生成方法及标志点检测方法。

【背景技术】

在临床医学手术应用、生物科学研究以及形态学识别等领域,标志点的准确检测起着重要作用;同时标志点也是其他研究领域的基础,如配准、分割等。深度学习为特征学习提供了一个有效的工具。近年来,深度学习模型以及用于三维形状特征表示取得了很大的成果。

相关技术中利用深度学习处理三维数据主要分为两种类型。第一类是基于三维体数据进行标志点的检测。体数据是由一张一张ct(computedtomography,电子计算机断层扫描)切片组成,数据从三个维度长度、宽度、高度出发,训练的网络使用的是二维图像,训练一般直接对标志点进行学习,通过取imagepatch(图像块)来解决有限医学图像数据的问题。第二类是基于训练数据转换。haggai等人提出的检测方法:先基于体数据建模,然后对建好的三维模型进行标记,接着将三维数据转化为二维数据进行训练,转换过程中会出现某些区域不连续的问题。第一类方法直接对原始体数据进行学习,省去了建模的部分,数据处理简单化,但是在训练阶段,由于体数据的计算量比较大,所以计算复杂度是一个很大的问题。第二类方法在操作过程中,每个数据的处理过程很耗时,而且为了处理转换过程中模型的不连续性问题,转换的得到的二维数据就会比原始数据量要大,训练时间自然也跟着增加了。除此之外有些研究对于模型也有要求,要求三维模型是球状的才能进行数据转换。

因此,实有必要提供一种改进的标志点检测模型生成方法及用于检测标志点的方法以解决上述问题。



技术实现要素:

本发明将二维图像作为深度学习工具的输入进行训练得到神经网络模型,再通过修正(增强)标志点的像素值及二维至三维的映射关系得到标志点的三维预测位置数据,相比基于三维的cnn来说,在保证实际可用的前提下,性能更好,时间效率更高。

为实现上述目的,本发明提供一种标志点检测模型生成方法,所述方法包括:

构建三维模型,所述三维模型上包含有预先标记的标志点,所述标志点对应的位置数据为原始三维位置数据;

基于所述三维模型,获取多个不同视角的二维图像,并根据所述原始三维位置数据和与视角对应的视点位置数据计算得到所述标志点的二维位置数据,所述多个不同视角包括至少一个全局视角和一个局部视角,所述二维图像包括深度图像和表面参考图像;

利用深度学习方法,将每个视角的所述深度图像及所述标志点的二维位置数据作为输入,将优化得到的响应图作为输出,分别训练得到多个神经网络模型,每个不同视角的二维图像对应一个神经网络模型,其中输出的响应图包括对应全局视角的第一响应图和对应局部视角的第二响应图;

基于所述表面参考图像获取具标志点的第二响应图,将所述具标志点的第二响应图对所述第一响应图进行修正得到修正的第一响应图,将所述修正的第一响应图上标志点的位置数据作为映射层输入,基于二维到三维的映射关系得到标志点的预测三维位置数据;

根据所述原始三维位置数据和所述预测三维位置数据计算得到损失值,响应所述损失值满足预设条件得到训练完成的所述标志点检测模型。

可选地,所述根据所述原始三维位置数据和与视角对应的视点位置数据计算得到所述标志点的二维位置数据,具体为:

其中,所述原始三维位置数据为s(x,y,z),所述视点位置数据为v(x,y,z),所述标志点的二维位置数据为i(x,y)。

可选地,所述利用深度学习方法,将每个视角的所述深度图像及所述标志点的二维位置数据作为输入,将优化得到的响应图作为输出,分别训练得到多个神经网络模型,每个不同视角的二维图像对应一个神经网络模型,其中输出的响应图包括对应全局视角的第一响应图和对应局部视角的第二响应图,具体为:

搭建第一ecnn网络框架,将每个全局视角的深度图像及所述标志点的二维位置数据作为输入,将第一响应图作为输出,分别训练得到全局视角对应的神经网络模型;

搭建第二ecnn网络框架,将每个局部视角的深度图像及所述标志点的二维位置数据作为输入,将第二响应图作为输出,分别训练得到局部视角对应的神经网络模型,所述第二ecnn网络框架的网络层数小于所述第一ecnn网络框架的网络层数。

可选地,所述基于所述表面参考图像获取具标志点的第二响应图,将所述具标志点的第二响应图对所述第一响应图进行修正得到修正的第一响应图,将所述修正的第一响应图上标志点的位置数据作为映射层输入,基于二维到三维的映射关系得到标志点的预测三维位置数据的步骤包括:

根据所述表面参考图像获取特定表面参考图像,所述特定表面参考图像为具有标志点的局部视角对应的表面参考图像;

获取与所述特定表面参考图像同一个视角的第二响应图,所述第二响应图具有标志点;

若所述第一响应图和所述第二响应图上均包括a点,将所述第一响应图上a点的像素值和第二响应图上a点的像素值按照预设公式进行计算得到修正的第一响应图上a点的像素值;

获取所述修正的第一响应图上标志点中的各个像素点的像素值,并将标志点中具有最大像素值的像素点作为期望位置;

将所述期望位置的位置数据作为映射层输入,基于二维到三维的映射关系得到的位置数据为标志点的预测三维位置数据。

可选地,所述预设公式为:

gi'=α×max(gi,li)+(1-α)×min(gi,li);

其中:

0.8<α<1;

gi'为修正的第一响应图上a点的像素值,gi为第一响应图上a点的像素值,li为第二响应图上a点的像素值。

可选地,所述方法还包括:

根据所述原始三维位置数据和预测三维位置数据计算得到损失值,响应所述损失值不满足预设条件得到训练未完成的所述标志点检测模型;

调整训练的相关参数,继续执行训练步骤、修正映射步骤得到标志点的新预测三维位置数据;

根据所述原始三维位置数据和新预测三维位置数据计算得到新的损失值;

当所述新的损失值与其前一次获得的损失值差值在阈值范围内时,满足预设条件。

本发明同时提供一种标志点检测方法,所述方法包括:

获取测试数据,所述测试数据包括多个不同视角的二维图像以及待生成标志点的位置数据,所述多个不同视角包括至少有一个全局视角和一个局部视角,所述二维图像包括表面参考图像和深度参考图像;

将所述测试数据输入上文任一项所述的方法生成的所述标志点检测模型中,生成预测标志点。

可选地,当全局视角对应的二维图像为k个,所述待生成标志点的预测标志点数量为m个,将m个预测标志点的质心作为最终预测标志点的位置,所述质心为到m个所述预测标志点的邻域顶点距离最近的点,其中,2≤k≤4,2≤m≤k。

本发明还提供了一种电子设备,包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上文所述的方法。

本发明还提供了一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如上文所述的方法。

与相关技术相比,本发明提出的标志点检测模型生成方法,构建三维模型,所述三维模型上包含有预先标记的标志点;基于所述三维模型,获取包括至少一个全局视角和至少一个局部视角的二维图像(包括深度图像和表面参考图像),并同时将标志点的坐标由三维坐标转换为二维坐标,将所述深度图像和标志点的二维位置数据作为深度学习工具的输入进行训练得到神经网络模型,并输出对应全局视角的第一响应图和对应局部视角的第二响应图,通过表面参考图像获取具标志点的第二响应图,将所述具标志点的第二响应图对所述第一响应图进行修正得到修正的第一响应图,将所述修正的第一响应图上标志点的位置数据作为映射层输入,基于二维到三维的映射关系得到标志点的预测三维位置数据;根据所述原始三维位置数据和预测三维位置数据计算得到损失值,响应所述损失值满足预设条件得到训练完成的所述生成标志点检测模型。这样,本发明提供的标志点检测模型生成方法,将二维图像作为深度学习工具的输入进行训练得到神经网络模型,再通过修正(增强)标志点的像素值及二维至三维的映射关系得到标志点的三维预测位置数据,相比基于三维的cnn来说,在保证实际可用的前提下,性能更好,时间效率更高。

【附图说明】

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中:

图1为本发明一实施例提供的标志点检测模型生成方法的流程图;

图2为本发明一实施例提供的基于三维模型获取二维图像的示意图;

图3为本发明又一实施例提供的标志点检测方法的流程图;

图4为本发明又一实施例提供的获取最终预测标志点的示意图;

图5为本发明又一实施例提供的一种电子设备的硬件结构示意图。

【具体实施方式】

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

请参阅图1,本发明提供一种标志点检测模型生成方法,所述方法包括:

步骤s11、构建三维模型,所述三维模型上包含有预先标记的标志点,所述标志点对应的位置数据为原始三维位置数据;

具体地,首先收集ct数据,然后使用e3d软件构建三维模型,并标志真实解剖标志点的位置,所述标志点对应的位置数据为原始三维位置数据。

步骤s12、基于所述三维模型,获取多个不同视角的二维图像,并根据所述原始三维位置数据和与视角对应的视点位置数据计算得到所述标志点的二维位置数据,所述多个不同视角包括至少一个全局视角和一个局部视角,所述二维图像包括深度图像和表面参考图像;

步骤s11为前期数据收集和建模阶段,步骤s12为数据处理阶段,步骤s11构建三维模型作为步骤s12数据处理阶段的原始数据。具体地:

输入三维模型,基于所述三维模型,根据3d-2d映射机制,从多个渲染视角使用虚拟相机进行平面投影获取多个视角的二维图像,所述多个不同视角包括至少一个全局视角和一个局部视角,其中,全局视角是指正对三维模型进行投影获取的二维图像,有正视图、左视图、右视图、后视图、俯视图和仰视图六种,在本实施例中,通常情况下获取正视图、左视图和右视图,可以认为为以正视图为起点每90度获取一张,而局部视角可以认为以正视图为起点每旋转一定角度获取一张,该角度不为90度和90度的倍数,在本实施例中,通过将虚拟相机每旋转30度获到一张局部视角对应的二维图像。请参阅图2,如图2所示,其中最中间对应0度的(正视图)、最左边对应-90度的(左视图)以及最右边对应90度的(右视图)为全局视角对应的二维图像,而其他如30度、60度、-30度和-60度对应的为局部视角对应的二维图像。

所述二维图像包括深度图像和表面参考图像。其中,深度图像是包含与视点的场景对象的表面的距离有关的信息的图像或图像通道;而对于每个选定的视点位置,将三维模型光栅化为另一个图像,其中每个像素存储投影最接近像素中心的顶点的id,这样形成的图像就叫表面参考图像。

所述根据所述原始三维位置数据和与视角对应的视点位置数据计算得到所述标志点的二维位置数据,具体为:

其中,所述原始三维位置数据为s(x,y,z),所述视点位置数据为v(x,y,z),所述标志点的二维位置数据为i(x,y)。

步骤s13、利用深度学习方法,将每个视角的所述深度图像及所述标志点的二维位置数据作为输入,将优化得到的响应图作为输出,分别训练得到多个神经网络模型,每个不同视角的二维图像对应一个神经网络模型,其中输出的响应图包括对应全局视角的第一响应图和对应局部视角的第二响应图;

步骤s13为网络训练阶段,利用深度学习方法进行训练。在训练过程中,每个视角的所述深度图像及所述标志点的二维位置数据作为输入,将优化得到的响应图作为输出,分别训练得到多个神经网络模型,每个不同视角的二维图像对应一个神经网络模型,其中输出的响应图包括对应全局视角的第一响应图和对应局部视角的第二响应图。若步骤s20如图3所示,获取了三个全视角对应的二维图像和四个局部视角对应的二维图像,则在本步骤中将训练得到七个神经网络模型;输出的响应图也为七个,三个第一响应图和四个第二响应图。

网络训练阶段具体为:

搭建第一ecnn(enhancedconvolutionalneuralnetwork)网络框架,将每个全局视角的深度图像及所述标志点的二维位置数据作为输入,学习全局信息,将第一响应图作为输出,分别训练得到全局视角对应的神经网络模型;

搭建第二ecnn网络框架,将每个局部视角的深度图像及所述标志点的二维位置数据作为输入,学习细节信息,将第二响应图作为输出,分别训练得到局部视角对应的神经网络模型,所述第二ecnn网络框架的网络层数小于所述第一ecnn网络框架的网络层数。

步骤s14、基于所述表面参考图像获取具标志点的第二响应图,将所述具标志点的第二响应图对所述第一响应图进行修正得到修正的第一响应图,将所述修正的第一响应图上标志点的位置数据作为映射层输入,基于二维到三维的映射关系得到标志点的预测三维位置数据;

经过步骤s13的网络训练阶段,每个模型的每个视角对应的二维图像均训练一个神经网络模型,每个神经网络模型训练后得到对应的响应图。步骤s14可以认为为修正阶段也可以认为增强阶段,在该阶段以全局视角对应的第一响应图为主干,局部视角对应的第二响应图对第一响应图起补充作用,即将第二响应图中的响应信息填充到第一响应图中以增强第一响应图。在修正/增强前,需要先通过表面参考图像来判断第二响应图是否具有标志点,具有标志点的第二响应图才用于填充第一响应图。经过该阶段后,最后只会保留全局视角对应的第一响应图,若包括三个全局视角,则最后会获得三个第一响应图。

可选的,所述步骤s14包括:

(1)根据所述表面参考图像获取特定表面参考图像,所述特定表面参考图像为具有标志点的局部视角对应的表面参考图像;

具体地,在本实施例中,通过表面参考图像来判断哪些局部视角对应的二维图像具有标志点,将具有标志点的表面参考图像作为特定表面参考图像。

(2)获取与所述特定表面参考图像同一个视角的第二响应图,所述第二响应图具有标志点;

(3)若所述第一响应图和所述第二响应图上均包括a点,将所述第一响应图上a点的像素值和第二响应图上a点的像素值按照预设公式进行计算得到修正的第一响应图上a点的像素值;

所述预设公式为:

gi'=α×max(gi,li)+(1-α)×min(gi,li);

其中:

0.8<α<1;

gi'为修正的第一响应图上a点的像素值,gi为第一响应图上a点的像素值,li为第二响应图上a点的像素值;在本发明实施例中,a点为像素点。

(4)获取所述修正的第一响应图上标志点中的各个像素点的像素值,并将标志点中具有最大像素值的像素点作为期望位置;

具体地:每个标志点均包括一个图像区域,该图像区域由多个像素点组成,通过上一个步骤已计算出每个像素点的像素值,通过比较像素值获得到最大像素值的像素点,该像素点的位置代表标志点的期望位置。

(5)将所述期望位置的位置数据作为映射层输入,基于二维到三维的映射关系得到的位置数据为标志点的预测三维位置数据。

具体映射方式如下:表面参考图像相当于二维矩阵,在矩阵的每一个位置记录三维模型顶点的序号,即在二维图像中有三维顶点的位置就在对应位置记录顶点序号,没有的地方的像素值就记为0。

步骤s15、根据所述原始三维位置数据和预测三维位置数据计算得到损失值,响应所述损失值满足预设条件得到训练完成的所述生成标志点检测模型。

通过步骤s14得到了预测三维位置数据,将原始三维位置数据和预测三维位置数据代入损失函数(计算欧几里得距离)进行计算得到损失值。本发明的训练过程为一个反复迭代的过程,训练过程是一个反复迭代的过程,每次学习都朝着减少损失的方向进行学习,当损失学习到收敛状态(也就是损失值不再变化)的时候,也就训练完成了。在本实例中,当损失值与其前一次获得的损失值差值在阈值范围内时,满足预设条件。在其他实例中,也可以设置损失值在某个范围为满足预设条件。

可选地,在步骤s15之后还可以包括:

根据所述原始三维位置数据和预测三维位置数据计算得到损失值,响应所述损失值不满足预设条件得到训练未完成的所述生成标志点检测模型;

调整训练的相关参数,继续执行训练步骤、修正映射步骤得到标志点的新预测三维位置数据;

其中,所述训练的相关参数可以为学习率、batchsize(批尺寸)等。

继续执行训练步骤、修正映射步骤得到标志点的新预测三维位置数据具体指重复步骤s13和步骤s14。

根据所述原始三维位置数据和新预测三维位置数据计算得到新的损失值;

当所述新的损失值与其前一次获得的损失值差值在阈值范围内时,满足预设条件。

举例说明,若阈值介于0到0.2之间,第n次计算得到的损失值为0.48,第n+1次计算得到的损失值为0.43时,则认为满足预设条件,第n+1次计算得到的损失值为0.25,则认为不满足预设条件,需要再执行训练步骤和修正映射步骤。优选的,所述阈值为0,即损失值完全不发生变化,认为满足预设条件。

在本实施例中,基于三维模型,获取多个不同视角的二维图像,将二维图像作为深度学习工具的输入进行训练得到神经网络模型,再通过修正(增强)标志点的像素值及二维至三维的映射关系得到标志点的三维预测位置数据,相比基于三维的cnn来说,在保证实际可用的前提下,性能更好,时间效率更高。

请参阅图3,本发明还提供一种标志点检测方法,所述方法包括:

s21、获取测试数据,所述测试数据包括多个不同视角的二维图像以及待生成标志点的位置数据,所述多个不同视角包括至少有一个全局视角和一个局部视角,所述二维图像包括表面参考图像和深度参考图像;

s22、将所述测试数据输入本发明实施例生成的所述标志点检测模型中,生成预测标志点。

举例说明,若测试数据提供了三个全局视角的二维图像,将对应待生成标志点生成三个预测标志点。

可选地,当全局视角对应的二维图像为k个,相对应的,所述待生成标志点的预测标志点数量为m个,将m个预测标志点的质心作为最终预测标志点的位置,所述质心为到m个所述预测标志点的邻域顶点距离最近的点,其中,2≤k≤4,2≤m≤k。举例说明,若测试数据提供了三个全局视角的二维图像,将对应待生成标志点生成两个或者三个预测标志点,则将m个预测标志点的质心作为最终预测标志点。需要说明的是,若测试数据提供了1~4个全局视角的二维图像,生成预测标志点的数据也可以为一个,此时,该预测标志点的位置即是最终预测标志点的位置。

具体请参阅图4,在图4中,点1为左视图对应的预测标志点,点2为右视图对应的预测标志点,点3为正视图对应的预测标志点,点4为最终预测标志点,从图4可以看出,点4所在位置为到点1、点2和点3的邻域顶点距离最近的点,需要说明的是此处的距离不是指直线距离,而是指三维图上的网格距离。

请参阅图5,图5是本发明实施例提供的一种电子设备的硬件结构示意图。本发明实施例还提供一种电子设备,如图5所示,所述电子设备100包括:处理器101、存储装置102、用户接口103、收发机104和总线接口105。所述处理器101,用于读取执行存储装置102中的程序。在图5中,总线接口105可以包括任意数量的互联的总线和桥,具体由处理器101代表的一个或多个处理器和存储装置102代表的存储装置的各种电路连接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口,收发机104可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。针对不同的用户设备,用户接口103还可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。处理器101负责管理总线架构和通常的处理,存储装置102可以存储处理器101在执行操作时所使用的数据。

需要说明的是,本发明实施例提供的标志点检测模型生成方法及用于检测标志点的方法一般由处理器101执行。

本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述标志点检测模型生成方法及标志点检测方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储装置(read-onlymemory,简称rom)、随机存取存储装置(randomaccessmemory,简称ram)、磁碟或者光盘等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上所述的仅是本发明的实施方式,在此应当指出,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出改进,但这些均属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1