全景视频(精选六篇)
全景视频 篇1
从真实场景的图像中测量距离已成为计算机视觉和图像处理的研究热点[1,2,3]。现有的基于图像的测量方法主要是面向单幅透视图像[1,2,3],其可测量范围受到相机视域FOV的限制。利用图像拼接技术构建待测场景的全景图像[4,5],可以克服基于单幅透视图像测量方法的视域受限的不足,大大扩展了可测量范围,使得在单幅图像中无法完全呈现的长距离线段也能够得以测量[6]。但是,基于全景图的测量方法,其测量范围却受限于单个固定的相机拍摄点,只能测量在拍摄点可见的全方位场景。全景视频技术[7,8,9]可以记录沿着相机拍摄路径的所有全方位的场景信息。通过构造全景视频,在单幅全景图像中无法完全呈现的长距离线段就能够完全呈现在全景视频中。在场景全景视频中进行测量,测量范围不再受相机单个固定拍摄点和视域的限制,从而极大地扩展了场景的可测量范围。
本文通过扩展面向全景图像的距离测量方法[6],提出基于场景全景视频的距离测量方法。这种测量方法的基本思想是,利用全景图像拼接技术[4,5,10]构建多帧有序全景图像的集合,生成场景的全景视频;采用结构与运动恢复技术[11,12,13]恢复相机运动参数(相机的位移和朝向);根据待测点反投射线[14]的不变性对场景进行交互式测量。此方法充分利用趋于成熟的全景图像拼接技术和结构与运动恢复技术(Structure And Motion Recovery),结合影射几何原理[14]将全景视频用于距离测量。通过软件原型PVMeasure,用户可以在场景的全景视频中进行交互式测量。在PVMeasure中,用户可以通过简单的鼠标、键盘操作,围绕视点进行水平和竖直方向上360度旋转以及视域的放大、缩小等来交互地选取待测点,也可以沿着相机的拍摄路径进行移动,选取不同的拍摄点进行测量。对于在单幅全景图中无法完全捕获的长距离线段,用户可以在不同帧中分别定位待测线段的起点和终点进行测量。确定待测线段的两个端点后,PVMeasure根据恢复的相机参数和参考平面自动计算出线段真实距离。据我们所知,这是第一次将全景视频用于测量真实距离的方法。
1 面向全景视频的距离测量
面向全景视频的距离测量方法有三个步骤:全景视频的生成,相机投影矩阵的恢复以及点坐标从射影空间到欧氏空间的转换。
为了在全景视频中进行测量,需要获取场景的全景视频。单个相机已经不能满足拍摄全景视频的要求,使用多相机装置对待测场景进行拍摄。这种装置由多个中心近似重合并且可以对场景进行同步拍摄的相机组成,如FlyCam[8]和Ladybug[9]。对于得到的场景视频每一帧中的图像,采用图像拼接方法和环境映射进行处理生成场景全景视频。得到的全景视频中记录了沿着相机拍摄路径的全方位的场景信息。
充分利用日益成熟的结构与运动恢复技术来高精度地恢复相机的运动参数。由于多相机装置中的各个相机的相对位置在拍摄过程中保持不变,恢复其中一个相机参数后,可以通过相对位置推算出其他各个相机的运动参数,有效地减少恢复相机的运动参数的计算量。
用户在PVMeasure中不论是旋转、缩放全景图,还是沿多相机装置的拍摄路径进行移动,每个场景点的反投影线[14]保持不变。因此,利用反投影线这一特性,将待测的场景点的反投影线和其所在的平面(参考平面)求交来计算此点的世界坐标。反投影线可以由图像拼接和结构与运动恢复过程所恢复的相机投影参数确定。
在PVMeasure中进行测量时,用户通过鼠标拖拽选择出待测量线段两端点所对应的图像点。待测线段的端点可位于同一个或不同的参考平面上,可以在同一帧内,也可以分别在不同的帧内。选定完待测线段起点和终点后,PVMeasure通过场景点的反投影线和参考平面,计算出线段两端点的世界坐标,最后根据L2-norm计算出待测线段的真实距离。
对于在单幅全景图中无法完全捕获的长距离线段,在PVMeasure中用户可以先在一帧中选择一个端点,然后用键盘沿着拍摄路径移动到另一帧选择另一个端点来进行测量,待测线段的端点可位于同一个或不同的参考平面上。
整个测量过程可分为离线和在线两个阶段。离线阶段包括全景视频的生成和相机投影矩阵的恢复;在线阶段即用户通过使用PVMeasure在全景视频中沿着相机拍摄轨迹对场景进行交互式测量。
1.1 全景视频的生成
基于全景视频的距离测量,需要构建场景的全景视频。已有很多方法来构建场景的全景视频,它们通常是将全景图片与拍摄路径关联生成全景视频。全景图片可以采用图像拼接方法获取。本文使用多相机装置拍摄场景,将每一帧的多幅图像用图像拼接算法进行处理生成全景图,最后把生成的多幅全景图通过环境映射渲染到PVMeasure生成全景视频。用户可以在PVMeasure中沿着相机拍摄路径浏览场景的全景视频。
为了获取场景的全景视频,我们使用多相机装置对待测场景进行拍摄。这种装置由多个中心近似重合并且可以对场景进行同步拍摄的相机组成,如FlyCam和Ladybug。这种装置在拍摄过程中保持焦距和相对位置不变。
设定一个坐标系F,多相机装置的所有相机的光心都在原点,用R
计算得到。其中纵横比α可以当成1,而中心点(cx,cy)等同于相片中心点[4,5]。
图像拼接方法[7]生成的全景图在垂直方向上只能提供有限的视域,图像拼接方法[4,5]生成的全景图能满足测量范围不受视域限制的要求。文献[5]方法基于SIFT特征匹配算法,对于图像的旋转、旋转、尺度缩放、亮度变化能够非常好的匹配,对视角变化、仿射变换、噪声比较鲁棒[10]。通过优化的SIFT算法甚至可以达到实时的要求。因此选择文献[5]方法来稳定高效地生成场景的全景图。图像拼接方法[5]是基于集束调整(bundle adjustment),集束调整基于一种全局优化思想,通过优化所有相机参数,使图像特征点在拼接过程的总匹配误差最小。集束调整在一个好的初始集下能够快速收敛并获得更优的解。这边,可以用文献[4]方法来获取准确的相机焦距初值来优化文献[5]图像拼接方法中的集束调整过程。
为了使用户能够进行交互式测量,需要把全景图渲染到PVMeasure。因为柱面和球面映射下,直线看起来会变弯,本文采用立方体映射。根据集束调整过程获得的相机参数,可以将全景图转成立方体环境映射图片,这些图片最后通过3D图形API在PVMeasure里被绘制出来。对每一帧重复以上的处理步骤,从而生成能够在PVMeasure中浏览的全景视频。
1.2 相机投影矩阵恢复
为了确定待测场景点的反投射线以进行距离测量,需要计算出多相机装置中每个相机在所有拍摄点的相机投影矩阵。由于多相机装置中的各个相机的焦距和相对位置在拍摄过程中是保持不变的,恢复其中一个相机(参考相机)运动参数后,可以通过相对位置推算出其他各个相机的运动参数,有效地减少恢复相机参数的计算量。基于结构和运动恢复相机跟踪技术[11,12,13]可以用来高精度恢复参考相机的运动参数。
基于结构和运动恢复相机跟踪方法可以分成实时和离线两类[11]。实时的方法实时处理在线视频,不能把视频系统当成整体离线处理,同时不能花太多时间去优化恢复出来的相机运动参数。基于结构和运动恢复的相机跟踪研究已经达到一定的成熟度,出现了商业软件boujou[15]。boujou可以离线处理视频系列,精确地恢复相机运动参数。准确的相机内参初值有助于恢复高精度的相机运动参数。本文的测量方法需要高精度地恢复相机参数,可以利用在生成全景视频过程中已经估算出来的相机内参作为已知参数,优化相机跟踪过程。我们用准确的已知不变的相机内参放进boujou去高精度地恢复参考相机的运动参数。为了提高相机运动参数恢复的精确度,boujou提供强大的操作比如加人工定标点和已知几何约束等。在实验过程中,我们发现高分辨率的视频可以进一步提高boujou恢复的相机运动参数的精度。
通过boujou,我们可以先设定一个世界坐标系W(包括单位长度)。分别用r表示参考相机,R
其中
相机之间的相对关系可以从R
1.3 交互式距离测量
获取全景视频每一帧的相机内外参数后,可以利用反投射线与参考平面求交来推算场景点的真实世界坐标。基于全景视频的交互式距离测量,还要考虑跨帧长距离线段测量的情况。设x表示用户在PVMeasure绘制的全景图中所选取的待测点,X为此点在世界坐标系中对应的场景点(文献[6]图1)。对于两个所选的待测点x1和x2,一旦它们对应的世界坐标点X1和X2被推导出来,则它们之间的距离可由L2-norm计算得到。这两个待测点可以在全景视频的同一帧中,也可以在不同的帧中。
在PVMeasure中测量跨越多帧的长距离线段时,当用户在第i帧中选择了其中的一个端点x1,并且沿着相机拍摄轨迹移动到第j帧以确定另一个端点x2时,如果x1对应的场景点在j帧也可见,这要求x1在第j帧中得到正确绘制,以提供友好的用户体验。由于x1对应的场景点X1的世界坐标在用户选定后就被计算出来,只需要确定在第j帧中摄到场景点X1的相机,然后根据相机的投影矩阵重新计算X1在第j帧图像的绘制坐标,就可以将其正确地绘制在PVMeasure中(图1(b)中X1在1/5距离帧正确地绘制)。
2 真实实验
为了验证本文方法,我们生成一段真实世界的全景视频,然后在PVMeasure中测量若干场景线段,再将测量所得的结果和真实值进行比较来验证测量方法的精确度。我们选择多相机装置里的一个相机作为参考相机,用boujou恢复出参考相机的运动参数。同时在boujou中设置世界坐标系W,选择地面作为世界坐标系W下的Y=0平面。一开始我们只能测量Y=0平面的线段,为了扩大可测量范围,在PVMeasure可以推导出其他与已知参考平面垂直的平面,更多的在此帧中不可见的参考平面可以在其他帧中推导出来。在图2(a)中,共测量了6条线段。测量结果如表1中所示。使用高分辨率的输入图像可以提高测量精度。
在测量横跨多帧全景视频的长距离线段时,用户可以在PVMeasure中沿着相机拍摄路径移动到一个离待测线段端点较近的位置对端点进行准确定位,然后移动到另外位置选取另一个端点。两个端点可以在同一帧,也可以在不同帧。为了验证跨帧测量结果的准确性,我们将线段S7和S8的一端固定,另外一端分别在不同的帧里,将测量结果同S7和S8的两个端点都在同一帧里的测量结果进行比较。图3表明由于累记误差的存在,跨帧测量的相对误差比同一帧的相对误差大一些。
3 总结与展望
本文描述了一种面向全景视频的距离测量方法。该方法在面向全景图像测量方法的基础上进行扩展,将距离测量应用到全景视频中。相对于全景图像提供的单个固定拍摄点的全方位场景信息,全景视频提供所有在拍摄路径上可见的场景信息,使可测量范围不再受到单个固定拍摄点的限制,从而扩大了可测量范围。交互式全景视频测量软件原型PVMeasure基于该方法开发。在PVMeasure中,用户不但可以通过视域缩放、旋转等操作围绕拍摄点对场景进行任意角度的浏览,还可以沿拍摄路径前后移动,选择周围的可见场景进行测量。面向全景视频测量方法中,高精度地恢复相机参数是准确测量的关键,现有的趋于成熟的图像拼接技术和基于结构和运动恢复相机跟踪方法为本文测量方法的准确性提供保障。实验数据表明,这种方法在图像噪声值干扰的情况下仍具有较高的精确度,可满足大多数场合下的测量精度要求。
在今后的工作中,我们将进一步研究可测量范围并提高测量精度。相机跟踪过程中会恢复一系列场景点的世界坐标,尝试利用这些点的信息进一步扩展场景可测量范围。另一方面,通过优化图像拼接和相机投影矩阵恢复过程的研究,恢复高精度的相机参数以提高测量方法的精确度。最后,本文方法需要对拍摄的视频进行预处理即离线阶段的全景视频的生成和相机投影矩阵恢复,我们会尝试在全景视频中实时测量距离。
摘要:从真实场景的图像中测量距离已成为计算机视觉和图象处理的研究热点。现有的基于单幅透视图像的测量方法,其可测量范围受限于相机视域FOV(Field-of-View)。通过构建待测场景的全景图,扩展了待测场景的可测量范围,但是其测量范围受限于单个固定的相机拍摄点,只能测量在拍摄点可见的全方位场景。通过扩展基于全景图的距离测量方法,提出基于场景全景视频的距离测量方法,测量范围不再局限于单个固定的拍摄点。通过基于此方法开发的软件原型PVMeasure,用户可以在场景的全景视频中进行交互式测量。真实场景测量实验结果表明,方法具有良好的精确度,可满足大多数场合下的测量精度要求。
全景视频 篇2
720云全景虚拟现实社区,720全景摄影,全景视频,全景相机,360度全景拍摄,VR制作,全景旅游,...广东省-珠海市VR全景漫游37.49万10237广东惠州航天育种基地全景VR2720广东省--广州市全景集3D647.95万133236‘‘广州花城魅力之夜’’2018VR漫游1026‘‘广州花城魅力之夜’’2018VR漫游27713新年快乐,你好,2018广州VR漫游214.9万53739汕头市潮阳区文光塔全景VR漫游125057热浪岛全景VR(The heat island in Malaysia)3409广东省-仰望最高视角全景VR9.47万1644广州市广力机电设备工程有限公司63431深圳市雅乐装饰设计工程有限公司全景VR38910花都大德汇健康生活馆(大华店)实体店VR37315遇见化州最美舞蹈室全景VR63314广东省--汕头市VR全景漫游287088广东省-湛江市VR全景漫游3824140广州南沙凤凰三桥501凤凰公路321僑升號茶业让您知道古树茶的味道VR全景68919广州塔488摄影平台VR全景25012广州江湾大桥之夜VR222231未来已来——必康数字化工厂展示536791广西桂林阳朔、漓江风景区全景VR989342017中国精英会年度盛典全景VR211549广州赛安顺汽车养护连锁机构全景VR301855广州花城汇中轴地标VR全景88324南沙水鸟生态园143246可爱可亲母婴生活馆全景VR展示1.76万267广西阳朔图腾古道风景区VR全景273565焱哥专业汽车音响改装工作室972东莞樟木头三正半山度假酒店全景VR2398马来西亚登嘉楼全景VR集3926822017(佛山)创意城市博览会VR
沉浸式全景视频制作技术分析及应用 篇3
[关键词]沉浸式;全景视频;拍摄技术;全景图像变换;直播系统;应用
文章编号:10.3969/j.issn.1674-8239.2016.08.005
1 概述
随着影音技术的发展,沉浸式体验的虚拟现实(Virtual Reality)技术也已从“虚拟”走向了“现实”。沉浸式全景视频基本场景是用户戴上显示终端(如头盔、眼镜等),通过头部的转动可以看到全景视频的每个方向的图像。如果全景视频配置了全景声音频效果,同时,也能听到来自各个方向的声音,声音也会随着头部的转动而发生变化。通过这种视频、声音与人的头部转动的配合,提供最为逼真、感同身受的视听享受,达到一种更为震撼的视觉效果。
2 沉浸式全景视频拍摄技术
沉浸式全景视频的拍摄通常有三种方法:第一种是使用大曲度鱼眼镜的摄像机直接拍摄,这种方法最方便,但生成的全景视频分辨率低,几何失真严重,增加了后期图像处理的难度;第二种是用带有自旋转电机的摄像机——高速球拍摄,这种方法生成的全景视频会发生模糊,并且帧组之间几乎不可能是完全同步的;第三种,也是目前最常用的一种方式,用多台摄像机组成阵列联合拍摄,如采用四目、六目或八目摄像机拍摄,这种方法从理论上讲生成的全景视频效果最好,但对于摄像机的部署(摆放)却较为讲究。下面,笔者详细介绍几种摄像机群的部署,分析和研究多台摄像机间的相对位置关系对生成全景视频所构成的影响。
2.1 视场交叉式摄像机阵列的构建
视场(Field of Vision,FOV)交叉式摄像机阵列构建(FOV-Crossed Cameras Setup),是指摄像机群中每一台摄像机的视场都与其相邻摄像机的视场发生交错,如图1所示。
这种构建较容易实现的。通常情况将摄像机以一个点为圆心,分散均匀地放置在与圆心等半径的圆上;再由拍摄顶部和底部多台摄像机组成摄像机阵列,水平方向上,每台摄像机负责拍摄360。视域中的一个角度(角度取决于摄像机镜头的拍摄角度,同时角度也决定了摄像机的数量)。这样,多台摄像机同时拍摄,便可以将周围的全部视域采集下来。
这种摄像机阵列拍摄出来的全景视域并不完美,在两台摄像机视场交接处之前会有一片盲区,两台摄像机的视场都无法覆盖,即两台相邻的摄像机均不能拍摄到其中的景物。而在视场交界处之后,是两台摄像机的视场均能覆盖的重影区。盲区与重影区都会影响全景视频最终的呈现质量,因此,在前期拍摄时要尽量避免使需要拍摄的景物进入盲区,而在重影区的图像需要在视频后期进行裁剪处理。
2.2 视场平行式摄像机群构建
视场平行式摄像机阵列构建(FOV-parallel Cameras Setup)与视域交叉的摄像机群部署类似,也是将摄像机以一个点为圆心,分散均匀地放置在与圆心等半径的圆上,再与拍摄顶部、拍摄底部的多台摄像机组成摄像机阵列。与其不同的是,每台摄像机的视场不再与相邻的摄像机的视场交叉而是相互平行,如图2所示。
这种摄像机阵列的特点是没有重影区域,不需要用后视频图像处理来解决由重影区域带来的问题。但是在整个视场中却留下了数条无限长的盲区。减小摄像机之间的距离可以使盲区的宽度变窄,但这些盲区无法被消除,因为摄像机有自己的体积,不能被重叠放置。这种摄像机阵列适合拍摄远处景物,因为盲区的宽度总是固定的,拍摄的景物越远,盲区造成的信息残缺越不容易显露。
这两种摄像机阵列拍摄全景式视频都各有优缺点,视场交叉式摄像机阵列可以在相同景深处良好的拼接,但在其他重叠区需通过后期图像处理以达到完美呈现效果;视场平行摄像机阵列总会受到盲区的影响,无法做到完美拼接,但可将盲区收敛在可接受的范围之内。总的来说,这两种构建方式都不算完美,要想达到完美的全景视频呈现,还需对拍摄好的视频进一步图像处理。
3 沉浸式全景视频图像处理
要想画面对应的物理空间视域达到全包围的程度,就需要图像画面可以包含水平方向360°、垂直方向180°的视域。最为理想的投影模型为正方形投影,如图3所示。观众处于这样的6幅画面包围在中心,最终的视域范围同样可以达到水平360°、垂直180°,并且画面是绝对不存在任何扭曲变形的。
然而,在实际拍摄过程中无论是摄像机所能达到的视场角度,还是支撑摄像机阵列的支架结构设计与制作,都无法达到理想模型的参数要求。细小的机械误差都可能在最终沉浸式图像呈现上留下明显的瑕疵。因此,为了达到完美的全景图像,就需要将摄像机阵列拍摄的多个图像进行拼接和边缘融合。
要想把全物理视域真实场景正确地展示到一张2D图像上,就需要一个转换过程,这样,真实的场景与2D图像就会有一个映射关系,投影就是这种映射关系,沉浸式视频的显示终端也将按照投影方式还原真实场景。目前最常见的投影方式就是球面投影。如图4所示。
P为三维空间中的一点,q为P点在二维平面的投影点,可根据q点利用相应的逆转换得到P点,再将P转换为球面坐标。
球面投影的特点是水平视角的图像尺寸可以得到很好的保持,而垂直视角上,尤其是接近两极的时候会发生无限的尺寸拉伸。沉浸式视频的显示终端可按其映射方式将这些明显变形的画面还原为全视角的内容,进而让使用者有一种身临其境的包围感。
因为人的双眼存在一定的视角差,双眼各自看到的图像有一定的差异,再通过大脑的解析计算就可以得到立体的感受。因此,在沉浸式视频的显示终端上仅仅是通过投影方式的变换生成的一幅360。的全景内容,无法呈现出立体的效果。要想得到立体效果沉浸式视频,也必须采用左右眼水平分隔显示的模式。
要得到立体的效果通常有两种方式。一种是在拍摄端做出一些调整,采用3D拍摄,将原来的摄像机阵列由原来的6台改成12台组成,即每个方向都有左右眼视频,都是由两台摄像机负责拍摄。然后分两次对6个视频进行拼接和处理,输出两个不同的全景视频。另外一种是在原始的全景画面上分别截取两个画面,其中一个画面向左偏移一点,另一个画面向右偏移一点,然后各自做一个轻度的透视变换,以模拟视线角度的偏转。这样构成的立体画面在多数情形下也具有一定的立体欺骗的效果,而且左右偏移量不好掌握。这两种方式各有优缺点,第一种方式在拍摄端增加了成本和拍摄复杂度,但是可以得到较为完美的立体效果。第二种方式虽然拍摄端相对简单,但是增加图像处理的难度,而且对于近处的景物,或者左右眼画面中的景物存在遮挡关系的时候,则无法达到立体的效果。
nlc202309091136
4 沉浸式全景视频在直播中的应用
沉浸式全景视频非常适合现场直播。很多现场直播的场景比较开阔,而在传统的现场直播中,一台摄像机机位的视角比较有限,通常一个讯道由一个摄影师来操纵,拍摄大多数观众所感兴趣的区域,如比赛的热点区域。远程的观众只能被动地观看所拍摄区域的影像,不能像坐在现场的观众那样主动观看场景中的任何地方,没有自主性。沉浸式全景直播采用一组摄像机,将场景中的所有区域全部以视频的形式拍摄下来,传送给中央视频服务器。中央视频服务器实时地将这些视频合成为一个超广角的全景视频,并按照远程观众的需求,将全景视频的一个区域,通过网络传送给观众。远程的观众可以自由选择全景视频中的任意区域进行观看,并且还可以实时地改变观看区域,选择视域的位置信息参数通过头戴式显示终端的转动角度确定。当人们佩戴这种显示终端来观看现场直播时,就好像置身于现场一样,可以随意环顾四周,选择自己感兴趣的视角。
沉浸式全景视频直播系统主要组成部分包括摄像机阵列、视频处理服务器和显示终端。全景摄像机群阵列设置在拍摄前端,负责拍摄现场的各个位置的视频图像,并将拍摄好的多路视频摄像机传送给后台的视频处理服务器。视频处理服务器需达到图形工作站级别,它能够将多路视频合成为一个全景视频,并能根据各个终端所返送的位置信息将全景视频图像的剪裁、编码等步骤,通过网络发送给终端显示。目前的显示终端均为穿戴式智能设备,包括智能眼镜、智能头盔等,这些智能设备也都具有互联网接入功能。显示终端接收服务器端发来的现场实况视频,并将它进行解码和显示。如果观众想看其他方向的画面,只要像在现场一样环顾四周,智能设备就能根据所转动的角度确定位置信息,返送给服务器端,服务器端再根据位置信息判断观众想要观看的区域,将此区域重新裁剪编码后再发送给显示终端。整个沉浸式全景视频直播系统架构如图5所示。
与传统现场直播相比,沉浸式全景视频直播有以下特点:
(1)需要全方位实时采集场景中的全部影像;
(2)可以由观众自主选择其感兴趣的视域;
(3)让观众如同身临现场,可以更好地感受现场的气氛,现场参与感也非常强。
5 结语
本文简单分析沉浸式全景视频的拍摄原理,介绍常见的全景图像的处理方式,还提出一种可行的沉浸式全景视频直播系统架构。相对于传统直播,沉浸式全景视频直播增加了空间的信息,可以对真实的物理空间无限模拟和接近,给人以沉浸式的真实体验。尽管目前沉浸式全景视频的内容还较为匮乏,观看时也需要佩戴昂贵的终端,直播方式也不及传统直播方式成熟,但是在时空构建、主观感受方面,沉浸式全景视频都给观众带来了全新的体验。在互动方式上,全景视频直播也拥有无可比拟的优势,其后台可以对观众的行为数据搜集和分析,从而调整现场直播导演的制作思路,这也符合当前数据挖掘的技术发展趋势。相信,在不久的将来,沉浸式全景视频应用能够找到一种适合的商业模式,给传统视频行业注入新的动力。
(编辑 张冠华)
基于视频的立体全景无拼接生成技术 篇4
在虚拟现实的应用中, 基于图像的绘制 (IBR, Imagebased Rendering) 是较为方便的一种生成方法, 它不要求为场景建立几何和光度模型, 并且在绘制效率和效果方面有很大优势, 所以在全球范围内迅速发展并逐步流行。
在众多的基于图像绘制方法中, 全景 (Panorama) 是其中一种流行的方法, 并被高度商业化运用。立体全景相较于传统全景而言, 更具有沉浸感。立体全景提供了360度的双眼视觉 (Binocular Vision) , 一般而言, 它由两幅全景图像构成, 一副供左眼观看, 一副供右眼观看[1]。
然而, 两幅全景图要匹配好也存在相当多的问题。主要问题在于立体全景的捕捉方式采用圆投影 (Circular Projection) , 这种方式是一种多视点图像投影 (Multiple Viewpoint Image Projection) [2], 而多视点投影的特性使得物体的相对位置会放生改变。因此, 准确的重叠部分是无法找到的, 即是说, 使用传统的拼接技术是无法匹配这两幅图像的。在传统的全景中, 上述问题可以通过各种方式去处理, 但在立体全景中, 这些方法会破坏立体感。
文献[3]针对该问题提出了一个新颖的二维全视函数——叶轮匹配。此算法所要求的图像捕获手段要求简单, 适合非专业人士拍摄。其创新性在于完全抛弃了拼接的思路。
本文在文献[3]的基础上提出了使用视频的方法去替代原文中照相的方法。这是因为原方法中, 拍摄的照片越多, 最后的全景才会越流畅, 但照片拍摄的太多会很费力, 并且图片数量很难超过360张 (每旋转1度拍1张) 。视频恰到好处的解决了这个问题。然而, 虽然视频的每一帧都可看作一张相片, 但在实际应用中, 仍然存在许多原文没有涉及到的问题, 本文针对这些问题一一分析求解。
本文组织如下:第一章介绍了捕获图像数据的方法;第二章介绍图像配准。第三章主要分析了所捕获的数据, 提出了剔除无效帧的算法;第四章讨论立体配对的问题, 并给出了完整的算法;第五章介绍了一些相应的实验结果;第六章是结论。
1 图像获取手段
图像的获取手段设计的比较简单, 适合非专业人士拍摄。只需要一台摄像机, 或是带录像功能的照相机, 拍摄的时候按照一个方向 (顺时针) 旋转, 角速度尽量恒定不变, 水平方向尽量平稳, 起伏不要过大。
对于视频的格式, 长宽比应该尽量大, 因此16:9比4:3的更加合适。当然, 视频越清晰越好。这些要求对最终结果的质量都有着正面的作用。
2 图像配准
在本方法中, 相邻照片的水平位移有着重要的作用, 取得视频数据后的第一步便是求得这些水平位移。使用照相的方式下, 由于旋转的角度比较大, 两张相邻的照片有着明显的水平位移, 这时可以很容易地取得两张照片的水平位移。但是, 通过视频捕获到的图像相邻两帧的水平位移很小, 有的靠肉眼都已经难以分辨, 如图2, 并且数量至少上千, 这样的情况下, 想要通过手工或半自动的方式去获取这些帧的水平位移是一件不可能的任务。因此, 必须要有准确的配准算法才能计算出相邻两帧的位移。
图像配准 (Image registration) 的定义是:将不同时间、不同传感器 (成像设备) 或不同条件下 (天候、照度、摄像位置和角度等) 获取的两幅或多幅图像进行匹配、叠加的过程。我们的应用需求是对不同角度拍摄的两幅图像进行匹配。
总的来说, 基于特征的配准方法有很多, 但其基本步骤类似[4], 主要由以下四步组成:
特征检测:一般通过手动或是自动的方式去选择一些显著而又截然不同的对象, 如:边界、线状物交叉点、区域轮廓、角等。为了进一步的处理, 可以使用控制点表示该对象。控制点的选择应注意:一是分布尽量均匀;二是在相应图像上有明显的识别标志;三是要有一定的数量保证。
特征匹配:在这一步, 采用一定的配准算法, 建立两幅图像之间检测到的特征的联系。另外, 各种特征描述子和相似性测量方法、以及这些特种的空间关系也在这一步有所使用。
变换模型估计:通过已经匹配好的特征, 确定映射函数的类型以及计算其映射函数的参数。
图像变换和重采样:根据控制点的图像坐标, 建立图像间的映射关系;通过灰度变换, 对空间变换后的待配准图像的灰度重新赋值。
3 有效帧的筛选
在拍摄视频的时候, 即使拍摄的人员基本功扎实, 拍摄的时候无抖动, 转动的速度均衡, 最终拍出来的视频也是有些地方水平位移增量多, 有些地方增量小, 有些地方增量甚至为负。为提升用户体验, 本文提出了剔除无效帧的方法。使得最终的结果比较平滑。
3.1 无效视频的判断
不按拍摄方法拍摄出来的视频, 显然都是无效的, 这里不予讨论。现在关注的是, 由于拍摄的时候是拍摄者按照感觉去旋转的, 当旋转到了最后的时候, 仅仅凭借感觉去判断是否拍过了第一帧的内容。因此, 如果拍摄出来的视频的最后一帧未越过第一帧, 并且相隔距离较远的时候。一般来说, 这段视频就报废了。
另外, 若当拍摄时有某出不小心抖动过大, 造成旋转角度偏大, 这样会造成删除掉的帧比例很高。这样的视频也不是很理想, 也应该判定为无效视频。
3.2 无效帧的判断
无效帧的存在形式有两种, 一种是当旋转镜头转过了第一帧的画面后面的所有帧, 这些帧都是不需要的;另一种是旋转过程中水平位移过小的帧。这些帧可以造成在全景体验时过快或过慢的旋转不均匀的感觉。
3.2.1 尾帧的判断
定义1尾帧:尾帧不是视频的最后一帧, 尾帧一般是指位置先于第一帧, 与第一帧相连则所有帧可形成一个环。如图3所示。
对于第一种形式的无效帧, 判断的唯一方法就是找到尾帧。视频的最后一帧往往是旋转超过一周后再拍摄下来的画面, 导致尾帧的前后帧的表现与普通帧无异, 因此直接找到我们需要的尾帧并不容易。
为此, 引入了一个算法。该算法基于二分查找法的思路, 使得平均查找效率远远高于逐帧比对。其思想是尽快的确定出一对正好在尾帧左右两边的帧, 然后使用二分查找法寻找尾帧。由于一般拍完一周后, 继续拍摄的范围不超过1/4, 因此整个视频多余部分的期望可以看作最后的1/5部分。
该算法平均情况下的时间效率为。
3.2.2 无效帧的剔除
在消去尾帧后面的所有帧后, 剩余的帧已经可以拼接成一个环形了。消除第二种形式的无效帧的目的是要使得最后的结果显得平滑。由于问题的限制, 很明显无法去掉水平位移过大的帧, 因此只能考虑去掉水平位移过小的帧。这样需要再次求出全局最大位移——Max Tr。然后可按算法2去剔除水平位移过小的帧。
算法2无效帧的剔除 (顺时针旋转)
1) 找到最大位移所对应的帧p。
2) 将帧p存入集合Frames:{p}?Frames。
3) 取集合Frames里最近存入的元素r, 以r作为起点, 取r后的帧s:
按照该算法处理后, 可得到一组水平位移增量较为平滑的帧。
4 立体配对
因为最终要呈现给用户的是具有三维立体效果的全景图, 就意味着需要找到对应左右眼观看的数据。因此, 在得到可以用来配对的这组帧后, 便可以进行配对的工作了。
根据文献[3]介绍的原理, 如图4, 对一副图从中点进行左右分割后:左边部分的图像可看作右眼的投影;右边部分的图像可看作左眼的投影。这样, 本来使用单一镜头通过旋转拍摄下来的图片, 分割后的两部分正好可视作两个镜头旋转拍摄下来的图片。因此, 这意味着一副图片左边的部分, 可以和另外一副图右边的部分匹配, 并且产生立体感。
立体感建立原理图示: (a) 拍摄到的图像; (b) (c) 从中线分割成左右两部分; (d) (e) (f) (g) 分割后的部分可当作左右眼的投影
基于如上阐述, 进而提出了以下算法, 假定所有帧的宽度相等, 记作:
算法3左右眼帧的匹配。
该算法对文献[3]提出的算法做出了改进, 文献[3]的方法需要求出帧f后所有的帧到帧f的距离, 做了许多无用功。而本算法直接求出离帧f中线最近的帧, 如图5。本方法的时间效率上有了明显提升, 当然, 算法的本质思想是一样的。
5 实验
为了测试本文所提出的基于视频的立体全景无拼接生成技术, 首先进行的实验是:将文献[3]中所用到的一组环拍照片压缩成视频input.avi, 其基本信息如表1所示:
该视频input.avi是由72张照片压缩而成, 这些照片为jpeg格式, 总共大小为12MB。经过本文的方法处理input.avi后, 得到output.avi。其信息如表2所示:
视频output.avi的大小为4MB, 较压缩前的照片的大小12MB而言, 压缩比很大, 并且视频里的帧仍然拥有较为良好的立体感, 如图6所示:
另外, 为了测试本文提出的方法, 还使用了正常拍摄的一段环拍视频直接作为输入, 该视频信息如表3所示:
使用本文的方法, 该实验最后得到的输出视频信息如下:
总体而言, 效果上逊于前一个实验, 有少数帧的立体感不强, 但大部分仍具有较好的立体感。出现这种情况的原因这是由于自动配准的算法精度不够高, 或是有的帧在配准时误差较大, 因此算法在匹配的时候没有找到最好的结果。图7是该视频的其中一帧:
6 结论
本文给出了一种基于视频的无拼接立体全景生成方法, 该方法简化了图像的捕捉方法, 使得非专业人士也可以轻松捕获所需数据。通过实验, 说明本方法表现良好, 配准结果的好坏对最终结果有着至关重要的影响。因此, 本方法需要一个精确度较高的自动配准算法与之配套。
当然, 本方法还存在许多缺陷。实际上, 使用本方法生成的全景并不能流畅地自由旋转, 而是通过一帧一帧的播放模拟旋转的过程。另外, 不能支持垂直方向的旋转, 这也是今后进一步的研究工作。
摘要:全景目前被高度商业化, 随着计算机技术的进步, 人们对全景的期望越来越高。本文给出了一种新颖的全景生成技术。生成的全景具有强烈的立体沉浸感。该方法与其他传统方法相比, 无需去考虑如何从数据中恢复各种各样的几何和光度场景模型。因此, 具有低成本, 效率高的优势。另外, 对比于之前提出的基于照片的方式, 本文技术生成的全景更加细腻, 转动更加流畅。
关键词:无拼接,基于图像绘制,立体全景
参考文献
[1]Peleg, S., Ben-Ezra, M..1999.Stereo panorama with a single camera.In cvpr, the IEEE Computer Society, IEEE, 1395.
[2]Heung-Yeung Shum等.A virtual reality system using the concentric mosaic:construction, rendering, and data compression[J].Multimedia, IEEE Transactions on 7, 1, 85-95.
[3]Chen Zhang, Jinyuan Jia.Image based stereoscopic rendering with non-mosaic impeller matching[J].VRCAI’11, 2011:541-544.
全景视频 篇5
视频监控系统作为电网运行、检修的辅助监控手段,为变电站其他系统提供视频技术支撑,为电网的可视化运行和可视化监控提供服务。2011年,国家电网公司以Q/GDW 517《电网视频监控系统及接口》系列标准作为指导规范,在江苏试点建设并完成了电网视频监控统一平台,进行平台深层应用挖掘,为平台的进一步推广和应用提供了良好的技术及实践支撑。
1 建设目标
1)与电网统一视频监控平台互联,实现对变电站联动信息数据的接入,通过标准控件的方式,为第三方业务平台提供视频智能分析、智能联动等应用。
2)有效利用电网统一视频监控平台提供的软硬件资源,实现变电站数据的可视化监控、可视化操作、视频智能化应用。
3)实现变电站各监控系统的信息共享和业务融合,满足大运行、大检修体系建设的迫切要求。
4)加强对现场安全生产的管控,为现场生产安全的提高提供技术支持。
2 系统结构
充分利用现有资源,以电网统一视频监控平台为核心,以接口开放为基础,通过变电站综合数据协议转换接入网关、视频智能联动及串口接入设备、应用服务器等,实现变电站各监控系统的可视化、对象化综合监控以及视频的策略联动等功能,支持纵向的系统接入、互联以及横向应用展示,实现各系统间的数据共享及业务融合[1,2,3,4]。基于三维全景的变电站智能视频监控系统总体结构如图1所示。
在图1中,通过视频智能联动及串口接入设备,实现对站内视频系统智能分析、联动等视频应用功能,并对站内其他系统中的报警及状态数据进行接入。通过接口B实现对站端综合数据的标准接入,在各地市公司部署流媒体服务器和变电站综合数据协议转换接入网关,对站内各类数据进行协议转换,采用标准协议上传至省平台。通过接口A实现将站端综合数据上传至国家电网公司平台以及各应用端,应用端基于平台提供的各类服务,实现业务应用的扩展。在应用端通过省平台实现视频相关的各项应用及数据的通信,采用应用服务器提供对站端各综合数据的传输、处理,以及三维电子地图、业务功能扩展等服务。
系统内传输的数据包括音视频媒体数据、控制及联动数据、状态及报警数据以及相关的综合数据。音视频媒体数据采用逐级转发分发的方式,通过国家电网公司、省和地市的流媒体服务器,逐级转发至相应的应用端;控制及联动数据通过变电站综合数据协议转换接入网关上传至省平台,再传递到各应用端;状态及报警数据通过变电站视频智能联动及串口接入模块上传至应用服务器。
3 系统功能
3.1 常用视频监控功能
常用视频监控功能主要包括以下内容。(1)支持多画面视频显示和画面中英文的叠加显示,可自定义多画面轮巡方案,对预置位和巡航轨迹进行自定义设置。(2)以某一个被监控设备为对象,将多个摄像机预置位作为一组进行分类,通过分组节点直接浏览一组视频。(3)采用标准的实时流传输协议(Real Time Streaming Protocol,RTSP),实现远程回放功能。(4)支持对本地录像文件的回放功能。(5)支持对多种查询条件进行混合查询的方式。(6)采用标准的信令控制协议(Session Initiation Protocol,SIP),实现客户端和前端设备之间以及客户端之间音视频对讲。(7)对前端设备进行IP语音广播,客户端具有监听功能。
3.2 视频高级应用功能
视频高级应用功能主要包括以下内容。(1)提供列表、二维和三维电子地图、报表等形式对监控实时数据进行多样化展示,对报警及状态数据以联动方式进行展示,可在地图中直观展示报警数据,以对象化关联方式展示所有相关信息。(2)对各监控子系统的操作、报警等信息进行智能联动策略配置,在操作、信号变位或报警时,对各监控子系统进行联动控制和展示。(3)对前端设备的虚拟电子围栏区域、轨迹跟踪参数、智能分析时间段的划分进行设定。(4)对巡视人员的路径以二维坐标的方式记录在电子地图中[5],通过结合实时轨迹分析、轨迹路线预定义,对巡视人员的路线进行分析,判断是否出现漏巡视的路线;并通过历史事件能够对历史的巡视轨迹、巡视报警、巡视视频等内容进行回放。(5)根据工作票信息中的工作时间、工作区域,对指定区域范围、指定工作时间的现场工作情况进行视频记录和实时监控。
4 关键技术与实现
4.1 变电站三维动态交互
系统通过三维建模软件建立三维场景和精确的设备模型,通过Ogre底层图形库,将所建立的三维场景和设备模型显示出来;通过下一代网络(Next Generation Network,NGN)技术,将三维变电站模拟仿真系统进行互联,并与视频监控系统、生产管理信息系统互通;通过虚拟现实技术,使用户与三维变电站模拟仿真系统进行交互。具体实现方式为站端的组态模型、三维交互和动态展示。
1)组态模型。对站内各种设备进行建模,通过模型数据的累积,形成变电站设备模块库;通过组态方式,模块化的设计,形成变电站建模编辑组态软件,利用各种变电站设备模型方便地构建出变电站场景模型。
2)三维交互。三维场景采用模块化建模方式,对三维场景中的设备按照对象进行区分,通过人机界面直接对场景中的设备进行操作。结合视频监控技术,通过视频视角与三维场景视角进行映射,实现虚拟场景与现实场景的接口。
3)动态展示。在三维场景中直接展示采集到的监控设备数据,当发生报警或状态变化时,三维场景以变化的模型状态提示用户,并进行联动视频展示、预置位调用等功能。
4.2 视频智能分析
系统通过站端的视频智能分析设备实现对摄像头的视频智能分析,实现视频的自动跟踪、轨迹生成、虚拟电子围栏等功能。
1)图像噪声处理:综合使用各种方法去除图像噪声,针对变电站中的特殊场景,使用的算法结合均值、中值滤波技术。
2)运动目标检测:采用基于运动模板的跟踪算法,在变电站内安装的摄像头帧率一般在25帧/秒,能够符合该算法要求的包含运动目标的画面相邻2帧之间有交集。
3)运动轨迹的生成:结合摄像头的预置位功能和运动目标的监测,通过监测到的运动物体在当前视频区域的相对坐标值,控制摄像机预置位以及云镜,始终保持运动物体在所监视区域的相对坐标范围内,并将摄像头云台坐标、视频监视对象坐标、实际场景坐标三者进行结合,连续执行运动目标的监测,计算出运动物体的轨迹。
4)虚拟电子围栏技术:在站内的重要区域通过视频分析形成虚拟电子围栏,综合安防电子围栏和虚拟电子围栏报警信号,提高报警准确性。
结合视频移动物体侦测、预置位、三维电子地图技术,对指定的工作现场内容进行实时记录存储。将视频对移动物体侦测到的路径进行记录,并在三维电子地图中将路径轨迹进行展示;通过控制预置位的动作,实现对较大范围内的人员进行轨迹跟踪和记录;通过站端后台对轨迹的分析,对误入间隔等动作进行实时报警。
4.3 视频智能联动
系统结合视频分析技术、摄像机预置位技术、采集的各子系统状态及报警数据,实现对各监控设备的操作、报警等信息进行智能联动,在视频分析报警、操作、信号变位或设备报警时,站端设备进行联动控制和联动存储。同时,结合三维场景的组态模型、动态展示等技术,实现视频的智能联动展示。如火灾报警时,立即将报警信息上传至监控中心;打开变电站门禁,切断火灾区域内设备的电源;同步联动相应的灯光照明,实时打开视频,转动云台到预置位,并自动开启录像和抓图。
4.4 视频前端综合数据接入
视频智能联动及串口接入设备是视频智能分析、智能联动的关键设备,采用ARM11芯片作为中央处理单元,提供双网口、多串口、多I/O口的输入输出接口,用于实现对安防、环境监控系统的数据接入,并采用存储磁盘对采集的模拟量和数字量数据进行转换存储;采用视频采集编码单元对枪机和球机采集的模拟视频数据进行接入;采用数字信号处理(Digital Signal Processing,DSP)芯片集成Open CV优化过的视频分析算法,根据接收的ARM配置参数对模拟视频进行视频分析,并将分析结果实时传送至ARM。通过ARM对采集的安防和环境数据、模拟视频分析结果、IP方式接入的视频等进行综合分析处理,直接在设备侧实现本地化的联动策略执行动作,从而满足联动策略执行的实时性。其软硬件结构图如图2、图3所示。
5 系统应用
系统在南京的部分变电站试运行,建立了试点变电站的二、三维综合电子地图,将电子地图上的电力设备、设施和相应监控设备进行关联,在地图上设定了虚拟电子围栏、日常巡视路线等,设置了各种报警及联动策略。
试运行期间,系统多次对工作时走错设备间隔、日常巡视漏巡设备等情况进行报警,这些传统软件所没有的新功能为保证现场工作的安全进行提供了重要的技术支持。
6 结语
基于三维全景的变电站智能视频监控系统是智能电网的重要组成部分,系统为直观、立体地展示变电设备运行状况,促进“五大”体系中“大运行”、“大检修”体系建设起到了积极的作用。
摘要:基于三维全景的变电站智能视频监控系统实现了变电站各监控系统数据的综合应用,为智能电网的建设提供有效的技术及应用支撑。系统由各种接入设备和应用服务器组成,基于变电站三维动态交互、视频智能分析、智能联动、前端综合数据接入等关键技术实现,并与电网视频监控统一平台互联,具备常用的视频和高级功能。实践证明,系统对安全生产有重要意义,为“大运行”、“大检修”体系的建设起到了积极的促进作用。
关键词:视频监控,变电站,监控中心,智能电网
参考文献
[1]崔燕明,刘孝先,马超,等.电网视频监控系统及接口技术标准[J].电力系统自动化,2010,34(20):13–16.CUI Yan-ming,LIU Xiao-xian,MA Chao,et al.Standards of grid video surveillance system and interface technology[J].Auto-mation of Electric Power System,2010,34(20):13–16.
[2]国家电网公司.电网视频监控系统及接口第1部分:技术要求[R].北京:国家电网公司,2010.
[3]国家电网公司.电网视频监控系统及接口第2部分:测试方法[R].北京:国家电网公司,2011.
[4]国家电网公司.电网视频监控系统及接口第3部分:工程验收[R].北京:国家电网公司,2012.
全景视频 篇6
关键词:反射式全景视频,实时,平面显示,FPGA,虚拟场景
虚拟现实技术可分为两类[1],一类是基于三维图形生成的虚拟场景技术,另一类则是基于实景采集通过几何变换获得近似的真实场景。反射式全景传感器非常适合于构建实景采集的真实场景。在过去的十年中,多种反射式全景传感器相继问世[2]。反射式全景传感器由摄像机和曲面反射镜组成,与普通摄像机不同的是,它可以一次性采集360°圆周内的全部景象,因此得到了广泛应用[3]。
目前,反射式全景技术的研究主要将注意力集中在几何变换算法和镜头校正算法的改进,对采集和显示的同步性问题研究甚少,如文献[1]和文献[4]所做的工作是在图形工作站实现的,便携性差,无法适应嵌入式多媒体应用的要求。另一方面,实际应用中往往要求展开后的平面显示图像有较高的分辨率,而反射镜体积的限制使成像分辨率有限,展开后的图像呈现有规律的锯齿失真和灰度阶梯化现象。这就需要通过相应的视频后处理算法生成人眼能够接受的图像。上述两个问题给反射式全景视频的实时平面显示在嵌入式视频处理平台上的应用带来挑战。
1 全景图像展开算法及其存在的问题
1.1 全景图像展开算法
反射镜为类锥面结构。摄像机得到的反射镜图像如图1(a)所示,展开后的全景图像如图1(c)所示。从图1可以清晰地看出,展开图像中点的纵坐标y′与|OP|的值呈线性关系,而横坐标x′与旋转角度α线性相关,所以P′与P坐标对应关系如下(以图1(b)四分之一圆为例说明):
其中:△x为横坐标方向角度步长,△y为纵坐标方向上的半径步长。本文中,,即展开图像相隔两列在原图中间距为0.141°,同时,原图像被等分为240个同心圆在竖直方向的480行上均等展开。
1.2 失真现象的产生原因及解决
经过变换展开后的平面图像,其坐标变换是非线性采样过程,即采样点呈环状分布,不同半径的环状采样点数相同。如果以原图像最大半径的采样点数作为基准对整幅图像进行展开,则半径越小放大倍数越高,从而导致原图像中靠近圆心的部分展开后存在明显的锯齿化和阶梯化失真现象。具体地说,由于像素值的不连续性,直接放大图像会使这种不连续性被放大。锯齿失真就是由于放大了图像边缘的锯齿状像素产生的;阶梯失真的产生,则是由于不连续的图像梯度边缘像素值直接被复制放大,使原先并不明显的梯度边缘像素值被放大为肉眼能够分辨的一个接一个的阶梯。
2 算法的改进和硬件实现
考虑到在平面图像的放大研究中,为避免图像失真,常采用经典的双线性插值和三次线性差值及其改进算法[5~7]。而全景图像的展开与平面图像的放大存在不同,每个像素的邻域位置不固定,是非线性的放大过程。因此经典的差值算法及其改进算法不能应用于全景图像的展开。根据上述全景图像展开的特性,结合FPGA硬件的可实现性,提出算法如下:对展开的图像采用参数可变的高斯空间滤波,其基本思路是对展开后的图像根据锯齿和阶梯失真的程度,使用不同尺寸的高斯滤波窗进行空间滤波。
ω(s,t)的选取由二维高斯函数H(u,v)决定,设展开前环状半径为R,每个环状的固定采样点为n,展开后环状区域对应的采样间隔为D,则。如前所述,采样间隔与失真度呈正比,而R又正比于展开后图像纵坐标,故应使滤波强度反比于半径R,即二维高斯函数的选取满足:
3 硬件系统实现
实时反射式全景视频处理要求高的处理能力。例如,NTSC制式视频标准要求30帧/s,每帧约0.25 M像素,即每秒7.5 M像素流量;PAL制式视频标准要求25帧/s,而每帧的像素数却更多,总的像素流量与NTSC制式基本相当。而对每个像素的处理量取决于采用的具体算法。通常的方法是使用DSP处理器阵列或单片高端DSP完成。考虑到本算法的查找表操作,需要大量的存储器资源,对于DSP处理器来说,由于成本和空间的限制,需要外接DRAM存储器和复杂控制逻辑,而外接存储器控制逻辑存在带宽限制,使其成为DSP高速图像处理的主要瓶颈之一。另外,考虑到今后更高分辨率显示导致的更高的数据处理量,DSP的实现方案将更加难以实现。FPGA提供了可替代的视频处理平台,FPGA支持高效并发数据流结构,这对于图像处理算法的实时实现至关重要。此外FPGA内部的嵌入式SRAM存储器是查找表操作的理想选择。
3.1 整体硬件系统设计
本系统实现平台以Altera的FPGA芯片Cyclone II EP2C70F896C6为核心。系统的主要模块结构如图2所示。
由于平面显示器一次只能显示90°场景,故将全景图像分为四块,待需要显示时再通过展开算法模块进行展开计算并显示。图像展开算法及VGA控制模块为本系统中的核心模块。由于图像展开时有效图像信息占原图的3/4,为了节省资源,本文对分块之后的图像筛选出有效图像部分存入M4K存储器中,利用VGA控制模块产生的VGA行列扫描信号和正余弦查找表实时产生M4K存储器读地址,实现展开算法。模块结构如图3所示。
3.2 空间滤波器的硬件设计
图4为二维图像滤波器的结构图。输入像素在Line Buffer中前移,产生延迟的一行。Buffer的深度依赖于每一行的像素数。这些延迟的行的像素不断输入滤波器组。在每个滤波器节点,像素被做特定的滤波操作,全部累加器的结果在地址树叠加后产生滤波器输出。
一般硬件执行效率用累加次数来衡量。这样,非对称滤波器的复杂度就正比于m×m。m×m是卷积和的尺寸。锯齿失真噪声抑制功能由m×m的高斯核实现,这个核在图像上按行滑动。所谓参数可变的空间滤波器,即m×m的高斯核尺寸是可调节的。考虑到高斯函数的计算涉及三角函数运算,每次尺寸改变时采用硬件计算生成新的高斯核的方法不妥,且随着高斯核的尺寸增大计算时间也相应增大。为了满足时钟同步的要求就必须提供最大高斯核计算所需的时间,作为每个高斯核计算的固定延时,这样做显然在小尺寸的高斯核计算时间中存在大量的冗余等待时间,这对整个系统的实时性十分不利。考虑视频图像的尺寸是一定的,故采用查找表记录高斯核序列,由于高斯核的尺寸相对于整幅图像非常小,且其序列个数与图像的行数呈正比,故占用的存储空间也不大。这里将图像划分为12个横向带状区域,最上方的带状区域采用3×3的高斯核,而下一行则在上一行的基础上+2,以此类推,最后第n带状区域所使用的高斯核的尺寸为2n+1=25。
4 实验
4.1 硬件系统实时性
本文中系统的延迟指视频流进入FPGA到VGA显示的时间差,在系统中表现为A/D输出数据管脚(i TD1_D上出现的第一个数据和D/A输入数据管脚(o VGA_R,o VGA_G,o VGA_B)上出现的第一个数据之间的时间差。
使用Quartus II中集成的Signal Tap在线逻辑分析仪对系统延迟进行测量。Signal Tap的作用是在系统中添加一个与JTAG接口相连的模块,将用户关心的管脚数据波形通过JTAG接口上传。由于FPGA芯片内部SRAM的限制使Signal Tap数据长度有限,所以本文设计了一个计数器模块对上述时间差中的系统时钟(i TD1_CLK27,27 MHz)进行计数,从而计算得到系统延迟,以证明本系统的实时性。
由于开机时间的误差,所以每次计算所得的计数值都不相同。本文对展开前、展开后无滤波和展开后滤波分别实验10次,对总共30次的实验结果进行分析得到系统延迟。30次实验结果如表1所示。
分别取均值后得到展开前数据延迟为2 417 159个系统时钟,即系统延迟为89.254 ms;展开后无滤波数据延迟为2 432 706个系统时钟,即系统延迟为90.100 ms;展开后滤波数据延迟为2 533 135个系统时钟,即系统延迟为93.820 ms。其中展开算法和滤波算法耗时分别为0.846 ms和3.720 ms。直观观察,显示器显示内容的移动和实际物体移动基本同时进行。
(个系统时钟)
4.2 实际显示效果
分别进行直接展开、参数固定和参数可变高斯空间滤波器处理后展开说明三者区别。
在图5(b)中,展开图像下部锯齿和阶梯失真非常明显;图5(c)中虽然下部锯齿被消除,但是上部图像也变得模糊,图像细节被严重破坏;图5(d)中使用的参数可变高斯滤波器保持了图像上部的细节,同时消除了下部的锯齿。
本文以ALTERA主流FPGA为开发平台,实现了对反射式全景摄像机所得的视频流的实时平面展开,并使用参数可变高斯滤波器对展开后产生的锯齿和阶梯失真进行了有效的抑制,同时保留了图像的细节。本系统展开算法耗时0.846 ms,滤波算法耗时3.720 ms,而VGA显示64.4帧/s,平均每帧为15.528 ms,远远大于本系统算法总耗时4.566 ms。本系统可以在一帧的时间内完成算法,能够满足绝大多数高速应用的要求。
参考文献
[1]YoshioOnoe,Kazumasa Yamazawa,Haruo Takemura,et al.Telepresence by real-time view-dependent image generation from omnidirectional video streams[J].Computer Vision and Image Understanding,1998,71(2):154-165.
[2]吴自新.全景视觉系统设计与图像处理技术研究[D].哈尔滨工程大学,2006.
[3]Niall Winters,JoséGaspar,Gerard Lacey,et al.Omni-Di-rectional vision for robot navigation.IEEE Workshop on Omnidirectional Vision(OMNIVIS'00),2000.
[4]NAGAHARA H,YAGI Y,YACHIDA M.Wide field of view head mounted display for tele-presence with an omnidirec-tional image sensor[J].Conference on Computer Vision and Pattern Recognition Workshop,2003(7).
[5]BOVIK A C.Handbook of image and video processing[M].Beijing:Publishing House of Electronics Industry,2006.
[6]WANG Q,WARD R K.A new orientation-adaptive inter-polation method[J].IEEE Transaction on Image Processing,2007,16(4):889-900.