CN111627098B - 对图像中水流区域识别并生成动态水流视频的方法及装置 - Google Patents
对图像中水流区域识别并生成动态水流视频的方法及装置 Download PDFInfo
- Publication number
- CN111627098B CN111627098B CN202010436118.4A CN202010436118A CN111627098B CN 111627098 B CN111627098 B CN 111627098B CN 202010436118 A CN202010436118 A CN 202010436118A CN 111627098 B CN111627098 B CN 111627098B
- Authority
- CN
- China
- Prior art keywords
- image
- water flow
- neural network
- video
- processing
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- 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/50—Lighting effects
- G06T15/80—Shading
- G06T15/87—Gouraud shading
-
- 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/136—Segmentation; Edge detection involving thresholding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明涉及一种对图像中水流区域识别并生成动态水流视频的方法及装置,包括对神经网络进行训练,得到神经网络参数模型;将神经网络参数模型载入到移动客户端,利用移动客户端获取原始图像,并根据原始图像,确定待处理的图像;将待处理的图像输入神经网络参数模型中,神经网络参数模型将待处理的图像转化为水流区域alpha分割图,得到第一图像;对第一图像进行缩放处理,得到第二图像;对第二图像进行动态化渲染处理,得到第三图像;利用视频编码器和视频合成器对第三图像进行处理,输出具有动态水流效果的视频;本发明能够提升水流区域识别的准确度和运算速度,同时对现有的静态图片水流区域的动态化进行真实感提升和渲染速度提升的优化。
Description
技术领域
本发明属于图像处理技术领域,具体涉及一种对图像中水流区域识别并生成动态水流视频的方法及装置。
背景技术
目前市面上对静态图像中水流区域识别方式有:首先基于YCRBCR空间、HSV空间、RGB空间的一些水流区域识别算法,将图像中的水流区域识别出来,此类方法在水流与周围环境区分度较大的情况下识别较好,但是运算速度慢,识别出来的水流区域有较强的边缘感,且对于水流区域与周围环境颜色较为接近的情况下识别准确性很低,会出现识别不到水流区域或多识别了周围环境的情况。
目前市面上对于使静态图片水流区域动态化的方式有:对水流区域使用贴图平移,此类方法确实可以让水流区域动态化,但是欠缺真实感;又或者对水流区域使用进行网格化,使用波动方程模拟水流的波动,此方法可以很好的模拟动态水流真实感十足,但是此方法计算波动方程的速度较慢,不能达到实时渲染的效果。
相关技术中,对静态图片中水流区域识别的准确度和运算速度均比较低,将其进行动态化的真实感较低且渲染速度慢。
发明内容
有鉴于此,本发明的目的在于克服现有技术的不足,提供一种对图像中水流区域识别并生成动态水流视频的方法及装置,以解决现有技术中对于水流区域与周围环境颜色较为接近的情况下识别准确性很低、使静态图片水流区域动态化的方式计算速度较慢,不能达到实时渲染的效果的问题。
为实现以上目的,本发明采用如下技术方案:一种对图像中水流区域识别并生成动态水流视频的方法,包括:
对神经网络进行训练,得到神经网络参数模型;
将所述神经网络参数模型载入到移动客户端,利用所述移动客户端获取原始图像,并根据所述原始图像,确定待处理的图像;
将所述待处理的图像输入所述神经网络参数模型中,所述神经网络参数模型将所述待处理的图像转化为水流区域alpha分割图,得到第一图像;
对所述第一图像进行缩放处理,得到第二图像;
对所述第二图像进行动态化渲染处理,得到第三图像;
利用视频编码器和视频合成器对第三图像进行处理,输出具有动态水流效果的视频。
进一步的,所述对神经网络进行训练,得到神经网络参数模型,包括:
获取水流图片,并根据所述水流图片确定待处理的水流图片;
对所述待处理的水流图片进行处理,得到掩码分割图;其中,所述掩码分割图为黑白图片,白色区域表示水流区域,黑色区域表示非水流区域;
采用抠像算法处理所述掩码分割图,得到alpha分割图;
将所述水流图片、掩码分割图、alpha分割图进行调整至预设尺寸以构成训练数据;
将所述训练数据输入到神经网络中进行处理,得到精细alpha分割图;
初始化神经网络,采用交叉熵损失函数计算预测的alpha分割图与得到的精细alpha分割图之间的图像数据损失,根据所述图像数据损失再采用自适应估计矩阵算法更新神经网络参数;
在训练过程中动态调节学习率并进行多次训练,直至神经网络收敛,在所述神经网络预测结果使得水流区域与非水流区域的交界处呈现平滑效果时,存储神经网络参数,获取神经网络参数模型。
进一步的,所述根据所述原始图像,确定待处理的图像,包括:
对原始图像进行尺寸调整至预设尺寸,将所述调整为预设尺寸的图像确定为待处理的图像。
进一步的,所述对所述第一图像进行缩放处理,得到第二图像,包括:
预设判断条件,所述判断条件用于判断像素值是否大于预设的掩码阈值;其中,所述掩码阈值为77;
通过所述判断条件对所述第一图像的所有像素进行遍历并进行过滤,获取第一图像的水流区域包围盒;
将所述第一图像缩放至与所述原始图像的大小一致,得到真实大小的水流区域alpha分割图,得到第二图像并获取所述第二图像的水流区域包围盒。
进一步的,所述对所述第二图像进行动态化渲染处理,得到第三图像,包括:
设置一组水流顶点数据,用于表示水流区域平面;所述水流顶点数据包括顶点坐标数组和纹理坐标数组;
通过OpenGL创建第一纹理和第二纹理,并设置第一纹理、第二纹理的环绕方式和过滤方式,将所述原始图像的像素数据存放到所述第一纹理中,将所述第二图像的像素数据存放到所述第二纹理中;
通过OpenGL创建一个顶点缓存对象,将所述水流顶点数据存放到所述顶点缓存对象中;
设置一个时间变量,用于表示动态水流的时间戳;
创建一个水流顶点着色器脚本,将所述顶点缓存对象,所述第一纹理、第二纹理、所述第二图像的水流区域包围盒和所述时间变量载入到所述水流顶点着色器脚本;
通过所述水流顶点着色器脚本计算所述顶点缓存对象的Z坐标值;
在OpenGL中将所述水流顶点着色器脚本编译并绑定后进行渲染,得到第三图像。
进一步的,所述利用视频编码器和视频合成器对第三图像进行处理,输出具有动态水流效果的视频,包括:
创建一个视频文件、一个视频编码器、一个视频合成器、一个定时器;其中,所述定时器以24帧每秒的速度运行;
在每一帧中,记录当前的时间戳,并将所述时间戳作为参数传入所述时间变量中,再进行渲染操作;
在所述渲染操作完毕后,通过所述视频编码器对纹理进行编码,得到视频编码数据;
利用所述视频合成器将所述视频编码数据合成到所述视频文件中并导出,得到动态水流视频。
进一步的,所述神经网络包括:分割模块和羽化模块;
所述分割模块包括:池化层、卷积层、批标准化层、激活层、上采样层和Softmax层;
所述羽化模块包括:卷积层和Sigmoid层。
进一步的,所述将所述训练数据输入到神经网络中进行处理,得到精细alpha分割图,包括:
将训练数据中的水流图片与掩码分割图输入分割模块进行处理,得到粗略掩码分割图;
将所述粗略掩码分割图和训练数据中的alpha分割图输入到羽化模块进行处理,得到精细alpha分割图。
本申请实施例提供一种对图像中水流区域识别并生成动态水流视频的装置,包括:
训练模块,用于对神经网络进行训练,得到神经网络参数模型;
获取模块,用于将所述神经网络参数模型载入到移动客户端,利用所述移动客户端获取原始图像,并根据所述原始图像,确定待处理的图像;
神经网络模块,用于将所述待处理的图像输入所述神经网络参数模型中,所述神经网络参数模型将所述待处理的图像转化为水流区域alpha分割图,得到第一图像;
调整模块,用于对所述第一图像进行缩放处理,得到第二图像;
渲染模块,用于对所述第二图像进行动态化渲染处理,得到第三图像;
输出模块,用于利用视频编码器和视频合成器对第三图像进行处理,输出具有动态水流效果的视频。
进一步的,所述训练模块,包括:
第一获取单元,用于获取水流图片,并根据所述水流图片确定待处理的水流图片;
第一处理模块,用于对所述待处理的水流图片进行处理,得到掩码分割图;其中,所述掩码分割图为黑白图片,白色区域表示水流区域,黑色区域表示非水流区域;
第一计算单元,用于采用抠像算法处理所述掩码分割图,得到alpha分割图;
调整单元,用于将所述水流图片、掩码分割图、alpha分割图进行调整至预设尺寸以构成训练数据;
第二处理单元,用于将所述训练数据输入到神经网络中进行处理,得到精细alpha分割图;
第二计算单元,用于初始化神经网络,采用交叉熵损失函数计算预测的alpha分割图与得到的精细alpha分割图之间的图像数据损失,根据所述图像数据损失再采用自适应估计矩阵算法更新神经网络参数;
第二获取单元,用于在训练过程中动态调节学习率并进行多次训练,直至神经网络收敛,在所述神经网络预测结果使得水流区域与非水流区域的交界处呈现平滑效果时,存储神经网络参数,获取神经网络参数模型。
本发明采用以上技术方案,能够达到的有益效果包括:
本发明能够提升水流区域识别的准确度和运算速度,同时对现有的静态图片水流区域的动态化进行真实感提升和渲染速度提升的优化。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种对图像中水流区域识别并生成动态水流视频的方法步骤示意图;
图2为本发明一种对图像中水流区域识别并生成动态水流视频的方法的流程示意图;
图3为本发明构建神经网络参数模型的步骤示意图;
图4为本发明一种对图像中水流区域识别并生成动态水流视频的装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
下面结合附图介绍本申请实施例中提供的一个具体的对图像中水流区域识别并生成动态水流视频的方法及装置。
如图1所示,一种对图像中水流区域识别并生成动态水流视频的方法,包括:
S101、对神经网络进行训练,得到神经网络参数模型;
具体的,如图2所示,采用多次训练数据对神经网络进行训练,最终得到最优的神经网络参数模型。
S102、将神经网络参数模型载入到移动客户端,利用移动客户端获取原始图像,并根据原始图像,确定待处理的图像;
将训练后得到的神经网络参数模型载入到移动客户端,用户通过移动客户端拍摄图片,或是从移动客户端存储的图片库中获取图片作为原始图像,即原始图像是通过拍照类软件或图像类产品获得的水流二维图像,对原始图像的尺寸进行调整,调整为预设尺寸的图像,以方便对图像进行处理,预设尺寸的图像即为待处理的图像。
其中,移动客户端为设有摄像头的终端,例如:移动客户端可以是手机、平板电脑等。
S103、将待处理的图像输入神经网络参数模型中,神经网络参数模型将待处理的图像转化为水流区域alpha分割图,得到第一图像;
搜集水流图片,自行标注出水流区域,并对图片进行处理,得到水流图片的掩码分割图,掩码分割图为黑白图片,其中白色区域表示水流区域,黑色区域表示非水流区域。
S104、对第一图像进行缩放处理,得到第二图像;
将第一图像缩放至与原始图像的大小一致,得到真实大小的水流区域alpha分割图,称为第二图像。
S105、对第二图像进行动态化渲染处理,得到第三图像;
通过构建OpenGL(Open Graphics Library,开放图形库),对第二图像进行动态化渲染,得到第三图像。
S106、利用视频编码器和视频合成器对第三图像进行处理,输出具有动态水流效果的视频。
利用视频编码器和视频合成器对具有动态效果的第三图像进行编辑,得到动态水流视频。
一些实施例中,对神经网络进行训练,得到神经网络参数模型,如图3所示,包括:
S301、获取水流图片,并根据水流图片确定待处理的水流图片;
搜集水流图片,自行标注出水流区域;标注出水流区域的水流图片即为待处理的水流图片。
S302、对待处理的水流图片进行处理,得到掩码分割图;其中,掩码分割图为黑白图片,白色区域表示水流区域,黑色区域表示非水流区域;
对标注出水流的图片进行分割处理,得到水流区域和非水流区域,也就是掩码分割图。
S303、采用抠像算法处理掩码分割图,得到alpha分割图;
通过抠像算法对水流区域和非水流区域进行分割细节和突出边缘,得到水流区域和非水流区域的alpha分割图。
S304、将水流图片、掩码分割图、alpha分割图进行调整至预设尺寸以构成训练数据;
对水流图片、掩码分割图、alpha分割图进行尺寸调整,调整为预设尺寸的水流图片,其中预设尺寸为用户预设的,调整为对图片进行放大或缩小,掩码分割图为天空图片对应的掩码分割图,调整为预设尺寸的水流图片、掩码分割图、alpha分割图即为训练数据。
S305、将训练数据输入到神经网络中进行处理,得到精细alpha分割图;
将调整为预设尺寸的水流图片、掩码分割图、alpha分割图输入到神经网络中,神经网络对上述训练数据的处理后,输出精细alpha分割图。
S306、初始化神经网络,采用交叉熵损失函数计算预测的alpha分割图与得到的精细alpha分割图之间的图像数据损失,根据图像数据损失再采用自适应估计矩阵算法更新神经网络参数;
采用自适应估计矩阵算法更新神经网络参数以优化神经参数模型,提高训练的精确度。
S307、在训练过程中动态调节学习率并进行多次训练,直至神经网络收敛,在神经网络预测结果使得水流区域与非水流区域的交界处呈现平滑效果时,存储神经网络参数,获取神经网络参数模型。
优选的,根据原始图像,确定待处理的图像,包括:
对原始图像进行尺寸调整至预设尺寸,将调整为预设尺寸的图像确定为待处理的图像。
优选的,根据水流图片确定待处理的水流图片,包括:
将水流图片标注出水流区域,标注出水流区域的待图片为待处理的图像。
一些实施例中,对第一图像进行缩放处理,得到第二图像,包括:
预设判断条件,判断条件用于判断像素值是否大于预设的掩码阈值;其中,掩码阈值为77;
通过判断条件对第一图像的所有像素进行遍历并进行过滤,获取第一图像的水流区域包围盒;
将第一图像缩放至与原始图像的大小一致,得到真实大小的水流区域alpha分割图,得到第二图像并获取第二图像的水流区域包围盒。
具体的,设定一个像素值是否大于掩码阈值的判断条件,对所述第一图像的所有像素进行遍历并用判断条件进行过滤,其中掩码阈值为77,得到第一图像的水流区域包围盒;
第一图像的水流区域包围盒包含4个值,分别记为TinySegBoxLeft、TinySegBoxRight、TinySegBoxTop、TinySegBoxBottom;
其中TinySegBoxLeft为第一图像中符合判断条件的所有像素在第一图像中的横坐标的最小值;
其中TinySegBoxRight为第一图像中符合判断条件的所有像素在第一图像中的横坐标的最大值;
其中TinySegBoxTop为第一图像中符合判断条件的所有像素在第一图像中的纵坐标的最小值;
其中TinySegBoxBottom为第一图像中符合判断条件的所有像素在第一图像中的纵坐标的最大值;
将第一图像缩放至与原始图像的大小一致,得到真实大小的水流区域alpha分割图,称为第二图像;
将第一图像的水流区域包围盒的4个值TinySegBoxLeft、TinySegBoxRight、TinySegBoxTop、TinySegBoxBottom代入对应的映射公式,计算得出第二图像的水流区域包围盒的4个值,记为RealSegBoxLeft、RealSegBoxRight、RealSegBoxTop、RealSegBoxBottom,其中对应的映射公式如下:
RealSegBoxLeft=TinySegBoxLeft*W/w,
RealSegBoxRight=TinySegBoxRight*W/w,
RealSegBoxTop=TinySegBoxTop*H/h,
RealSegBoxBottom=TinySegBoxBottom*H/h,
其中,公式中的W为第二图像的宽度,w为第一图像的宽度,H为第二图像的高度,h为第一图像的高度。
一些实施例中,对第二图像进行动态化渲染处理,得到第三图像,包括:
设置一组水流顶点数据,用于表示水流区域平面;水流顶点数据包括顶点坐标数组和纹理坐标数组;
通过OpenGL创建第一纹理和第二纹理,并设置第一纹理、第二纹理的环绕方式和过滤方式,将原始图像的像素数据存放到第一纹理中,将第二图像的像素数据存放到第二纹理中;
通过OpenGL创建一个顶点缓存对象,将水流顶点数据存放到顶点缓存对象中;
设置一个时间变量,用于表示动态水流的时间戳;
创建一个水流顶点着色器脚本,将顶点缓存对象,第一纹理、第二纹理、第二图像的水流区域包围盒和时间变量载入到水流顶点着色器脚本;
通过水流顶点着色器脚本计算顶点缓存对象的Z坐标值;
在OpenGL中将水流顶点着色器脚本编译并绑定后进行渲染,得到第三图像。
具体的,OpenGL(Open Graphics Library,开放图形库)定义了一个跨编程语言、跨平台的编程接口规格的图形程序接口。OpenGL可以用于三维图像或者二维图像。
设置一组200X200的网格的顶点数据,用于表示水流区域平面,称为水流顶点数据,水流顶点数据包含一个长度为480000的顶点坐标数组Pos和一个长度为480000的纹理坐标数组TexCoord,其中,顶点坐标数组Pos取值范围为-1到1的浮点数,纹理坐标数组TexCoord取值范围0到1的浮点数;
通过OpenGL创建两个纹理Tex1和Tex2,并设置纹理环绕方式和过滤方式,将原始图像的像素数据存放到纹理Tex1中,将第二图像的像素数据存放到纹理Tex2中;
通过OpenGL创建一个顶点缓存对象Vbo,将水流顶点数据存放到顶点缓存对象Vbo中;
设置一个时间变量,用于表示动态水流的时间戳,记为iTime;
创建一个水流顶点着色器脚本,将顶点缓存对象Vbo,纹理Tex1和Tex2,第二图像的水流区域包围盒和动态水流的时间戳iTime载入到水流顶点着色器脚本,顶点缓存对象Vbo在脚本中用aPosition和aTexCoord表示;
纹理Tex1在脚本中用inputImageTexture1表示,纹理Tex2在脚本中用inputImageTexture2表示;
通过水流顶点着色器脚本,计算aPosition的z坐标值aPosz,其中计算过程由以下公式组成:
mask=texture2D(inputImageTexture2,aTexCoord.xy),
boxRatio=(RealSegBoxRight-RealSegBoxLeft)/(RealSegBoxBottom-RealSegBoxTop),
amp=2.0*mix(0.3,1.0,boxRatio),
rand=fract(sin(dot(aTexCoord.xy,vec2(12.9898,78.233)))*43758.5453123),
high=amp*(rand-abs(mod(3.14159*iTime,2.0*rand)-rand)),
aPosz=high*pow(1.-aTexCoord.y,2.0)*aTexCoord.y*mask,
其中texture2D,mix,fract,sin,dot,vec2,abs,mod,clamp,pow为OpenGL的内置函数;
通过OpenGL创建一个渲染程序,将水流顶点着色器脚本编译并绑定、链接到渲染程序。
一些实施例中,利用视频编码器和视频合成器对第三图像进行处理,输出具有动态水流效果的视频,包括:
创建一个视频文件、一个视频编码器、一个视频合成器、一个定时器;其中,定时器以24帧每秒的速度运行;
在每一帧中,记录当前的时间戳,并将时间戳作为参数传入时间变量中,再进行渲染操作;
在渲染操作完毕后,通过视频编码器对纹理进行编码,得到视频编码数据;
利用视频合成器将视频编码数据合成到视频文件中并导出,得到动态水流视频。
具体的,创建一个视频文件、创建一个视频编码器和一个视频合成器、创建OpenGL运行环境、创建一个定时器,以24帧每秒的速度运行;在每一帧中,记录当前的时间戳,并将时间戳作为参数传入到时间变量iTime中,并运行OpenGL创建的渲染程序进行渲染;
在渲染程序每次渲染完毕后,通过视频编码器对纹理数据进行编码,得到视频编码数据;
利用视频合成器将视频编码数据合成到视频文件中并导出,得到动态水流视频。
一些实施例中,神经网络包括:分割模块和羽化模块;
分割模块包括:池化层、卷积层、批标准化层、激活层、上采样层和Softmax层;
羽化模块包括:卷积层和Sigmoid层。
优选的,将训练数据输入到神经网络中进行处理,得到精细alpha分割图,包括:
将训练数据中的水流图片与掩码分割图输入分割模块进行处理,得到粗略掩码分割图;
将粗略掩码分割图和训练数据中的alpha分割图输入到羽化模块进行处理,得到精细alpha分割图。
其中,训练数据中的水流图片与对应的掩码分割图经过分割模块处理,产出粗略掩码分割图,再将粗略掩码分割图与训练数据中的alpha分割图输入羽化模块,产出精细alpha分割图。
一些实施例中,本申请提供一种对图像中水流区域识别并生成动态水流视频的装置,如图4所示,包括:
训练模块401,用于对神经网络进行训练,得到神经网络参数模型;
获取模块402,用于将神经网络参数模型载入到移动客户端,利用移动客户端获取原始图像,并根据原始图像,确定待处理的图像;
神经网络模块403,用于将待处理的图像输入神经网络参数模型中,神经网络参数模型将待处理的图像转化为水流区域alpha分割图,得到第一图像;
调整模块404,用于对第一图像进行缩放处理,得到第二图像;
渲染模块405,用于对第二图像进行动态化渲染处理,得到第三图像;
输出模块406,用于利用视频编码器和视频合成器对第三图像进行处理,输出具有动态水流效果的视频。
本申请提供的装置的工作原理是,训练模块对神经网络进行训练,得到神经网络参数模型;获取模块将神经网络参数模型载入到移动客户端,利用移动客户端获取原始图像,并根据原始图像,确定待处理的图像;神经网络模块将待处理的图像输入神经网络参数模型中,神经网络参数模型将待处理的图像转化为水流区域alpha分割图,得到第一图像;调整模块对第一图像进行缩放处理,得到第二图像;渲染模块对第二图像进行动态化渲染处理,得到第三图像;输出模块利用视频编码器和视频合成器对第三图像进行处理,输出具有动态水流效果的视频。
优选的,训练模块,包括:
第一获取单元,用于获取水流图片,并根据水流图片确定待处理的水流图片;
第一处理模块,用于对待处理的水流图片进行处理,得到掩码分割图;其中,掩码分割图为黑白图片,白色区域表示水流区域,黑色区域表示非水流区域;
第一计算单元,用于采用抠像算法处理掩码分割图,得到alpha分割图;
调整单元,用于将水流图片、掩码分割图、alpha分割图进行调整至预设尺寸以构成训练数据;
第二处理单元,用于将训练数据输入到神经网络中进行处理,得到精细alpha分割图;
第二计算单元,用于初始化神经网络,采用交叉熵损失函数计算预测的alpha分割图与得到的精细alpha分割图之间的图像数据损失,根据图像数据损失再采用自适应估计矩阵算法更新神经网络参数;
第二获取单元,用于在训练过程中动态调节学习率并进行多次训练,直至神经网络收敛,在神经网络预测结果使得水流区域与非水流区域的交界处呈现平滑效果时,存储神经网络参数,获取神经网络参数模型。
综上,本申请提供的对图像中水流区域识别并生成动态水流视频的方法及装置,首先将各种含水流的图片,通过自行标注等一系列处理构建训练数据,再通过对神经网络进行训练,得到用于水流区域识别的模型。通过神经网络模型对用户输入原始图像进行水流区域识别,得到真实大小的水流区域alpha分割图。然后将原始图像、真实大小的水流区域alpha分割图、水流顶点数据程序和水流顶点着色器脚本导入到OpenGL渲染程序,运行OpenGL渲染程序并通过视频导出模块生成动态水流视频。
可以理解的是,上述提供的方法实施例与上述的装置实施例对应,相应的具体内容可以相互参考,在此不再赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的方法。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令方法的制造品,该指令方法实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种对图像中水流区域识别并生成动态水流视频的方法,其特征在于,包括:
对神经网络进行训练,得到神经网络参数模型;
将所述神经网络参数模型载入到移动客户端,利用所述移动客户端获取原始图像,并根据所述原始图像,确定待处理的图像;
将所述待处理的图像输入所述神经网络参数模型中,所述神经网络参数模型将所述待处理的图像转化为水流区域alpha分割图,得到第一图像;
对所述第一图像进行缩放处理,得到第二图像;
对所述第二图像进行动态化渲染处理,得到第三图像;
利用视频编码器和视频合成器对第三图像进行处理,输出具有动态水流效果的视频。
2.根据权利要求1所述的方法,其特征在于,所述对神经网络进行训练,得到神经网络参数模型,包括:
获取水流图片,并根据所述水流图片确定待处理的水流图片;
对所述待处理的水流图片进行处理,得到掩码分割图;其中,所述掩码分割图为黑白图片,白色区域表示水流区域,黑色区域表示非水流区域;
采用抠像算法处理所述掩码分割图,得到alpha分割图;
将所述水流图片、掩码分割图、alpha分割图进行调整至预设尺寸以构成训练数据;
将所述训练数据输入到神经网络中进行处理,得到精细alpha分割图;
初始化神经网络,采用交叉熵损失函数计算预测的alpha分割图与得到的精细alpha分割图之间的图像数据损失,根据所述图像数据损失再采用自适应估计矩阵算法更新神经网络参数;
在训练过程中动态调节学习率并进行多次训练,直至神经网络收敛,在神经网络预测结果使得水流区域与非水流区域的交界处呈现平滑效果时,存储神经网络参数,获取神经网络参数模型。
3.根据权利要求1所述的方法,其特征在于,所述根据所述原始图像,确定待处理的图像,包括:
对原始图像进行尺寸调整至预设尺寸,将调整为预设尺寸的图像确定为待处理的图像。
4.根据权利要求1所述的方法,其特征在于,所述对所述第一图像进行缩放处理,得到第二图像,包括:
预设判断条件,所述判断条件用于判断像素值是否大于预设的掩码阈值;其中,所述掩码阈值为77;
通过所述判断条件对所述第一图像的所有像素进行遍历并进行过滤,获取第一图像的水流区域包围盒;
将所述第一图像缩放至与所述原始图像的大小一致,得到真实大小的水流区域alpha分割图,得到第二图像并获取所述第二图像的水流区域包围盒。
5.根据权利要求4所述的方法,其特征在于,所述对所述第二图像进行动态化渲染处理,得到第三图像,包括:
设置一组水流顶点数据,用于表示水流区域平面;所述水流顶点数据包括顶点坐标数组和纹理坐标数组;
通过OpenGL创建第一纹理和第二纹理,并设置第一纹理、第二纹理的环绕方式和过滤方式,将所述原始图像的像素数据存放到所述第一纹理中,将所述第二图像的像素数据存放到所述第二纹理中;
通过OpenGL创建一个顶点缓存对象,将所述水流顶点数据存放到所述顶点缓存对象中;
设置一个时间变量,用于表示动态水流的时间戳;
创建一个水流顶点着色器脚本,将所述顶点缓存对象,所述第一纹理、第二纹理、所述第二图像的水流区域包围盒和所述时间变量载入到所述水流顶点着色器脚本;
通过所述水流顶点着色器脚本计算所述顶点缓存对象的Z坐标值;
在OpenGL中将所述水流顶点着色器脚本编译并绑定后进行渲染,得到第三图像。
6.根据权利要求5所述的方法,其特征在于,所述利用视频编码器和视频合成器对第三图像进行处理,输出具有动态水流效果的视频,包括:
创建一个视频文件、一个视频编码器、一个视频合成器、一个定时器;其中,所述定时器以24帧每秒的速度运行;
在每一帧中,记录当前的时间戳,并将所述时间戳作为参数传入所述时间变量中,再进行渲染操作;
在所述渲染操作完毕后,通过所述视频编码器对纹理进行编码,得到视频编码数据;
利用所述视频合成器将所述视频编码数据合成到所述视频文件中并导出,得到动态水流视频。
7.根据权利要求1所述的方法,其特征在于,所述神经网络包括:分割模块和羽化模块;
所述分割模块包括:池化层、卷积层、批标准化层、激活层、上采样层和Softmax层;
所述羽化模块包括:卷积层和Sigmoid层。
8.根据权利要求2所述的方法,其特征在于,所述将所述训练数据输入到神经网络中进行处理,得到精细alpha分割图,包括:
将训练数据中的水流图片与掩码分割图输入分割模块进行处理,得到粗略掩码分割图;
将所述粗略掩码分割图和训练数据中的alpha分割图输入到羽化模块进行处理,得到精细alpha分割图。
9.一种对图像中水流区域识别并生成动态水流视频的装置,其特征在于,包括:
训练模块,用于对神经网络进行训练,得到神经网络参数模型;
获取模块,用于将所述神经网络参数模型载入到移动客户端,利用所述移动客户端获取原始图像,并根据所述原始图像,确定待处理的图像;
神经网络模块,用于将所述待处理的图像输入所述神经网络参数模型中,所述神经网络参数模型将所述待处理的图像转化为水流区域alpha分割图,得到第一图像;
调整模块,用于对所述第一图像进行缩放处理,得到第二图像;
渲染模块,用于对所述第二图像进行动态化渲染处理,得到第三图像;
输出模块,用于利用视频编码器和视频合成器对第三图像进行处理,输出具有动态水流效果的视频。
10.根据权利要求9所述的装置,其特征在于,所述训练模块,包括:
第一获取单元,用于获取水流图片,并根据所述水流图片确定待处理的水流图片;
第一处理模块,用于对所述待处理的水流图片进行处理,得到掩码分割图;其中,所述掩码分割图为黑白图片,白色区域表示水流区域,黑色区域表示非水流区域;
第一计算单元,用于采用抠像算法处理所述掩码分割图,得到alpha分割图;
调整单元,用于将所述水流图片、掩码分割图、alpha分割图进行调整至预设尺寸以构成训练数据;
第二处理单元,用于将所述训练数据输入到神经网络中进行处理,得到精细alpha分割图;
第二计算单元,用于初始化神经网络,采用交叉熵损失函数计算预测的alpha分割图与得到的精细alpha分割图之间的图像数据损失,根据所述图像数据损失再采用自适应估计矩阵算法更新神经网络参数;
第二获取单元,用于在训练过程中动态调节学习率并进行多次训练,直至神经网络收敛,在神经网络预测结果使得水流区域与非水流区域的交界处呈现平滑效果时,存储神经网络参数,获取神经网络参数模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010436118.4A CN111627098B (zh) | 2020-05-21 | 2020-05-21 | 对图像中水流区域识别并生成动态水流视频的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010436118.4A CN111627098B (zh) | 2020-05-21 | 2020-05-21 | 对图像中水流区域识别并生成动态水流视频的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111627098A CN111627098A (zh) | 2020-09-04 |
CN111627098B true CN111627098B (zh) | 2023-04-07 |
Family
ID=72272530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010436118.4A Active CN111627098B (zh) | 2020-05-21 | 2020-05-21 | 对图像中水流区域识别并生成动态水流视频的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111627098B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113298786B (zh) * | 2021-05-26 | 2022-02-11 | 北京长木谷医疗科技有限公司 | 图像识别及模型训练的方法、真臼位置识别的方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107204034A (zh) * | 2016-03-17 | 2017-09-26 | 腾讯科技(深圳)有限公司 | 一种图像处理方法及终端 |
CN107330900A (zh) * | 2017-06-22 | 2017-11-07 | 成都品果科技有限公司 | 一种自动人像分割方法 |
CN108230240A (zh) * | 2017-12-31 | 2018-06-29 | 厦门大学 | 一种基于深度学习获取图像城市范围内位置及姿态的方法 |
US10387487B1 (en) * | 2018-01-25 | 2019-08-20 | Ikorongo Technology, LLC | Determining images of interest based on a geographical location |
CN110650368A (zh) * | 2019-09-25 | 2020-01-03 | 新东方教育科技集团有限公司 | 视频处理方法、装置和电子设备 |
CN110930296A (zh) * | 2019-11-20 | 2020-03-27 | Oppo广东移动通信有限公司 | 图像处理方法、装置、设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017029488A2 (en) * | 2015-08-14 | 2017-02-23 | Metail Limited | Methods of generating personalized 3d head models or 3d body models |
US10255681B2 (en) * | 2017-03-02 | 2019-04-09 | Adobe Inc. | Image matting using deep learning |
US10586310B2 (en) * | 2017-04-06 | 2020-03-10 | Pixar | Denoising Monte Carlo renderings using generative adversarial neural networks |
US11967127B2 (en) * | 2018-04-18 | 2024-04-23 | Sony Interactive Entertainment Inc. | Context embedding for capturing image dynamics |
-
2020
- 2020-05-21 CN CN202010436118.4A patent/CN111627098B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107204034A (zh) * | 2016-03-17 | 2017-09-26 | 腾讯科技(深圳)有限公司 | 一种图像处理方法及终端 |
CN107330900A (zh) * | 2017-06-22 | 2017-11-07 | 成都品果科技有限公司 | 一种自动人像分割方法 |
CN108230240A (zh) * | 2017-12-31 | 2018-06-29 | 厦门大学 | 一种基于深度学习获取图像城市范围内位置及姿态的方法 |
US10387487B1 (en) * | 2018-01-25 | 2019-08-20 | Ikorongo Technology, LLC | Determining images of interest based on a geographical location |
CN110650368A (zh) * | 2019-09-25 | 2020-01-03 | 新东方教育科技集团有限公司 | 视频处理方法、装置和电子设备 |
CN110930296A (zh) * | 2019-11-20 | 2020-03-27 | Oppo广东移动通信有限公司 | 图像处理方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
一种基于alpha通道的彩色图像超分辨率方法;赵红等;《河北大学学报(自然科学版)》(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111627098A (zh) | 2020-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111598998B (zh) | 三维虚拟模型重建方法、装置、计算机设备和存储介质 | |
CN110490896B (zh) | 一种视频帧图像处理方法和装置 | |
CN108805090B (zh) | 一种基于平面网格模型的虚拟试妆方法 | |
Rakotosaona et al. | Nerfmeshing: Distilling neural radiance fields into geometrically-accurate 3d meshes | |
CN111612878B (zh) | 将静态照片制作成三维效果视频的方法及装置 | |
US20220156987A1 (en) | Adaptive convolutions in neural networks | |
KR20100088347A (ko) | 얼굴 표정 리타게팅 방법 | |
CN116385667B (zh) | 三维模型的重建方法、纹理重构模型的训练方法以及装置 | |
CN109903373A (zh) | 一种基于多尺度残差网络的高质量人脸生成方法 | |
CN107633544A (zh) | 环境光遮蔽的处理方法及装置 | |
US20220375152A1 (en) | Method for Efficiently Computing and Specifying Level Sets for Use in Computer Simulations, Computer Graphics and Other Purposes | |
CN116721210A (zh) | 基于神经有符号距离场的实时高效三维重建方法及装置 | |
CN115100337A (zh) | 一种基于卷积神经网络的全身人像视频重照明方法和装置 | |
CN116109757A (zh) | 基于内蕴坐标的哈希编码的动态三维人体渲染合成方法 | |
CN111951345A (zh) | 一种基于gpu的实时图像视频油画风格化方法 | |
CN115393480A (zh) | 基于动态神经纹理的说话人合成方法、装置和存储介质 | |
CN111627098B (zh) | 对图像中水流区域识别并生成动态水流视频的方法及装置 | |
CN114758070A (zh) | 基于跨域多任务的单张图像三维人体精细重建方法 | |
Ge et al. | 3D Reconstruction of Ancient Buildings Using UAV Images and Neural Radiation Field with Depth Supervision | |
KR20220108024A (ko) | 피부 애니메이션에 대한 미세 세부사항을 유추하는 방법 | |
CN115311394A (zh) | 一种驱动数字人面部动画方法、系统、设备及介质 | |
US10922872B2 (en) | Noise reduction on G-buffers for Monte Carlo filtering | |
Johnston et al. | Single View 3D Point Cloud Reconstruction using Novel View Synthesis and Self-Supervised Depth Estimation | |
Feng et al. | R2Human: Real-Time 3D Human Appearance Rendering from a Single Image | |
KR102648938B1 (ko) | 기하학적 일관성을 이용한 소수 샷 신경 방사장 기반 3차원 이미지 재구성 방법 및 장치 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |