视频场景检测

2024-09-29

视频场景检测(共7篇)

视频场景检测 篇1

未经压缩的原始视频序列包含巨大的数据量,使之难以在现有信道带宽条件下直接传输。因此,在视频通信中,往往需要在编码端对视频序列进行压缩。由于编码端的视频压缩通常是有损压缩,和压缩前的原始图像比,压缩后的图像质量会有所下降。为了在有限的信道带宽和压缩后的图像质量之间取得一个合理有效的平衡点,必须在编码端进行合理有效的码率控制。

H.264是JVT(JointVideoTeam,联合视频工作组)于2003年提出的最新视频编码标准。和以往的视频编码标准相比,H.264能在同等信道带宽条件下获得更好的图像质量。在当前H.264所采用的码率控制算法JVT-G 012中,是以GOP(GroupOf Pictures,图像组)为单位组织I帧(Intra-prediction frame,帧内预测帧)和P帧(Inter-predictionframe,帧间预测帧)的[1]。

一个GOP通常以一个I帧开始,在其后有一定数量将该I帧做为参考帧的P帧。

JVT-G 012的帧层码率控制将同一个GOP中的各个P帧看做具有相同的编码复杂度,这与实际情况并不相符,尤其是在视频序列中发生场景切换时,如果不做出相应处理,会导致压缩后图像质量的下降和编码资源的浪费。

针对场景切换问题,出现了多种码率控制算法[2—5]。这些算法彼此之间的区别主要在两个方面:如何检测出场景切换及检测出场景切换的后续处理。对场景切换的检测需要根据算法的应用场合在检测精度和算法复杂度之间做出折衷。一般来说,对实时性要求不高的场合可以采用计算复杂度较高的算法,如先进行预编码确定场景切换的位置,再进行二轮编码对场景切换做出合适的处理;而对实时性要求较高的应用场合,如视频通信,需要低复杂度的场景切换检测方法。

在视频通信中,编码器缓冲区的尺寸通常比较有限,同时对实时性的要求相对较高。本文根据视频通信的实际需要,提出了一种低复杂度的场景切换检测方法,并在检测出场景切换使用可变长GOP与主动跳帧相结合的方式对其进行处理。仿真结果证明,本文所提码率控制算法可以有效的改善场景切换对视频质量的影响,在压缩后图像质量、信道带宽和编码器缓冲区占用度之间取得了较好的平衡。

1基于BH的场景切换检测

在场景切换帧中,大多数MB(MacroBlock,宏块)经过RDO(Rate-DistortionOptimization,率失真优化)后将在帧内预测模式下被编码,这会导致场景切换帧在模式选择上浪费了不必要的计算资源此外,要达到同等的图像质量,帧内预测模式需要比帧间预测模式更多的编码资源。在场景切换处,如果继续按照帧间预测模式为其分配编码资源,必然会导致场景切换处编码质量的下降。可见,必须对视频序列中可能出现的场景切换做出准确的检测和合适的处理。

针对视频通信中实时性要求较高的特点,本文提出了一种基于灰度直方图的场景切换检测算法设待编码帧为当前GOP中的第i个P帧,则当前帧和前一帧之间的BH(BlockHistogram difference,块亮度直方图差异)如式(1)所示[6]:

(1)式中,BH(i)是当前GOP中第i个P帧的BH值;Nmb是在一帧中包含的MB总数;q是最大灰度级;j是MB的序号;k是灰度级的序号;h(i,j,k)是第i帧中第j个宏块在灰度级k上的直方图值。BH(i)体现了相邻两帧之间亮度值变化的剧烈程度,BH(i)的值越大,说明帧间差异越大,使用帧间预测进行压缩编码的编码复杂度也随之增大。

作为两帧之间的绝对差异程度的度量手段之一,不同序列的BH值可能大小水平可能相去甚远,难以找到一个统一的场景切换检测门限。因此,为适应运动剧烈程度不同的各种序列,在BH的基础上进一步定义了当前帧的相对帧间预测编码复杂度BHratio,如式(2)所示:

(2)式中,BHratio(i)是第i个P帧的BH和当前GOP中已编码P帧BH的平均值之比,代表了当前GOP中第i个P帧的相对于已编码P帧的相对编码复杂度。

为了测试BHratio检测场景切换的能力,使用一个从6个QCIF序列中各取20帧组成的构造序列对其进行了测试。BHratio值的变化曲线如图1所示,在同一场景中,BHratio的值基本在1附近变化;当发生

从图1中可见,在场景切换处BHratio的值和在场景内的BHraio值相比有较大跃升,故可以通过选择一个合理的场景切换门限准确的检测出视频序列中可能发生的场景切换,如式(3)所示:

BΗratio(i)>ΤΗsc(3)

(3)式中,THsc是判断场景切换所用的门限值,在本文中THsc取值为2.5。若式(3)成立,则判定发生场景切换;否则,无场景切换发生。为了检测式(3)中所提场景切换检测算法的性能,对总数超过15 000帧的包含场景切换的测试序列进行了仿真,仿真结果表明通过BHratio(i)能够有效的检测出90%以上的场景切换,且误检率几乎为0。

2 对场景切换的处理

现有针对场景切换的码率控制算法可以按照对场景切换的处理分为两类:定长GOP算法[2,3]和可变长GOP算法[4,5]。在定长GOP算法中,不改变场景切换帧的编码类型,而是通过为场景切换帧分配更多的目标比特或调整场景切换帧的QP(Quantization Parameter,量化参数)来改善场景切换对视频质量的影响。在可变长GOP算法中,场景切换帧被编码为I帧,并重新组织GOP长度。

和定长GOP算法相比,可变长GOP算法的主要难点是在编码器缓冲区占用度和图像质量间做出有效的平衡。在定长GOP中,在编码一个GOP之前首先为该GOP分配一定的编码资源,如式(4)所示:

Rgop=ΝgopCbFr+Rprevious(4)

(4)式中,Rgop是当前GOP可使用的编码资源总量;Ngop是当前GOP包含的帧数;Cb是当前可用信道带宽;Fr是编码帧率;Rprevious是上一个GOP对当前GOP的影响,当上一个GOP过量使用编码资源时,Rprevious为负值;当上一个GOP有节余时,Rprevious为正值。

在编码过程中,每编码完一帧,更新一次本GOP剩余可用编码资源,如式(5)所示:

Rr(i)=Rr(i-1)-A(i-1)(5)

(5)式中,Rr(i)为编码第i帧之前当前GOP剩余可用编码资源;A(i-1)是编码第i-1帧实际消耗的编码资源。

对GOP中的各个P帧,各帧可用编码资源是从当前GOP剩余可用编码资源及编码器缓冲区占用度两个角度综合考虑后的加权和,如式(6)所示:

Τ(i)=w1Τc(i)+(1-w1)Τb(i)(6)

(6)式中,T(i)是第i帧最终分配得到的编码资源;Tc(i)是从当前GOP剩余可用编码资源角度为第i帧分配的编码资源;Tb(i)是从编码器缓冲区占用度角度为第i帧分配的编码资源;w1是加权系数,取值在0到1之间。

在JVT-G012中,从编码器缓冲区占用度角度为当前帧分配编码资源时,主要考虑到当前缓冲区占用度和目标缓冲区之间的差异及信道的输出能力,如式(7)所示:

Τb(i)=CbFr+w2(Τbl(i)-Cbl(i))(7)

(7)式中,Tb(i)是从编码器缓冲区占用度角度为第i帧分配的编码资源;Cb是当前可用信道带宽;Fr是编码帧率;Tbl(i)是目标缓冲区占用度;Cbl(i)是实际缓冲区占用度;w2是加权系数,取值在0到1之间。

编码器缓冲区的目标占用度也是在编码过程中不断更新的,如式(8)所示:

Τbl(i)=Τbl(i-1)-Τbl(2)-Cbl(1)Νgop-1(8)

通过(8)式可以看出,在JVT-G012中,位于GOP开始的I帧编码过程中对编码器缓冲区造成的负担被均匀分摊到该GOP的各个P帧身上。当视频序列中没有场景切换发生时,这种机制能够正常运作。而当场景切换发生在某一P帧处时,码率控制将面临两难选择:如果为场景切换帧分配较多的编码资源,势必增加对编码器缓冲区的压力,对其后P帧的编码质量造成影响;而如果场景切换帧不能得到足够的编码资源,又会到处场景切换处视频质量的突降。

为了缓解编码器缓冲区的压力,同时也满足视频通信的实时性,本文提出了一种结合跳帧控制的场景切换处理方法。在检测到场景切换之后,首先丢弃编码器缓冲区内所有未发送的已编码帧,并通知解码端哪些帧被跳过。在解码端,直接用跳帧前最后接收到的一帧代替跳过的帧。

通过缓冲区占用度和当前GOP各帧编码产生的实际比特数可以很容易的确定跳过的帧中是否包含I帧。新GOP所包含的帧数根据跳帧中是否包含I帧确定。若跳过的帧中包含I帧,相当于将当前GOP之前的一个GOP的长度延长了。此时,新的GOP由当前GOP的剩余帧组成。若跳过的帧中不包含I帧,则将当前GOP剩余帧和下一个GOP包含的所有帧一起组成一个新的GOP,场景切换帧作为此新GOP的第一帧。新GOP的初始QP通过类似JVT-G012的初始QP选择过程由bpp(bit per pixel)和当前可用信道带宽共同决定。

3 仿真结果分析

为了检验本文所提算法的性能,在H.264标准参考编解码程序JM12.2的基础上进行了仿真[7]。在仿真中,采用了H.264的基本配置(baseline),GOP长度为30帧,GOP结构为IPPP,目标码率为96kbps,编码帧率为30fps,基本单元大小为11,RDO开启,参考帧数为1,运动估计搜索范围为16。

仿真中使用了两个从标准QCIF 4:2:0格式测试序列Grandma和Foreman截取不同数量帧组成的含有场景切换的构造序列。其中,构造序列G32F58从Grandma中取32帧,从Foreman中取58帧;构造序列G45F45从Grandma和Foreman中各取45帧。

由于两个构造序列中场景切换出现的位置不同,对其进行的处理也不同。在序列G32F58中,场景切换出现在第33帧,由于此时编码器缓冲区占用度较高,还没有传输完原第2个GOP的I帧(第31帧)及其后的P帧被跳过。在解码端,用这两帧之前的最近一帧代替这两帧,即上一个GOP最后一帧(第30帧)。由于跳过的帧里包含I帧,故新的GOP由编码为I帧的场景切换帧(第33帧)和原第2个GOP中的剩余帧共同组成。而在序列G45F45中,场景切换出现时,当前GOP的I帧已经传输完毕。按照本文所提算法,跳过所有未开始传输的已编码P帧,并用之前的一帧代替这些帧。此时,新的GOP由当前GOP的剩余帧和原属于下一个GOP的各帧共同组成。

表1给出了两个测试序列分别在本文所提码率控制算法和JVT-G012控制下的编码结果。从表中可见,和JVT-G012相比,本文所提码率控制算法显著的提升了整个序列的平均PSNR,同时实际码率接近JVT-G012的实际码率。

图2和图3分别是序列G32F58在本文所提码率控制算法和JVT-G012控制下的PSNR比较图和编码器缓冲区占用度比较图。从图中可见,在JVT-G012控制下的视频序列的质量在场景切换后有较大的下降,且编码器缓冲区占用度较高。

与JVT-G012不同,从图2中可见,在本文所提码率控制算法控制下的视频序列在场景切换后不仅有较高的平均PSNR,GOP间的PSNR波动也比JVT-G012小,在本文所提码率控制算法控制下的视频序列的客观质量和主观质量都超过了JVT-G012控制下的视频序列。

从图3中可见,本文所提码率控制算法在场景切换处通过合理跳帧,即保证了新场景有足够的编码资源可以使用,又避免了可能出现的编码器缓冲区上溢。对缓冲区尺寸要求较低的特点使本文所提算法尤为适合应用于无线视频通信中。

图4和图5分别是序列G45F45在本文所提码率控制算法和JVT-G012控制下的PSNR比较图和编码器缓冲区占用度比较图。从图4中可见,本文所提码率控制算法控制下的视频序列没有发生在JVT-G012控制下出现的PSNR波动,这意味着本文所提算法在场景切换之后有更好的主观质量。

和G32F58序列不同,G45F45序列中场景切换发生时跳过的都是P帧。由于跳过的P帧数量较多,场景切换前数帧的主观质量会有相应的下降。而通过跳帧,在JVT-G012控制下发生的PSNR突降和波动得以避免。相比之下,得大于失。

4 结语

针对视频通信中编码器缓冲区较小和实时性要求较高的特点,本文提出了一种新颖的基于场景切换检测的H.264帧层码率控制算法。实验证明,本文所提算法在图像的客观质量、主观质量和编码器缓冲区占用度三方面都胜过了JVT-G012。该算法计算复杂度低,实时性好,实现容易,适合应用在视频通信领域中。

摘要:H.264采用的码率控制算法JVT-G012在信道带宽和压缩后图像质量之间取得了不错的平衡。然而,由于没有考虑到场景切换,在JVT-G012控制下包含场景切换的视频序列压缩后的视频质量往往有较大波动。为应对视频通信中可能出现的场景切换,提出了一种新颖的基于场景切换检测的H.264帧层码率控制算法。首先,提出了一种基于宏块级亮度直方图差异的场景切换检测方法。然后,使用结合跳帧控制的可变长GOP处理检测到的场景切换。仿真结果显示,和JVT-G012相比,所提码率控制算法能够有效应对视频序列中可能出现的场景切换,在同等码率下显著提高整个序列的平均PSNR,并且保持了较低的编码器缓冲区占用度。

关键词:H.264,码率控制,场景切换检测

参考文献

[1] Li Z,Gao W,Pan F,et al.Adaptive basic unit layer rate control forJVT.Joint Video Team of ISO/IEC MPEG and ITU-T VCEG,JVT-G012r1,2003

[2] Jiang M.Ling N.On enhancing H.264/AVC video rate control byPSNR-based frame complexity estimation.IEEE Trans on ConsumerElectronics,2005;1(51):281—286

[3] Lee C,Lee S,Oh Y,et al.Real-time H.264 rate control for scene-changed video at low bit rate.ICCE.2007;2007:1—2

[4] Lee J,Shin I,Park H.Adaptive intra-frame assignment and bit-rateestimation for variable GOP length in H.264.IEEE Trans on Circuitsand Systems for Video Technology,2006;10(16):1271—1279

[5]余成伟,陆建华,郑君里.基于场景切换的H.264码率控制技术.清华大学学报(自然科学版),2007;7(47):1133—1136

[6] Lee J,Dickinson B W.Temporally adaptive motion interpolation ex-ploiting temporal masking in visual perception.IEEE Trans on ImageProcess,1994;3(5):513—526

[7] JM reference software version 12.2.http://iphome.hhi.de/sue-hring/tml/.2007—8

视频场景下的液晶低功耗设计 篇2

随着大屏智能手机等移动终端设备的发展, 其能耗也越来越大。移动电源的出现虽然能缓解大屏手机等移动设备的续航问题, 但是降低其功耗才是根本的解决办法。目前已经有一部分算法[1-2]是通过降低背光, 提高图像像素来降低移动设备的功耗。但是这一部分算法需要对每一帧图像进行处理, 这无疑增加CPU的负担, 过于复杂的处理算法还可能会影响到设备系统的运行流畅性, 特别是在运行游戏应用或者视频应用的场景下。因此, 在视频或者游戏场景下, CPU的计算量就变得不可忽略了。在这些场景下, 相邻数帧的图像变化是不大的, 为此, 可以以上一帧所计算出来的参数值用于下一帧图像帧, 这样就能在保证降低屏幕功耗的同时降低计算量。

基本原理

低功耗设计原理

移动终端设备的显示子系统发光原理主要是背光源产生一定亮度的光强, 然后通过像素点控制液晶的透过率, 使得每个像素点上产生特定亮度的亮度, 用L表示用户实际看到的光强, 背光源的光强为B, 某个像素点的值为x, 透过率是与像素点值成正比的, 记为f (x) , 那么显示系统的发光强度公式可表示为:

低功耗的设计主要是通过降低背光a倍, 那么就该增加每个像素点为原来的a倍, 即用公式表达为:

系数a主要是由每一副图像内容来动态确定, 原则主要是要保证图像质量在人眼可接受的范围内。

视频场景下低功耗

在视频场景下, 每25帧的图像变化是不大的, 为了节省计算量, 该25帧可以采用相同的系数a, 这样在保证降低显示系统功耗的同时有效地降低了CPU的计算量。流程图如图1所示。

根据以上的流程框图, 在每25帧图像数据中仅仅计算了一次的背光降低系数a, 计算量得到了极大的缩减, 同时, 由于是处于视频场景下, 25帧的图像内容是相差不大的, 因此采用同一个背光降低系数不仅高效而且也是有效的。

工作流程

整个算法的工作流程如下:

读取第一帧的图像数据, 并设置计数器count值为1;

根据图像内容计算出背光降低系数a, 并调节背光和图像内容;

当count值不大于25时, 采用原来的系数a调整接下来的图像和背光;

当count大于25时, 重新根据图像内容计算背光降低系数a, 并重置计数器count的值;

重复B~D的操作。

结语

本文在已有低功耗算法的基础上, 针对特定的视频场景, 提出了一种在视频场景下的低功耗技术, 在保证降低整机功耗的同时, 基本不增加CPU的处理负担, 在视频场景下保证了系统的流畅性和低功耗。

视频场景检测 篇3

大规模、复杂虚拟场景的建模和绘制是计算机图形学最为重要的研究问题之一[1]。随着三维扫描和几何建模技术的快速发展,构建高度复杂的三维场景已经变得相对容易,可以包含几亿甚至几十亿个三角形和高分辨率纹理。若不采用合适的处理技术,即使利用最新的图形处理器也无法在普通PC上实现上述数据集的交互式绘制。虽然可利用模型简化和可见性剔除技术来加速虚拟场景绘制,但采用这类技术的实时绘制系统主要侧重于速度,它们通过牺牲画面质量来实现快速绘制[1]。

由于图形硬件本身的固有限制,对于大数据集仍无法实现复杂的光线跟踪、辐射度、光子跟踪等全局光照明绘制算法。为此,可采用基于图像的绘制IBR技术[2]来解决高质量实时图形绘制问题。基于图像的绘制技术以给定图像/视频序列作为输入,利用采样数据来重建全光函数的连续表示,然后通过重采样得到目标视点的图像[3]。由于可使用三维造型和绘制软件来离线绘制高质量的输入图像,IBR系统可取得比传统实时绘制系统更好的视觉效果。

现有IBR技术,如全光建模[3]、全光拼接[4]、同心拼图[2,5]等,主要面向真实场景。这些IBR技术采用的场景表示、绘制算法和结果图像质量都取决于获取的几何信息的精确性。它们采用计算机视觉算法来计算相机参数和图像之间的对应关系或者场景几何模型,视觉算法的不稳定性限制了它们的应用场合。另外,它们使用的绘制算法也没有利用图形处理器(GPU)的可编程性来提高系统性能[6]。

虚拟场景与真实场景相比具有自身的特点。对于给定的虚拟场景,通过交互设定虚拟相机的运动路径,可以非常方便地获取全光函数的多个样本。另外,利用三维造型和动画软件,如3DS Max、Maya等,不仅可以得到绘制图像的颜色信息,还可以得到Z-Buffer中保存的深度值,这些深度值给出了虚拟场景在相机位置的局部精确几何信息[7]。利用获取的全光函数样本和Z-Buffer中的深度值,可以设计多幅深度图像混合绘制技术来生成目标画面[8]。虽然可将面向真实场景的IBR技术直接应用于虚拟场景,但由于它们的场景表示和绘制算法没有充分利用虚拟场景自身的特点,因此,它们并不是虚拟场景IBR的最合适方法。

本文研究面向虚拟场景的IBR技术来克服现有方法的不足,提出以深度全景视频DPV(Depth Panoramic Video)作为场景表示的基本单元,通过多段深度全景视频组成的深度全景视频网络来表示虚拟场景的漫游区域,它允许视点在漫游平面的封闭区域内连续运动。绘制算法根据目标视点参数来计算深度全景视频环中对目标图像有贡献的候选区域,综合利用GPU的强大处理能力和浮点格式的绘制目标[6],以及多幅深度图像混合绘制技术对候选区域进行绘制来生成目标图像。

1 深度全景视频

1.1 基本表示

深度全景视频是深度全景图的动画序列。深度全景图是全景图的一种扩展,它由全景图、相机参数和全景深度图三部分组成。全景深度图记录了全景图的像素所对应的场景深度值,深度值可通过三维软件或者三维重建算法获得。相机参数和全景深度图给出了场景在相机位置的局部精确几何信息。全光函数的原始描述并不涉及几何信息[3],包含几何信息的描述方法可看作它的一种扩展。几何信息用于绘制过程中全光函数的重建,它并不改变全光函数的维数。

深度全景图包含了相机位置沿空间所有方向的可见信息,可看作全光函数的一个样本,需两个参数来描述它所包含的光线,即:

其中(θ,ϕ)描述了光线方向。深度全景视频可看作一种三维全光函数,需三个参数来描述它所包含的光线。即:

其中t表示光线所在的深度全景图在图像序列中的编号。

选择立方体的外表面作为投影面来记录全光函数的样本。使用该投影表面,深度全景图可分解为具有公共投影中心的六幅深度图像,其中每幅图像对应于立方体的一个面。相应地,深度全景视频可分解为六段深度图像序列。

1.2 复合表示

对于大部分虚拟场景漫游应用,人眼一般局限于某个平面/高度场上[2,4,5],我们称该平面/高度场为漫游平面。某一时刻,漫游平面发出的光线需四个参数来表示,即:

其中(u,v)表示光线在漫游平面上的参数坐标,(θ,ϕ)描述了光线方向。

由于深度全景视频只是一种三维全光函数,为采集漫游平面发出的光线,必须使用多段深度全景视频。这些深度全景视频在漫游平面上相互交错,形成网状结构,我们称它为深度全景视频网络。图1给出了一个深度全景视频网络。图1(a)为某个虚拟场景的俯视图,我们对方框内的区域进行光线采集。图1(b)中粗线条表示深度全景视频的相机路径。

由图1可以看出,多条深度全景视频可围成具有一定面积的封闭区域,我们将构成区域边界的所有深度全景视频称为深度全景视频环。深度全景视频环是深度全景视频复合结构中最简单的一种,深度全景视频网络由多个深度全景视频环彼此连接构成。

理想的漫游系统允许用户在三维空间中自由移动,描述三维空间中的光线需五个参数[3],即:

其中(Vx,Vy,Vz)表示光线在三维空间中的位置,(θ,ϕ)描述了光线方向。

我们采用空间分层方法来描述自由空间中的光线。该方法以某个坐标分量(比如说Vz)为基准对空间进行分层,然后在每一层以另外两个坐标分量(Vx,Vy)作为光线在漫游平面上的参数坐标。该方法实质是将光线的空间位置(Vx,Vy,Vz)转化为(n,u,v)三元组,其中n表示光线所在层的编号,(u,v)为光线在漫游平面上的参数坐标。采用空间分层方法,可以在每一层采集深度全景视频网络,从而表示整个虚拟场景。

2 虚拟场景绘制

深度全景视频环是虚拟场景绘制的基本单元。深度全景视频环采集了从漫游平面某个封闭区域边界出发的所有光线。对于给定深度全景视频环内的任意视点,首先根据目标视点参数(位置、朝向和视域范围)来确定深度全景视频环中哪些深度全景图在目标视点可见,以及这些可见的深度全景图中对目标图像有贡献的区域(简为候选区域)。然后,计算候选区域内每一像素的混合权。混合权描述了像素对目标图像的贡献比例[9,10],通过权函数来计算。权函数的选择可根据具体应用场合而定,通过设计不同的权函数可以控制目标图像的绘制质量。最后,利用深度图像三维变换技术把所有对目标图像有贡献的候选区域warping到目标视点,并使用多幅深度图像混合绘制技术来绘制目标画面[8]。

对于深度全景视频网络,首先确定视点所在的深度全景视频环,然后利用上述绘制技术来生成目标视点画面。由于绘制算法使用的三维变换方程描述了视点之间的透视变换关系,视点可自然地从一个深度全景视频环过渡到另一个深度全景视频环。利用这种分而治之的策略,可实现视点在深度全景视频网络内自由运动。

综上所述,虚拟场景绘制的基本过程如下:

Step1.在深度全景视频网络中,根据视点所在虚拟场景中的位置(u, v)和高度h确定其所在的深度全景视频环。

Step2.利用深度全景视频环绘制技术生成目标视点画面。

2.1 深度全景视频环绘制

深度全景视频环采集了从漫游平面某个封闭区域边界出发的所有光线,可以利用这些采集的光线来生成视频环内任意视点位置的目标图像。绘制算法将候选区域重建为三角形网格,然后利用三维变换将它们warping到目标视点[8],并将绘制的结果通过视点空间Z偏移和浮点混合技术来生成目标图像。深度全景视频环绘制的基本过程如下:

2.2 候选区域计算

对于给定的深度全景视频环,绘制算法的目标是利用视频环中采集的光线来生成它内部区域任意视点的目标图像。将目标图像的每一个像素看作一根光线(称为目标光线),计算目标光线的颜色等价于对采集的若干光线的颜色进行插值。几何代理是场景几何信息的一种近似表示[10],大部分IBR技术都使用几何代理计算插值光线,从而提高系统的绘制质量。

深度全景图中的全景深度图包含了全景图中每一像素的深度信息,利用相机参数和全景深度图,可以重建虚拟场景在相机位置的局部精确几何。因此,本文将全景深度图作为场景的几何代理。利用全景深度图作为场景的局部几何代理,与传统方法不同,本文绘制算法不需显式地查找每根目标光线所需的插值光线,而是根据视点参数来确定每个全光样本对目标图像有贡献的区域,然后将这些候选区域warping到目标视点,并利用多幅深度图像混合绘制技术来生成目标图像。

对于给定深度全景视频环,绘制算法需根据视点参数来确定深度全景视频环中哪些深度全景图在目标视点可见以及这些可见的深度全景图中对目标图像有贡献的区域。图2说明如何完成这一任务,其中矩形表示深度全景视频环的相机路径,三角形表示目标相机,圆和圆心发出的一簇光线表示一幅深度全景图。不失一般性,使用相机路径上相邻的三幅深度全景图{Si}i=1,2,3来说明问题。

令{Li}i=1,2,3表示从目标相机D的投影中心O出发,通过深度全景图{Si}i=1,2,3的相机投影中心{Oi}i=1,2,3的射线集合,{Pi}i=1,2,3为{Li}i=1,2,3与目标相机成像平面I的交点集合。若Li在目标相机D的视域范围内,则认为深度全景图Si在目标视点可见,它会对目标画面有所贡献。下面讨论如何确定深度全景图Si中对目标图像有贡献的区域。

如图2(a)(b)所示,以深度全景图S1的投影中心O1为始点作平行于L2的射线L′2;以深度全景图S2投影中心O2为始点作分别平行于L1和L3的射线L′1和L′3。

对于成像平面I上{Pi}i=1,2,3三点,它们对应的目标光线{Li}i=1,2,3通过深度全景图{Si}i=1,2,3的相机中心{Oi}i=1,2,3,可用{Si}i=1,2,3中与{Li}i=1,2,3方向相同的光线颜色作为{Pi}i=1,2,3的颜色。对于P1与P2之间的像素所对应的目标光线L,需对S1和S2中与L方向相同的两根光线进行插值来计算L的颜色值。利用上述插值策略,参考图2(a)不难看出,绘制P1与P2之间的像素只需S1中位于射线L1与L′2夹角范围内的光线和S2中位于射线L′1与L2夹角范围内的光线。同理,可得到P2与P3之间的像素绘制时,S2和S3中对目标光线有贡献的区域。对于深度全景图S2来说,它对目标图像有贡献的区域由两部分组成,可将它们合并为一个更大的区域(图2(b)中L′1与L′3的夹角范围)。

上述搜索策略假设场景在无穷远处,基于该假设得到的区域是候选区域的最乐观的估计。实际应用中,若场景中物体距离虚拟相机较近,上述区域估算方法将出现重建盲区。通过扩大候选区域面积来减小重建盲区面积,一个简单方法是使用相机路径上与它编号距离为r(r≥2)的全光样本信息。

综上所述,若使用与深度全景图编号距离为r(r≥2)的全光样本作为搜索策略,估算目标图像候选区域基本过程如下:

2.3 混合权计算

根据光线插值策略,候选区域中每一像素对目标图像的贡献均不相同,用混合权来描述像素对目标图像的贡献比例。图3以深度全景图S2为例(参看图2),说明如何计算候选区域中像素的混合权。

图3中,L2表示从目标相机投影中心O出发,通过S2的相机投影中心O2的射线(参看图2),空心圆表示候选区域的像素。根据极点一致性准则[10],L2所对应的候选区域像素的混合权应最大,候选区域边界所对应像素的混合权最小,它们之间像素的混合权应从最大值连续变化到最小值。混合权的计算以图像列为基本单元,候选区域中位于同一列的所有像素具有相同的混合权。

下面以一次函数作为权函数 (图3中w3)来说明如何计算像素的混合权。设L2右侧区域中像素qi所对应的光线与L2的夹角为angle(i),区域右侧边界与L2的夹角为angleright,则像素点qi的混合权为:

L2左侧区域的像素混合权可同理计算。

权函数的选择可根据具体应用场合而定,通过设计不同的权函数可以控制目标图像的绘制质量[9,10]。GPU支持的浮点混合技术[6],允许使用更一般的权函数,如截断的sinc函数(图3中w1)、高斯函数(图3中w2)来控制重建结果。

综上所述,若以一次函数作为权函数,则混合权算法的实现方法如下:

3 实验结果

3.1 数据说明

利用3DS Max软件,依照1.1节介绍的方法从浙江大学新校区规划场景中采集深度全景视频环。该场景包含了大量三维几何和精细纹理,在硬盘上占用超过1GB的存储空间。数据采集时,每台虚拟相机生成深度图像的分辨率为512×512。以矩形的每条边作为相机路径,均匀采集50幅深度全景图,深度全景视频环一共包含200幅深度全景图,整个采集过程大约需要8小时。使用脚本程序从3DS Max软件的绘制结果中提取颜色信息、深度信息和相机参数。整个数据获取阶段需要12小时左右。

3.2 实验结果

我们在一台配备NVIDIA GeForce GTX260图形卡、Intel i7-920四核CPU的PC上实现了一个浙江大学新校区的漫游系统。该系统根据当前视点信息,使用2.1节介绍的绘制流程来生成目标图像,它允许视点在深度全景视频环的内部区域作连续运动。用一张表面格式为D3DFMT_A16B16G16R16F的浮点纹理作为绘制目标来保存混合绘制结果。将该纹理映射到一个四边形上,通过绘制带纹理的四边形来显示最终画面(分辨率为512×512)。绘制过程中目标相机的视域(FOV)保持不变,始终为70度。

系统绘制一帧所需的时间随目标相机视域内候选区域的变化而变化。若相机运动过快,候选区域缓存命中率会急剧降低,这时系统性能最差,平均速度为每秒25帧左右,如图4(a)。在大多数运动模式下,缓存的使用会极大地提高系统的响应速度,系统最大绘制速度为每秒160帧左右,如图4(b)。

图5给出场景的几个典型绘制结果。图5(a)给出视点在两个不同位置得到的绘制图像。由于三维warping可以描述视点之间的透视变换关系,建筑物本身的直线特征得到了保持。图5(b)左图中临水建筑具有四根柱子,由于视点位置改变会引起物体之间遮挡关系发生变化,在右图中只能观察到三根,其中一根被遮挡。本文提出的绘制技术不仅可处理遮挡变化,还可生成与视点相关的光照效果。比较图5(b)中左右两幅图可发现视点变化引起的水面高光区域的改变,浮点纹理混合技术使重建的高光区域非常平滑。

4 总结与展望

本文提出了一种面向虚拟场景的深度全景视频绘制技术,以深度全景视频作为场景表示的基本单元,以深度全景视频环作为场景绘制的基本单元。通过多段深度全景视频组成的深度全景视频网络来表示虚拟场景的漫游区域,它允许视点在漫游平面的封闭区域内连续运动。该技术综合利用GPU的强大处理能力和浮点格式的绘制目标,以及多幅深度图像混合绘制技术对候选区域进行绘制来生成目标图像。实验结果表明,本文提出的深度全景视频绘制技术可实现大规模虚拟场景高质量实时绘制。在未来,我们将研发出一套完整软件工具,支持面向虚拟场景的深度全景视频获取、压缩和网络传输的完整流程,将深度全景视频绘制技术应用于互联网,在自由视点视频、三维立体电视等应用领域获得应用。

摘要:高度复杂的三维场景通常包含几千万甚至上亿个三角形和丰富的纹理,大大超过了目前图形硬件的处理能力。传统基于几何的绘制系统通过牺牲画面质量来实现场景的快速绘制。与此不同,基于图像的绘制技术利用逼真的图像序列来生成高质量的目标画面。研究面向虚拟场景的IBR(Image-Based Rendering)技术来克服现有方法的不足,提出以深度全景视频DPV作为场景表示的基本单元,通过多段深度全景视频组成的深度全景视频网络来表示虚拟场景的漫游区域,它允许视点在漫游平面的封闭区域内连续运动。绘制算法根据目标视点参数计算深度全景视频环中对目标图像有贡献的候选区域,综合利用GPU的强大处理能力和浮点格式的绘制目标,以及多幅深度图像混合绘制技术对候选区域进行绘制来生成目标图像。实验结果表明,深度全景视频绘制技术可实现大规模虚拟场景高质量实时绘制。

关键词:虚拟场景,基于图像的绘制,深度全景视频

参考文献

[1] Moller T A,Haines E,Hoffman N.Real-Time Rendering[M].3rd ed.AK Peters,2008.

[2]Shum H Y,Chan S C,Kang S B.Image-Based Rendering[R].Spring-er,1 edition,September 28,2006.

[3] McMillan L,Bishop G.Plenoptic modeling: An image-based rendering system[C]//Computer Graphics (SIGGRAPH95),1995:39-46.

[4]Aliaga D,Carlbom I.Plenoptic stitching:a scalable method for recon-structing 3D interactive walkthroughs[C]//SIGGRAPH 2001:443450.

[5]Shum H Y,He L W.Rendering with concentric mosaics[C]//SIG-GRAPH 1999:299-306.

[6] http://www.microsoft.com/games/en-US/aboutGFW/pages/directx.aspx.

[7]http://usa.autodesk.com/adsk/servlet/pc/indexid=14898170&siteID=123112.

[8]Jiang Z,Wong T T,Bao H.Three-Dimensional Image Warping on Pro-grammable Graphics Hardware[R].Technical Report,CAD&CG Lab,Zhejiang University,TR-03-01,2003.

[9] Isaksen A,McMillan L,Gortler S.Dynamically reparameterized light fields[C]//SIGGRAPH 2000:297-306.

视频场景检测 篇4

现在的智能监控系统中,多采用一个或多个固定的CCD摄像机对某个特定的场景进行拍摄监控,但是普通CCD拍摄到的视场角度十分有限,只能够拍摄到摄像机前方有限的范围。对于机场、码头、海滩等视场比较开阔的地方,单个摄像机往往无法实现全区域覆盖,获得大视野场景,从而导致监控操作人员不能快速、及时、正确地判断,为安防系统留下了严重隐患。为了弥补性能上的这些不足,很多人开始利用鱼眼摄像机和广角镜头等硬件设备解决这一问题,但是这些设备价格昂贵、使用复杂,另外广角镜头的图像边缘会产生一定程度的畸变。所以更通用的做法是通过云台的旋转来改变摄像机的拍摄角度,观测四周,但是这在某一时刻只能拍摄到局部的物体,无法显示全景。

图像的配准与拼接在解决上述问题方面有着广泛的应用,本文针对上述问题,提出了一种有效的图像拼接方法,通过对多幅图片进行特征提取、兴趣点匹配剔除、投影坐标线性变换、图像配准插值等一系列操作,将多幅图片拼接过程中的畸变降低,满足对大场景图像呈现的需求。

1 特征点提取原理

特征点提取是图像匹配拼接过程中的一个重要环节,提取的特征向量用于后续的图像配准操作。目前,主流的特征点提取算子主要有SIFT(Scale Invariant Feature Transform)和SURF(Speeded Up Robust Features)两种。SURF算法是在SIFT算法的基础上,使用了近似Hessian矩阵检测兴趣点,并使用积分图像[1,2]大幅减少了运算量。

SURF算法的核心是构建Hessian矩阵,为了方便运算,假设函数f(z, y),Hessian矩阵H是由函数的偏导数组成:

undefined

H矩阵判别式为:

undefined

判别式的值是H矩阵的特征值,可以利用判定结果的符号将所有点分类,根据判别式取值的正负,来判别该点是或不是极值点。在SURF算法中,用图像像素l(x,y)代替函数值f(x,y),选用二阶标准高斯函数作为滤波器,通过特定核间的卷积计算二阶偏导数,从而计算出H矩阵:

undefined

其中,Lxx(x,σ)表示高斯二阶偏导在X处与图像I的卷积。Lxy(x,σ)、Lyy(x,σ)具有相似的含义。

通过这种方法,可以为图像中每个像素计算出其H行列式的决定值,并用这个值来判别特征点。为方便应用,Herbert Bay直接用框状滤波器去近似高斯的二阶偏导,如图1所示。用这种近似后的卷积模板处理积分图像的好处显而易见,因为这种模板均由简单的矩阵构成,运算量独立于模板的尺寸,大大提高了运算效率。

将近似模板与图像卷积的结果用Dxx、Dxy、Dyy表示,得到近似Hessian矩阵Happrox,其行列式为:

det(Happrox)=DxxDyy-(0.9Dxy)2

图像的尺度空间是这幅图像在不同解析度下的表示,在计算视觉领域,尺度空间被象征性地表述为一个图像金字塔,其中,输入图像函数反复与高斯函数的核卷积并反复对其进行二次抽样,这种方法主要用于SIFT算法的实现,但每层图像依赖于前一层图像,并且图像需要重设尺寸,因此,这种计算方法运算量较大,而SURF算法申请增加图像核的尺寸,这也是SIFT算法与SURF算法在使用金字塔原理方面的不同。算法允许尺度空间多层图像同时被处理,不需对图像进行二次抽样,从而提高算法性能[3]。

所有小于预设极值的取值都被丢弃,增加极值使检测到的特征点数量减少,最终只有几个特征最强点会被检测出来。在三维(x,y,S)的尺度空间中,在每个3×3×3的局部区域里,进行非最大抑制,该尺度层中9个像素点之一与自身尺度层中其余8个点和在其之上之下的两个尺度层各9个点进行比较,一共26个点。选取比临近26个点的响应值都大的点为兴趣点。至此,得到了兴趣点的位置和尺度信息。

为保证旋转不变性,首先以特征点为中心,计算半径为6s(s为特征点所在的尺度值)的邻域内的点在z、y方向的Haar小波(Haar小波边长取4s)响应,并给这些响应值赋高斯权重系数,使得靠近特征点的响应贡献大,而远离特征点的响应贡献小,其次将60°范围内的响应相加以形成新的矢量,遍历整个圆形区域,选择最长矢量的方向为该特征点的主方向。这样,通过特征点逐个进行计算,得到每一个特征点的主方向,如图2所示。

为了构建描述子向量,将兴趣点方向作为该临域的y轴方向,确定一个以兴趣点为中心的正方形区域,分成4×4个字块,对每小块进行Haar小波滤波器处理,得到一个4维向量V{∑dx,∑dy,∑|dx|,∑|dy|},把4×4个字块区域的向量连接起来就得到了一个64维向量,这个向量就是描述该兴趣点的特征向量[4]。

2 投影坐标变换选择

在图像拼接的过程中,投影坐标的选择是一个很重要的环节。在两幅图像相互对应兴趣点之间完成匹配之后就可以通过对应关系估计他们之间的几何变换模型。在实际变换场景中,每当一个平面图像映射到一个弯曲的表面就会发生图像投影,反之亦然,这种现象特别常见于全景摄影,例如地球的球面可以映射到一块平坦的纸张。由于周围的整个视场可以被视为球体的表面(对于所有观测角度),需要一种能将球形投影到2D上的一种坐标变换方法。

小的视角相对容易进行投影操作,但是由于本文的应用场景属于大视角,当试图将图像映射到平面的时候,有些畸变是不可避免的。因此,每一种投影方法只能尝试避免一种类型的失真,这也是以牺牲其他失真为代价的。随着视角的增大,观测弧变得更弯曲。什么时候使用哪一种投影,很大程度上取决于投影的应用场景。常见的几种投影方法有[5]:等矩投影(equirectangular)方法、圆柱投影(cylindrical)方法、直线投影(plane)等,本文采用了柱面投影方法来进行变换,效果较好,对于图像上的一点P(x, y),在柱面图像上的对应点P(x′, y′),其投影变换公式为:

undefined

其中,undefined为拍摄焦距,θ为每张图像所占的弧度角。

3 实验结果

在本文场景中,使用相机拍摄4张同源图片(如图3所示),并保证它们在垂直方向上相差不是太大。对图片应用SURF算子,提取兴趣点,RANSAC剔除错误匹配,进行柱面坐标变化,再进行图片拼接。4幅照片中SURF特征点的数量如表1所示。

拼接后的图片如图4所示。

4 结束语

本文介绍了基于SURF算法的图像拼接方法,实现了SURF特征点提取、匹配以及选择的算法过程。通过实验,可以看出SURF算法针对图片拼接有着独特的优势,柱状坐标系的投射变换可以很好地解决多图片宽视角拼接中边缘图片拉伸畸变的问题,这对本文的大场景视频图像的拼接与合成系统的实现有特殊重要的意义。

参考文献

[1]David G Lowe.Local feature view clustering for 3D object recognition[C].IEEE Conference on Computer Vision and Pattern Recogni-tion,Kauai,Hawaii,Dec.2001:682-688.

[2]Herbert Bay,Tinne Tuytelaars,Luc Van G001.SURF:Speeded UpRobust Features[C].9th European Conference on Computer Vi-sion,Graz,Austria,ECCV,2006:404-417.

[3]Herbert Bay,Andreas Ess,Tinne Tuytelaars,et al.Speeded-UpRobust Features(SURF)[J].Computer Vision and Image Under-standing,2008,110(3):346-359.

[4]李士强.基本SURF算法的视频拼接技术研究(硕士论文)[D].浙江:浙江工商大学,2011.

视频场景检测 篇5

关键词:虚拟,演播室,制作,视频场景

1 虚拟演播室视频场景的设计原则

1.1 虚拟演播室系统概述

虚拟演播室技术是在传统色键抠像技术的基础上, 充分利用了计算机三维图形技术和视频合成技术, 跟踪摄像机的位置与参数 (现有摄像机追踪系统可分为三种:传感器、网格识别、位置探测) , 使三维虚拟场景的透视关系与前景保持一致, 经过色键合成后, 使得前景中的主持人看起来完全处于计算机所产生的三维虚拟场景中, 而且能在其中运动, 从而创造出逼真的、立体感很强的电视演播室效果, 满足了电视节目制作与播出的高时效性要求。

1.2 虚拟演播室视频场景的设计原则

1.2.1 整体性原则

在虚拟演播室中, 虚拟场景是一部电视节目或一个镜头画面的重要组成元素和主要构成方式, 在进行场景设计构思时应该融入到整体节目的创作与构思中, 它的设计应该与节目中的主体物之间建立一种有机的内在联系, 而并非简单地停留在外观造型上去孤立地看待场景的构思、设计与制作。

1.2.2 科学性原则

该原则是指进行场景设计时一定要遵循科学原理, 符合事物发展的客观规律。虽然在场景设计中, 创作者比较喜欢用超现实手法进行创意构思, 但必须保证场景中所有对象正确、准确, 符合科学逻辑。在创意构思之前, 要详细地了解使用虚拟场景的节目的播放范围和收看对象, 确保场景中不存在民族歧视、宗教歧视等不利于民族团结的元素, 特别是不能采用伪科学标志、反人类组织标志等元素。

1.2.3 艺术性原则

艺术性原则是指根据栏目或节目的要求, 以逼真的造型、丰富的材质、实时三维电视墙、动画技巧、虚拟灯光、多样的贴图等加上丰富的表现形式和手法对虚拟场景进行艺术处理, 使虚拟场景具有很强的表现力、感染力和视觉冲击力, 引起观众的兴趣, 给予观众美的享受。

1.2.4 技术性原则

精湛的技术是整体性、科学性和艺术性实现的保证, 也是虚拟场景得以实现的保证。因此, 进行场景设计时, 必须基于现有的技术力量, 量力而行。特别是在场景建模、赋材质、打灯光等方面, 一定要考虑现有的技术力量能否实现, 若不能实现, 就应修改设计方案。此外, 进行设计与开发时, 必须注意以下的技术性问题。进行设计之前, 要了解虚拟演播室所使用的摄像机的性能和特点。在场景设计中, 构思中的场景主色调、颜色、明暗对比、反差等应该适应摄像机的性能和特点。

在设计之前, 应弄清楚所设计的虚拟场景是真三维虚拟场景还是“二维半”虚拟场景。真三维虚拟场景与“二维半”虚拟场景最大区别在于系统是否实时读取场景源文件并对源文件“实时渲染”。

2 虚拟演播室视频场景的制作

2.1 摄像机的安装

调整可以使虚拟摄像机的虚拟背景和真实摄像机的前景在融合后达到同轴同点。场景定位基本完成, 由于摄像机镜头的固有差异会有一定的偏差再细调场景, 可以达到更好的效果。需要特别注意的是摄像机高度尺寸小于场景尺寸很多时, 虚拟摄像机的高度与实际摄像机的高度应保证在最小误差。因为这时在非相对镜头垂直面的景物因距离将依照近小远大的透视关系产生拉伸效果, 这种拉伸效果的误差很容易被反映出来, 影响合成效果的透视关系。

2.2 根据设计草图进行场景建设制作, 一般是由主物体开始做起,

通过主物体来确定其它场景物体的大小, 可以保证整个场景的比例关系.建成一个具有两层演播室的三维模型, 这样就为特技的实现提供了前提条件, 设计时可以考虑根据节目需要制作一些小的动画事件。主持人坐在虚拟的椅子上, 这需要制作一个蓝色的小箱子, 大小与虚拟椅子高度以及主持人所坐姿势相符, 当主持人坐上去后它将被抠掉, 同时注意阴影的构造, 这样就可以逼真模拟人与虚拟场景的完美结合, 主持人需要坐电梯上下层, 而上电梯的过程又不能忽略。

所以在制作时可以采用使场景整体的下降而电梯与主持人不动, 从而产生主持人乘坐电梯的效果, 需注意制作过程对物体、贴图、材质进行英文或拼音命名, 同时养成对场景文件所需要素打包的良好习惯, 为下步的场景转换做好准备。在场景建成后需输出VRML文件。

VRML是一种虚拟现实构造语言, VRML可以创建虚拟的建筑物、城市、山脉、飞船、星球等, 还可以在虚拟世界中添加声音、动画, 使之更加真实生动, 甚至还可以是具有和浏览者的交互性更接近于现实世界的虚拟空间。

2.3 场景建成后, 开始为所需动态物体设定动画路径, 注意不同动

画路径设定的前后顺序, 以免出现动画混乱现象, 先设定整个场景的上下动画, 为了实现人物乘电梯过程的再现, 可以通过对整个场景进行动画路径的设定 (不包括所搭乘的载体) , 那么载体不动而背景上下运动, 就会产生出犹如人搭乘着载体上下运动的效果, 然后再设定其他事件的动画路径, 这样就会使操作者使用起来很方便。

2.4 为不同的动画步骤分别存储。

一般动画物体的设定都具有动画的分解步骤, 如:电梯, 它可以分为电梯的降、开门、关门、电梯的升这四步动作, 那么要实现对动画的分别控制, 就需要利用它们的分解动作分别存储成不同的文件名, 在进入系统前把它们分别指定给相应的操作按钮, 这样操作者可以根据主持人的时间快慢分别控制。

2.5 场景转换。

一般进入虚拟系统前都需要进行一次场景的转换, 以减少文件的大小, 为了得到更小的文件 (保证画面效果的前提下) , 在转换之前还须对场景的面片数进行一次优化, 使永远看不到的多余面片删除、弧型物体的节点段数尽量减少、贴图文件不要太大, 经过优化使整个场景的面片数控制在6000~7000个之间。

2.6 场景输出。

将以上的几点工作做完之后可以进入到最后的环节, 场景的输出, 打开一个准备输出VRML文件的空间场景, 然后在file菜单中选取Export (输出) 命令, 在出现的对话框里给出准备输出的文件类型、存放路径及文件名称, 从文件类型下拉列表中选取VRML97, 在输出参数对话框中设置各项输出参数。

3 在虚拟场景的制作中以下几点应加以注意

3.1 一个好的虚拟场景必须与栏目的风格、主题和谐统一。场景制作得很精美但与栏目的风格不符, 这样的场景再好也用不了。

3.2 灵活运用多种软件。

每个软件都有设计的侧重点, 而多种软件的灵活运用恰恰可以取长补短。我们在制作虚拟场景时将3DS MAX与Photoshop联合起来使用, 用3DS MAX建场景模型、用Photoshop制作修改图片的模型的贴图从而起到了很好的效果。

3.3 场景设计时要注意人物在场景中的比例关系, 避免出现比例失调的情况。

3.4 设计前最好先画好草图, 并根据草图进行三维场景制作, 这样可以少走弯路并减少制作时间。

4 结束语

随着广播电视迈向数字化步伐的加快, 所有电视台都需要制作更多节目以提高竞争力和满足观众的要求在演播室的面积和数量增加受限的情况下, 虚拟演播室系统不失为一个较好的解决方法。同时使用虚拟和真实的演播室、可以使电视画面达到最佳视觉效果, 也将是虚拟演播室的发展趋势。

参考文献

[1]徐俭.浅议虚拟演播室及其实际应用[J].现代电视技术, 2003 (, 2) :4952.[1]徐俭.浅议虚拟演播室及其实际应用[J].现代电视技术, 2003 (, 2) :4952.

视频场景检测 篇6

视频场景分类算法是视频智能分析算法的一个重要方向,目前视频场景分类算法主要分为两类。一类是传统的基于目标跟踪的算法[1]。这类算法尝试从视频序列中提取前景目标,并进行轨迹跟踪,最后根据不同目标物体的运动轨迹来对视频场景进行分析。但是这种算法在大规模复杂场景下,由于目标遮挡严重,会受到很大的限制。为了解决这个问题,一些研究者提出了第二类算法——直接基于底层运动特征统计方法。这些典型方法采用概率主题模型,如PLSA,LDA,HDP等[2,3,4]。概率主题模型源于文本处理领域应用到视频分析中,视频底层特征当做单词,运动模式当做主题被发掘。

概率主题模型应用于视频场景分析,主要包括视频表示和建模两部分。目前大部分的研究者主要关注在建模部分[5]。而视频表示一般采用词袋(Bag of Words,BOW)方法,通过对视频特征(如光流)的量化生成,但是这些研究中对视频特征通常采用采用统一的均匀量化,对于量化的分辨力与视频词典的大小之间的关系,以及对视频场景分析的影响未作充分研究。量化分辨力过小,可能造成效率的降低,过大,可能造成视频单词的辨别力不足。

针对上述问题,本文提出了一种改进的词袋生成方法——基于统计信息的自适应非均匀量化。该方法首先基于光流的方向和位置信息进行统计去噪,在此统计结果的基础上进行自适应的最优量化,在不增加视频词典大小情况下,提高了视频单词的辨别力并利用LDA模型对复杂场景进行分级建模,最后基于模型的结果实现视频场景的分类。

1 基于自适应量化LDA模型的视频场景分类算法

本文提出的算法主要步骤为:1)对目标视频进行处理,提取出底层特征并进行自适应量化,将视频表示为BOW;2)将量化后的单词集作为LDA模型的输入,完成对视频场景的语义提取;3)对LDA模型的结果进行聚类分析,完成最终的视频场景分类。

1.1 视频特征提取及自适应量化

为了对视频场景进行分析,本文采用光流运动特征。

计算光流的算法有很多种,本文选择金字塔LK稀疏光流算法[6]。这种算法首先找出视频序列中的兴趣点,随后计算兴趣点位置的光流。由于兴趣点与其周围的像素值往往存在差异性,因此金字塔LK稀疏光流算法所计算得到的结果可信度更高;同时由于兴趣点远少于整个画面的像素总数,因此这个算法也能很好地提升整个系统的执行效率。

首先对目标视频的全部光流进行统计,如图1和图2所示,分别为光流位置和方向的统计结果。由于噪声的影响,一些固定位置和方向上的光流会一直出现。因此对统计结果进行一次预处理,即统计意义上的光流去噪,得到新的、更符合实际情况的光流统计图。图1和图2显示了预处理前后光流的位置统计分布和方向统计分布的对比情况(原图为彩色图片),图中红圈表示去掉噪声光流后,新的统计分布图将会更加符合真实的分布情况。颜色越深代表光流出现的频率越高。

完成对光流统计分布的预处理后,接下来就是根据分布结果确定量化方案。本文算法是根据给定区域内的光流分布结果对给定区域进行分割判别处理:当满足分割条件时,对给定区域进行分割。图3为量化算法的示意图。

根据光流位置统计结果,对光流位置所处的二维区域(从(0,0)到(width,height))进行分割。对光流方向所处的一维区域(0°~359°)的分割与位置分割的情况类似,不同的是分割对象为一维区域。分割得到的子区域会再次进行同样的处理过程。这样,最终得到的分割完成的不同区域就对应着不同的量化值。这一步的具体步骤为:

1) 获取初始区域。对于位置划分,初始区域为视频画面对应的整个像素矩阵;对于方向划分,初始区域为0°~359°。

2) 根据当前区域内部的位置或方向分布特性,计算得出特征值A。特征值A的计算方法后面会详述。

3) 根据当前区域的规模大小(对于位置划分,规模大小指面积大小;对于方向划分,规模大小指跨度),计算得出特征值B。特征值B的计算方法后面会详述。

4) 对比AB的值,如果满足一定的条件则对当前区域进行分割:如果是位置分割,则将当前区域等量的划分成4块;如果是方向分割,则将当前区域等量的划分成2块;同时对于每一个新生成的区域继续跳到步骤2)递归调用当前算法。如果不满足分割条件则跳过当前区域。

5) 所有区域不满足继续分割的条件,则分割完成,程序结束。

特征值AB的定义是这个算法的关键所在。

在本算法中,对于位置分割,特征值A的定义为A=mΝmaxf。其中m为当前区域的分布平均值,Nmax为初始区域的光流出现次数的最大值,即分布的最大值;f为调节参数。本算法里f取4,这样算得的特征值A为0~4的整数。

如表1所示,length决定了特征值B的值,其中length代表区域的长度(或者角度跨度)。

特征值A代表了当前区域需要被关注的程度,特征值B代表了当前区域的分割程度。最终分割得到的结果如图4所示。由图中可以看到,对比真实的帧图片,运动发生比较频繁的区域,区域会被分割得更细,从而尽最大可能地保存重要的信息。在运动发生相对不频繁的地方,区域会被分割得较粗。

方向分割得思路基本与位置分割一致,不同的是位置分割是操作二维数据,方向分割是操作一维数据。最终方向分割的结果如图5所示。可以看到,在方向分布较密集的地方分割得更细,使得信息量得到最大程度的保留。

1.2 基于LDA模型的视频语义提取

LDA[3]模型是一种生成式模型,最初是用在文本分类和语言处理上的算法。在这个模型里,经常在文档里同时出现的单词集合会被归类到一个主题下。LDA模型的使用意义就是找出单词集合的潜在主题分布,从而对文档进行分类。接下来本文会简单介绍如何将LDA模型用于视频分析算法。

假设一段视频序列DM个视频片段的集合,即D={C1,C2,…,CM}。其中每个视频片段C都是量化后的底层特征集合BOW,即C={w1,w2,…,wN}。视频片段里每个元素w对应一个出现过的视频单词。词典是所有可能出现的单词种类的集合,词典的维度为V,V的数值决定于提取的底层特征种类。LDA模型假设一个完整的视频包含K个主题,K的值是已知的。每一个主题可以看作在V个不同的单词上的多项分布。LDA模型是一个三级贝叶斯模型,对于一个视频D其生成过程如下:

1) 对每个主题zk∈{z1,z2,…,zK},选择一个单词主题分布φkDir(β)。

2) 对于每个视频片段cm∈{c1,c2,…,cM},选择θDir(α)。

3) 对于视频片段cm中的每个单词wn∈{w1,w2,…,wN}:

(1) 选择一个主题znMulti(θm);

(2) 选择一个视频单词wnMulti(φk)。

其中,α,β是Dirichlet分布的参数。θ代表了一个视频片段中不同的主题的混合比例。φ是一个多项式分布的集合,可以用一个K×V的矩阵来表示,其中K是主题的种类,即视频中简单行为的个数,V是单词的种类即词典的维度。其中的每一行代表了每个视频单词在一个特定主题下的出现概率。LDA图模型如图6所示。

对视频序列的LDA建模过程,即一个降维过程,根据获取的底层视频特征,即单词的集合,反推得到φθ。其中,如前文所述,θ是一个k维向量,代表k个主题的出现概率。

为了验证自适应量化算法的有效性,本文将找出每个θ中出现概率最大的主题,并将该主题标定为当前视频片段的主导主题(dorminant topic),完成视频场景的分类。

2 试验结果

本算法测试所使用的视频序列来自QMUL数据集,名称为junction,其分辨力为360×288,帧率为30 f/s(帧/秒)。本文截取了从中截取了一段时长10 min的视频作为测试序列,将其划分为每25帧为1个视频片段,共有720个视频片段。该视频的主要场景是一个十字路口,视频中的运动事件以车辆运动为主。大致上可以将视频分为5个场景,分别是纵向车辆行驶、车辆左行、车辆右行、车辆由中间驶往两边和车辆静止。在LDA模型部分,本算法使用的主题种类设置为6。

图7所示为基于自适应量化LDA模型的视频场景分类结果(原图为彩色图片)。其中带有颜色的点为当前事件的典型光流,点的位置即为光流的位置,点的颜色对应光流的方向,图中不同颜色扇形组成的圆所示。图7a~图7e分别代表上面所说的5个典型的视频场景。

为了对比自适应量化和普通量化对视频场景分类结果的影响,对同一视频序列分别进行了不同的位置分割块量化,包括2×2,4×4,8×8,16×16,32×32,64×64。其中方向均量化为4个方向。将所有的结果包括自适应量化的结果和ground truth进行了对比。图7中的数字即代表了不同情况下的当前事件类型编号,从左到右分别是:自适应量化,2×2,4×4,8×8,16×16,32×32,64×64,ground truth。由此可见,采用自适应量化可以准确识别出不同的视频场景类型。

图8显示了对整个视频序列进行测试的结果。此外,对实验的最终结果进行了统计,表2表示了不同量化方案下,视频场景分类的错误率及词典大小对比。由此可见,采用自适应量化方案能够非常显著的减少视频场景分类出错的概率,提升算法性能。同时,采用自适应量化方案能够在很大程度上减少LDA模型的输入数据的规模,有效降低算法的时空复杂度。

图9的两幅图分别表示了两种情况下,采用自适应量化方案,可实现对场景的正确分类,而其他的均匀量化算法均失败的情况。

3 结论

传统的基于特征提取的视频分析算法往往更关注对算法的分类模型部分的改进和创新,从而会忽略算法的其他方面。本文针对这一点,对此类算法的量化部分进行了改进,提出了一种自适应量化方案。传统的量化方案是直接对光流的位置和方向进行固定的均匀量化。而本文所提到的量化方案则是基于视频的光流预统计,分析其特性后按照关注程度对位置和方向进行非均匀的自适应量化。在自适应量化后,本文使用了LDA模型对量化后的单词集进行建模,并使用KL距离完成最终的场景分类。试验表明,与传统量化算法相比,基于自适应量化的算法不仅可以提高场景分类的准确度,同时可以有效减少视频词典的大小,提高算法的效率。

参考文献

[1]SHERRAH J,RISTIC B,REDDING N J.Particle filter to track multiple peo-ple for visual surveillance[J].Computer Vision,IET,2011,5(4):192-200.

[2]NIU Lingfeng,SHI Yong.Semi-supervised PLSA for document clustering[C]//2010 IEEE International Conference on Data Mining Workshops(ICDMW).Sydney,Australia:[s.n.],2010:1196-1203.

[3]FAN Bin,LEI Zhen,LI S Z.Normalized LDA for semi-supervised learn-ing[C]//Proc.IEEE International Conference on Automatic Face&Gesture Recognition,2008.[S.l.]:IEEE Press,2008:1-6.

[4]WANG Xiaogang,MA Xiaoxu,GRIMSON W E L.Unsupervised activityperception in crowded and complicated scenes using hierarchical bayesianmodels[J].IEEE Transactions on Pattern Analysis and Machine Intelli-gence,2009,31(3):539-555.

[5]JIANG Jing.Modeling syntactic structures of topics with a nested HMM-LDA[C]//Proc.Ninth IEEE International Conference on Data Mining,2009.[S.l.]:IEEE Press,2009:824-829.

交通场景中多目标的检测与跟踪 篇7

目前,以数字图像处理技术为核心的视频监视系统[1]越来越广泛地应用到交通监管中,他利用摄像机来获取图像,由计算机完成对运动目标的自动检测,如果车辆交通违规时,自动发出预警,记录全程违章视频,这在很大程度上减轻了监控人员的劳动强度,克服可能的人为失误,而且节省大量存储空间,使存储的数据更为有效,为交通违规的后续处理提供了客观依据。

运动目标分割是实现交通场景下车辆检测与跟踪的前提。常用的分割方法可以分为背景差分法、帧间差分法和基于光流的分割方法等[2,3]。基于光流的分割方法运算复杂度较大且对噪声敏感,因而常见的适合交通场景下分割运动目标的方法主要使用前面两种。使用基于帧差的算法进行目标检测,当场景中运动目标没有显著运动时,往往会在目标检测时留下大面积未被检测到的区域,而这些区域本应属于目标。本文中,考虑到交通监控中使用固定摄像头,采用自适应的背景差分法实现运动目标的分割。

视频图像中运动目标的跟踪是智能监控系统中重要的一部分,也是图像理解重要的一个环节。Stauffer提出了自适应混合高斯模型[4],通过匹配目标的位置、大小、形状和颜色等特性,建立运动目标与前景目标间的对应关系实现对目标的跟踪。这种方法往往可以得到较为满意、精确的跟踪结果,但是计算复杂度较大。文献[5,6]提出了通过轨迹预测并使用跟踪窗口对多目标进行跟踪,当目标数达到4个以上后很难保证实时性。本文考虑到交通场景中目标运动的特性,介绍了一种实时简单有效的多目标跟踪综合方法——改进的最近邻法(Improved Nearest Neighbor,INN),既保证了一定的跟踪精度,又满足了实时性要求,达到了预期的效果。该算法框图如图1所示。

2 目标检测

2.1 背景估算

通常实时监控状态下很难获得不含运动目标的理想背景图像,为此,本文采用一种基于高斯统计模型的背景图像估计算法。该算法由背景图像的初始化和自适应更新两部分组成。

在背景图像的初始化算法中,采用前N帧图像,计算视频序列图像每一象素的平均亮度μ0(x,y),并计算在前N帧内的每一象素亮度的方差δundefined(x,y),以此来组成初始的背景估计图像。这里Bn表示背景图像,In表示视频图像,n表示帧数。

undefined

式(1)中:

undefined

当背景估计图像的初始化完成后,随着新图像帧的到来,需要使用下列公式不断自适应地更新背景图像参数,得到更新后的背景估计图像为Bn = [μn,δn2 ],式中:

undefined

其中α为更新系数,为0~1之间的一个常数。

2.2 运动区域的提取

当完成背景图像的估计后,下一个重要环节是对当前帧图像进行运动检测。首先,利用背景估计图像与当前帧图像的“差”进行变化检测,以判断是否存在运动目标。采用的检测公式如下:

undefined

式中,Mn是一个二值掩模图像,值为255的点表示运动点,值为0的点表示背景点;T是一个用来判断、检测运动点的重要参数,阈值范围一般取在30~50之间,其值太大会产生漏检,太小则会造成误检,具体数值应根据实际视频图像,通过实验确定。本文的阈值取在36。后续的研究将会考虑在象素估值的基础上实现自适应调节。

得到运动区域之后,就可以对背景图像进行自适应更新。对背景图像的更新是通过式(7)完成的:

undefined

其中:Bn中各个参数的更新见2.1节。由式(7)可以看出,只有在非运动区域,背景模型才进行更新,而更新是通过取视频图像序列的加权平均值完成的。

在差分后的二值化的图像Mn中,运动目标的象素往往缺乏整体的连续性,本文采用数学形态学操作和降低分辨率的方法,提取出连续的运动区域。

首先对Mn进行垂直方向的膨胀操作,得到图像Dn,这样弥合了运动目标水平方向大部分的小裂缝。然后降低Dn的分辨率得到图像Rn,由于本文中实验采用的视频帧的分辨率为352×288,因此这里把Dn分割为8×8的小格,如果某一小格象素值为255的象素个数占到一半以上,则该小格的象素为255,否则为0。最后对Rn进行垂直方向的闭操作,实验结果如图2所示。

从实验结果可以看出,由于摄像机的抖动、绿化带风吹等原因导致二值化图像(c)出现一些噪声。由于汽车车身某些颜色与背景相似,导致(c)中运动目标区域象素不连续或者出现空洞。经过膨胀操作以后,可以看到(d)运动区域的连续性得到很大改观,同时对噪声也进行了放大。通过(e)降低分辨率后,噪声得到了很大程度的抑制,而且运动区域基本连通,同时也消除了空洞。最后经过垂直方向的闭运算之后,噪声基本上被消除。

运动区域提取出来之后,就可以对运动目标进行定位了。

2.3 运动目标的定位

在进行目标定位之前,必须进行连通区操作,标记不同的运动目标。连通操作一般用迭代的区域生长方法,该方法速度慢,内存消耗大。本文采用一种仅使用一次扫描二值图像的方法标记运动目标。

二值图像任意一行中的直线用数据结构为:

struct tagLine{

long m_lRow;

long m_lColumnHead;

long m_lColumnTail;

tagLine* m_pNext;}

如果相邻两行的直线Line1和Line2八邻域连通,则必须满足以下关系:

Line1.m_lColumnTail+1≥Line2.m_lColumnHead

Line2.m_lColumnTail+1≥Line1.m_lColumnHead

如果上两式都取为>,则表示四邻域连通。

通过逐行扫描,可以将所有连通的直线连成链表,这样就得到了连通区域的信息。通过这些信息就可以方便地计算出各个运动目标的质心、面积、周长,用于目标的分类。

一个运动目标可以看作一个连通区域(Connected Region,CR),用下面公式来获取第一个CR的质心坐标C(XCR,YCR):

undefined

其中B(x,y)是坐标为(x,y)的象素的二值灰度,而分母的值即为目标的面积。

2.4 运动目标的分类

得到连通区域的信息以后,就可以对运动目标进行分类,分类的目的在于区分出汽车和行人,因为只需对汽车进行跟踪。

在交通道路上,特别是有设置监视的路口,通常行人和汽车行进的速度都不是很快,因此,我们不能从速度上来判断行人和汽车。为了对目标进行实时的分类,我们必须用一种计算简单、合理有效的分类机制。我们仔细分析行人和汽车的基本特征,提出了紧密度的概念:undefined,因为,人的形体较小但外形复杂,因此他的紧密度较小,但汽车的形体较大,外形简单,因此他的紧密度较大。通过对检测到的大量样本进行计算,可以大概估计出车辆和行人的紧密度边界阈值K,然后将其作为分类的标准。若运动目标的紧密度大于此边界阈值K,则被判为是汽车,否则被判为行人。目标周长的计算见文献[7]。

目标分类完成之后,就可以对目标进行跟踪,并判断其运动轨迹。

3 多目标跟踪

本文中采用改进的最近邻法对多运动目标进匹配和跟踪,这种方法适合交通场景中目标数的动态变化。

3.1 改进的最近邻法

最近邻法是考虑待跟踪目标与下一帧每个目标质心的欧氏距离,距离最小的两个目标认为是同一个目标。

本文中使用改进的最近邻法,除了满足距离最小以外,还要满足最小的距离小于某一个阈值才判断为同一个目标。

改进的最近邻法步骤如下:

(1) 设有K个样本,全部作为初始的模式,记为S1(1),S2(1),…,Sk(1)。

(2) 计算新的样本到K个模式的欧氏距离,并按最邻近规则进行匹配。

设:

undefined

若D

若D≥Tl,则 X作为一个新的模式Sk+1(2)。

(3) 删除第二步中没有得到更新的模式。

(4) 重复步骤(2)和(3),直到程序结束。

3.2 目标跟踪实现

实现步骤如下:

(1) 读入第一帧图像进行目标检测,把K个目标的质心坐标(模式)保存到listInit和listMatched中,其中列表listInit中保存的为进入摄像机镜头的汽车的初始坐标,列表listMatched保存的为当前帧中得到匹配的目标的坐标。

(2) 读入下一帧图像进行目标检测,把N个目标的质心坐标(样本)保存到listCurrent中,进行模式识别,计算listMatched中各个类别和当前各个样本的欧氏距离,若Si与Xj欧氏距离最小并且小于某一个阈值Tl,则表明Xj属于Si,并用Xj更新Si,保存在listMatched中,这里Tl为相邻帧间汽车运动的最大距离;否则表明当前帧中已无Si,即汽车Si已经驶出场景,此时根据listMatched每次记录的值,判定Si运动轨迹,并在listInit和listMatched中删除该车的信息。

(3) 若所有的Si都已匹配结束,还有新的样本Xl,则表明Xl为新进入场景的汽车,把他加入到listInit和listMatched中,作为新的类别。

(4) 重复步骤(2)和(3),直到读完所有帧。

4 实验结果和结论

实验使用的视频序列分辨率为352×288,帧率为每秒15帧,T=36,Tl=10。图3给出了典型的几幅运动目标检测结果,图中红色方框内为使用本文提出方法检测的目标的邻接矩形的结果,显然从图可以看出本文的方法较精确地检测出目标的邻接矩形。同时,表1中给出了使用INN跟踪多辆汽车的坐标数据。

由表1可知,从16帧到24帧,目标原始坐标个数由2个变为3个,表明场景中有新的汽车进入;从44帧到52帧,又增加一个目标;从52帧到54帧,有汽车驶出场景,此时根据目标从进入场景到出去之前的坐标序列计算运动目标的轨迹,如图3中的(f),在目标即将离开场景时,判断其运动轨迹为右拐。若其轨迹为违章,则记录该帧之前一定数量的帧,合成到一个视频文件中,这样就大大减少了存储空间和监控人员的工作强度。

本算法采用VC++6.0实现,跟踪在降低分别率的基础上进行,大大减少了计算量,并且无需对每帧数据都进行处理,实验中在相邻两帧之间进行跟踪,达到了预期的效果。实验结果证明,该算法不仅可以实现多目标跟踪的准确性,而且不受道路环境和车辆运动方向的限制以及镜头远近的影响,因而具有很好的适应性和鲁棒性。在此基础上,可以期望在后期工作中考虑目标自身的特征和各个目标的运动情况,进一步增加跟踪的精确度。

摘要:介绍了一种简单、快速的实时交通场景中多目标的检测与跟踪算法。在使用自适应背景差分法分割出运动目标候选区域的基础上,采用数学形态学操作和降低分辨率的方法,得到连通的目标区域,并使用改进的最近邻法对目标进行匹配和跟踪。实验证明本算法较好地解决了跟踪的连续性、实时性、精确度的矛盾。

关键词:目标检测,最近邻法,跟踪,匹配

参考文献

[1]Collins R,Lipton A,Kanade T,et al.A System for VideoSurveillance and Monitoring[R].Tech.Report CMU-RI-TR-00-12,Robotics Institute,Carnegie Mellon Uni-versity,2000.

[2]Elgammal A,Harwood D,Davis L.Non-parametric Modelfor Background Subtraction[C].In European Conference onComputer Vision,2000:751-767.

[3]Fujiyoshi H,Lipton A.Real-Time Human Motion Analy-sis by Image Skeletonization[J].Proceedings of IEEE.WACV98,1998:15-21.

[4]Stauffer C,Grimson W E L.Learning Patterns of ActivityUsing Real-time Tracking[J].IEEE Transactions PatternAnalysis and Machine Intelligence,2000,22(8):747-757.

[5]Bors A G,Pitas I.Prediction and Tracking of Moving Ob-jects in Image Sequences[J].IEEE Trans.on Image Process-ing,2000,9(8):1 441-1 445.

[6]张云峰,王洋.基于视频信号的多目标跟踪方法[J].仪器仪表学报,2005,26(8):652-653.

上一篇:园林花卉种植设计方法下一篇:脊柱内固定手术