CN113487474A - 一种内容相关的gpu实时粒子特效方法 - Google Patents
一种内容相关的gpu实时粒子特效方法 Download PDFInfo
- Publication number
- CN113487474A CN113487474A CN202110752537.3A CN202110752537A CN113487474A CN 113487474 A CN113487474 A CN 113487474A CN 202110752537 A CN202110752537 A CN 202110752537A CN 113487474 A CN113487474 A CN 113487474A
- Authority
- CN
- China
- Prior art keywords
- particle
- image
- particles
- time
- animation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 239000002245 particle Substances 0.000 title claims abstract description 173
- 230000000694 effects Effects 0.000 title claims abstract description 60
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 34
- 238000009877 rendering Methods 0.000 claims abstract description 25
- 238000006073 displacement reaction Methods 0.000 claims abstract description 23
- 230000003287 optical effect Effects 0.000 claims abstract description 23
- 238000004364 calculation method Methods 0.000 claims abstract description 19
- 238000012545 processing Methods 0.000 claims abstract description 19
- 238000012805 post-processing Methods 0.000 claims abstract description 10
- 238000005516 engineering process Methods 0.000 claims abstract description 8
- 238000013507 mapping Methods 0.000 claims description 7
- 230000011218 segmentation Effects 0.000 claims description 7
- 239000013598 vector Substances 0.000 claims description 7
- 238000004040 coloring Methods 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 6
- 238000009826 distribution Methods 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 claims description 3
- 239000003086 colorant Substances 0.000 claims description 3
- 238000012804 iterative process Methods 0.000 claims description 3
- 238000009827 uniform distribution Methods 0.000 claims description 3
- 230000000873 masking effect Effects 0.000 claims description 2
- 230000000007 visual effect Effects 0.000 abstract description 13
- 238000007654 immersion Methods 0.000 abstract description 4
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000010801 machine learning Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Computer Graphics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Operations Research (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种内容相关的GPU实时粒子特效方法。它在GPU中对视频/图片画面内容进行分析,利用光流估计算法计算图像的亮度、梯度及相邻视频帧的位移变化量,提取画面内容轮廓、空间/时间变化过程和运动轨迹,再根据自定义模板及规则,在图像边缘轮廓或运动轨迹中随机生成和排布粒子,然后利用现代GPU可编程管线的特性,通过编写自定义计算着色器控制并调节粒子及发射器的各种参数,结合空间/时间变化进行粒子的更新迭代,最后基于图形渲染及后处理特效技术,渲染并绘制出粒子效果。本发明的有益效果是:实现品类更加丰富,沉浸真实感更强;提高算法的处理效率,降低CPU负载,满足实时性处理要求;丰富粒子的视觉效果,增强物理真实感。
Description
技术领域
本发明涉及图像处理相关技术领域,尤其是指一种内容相关的GPU实时粒子特效方法。
背景技术
粒子系统是计算机图形学中用于模拟特定现象或视觉效果的常用技术之一,它在模仿自然现象、物理特效等方面上独具优势,它能够实现一些真实自然且具备随机性的效果,如火焰、爆炸、烟雾、水流、雨雪等。粒子系统因其丰富视觉效果和灵活的表现,在图像处理、视频剪辑、游戏特效等领域有着广泛的应用。
粒子系统的组成部分包括粒子群、发射器、影响器和渲染器等模块,它通过参数更新和物理模拟阶段,将特定形状的三维粒子利用纹理贴图等方法渲染并呈现给用户。现有的粒子系统是通过为视频/图像画面增添辅助元素来丰富视觉效果表现力的,而粒子的大小、位置、颜色、形状、纹理与画面内容无关。
将视频/图片画面内容与粒子系统相结合,可以进一步增强粒子效果丰富度及其表现力,也是当前研究热点之一。同时,在当前移动互联网时代,连接设备的品种丰富多样,但硬件资源和计算能力却相对有限,如何充分利用计算设备能力以支撑实时渲染的粒子系统,变成了一大难点。
发明内容
本发明是为了克服现有技术中存在上述的不足,提供了一种支撑实时渲染的内容相关的GPU实时粒子特效方法。
为了实现上述目的,本发明采用以下技术方案:
一种内容相关的GPU实时粒子特效方法,具体包括如下步骤:
(1)根据具体应用场景需要选择合适的粒子效果模板,或根据需求设置粒子系统的初始参数;
(2)采用光流算法,利用GPU并行处理能力,实时分析视频/图片画面内容,计算图像的亮度、梯度及相邻视频帧的位移变化量,利用Canny算子提取画面内容的边缘轮廓;
(3)利用显著性算法和物体分割算法,进行视频/图像的智能分析并获取视频的感兴趣区域、主要对象和遮罩信息;
(4)根据粒子效果模板及规则,选择画面区域作为粒子的发射区域,以发射区域为中心随机生成和排布粒子;
(5)编写自定义GPU计算着色器,并结合画面内容的亮度、梯度和相邻视频帧的位移变化量,实现调节和控制粒子的更新迭代过程;
(6)基于三维图形渲染及影视后处理特效技术,渲染和绘制粒子,根据场景和效果需求,应用遮罩信息以实现粒子特效效果。
上述方法根据视频/图片画面内容及时间/空间变化,通过调节并控制粒子的大小、方向、位置、速度、加速度、旋转、形状、颜色、透明度、纹理、灯光、生命周期、运动轨迹等粒子及发射器参数,可以实现品类更加丰富,沉浸真实感更强,视觉效果更自然的粒子效果;结合深度神经网络等机器学习技术,智能分析并获取视频/图片感兴趣区域,提取主要物体及遮罩信息,可以模拟并实现出更加贴合物理真实的视觉特效;充分利用现代GPU高效且强大的并行流水线处理能力,采用光流法在GPU中实时分析视频/图片画面内容,提取空间和时间的变化过程和运动向量,并利用计算着色器调节并控制粒子参数变化及更新过程,大大提高了算法的处理效率,降低了CPU负载,满足实时性处理要求;可便捷地模板化粒子物理模拟和图形渲染过程,级联其他影视后期处理滤镜,丰富粒子的视觉效果,增强物理真实感。
作为优选,在步骤(1)中,粒子系统的初始参数包括贴图纹理、基础形状、基本尺寸、初始速度、灯光阴影、发射速度。
作为优选,在步骤(2)中,假设输入图像I的颜色空间为RGB,其他颜色空间的图像按照标准公式转换到RGB颜色空间,t时刻图像(x,y)坐标处RGB颜色值为[Rt(x,y),Gt(x,y),Bt(x,y)],那么t时刻图像(x,y)坐标处的亮度计算公式为:Lt(x,y)=Rt(x,y)*0.2126+Gt(x,y)*0.7152+Bt(x,y)*0.0722。
作为优选,在步骤(2)中,在获得t时刻整幅图像的亮度值Lt后,利用Sobel算子在每个坐标(x,y)的3x3区域中计算图像的水平方向梯度Ght和垂直方向的梯度Gvt,其计算公式为:
Ght(x,y)=Lt(x+1,y-1)+2.0*Lt(x+1,y)+Lt(x+1,y+1)-Lt(x-1,y-1)-2.0*Lt(x-1,y)+Lt(x-1,y+1)
Gvt(x,y)=Lt(x-1,y+1)+2.0*Lt(x,y+1)+Lt(x+1,y+1)-Lt(x-1,y-1)-2.0*Lt(x,y-1)+Lt(x+1,y-1)
而图像的梯度幅值计算公式为:
利用Canny算法过滤非极值,并使用上下阈值以获得图像的边缘轮廓。
作为优选,在步骤(2)中,根据光流算法的亮度恒定和光流场平滑的两个基本假设,同一目标物体运动时,其亮度不会发生明显改变,时间的变化也不会引起目标物体位置的剧烈变化,相邻帧的目标物体位移较小;假设某一个目标物体t时刻(x,y)坐标处的亮度Lt(x,y),经过间隔时间dt移动了(dx,dy)距离,根据亮度恒定假设,Lt(x,y)=Lt+dt(x+dx,y+dy),对等式右边进行泰勒级数展开,得到
δ表示二阶变化量,可忽略,对等式两边同除以dt后得到:
作为优选,在步骤(3)中,视频/图像内容中包含人脸/人像/人体这些主要对象的区域为视频/图像的感兴趣区域,而遮罩信息则表示感兴趣区或主要对象的黑白掩膜图像。
作为优选,在步骤(4)中,具体为:在感兴趣区域、主体对象、边缘轮廓和运动轨迹四个候选区域中选择一个作为粒子发射区域,并根据参数随机生成和排布粒子,其中感兴趣区域和主体对象为显著性算法或物体分割算法的输出结果,而边缘轮廓和运动轨迹则是光流算法的输出结果;当选择感兴趣区域或图像主体对象区域作为发射区域时,粒子以发射区域中心,按均匀分布方式随机生成和排布粒子;而以边缘轮廓或运动轨迹作为粒子发射区域时,则以将粒子以正态分布方式排列在发射区域极值位置。
作为优选,在步骤(5)中,具体为:将粒子发射时的年龄参数标识为Apt,粒子的总生命周期参数标识为Tpa,粒子的年龄更新公式表示为:Apt+1=Apt+dt,当粒子的年龄超过总生命周期时,将粒子标识为失效的粒子,否则按如下进行粒子参数的更新迭代;
假设t时刻三维粒子参数为:坐标位置瞬时速度加速度旋转角度大小尺寸颜色信息对应的粒子动画变化量参数为:位置动画增量速度动画增量加速度动画增量角度动画增量尺寸动画增量颜色动画增量而画面图像的亮度影响因子为梯度影响因子为位移变化量的影响因子为那么t+1时刻粒子更新迭代的计算公式为:
其中Lt、Vt和Gt分别表示画面图像的亮度、梯度和位移变化量。
作为优选,在步骤(6)中,具体操作方法如下:
(63)以更新迭代后的粒子参数计算粒子渲染的空间变换矩阵,并连同粒子颜色纹理贴图灯光贴图遮罩图像和动画进度参数设置给图形渲染系统,利用GPU完成粒子效果的绘制;根据效果需要,可级联影视后处理滤镜效果到粒子系统中;
(64)显示并呈现粒子结果图像。
作为优选,在步骤(63)中,渲染粒子系统时,以更新迭代后的参数 计算粒子的三维姿态,作为图形渲染的空间变换矩阵的缩放、旋转、位移三个标准参数;而计算粒子着色效果时,以粒子颜色纹理贴图灯光贴图遮罩图像和动画进度为参数并按以下公式计算最终着色效果
本发明的有益效果是:可以实现品类更加丰富,沉浸真实感更强,视觉效果更自然的粒子效果;可以模拟并实现出更加贴合物理真实的视觉特效;大大提高了算法的处理效率,降低了CPU负载,满足实时性处理要求;丰富粒子的视觉效果,增强物理真实感。
附图说明
图1是本发明的方法流程框图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步的描述。
如图1所述的实施例中,一种内容相关的GPU实时粒子特效方法,利用现代图形处理器可编程管线的特点和强大的并行数据处理能力,在GPU中实时分析视频/图像画面内容,进行粒子参数调节和更新迭代,大大提高了算法的处理效率,极大地减少CPU计算量和运算负载,可在移动设备中实时处理。
为了极大化渲染效率和最大化算法的通用性,该方法首先会根据具体GPU的能力和不同操作系统,选择最优GPU编程语言。在微软Windows系统中使用Direct3D/Vulkan/CUDA/OpenCL,在Linux系统中使用Vulkan/OpenGL/OpenCL/CUDA,在谷歌Android系统中使用Vulkan/OpenGL ES,而在苹果iOS和Mac OS X系统中则使用Metal/OpenGL/OpenGL ES/OpenCL,然后使用相应的GPU着色器编程语言具体实现粒子效果的具体数据处理过程。
以视频剪辑中应用内容相关粒子效果为例,给出本实时GPU粒子效果方法的一个具体实施示例,具体包括如下步骤:
(1)根据具体应用场景需要选择合适的粒子效果模板,或根据需求设置粒子系统的初始参数;粒子系统的初始参数包括贴图纹理、基础形状、基本尺寸、初始速度、灯光阴影、发射速度。
(2)采用光流算法,利用GPU并行处理能力,实时分析视频/图片画面内容,按照以下公式(1)~(3)计算图像的亮度、梯度及相邻视频帧的位移变化量,利用Canny算子提取画面内容的边缘轮廓;
假设输入图像I的颜色空间为RGB,其他颜色空间的图像按照标准公式转换到RGB颜色空间,t时刻图像(x,y)坐标处RGB颜色值为[Rt(x,y),Gt(x,y),Bt(x,y)],那么t时刻图像(x,y)坐标处的亮度计算公式为:
Lt(x,y)=Rt(xy)*0.2126+Gt(x,y)*0.7152+Bt(x,y)*0.0722 (1)
在获得t时刻整幅图像的亮度值Lt后,利用Sobel算子在每个坐标(x,y)的3x3区域中计算图像的水平方向梯度Ght和垂直方向的梯度Gvt,其计算公式为:
Ght(x,y)=Lt(x+1,y-1)+2.0*Lt(x+1,y)+Lt(x+1,y+1)-Lt(x-1,y-1)-2.0*Lt(x-1,y)+Lt(x-1,y+1)
Gvt(x,y)=Lt(x-1,y+1)+2.0*Lt(x,y+1)+Lt(x+1,y+1)-Lt(x-1,y-1)-2.0*Lt(x,y-1)+Lt(x+1,y-1)
而图像的梯度幅值计算公式为:
利用Canny算法过滤非极值,并使用上下阈值以获得图像的边缘轮廓。
根据光流算法的亮度恒定和光流场平滑的两个基本假设,同一目标物体运动时,其亮度不会发生明显改变,时间的变化也不会引起目标物体位置的剧烈变化,相邻帧的目标物体位移较小;假设某一个目标物体t时刻(x,y)坐标处的亮度Lt(x,y),经过间隔时间dt移动了(dx,dy)距离,根据亮度恒定假设,Lt(x,y)=Lt+dt(x+dx,y+dy),对等式右边进行泰勒级数展开,得到
δ表示二阶变化量,可忽略,对等式两边同除以dt后得到:
基于梯度的光流算法由于计算简单和较好的结果,因而得到了广泛应用和研究,Horn-Schunck光流算法在光流基本假设的基础上增加全局平滑约束,假设在整个图像上光流的变化是光滑的,即物体运动矢量是平滑的或只是缓慢变化的,然后通过迭代来计算运动矢量。
(3)利用显著性算法和物体分割算法,进行视频/图像的智能分析并获取视频的感兴趣区域、主要对象和遮罩信息;视频/图像内容中包含人脸/人像/人体这些主要对象的区域为视频/图像的感兴趣区域,而遮罩信息则表示感兴趣区或主要对象的黑白掩膜图像。以视频画面包含人脸/人像/人体的为例,感兴趣区域表示包含人脸/人像/人体主要对象的核心画面区域,而遮罩信息为主要对象的黑白掩膜图像。
(4)根据粒子效果模板及规则,选择画面区域作为粒子的发射区域,以发射区域为中心随机生成和排布粒子;具体为:在感兴趣区域、主体对象、边缘轮廓和运动轨迹四个候选区域中选择一个作为粒子发射区域,并根据参数随机生成和排布粒子,其中感兴趣区域和主体对象为显著性算法或物体分割算法的输出结果,而边缘轮廓和运动轨迹则是光流算法的输出结果;当选择感兴趣区域或图像主体对象区域作为发射区域时,粒子以发射区域中心,按均匀分布方式随机生成和排布粒子;而以边缘轮廓或运动轨迹作为粒子发射区域时,则以将粒子以正态分布方式排列在发射区域极值位置。备注:一般选择画面的主体对象区域作为粒子的发射区域,以发射区域为中心按正态分布方式随机生成和排布粒子。
(5)编写自定义GPU计算着色器,并结合画面内容的亮度、梯度和相邻视频帧的位移变化量,按照以下公式(4)实现调节和控制粒子的更新迭代过程;
具体为:将粒子发射时的年龄参数标识为Apt,粒子的总生命周期参数标识为Tpa,粒子的年龄更新公式表示为:Apt+1=Apt+dt,当粒子的年龄超过总生命周期时,将粒子标识为失效的粒子,否则按如下进行粒子参数的更新迭代;假设t时刻三维粒子参数为:坐标位置瞬时速度加速度旋转角度大小尺寸颜色信息对应的粒子动画变化量参数为:位置动画增量速度动画增量加速度动画增量角度动画增量尺寸动画增量颜色动画增量而画面图像的亮度影响因子为梯度影响因子为位移变化量的影响因子为那么t+1时刻粒子更新迭代的计算公式为:
其中Lt、Vt和Gt分别表示画面图像的亮度、梯度和位移变化量。
(6)基于三维图形渲染及影视后处理特效技术,渲染和绘制粒子,根据场景和效果需求,应用遮罩信息以实现如物体消散、物理破碎等粒子特效效果;具体操作方法如下:
(63)以更新迭代后的粒子参数计算粒子渲染的空间变换矩阵,并连同粒子颜色纹理贴图灯光贴图遮罩图像和动画进度参数设置给图形渲染系统,利用GPU完成粒子效果的绘制;根据效果需要,可级联影视后处理滤镜效果(如模糊)到粒子系统中;
渲染粒子系统时,以更新迭代后的参数计算粒子的三维姿态,作为图形渲染的空间变换矩阵的缩放、旋转、位移三个标准参数;而计算粒子着色效果时,以粒子颜色纹理贴图灯光贴图遮罩图像和动画进度为参数并按以下公式(5)计算最终着色效果
(64)显示并呈现粒子结果图像。
上述高性能实时粒子特效方法,首先,在GPU中对视频/图片画面内容进行分析,利用光流估计算法计算图像的亮度、梯度及相邻视频帧的位移变化量,提取画面内容轮廓、空间/时间变化过程和运动轨迹,再根据自定义模板及规则,在图像边缘轮廓或运动轨迹中随机生成和排布粒子,然后利用现代GPU可编程管线的特性,通过编写自定义计算着色器控制并调节粒子及发射器的各种参数,结合空间/时间变化进行粒子的更新迭代,最后基于图形渲染及后处理特效技术,渲染并绘制出丰富且自然的粒子效果。
结合深度神经网络等机器学习技术,如物体分割算法、感兴趣区域提取算法等,智能分析和获取视频/图像的主要对象和遮罩(表示感兴趣区或主要对象的掩膜)信息,然后将这些信息应用到粒子系统中,可以模拟和还原物体消散、物理破碎等各种物理真实、新颖好玩的粒子效果。
根据视频/图片画面内容及时间/空间变化,通过调节并控制粒子的大小、方向、位置、速度、加速度、旋转、形状、颜色、透明度、纹理、灯光、生命周期、运动轨迹等粒子及发射器参数,可以实现品类更加丰富,沉浸真实感更强,视觉效果更自然的粒子效果;结合深度神经网络等机器学习技术,智能分析并获取视频/图片感兴趣区域,提取主要物体及遮罩信息,可以模拟并实现出更加贴合物理真实的视觉特效;充分利用现代GPU高效且强大的并行流水线处理能力,采用光流法在GPU中实时分析视频/图片画面内容,提取空间和时间的变化过程和运动向量,并利用计算着色器调节并控制粒子参数变化及更新过程,大大提高了算法的处理效率,降低了CPU负载,满足实时性处理要求;可便捷地模板化粒子物理模拟和图形渲染过程,级联其他影视后期处理滤镜,丰富粒子的视觉效果,增强物理真实感。
Claims (10)
1.一种内容相关的GPU实时粒子特效方法,其特征是,具体包括如下步骤:
(1)根据具体应用场景需要选择合适的粒子效果模板,或根据需求设置粒子系统的初始参数;
(2)采用光流算法,利用GPU并行处理能力,实时分析视频/图片画面内容,计算图像的亮度、梯度及相邻视频帧的位移变化量,利用Canny算子提取画面内容的边缘轮廓;
(3)利用显著性算法和物体分割算法,进行视频/图像的智能分析并获取视频的感兴趣区域、主要对象和遮罩信息;
(4)根据粒子效果模板及规则,选择画面区域作为粒子的发射区域,以发射区域为中心随机生成和排布粒子;
(5)编写自定义GPU计算着色器,并结合画面内容的亮度、梯度和相邻视频帧的位移变化量,实现调节和控制粒子的更新迭代过程;
(6)基于三维图形渲染及影视后处理特效技术,渲染和绘制粒子,根据场景和效果需求,应用遮罩信息以实现粒子特效效果。
2.根据权利要求1所述的一种内容相关的GPU实时粒子特效方法,其特征是,在步骤(1)中,粒子系统的初始参数包括贴图纹理、基础形状、基本尺寸、初始速度、灯光阴影、发射速度。
3.根据权利要求1所述的一种内容相关的GPU实时粒子特效方法,其特征是,在步骤(2)中,假设输入图像I的颜色空间为RGB,其他颜色空间的图像按照标准公式转换到RGB颜色空间,t时刻图像(x,y)坐标处RGB颜色值为[Rt(x,y),Gt(x,y),Bt(x,y)],那么t时刻图像(x,y)坐标处的亮度计算公式为:
Lt(x,y)=Rt(x,y)*0.2126+Gt(x,y)*0.7152++Bt(x,y)*0.0722。
4.根据权利要求3所述的一种内容相关的GPU实时粒子特效方法,其特征是,在步骤(2)中,在获得t时刻整幅图像的亮度值Lt后,利用Sobel算子在每个坐标(x,y)的3x3区域中计算图像的水平方向梯度Ght和垂直方向的梯度Gvt,其计算公式为:
Ght(x,y)=Lt(x+1,y-1)+2.0*Lt(x+1,y)+Lt(x+1,y+1)-Lt(x-1,y-1)-2.0*Lt(x-1,y)+Lt(x-1,y+1)
Gvt(x,y)=Lt(x-1,y+1)+2.0*Lt(x,y+1)+Lt(x+1,y+1)-Lt(x-1,y-1)-2.0*Lt(x,y-1)+Lt(x+1,y-1)
而图像的梯度幅值计算公式为:
利用Canny算法过滤非极值,并使用上下阈值以获得图像的边缘轮廓。
5.根据权利要求4所述的一种内容相关的GPU实时粒子特效方法,其特征是,在步骤(2)中,根据光流算法的亮度恒定和光流场平滑的两个基本假设,同一目标物体运动时,其亮度不会发生明显改变,时间的变化也不会引起目标物体位置的剧烈变化,相邻帧的目标物体位移较小;假设某一个目标物体t时刻(x,y)坐标处的亮度Lt(x,y),经过间隔时间dt移动了(dx,dy)距离,根据亮度恒定假设,Lt(x,y)=Lt+dt(x+dx,y+dy),对等式右边进行泰勒级数展开,得到
δ表示二阶变化量,可忽略,对等式两边同除以dt后得到:
6.根据权利要求1或2或3或4或5所述的一种内容相关的GPU实时粒子特效方法,其特征是,在步骤(3)中,视频/图像内容中包含人脸/人像/人体这些主要对象的区域为视频/图像的感兴趣区域,而遮罩信息则表示感兴趣区或主要对象的黑白掩膜图像。
7.根据权利要求6所述的一种内容相关的GPU实时粒子特效方法,其特征是,在步骤(4)中,具体为:在感兴趣区域、主体对象、边缘轮廓和运动轨迹四个候选区域中选择一个作为粒子发射区域,并根据参数随机生成和排布粒子,其中感兴趣区域和主体对象为显著性算法或物体分割算法的输出结果,而边缘轮廓和运动轨迹则是光流算法的输出结果;当选择感兴趣区域或图像主体对象区域作为发射区域时,粒子以发射区域中心,按均匀分布方式随机生成和排布粒子;而以边缘轮廓或运动轨迹作为粒子发射区域时,则以将粒子以正态分布方式排列在发射区域极值位置。
8.根据权利要求5所述的一种内容相关的GPU实时粒子特效方法,其特征是,在步骤(5)中,具体为:将粒子发射时的年龄参数标识为Apt,粒子的总生命周期参数标识为Tpa,粒子的年龄更新公式表示为:Apt+1=Apt+dt,当粒子的年龄超过总生命周期时,将粒子标识为失效的粒子,否则按如下进行粒子参数的更新迭代;
假设t时刻三维粒子参数为:坐标位置瞬时速度加速度旋转角度大小尺寸颜色信息对应的粒子动画变化量参数为:位置动画增量速度动画增量加速度动画增量角度动画增量尺寸动画增量颜色动画增量而画面图像的亮度影响因子为梯度影响因子为位移变化量的影响因子为那么t+1时刻粒子更新迭代的计算公式为:
其中Lt、Vt和Gt分别表示画面图像的亮度、梯度和位移变化量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110752537.3A CN113487474A (zh) | 2021-07-02 | 2021-07-02 | 一种内容相关的gpu实时粒子特效方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110752537.3A CN113487474A (zh) | 2021-07-02 | 2021-07-02 | 一种内容相关的gpu实时粒子特效方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113487474A true CN113487474A (zh) | 2021-10-08 |
Family
ID=77940433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110752537.3A Pending CN113487474A (zh) | 2021-07-02 | 2021-07-02 | 一种内容相关的gpu实时粒子特效方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113487474A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113658296A (zh) * | 2021-10-20 | 2021-11-16 | 腾讯科技(深圳)有限公司 | 一种图像渲染方法及相关装置 |
CN113689534A (zh) * | 2021-10-25 | 2021-11-23 | 腾讯科技(深圳)有限公司 | 物理特效渲染方法、装置、计算机设备和存储介质 |
CN114071181A (zh) * | 2021-11-26 | 2022-02-18 | 上海米哈游天命科技有限公司 | 一种图像处理方法、系统、设备及计算机可读存储介质 |
CN114339448A (zh) * | 2021-12-31 | 2022-04-12 | 深圳万兴软件有限公司 | 光束视频特效的制作方法、装置、计算机设备及存储介质 |
CN114969869A (zh) * | 2022-07-29 | 2022-08-30 | 杭州彩连科技有限公司 | 一种基于在线服装设计的渲染方法、系统、装置和介质 |
WO2023151524A1 (zh) * | 2022-02-11 | 2023-08-17 | 北京字跳网络技术有限公司 | 图像显示方法、装置、电子设备及存储介质 |
WO2023121569A3 (zh) * | 2021-12-22 | 2023-08-24 | 脸萌有限公司 | 粒子特效渲染方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101877130A (zh) * | 2009-04-29 | 2010-11-03 | 中国科学院自动化研究所 | 复杂场景下基于粒子滤波器的运动目标跟踪方法 |
CN102426691A (zh) * | 2011-10-24 | 2012-04-25 | 克拉玛依红有软件有限责任公司 | 一种基于gpu的实时火焰效果的模拟方法 |
US20140002617A1 (en) * | 2012-06-27 | 2014-01-02 | The Board Of Trustees Of The University Of Illinois | Particle tracking system and method |
JP2016081252A (ja) * | 2014-10-15 | 2016-05-16 | 株式会社ソニー・コンピュータエンタテインメント | 画像処理装置および画像処理方法 |
US9478033B1 (en) * | 2010-08-02 | 2016-10-25 | Red Giant Software | Particle-based tracking of objects within images |
CN109636834A (zh) * | 2018-11-22 | 2019-04-16 | 北京工业大学 | 基于tld改进算法的视频车辆目标跟踪算法 |
-
2021
- 2021-07-02 CN CN202110752537.3A patent/CN113487474A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101877130A (zh) * | 2009-04-29 | 2010-11-03 | 中国科学院自动化研究所 | 复杂场景下基于粒子滤波器的运动目标跟踪方法 |
US9478033B1 (en) * | 2010-08-02 | 2016-10-25 | Red Giant Software | Particle-based tracking of objects within images |
CN102426691A (zh) * | 2011-10-24 | 2012-04-25 | 克拉玛依红有软件有限责任公司 | 一种基于gpu的实时火焰效果的模拟方法 |
US20140002617A1 (en) * | 2012-06-27 | 2014-01-02 | The Board Of Trustees Of The University Of Illinois | Particle tracking system and method |
JP2016081252A (ja) * | 2014-10-15 | 2016-05-16 | 株式会社ソニー・コンピュータエンタテインメント | 画像処理装置および画像処理方法 |
CN109636834A (zh) * | 2018-11-22 | 2019-04-16 | 北京工业大学 | 基于tld改进算法的视频车辆目标跟踪算法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113658296A (zh) * | 2021-10-20 | 2021-11-16 | 腾讯科技(深圳)有限公司 | 一种图像渲染方法及相关装置 |
CN113658296B (zh) * | 2021-10-20 | 2022-01-25 | 腾讯科技(深圳)有限公司 | 一种图像渲染方法及相关装置 |
CN113689534A (zh) * | 2021-10-25 | 2021-11-23 | 腾讯科技(深圳)有限公司 | 物理特效渲染方法、装置、计算机设备和存储介质 |
CN114071181A (zh) * | 2021-11-26 | 2022-02-18 | 上海米哈游天命科技有限公司 | 一种图像处理方法、系统、设备及计算机可读存储介质 |
WO2023121569A3 (zh) * | 2021-12-22 | 2023-08-24 | 脸萌有限公司 | 粒子特效渲染方法、装置、设备及存储介质 |
CN114339448A (zh) * | 2021-12-31 | 2022-04-12 | 深圳万兴软件有限公司 | 光束视频特效的制作方法、装置、计算机设备及存储介质 |
CN114339448B (zh) * | 2021-12-31 | 2024-02-13 | 深圳万兴软件有限公司 | 光束视频特效的制作方法、装置、计算机设备及存储介质 |
WO2023151524A1 (zh) * | 2022-02-11 | 2023-08-17 | 北京字跳网络技术有限公司 | 图像显示方法、装置、电子设备及存储介质 |
CN114969869A (zh) * | 2022-07-29 | 2022-08-30 | 杭州彩连科技有限公司 | 一种基于在线服装设计的渲染方法、系统、装置和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113487474A (zh) | 一种内容相关的gpu实时粒子特效方法 | |
Tretschk et al. | Non-rigid neural radiance fields: Reconstruction and novel view synthesis of a dynamic scene from monocular video | |
Martull et al. | Realistic CG stereo image dataset with ground truth disparity maps | |
CN109325990B (zh) | 图像处理方法及图像处理装置、存储介质 | |
US8115774B2 (en) | Application of selective regions of a normal map based on joint position in a three-dimensional model | |
Zhang et al. | Style transfer via image component analysis | |
Qian et al. | Gaussianavatars: Photorealistic head avatars with rigged 3d gaussians | |
Sýkora et al. | TexToons: practical texture mapping for hand-drawn cartoon animations | |
Robertini et al. | Model-based outdoor performance capture | |
JPH07325934A (ja) | 仮想世界に向上したグラフィックスを提供する方法および装置 | |
CN107341853A (zh) | 超大虚拟场景和动态摄屏的虚实融合方法及系统 | |
Xiang et al. | Dressing avatars: Deep photorealistic appearance for physically simulated clothing | |
CN111145135B (zh) | 一种图像去扰处理方法、装置、设备及存储介质 | |
CN108986232B (zh) | 一种在vr显示设备中呈现ar环境画面的方法 | |
CN108230431B (zh) | 一种二维虚拟形象的人体动作动画生成方法及系统 | |
CN109448098B (zh) | 一种基于建筑物单张夜景图像重建虚拟场景光源的方法 | |
WO2014170757A2 (en) | 3d rendering for training computer vision recognition | |
Nentwig et al. | Concerning the applicability of computer graphics for the evaluation of image processing algorithms | |
Corbett-Davies et al. | An advanced interaction framework for augmented reality based exposure treatment | |
CN115970275A (zh) | 虚拟对象的投影处理方法、装置、存储介质与电子设备 | |
Dobbyn et al. | Clothing the Masses: Real-Time Clothed Crowds With Variation. | |
CN112002019B (zh) | 一种基于mr混合现实的模拟人物阴影的方法 | |
Guo et al. | Mesh-guided optimized retexturing for image and video | |
CN106910240A (zh) | 一种实时阴影的生成方法及装置 | |
Hu et al. | Texture painting from video |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |