CN117831369A - 碰撞检测方法及电子设备 - Google Patents
碰撞检测方法及电子设备 Download PDFInfo
- Publication number
- CN117831369A CN117831369A CN202410005293.6A CN202410005293A CN117831369A CN 117831369 A CN117831369 A CN 117831369A CN 202410005293 A CN202410005293 A CN 202410005293A CN 117831369 A CN117831369 A CN 117831369A
- Authority
- CN
- China
- Prior art keywords
- collision detection
- soft tissue
- information
- ball
- tissue model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 525
- 210000004872 soft tissue Anatomy 0.000 claims abstract description 245
- 238000013334 tissue model Methods 0.000 claims abstract description 225
- 238000000034 method Methods 0.000 claims description 34
- 238000012545 processing Methods 0.000 claims description 23
- 238000004422 calculation algorithm Methods 0.000 claims description 9
- 238000012800 visualization Methods 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 18
- 238000004590 computer program Methods 0.000 description 17
- 238000004364 calculation method Methods 0.000 description 13
- 230000015654 memory Effects 0.000 description 10
- 210000000056 organ Anatomy 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000012549 training Methods 0.000 description 8
- 238000002591 computed tomography Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000000638 solvent extraction Methods 0.000 description 5
- 238000010276 construction Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000001459 lithography Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Abstract
本公开提供了一种碰撞检测方法及电子设备,可以应用于虚拟现实技术领域和医疗技术领域。该碰撞检测方法包括:根据软组织模型的包围盒的信息和手术器械的碰撞检测球的信息,对软组织模型和手术器械进行第一碰撞检测,得到第一碰撞检测结果;在第一碰撞检测结果表征软组织模型和手术器械碰撞的情况下,根据碰撞检测球的信息和软组织模型的外接球的信息,对软组织模型和手术器械进行第二碰撞检测,得到第二碰撞检测结果;在第二碰撞检测结果表征软组织模型和手术器械碰撞的情况下,根据碰撞检测球的信息和软组织模型的信息,对软组织模型和手术器械进行第三碰撞检测,得到第三碰撞检测结果。
Description
技术领域
本公开涉及虚拟现实技术领域和医疗技术领域,尤其涉及一种碰撞检测方法及电子设备。
背景技术
手术模拟器是一种可以帮助医生在虚拟场景下训练手术技能的工具,通过对医生操作的器械与软组织间的交互碰撞进行检测,帮助医生对各种软组织进行熟练地掌握和操作。例如,可以采用包围体层级结构(BVH,Bounding Volume Hierarchies)、空间分区法(Spatial partitioning)、图像空间技术(Image-space techniques)、连续碰撞检测和离散碰撞检测等方法对手术器械与软组织之间的碰撞进行检测。
在此基础上,为了使碰撞效果更为真实,需要精确的检测到软组织模型和手术器械之间的碰撞点,再根据该碰撞点驱动软组织模型运动。由此,存在对碰撞点进行检测的计算量大,所需消耗的计算资源多,以及计算效率低的问题。
发明内容
鉴于上述问题,本公开提供了碰撞检测方法及电子设备。
根据本公开的第一个方面,提供了一种碰撞检测方法,包括:根据软组织模型的包围盒的信息和手术器械的碰撞检测球的信息,对软组织模型和手术器械进行第一碰撞检测,得到第一碰撞检测结果,其中,手术器械是针对软组织模型进行操作的器械模型,碰撞检测球设置在由对象确定的手术器械的关键碰撞位置;在第一碰撞检测结果表征软组织模型和手术器械碰撞的情况下,根据碰撞检测球的信息和软组织模型的外接球的信息,对软组织模型和手术器械进行第二碰撞检测,得到第二碰撞检测结果;在第二碰撞检测结果表征软组织模型和手术器械碰撞的情况下,根据碰撞检测球的信息和软组织模型的信息,对软组织模型和手术器械进行第三碰撞检测,得到第三碰撞检测结果。
根据本公开的实施例,碰撞检测球为多个,外接球为多个,多个碰撞检测球中的第二目标碰撞检测球和多个外接球中的目标外接球之间为碰撞关系;碰撞检测球的信息包括第二目标碰撞检测球的球心坐标信息,软组织模型包括多个四面体模型,多个四面体模型中的目标四面体模型与第二目标外接球对应,软组织模型的信息包括目标四面体模型的四个平面的信息和目标四面体模型的体积;根据碰撞检测球的信息和软组织模型的信息,对软组织模型和手术器械进行第三碰撞检测,得到第三碰撞检测结果,包括:根据第二目标碰撞检测球的球心坐标信息和四个平面的信息,构建得到与四个平面对应的四个碰撞检测模型,其中,碰撞检测模型为四面体,碰撞检测模型的底面为四个平面中的一个,与四个碰撞检测模型对应的四个平面中的平面各不同,碰撞检测模型的顶点为碰撞检测球的球心;确定四个碰撞检测模型的体积;根据四个碰撞检测模型的体积和目标四面体模型的体积,对软组织模型和手术器械进行第三碰撞检测,得到第三碰撞检测结果。
根据本公开的实施例,根据四个碰撞检测模型的体积和软组织模型的体积,对软组织模型和手术器械进行第三碰撞检测,得到第三碰撞检测结果,包括:根据四个碰撞检测模型的体积,计算得到体积和;根据软组织模型的体积与体积和,计算得到体积差值;在体积差值属于预定差值范围的情况下,生成表征软组织模型和手术器械碰撞的第三碰撞检测结果。
根据本公开的实施例,包围盒为多个,碰撞检测球为多个,多个碰撞检测球中的第一目标碰撞检测球与多个包围盒中的目标包围盒之间为碰撞关系,碰撞检测球的信息包括第一目标碰撞检测球的球心坐标信息和第一目标碰撞检测球的半径,外接球的信息包括位于目标包围盒中的第一目标外接球的球心坐标信息和第一目标外接球的半径;根据碰撞检测球的信息和软组织模型的外接球的信息,对软组织模型和手术器械进行第二碰撞检测,得到第二碰撞检测结果,包括:根据第一目标碰撞检测球的球心坐标信息和第一目标外接球的球心坐标信息,确定第一目标碰撞检测球与第一目标外接球之间的距离;根据距离、第一目标碰撞检测球的半径和第一目标外接球的半径,对软组织模型和手术器械进行第二碰撞检测,得到第二碰撞检测结果。
根据本公开的实施例,根据距离、第一目标碰撞检测球的半径和第一目标外接球的半径,对软组织模型和手术器械进行第二碰撞检测,得到第二碰撞检测结果,包括:根据第一目标碰撞检测球的半径和第一目标外接球的半径,计算得到半径和;在距离小于半径和的情况下,生成表征软组织模型和手术器械碰撞的第二碰撞检测结果。
根据本公开的实施例,碰撞检测球的信息包括碰撞检测球的球心坐标信息,包围盒的信息包括包围盒所包围的空间的坐标范围信息;根据软组织模型的包围盒的信息和手术器械的碰撞检测球的信息,对软组织模型和手术器械进行第一碰撞检测,得到第一碰撞检测结果,包括:根据碰撞检测球的球心坐标信息和包围盒的坐标范围信息,确定碰撞检测球与包围盒之间的位置关系;在位置关系表征碰撞检测球的球心位于包围盒中的情况下,生成表征软组织模型和手术器械碰撞的第一碰撞检测结果。
根据本公开的实施例,还包括:获取立体光刻格式的软组织模型文件;对立体光刻格式的软组织模型文件进行格式转换,得到产品模型信息交换标准格式的软组织模型文件;利用三维有限元网格生成工具处理产品模型信息交换标准格式的软组织模型文件,得到四面体模型的信息;利用模型可视化引擎处理四面体模型的信息,得到软组织模型。
根据本公开的实施例,碰撞检测球为多个;方法还包括:根据多个碰撞检测球的数量,确定图形处理器的线程数量;调用与线程数量对应的图形处理器的线程,以利用图形处理器的线程执行第二碰撞检测操作和第三碰撞检测操作。
根据本公开的实施例,还包括:利用K维度树算法,对软组织模型所处于的空间进行划分,生成包围盒。
本公开的第二方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述方法。
本公开的第三方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述方法。
本公开的第四方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述方法。
根据本公开提供的碰撞检测方法及电子设备,由于根据软组织模型的包围盒的信息和手术器械的碰撞检测球的信息,对软组织模型和手术器械进行了第一碰撞检测,在第一碰撞检测的结果为软组织模型和手术器械碰撞的情况下,再根据碰撞检测球的信息和软组织模型的外接球的信息,对软组织模型和手术器械进行第二碰撞检测,在第二碰撞检测的结果仍为软组织模型和手术器械碰撞的情况下,再一次根据碰撞检测球的信息和软组织模型的信息,进行第三碰撞检测,得到第三碰撞检测结果,实现了根据每一次的碰撞检测结果来判断是否要进行下一次的碰撞检测,从对碰撞进行粗略的检测到对碰撞进行精确的检测,将碰撞检测分层、分级、分区域,从而减少对手术器械和软组织模型间的检测的计算量,提高碰撞检测的效率和碰撞检测的速度,及时的对处于训练中的医生进行碰撞反馈,多次且逐步精细的碰撞检测也使碰撞检测的结果更加准确,减少碰撞检测的错误率,提高对手术器械和软组织模型间的碰撞检测的准确性,以及,手术器械上的碰撞检测球的位置是由研发人员和医生根据经验和试验结果共同确定的,因此,保障了手术器械上的碰撞检测球的位置的准确性,进一步的提高了碰撞检测的准确性。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的碰撞检测方法及电子设备的应用场景图;
图2示意性示出了根据本公开实施例的碰撞检测方法的流程图;
图3示意性示出了根据本公开实施例的手术器械模型的示意图;
图4示意性示出了根据本公开实施例的添加有多个碰撞检测球的手术器械模型的示意图;
图5示意性示出了根据本公开实施例的得到软组织模型的流程图;
图6示意性示出了根据本公开实施例的四面体模型的示意图;
图7示意性示出了根据本公开实施例的得到第三碰撞检测结果的流程图;
图8示意性示出了根据本公开实施例的计算四面体模型的示意图;
图9示意性示出了根据本公开实施例的可视化软组织模型的示意图;
图10示意性示出了根据本公开实施例的利用K维度树算法对软组织模型进行处理生成包围盒的示意图;
图11示意性示出了根据本公开实施例的生成碰撞球的示意图;
图12示意性示出了根据本公开实施例的碰撞检测方法完整流程的流程图;
图13示意性示出了根据本公开实施例的碰撞检测装置的结构框图;以及
图14示意性示出了根据本公开实施例的适于实现碰撞检测方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
在本公开的技术方案中,所涉及的用户信息(包括但不限于用户个人信息、用户图像信息、用户设备信息,例如位置信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、存储、使用、加工、传输、提供、公开和应用等处理,均遵守相关国家和地区的相关法律法规和标准,采取了必要保密措施,不违背公序良俗,并提供有相应的操作入口,供用户选择授权或者拒绝。
在实际应用中,手术模拟器用来帮助医生在虚拟场景下训练手术技能,通常是根据医生操作的器械与软组织间的交互碰撞进行检测,从而帮助医生进行训练,对各种软组织均能熟练的操作。在现有技术中,通常采用包围体层级结构(BVH,Bounding VolumeHierarchies)、空间分区法(Spatial partitioning)、图像空间技术(Image-spacetechniques)、连续碰撞检测和离散碰撞检测等方法对医生操作的器械与软组织之间的碰撞进行检测,从而帮助医生在虚拟场景下进行手术训练。
然而,在一些实施例中,对器械与软组织间的交互碰撞的检测方法,在不同的应用场景下的适用性不同,无法适用在任意场景下都能便于医生进行手术训练,因此,医生需要在特定的场景下,使用手术模拟器进行虚拟的手术训练。
基于此,为了使碰撞效果更真实,需要精确检测到手术器械与软组织模型之间的碰撞点。进而,针对该碰撞点进行检测,存在计算资源消耗多的问题。
有鉴于此,本公开的实施例提供了一种碰撞检测方法,包括:根据软组织模型的包围盒的信息和手术器械的碰撞检测球的信息,对软组织模型和手术器械进行第一碰撞检测,得到第一碰撞检测结果,其中,手术器械是针对软组织模型进行操作的器械模型,碰撞检测球设置在由对象确定的手术器械的关键碰撞位置;在第一碰撞检测结果表征软组织模型和手术器械碰撞的情况下,根据碰撞检测球的信息和软组织模型的外接球的信息,对软组织模型和手术器械进行第二碰撞检测,得到第二碰撞检测结果;在第二碰撞检测结果表征软组织模型和手术器械碰撞的情况下,根据碰撞检测球的信息和软组织模型的信息,对软组织模型和手术器械进行第三碰撞检测,得到第三碰撞检测结果。
图1示意性示出了根据本公开实施例的碰撞检测的应用场景图。
如图1所示,根据该实施例的应用场景100可以包括第一终端设备101、第二终端设备102、第三终端设备103、网络104和服务器105。网络104用以在第一终端设备101、第二终端设备102、第三终端设备103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用第一终端设备101、第二终端设备102、第三终端设备103中的至少一个通过网络104与服务器105交互,以接收或发送消息等。第一终端设备101、第二终端设备102、第三终端设备103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
例如,用户可以使用第一终端设备101、第二终端设备102、第三终端设备103中安装的手术模拟器,向配备手术模拟器系统的服务器105发送模拟请求。
第一终端设备101、第二终端设备102、第三终端设备103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用第一终端设备101、第二终端设备102、第三终端设备103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
例如,服务器105可以是分布式服务器、云服务器和集中式服务器。服务器105可以同时安装有旧版本业务系统和新版本业务服务器,并对业务数据的存储方法进行测试。
需要说明的是,本公开实施例所提供的碰撞检测方法一般可以由服务器105执行。相应地,本公开实施例所提供的碰撞检测装置一般可以设置于服务器105中。本公开实施例所提供的碰撞检测方法也可以由不同于服务器105且能够与第一终端设备101、第二终端设备102、第三终端设备103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的碰撞检测装置也可以设置于不同于服务器105且能够与第一终端设备101、第二终端设备102、第三终端设备103和/或服务器105通信的服务器或服务器集群中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
以下将基于图1描述的场景,通过图2~图12对公开实施例的碰撞检测方法进行详细描述。
图2示意性示出了根据本公开实施例的碰撞检测方法的流程图。
如图2所示,该实施例的碰撞检测方法包括操作S210~操作S230。
在操作S210中,根据软组织模型的包围盒的信息和手术器械的碰撞检测球的信息,对软组织模型和手术器械进行第一碰撞检测,得到第一碰撞检测结果。
根据本公开的实施例,手术器械是针对软组织模型进行操作的器械模型,碰撞检测球设置在由对象确定的手术器械的关键碰撞位置。
根据本公开的实施例,软组织模型表征在手术模拟器中模拟得到的可视的软组织结构。
根据本公开的实施例,软组织模型的包围盒表征在手术模拟器中对软组织模型进行空间划分后,存在于软组织外的几何体。包围盒的体积可以是根据需求设置的,本公开在此不做赘述。
根据本公开的实施例,手术模拟器可以根据设置在手术器械上的碰撞检测球的所处区域,判定手术器械是否发生碰撞。
根据本公开的实施例,可以在碰撞检测球位于包围盒中的情况下,确定该碰撞检测球和该包围盒碰撞,并生成表征软组织模型和手术器械碰撞的第一碰撞检测结果。可以在碰撞检测球未位于包围盒中的情况下,确定该碰撞检测球和该包围盒未碰撞,并生成表征软组织模型和手术器械未碰撞的第一碰撞检测结果。
根据本公开的实施例,可以将位于包围盒内的碰撞检测球确定为第一目标碰撞检测球。并且,包括该第一目标碰撞检测球的包围盒确定为与该第一目标碰撞检测球碰撞的目标包围盒。其中,第一目标碰撞检测球可以为至少一个,目标包围盒可以为至少一个。
在操作S220中,在第一碰撞检测结果表征软组织模型和手术器械碰撞的情况下,根据碰撞检测球的信息和软组织模型的外接球的信息,对软组织模型和手术器械进行第二碰撞检测,得到第二碰撞检测结果。
根据本公开的实施例,碰撞检测球的信息中可以包括碰撞检测球的半径、体积等信息,但不止局限于以上信息。
根据本公开的实施例,软组织模型的外接球的信息中可以包括外接球的半径、体积等信息,但不止局限于以上信息。
根据本公开的实施例,软组织模型可以包括多个四面体模型。软组织模型的外接球可以是四面体模型的外接球,即每个四面体模型均会有一个对应的外接球。
根据本公开的实施例,可以将位于软组织模型的目标包围盒中的外接球确定为第一目标外接球。每个目标包围盒中的第一目标外接球可以为至少一个。
根据本公开的实施例,可以根据第一目标碰撞检测球和第一目标外接球之间的距离,确定软组织模型和手术器械之间的碰撞状况。例如,可以将第一目标碰撞检测球的半径和第一目标外接球的半径相加,得到半径和。可以在第一目标碰撞检测球和第一目标外接球之间的距离小于半径和的情况下,生成表征软组织模型和手术器械碰撞的第二碰撞检测结果。可以在第一目标碰撞检测球和第一目标外接球之间的距离大于或等于半径和的情况下,生成表征软组织模型和手术器械未碰撞的第二碰撞检测结果。
根据本公开的实施例,可以将距离小于半径和的第一目标碰撞检测球和第一目标外接球分别确定为第二目标碰撞检测球和第二目标外接球,并确定第二目标碰撞检测球和第二目标外接球之间为碰撞关系。
在操作S230,在第二碰撞检测结果表征软组织模型和手术器械碰撞的情况下,根据碰撞检测球的信息和软组织模型的信息,对软组织模型和手术器械进行第三碰撞检测,得到第三碰撞检测结果。
根据本公开的实施例,可以根据第二目标碰撞检测球的球心和与第二目标外接球对应的四面体模型的四个平面,构建新的四个碰撞检测模型。该四个平面即为四面体模型的四个表面。可以在四个碰撞检测模型的体积和小于或等于软组织模型的体积的情况下,生成表征软组织模型和手术器械碰撞的第三碰撞检测结果。可以在四个碰撞检测模型的体积和大于软组织模型的体积的情况下,生成表征软组织模型和手术器械未碰撞的第三碰撞检测结果。
根据本公开的实施例,在第三碰撞检测结果表征软组织模型和手术器械碰撞的情况下,可以根据第二目标碰撞检测球的球心的位置,确定软组织模型和手术器械之间的碰撞点。
根据本公开的实施例,由于根据软组织模型的包围盒的信息和手术器械的碰撞检测球的信息,对软组织模型和手术器械进行了第一碰撞检测,在第一碰撞检测的结果为软组织模型和手术器械碰撞的情况下,再根据碰撞检测球的信息和软组织模型的外接球的信息,对软组织模型和手术器械进行第二碰撞检测,在第二碰撞检测的结果仍为软组织模型和手术器械碰撞的情况下,再一次根据碰撞检测球的信息和软组织模型的信息,进行第三碰撞检测,得到第三碰撞检测结果,实现了根据每一次的碰撞检测结果来判断是否要进行下一次的碰撞检测,从对碰撞进行粗略的检测到对碰撞进行精确的检测,将碰撞检测分层、分级、分区域,从而减少对手术器械和软组织模型间的检测的计算量,提高碰撞检测的效率和碰撞检测的速度,及时的对处于训练中的医生进行碰撞反馈,多次且逐步精细的碰撞检测也使碰撞检测的结果更加准确,减少碰撞检测的错误率,提高对手术器械和软组织模型间的碰撞检测的准确性,以及,手术器械上的碰撞检测球的位置是由研发人员的多次试验结果和医生的手术经验共同确定的,因此,保障了手术器械上的碰撞检测球的位置的准确性,进一步的提高了碰撞检测的准确性。
根据本公开的实施例,在第一碰撞检测结果表征为手术器械与软组织模型未发生碰撞的情况下,无需进行第二碰撞检测和第三碰撞检测,同理,在第二碰撞检测结果表征为手术器械与软组织模型未发生碰撞的情况下,无需进行第三碰撞检测。
图3示意性示出了根据本公开实施例的手术器械模型的示意图。
如图3所示,在实施例300中示出了,在手术模拟器中,医生在训练过程中使用的手术器械模型。医生通过操作手术器械模型对软组织模型进行手术操作,达到在虚拟场景中的训练的效果。
图4示意性示出了根据本公开实施例的添加有多个碰撞检测球的手术器械模型的示意图。
如图4所示,在实施例400中示出了,根据研发人员的多次试验结果和医生的手术经验共同确定的带有碰撞检测球的手术器械,该手术器械上的多个碰撞检测球多被设置于容易与软组织模型发生碰撞的地方,从而提高了对手术器械与软组织模型间的碰撞检测的准确度。
图5示意性示出了根据本公开实施例的得到软组织模型的流程图。
如图5所示,该实施例的碰撞检测方法包括操作S510~操作S540。
在操作S510中,获取立体光刻格式的软组织模型文件。
根据本公开的实施例,立体光刻格式的软组织模型文件可以是从CT(ComputedTomography,电子计算机断层扫描)中获得的。
在操作S520中,对立体光刻格式的软组织模型文件进行格式转换,得到产品模型信息交换标准格式的软组织模型文件。
根据本公开的实施例,将立体光刻格式的软组织模型文件的格式可以转换成.STP的格式文件。
在操作S530中,利用三维有限元网格生成工具处理产品模型信息交换标准格式的软组织模型文件,得到四面体模型的信息。
根据本公开的实施例,三维有限元网格生成工具处理产品可以为GMSH工具等。
在操作S540中,利用模型可视化引擎处理四面体模型的信息,得到软组织模型。
根据本公开的实施例,模型可视化引擎可以为Unity引擎。
根据本公开的实施例,根据手术前的CT,获取的软组织模型(STL模型),将STL模型文件转换为STP格式文件,将STP文件转入到GMSH软件中,生成四面体模型及其数据,用Unity读取模型数据,生成可视化模型,同时将手术器械导入到Unity中,在手术器械的关键部位生成若干碰撞检测球,其中碰撞检测球的球心位于手术器械边缘。
根据本公开的实施例,获取立体光刻格式的软组织模型文件,对立体光刻格式的软组织模型文件的文件格式进行转换,得到产品模型信息交换标准格式的软组织模型文件,再利用三维有限元网络生成工具对产品模型信息交换标准格式的软组织模型文件进行处理,得到软组织的四面体模型和软组织的四面体模型信息,再利用可视化引擎对四面体模型信息进行处理,得到可以应用于虚拟训练的软组织模型,实现了对手术模拟器中被用来训练的软组织模型的构建,精确构建软组织模型可以帮助医生进行虚拟训练,以及提高手术器械的碰撞检测的精确度。
根据本公开的实施例,碰撞检测球的信息包括碰撞检测球的球心坐标信息,包围盒的信息包括包围盒所包围的空间的坐标范围信息。
根据本公开的实施例,根据软组织模型的包围盒的信息和手术器械的碰撞检测球的信息,对软组织模型和手术器械进行第一碰撞检测,得到第一碰撞检测结果,包括:
根据本公开的实施例,根据碰撞检测球的球心坐标信息和包围盒的坐标范围信息,确定碰撞检测球与包围盒之间的位置关系。
根据本公开的实施例,根据碰撞检测球的球心坐标信息的包围盒的坐标范围信息,判断碰撞检测球是否位于包围盒的范围内,得到碰撞检测球与包围盒之间的位置关系。
根据本公开的实施例,在位置关系表征碰撞检测球的球心位于包围盒中的情况下,生成表征软组织模型和手术器械碰撞的第一碰撞检测结果。
根据本公开的实施例,在位置关系表征碰撞检测球的球心没有位于包围盒中的情况下,得到第一碰撞检测结果为软组织模型与手术器械之间没有发生碰撞,无需进行第二碰撞检测和第三碰撞检测。
根据本公开的实施例,根据碰撞检测球的球心坐标信息和包围盒的坐标范围信息,确定碰撞检测球与包围盒之间的位置关系,在确定位置关系的情况下,生成第一碰撞检测结果,在第一碰撞检测结果为手术器械与软组织模型发生碰撞的情况下,进行第二碰撞检测,否则,无需进行第二碰撞检测,实现了,对碰撞检测球与包围盒之间的碰撞关系的初步检测,在初步粗略的检测结果为发生碰撞的基础上,再进行下一步的精细化检测,否则无需检测节省了计算量,提高了碰撞检测效率。
图6示意性示出了根据本公开实施例的四面体模型的示意图。
如图6所示,在实施例600中示出了,根据碰撞检测球的球心与四个平面分别构成的四个碰撞检测模型。
根据本公开的实施例,包围盒为多个,碰撞检测球为多个,多个碰撞检测球中的第一目标碰撞检测球与多个包围盒中的目标包围盒之间为碰撞关系,碰撞检测球的信息包括第一目标碰撞检测球的球心坐标信息和第一目标碰撞检测球的半径,外接球的信息包括位于目标包围盒中的第一目标外接球的球心坐标信息和第一目标外接球的半径。
根据本公开的实施例,根据碰撞检测球的信息和软组织模型的外接球的信息,对软组织模型和手术器械进行第二碰撞检测,得到第二碰撞检测结果,包括:
根据本公开的实施例,根据第一目标碰撞检测球的球心坐标信息和第一目标外接球的球心坐标信息,确定第一目标碰撞检测球与第一目标外接球之间的距离。
例如,碰撞检测球的球心坐标信息为(x1,y1,z1),外接球的球心坐标信息为(x0,y0,z0),计算两个坐标之间的欧氏距离为
根据本公开的实施例,根据距离、第一目标碰撞检测球的半径和第一目标外接球的半径,对软组织模型和手术器械进行第二碰撞检测,得到第二碰撞检测结果。
根据本公开的实施例,外接球的半径可以根据公式(1)~公式(3)计算得到。
(x-x0)2+(y-y0)2+(z-z0)2=R2 (1);
其中,R表征为外接球的半径,x0为外接球的的球心在x轴上的坐标,y0为外接球的球心在y轴上的坐标,z0为外接球的球心在z轴上的坐标。
x2+y2+z2+ax+by+cz+d=0 (3);
其中,将四面体的四个顶点的坐标带入公式(3)中,得到a、b、c、d的具体值,其中,a、b、c、d为公式(3)中的系数。
根据本公开的实施例,根据公式(1)~公式(3)得出外接球的球心坐标为外接球的半径如公式(4)所示。
根据本公开的实施例,根据碰撞检测球的信息和软组织模型的外接球的信息,确定第一目标碰撞检测球与第一目标外接球之间的距离,根据第一目标碰撞检测球与第一目标外接球之间的距离、第一目标碰撞检测球的半径和第一目标外接球的半径,进行第二碰撞检测,得到手术器械与软组织模型间的碰撞结果,实现了在第一碰撞结果为手术器械与软组织模型发生碰撞的情况下,对手术器械和软组织模型之间的位置进行更进一步精准检测。
根据本公开的实施例,根据距离、第一目标碰撞检测球的半径和第一目标外接球的半径,对软组织模型和手术器械进行第二碰撞检测,得到第二碰撞检测结果,包括:
根据本公开的实施例,根据第一目标碰撞检测球的半径和第一目标外接球的半径,计算得到半径和。
例如,第一目标碰撞检测球的半径为R1,第一目标外接球的半径为R,半径和为R1+R。
根据本公开的实施例,在距离小于半径和的情况下,生成表征软组织模型和手术器械碰撞的第二碰撞检测结果。
根据本公开的实施例,在距离小于半径和的情况下,得到的第二碰撞检测结果为手术器械与软组织模型碰撞,在距离等于或大于半径和的情况下,得到的第二碰撞检测结果为手术器械与软组织模型之间未发生模型。
根据本公开的实施例,在得到的第二碰撞检测结果为手术器械与软组织模型碰撞的情况下,进行第三碰撞检测。
根据本公开的实施例,将第一目标碰撞检测球的半径和第一目标外接球的半径进行相加,得到半径和,判断距离是否小于半径和,在距离小于半径和的情况下,得到手术器械与软组织模型之间发生碰撞的第二检测结果,实现了在第一碰撞检测的基础上,对手术器械和软组织模型之间进行更加精准的碰撞检测,确定碰撞检测球与软组织模型之间的距离。
图7示意性示出了根据本公开实施例的得到第三碰撞检测结果的流程图。
如图7所示,该实施例的碰撞检测方法包括操作S710~操作S730。
根据本公开的实施例,碰撞检测球为多个,外接球为多个,多个碰撞检测球中的第二目标碰撞检测球和多个外接球中的第二目标外接球之间为碰撞关系。碰撞检测球的信息包括第二目标碰撞检测球的球心坐标信息,软组织模型包括多个四面体模型,多个四面体模型中的目标四面体模型与第二目标外接球对应,软组织模型的信息包括目标四面体模型的四个平面的信息和目标四面体模型的体积。
根据本公开的实施例,根据碰撞检测球的信息和软组织模型的信息,对软组织模型和手术器械进行第三碰撞检测,得到第三碰撞检测结果,包括:
在操作S710,根据第二目标碰撞检测球的球心坐标信息和四个平面的信息,构建得到与四个平面对应的四个碰撞检测模型。
根据本公开的实施例,碰撞检测模型为四面体,碰撞检测模型的底面为四个平面中的一个,与四个碰撞检测模型对应的四个平面中的平面各不同,碰撞检测模型的顶点为碰撞检测球的球心。
根据本公开的实施例,四个平面的信息可以包括四个平面中每一个平面的顶点坐标,但不只局限于以上信息。
根据本公开的实施例,碰撞检测模型表征根据碰撞检测球的球心和四个平面中的任一平面的三个顶点得到的四面体模型。
根据本公开的实施例,构建得到与四个平面对应的四个碰撞检测模型即为利用碰撞检测球的球心与四个平面中的每一个平面的三个顶点均进行构造,得到四个四面体模型。
在操作S720中,确定四个碰撞检测模型的体积。根据本公开的实施例,利用四面体的体积公式计算四个碰撞检测模型的体积。
根据本公开的实施例,四面体的体积公式如公式(5)所示。
其中,Vtet表征为碰撞检测模型的体积,a表征由碰撞检测模型的顶点指向碰撞检测模型的底面的第一顶点的向量,b表征由碰撞检测模型的顶点指向碰撞检测模型的底面的第二顶点的向量,c表征由碰撞检测模型的顶点指向碰撞检测模型的底面的第三顶点的向量,其中,该处的a、b、c的符号含义与公式(3)中出现的a、b、c的符号含义不同。
在操作S730中,根据四个碰撞检测模型的体积和目标四面体模型的体积,对软组织模型和手术器械进行第三碰撞检测,得到第三碰撞检测结果。
根据本公开的实施例,第三碰撞检测是精检测,采用离散碰撞检测方法,检测碰撞检测球的球心是否进入到软组织模型四面体的内部,使用重心法检测点是否在软组织模型四面体内,将碰撞检测球的球心与四面体的四个点连线形成四个新的四面体,当碰撞检测球在四面体内部时,新形成的四个四面体的体积之和与原四面体的体积相同。当数值相同时,认为碰撞检测球在四面体内,产生碰撞。
根据本公开的实施例,利用重心法碰撞检测球的球心是否在软组织模型内,根据第二目标碰撞检测球的球心坐标信息和四个平面的信息,构建得到四个碰撞检测模型,通过对四个碰撞检测模型的体积进行计算,确定四个碰撞检测模型的体积,根据四个碰撞检测模型的体积和目标四面体模型的体积,进行第三碰撞检测,得到手术器械和软组织模型之间的碰撞检测结果,实现了对手术器械与软组织模型的第三次碰撞检测,确保了碰撞检测的准确性,进一步的对手术器械和软组织模型进行精准的碰撞检测。
图8示意性示出了根据本公开实施例的计算四面体模型的示意图。
如图8所示,在实施例800中示出了,四面体由四个顶点:顶点A、顶点B、顶点C、顶点D彼此连接得到,顶点A和顶点B之间构成边a,顶点A和顶点C之间构成边b,顶点A和顶点D之间构成边c,根据边a的长度、边b的长度、边c的长度和四面体公式即可计算得到四面体的体积。
根据本公开的实施例,根据四个碰撞检测模型的体积和软组织模型的体积,对软组织模型和手术器械进行第三碰撞检测,得到第三碰撞检测结果,包括:
根据本公开的实施例,根据四个碰撞检测模型的体积,计算得到体积和。
根据本公开的实施例,体积和表征为将四个碰撞检测模型的体积进行相加得到体积。
根据本公开的实施例,根据目标四面体模型的体积与体积和,计算得到体积差值。
根据本公开的实施例,在体积差值属于预定差值范围的情况下,生成表征软组织模型和手术器械碰撞的第三碰撞检测结果。
根据本公开的实施例,在体积差值在预定差值范围内时,得到第三碰撞结果为软组织模型与手术器械碰撞的结果,在体积差值不在预定差值范围内时,得到第三碰撞结果为软组织模型与手术器械没有发生碰撞的结果。
根据本公开的实施例,计算由碰撞检测球的球心和四个平面得到的四个碰撞检测模型的体积和,根据目标四面体模型的体积和四个碰撞检测模型的体积和,计算得到体积差值,判断体积差值是否属于预定差值范围内,在体积差值属于预定差值范围的情况下,生成的第三碰撞检测结果为手术器械与软组织模型发生碰撞,在体积差值不在预定差值范围的情况下,生成的第三碰撞检测结果为手术器械与软组织模型之间未发生碰撞,实现了对手术器械与软组织模型之间的精检测,提高碰撞检测的准确性。
图9示意性示出了根据本公开实施例的可视化软组织模型的示意图。
如图9所示,在实施例900中示出了,在通过如上述S510~S540中的操作后生成的在手术模拟器中的可视化软组织模型。
根据本公开的实施例,碰撞检测球为多个。
根据本公开的实施例,根据多个碰撞检测球的数量,确定图形处理器的线程数量。
根据本公开的实施例,调用与线程数量对应的图形处理器的线程,以利用图形处理器的线程执行第二碰撞检测操作和第三碰撞检测操作。
根据本公开的实施例,可以根据第一目标碰撞检测球的数量,确定用于执行第二碰撞检测操作的图形处理器中的第一线程数量。可以按照第一线程数量,调用图形处理器的线程,来执行第二碰撞检测操作。
根据本公开的实施例,可以根据第二目标碰撞检测球的数量,确定用于执行第三碰撞检测操作的图形处理器中的第二线程数量。可以按照第二线程数量,调用图形处理器的线程,来执行第三碰撞检测操作。
根据本公开的实施例,根据多个碰撞检测球的数量确定好图形处理器(GPU,graphics processing unit)的线程数量,然后只调用与线程数量对应的线程执行第二碰撞检测操作和第三碰撞检测操作,实现了精准调用需要运行的线程,节省了碰撞检测的计算量,提高了计算效率。
根据本公开的实施例,可以利用K维度树算法,对软组织模型所处于的空间进行划分,生成包围盒。其中,包围盒的尺寸可以是根据需求设置的。
根据本公开的实施例,利用K维度树算法(KD-Tree,k-dimensional)对软组织模型进行空间划分,得到包含有若干个包围盒的软组织模型,根据手术器械的所处位置,判断手术器械当前处于那个包围盒中,再进行碰撞检测,实现了减少计算量,提高碰撞检测的准确度,进一步的提高了碰撞检测的效率。
图10示意性示出了根据本公开实施例的利用K维度树算法对软组织模型进行处理生成包围盒的示意图。
如图10所示,在实施例1000中示出了,通过K维度树算法,对软组织模型进行空间划分,得到多个不同形状的包围盒,有的包围盒位于整个软组织模型的外面,有的包围盒位于软组织模型的中的局部。
图11示意性示出了根据本公开实施例的生成碰撞球的示意图。
如图11所示,在实施例1100中示出了,在利用三维有限元网格生成工具对产品模型信息交换标准格式的软组织模型文件进行处理后,得到了多个四面体模型,根据多个四面体模型生成了多个外接球。
图12示意性示出了根据本公开实施例的碰撞检测方法完整流程的流程图。
如图12所示,在实施例1200中示出了,软组织器官处理包括:首先先从术前CT获取软组织器官模型S1201,然后将STL模型模型转换为STP模型S1202,即对STL模型格式的软组织器官进行格式转换,得到STP格式的软组织器官模型,使用GMSH软件生成体模型数据S1203,即对STP格式的软组织器官模型通过GMSH软件进行处理,得到软组织器官的体模型和体模型数据,利用Unity处理模型数据,生成可视化模型S1204,即利用Unity对体模型数据进行处理,生成可视化的软组织器官模型,最后结合模型结构与KD-Tree方法生成碰撞体1205,即对已经得到得可视化的软组织器官模型进行树算法处理,将软组织器官模型划分,得到包含有若干个包围盒的软组织模型。
然后,在实施例1200中还示出了,对手术器械的处理包括:手术器械数字孪生模型S1206,即生成一个被医生使用的虚拟的手术器械,然后对器械关键部位生成碰撞球S1207,即在虚拟的手术器械上生成多个碰撞球,碰撞球分布在医生使用的手术器械容易与软组织模型发生碰撞的区域。
再有,在实施例1200中还示出了,医生在已经生成好的软组织模型和手术器械的手术模拟器中进行手术训练,在医生训练的工程中,手术模拟器会对医生操作的手术器械是否与软组织模型发生碰撞进行碰撞检测,判定碰撞检测的过程包括:先进行第一层碰撞检测S1208,在第一层碰撞检测的结果表征为手术器械与软组织模型发生碰撞的情况下,进行第二层碰撞检测S1209,在第二层碰撞检测中,会使用到在使用GMSH软件生成体模型数据过程中,获取到的四面体网络信息S1211,从而判断手术器械是否与软组织模型发生碰撞,在第二层碰撞检测的结果表征为手术器械与软组织模型发生碰撞的情况下,进行第三层碰撞检测S1210,在第三层碰撞检测中,会使用到根据四面体数据生成的外接球S1212,从而第三次判断手术器械是否与软组织模型发生碰撞。
基于上述碰撞检测方法,本公开还提供了一种碰撞检测装置。以下将结合图13对该装置进行详细描述。
图13示意性示出了根据本公开实施例的碰撞检测装置的结构框图。
如图13所示,该实施例的碰撞检测装置1300包括第一检测模块1310、第二检测模块1320和第三检测模块1330。
第一检测模块1310用于根据软组织模型的包围盒的信息和手术器械的碰撞检测球的信息,对软组织模型和手术器械进行第一碰撞检测,得到第一碰撞检测结果,其中,手术器械是针对软组织模型进行操作的器械模型,碰撞检测球设置在由对象确定的手术器械的关键碰撞位置。在一实施例中,第一检测模块1310可以用于执行前文描述的操作S210,在此不再赘述。
第二检测模块1320用于在第一碰撞检测结果表征软组织模型和手术器械碰撞的情况下,根据碰撞检测球的信息和软组织模型的外接球的信息,对软组织模型和手术器械进行第二碰撞检测,得到第二碰撞检测结果。在一实施例中,第二检测模块1320可以用于执行前文描述的操作S220,在此不再赘述。
第三检测模块1330用于在第二碰撞检测结果表征软组织模型和手术器械碰撞的情况下,根据碰撞检测球的信息和软组织模型的信息,对软组织模型和手术器械进行第三碰撞检测,得到第三碰撞检测结果。在一实施例中,第三检测模块1330可以用于执行前文描述的操作S230,在此不再赘述。
根据本公开的实施例,第三检测模块1330包括:第一构建子模块、第一确定子模块和第一碰撞检测子模块。
第一构建子模块,用于根据第二目标碰撞检测球的球心坐标信息和四个平面的信息,构建得到与四个平面对应的四个碰撞检测模型,其中,碰撞检测模型为四面体,碰撞检测模型的底面为四个平面中的一个,与四个碰撞检测模型对应的四个平面中的平面各不同,碰撞检测模型的顶点为碰撞检测球的球心。
第一确定子模块,用于确定四个碰撞检测模型的体积。
第一碰撞检测子模块,用于根据四个碰撞检测模型的体积和目标四面体模型的体积,对软组织模型和手术器械进行第三碰撞检测,得到第三碰撞检测结果。
根据本公开的实施例,第一碰撞检测子模块包括:第一计算单元、第二计算单元和第一生成单元。
第一计算单元,用于根据四个碰撞检测模型的体积,计算得到体积和。
第二计算单元,用于根据目标四面体模型的体积与体积和,计算得到体积差值。
第一生成单元,用于在体积差值属于预定差值范围的情况下,生成表征软组织模型和手术器械碰撞的第三碰撞检测结果。
根据本公开的实施例,第二检测模块1320包括:第二确定子模块和第二碰撞检测子模块。
第二确定子模块,用于根据第一目标碰撞检测球的球心坐标信息和第一目标外接球的球心坐标信息,确定第一目标碰撞检测球与第一目标外接球之间的距离。
第二碰撞检测子模块,用于根据距离、第一目标碰撞检测球的半径和第一目标外接球的半径,对软组织模型和手术器械进行第二碰撞检测,得到第二碰撞检测结果。
根据本公开的实施例,第二碰撞检测子模块包括:第三计算单元和第二生成单元。
第三计算单元,用于根据第一目标碰撞检测球的半径和第一目标外接球的半径,计算得到半径和。
第二生成单元,用于在距离小于半径和的情况下,生成表征软组织模型和手术器械碰撞的第二碰撞检测结果。
根据本公开的实施例,第一检测模块1310包括:第三确定子模块和第三碰撞检测子模块。
第三确定子模块,用于根据碰撞检测球的球心坐标信息和包围盒的坐标范围信息,确定碰撞检测球与包围盒之间的位置关系。
第三碰撞检测子模块,用于在位置关系表征碰撞检测球的球心位于包围盒中的情况下,生成表征软组织模型和手术器械碰撞的第一碰撞检测结果。
根据本公开的实施例,碰撞检测装置1300还包括:第一获取模块、第一格式转换模块、第一三维处理模块和第一可视化处理模块。
第一获取模块,用于获取立体光刻格式的软组织模型文件。
第一格式转换模块,用于对立体光刻格式的软组织模型文件进行格式转换,得到产品模型信息交换标准格式的软组织模型文件。
第一三维处理模块,用于利用三维有限元网格生成工具处理产品模型信息交换标准格式的软组织模型文件,得到四面体模型的信息。
第一可视化处理模块,用于利用模型可视化引擎处理四面体模型的信息,得到软组织模型。
根据本公开的实施例,碰撞检测球为多个。
根据本公开的实施例,碰撞检测装置1300还包括:第一确定模块和第一调用模块。
第一确定模块,用于根据多个碰撞检测球的数量,确定图形处理器的线程数量。
第一调用模块,用于调用与线程数量对应的图形处理器的线程,以利用图形处理器的线程执行第二碰撞检测操作和第三碰撞检测操作。
根据本公开的实施例,碰撞检测装置1300还包括:第一划分模块。
第一划分模块,用于利用K维度树算法,对软组织模型所处于的空间进行划分,生成包围盒。
根据本公开的实施例,第一检测模块1310、第二检测模块1320和第三检测模块1330中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一检测模块1310、第二检测模块1320和第三检测模块1330中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一检测模块1310、第二检测模块1320和第三检测模块1330中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图14示意性示出了根据本公开实施例的适于实现碰撞检测方法的电子设备的方框图。
如图14所示,根据本公开实施例的电子设备1400包括处理器1401,其可以根据存储在只读存储器(ROM)1402中的程序或者从存储部分1408加载到随机访问存储器(RAM)1403中的程序而执行各种适当的动作和处理。处理器1401例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器1401还可以包括用于缓存用途的板载存储器。处理器1401可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1403中,存储有电子设备1400操作所需的各种程序和数据。处理器1401、ROM 1402以及RAM 1403通过总线1404彼此相连。处理器1401通过执行ROM 1402和/或RAM1403中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 1402和RAM 1403以外的一个或多个存储器中。处理器1401也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备1400还可以包括输入/输出(I/O)接口1405,输入/输出(I/O)接口1405也连接至总线1404。电子设备1400还可以包括连接至输入/输出(I/O)接口1405的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1407;包括硬盘等的存储部分1408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1409。通信部分1409经由诸如因特网的网络执行通信处理。驱动器1410也根据需要连接至输入/输出(I/O)接口1405。可拆卸介质1411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1410上,以便于从其上读出的计算机程序根据需要被安装入存储部分1408。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1402和/或RAM 1403和/或ROM 1402和RAM 1403以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的碰撞检测方法。
在该计算机程序被处理器1401执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1409被下载和安装,和/或从可拆卸介质1411被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分1409从网络上被下载和安装,和/或从可拆卸介质1411被安装。在该计算机程序被处理器1401执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
需要说明的是,本公开实施例中的流程图所示的操作除非明确说明不同操作之间存在执行的先后顺序,或者不同操作在技术实现上存在执行的先后顺序,否则,多个操作之间的执行顺序可以不分先后,多个操作也可以同时执行。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (10)
1.一种碰撞检测方法,包括:
根据软组织模型的包围盒的信息和手术器械的碰撞检测球的信息,对所述软组织模型和所述手术器械进行第一碰撞检测,得到第一碰撞检测结果,其中,所述手术器械是针对所述软组织模型进行操作的器械模型,所述碰撞检测球设置在由对象确定的所述手术器械的关键碰撞位置;
在所述第一碰撞检测结果表征所述软组织模型和所述手术器械碰撞的情况下,根据所述碰撞检测球的信息和所述软组织模型的外接球的信息,对所述软组织模型和所述手术器械进行第二碰撞检测,得到第二碰撞检测结果;
在所述第二碰撞检测结果表征所述软组织模型和所述手术器械碰撞的情况下,根据所述碰撞检测球的信息和所述软组织模型的信息,对所述软组织模型和所述手术器械进行第三碰撞检测,得到第三碰撞检测结果。
2.根据权利要求1所述的方法,其中,所述碰撞检测球为多个,所述外接球为多个,多个所述碰撞检测球中的第二目标碰撞检测球和多个所述外接球中的第二目标外接球之间为碰撞关系,所述碰撞检测球的信息包括所述第二目标碰撞检测球的球心坐标信息,所述软组织模型包括多个四面体模型,所述多个四面体模型中的目标四面体模型与所述第二目标外接球对应,所述软组织模型的信息包括所述目标四面体模型的四个平面的信息和所述目标四面体模型的体积;
所述根据所述碰撞检测球的信息和所述软组织模型的信息,对所述软组织模型和所述手术器械进行第三碰撞检测,得到第三碰撞检测结果,包括:
根据所述第二目标碰撞检测球的球心坐标信息和所述四个平面的信息,构建得到与所述四个平面对应的四个碰撞检测模型,其中,所述碰撞检测模型为四面体,所述碰撞检测模型的底面为所述四个平面中的一个,与所述四个碰撞检测模型对应的所述四个平面中的平面各不同,所述碰撞检测模型的顶点为所述碰撞检测球的球心;
确定所述四个碰撞检测模型的体积;
根据所述四个碰撞检测模型的体积和所述目标四面体模型的体积,对所述软组织模型和所述手术器械进行第三碰撞检测,得到第三碰撞检测结果。
3.根据权利要求2所述的方法,其中,所述根据所述四个碰撞检测模型的体积和所述目标四面体模型的体积,对所述软组织模型和所述手术器械进行第三碰撞检测,得到第三碰撞检测结果,包括:
根据所述四个碰撞检测模型的体积,计算得到体积和;
根据所述目标四面体模型的体积与所述体积和,计算得到体积差值;
在所述体积差值属于预定差值范围的情况下,生成表征所述软组织模型和所述手术器械碰撞的第三碰撞检测结果。
4.根据权利要求1所述的方法,其中,所述包围盒为多个,所述碰撞检测球为多个,多个所述碰撞检测球中的第一目标碰撞检测球与多个所述包围盒中的目标包围盒之间为碰撞关系,所述碰撞检测球的信息包括所述第一目标碰撞检测球的球心坐标信息和所述第一目标碰撞检测球的半径,所述外接球的信息包括位于所述目标包围盒中的第一目标外接球的球心坐标信息和所述第一目标外接球的半径;
所述根据所述碰撞检测球的信息和所述软组织模型的外接球的信息,对所述软组织模型和所述手术器械进行第二碰撞检测,得到第二碰撞检测结果,包括:
根据所述第一目标碰撞检测球的球心坐标信息和所述第一目标外接球的球心坐标信息,确定所述第一目标碰撞检测球与所述第一目标外接球之间的距离;
根据所述距离、所述第一目标碰撞检测球的半径和所述第一目标外接球的半径,对所述软组织模型和所述手术器械进行第二碰撞检测,得到第二碰撞检测结果。
5.根据权利要求4所述的方法,其中,所述根据所述距离、所述第一目标碰撞检测球的半径和所述第一目标外接球的半径,对所述软组织模型和所述手术器械进行第二碰撞检测,得到第二碰撞检测结果,包括:
根据所述第一目标碰撞检测球的半径和所述第一目标外接球的半径,计算得到半径和;
在所述距离小于所述半径和的情况下,生成表征所述软组织模型和所述手术器械碰撞的第二碰撞检测结果。
6.根据权利要求1所述的方法,其中,所述碰撞检测球的信息包括所述碰撞检测球的球心坐标信息,所述包围盒的信息包括所述包围盒所包围的空间的坐标范围信息;
所述根据软组织模型的包围盒的信息和手术器械的碰撞检测球的信息,对所述软组织模型和所述手术器械进行第一碰撞检测,得到第一碰撞检测结果,包括:
根据所述碰撞检测球的球心坐标信息和所述包围盒的坐标范围信息,确定所述碰撞检测球与所述包围盒之间的位置关系;
在所述位置关系表征所述碰撞检测球的球心位于所述包围盒中的情况下,生成表征所述软组织模型和所述手术器械碰撞的第一碰撞检测结果。
7.根据权利要求1所述的方法,还包括:
获取立体光刻格式的软组织模型文件;
对所述立体光刻格式的软组织模型文件进行格式转换,得到产品模型信息交换标准格式的软组织模型文件;
利用三维有限元网格生成工具处理所述产品模型信息交换标准格式的软组织模型文件,得到四面体模型的信息;
利用模型可视化引擎处理所述四面体模型的信息,得到所述软组织模型。
8.根据权利要求1所述的方法,其中,所述碰撞检测球为多个;
所述方法还包括:
根据多个所述碰撞检测球的数量,确定图形处理器的线程数量;
调用与所述线程数量对应的图形处理器的线程,以利用所述图形处理器的线程执行所述第二碰撞检测操作和所述第三碰撞检测操作。
9.根据权利要求1所述的方法,还包括:
利用K维度树算法,对所述软组织模型所处于的空间进行划分,生成所述包围盒。
10.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410005293.6A CN117831369A (zh) | 2024-01-02 | 2024-01-02 | 碰撞检测方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410005293.6A CN117831369A (zh) | 2024-01-02 | 2024-01-02 | 碰撞检测方法及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117831369A true CN117831369A (zh) | 2024-04-05 |
Family
ID=90509518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410005293.6A Pending CN117831369A (zh) | 2024-01-02 | 2024-01-02 | 碰撞检测方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117831369A (zh) |
-
2024
- 2024-01-02 CN CN202410005293.6A patent/CN117831369A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111340928B (zh) | 一种结合光线跟踪的Web端实时混合渲染方法、装置及计算机设备 | |
JP2022524891A (ja) | 画像処理方法及び装置、電子機器並びにコンピュータプログラム | |
US20170015057A1 (en) | Preparing a Polygon Mesh for Printing | |
JP2015535978A (ja) | 3次元シーンをレンダリングするためのコンピュータグラフィックス方法 | |
US8149237B2 (en) | Information processing apparatus and program | |
Schafhitzel et al. | Point-based stream surfaces and path surfaces | |
US11238645B2 (en) | Method and system for computer graphics rendering | |
US20080012853A1 (en) | Generating mesh from implicit surface | |
JPH09244522A (ja) | 仮想建築物体験方法及び装置 | |
Wang et al. | A review of collision detection for deformable objects | |
US7116341B2 (en) | Information presentation apparatus and method in three-dimensional virtual space and computer program therefor | |
Petkov et al. | Interactive visibility retargeting in vr using conformal visualization | |
Mikhaylyuk et al. | A method of Earth terrain tessellation on the GPU for space simulators | |
Cetinsaya et al. | Using direct volume rendering for augmented reality in resource-constrained platforms | |
Mosegaard et al. | Real-time Deformation of Detailed Geometry Based on Mappings to a Less Detailed Physical Simulation on the GPU. | |
CN117831369A (zh) | 碰撞检测方法及电子设备 | |
KR20110136059A (ko) | 3차원 영상 시스템에서 광선 추적 방법 및 장치 | |
Starkov et al. | Ultrasound simulation with deformable and patient-specific scatterer maps | |
Tian et al. | A multi‐GPU finite element computation and hybrid collision handling process framework for brain deformation simulation | |
Zhang | Medical Data and Mathematically Modeled Implicit Surface Real-Rime Visualization in Web Browsers | |
CN114020390A (zh) | Bim模型显示方法、装置、计算机设备和存储介质 | |
Al-Oraiqat et al. | Specialized Computer systems for environment visualization | |
Mamdouh et al. | Using Azure to construct recent architecture for visualize training in real-time | |
Byeon et al. | Adaptive surface representation based on homogeneous hexahedrons for interactive simulation of soft tissue cutting | |
JP5105584B2 (ja) | 対象領域表示装置およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |