本发明属于光学、信息科学与放射物理学的交叉技术领域,具体涉及一种在放射治疗中,使用单摄像模组,检测人脸的关键点位置,并结合ct的三维断层图像,达到监测头部中肿瘤的三维位置,从而辅助放射治疗的方法。
背景技术:
癌症一直以来都是威胁人类健康,甚至危及生命的顽疾。癌症的治疗手段主要有手术治疗、化学药物治疗以及放射治疗。其中放射治疗是使用放射线照射肿瘤区域的一种治疗方法。放射治疗用于约70%的癌症患者的治疗中,约有40%的癌症可通过放射治疗而痊愈。因此,放射治疗在肿瘤的治疗中,具有极其重要的应用价值。在放射治疗中,如何确定病灶的位置,并指引放射治疗头将射线准确的照射到病灶的位置,是实现精准治疗的关键。当前,使用三维检测系统,对人体进行三维测量,获取三维点云信息,进而辅助放射治疗头准确的将发射线照射到病灶位置,是一个主流的研究与应用方向。但是,目前的三维检测系统,存在着精度与速度之间的矛盾。高精度系统,其速度较低;速度快的系统,精度较差。理论上,放射治疗领域,希望实现高速、高精度的人体三维形貌检测。在本方法中,我们针对头部的放射治疗,提出了一种使用单摄像模组,检测人脸的关键点位置,并结合ct的三维断层图像,达到监测头部肿瘤的三维位置,从而辅助放射治疗的方法。
技术实现要素:
1、本发明的目的。
本发明的目的是针对现有技术的不足,提出使用单摄像模组,检测人脸的关键点位置,并结合ct的三维断层图像,达到监测头部肿瘤的三维位置,从而辅助放射治疗的方法。
2、本发明所采用的技术方案。
本发明提出一种放射治疗中基于单摄像模组的头部三维检测方法:
步骤1、在放射治疗前,通过患者的ct扫描结果,获取头部的三维图像;
步骤2、在放射治疗时,通过摄像模组,实时获取人脸图像;
步骤3、通过步骤1的头部的三维图像与步骤2的人脸图像,计算当前人脸与摄像模组的相对距离、倾斜角度;
步骤4、以摄像模组的摄像头的感光芯片的中心为原点,实时构建头部的三维坐标点。
更进一步具体实施方式中,步骤1、在放射治疗前,获取头部的三维图像,具体使用的头部三维信息为两个眼睛的中心距离,眉心到鼻尖的距离以及头部肿瘤三维信息;
步骤2、在放射治疗过程中,实时获取人脸图像,利用人脸关键点的检测方法,获取人脸的眼睛轮廓、眼球位置、眉心位置与鼻尖位置信息;
步骤3、通过步骤1的头部的三维图像与步骤2的人脸图像,计算当前人脸与摄像模组的相对距离、倾斜角度;具体为所述的步骤2人脸图像中,分别连接眼球中心,眉心位置与鼻尖位置,可得到两条相交的直线,通过使用仿射变换算法,可获得头部绕着x轴、y轴、z轴的旋转角度以及平移向量;
步骤4、通过使用上述的旋转角度构成的旋转矩阵与平移向量构成的平移矩阵,作用于所述步骤1中的三维图像中的每一个点,实时获取当前头部的三维数据,以摄像头的感光芯片的中心为原点,实时构建头部的三维坐标点。在放射治疗中,主要关注的是当前头部中肿瘤的三维数据。
更进一步具体实施方式中,所述的步骤1:在放射治疗前,获取头部的三维ct扫描图像:
使用dicomrt格式保存三维影像数据,读取其中的ct图像以及structure数据,从ct图像中获取头部的每一个点的三维位置信息;其中,提取两个眼睛的中心距离,眉心到鼻尖的距离;从structure数据中,提取头部肿瘤的三维信息。
更进一步具体实施方式中,所述的步骤2中:在放射治疗时,通过可移动变焦摄像模组,摄像模组使用短焦模式,寻找人脸的位置,并拍摄人脸图像;并使用dlib函数库中的人脸68个关键点检测方法,进行人脸识别与人脸关键点位置的提取,其中包括眼睛轮廓、眼球位置、眉心位置与鼻尖位置信息;在完成了人脸识别后,摄像模组增加镜头的焦距,使得人脸图像充满感光芯片,提高数据点的采集精度;从长焦图像中,我们可以得到眼睛轮廓、眼球位置、眉心位置与鼻尖位置信息;该长焦图像,定义为拍摄图像,在摄像模组上,定义眉心位置为(ex,ey)。
更进一步具体实施方式中,所述的步骤3:将步骤1中从ct图像中提取的两个眼睛的中心距离,眉心到鼻尖的距离,连接眼球中心,眉心位置与鼻尖位置,可得到两条相交的直线的图像定义为ct抽象图像;在步骤2中,从拍摄图像中提取的两个眼睛的中心距离,眉心到鼻尖的距离,连接眼球中心,眉心位置与鼻尖位置,可得到两条相交的直线的图像定义为拍摄抽象图像;上述图像通过使用仿射变换算法,可获得头部绕着x轴、y轴、z轴的旋转角度θx,θy,θz,以及平移向量[tx,ty,tz];得到θx,θy,θz后,可根据下面式子,计算三个旋转矩阵分量:
在获得了上述三个旋转矩阵分量后,我们就可以得到头部的旋转矩阵,其计算方法是将三个矩阵依次相乘:r=rzryrx,其中矩阵r是一个3×3的矩阵,其格式可表述如下:
更进一步具体实施方式中,所述的步骤4中:实时构建头部的三维坐标点,在获得了旋转矩阵与平移矩阵后,对dicomrt中的所有数据点,进行平移变换与旋转变换,可以获得实际环境中,头部的三维数据点,三维数据点的平移变换与旋转变换的计算步骤描述如下:
通过使用上述的旋转矩阵与平移矩阵,作用于ct三维图像中的每一个点,就能实时获取当前头部的三维数据,这些数据,将可以辅助放射治疗设备,精确的将放射线照射到头部的肿瘤处;
所述的仿射变换算法是指,将仿射变换中的三个仿射矩阵,作用于ct抽象图,然后与拍摄抽象图比对,获取差值;上述计算,将结合最小二乘法,找到最优的θx,θy,θz,使得差值最小;这个最优解,就是头部绕着x轴、y轴、z轴的旋转角度;
所述三个仿射矩阵由下面3个矩阵描述:
所述平移向量,是在得到最优的θx,θy,θz后,将其作用于ct抽象图像,测量两个眼球的间距,定义为eye-spc;将该数值,与拍摄图像的两个眼睛的中心距离相除,得到比值rio,利用rio,可以得到当前人脸的眉心的实际三维坐标位置(以摄像模组的感光芯片中心为原点)[rio×ex,rio×ey,(rio+1)f],其中f为成像模组镜头的焦距,该向量可定义为平移向量,记为[tx,ty,tz]。
3、本发明的有益效果。
(1)本发明通过单摄像模组进行人脸拍照,获取人脸关键点数据(包括两个眼球位置,眉心位置与鼻尖位置),通过仿射变换算法,得到的旋转角度,进而得到旋转矩阵。
(2)本发明结合dicomrt中的ct三维图像与摄像模组拍摄的人脸图像的比较,可以得到头部的平移向量。
(3)本发明通过旋转矩阵与平移向量作用于头部的ct三维图像,可以实时的获得真实空间中头部的三维数据,从而辅助放射治疗设备将放射线精准的照射到肿瘤区域。
附图说明
图1为本方法的流程图。
图2为dicomrt数据格式,本方法使用到其中ct图像数据与structure数据。
图3为单摄像模组拍摄示意图,其中1代表变焦镜头,2代表相机,3代表电动云台。
图4为拍摄图像示意图,其中①为ct图像中的人脸示意图,②为ct抽象图,分别连接两个眼球位置,眉心位置与鼻尖位置后的交叉线示意图,l1表示ct图像下两个眼球的间距,l2表示眉心到鼻尖的间距,l3表示眉心到右眼球的间距,σ1表示l1线段与水平轴的夹角,σ2表示l2线段与水平轴的夹角。③为拍摄图像示意图,包含了旋转与平移信息,④拍摄抽象图,分别连接两个眼球位置,眉心位置与鼻尖位置后的交叉线示意图,l4表示拍摄图像下两个眼球的间距,l5表示眉心到鼻尖的间距,l6表示眉心到右眼球的间距,σ3表示l4线段与水平轴的夹角,σ4表示l5线段与水平轴的夹角。
具体实施方式
实施例1
下面结合附图,以一个具体实施方式,介绍该发明。
步骤1:在放射治疗前,通过患者的ct扫描结果,获取头部的三维ct扫描图像
对于癌症患者,都需要谨慎的诊断。因此,每一位癌症患者,都有相应的三维医学影像数据。当前,国际上主要使用dicomrt格式保存癌症患者的信息。其信息结构如图2所示。其中ct图像为三维影像数据。structure数据中保存肿瘤的位置与尺寸信息。在放射治疗前,将先获取dicomrt数据,从dicomrt中,根据其国际标准的编码规则,读取其中的ct图像以及structure数据。从ct图像中,我们可以获取头部的三维数据信息,这些信息包含了头部每一个点的三维位置信息。其中,我们将主要应用的是两个眼睛的中心距离,眉心到鼻尖的距离。从structure数据中,我们可以提取头部肿瘤的三维信息,包括肿瘤的位置与尺寸信息。
步骤2:使用一个摄像模组,实时获取人脸图像,并利用人脸关键点的检测方法,获取人脸的眼睛轮廓、眼球位置、眉心位置与鼻尖位置信息
如图3所示,一个变焦摄像模组放置在一个可移动的云台上。在放射治疗时,摄像模组使用短焦模式,通过电动云台的运动,寻找人脸的位置,并拍摄人脸图像。并使用当前经典的dlib函数库中的人脸68个关键点检测方法,进行人脸识别与人脸关键点位置的提取。在完成了人脸识别后,摄像模组增加镜头的焦距,使得人脸图像充满感光芯片,从而能提高数据点的采集精度。从长焦图像中,我们可以得到眼睛轮廓、眼球位置、眉心位置与鼻尖位置信息。该长焦图像,定义为拍摄图像。将摄像模组感光芯片的中心定义为坐标的原点,并定义眉心位置为(ex,ey,0)。
步骤3:计算当前人脸与摄像模组的相对距离、倾斜角度。
在人脸图像中,分别连接眼球中心,眉心位置与鼻尖位置,可得到两条相交的直线。定义为抽象图像。
将步骤1中从ct图像中提取的“两个眼睛的中心距离,眉心到鼻尖的距离”,连接眼球中心,眉心位置与鼻尖位置,可得到两条相交的直线,定义为ct抽象图像。如图4-②所示,两个眼睛的中心距离定义为l1,眉心与鼻尖的距离定义为l2。眉心与右眼的距离定义为l3。线段l1与水平线的夹角定义为σ1,线段l2与水平线的夹角定义为σ2。
在步骤2中,从拍摄图像中提取的“两个眼睛的中心距离,眉心到鼻尖的距离”,连接眼球中心,眉心位置与鼻尖位置,可得到两条相交的直线,定义为拍摄抽象图像。如图4-④所示,两个眼睛的中心距离定义为l4,眉心与鼻尖的距离定义为l5。眉心与右眼的距离定义为l6。线段l4与水平线的夹角定义为σ3,线段l5与水平线的夹角定义为σ4。
上述图像信息通过使用仿射变换算法,可获得头部绕着x轴、y轴、z轴的旋转角度θx,θy,θz,以及平移向量[tx,ty,tz]。得到θx,θy,θz后,可根据下面式子,计算三个旋转矩阵分量
在获得了上述三个旋转矩阵分量后,我们就可以得到头部的旋转矩阵,其计算方法是将三个矩阵依次相乘:r=rzryrx。其中矩阵r是一个3×3的矩阵,其格式可表述如下:
步骤4:实时构建头部的三维坐标点
在获得了旋转矩阵与平移矩阵后,我们可对dicomrt中的所有数据点,进行平移变换与旋转变换,可以获得实际环境中,头部的三维数据点。三维数据点的平移变换与旋转变换的计算步骤描述如下:
通过使用上述的旋转矩阵与平移矩阵,作用于ct三维图像中的每一个点,就能实时获取当前头部的三维数据。这些数据,将可以辅助放射治疗设备,精确的将放射线照射到头部的肿瘤处。
所述的仿射变换算法是指,将仿射变换中的三个仿射矩阵,作用于ct抽象图,并更新ct抽象图像中的变量l1,l2,l3,σ1,σ2的数值。并计算下面向量def=[(l1-l3)/l3,l1/l2,σ1,σ2]。同时,根据摄像抽象图中的l3,l4,l6,σ3,σ4,也定义一个向量def2=[(l4-l6)/l4,l4/l5,σ3,σ4]。上述计算,将结合最小二乘法,找到最优的θx,θy,θz,使得|def-def2|最小。这个最优解,就是头部绕着x轴、y轴、z轴的旋转角度。
所述三个仿射矩阵由下面3个矩阵描述:
所述平移向量,是在得到最优的θx,θy,θz后,将其作用于ct抽象图像,测量两个眼球的间距,定义为eye-spc。将该数值,与拍摄图像的眼球位置相除,得到比值rio,利用rio,可以得到当前人脸的眉心的实际三维坐标位置(以摄像模组的感光芯片中心为原点)[rio×xx,rio×ey,(rio+1)f],其中f为成像模组镜头的焦距。该向量可定义为平移向量,记为[tx,ty,tz]。
以上显示和描述了本方法的基本原理和主要特征和本方法的优点。本行业的技术人员应该了解,本方法不受上述实施例的限制,上述实施例和说明书中描述的只是说明本方法的原理,在不脱离本方法精神和范围的前提下,本方法还可以有各种变化和改进。