一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

图像处理方法与装置、神经网络训练的方法与装置与流程

2022-02-22 23:08:20 来源:中国专利 TAG:


1.本技术涉及人工智能领域,并且更具体地,涉及一种图像处理方法与装置、神经网络训练的方法与装置。


背景技术:

2.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,ai基础理论等。
3.图像压缩能够减小图像数据中的冗余信息,因此,图像压缩对于提高图像的存储效率和传输效率有着重要意义。传统的图像压缩方法如联合图像专家组(joint photographic experts group,jpeg)在中高码率区域有较好的压缩效果,在低码率区域,传统的图像压缩方法的压缩效果不够理想。
4.可以通过神经网络对图像进行压缩,该方法主要利用神经网络和对应的非线性变换提取图像特征,从而达到压缩目的。这种方法相比传统的图像压缩方法,可以省去复杂的参数设计和模块设计。在解压时,可以采用神经网络进行解码以重构图像。如何提高神经网络对图像的压缩性能,成为一个亟需解决的技术问题。


技术实现要素:

5.本技术提供一种图像处理方法与装置、及神经网络训练的方法与装置,能够提高神经网络对图像的压缩效果。
6.第一方面,提供了一种图像处理方法,所述方法包括:确定待处理图像中的多个区域图像中每个区域图像对应的纹理复杂度信息;根据所述每个区域图像对应的纹理复杂度信息,确定所述每个区域图像对应的图像压缩模型,其中,不同的纹理复杂度信息对应不同的图像压缩模型;利用所述每个区域图像对应的图像压缩模型对所述每个区域图像进行压缩。
7.一张完整的图像的不同区域中,图像的纹理复杂度可能并不相同。例如,在天空、海滩等背景区域,图像的纹理复杂度较低;在包括人物等目标的兴趣区域或前景区域,图像复杂度较高。
8.通过将待处理图像划分为多个区域图像,对每个区域图像分别使用与该图像纹理复杂度相对应的压缩模型进行图像的压缩,可以对待处理图像中不同纹理复杂度的区域进行与该纹理复杂度相适应的压缩处理,以提高对待处理图像整体的压缩效果。
9.结合第一方面,在一些可能的实现方式中,所述方法还包括:利用与压缩所述每个
区域图像的图像压缩模型对应的图像解压模型,对所述每个区域图像压缩后得到的图像特征进行解压缩,得到所述每个区域图像对应的区域解压图像;对所述多个区域解压图像进行拼接处理和优化处理,得到恢复后的待处理图像,所述优化处理包括对所述多个区域解压图像的边沿进行调整。
10.由于对一张完整的图像进行了划分,将各个用于处理不同纹理复杂度的图像解压模型通过解压得到的区域解压图像进行拼接,两个相邻的区域解压图像在拼接之后可能出现线条不连续或颜色差异等。通过对一个或多个区域解压图像的边沿区域的像素进行调整,可以使得对经过压缩、解压、拼接处理后的完整图像与处理前的图像之间的图像失真度更小。
11.结合第一方面,在一些可能的实现方式中,所述确定待处理图像中的多个区域图像中每个区域图像对应的纹理复杂度信息,包括:计算每个区域图像中每个像素的梯度大小;根据所述每个像素的梯度大小,确定每个区域图像的纹理复杂度信息。
12.可以根据像素的亮度或其他颜色的表示方式,确定像素的梯度大小。
13.可以利用该区域图像中各个像素的梯度大小的中位数或平均数表示该区域图像的纹理复杂度。
14.结合第一方面,在一些可能的实现方式中,所述方法还包括:将所述待处理图像划分为所述多个区域图像,所述多个区域图像不重叠,且所述多个区域图像包括所述待处理图像中的全部像素。
15.多个区域图像包括所述待处理图像中的全部像素并且该多个区域图像不重叠,可以降低码率。
16.第二方面,提供一种神经网络训练方法,所述方法包括:确定训练图像中的多个训练区域图像中每个训练区域图像对应的纹理复杂度信息;根据所述每个训练区域图像对应的训练纹理复杂度信息,确定所述每个训练区域图像对应的编解码模型,其中,不同的纹理复杂度信息对应不同的编解码模型,每个所述编解码模型用于对输入的所述训练区域图像进行压缩,并对压缩结果进行解压得到多个解压训练区域图像;根据率失真调整所述编解码模型的参数,所述率失真根据所述解压训练区域图像和所述训练区域图像得到。
17.通过在训练过程中,针对每种纹理复杂度的训练区域图像,训练与该纹理复杂度相对应的编解码器,使得每个编解码器对于与之相对应的纹理复杂度的图片的压缩性能更好。
18.一张完整的图像中,图像的纹理复杂度可能并不相同。例如,在天空、海滩等背景区域,图像的纹理复杂度较低;在包括人物等目标的兴趣区域或前景区域,图像复杂度较高。将一张完整图像划分为多个个区域,从而利用每个区域的图像对编解码器进行训练,能够使得训练数据更加符合编解码器的图像对应的纹理复杂度,从而提升每个编解码器对于与之相对应的纹理复杂度的图片的压缩性能。
19.结合第二方面,在一些可能的实现方式中,通过融合模型对所述多个解压训练区域图像进行拼接处理和优化处理,得到所述训练恢复图像,所述优化处理包括对至少一个所述解压训练区域图像的边沿进行调整;根据所述训练恢复图像与所述训练图像之间的图像失真度,调整所述融合模型的参数。
20.通过采用融合模型,能够使得编解码器处理后的图像在拼接后图像失真度更小。
21.还可以根据所述训练恢复图像与所述训练图像之间的图像失真度,调整所述编解码模型的参数。
22.可选地,可以通过“端到端”的方式训练图像处理过程中所需的神经网络模型。
23.根据训练恢复图像与所述待处理训练图像的图像失真度,计算率失真,从而根据率失真调整编解码模型、融合模型的参数,完成对编解码模型和融合模型的训练,从而可以实现对图像处理过程中所需的神经网络模型的“端到端”的训练,降低了神经网络训练的复杂度。
24.应当理解,率失真可以根据图像失真度和码率确定。码率用于表示图像的压缩程度,可以根据编解码模型的压缩结果确定。
25.应当理解,融合模型还可以对解压训练区域图像的边沿之外的其他区域进行调整。
26.结合第二方面,在一些可能的实现方式中,所述确定训练图像中的多个训练区域图像中每个训练区域图像对应的纹理复杂度信息,包括:计算每个训练区域图像中每个像素的梯度大小;根据所述每个像素的梯度大小,确定每个训练区域图像的纹理复杂度信息。
27.结合第二方面,在一些可能的实现方式中,所述方法还包括:将所述训练图像划分为所述多个训练区域图像,所述多个训练区域图像不重叠,且所述多个训练区域图像包括所述训练图像中的全部像素。
28.第三方面,提供一种电子设备,图像处理装置,其特征在于,包括存储模块和处理模块;所述存储模块用于存储程序指令;当所述程序指令在所述处理器中执行时,所述处理模块用于:确定待处理图像中的多个区域图像中每个区域图像对应的纹理复杂度信息;根据所述每个区域图像对应的纹理复杂度信息,确定所述每个区域图像对应的图像压缩模型,其中,不同的纹理复杂度信息对应不同的图像压缩模型;利用所述每个区域图像对应的图像压缩模型对所述每个区域图像进行压缩。
29.结合第三方面,在一些可能的实现方式中,所述处理模块还用于:利用与压缩所述每个区域图像的图像压缩模型对应的图像解压模型,对所述每个区域图像压缩后得到的图像特征进行解压缩,得到所述每个区域图像对应的区域解压图像;对所述多个区域解压图像进行拼接处理和优化处理,得到恢复后的待处理图像,所述优化处理包括对所述多个区域解压图像的边沿进行像素调整。
30.结合第三方面,在一些可能的实现方式中,所述处理模块还用于:计算每个区域图像中每个像素的梯度大小;根据所述每个像素的梯度大小,确定每个区域图像的纹理复杂度信息。
31.结合第三方面,在一些可能的实现方式中,所述处理模块还用于:将所述待处理图像划分为所述多个区域图像,所述多个区域图像不重叠,且所述多个区域图像包括所述待处理图像中的全部像素。
32.第四方面,提供一种神经网络训练装置,包括存储模块和处理模块;所述存储模块用于存储程序指令,当所述程序指令在所述处理器中执行时,所述处理模块用于:确定训练图像中的多个训练区域图像中每个训练区域图像对应的纹理复杂度信息;根据所述每个训练区域图像对应的训练纹理复杂度信息,确定所述每个训练区域图像对应的编解码模型,其中,不同的纹理复杂度信息对应不同的编解码模型,每个所述编解码模型用于对输入的
所述训练区域图像进行压缩,并对压缩结果进行解压得到多个解压训练区域图像;根据率失真调整所述编解码模型的参数,所述率失真根据所述解压训练区域图像和所述训练区域图像得到。
33.结合第四方面,在一些可能的实现方式中,所述处理模块还用于:通过融合模型对所述多个解压训练区域图像进行拼接处理和优化处理,得到训练恢复图像,所述优化处理包括对至少一个所述解压训练区域图像的边沿进行像素调整;根据所述训练恢复图像与所述训练图像的图像失真度,调整融合模型的参数。
34.还可以根据所述训练恢复图像与所述训练图像之间的图像失真度,调整所述编解码模型的参数。
35.结合第四方面,在一些可能的实现方式中,所述处理模块还用于:计算每个训练区域图像中每个像素的梯度大小;根据所述每个像素的梯度大小,确定每个训练区域图像的纹理复杂度信息。
36.结合第四方面,在一些可能的实现方式中,所述处理模块还用于:将所述训练图像划分为所述多个训练区域图像,所述多个训练区域图像不重叠,且所述多个训练区域图像包括所述训练图像中的全部像素。
37.第五方面,提供一种电子设备,包括存储器和处理器,所述存储器用于存储程序指令;当所述程序指令在所述处理器中执行时,所述处理器用于执行第一方面或第二方面所述的方法。
38.上述第五方面中的处理器既可以是中央处理器(central processing unit,cpu),也可以是cpu与神经网络运算处理器的组合,这里的神经网络运算处理器可以包括图形处理器(graphics processing unit,gpu)、神经网络处理器(neural-network processing unit,npu)和张量处理器(tensor processing unit,tpu)等等。其中,tpu是谷歌(google)为机器学习全定制的人工智能加速器专用集成电路。
39.第六方面,提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行第一方面或第二方面中的任意一种实现方式中的方法。
40.第七方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面或第二方面中的任意一种实现方式中的方法。
41.第八方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述第一方面或第二方面中的任意一种实现方式中的方法。
42.可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面或第二方面中的任意一种实现方式中的方法。
43.上述芯片具体可以是现场可编程门阵列(field-programmable gate array,fpga)或者专用集成电路(application-specific integrated circuit,asic)。
附图说明
44.图1为本技术实施例提供的一种系统架构的结构示意图。
45.图2为本技术实施例提供的一种卷积神经网络的结构示意图。
46.图3为本技术实施例提供的另一种卷积神经网络的结构示意图。
47.图4为本技术实施例提供的一种芯片的硬件结构示意图。
48.图5为本技术实施例提供的一种系统架构的示意图。
49.图6是一种图像处理系统的示意性结构图。
50.图7是本技术实施例提供的一种图像处理系统的示意性结构图。
51.图8是本技术实施例提供的一种神经网络训练方法的示意性结构图。
52.图9是本技术实施例提供的一种图像处理方法的示意性流程图。
53.图10是本技术实施例提高的图像处理方法的压缩性能的示意图。
54.图11是本技术实施例提供的一种图像处理装置的示意性结构图。
55.图12是本技术实施例提供的一种神经网络训练装置的示意性结构图。
56.图13是本技术实施例的图像处理装置的示意性结构图。
57.图14是本技术实施例的神经网络训练装置的示意性结构图。
具体实施方式
58.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
59.由于本技术实施例涉及大量神经网络的应用,为了便于理解,下面先对本技术实施例可能涉及的神经网络的相关术语和概念进行介绍。
60.(1)神经网络
61.神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元,该运算单元的输出可以为:
[0062][0063]
其中,s=1、2、
……
n,n为大于1的自然数,ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入,激活函数可以是sigmoid函数。神经网络是将多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
[0064]
(2)深度神经网络
[0065]
深度神经网络(deep neural network,dnn),也称多层神经网络,可以理解为具有多层隐含层的神经网络。按照不同层的位置对dnn进行划分,dnn内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i 1层的任意一个神经元相连。
[0066]
虽然dnn看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是
如下线性关系表达式:其中,是输入向量,是输出向量,是偏移向量,w是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量经过如此简单的操作得到输出向量由于dnn层数多,系数w和偏移向量的数量也比较多。这些参数在dnn中的定义如下所述:以系数w为例:假设在一个三层的dnn中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为上标3代表系数w所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。
[0067]
综上,第l-1层的第k个神经元到第l层的第j个神经元的系数定义为
[0068]
需要注意的是,输入层是没有w参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量w形成的权重矩阵)。
[0069]
(3)卷积神经网络
[0070]
卷积神经网络(convolutional neuron network,cnn)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器,该特征抽取器可以看作是滤波器。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
[0071]
(4)循环神经网络(recurrent neural networks,rnn)是用来处理序列数据的。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,而对于每一层层内之间的各个节点是无连接的。这种普通的神经网络虽然解决了很多难题,但是却仍然对很多问题无能无力。例如,你要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是独立的。rnn之所以称为循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐含层本层之间的节点不再无连接而是有连接的,并且隐含层的输入不仅包括输入层的输出还包括上一时刻隐含层的输出。理论上,rnn能够对任何长度的序列数据进行处理。对于rnn的训练和对传统的cnn或dnn的训练一样。
[0072]
既然已经有了卷积神经网络,为什么还要循环神经网络?原因很简单,在卷积神经网络中,有一个前提假设是:元素之间是相互独立的,输入与输出也是独立的,比如猫和狗。但现实世界中,很多元素都是相互连接的,比如股票随时间的变化,再比如一个人说了:我喜欢旅游,其中最喜欢的地方是云南,以后有机会一定要去。这里填空,人类应该都知道是填“云南”。因为人类会根据上下文的内容进行推断,但如何让机器做到这一步?rnn就应运而生了。rnn旨在让机器像人一样拥有记忆的能力。因此,rnn的输出就需要依赖当前的输入
信息和历史的记忆信息。
[0073]
(5)损失函数
[0074]
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断地调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
[0075]
(6)反向传播算法
[0076]
神经网络可以采用误差反向传播(back propagation,bp)算法在训练过程中修正初始的神经网络模型中参数的大小,使得神经网络模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的神经网络模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的神经网络模型的参数,例如权重矩阵。
[0077]
(7)像素值
[0078]
图像的像素值可以是一个红绿蓝(rgb)颜色值,像素值可以是表示颜色的长整数。例如,像素值为256*red 100*green 76blue,其中,blue代表蓝色分量,green代表绿色分量,red代表红色分量。各个颜色分量中,数值越小,亮度越低,数值越大,亮度越高。对于灰度图像来说,像素值可以是灰度值。
[0079]
(8)图像压缩
[0080]
图像压缩,是指以较少的比特有损或无损地表示原来的像素矩阵的技术,也称图像编码。通过图像压缩,对图像内容执行变换,可以减少表示数字图像时需要的数据量,从而可以降低图像存储占用的空间。
[0081]
图像数据之所以能被压缩,就是因为数据中存在着冗余。图像数据的冗余主要表现为:图像中相邻像素间的相关性引起的空间冗余;图像序列中不同帧之间存在相关性引起的时间冗余;不同彩色平面或频谱带的相关性引起的频谱冗余。数据压缩的目的就是通过去除这些数据冗余来减少表示数据所需的比特数。由于图像数据量的庞大,在存储、传输、处理时非常困难,因此图像数据的压缩就显得非常重要。
[0082]
(9)图像解压
[0083]
图像解压是图像压缩的逆过程,也可以称为解压或解码。通过图像解码,可以将输入的紧凑表示的信息格式恢复为图像。
[0084]
(10)图像失真度
[0085]
一般采用原始图像与编码重建图像之间的峰值性噪比(peak signal-to-noise ratio,psnr)衡量图像失真度,这个psnr可以是亮度的psnr,也可以是亮度与色度的psnr的线性组合。一般最简单的情况下,采用亮度的psnr(y-psnr)作为主要衡量依据。其中,峰值
信号即图像中像素的最大值(比方说像素亮度的最大值),噪声指原始图像与重建图像中各像素值的均方差(差值的平方取均值);将两者的比值转换成分贝形式,即为psnr。
[0086]
(11)码率
[0087]
码率(rate),也可以称为编码码率,可以是压缩后的数据中每个像素的平均数据量((bit-per-pixel,bpp),用于表示数据压缩的程度。码率可以根据图像压缩后数据量的比例确定。
[0088]
(12)率失真
[0089]
率失真用于表示图像失真度与码率之间的关系。
[0090]
图像失真度越小,意味着图像细节越多,码率越大。图像失真度越大,图像由于压缩所损失的细节越多,那么码率越小。
[0091]
率失真优化(rate distortion optimization,r-d optimization)是指按照预设规则,尽可能减小图像失真度和码率。也就是说,可以在尽可能小的码率的情况下,使得获取的图像失真度尽可能的少,从而达到较好的压缩效果。通过率失真优化,可以在码率与失真度中找出平衡点,使压缩效果最优。当然,率失真优化的规则也可以是在保证码率不过上限的情况下失真度最小,或者,在保证失真度不过下限的情况下码率最小,等等。
[0092]
可以通过率失真函数计算率失真。率失真函数例如可以表示为i=d λr,或i=d
·
r等,其中,i为率失真,r为码率,r为失真度,λ为预设的拉格朗日系数。
[0093]
如图1所示,本技术实施例提供了一种系统架构100。在图1中,数据采集设备160用于采集训练数据。针对本技术实施例的图像处理方法来说,训练数据可以包括训练图像。
[0094]
在采集到训练数据之后,数据采集设备160将这些训练数据存入数据库130,训练设备120基于数据库130中维护的训练数据训练得到目标模型/规则101。
[0095]
下面对训练设备120基于训练数据得到目标模型/规则101进行描述,训练设备120对输入的原始图像进行处理,将输出的图像与原始图像进行对比,直到根据训练设备120输出的图像与原始图像的差值确定的率失真小于一定的阈值,从而完成目标模型/规则101的训练。
[0096]
上述目标模型/规则101能够用于实现本技术实施例的图像处理方法。本技术实施例中的目标模型/规则101具体可以为神经网络。需要说明的是,在实际的应用中,所述数据库130中维护的训练数据不一定都来自于数据采集设备160的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备120也不一定完全基于数据库130维护的训练数据进行目标模型/规则101的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本技术实施例的限定。
[0097]
根据训练设备120训练得到的目标模型/规则101可以应用于不同的系统或设备中,如应用于图1所示的执行设备110,所述执行设备110可以是终端,如手机终端,平板电脑,笔记本电脑,增强现实(augmented reality,ar)ar/虚拟现实(virtual reality,vr),车载终端等,还可以是服务器或者云端等。在图1中,执行设备110配置输入/输出(input/output,i/o)接口112,用于与外部设备进行数据交互,用户可以通过客户设备140向i/o接口112输入数据,所述输入数据在本技术实施例中可以包括:客户设备输入的待处理图像。
[0098]
预处理模块113和预处理模块114用于根据i/o接口112接收到的输入数据(如待处理图像)进行预处理,在本技术实施例中,也可以没有预处理模块113和预处理模块114(也
可以只有其中的一个预处理模块),而直接采用计算模块111对输入数据进行处理。
[0099]
在执行设备110对输入数据进行预处理,或者在执行设备110的计算模块111执行计算等相关的处理过程中,执行设备110可以调用数据存储系统150中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统150中。
[0100]
最后,i/o接口112将处理结果,如上述得到的图像的分类结果返回给客户设备140,从而提供给用户。
[0101]
值得说明的是,训练设备120可以针对不同的目标或称不同的任务,基于不同的训练数据生成相应的目标模型/规则101,该相应的目标模型/规则101即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。
[0102]
在图1中所示情况下,用户可以手动给定输入数据,该手动给定可以通过i/o接口112提供的界面进行操作。另一种情况下,客户设备140可以自动地向i/o接口112发送输入数据,如果要求客户设备140自动发送输入数据需要获得用户的授权,则用户可以在客户设备140中设置相应权限。用户可以在客户设备140查看执行设备110输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备140也可以作为数据采集端,采集如图所示输入i/o接口112的输入数据及输出i/o接口112的输出结果作为新的样本数据,并存入数据库130。当然,也可以不经过客户设备140进行采集,而是由i/o接口112直接将如图所示输入i/o接口112的输入数据及输出i/o接口112的输出结果,作为新的样本数据存入数据库130。
[0103]
值得注意的是,图1仅是本技术实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图1中,数据存储系统150相对执行设备110是外部存储器,在其它情况下,也可以将数据存储系统150置于执行设备110中。
[0104]
如图1所示,根据训练设备120训练得到目标模型/规则101,该目标模型/规则101在本技术实施例中可以是本技术中的神经网络,具体的,本技术实施例使用神经网络可以为cnn,深度卷积神经网络(deep convolutional neural networks,dcnn),循环神经网络(recurrent neural network,rnn)等等。
[0105]
由于cnn是一种非常常见的神经网络,下面结合图2重点对cnn的结构进行详细的介绍。如上文的基础概念介绍所述,卷积神经网络是一种带有卷积结构的深度神经网络,是一种深度学习(deep learning)架构,深度学习架构是指通过机器学习的算法,在不同的抽象层级上进行多个层次的学习。作为一种深度学习架构,cnn是一种前馈(feed-forward)人工神经网络,该前馈人工神经网络中的各个神经元可以对输入其中的图像作出响应。
[0106]
本技术实施例的图像处理方法具体采用的神经网络的结构可以如图2所示。在图2中,卷积神经网络(cnn)200可以包括输入层210,卷积层/池化层220(其中池化层为可选的),以及神经网络层230。其中,输入层210可以获取待处理图像,并将获取到的待处理图像交由卷积层/池化层220以及后面的神经网络层230进行处理,可以得到图像的处理结果。下面对图2中的cnn 200中内部的层结构进行详细的介绍。
[0107]
卷积层/池化层220:
[0108]
卷积层:
[0109]
如图2所示卷积层/池化层220可以包括如示例221-226层,举例来说:在一种实现中,221层为卷积层,222层为池化层,223层为卷积层,224层为池化层,225为卷积层,226为
池化层;在另一种实现方式中,221、222为卷积层,223为池化层,224、225为卷积层,226为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。
[0110]
下面将以卷积层221为例,介绍一层卷积层的内部工作原理。
[0111]
卷积层221可以包括很多个卷积算子,卷积算子也称为核,其在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义,在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素
……
这取决于步长stride的取值)的进行处理,从而完成从图像中提取特定特征的工作。该权重矩阵的大小应该与图像的大小相关,需要注意的是,权重矩阵的纵深维度(depth dimension)和输入图像的纵深维度是相同的,在进行卷积运算的过程中,权重矩阵会延伸到输入图像的整个深度。因此,和一个单一的权重矩阵进行卷积会产生一个单一纵深维度的卷积化输出,但是大多数情况下不使用单一权重矩阵,而是应用多个尺寸(行
×
列)相同的权重矩阵,即多个同型矩阵。每个权重矩阵的输出被堆叠起来形成卷积图像的纵深维度,这里的维度可以理解为由上面所述的“多个”来决定。不同的权重矩阵可以用来提取图像中不同的特征,例如一个权重矩阵用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色,又一个权重矩阵用来对图像中不需要的噪点进行模糊化等。该多个权重矩阵尺寸(行
×
列)相同,经过该多个尺寸相同的权重矩阵提取后的卷积特征图的尺寸也相同,再将提取到的多个尺寸相同的卷积特征图合并形成卷积运算的输出。
[0112]
这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以用来从输入图像中提取信息,从而使得卷积神经网络200进行正确的预测。
[0113]
当卷积神经网络200有多个卷积层的时候,初始的卷积层(例如221)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络200深度的加深,越往后的卷积层(例如226)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。
[0114]
池化层:
[0115]
由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,在如图2中220所示例的221-226各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在图像处理过程中,池化层的唯一目的就是减少图像的空间大小。池化层可以包括平均池化算子和/或最大池化算子,以用于对输入图像进行采样得到较小尺寸的图像。平均池化算子可以在特定范围内对图像中的像素值进行计算产生平均值作为平均池化的结果。最大池化算子可以在特定范围内取该范围内值最大的像素作为最大池化的结果。另外,就像卷积层中用权重矩阵的大小应该与图像尺寸相关一样,池化层中的运算符也应该与图像的大小相关。通过池化层处理后输出的图像尺寸可以小于输入池化层的图像的尺寸,池化层输出的图像中每个像素点表示输入池化层的图像的对应子区域的平均值或最大值。
[0116]
神经网络层230:
[0117]
在经过卷积层/池化层220的处理后,卷积神经网络200还不足以输出所需要的输
出信息。因为如前所述,卷积层/池化层220只会提取特征,并减少输入图像带来的参数。然而为了生成最终的输出信息(所需要的类信息或其他相关信息),卷积神经网络200需要利用神经网络层230来生成一个或者一组所需要的类的数量的输出。因此,在神经网络层230中可以包括多层隐含层(如图2所示的231、232至23n)以及输出层240,该多层隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括图像识别,图像分类,图像超分辨率重建等等。
[0118]
在神经网络层230中的多层隐含层之后,也就是整个卷积神经网络200的最后层为输出层240,该输出层240具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络200的前向传播(如图2由210至240方向的传播为前向传播)完成,反向传播(如图2由240至210方向的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络200的损失,及卷积神经网络200通过输出层输出的结果和理想结果之间的误差。
[0119]
本技术实施例的图像处理方法具体采用的神经网络的结构可以如图3所示。在图3中,卷积神经网络(cnn)200可以包括输入层110,卷积层/池化层120(其中池化层为可选的),以及神经网络层130。与图2相比,图3中的卷积层/池化层120中的多个卷积层/池化层并行,将分别提取的特征均输入给全神经网络层130进行处理。
[0120]
需要说明的是,图2和图3所示的卷积神经网络仅作为一种本技术实施例的图像处理方法的两种可能的卷积神经网络的示例,在具体的应用中,本技术实施例的图像处理方法所采用的卷积神经网络还可以以其他网络模型的形式存在。
[0121]
图4为本技术实施例提供的一种芯片的硬件结构,该芯片包括神经网络处理器50。该芯片可以被设置在如图1所示的执行设备110中,用以完成计算模块111的计算工作。该芯片也可以被设置在如图1所示的训练设备120中,用以完成训练设备120的训练工作并输出目标模型/规则101。如图2和图3所示的卷积神经网络中各层的算法均可在如图4所示的芯片中得以实现。
[0122]
神经网络处理器npu 50作为协处理器挂载到主中央处理器(central processing unit,cpu)(host cpu)上,由主cpu分配任务。npu的核心部分为运算电路503,控制器504控制运算电路503提取存储器(权重存储器或输入存储器)中的数据并进行运算。
[0123]
在一些实现中,运算电路503内部包括多个处理单元(process engine,pe)。在一些实现中,运算电路503是二维脉动阵列。运算电路503还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路503是通用的矩阵处理器。
[0124]
举例来说,假设有输入矩阵a,权重矩阵b,输出矩阵c。运算电路从权重存储器502中取矩阵b相应的数据,并缓存在运算电路中每一个pe上。运算电路从输入存储器501中取矩阵a数据与矩阵b进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)508中。
[0125]
向量计算单元507可以对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元507可以用于神经网络中非卷积/非fc层的网络计算,如池化(pooling),批归一化(batch normalization),局部响应归一化(local response normalization)等。
[0126]
在一些实现种,向量计算单元能507将经处理的输出的向量存储到统一缓存器506。例如,向量计算单元507可以将非线性函数应用到运算电路503的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元507生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路503的激活输入,例如用于在神经网络中的后续层中的使用。
[0127]
统一存储器506用于存放输入数据以及输出数据。
[0128]
权重数据直接通过存储单元访问控制器505(direct memory access controller,dmac)将外部存储器中的输入数据搬运到输入存储器501和/或统一存储器506、将外部存储器中的权重数据存入权重存储器502,以及将统一存储器506中的数据存入外部存储器。
[0129]
总线接口单元(bus interface unit,biu)510,用于通过总线实现主cpu、dmac和取指存储器509之间进行交互。
[0130]
与控制器504连接的取指存储器(instruction fetch buffer)509,用于存储控制器504使用的指令;
[0131]
控制器504,用于调用指存储器509中缓存的指令,实现控制该运算加速器的工作过程。
[0132]
一般地,统一存储器506,输入存储器501,权重存储器502以及取指存储器509均为片上(on-chip)存储器,外部存储器为该npu外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(double data rate synchronous dynamic random access memory,简称ddr sdram)、高带宽存储器(high bandwidth memory,hbm)或其他可读可写的存储器。
[0133]
其中,图2和图3所示的卷积神经网络中各层的运算可以由运算电路503或向量计算单元507执行。
[0134]
上文中介绍的图1中的执行设备110能够执行本技术实施例的图像处理方法的各个步骤,图2和图3所示的cnn模型和图4所示的芯片也可以用于执行本技术实施例的图像处理方法的各个步骤。下面结合附图对本技术实施例的神经网络训练的方法和本技术实施例的图像处理方法进行详细的介绍。
[0135]
如图5所示,本技术实施例提供了一种系统架构300。该系统架构包括本地设备301、本地设备302以及执行设备210和数据存储系统250,其中,本地设备301和本地设备302通过通信网络与执行设备210连接。
[0136]
执行设备210可以由一个或多个服务器实现。可选的,执行设备210可以与其它计算设备配合使用,例如:数据存储器、路由器、负载均衡器等设备。执行设备210可以布置在一个物理站点上,或者分布在多个物理站点上。执行设备210可以使用数据存储系统250中的数据,或者调用数据存储系统250中的程序代码来实现本技术实施例的图像处理的方法。
[0137]
具体地,执行设备210可以执行以下过程:确定待处理图像中的多个区域图像中每个区域图像对应的纹理复杂度信息;根据所述每个区域图像对应的纹理复杂度信息,确定所述每个区域图像对应的图像压缩模型,其中,不同的纹理复杂度信息对应不同的图像压缩模型;利用所述每个区域图像对应的图像压缩模型对所述每个区域图像进行压缩。
[0138]
通过上述过程执行设备210能够通过对于不同纹理复杂度的区域图像,使用与该
区域图像纹理复杂度相对应的压缩模型进行图像的压缩,提高对待处理图像的图像压缩的效果。
[0139]
用户可以操作各自的用户设备(例如本地设备301和本地设备302)与执行设备210进行交互。每个本地设备可以表示任何计算设备,例如个人计算机、计算机工作站、智能手机、平板电脑、智能摄像头、智能汽车或其他类型蜂窝电话、媒体消费设备、可穿戴设备、机顶盒、游戏机等。
[0140]
每个用户的本地设备可以通过任何通信机制/通信标准的通信网络与执行设备210进行交互,通信网络可以是广域网、局域网、点对点连接等方式,或它们的任意组合。
[0141]
在一种实现方式中,本地设备301、本地设备302从执行设备210获取到目标神经网络的相关参数,将目标神经网络部署在本地设备301、本地设备302上,利用该目标神经网络进行图像分类或者图像处理等等。
[0142]
在另一种实现中,执行设备210上可以直接部署目标神经网络,执行设备210通过从本地设备301和本地设备302获取待处理图像,并根据目标神经网络对待处理图像进行分类或者其他类型的图像处理。
[0143]
上述执行设备210也可以为云端设备,此时,执行设备210可以部署在云端;或者,上述执行设备210也可以为终端设备,此时,执行设备210可以部署在用户终端侧,本技术实施例对此并不限定。
[0144]
图6示出一种图像处理系统的示意性结构图。
[0145]
图像处理系统600包括编码端的编码器610和量化模块620,以及解码端的解码器630。其中,编码器610和解码器630为神经网络。
[0146]
图像处理系统600可以应用在对图像进行传输和存储的场景中。
[0147]
编码端的编码器610和量化模块620可以设置在云端的服务器中。图像数据在云端执行图像编码过程,得到紧凑表示的压缩数据。对压缩数据进行存储,可以减少保存图像占用的存储空间。对压缩数据进行传输,能够降低图像传输过程的对传输资源的占用,降低对带宽的需求。
[0148]
解码端的解码器630可以设置在作为客户端的终端设备中。解码端对压缩数据执行解码操作,得到重构图像。终端设备可以通过显示器显示该重构图像。
[0149]
编码器610用于对待处理图像进行特征的提取,从而得到图像特征。
[0150]
量化模块620用于对图像特征进行量化,以得到压缩数据。量化,即数字信号处理领域中将信号的连续取值(或者大量可能的离散取值)近似为有限多个(或较少的)离散值的过程。
[0151]
云端可以将压缩数据传输至客户端。
[0152]
解码器630用于对压缩数据进行解压缩,以得到重构图像。
[0153]
图像处理系统600使用整张图像作为输入,通过对图像执行非线性变换,降低码字之间的相关性,提升神经网络的压缩性能。
[0154]
自然图像本身包含了非常丰富的纹理信息。纹理在计算机图形学中既包括通常意义上物体表面的纹理即使物体表面呈现凹凸不平的沟纹,同时也包括在物体的光滑表面上的彩色图案。纹理复杂度可以用于反映图像中像素值的变换剧烈程度。不同的类别的图像之间纹理细节等特征差别显著,纹理复杂度不同的图像内容特性相差较大。
[0155]
图像处理系统600对于纹理复杂度不同的图像,利用相同的编码器进行相同的处理,阻碍了压缩性能的进一步提升。
[0156]
为了解决上述问题,本技术实施例提供了一种图像处理系统,以提高图像压缩性能。
[0157]
图7是本技术实施例提供的一种图像处理系统的示意性结构图。根据图像的纹理复杂度,在多个神经网络中选择与该图像纹理复杂度对应的神经网络,结构实现了神经网络的选择根据图像内容的自适应调整,根据不同的纹理特性对图像进行压缩,实现了图像压缩性能的进一步提升。
[0158]
图像处理系统700包括压缩系统710和解压系统720。其中,压缩系统710包括分割模型711、分类模型712、压缩模型713,解压系统720包括解压模块721、融合模块722。
[0159]
压缩系统710和解压系统720可以位于相同或不同的设备中。
[0160]
将待处理图像输入压缩系统710,压缩系统710用于对待处理图像进行压缩处理。
[0161]
分割模型711可以将待处理图像进行分割,以得到多个区域图像。
[0162]
区域图像也可以称为图像块。
[0163]
该多个区域图像的尺寸可以相同或不相同。为了降低图像分割的难度,可以按照目标尺寸对图像进行分割,以得到尺寸相同的多个区域图像。
[0164]
该多个区域图像之间可以存在或不存在重叠。为了提高压缩性能,该多个区域图像不重叠。
[0165]
例如,可以将待处理图像划分为多个128
×
128的区域图像。通过多待处理图像的无重叠划分,形成了多个内容无重复的区域图像。
[0166]
将区域图像输入分类模型712。分类模型712用于计算输入图像的纹理复杂度。
[0167]
对于数字图像的简单一阶微分运算,由于其具有固定的方向性,只能检测特定的某一方向的边缘。为了检测克服一阶导数的缺点,可以计算图像中各个像素的梯度,从而实现对图像的一阶微分运算,并考虑方向性。
[0168]
图像的梯度的方向是在图像灰度最大变化率上,可以反映出图像边缘上的灰度变化。梯度算子总是指向变换最剧烈的方向,在图像处理中,梯度算子的方向与图像中的边缘正交。梯度算子的大小表示图像灰度的变化率。
[0169]
分类模型712可以对输入的图像计算每个像素在水平方向和竖直方向的亮度的差分值。根据每个像素在水平方向和竖直方向的亮度的差分值,可以计算该像素的梯度大小。根据每个像素的梯度大小,可以确定平均梯度大小或该图像中各个像素的梯度大小的中位数。该图像的平均梯度大小或该中位数可以指示图像的平滑程度,反映图像的纹理复杂度。
[0170]
压缩模块713用于根据图像的纹理复杂度,利用与该纹理复杂度对应的压缩模型对图像进行图像特征的提取,以实现对图像的压缩。压缩模块713中可以包括用于对特征进行提取的ai模型,称为压缩模型(也可以称为图像压缩模型),或者,压缩模块713可以通过接口调用压缩模型,以实现对图像特征的提取。压缩模型可以是预训练完成的一种神经网络模型。可以将区域图像输入压缩模型,以得到该区域图像的图像特征。压缩模型例如可以是cnn、rnn等。
[0171]
压缩模块713可以保存有纹理复杂度与压缩模型的对应关系。从而,根据区域图像的纹理复杂度,压缩模块713可以从多个与压缩模型中确定与该纹理复杂度对应的压缩模
型,对该区域图像进行处理。
[0172]
根据压缩模块713对区域图像的处理,可以得到每个区域图像的图像特征。
[0173]
压缩系统710还可以包括量化模型等。量化模型可以对图像特征进行量化处理。
[0174]
解压系统720用于对于压缩系统710的处理结果进行解压缩。
[0175]
将压缩系统710处理得到的图像特征输入解压模块721。压缩系统710处理得到的图像特征可以是压缩模块713输出的图像特征。在压缩系统710还可以包括量化模型的情况下,压缩系统710处理得到的图像特征可以是量化后的图像特征。
[0176]
解压模块721用于对图像特征进行图像解压,以得到解压后的图像。
[0177]
解压模块721可以用于根据图像的纹理复杂度,利用与该纹理复杂度对应的解压模型对图像特征进行图像解压,以得到解压后的图像。
[0178]
或者,解压模块721可以接收指示信息,指示信息用于指示每个图像特征对应的解压模型。解压模块721可以利用指示信息指示的解压模型,对该图像特征进行解压。
[0179]
解压模块721中可以包括用于对图像特征进行解压的ai模型,称为解压模型或图像解压模型,或者,解压模块721可以通过接口调用解压模型,以实现对图像的解压。解压模型可以是预训练完成的一种神经网络模型。可以将图像特征和该图像特征对应的图像纹理复杂度输入解压模型,以得到解压后的该区域图像。解压模型例如可以是cnn、rnn等。
[0180]
解压模块721可以保存有纹理复杂度与解压模型的对应关系。从而,根据区域图像的纹理复杂度,解压模块721可以从多个与压缩模型中确定与该纹理复杂度对应的解压模型,对该图像特征进行处理。
[0181]
通过解压模块721的处理,可以得到恢复后的各个区域图像。
[0182]
融合模块722用于对恢复后的各个区域图像进行融合。融合模块722中可以包括用于图像融合的ai模型,称为融合模型,或者,融合模块722可以通过接口调用融合模型,以实现对区域图像的融合。融合模型可以是预训练完成的一种神经网络模型。可以将恢复后的各个区域图像输入融合模型,以得到融合后的图像。该融合后的图像也可以称为重构图像或压缩重构图像。融合模型例如可以是cnn等。
[0183]
区域图像的融合,可以是将区域图像进行拼接。
[0184]
进一步地,区域图像的融合还可以包括对区域图像边缘像素的调整,以使得重构图像与待处理图像之间的误差更小,降低失真度。
[0185]
图像处理系统700通过对区域图像纹理复杂度的计算,在区域图像的纹理复杂程度不同的情况下,利用不同的压缩模型和解压模型进行数据处理,提高了图像压缩性能。
[0186]
图像处理系统700通过对待处理图像进行分割,对不同的区域图像分别进行纹理复杂程度的计算,可以对待处理图像的前景和背景采用不同的压缩模型和解压模型进行数据处理,提高了图像压缩性能。
[0187]
图像处理系统700中的解压系统720通过进行区域图像融合时,对区域图像边缘像素的调整,降低图像失真度,提高了图像压缩性能。
[0188]
图像处理系统700中采用的各个ai模型可以通过端到端的训练得到;或者,也可以先对压缩模型和解压模型进行训练,之后,训练融合模型。图像处理系统700中采用的ai模型的训练方法可以参见图8的说明。
[0189]
端到端的训练是一种机器学习范式,整个学习的流程并不进行人为的子问题划
分,而是完全交给深度学习模型直接学习从原始数据到期望输出的映射。
[0190]
图8是本技术实施例提供的一种神经网络模型训练方法的示意性结构图。
[0191]
在s810,确定训练图像中的多个训练区域图像中每个训练区域图像对应的纹理复杂度信息。
[0192]
可以获取待处理训练图像。可以对完整的待处理训练图像进行划分,以得到多个训练区域图像。
[0193]
所述多个训练区域图像不重叠,且所述多个训练区域图像包括所述训练图像中的全部像素。
[0194]
在s820,根据所述每个训练区域图像对应的训练纹理复杂度信息,确定所述每个训练区域图像对应的编解码模型。
[0195]
不同的纹理复杂度信息对应不同的编解码模型。
[0196]
每个所述编解码模型用于对输入的所述训练区域图像进行压缩,并对压缩结果进行解压,从而得到多个解压训练区域图像。
[0197]
也就是说,编解码模型包括压缩模型和解压模型。其中,压缩模型用于对图像进行压缩,解压模型用于对压缩模型的处理结果进行解压。
[0198]
将每个训练区域图像输入与该训练区域图像对应的编解码模型,编解码模型对输入的训练区域图像进行处理,得到训练区域图像对应的解码训练区域图像。
[0199]
编解码模型中,压缩模型对训练区域图像进行压缩处理,得到训练区域图像的训练特征。解压模型对训练区域图像的训练特征进行解码,以得到与该训练区域图像对应的解压训练区域图像。
[0200]
在s830,根据率失真调整所述编解码模型的参数,所述率失真根据所述解压训练区域图像和所述训练区域图像得到。
[0201]
也就是说,可以利用所述训练图像,训练编解码模型。
[0202]
在执行s830时,每次使用参数调整后的编解码模型对训练区域图像进行处理,直到率失真逐渐收敛,从而得到训练完成的编解码模型。
[0203]
对于一个待处理训练图像,可以利用融合模型对输入该融合模型的各个训练区域图像对应的解压训练区域图像进行拼接处理和优化处理,以得到训练恢复图像。本技术实施例对拼接处理和优化处理的先后顺序不作限定。
[0204]
优化处理包括对解压训练图像的边沿区域进行调整。
[0205]
优化处理还可以包括对解压训练图像边沿区域之外的其他区域的调整。
[0206]
应当理解,优化处理中的调整是对颜色的调整,例如可以调整亮度和色度等。
[0207]
可以根据训练恢复图像与待处理训练图像的图像失真度,调整融合模型的参数,完成对融合模型的训练。
[0208]
还可以根据训练恢复图像与待处理训练图像的图像失真度,确定率失真,调整编解码模型的参数。完成编解码模型的训练。
[0209]
融合模型可以对各个训练区域图像对应的解压训练图像进行拼接,并修改并对位于解压后的训练图像的边沿区域的像素进行调整,以得到训练恢复图像。训练恢复图像也就是恢复后的待处理训练图像。
[0210]
根据训练恢复图像与待处理训练图像的差异,可以确定图像失真度。可以根据压
缩结果中每个像素的平均数据量,确定码率。
[0211]
根据训练恢复图像与待处理训练图像的图像失真度,对融合模型和每个训练区域图像对应的编解码模型的参数进行调整,以使得码率满足预设条件的情况下,降低图像失真度。
[0212]
或者,也可以根据码率对融合模型和每个训练区域图像对应的编解码模型的参数进行调整。之后,对融合模型和每个训练区域图像对应的编解码模型的参数进行调整,以使得图像失真度满足预设条件的情况下,降低码率。
[0213]
或者,可以通过率失真从整体上反映压缩性能。可以对融合模型和每个训练区域图像对应的编解码模型的参数进行调整,以使得率失真最小。
[0214]
对每个待处理训练图像,每次使用参数调整后的编解码模型、融合模型进行处理,直到率失真逐渐收敛,从而得到训练完成的编解码模型和融合模型。
[0215]
因此,可以通过“端到端”的方式实现多图像处理系统700中ai模型的训练。
[0216]
为了提高对图像处理系统700中ai模型的训练的速度,也可以先对编解码模型进行预训练,利用预训练完成的编解码模型训练融合模型。
[0217]
具体地,可以获取待处理训练图像。可以对待处理训练图像进行划分,以得到多个训练区域图像。
[0218]
对于每个训练区域图像,可以利用与该训练区域图像对应的编解码模型进行压缩,并对压缩结果进行解压,以确定码率和图像失真率,从而确定率失真。通过调整该编解码模型的参数,以优化率失真。
[0219]
对大量待处理训练图像进行处理,从而获得大量的训练区域图像,以覆盖每种纹理复杂度的图像。对于每种纹理复杂度,每次使用参数调整后的编解码模型对该纹理复杂度的训练区域图像进行处理,直到率失真逐渐收敛,从而得到预训练完成的各个编解码模型。
[0220]
利用预训练后的编解码模型对待处理训练图像进行处理,以得到待处理训练图像中各个训练区域图像对应的解压训练区域图像。
[0221]
利用融合模型,对一个待处理训练图像中各个训练区域图像对应的解压训练图像进行融合,以得到训练恢复图像。
[0222]
调整融合模型的参数,以最小化训练恢复图像与压缩之前的待处理训练图像之间的差异。
[0223]
利用调整后的融合模型,对预训练得到的编解码模型对每个待处理训练图像的处理结果进行融合,直到训练恢复图像与压缩之前的待处理训练图像之间的误差逐渐收敛,即得到训练完成的融合模型。
[0224]
在一些实施例中,在利用预训练得到的编解码模型对融合模型进行训练的过程中,也可以调整编解码模型的参数,从而得到图像处理系统700中的训练完成的各个ai模型。
[0225]
通过s810至s830,在训练过程中,利用不同纹理复杂度的训练区域图像,对每种纹理复杂度对应的编解码模型进行训练。使用训练完成的编解码模型,能够实现对不同纹理复杂度的区域图像的差异化处理,从而提升对整体图像的压缩性能。
[0226]
利用训练完成的编解码模型,可以进行图像处理。参见图9的说明。
[0227]
也就是说,在s830,可以根据解压训练区域图像和训练区域图像,计算码率和图像失真度,从而确定率失真,并根据率失真调整编解码模型的参数,以完成对编解码模型的训练或预训练。之后,采用训练或预训练完成的编解码模型,训练融合模型。
[0228]
或者,在s830,也可以根据解压训练区域图像,利用融合模型的处理,确定训练恢复图像。根据解压训练区域图像,计算码率。根据训练恢复图像与训练图像,计算图像失真度,从而,根据码率和图像失真度确定率失真。之后,可以根据率失真调整编解码模型和融合模型的参数,以完成对编解码模型和融合模型的训练。
[0229]
图9是本技术实施例提供的一种图像处理方法的示意性流程图。图9所示的方法900可以由图像处理装置来执行,该图像处理装置可以是移动终端,电脑、服务器等运算能力足以用来图像处理装置。
[0230]
方法900可以具体应用在图像传输、图形存储等需要对图像进行压缩处理的领域。方法包括s910至s930,下面分别对这些步骤进行详细的描述。
[0231]
在s910,确定待处理图像中的多个区域图像中每个区域图像对应的纹理复杂度信息。
[0232]
在s920,根据所述每个区域图像对应的纹理复杂度信息,确定所述每个区域图像对应的图像压缩模型。
[0233]
其中,不同的纹理复杂度信息对应不同的图像压缩模型。
[0234]
为了确定区域图像的纹理复杂度,可以计算区域图像每个像素在两个不同方向的差分值。以区域图像的水平方向为x轴,竖直方向为y轴,建立平面直角坐标系。区域图像以一个二维数组的形式存储,则像素(i,j)在x方向的差分值为:
[0235]
dx(i,j)=p(i,j)-p(i-1,j)
[0236]
像素(i,j)在x方向的差分值为:
[0237]
dy(i,j)=p(i,j)-p(i,j-1)
[0238]
其中,p(i,j)可以是像素(i,j)的亮度,也可以是其他用于表示该像素颜色的参数。
[0239]
根据这两个方向的差分值计算区域图像中每个像素(i,j)的梯度(也可以称为梯度算子)可以通过向量表示:(dx(i,j),dy(i,j))。
[0240]
像素(i,j)的梯度大小grad(i,j)为:
[0241][0242]
从而,可以得到区域图像的梯度大小的平均值:
[0243][0244]
其中,w表示区域图像在x方向的像素数量,h表示区域图像在y方向的像素数量。区域图像的梯度平均值g可以用于表示和评价区域图像的纹理复杂度。
[0245]
在一些实施例中,每个像素(i,j)的梯度大小(也可以称为梯度长度)grad(i,j)也可以表示为:
[0246]
grad(i,j)=|dx(i,j)| |dy(i,j)|
[0247]
上述梯度计算方式中,对x方向、y方向的差分值取绝对值或计算平方值,可以防止
出现两个方向的正负相反发生抵消,使得梯度计算结果更准确。
[0248]
可以根据纹理复杂度与压缩模型的对应关系,确定与每个区域图像的第一纹理复杂度信息对应的图像压缩模型。
[0249]
纹理复杂度信息与图像压缩模型的对应关系,可以包括两种或两种以上的纹理复杂度信息,以及每种纹理复杂度信息对应的压缩模型。
[0250]
例如,可以在图像的梯度大小的平均值大于或等于预设值时,确定图像的纹理复杂度为复杂;在图像的梯度大小的平均值小于预设值时,确定图像的纹理复杂度为简单。从而,可以根据图像的梯度大小的平均值,确定与该图像对应的压缩模型。
[0251]
应当理解,该纹理复杂度与压缩模型的对应关系,与训练方法900中所使用的第一压缩模型时所使用的纹理复杂度与压缩模型的对应关系是相同的。
[0252]
在s930,利用所述每个区域图像对应的图像压缩模型对所述每个区域图像进行压缩。
[0253]
通过s910至s930,对于不同纹理复杂度的图像,可以使用与该图像纹理复杂度相对应的图像压缩模型进行对待处理图像中的各个区域图像进行压缩,从而提高对待处理图像的图像压缩效果。
[0254]
待处理图像可以是一张完整的图像,例如可以是摄像头采集的一张照片,或者视频中的一帧图像。
[0255]
对待处理图像进行划分,以得到多个区域图像。为了降低划分的复杂程度,该多个区域图像的尺寸可以相同。为了降低压缩后的数据量,该多个区域图像之间不存在重叠的区域。多个区域图像可以包括所述待处理图像中的全部像素,从而降低图像失真度,提高压缩性能。
[0256]
一张完整的图像的不同区域中,图像的纹理复杂度可能并不相同。例如,在天空、海滩等背景区域,图像的纹理复杂度较低;在包括人物等目标的兴趣区域或前景区域,图像复杂度较高。
[0257]
通过将待处理图像划分为多个区域图像,对每个区域图像分别使用与该图像纹理复杂度相对应的压缩模型进行图像的压缩,可以对待处理图像中不同纹理复杂度的区域进行与该纹理复杂度相适应的压缩处理,以提高对待处理图像整体的压缩效果。本技术实施例提供了一种更加灵活的图像处理方式。
[0258]
对待处理图像划分为多个区域图像,并对每个区域图像进行了压缩处理,得到了压缩后的数据。在对压缩后的数据进行解压,以得到待处理图像时,可以分别对每个区域图像对应的压缩后的数据进行解压。
[0259]
分别使用与每个区域图像对应的图像压缩模型对该区域图像进行压缩,以得到该区域图像的图像特征。对于压缩后得到的图像特征,应当使用于与压缩时的图像压缩模型对应的解压模型进行解压,以得到区域解压图像,区域解压图像也可以理解为进行解压得到的恢复后的区域图像。
[0260]
对待处理图像中各个区域图像对应的区域解压图像进行拼接,从而可以对待处理图像进行恢复。
[0261]
进一步地,可以对各个区域解压图像进行优化处理。
[0262]
优化处理可以包括对一个或多个区域解压图像的边沿区域进行调整。
[0263]
由于各个区域图像对应的第二图像可以是通过不同的解压模型得到的,在两个相邻的第二图像的边沿区域,在拼接之后可能出现线条不连续或颜色差异等现象。为了使得解压得到的图像与待处理图像之间的图像失真度更小,可以对一个或多个第二图像的边沿区域的像素进行调整。
[0264]
优化处理还可以包括对区域解压图像的边沿区域之外的其他区域的调整。
[0265]
可以在拼接之前或之后,进行优化处理,本技术实施例对此不作限定。
[0266]
可以使用融合模型对第二图像的边沿区域的像素进行拼接处理和优化处理。
[0267]
通过优化处理,对一个或多个第二图像的边沿区域的像素进行调整,可以进一步降低图像失真度,提高图像压缩效果。
[0268]
图10是本技术实施例提高的图像处理方法的压缩性能的示意图。
[0269]
采用图像处理方法900对图像进行压缩和解压,能够实现更好的图像压缩性能。
[0270]
对待处理图像划分为多个大小相等的区域图像。该多个区域图像包括待处理图像的全部像素。
[0271]
对于每个区域图像,在图像的梯度大小的平均值大于或等于预设值时,确定图像的纹理复杂度为复杂;在图像的梯度大小的平均值小于预设值时,确定图像的纹理复杂度为简单。从而,可以根据图像的梯度大小的平均值,确定与该图像对应的压缩模型和解压模型,对图像进行压缩,对压缩结果进行解压。
[0272]
之后,利用融合模型,调整位于解压得到的图像边沿区域的像素,并进行拼接,得到解压后的图像。
[0273]
使用不同的压缩算法,在kodak数据集上进行测试。如图10所示,相比于不区分图像复杂度,对待处理图像采用单一的压缩模型和解压模型进行处理的方式,本技术实施例提供的图像处理方法,采用多模型处理的方式,能够在相同码率的情况下,有效提高psnr,具有更低的图像失真度。
[0274]
上文结合图1至图10的描述了本技术实施例提供的图像处理系统、图像处理系统所需的ai模型的训练方法以及图像处理方法,下面结合图11至图14,描述本技术实施例的装置实施例。应理解,图像处理系统、图像处理系统所需的ai模型的训练方法以及图像处理方法的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见上文的描述。
[0275]
图11是本技术实施例提供的一种图像处理装置的示意性结构图。
[0276]
图像处理装置2000包括存储模块2010、处理模块2020。
[0277]
存储模块2010用于存储程序指令。
[0278]
当所述程序指令在所述处理器中执行时,处理模块2020用于:
[0279]
确定待处理图像中的多个区域图像中每个区域图像对应的纹理复杂度信息;
[0280]
根据所述每个区域图像对应的纹理复杂度信息,确定所述每个区域图像对应的图像压缩模型,其中,不同的纹理复杂度信息对应不同的图像压缩模型;
[0281]
利用所述每个区域图像对应的图像压缩模型对所述每个区域图像进行压缩。
[0282]
可选地,处理模块2020还用于,利用与压缩所述每个区域图像的图像压缩模型对应的图像解压模型,对所述每个区域图像压缩后得到的图像特征进行解压缩,以得到所述每个区域图像对应的区域解压图像。
[0283]
处理模块2020还用于,对所述多个区域解压图像进行拼接处理和优化处理,得到
恢复后的待处理图像,所述优化处理包括对所述多个区域解压图像的边沿进行像素调整。
[0284]
可选地,处理模块2020还用于,计算每个区域图像中每个像素的梯度大小。
[0285]
处理模块2020还用于,根据所述每个像素的梯度大小,确定每个区域图像的纹理复杂度信息。
[0286]
可选地,处理模块2020还用于,将所述待处理图像划分为所述多个区域图像,所述多个区域图像不重叠,且所述多个区域图像包括所述待处理图像中的全部像素。
[0287]
图12是本技术实施例提供的一种神经网络训练装置的示意性结构图。
[0288]
神经网络训练装置3000包括存储模块3010、处理模块3020。
[0289]
存储模块3010用于存储程序指令。
[0290]
当所述程序指令在所述处理器中执行时,处理模块3020用于:
[0291]
确定训练图像中的多个训练区域图像中每个训练区域图像对应的纹理复杂度信息;
[0292]
根据所述每个训练区域图像对应的训练纹理复杂度信息,确定所述每个训练区域图像对应的编解码模型,其中,不同的纹理复杂度信息对应不同的编解码模型,每个所述编解码模型用于对输入的所述训练区域图像进行压缩,并对压缩结果进行解压得到多个解压训练区域图像;
[0293]
根据率失真调整所述编解码模型的参数,所述率失真根据所述解压训练区域图像和所述训练区域图像得到。
[0294]
可选地,处理模块3020还用于,通过融合模型对所述多个解压训练区域图像进行拼接处理和优化处理,所述优化处理包括对所述多个解压训练区域图像的边沿进行像素调整。
[0295]
处理模块3020还用于,根据所述训练恢复图像与所述训练图像之间的图像失真度,调整所述融合模型的参数。
[0296]
可选地,处理模块3020还用于,根据所述训练恢复图像与所述训练图像之间的图像失真度,调整所述编解码模型的参数。
[0297]
可选地,处理模块3020还用于,计算每个训练区域图像中每个像素的梯度大小。
[0298]
处理模块3020还用于,根据所述每个像素的梯度大小,确定每个训练区域图像的纹理复杂度信息。
[0299]
可选地,处理模块3020还用于,将所述训练图像划分为所述多个训练区域图像,所述多个训练区域图像不重叠,且所述多个训练区域图像包括所述训练图像中的全部像素。
[0300]
图13是本技术实施例的图像处理装置的硬件结构示意图。图13所示的图像处理装置4000包括存储器4001、处理器4002、通信接口4003以及总线4004。其中,存储器4001、处理器4002、通信接口4003通过总线4004实现彼此之间的通信连接。
[0301]
存储器4001可以是rom,静态存储设备和ram。存储器4001可以存储程序,当存储器4001中存储的程序被处理器4002执行时,处理器4002和通信接口4003用于执行本技术实施例的图像处理方法的各个步骤。
[0302]
处理器4002可以采用通用的,cpu,微处理器,asic,gpu或者一个或多个集成电路,用于执行相关程序,以实现本技术实施例的图像处理装置中的单元所需执行的功能,或者执行本技术方法实施例的图像处理方法。
[0303]
处理器4002还可以是一种集成电路芯片,具有信号的处理能力,例如,可以是图4所示的芯片。在实现过程中,本技术实施例的图像处理方法的各个步骤可以通过处理器4002中的硬件的集成逻辑电路或者软件形式的指令完成。
[0304]
上述处理器4002还可以是通用处理器、dsp、asic、fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器4001,处理器4002读取存储器4001中的信息,结合其硬件完成本技术实施例的图像处理装置中包括的单元所需执行的功能,或者执行本技术方法实施例的图像处理方法。
[0305]
通信接口4003使用例如但不限于收发器一类的收发装置,来实现装置4000与其他设备或通信网络之间的通信。例如,可以通过通信接口4003获取待处理图像。
[0306]
总线4004可包括在装置4000各个部件(例如,存储器4001、处理器4002、通信接口4003)之间传送信息的通路。
[0307]
图14是本技术实施例的神经网络训练装置的硬件结构示意图。与上述装置3000和装置4000类似,图14所示的神经网络训练装置5000包括存储器5001、处理器5002、通信接口5003以及总线5004。其中,存储器5001、处理器5002、通信接口5003通过总线5004实现彼此之间的通信连接。
[0308]
可以通过图14所示的神经网络训练装置5000对该神经网络进行训练,训练得到的神经网络就可以用于执行本技术实施例的图像处理方法了。
[0309]
具体地,图14所示的装置可以通过通信接口5003从外界获取训练数据以及待训练的神经网络,然后由处理器根据训练数据对待训练的神经网络进行训练。
[0310]
应注意,尽管上述装置4000和装置5000仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,装置4000和装置5000还可以包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,装置4000和装置5000还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,装置4000和装置5000也可仅仅包括实现本技术实施例所必须的器件,而不必包括图13和图14中所示的全部器件。
[0311]
应理解,本技术实施例中的处理器可以为中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0312]
还应理解,本技术实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储
器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random access memory,ram)可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。
[0313]
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质。半导体介质可以是固态硬盘。
[0314]
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况,其中a,b可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
[0315]
本技术中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
[0316]
应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0317]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0318]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0319]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的
划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0320]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0321]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0322]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0323]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献