一种基于摄影测量的人体待检测部位姿态识别方法与流程

文档序号:26090219发布日期:2021-07-30 17:58阅读:365来源:国知局
一种基于摄影测量的人体待检测部位姿态识别方法与流程

本发明涉及摄影测量技术领域,尤其涉及基于摄影测量实现对人体包括空间位置、偏转角度和姿态在内的测量,具体涉及一种基于摄影测量的人体待检测部位姿态识别方法。



背景技术:

x射线透视扫描是当前医疗领域非常常用的检查手段,尤其是针对骨质部位情况能够有很好的影像呈现,以供医生对患者目标部位进行诊断参考。

x光片的质量是影响医生判断患部情况最大的因素,而影响x光片质量的因素除了设备本身外,最为重要的就是患部与x光设备(主要指球管)之间的距离和角度,现有的x光片在拍摄的时候,患者的站位只能依靠医护人员目测进行,并没有科学的根据和调整的依据,也不能进行量化。因此,这就是使得现有的x光片要想一次性获得最佳质量,在人体站位这个因素上并不能得到解决,如果拍摄的x光片因为站位的问题导致质量不高,或将就查看,或重新拍摄;如果采用低质量的x光片作为医生诊断的依据,将不利于医生快速、准确的获得最客观的患处信息;如果重新拍摄,那么依然可能存在患者姿态偏斜导致二次失败,同时患者还要二次承受射线的辐射。

为了解决这一问题,本发明提供一种能够实时识别当前人体部位相对于x光设备(主要指球管)位置和姿态的方法,以使得在拍摄前,医护人员能够一目了然的掌握当前人体目标部位与最佳拍摄中心位置之间的偏差,以指导患者进行实时调整,从而尽可能的接近最佳姿态进行拍摄,一次性获得最佳或者接近最佳质量的x光片。



技术实现要素:

为了解决背景技术中提及的现有的x光片拍摄技术存在的只能依靠医护人员经验和目测进行操作,无法获知患者目标部位当前姿态和位置与x光设备理论最佳拍摄姿态与位置之间的偏差导致无法获取到最佳x光片的问题,本申请提供一种基于摄影测量的人体待检测部位姿态识别方法,能够通过rgb相机和深度相机实时捕捉并计算人体待检测部位的空间姿态,从而获知相对于x光机球管理论最佳位置之间的偏斜,以便于医护人员指导患者调整姿势和位置,尽可能的与理论最佳位置重合,再进行拍摄,最终达到消除因人体站立位置或者姿态偏斜导致的x光片质量低的问题。当然,值得说明的是,虽然通过rgb相机和深度相机能够实时量化患者当前所处状态,但人体由于无法保持绝对静止,同时微小的位置和姿态偏斜并不会带来x光片质量的本质影响,因此,在实际操作时,也并非要求患者当前姿态与理论最佳位置和姿态100%重合,只要误差在预设范围内,均可视为获得的x光片质量足以满足现实诊断所需,技术效果得以实现。当然,结合本发明的指导下,同时时间条件允许的情况下,亦可以花费更多的时间尽可能的指导患者将姿态保持得无限接近于理论最佳位置和姿态,获得尽可能高质量的x光片。

通俗且直观的讲,如本发明检测到当前患者的位置在水平方向上与理论最佳位置之间向左偏离了5厘米,那么医护人员在进行x光片拍摄前,可以直观的指导患者向右移动,直到5厘米的偏移误差缩小到预设范围内或者可接受范围内;该预设范围是人为设定的,基于不同拍摄部位可以实时调整。再者,如当前患者姿态明显过于含胸驼背,那么本发明可获取患者当前胸部姿态与预设姿态的偏差通过欧拉角表示,以使得医护人员可以通过指导患者调整俯仰角,即需要站直,挺胸,以消除当前俯仰角的偏差,最终再姿态和位置均符合预设拍摄条件后再进行x光片的拍摄,从而获得理想的x光片。

为了达到上述目的,本申请所采用的技术方案为:

本发明提供了一种基于摄影测量的人体待检测部位姿态识别方法,包括以下步骤:

stp100,输入人体待检测部位预设摆位信息e0;所述的预设摆位信息e0;包括前后位、后前位、左侧位和右侧位,根据不同的部位其摆位信息e0包含的内容存在不同,具体可根据实际情况设定录入。

stp200,将人体当前待检测部位调整到相机视野范围内,分别利用rgb相机和深度相机拍摄获得人体待检测部位的自然图像prgb和深度图像pdep;

stp300,基于yolov3算法根据步骤stp200中获得的自然图像prgb和深度图像pdep获取当前人体待检测部位的摆位信息e1、待检测部位中心点o及由高为h,宽为w围成的矩形待检测部位;同时,将摆位信息e1与步骤stp100中的摆位信息e0对比;

若e1=e0,则执行步骤stp400,若e1≠e0,则执行步骤stp200;

stp400,获取待检测部位中心点o的空间坐标;

读取待检测部位的中心点o的像素坐标o(x,y),并利用rgb相机内参intrinsicsrgb,深度相机内参intrinsicsdepth,深度相机空间坐标到rgb相机空间坐标之间的变换矩阵extrinsicsd2c,输出待检测部位的中心点o在rgb空间坐标系下的坐标o'(xc',yc',zc');上述相机内参均可直接由相机读取使用,无需经过计算获得。其中,读取中心点o的像素坐标为已知,可通过视觉处理库opencv中直接获得,属于现有技术内容,并为本领域技术人员广泛采用。

stp500,根据待检测部位的中心点o的像素坐标o(x,y)获取待检测部位矩形框的四个顶点p1、p2、p3、p4的像素坐标;

stp600,通过在步骤stp200中获得的自然图像prgb上进行区域采样拟合人体表面所在参考平面ppla;

stp700,将步骤stp500中获得的p1、p2、p3、p4映射到所述参考平面ppla上,获得映射点

stp800,以o'为坐标原点建立空间坐标系,具体如下:

x轴

以参考平面ppla法向量为z轴,即;可计算得y轴

即可得人体待检测部位所在空间坐标系o'xyz的单位方向向量,可计算出o'xyz相对于高压发生器坐标系的旋转矩阵

进而可求解出人体待检测部位所在空间坐标系o'xyz相对于高压发生器的欧拉角θx,θy,θz;

最终获得人体待检测部位相对于高压发生器的姿态偏差;其中,

若向量与rgb空间坐标系中oxy法向量的夹角θ>90°,此时z轴的方向采用

作为本发明的优选计算方式,所述stp400获取待检测部位中心点o的空间坐标计算步骤如下:

stp410,获取rgb相机内参intrinsicsrgb;

stp420,获取深度相机内参intrinsicsdepth;

stp430,获取深度相机空间坐标系到rgb相机空间坐标系之间的变换矩阵extrinsicsd2c;

stp440,获取深度图像pdep的高h和宽w;其中,x方向的起始位置为xbegin=0,结束为止为xend=w,y方向的起始位置为ybegin=0,结束为止为yend=h;

stp450,采用采用二分法选取深度图上像素点坐标d(xd,yd),其中

stp460,计算d点对应的空间坐标dd'=(xd',yd',zd'),其中

计算深度相机空间坐标系到rgb相机空间坐标系下的映射坐标dc'=(xc',yc',zc'),其中

stp470,将dc'转换到rgb像素坐标系下dc=(xc,yc),其中

stp480,将计算待检测部位中心点o与步骤stp470中dc的误差ea0,其中

通过对比误差ea0是否属于预设误差阈值范围,若误差ea0不满足阈值条件,则返回步骤stp450;若误差ea0满足阈值条件,则输出检测部位中心点o在rgb相机空间坐标系下的空间坐标o'(xc',yc',zc')。

优选地,步骤stp460还包括将深度图像pdep中任一点的图像单位和标准长度单位之间的转换步骤,具体如下:

计算d点坐标zd=value(xd,yd)×scale,其中value(xd,yd)为d点的像素值,scale为深度相机中提取的图像单位与标准长度单位之间的映射关系。

优选地,步骤stp500中检测部位矩形框的四个顶点p1、p2、p3、p4的像素坐标采用下述方式计算获得:

p1=(x-w/2,y-h/2)

p2=(x+w/2,y-h/2)

p3=(x+w/2,y+h/2)

p4=(x-w/2,y+h/2)

其中,h和w分别为待检测部位矩形的高和宽。

优选地,步骤stp600中所述参考平面ppla的拟合步骤如下:

stp610,以点o为中心,间距上下左右等距采样,采样点两两成对且左右对称,并在采样区域内随机采样n×n个点,获得采样点集合s={(x11,y11),(x12,y12),⋯,(xnn,ynn)},将采样点集合s转换为空间坐标点集合t={(x11,y11,z11),(x12,y12,z12),⋯,(xnn,ynn,znn)};其中,n≥5。

作为优选方式,为了更进一步提升精度,步骤stp610中还包括将点集合t进行修正的步骤以获得修正后的点集合t',具体包括步骤如下:

stp611,采m行中,n列上的点tm,n(xm,n,ym,n,zm,n)和等距分布在o'点另一侧n-n列的点tm,n-n(xm,n-n,ym,n-n,zm,n-n),分别修正为:

stp612,将步骤stp611获得的点集合t'的数据建立步骤stp620所述参考平面ppla。

stp620以步骤stp610中的点集合t或t'为数据建立人体表面所在参考平面ppla方程ax+by+cz=d,采用最小二乘法拟合参数a、b、c、d;

stp630,最小能量方程eq如下:

其中,i={1,2,…,n×n},xi,yi,zi分别是第i个点的空间坐标;

stp640,通过梯度下降法迭代计算,使得eq获得最小值的参数m=[a,b,c,d],参数m即为参考平面ppla方程所需最优参数。

优选地,步骤stp700中将p1、p2、p3、p4映射到所述参考平面ppla上的映射方法包括以下步骤:

stp710,已知探测器的宽wd,高hd;

stp720,设定人体表面参考平面ppla的边界顶点为u1、u2、u3、u4,则有

stp730,设置参考平面pplax方向的起始位置xbegin=x-wd,结束位置xend=x+wd;设置y方向的起始位置ybegin=y-hd,结束位置yend=y+hd;

stp740,采用二分法选取人体表面平面空间坐标u(xf,yf,zf),其中

xf=(xbegin+xend)/2,yf=(ybegin+yend)/2,zf=(d-axf-byf)/c;

stp750,将u转换到rgb像素坐标系下u'=(x'f,y'f)

其中,intrinsicsrgb为rgb相机内参;

stp760,计算pn,n∈{1,2,3,4}点与u'的误差ea1为:

通过判断误差ea1与emin的大小输出pn,其中,n∈{1,2,3,4},xn,yn分别为pn的在rgb像素坐标系的像素值;将pn映射到所述参考平面ppla上的映射点pn'(xpn',ypn',zpn'),判断方法如下:

stp761,若ea1≤emin即此时可得u'即为pn点最优近似点,u为pn点在参考平面ppla的映射,执行步骤stp760;

stp762,若ea1>emin,则判断xf与xn的大小,yf与yn的大小,若xn<xf,xbegin=xf,否则xend=xf,同理若yn<yf,ybegin=yf,否则yend=yf,则返回到步骤stp740。

有益效果:

本发明通过实时获取人体目标部位的位置和姿态,能够实时给医护人员反馈患者当前的姿态与理论最佳拍摄姿态的差距,使得医护人员能够直观的知道患者如何调整当前的位置和姿态,以使得能够将患者目标位快速对准理论最佳位置范围内,从而一次性获得高质量的x光片,消除因为姿态和距离问题带来的x光片质量低的问题。

附图说明

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

图1是本发明实施例1中胸部识别示意图;

图2是本发明实施例1中胸部采样示意图;

图3是本发明实施例1中空间坐标法向示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

为了更为直观,详细的阐述本发明的要旨,以及其针对现有x光片拍摄领域所存在的实际问题所带来的实际技术效果和应用便捷,下面将以本发明的优选实施例结合具体拍摄部位详细阐述。

实施例1:

本实施例提供一种基于摄影测量的人体待检测部位姿态识别方法,用于在进行x光拍摄时,实时识别人体待检测部位的位置和姿态,从而获知当前位置和姿态与x光机球管预设最佳位置和姿态之间的偏差,以便于实时调整,快速调整正确站位,一次性获得高质量x光片;消除现有技术中只能依赖于操作人员的个人感官经验来指导患者进行站位所带来的主观性和不确定性。本实施例以拍摄胸片为例进行阐述,具体包括以下步骤:

stp100,输入胸部预设摆位信息e0;本实施例中所述的预设摆位信息e0包括前后位、后前位、左侧位和右侧位,当然,在不同的应用场景存在不同,根据不同的部位其摆位信息e0包含的内容可能少于或者多余本实施例所述摆位,具体可根据实际情况设定录入,针对特殊部位的特殊摆位不属于本实施例针对的范围,在此不做详述。

stp200,将人体胸部调整到相机视野范围内,分别利用rgb相机和深度相机拍摄获得胸部的自然图像prgb和深度图像pdep;

stp300,基于yolov3算法根据步骤stp200中获得的自然图像prgb和深度图像pdep获取当前胸部的摆位信息e1、胸部中心点o及由高为h,宽为w围成的矩形胸部;同时,将摆位信息e1与步骤stp100中的摆位信息e0对比;

若e1=e0,则执行步骤stp400,若e1≠e0,则执行步骤stp200;

stp400,获取胸部中心点o的空间坐标;

读取胸部的中心点o的像素坐标o(x,y),并利用rgb相机内参intrinsicsrgb,深度相机内参intrinsicsdepth,深度相机空间坐标到rgb相机空间坐标之间的变换矩阵extrinsicsd2c,输出胸部的中心点o在rgb空间坐标系下的坐标o'(xc',yc',zc');其中,读取中心点o的像素坐标为已知,可通过视觉处理库opencv中直接获得,属于现有技术内容,并为本领域技术人员广泛采用。

所述胸部中心点o的空间坐标计算步骤如下:

stp410,获取rgb相机内参intrinsicsrgb;

stp420,获取深度相机内参intrinsicsdepth;

stp430,获取深度相机空间坐标系到rgb相机空间坐标系之间的变换矩阵extrinsicsd2c;

stp440,获取深度图像pdep的高h和宽w;其中,x方向的起始位置为xbegin=0,结束为止为xend=w,y方向的起始位置为ybegin=0,结束为止为yend=h;

stp450,采用采用二分法选取深度图上像素点坐标d(xd,yd),其中

stp460,计算d点对应的空间坐标dd'=(xd',yd',zd'),其中

计算深度相机空间坐标系到rgb相机空间坐标系下的映射坐标dc'=(xc',yc',zc'),其中

本步骤中还包括将深度图像pdep中任一点的图像单位和标准长度单位之间的转换步骤,具体如下:

计算d点坐标zd=value(xd,yd)×scale,其中value(xd,yd)为d点的像素坐标,scale为深度相机中提取的图像单位与标准长度单位之间的映射关系。

stp470,将dc'转换到rgb像素坐标系下dc=(xc,yc),其中

stp480,将计算胸部中心点o与步骤stp470中dc的误差ea0,其中

通过对比误差ea0是否属于预设误差阈值范围,若误差ea0不满足阈值条件,则返回步骤stp450;若误差ea0满足阈值条件,则输出胸部中心点o在rgb相机空间坐标系下的空间坐标o'(xc',yc',zc')。

stp500根据胸部的中心点o的像素坐标o(x,y)获取胸部矩形框的四个顶点p1、p2、p3、p4的像素坐标,具体如图1所示;胸部矩形框的四个顶点p1、p2、p3、p4的像素坐标采用下述方式计算获得:

p1=(x-w/2,y-h/2)

p2=(x+w/2,y-h/2)

p3=(x+w/2,y+h/2)

p4=(x-w/2,y+h/2)

其中,h和w分别为胸部矩形的高和宽。

stp600,通过在步骤stp200中获得的自然图像prgb上进行区域采样拟合人体表面所在参考平面ppla;所述参考平面ppla的拟合步骤如下:

stp610,以点o为中心,间距上下左右等距采样,采样点两两成对且左右对称,如图2所示,并在采样区域内随机采样n×n个点,获得采样点集合s={(x11,y11),(x12,y12),⋯,(xnn,ynn)},将采样点集合s转换为空间坐标点集合t={(x11,y11,z11),(x12,y12,z12),⋯,(xnn,ynn,znn)};其中,n≥5。

为了更进一步提升精度,步骤stp610中还包括将点集合t进行修正的步骤以获得修正后的点集合t',具体包括步骤如下:

stp611,采m行中,n列上的点tm,n(xm,n,ym,n,zm,n)和等距分布在o'点另一侧n-n列的点tm,n-n(xm,n-n,ym,n-n,zm,n-n),分别修正为:

stp612,将步骤stp611获得的点集合t'的数据建立步骤stp620所述参考平面ppla。

stp620,以步骤stp610中的修正后的点集合t'为数据建立人体表面所在参考平面ppla方程ax+by+cz=d,采用最小二乘法拟合参数a、b、c、d;

stp630,最小能量方程eq如下:

其中,i={1,2,…,n×n},xi,yi,zi分别是第i个点的空间坐标;

stp640,通过梯度下降法迭代计算,使得eq获得最小值的参数m=[a,b,c,d],参数m即为参考平面ppla方程所需最优参数。

stp700,将步骤stp500中获得的p1、p2、p3、p4映射到所述参考平面ppla上,获得映射点

将p1、p2、p3、p4映射到所述参考平面ppla上的映射方法包括以下步骤:

stp710,已知探测器的宽wd,高hd;

stp720,设定人体表面参考平面ppla的边界顶点为u1、u2、u3、u4,则有

stp730,设置参考平面pplax方向的起始位置xbegin=x-wd,结束位置xend=x+wd;设置y方向的起始位置ybegin=y-hd,结束位置yend=y+hd;

stp740,采用二分法选取人体表面平面空间坐标u(xf,yf,zf),其中

xf=(xbegin+xend)/2,yf=(ybegin+yend)/2,zf=(d-axf-byf)/c;

stp750,将u转换到rgb像素坐标系下u'=(x'f,y'f)

其中,intrinsicsrgb为rgb相机内参;

stp760,计算pn,n∈{1,2,3,4}点与u'的误差ea1为:

通过判断误差ea1与emin的大小输出pn,其中,n∈{1,2,3,4},xn,yn分别为pn的在rgb像素坐标系的像素值;将pn映射到所述参考平面ppla上的映射点pn'(xpn',ypn',zpn'),判断方法如下:

stp761,ea1≤emin即此时可得u'即为pn点最优近似点,u为pn点在参考平面ppla的映射,执行步骤stp760;

stp762,若ea1>emin,则判断xf与xn的大小,yf与yn的大小,若xn<xf,xbegin=xf,否则xend=xf,同理若yn<yf,ybegin=yf,否则yend=yf,则返回到步骤stp740。

stp800,以o'为坐标原点建立空间坐标系,具体如下:

x轴

以参考平面ppla法向量为z轴,即;可计算得y轴

即可得胸部所在空间坐标系o'xyz的单位方向向量,可计算出o'xyz相对于高压发生器坐标系的旋转矩阵

进而可求解出胸部所在空间坐标系o'xyz相对于高压发生器的欧拉角:

θx,θy,θz;

最终获得胸部相对于高压发生器的姿态偏差;其中,若向量与rgb空间坐标系中oxy法向量的夹角θ>90°,则此时z轴的方向采用,详见图3所示。

需要强调的是,本申请中所述rgb空间坐标系、x光设备上的高压发生器所在空间坐标系是同一坐标系或者存在平移向量的两个无空间偏转的坐标系,如果存在空间平移向量,那么系统软件可通过算法消除该平移向量,那么也就是说,无论深度相机、rgb相机以及高压发生器球管采用何种位置安装,存在多少的平移向量,那么在进行计算的过程中,始终以高压发生器球管为中心作为空间向量的坐标中心来表达其他任意空间坐标系的空间坐标,如深度相机、rgb相机和人体中心所在空间坐标系的任一空间坐标,从而达到快速获取两个空间坐标系之间的偏转欧拉角的目的,从而使得两个对象在空间坐标系之间的相对位置关系。在本发明中体现的就是在进行x光拍摄时,医务操作人员能够实时的掌握患者目标拍摄部位的位置,从而指导患者进行对应的姿态调整,以使得目标拍摄部位都能够纳入到预设的拍摄范围内,以获得理想的x光片。

获得姿态偏差后通过现有的显示器显示患者胸部实时位置与理论预设位置之间的偏差情况,以便于医护操作人员一目了然的指导患者应当如何调整姿态,使得调整快速,位置准确,有标准位置进行参照,消除了医护操作人员主观认知带来的不确定性。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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