本申请涉及图像处理技术领域,特别是涉及一种图像矫正方法及装置。
背景技术:
图像畸变是指图像中的物体相对于物体本身而言失真或者变形了。图像畸变通常分为径向畸变和切向畸变。针对存在径向畸变和切向畸变的图像,目前已存在相应的矫正方法。
然而,c臂机基于x光影像增强装置生成图像,该图像中存在的畸变较为复杂。基于上述针对径向畸变和切向畸变的矫正方法,无法很好对存在复杂畸变的图像进行矫正。
技术实现要素:
本申请实施例的目的在于提供一种图像矫正方法及装置,以高效精准地对存在复杂畸变的图像进行矫正。具体技术方案如下:
本申请实施例提供了一种图像矫正方法,所述方法包括:
对c臂机采集的标定图像中的像素点进行采样,得到多个采样点;
确定所述多个采样点的畸变位移;
基于所述多个采样点的畸变位移,确定初始位移矩阵,所述初始位移矩阵中第i行第j列的元素与所述标定图像中第i行第j列的像素点对应,所述初始位移矩阵中每个所述采样点对应的元素的值为该采样点的畸变位移,所述初始位移矩阵中除所述多个采样点对应的元素外的元素的值为零;
基于矩阵分解,对所述初始位移矩阵中除所述多个采样点对应的元素外的元素的值进行预测,得到畸变位移矩阵;
利用所述畸变位移矩阵对所述c臂机采集的待矫正图像进行矫正,得到矫正图像。
可选的,所述标定图像包括多个标定球;
所述对标定图像中的像素点进行采样,得到多个采样点的步骤,包括:
对所述标定图像中的多个标定球进行识别,得到所述多个标定球的中心点,将所述多个标定球的中心点作为采样点。
可选的,在第一方向上相邻两个标定球间的距离为第一预设值,在第二方向上相邻两个标定球间的距离为第二预设值,所述第一方向和所述第二方向正交;所述多个标定球包括多个定位标定球;
所述确定所述多个采样点的畸变位移的步骤,包括:
以所述多个定位标定球中基准定位标定球的中心点为起始点,按照所述第一预设值在所述第一方向上进行一维拓展,并按照所述第二预设值在所述第二方向上进行一维拓展,得到所述多个标定球的中心点的矫正坐标;
基于所述标定图像中所述多个标定球的中心点的原始坐标,以及所得到的所述多个标定球的中心点的矫正坐标,获取所述多个采样点的畸变位移。
可选的,所述以所述多个定位标定球中基准定位标定球的中心点为起始点,按照所述第一预设值在所述第一方向上进行一维拓展,并按照所述第二预设值在所述第二方向上进行一维拓展,得到所述多个标定球的中心点的矫正坐标的步骤,包括:
以所述多个定位标定球中基准定位标定球的中心点为起始点,按照所述第一预设值在所述第一方向上进行一维拓展,并按照所述第二预设值在所述第二方向上进行一维拓展,得到多个拓展标定球的中心点的拓展坐标;
针对每个标定球,根据所述多个拓展标定球的中心点的拓展坐标,以及所述标定图像中该标定球的中心点的原始坐标,确定距离该标定球最近的拓展标定球,并将所确定的拓展标定球的中心点的拓展坐标作为该标定球的中心点的矫正坐标。
可选的,所述多个标定球包括三个定位标定球,所述三个定位标定球按照l形分布;所述基准定位标定球为距离最小的两个定位标定球中一个定位标定球。
可选的,在所述第一方向上距离最小的两个定位标定球间的距离小于等于所述第一预设值的预设倍数,在所述第二方向上距离最小的两个定位标定球间的距离小于等于所述第二预设值的所述预设倍数。
可选的,所述基于矩阵分解,对所述初始位移矩阵中除所述多个采样点对应的元素外的元素的值进行预测,得到畸变位移矩阵的步骤,包括:
基于矩阵分解,利用深度学习框架或梯度下降算法,对所述初始位移矩阵中除所述多个采样点对应的元素外的元素的值进行预测,得到畸变位移矩阵。
本申请实施例还提供了一种图像矫正装置,所述装置包括:
采样模块,用于对c臂机采集的标定图像中的像素点进行采样,得到多个采样点;
第一确定模块,用于确定所述多个采样点的畸变位移;
第二确定模块,用于基于所述多个采样点的畸变位移,确定初始位移矩阵,所述初始位移矩阵中第i行第j列的元素与所述标定图像中第i行第j列的像素点对应,所述初始位移矩阵中每个所述采样点对应的元素的值为该采样点的畸变位移,所述初始位移矩阵中除所述多个采样点对应的元素外的元素的值为零;
预测模块,用于对所述初始位移矩阵进行矩阵分解,得到畸变位移矩阵;
矫正模块,用于利用所述畸变位移矩阵对所述c臂机采集的待矫正图像进行矫正,得到矫正图像。
可选的,所述标定图像包括多个标定球;
所述采样模块,具体用于对所述标定图像中的多个标定球进行识别,得到所述多个标定球的中心点,将所述多个标定球的中心点作为采样点。
可选的,在第一方向上相邻两个标定球间的距离为第一预设值,在第二方向上相邻两个标定球间的距离为第二预设值,所述第一方向和所述第二方向正交;所述多个标定球包括多个定位标定球;
所述第一确定模块,包括:
拓展子模块,用于以所述多个定位标定球中基准定位标定球的中心点为起始点,按照所述第一预设值在所述第一方向上进行一维拓展,并按照所述第二预设值在所述第二方向上进行一维拓展,得到所述多个标定球的中心点的矫正坐标;
获取子模块,用于基于所述标定图像中所述多个标定球的中心点的原始坐标,以及所得到的所述多个标定球的中心点的矫正坐标,获取所述多个采样点的畸变位移。
可选的,所述拓展子模块,具体用于:
以所述多个定位标定球中基准定位标定球的中心点为起始点,按照所述第一预设值在所述第一方向上进行一维拓展,并按照所述第二预设值在所述第二方向上进行一维拓展,得到多个拓展标定球的中心点的拓展坐标;
针对每个标定球,根据所述多个拓展标定球的中心点的拓展坐标,以及所述标定图像中该标定球的中心点的原始坐标,确定距离该标定球最近的拓展标定球,并将所确定的拓展标定球的中心点的拓展坐标作为该标定球的中心点的矫正坐标。
可选的,所述多个标定球包括三个定位标定球,所述三个定位标定球按照l形分布;所述基准定位标定球为距离最小的两个定位标定球中一个定位标定球。
可选的,在所述第一方向上距离最小的两个定位标定球间的距离小于等于所述第一预设值的预设倍数,在所述第二方向上距离最小的两个定位标定球间的距离小于等于所述第二预设值的所述预设倍数。
可选的,所述预测模块,具体用于基于矩阵分解,利用深度学习框架或梯度下降算法,对所述初始位移矩阵中除所述多个采样点对应的元素外的元素的值进行预测,得到畸变位移矩阵。
本申请实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的图像矫正方法步骤。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的图像矫正方法步骤。
本申请实施例还提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述任一所述的图像矫正方法。
本申请实施例有益效果:
本申请实施例提供的技术方案中,对c臂机采集的标定图像中的像素点进行采样,得到多个采样点,利用多个采样点的畸变位移,构建初始位移矩阵,并基于矩阵分解,对初始位移矩阵中除多个采样点对应的元素外的元素的值进行预测,这样得到的畸变位移矩阵中,每个元素的值分别为对应的像素点的畸变位移。因此,本申请实施例中,基于畸变位移矩阵获知了c臂机采集的图像中各个像素点的畸变位移。利用该畸变位移矩阵,可以高效精准地对存在复杂畸变的c臂机采集图像进行畸变矫正。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1-a为径向畸变的第一种示意图;
图1-b为径向畸变的第二种示意图;
图1-c为切向畸变的第一种示意图;
图1-d为切向畸变的第二种示意图;
图2-a为未出现畸变的一种示意图;
图2-b为出现s形畸变的一种示意图;
图2-c为出现局部畸变的一种示意图;
图3为本申请实施例提供的图像矫正方法的第一种流程示意图;
图4为本申请实施例提供的标定图像的一种示意图;
图5为本申请实施例提供的图像矫正方法的第二种流程示意图;
图6为本申请实施例提供的矫正坐标确定方法的一种流程示意图;
图7为本申请实施例提供的标定图像进行维度拓展后的一种示意图;
图8为本申请实施例提供的图像矫正装置的一种结构示意图;
图9为本申请实施例提供的电子设备的一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本申请保护的范围。
成像设备(如光学相机)所采集到的图像发生图像畸变主要包括径向畸变和切向畸变。为便于理解,结合图1-a至图1-d为例对图像畸变进行说明。图1-a为径向畸变的第一种示意图。图1-b为径向畸变的第二种示意图。图1-c为切向畸变的第一种示意图。图1-d为切向畸变的第二种示意图。
上述径向畸变与成像设备上的光学镜片有关。例如,在利用包含广角镜头的成像设备进行图像采集时,所采集到的图像会发生如图1-a所示的桶形畸变。再例如,在利用包含长焦镜头的成像设备进行图像采集时,所采集到的图像会发生如图1-b所示的枕形畸变。其中,桶形畸变和枕形畸变均属于径向畸变。
上述切向畸变与被拍摄物体表面与成像设备上镜头的光轴不垂直有关。
例如,在图1-c所示的20张采集图像中,随着被拍摄物体表面,即图1-c中由黑白格所构成的马赛克板与成像设备上镜头的光轴间角度的变换,采集到的20张采集图像呈现出不同的切向畸变。
再例如,在图1-d中,针对采集图像中每一黑格或白格,该黑格或白格在被拍摄物体上大小和形状是相同的。但是在采集到的图像中,由于每一黑格或白格与成像设备上镜头的光轴间的角度的不同,在图1-d所示的采集图像中,每一黑格或白格的发生不同程度的切向畸变。
针对上述径向畸变和切向畸变,目前常用的畸变矫正方法是基于多项式进行拟合。但是,在利用c臂机获取采集图像时由于成像原理较为复杂,导致采集到的采集图像中存在的图像畸变也较为复杂。例如,c臂机所采集到的采集图像中还可以出现s形畸变或局部畸变等。为便于理解,以图2-a至图2-c为例进行说明。图2-a为未出现畸变的一种示意图。图2-b为出现s形畸变的一种示意图。图2-c为出现局部畸变的一种示意图。
与图2-a相比,图2-b所示的采集图像中各个点的位置发生了明显的偏移,图2-c所示的采集图像中椭圆区域中部分点的位置发生了明显的偏移。这都将影响c臂机进行图像采集所得到的采集图像的准确性。
针对上述图2-b和图2-c所示的图像畸变,由于c臂机采集图像的图像畸变较为复杂,上述基于多项式拟合的方法并不能准确对出现图像畸变,如对上述s形畸变或局部畸变的图像矫正。
为了解决上述相关技术中无法对存在复杂畸变的图像进行矫正的问题,本申请实施例提供了一种图像矫正方法。如图3所示,图3为本申请实施例提供的图像矫正方法的第一种流程示意图。该方法包括以下步骤。
步骤s301,对c臂机采集的标定图像中的像素点进行采样,得到多个采样点。
步骤s302,确定多个采样点的畸变位移。
步骤s303,基于多个采样点的畸变位移,确定初始位移矩阵,初始位移矩阵中第i行第j列的元素与标定图像中第i行第j列的像素点对应,初始位移矩阵中每个采样点对应的元素的值为该采样点的畸变位移,初始位移矩阵中除多个采样点对应的元素外的元素的值为零。
步骤s304,基于矩阵分解,对所述初始位移矩阵中除所述多个采样点对应的元素外的元素的值进行预测,得到畸变位移矩阵。
步骤s305,利用畸变位移矩阵对c臂机采集的待矫正图像进行矫正,得到矫正图像。
通过本申请实施例提供的方法,对c臂机采集的标定图像中的像素点进行采样,得到多个采样点,利用多个采样点的畸变位移,构建初始位移矩阵,并基于矩阵分解,对初始位移矩阵中除多个采样点对应的元素外的元素的值进行预测,这样得到的畸变位移矩阵中,每个元素的值分别为对应的像素点的畸变位移。因此,本申请实施例中,基于畸变位移矩阵获知了c臂机采集的图像中各个像素点的畸变位移。利用该畸变位移矩阵,可以高效精准地对存在复杂畸变的c臂机采集图像进行畸变矫正。
下面通过具体的实施例,对本申请实施例进行说明。为便于描述,下面以电子设备为执行主体进行说明,该电子设备可以为c臂机,也可以为与c臂机连接的具有图像处理功能的设备。在此,对该电子设备不作具体限定。
针对上述步骤s301,即对c臂机采集的标定图像中的像素点进行采样,得到多个采样点。
在本步骤中,电子设备可以获取c臂机采集到的标定图像,从而对该标定图像中的像素点进行采样,得到多个采样点。在此,对标定图像中像素点的采样方式,以及采样得到的采样点的数量不作具体限定。
一个可选的实施例中,为便于上述对c臂机采集到的标定图像的采样处理,上述c臂机上可以设置有一标定板,该标定板上分布有均匀分布有多个金属小球。c臂机可以利用x射线对标定板进行图像采集,将采集到的采集图像作为标定图像。
在本申请实施例中,由于金属在x射线照射下可以在采集图像上表现出较好的呈现效果,因此,上述标定板上包括多个金属小球可以使得采集到的标定图像更加清晰,便于后期对标定图像的处理。在此,对上述金属小球所包括的金属不作具体限定。
一个可选的实施例中,上述标定图像中包括多个标定球。标定球即为上述标定板中金属小球在标定图像中所呈现的影像。关于标定板上金属小球的分布特征可参照下文中标定球的分布特征,在此不作具体说明。
基于上述标定图像中包括多个标定球,上述步骤s301,对标定图像中的像素点进行采样,得到多个采样点,具体可以为:
电子设备对标定图像中的多个标定球进行识别,得到多个标定球的中心点,将多个标定球的中心点作为采样点。
为便于理解,结合图4对上述采样点的获取进行说明。图4为本申请实施例提供的标定图像的一种示意图。
在图4所示的标定图像中包括多个标定球,即图4中区域405中包括的多个黑色圆形。电子设备在对标定图像中的像素点进行采样时,可以识别出区域405中包括的标定球,并将每一标定球的中心点所在的像素点作为采样点。
在图4所示的标定图像中包括两种类型的标点球,即如图4所示的标定求404,以及如图4所示的标定球401、标定球402或标定球403。其中,标定球404的面积较小,可以称为普通标定球,标定球401、标定球402或标定球403的面积较大,可以称为定位标定球。关于定位标定球的描述,可参见下文描述,在此不作具体说明。
在本申请实施例中,为便于区分上述标定图像中的普通标定球和定位标定球,上述普通标定球的半径可以小于上述定位标定球的半径。在此,对上述普通标定球和定位标定球的半径不作具体说明。
另一个可选的实施例中,在对上述标定图像进行采样得到多个采样点时,电子设备还可以在识别出标定图像中的多个标定球后,统一将标定图像中各标定球中某一点所对应的像素点作为上述采样点。标定球中的某一点包括但不限于最高顶点、最低顶点、左侧顶点或右侧顶点。
在本申请实施例中,对上述标定图像中采样点的获取不作具体限定。为便于描述,下文均以中心点为例进行说明,并不起任何限定作用。
通过上述标定球,电子设备可以准确获取到多个采样点,也便于后期针对每一采样点确定该采样点的畸变位移,从而得到上述畸变位移矩阵,提高确定出的每一采样点的畸变位移以及畸变位移矩阵的准确性。
针对上述步骤s302,即确定多个采样点的畸变位移。
在本步骤中,针对上述步骤s301所确定出的每一采样点,用户可以向电子设备输入该采样点的畸变位移。
针对上述步骤s301所确定出的每一采样点,电子设备也可以基于上述定位标定球,确定该采样点的畸变位移。关于每一采样点畸变位移的确定可参见下文描述,在此不作具体说明。
本申请实施例中,也可以采用其他方式确定多个采样点的畸变位移,对此不做限定。
在本申请实施例中,针对每一采样点,该采样点的畸变位移包括该采样点在x方向(即水平方向)上的畸变位移,以及该采样点在y方向(即竖直方向)上的畸变位移。上述x方向和y方向为图像坐标系下两个坐标轴的方向。
针对上述步骤s303,即基于多个采样点的畸变位移,确定初始位移矩阵,初始位移矩阵中第i行第j列的元素与标定图像中第i行第j列的像素点对应,初始位移矩阵中每个采样点对应的元素的值为该采样点的畸变位移,初始位移矩阵中除多个采样点对应的元素外的元素的值为零。
在本步骤中,由于上述步骤s301采样后可以得到多个采样点,因此,为便于后期数据处理,电子设备可以基于每一采样点的畸变位移,按照各采样点在上述标定图像中的位置,确定初始位移矩阵。
在本申请实施例中,上述在确定初始位移矩阵时,由于上述每一采样点的畸变位移包括x方向上的畸变位移和y方向上的畸变位移,因此,电子设备可以根据每一采样点在x方向上的畸变位移,构建x方向上位移矩阵,根据每一采样点在y方向上的畸变位移,构建y方向上的位移矩阵。上述初始位移矩阵包括该x方向上的初始位移矩阵和该y方向上的初始位移矩阵。
为便于理解,以标定图像的大小为1024像素*1024像素为例,对上述x方向上位移矩阵的构建进行说明。
通过上述步骤s302,电子设备确定出标定图像中每一采样点在x方向上的畸变位移,并没有确定除采样点以外的像素点在x方向上的畸变位移,即除采样点以外的各像素点在x方向上的畸变位移为0。电子设备可以根据标定图像中每一像素点在x方向上的畸变位移,按照每一像素点所在的位置构建得到大小为1024*1024的位移矩阵,即x方向上的初始位移矩阵。在该初始位移矩阵中,每一采样点对应位置处的元素值为该采样点在x方向上的畸变位移,除采样点以外的每一像素点对应位置处的元素值为该像素点在x方向上的畸变位移,即0。
例如,标定图像中某一采样点的位置为第3行第3列,该采样点在x方向上的畸变位移为δx,某一像素点(非采样点)的位置为第5行第1列,该像素点在x方向上的畸变位移为0,则上述1024*1024大小的x方向上的初始位移矩阵中,第3行第3列的元素值为δx,第5行第1列的元素值为0。
上述y方向上位移矩阵的构建可参照上述x方向上的初始位移矩阵的构建,在此不作具体说明。
在本申请实施例中,上述步骤s303中的第i行第j列中的i和j均为正整数。1≤i≤m,1≤j≤n,m为标定图像每行像素点的总数,n为标定图像每列像素点的总数。
针对上述步骤s304,即基于矩阵分解,对初始位移矩阵中除多个采样点对应的元素外的元素的值进行预测,得到畸变位移矩阵。
在本步骤中,在上述步骤s303所确定的初始位移矩阵中,即上述x方向上的初始位移矩阵以及上述y方向上的初始位移矩阵中,除采样点以外的各像素点的畸变位移均是用0进行补充的。为了有效补全该初始位移矩阵,也就是确定标定图像中每一像素点所对应的畸变位移,根据某一像素点的畸变位移与周围像素点的畸变位移相近的特征,电子设备可以基于矩阵分解,对上述初始位移矩阵中除多个采样点对应的元素外的元素的值进行预测,从而得到畸变位移矩阵。也就是,准确预测出标定图像中每一像素点所对应的畸变位移,得到畸变位移矩阵。
一个可选的实施例中,上述步骤s304,基于矩阵分解,对初始位移矩阵中除多个采样点对应的元素外的元素的值进行预测,得到畸变位移矩阵,具体可以表示为:
电子设备基于矩阵分解,利用深度学习框架或梯度下降算法,对所述初始位移矩阵中除多个采样点对应的元素外的元素的值进行预测,得到畸变位移矩阵。
为便于理解,下面以上述梯度下降法为例对求解畸变位移矩阵过程进行说明。
现假设矩阵r[m*n]为上述初始位移矩阵,即上述x方向上的初始位移矩阵或y方向上的初始位移矩阵,ri,j为矩阵r[m*n]中第i行第j列的元素。r[m*n]可以表示为:
假设在r[m*n]=p[m*k]*q[k*n]的基础上,也就是初始位移矩阵可以矩阵分解为p[m*k]和q[k*n],电子设备可以构建得到目标函数objective:
objective=min[n(p[m*k]*q[k*n])+f(p[m*k]*q[k*n],r[m*n])]
其中,min为最小值操作,n(p[m*k]*q[k*n])可以通过下文公式1计算得到,f(p[m*k]*q[k*n],r[m*n])可以通过下文公式2计算得到。
公式1:
公式2:
其中,n(a[a*b])表示a[a*b]中各个元素的元素值邻居元素的元素值的差异,f(a[a*b],b[a*b])是以b[a*b]中元素是否为0为基准,计算a[a*b]中对应不为0的元素间差值平方的和值,可以理解为:a[a*b]与b[a*b]在特定位置上元素对应数值上的差异,即距离,矩阵a[a*b]与b[a*b]为形式参数,矩阵a[a*b]的传入实参为矩阵p[m*k]与矩阵q[k*n]相乘后得到的矩阵,矩阵b[a*b]的传入实参为r[m*n]。
neighbor(i,j)为第i行第j列元素邻居的元素,n为邻居的元素的数量,akm为矩阵a[a*b]中第k行第m列的元素,aij为矩阵a[a*b]中第i行第j列的元素,a为矩阵a[a*b]的行数,b为矩阵a[a*b]的列数,矩阵b[a*b]为矩阵r[m*n],bij为矩阵b[a*b]中第i行第j列的元素。
上述第i行第j列元素邻居的元素为第i行第j列元素的上、下、左、右、左上、左下、右上和右下中的至少两个方向上所对应的元素。第i行第j列元素邻居的元素具体选取范围可以根据设置的邻居元素的最大数量确定。根据第i行第j列元素所在的位置不同,该元素邻居元素的数量有所不同。例如,第1行第1列元素的邻居元素可以包括第1行第2列的元素和第2行第1列的元素。再例如,一1024*1024大小的矩阵中,第5行第5列元素的邻居元素可以包括上述8个方向所对应的元素。在此,上述第i行第j列元素邻居元素的数量不作具体限定。
在构建得到上述目标函数objective后,电子设备可以分别对pij和qij求偏导,得到p[m*k]和q[k*n]中每一个元素所对应的梯度,从而利用梯度下降算法优化目标函数,得到p[m*k]和q[k*n],即上述畸变位移矩阵。pij表示p[m*k]中第i行第j列的元素,qij表示q[k*n]中第i行第j列的元素。
通过上述公式1,可以用p[m*k]与q[k*n]相乘所得到的矩阵还原出包含缺失值(即上述除采样点以外的像素点所对应的畸变位移)的r[m*n],当矩阵a[a*b]的传入实参为矩阵p[m*k]与矩阵q[k*n]相乘后得到的矩阵时,n(a[a*b])可以理解为任一像素点的畸变位移与邻居像素点的畸变位移的畸变差异。该畸变差异越小,基于该畸变差异所确定出的畸变位移矩阵的准确性越高,从而提高了基于该畸变位移矩阵进行图像矫正得到的矫正图像的准确性。
通过上述公式2,可以使得p[m*k]与q[k*n]相乘得到的矩阵,与r[m*n]中未缺失值(即上述各采样点所对应的畸变位移)在对应位置处的元素值之间的差别尽可能的小。也就是使得矩阵a[a*b]与矩阵b[a*b]中对应位置处元素值间的距离尽可能的小。当f(a[a*b],b[a*b])越小,即距离越小时,矩阵a[a*b]与矩阵b[a*b]的相似度越高,基于矩阵分解得到的畸变位移矩阵的准确性越高。
一个可选的实施例中,上述深度学习框架可以为torch框架或tensorflow集成的优化器,如adam。其中,torch框架是一个广泛支持机器学习算法的科学计算框架,tensorflow是一个基于数据流编程(dataflowprogramming)的符号数学系统。在此,对上述深度学习框架不作具体限定,对利用深度学习框架求解畸变位移矩阵的过程不作具体说明。
针对上述步骤s305,即利用畸变位移矩阵对c臂机采集的待矫正图像进行矫正,得到矫正图像。
在本步骤中,通过上述步骤s304得到上述畸变位移矩阵后,电子设备可以获取上述c臂机所采集到的待矫正图像,利用该畸变位移矩阵对该待矫正图像进行矫正,得到矫正图像。
上述待矫正图像可以为上述c臂机所采集到的任一图像,在此,对上述待矫正图像不作具体限定。
在本申请实施例中,由于每一c臂机所采集的到待矫正图像所发生的图像畸变与该c臂机所采集到的标定图像所发生的图像畸变相同,因此,电子设备在利用某一c臂机采集到的标定图像确定的畸变位移矩阵对该c臂机采集到的待矫正图像矫正时,可以准确的完成图像畸变的矫正,从而消除待矫正图像中的图像畸变。
一个可选的实施例中,针对上述标定图像,在第一方向上相邻两个标定球间的距离为第一预设值,在第二方向上相邻两个标定球间的距离为第二预设值,第一方向和第二方向正交;多个标定球包括多个定位标定球。
在本申请实施例中,在上述标定图像中标定球的面积小于定位标定球的面积,如图4所示。
针对上述第一方向和第二方向,该第一方向和第二方向可以根据标定图像中标定球的分布特征确定,该第一方向和第二方向不同于上述x方向和y方向。在此,对上述第一方向和第二方向不作具体限定。
为便于理解,仍以上述图4为例进行说明。现假设第一方向为标定球403中心点和标定球402中心点所在直线向上的方向或向下的方向,第二方向为标定球401中心点和标定球402中心点所在直线向上的方向或向下的方向。第一方向和第二方向正交。在图4中标定球404为普通标定球,标定球401、标定球402或标定球403为定位标定球。
一个可选的实施例中,上述多个标定球可以包括三个定位标定球,这三个定位标定球可以按照l形分布。除此以外,上述标定图像中定位标定球的数量还可以为其他数值,例如,4、5、6等。在此,对上述标定图像中包括的定位标定球的数量不作具体限定。
一个可选的实施例中,上述第一方向上或第二方向上,每相邻两个标定球间的距离可以表示为每相邻两个标定球的中心点间的距离。在第一方向上,每相邻两个标定球间的距离为第一预设值。在第二方向上,每相邻两个标定球间的距离为第二预设值。
一个可选的实施例中,在第一方向上距离最小的两个定位标定球间的距离小于等于第一预设值的预设倍数,在第二方向上距离最小的两个定位标定球间的距离小于等于第二预设值的预设倍数。
为便于理解,仍以上述图4为例进行说明。在图4中的标定球403与标定球402在第一方向上间隔一个普通标定球,则标定球403与标定球402间的距离可以为2倍的第一预设值。在图4中的标定球401与标定球402在第二方向上间隔三个普通标定球,则标定球401与标定球402间的距离可以为4倍的第二预设值。
上述第一预设值可以与上述第二预设值相同,上述第一预设值也可以与上述第二预设值不同。在此,对上述第一预设值和第二预设值的大小不作具体限定。为便于描述,下文以第一预设值和第二预设值相同为例进行说明,并不起任何限定作用。
基于上述标定球的分布,根据上述图3所示的方法,本申请实施例还提供了一种图像矫正方法。如图5所示,图5为本申请实施例提供的图像矫正方法的第二种流程示意图。在该方法中将上述步骤s302细化为以下步骤,即步骤s3021-步骤s3022。
步骤s3021,以多个定位标定球中基准定位标定球的中心点为起始点,按照第一预设值在第一方向上进行一维拓展,并按照第二预设值在第二方向上进行一维拓展,得到多个标定球的中心点的矫正坐标。
在本步骤中,电子设备可以从上述标定图像中包括的多个定位标定球中确定出基准定位标定球,从而以该基准定位标定球的中心点为起始点,按照上述第一预设值在第一方向上进行一维拓展,并按照第二预设值在第二方向上进行一维拓展,得到多个标定球的中心点的矫正坐标。
一个可选的实施例中,上述基准定位标定球可以为标定图像中的任一定位标定球。
另一个可选的实施例中,考虑到图像畸变发生的不确定性以及复杂性,上述在确定基准定位标定球时,可以将距离最小的两个定位标定球中一个定位标定球确定为上述基准定位标定球。由于这两个定位标定球间的距离最小,因此,这两个定位标定球相对于其他定位标定球所发生的畸变位移相对较小,这可以有效降低上述拓展过程所引入的误差,从而提高后期确定出的矫正坐标的准确性。
一个可选的实施例中,如图6所示,上述步骤s3021可以细化为以下步骤,即步骤s601-步骤s602。图6为本申请实施例提供的矫正坐标确定方法的一种流程示意图。
步骤s601,以多个定位标定球中基准定位标定球的中心点为起始点,按照第一预设值在第一方向上进行一维拓展,并按照第二预设值在第二方向上进行一维拓展,得到多个拓展标定球的中心点的拓展坐标。
为便于理解,结合图7对上述拓展坐标的确定进行说明。图7为本申请实施例提供的标定图像进行维度拓展后的一种示意图。假设定位标定球701和定位标定球702所在直线向上的方向为第一方向,定位标定球703和定位标定球701所在直线向上的方向为第二方向。
电子设备可以将图7中的定位标定球701作为基准定位标定球。电子设备以定位标定球701的中心点为起始点,按照第一预设值延第一方向进行一维拓展,并按照第二预设值延第二方向进行一维拓展,得到多个拓展标定球,并将每一拓展标定球的中心点的位置坐标确定为每一拓展标定球的拓展坐标。
例如,电子设备以定位标定球701为起始点,延第一方向向上和向下依次每隔第一预设值确定一拓展标定球,得到多个拓展标定球。针对每一拓展标定球,电子设备以该拓展标定球为起始点,延第二方向向上和向下依次每个第二预设值确定一拓展标定球。通过在第一方向上的一维拓展,以及第二方向上的一维拓展,电子设备可以得到如图7所示的拓展标定球。即图7中每一白色的标定球,如图7中的标定球704等。
针对图7中每一拓展标定球,电子设备可以将该拓展定位球的中心点的位置坐标确定为该拓展定位球的拓展坐标。
步骤s602,针对每个标定球,根据多个拓展标定球的中心点的拓展坐标,以及标定图像中该标定球的中心点的原始坐标,确定距离该标定球最近的拓展标定球,并将所确定的拓展标定球的中心点的拓展坐标作为该标定球的中心点的矫正坐标。
为便于理解,仍以上述图7为例进行说明。针对图7中的标定球705,在上述第一方向上标定球705附近存在两个拓展标定球,即拓展标定球706和拓展标定球707。在确定标定球705的中心点的矫正坐标时,由于标定球705的中心点到拓展标定球706的中心点间的距离,明显小于标定球705的中心点到拓展标定球707的中心点间的距离,也就是标定球705距离拓展标定球706最近。此时,电子设备可以将拓展标定球706的中心点的拓展坐标确定为标定球705的中心点的矫正坐标。
通过上述步骤s601和s602,电子设备可以根据确定出的拓展标定球的中心点的拓展坐标,准确地确定上述标定图像每一标定球的矫正坐标,也就是每一采样点所对应的矫正坐标。
步骤s3022,基于标定图像中多个标定球的中心点的原始坐标,以及所得到的多个标定球的中心点的矫正坐标,获取多个采样点的畸变位移。
在本步骤中,针对上述标定图像中的每一标定球,电子设备可以根据该标定球的中心点的原始坐标,以及该标定球的中心点的矫正坐标,计算得到该标定球的畸变位移,也就是确定该标定球对应采样点的畸变位移。
一个可选的实施例中,针对上述标定图像中的每一采样点,该采样点的畸变位移可以表示为:标定图像中与该采样点对应的标定球的原始坐标与矫正坐标间的差值。在此,对上述多个采样点的畸变位移的计算不作具体说明。
通过上述步骤s3021和步骤s3022,电子设备可以根据每一采样点的原始坐标以及矫正坐标,准确确定出每一采样点对应的畸变坐标。
基于相同的发明构思,根据上述本申请实施例提供的图像矫正方法,本申请实施例还提供了一种图像矫正装置。如图8所示,图8为本申请实施例提供的图像矫正装置的一种结构示意图。该装置包括以下模块。
采样模块801,用于对c臂机采集的标定图像中的像素点进行采样,得到多个采样点;
第一确定模块802,用于确定多个采样点的畸变位移;
第二确定模块803,用于基于多个采样点的畸变位移,确定初始位移矩阵,初始位移矩阵中第i行第j列的元素与标定图像中第i行第j列的像素点对应,初始位移矩阵中每个采样点对应的元素的值为该采样点的畸变位移,初始位移矩阵中除多个采样点对应的元素外的元素的值为零;
预测模块804,用于基于矩阵分解,对初始位移矩阵中除多个采样点对应的元素外的元素的值进行预测,得到畸变位移矩阵;
矫正模块805,用于利用畸变位移矩阵对c臂机采集的待矫正图像进行矫正,得到矫正图像。
可选的,上述标定图像可以包括多个标定球;
上述采样模块801,具体可以用于对标定图像中的多个标定球进行识别,得到多个标定球的中心点,将多个标定球的中心点作为采样点。
可选的,在第一方向上相邻两个标定球间的距离为第一预设值,在第二方向上相邻两个标定球间的距离为第二预设值,第一方向和第二方向正交;多个标定球包括多个定位标定球;
上述第一确定模块802,可以包括:
拓展子模块,用于以多个定位标定球中基准定位标定球的中心点为起始点,按照第一预设值在第一方向上进行一维拓展,并按照第二预设值在第二方向上进行一维拓展,得到多个标定球的中心点的矫正坐标;
获取子模块,用于基于标定图像中多个标定球的中心点的原始坐标,以及所得到的多个标定球的中心点的矫正坐标,获取多个采样点的畸变位移。
可选的,上述拓展子模块,具体可以用于:
以多个定位标定球中基准定位标定球的中心点为起始点,按照第一预设值在第一方向上进行一维拓展,并按照第二预设值在第二方向上进行一维拓展,得到多个拓展标定球的中心点的拓展坐标;
针对每个标定球,根据多个拓展标定球的中心点的拓展坐标,以及标定图像中该标定球的中心点的原始坐标,确定距离该标定球最近的拓展标定球,并将所确定的拓展标定球的中心点的拓展坐标作为该标定球的中心点的矫正坐标。
可选的,上述多个标定球包括三个定位标定球,三个定位标定球按照l形分布;基准定位标定球为距离最小的两个定位标定球中一个定位标定球。
可选的,在第一方向上距离最小的两个定位标定球间的距离小于等于第一预设值的预设倍数,在第二方向上距离最小的两个定位标定球间的距离小于等于第二预设值的预设倍数。
可选的,上述预测模块804,具体可以用于基于矩阵分解,利用深度学习框架或梯度下降算法,对初始位移矩阵中除多个采样点对应的元素外的元素的值进行预测,得到畸变位移矩阵。
通过本申请实施例提供的装置,对c臂机采集的标定图像中的像素点进行采样,得到多个采样点,利用多个采样点的畸变位移,构建初始位移矩阵,并基于矩阵分解,对初始位移矩阵中除多个采样点对应的元素外的元素的值进行预测,这样得到的畸变位移矩阵中,每个元素的值分别为对应的像素点的畸变位移。因此,本申请实施例中,基于畸变位移矩阵获知了c臂机采集的图像中各个像素点的畸变位移。利用该畸变位移矩阵,可以高效精准地对存在复杂畸变的c臂机采集图像进行畸变矫正。
基于相同的发明构思,根据上述本申请实施例提供的图像矫正方法,本申请实施例还提供了一种电子设备,如图9所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信;
存储器903,用于存放计算机程序;
处理器901,用于执行存储器903上所存放的程序时,实现如下步骤:
对c臂机采集的标定图像中的像素点进行采样,得到多个采样点;
确定多个采样点的畸变位移;
基于多个采样点的畸变位移,确定初始位移矩阵,初始位移矩阵中第i行第j列的元素与标定图像中第i行第j列的像素点对应,初始位移矩阵中每个采样点对应的元素的值为该采样点的畸变位移,初始位移矩阵中除多个采样点对应的元素外的元素的值为零;
基于矩阵分解,对初始位移矩阵中除多个采样点对应的元素外的元素的值进行预测,得到畸变位移矩阵;
利用畸变位移矩阵对c臂机采集的待矫正图像进行矫正,得到矫正图像。
通过本申请实施例提供的电子设备,对c臂机采集的标定图像中的像素点进行采样,得到多个采样点,利用多个采样点的畸变位移,构建初始位移矩阵,并基于矩阵分解,对初始位移矩阵中除多个采样点对应的元素外的元素的值进行预测,这样得到的畸变位移矩阵中,每个元素的值分别为对应的像素点的畸变位移。因此,本申请实施例中,基于畸变位移矩阵获知了c臂机采集的图像中各个像素点的畸变位移。利用该畸变位移矩阵,可以高效精准地对存在复杂畸变的c臂机采集图像进行畸变矫正可以很好的对c臂机采集的存在复杂畸变的图像进行矫正。
上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
基于相同的发明构思,根据上述本申请实施例提供的图像矫正方法,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一图像矫正方法的步骤。
基于相同的发明构思,根据上述本申请实施例提供的图像矫正方法,本申请实施例还提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述实施例中任一图像矫正方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质及计算机程序等实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。