CN112702600A - 一种图像编解码神经网络分层定点化方法 - Google Patents

一种图像编解码神经网络分层定点化方法 Download PDF

Info

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
Application number
CN202011591927.9A
Other languages
English (en)
Other versions
CN112702600B (zh
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.)
Nanjing University
State Grid Zhejiang Electric Power Co Ltd
Information and Telecommunication Branch of State Grid Zhejiang Electric Power Co Ltd
Original Assignee
Nanjing University
State Grid Zhejiang Electric Power Co Ltd
Information and Telecommunication Branch of State Grid Zhejiang Electric Power 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 Nanjing University, State Grid Zhejiang Electric Power Co Ltd, Information and Telecommunication Branch of State Grid Zhejiang Electric Power Co Ltd filed Critical Nanjing University
Priority to CN202011591927.9A priority Critical patent/CN112702600B/zh
Publication of CN112702600A publication Critical patent/CN112702600A/zh
Application granted granted Critical
Publication of CN112702600B publication Critical patent/CN112702600B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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。
Figure BDA0002867188690000033
Rfloat=max(|xlimited|) (2)
Figure BDA0002867188690000031
Figure BDA0002867188690000032
n=nl+nr (5)
xfix=round(xnormalized*2n-1) (6)
Figure BDA0002867188690000041
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表示经过该层传播后的梯度值。
Figure BDA0002867188690000042
goutput=ginput (10)
步骤(4)中,将输入图像输入编码网络,编码网络对每个块独立地进行编码产生特征图。对特征图采用四舍五入取整的方式进行量化,熵编码器利用超先验编解码器提供的概率分布对量化后的特征图进行无损熵编码(如算术编码)形成码流,并与超先验编码器产生的额外码流叠加作为最终的压缩数据。
为了说明本发明方法的效果,以下与现有技术进行实例比对。
表1为浮点编解码网络卷积层计算量与本发明优化后编解码网络计算量对比表
Figure BDA0002867188690000043
表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为
Figure BDA0002867188690000051
CoreTMi5-6300U CPU@2.40GHz,运行内存为8GB的计算机分别进行108次浮点计算以及定点计算所用时间对比表。由表1,表2可见,本发明将编解码网络中绝大多数浮点运算转换为了定点运算,大幅减少了编解码网络运行时间。表3为CPU为
Figure BDA0002867188690000052
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)对激活函数的梯度传播进行优化,使用四舍五入的方法进行梯度值的下一层传播。
CN202011591927.9A 2020-12-29 2020-12-29 一种图像编解码神经网络分层定点化方法 Active CN112702600B (zh)

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)

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

* Cited by examiner, † Cited by third party
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 深圳市大疆创新科技有限公司 一种基于卷积神经网络架构的数据处理方法及装置

Patent Citations (7)

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

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