图像标注方法、装置、可读存储介质及电子设备与流程

文档序号:31706411发布日期:2022-10-01 11:32阅读:145来源:国知局
图像标注方法、装置、可读存储介质及电子设备与流程

1.本公开涉及图像处理技术领域,具体地,涉及一种图像标注方法、装置、可读存储介质及电子设备。


背景技术:

2.随着人工智能的兴起和发展,采用机器学习模型对三维图像进行图像处理被广泛应用于多个领域之中。例如,在智能医疗领域,可以使用图像识别模型来识别三维医学图像中异常部位所在的区域,以辅助医生进行医疗诊断。相关技术中,需要获取大量的包括三维图像的图像样本,来生成图像样本集,再对图像样本集中的每个三维图像进行标注,以得到标注完整的图像样本集,并采用标注完整的图像样本集,对图像识别模型进行训练。
3.然而,在对三维图像进行标注的过程中,由于在终端设备的显示屏幕上只能显示三维图像的每层切面对应的二维图像,因此需要人工逐层对每层切面对应的二维图像进行标注,不仅缺乏三维空间上的直观信息特征,而且还具有大量重复性的工作,标注效率较低、难度大,且标注成本高。


技术实现要素:

4.为了克服相关技术中的问题,本公开提供一种图像标注方法、装置、可读存储介质及电子设备。
5.为了实现上述目的,第一方面,本公开提供一种图像标注方法,包括:
6.对待标注ct图像序列进行三维重建,得到三角网格模型,其中,所述三角网格模型包括多个三角面片;
7.对所述三角网格模型进行多层等值面分类渲染,得到三维视图;
8.响应于接收到用户针对所述三维视图的点选指令,确定所述点选指令所选中的目标点对应的感兴趣区域;
9.基于所述感兴趣区域,对所述待标注ct图像序列中的每一ct图像进行二维图层映射标注。
10.可选地,所述对待标注ct图像序列进行三维重建,得到三角网格模型,包括:
11.获取待标注ct图像序列对应的hu矩阵;
12.确定与所述hu矩阵对应的多个hu值分组区间;
13.根据所述hu矩阵和所述多个hu值分组区间,基于面绘制方法对所述待标注ct图像序列进行三维重建,得到三角网格模型。
14.可选地,所述对所述三角网格模型进行多层等值面分类渲染,得到三维视图,包括:
15.对所述三角网格模型中、与每一所述hu值分组区间的上限值对应的等值面分别进行颜色渲染,得到三维视图,其中,不同hu值分组区间的上限值对应的等值面采用不同颜色进行分类渲染。
16.可选地,所述确定所述点选指令所选中的目标点对应的感兴趣区域,包括:
17.确定经过所述点选指令所选中的目标点、且朝向屏幕内的目标射线;
18.从所述多个三角面片中确定与所述目标射线存在交点的第一目标三角面片;
19.从所述第一目标三角面片中确定与所述目标点最近的三角面片,作为第二目标三角面片;
20.根据所述第二目标三角面片和所述第二目标三角面片所在的目标体素,从所述多个hu值分组区间中确定目标hu值分组区间,其中,体素为以所述hu矩阵中的相邻八个hu值为顶点的立方体;
21.根据所述hu矩阵、所述目标hu值分组区间以及所述目标体素,确定所述目标点对应的感兴趣区域。
22.可选地,所述确定经过所述点选指令所选中的目标点、且朝向屏幕内的目标射线,包括:
23.获取所述点选指令所选中的目标点的屏幕坐标;
24.根据所述目标点的屏幕坐标,确定所述目标点的世界坐标;
25.根据所述目标点的世界坐标和相机原点的世界坐标,确定经过所述目标点、且朝向屏幕内的目标射线。
26.可选地,所述根据所述第二目标三角面片和所述第二目标三角面片所在的目标体素,从所述多个hu值分组区间中确定目标hu值分组区间,包括:
27.确定所述第二目标三角面片对应的等值面的第一目标hu值;
28.根据所述第一目标hu值和所述第二目标三角面片所在的目标体素,从所述多个hu值分组区间中确定目标hu值分组区间。
29.可选地,所述根据所述第一目标hu值和所述第二目标三角面片所在的目标体素,从所述多个hu值分组区间中确定目标hu值分组区间,包括:
30.获取所述目标体素的八个顶点的用户坐标;
31.根据所述用户坐标,确定所述八个顶点的相机坐标;
32.确定所述八个顶点中、hu值大于所述第一目标hu值的顶点的相机坐标的z值的第一平均值,并确定所述八个顶点中、hu值小于所述第一目标hu值的顶点的相机坐标的z值的第二平均值;
33.根据所述第一平均值、所述第二平均值以及所述第一目标hu值,从所述多个hu值分组区间中确定目标hu值分组区间。
34.可选地,所述根据所述第一平均值、所述第二平均值以及所述第一目标hu值,从所述多个hu值分组区间中确定目标hu值分组区间,包括:
35.若所述第一平均值大于所述第二平均值,则将所述多个hu值分组区间中、以所述第一目标hu值为下限值的hu值分组区间确定为目标hu值分组区间;
36.若所述第一平均值小于所述第二平均值,则将所述多个hu值分组区间中以所述第一目标hu值为上限值的hu值分组区间确定为目标hu值分组区间;
37.若所述第一平均值等于所述第二平均值,则将所述多个hu值分组区间中、以所述第一目标hu值为下限值的hu值分组区间确定为目标hu值分组区间,或者将所述多个hu值分组区间中以所述第一目标hu值为上限值的hu值分组区间确定为目标hu值分组区间。
38.可选地,所述根据所述hu矩阵、所述目标hu值分组区间以及所述目标体素,确定所述目标点对应的感兴趣区域,包括:
39.从所述hu矩阵中确定位于所述目标hu值分组区间内的第二目标hu值;
40.根据所述第二目标hu值,生成体素筛选矩阵;
41.对所述体素筛选矩阵进行连通域分析,得到多个连通域;
42.将所述多个连通域中、所述目标体素所在的连通域确定为所述感兴趣区域。
43.第二方面,本公开提供一种图像标注装置,包括:
44.三维重建模块,用于对待标注ct图像序列进行三维重建,得到三角网格模型,其中,所述三角网格模型包括多个三角面片;
45.渲染模块,用于对所述三维重建模块得到的所述三角网格模型进行多层等值面分类渲染,得到三维视图;
46.确定模块,用于响应于接收到用户针对所述渲染模块得到的所述三维视图的点选指令,确定所述点选指令所选中的目标点对应的感兴趣区域;
47.标注模块,用于基于所述确定模块确定出的所述感兴趣区域,对所述待标注ct图像序列中的每一ct图像进行二维图层映射标注。
48.第三方面,本公开提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开第一方面提供的所述图像标注方法的步骤。
49.第四方面,本公开提供一种电子设备,包括:
50.存储器,其上存储有计算机程序;
51.处理器,用于执行所述存储器中的所述计算机程序,以实现本公开第一方面提供的所述图像标注方法的步骤。
52.在上述技术方案中,首先通过对待标注ct图像序列进行三维重建,之后,对三维重建后所得的三角网格模型进行多层等值面分类渲染,得到三维视图,以对待标注ct图像序列进行可视化展现,这样,用户可以通过人机交互的点选方式提取感兴趣区域,进而基于感兴趣区域,对待标注ct图像序列中的每一ct图像进行二维图层映射标注。由此,用户在三维视图中通过一键点选操作即可实现待标注ct图像序列中每一ct图像的标注,不仅能够从三维空间上提供更多更全面的视觉信息,还能免除大量重复性的传统在二维图层上逐层标注工作,使得三维图像标注更加直观、快捷。同时,多分类渲染的三维视图上的感兴趣区域的直接提取,对于类似于血管壁、内膜的精细化标注尤为有效,解决了医学影像数据标注难度大、成本高的问题。
53.本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
54.附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
55.图1是根据一示例性实施例示出的一种图像标注方法的流程图。
56.图2是根据一示例性实施例示出的一种对待标注ct图像序列进行三维重建的方法的流程图。
57.图3是根据一示例性实施例示出的一种三角面的结构示意图。
58.图4a是根据一示例性实施例示出的一种对三角网格模型进行多层等值面分类渲染的示意图。
59.图4b是图4a所示的对三角网格模型进行多层等值面分类渲染的示意图的剖面图。
60.图5根据一示例性实施例示出的一种确定点选指令所选中的目标点对应的感兴趣区域的方法的流程图。
61.图6是根据一示例性实施例示出的一种图像标注装置的框图。
62.图7是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
63.以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
64.需要说明的是,本公开中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
65.在介绍本公开提供的图像标注方法、装置、可读存储介质及电子设备之前,首先对本公开中各个实施例所涉及的应用场景进行介绍,该应用场景可以是对待标注计算机断层扫描(computed tomography,ct)图像序列进行标注的场景。技术人员可以在终端设备上进行相应的标注操作(标注操作例如可以是在显示屏幕上进行点击操作、选取操作等),以在待标注ct图像序列的每一ct图像中标注出标注区域。在智能医疗领域,标注区域例如可以是人工标注出的异常部位所在的区域。
66.其中,该终端设备例如可以是智能手机、平板电脑、智能手表、智能手环、个人数字助理(personal digital assistant,pda)等移动终端,也可以是台式计算机等固定终端。
67.图1是根据一示例性实施例示出的一种图像标注方法的流程图,其中,该方法可以应用于上述终端设备。如图1所示,该方法可以包括以下s101~s104。
68.在s101中,对待标注ct图像序列进行三维重建,得到三角网格模型。
69.在本公开中,可以按照预设扫描方向对人体某器官(例如,肺部)进行平扫,以得到待标注ct图像序列。其中,三维重建得到的三角网格模型包括多个三角面片。
70.在s102中,对三角网格模型进行多层等值面分类渲染,得到三维视图。
71.在本公开中,可以对三角网络模型中不同等值面采用不同颜色进行分类渲染。
72.在s103中,响应于接收到用户针对三维视图的点选指令,确定点选指令所选中的目标点对应的感兴趣区域。
73.在本公开中,在通过上述s102中得到三维视图后,终端设备可以将该三维视图展示给用户,用户可以在三维视图中点击感兴趣区域中的任一点(即目标点),之后,触发点选指令,终端设备在接收到该点选指令后,确定该点选指令所选中的目标点对应的感兴趣区域。其中,感兴趣区域即为标注区域,例如,异常部位所在的区域。
74.在s104中,基于感兴趣区域,对待标注ct图像序列中的每一ct图像进行二维图层映射标注。
75.在上述技术方案中,首先通过对待标注ct图像序列进行三维重建,之后,对三维重建后所得的三角网格模型进行多层等值面分类渲染,得到三维视图,以对待标注ct图像序
列进行可视化展现,这样,用户可以通过人机交互的点选方式提取感兴趣区域,进而基于感兴趣区域,对待标注ct图像序列中的每一ct图像进行二维图层映射标注。由此,用户在三维视图中通过一键点选操作即可实现待标注ct图像序列中每一ct图像的标注,不仅能够从三维空间上提供更多更全面的视觉信息,还能免除大量重复性的传统在二维图层上逐层标注工作,使得三维图像标注更加直观、快捷。同时,多分类渲染的三维视图上的感兴趣区域的直接提取,对于类似于血管壁、内膜的精细化标注尤为有效,解决了医学影像数据标注难度大、成本高的问题。
76.下面针对上述s101中的对待标注ct图像序列进行三维重建,得到三角网格模型的具体实施方式进行详细说明。具体来说,可以通过图2中所示的s1011~s1013来实现。
77.在s1011中,获取待标注ct图像序列对应的hu矩阵。
78.在本公开中,hu矩阵为n*m*n的矩阵,其中,n为待标注ct图像序列包含的ct图像的数量,m为ct图像的宽,即宽度方向上包含的像素点数,n为ct图像的高,即高度方向上包含的像素点数。hu矩阵中的元素为相应像素点的hu值,其中,hu值用于表征人体某一局部组织或器官密度的大小,hu值越大,表明相应部位密度越大。
79.具体来说,可以通过以下方式来获取待标注ct图像序列对应的hu矩阵:先获取待标注ct图像序列中每一ct图像中各像素点的hu值,然后将各hu值按照相应像素点在待标注ct图像序列中的位置信息进行排列,得到待标注ct图像序列对应的hu矩阵。
80.在s1012中,确定与hu矩阵对应的多个hu值分组区间。
81.在s1013中,根据hu矩阵和多个hu值分组区间,基于面绘制方法对待标注ct图像序列进行三维重建,得到三角网格模型。
82.下面针对上述s1012中的确定与hu矩阵对应的多个hu值分组区间的具体实施方式进行详细说明。
83.在一种实施方式中,可以采用直方图阈值分割方法来确定与hu矩阵对应的多个hu值分组区间。具体来说,可以先采用直方图阈值分割方法确定与hu矩阵对应的多个hu值分组区间的边界值(即上限值和下限值),之后,根据各边界值,生成hu矩阵对应的多个hu值分组区间。
84.示例地,可以采用直方图阈值分割方法,通过以下等式(1)来确定与hu矩阵对应的多个hu值分组区间的边界值:
[0085][0086]
其中,yi为多个hu值分组区间的边界值,i=1,2,

,bins+1,bins为hu值分组区间的数量,且bins可以为预设值;image_series为hu矩阵;min(image_series)为hu矩阵image_series中的最小hu值;max(image_series)hu矩阵image_series中的最大hu值。
[0087]
相应地,与hu矩阵对应的多个hu值分组区间分别为[y1,y2]、(y2,y3]、

、(y
bins
,y
bins+1
]。
[0088]
另外,除了采用直方图阈值分割方法来获取与hu矩阵对应的多个hu值分组区间外,还可以采用梯度迭代、人工设定等方式来获取与hu矩阵对应的多个hu值分组区间,本公开不作具体限定。
[0089]
下面针对上述s1013中的根据hu矩阵和多个hu值分组区间,基于面绘制方法对待
标注ct图像序列进行三维重建,得到三角网格模型的具体实施方式进行详细说明。
[0090]
具体来说,可以通过以下步骤(1)~步骤(4)来实现:
[0091]
(1)获取与hu矩阵对应的三维体素,其中,三维体素包括多个体素,体素为以hu矩阵中的相邻八个hu值为顶点的立方体,即hu矩阵中的每一hu值均代表一个顶点。
[0092]
(2)针对每一hu值分组区间,从三维体素中确定与该hu值分组区间的上限值对应的等值面相交的体素,作为边缘体素。
[0093]
具体来说,可以针对三维体素中的每一体素,若该体素中存在大于或等于该hu值分组区间的上限值的顶点、且存在小于该hu值分组区间的上限值的顶点,或者该体素中存在大于该hu值分组区间的上限值的顶点、且存在等于该hu值分组区间的上限值的顶点,则确定该体素与该hu值分组区间的上限值对应的等值面相交,即该体素为边缘体素;否则,确定该体素与该hu值分组区间的上限值对应的等值面不相交。
[0094]
(3)针对每一边缘体素,通过线性插值方式确定该边缘体素与该hu值分组区间的上限值对应的等值面的交点;根据所有交点,确定边缘体素内的三角面片,并计算该三角面片的法向量。
[0095]
在本公开中,体素中各顶点的标记分为两种情况,一种是顶点的hu值大于或等于该hu值分组区间的上限值,则将该顶点的标记设置为1,表明该顶点在该hu值分组区间的上限值对应的等值面内部,另一种是顶点的hu值小于该hu值分组区间的上限值,则将该顶点的标记设置为0,表明该顶点在该hu值分组区间的上限值对应的等值面外部。
[0096]
这样,若边缘体素的一条边的两个顶点的标记不同(即,其中一个顶点的标记为1,另一顶点的标记为0),则确定该边与该hu值分组区间的上限值对应的等值面相交,即存在交点,此时,可以采用线性插值方式确定该边与该hu值分组区间的上限值对应的等值面的交点。
[0097]
示例地,可以采用线性插值方式,通过以下等式(2)来确定该边与该hu值分组区间的上限值对应的等值面的交点:
[0098][0099]
其中,vx为该边与该hu值分组区间的上限值对应的等值面的交点的坐标;p1、p2为该边的两个顶点的hu值;v1、v2为该边的两个顶点的坐标;y该hu值分组区间的上限值。
[0100]
示例地,如图3所示,以v0、v1、v2、v3、v4、v5、v6、v7为顶点的边缘体素中,边v0v1与该hu值分组区间的上限值对应的等值面存在交点e0,边v2v3与该hu值分组区间的上限值对应的等值面存在交点e2,边v0v4与该hu值分组区间的上限值对应的等值面存在交点e8,边v3v7与该hu值分组区间的上限值对应的等值面存在交点e
11
,该四个交点构成两个三角面,即三角面e0e2e
11
和三角面e0e8e
11

[0101]
(4)根据各三角面片的法向量和各三角面片的三个顶点坐标,对待标注ct图像序列进行三维重建,得到三角网格模型。
[0102]
另外,为了提升三维重建的效果,在对待标注ct图像序列进行三维重建时,除了根据各三角面片的法向量和各三角面片的三个顶点坐标外,还可以参考各边缘体素的各顶点的梯度法向量,其中,各边缘体素的各顶点的梯度法向量影响三维重建时相应位置处的光照强度,从而使得三维重建后所得的三角网格模型更加逼真。
[0103]
在构建三角网格模型时,是基于与hu矩阵对应的三维体素进行三维重建的,由体素为以hu矩阵中的相邻八个hu值为顶点的立方体,而各hu值与待标注ct图像序列中各ct图像的像素点一一对应,由此,可以使得三角网格模型精细到像素级别,从而使得标注精度达到像素级勾画级别。
[0104]
下面针对上述s102中的对三角网格模型进行多层等值面分类渲染,得到三维视图的具体实施方式进行详细说明。
[0105]
具体来说,可以对三角网格模型中、与每一hu值分组区间的上限值对应的等值面分别进行颜色渲染,得到三维视图,其中,不同hu值分组区间的上限值对应的等值面采用不同颜色进行分类渲染。
[0106]
示例地,与hu矩阵对应的多个hu值分组区间分别为[y1,y2]、(y2,y3]、(y3,y4]、(y4,y5],其中,与hu值分组区间[y1,y2]的上限值y2对应的等值面的hu值为y2,与hu值分组区间(y2,y3]的上限值y3对应的等值面的hu值为y3,与hu值分组区间(y3,y4]的上限值y4对应的等值面的hu值为y4,与hu值分组区间(y4,y5]的上限值y5对应的等值面的hu值为y5,通过对三角网格模型进行多层等值面分类渲染,得到如图4a和图4b中所示三维视图。
[0107]
下面针对上述s103中的确定点选指令所选中的目标点对应的感兴趣区域的具体实施方式进行详细说明。具体来说,可以通过图5中所示的s1031~s1035来实现:
[0108]
在s1031中,确定经过点选指令所选中的目标点、且朝向屏幕内的目标射线。
[0109]
在s1032中,从多个三角面片中确定与目标射线存在交点的第一目标三角面片。
[0110]
在s1033中,从第一目标三角面片中确定与目标点最近的三角面片,作为第二目标三角面片。
[0111]
在s1034中,根据第二目标三角面片和第二目标三角面片所在的目标体素,从多个hu值分组区间中确定目标hu值分组区间。
[0112]
在s1035中,根据hu矩阵、目标hu值分组区间以及目标体素,确定目标点对应的感兴趣区域。
[0113]
下面针对上述s1031中的确定经过点选指令所选中的目标点、且朝向屏幕内的目标射线的具体实施方式进行详细说明。
[0114]
具体来说,可以通过以下步骤1)~步骤3)来实现:
[0115]
1)获取点选指令所选中的目标点的屏幕坐标。
[0116]
在本公开中,目标点的屏幕坐标(即目标点在屏幕中的坐标)为目标点在屏幕坐标系中的坐标,其中,屏幕坐标系为三维视图投影到2d屏幕上的坐标系。
[0117]
2)根据目标点的屏幕坐标,确定目标点的世界坐标。
[0118]
目标点的世界坐标为目标点在世界坐标系中的坐标,其中,世界坐标系为三维世界的全局坐标系。在本公开中,可以基于屏幕坐标系与世界坐标系之间的转换矩阵来将目标点的屏幕坐标转换为世界坐标。
[0119]
3)根据目标点的世界坐标和相机原点的世界坐标,确定经过目标点、且朝向屏幕内的目标射线。
[0120]
在本公开中,相机原点为位于屏幕外的预设点。
[0121]
假设用q1表征所述相机原点的世界坐标,用q2表征所述目标点的世界坐标,那么,目标射线则是以q1为原点,以为正方向的射线。
[0122]
示例地,该目标射线上任一点l的世界坐标l1如下等式(3)所示:
[0123][0124]
其中,t为参数,且t为世界坐标系中点l到相机原点、目标点的距离比。
[0125]
下面针对上述s1032中的从多个三角面片中确定与目标射线存在交点的第一目标三角面片的具体实施方式进行详细说明。
[0126]
具体来说,可以针对三角网格模型中的多个三角面片中的每一三角面片,通过以下方式来确定该三角面片与目标射线是否存在交点:
[0127]
首先,采用以下等式(4)来表示该三角面片中的任一点t的世界坐标t':
[0128]
t'=(1-b
1-b2)t0+b1t1+b2t2ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0129]
其中,t0、t1以及t2为该三角面片的三个顶点的世界坐标;b1和b2为系数,且0≤b1≤1、0≤b2≤1、0≤1-b
1-b2≤1。
[0130]
然后,令l1=t',得到以下等式(5):
[0131][0132]
接下来,将上述等式(5)转换为如下的矩阵形式:
[0133][0134]
其中,e1=t1-t0,e2=t2-t0,s=q1-t0。
[0135]
再接下来,使用克拉莫法则,对上述等式(6)进行求解,得到:
[0136][0137][0138]
其中,det代表行列式计算。
[0139]
若计算出的b1满足0≤b1≤1、且计算出的b2满足0≤b2≤1,则认为该三角面片与目标射线存在交点;否则,认为该三角面片与目标射线不存在交点。
[0140]
下面针对上述s1033中的从第一目标三角面片中确定与目标点最近的三角面片,作为第二目标三角面片的具体实施方式进行详细说明。
[0141]
具体来说,相机原点为位于屏幕外的预设点,这样,第一目标三角面片中与目标点最近的三角面片,也是与相机原点最近的三角面片,因此,可以通过求取与相机原点最近的三角面片来得到第二目标三角面片。
[0142]
由于在通过上述s1032确定出的第一目标三角面片为世界坐标系下表示的三角面片,而相机原点为相机坐标系的原点,因此,想要获得与相机原点最近的三角面片,则需要根据相机坐标系与世界坐标系之间的转换矩阵将第一目标三角面片的世界坐标转换为相机坐标,之后,根据第一目标三角面片的相机坐标,从第一目标三角面片中确定与相机原点最近的三角面片,即第二目标三角面片。其中,相机坐标系为以相机为原点(即相机原点)、以相机朝向为坐标轴的局部坐标系。
[0143]
在一种实施方式中,可以将顶点的相机坐标的z值(即顶点在相机坐标系下的z坐标值)最小者所属的第一目标三角面片确定为与相机原点最近的三角面片,即得到与目标点最近的三角面片。
[0144]
示例地,通过上述s1032确定出的与目标射线存在交点的第一目标三角面片包括三角面片a和三角面片b,其中,三角面片a的三个顶点的相机坐标分别为(x1,y1,z1)、(x2,y2,z2)(x3,y3,z3),三角面片b的三个顶点的相机坐标分别为(x4,y4,z4)、(x5,y5,z5)(x6,y6,z6),并且,z4为z1、z2、z3、z4、z5、z6中的最小值,因此,将(x4,y4,z4)所属的三角面片b确定为与相机原点最近的三角面片,也就是与目标点最近的三角面片,即第二目标三角面片为三角面片b。
[0145]
下面针对上述s1034中的根据第二目标三角面片和第二目标三角面片所在的目标体素,从多个hu值分组区间中确定目标hu值分组区间的具体实施方式进行详细说明。具体来说,可以通过以下步骤[1]和步骤[2]来实现:
[0146]
[1]确定第二目标三角面片对应的等值面的第一目标hu值。
[0147]
具体来说,可以预先建立有等值面的hu值和其包含的三角面片之间的对应关系,这样,通过该对应关系即可快速获取到第二目标三角面片对应的等值面的hu值,即第一目标hu值。
[0148]
其中,可以通过以下方式来构建上述对应关系:
[0149]
首先,针对每一hu值分组区间,将该hu值分组区间的上限值作为该hu值分组区间对应的等值面的hu值;同时,确定该hu值分组区间对应的等值面包含的三角面片;最后,根据每一hu值分组区间对应的等值面的hu值和其对应的等值面包含的三角面片,建立等值面的hu值和三角面片之间的对应关系。
[0150]
具体来说,可以通过以下方式来确定该hu值分组区间对应的等值面包含的三角面片:
[0151]
在通过上述步骤(1)~步骤(4)对待标注ct图像序列进行三维重建的过程中,在针对每一边缘体素,通过线性插值方式确定出该边缘体素与该hu值分组区间的上限值对应的等值面的交点(即上述步骤(3))后,可以将该边缘体素中各交点构成的三角面片作为该hu值分组区间对应的等值面包含的三角面片。
[0152]
[2]根据第一目标hu值和第二目标三角面片所在的目标体素,从多个hu值分组区间中确定目标hu值分组区间。
[0153]
具体来说,可以通过以下步骤

~步骤

来实现:
[0154]

获取目标体素的八个顶点的用户坐标。
[0155]
在本公开中,目标体素的八个顶点的用户坐标为目标体素的八个顶点在用户坐标系下的坐标,其中,用户坐标系为三维体素本身的坐标系。
[0156]
由于在通过上述s1033确定出的第二目标三角面片为相机坐标系下表示的三角面片,想要获得第二目标三角面片所在的目标体素的八个顶点的用户坐标,需要先根据相机坐标系与用户坐标系之间的转换矩阵,将第二目标三角面片的三个顶点的相机坐标转换为用户坐标,之后,根据第二目标三角面片的三个顶点的用户坐标确定第二目标三角面片所在的目标体素,从而得到该目标体素的八个顶点的用户坐标。
[0157]

根据目标体素的八个顶点的用户坐标,确定八个顶点的相机坐标。
[0158]
具体来说,可以根据用户坐标系与相机坐标系之间的转换矩阵来将目标体素的八个顶点的用户坐标转换为相机坐标。
[0159]

确定八个顶点中、hu值大于第一目标hu值的顶点的相机坐标的z值的第一平均值,并确定八个顶点中、hu值小于第一目标hu值的顶点的相机坐标的z值的第二平均值。
[0160]

根据第一平均值、第二平均值以及第一目标hu值,从多个hu值分组区间中确定目标hu值分组区间。
[0161]
具体来说,若第一平均值大于第二平均值,则将多个hu值分组区间中、以第一目标hu值为下限值的hu值分组区间确定为目标hu值分组区间;若第一平均值小于第二平均值,则将多个hu值分组区间中以第一目标hu值为上限值的hu值分组区间确定为目标hu值分组区间;若第一平均值等于第二平均值,则将多个hu值分组区间中、以第一目标hu值为下限值的hu值分组区间确定为目标hu值分组区间,或者,将多个hu值分组区间中、以第一目标hu值为上限值的hu值分组区间确定为目标hu值分组区间。
[0162]
下面针对上述s1035中的根据hu矩阵、目标hu值分组区间以及目标体素,确定目标点对应的感兴趣区域的具体实施方式进行详细说明。
[0163]
具体来说,可以先从hu矩阵中确定位于目标hu值分组区间内的第二目标hu值;然后,根据第二目标hu值,生成体素筛选矩阵;接下来,对体素筛选矩阵进行连通域分析,得到多个连通域;最后,将多个连通域中、目标体素所在的连通域确定为感兴趣区域。
[0164]
其中,可以将hu矩阵中的各第二目标hu值置为1,将hu矩阵中除第二目标hu值外的其他hu值置为0,得到体素筛选矩阵。
[0165]
下面针对上述s104中的基于感兴趣区域,对待标注ct图像序列中的每一ct图像进行二维图层映射标注的具体实施方式进行详细描述。
[0166]
具体来说,可以对体素筛选矩阵进行二维图层映射,生成二值化标注掩膜三维矩阵;之后,根据该二值化标注掩膜三维矩阵,对待标注ct图像序列中的每一ct图像进行二维图层映射标注。
[0167]
图6是根据一示例性实施例示出的一种图像标注装置的框图。如图6所示,该装置600包括:
[0168]
三维重建模块601,用于对待标注ct图像序列进行三维重建,得到三角网格模型,其中,所述三角网格模型包括多个三角面片;
[0169]
渲染模块602,用于对所述三维重建模块601得到的所述三角网格模型进行多层等值面分类渲染,得到三维视图;
[0170]
确定模块603,用于响应于接收到用户针对所述渲染模块602得到的所述三维视图的点选指令,确定所述点选指令所选中的目标点对应的感兴趣区域;
[0171]
标注模块604,用于基于所述确定模块603确定出的所述感兴趣区域,对所述待标注ct图像序列中的每一ct图像进行二维图层映射标注。
[0172]
在上述技术方案中,首先通过对待标注ct图像序列进行三维重建,之后,对三维重建后所得的三角网格模型进行多层等值面分类渲染,得到三维视图,以对待标注ct图像序列进行可视化展现,这样,用户可以通过人机交互的点选方式提取感兴趣区域,进而基于感兴趣区域,对待标注ct图像序列中的每一ct图像进行二维图层映射标注。由此,用户在三维视图中通过一键点选操作即可实现待标注ct图像序列中每一ct图像的标注,不仅能够从三
维空间上提供更多更全面的视觉信息,还能免除大量重复性的传统在二维图层上逐层标注工作,使得三维图像标注更加直观、快捷。同时,多分类渲染的三维视图上的感兴趣区域的直接提取,对于类似于血管壁、内膜的精细化标注尤为有效,解决了医学影像数据标注难度大、成本高的问题。
[0173]
可选地,所述三维重建模块601包括:
[0174]
第一获取子模块,用于获取待标注ct图像序列对应的hu矩阵;
[0175]
第一确定子模块,用于确定与所述hu矩阵对应的多个hu值分组区间;
[0176]
三维重建子模块,用于根据所述hu矩阵和所述多个hu值分组区间,基于面绘制方法对所述待标注ct图像序列进行三维重建,得到三角网格模型。
[0177]
可选地,所渲染模块602用于对所述三角网格模型中、与每一所述hu值分组区间的上限值对应的等值面分别进行颜色渲染,得到三维视图,其中,不同hu值分组区间的上限值对应的等值面采用不同颜色进行分类渲染。
[0178]
可选地,所述确定模块603包括:
[0179]
第二确定子模块,用于确定经过所述点选指令所选中的目标点、且朝向屏幕内的目标射线;
[0180]
第三确定子模块,用于从所述多个三角面片中确定与所述目标射线存在交点的第一目标三角面片;
[0181]
第四确定子模块,用于从所述第一目标三角面片中确定与所述目标点最近的三角面片,作为第二目标三角面片;
[0182]
第五确定子模块,用于根据所述第二目标三角面片和所述第二目标三角面片所在的目标体素,从所述多个hu值分组区间中确定目标hu值分组区间,其中,体素为以所述hu矩阵中的相邻八个hu值为顶点的立方体;
[0183]
第六确定子模块,用于根据所述hu矩阵、所述目标hu值分组区间以及所述目标体素,确定所述目标点对应的感兴趣区域。
[0184]
可选地,所述第二确定子模块包括:
[0185]
第二获取子模块,用于获取所述点选指令所选中的目标点的屏幕坐标;
[0186]
第七确定子模块,用于根据所述目标点的屏幕坐标,确定所述目标点的世界坐标;
[0187]
第八确定子模块,用于根据所述目标点的世界坐标和相机原点的世界坐标,确定经过所述目标点、且朝向屏幕内的目标射线。
[0188]
可选地,所述第五确定子模块包括:
[0189]
第九确定子模块,用于确定所述第二目标三角面片对应的等值面的第一目标hu值;
[0190]
第十确定子模块,用于根据所述第一目标hu值和所述第二目标三角面片所在的目标体素,从所述多个hu值分组区间中确定目标hu值分组区间。
[0191]
可选地,所述第十确定子模块包括:
[0192]
第三获取子模块,用于获取所述目标体素的八个顶点的用户坐标;
[0193]
第十一确定子模块,用于根据所述用户坐标,确定所述八个顶点的相机坐标;
[0194]
第十二确定子模块,用于确定所述八个顶点中、hu值大于所述第一目标hu值的顶点的相机坐标的z值的第一平均值,并确定所述八个顶点中、hu值小于所述第一目标hu值的
顶点的相机坐标的z值的第二平均值;
[0195]
第十三确定子模块,用于根据所述第一平均值、所述第二平均值以及所述第一目标hu值,从所述多个hu值分组区间中确定目标hu值分组区间。
[0196]
可选地,所述第十三确定子模块用于:
[0197]
若所述第一平均值大于所述第二平均值,则将所述多个hu值分组区间中、以所述第一目标hu值为下限值的hu值分组区间确定为目标hu值分组区间;
[0198]
若所述第一平均值小于所述第二平均值,则将所述多个hu值分组区间中以所述第一目标hu值为上限值的hu值分组区间确定为目标hu值分组区间;
[0199]
若所述第一平均值等于所述第二平均值,则将所述多个hu值分组区间中、以所述第一目标hu值为下限值的hu值分组区间确定为目标hu值分组区间,或者将所述多个hu值分组区间中以所述第一目标hu值为上限值的hu值分组区间确定为目标hu值分组区间。
[0200]
可选地,所述第六确定子模块包括:
[0201]
第十四确定子模块,用于从所述hu矩阵中确定位于所述目标hu值分组区间内的第二目标hu值;
[0202]
生成子模块,用于根据所述第二目标hu值,生成体素筛选矩阵;
[0203]
连通分析子模块,用于对所述体素筛选矩阵进行连通域分析,得到多个连通域;
[0204]
第十五确定子模块,用于将所述多个连通域中、所述目标体素所在的连通域确定为所述感兴趣区域。
[0205]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0206]
本公开还提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开提供的上述图像标注方法的步骤。
[0207]
图7是根据一示例性实施例示出的一种电子设备700的框图。如图7所示,该电子设备700可以包括:处理器701,存储器702。该电子设备700还可以包括多媒体组件703,输入/输出(i/o)接口704,以及通信组件705中的一者或多者。
[0208]
其中,处理器701用于控制该电子设备700的整体操作,以完成上述的图像标注方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(static random access memory,简称sram),电可擦除可编程只读存储器(electrically erasable programmable read-only memory,简称eeprom),可擦除可编程只读存储器(erasable programmable read-only memory,简称eprom),可编程只读存储器(programmable read-only memory,简称prom),只读存储器(read-only memory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,
按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(near field communication,简称nfc),2g、3g、4g、nb-iot、emtc、或其他5g等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件705可以包括:wi-fi模块,蓝牙模块,nfc模块等等。
[0209]
在一示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(application specific integrated circuit,简称asic)、数字信号处理器(digital signal processor,简称dsp)、数字信号处理设备(digital signal processing device,简称dspd)、可编程逻辑器件(programmable logic device,简称pld)、现场可编程门阵列(field programmable gate array,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的图像标注方法。
[0210]
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的图像标注方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述的图像标注方法。
[0211]
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
[0212]
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
[0213]
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1