本发明属于曲面模型测量领域,更具体地,涉及一种基于自由节点b样条建模的自适应采样方法。
背景技术:
作为香农采样和重构定理的基础,均匀采样是目前应用最为广泛的表面测量方法。然而,最新的非均匀采样定理表明,均匀采样并不是无失真重构的必要条件。大量的研究表明,均匀采样往往会花费较多的时间,占用较大的存储空间,工作成本较高。因此,以节约成本为目的的智能采样技术已渐渐成为人们的研究热点。
智能采样方法大致分为四类:样本量优化,采样模式优化,预先学习的采样模式优化和自适应采样。在很多情况下,自适应采样都是最佳的处理方案。自适应采样是一种智能采样设计,可以根据观测值实时控制采样工作。一般来说,自适应采样与重构方法息息相关,即通过实时控制采样工作,得到最佳的采样点,使得重构模型具有较高精度。目前,大多数的自适应采样方法都是基于传统的建模方法,如固定节点b样条模型或者nurbs模型,对于静态表面,可以有较好的效果,但对于动态甚至高动态范围表面(如具有尖锐边缘特征的结构曲面),则会产生较大的重构误差。
技术实现要素:
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于自由结点b样条(fkbs)模型进行回归的自适应采样方法,通过在建模过程中自动令结点矢量与表面的动态变化相适应,达到比现有的采样方法更高的精度,能够用于任意动态、静态表面的测量,尤其适用于不连续的高动态范围表面的测量。
为了实现上述目的,本发明提供了一种基于自由节点b样条建模的自适应采样方法,包括如下步骤:
步骤一、利用随机相移的均匀采样法对目标对象进行初始采样,得到包含n个初始点的采样点集{x,y};其中,x为样本点向量,y为x对应的采样值;
步骤二、利用四元树对采样点集进行划分得到测试位置;
步骤三、对采样点进行固定节点b样条建模如下:
y=ftx=hα+ε
其中,h为结点向量t与样本点向量x按照德布尔算法生成的k阶b样条模型矩阵,在固定节点b样条建模过程中,t是给定值;y为x对应的采样值,α为待求解的模型参数,ε是均值为零的正态随机误差;
利用最小二乘法求解上式,得到α的最优解
然后将t作为未知量进行自由节点b样条建模得到关于t、α的表达式:
argmint,α||y-hα||2
将
步骤四、计算已确定的测试位置处的不确定度
步骤五、根据步骤四求得的不确定度
步骤六、对新的采样点集重复步骤二到步骤五,直至采样点数量达到设定值,完成自适应采样。
进一步地,步骤三包括如下子步骤:
(1)在固定节点b样条建模过程中,对
其中,μ为经验值,
其中,x表示采样区间[x1,xn],τ为积分变量,r为经验值;
根据b样条函数的导数是其低阶b样条基函数的线性组合的性质,将式(5)转换为:
其中,d是系数转换矩阵,向量αr按照式(7)和式(8)生成的向量序列{α0,α1,α2...αi}计算得出,r∈i:
α0=α(7)
其中,
s为对角矩阵,满足:
因此,将式(6)~(9)代入式(4),得到:
其中,矩阵r满足:
r=rt=(hth-μdtstsd)-1(11)
(2)求解出
将式(10)的
argmint||y-hrthty||2(13)
利用曲率节点放置解法求解式(13)得到t,完成自由节点b样条建模。
进一步地,步骤四中获得不确定度
根据步骤三中求得的
其中,h为测试点x*处的b样条模型向量,根据结点向量t与测试点位置x*由德布尔算法得出;
相应地测试位置x*处的不确定度
其中,σ为预设经验值,对
其中,δ表示由式(15)得出的未修正的标准差,
进一步地,步骤五中筛选新的最佳采样点
采用以下三个标准判断不确定度
其中,
e(x,y)为根据已有采样点集{x,y}计算出的形状误差,
e(x,y,x*,y*)为在采样点集{x,y}中加入测试点x*后计算得出的形状误差;
先采用maxtinc标准进行新的最佳采样点的筛选,将符合maxtinc标准的采样点作为新的最佳采样点,加入初采样点集{x,y},得到新的采样点集;如果没有符合maxtinc标准的采样点,则采用maxvar标准或者maxwvar标准进行新的最佳采样点的筛选,将符合maxvar标准或者maxwvar标准的采样点作为新的最佳采样点,加入初采样点集{x,y},得到新的采样点集。
总体而言,与现有技术中的自适应采样方法和均匀采样方法相比,本发明是基于自由节点的b样条建模,节点的自由放置所带来的灵活性使得本方法应用于各种表面时都有较好的重构效果,对于不连续的高动态范围表面的测量问题尤其有效;另一方面,本发明中新的采样点的选择是依据不确定度分析,对同一表面增加相同数量的采样点时,本发明能够达到更高的重构精度,这极大地减少了采样的工作量,节省了计算时间。
附图说明
图1为本发明基于自由节点b样条建模的自适应采样方法的流程示意图;
图2为采样点分别为27和54个时,本发明应用于动态表面的效果图;其中,图(a)是采样点为27个时的效果图,图(b)是采样点为54个时的效果图;
图3为对于相同表面本发明与其他采样方法的效果对比图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
下面结合附图对本发明的技术方案或方法详细说明,如图1所示,基于自由节点b样条建模的自适应采样方法,它由以下步骤实现:
步骤一、利用随机相移的均匀采样进行初始采样,得到共n个点的初始采样点集{x,y};
步骤二、利用四元树对采样空间进行划分来确定测试位置;
步骤三、利用初始的采样点进行自由节点b样条(fkbs)建模;
具体为:(1)首先考虑固定节点的b样条建模:
y=ftx=hα+ε(1)
其中,h为按照德布尔算法生成的k阶(本算法中k取为4)b样条模型矩阵,由结点向量t{t1,t2,t3…tn}与样本点向量x{x1,x2,x3…xn}生成,y为采样值,α为所求的模型参数,ε为正态随机误差,且均值为零;在固定节点的b样条建模过程中t是人为给定的值,为已知量;
利用最小二乘原理,该模型的解为:
argminα||y-hα||2:α∈rm(2)
其中,μ为通过实验得到的经验值,
其中,x表示采样区间[x1,xn],τ为积分变量,r为经验值,本实施例中r取为2。
根据b样条函数的性质,其导数是低阶b样条基函数的线性组合,因此我们可以求得一个系数变换矩阵d,将式(5)表达为:
其中,向量αr可由按照式(7)和式(8)生成的向量序列{α0,α1,α2...αi}计算得出:
α0=α(7)
其中,
s为由结点向量t按照式(9)生成的对角阵,满足:
因此,固定节点b样条建模的参数α最终最佳估计值
其中,矩阵r满足:
r=rt=(hth-μdtstsd)-1(11)
(2)解决了固定节点b样条建模后,再考虑自由节点b样条建模,此时结点向量t为未知量,由于自由节点b样条建模增加了未知参数t,式(4)的优化模型变为:
考虑到t和α是线性独立的,将固定节点b样条建模中式(10)的
argmint||y-hrthty||2(13)
利用曲率节点放置解法,可以对该模型进行求解,得到t;
步骤四、在已确定的测试位置计算不确定度:
通过步骤三中求得的
其中,h为测试点x*处的b样条模型向量,同样可根据结点向量t与测试点位置x*由德布尔算法得出;
相应地测试位置x*处的不确定度为:
其中,h为测试点x*处的b样条模型向量,σ为预先设定的参数,可由交叉验证的方法得出;从式(15)可以看出,得出的不确定度与样本值y没有关系,这是不合理的,因此通常采用jack-knife不确定度进行优化:
其中,δ表示由式(15)得出的未修正的标准差,
步骤五、根据步骤四求得的不确定度,计算新的最佳采样点(nbp)并获取nbp的采样值;具体步骤如下:
nbp应选择在不确定度大的位置,以减小重建模型的不确定度,对于不确定度大小的评判,有以下三种标准:
其中,
优先采用maxtinc进行nbp的选择,如果找不到nbp,则采用maxvar或者maxwvar进行nbp的选择;之后,将选择的nbp加入初始采样点,得到新的采样点集。
步骤六、对新的采样点集重复步骤二到步骤五直至循环结束;具体的循环结束条件为采样点的数量,当采样点数量达到设定值时,停止采样;
下面以动态表面为例,验证本发明中采样方案的优越性。
首先对表面进行随机相移的均匀采样作为初始采样,之后用四元树方法对采样空间进行分,确定测试位置;
利用基于曲率的节点放置算法,求解自由结点b样条模型:
argmint||y-hrthty||2
根据改进的jack-knife公式,计算不确定度:
根据不同的表面,选择步骤四中的maxtinc标准或者maxvar或者maxwvar进行nbp的计算;得到新的采样点后,再次根据步骤一中的方法,细化测试位置,并重复上述过程直到采样点数量达到预先设定值。
图2显示了本发明在动态表面上的应用效果,(a)图是27个初始采样点的采样效果,而(b)图是按照本方法将采样点数量增加到54个时的效果,由图(a)、图(b)可知,采用本发明的方法重构不确定度低,与原表面的吻合度极高,重构高度曲线几乎与原表面重合。图3显示了对于相同表面本发明与其他采样方法的重构误差对比图。纵向对比可知,通过将采样点数量增加到54个,本发明的fkbs模型的重构误差减小到原来27个初始采样点时的10%,而传统的均匀采样从初始的27个采样点增加到54个采样点时重构误差却只能减小到四分之一即25%左右。横向对比可知,本发明的初始27个采样点的采样重构误差为其他三种方法的1/5、1/27、1/44,即20%、3.7%、2.3%,增加到54个采样点时重构误差为其他三种方法的1/5、1/75、1/90,即20%、1.3%、1.1%,极大提升了重构精度。
本发明基于自由结点b样条建模,利用不确定度分析,实现自适应采样,与其他的自适应采样方法或者常规的均匀采样方法相比,本发明是基于自由节点的b样条建模,节点的自由放置所带来的灵活性使得本方法应用于各种表面时都有较好的重构效果,对于不连续的高动态范围表面的测量问题尤其有效;另一方面,本发明中新的采样点的选择是依据不确定度分析,对同一表面增加相同数量的采样点时,本发明能够达到更高的重构精度,这极大地减少了采样的工作量,节省了计算时间。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。