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

文档序号:9547973阅读:来源:国知局
,选择创建大小为 (640, 480, 200)的grid,即一共有640X480X200个block,也就是说每帧里面的每一个像 素都会分配一个Block,而在每个具体的block里面,又创建了 9个thread,这9个thread 对当前像素随着光流场向前先后共同选取一个3D结构元,使每个thread对应一个视频帧 中邻域。然后众多的thread独立进行形态学开闭操作,实现形态学操作的并行加速。
[0033] 步骤4 :视频纹理层的融合。
[0034] 为了完成纹理层的融合,我们把目标视频的每一帧和纹理层由RGB颜色空间转换 到YIQ空间,然后逐一对目标视频帧的Y分量进行重新映射,完成整个融合过程,其公式如 下:
[0035] Y(t' ) = kX (Y(s)-U(s))+Y⑴(3)
[0036] 其中,Y(t')表示重新映射后的目标图Y分量;Y(S)表示源纹理的Y分量;Y(t) 表示目标图原始Y分量,k表示目标图Y方差/源纹理Y方差,U(S)表示源纹理Y分量均 值。
[0037] 对于一些特殊风格,如点画和风格化线条风格,本发明在对其进行纹理层与视频 帧进行融合前,先要对视频帧执行直方图均衡化操作,使其灰度均匀分布,获得细节更为清 晰的输出图。
[0038] 本发明提出的基于纹理传输的多风格视频艺术化处理方法,由用户给定的输入样 本纹理提供视频艺术化的风格,通过结合方向场的纹理合成方式把样本纹理所携带的艺术 风格传输到纹理层中,然后把该纹理层随光流场传输并与视频融合完成视频的艺术化处 理。更好地实现了视频风格个性化定制的效果,对于方向感强烈的艺术风格如梵高油画、风 格化线条等可以获得理想的模拟效果。
[0039] 本发明描述了一种基于纹理传输的多风格视频艺术化方法,将用户输入的源视频 和样本纹理经过纹理合成传输修补与融合,完成对源视频的艺术渲染。利用基于方向场的 纹理合成算法合成了带有视频内容信息的纹理传输层,使纹理层能够体现非真实感绘制中 的笔刷方向,在模拟油画、风格化线条等这些带有强烈方向感的艺术风格时能够取得更好 的效果。在处理纹理传输后的纹理走样问题时,同样也借鉴了纹理合成思想,利用帧间有限 的纹理变化实施有限修补,提高了修补的效率和效果。同时,对视频抽象的加速也使得程序 的处理速度获得了提升。
[0040] 本发明的优点如下:
[0041] (1)多风格视频渲染。将对应不同风格的样图纹理传输并合成到纹理层,将纹理 层与源视频合成得到不同的视频艺术化结果。在合成时利用方向场实现带方向的"各向异 性"纹理合成,使得视频艺术化合成质量更高。
[0042] (2)较高的视频时域连续性。采用基于局部纹理合成的方法,对经过光流传输后发 生拉伸走样的纹理层进行快速有效修补,从而实现视频艺术化的时域连续性。
[0043] (3)速度提升。利用CUDA加速框架把原有的CPU端的视频抽象计算改为GPU上的 并行计算,从而大大提尚视频抽象效率。
[0044] (4)基于纹理传输,易于实现。本发明采用的易于实现的纹理传输方法,相比基 于分割和基于标记的方法,不需要复杂的属性管理、控制过程以及过多的人工辅助,实现简 单,自动性较高。
【附图说明】
[0045] 图1是本发明的流程图
[0046] 图2箭头代表纹理拉升方向,直角形标记区域表示邻域形状
[0047] 图3局部合成顺序示例情况
【具体实施方式】
[0048] 本发明的各个功能模块的详细流程如附图1。首先,基于方向场的多风格纹理层合 成,它接受用户输入的样本纹理和带有视频帧方向信息的流场(方向场),然后经过基于块 的纹理合成生成一个与视频分辨率大小相同的纹理层。然后,在光流场的辅助下完成纹理 层的传输,同时对传输过程产生的纹理拉伸走样进行修补。为了保证与周围纹理的良好衔 接,在执行修补时我们需要特别考虑邻域的选取和合成顺序。其次是基于GPU的快速视频 抽象.最后将视频帧与纹理层融合得到最终的视频艺术化结果。
[0049] 具体步骤如下:
[0050] 步骤1 :基于方向场的多风格纹理合成,采用基于方向场的纹理合成方法,根据视 频相关信息合成出一个纹理层,使合成的纹理层不仅有样本纹理的质地特征,还能动态体 现视频中各种场景物体的物体轮廓、走向等信息。
[0051] 1. 2生成边缘切向场(ETF)数据,并保存成图片格式。
[0052] 1. 2基于块的纹理合成生成一个与视频分辨率大小相同的纹理层,其合成过程如 下:
[0053] I. 2. 1初始化系统参数,设定合成窗口及邻域大小,根据视频帧生成对应的方向 场。
[0054] 1. 2. 2根据合成窗口大小,按照从左到右,由上到下的顺序扫面对应帧的方向场, 通过计算合待成窗口内像素点的平均方向场方向来决定此待合成窗口的最终方向。
[0055] 1. 2. 3在求得待合成窗口的方向后,在候选纹理集内选择对应方向的样本纹理,按 照基于块的纹理合成方法合成完整纹理传输层。
[0056] 步骤2 :纹理层传输与修补,把步骤一中合成的纹理层随光流场进行传输。为了应 对传输过程中产生的纹理走样问题,需要对纹理层执行有限修补。
[0057] 2. 1基于光流场的纹理层传输:
[0058] 2. I. 1提取视频光流场,保存在图片中。
[0059] 2. 1. 2根据提取到的光流场对步骤一中合成的纹理层进行传输,传输公式如(1)。
[0060] P (U (X,t)) = P0 (U (X,t)) +V (X,t) (1)
[0061] 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完成纹理坐标到屏幕坐标的映射后,会在下一帧的纹理传输过程中成为匕,以此重 复,直至完成全部帧的传输。
[0062] 2. 2纹理层的修补:
[0063] 2. 2. 1定位发生纹理走样的像素点:由于纹理传输时,只是对纹理坐标的传递映 射,而纹理拉伸走样问题就是因为在像素点的运动轨迹上出现了过多重复的像素而导致 的。因此,我们只需要在每个像素点纹理坐标的3X3邻域内查找是否含有重复坐标值,若 有重复值,即可判断为此像素点发生走样,反之则无。
[0064] 2. 2. 2纹理合成的邻域选取:把纹理合成用于纹理传输时的纹理修补,并不能简 单的选取一个L型或是I型邻域。为了使修补后的纹理与原始纹理层中未变形部分能够良 好衔接),我们的邻域选择会根据纹理发生走样时的拉伸方向的不同而有所区别,我们把纹 理拉伸方向量化为水平和垂直方向上的4个方向,对应的邻域形状有「、-|和L型(如附图 2) 〇
[0065] 2. 2. 3局部纹理合成顺序的确定:因为选择的邻域形状的不同,所以在最终的局 部合成时的顺序也不尽相同。对于具体的局部合成顺序,以邻域形状为Π 为例说明(如附 图3),在全局扫描顺序下,扫描到变形区域1时,系统会检测此时的变形方向,在确定变形 方向向左时,系统会把当前的待修补块1放入堆栈里,然后按照变形方向反向继续扫描,直 至扫描到图像边缘或者未变形块时停止(块2、3)。此时,开始从堆栈中取出待合成块,由于 堆栈的特性为先进后出,所以从最后一个进入堆栈的块开始,按照右上L型邻域开始合成。
[0066] 步骤3 :基于GPU的快速视频抽象,利用GPU加速的彩色图像形态学操作。
[0067] 在灰度图的形态学操作中,膨胀操作(Dilation)可去掉图中较暗的部分,使较高 亮度的部分得到传播。腐蚀操作(Erosion)刚好相反,会使图中较暗部分得到传播。
[0068] 让I代表一幅图像,B表示一个形态学操作的结构元,它包含了当前像素点的邻域 坐标,X表示图像中的一个像素点。那么,形态学膨胀操作β和腐蚀操作ε就可
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1