arxiv.org/abs/1611.01…
End-to-end Optimized Image Compression
一般非线性改换编码结构
工作流程如下:
(1) 经过参数为\boldsymbol{\phi}的可微函数(analysis 改换)ga(⋅)g_a(\cdot)将图画向量x∈RN\boldsymbol{x}\in \mathbb{R}^N改换到潜在码空间(latent code space)得到码域向量y=ga(x,)\boldsymbol{y}=g_a(\boldsymbol{x},\boldsymbol{\phi})。
(2) 对改换后的y\boldsymbol{y}进行量化,得到待紧缩的离散值向量q∈RN\boldsymbol{q}\in \mathbb{R}^N。编码的码率(rate)RR将以量化向量q\boldsymbol{q}的离散概率散布PqP_q的熵H[Pq]H[P_q]作为下界。
(3) 为了重建紧缩图画,将q\boldsymbol{q}的离散元素从头解释(reinterpreted)为接连值向量y\hat{\boldsymbol{y}}。然后经过参数为\boldsymbol{\theta}的可微函数(synthesis改换)gs(⋅)g_s(\cdot)将y\hat{\boldsymbol{y}}改换回数据域(data space)得到重建图画x=gs(y,)\hat{\boldsymbol{x}}=g_s(\hat{\boldsymbol{y}},\boldsymbol{\theta})
(4) 失真(distortion)DD经过运用(固定)改换z=gp(x)\boldsymbol{z}=g_p(\boldsymbol{x})和z=gp(x)\hat{\boldsymbol{z}}=g_p(\hat{\boldsymbol{x}})改换到感知空间(perceptual space),并用评价衡量d(z,z)d(\boldsymbol{z},\hat{\boldsymbol{z}})来评价失真。
(5) 一组图画上rate和distortion衡量的加权和D+RD+\lambda R将用于优化参数向量\boldsymbol{}和\boldsymbol{},其间为率的权重。
端到端优化的非线性改换编码
剖析改换
剖析改换gag_a有三个阶段,每个阶段由卷积、下采样和Generalized divisive normalization (GDN)(arxiv.org/abs/1511.06…)组成。将第kk阶段在空间方位(m,n)(m, n)的第ii个输入通道表明为ui(k)(m,n)u^{(k)}_i(m, n),则输入图画向量x\boldsymbol{x}对应于ui(0)(m,n)u^{(0)}_i(m, n);输出向量y\boldsymbol{y}对应于ui(3)(m,n)u^{(3)}_i(m, n)。
每一阶段都以仿射卷积开端:
其间∗*表明卷积,随后是下采样:
其间sks_k为第kk阶段的下采样因子。
最终是GDN操作:
h、c、h、c、和参数构成待优化的参数向量\boldsymbol{}。
组成改换
类似地,组成改换gsg_s有三个阶段,每个阶段由IGDN、上采样和卷积组成。设ui(k)(m,n)\hat{u}^{(k)}_i(m, n)为第kk个组成阶段的输入,则y\hat{\boldsymbol{y}}对应于ui(0)(m,n)\hat{u}^{(0)}_i(m, n);x\hat{\boldsymbol{x}}对应于ui(3)(m,n)\hat{u}^{(3)}_i(m, n)。
首要,是逆GDN(IGDN)操作:
然后是上采样: 其间sk\hat{s}_k为第kk阶段的下采样因子。
最终是仿射卷积:
参数h、c、\hat{h}、\hat{c}、\hat{}和\hat{}构成待优化的参数向量\boldsymbol{\theta}。
注意,下采样/上采样操作能够与其相邻的卷积一起实现,然后进步核算功率
感知改换
arxiv.org/abs/1607.05…运用Normalized Laplacian pyramid (NLP)进行改换。这里仅运用恒等改换,并运用MSE作为衡量,即d(z,z)=∥z−z∥22d(\boldsymbol{z}, \hat{\boldsymbol{z}})=\|\boldsymbol{z}-\hat{\boldsymbol{z}}\|_{2}^{2}
非线性改换编码模型的优化
直接在图画空间中进行最优量化由于高维性而难以实现,因而作者将图画改换到码空间再用均匀标量量化器量化。经过规划合适的熵编码能够使得实践码率仅略大于量化向量的熵,因而,作者直接用熵界说方针函数:
其间两个希望将经过练习集上的多个图画的平均值来近似。
运用均匀标量量化器进行量化:
round:随机变量四舍五入,一个接连区间(区间巨细为1)的随机变量值对应一个整数。
y\boldsymbol{\hat{y}}的边际概率密度pyip_{\hat{y}_i}由一系列Dirac delta函数(冲激函数)表明,权重等于qiq_i各个区间内的概率质量函数(如图2):
【图2为 yiy_i(码空间元素)、yi\hat{y}_i(量化元素)和y~i\tilde{y}_i(受均匀噪声干扰的元素)密度联系的一维图示。pyip_{\hat{y}_i}中的每个离散概率等于对应量化bin内密度pyip_{y_i}的概率质量(由暗影表明)。密度py~ip_{\tilde{y}_i}供给了一个接连函数,在整数方位与pyip_{\hat{y}_i}的离散概率值相等。】
均匀标量量化器(uniform scalar quantizer)是一个分段常数函数;其导数是不接连的(详细而言,它处处为零或无限),使得梯度下降无效。为了允许经过随机梯度下降进行优化,作者将量化器替换为附加量∆y∼U(0,1)∆\boldsymbol{y}\sim\mathcal{U}(0,1)(U\mathcal{U}:均匀散布,0为中心,1为规模)。
替换的可行性:
首要,随机变量y~=y+∆y\boldsymbol{\tilde{y}}=\boldsymbol{y}+∆\boldsymbol{y},则依据Z=X+Y的散布,y~\boldsymbol{\tilde{y}}的密度函数:
在一切整数方位与q\boldsymbol{q}的概率质量函数PqiP_{q_i}相同:
是q\boldsymbol{q}概率质量函数的接连松懈(图2)。这意味着y~\boldsymbol{\tilde{y}}的微分(接连)熵h[py~i]h[p_{\tilde{y}_i}]能够用作q\boldsymbol{q}的熵H[Pqi]H[P_{q_i}]的近似值。
为了削减模型差错,作者假定y~\boldsymbol{\tilde{y}}的松懈概率模型和熵编码的码空间中的边际独立【例如:py~(y~)=∏ipy~i(y~i)p_{\tilde{\boldsymbol{y}}}(\tilde{\boldsymbol{y}})=\prod_{i} p_{\tilde{y}_{i}}\left(\tilde{y}_{i}\right)(log(∏ipy~i(y~i))=∑ilog(py~i(y~i))\log(\prod_{i} p_{\tilde{y}_{i}}\left(\tilde{y}_{i}\right))=\sum_i\log(p_{\tilde{y}_{i}}\left(\tilde{y}_{i}\right))】,并对边际py~ip_{\boldsymbol{\tilde{y}_i}}进行非参数建模。详细而言,作者运用精细采样的分段线性函数,并将其更新为一维直方图。更详细地,作者运用每单位间隔10个采样点,将每个边际py~ip_{\boldsymbol{\tilde{y}_i}}表明为分段线性函数(即线性样条)。参数向量(i)\boldsymbol{\psi}^{(i)}由这些采样点处的py~ip_{\boldsymbol{\tilde{y}_i}}值组成。运用普通随机梯度下降来最大化希望似然:
并在每个过程之后从头归一化边际密度。在每10610^6个梯度过程之后,作者运用启发式办法调整样条近似的规模,以掩盖在练习集上取得的y~\tilde{y}值的规模。
第二,独立均匀噪声经用于近似量化差错(ieeexplore.ieee.org/document/72…)。因而,咱们能够运用均匀噪声近似量化的失真。
图4验证了接连松懈为实践量化的率失真值供给了良好的近似值。左图的松懈失真项大部分是无偏的,而且表现出相对较小的方差。松懈熵为较粗(coarser)量化区域的离散熵供给了某种程度的正偏估计,但如预期的那样,关于较精细(finer )量化,误差消失。
给定量化向量y\boldsymbol{\hat{y}}散布的接连近似y~\boldsymbol{\tilde{y}},参数\boldsymbol{\theta} 和\boldsymbol{\phi}的损失函数能够写成:
其间,向量(i)\boldsymbol{}^{(i)}参数化py~ip_{\tilde{y}_i}的分段线性近似(与\boldsymbol{\theta} 和\boldsymbol{\phi}联合练习)。这是接连和可微的,因而十分适合于随机优化。
与变分生成图画模型的联系
上面从经典的率失真优化问题导出了端到端紧缩的优化公式。除此之外,还能够在变分自编码器(VAE)的背景下进行推导。
在贝叶斯变分推理中,给定随机变量xx的观测样本调集以及生成模型px∣y(x∣y)p_{x|y}(x| y)。咱们试图找到一个后验py∣x(y∣x)p_{y|x}(y | x)(一般不能用封闭形式表明)。VAE经过最小化q(y∣x)q(y|x)和py∣x(y∣x)p_{y|x}(y | x)之间的KL散度,用密度q(y∣x)q(y|x)近似该后验:
【图3。空心节点表明随机变量;灰色节点表明观测数据;小的黑色节点表明参数;箭头表明依赖联系。框内的节点是按图画核算的。】
假如咱们界说生成模型(图3左,高斯散布以gsg_s生成结果为均值)如下:
注: 关于一个单变量随机变量,高斯散布的密度为:
而且将近似后验建模为均匀散布:
其间U(y~i;yi,1)\mathcal{U}\left(\tilde{y}_{i} ; y_{i}, 1\right)是以yiy_i为中心的区间规模为1的均匀密度(y~i=yi+U(0,1)\tilde{y}_{i}=y_i+\mathcal{U(0,1)})。
那么,该方针函数等效于咱们的松懈率失真优化问题。KL散度中的第一项是0(qq已知);第二项对应于失真(失真衡量为MSE),第三项对应于率。
请注意,假如运用感知改换gpg_p,或许衡量dd不是欧几里得间隔,则px∣y~p_{x|\tilde{y}}不再是高斯散布,而是对应于密度:
其间Z()Z(\lambda)归一化密度。这无法保证与变分主动编码器的等价性,因为失真项可能不对应于可归一化的密度。
尽管这个非线性改换编码结构与变分主动编码器的结构类似,但有几个值得注意的根本差异:
首要,变分自编码器对接连值进行操作,而数字紧缩则是在量化后离散域中进行。用微分熵的比特率替代离散熵的比特率可能会误导结果。为了能够端到端优化,这篇文章在接连域进行。但依据试验得到,离散与接连的率和失真相差不大。
其次,公式(13)中是推断的。理想情况下挨近无穷大。而紧缩模型必须在率失真曲线的任何给定点上进行,这是由权衡超参数\lambda指定:
【左图:率失真权衡。灰色区域表明能够实现的一切率失真值的调集(在一切可能的参数设置上)。给定挑选的最优性能对应于该集的凸壳上的一个点,具有斜率−1/−1/】
最终,尽管生成模型的典型松懈项(13)与率失真优化中的失真衡量之间的对应联系仅仅适用于简单衡量(如欧几里德间隔),但从生成建模的角度来看,假如更一般的感知衡量有对应的密度函数,则它也能够作为一种特别的挑选。
试验结果
作者将提出的办法与JPEG和JPEG 2000作比较。关于这篇论文提出的办法,一切图画均运用均匀量化进行量化(运用加性噪声的接连松懈仅用于练习意图)。别的,在推理阶段,作者还基于上下文的自适应二进制算术编码结构(CABAC;Context-Based Adaptive Binary Arithmetic Coding in the H.264/AVC Video Compression Standard,ieeexplore.ieee.org/document/12…