1.用于骨科手术导航的点云配准硬件加速方法,其特征在于,包括:
S1、获取电磁定位系统中实际注册的骨头点云数据;
S2、将骨头点云数据导入FPGA的DDR内存中;
S3、基于FPGA的DSP模块对所述骨头点云数据进行点云粗配准,所述点云粗配准是指引入PCA计算骨头点云数据的主轴方向,得到源点云和目标点云的初始变换矩阵;
S4、基于所述初始变换矩阵进行点云精配准,所述点云精配准是指执行ICP配准算法得到源点云和目标点云的最优变换矩阵;
其中,ICP配准算法中的K‑D Tree点云数据拓扑结构构建和最近邻点搜索分别由FPGA中PL端的树拓扑结构数据模块和最近邻点搜索模块执行,其余步骤由FPGA中PS端的嵌入式CPU执行,构建好的目标点云数据K‑D Tree拓扑结构和搜索到的与源点云最近的目标点云存储于FPGA的DDR内存中。
2.根据权利要求1所述的用于骨科手术导航的点云配准硬件加速方法,其特征在于,所述树拓扑结构数据模块包括:排序模块,用于基于缓冲器和比较单元对输入的点云数据按照x、y、z三个维度顺序反复对点云数据进行排序得到有序点序列,选取有序点序列中的中位数作为树节点完成树拓扑结构构建;
有序点序列缓存模块,用于基于FPGA中的BRAM存储每轮排序中单次排序完成后的有序点序列。
3.根据权利要求2所述的用于骨科手术导航的点云配准硬件加速方法,其特征在于,所述排序模块,包括:N个数据输入端口和一个数据输出端口,所述N为偶数;
N个数据输入端口连接N个缓冲器,每两个缓冲器连接一个比较单元,每个比较单元连接一个缓冲器,缓冲器与比较单元交替连接,直至最后一个缓冲器连接数据输出端口。
4.根据权利要求2所述的用于骨科手术导航的点云配准硬件加速方法,其特征在于,所述有序点序列缓存模块中,BRAM的数量和深度均为2的指数倍。
5.根据权利要求1所述的用于骨科手术导航的点云配准硬件加速方法,其特征在于,所述最近邻点搜索模块包括:目标点云数据结构存储模块,用于存储构建好的目标点云数据K‑D Tree拓扑结构,所述目标点云数据K‑D Tree拓扑结构按照树拓扑结构的子序列划分为多个子区域,每个子区域包含多个目标点云点;
子区域标志模块,用于确定输入的源点云点进行最近点查找的子区域;
距离计算模块,用于计算源点云点与子区域中目标点云点之间的欧氏距离。
6.根据权利要求5所述的用于骨科手术导航的点云配准硬件加速方法,其特征在于,所述目标点云数据结构存储模块由n个BRAM组成,n个所述BRAM的同一组地址存储同一子区域内的所有目标点云点的x、y、z信息。
7.根据权利要求5所述的用于骨科手术导航的点云配准硬件加速方法,其特征在于,所述子区域标志模块,包括:多个比较器和多个二选一选择器;
所述比较器用于将输入的源点云点的x、y、z与目标点云数据K‑D Tree拓扑结构的树节点进行比较;
所述二选一选择器用于根据比较器的比较结果输出1或0,所述二选一选择器的输出从高位到低位拼接得到源点云点进行最近点查找的子区域标志,所述子区域标志用于区分不同的子区域。
8.根据权利要求5所述的用于骨科手术导航的点云配准硬件加速方法,其特征在于,所述距离计算模块,具体用于基于FPGA中的DSP模块计算输入的源点云点与对应子区域中每个目标点云点的欧氏距离,得到与源点云点最近的目标点云点并存储于FPGA的DDR内存中。
9.用于骨科手术导航的点云配准硬件加速系统,其特征在于,用于执行如权利要求1‑8任一所述的点云配准硬件加速方法,包括:数据获取单元,用于获取电磁定位系统中实际注册的骨头点云数据;
数据导入单元,用于将骨头点云数据导入FPGA的DDR内存中;
粗配准单元,用于基于FPGA的DSP模块对所述骨头点云数据进行点云粗配准,所述点云粗配准是指引入PCA计算骨头点云数据的主轴方向,得到源点云和目标点云的初始变换矩阵;
精配准加速单元,用于基于所述初始变换矩阵进行点云精配准,所述点云精配准是指执行ICP配准算法得到源点云和目标点云的最优变换矩阵,其中,ICP配准算法中的K‑D Tree点云数据拓扑结构构建和最近邻点搜索分别由FPGA中PL端的树拓扑结构数据模块和最近邻点搜索模块执行,其余步骤由FPGA中PS端的嵌入式CPU执行,构建好的目标点云数据K‑D Tree拓扑结构和搜索到的与源点云最近的目标点云存储于FPGA的DDR内存中。
10.一种计算机程序产品,其特征在于,当所述计算机程序产品在移动终端上运行时,使得所述移动终端执行如权利要求1‑8任一所述的点云配准硬件加速方法。