发明内容
为了解决现有技术中存在的上述问题,本发明提供一种正位胸片心胸比测量方法及装置。
为了实现上述目的,本发明采用以下技术方案。
第一方面,本发明提供一种正位胸片心胸比测量方法,包括以下步骤:
从输入胸片图像中分割出心脏轮廓、左肺野轮廓和右肺野轮廓;
分别求出心脏轮廓横坐标的最大值和最小值,计算所述最大值和最小值的差,得到心脏横径;
在右肺野轮廓的下部找到斜率绝对值最小的点,过此点作一水平线,计算所述水平线与左肺野轮廓、右肺野轮廓的外侧交点之间的线段长度,得到胸廓横径;
用所述心脏横径除以所述胸廓横径得到心胸比。
进一步地,所述方法还包括将输入胸片图像缩放到800*1333像素*像素,灰度值范围为[0,255]。
进一步地,所述方法还包括输入胸片图像倾斜校正步骤:将输入的胸片图像输入一个空间变换网络STN,基于STN的输出与模板图像的差异计算损失函数,利用所述损失函数对STN进行训练,通过优化网络参数(α,sx,sy,tx,ty)对输入胸片图像进行旋转、伸缩和平移变换,使其与模板图像对正;其中,α为旋转角度,sx、sy分别为x、y方向的缩放倍数,tx、ty分别x、y方向的平移量;所述模板图像通过对多个体中线为竖直线的标准正位胸片图像求均值获得。
更进一步地,从输入胸片图像到模板图像的坐标变换方程为:
即:
式中,T为坐标变换矩阵,(x,y)为输入胸片图像的像素点坐标,(x′,y′)为模板图像的像素点坐标。
进一步地,所述斜率绝对值的计算公式为:
式中,ki为右肺野轮廓上第i个像素点(xi,yi)处的斜率的绝对值,(xi-δ,yi-δ)、(xi+δ,yi+δ)分别为(xi,yi)前面和后面第δ个像素点的坐标,yi>(ymax+ymin)/2,ymax、ymin分别为右肺野轮廓上纵坐标的最大值和最小值,坐标原点在图像的左上角,纵坐标y向下为正方向。
第二方面,本发明提供一种正位胸片心胸比测量装置,包括:
轮廓分割模块,用于从输入胸片图像中分割出心脏轮廓、左肺野轮廓和右肺野轮廓;
心脏横径计算模块,用于分别求出心脏轮廓横坐标的最大值和最小值,计算所述最大值和最小值的差,得到心脏横径;
胸廓横径计算模块,用于在右肺野轮廓的下部找到斜率绝对值最小的点,过此点作一水平线,计算所述水平线与左肺野轮廓、右肺野轮廓的外侧交点之间的线段长度,得到胸廓横径;
心胸比计算模块,用于用所述心脏横径除以所述胸廓横径得到心胸比。
进一步地,所述装置还包括将图像标准化模块,用于将输入胸片图像缩放到800*1333像素*像素,灰度值范围为[0,255]。
进一步地,所述装置还包括倾斜校正模块,用于将输入的胸片图像输入一个空间变换网络STN,基于STN的输出与模板图像的差异计算损失函数,利用所述损失函数对STN进行训练,通过优化网络参数(α,sx,sy,tx,ty)对输入胸片图像进行旋转、伸缩和平移变换,使其与模板图像对正;其中,α为旋转角度,sx、sy分别为x、y方向的缩放倍数,tx、ty分别x、y方向的平移量;所述模板图像通过对多个体中线为竖直线的标准正位胸片图像求均值获得。
更进一步地,从输入胸片图像到模板图像的坐标变换方程为:
即:
式中,T为坐标变换矩阵,(x,y)为输入胸片图像的像素点坐标,(x′,y′)为模板图像的像素点坐标。
进一步地,所述斜率绝对值的计算公式为:
式中,ki为右肺野轮廓上第i个像素点(xi,yi)处的斜率的绝对值,(xi-δ,yi-δ)、(xi+δ,yi+δ)分别为(xi,yi)前面和后面第δ个像素点的坐标,yi>(ymax+ymin)/2,ymax、ymin分别为右肺野轮廓上纵坐标的最大值和最小值,坐标原点在图像的左上角,纵坐标y向下为正方向。
与现有技术相比,本发明具有以下有益效果。
本发明通过分别求出心脏轮廓横坐标的最大值和最小值,计算所述最大值和最小值的差得到心脏横径,在右肺野轮廓的下部找到斜率绝对值最小的点,过此点作一水平线,计算所述水平线与左肺野轮廓、右肺野轮廓的外侧交点之间的线段长度得到胸廓横径,用所述心脏横径除以所述胸廓横径得到心胸比,实现了心胸比的自动计算。本发明通过求解斜率绝对值最小点找到右膈顶,过右膈顶作水平线计算胸廓横径,解决了现有技术利用包围左、右肺野轮廓的矩形竖边之间的距离得到的胸廓横径大于实际值,从而导致心胸比偏小的问题,提高了心胸比的计算精度。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明白,以下结合附图及具体实施方式对本发明作进一步说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例一种正位胸片心胸比测量方法的流程图,包括以下步骤:
步骤101,从输入胸片图像中分割出心脏轮廓、左肺野轮廓和右肺野轮廓;
步骤102,分别求出心脏轮廓横坐标的最大值和最小值,计算所述最大值和最小值的差,得到心脏横径;
步骤103,在右肺野轮廓的下部找到斜率绝对值最小的点,过此点作一水平线,计算所述水平线与左肺野轮廓、右肺野轮廓的外侧交点之间的线段长度,得到胸廓横径;
步骤104,用所述心脏横径除以所述胸廓横径得到心胸比。
本实施例给出一种正位胸片心胸比测量方法。心胸比是放射科医生用于评估心脏肥大的重要量化指标。心胸比是指正位胸片上心脏横径与胸廓横径的比值。心脏横径与胸廓横径是两个常用的影像名词,心脏横径等于左、右心缘至体中线的最大距离之和,胸廓横径即右膈顶水平胸廓的内径。本实施例通过分别计算心脏横径与胸廓横径,然后求二者的比值得到心胸比。
本实施例中,步骤101主要用于从输入胸片图像中分割出心脏轮廓、左肺野轮廓和右肺野轮廓。本实施例采用深度学习中的语义分割技术从胸片图像上自动分割出心脏和左、右肺野的轮廓。深度卷积神经网络能自动提取整合图像的纹理、形状等特征,避免了传统方法中出现的对像素灰度阈值的选择和依赖的情况。同时,由语义分割技术得到的物体轮廓边界光滑,很好地保持了物体边界的几何性质,尤其是对像心脏、肺野这类较大的物体。通常的语义分割网络,如Unet及其各种变体、FCN、Deeplab等,都可以用于本任务。经对比试验,本实施例采用Deeplab_v3网络,一次性分割出左、右肺野和心脏的轮廓。在训练分割网络时,采用了结合DICE损失和交叉熵(cross entropy)损失作为分割结果的损失函数。并且在计算交叉熵损失时,还采用了Hard pixel mining技术,将损失集中在预测误差较大的像素上(通常是边界处的像素),这样可以让网络在物体边界上的预测效果更好。
本实施例中,步骤102主要用于计算心脏横径。心脏横径等于左、右心缘至体中线的最大距离之和,如图3所示。体中线正常情况下是竖直线,平行于纵轴y,因此心脏横径等于心脏轮廓横坐标的最大值和最小值的差。如果输入的胸片图像发生了倾斜,体中线将不再是竖直线,按照上述方法计算心脏横径将会产生偏差。因此,需要对胸片图像进行倾斜校正即对正。
本实施例中,步骤103主要用于计算胸廓横径。胸廓横径也就是右膈顶水平胸廓的内径,如图4所示。由于正位胸片上人体两侧胸廓的边界并不总是竖直的,因此使用包围左、右肺野轮廓的矩形的竖边之间的最大水平距离来计算胸廓横径,通常会比右膈顶水平胸廓内径要大,从而使计算出来的心胸比偏小。为了解决这个问题,本实施例通过找到右膈顶,过右膈顶作水平线计算右膈顶水平胸廓的内径。由于右膈顶是右肺野下方穹窿形边界的顶部,也就是轮廓线的极大值点,此点的导数为0,过该点的切线的斜率为0或斜率绝对值最小。因此,可以在右肺野下半部分的边界上搜索切线斜率绝对值最小的点,此点即为右膈顶点(图4中的p点);过该点的水平线与左、右肺野轮廓的外侧交点之间的线段长度(图4中线段p1p2的长度)就是右膈顶水平胸廓的内径,即胸廓横径。值得注意的是,右肺野上方边界也有一个极大值点,因此,但该点不是右膈顶,通常称为肺尖,计算时需要避开肺尖部分,否则会出现错误。
本实施例中,步骤104主要用于计算心胸比。有了心脏横径和胸廓横径,计算二者的比值就得到了心胸比。
作为一可选实施例,所述方法还包括将输入胸片图像缩放到800*1333像素*像素,灰度值范围为[0,255]。
本实施例给出了对输入胸片图像进行预处理的一种技术方案。由于市面上的DR(直接数字化X射线摄影装置)机型多样,拍摄后处理参数各不相同,成像质量差异较大,造成不同DR影像具有不同的灰度值范围。如果直接使用DR影像原始的灰度值作为输入,将不利于用于轮廓分割的深度学习网络的训练和预测。因此,需要对DR影像的灰度值进行统一化处理,使不同的DR影像具有基本一致的灰度值范围。具体的灰度值统一化方法为:将DR影像的灰度值截断在以窗位为中心,以窗宽为长度的区间(称之为窗口区间)里,然后线性地将窗口区间映射到目标区间,如[0,255]。对于有些缺失窗宽或窗位信息的图像,直接对其图像的灰度值进行线性映射,将灰度值的最小和最大值分别映射到目标区间的最小和最大值。这样,DR影像的灰度值就全部被映射到了一个统一的范围里。同时,为了应对不同DR影像尺寸差异较大的问题,还对DR影像进行了尺寸标准化处理,将胸片图像缩放到800*1333像素*像素。具体做法是:将图像保持宽高比按较小边缩放到800,此时如果其较大边超过了1333,就保持宽高比按较大边缩放到1333。
作为一可选实施例,所述方法还包括输入胸片图像倾斜校正步骤:将输入的胸片图像输入一个空间变换网络STN(Spatial Transformer Network),基于STN的输出与模板图像的差异计算损失函数,利用所述损失函数对STN进行训练,通过优化网络参数(α,sx,sy,tx,ty)对输入胸片图像进行旋转、伸缩和平移变换,使其与模板图像对正;其中,α为旋转角度,sx、sy分别为x、y方向的缩放倍数,tx、ty分别x、y方向的平移量;所述模板图像通过对多个体中线为竖直线的标准正位胸片图像求均值获得。
本实施例给出了对输入胸片图像进行倾斜校正的一种技术方案。标准的正位胸片的体中线应为竖直线,即与纵轴平行。但实际上很多胸片图像都有一定程度的倾斜,使其体中线偏离竖直方向,如图5所示。由前面实施例给出的心脏横径和胸廓横径的求解方法可知,如果胸片图像的体中线偏离竖直方向,得到的心脏横径和胸廓横径都将有一定的偏差,从而影响心胸比的计算精度。因此需要对倾斜的胸片图像进行校正。
本实施例利用一个STN网络实现胸片图像的校正。STN网络的结构如图6所示,待校正的胸片图像作为STN网络的输入,STN网络的Localization net部分用来回归出空间变换的参数。在训练STN网络时,将STN网络的输出(即图中的V)与模板图像进行对比,计算它们之间的感知损失(perceptual loss),并以此感知损失为损失函数优化网络参数使得感知损失足够小。当感知损失足够小时,输出V和模板图像在整体上足够接近,从而使待校正的胸片图像的体中线也接近竖直。网络参数(α,sx,sy,tx,ty)分别是旋转角度、缩放倍数和平移量,因此,网络参数的优化过程是实际上是对输入胸片图像逐步进行旋转、伸缩和平移的变换过程;也是输入胸片图像与模板图像的对正过程,因此对胸片图像的倾斜校正过程通常也称为对正或对齐。STN网络中的Localization net可以是深度学习中常用的分类/回归网络,如VGG,ResNet以及DenseNet等。
本实施例通过利用STN网络对胸片图像进行倾斜校正,使胸片图像的体中线成为竖直线,可提高心脏横径和胸廓横径的计算精度,从而提高心胸比的计算精度。
作为一可选实施例,从输入胸片图像到模板图像的坐标变换方程为:
即:
式中,T为坐标变换矩阵,(x,y)为输入胸片图像的像素点坐标,(x′,y′)为模板图像的像素点坐标。
本实施例给出了倾斜校正的等效变换方程。倾斜校正实际上是对一个坐标系的旋转、伸缩和平移的变换过程,即从输入胸片图像坐标系到模板图像坐标系的变换过程。变换矩阵为T,矩阵形式和方程组形式的变换方程分别如上式所示。
作为一可选实施例,所述斜率绝对值的计算公式为:
式中,ki为右肺野轮廓上第i个像素点(xi,yi)处的斜率的绝对值,(xi-δ,yi-δ)、(xi+δ,yi+δ)分别为(xi,yi)前面和后面第δ个像素点的坐标,yi>(ymax+ymin)/2,ymax、ymin分别为右肺野轮廓上纵坐标的最大值和最小值,坐标原点在图像的左上角,纵坐标y向下为正方向。
本实施例给出了斜率绝对值的计算公式。本实施例采用相邻点的差商作为切线斜率的近似。同时,考虑到可能出现“拐点”,如图4下侧最左边和最右边的点,采用双边差商的绝对值的平均值来近似代替切线斜率的绝对值,如上式所示。如果采用通常的单边差商计算斜率,那么在图4下侧“拐点”会出现斜率等于0或斜率绝对值最小的情况,从而被误判为是右膈顶。而采用双边差商后,只有一边可能为0,即yi+δ-yi=0或yi-δ-yi=0,却不可能出现双边同时为0即yi-δ=yi=yi+δ的情况,因为在“拐点”上方作水平线与轮廓只能有两个交点而不可能有三个交点。δ为一较小的整数,一般取1~3,取1时为最邻近点,取3时最稳定。为了避开右肺野上方边界那个极大值点即“肺尖”的干扰,这里限定了yi>(ymax+ymin)/2。由于坐标原点在图像的左上角,纵坐标y向下为正,如此限定后使求解范围限制在右肺野的下方边界。
图7为本发明实施例一种正位胸片心胸比测量装置的组成示意图,所述装置包括:
轮廓分割模块11,用于从输入胸片图像中分割出心脏轮廓、左肺野轮廓和右肺野轮廓;
心脏横径计算模块12,用于分别求出心脏轮廓横坐标的最大值和最小值,计算所述最大值和最小值的差,得到心脏横径;
胸廓横径计算模块13,用于在右肺野轮廓的下部找到斜率绝对值最小的点,过此点作一水平线,计算所述水平线与左肺野轮廓、右肺野轮廓的外侧交点之间的线段长度,得到胸廓横径;
心胸比计算模块14,用于用所述心脏横径除以所述胸廓横径得到心胸比。
本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。后面的实施例也是如此,均不再展开说明。
作为一可选实施例,所述装置还包括将图像标准化模块,用于将输入胸片图像缩放到800*1333像素*像素,灰度值范围为[0,255]。
作为一可选实施例,所述装置还包括倾斜校正模块,用于将输入的胸片图像输入一个空间变换网络STN,基于STN的输出与模板图像的差异计算损失函数,利用所述损失函数对STN进行训练,通过优化网络参数(α,sx,sy,tx,ty)对输入胸片图像进行旋转、伸缩和平移变换,使其与模板图像对正;其中,α为旋转角度,sx、sy分别为x、y方向的缩放倍数,tx、ty分别x、y方向的平移量;所述模板图像通过对多个体中线为竖直线的标准正位胸片图像求均值获得。
作为一可选实施例,从输入胸片图像到模板图像的变换方程为:
即:
式中,T为坐标变换矩阵,(x,y)为输入胸片图像的像素点坐标,(x′,y′)为模板图像的像素点坐标。
作为一可选实施例,所述斜率绝对值的计算公式为:
式中,ki为右肺野轮廓上第i个像素点(xi,yi)处的斜率的绝对值,(xi-δ,yi-δ)、(xi+δ,yi+δ)分别为(xi,yi)前面和后面第δ个像素点的坐标,yi>(ymax+ymin)/2,ymax、ymin分别为右肺野轮廓上纵坐标的最大值和最小值,坐标原点在图像的左上角,纵坐标y向下为正方向。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。