CN112702600A - 一种图像编解码神经网络分层定点化方法 - Google Patents
一种图像编解码神经网络分层定点化方法 Download PDFInfo
- Publication number
- CN112702600A CN112702600A CN202011591927.9A CN202011591927A CN112702600A CN 112702600 A CN112702600 A CN 112702600A CN 202011591927 A CN202011591927 A CN 202011591927A CN 112702600 A CN112702600 A CN 112702600A
- Authority
- CN
- China
- Prior art keywords
- network
- point
- fixed
- decoding
- image coding
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 15
- 230000004913 activation Effects 0.000 claims abstract description 25
- 238000012549 training Methods 0.000 claims abstract description 18
- 238000012545 processing Methods 0.000 claims abstract description 10
- 238000013139 quantization Methods 0.000 claims abstract description 9
- 238000012360 testing method Methods 0.000 claims abstract description 6
- 230000003068 static effect Effects 0.000 claims abstract description 4
- 239000011159 matrix material Substances 0.000 claims description 25
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000005457 optimization Methods 0.000 claims description 4
- 230000000644 propagated effect Effects 0.000 claims description 2
- 230000001131 transforming effect Effects 0.000 claims description 2
- 230000004807 localization Effects 0.000 claims 2
- 230000000694 effects Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 20
- 238000013135 deep learning Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000001152 differential interference contrast microscopy Methods 0.000 description 4
- 238000007906 compression Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开一种图像编解码神经网络分层定点化方法。该方法的步骤如下:(1)选取合适的静态图像训练集及测试集建立并训练端到端的图像编解码网络;(2)对所述图像编解码网络的参数和激活值进行定点化,其中,对于网络不同层的参数和激活值采用不同的定点化比特数,并对需要进行浮点运算的激活函数进行简化;(3)重新训练经步骤(2)定点化后的图像编解码网络;(4)将训练后的图像编解码网络的输出数据,经过量化和无损熵编码输出作为压缩数据。本发明的方法通过对不同的网络层采用不同的量化系数,优化了定点化效果。
Description
技术领域
本发明涉及神经网络压缩领域,具体涉及一种图像编解码神经网络分层定点化方法。
背景技术
近年来,人工神经网络发展到了深度学习(deep learning)阶段。深度学习试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的一系列算法,其强大表达能力使得其在各个机器学习的任务上取到了最好的效果,在视频和图像处理上的表现在目前也超过了其它方法。而结合深度学习中Autoencoder的基本思路做图像和视频压缩,用深度学习的方法来提供一个新的视频编码和解码的方法,对于以后的视频数据压缩领域发展是一个很好的开始工作,也便于未来在视频压缩方向上,神经网络的新方案在整个系统的完善过程中有着比传统方法更好的表现和前景。
但是,现有的图像编解码网络参数一般以浮点形式存储,导致其存储空间需求量大。同时浮点矩阵的乘法运算耗时长,运行内存需求大,限制了基于深度学习的图像编解码方案的实用性。
现有的神经网络定点化方案大多是面向图像分类任务,并对所有的网络层采取相同的量化参数,但在图像编解码任务中,对不同网络层的参数和激活值做定点化对网络性能会产生不同的影响。因此,对所有的网络层采取相同的量化参数并非最优方案。
发明内容
本发明针对上述现有技术中存在的问题,提出一种图像编解码神经网络分层定点化方法。
本发明采用的技术方案如下:
一种图像编解码神经网络分层定点化方法,该方法的步骤如下:
(1)选取合适的静态图像训练集及测试集建立并训练端到端的图像编解码网络;
(2)对所述图像编解码网络的参数和激活值进行定点化,其中,对于网络不同层的参数和激活值采用不同的定点化比特数,并对需要进行浮点运算的激活函数进行简化;
(3)重新训练经步骤(2)定点化后的图像编解码网络;
(4)将训练后的图像编解码网络的输出数据,经过量化和无损熵编码输出作为压缩数据。
进一步地,步骤(1)中,所述图像编解码网络的编码端包括主编码器、超先验编解码器和上下文模型,主编码器用于将输入原始图像变换为特征图,超先验编解码器及上下文模型用于根据特征图估计特征图中像素的概率分布提供给熵编码器;在编码端,超先验编码器产生的压缩数据采用固定分布进行概率计算,经熵编码后作为额外信息加入到最终的压缩码流中;所述图像编解码网络的解码端包括主解码器、超先验解码器和所述上下文模型,超先验解码器及所述上下文模型用于为通过额外信息解码出特征图中像素的概率分布提供给熵解码器,主解码器用于将特征图还原为重构图像。
进一步地,步骤(2)的具体步骤为:1)确定浮点矩阵的定点取值范围;2)根据定点取值范围,将浮点矩阵取值范围归一化至[-1,+1];3)将归一化的浮点矩阵简化为整数矩阵;4)对网络中的激活函数进行简化。
进一步地,步骤(3)中对步骤(2)定点化后的编解码网络进行重新训练,其训练方法与步骤(1)相同,此外还包括:1)利用步骤(2)得到的激活函数结果和梯度进行优化深度训练;2)对激活函数的梯度传播进行优化,使用四舍五入的方法进行梯度值的下一层传播。
本发明的方法具有以下有益效果:
1)对图像编解码网络参数以及输入网络的激活值做定点化操作,减少了图像编解码的计算量,同时使其能够在硬件上进行实现。
2)对网络的非线性激活函数进行了简化,将指数运算简化为线性运算,进一步减少计算量。
3)相较于目前存在的面向图像分类任务的网络定点化方案,本发明通过对不同的网络层采用不同的量化系数,优化了定点化效果。
附图说明
图1是本发明实施例中端到端的编解码网络结构图;
图2是本发明的定点化方法与全网络层8比特定点化方法性能对比图。
具体实施方式
下面结合附图与实施例对本发明的方案进行详细说明。
本发明的一种图像编解码神经网络分层定点化方法,步骤如下:(1)选取合适的静态图像训练集及测试集建立并训练端到端的图像编解码网络;(2)对网络参数和激活值进行定点化。其中,对于网络不同层的参数和激活值采用不同的定点化比特数,并对需要进行浮点运算的激活函数进行简化;(3)重新训练定点化后的编解码网络;(4)编码网络的输出数据经过量化和无损熵编码输出作为压缩数据。
步骤(1)中数据集的选取对于整个神经网络的训练有很大的影响,本实施例选取NIC数据集。NIC数据集是基于深度学习的图像压缩的IEEE标准测试模型NIC的开发数据集,包括图像大小为256*256的训练集和测试集。
本实施例的端到端的编解码网络结构如图1所示。编码端包含主编码器及超先验(Hyper prior)编解码器、上下文模型。主编码器作用为将输入原始图像变换为通道数为192,行、列尺寸分别为原大小1/16的特征图。超先验编解码器及上下文模型的作用为根据特征图估计特征图中像素的概率分布提供给熵编码器。在编码端,超先验编码器产生的压缩数据采用固定分布进行概率计算,经熵编码后作为额外信息加入到最终的压缩码流中。解码端包含主解码器、超先验解码器、及上下文模型。超先验解码器及上下文模型的作用为通过额外信息解码出特征图中像素的概率分布提供给熵解码器。主解码器作用为将特征图还原为重构图像。
采用Adam自适应梯度优化算法对端到端的图像编解码网络进行训练。代价函数为率失真代价函数,其中,失真度为网络输入图像与网络重构图像的均方差;码率通过利用超先验编解码器及上下文模型所得的概率分布计算特征图中像素包含的信息量进行估计。通过在建立的数据集上进行充分训练,在其代价函数Loss值达到收敛后,保存训练模型,作为端到端的图像编解码网络。
步骤(2)中分为4个子步骤。①确定浮点矩阵的定点取值范围。过程如式(1)-(3)所示,式中nl为用于表示Rfloat整数部分的比特数,nr为用于表示Rfloat小数部分的比特数。首先根据当前层的量化总比特数n限制激活值矩阵以及权重矩阵的取值范围,式(1)中clip(a,x,y)函数作用为限制将矩阵a的取值最小值限制为x,最大值限制为y,即将矩阵a中小于x的值都取为x,将矩阵a中大于y的值都取为y。式(2)中Rfloat为浮点形式的矩阵范围。式(3)中round函数为四舍五入取整函数。②根据定点取值范围,将浮点矩阵取值范围归一化至[-1,+1],公式如式(4)所示。③将归一化的浮点矩阵简化为整数矩阵,公式为式(6)所示。④对网络中的sigmoid与softmax激活函数进行简化,公式分别如式(7)(8)所示。式(8)中,hardmax函数为“硬最大值”函数,其作用为将矩阵中等于矩阵元素最大值的数置为1,其余置为0。
Rfloat=max(|xlimited|) (2)
n=nl+nr (5)
xfix=round(xnormalized*2n-1) (6)
y=hardmax(x) (8)
本发明与现有网络定点化方案不同点在于,定点化比特数根据所处的层的不同而不同,即式(1)-(4)中nl与nr的取值与激活值矩阵与网络参数矩阵所处的层有关。在该基于NIC网络的实施例中,对于解码网络的第一个上采样层,将激活值矩阵与网络参数矩阵n取为16,对于上下文模型中的三维卷积层n取为12,对于其余层n取为8。起到在尽量少增加计算量的前提下明显提高定点化编解码网络的性能。
步骤(3)中,对步骤(2)中的定点化编解码网络进行重新训练。训练方法与步骤(1)中相同。额外地,为解决步骤(2)中的定点化网络在训练过程中无法进行正确梯度传播的问题,本实施例采取方法如下:对于简化的Softmax函数,在训练过程中直接采用Softmax函数的结果和梯度进行训练;对于简化的Sigmoid函数,在训练过程中梯度传播公式如式(9)所示;对于其它定点化中采用的四舍五入取值(Round)函数,在训练过程中梯度传播公式如式(10)所示。式中,ginput表示未经过该层传播的梯度值,goutput表示经过该层传播后的梯度值。
goutput=ginput (10)
步骤(4)中,将输入图像输入编码网络,编码网络对每个块独立地进行编码产生特征图。对特征图采用四舍五入取整的方式进行量化,熵编码器利用超先验编解码器提供的概率分布对量化后的特征图进行无损熵编码(如算术编码)形成码流,并与超先验编码器产生的额外码流叠加作为最终的压缩数据。
为了说明本发明方法的效果,以下与现有技术进行实例比对。
表1为浮点编解码网络卷积层计算量与本发明优化后编解码网络计算量对比表
表2为浮点计算以及定点计算所用时间对比表
8位定点运算 | 16位定点运算 | 浮点运算 | |
运算时间(s) | 0.27 | 0.27 | 0.657 |
表3为计算指数运算以及线性运算所需时间对比表
线性运算 | 指数运算 | |
运算时间(s) | 0.778 | 4.08 |
表1中,c,H,W分别表示输入卷积层的图像的通道数,高度和宽度;k,n,s分别表示卷积层卷积核尺寸,卷积核输出尺寸大小以及卷积层扫描步长。表2为CPU为CoreTMi5-6300U CPU@2.40GHz,运行内存为8GB的计算机分别进行108次浮点计算以及定点计算所用时间对比表。由表1,表2可见,本发明将编解码网络中绝大多数浮点运算转换为了定点运算,大幅减少了编解码网络运行时间。表3为CPU为CoreTMi5-6300U CPU@2.40GHz,运行内存为8GB的计算机计算指数运算以及线性运算所需时间对比表。由表3可见,本发明将指数运算简化为线性运算能够节省大量的运行时间。
图2给出了本发明的定点化方法与全网络层8比特定点化方法性能对比图,可以看出,本实施例的方法在较高码率段,较全网络层8比特定点化峰值信噪比(PSNR)值提高了0.3dB左右,且除了第一上采样层及三维卷积层2层外均保持8比特定点化,并未有明显计算量增加。
Claims (4)
1.一种图像编解码神经网络分层定点化方法,其特征在于,该方法的步骤如下:
(1)选取合适的静态图像训练集及测试集建立并训练端到端的图像编解码网络;
(2)对所述图像编解码网络的参数和激活值进行定点化,其中,对于网络不同层的参数和激活值采用不同的定点化比特数,并对需要进行浮点运算的激活函数进行简化;
(3)重新训练经步骤(2)定点化后的图像编解码网络;
(4)将训练后的图像编解码网络的输出数据,经过量化和无损熵编码输出作为压缩数据。
2.根据权利要求1所述的一种图像编解码神经网络分层定点化方法,其特征在于,步骤(1)中,所述图像编解码网络的编码端包括主编码器、超先验编解码器和上下文模型,主编码器用于将输入原始图像变换为特征图,超先验编解码器及上下文模型用于根据特征图估计特征图中像素的概率分布提供给熵编码器;在编码端,超先验编码器产生的压缩数据采用固定分布进行概率计算,经熵编码后作为额外信息加入到最终的压缩码流中;
所述图像编解码网络的解码端包括主解码器、超先验解码器和所述上下文模型,超先验解码器及所述上下文模型用于为通过额外信息解码出特征图中像素的概率分布提供给熵解码器,主解码器用于将特征图还原为重构图像。
3.根据权利要求1所述的一种图像编解码神经网络分层定点化方法,其特征在于,步骤(2)的具体步骤为:1)确定浮点矩阵的定点取值范围;2)根据定点取值范围,将浮点矩阵取值范围归一化至[-1,+1];3)将归一化的浮点矩阵简化为整数矩阵;4)对网络中的激活函数进行简化。
4.根据权利要求1所述的一种图像编解码神经网络分层定点化方法,其特征在于,步骤(3)中对步骤(2)定点化后的编解码网络进行重新训练,其训练方法与步骤(1)相同,此外还包括:1)利用步骤(2)得到的激活函数结果和梯度进行优化深度训练;2)对激活函数的梯度传播进行优化,使用四舍五入的方法进行梯度值的下一层传播。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011591927.9A CN112702600B (zh) | 2020-12-29 | 2020-12-29 | 一种图像编解码神经网络分层定点化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011591927.9A CN112702600B (zh) | 2020-12-29 | 2020-12-29 | 一种图像编解码神经网络分层定点化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112702600A true CN112702600A (zh) | 2021-04-23 |
CN112702600B CN112702600B (zh) | 2022-04-12 |
Family
ID=75511712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011591927.9A Active CN112702600B (zh) | 2020-12-29 | 2020-12-29 | 一种图像编解码神经网络分层定点化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112702600B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114337849A (zh) * | 2021-12-21 | 2022-04-12 | 上海交通大学 | 基于互信息量估计神经网络的物理层保密方法及系统 |
WO2023082955A1 (zh) * | 2021-11-10 | 2023-05-19 | 华为技术有限公司 | 编解码方法及电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760933A (zh) * | 2016-02-18 | 2016-07-13 | 清华大学 | 卷积神经网络的逐层变精度定点化方法及装置 |
CN107292382A (zh) * | 2016-03-30 | 2017-10-24 | 中国科学院声学研究所 | 一种神经网络声学模型激活函数定点量化方法 |
CN107451658A (zh) * | 2017-07-24 | 2017-12-08 | 杭州菲数科技有限公司 | 浮点运算定点化方法及系统 |
US20180232626A1 (en) * | 2017-02-14 | 2018-08-16 | Google Inc. | Implementing neural networks in fixed point arithmetic computing systems |
CN110413255A (zh) * | 2018-04-28 | 2019-11-05 | 北京深鉴智能科技有限公司 | 人工神经网络调整方法和装置 |
CN111009018A (zh) * | 2019-12-24 | 2020-04-14 | 苏州天必佑科技有限公司 | 基于深度神经网络的图像降维和重建方法 |
CN111656315A (zh) * | 2019-05-05 | 2020-09-11 | 深圳市大疆创新科技有限公司 | 一种基于卷积神经网络架构的数据处理方法及装置 |
-
2020
- 2020-12-29 CN CN202011591927.9A patent/CN112702600B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760933A (zh) * | 2016-02-18 | 2016-07-13 | 清华大学 | 卷积神经网络的逐层变精度定点化方法及装置 |
CN107292382A (zh) * | 2016-03-30 | 2017-10-24 | 中国科学院声学研究所 | 一种神经网络声学模型激活函数定点量化方法 |
US20180232626A1 (en) * | 2017-02-14 | 2018-08-16 | Google Inc. | Implementing neural networks in fixed point arithmetic computing systems |
CN107451658A (zh) * | 2017-07-24 | 2017-12-08 | 杭州菲数科技有限公司 | 浮点运算定点化方法及系统 |
CN110413255A (zh) * | 2018-04-28 | 2019-11-05 | 北京深鉴智能科技有限公司 | 人工神经网络调整方法和装置 |
CN111656315A (zh) * | 2019-05-05 | 2020-09-11 | 深圳市大疆创新科技有限公司 | 一种基于卷积神经网络架构的数据处理方法及装置 |
CN111009018A (zh) * | 2019-12-24 | 2020-04-14 | 苏州天必佑科技有限公司 | 基于深度神经网络的图像降维和重建方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023082955A1 (zh) * | 2021-11-10 | 2023-05-19 | 华为技术有限公司 | 编解码方法及电子设备 |
CN114337849A (zh) * | 2021-12-21 | 2022-04-12 | 上海交通大学 | 基于互信息量估计神经网络的物理层保密方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112702600B (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cheng et al. | Energy compaction-based image compression using convolutional autoencoder | |
CN110602494A (zh) | 基于深度学习的图像编码、解码系统及编码、解码方法 | |
CN112702600B (zh) | 一种图像编解码神经网络分层定点化方法 | |
CN109379598B (zh) | 一种基于fpga实现的图像无损压缩方法 | |
CN110753225A (zh) | 一种视频压缩方法、装置及终端设备 | |
Boopathi et al. | An image compression approach using wavelet transform and modified self organizing map | |
CN114449276B (zh) | 一种基于学习的超先验边信息补偿图像压缩方法 | |
CN116939226A (zh) | 一种面向低码率图像压缩的生成式残差修复方法及装置 | |
CN111754592A (zh) | 一种基于特征通道信息的端到端多光谱遥感图像压缩方法 | |
Wu et al. | Fractal image compression with variance and mean | |
CN115278257A (zh) | 一种图像压缩方法、装置、电子设备及存储介质 | |
CN110267049B (zh) | 一种稀疏编码的存储优化方法 | |
CN116630448A (zh) | 基于窗口注意力的神经数据依赖变换的图像压缩方法 | |
Hu et al. | Adaptive Image Zooming based on Bilinear Interpolation and VQ Approximation | |
CN114386595B (zh) | 一种基于超先验架构的sar图像压缩方法 | |
Hu et al. | Efficient greyscale image compression technique based on vector quantization | |
CN110349228B (zh) | 一种数据驱动最小二乘预测的三角网格压缩方法 | |
Xu et al. | Low complexity rate-adaptive deep joint source channel coding for wireless image transmission using tensor-train decomposition | |
JP2022187683A (ja) | データ圧縮伸長システム、及びその方法 | |
Lu et al. | Image Compression Based on Mean Value Predictive Vector Quantization. | |
CN111275184B (zh) | 一种实现神经网络压缩的方法、系统、装置和存储介质 | |
CN109302614B (zh) | 一种基于三阶张量自编码网络的视频压缩方法 | |
CN117615148B (zh) | 一种基于多尺度框架的端到端特征图分层压缩方法 | |
CN117640943A (zh) | 一种基于视频技术的智能视频压缩方法和系统 | |
CN117915107B (zh) | 图像压缩系统、图像压缩方法、存储介质与芯片 |
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 |