CN113487474A - 一种内容相关的gpu实时粒子特效方法 - Google Patents

一种内容相关的gpu实时粒子特效方法 Download PDF

Info

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
Application number
CN202110752537.3A
Other languages
English (en)
Inventor
胡国柱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Xiaoying Innovation Technology Co ltd
Original Assignee
Hangzhou Xiaoying Innovation Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Xiaoying Innovation Technology Co ltd filed Critical Hangzhou Xiaoying Innovation Technology Co ltd
Priority to CN202110752537.3A priority Critical patent/CN113487474A/zh
Publication of CN113487474A publication Critical patent/CN113487474A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination 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实时粒子特效方法。
为了实现上述目的,本发明采用以下技术方案:
一种内容相关的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)
而图像的梯度幅值计算公式为:
Figure BDA0003145395460000031
利用Canny算法过滤非极值,并使用上下阈值以获得图像的边缘轮廓。
作为优选,在步骤(2)中,根据光流算法的亮度恒定和光流场平滑的两个基本假设,同一目标物体运动时,其亮度不会发生明显改变,时间的变化也不会引起目标物体位置的剧烈变化,相邻帧的目标物体位移较小;假设某一个目标物体t时刻(x,y)坐标处的亮度Lt(x,y),经过间隔时间dt移动了(dx,dy)距离,根据亮度恒定假设,Lt(x,y)=Lt+dt(x+dx,y+dy),对等式右边进行泰勒级数展开,得到
Figure BDA0003145395460000041
Figure BDA0003145395460000042
δ表示二阶变化量,可忽略,对等式两边同除以dt后得到:
Figure BDA0003145395460000043
其中
Figure BDA0003145395460000044
Figure BDA0003145395460000045
分边表示图像水平方向和垂直方向的导数,即图像梯度Ght和Gvt
Figure BDA0003145395460000046
表示图像在时间维度的变化量,而
Figure BDA0003145395460000047
Figure BDA0003145395460000048
则表示光流沿着水平方向和垂直方向的速度矢量,定义为
Figure BDA0003145395460000049
即为相邻视频帧的位移变化量。
作为优选,在步骤(3)中,视频/图像内容中包含人脸/人像/人体这些主要对象的区域为视频/图像的感兴趣区域,而遮罩信息则表示感兴趣区或主要对象的黑白掩膜图像。
作为优选,在步骤(4)中,具体为:在感兴趣区域、主体对象、边缘轮廓和运动轨迹四个候选区域中选择一个作为粒子发射区域,并根据参数随机生成和排布粒子,其中感兴趣区域和主体对象为显著性算法或物体分割算法的输出结果,而边缘轮廓和运动轨迹则是光流算法的输出结果;当选择感兴趣区域或图像主体对象区域作为发射区域时,粒子以发射区域中心,按均匀分布方式随机生成和排布粒子;而以边缘轮廓或运动轨迹作为粒子发射区域时,则以将粒子以正态分布方式排列在发射区域极值位置。
作为优选,在步骤(5)中,具体为:将粒子发射时的年龄参数标识为Apt,粒子的总生命周期参数标识为Tpa,粒子的年龄更新公式表示为:Apt+1=Apt+dt,当粒子的年龄超过总生命周期时,将粒子标识为失效的粒子,否则按如下进行粒子参数的更新迭代;
假设t时刻三维粒子参数为:坐标位置
Figure BDA0003145395460000051
瞬时速度
Figure BDA0003145395460000052
加速度
Figure BDA0003145395460000053
旋转角度
Figure BDA0003145395460000054
大小尺寸
Figure BDA0003145395460000055
颜色信息
Figure BDA0003145395460000056
对应的粒子动画变化量参数为:位置动画增量
Figure BDA0003145395460000057
速度动画增量
Figure BDA0003145395460000058
加速度动画增量
Figure BDA0003145395460000059
角度动画增量
Figure BDA00031453954600000510
尺寸动画增量
Figure BDA00031453954600000511
颜色动画增量
Figure BDA00031453954600000512
而画面图像的亮度影响因子为
Figure BDA00031453954600000513
梯度影响因子为
Figure BDA00031453954600000514
位移变化量的影响因子为
Figure BDA00031453954600000515
那么t+1时刻粒子更新迭代的计算公式为:
Figure BDA00031453954600000516
Figure BDA00031453954600000517
Figure BDA00031453954600000518
Figure BDA00031453954600000519
Figure BDA00031453954600000520
Figure BDA00031453954600000521
其中Lt、Vt和Gt分别表示画面图像的亮度、梯度和位移变化量。
作为优选,在步骤(6)中,具体操作方法如下:
(61)在三维场景中剔除已失效粒子,包括粒子颜色
Figure BDA0003145395460000061
的透明度为零的粒子、坐标位置处于屏幕/场景外的粒子以及生命周期结束的粒子;
(62)根据粒子特效效果的需求,应用主体对象遮罩图像
Figure BDA0003145395460000062
和动画进度参数
Figure BDA0003145395460000063
进一步剔除遮罩图像和动画进度包围区域外的无用粒子;
(63)以更新迭代后的粒子参数
Figure BDA0003145395460000064
计算粒子渲染的空间变换矩阵,并连同粒子颜色
Figure BDA0003145395460000065
纹理贴图
Figure BDA0003145395460000066
灯光贴图
Figure BDA0003145395460000067
遮罩图像
Figure BDA0003145395460000068
和动画进度
Figure BDA0003145395460000069
参数设置给图形渲染系统,利用GPU完成粒子效果的绘制;根据效果需要,可级联影视后处理滤镜效果到粒子系统中;
(64)显示并呈现粒子结果图像。
作为优选,在步骤(63)中,渲染粒子系统时,以更新迭代后的参数
Figure BDA00031453954600000610
Figure BDA00031453954600000611
计算粒子的三维姿态,作为图形渲染的空间变换矩阵的缩放、旋转、位移三个标准参数;而计算粒子着色效果时,以粒子颜色
Figure BDA00031453954600000612
纹理贴图
Figure BDA00031453954600000613
灯光贴图
Figure BDA00031453954600000614
遮罩图像
Figure BDA00031453954600000615
和动画进度
Figure BDA00031453954600000616
为参数并按以下公式计算最终着色效果
Figure BDA00031453954600000617
Figure BDA00031453954600000618
其中动画进度参数
Figure BDA00031453954600000619
可随着模板配置实现随时间变换的曲线动画。
本发明的有益效果是:可以实现品类更加丰富,沉浸真实感更强,视觉效果更自然的粒子效果;可以模拟并实现出更加贴合物理真实的视觉特效;大大提高了算法的处理效率,降低了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)
而图像的梯度幅值计算公式为:
Figure BDA0003145395460000081
利用Canny算法过滤非极值,并使用上下阈值以获得图像的边缘轮廓。
根据光流算法的亮度恒定和光流场平滑的两个基本假设,同一目标物体运动时,其亮度不会发生明显改变,时间的变化也不会引起目标物体位置的剧烈变化,相邻帧的目标物体位移较小;假设某一个目标物体t时刻(x,y)坐标处的亮度Lt(x,y),经过间隔时间dt移动了(dx,dy)距离,根据亮度恒定假设,Lt(x,y)=Lt+dt(x+dx,y+dy),对等式右边进行泰勒级数展开,得到
Figure BDA0003145395460000082
Figure BDA0003145395460000083
δ表示二阶变化量,可忽略,对等式两边同除以dt后得到:
Figure BDA0003145395460000084
其中
Figure BDA0003145395460000091
Figure BDA0003145395460000092
分边表示图像水平方向和垂直方向的导数,即图像梯度Ght和Gvt
Figure BDA0003145395460000093
表示图像在时间维度的变化量,而
Figure BDA0003145395460000094
Figure BDA0003145395460000095
则表示光流沿着水平方向和垂直方向的速度矢量,定义为
Figure BDA0003145395460000096
即为相邻视频帧的位移变化量。
基于梯度的光流算法由于计算简单和较好的结果,因而得到了广泛应用和研究,Horn-Schunck光流算法在光流基本假设的基础上增加全局平滑约束,假设在整个图像上光流的变化是光滑的,即物体运动矢量是平滑的或只是缓慢变化的,然后通过迭代来计算运动矢量。
(3)利用显著性算法和物体分割算法,进行视频/图像的智能分析并获取视频的感兴趣区域、主要对象和遮罩信息;视频/图像内容中包含人脸/人像/人体这些主要对象的区域为视频/图像的感兴趣区域,而遮罩信息则表示感兴趣区或主要对象的黑白掩膜图像。以视频画面包含人脸/人像/人体的为例,感兴趣区域表示包含人脸/人像/人体主要对象的核心画面区域,而遮罩信息为主要对象的黑白掩膜图像。
(4)根据粒子效果模板及规则,选择画面区域作为粒子的发射区域,以发射区域为中心随机生成和排布粒子;具体为:在感兴趣区域、主体对象、边缘轮廓和运动轨迹四个候选区域中选择一个作为粒子发射区域,并根据参数随机生成和排布粒子,其中感兴趣区域和主体对象为显著性算法或物体分割算法的输出结果,而边缘轮廓和运动轨迹则是光流算法的输出结果;当选择感兴趣区域或图像主体对象区域作为发射区域时,粒子以发射区域中心,按均匀分布方式随机生成和排布粒子;而以边缘轮廓或运动轨迹作为粒子发射区域时,则以将粒子以正态分布方式排列在发射区域极值位置。备注:一般选择画面的主体对象区域作为粒子的发射区域,以发射区域为中心按正态分布方式随机生成和排布粒子。
(5)编写自定义GPU计算着色器,并结合画面内容的亮度、梯度和相邻视频帧的位移变化量,按照以下公式(4)实现调节和控制粒子的更新迭代过程;
具体为:将粒子发射时的年龄参数标识为Apt,粒子的总生命周期参数标识为Tpa,粒子的年龄更新公式表示为:Apt+1=Apt+dt,当粒子的年龄超过总生命周期时,将粒子标识为失效的粒子,否则按如下进行粒子参数的更新迭代;假设t时刻三维粒子参数为:坐标位置
Figure BDA0003145395460000101
瞬时速度
Figure BDA0003145395460000102
加速度
Figure BDA0003145395460000103
旋转角度
Figure BDA0003145395460000104
大小尺寸
Figure BDA0003145395460000105
颜色信息
Figure BDA0003145395460000106
对应的粒子动画变化量参数为:位置动画增量
Figure BDA0003145395460000107
速度动画增量
Figure BDA0003145395460000108
加速度动画增量
Figure BDA0003145395460000109
角度动画增量
Figure BDA00031453954600001010
尺寸动画增量
Figure BDA00031453954600001011
颜色动画增量
Figure BDA00031453954600001012
而画面图像的亮度影响因子为
Figure BDA00031453954600001013
梯度影响因子为
Figure BDA00031453954600001014
位移变化量的影响因子为
Figure BDA00031453954600001015
那么t+1时刻粒子更新迭代的计算公式为:
Figure BDA00031453954600001016
Figure BDA00031453954600001017
Figure BDA00031453954600001018
Figure BDA00031453954600001019
Figure BDA00031453954600001020
Figure BDA00031453954600001021
其中Lt、Vt和Gt分别表示画面图像的亮度、梯度和位移变化量。
(6)基于三维图形渲染及影视后处理特效技术,渲染和绘制粒子,根据场景和效果需求,应用遮罩信息以实现如物体消散、物理破碎等粒子特效效果;具体操作方法如下:
(61)在三维场景中剔除已失效粒子,包括粒子颜色
Figure BDA0003145395460000111
的透明度为零的粒子、坐标位置处于屏幕/场景外的粒子以及生命周期结束的粒子;
(62)根据粒子特效效果的需求(如物体消散、物理破碎等),应用主体对象遮罩图像
Figure BDA0003145395460000112
和动画进度参数
Figure BDA0003145395460000113
进一步剔除遮罩图像和动画进度包围区域外的无用粒子;
(63)以更新迭代后的粒子参数
Figure BDA0003145395460000114
计算粒子渲染的空间变换矩阵,并连同粒子颜色
Figure BDA0003145395460000115
纹理贴图
Figure BDA0003145395460000116
灯光贴图
Figure BDA0003145395460000117
遮罩图像
Figure BDA0003145395460000118
和动画进度
Figure BDA0003145395460000119
参数设置给图形渲染系统,利用GPU完成粒子效果的绘制;根据效果需要,可级联影视后处理滤镜效果(如模糊)到粒子系统中;
渲染粒子系统时,以更新迭代后的参数
Figure BDA00031453954600001110
计算粒子的三维姿态,作为图形渲染的空间变换矩阵的缩放、旋转、位移三个标准参数;而计算粒子着色效果时,以粒子颜色
Figure BDA00031453954600001111
纹理贴图
Figure BDA00031453954600001112
灯光贴图
Figure BDA00031453954600001113
遮罩图像
Figure BDA00031453954600001114
和动画进度
Figure BDA00031453954600001115
为参数并按以下公式(5)计算最终着色效果
Figure BDA00031453954600001116
Figure BDA00031453954600001117
其中动画进度参数
Figure BDA00031453954600001118
可随着模板配置实现随时间变换的曲线动画。
(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)
而图像的梯度幅值计算公式为:
Figure FDA0003145395450000021
利用Canny算法过滤非极值,并使用上下阈值以获得图像的边缘轮廓。
5.根据权利要求4所述的一种内容相关的GPU实时粒子特效方法,其特征是,在步骤(2)中,根据光流算法的亮度恒定和光流场平滑的两个基本假设,同一目标物体运动时,其亮度不会发生明显改变,时间的变化也不会引起目标物体位置的剧烈变化,相邻帧的目标物体位移较小;假设某一个目标物体t时刻(x,y)坐标处的亮度Lt(x,y),经过间隔时间dt移动了(dx,dy)距离,根据亮度恒定假设,Lt(x,y)=Lt+dt(x+dx,y+dy),对等式右边进行泰勒级数展开,得到
Figure FDA0003145395450000022
Figure FDA0003145395450000023
δ表示二阶变化量,可忽略,对等式两边同除以dt后得到:
Figure FDA0003145395450000024
其中
Figure FDA0003145395450000031
Figure FDA0003145395450000032
分边表示图像水平方向和垂直方向的导数,即图像梯度Ght和Gvt
Figure FDA0003145395450000033
表示图像在时间维度的变化量,而
Figure FDA0003145395450000034
Figure FDA0003145395450000035
则表示光流沿着水平方向和垂直方向的速度矢量,定义为
Figure FDA0003145395450000036
即为相邻视频帧的位移变化量。
6.根据权利要求1或2或3或4或5所述的一种内容相关的GPU实时粒子特效方法,其特征是,在步骤(3)中,视频/图像内容中包含人脸/人像/人体这些主要对象的区域为视频/图像的感兴趣区域,而遮罩信息则表示感兴趣区或主要对象的黑白掩膜图像。
7.根据权利要求6所述的一种内容相关的GPU实时粒子特效方法,其特征是,在步骤(4)中,具体为:在感兴趣区域、主体对象、边缘轮廓和运动轨迹四个候选区域中选择一个作为粒子发射区域,并根据参数随机生成和排布粒子,其中感兴趣区域和主体对象为显著性算法或物体分割算法的输出结果,而边缘轮廓和运动轨迹则是光流算法的输出结果;当选择感兴趣区域或图像主体对象区域作为发射区域时,粒子以发射区域中心,按均匀分布方式随机生成和排布粒子;而以边缘轮廓或运动轨迹作为粒子发射区域时,则以将粒子以正态分布方式排列在发射区域极值位置。
8.根据权利要求5所述的一种内容相关的GPU实时粒子特效方法,其特征是,在步骤(5)中,具体为:将粒子发射时的年龄参数标识为Apt,粒子的总生命周期参数标识为Tpa,粒子的年龄更新公式表示为:Apt+1=Apt+dt,当粒子的年龄超过总生命周期时,将粒子标识为失效的粒子,否则按如下进行粒子参数的更新迭代;
假设t时刻三维粒子参数为:坐标位置
Figure FDA0003145395450000037
瞬时速度
Figure FDA0003145395450000041
加速度
Figure FDA0003145395450000042
旋转角度
Figure FDA0003145395450000043
大小尺寸
Figure FDA0003145395450000044
颜色信息
Figure FDA0003145395450000045
对应的粒子动画变化量参数为:位置动画增量
Figure FDA0003145395450000046
速度动画增量
Figure FDA0003145395450000047
加速度动画增量
Figure FDA0003145395450000048
角度动画增量
Figure FDA0003145395450000049
尺寸动画增量
Figure FDA00031453954500000410
颜色动画增量
Figure FDA00031453954500000411
而画面图像的亮度影响因子为
Figure FDA00031453954500000412
梯度影响因子为
Figure FDA00031453954500000413
位移变化量的影响因子为
Figure FDA00031453954500000414
那么t+1时刻粒子更新迭代的计算公式为:
Figure FDA00031453954500000415
Figure FDA00031453954500000416
Figure FDA00031453954500000417
Figure FDA00031453954500000418
Figure FDA00031453954500000419
Figure FDA00031453954500000420
其中Lt、Vt和Gt分别表示画面图像的亮度、梯度和位移变化量。
9.根据权利要求8所述的一种内容相关的GPU实时粒子特效方法,其特征是,在步骤(6)中,具体操作方法如下:
(61)在三维场景中剔除已失效粒子,包括粒子颜色
Figure FDA00031453954500000421
的透明度为零的粒子、坐标位置处于屏幕/场景外的粒子以及生命周期结束的粒子;
(62)根据粒子特效效果的需求,应用主体对象遮罩图像
Figure FDA00031453954500000422
和动画进度参数
Figure FDA00031453954500000423
进一步剔除遮罩图像和动画进度包围区域外的无用粒子;
(63)以更新迭代后的粒子参数
Figure FDA00031453954500000424
计算粒子渲染的空间变换矩阵,并连同粒子颜色
Figure FDA00031453954500000425
纹理贴图
Figure FDA00031453954500000426
灯光贴图
Figure FDA00031453954500000427
遮罩图像
Figure FDA00031453954500000428
和动画进度
Figure FDA00031453954500000429
参数设置给图形渲染系统,利用GPU完成粒子效果的绘制;根据效果需要,可级联影视后处理滤镜效果到粒子系统中;
(64)显示并呈现粒子结果图像。
10.根据权利要求4所述的一种内容相关的GPU实时粒子特效方法,其特征是,在步骤(63)中,渲染粒子系统时,以更新迭代后的参数
Figure FDA0003145395450000051
计算粒子的三维姿态,作为图形渲染的空间变换矩阵的缩放、旋转、位移三个标准参数;而计算粒子着色效果时,以粒子颜色
Figure FDA0003145395450000052
纹理贴图
Figure FDA0003145395450000053
灯光贴图
Figure FDA0003145395450000054
遮罩图像
Figure FDA0003145395450000055
和动画进度
Figure FDA0003145395450000056
为参数并按以下公式计算最终着色效果
Figure FDA0003145395450000057
Figure FDA0003145395450000058
其中动画进度参数
Figure FDA0003145395450000059
可随着模板配置实现随时间变换的曲线动画。
CN202110752537.3A 2021-07-02 2021-07-02 一种内容相关的gpu实时粒子特效方法 Pending CN113487474A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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改进算法的视频车辆目标跟踪算法

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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