BFGS

2024-07-18

BFGS(共4篇)

BFGS 篇1

1概述

自美国E - 911[1]规定颁布以来,蜂窝网络的无线定位技术受到高度关注并得到深入研究。随着基于位置服务的需求日益增加,定位系统的定位精度及可靠性仍是需要面临的挑战,因此LTE Release 9增加对定位 技术的支 持,并应用于 微蜂窝系 统中[2]。基于网络的定位[3]能在不修改移动台的前提下充分利用现有的蜂窝系统资源,所以被广泛应用于蜂窝无线定位系统中。

TD - LTE中采用严格时间同步的系统[4],因此适合采用TOA( Time of Arrival,到达时间) 或TDOA定位。TDOA定位技术是通过检测移动台的信号到达两个中心基站的时间差来确定移动台的位置。 TDOA采用的是时间差,不仅降低了时间同步的要求,而且在误差环境中性能相对较好,所以蜂窝定位系统中多采用TDOA定位。

求解TDOA双曲线模型的方法,主要分为递归法和解析法。文献[5]提出的Taylor算法需要迭代初始值,但初值选择不好,算法的计算量较大且容易产生局部最小化。文献[6]提出的Chan算法是在通过两步加权最小二乘法得到目标位置估计,但在NLOS下TDOA测量误差较大。文献[7]提出采用粒子群优化算法提高定位精度。文献[8]提出将改进的Chan算法应用于CDMA2000网络TDOA定位中。近些年,也有研究从其他方面改进定位精度。 文献[9]提出采用基于神经网络学习特性和非线性映射逼近的方式修正NLOS传播误差。文献[10]指出LTE Release 9系统通过改变发射天线的数目和发射信号的强度优化定位精度。本文将从改进定位算法方面优化定位性能。为此,在TDOA定位模型的基础上,将定位问题转化为无约束非线性优化问题,采用改进的BFGS算法实现蜂窝网络定位。

2基于改进BFGS算法的TDOA定位

2. 1定位问题模型建立

为避免在一定的测量误差下,TDOA定位产生的双曲线可能因没有交点而不能正常定位,采用使非线性误差函数的平方和取最小来估计移动台的位置。当中心基站数目N大于3时,对移动台的位置估计转化为求解无约束非线性最优化问题。

假设中心基站j坐标为( xj,yj) ,移动台坐标为 ( x,y) ,1号中心基站为参考基站,则移动台到两个中心基站的距离差为

则TDOA测量值为

其中dj,1= dj- d1= c( tj- t1) ,c为光速;фj,1为TDOA的测量误差。

令X = ( x,y)T,则可构造目标函数

其中‖·‖是向量的Euclidean范数。由式( 3) 可知,移动台的位置估计即为F( X) 取得最小值时的X。

2.2BFGS算法

BFGS算法[11]是拟牛顿法的一种,由Broyden, Fletcher,Goldfarb和Shanno四人于1970年独立提出,故被称为BFGS法。该方法是求解无约束极值问题非常有效的算法,既避免了计算二阶导数矩阵及其逆矩阵,又具有正定遗传和二次终止的性质。

2.2.1算法原理

假设目标函数F( X) 二阶连续可微,Xk∈Rn,HESSE阵▽2F( X) 正定。BFGS算法通过构造一个近似矩阵来逼近HESSE阵。构造近似矩阵B( k)须满足以下三点:

( 1 ) B( k)是对称正 定矩阵,从而p( k)= ( B( k))- 1g( k)是下降方向,其g( k)= ▽F( Xk) ;

( 2) 第k + 1次近似矩阵B( k + 1)是对第k次近似矩阵B( k)修正得到,即

( 3) B( k + 1)必须满足拟牛顿条件

其中 δ( k)= X( k + 1)- X( k),y( k)= ▽F ( Xk + 1) - ▽F( Xk) = gk + 1- gk。

由B( k + 1)应满足拟牛顿条件式( 5) ,即

假设 ΔB( k)的一种简单的形式为

其中Q( k)和W( k)为两个待定的列向量。

将式( 7) 中的 ΔB( k)代入式( 6) ,得

则有

考虑到 ΔB( k)应为对称阵,最简单的形式为

由式( 8) 得

若( y( k))Tδ( k)和( δ( k))TB( k)δ( k)不等于零,则有

则校正矩阵为

将式( 12) 代入式( 4) 有

式( 13) 中B( k + 1)为第k + 1次迭代的尺度矩阵。

2.2.2改进BFGS算法

对于定位模型来说,采用精确的线搜索不仅很难在有限步内得到最优步长,而且计算量大。为在收敛速度方面进一步优化算法,本文提出基于Wolfe步长的BFGS算法。

相比于一维精确线搜索,Wolfe步长规则在保证目标函数下降的前提下,使下一迭代点远离当前迭代点,在尽可能少的迭代次数内找到最优步长。

Wolfe步长规则要求步长 αk同时满足:

其中0 < σ1< 1 /2,σ1< σ2< 1为常数。

为保证BFGS算法在数值上具有全局收敛性, 将拟牛顿条件式( 5) 中y( k)用y'( k)代替。

其中A( k)= ‖gk + 1- gk‖I( I为单位矩阵) 。

将式( 15) 代入式( 13) 得到改进后的B( k + 1)迭代公式为

2.2.3算法步骤

基于改进BFGS算法的流程如下:

Step1 0 < σ1< 1 /2,σ1< σ2< 1,Xk∈Rn,给定终止误差 ε > 0,k = 0。

Step2若‖▽F( Xk) ‖≤ε,则Xk即为近似极小点,停止迭代; 否则转Step3。

Step3由式( 16) 计算B( k),令p( k)= - ( B( k))- 1g( k),其中B( 0)= I( I为单位矩阵) 。

Step4由式( 14) 计算 αk,则Xk + 1= Xk+ αkpk。

Step5 k = k + 1 ,转 Step2。

3全局收敛性分析

对目标函数F( X) 分析有如下结论:

引理1目标函数F( X) : Rn→R二阶连续可微, 对任意给定的初值X0∈Rn,有界水平集 Ω = { X | F ( X) ≤F( X0) } 是凸集,则F( X) 和g( X) = ▽F( X) 在 Ω 上都有界。

引理2 F( X) 是定义在n维欧式空间E( n)中有界水平集 Ω 上的函数,对每个 α( 0 < α < 1) ,X( 1)≠ X( 2)∈Ω 恒有

则F( X) 是 Ω 上一致凸函数。

引理3目标函数F( X) 的HESSE阵▽2F( X) 正定,则( y( k))Tδ( k)> 0。

证明目标函数F( X) 的▽2F( X) 存在,则

故( y( k))Tδ( k)> 0。

引理4若目标函数F( X) 的近似矩阵B( k)为对称正定矩阵,且( y( k))Tδ( k)> 0,则B( k + 1)保持对称正定。

证明由Cauchy - Schwartz不定式可知

则对任意给定的s∈Rn,利用式( 16) 有

由式( 15) 有

由引理3知( y( k))Tδ( k)> 0,且A( k)对称正定,则

故B( k + 1)对称正定。

引理5[11]如果目标函数F( X) 是 Ω 上一致凸函数,即存在常数0 < m < M ,使得

其中X∈Ω,Z∈Rn,G( X) 是F( X) 的Hesse矩阵。

引理6[11,12]如果目标函数F( X) 是 Ω 上的函数,αk由Wolfe准则确定且Xk + 1= Xk+ αkpk,则有c1‖g( k)‖cosθk≤‖δ( k)‖≤c2‖g( k)‖cosθk,其中c1= ( 1 - σ2) /M,c2= 2 ( 1 - σ1) /m,θk表示 - gk与pk之间的夹角。

定理1若函数F( X) 在凸集上有界,则算法或有限步终 止于问题 的稳定点,或产生无 穷点列 { Xk} ,其任意极限点都是问题的稳定点。

证明若gk= 0,Xk即为稳定点。假设算法产生无穷点列{ Xk} ,X*为其任意极限点,由引理1知, X*为一有限点,且无穷点列{ Xk}k∈N→X*。

假设g*= g( X*) ≠0,由引理1知{ F( Xk) } 单调下降且有下界,由Wolfe步长搜索规则及Step4知

其中 δk= Xk + 1- Xk= αkpk。

由引理5知

因 g*≠0,故和 k'∈N,当 k > k',k∈N 时,有

由式( 20) 与式( 21) 可知。若令 α= 2αk,k ∈ N ,则有

由式( 19) 及引理6得

根据式( 22) ,有

由于‖tk‖ = 1,因而存在极限点t*,不防设无穷子列{ tk} →t*,k∈N。

对式( 24) 中令k → ∞ ( k ∈ N) ,则有

从而

而由引理6,有

对式( 26) 中令k → ∞ ( k ∈ N) ,则有

这与式( 25) 矛盾,故必有g( X*) = 0,即X*为问题的稳定点。因此函数F( X) 在凸集上全局收敛。

4仿真及分析

本文采用Matlab分析改进BFGS算法在蜂窝通信网络中的定位性能,并与Chan算法、Taylor算法在相同条件下的定位结果进行比较分析。仿真实验中,蜂窝网络采用典型的7小区组成结构,中心基站的坐标分别为:,其中R为小区半径。移动基站MS在如图1所示的阴影区域内均匀分布。

随机选取1000个位置进行分析。MS的坐标选取约束条件式为

除研究测量误差对定位性能影响外,其他情况测量误差服从均值为0,标准差分别为60 m的高斯分布; 除研究基站数对定位性能影响外,其他情况基站数为7; 除研究小区半径对定位性能影响外,其他情况小区半径R = 2000m。仿真实验参数设置如下: 迭代终止误差( 递归算法中采用10次迭代) ,σ1= 0. 1,σ2= 0. 5 。需要说明的是,为防止Taylor级数不收敛,迭代的初始坐标为移动台的真实坐标。

( 1) 测量误差对定位性能的比较

测量误差服从均值为0,标准差分别为30m,60 m,90 m,120 m,150 m,180 m,210 m的理想高斯分布,各定位算法的均方根误差( RMSE) 比较如图2所示。

MBFGS是改进BFGS算法的定位效果。由图2可知,在噪声服从理想高斯分布且误差较小时, Chan算法的定位精度高于Taylor算法,但随着噪声误差的增大,Taylor算法的定位精度逐渐高于Chan算法。在相同条件下,改进BFGS算法比Chan算法更接近于CRLB下限。

( 2) 基站数对定位性能的比较

由图3可知,参与定位的中心基站BS数目越多,定位精度越高,且越接近CRLB下限。在相同条件下,改进BFGS算法定位效果更好。

( 3) 小区半径大小对定位性能的比较

由图4可知,小区半径越小,越接近CRLB下限。在相同条件下,改进BFGS算法定位性能更接近CRLB下限。

( 4) 在均值为100 m,标准差为30 m高斯噪声的NLOS环境下,测量误差 对定位性 能的比较 ( NLOS为独立的加性噪声)

由图5可知,存在NLOS时,Taylor算法和改进BFGS算法的定位性能优于Chan算法。这说明相同条件下,递归算法可以有效减小NLOS误差。由图2和图5可知,改进BFGS算法能够在一定程度上抑制NLOS误差,且具有比Taylor算法和Chan算法更好的定位性能。

5结束语

本文针对蜂窝网络中TDOA测量误差对定位精度影响较大的特点,将定位问题转化为无约束非线性优化问题,提出基于Wolfe步长的BFGS算法实现对蜂窝网络中移动台的定位,并对改进BFGS算法的全局收敛性进行分析。仿真结果表明,采用改进的BFGS算法不仅具有比现有算法更高的定位精度,而且能一定程度上抑制NLOS误差。

BFGS 篇2

人脸姿态估计在人脸识别、计算机游戏、虚拟现实和司机疲劳检测系统等方面都有着广泛的应用。对于现有的人脸姿态估计方法大体上可以分为两类:

(1) 基于人脸外观的学习方法 即假设3D人脸姿态与人脸图像的某些特性(图像密度、颜色、图像梯度值等)存在唯一的对应关系,用大量已知3D人脸姿态的训练样本,通过统计方法来建立这种关系[1,2]。这类方法大多数是利用插补,它们的精确度大大受限于训练样本的划分策略数量,结果人脸姿态的估计精度典型的都不少于10°。

(2) 基于模型的方法 即利用某种几何模型或结构来表示人脸的结构和形状,建立模型和图像之间的对应关系,然后通过几何或者其它方法实现人脸空间姿态估计。现有的人脸姿态估计方法中,大多数姿态估计文献的方法属于基于模型的方法[3,4,5,6]。这种方法的优点在于:人脸的几何结构通过投影模型清楚地揭示了3D人脸姿态和2D人脸图像的关系及当人脸特征点被精确定位后,这种方法简单易行,且具有高的精确度。

鉴于模型方法的优点和文献[3]容易造成姿态解不稳定及文献[4]不能唯一确定人脸3D空间姿态的缺陷,本文提出了一种基于多点模型和改进的BFGS算法BFGS的3D人脸姿态估计方法。实验结果表明,本文提出的方法不仅可以获得稳定和唯一的3D人脸空间姿态,而且与同类方法比较具有良好的姿态估计精度。

1多点模型的建立

1.1获取特征点3D空间信息

通过改进的活动形状模型ASM(Active Shape Model)方法[7],准确地提取所需要的特征点(如两眼、嘴和鼻子等),但对于单张照片在不知道人脸特征点深度及其它信息的前提下进行姿态估计,只采用基于几何模型的方法是不可能实现的。对此,利用人脸形态的几何统计知识来估计人脸特征点的深度值[8],从而丰富人脸预知信息,实现对单张照片中人脸的姿态估计。

已知人脸n个特征点,则人脸结构可用特征点进行线性组合构造一个稀疏形状向量sL来表示:

sL=(v1Τ,v2Τ,…,vnΤ)T∈R3k (1)

式中,L表示向量sL是由特征点组合而成的。由人脸特征形态学可知,人脸属于线性结构,因此人脸特征点向量的估计值seL可由训练库中所有人脸的稀疏形状向量线性组合而成:

seL=SL·λ (2)

式中,SL=(s1L,s2L,…,smL)∈R3n×m,m是训练库中人脸数目。对人脸形状向量空间S进行PCA处理,则式(2)为:

seL=s-L+QSL·η=s-L+ΔL (3)

式中η=(η1,η2,…,ηm)T是组合系数;s-L=1mi=1msiL是平均稀疏向量;QsL=(τ1q1,τ2q2,…,τmqm)是缩放后的特征矩阵。

由输入二维人脸图像上的特征点信息,可以求出组合系数η:

E(η)=‖QsL,2D·η-ΔsL,2D‖2 (4)

式中,QsL,2DΔsL,2D分别是QsLΔsL的二维形式。

通过优化求解得出使E(η)取最小值的η0。则根据式(3)所有特征点的坐标组成的稀疏形状向量的估计值为:

seL=s-L+QsL·η0 (5)

因此,将特征点的二维(X,Y)值与seL中相应特征点的深度值进行组合构成特征点的三维坐标。

1.2建立人脸模型

选用左右眼内外角点和左右嘴角点、鼻尖、下巴顶点等共八个点来构成脸的模型。模型坐标系的原点选在鼻尖处,这样,脸的模型实际由七个点的坐标构成,如下:

(p1,p2,…,p7)

=[-xe1-xe2xe1xe2-xmxm0ye1ye2ye1ye2-ym-ym-ycze1ze2ze1ze2zmzmzc](6)

其中pi为模型点在自身坐标系中的坐标,xe1、xe2分别表示外、内眼角间距的一半,xm为嘴角间距的一半,yc为下巴定点到鼻尖的距离,z表示相应的深度距离,不同的人脸的这三个值是不同的,其差异部分反映了模型与真实人脸的结构的差异。

假设模型点pi(xi,yi,zi)对应的像点为qi(μi,νi),R为姿态旋转矩阵,t为平移矩阵,f为像机焦距。根据透视成像可得:

μi=fr1pi+t1r3pi+t3vi=fr2pi+t2r3pi+t3 (7)

令:t=(t1,t2,t3)T,R=

(r1,r2,r3)Τ=(a11a12a13a21a22a23a31a32a33)

式中:

a11=cosβ·cosγ

a21=-cosα·sinγ+sinα·sinβ·cosγ

a31=sinα·sinγ+cosα·sinβ·cosγ

a12=cosβ·sinγ

a22=cosα·cosγ+sinα·sinβ·sinγ

a32=-sinα·cosγ+cosα·sinβ·sinγ

a31=-sinβ

a32=sinα·cosβ

a33=cosα·cosβ

于是相应的透视成像模型可以表示如下:

qi=C·[R(α,β,γpi+t] (8)

姿态估计问题可表述为:已知像机参数C,模型点{pi,i=1,2,…,n}和其在像机C中的像点{qi,i=1,2,…,n},求姿态参数(α,β,γ)。

求解函数式为:

f(α,β,γ)=min{i=1nqi-C[R(α^,β^,γ^)pi+t]2} (9)

2人脸姿态估计

人脸姿态有6个自由度的变化,即沿XYZ轴的平移和绕XYZ轴的旋转。对沿XY的平移,在图像上表现为人脸的位置变化,可以通过统一坐标系实现;对沿Z轴的平移,在图像上表现为比例的变化,可以通过比例归一化实现。所以本文重点在于研究人脸绕XYZ三轴的旋转问题,旋转角分别为αβγ

2.1姿态近似值的求解

利用相关特征点进行姿态近似计算[9]:α0,β0,γ0。

(1) γ0的计算

对于一个正面的人脸,两只眼睛应该是处于水平位置的,如图1(a)所示;但在平面旋转的人脸照片中,两只眼睛却并不处于水平位置,如图1(b)所示。因此可以根据两只眼睛的位置关系来对人脸照片进行平面旋转。眼睛是否水平既可以通过内眼点,也可以通过外眼点来确定。由于外眼点容易得到,而且比较准确,因此一般选用外眼点作为基准。

设两外眼点间的垂直距离为d,水平距离为l,那么人脸的平面旋转角度γ0的计算公式为:

γ0=arctandl (10)

(2) β0的计算

假设人脸是左右对称的,图像没有旋转时,中分线正好位于人脸图像的中间,如图2(a)所示;人脸侧深度旋转后,人脸中分线偏离了图像的中心位置,如图2(b)所示。

当人脸处于正面时,鼻下点与左右外眼点的夹角相等。当人脸绕Y 轴旋转后,即侧深度旋转后,鼻下点与左右外眼点的夹角差βeye-out:

βeye-out=β1-β2 (11)

其中,β1=arctandl1,β2=arctandl2

同理可计算出鼻下点与左右内眼点的夹角差βeye-in,鼻下点与左右嘴角点的夹角差βmouth为了减少误差,可取人脸的侧深度旋转角度为这三个角度的均值,即:

β0=13(βeye-out+βeye-in+βmouth) (12)

(3) α0的计算

垂直深度旋转的姿态计算是最困难的。图3为垂直深度旋转的侧视图。人脸的侧面图可以看作是一个椭圆,y 轴即为椭圆的中分线,x 轴是眼睛和嘴连线的垂直平分线,如图3(a)所示。那么没有垂直深度旋转时有α1=α2。垂直深度旋转后,如图3(b)所示。此时,x 轴不再是眼睛和嘴连线的垂直平分线,根据等腰三角形的性质,侧深度旋转角度α0的计算公式为:

α0=α1-α22 (13)

2.2基于改进BFGS算法的姿态精确求解

2.2.1 改进的BFGS算法

对于无约束最优化问题:

minf(x) xRn (14)

假设函数f:RnR连续可微,fxk处的梯度值为g(xk),为了简单起见,把f(xk)和g(xk)分别简写为fkgk

BFGS(Broyden-Fletcher-Goldfarb-Shanno)算法是拟牛顿算法中解无约束最优化问题式(14)的重要方法之一[10,11]。BFGS算法的迭代公式如下:

xk+1=xk+tkdk,k=0,1,… (15)

x0为给定的起始值;tk为步长;dk为搜索方向,dk满足下列方程式:

Bkdk+gk=0 (16)

d0=-B0-1g0,dk=-Bk-1gk,k≥1。

B0是给定的n×n对称正数矩阵,Bkf在xk 处的Hesse矩阵,Bk的修正式为:

Bk+1=Bk-BkskskΤBkskΤBksk+ykykΤskΤyk (17)

其中,yk=gk+1-gk,sk=xk+1-xk

传统的BFGS算法线性搜索要求函数值单调减少,沿着弯曲狭窄谷底易产生迭代序列缓慢收敛,甚至有时对非凸极小化问题不具有全局收敛性。针对这些弊端,本文引进非单调搜索技术,采用一个新的Bk修正式[11,12],改进传统的BFGS算法。

Bk+1=Bk-BkskskΤBkskΤBksk+yk*yk*Τyk*Τsk (18)

其中,yk*=gk+1-gk+Ak*sk,Ak*=2(fk-fk+1)+(gk+1+gk)Τsksk2,‖·‖是Euclid范数。

文献[12]给出了最小的正整数jk来表示步长:tk=ρjk,满足下式:

f(xk+tkdk)max0jm(k)f(xk-j)+δtkgkΤdk (19)

其中,δ∈(0,1),ρ∈(0,1),m(0)=0,0≤m(k)≤min{m(k-1)+1,M0},M0是非负整数。

算法过程为:

① 给定x0∈Rn,对称正数矩阵B0,非负整数M0,并令k:=0;

② 如果‖gk‖=0,则终止,否则转③;

③ 给定xk,Bk解式(16)得搜索方向dk;

④ 确定满足式(19)的步长tk;

⑤ 置xk+1=xk+tkdk,根据式(18)来更新Bk+1;

⑥ 令k:=k+1转②.

其Matlab核心程序如下:

该改进的BFGS算法采用非单调技术,而且较传统的BFGS算法,在每次迭代中,初始测试步长不再保持不变,而是可以自动调整,具有很好的全局收敛性和收敛速度,更利于本文的人脸姿态估计。

2.2.2 姿态的精确求解

以近似姿态估计值α0,β0,γ0为初始值,利用改进的BFGS算法对人脸姿态精确求解,求解过程如下:

① 设定αβγ的求解范围α0-150,α0+150、β0-150,β0+150、γ0-100,γ0+100,迭代步长tαtβtγ;

② for α=(α0-150)∶tα∶(α0+150),for β=(β0-150)∶tβ∶(β0+150),for γ=(γ0-100)∶tγ∶(γ0+100),分别用改进的BFGS拟牛顿法对式(9)进行优化计算,记录对应的优化速度;

③ 找到迭代过程中使式(9)优化速度最快的(α,β,γ),即为求得的人脸姿态(α,β,γ)。

3实验与结果

本次实验采用CMU PIE人脸数据库,该数据库包含了68个人脸类,均为彩色图像,以PPM格式存储,分辨率为640×486,人脸图像大小不一,背景多样,13种不同表情,43种不同光照,4种不同表情,共41368幅人脸图像。对其中β=0°,±22.5°,±45°五个姿态进行了测试,图像统一处理为48×48,本文实验结果在Matlab6.5环境下所得,结果表示形式为(α,β,γ),单位为度(°),部分结果如图4所示。

在一般应用系统中,对绕Y轴旋转的斜视图像应用较多,所以通过测试β来检测算法的精确程度。且根据对称性,本文给出β=0°、22.5°、45°时的绝对平均误差表,如表1所示。

特征点定位往往是存在误差的,假设用改进的ASM方法所得的特征点定位误差为0像素,且以此时所得的估计结果为基准,图5显示了当特征点定位有误差时姿态估计的性能。其中特征点定位误差用定位值偏离基准位置的像素点距离表示。

曲线表明,虽然随着特征点的定位误差的增加,三个角度的误差都有增大的趋势,αβ的误差增长比较明显,但仍低于4°。

表2给出了用本文方法与文献[3,4,5]方法测得的β估计结果比较。

可见,本文算法不仅可以获得稳定的姿态解,而且具有良好的姿态估计精度。

4结语

理论研究与在CMU PIE上的实验结果表明:利用本文算法不仅可以获得稳定的姿态解,而且可以唯一确定人脸3D空间姿态,得到的β估计值绝对平均误差约为1.49°,与同类方法比较具有更好的姿态估计精确度。

本文算法虽然可以得到精确的估计值,但如果通过用图像序列较丰富的图像信息,或通过2D人脸图像建立人脸3D模型来估计人脸3D姿态,将使算法更适应“自遮挡”、光照变化和多表情、多姿态变化情况。

摘要:针对人脸姿态估计往往存在姿态解不稳定和不能唯一确定人脸三维空间姿态的缺陷,准确提取人脸特征点及进行相应特征点深度值估计后,以人脸的多个特征点建立人脸模型,并利用人脸特征点近似估计人脸姿态,通过改进的BFGS(Broyden-Fletch-er-Goldfarb-Shanno)算法精确估计三维人脸空间姿态。实验结果表明,该方法不仅可以获得稳定和唯一的3D人脸空间姿态,而且与同类方法比较具有良好的姿态估计精度。

关键词:人脸姿态估计,多点模型,特征点,BFGS

参考文献

[1]Chen Q,Wu H,Shimada T.A robust algorithm for 3D head pose esti-mation[C]//Proceedings of IEEE International Conference on Multi-media Computing and Systems.Nara,1999:697-702.

[2]Bruske J,Abraham Mumm E,Pauli J,et al.Head pose estimationfrom facial images with subspace neural networks[C]//Proceedings ofInternal Neural Networks and Brain Conference.Beijng,China,1998:528-531.

[3]Alter T D.3-D pose from 3 points using weak-Perspective[J].IEEETransactions on Pattern Analysis and Machine Intelligence,1994,16(8):802-808.

[4]Yao P.Evans G,Calway A.Using affine correspondence to estimate 3Dfacial pose[C]//Proceedings of the IEEE International Conference onImage Proceeding.Thessaloniki,The Hellenic Republic,2001,3:919-922.

[5]Mazumda Debasis R,Dutta Santanu,Mitra Soma.Automatic featuredetection of a face and recovery of its pose[C]//Communicated toJournal of IETE.Washington,USA.2003:505-511.

[6]梁国远,查红彬,刘宏.基于三维模型和仿射对应原理的人脸姿态估计方法[J].计算机学报,2005,28(5):792-800.

[7]Wan Kwork Wai,Lam Kin Man,Chong Kit.An accurate activeshape model for facial feature extraction[J].Pattern Recognition Let-ters,2005,26(12):2409-2423.

[8]王国胤,龚勋,邹建法,等.基于认知机理的三维人脸建模及应用研究[J].重庆邮电大学学报,2009,21(4):555-560.

[9]刘晓宁,周明全,耿国华.基于单张二维照片的三维姿态计算[J].计算机工程,2006,32(6):232-233.

[10]Yun Hai Xiao,Hui Juan Sun,Zhi Guo Wang.Aglobally convergentBFGS method with nonmonotone line search for non-convex minimiza-tion[J].Journal of Computational and Applied Mathematics,2009,230:95-106.

[11]Li Ying Liu,Sheng Wei Yao,Zeng Xin Wei.The global and superlin-ear convergence of a new nonmonotone MBFGS algorithm on convex ob-jective functions[J].Journal of Computational and Applied Mathemat-ics,2008,220:422-438.

BFGS 篇3

1 模型与算法建立

由几何因子理论知, 经过井眼和层厚等环境校正后, 双侧向测井的几何因子取决于地层真电阻率, 冲洗带电阻率及泥浆侵入带直径, 即。设有n个几何因子J, 按最小二乘法得到如下式:

式子中, 为几何因子拟合值, 亦即所要求的几何因子拟合公式。当选用适当形式的拟合公式, 将给定的一组Rt, Rxo, Di及相应几何因子数据代入式 (1) , 用最优化方法不断调整拟合系数, 使目标函数残差平方和Q达到极小时, 便可得出具体的几何因子拟合公式。本文采用的拟合公式形式如下[2]:

经上述分析知, 本文所研究的问题属于多变量无约束非线性规划问题。一般来说, 无约束多变量函数的最优化方法可分为采用目标函数导数的解析法与不用计算导数的直接法两大类。经观察, 本文数学模型中的目标函数是连续的二次函数, 可求导数, 因此采用解析法较为方便省时。解析法中有最速下降法, 牛顿法, 拟牛顿法, 共轭梯度法等等。综合各类方法的优缺点, 本文选择了拟牛顿法中的BFGS方法并结合精确步长法。本文所用的迭代公式[3]为:

本文的主要算法如下:首先给定初始点和初始矩阵, 且循环误差err大于0, k=0;一维搜索, 确定最优步长λ并进行Hk+1计算;令k和k+1相等, 返回上述步骤进行计算, 直至计算次数达到某一规定值或前后两次计算之差小于循环误差后, 迭代结束, 输出真值。

2 实例分析

根据建立的模型和迭代算法, 在MATLAB软件平台上编写程序, 分别运行不同泥浆侵入半径条件下的双侧向测井几何因子表达式系数的计算。

表1为泥浆侵入半径为50in时, 程序结果与参照值[2]的双侧向测井几何因子表达式系数对照表, A为目标函数中未知数的最优解, Q为目标函数的极小值。目标函数极小值实际上就是拟合几何因子与真实几何因子差量的平方和, 从目标函数极小值上分析自编程序的值更小, 程序所得拟合公式的系数更为可信。

3 结语

3.1 初始值的选择很关键。虽然拟牛顿方法受初始点的影响明显小于其他最优化方法, 但选择初值应尽量靠近真值。

3.2 拟牛顿算法中是否需要置Hn=I, x0=xn以重新迭代可视情况而定, 若目标函数是较为标准的二次函数, 且最优步长的结果较为精确时可省略这步以简化运算。

3.3 虽然自编程序得到的目标函数最优值更小, 但验证应用效果还需要更多资料的对比分析。

参考文献

[1]宋子齐等.视电阻率测井资料环境影响校正[J].测井技术, 1995, 9 (4) :250-261.

[2]雍世和.最优化测井解释[M].山东:石油大学出版社, 1995.134-136.

BFGS 篇4

1 震源定位原理

假设监测站以一定形状分布在三维空间中,监测站Ai(xi,yi,zi)(i=1,…,n)到震源θ(t0,x0,y0,z0)的距离为ri,给出n个监测站观测到时t1,t2,…,tn,则有

式(1)中,v为整个实验区域的恒定波速,需要提前通过实验测定,建立速度模型的具体方法可参考微地震速度模型反演方法。

则定位模型

式(2)中,Δtij为到时之差,ti和ti理论上可以任意选取,但是实际操作中,选取距离较远两个传感器的到时差为较优方案。假设选取n组Δtij,因为不一定每个传感器都能有效拾取微震信号。则评价微震源位置的适应度函数:

式(3)中,Δtk是两个传感器的到时之差。当趋近于0时,解得的(x0,y0,z0)即为真实震源参数的近似。

2 GAPSO-拟牛顿算法

2.1 改进GAPSO算法策略

粒子群优化是一类基于群智能[7](swarm intelligence)的随机化算法。PSO不需要近似初值,它首先随机初始化一群粒子。粒子i可以用D维向量表示,其速度和位置更新公式为

式中vid是粒子在第k次迭代中第d维的速度,xid是粒子i在第k次迭代中第d维的位置,ω为惯性权重,r1,r2是[0,1]上的随机数,c1,c2是加速系数(学习因子)。

由于PSO算法具有收敛到局部极值的危险[8],为改善这一状况,提出结合遗传算法的交叉变异性来摆脱局部极值的能力,使得找到全局最优解的可能性进一步增大,而得到较真实值的近似点,然后作为拟牛顿法的初始试探点代入。

2.2 拟牛顿法

拟牛顿算法是一种经典的求解非线性方程F(x)=0最优化问题的方法,它克服了牛顿算法计算过程中需要求导,求逆的缺点,主要把牛顿法中的Jarcobi矩阵用近似矩阵替代,从而简化成了线性递推关系,同时保持了算法的局部的超线性收敛速度[9]。因此利用拟牛顿法BFGS校正公式进行GAPSO定位之后的局部精确定位。

2.3 GAPSO-BFGS联合算法

算法步骤:

Step1初始化种群:限定[xminxmin]及[-vmax vmax],设定最大迭代次数,随机初始化m个粒子的位置xi及飞行速度vi,计算相应适应度Qi,设定参数ω∈(0.1,0.9),同时令pid(0)=pgd(0)=xid(0)。

Step2令粒子i(i=1,2,…,m),当前最优位置为pi=xi,通过式(3)计算适应度为Qbesti=Qi,从粒子群体中找出全局最优粒子,令其位置为pg,对应的适应度值为Gbest。然后按照式(4)、式(5)更新粒子的速度、位置,计算适应度值Qi;若Qi>Qbesti,则令Pi=xi,Qbesti=Qi;若Qi>Gbest,则令Pg=xi,Gbesti=QiQbesti=QiQbesti=Qi;然后按适应度值排序,保留前p/2个个体,进入下一代。

Step3对下一代的剩下的ps/2从提高的ps/2个个体中进行交叉,首先随机选择两个优秀个体,比较适应度函数值,其中适应度值高的作父体,以同样的方法再选择一个母体,以概率pc进行交叉,生成两个新的个体,直到获得ps/2个个体[10]。对于选择交叉获得的ps/2个个体以概率pm进行变异,然后进入到下一代。

Step4检验当前种群是否满足终止条件,若不满足,转Step2;若满足则停止PSO迭代,将最终粒子的参数作为拟牛顿迭代初值,开始BFGS方法求解。

Step5给定初始点GAPSO的结果x0,x∈Rn。初始矩阵H0=I(∈Rn×n),目标函数Q(x)=Q(x0)及精度0<ε<1。

Step6判断是否满足终止条件:,满足,则得到的xk即为定位点,否则,求解牛顿下降方向。沿方向dk做线性搜索,确定步长αk>0,更新迭代变量

Step7由BFGS公式[11]校正Hk得到Hk+1,转Step6继续迭代。

3 方法验证及结果分析

为在实践中验证此算法的可靠性及定位精度,在榆林三道沟乡神东风井矿进行了2次人工爆破,炸药量分别为32 kg和12 kg,位置分别为(37 471 427.16,4 342 850.64,1 081.11)和(37 470 914.12,4 342 821.27,1 086.25)。本次施工测量系统为:1954北京坐标系统,1956黄海高程系统。一共在矿区上方布置了20个传感器,监测到清晰放炮事件的传感器有11个,分布如图1所示,提取到时为t1、t2及到时之差(表1)。分别用改进的PSO算法,经典Geiger法和GAPSO-BFGS算法对两次事件分别进行10次定位,三分量上的误差变化曲线如图2~图4。距离放炮点直线平均距离误差如(表2)。GAPSO-BFGS方法三分量平均误差为(2.7,5.5,5.1),改进的PSO算法为(14.3,11.7,10.2),变化曲线可以看出GAPSO-BFGS方法与一般改进的PSO方法相比其三分量上的平均误差都小,与目标的直线距离误差分别为6.11 m和8.44m,优于改进的PSO算法和Geiger法,同时满足矿方要求的在炸药量比较少的情况下距离震源直线定位误差在10 m以内的要求。

4 总结

由实验数据可以看出,运用GAPSO-BFGS混合算法求解微震源坐标达到了提高定位精度和效率的效果,混合算法计算出的定位误差明显小于单纯采用粒子群算法计算出来的误差,通过采用混合算法,降低了算法前期GAPSO的迭代次数,而算法后期BFGS具有超线性收敛速度,能很快精确定位。本实验是在方圆3 km,地下0.5 km的巷道中进行的爆破试验,实验中发现,距离放炮点越远到时误差越大,因为陕西榆林三道沟乡地层表面覆盖有黄土层以及有很深的山沟,导致波的传播受阻,因此选择传感器到时对精度也有重要影响。在以后的研究中,拟通过对定位模型、速度模型和采集信号滤波方面进一步改进,来减小定位误差提高定位效果。

摘要:针对微震源精确定位问题,提出了一种结合遗传粒子群算法(genetic algorithm and particle swarm optimization,GAPSO)和拟牛顿BFGS修正公式的联合精确微震源定位的方法。新的联合算法引入了交叉变异功能,能有效避免PSO易收敛于局部极值的缺点,然后将其初步定位结果作为初始值带入BFGS算法,有效改善了BFGS定位精度依赖于初始值选取的缺点。实地实验结果表名:此方法相较于PSO及经典定位算法,在x,y,z三个方向上的精度都得到了提高。

关键词:微震定位,遗传粒子群算法,拟牛顿BFGS

参考文献

[1] Geiger L.Probability method for the determination of earthquake epicenters form the arrival time only.Bulletin of Saint Louis University,1912:60—71

[2] Tarantola A,Valette B.Inverse problems quest for information.Journal of Geophysics,1982;50(3):159—170

[3] Spence W.Relative epicenter determination using P-wave arrivaltime differences.Bulletin of the Seismological Society of America,1980;70(1):171—183

[4] Crosson R S.Crustal structure modeling of earthquake data 1.simultaneous least squares estimation of hypocenter and velocity parameters.Journal of Geophysical Research,1976;96(B17):6403—6414

[5] 李文军,陈棋福.用震源扫描算法(SSA)进行微震的定位.地震,2006;26(3):107—115Li Wenjun,Chen Qifu.Microseismic location by means of sourcescanning algorithm.Earthquake,2006;26(3):107—115

[6] 陈炳瑞,冯夏庭,等.基于粒子群算法的岩体微震源分层定位方法.岩石力学与工程学报,2009;28(4):741—743Chen Bingrui,Feng Xiating,et al.Stratified rock source localization based on micro-particle swarm optimization method.Chinese Journal of Rock Mechanics and Engineering,2009;28(4):741—743

[7] Kennedy J.Eberhart R C.Partical swarm optimization.Proceedings IEEE International Conference on Neural Networks,IEEE Service Center,Piscataway,NJ,1995;4:1942—1948

[8] Lee W H K,Stewart S W.Principles and applications of microearthquake networks.New York:Academic Press,1981

[9] Broyden C G,Dennis J E,More J J.On thelocal and superlinear convergence of quasi-Newton methods.J Inst Math Appl,12:223—246

【BFGS】推荐阅读:

上一篇:微观世界中的奥秘下一篇:电子商务建设

本站热搜

    相关推荐