从序列静态图片中生成高频分辨率视频.doc

上传人:滴答 文档编号:1255853 上传时间:2019-01-19 格式:DOC 页数:8 大小:535KB
下载 相关 举报
从序列静态图片中生成高频分辨率视频.doc_第1页
第1页 / 共8页
亲,该文档总共8页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、从序列静态图片中生成高频分辨率视频摘要:在本文,我们探讨的是从序列静态图片中生成高频分辨率视频的问题。我们把生成一个高频分辨率视频的问题当做一个图像合成问题来思考,而不是提高视频流的分辨率。用数字照相机连续不断的拍摄,我们可以得到每秒 2 到 3 帧的一序列的静态图像。我们的方法的主要的挑战是在两个连续的静止的图像之间进行合成。这图像合成方法是基于场景的运动和图像的特征而变化的。我们已经运用光流、图像分割、图像滤波和图像基本架构的变形技术将图片组合成高频分辨率视频。关键字:视频合成;光流;图像分割1 引言尽管数字视频技术在不断的发展,能做一个高质量电影的摄像机仍然没有达到消费者对数码摄像机要求

2、的极限。与数码摄像机相比,这消费者用的数码相机能捕捉更高质量和分辨率的图像。目前,越来越多的数码相机能够得到连续拍摄的图像。连续拍摄的图像可以被看作为一个单一的图像与视频之间的剪辑而成的一个中间阶段。当保存运动线索在视频剪辑里面的时候,这些连续的图像都有该静态图像的高分辨率的特征。快速专业的数码运动相机能在极高的帧速率下获得连续拍摄的图像,并且这些图像能被直接转换为一个视频。但是,对于顾客用的级别的数码相机来说,连续拍摄的图像的帧速率仍然被限制在每秒 2 到 3 帧。在本文,我们将致力于用低帧率得到的连续拍摄的图像合成高分辨率视频的问题。对于任何一种类型的连续的图像,能进行全自动视频合成将是一

3、个最终的目标。但是,为了证明连续拍摄的图像组合成视频的可行性,我们已经简化了场景类型的限制以及允许在图像分割阶段时用户交互的问题。在本文中,我们用四种不同类型的动作限制了我们的场景:移动的摄相机拍摄静态的环境,静态的摄像机拍摄固定运动轨迹的物体,静态摄像机拍摄人运动和静态摄像机拍摄随机飘动的树。一个普通的场景可能同时由所有的这些动作组成,但是我们已经分别的解决了这些问题。为了用连续拍摄的图像制作出高分辨率的视频,我们需要合成帧与帧之间的两个连续的图像。对于静态环境与移动摄像机的组合,我们使用基于图像变形的光流,在图像之间产生。对于这固定运动的物体,我们使用图像分割和图像变形,在帧之间进行合成。

4、对于人走动的场景,我们结合基于图像变形的光流和图像框架,产生出人走动的图像。最后,对于随机飘动的树,我们运用简单的阿尔法混合,其次是通过对比度增加的滤波器来产生随机飘动的树的图像。大多被描述的算法在本文中是已知技术上想当简单的修改。因此,本文的主要贡献是阐述了用静态图像合成高分辨率视频的问题,并且通过执行四个不同类型的运动场景的实验,证明了我们的方法的可行性。本文的其余部分安排如下:在第二节,我们将研究一些相关的工程。在第三节,将对来自连续拍摄的不同类型的图像合成进行详细的描述。我们将会在第四节展示我们的实验以及结果,并在第五节进行总结和对未来的展望工作。2 相关研究高密度的光学流量算法将两幅

5、图像产生一对一的像素匹配,用能量最小化的方法计算光流。另一个众所周知的光流算法是使用 KLT 方法,对局部运动进行最优化。此外,在不同的图像尺度的分层检索,其计算速度也提高了。最近,再用描述一个视频匹配的方法来定位不用的视频源。他们用稳健估计的流场,插入和推断所丢失的区域。因为 KLT 算法在快速、固定的移动的物体中,有着很高的效率和优异的成绩,我们选择他作为光流的计算。因为这视点或者这动作都是受到连个连续图像的限制,所以为了达到我们的目标,我们不需要恢复摄像机的位置和三维信息。在这种情形下,与我们研究相关的,更多的则是基于图像变形的特征、基于图像扭曲和观点变形的架构研究。商业上的产品如 Ap

6、ple Shake,就是用光流来定时。但是如果两个连续帧之间的动作差别过大,这合成结果就会呈现运动模糊的效果。基于图像的绘制侧重于从给定的图像生成新的图像和视频。有一些研究则是用单一的图像去产生一个新的图像或者一个动画视频。图像漫游是用消逝点分离图像为网格区域,并且基于摄像机的动作,扭曲图像的地域。 QuickTime VR 用全景图像去生成在静态环境下的相机的平移和缩放。随机运动的纹理习惯于推动被风驱动的运动而被动的元素。这些研究都产生了令人信服的结果。但是,由于只有一张图像,视点或者动画运动的变化将仍然被限制在一个小的数值之间。我们考虑我们的研究为一个图像的自然延伸到视频合成。伴有基于运动

7、模糊的图像的定格动画,提出了合成相邻的帧,并且对于那些用到图像分割和光流技术而合成的相邻帧,可用于合成运动模糊的效果。我们提出的方法不同于其他的研究,在这里我们的重点是合成清晰的运动路径的轨迹。运动放大被提出了去放大在图像序列中的小运动,然而,对于我们的情况来说,这两个连读图像的动作都相对很大,因此他很难运用他的方法在我们的案例上。在图像分割上,无论是图像还是视频,基于图割的方法都会产生好的效果。提取清晰的阿尔法抠图,贝叶斯抠图和泊松抠图的方法已经被引用到分割物体。另外一个简单而有效的分割法是基于元胞自动机。对于视频合成,这图像的分割经常需要使用者的精炼去删除那些图像闪动的缺陷。因此,对于我们

8、的情况而言,我们是使用基于元胞自动机的方法来执行初始分割和完善与用户交互的结果。3 用连续拍摄的到的图像进行图像合成为了将两张已给出的图像合成一张新的图像,我们利用光流的计算来匹配连续的两张图像,并用光流的流场使图像源变成,成为想要的图像。对于移动摄像机下的静态场景来说,在图像逆映射算法下的光流产生的是令人信服的结果。但是对于有移动物体的场景,只使用光流得不到一个良好的效果。一些虚假的影像会在运动物体的边界上产生。因此,我们用基于元胞自动机的方法分割前景层,并通过用户的交互来进一步完善他。通过使用前景对象层的光流,我们对移动的物体的图像进行演变,使他成为相邻的帧。对于铰链式接合的图如行走的人,

9、图像匹配不能在那走动的腿上进行正确的像素映射。我们已经将人的身体分为上身和下肢。对于上身,我们把他当做一个固定的物体。而对于下肢,我们要计算每幅图像的最基本的结构,并且用基于基本结构的图像变形去弯曲那腿。对于随机飘动的树,我们已经采用了简单的阿尔法混合,紧接着是用对比度增强的滤波器来产生相邻的帧。3.1 基于图像变形的光流对于在静态的环境中,将用移动的摄像机所得到的相邻的帧进行合成,是一种属于图像匹配和图像变形的问题。如果相机在一个固定的视点平移,那么问题就会变成一个全景图像拼接和投影变形的问题。对于我们的情况,我们做的试验是伴随着相机沿着一定路径移动。如果我们只使用一个相机,并且不去计算相机

10、内部参数和位置,那么这样的话,相邻图像的匹配就只是纯粹以图像为基础。我们正在使用很小的时间间隔来处理图像(大约0.5 秒),两个连续图像之间的光流也将不会过大。想象一下 I(x, y) 和 J (x, y)是两张相邻的图像。光流的矢量 d = dx, dy对图像 I 的图像点 u = ux, uy到图像 J 的图像点 v = vx, vy进行了映射。J (vx, vy) = I(ux + dx, uy + dy) (1)这个光流矢量 d 是通过点 u = ux, uy在一定窗口尺寸下,用最小残留误差进行计算。Lucas-Kanade 的光流法计算了小画面尺度的流动矢量,并且将他作为一个未知的初

11、始值传送到下一级。这个误差最小化是通过渐变衍生法得到的。在本文,我们没有提出一个新的光流算法。相反的,我们使用的是计算机代码里面的 LK 金字塔光流代码,去计算两张图像之间的光流。一旦我们得到了两张图像之间的光流,我们可以利用流动的矢量将一张图片变成另一张。从算数角度上来说,运用光流从图像 I 到 J,是一项具有前瞻性的变形。然而,前向映射还是有一些混叠与孔的问题。光流可以被双通法解决,但是因为运动的光流十分的缓和,所以我们用相似于文献 14 中的逆运算变形法。我们使用线性因子将流动矢量顺利的从0,0改变到 dx,dy。因为这些连续拍摄的图像的帧率是在每秒 2 到 3 帧,所以在两个连续拍摄的

12、图像之间,我们需要 10 张图像来组合。所以线性因子从 0 到 1 的增加的区间为 0.1。逆运算变形法被描述在方程式(3)中。I(x, y) = I(x f dx, y f dy) (3)这个逆运算变形法通过光滑缓和的矢量场,在屏幕上运行的很好。但是,当那里有一个运动的物体,或者屏幕拓扑改变了很多,我们不能简单的用光流将一张图像进行改变。3.2 运动固定的物体对于一个静态的摄像机拍摄一个运动的物体,我们首先需要将移动的物体分割开来。而要想做到这一点,我们要初步计算被平均化的完整序列图片的背景。通过使用一个忽视前景像素的大阈值(RGB 色差总计),并用剩余的像素得到平均的背景,使背景图像有更好

13、完善。为了得到更精确的背景,这个过程将会以降低门槛值为前提而重复的执行。在我们的情况看来,大的和小的门槛值的两步重复,已经取得了很好的效果。图.1.左边:利用平均估计的背景,右边:运用大与小的阀值完善而成。在下一步,我们将用简单的 RGB 颜色的阀值,分割出前景对象。该结果因通过侵蚀与扩张技术去删除背景像素,以及将背景对象填充到孔内而的到更进一步的完善。做完这些,我们把通过分割边界设置的像素当作为未知像素。图.2.左边:对未知像素的黑灰色进行的分割,右边:利用元胞自动机进行的分割最后,我们用基于元胞自动机的方法,将前景对象分割出来。每一个像素都分配了标注、能量和他们的 RGB 颜色值。这个标注

14、有三种类型:前景、背景和不确定性。前景和背景像素的能量被设置为 1,而不确定的像素则是被设置为 0。在每一个重复的步骤中,拥有更高能量与更高颜色相似度的相邻的像素,将试图改变现有的像素的标注和能量。通过元胞自动机而产生的自动分割的效果是相当好的。为了消除闪烁的影像,我们就像之前所描述的那样,通过移动边界线,改进了分割的效果。分割了之后,我们用第一节所描述的那样,计算移动物体的光流。这被分割的图像,常常是不完美的匹配,并且在相机的焦点和灯光的条件上,将会有小的变化。就是因为这样,简单的改变源图像,使之成为目标图像,将会产生闪烁的现象。因此,我们使用了变形技术,来组合成相邻帧。首先,我们利用光流扭

15、曲目标图像使之成为源图像,然后得到一个变形后的源图像 J。所有在图像 J的像素值都是来自于目标图像。一张新的图像的组成,是由源图像 I 和变形了的源图像 J的线型混合。这个变形方程已被描述在方程 4 中。I(x, y) = (1 f ) I(x f dx, y f dy) + f J (x f dx, y f dy) (4)对于那些反射和阴影,如果我们在反射部分使用图像变形,他将会对背景场景的纹理做一些改变。因此,我们要通过光流,使用不同的图像以及对不同图像进行变形。这些不同的图像之间都没有很好的特征,而这将会导致在合成反射图像时,产生一些突变。所以我们要用低通滤波器,使变形后的反射图像变得平

16、滑。图.3.左边:反射图像。右边:不同的图像3.3 行走的人对于人行走的场景,我们已经将人的身体分为上身和下肢。对于上身,我们就把他当做一个固定移动的物体,并且用第二节所描述的方法,对相邻图像进行合成。对于下肢,我们要对每幅图像的基本框架结构进行计算,并且要用基于架构的图像变形法,对从一张图像到另一张图像的腿进行变形。图.4.上面的图像:在图像序列中的腿。下面的图像:利用正向运动学计算相邻的架构。对于在分割抠图中的每一个内在的像素,我们计算的是行板边界距离最短的像素间距。通过寻找局部极大值和霍夫变化,我们能很容易的计算出基本结构。这相邻的基本结构是通过简单的正向运动学方法的计算得来的。我们使用

17、基于特征的图像变形,对有腿的图像进行变形扭曲。对上身与下肢之间的边界,则会因为两者使用不同的图像变形法而有些不连续。所以在这些边界上,我们计算像素的位移是通过包含了基于变形的光流和基于变形的基本结构这两方面的线型混合的像素位移。左边的脚以类似的方式变形着。在这左脚上的一个问题是:一些左脚被右脚完全的遮住了。对于这些被完全遮住的左脚,我们通过相邻的含有左脚的图像,来手动画出这些左脚。3.4 树树的运动有着随机动作的特征,因此,用基于匹配的方法去组合相邻的帧是非常困难的。我们已经运用一个简单的阿尔法混合,紧随其后的是去模糊操作,将两个相邻的帧进行组合。加入我们运行阿尔法混合的图像序列,他将会看起来

18、像是一个高速运转的模糊的视频。所以我们用对比度增强的滤波器来减少模糊的效果。然而,对原始图像进行对比度增强的操作,将会使原始的连续拍摄的图像比阿尔法混合的图像更加锐利。所以我们要用简单的方法去模糊原始图像。I0是原始的连续拍摄的图像,I-1和I1是分别位于原始拍摄图像的前面和后面。运用方程(5),组合出了这新的阿尔法混合图像。I0(x, y) = 0.1 I1(x, y ) + 0.8 I0(x, y) + 0.1 I1(x, y) (5)利用这种途径,我们可以组合出树的运动轻微而模糊的视频。图.6.树的动作合成的效果4 实验和结果我们用的是佳能 2D 数码相机,通过远程遥控开关去捕捉连续拍摄

19、的图像。我们可以不间断的捕捉到大约 300 张连续的图像。由于帧速是 2 到 3 帧每秒,所以他可以被当做是一段 3 分钟的视频剪辑。这个相机的快门要快。在室内场景时,快门的速度要设置在1/601/40,并且 ISO 要设置在 1600。在室外场景时,快门的速度要设置在 1/2001/125,ISO 要设置在 100200。为了捕捉连续的画面,我们用最小图像大小(17281152)。对于我们的实验,我们向下采样图像的大小为 1440960,使用拥有英特尔 3.2GHZ 四核至强处理器和 2GB 内存的工作站。对于编程,我们用到了带有 OpenCV代码库和 Mtalab6.5 的 Visual

20、C+。在我们的视频合成中,速度上主要的瓶颈是光流的计算。由于我们用伪逆图像变形,在光流计算中,视窗的大小被设置为 1530。对于静态环境下的移动的相机,视窗的大小被设置为 15。对于运动的物体和人的走动,由于动作幅度过大,我们设置该视窗为 30。在视窗大小为 15,图像大小为 1440960 的条件下,光流的计算时间为 180 秒。对于视窗大小为 30 的情况下,这个计算的时间为 720 秒。由于光流的计算所花费的时间过多,我们已经尝试使用较小的图像大小的光流和线性插值来获得在更大的图像尺寸下的放大的光流。图像大小为 720480,视窗为 15 的光流的计算是 50 秒左右。使用逆映射的图像合

21、成时间,将少于每幅图像一秒。对于在静态环境下的摄像机的运动,这个变形的图片的边界上就会有一些孔。我们只须裁剪整个序列的合成的图像,组合成一个高分辨率的视频。这个被裁剪过的图片的大小为 1080720,而且依然比数码摄像机下的都的图像要大的多。对于我们人走动的视频,由于我们只用基于简单的正向运动学的方法,所以人走动所呈现出来的效果就像是太空漫步。5 结论和未来展望在本文,我们介绍了一个新的方法去合成一部高分辨率视频。我们采用连续拍摄静止图像去合成视频,而不是提高视频流的分辨率。在利用相邻帧的图像合成中,我们已经发现了,在场景中的这个方法需要基于动作的多变性。但是通过限制场景的种类,我们已经简化了

22、这个问题。对于静态的环境,我们使用伪逆矩阵图像变形的光流。对于运动固定的物体,我们使用分割和光流,制作出固定运动物体的动画。对于反射的图像,我们用利用不同图像的图像变形,以及用低通滤波器使效果变得平滑。对于人的走动,我们结合基于光流的图像变形和基于结构的图像变形,组合成一个人走动的视频。最后,我们用简单的阿尔法混合和对比度增强的滤波器来生成一个树运动的视频。通过我们的方法,很有可能用民用级的数码相机拍摄出影片质量高的视频。甚至在未来,只要数码相机的分辨率高于数码摄像机,我们的做法就是另一种解决数字视频设备分辨率已达到极限的方法。对于未来的工作,我们要实现 GPU 上的光流算法。很多基于绘制方法的视频都是根据光流的计算,但是光流计算对于交互式应用来说,实在是太慢了。我们将在不同类型的场景上进行试验,比如说,驾驶场景,移动相机下的移动的物体,潜水等等。我们还想到用精心校准的视频和相机的一对。基于来自视频图像序列上的光流,这些连续拍摄图像将会被改变着。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。