本公开涉及虚拟现实和医疗,尤其涉及一种碰撞检测方法及电子设备。
背景技术:
1、手术模拟器是一种可以帮助医生在虚拟场景下训练手术技能的工具,通过对医生操作的器械与软组织间的交互碰撞进行检测,帮助医生对各种软组织进行熟练地掌握和操作。例如,可以采用包围体层级结构(bvh,bounding volume hierarchies)、空间分区法(spatial partitioning)、图像空间技术(image-space techniques)、连续碰撞检测和离散碰撞检测等方法对手术器械与软组织之间的碰撞进行检测。
2、在此基础上,为了使碰撞效果更为真实,需要精确的检测到软组织模型和手术器械之间的碰撞点,再根据该碰撞点驱动软组织模型运动。由此,存在对碰撞点进行检测的计算量大,所需消耗的计算资源多,以及计算效率低的问题。
技术实现思路
1、鉴于上述问题,本公开提供了碰撞检测方法及电子设备。
2、根据本公开的第一个方面,提供了一种碰撞检测方法,包括:根据软组织模型的包围盒的信息和手术器械的碰撞检测球的信息,对软组织模型和手术器械进行第一碰撞检测,得到第一碰撞检测结果,其中,手术器械是针对软组织模型进行操作的器械模型,碰撞检测球设置在由对象确定的手术器械的关键碰撞位置;在第一碰撞检测结果表征软组织模型和手术器械碰撞的情况下,根据碰撞检测球的信息和软组织模型的外接球的信息,对软组织模型和手术器械进行第二碰撞检测,得到第二碰撞检测结果;在第二碰撞检测结果表征软组织模型和手术器械碰撞的情况下,根据碰撞检测球的信息和软组织模型的信息,对软组织模型和手术器械进行第三碰撞检测,得到第三碰撞检测结果。
3、根据本公开的实施例,碰撞检测球为多个,外接球为多个,多个碰撞检测球中的第二目标碰撞检测球和多个外接球中的目标外接球之间为碰撞关系;碰撞检测球的信息包括第二目标碰撞检测球的球心坐标信息,软组织模型包括多个四面体模型,多个四面体模型中的目标四面体模型与第二目标外接球对应,软组织模型的信息包括目标四面体模型的四个平面的信息和目标四面体模型的体积;根据碰撞检测球的信息和软组织模型的信息,对软组织模型和手术器械进行第三碰撞检测,得到第三碰撞检测结果,包括:根据第二目标碰撞检测球的球心坐标信息和四个平面的信息,构建得到与四个平面对应的四个碰撞检测模型,其中,碰撞检测模型为四面体,碰撞检测模型的底面为四个平面中的一个,与四个碰撞检测模型对应的四个平面中的平面各不同,碰撞检测模型的顶点为碰撞检测球的球心;确定四个碰撞检测模型的体积;根据四个碰撞检测模型的体积和目标四面体模型的体积,对软组织模型和手术器械进行第三碰撞检测,得到第三碰撞检测结果。
4、根据本公开的实施例,根据四个碰撞检测模型的体积和软组织模型的体积,对软组织模型和手术器械进行第三碰撞检测,得到第三碰撞检测结果,包括:根据四个碰撞检测模型的体积,计算得到体积和;根据软组织模型的体积与体积和,计算得到体积差值;在体积差值属于预定差值范围的情况下,生成表征软组织模型和手术器械碰撞的第三碰撞检测结果。
5、根据本公开的实施例,包围盒为多个,碰撞检测球为多个,多个碰撞检测球中的第一目标碰撞检测球与多个包围盒中的目标包围盒之间为碰撞关系,碰撞检测球的信息包括第一目标碰撞检测球的球心坐标信息和第一目标碰撞检测球的半径,外接球的信息包括位于目标包围盒中的第一目标外接球的球心坐标信息和第一目标外接球的半径;根据碰撞检测球的信息和软组织模型的外接球的信息,对软组织模型和手术器械进行第二碰撞检测,得到第二碰撞检测结果,包括:根据第一目标碰撞检测球的球心坐标信息和第一目标外接球的球心坐标信息,确定第一目标碰撞检测球与第一目标外接球之间的距离;根据距离、第一目标碰撞检测球的半径和第一目标外接球的半径,对软组织模型和手术器械进行第二碰撞检测,得到第二碰撞检测结果。
6、根据本公开的实施例,根据距离、第一目标碰撞检测球的半径和第一目标外接球的半径,对软组织模型和手术器械进行第二碰撞检测,得到第二碰撞检测结果,包括:根据第一目标碰撞检测球的半径和第一目标外接球的半径,计算得到半径和;在距离小于半径和的情况下,生成表征软组织模型和手术器械碰撞的第二碰撞检测结果。
7、根据本公开的实施例,碰撞检测球的信息包括碰撞检测球的球心坐标信息,包围盒的信息包括包围盒所包围的空间的坐标范围信息;根据软组织模型的包围盒的信息和手术器械的碰撞检测球的信息,对软组织模型和手术器械进行第一碰撞检测,得到第一碰撞检测结果,包括:根据碰撞检测球的球心坐标信息和包围盒的坐标范围信息,确定碰撞检测球与包围盒之间的位置关系;在位置关系表征碰撞检测球的球心位于包围盒中的情况下,生成表征软组织模型和手术器械碰撞的第一碰撞检测结果。
8、根据本公开的实施例,还包括:获取立体光刻格式的软组织模型文件;对立体光刻格式的软组织模型文件进行格式转换,得到产品模型信息交换标准格式的软组织模型文件;利用三维有限元网格生成工具处理产品模型信息交换标准格式的软组织模型文件,得到四面体模型的信息;利用模型可视化引擎处理四面体模型的信息,得到软组织模型。
9、根据本公开的实施例,碰撞检测球为多个;方法还包括:根据多个碰撞检测球的数量,确定图形处理器的线程数量;调用与线程数量对应的图形处理器的线程,以利用图形处理器的线程执行第二碰撞检测操作和第三碰撞检测操作。
10、根据本公开的实施例,还包括:利用k维度树算法,对软组织模型所处于的空间进行划分,生成包围盒。
11、本公开的第二方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述方法。
12、本公开的第三方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述方法。
13、本公开的第四方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述方法。
14、根据本公开提供的碰撞检测方法及电子设备,由于根据软组织模型的包围盒的信息和手术器械的碰撞检测球的信息,对软组织模型和手术器械进行了第一碰撞检测,在第一碰撞检测的结果为软组织模型和手术器械碰撞的情况下,再根据碰撞检测球的信息和软组织模型的外接球的信息,对软组织模型和手术器械进行第二碰撞检测,在第二碰撞检测的结果仍为软组织模型和手术器械碰撞的情况下,再一次根据碰撞检测球的信息和软组织模型的信息,进行第三碰撞检测,得到第三碰撞检测结果,实现了根据每一次的碰撞检测结果来判断是否要进行下一次的碰撞检测,从对碰撞进行粗略的检测到对碰撞进行精确的检测,将碰撞检测分层、分级、分区域,从而减少对手术器械和软组织模型间的检测的计算量,提高碰撞检测的效率和碰撞检测的速度,及时的对处于训练中的医生进行碰撞反馈,多次且逐步精细的碰撞检测也使碰撞检测的结果更加准确,减少碰撞检测的错误率,提高对手术器械和软组织模型间的碰撞检测的准确性,以及,手术器械上的碰撞检测球的位置是由研发人员和医生根据经验和试验结果共同确定的,因此,保障了手术器械上的碰撞检测球的位置的准确性,进一步的提高了碰撞检测的准确性。