公开/公告号CN1917658A
专利类型发明专利
公开/公告日2007-02-21
原文格式PDF
申请/专利权人 杭州镭星科技有限公司;
申请/专利号CN200610052740.5
申请日2006-08-01
分类号H04N13/02(20060101);H04N15/00(20060101);
代理机构33200 杭州求是专利事务所有限公司;
代理人林怀禹
地址 310012 浙江省杭州市西湖区黄姑山路29号颐高创业大厦1103
入库时间 2023-12-17 18:16:49
法律状态公告日
法律状态信息
法律状态
2015-09-23
未缴年费专利权终止 IPC(主分类):H04N13/02 授权公告日:20110427 终止日期:20140801 申请日:20060801
专利权的终止
2011-04-27
授权
授权
2007-04-18
实质审查的生效
实质审查的生效
2007-02-21
公开
公开
技术领域
本发明涉及一般的视频数据立体化方法,尤其涉及一种从单目图像序列生成立体图像序列的方法。
技术背景
从无三维几何信息的单目视频构造双目立体视频,有三种主要方法:一种是使用同步摄像硬件;一种是基于稠密三维几何恢复的图像绘制方法;一种是基于稠密采样的图像绘制技术。这几种方法都有其局限性,高度自动、精确的稠密三维重建仍然是计算机视觉里的难题。
基于视频的绘制利用多个同步视频生成三维视频,需要特殊的硬件设备或重建三维模型。
早期工作主要是利用场景的三维几何信息。然而,现实场景的三维模型通常很难获得。也有人提出了基于两幅或多幅图像的三维重建方法,然而这类方法全自动尚不能得到理想的结果,需要人工介入,成本高。
一些基于图像绘制的方法通过稠密的采样而避免三维重建,也能合成立体图像。如Light-field,可参考M.Levoy and P.Hanrahan.Lightfieldrendering.In SIGGRAPH’96:Proceedings of the 23rd annual conference onComputer graphics and interactive techniques,pages 31.42,New York,NY,USA,1996.ACM Press;Lumigraph,可参考S.J.Gortler,R.Grzeszczuk,R.Szeliski,and M.F.Cohen.The lumigraph.In SIGGRAPH’96:Proceedingsof the 23rd annual conference on Computer graphics and interactivetechniques,pages 43.54,New York,NY,USA,1996.ACM Press。采用的方法都是使用多个摄像机从各角度对场景进行密集采样,在没有任何场景三维几何信息的条件下合成立体图像。这种方法所需数据量大,处理过程复杂。
发明内容
本发明的目的在于针对现有技术的不足,提出一种从单目图像序列生成立体图像序列的方法,该方法不需要硬件辅助、无需恢复深度和三维几何就能从单目视频图像序列构建出立体图像序列。
为了达到上述目的,本发明采用的技术方案如下:
一种从单目图像序列生成立体图像序列的方法,包括以下步骤:
1)由单目图像序列Pmono={pi}创建对应的单目摄像机参数序列(QB,VB):单目摄像机序列B={bi}的参数序列包括旋转向量序列QB={qi}与空间位置序列VB={vi},通过摄像机跟踪算法得到每一帧单目图像pi对应的摄像机参数(qbi,vbi);
2)由单目摄像机参数序列(QB,VB)和单目图像序列Pmono构造双目摄像机序列S={si}以及对应的参数序列(QS,VS)和索引序列(∏L,∏R):令左眼索引序列∏L=i,然后对选择到单目摄像机bi距离最接近双目距离deye的单目摄像机bk,令∏R[i]=k;双目摄像机旋转向量q(si)=(q(bi)+q(bk))/2,中心位置c(si)=(v(bi)+v(bk))/2,由此可确定双目摄像机左右眼参数(q(si),v(si));
3)用已知的(QS,VS)和(∏L,∏R)计算控制误差E,若E在误差允许范围之内,则直接进行下一步,否则,调整(QS,VS)和(∏L,∏R)的值使E减小至误差允许范围之内;调整方法分两步:首先,固定(∏L,∏R),调整(QS,VS),得到使E最小的(QS,VS),然后,固定(QS,VS),调整(∏L,∏R),得到使E最小的(∏L,∏R);重复这两个步骤直至E减少到误差允许范围之内;
4)依据索引序列(∏L,∏R)构造双目源图像序列(Plwarp,Prwarp),其中左眼源图像序列Plwarp={p∏L[i]},右眼源图像序列Prwarp={p∏R[i]},根据双目摄像机参数序列(QS,VS),对双目源图像序列(Plwarp,Prwarp)进行视图变换,得到立体图像序列(Plstereo,Prstereo)。
所述的控制误差E(S,∏L,∏R)=ES+EQ+(ECV+ECO),包括以下几个部分:
1)立体感误差ES:L(s)指双目摄像机s的左眼摄像机,R(s)指双目摄像机s的右眼摄像机:
δ(s,l,r)=‖v(bl)-v(L(s))‖2+‖v(br)-v(R(s))‖2
2)相似性误差EQ:
γ(s,l,r)=‖q(s)-q(bl)‖2+‖q(s)-q(br)‖2
3)方向连续性误差ECO:
4)位置连续性误差ECV:
所述的固定(∏L,∏R),调整(QS,VS),得到使E最小的(QS,VS)的方法可以是:固定(∏L,∏R),以E为目标函数,使用非线性最优化方法调整(QS,VS),得到使E最小的(QS,VS);
所述的固定(QS,VS),调整(∏L,∏R),得到使E最小的(∏L,∏R)的方法可以是:固定(QS,VS),将(∏L,∏R)分段,每次同时调整其中某一段中的所有连续帧,同时每个∏L[i],∏R[i]都在各自临近的若干帧内进行枚举配对。对所有的情况重新计算控制误差E,找出使E最小的一组作为调整结果。对每个分段逐个调整,直至全部调整完毕。
本发明与背景技术相比,具有的有益效果是:
本发明针对以往立体视频制作方法昂贵,复杂,数据量大,处理时间长等缺点,提出了一种将普通的单目视频图像序列转化为立体图像序列的新思路。本发明不需要特殊的硬件,或基于图像的密集采样以及三维建模,不需要深度信息的恢复,仅需要一段包括运动镜头的单目视频图像序列,即可构造出制作立体视频所需的立体图像序列。
本发明计算效率高,结果稳定,由该方法产生的立体图像序列可用于制作立体视频等用途。由于单目视频素材丰富,因此适合用于将单目视频立体化的场合。
附图说明
下面结合附图和实施方式对本发明作进一步说明。
图1是本发明方法的四个步骤的流程图;
图2是步骤一中单目摄像机b以及单目摄像机序列B的示意图;
图3是步骤二中双目摄像机s的结构示意图;
图4是步骤二中索引序列∏L,∏R的用途示意图;
图5是步骤二中的双目摄像机序列和索引摄像机序列的初始化方法。
具体实施方式
本发明提出了一种从单目图像序列生成立体图像序列的方法,包括四个步骤:首先,由单目图像序列创建对应的单目摄像机参数序列;接着构造双目摄像机序列、对应的参数序列和索引序列;然后,调整双目摄像机参数序列和索引序列的值,使控制误差在误差允许范围之内;最后,依据索引序列构造双目源图像序列,根据双目摄像机参数序列对双目源图像序列进行视图变换,得到立体图像序列。
具体流程如图1所表示,现具体介绍每一步骤的实现细节:
1)单目图像序列Pmono={pi}创建对应的单目摄像机参数序列(QB,VB)
本文所指摄像机参数包括某个时刻摄像机的两个外部参数空间位置v以及旋转向量q,其中旋转向量q用欧拉角形式表达,如(qx,qy,qz),qx,qy,qz分别为绕x,y,z轴旋转的欧拉角。摄像机在一个时间段内的参数构成摄像机参数序列空间位置序列V和旋转向量序列Q。
如图2,单目摄像机b代表某帧单目视频图像对应的摄像机。B指单目摄像机b的序列,B[i]指第i个单目摄像机,即bi。v(b)是单目摄像机b的空间位置,q(b)是单目摄像机b的旋转向量。
单目摄像机序列B={bi}的参数序列包括旋转向量序列QB={qbi}与空间位置序列VB={vbi}。
通过摄像机跟踪算法得到每一帧单目图像pi对应的摄像机参数(qbi,vbi)。
有许多种可用于摄像机跟踪的算法,一般采用非实时的基于结构和运动恢复(Structure And Motion Recovery,简称SMR)的摄像机跟踪方法,即可对大部分的视频图像序列高精度地恢复摄像机运动参数。如2D3公司的boujou、REALVIZ公司的matchmover或ranovae公司的WecamTrack等都可以用于摄像机跟踪。
这一步得到(QB,VB)和一些稀疏点的三维深度,在步骤四中可以取这些稀疏点当中的深度作为视图变换的参数。
2)由单目摄像机参数序列(QB,VB)和单目图像序列Pmono构造双目摄像机序列S={si}以及对应的参数序列(QS,VS)和索引序列(∏L,∏R):
如图3,双目摄像机s指用于生成立体图像的两台摄像机组成的系统,由相同旋转向量且距离不变的同步左右眼摄像机构成,且两摄像机旋转向量和摄像机连线垂直。其中v(L(s)),v(R(s))为立体摄像机的左右眼摄像机的空间位置;L(s)与R(s)的中点c(s)称为双目摄像机中心;左右眼摄像机距离d称为摄像机双目距离;并定义L(s)与R(s)的旋转向量为s的旋转向量q(s);L(s)与R(s)连线为双目摄像机x轴,ex为x轴的单位矢量,q(s)和ex垂直。S指双目摄像机s的序列,S[i]指第i个双目摄像机,即si。
∏指索引序列,∏L,∏R分为左眼索引序列和右眼索引序列。左眼索引序列的某一项∏L[i]指双目摄像机序列S的每一个左眼摄像机L(S[i])所对应的单目摄像机B[k]在单目摄像机序列中的索引k;右眼索引摄像机序列的某一项∏R[i]指双目摄像机序列的每一个右眼摄像机R(S[i])所对应的单目摄像机B[m]在单目摄像机序列中的索引m。
如图4,从单目摄像机序列中按要求挑出的是b27、b1、b30、b9四个摄像机,其中b27、b1对应的单目视频帧f27、f1将用来生成双目摄像机S[i]的左右眼图像,b30、b9对应的单目视频帧f30、f9用于生成双目摄像机S[i+1]的左右眼图像。则∏L={27,30},∏R={1,9},BL={b27、b30},BR={b1、b9}。
构造左右眼索引序列∏L,∏R:如图5,令∏L[i]=i,即左眼索引序列即为单目摄像机序列的序号,然后再为右眼索引序列选择初始值。考虑第i个左眼摄像机,其对应的单目摄像机是bi,选择到bi距离最接近双目距离deye的单目摄像机bk,以k作为相应的右眼摄像机的索引,即∏R[i]=k。
双目摄像机序列S的参数:双目摄像机旋转向量q(si)初始值就是bi和bk的旋转向量的平均值q(si)=(q(bi)+q(bk))/2;中心位置c(si)即bi和bk空间位置的中点,c(si)=(v(bi)+v(bk))/2。则相应的双目摄像机左右眼摄像机的空间位置分别为c(si)±0.5deve·ex,即在x轴上与中点相距deye/2的两个空间点,旋转向量即为q(si)。ex为x轴的单位矢量(我们把摄像机的正左方向作为x轴正方向)。
双目摄像机si除q,v外的其它内部参数如焦距f等,与构造它的相应单目摄像机BL[i]或BR[i]相同(这里假定摄像机不变焦)。
3)调整双目摄像机参数序列(QS,VS)和索引序列(∏L,∏R)的值,使控制误差E在误差允许范围之内:用已知的(QS,VS)和(∏L,∏R)计算控制误差E,若E在误差允许范围之内,则直接进行下一步;否则,调整(QS,VS)和(∏L,∏R)的值使E减小至误差允许范围之内。
控制误差E(S,∏L,∏R)=ES+EQ+(ECV+ECO);
立体感误差ES:
δ(s,l,r)=‖v(bl)-v(L(s))‖2+‖v(br)-v(R(s))‖2
相似性误差EQ:
γ(s,l,r)=‖q(s)-q(bl)‖2+‖q(s)-q(br)‖2
连续性误差EC,包括方向连续性目标函数ECQ,空间连续性目标函数ECV:
控制误差E的允许范围为经验常数,用于控制最后输出立体图像的效果,如果输出结果不够精确,可以通过缩小该范围,通过调整(QS,VS)和(Π∏L,∏R)的值对结果进行优化求精。
调整(QS,VS)和(∏L,∏R)的方法有很多,最简单的策略是枚举所有可能,但由于枚举出的组合过多,大大增加了计算复杂度。因此,可将调整分为两部分:首先,固定(∏L,∏R),调整(QS,VS),得到使E最小的(QS,VS);然后,固定(QS,VS),调整(∏L,∏R),得到使E最小的(∏L,∏R);重复这两个步骤直至E变化不大,如(Ei-Ei-1)/Ei<0.0001时即可停止。
采用分两部分枚举所有组合的计算量仍是很大,因此,实际采用最优化算法和局部枚举法相结合的策略,分别降低调整(QS,VS)和(∏L,∏R)的计算复杂度。
例如,首先,固定(∏L,∏R),以E为目标函数,使用非线性最优化方法如Levenberg-Marquardt方法调整(QS,VS),得到使E最小的(QS,VS)。
然后分段局部枚举法调整(∏L,∏R):固定(QS,VS),将(∏L,∏R)分段,前后段有重复元素,每次同时调整(∏L,∏R)中某一段中的所有连续帧,同时每个∏L[i],∏R[i]都在各自临近的几帧内进行枚举配对。对所有的情况重新计算控制误差E,找出使E最小的一组作为调整结果。对每个分段逐个调整,直至全部调整完毕。
分段局部枚举法举例如下:假设采用同时调整连续三帧,每一帧的调整范围为包括自己5帧的策略。对于第一组被调整的三帧S[0],S[1],S[2],其对应的左右眼索引为(∏l[0],∏r[0]),(∏l[1],∏r[1]),(∏l[2],∏r[2]),假设其中第0帧的双目摄像机对应左右眼索引为∏L[0]=31,∏R[0]=9,那么第0帧左眼索引调整范围∏L[0]={29,30,31,32,33},右眼索引调整范围∏R[0]={7,8,9,10,11},其他帧同理。对于每一帧共25组(∏l[i],∏r[i])的组合,连续三帧(∏l[0],∏r[0]),(∏l[1],∏r[1]),(∏l[2],∏r[2])总共有253种组合。在其中若发现有某个组合能使总目标函数E最小,则取该值。这样依次调整,先同时调整0,1,2帧,再接着调整1,2,3帧,直至全部调整完毕。
4)依据索引序列(∏L,∏R)构造双目源图像序列(Plwarp,Prwarp),根据双目摄像机参数序列(QS,VS),对双目源图像序列(Plwarp,Prwarp)进行视图变换,得到立体图像序列(Plstereo,Prstereo)。
视图变换的方法是为图像上的每个像素赋予一个常深度Zc,将每个像素先投影到三维空间的正确位置上,然后再投影到双目摄像机参数指定的图像平面上,从而生成立体图像的左右眼图像。这里的zc=2(1/zmin+1/zmax)-1,其中[zmin,zmax]是场景的深度范围,在摄像机跟踪步骤中,恢复摄像机运动参数的同时,可以得到一些稀疏点的三维深度,可以取这些稀疏点当中的最小深度作为zmin,最大深度作为zmax。
机译: 将单图像序列转换成立体图像序列的方法
机译: 将单图像序列转换成立体图像序列的方法
机译: 将单图像序列转换成立体图像序列的方法