一种基于自编码器和熵编码的图像压缩方法技术

技术编号:28842140 阅读:35 留言:0更新日期:2021-06-11 23:41
一种基于自编码器和熵编码的图像压缩方法,通过构建神经网络架构,将图像特征通过训练好的编码器进行提取,生产一个特征图,之后通过量化操作降低数据的存储空间,在用熵编码将量化后的数据进行进一步压缩。图像解码的时候使用相反的流程,将保存的熵编码数据解码并反量化,并通过结构想法的解码器进行解码,从而将特征图恢复为三通道彩色图像。可以在低比特率的情况下,获得质量明显优于传统压缩方法的图像。

【技术实现步骤摘要】
一种基于自编码器和熵编码的图像压缩方法
本专利技术涉及图像压缩
,具体涉及一种基于自编码器和熵编码的图像压缩方法。
技术介绍
在数字媒体时代,图像数据的产生有了翻天覆地的变化。大量的图像数据从日常生活、网络社交、治安监控、工业生产等领域产生并存储下来,需要耗费大量的存储空间。目前流行的主流有损图像压缩格式JPEG压缩率差,图像质量也较差,尚未普及的JPEG2000可能含有各种专利纠纷问题,在各个评测指标上也没有比JPEG有明显的提升,同时编解码速度慢十倍,因此不被看好。
技术实现思路
本专利技术为了克服以上技术的不足,提供了一种在低比特率下活动质量更高的基于自编码器和熵编码的图像压缩方法。本专利技术克服其技术问题所采用的技术方案是:一种基于自编码器和熵编码的图像压缩方法,包括:a)搭建神经网络架构,在神经网络中设定图像编码所需卷积层的层数、卷积核大小、padding的方法以及strides的数量;b)使用神经网络的训练集进行训练,通过mse和bpp构建损失函数,使用Adam优化器进行优化,多次迭代后得到一个训练好的神经网络模型;c)将图像输入训练好的神经网络的Encoder中,通过各层卷积层的逐步卷积得到特征图FeatureMap;d)通过添加均匀噪声的方式量化特征图FeatureMap;e)将量化后的特征图FeatureMap进行二进制化,对二进制化的特征图进行熵编码,统计所有二进制符号的概率密度函数;f)将熵编码后的二进制文件序列化保存;g)当需要对图像解码时,将保存的序列化的二进制文件读取,将序列化的二进制文件转化为十进制文件后根据步骤e)中的概率密度函数进行熵解码;h)熵解码后得到特征图FeatureMap,通过构建一个与熵编码操作相反的神经网络,利用相反的神经网络的反卷积层代替卷积层将熵解码后的特征图FeatureMap恢复为三通道的图像。优选的,步骤a)中卷积核尺寸以先大后小的顺序设定。优选的,步骤a)中strides的数量大于1。优选的,步骤c)中每层卷积层的激活函数使用ReLU或GDN。优选的,步骤e)中对熵编码的方式为将已二进制化的符号的每一个比特根据统计得到的概率密度函数进行算术编码。优选的,步骤f)中对保存的二进制文件使用pickle等序列化的包进行处理。优选的,步骤g)中在十进制最高位前面加小数点后变成十进制小数。优选的,步骤h)中恢复为三通道的图像在保存时进行取整量化操作。本专利技术的有益效果是:通过构建神经网络架构,将图像特征通过训练好的编码器进行提取,生产一个特征图,之后通过量化操作降低数据的存储空间,在用熵编码将量化后的数据进行进一步压缩。图像解码的时候使用相反的流程,将保存的熵编码数据解码并反量化,并通过结构想法的解码器进行解码,从而将特征图恢复为三通道彩色图像。可以在低比特率的情况下,获得质量明显优于传统压缩方法的图像。附图说明图1为本专利技术的流程示意图。具体实施方式下面结合附图1对本专利技术做进一步说明。一种基于自编码器和熵编码的图像压缩方法,包括:a)搭建神经网络架构,在神经网络中设定图像编码所需卷积层的层数、卷积核大小、padding的方法以及strides的数量;b)使用神经网络的训练集进行训练,通过mse和bpp构建损失函数,使用Adam优化器进行优化,多次迭代后得到一个训练好的神经网络模型;c)将图像输入训练好的神经网络的Encoder中,通过各层卷积层的逐步卷积得到特征图FeatureMap;d)通过添加均匀噪声的方式量化特征图FeatureMap;e)将量化后的特征图FeatureMap进行二进制化,对二进制化的特征图进行熵编码,统计所有二进制符号的概率密度函数;f)将熵编码后的二进制文件序列化保存;g)当需要对图像解码时,将保存的序列化的二进制文件读取,将序列化的二进制文件转化为十进制文件后根据步骤e)中的概率密度函数进行熵解码;h)熵解码后得到特征图FeatureMap,通过构建一个与熵编码操作相反的神经网络,利用相反的神经网络的反卷积层代替卷积层将熵解码后的特征图FeatureMap恢复为三通道的图像。鉴于人工智能领域的各项任务已经大规模应用神经网络和深度学习技术,因此借助神经网络对图像进行压缩很有前景。自编码器是一种能通过无监督学习,学到输入数据高效表示的人工神经网络。它不需要专门标注训练数据,损失是基于输入输出的差值来计算的。输入数据通过神经网络进行表示的过程可以被认为是一种编码,其维度通常小于输入数据,从而达到压缩和降维的作用。简单的训练它使得输入输出相同并没有很大意义,因此通过添加内部的尺寸限制,如bottlenecklayer,以及训练数据增加噪声,并训练自编码器使其恢复原有的数据,这样强制它学习到数据的高效表示。得到高效表示之后,我们可以对其量化来达到进一步压缩的效果。因为有时精度较高的浮点数占用大量存储空间,但小数点后过多位数对实际任务并没有很大益处。然而在神经网络的反向传播中,是通过梯度下降来优化,但量化是一个不可导的过程,无法用于梯度计算的过程。因此有多种可以替代直接量化的方法,如添加均匀噪声、软量化等。量化之后的特征值还需要进行熵编码来进一步压缩,常用的熵编码如算数编码,哈夫曼编码,香农编码等,重要的是设计高效的概率模型。熵编码属于对数据的无损压缩,通过识别和消除统计冗余的部分来减少比特,这使得其在执行压缩时不会丢失信息。其目的在于用更少的位(比原始数据表示所需要的位)来显示离散数据,同时在压缩的过程中不会有信息损失。熵编码通常忽略下层离散数据源的特定高阶特性,熵编码如算数编码,哈夫曼编码,香农编码。这种基于自编码器和熵编码对图像进行压缩的方法可以在低比特率的情况下,获得质量明显优于传统压缩方法的图像。在相同图像质量的情况下实现更低的压缩比。实施例1:进一步的,步骤a)中卷积核尺寸以先大后小的顺序设定。实施例2:进一步的,步骤a)中strides的数量大于1。在某些层设置strides>1来缩小特征图的尺寸。实施例3:进一步的,步骤c)中每层卷积层的激活函数使用ReLU或GDN。实施例4:进一步的,步骤e)中对熵编码的方式为将已二进制化的符号的每一个比特根据统计得到的概率密度函数进行算术编码。实施例5:进一步的,步骤f)中对保存的二进制文件使用pickle等序列化的包进行处理。实施例6:进一步的,步骤g)中在十进制最高位前面加小数点后变成十进制小数。实施例7:进一步的,步骤h)中恢复为三通道的图像在保存时进行取整量化操作。以上所述仅为本专利技术的较佳实施例,仅用于说明本专利技术的技术方案,并非用于限定本专利技术的保护范围。凡在本专利技术的精神和原则之内所做的任何本文档来自技高网...

【技术保护点】
1.一种基于自编码器和熵编码的图像压缩方法,其特征在于,包括:/na)搭建神经网络架构,在神经网络中设定图像编码所需卷积层的层数、卷积核大小、padding的方法以及strides的数量;/nb)使用神经网络的训练集进行训练,通过mse和bpp构建损失函数,使用Adam优化器进行优化,多次迭代后得到一个训练好的神经网络模型;/nc)将图像输入训练好的神经网络的Encoder中,通过各层卷积层的逐步卷积得到特征图Feature Map;/nd)通过添加均匀噪声的方式量化特征图Feature Map;/ne)将量化后的特征图Feature Map进行二进制化,对二进制化的特征图进行熵编码,统计所有二进制符号的概率密度函数;/nf)将熵编码后的二进制文件序列化保存;/ng)当需要对图像解码时,将保存的序列化的二进制文件读取,将序列化的二进制文件转化为十进制文件后根据步骤e)中的概率密度函数进行熵解码;/nh)熵解码后得到特征图Feature Map,通过构建一个与熵编码操作相反的神经网络,利用相反的神经网络的反卷积层代替卷积层将熵解码后的特征图Feature Map恢复为三通道的图像。/n

【技术特征摘要】
1.一种基于自编码器和熵编码的图像压缩方法,其特征在于,包括:
a)搭建神经网络架构,在神经网络中设定图像编码所需卷积层的层数、卷积核大小、padding的方法以及strides的数量;
b)使用神经网络的训练集进行训练,通过mse和bpp构建损失函数,使用Adam优化器进行优化,多次迭代后得到一个训练好的神经网络模型;
c)将图像输入训练好的神经网络的Encoder中,通过各层卷积层的逐步卷积得到特征图FeatureMap;
d)通过添加均匀噪声的方式量化特征图FeatureMap;
e)将量化后的特征图FeatureMap进行二进制化,对二进制化的特征图进行熵编码,统计所有二进制符号的概率密度函数;
f)将熵编码后的二进制文件序列化保存;
g)当需要对图像解码时,将保存的序列化的二进制文件读取,将序列化的二进制文件转化为十进制文件后根据步骤e)中的概率密度函数进行熵解码;
h)熵解码后得到特征图FeatureMap,通过构建一个与熵编码操作相反的神经网络,利用相反的神经网络的反卷积层代替卷积层将熵解码后的特征图FeatureMap恢复为三通道的图像。


2....

【专利技术属性】
技术研发人员:段强孙凯李锐金长新
申请(专利权)人:山东浪潮人工智能研究院有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1