发明内容
有鉴于此,本发明提供一种消融针的空间定位方法,所述消融针的任意位置设有追踪器,所述追踪器包括至少三个不共线的反光部件,其中两个反光部件所在的直线与所述消融针的长度方向平行,反光部件可被视觉定位系统捕捉,进而确定追踪器的空间坐标;所述空间定位方法包括:在所述消融针执行标定运动的过程中,获取位于多个位置时的所述追踪器的空间坐标,所述标定运动为在所述消融针的针尖位置固定的状态下摆动所述消融针;根据位于多个不同位置时的所述追踪器的空间坐标计算所述针尖的空间坐标;根据所述两个反光部件的空间坐标确定消融针的朝向;利用所述朝向和所述针尖的空间坐标定位所述消融针。
本发明还提供一种消融针的空间定位方法,所述消融针的任意位置设有追踪器,所述追踪器包括至少三个不共线的反光部件,反光部件可被视觉定位系统捕捉,进而确定追踪器的空间坐标;所述空间定位方法包括:在所述消融针执行第一标定运动的过程中,获取位于多个位置时的所述追踪器的空间坐标,所述第一标定运动为在所述消融针的针尖位置固定的状态下摆动所述消融针;根据位于多个位置时的所述追踪器的空间坐标计算所述针尖的空间坐标;在所述消融针执行第二标定运动的过程中,获取位于多个位置时的所述追踪器的空间坐标,所述第二标定运动为在所述消融针上除针尖外的另一点固定的状态下摆动所述消融针;根据位于多个位置时的所述追踪器的空间坐标计算所述另一点的空间坐标;根据所述针尖的空间坐标和所述另一点的空间坐标确定消融针的朝向;利用所述朝向和所述针尖的空间坐标定位所述消融针。
可选地,根据多个位置时的所述追踪器的空间坐标计算所述针尖的空间坐标具体包括:利用球面方程和获取到的所述追踪器的空间坐标得到相应的待解算方程组,其中x、y、z为所述追踪器的空间坐标,x0、y0、z0为所述针尖的空间坐标,R为所述针尖与所述追踪器的距离;利用所述待解算方程组计算出所述针尖的空间坐标。
可选地,待解算方程组中包括方程,其中a= -2x0,b=-2y0,c= -2z0,d=/>;所述多个位置为至少四个不同的位置,利用所述待解算方程组计算出a、b、c、d,进而计算出x0、y0、z0。
可选地,根据位于多个位置时的所述追踪器的空间坐标计算所述另一点的空间坐标具体包括:利用球面方程和获取到的所述追踪器的空间坐标得到相应的待解算方程组,其中x、y、z为所述追踪器的空间坐标,x1、y1、z1为所述另一点的空间坐标,R1为所述追踪器与所述另一点的距离;利用所述待解算方程组计算出所述另一点的空间坐标。
可选地,待解算方程组中包括方程,其中a= -2x1,b=-2y1,c= -2z1,d=/>;所述多个位置为至少四个不同的位置,利用所述待解算方程组计算出a、b、c、d,进而计算出x1、y1、z1。
可选地,利用所述长度方向和所述针尖的空间坐标定位所述消融针的步骤包括:利用如下方式对追踪器坐标系中所述针尖的空间坐标进行坐标转换,得到视觉定位坐标系中的所述针尖的空间坐标:
=R/>+T ,
其中x0、y0、z0为追踪器坐标系中的所述针尖的空间坐标,xc、yc、zc为视觉定位坐标系中的所述针尖的空间坐标,R为追踪器坐标系与视觉定位坐标系的旋转矩阵,T为追踪器坐标系与视觉定位坐标系的平移向量。
相应地,本发明提供一种消融针的空间定位套件,包括:可拆卸安装于消融针上任意位置的追踪器、标定工装和定位设备,其中所述追踪器包括至少三个不共线的反光部件,反光部件可被视觉定位系统捕捉,进而确定追踪器的空间坐标;所述标定工装上设有至少一个定位点,其中一个所述定位点用于固定消融针的针尖,并使得消融针在针尖被固定的状态下能够进行摆动;所述定位设备用于执行上述空间定位方法。
可选地,所述标定工装上的另一个定位点用于固定消融针上除针尖外的另一点,并使得消融针在该点被固定的状态下能够进行摆动。
相应地,本发明提供一种消融针的空间定位设备,包括:处理器以及与所述处理器连接的存储器;其中,所述存储器存储有可被所述处理器执行的指令,所述指令被所述处理器执行,以使所述处理器执行上述空间定位方法。
根据本发明提供的消融针的空间定位方法及设备,追踪器可以作为配件可拆卸地安装在任意的消融针之上,安装后的追踪器与消融针针尖的位置关系是未知的,而使用者只需要执行一种标定动作,即在消融针的针尖位置固定的状态下摆动消融针,视觉定位系统能够获得位于多个位置时的追踪器的空间坐标,根据获取到的多组空间坐标可以计算出针尖的位置,由此则可以得到针尖与追踪器的位置关系,进而可以实现对消融针进行定位。对于供应商来说,可以只提供导航和定位系统,不再必须提供一体设计的追踪器和消融针,降低了经营成本;对于使用者来说,可以将其已有的任何消融针与本方案的追踪器和定位方法相融合进行手术导航,提高了扩展性,降低了使用成本。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
图1示出一种消融手术场景,消融针1上设有追踪器2(tracker),追踪器2包括至少三个不共线的反光部件(小球21),这些小球21能够被空间导航相机3通过可见光或者红外光捕捉,进而由计算设备确定每个小球21的空间位置,并通过所有小球21的空间位置可以确定追踪器2的空间位置。本方案不对消融针1的具体消融原理进行限定,如微波消融针、冷冻消融针、电穿孔消融针等任何硬质的消融针1都是可以应用的。
与常规技术不同的是,本发明中消融针1与追踪器2的位置关系不是已知的,所以计算出追踪器2的空间位置不等于得到了消融针1的针尖位置。在本发明中,追踪器2作为一种可拆卸部件,只需要消融针1的尾端有安装空间,且安装后不影响其消融功能,追踪器2可以安装在任何符合上述条件的消融针1的尾端。具体可以采用夹紧部件,将追踪器2夹在消融针1尾部,或者其它可拆卸安装部件都是可行的,本发明不对具体安装方式进行限定。
针对上述情形,计算设备需要根据安装的追踪器2对消融针1进行定位,也就是确定针尖空间位置和针体朝向。虽然安装位置是任意的,但是可以分成两种情况,一种情况是安装后,追踪器2中有两个小球21所在的直线与消融针1的长度方向平行;另一种情况是安装后不存在上述平行关系。针对这两种情况,对消融针1进行定位的方式有所不同,下面通过两个实施例介绍这两种情况的定位方案。
如图2和图3所示,本发明实施例提供一种消融针的空间定位方法,适用于上述第一种情况,即追踪器2中有两个小球21所在的直线与消融针1的长度方向平行。本方法可以由计算机或服务器等电子设备执行,包括如下操作:
S1A,在消融针执行标定运动的过程中,获取位于多个位置时的追踪器的空间坐标,标定运动为在消融针的针尖位置固定的状态下摆动消融针。具体地,在消融针1上安装上追踪器2后,确保消融针1处于空间导航相机3的捕捉范围内,操作者可以手持消融针1(也可以由机械臂代替人来执行),使其针尖抵住某个点位不动,即如图3所示的状态。然后向任意方向摆动消融针1(也可以将摆动理解为绕着不动点进行旋转),由于本方案中的消融针1是刚性的,所以摆动动作实际上是使得消融针1的尾部在空间中的一个球面上进行运动,球心是针尖位置。
此运动的过程可以是连续的,也可以是有停顿的,比如在多个位置故意地停顿等,可以完全是人为决定的,或者按照预先给定的某种参考动作进行运动。运动的轨迹可以是任意的,图3表示在空间中画一个圆,这只是为了清楚地表达标定运动而给出的一种参考轨迹,实际上操作者可以进行任意的摆动。
消融针1携带追踪器2摆动到任意位置,均可以获得相应的追踪器2的空间坐标(x,y,z)。
S2A,根据位于多个不同位置时的追踪器的空间坐标计算针尖的空间坐标。根据上述介绍可知,获得的多个空间坐标实质上是同一球面上不同位置的坐标,在获取到足够多的球面位置坐标的情况下,既可拟合出此球面的球心位置,也就是针尖的空间坐标。可以理解的是,获取越多位置的坐标,所拟合出的球心位置越准确。具体计算方式有多种,比如可以通过机器视觉算法和优化算法,优化目标为待定点的位置到各个已知位置点的距离相等,得到一个最优的待定点位置,即为针尖位置;也可以通过球面方程解算出球心位置,即为针尖位置。
以利用球面方程解算为例:
球面方程为,其中x、y、z为追踪器的空间坐标,x0、y0、z0为针尖的空间坐标,R为针尖与追踪器的距离,运动轨迹上的另一点(步骤S1中获取到的另一点)的位置都符合此方程。
将此方程展开可以得到x0/>y0/>z0 ,令其中a= -2x0,b=-2y0,c= -2z0,d=/>,则可以将此方程改写为
,
改写后的方程中有a、b、c、d四个未知数,将求解x0、y0、z0的问题转换为求解这四个未知数,因此则至少需要四组不同的追踪器空间坐标(x,y,z)。所以在使用球面方程求解的实施例中,需要至少四个不共面的位置时的追踪器空间坐标。通过四个上述方程即可计算出a、b、c、d,进而可得到x0、y0、z0的值。
进一步地,可以获得更多不同位置的追踪器空间坐标,其中每四个都可以用于计算出相应的x0、y0、z0,将全部计算结果进行拟合,可以得到更准确的针尖坐标。
S3A,根据两个反光部件的空间坐标确定消融针的朝向。具体地,因为存在上述平行的关系,所以这两个小球21所在直线的方向就等同于消融针的方向,因此在本实施例中可以相对容易地确定消融针的方向。
S4A,利用朝向和针尖的空间坐标定位消融针。在计算出针尖位置和朝向后,即可确定针尖位置与追踪器位置的关系,之后消融针1就可以脱离当前位置,在三维空间中任意活动,此时只需要捕捉追踪器的位置,然后根据它们间的位置关系,即可实时获得针尖在三维空间中的坐标和消融针的朝向。
上述步骤中对位置的捕捉和计算都需要在同一个坐标系中进行,也就是说直接计算出的针尖的空间坐标和朝向,是相对于视觉定位坐标系(也称为相机坐标系)而言的,然而实际使用时往往是为了进行手术导航才需要对消融针进行定位,在手术导航中还需要将消融针的位置与手术对象或者其它器械的位置相结合,所以需要进行坐标系的转换,将视觉定位坐标系下的位置转换到追踪器坐标系中。
返回图1所示,以相机(红外导航设备)的某一位置作为原点可以建立一个视觉定位坐标系x1y1z1,在本场景中可看作世界坐标系,设备可以主动发射红外线,并可以通过红外相机检测到反光小球反射回的红外线从而可以获得小球21在视觉定位坐标系下的位置。
以追踪器中的某一位置作为原点也可以建立一个追踪器坐标系x2y2z2,在这个坐标系下每个小球21也有各自的位置坐标,而这几个位置坐标是已知的(由小球位置关系决定),所以每个小球21在追踪器坐标系下的位置坐标是已知的。
以消融针1的某一点为原点也可以建立一个消融针坐标系x3y3z3,一般将一条坐标轴与探针方向重合。
这几个坐标系下的不同的位置坐标可以相互转换。在本场景中,利用视觉定位坐标系和追踪器坐标系下的公共点(即小球21)的位置坐标可以完成转换,因为追踪器坐标系下的小球位置坐标是已知的,视觉定位坐标系下的小球位置坐标可以通过相机观测到。这样即可以找到两个坐标系之间的转换关系,通常用转换矩阵表示。
两个坐标系可以通过一个旋转加平移的过程,把一个坐标系中的坐标转换到另一个坐标系,通常用一个旋转矩阵R和平移向量T来描述,其中R是正交矩阵。上述步骤S2A得到的是视觉定位坐标系下的针尖位置,要得到追踪器坐标系下的针尖位置,则需要计算出追踪器坐标系x2y2z2与视觉定位坐标系x1y1z1的旋转矩阵R和平移向量T。
小球21位置在两个坐标系中的关系为
=/>,
Xc, Yc, Zc为小球在视觉定位坐标系下的坐标,Xw,Yw,Zw为小球在追踪器坐标系下的坐标,追踪器至少包含三个小球,这三个小球在两个坐标系下有三对坐标,将三对坐标带入上式即可解出R和T。
在已经得到 R和T后,在上述步 S4A 中,再利用针尖位置在视觉定位坐标系和追踪器坐标系之间的坐标转换关系,即可得到追踪器坐标系中的针尖的空间坐标,即针尖与追踪器的相对位置关系:
=R/>+T,
其中x0、y0、z0为追踪器坐标系中的针尖的空间坐标,xc、yc、zc为视觉定位坐标系中的针尖的空间坐标,R为已经求得的追踪器坐标系与视觉定位坐标系的旋转矩阵,T为已经求得的追踪器坐标系与视觉定位坐标系的平移向量。
如图4和图5所示,本实施例提供另一种消融针的空间定位方法,与前述实施例的不同之处在于,追踪器2安装后不存在上述平行关系,也就没有任两个小球所在的直线与消融针1朝向平行。在实际应用中,消融针1尾部的结构可能难以满足前述实施例中平行的需求,按照的状态是更加任意的,所以本方法与前述实施例的主要区别在于如何确定消融针1的朝向。本实施例的针尖位置定位方法包括:
S1B,在消融针执行第一标定运动的过程中,获取位于多个位置时的追踪器的空间坐标,第一标定运动为在消融针的针尖位置固定的状态下摆动消融针。
S2B,根据位于多个位置时的追踪器的空间坐标计算针尖的空间坐标。本实施例的第一标定运动即为前述实施例中的标定运动,步骤S1B、S2B可参考上述步骤S1A、S2A,此处不再赘述。为了区别于之后步骤中的另一点,在此将针尖记为点O。
与前述实施例目的相同,本实施例也需要确定消融针2的方向,但因为不存在上述平行的关系,也就是小球21所在直线的方向与消融针的方向是没有潜在关系的,因此在本实施例中要通过步骤S3B、S4B计算消融针的方向。
S3B,在消融针执行第二标定运动的过程中,获取位于多个位置时的追踪器的空间坐标,第二标定运动为在消融针上除针尖外的另一点固定的状态下摆动消融针。如图5所示,第二标定运动是指释放开针尖位置(针尖位置不再处于固定的状态,且不移动消融针)的情况下,使得针体上的某处被固定,然后摆动消融针1。本方案不对具体的固定位置进行限定,与针尖有一定距离即可,当然也不能是与追踪器所在位置重合,与追踪器也有一定距离即可,因此称之为另一点,比如可以是针体上针尖与尾端的中间位置。
第二标定运动也可以是连续的、有停顿的,完全人为的或由机械臂执行的,或者按照参考动作执行的等等。
与步骤S1B、S2B类似地,第二标定运动的轨迹,实际上是在以另一点O’为球心、以球心O’到追踪器2的位置为半径的球面上的运动轨迹。
S4B,根据位于多个位置时的追踪器的空间坐标计算另一点的空间坐标。获得的多个空间坐标实质上是同一球面上不同位置的坐标,在获取到足够多的球面位置坐标的情况下,既可拟合出此球面的球心位置,也就是点O’的空间坐标。
与步骤S1B、S2B类似地,具体计算方式有多种,比如可以通过机器视觉算法和优化算法,优化目标为待定点的位置到各个已知位置点的距离相等,得到一个最优的待定点位置,即为点O’的位置;也可以通过球面方程解算出球心位置,即为点O’的位置。
以利用球面方程解算为例:
利用球面方程和获取到的追踪器的空间坐标得到相应的待解算方程组,其中x、y、z为追踪器的空间坐标,x1、y1、z1为点O’的空间坐标,R1为追踪器位置与点O’的距离,然后利用待解算方程组计算出点O’的空间坐标。
待解算方程组中包括方程,其中a= -2x1,b=-2y1,c= -2z1,d=/>。利用至少四个不同的位置的追踪器坐标组成方程组,即可计算出a、b、c、d,进而计算出x1、y1、z1。
S5B,根据针尖的空间坐标和另一点的空间坐标确定消融针的朝向。由于针尖点O和另一点O’均为消融针上的点,所以这两个点所在直线的方向即为消融针的朝向。
S6B,利用朝向和针尖的空间坐标定位消融针。此步骤可参照前述实施例中的步骤S4A,此处不再赘述。
为了便于人或机械臂执行上述第一标定运动和/或第二标定运动,本发明实施例还提供两种标定工装。如图3所示,第一种工装包括一个底座,底座上设有一个孔位或槽,适用于容纳消融针1的针尖,针尖抵住或进入孔位后能够进行摆动或旋转,且摆动或旋转不易使针尖离开该孔位或槽即可;如图5所示,第二种装包括一个底座和一个支架,底座上设有一个孔位或槽(作用与第一种工装的孔位或槽相同),支架安装在底座上,支架上也设有一个槽或者锁定机构,能够在不移动消融针针尖的情况下,锁定消融针1上除针尖外的另一点,另一点被锁定的状态下,针尖被释放,消融针能够进行摆动或旋转。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。