第十五章第十五章三维运动估计三维运动估计•三维运动估计是指从二维图象序列来估计物体三维运动参数以及三维结构。•三维运动估计有着广泛的应用机器人视觉,自主导航,目标跟踪,图象监控,智能车辆高速公路系统,基于物体的图象压缩等15.115.1基于成象模型的对应点估计基于成象模型的对应点估计•三维刚体运动方程:一个刚体,其上一点M从时刻tk的位置(xk,yk,zk)经过旋转和平移,运动到时刻tk+1的位置(xk+1,yk+1,zk+1)。设旋转矩阵和平移向量分别是Rk和Tk,则三维刚体运动模型表示为:kkkkkzyxkkkzzzyzxyzyyyxxzxyxxkkkzyxtttzyxrrrrrrrrrzyxTR+⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛=⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛+⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛+++111(15.1)用欧拉角的形式表示,并假定旋转角较小,则旋转矩阵可以表示为ψθψθψφθφψθφθφψθφψφθφψθφθφψθφψcoscoscossinsincossinsinsincoscoscossinsinsinsincossinsincossincossincoscossinsincoscos==−=−=+==+=−==zzzyzxyzyyyxxzxyxxrrrrrrrrr(式12.3)•其中θ,ϕ,φ分别表示绕x,y,z轴逆时针旋转小角位移15.1.115.1.1正交投影模型正交投影模型当物体深度变化范围不大时,透视投影是正交投影,成象模型为正交投影,则x’=xy’=y式(15.1)可表示为:)()(1111ykyzkyykyxkkxkxzkxykxxkktzryrxryytzryrxrxx++′+′=′=++′+′=′=++++上述方程有6个参数,表示第k帧图象像素到第k+1帧的仿射映射关系。正交投影模型是无法确定物体点到成象平面的距离,因为垂直于图像平面的一条直线,其上的所有点都将投影到该图象平面上一点.物体上一个参考点,其深度值为Zref,则物体上任意一点的关于一个尺度系数深度值可以表示为relrefzzzα+=)()(1111ykyzkyykyxkkxkxzkxykxxkktzryrxryytzryrxrxx++′+′=′=++′+′=′=++++rxz和ryz缩小α,zk放大α,方程仍然成立,因此产生多义性。三帧或三帧以上图象上的四点就可以克服这个问题。15.1.215.1.2基于正交投影的运动估计基于正交投影的运动估计将(15.2)小角度旋转矩阵代入(15.1),得到如下的正交投影模型:ykkkkxkkkktzyxytzyxx+−′+′=′++′−′=′++θφψφ11(15.6)•6个未知参数,其中5个是全局运动参数,一个是深度参数。•理论上给定三点就可以根据(15.6)列出6个方程,从而解出六个未知参数。但实际上,由于数值计算误差,常常需要多个点,•基于上述正交投影模型有基于两帧图象的两步迭代法:首先,根据上一次迭代得到的深度估计值,确定运动参数,然后再使用新的运动参数更新深度估计值。算法15.1基于两帧图像的运动估计两步迭代算法1.给定n个对应点坐标对和深度估计值)},{(1,1,++′′kikiyx)},{(,,kikiyx′′}{,kizi=1,2,…n,且n≥3,这样方程(15.6)可重新写为(15.7)2n个方程,通过最小二乘法来求解2.根据1得到的运动参数估计值,再对深度值{zi,k}进行估计。将式(15.7)重新写为(15.8)⎟⎟⎟⎟⎟⎟⎟⎠⎞⎜⎜⎜⎜⎜⎜⎜⎝⎛⎟⎟⎠⎞⎜⎜⎝⎛′−′−=⎟⎟⎠⎞⎜⎜⎝⎛′−′′−′++yxkkkkkkkkttxzyzyyxxφψθ10001011()kykkkxkkkztxyytyxx⎟⎟⎠⎞⎜⎜⎝⎛−=⎟⎟⎠⎞⎜⎜⎝⎛−′−′−′−′+′−′++θψφφ113.重复上述两步,直到两次迭代值之差小于给定的某一个阈值。当深度估计不准确或初始值不当,可能导致迭代错误收敛或收敛在一个局部最小值算法15.2基于两帧图像运动估计扰动扰动迭代算法1.初始化深度值{zi,k},置迭代计数器m=0。2.在给定深度值下根据式(15.6)估计运动参数3.根据当前的运动估计和深度参数,由(15.6)计算对应点的坐标ykkkkxkkkktzyxytzyxx+−′+′=′++′−′=′++θφψφ11),()(1,)(1,mkimkiyx++′′∑==niimenE112)(1,1,2)(1,1,)()(mkikimkikiiyyxxe++++′−′+′−′=4.计算预估误差5.如果预估误差Em小于预定的误差阈值ET,即EmET,则终止迭代,否则,置m=m+1。6.给深度参数赋一个扰动值)()1(,)(,miimkimkizezz∆+∂∂−←−αβ其中α和β是常系数,∆i(m)=Ni(0,σ2(m))是零均值高斯分布函数,其方差σ2(m)=e2。7.回到第2步实验证明,这种改进的迭代算法在初始深度值有50%的误差的情况下,也能很好地收敛到正确的运动参数值。15.1.315.1.3透视投影模型透视投影模型设空间点(x,y,z)在图象平面上的投影(x’,y’)。如果成象模型为透视投影,则zxFx=′zyFy=′zkzzkzykzxykyzkyykyxkkkzkzzkzykzxxkxzkxykxxkkktzryrxrtzryrxrFzyFytzryrxrtzryrxrFzxFx++++++==′++++++==′++++++111111根据(15.1)式有kkkkkzyxkkkzzzyzxyzyyyxxzxyxxkkkzyxtttzyxrrrrrrrrrzyxTR+⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛=⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛+⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛+++111kzzzkzykzxkyyzkyykyxkkzzzkzykzxkxxzkxykxxkztryrxrztryrxryztryrxrztryrxrx////11++′+′++′+′=′+′+′+′++′+′=′++取F=1,即规范化透视投影,则有(15.13):15.1.415.1.4外极线方程和基本矩阵外极线方程和基本矩阵两步迭代往往不收敛kkkkTMRM+=+1将三维刚体运动模型方程15.1缩写为0)(1=×⋅+kkkTkMRTMRTE×=01=+kTkEMM令:则:⎟⎟⎟⎟⎠⎞⎜⎜⎜⎜⎝⎛−−−=×000][xyxzyzttttttTRTE×=][引入:E是一个3×3矩阵,称为基本矩阵,矩阵元素称为基本参数。01)1(1111=⎟⎟⎟⎟⎟⎟⎟⎠⎞⎜⎜⎜⎜⎜⎜⎜⎝⎛++++kkkkkkkkzyzxzyzxE01=+kTkEMM用zkzk+1除以等式的两边得根据规范化透视投影,得到外极线方程:01)1(11=⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛′′′′++kkkkyxyxETkkkyx),(′′=mTkkkyx),(111+++′′=mTkkkyx)1,,(~′′=mTkkkyx)1,,(~111+++′′=m0~~1=+kTkmEm物体点在第k帧和第k+1帧上的投影点坐标,齐次坐标几何意义几何意义射线上任何一点可以表示为km~λTmR+k~λ在第k+1帧图像平面上的投影是称为外极线极点极点(epipole):对应第k帧图像光学中心在第k+1帧图像平面上的投影。Te=+1kkkkmRTme~,11×=×∞++外极线方程:外极线方程:0~~1=+kTkmEm外极线方程分析外极线方程分析•未知参数9个,•齐次线性方程(无解或有无穷解)令基本矩阵E的一个系数为1,待估参数有8个。•矩阵E是一个斜对称矩阵和一个旋转矩阵的乘积,矩阵E的前三个性质构成三个约束方程,待估参数5个。0)(1=×⋅+kkkTkMRTM平移量TK乘以任何不为零的系数都不影响方程成立,就是说,当用同一个比例系数改变物体形状或运动平移量时,所得到的图像完全一样。因此,从运动恢复形状和从图像序列恢复运动参数,只能在关于一个比例系数的意义下进行。15.1.515.1.5从基本矩阵估计运动参数从基本矩阵估计运动参数((11))估计基本矩阵估计基本矩阵基本矩阵只有5个未知独立参数,5-点算法来求解,解很不稳定;应选取8个以上的对应点通过最小二乘法来求解。将基本矩阵E表示为:()0112120121110020100111111=⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠⎞⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝⎛′′′′′′′′′′′′++++++eeeeeeeeyxyyyxyxyxxxkkkkkkkkkkkk01)1(11=⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛′′′′++kkkkyxyxE⎟⎟⎟⎠⎞⎜⎜⎜⎝⎛=222120121110020100eeeeeeeeeE外极线外极线方程方程((22))估计运动参数估计运动参数TT和和RRT:由基本矩阵的性质:0=TET可以通过求均方问题极小化来求解:1min22=TTET约束条件:TR:求解下面均方问题极小化1)det(][min2==−×RIRRRTERTk约束条件:15.1.615.1.6从外极线方程估计运动参数从外极线方程估计运动参数一种直接方法:Longuet-Higgins准则2,1.10))~(~(),(kiTkiniLHmRTmTR×⋅=+−=∑齐次坐标齐次坐标在理想情况下,1+km1,+kkl的距离应为零。检测检测//计算计算//系统误差系统误差15.1.615.1.6从外极线方程估计运动参数从外极线方程估计运动参数续续到外极线的距离:是规范化系数,其值等于矢量前两个坐标形成的矢量的范数。如果有n个对应点,则L-H准则为:而第k帧对应点与外极线的距离则是:运动参数实为两式和求极小化:β)~(~11,kkkidmRTm×⋅=++β)(kTmTR×∑−=+101,nikiidβ∑−=10,nikiidα∑−=++101,,)(nikiikiiddβα齐次坐标齐次坐标15.215.2三维运动估计的光流法三维运动估计的光流法在光流场估计的基础上,从两幅正交投影或透视投影的图象中可以估计出三维物体的运动和结构。光流法与模型法的不同之处在于前者使用投影速度场模型,而后者使用的是位移场模型。光流法需要稠密的光流场,而不是选择并匹配明显的特征点。首先我们假定光流场是由一个物体产生的15.2.115.2.1速度场正交投影模型与仿射流速度场正交投影模型与仿射流(1)速度场透视投影模型(2)仿射流287654827321ybxybybxbbvxybxbybxbbu++++=++++=15.2.215.2.2延伸焦点延伸焦点汇聚焦点。特征点是稀疏,要恢复物体表面的完整结构,必须插值。稠密光流场实现3D平移运动表面完整结构的估计对纯平移平移运动来说,所有的光流矢量在图象平面上的投影表现为从某一点延伸出去,或是从远处汇聚到某一点(FOE).这个点实际上是物体运动方向与图像平面的交点。图图15.315.3具有不具有不同运动速度的同运动速度的物体对应的延物体对应的延伸焦点示意图伸焦点示意图物体仅作纯平移运动时,物体上一点在时刻tk处的三维坐标是其中(x0,y0,z0)是时刻的三维坐标,∆t=tk-t0,tx,ty,tz是沿轴方向匀速运动的速度:在规范化透视投影下,该点在图像平面上的坐标由下给出当∆t→∞时,上式变为:根据FOE可以确定空间点的相对深度。确定三维场景点相对深度的步骤:确定三维场景点相对深度的步骤:①通过第k+1帧和第k帧图像估计光流矢量,并确定FOE的位置。②第k+1帧图像上第个点对应的深度值可以相对于一个参考深度值表示为:上式是利用透视投影相似三角原理得到,其中是第k帧图像上的第i点与FOE之间的距离。是图像点从第k帧到第k+1帧的位移,如前图所示。对应三维场景点从第k帧到第k+1帧沿z轴方向的位移,该值无法确定。③第k+1帧图像上第i点和第j点相对深度可以通过上式来计算,即:iirefkiddzz∆=+1,idid∆refzijjikjkiddddzz∆∆=++1,1,xvyuexeyyxeeyxeyexueve − = ++ +