著录项信息
专利名称 | 一种器官血管识别方法及装置 |
申请号 | CN201410514806.2 | 申请日期 | 2014-09-29 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2014-12-24 | 公开/公告号 | CN104239874A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06K9/00 | IPC分类号 | G;0;6;K;9;/;0;0查看分类表>
|
申请人 | 青岛海信医疗设备股份有限公司 | 申请人地址 | 山东省青岛市崂山区松岭路169号软件园外包中心三层北侧
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 青岛海信医疗设备股份有限公司 | 当前权利人 | 青岛海信医疗设备股份有限公司 |
发明人 | 宋沂鹏;杨杰;陈永健 |
代理机构 | 北京同达信恒知识产权代理有限公司 | 代理人 | 黄志华 |
摘要
本发明实施例公开了一种器官血管识别方法及装置。该方法包括:分别判断各个切片图像中的各个像素点是否位于目标器官区域,每个切片图像分为目标器官区域和非目标器官区域;对位于目标器官区域的像素点,计算像素点对应的血管度量值;根据得到的血管度量值识别器官血管。分别判断各个切片图像中的各个像素点是否位于目标器官区域,每个切片图像分为目标器官区域和非目标器官区域,仅对目标器官区域的像素点计算对应的血管度量值,而非对全部像素点计算对应的血管度量值,计算血管度量值时运算量减少,从而提高了血管识别的处理效率,且运算过程中需要存储的数据减少,节省了存储空间。解决了器官血管识别效率低和占用大量内存和显存空间的问题。
1.一种器官血管识别方法,其特征在于,包括:
若各个切片图像中的各个像素点对应的模板图像中的像素点的像素值为第一像素值,则对应的切片图像的像素点位于目标器官区域,其中,每个切片图像分为目标器官区域和非目标器官区域;
对位于目标器官区域的像素点,计算像素点对应的血管度量值;
根据得到的血管度量值识别器官血管。
2.根据权利要求1所述的方法,其特征在于,所述若各个切片图像中的各个像素点对应的模板图像中的像素点的像素值为第一像素值,则对应的切片图像的像素点位于目标器官区域,具体包括:
获取每个切片图像对应的模板图像,每个切片图像对应的模板图像分为目标器官区域和非目标器官区域,其中,所述目标器官区域的像素值为第一像素值,所述第一像素值不同于非目标区域的像素值;
分别对各个模板图像中目标器官区域与非目标器官区域的边界进行形态学膨胀;
若各个切片图像中的各个像素点对应的形态学膨胀后模板图像中的像素点的像素值为第一像素值,则对应的切片图像的像素点位于目标器官区域,否则,对应的切片图像的像素点位于非目标器官区域。
3.根据权利要求1所述的方法,其特征在于,所述若各个切片图像中的各个像素点对应的模板图像中的像素点的像素值为第一像素值,则对应的切片图像的像素点位于目标器官区域,具体包括:获取每个切片图像对应的模板图像,每个切片图像对应的模板图像分为目标器官区域和非目标器官区域,其中,所述目标器官区域的像素值为第一像素值,所述第一像素值不同于非目标区域的像素值;
若各个切片图像中的各个像素点对应的模板图像中的像素点的像素值为第一像素值,则对应的切片图像的像素点位于目标器官区域,否则,对应的切 片图像的像素点位于非目标器官区域。
4.根据权利要求1~3任一项所述方法,其特征在于,计算像素点对应的血管度量值,包括:
每次计算预定数量的像素点对应的海森Hessian矩阵;并根据本次计算得到的每个像素点对应的Hessian矩阵计算Hessian矩阵特征值;根据本次计算得到的像素点对应的Hessian矩阵特征值计算像素点对应的血管度量值;
分N次完成目标器官区域中的全部像素点对应的血管度量值的计算,所述N为不小于2的整数。
5.一种器官血管识别装置,其特征在于,包括:
判断单元,用于若各个切片图像中的各个像素点对应的模板图像中的像素点的像素值为第一像素值,则对应的切片图像的像素点位于目标器官区域,其中,每个切片图像分为目标器官区域和非目标器官区域;
计算单元,用于对位于目标器官区域的像素点,计算像素点对应的血管度量值;
识别单元,用于根据得到的血管度量值识别器官血管。
6.根据权利要求5所述的装置,其特征在于,所述判断单元具体用于:
获取每个切片图像对应的模板图像,每个切片图像对应的模板图像分为目标器官区域和非目标器官区域,其中,所述目标器官区域的像素值为第一像素值,所述第一像素值不同于非目标区域的像素值;
分别对各个模板图像中目标器官区域与非目标器官区域的边界进行形态学膨胀;
若各个切片图像中的各个像素点对应的形态学膨胀后模板图像中的像素点的像素值为第一像素值,则对应的切片图像的像素点位于目标器官区域,否则,对应的切片图像的像素点位于非目标器官区域。
7.根据权利要求5或6所述的装置,其特征在于,所述计算单元具体用于:
每次计算预定数量的像素点对应的Hessian矩阵;并根据本次计算得到的每个像素点对应的Hessian矩阵计算Hessian矩阵特征值;根据本次计算得到的像素点对应的Hessian矩阵特征值计算像素点对应的血管度量值;
分N次完成目标器官区域中的全部像素点对应的血管度量值的计算,所述N为不小于2的整数。
一种器官血管识别方法及装置\n技术领域\n[0001] 本发明涉及医学图像处理领域,尤其涉及一种器官血管识别方法及装置。\n背景技术\n[0002] 电脑断层扫描(Computer Tomography,CT)血管造影技术获得的身体器官信息,只是两维的切片图像。通常需要通过图像处理器(Graphic Processing Unit,GPU)对切片图像处理,得到三维图像,显示出器官中的血管结构。GPU对切片图像处理时,先由计算机中央处理器(Central Processing Unit,CPU)将所有的切片图像读入内存当中,再将需要处理的切片图像转存到显存中。通常GPU可以利用像素点对应的海森(Hessian)矩阵及Hessian矩阵的特征值,来识别出器官中的血管结构。因此,GPU首先需要计算出切片图像所有像素点对应的Hessian矩阵。计算Hessian矩阵时,需要首先为所有像素点对应的Hessian矩阵的\n6个元素,分别分配与所有像素点相同的存储空间。即共需要分配所有像素点存储空间的6倍。例如,所有切片图像共有1万个像素点,计算1万个像素点对应的Hessian矩阵时,需要同时为第1个元素分配1万个像素点的存储空间,为第2个元素分配1万个像素点的存储空间,为第3个元素分配1万个像素点的存储空间,同样的,其余3个元素也分别分配1万个像素点的存储空间。因此,计算Hessian矩阵时,需要占据大量的存储空间。计算出所有像素点对应的Hessian矩阵之后,根据每个像素点对应的Hessian矩阵计算出该Hessian矩阵的特征值。\n计算出所有像素点对应的Hessian矩阵的特征值之后,再根据该特征值,利用血管度量函数计算切片图像所有像素点对应的血管度量值。将计算得到各个像素点对应的血管度量值分别与设定的阈值进行比较,如果大于阈值,则确定对应的像素点为血管位置的像素点,如果小于阈值,则确定对应的像素点不是血管位置的像素点,从而可以识别出器官血管。由于器官的切片图像数量比较多,在采用该方法计算血管函数值时,占用大量内存和显存的空间,又要受到计算量巨大而计算时间过长的影响。\n发明内容\n[0003] 本发明实施例的目的是提供一种器官血管识别方法及装置,以解决现有技术中器官血管识别存在的如下问题:在进行器官血管识别时,因计算量大导致血管识别效率低,占用大量内存和显存的空间。本发明的目的是通过以下技术方案实现的:\n[0004] 一种器官血管识别方法,包括:\n[0005] 分别判断各个切片图像中的各个像素点是否位于目标器官区域,每个切片图像分为目标器官区域和非目标器官区域;\n[0006] 对位于目标器官区域的像素点,计算像素点对应的血管度量值;\n[0007] 根据得到的血管度量值识别器官血管。\n[0008] 较佳地,分别判断各个切片图像中的各个像素点是否位于目标器官区域,包括:\n[0009] 获取每个切片图像对应的模板图像,每个切片图像对应的模板图像分为目标器官区域和非目标器官区域,其中,所述目标器官区域的像素值为第一像素值,所述第一像素值不同于非目标区域的像素值;\n[0010] 分别对各个模板图像中目标器官区域与非目标器官区域的边界进行形态学膨胀;\n[0011] 分别判断每个切片图像中的各个像素点对应的形态学膨胀后的模板图像中的像素点的像素值是否为第一像素值;如果是,则对应的切片图像的像素点位于目标器官区域,否则,对应的切片图像的像素点位于非目标器官区域。\n[0012] 较佳地,分别判断各个切片图像中的各个像素点是否位于目标器官区域,包括:\n[0013] 获取每个切片图像对应的模板图像,每个切片图像对应的模板图像分为目标器官区域和非目标器官区域,其中,所述非目标器官区域的像素值为第一像素值,所述第一像素值不同于目标区域的像素值;\n[0014] 分别对各个模板图像中目标器官区域与非目标器官区域的边界进行形态学膨胀;\n[0015] 分别判断每个切片图像中的各个像素点对应的形态学膨胀后的模板图像中的像素点的像素值是否为第一像素值;如果是,则对应的切片图像的像素点位于非目标器官区域,否则,对应的切片图像的像素点位于目标器官区域。\n[0016] 较佳地,分别判断各个切片图像中的各个像素点是否位于目标器官区域,包括:\n[0017] 获取每个切片图像对应的模板图像,每个切片图像对应的模板图像分为目标器官区域和非目标器官区域,其中,所述目标器官区域的像素值为第一像素值,所述第一像素值不同于非目标区域的像素值;\n[0018] 分别判断每个切片图像中的各个像素点对应的模板图像中的像素点的像素值是否为第一像素值;如果是,则对应的切片图像的像素点位于目标器官区域,否则,对应的切片图像的像素点位于非目标器官区域。\n[0019] 较佳地,分别判断各个切片图像中的各个像素点是否位于目标器官区域,包括:\n[0020] 获取每个切片图像对应的模板图像,每个切片图像对应的模板图像分为目标器官区域和非目标器官区域,其中,所述非目标器官区域的像素值为第一像素值,所述第一像素值不同于目标区域的像素值;\n[0021] 分别判断每个切片图像中的各个像素点对应的模板图像中的像素点的像素值是否为第一像素值;如果是,则对应的切片图像的像素点位于非目标器官区域,否则,对应的切片图像的像素点位于目标器官区域。\n[0022] 较佳地,计算像素点对应的血管度量值,包括:\n[0023] 每次计算预定数量的像素点对应的海森Hessian矩阵;并根据本次计算得到的每个像素点对应的Hessian矩阵计算Hessian矩阵特征值;根据本次计算得到的像素点对应的Hessian矩阵特征值计算像素点对应的血管度量值;\n[0024] 分N次完成目标器官区域中的全部像素点对应的血管度量值的计算,所述N为不小于2的整数。\n[0025] 一种器官血管识别装置,包括:\n[0026] 判断单元,用于分别判断各个切片图像中的各个像素点是否位于目标器官区域,每个切片图像分为目标器官区域和非目标器官区域;\n[0027] 计算单元,用于对位于目标器官区域的像素点,计算像素点对应的血管度量值;\n[0028] 识别单元,用于根据得到的血管度量值识别器官血管。\n[0029] 较佳地,所述判断单元具体用于:\n[0030] 获取每个切片图像对应的模板图像,每个切片图像对应的模板图像分为目标器官区域和非目标器官区域,其中,所述目标器官区域的像素值为第一像素值,所述第一像素值不同于非目标区域的像素值;\n[0031] 分别对各个模板图像中目标器官区域与非目标器官区域的边界进行形态学膨胀;\n[0032] 分别判断每个切片图像中的各个像素点对应的形态学膨胀后的模板图像中的像素点的像素值是否为第一像素值;如果是,则对应的切片图像的像素点位于目标器官区域,否则,对应的切片图像的像素点位于非目标器官区域。\n[0033] 较佳地,所述判断单元具体用于:\n[0034] 获取每个切片图像对应的模板图像,每个切片图像对应的模板图像分为目标器官区域和非目标器官区域,其中,所述非目标器官区域的像素值为第一像素值,所述第一像素值不同于目标区域的像素值;\n[0035] 分别对各个模板图像中目标器官区域与非目标器官区域的边界进行形态学膨胀;\n[0036] 分别判断每个切片图像中的各个像素点对应的形态学膨胀后的模板图像中的像素点的像素值是否为第一像素值;如果是,则对应的切片图像的像素点位于非目标器官区域,否则,对应的切片图像的像素点位于目标器官区域。\n[0037] 较佳地,所述计算单元具体用于:\n[0038] 每次计算预定数量的像素点对应的Hessian矩阵;并根据本次计算得到的每个像素点对应的Hessian矩阵计算Hessian矩阵特征值;根据本次计算得到的像素点对应的Hessian矩阵特征值计算像素点对应的血管度量值;\n[0039] 分N次完成目标器官区域中的全部像素点对应的血管度量值的计算,所述N为不小于2的整数。\n[0040] 本发明实施例的有益效果如下:\n[0041] 本发明实施例中,分别判断各个切片图像中的各个像素点是否位于目标器官区域,每个切片图像分为目标器官区域和非目标器官区域,仅对目标器官区域的像素点计算对应的血管度量值,而非对全部像素点计算对应的血管度量值,计算血管度量值时运算量减少,从而提高了血管识别的处理效率,且运算过程中需要存储的数据减少,节省了存储空间。\n[0042] 目标器官区域与非目标器官区域边界处的灰度值对比度较大,因此,其血管度量值的特征与血管处的血管度量值的特征近似,容易将目标器官区域与非目标器官区域边界误识别为血管。本发明实施例提供的技术方案,进一步的,将模板图像中的目标器官区域与非目标器官区域的边界进行形态学膨胀,得到像素值不同于目标器官区域像素值的边界带,在利用经过形态学膨胀的模板图像参与对应的切片图像中像素点的判断时,则不需要计算切片图像的目标器官区域与非目标器官区域边界的像素点对应的血管度量值,从而不会将目标器官边界误识别为目标器官的血管,消除了目标器官边界对目标器官的血管识别的干扰。\n[0043] 进一步的,现有技术中在计算Hessian矩阵时,需要首先分别计算得到每个Hessian矩阵的6个元素,然后根据计算得到的每个Hessian矩阵的6个元素得到相应的Hessian矩阵。因此,在计算Hessian矩阵的过程中,需要依次保存所有像素点对应的某一元素。本发明实施例提供的技术方案,每次计算预定数量的像素点对应的Hessian矩阵,并计算相应的Hessian矩阵特征值,从而计算预定数量的像素点对应的血管度量值;按照该过程分至少两次完成目标器官区域中的全部像素点对应的血管度量值的计算,那么,仅需要保存预定数量的像素点对应的Hessian矩阵的各个元素,而不需要保存全部像素点对应的Hessian矩阵的各个元素,节省了Hessian矩阵的各个元素需要占用的存储空间。\n附图说明\n[0044] 图1为本发明实施例提供的一种器官血管识别方法的流程图;\n[0045] 图2为本发明实施例提供的第一种分别判断各个切片图像中的各个像素点是否位于目标器官区域的方法流程图;\n[0046] 图3为本发明实施例提供的第二种分别判断各个切片图像中的各个像素点是否位于目标器官区域的方法流程图;\n[0047] 图4为本发明实施例提供的第三种分别判断各个切片图像中的各个像素点是否位于目标器官区域的方法流程图;\n[0048] 图5为本发明实施例提供的第四种分别判断各个切片图像中的各个像素点是否位于目标器官区域的方法流程图;\n[0049] 图6为本发明实施例提供的一种以肝脏血管为例的器官血管识别方法的流程图;\n[0050] 图7为本发明实施例中读入的肝脏原始模板图像;\n[0051] 图8a为本发明实施例中提供的以肝脏血管为例的现有技术的肝脏血管识别方法的效果;\n[0052] 图8b为本发明实施例中提供的以肝脏血管为例的器官血管识别方法的效果;\n[0053] 图9为本发明实施例提供的一种器官血管识别装置图。\n具体实施方式\n[0054] 下面结合附图和实施例对本发明提供的一种器官血管识别方法及装置进行更详细地说明。\n[0055] 本发明实施例提供了一种器官血管识别方法,如图1所示,具体步骤如下:\n[0056] 步骤110:分别判断各个切片图像中的各个像素点是否位于目标器官区域,每个切片图像分为目标器官区域和非目标器官区域。\n[0057] 其中,切片图像可以为灰度图像,相应的,像素值用灰度值表示。\n[0058] 其中,目标器官是指待进行血管识别的器官。\n[0059] 步骤120:对位于目标器官区域的像素点,计算像素点对应的血管度量值。\n[0060] 步骤130:根据得到的血管度量值识别器官血管。\n[0061] 本发明实施例中,分别判断各个切片图像中的各个像素点是否位于目标器官区域,每个切片图像分为目标器官区域和非目标器官区域,仅对目标器官区域的像素点计算对应的血管度量值,而非对全部像素点计算对应的血管度量值,计算血管度量值时运算量减少,从而提高了血管识别的处理效率,且运算过程中需要存储的数据减少,节省了存储空间。\n[0062] 本发明实施例中,分别判断各个切片图像中的各个像素点是否位于目标器官区域的方法有多种。较佳地,通过切片图像对应的模板图像判断切片图像中的各个像素点是否位于目标器官区域。本发明实施例中,模板图像分为两个区域,其一是目标器官区域,其二是非目标器官区域。模板图像是采用现有的图像分割处理方案,将对应的切片图像分割为目标器官区域和非目标器官区域,并通过设置使得这两个区域的像素值不同得到的。\n[0063] 下面例举几种通过切片图像对应的模板图像判断切片图像中的各个像素点是否位于目标器官区域的实现方式。\n[0064] 本发明实施例提供的第一种分别判断各个切片图像中的各个像素点是否位于目标器官区域的方法如图2所示,具体步骤如下:\n[0065] 步骤210:获取每个切片图像对应的模板图像,每个切片图像对应的模板图像分为目标器官区域和非目标器官区域。\n[0066] 其中,该目标器官区域的像素值为第一像素值,该第一像素值不同于非目标器官区域的像素值。\n[0067] 其中,该目标器官区域的像素值为第一像素值是指,目标器官区域中各个像素点的像素值为第一像素值。\n[0068] 该步骤中的每个切片图像对应的模板图像是采用现有的图像分割处理方案,将对应的切片图像分割为目标器官区域和非目标器官区域,并将其中的目标器官区域的像素值设置为第一像素值得到的。\n[0069] 其中,模板图像可以为灰度图像,相应的,像素值用灰度值表示。\n[0070] 步骤220:分别对各个模板图像中目标器官区域与非目标器官区域的边界进行形态学膨胀。\n[0071] 该步骤中,进行形态学膨胀时,该目标器官区域的边界同时向目标器官区域和非目标器官区域膨胀。通过形态学膨胀,将膨胀涉及到的像素点的像素值设置为不同于第一像素值的像素值,从而得到像素值不同于第一像素值的边界带。\n[0072] 其中,确定目标区域与非目标区域的边界的实现方式有多种,例如:将每一个模板图像的任一个四邻域的都为非零值的像素点的像素值设置为零,从而得到目标区域和非目标区域的边界。\n[0073] 又例如,查找模板图像中,四邻域中有第一像素值和非第一像素值的像素点,查找到的像素点构成目标区域与非目标区域的边界。\n[0074] 步骤230:分别判断每个切片图像中的各个像素点对应的形态学膨胀后的模板图像中的像素点的像素值是否为第一像素值;如果是,则对应的切片图像的像素点位于目标器官区域,否则,对应的切片图像的像素点位于非目标器官区域。\n[0075] 本发明实施例中,如果切片图像的像素点a位于切片图像中的第n行第m列,与模板图像的像素点a’位于模板图像中的第n行第m列,则切片图像的像素点a与模板图像中的像素点a’对应。\n[0076] 本发明实施例提供的第二种分别判断各个切片图像中的各个像素点是否位于目标器官区域的方法如图3所示,具体步骤如下:\n[0077] 步骤310:获取每个切片图像对应的模板图像,每个切片图像对应的模板图像分为目标器官区域和非目标器官区域。\n[0078] 其中,该非目标器官区域的像素值为第一像素值,该第一像素值不同于目标器官区域的像素值。\n[0079] 其中,该非目标器官区域的像素值为第一像素值是指,非目标器官区域中各个像素点的像素值为第一像素值。\n[0080] 该步骤中的每个切片图像对应的模板图像是采用现有的图像分割处理方案,将对应的切片图像分割为目标器官区域和非目标器官区域,并将其中的非目标器官区域的像素值设置为第一像素值得到的。\n[0081] 步骤320:分别对各个模板图像中目标器官区域与非目标器官区域的边界进行形态学膨胀。\n[0082] 该步骤中,进行形态学膨胀时,该目标器官区域的边界同时向目标器官区域和非目标器官区域膨胀。通过形态学膨胀,将膨胀涉及到的像素点的像素值设置为第一像素值,从而得到像素值为第一像素值的边界带。\n[0083] 步骤330:分别判断每个切片图像中的各个像素点对应的形态学膨胀后的模板图像中的像素点的像素值是否为第一像素值;如果是,则对应的切片图像的像素点位于非目标器官区域,否则,对应的切片图像的像素点位于目标器官区域。\n[0084] 目标器官区域与非目标器官区域边界处的灰度值对比度较大,因此,其血管度量值的特征与血管处的血管度量值的特征近似,容易将目标器官区域与非目标器官区域边界误识别为血管。上述实施例提供的两种实现方式中,将模板图像中的目标器官区域与非目标器官区域的边界进行形态学膨胀,得到像素值不同于目标器官区域像素值的边界带,在利用经过形态学膨胀的模板图像参与对应的切片图像中像素点的判断时,则不需要计算切片图像的目标器官区域与非目标器官区域边界的像素点对应的血管度量值,从而不会将目标器官边界误识别为目标器官的血管,消除了目标器官边界对目标器官的血管识别的干扰。\n[0085] 本发明实施例提供的第三种分别判断各个切片图像中的各个像素点是否位于目标器官区域的方法如图4所示,具体步骤如下:\n[0086] 步骤410:获取每个切片图像对应的模板图像,每个切片图像对应的模板图像分为目标器官区域和非目标器官区域,其中,该目标器官区域的像素值为第一像素值,该第一像素值不同于非目标器官区域的像素值;\n[0087] 步骤420:分别判断每个切片图像中的各个像素点对应的模板图像中的像素点的像素值是否为第一像素值;如果是,则对应的切片图像的像素点位于目标器官区域,否则,对应的切片图像的像素点位于非目标器官区域。\n[0088] 本发明实施例提供的第四种分别判断各个切片图像中的各个像素点是否位于目标器官区域的方法如图5所示,具体步骤如下:\n[0089] 步骤510:获取每个切片图像对应的模板图像,每个切片图像对应的模板图像分为目标器官区域和非目标器官区域,其中,该非目标器官区域的像素值为第一像素值,该第一像素值不同于目标器官区域的像素值;\n[0090] 步骤520:分别判断每个切片图像中的各个像素点对应的模板图像中的像素点的像素值是否为第一像素值;如果是,则对应的切片图像的像素点位于非目标器官区域,否则,对应的切片图像的像素点位于目标器官区域。\n[0091] 应当指出的是,分别判断各个切片图像中的各个像素点是否位于目标器官区域的方法不仅限于以上所述方法。\n[0092] 上述步骤120中,计算像素点对应的血管度量值的方法有多种,本发明实施例例举了其中一种方法,具体步骤如下:\n[0093] 每次计算预定数量的像素点对应的Hessian矩阵;并根据本次计算得到的每个像素点对应的Hessian矩阵计算Hessian矩阵特征值;根据本次计算得到的像素点对应的Hessian矩阵特征值计算像素点对应的血管度量值。\n[0094] 分N次完成目标器官区域中的全部像素点对应的血管度量值的计算,该次数N为不小于2的整数。\n[0095] 每次计算预定的数量根据实际需要进行对应的血管度量值计算的像素点的数量确定。\n[0096] 其中,该次数N可以根据实际需要进行对应的血管度量值计算的像素点的数量确定,N为不小于2的整数。\n[0097] 本发明实施例中,现有技术中在计算Hessian矩阵时,需要首先计算得到每个Hessian矩阵的6个元素,然后根据计算得到的每个Hessian矩阵的6个元素得到相应的Hessian矩阵。因此,在计算Hessian矩阵的过程中,需要依次保存所有像素点对应的某一元素。本发明实施例提供的技术方案,每次计算预定数量的像素点对应的Hessian矩阵,并计算相应的Hessian矩阵特征值,从而计算预定数量的像素点对应的血管度量值;按照该过程分至少两次完成目标器官区域中的全部像素点对应的血管度量值的计算,那么,仅需要保存预定数量的像素点对应的Hessian矩阵的各个元素,而不需要保存全部像素点对应的Hessian矩阵的各个元素,节省了Hessian矩阵的各个元素需要占用的存储空间。\n[0098] 由于目标器官的血管具有不同的尺度,对于每个像素点,在标准差为sigma的尺度下计算Hessian矩阵,Hessian矩阵的表达式如下:\n[0099]\n[0100] I_sigma表示经过滤波之后的像素点,x、y表示该像素点的在切片图像中的位置,z表示该像素点所在切片图像的编号。该矩阵是由该像素点的二阶偏导数构成,矩阵中有9个偏导数。由于该Hessian矩阵具有对称性,因此可以只计算6个偏导数。即计算时,只需计算6个元素就可以得到Hessian矩阵。\n[0101] 进一步的,用sigma2乘以Hessian矩阵进行归一化,从而可以在多尺度下选择出最大的血管度量值,此时,Hessian矩阵改写成:\n[0102]\n[0103] 该步骤中,计算该像素点对应的Hessian矩阵的三个特征值λ1、λ2、λ3(|λ1|≤|λ2|≤|λ3|)。针对3维(three Dimensional,3D)的体素,该体素是该像素点在三维图像中的表示方式,由于灰度值在血管方向上的变化较小,而垂直于血管方向其变化较大。最小的特征值λ1对应的特征向量代表着曲率最小的方向,即血管的方向;而较大特征值λ2和λ3(两者几乎相等且均为负值)对应的特征向量组成一个垂直于血管方向的平面。\n[0104] 上述实施例中,计算血管度量值的血管度量函数有多种,优选的,该血管度量值用弗兰吉(Frangi)血管度量函数计算。由于目标器官中的血管结构具有不同的尺寸特性,因此需要用多尺度的方法来得到其血管度量值,即:\n[0105]\n[0106] 其中,Vesselness表示血管度量值,sigma_low表示切片图像中血管的最小尺度,sigma_high表示切片图像中血管的最大尺度,Vesselness_Frangi表示不同尺度的血管度量值。\n[0107] 上述实施例中,计算每一批像素点对应的血管度量值时,既可以采用串行计算,也可以采用并行计算,优选的,采用并行计算。可选择的并行计算方法有多种,优选的,采用通用并行计算架构(Computer Unified Device Architecture,CUDA)并行计算。CUDA是基于GPU的通用并行计算架构,可以进行C语言编程,提高了编程的灵活性。若判断出像素点位于部分或全部目标器官区域中,则由GPU基于CUDA平台采用并行算法计算像素点对应的血管度量值;若判断出像素点不在部分或全部目标器官区域中,则将像素点对应的血管度量值计为零,或者不对该像素点进行任何操作。\n[0108] 通过利用并行计算的方式计算像素点对应的血管度量值,从而进一步提高了器官血管的识别的处理效率。\n[0109] 以肝脏血管为例,本发明实施例提供的器官血管识别方法的具体实施方式如图6所示,具体流程如下:\n[0110] 步骤610:读入肝脏切片图像和肝脏模板图像。\n[0111] 步骤620:根据步骤610读入的肝脏切片图像处理各个肝脏切片图像对应的肝脏模板图像,包括:将获取的每个肝脏切片图像分别对应的肝脏模板图像的任一个四邻域都为非零值的像素点设置为零,确定肝脏区域与非肝脏区域的边界;对得到的肝脏区域和非肝脏区域的边界向肝脏区域和非肝脏区域进行形态学膨胀,得到像素值为非零值的肝脏边界带。将处理后的模板图像读入到GPU显存的纹理存储器中。\n[0112] 其中,进行形态学膨胀时,可以依据不同的肝脏切片图像设置膨胀的次数,优选的,对肝脏区域的边界进行10次膨胀。\n[0113] 步骤630:对读入的肝脏切片图像进行滤波和对比度增强等预处理操作。将预处理后的肝脏切片图像读入到GPU显存的纹理存储器中。\n[0114] 该步骤用于抑制噪声并增强血管与背景的对比度,利于肝脏中血管的识别。\n[0115] 步骤640:设置计算肝脏血管度量值的sigma尺度为血管最小尺度sigma_low。\n[0116] 本发明实施例中,sigma尺度是指标准差为sigma的血管尺度。\n[0117] 步骤650:判断sigma尺度是否小于或等于血管的最大的尺度sigma_high,若是,则执行步骤660;否则,执行步骤6170。\n[0118] 步骤660:对肝脏切片图像进行sigma尺度的3D高斯滤波。\n[0119] 该步骤中,在对预处理后的肝脏切片图像进行3D高斯滤波时,利用其线性可分性,将其分解为x、y、z方向的三个独立一维空间分别进行计算,从而减少计算的复杂度。\n[0120] 上述步骤620与步骤630~步骤660没有时序要求。\n[0121] 步骤670:顺序读取一个滤波后的像素点。\n[0122] 该步骤中,预定计算的像素点的数量为一个。具体的,对于不同肝脏切片图像的像素点,按照肝脏切片图像的排列顺序;对于同一个肝脏切片图像中的像素点,按照从左上顶点到右下顶点的像素点排列顺序。\n[0123] 步骤680:判断步骤670中读取的像素点是否位于部分肝脏区域中,若是,则执行步骤6100;否则,执行步骤690。\n[0124] 步骤690:将Frangi血管度量值Vesselness(x,y,z)设置为0,并执行步骤6150。\n[0125] 步骤6100:计算像素点对应的Hessian矩阵。\n[0126] 步骤6110:计算像素点对应的Hessian矩阵的特征值。\n[0127] 步骤6120:计算像素点的Frangi血管度量值Vesselness_Frangi。\n[0128] 步骤6130:判断sigma尺度的血管度量值Vesselness_Frangi是否大于血管度量值Vesselness,Vesselness为计算得到的最大的血管度量值。若是,则执行步骤6140,否则执行步骤6150。\n[0129] 其中,Vesselness∈[0,1],肝脏血管处的Vesselness值为非零,用于增加血管灰度值与肝脏内其它组织灰度值的对比度,来实现血管的增强。\n[0130] 步骤6140:设置血管度量值Vesselness为Vesselness_Frangi。\n[0131] 步骤6150:判断所有像素点是否已遍历完,若是,则执行步骤6160;否则,执行步骤\n670。\n[0132] 步骤6160:改变sigma尺度,每次改变的尺度值为sigma_step,并执行步骤650。\n[0133] 步骤6170:得到最终结果,进行肝脏血管识别。\n[0134] 其中,处理肝脏模板图像的过程是在CPU进行的;位于部分肝脏区域中的像素点,利用由GPU基于CUDA平台采用并行算法计算像素点对应的血管度量值。\n[0135] 计算时,参数sigma_low,sigma_high,sigma_step根据实际肝脏切片图像的大小进行设置。\n[0136] 上述实施例中,具体的肝脏原始模板图像如图7所示,矩形框所示的区域为非肝脏区域。如图8a矩形框所示,为根据现有技术得到的肝脏血管识别效果。肝脏边界的灰度值对比度较大,因此,肝脏边界的血管度量值的特征与肝脏血管处的血管度量值的特征近似,容易将肝脏边界误识别为肝脏血管。如图8b矩形所示,为本发明实施例得到的肝脏血管识别效果。由于将模板图像中的肝脏边界进行形态学膨胀,得到像素值不同于肝脏区域像素值的肝脏边界带,利用对应的形态学膨胀后的模板图像参与切片图像中像素点的判断时,肝脏边界的像素点被判断为不位于目标器官区域,不需要计算血管度量值,因此,不会将肝脏边界误识别为肝脏血管。\n[0137] 上述实施例中,构成3D器官图像的一组肝脏切片图像的大小可以表示为(x×y×z),其中,x表示每个肝脏切片图像中一行(或一列)像素点的数量,y表示每个肝脏切片图像中一列(或一行)像素点的数量,z表示该组肝脏切片图像的数量。例如该组肝脏切片图像大小为(512×512×76),表示该组肝脏切片图像,每个肝脏切片图像中一行(或一列)像素点的数量为512,每个肝脏切片图像中一列(或一行)像素点的数量为512,该组肝脏切片图像有76片肝脏切片图像。在识别肝脏血管时,对于较小的肝脏切片图像,采用现有技术,识别肝脏血管需要1375.56秒。本发明实施例识别肝脏血管需要的时间为33.49秒,与现有技术相比的加速比为41.07倍。对于较大的肝脏切片图像,例如一组肝脏切片图像大小为(512×\n512×301),本发明实施例识别肝脏血管需要的时间为133.76秒。而现有技术则无法进行肝脏血管识别,因为在计算所有肝脏切片图像的Hessian矩阵时,需要分配的内存至少为2107 MB的内存,这是在现在运行的系统中内存和显存空间是无法满足的,所以也就无法计算结果。\n[0138] 实施例还提供一种器官血管识别装置,如图9所示,具体包括判断单元901、计算单元902和识别单元903。\n[0139] 判断单元901,用于分别判断各个切片图像中的各个像素点是否位于目标器官区域,每个切片图像分为目标器官区域和非目标器官区域。\n[0140] 计算单元902,用于对位于目标器官区域的像素点,计算像素点对应的血管度量值。\n[0141] 识别单元903,用于根据得到的血管度量值识别器官血管。\n[0142] 较佳地,该判断单元901具体用于:\n[0143] 获取每个切片图像对应的模板图像,每个切片图像对应的模板图像分为目标器官区域和非目标器官区域,其中,该目标器官区域的像素值为第一像素值,该第一像素值不同于非目标区域的像素值。\n[0144] 分别对各个模板图像中目标器官区域与非目标器官区域的边界进行形态学膨胀。\n[0145] 分别判断每个切片图像中的各个像素点对应的形态学膨胀后的模板图像中的像素点的像素值是否为第一像素值;如果是,则对应的切片图像的像素点位于目标器官区域,否则,对应的切片图像的像素点位于非目标器官区域。\n[0146] 较佳地,该判断单元901具体用于:\n[0147] 获取每个切片图像对应的模板图像,每个切片图像对应的模板图像分为目标器官区域和非目标器官区域,其中,该非目标器官区域的像素值为第一像素值,该第一像素值不同于目标区域的像素值。\n[0148] 分别对各个模板图像中目标器官区域与非目标器官区域的边界进行形态学膨胀。\n[0149] 分别判断每个切片图像中的各个像素点对应的形态学膨胀后的模板图像中的像素点的像素值是否为第一像素值;如果是,则对应的切片图像的像素点位于非目标器官区域,否则,对应的切片图像的像素点位于目标器官区域。\n[0150] 较佳地,该计算单元902具体用于:\n[0151] 每次计算预定数量的像素点对应的Hessian矩阵;并根据本次计算得到的每个像素点对应的Hessian矩阵计算Hessian矩阵特征值;根据本次计算得到的像素点对应的Hessian矩阵特征值计算像素点对应的血管度量值。\n[0152] 分N次完成目标器官区域中的全部像素点对应的血管度量值的计算,该N为不小于\n2的整数。\n[0153] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。\n[0154] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。\n[0155] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。\n[0156] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。\n[0157] 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。\n[0158] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
法律信息
- 2017-11-03
- 2015-01-14
实质审查的生效
IPC(主分类): G06K 9/00
专利申请号: 201410514806.2
申请日: 2014.09.29
- 2014-12-24
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2007-04-11
|
2006-11-08
| | |
2
| |
2009-05-06
|
2008-11-17
| | |
3
| |
2010-08-18
|
2010-05-12
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |