基于纹理传输的多风格视频艺术化处理方法

文档序号:9547973阅读:245来源:国知局
基于纹理传输的多风格视频艺术化处理方法
【专利说明】基于纹理传输的多风格视频艺术化处理方法 所属技术领域
[0001] 本发明涉及一种计算机图像处理技术。 现有技术
[0002] 视频艺术化处理是计算机非真实感绘制的一个重要研究分支,它采用艺术的非真 实感绘制方法呈现动态视频场景,把用户给定的一段视频转化为带有不同艺术风格的视 频,使之表现出与原视频不同的情感特征,在电影、动漫制作和视频娱乐等方面有着广泛的 应用。
[0003] 现有的基于光流的视频艺术化方法利用光流信息来指导标记(笔刷)或者纹理进 行传输来生成相应艺术风格的视频。在基于标记的方法中,利用弯曲标记来模拟画家画笔 的粗细、走向等属性,可以实现多种风格渲染。但其缺点是标记的属性过多且不易维护,实 现起来比较困难,部分算法还需要人工辅助,增加了操作的难度。现有的基于纹理的视频艺 术化方法包含基于纹理层传输的方法和直接合成视频帧两类方法。基于纹理层传输的方法 通过传输与视频分辨率等大的整块纹理层来模拟水彩画风格,由于其使用的各向同性的单 一纹理所能表达风格种类有限,使得该方法生成的视频艺术化风格单一,无法扩展生成多 类不同的视频风格。直接合成视频帧的方法基于单帧纹理合成的思想实现了自定义的多风 格处理,但该方法并没有使用一个纹理层进行传输,直接在视频帧上合成、分块传输,容易 破坏原有视频场景的图像特征,因此该方法需要采用一系列复杂的修补方法;同时为了保 证时域连续性,该方法要对光流场进行优化,并计算相邻块之间的相关性,进一步提高了该 方法的计算复杂度。且上述基于纹理的视频艺术化方法都没有考虑带有变化方向场的纹理 生成,从而降低了其对一些特定艺术风格的模拟效果,如笔刷走向较明显的油画风格。
[0004] 基于分割的方法采用类似于图像分割算法的方法实现视频风格化处理,不同的是 基于分割的视频艺术化算法不仅要使各个区域能够精确分割,还要保证分割后区域的帧间 连续性。目前基于分割的算法渲染样式比较单一,大多数只是模拟卡通风格,虽然有些算法 结合了基于标记的方法实现了多风格渲染,但实现起来比较复杂。

【发明内容】

[0005] 本发明要克服现有技术的上述缺点,提供一种视频艺术化合成质量更高、较高的 视频时域连续性、速度快、易于实现的基于纹理传输的多风格视频艺术化处理方法。
[0006] 本发明采用纹理传输的方法,通过用户输入源视频以及不同艺术风格的样本纹理 渲染出带有相应艺术风格的风格化视频。同时结合基于方向场的纹理合成及修补方法实现 方向感明显的艺术风格(如油画等)的模拟。
[0007] 本发明的视频艺术化算法分为三大部分,分别是纹理层的合成传输与修补、视频 抽象操作以及最后的视频纹理层融合,最终得到多风格视频艺术化结果。
[0008] 方法中,先由用户选择带有某种风格笔刷的样本纹理作为期望学习的风格,该样 本纹理和源视频一起成为本发明的多风格视频艺术化系统的输入。对于视频的第一帧,采 用基于当前帧方向场合成得到一个与视频分辨率相同的各向异性纹理传输层;接下来,让 这个纹理层随着光流场信息进行传输,与此同时,对传输过程中出现的纹理拉伸走样部分 进行有限的高效纹理修补。视频艺术化的另一部分即视频抽象,通过抽象去掉视频中的不 必要细节和立体信息。最后经过纹理传输层和抽象后视频的融合,输出艺术化后的结果视 频。
[0009] 基于纹理传输的多风格视频艺术化处理方法,包含如下四个步骤:
[0010] 步骤1 :基于方向场的多风格纹理合成,采用基于方向场的纹理合成方法,根据视 频相关信息合成出一个纹理层,使合成的纹理层不仅有样本纹理的质地特征,还能动态体 现视频中各种场景物体的物体轮廓、走向等信息。
[0011] I. 1生成边缘切向场(ETF)数据,并保存成图片格式。
[0012] 1. 2基于块的纹理合成生成一个与视频分辨率大小相同的纹理层,其合成过程如 下:
[0013] 1. 2. 1初始化系统参数,设定合成窗口及邻域大小,根据视频帧生成对应的方向 场。
[0014] 1. 2. 2根据合成窗口大小,按照从左到右,由上到下的顺序扫面对应帧的方向场, 通过计算合待成窗口内像素点的平均方向场方向来决定此待合成窗口的最终方向。
[0015] 1. 2. 3在求得待合成窗口的方向后,在候选纹理集内选择对应方向的样本纹理,按 照基于块的纹理合成方法合成完整纹理传输层。
[0016] 步骤2 :纹理层传输与修补,把步骤一中合成的纹理层随光流场进行传输。为了应 对传输过程中产生的纹理走样问题,需要对纹理层执行有限修补。
[0017] 2. 1基于光流场的纹理层传输:
[0018] 2. I. 1提取视频光流场,保存在图片中。
[0019] 2. 1. 2根据提取到的光流场对步骤一中合成的纹理层进行传输,传输公式如(1)。
[0020] P (U (X, t)) = P0 (U (X, t)) +V (X, t) (1)
[0021] X = (X, y)表示t帧纹理坐标,U = (X, t)表示t帧屏幕坐标,P。(U(X, t))表示t 帧待传输纹理中点X = (X,y)的像素值,t时刻视频帧的X点的运动向量则表示为V(X, t) =Xt i-Xt,我们可以在光流场中提取到所需要的所有像素点的运动向量。这样,在当前帧的 纹理层P完成纹理坐标到屏幕坐标的映射后,会在下一帧的纹理传输过程中成为匕,以此重 复,直至完成全部帧的传输。
[0022] 2. 2纹理层的修补:
[0023] 2. 2. 1定位发生纹理走样的像素点:由于纹理传输时,只是对纹理坐标的传递映 射,而纹理拉伸走样问题就是因为在像素点的运动轨迹上出现了过多重复的像素而导致 的。因此,我们只需要在每个像素点纹理坐标的3X3邻域内查找是否含有重复坐标值,若 有重复值,即可判断为此像素点发生走样,反之则无。
[0024] 2. 2. 2纹理合成的邻域选取:把纹理合成用于纹理传输时的纹理修补,并不能简 单的选取一个L型或是I型邻域。为了使修补后的纹理与原始纹理层中未变形部分能够良 好衔接),我们的邻域选择会根据纹理发生走样时的拉伸方向的不同而有所区别,我们把纹 理拉伸方向量化为水平和垂直方向上的4个方向,对应的邻域形状有「、-|和L型。
[0025] 2. 2. 3局部纹理合成顺序的确定:因为选择的邻域形状的不同,所以在最终的局 部合成时的顺序也不尽相同。对于具体的局部合成顺序,以邻域形状为-I为例说明,在全 局扫描顺序下,扫描到变形区域1时,系统会检测此时的变形方向,在确定变形方向向左 时,系统会把当前的待修补块1放入堆栈里,然后按照变形方向反向继续扫描,直至扫描到 图像边缘或者未变形块时停止(块2、3)。此时,开始从堆栈中取出待合成块,由于堆栈的特 性为先进后出,所以从最后一个进入堆栈的块开始,按照右上L型邻域开始合成。
[0026] 步骤3 :基于GPU的快速视频抽象,利用GPU加速的彩色图像形态学操作。
[0027] 在灰度图的形态学操作中,膨胀操作(Dilation)可去掉图中较暗的部分,使较高 亮度的部分得到传播。腐蚀操作(Erosion)刚好相反,会使图中较暗部分得到传播。
[0028] 让I代表一幅图像,B表示一个形态学操作的结构元,它包含了当前像素点的邻域 坐标,X表示图像中的一个像素点。那么,形态学膨胀操作β和腐蚀操作ε就可定义为:
[0030] 形态学开操作(Opening)是腐蚀操作和膨胀操作的顺序组合;而形态学闭操作 (Closing)是膨胀操作和腐蚀操作的顺序组合。我们通过交替使用形态学开闭操作,使视频 得到抽象。
[0031] 为了把基于图像的形态学操作算法应用到视频抽象中,本发明也在时间和空间上 扩展了形态学操作,其结构元的选取不再是2维空间中的矩阵,而是时空3维空间上的3D 结构元。
[0032] 在确定结构元的选取后,利用GPU的并行计算框架CUDA实现对视频的连续 抽象。根据视频的大小(假设视频共有200帧,分辨率为640X480)
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1