← 返回 2026-06-01

FRAPPE:基于投影追踪编码器的全输入残差输出自编码 FRAPPE: Full Input, Residual Output Autoencoding with Projection Pursuit Encoder

Dan Jacobellis, Neeraja J. Yadwadkar 📅 2026-05-27 👍 7 2026-07-13 08:36
图像压缩 实时压缩 投影追踪 残差自编码 深度学习编解码

提出FRAPPE框架,实现零开销可变码率压缩,在0.1bpp时感知质量优于AVIF且编码快47倍

前置知识

投影追踪回归(Projection Pursuit Regression)

一种监督学习算法,通过逐步添加线性投影项来拟合数据。每一步找到一个新的投影方向,最大化某个有用性指标,然后用非线性函数拟合。最终模型是多个投影的加权和:f(X) = Σ gm(ωᵀmX),其中ωm是投影方向,gm是非线性函数。这个过程是贪婪的,每一步拟合前一步的残差。

FRAPPE的核心创新就是用投影追踪的思想来构建残差自编码器,使得潜在通道自动按重要性排序

残差自编码(Residual Autoencoding)

一种通过逐步逼近原始信号的编码方法。每一步编码器-解码器对拟合输出空间的残差rm = x - Fm-1(x),其中Fm-1是前m-1个通道的合并编码器。通过多个阶段的叠加,最终重建越来越接近原始信号。传统方法如Toderici递归压缩器需要在编码循环中评估解码器,效率低下。

理解残差自编码是理解FRAPPE如何逐步添加通道、按重要性排序的基础

率-失真-复杂度权衡(Rate-Distortion-Complexity Trade-off)

图像编解码器的核心评价维度。率表示压缩后比特数,失真表示重建误差(如PSNR、SSIM),复杂度表示编码和解码的计算成本。传统方法如VVC、AV1在高压缩率时需要极高的编码复杂度,限制了在资源受限设备上的应用。理想方法应该在这三个维度都有良好表现。

FRAPPE的设计目标就是在这三个维度上突破现有瓶颈,理解这个权衡才能评估其贡献

非对称编解码设计(Asymmetric Codec Design)

一种适用于云端计算场景的设计哲学。编码端设计为轻量级,运行在资源受限的传感器上;解码端设计为重量级,运行在云端工作站上。这与广播媒体的编码一次、解码多次模型相反。WaLLoC和LiVeAction都采用了这种设计,使用强大的非线性合成变换配对轻量级分析变换。

FRAPPE采用非对称部署拓扑,编码在低功耗传感器,解码在云端,这是理解其应用场景的关键

变分率编码(Variable-Rate Coding)

编解码器能够根据可用带宽动态调整输出比特率的能力。传统方法需要重新编码或使用多个预训练模型,效率低下。FRAPPE通过潜在通道按重要性排序,只需保留前n个通道即可实现零开销变分率,无需额外的比例选择模块或微调。

这是FRAPPE的核心优势之一,理解它才能认识到为什么FRAPPE只需要一套编码器权重就能支持多个比特率

研究动机

现有媒体压缩标准(如VVC、AV1)在率-失真-复杂度权衡上已达到瓶颈,难以支持将昂贵的AI感知任务卸载到云端。现有DNN编解码器在以下三个维度上至少有一个失败:(1) 编码资源要求过高(FLOPS、内存带宽等);(2) 压缩比不足以通过蜂窝、卫星或BLE通信传输;(3) 引入太多失真或延迟,无法从云处理中受益。例如,在机器人、可穿戴设备和遥感等应用中,受功率限制的传感器无法使用VVC等复杂编解码器,只能依赖JPEG或MP3等简单编解码器。然而,对于需要实时云端AI感知的应用,这些编解码器的压缩比或质量都不够。

本文的目标是本文旨在设计一个能够在资源受限平台上实现实时编码的自编码框架FRAPPE(Full input to predict Residual output via a Projection-Pursuit Encoder)。具体目标包括:(1) 零开销变分率和渐进压缩,使用单一编码器权重;(2) 在高压缩比下的率-失真性能与标准编解码器(JPEG、AVIF)相当;(3) 在低功耗传感器上无需GPU或加速器实现高吞吐量编码。FRAPPE-Image作为该框架的具体实例,旨在证明在实际图像压缩任务中的可行性。

与已有工作不同的是,现有方法在解决这三个核心目标上存在根本性局限。RNN-based学习编解码器(如Toderici递归压缩器)的编码器需要消耗前一次重建的残差,必须在编码循环中评估解码器,导致编码复杂度极高。RVQ风格编解码器虽然将残差递归推入量化器链,但链本身在编码时仍然是顺序的。这些方法的顺序依赖性使其无法高效并行。FRAPPE的独特切入角度是使用投影追踪编码方案,每个通道的编码器操作在完整输入x上,而不是之前通道的潜在空间残差。这种设计解耦了各通道的投影,使得分析路径成为一个DAG,所有潜在通道都可以并行编码,在推理时编码器可以折叠为步长卷积,没有任何递归或量化器链。

核心方法

FRAPPE的整体思路结合了投影追踪回归和残差自编码。直觉上,它逐步添加编码通道,每个新通道都拟合之前通道未能解释的输出残差。通过从粗到细的顺序添加通道(从大补丁、强瓶颈到小补丁、弱瓶颈),潜在通道自动按重要性排序。技术上,FRAPPE由分析变换G_A、熵编码量化器Q和合成变换G_S组成:\hat{x} = G_S \circ Adapt_{p_d} \circ Q \circ \Phi \circ G_A(x)。分析变换分为S个尺度组,每个尺度组携带n_s个补丁大小为p_s的潜在通道;每个通道都是输入x的非重叠补丁的单一学习线性投影。训练时,每个通道通过最小化残差误差加权和率项来拟合,使用Log-variance速率代理(来自LiVeAction)。因为同一尺度组内的所有通道共享相同的补丁大小和输入,它们的投影在推理时可以合并为单个步长卷积,这使得编码器极其轻量。

FRAPPE的核心创新在于三个方面:(1) 渐进放松熵瓶颈的残差自编码:通过从粗到细的顺序添加通道,并使用放松的补丁大小和拉格朗日参数λ_m,潜在通道自动按重要性排序,实现零开销变分率;(2) 全输入投影追踪编码:每个通道的编码器操作在完整输入x上,而不是之前通道的潜在残差。训练目标仍然是输出残差r_m,但编码器输入不是r_m-1,这样所有编码器都独立,可以合并为步长卷积;(3) 轻量、可并行化的分析变换:分析路径只包含步长卷积和逐点非线性,每样本成本是闭式的。FRAPPE-Image的分析路径只有5个Conv2d层,每像素约68次操作,远轻于传统的DNN编解码器。与RNN-based编解码器的递归编码器依赖和RVQ编解码器的顺序量化器链不同,FRAPPE的分析路径形成无约束DAG,节点可以流水线或并行评估。

方法步骤详情

FRAPPE的完整工作流程如下:(1) 输入归一化:设x \in R^{C imes T_1 imes \cdots imes T_D}表示归一化到[-1, 1]的信号,C是通道数,D \in {1, 2, 3}是时空维度。(2) 分析变换:G_A将输入分为S个尺度组,尺度组s携带n_s个补丁大小为p_s的潜在通道。每个通道m计算z_m = \Phi(\omega_m^T Patch_{p_m}(x)),其中\omega_m是学习的投影方向,\Phi是压缩非线性,将每个通道限制在有符号8位范围。(3) 量化与熵编码:量化器Q四舍五入到整数,每尺度潜在独立熵编码。FRAPPE-Image使用JPEG-LS,其预测残差服从双几何分布(拉普拉斯分布的离散模拟)。(4) 重建自适应:在重建前,Adapt_{p_d}将每个尺度的网格重采样到公共解码器分辨率p_d。(5) 合成变换:G_S吸收了几乎所有模型参数和FLOPs,将自适应后的潜在重建为\hat{x}。FRAPPE-Image的G_S是固定的ConvNeXt风格残差块堆栈,宽度768,深度12,每个通道计数有不同的快照。训练时,每个通道通过两个阶段:单通道残差阶段拟合(\omega_m, g_m)在 steep cosine ramp的峰值学习率1.5×10^{-5};合并后冻结所有编码器,切换Q为硬四舍五入,只重新训练G_S在峰值学习率5×10^{-4}。

技术新颖性

FRAPPE的技术新颖性体现在多个方面:(1) 投影追踪回归在残差自编码中的应用:这是首次将投影追踪思想系统地用于残差自编码,通过贪心地添加投影方向来拟合输出残差,潜在通道自动按重要性排序,无需显式解相关损失。(2) 全输入vs残差输入的设计选择:传统残差自编码(如Toderici递归压缩器)的编码器消耗前一次重建的残差,必须在编码循环中评估解码器。FRAPPE的编码器操作在完整输入x上,只是训练目标仍然是输出残差r_m。这解耦了各通道的投影,使得所有编码器可以并行评估。(3) 单权重集变分率:通过通道重要性排序,只需保留前n个通道并选择匹配的合并解码器快照即可实现变分率,无需额外的比例选择模块、微调或编码器重运行。这需要存储每个支持通道计数n的合并解码器快照(FRAPPE-Image中为21个快照),但编码器权重在所有快照中位相同。(4) 极致轻量编码器:分析路径在推理时只是S个Conv2d层加逐点压缩和量化。FRAPPE-Image的分析路径每像素约68次操作,甚至最细尺度(n_s=3, p_s=2)只增加约3次操作/像素。这使得实时1080p、30fps纯CPU编码成为可能。(5) 学习到的类色度子采样表示:当在sRGB输入上训练时,FRAPPE-Image在无监督下学习了类似于YCoCg颜色空间的表示,包括亮度、橙-色度和绿-色度分量。这说明投影追踪能够自动发现类似于传统信号处理的特征。

Consolidated encoder weights of FRAPPE-Image, one row per scale group
Fig. 1: Consolidated encoder weights of FRAPPE-Image, one row per scale group
Progressive reconstructions of kodim22 as the transmitted channel count n is varied
Fig. 2: Progressive reconstructions of kodim22 as the transmitted channel count n is varied

实验结果

FRAPPE-Image在Kodak数据集上的实验结果展示了显著的率-失真-复杂度优势。在0.1 bpp左右的高压缩比下(压缩比约240:1),FRAPPE-Image在感知质量(DISTS)上优于AVIF,且编码速度快47倍。这个优势延伸到低比特率段:在0.215 bpp以下的每个比特率段,FRAPPE在所有基线中实现了最佳的BD-DISTS。FRAPPE-Image能够实现实时(1080p、30fps)CPU编码,即使在高质量水平(n=20,约31.5 dB PSNR)。相比之下,DCVC-RT(第一个能够实时编码的神经视频编解码器)需要高性能GPU才能达到类似吞吐量,不支持CPU推理。FRAPPE-Image可以实现超过5000:1的极端压缩比,而AVIF和JPEG的最低设置分别只达到352:1和139:1。在固定质量目标21 dB PSNR时,FRAPPE-Image编码速度是JPEG的1.7倍(915 MP/sec vs 544 MP/sec),同时提供22倍更高的压缩比(0.0080 bpp vs 0.173 bpp)。AVIF在同一CPU测试平台上的吞吐量范围仅为1.97到6.04 MP/sec。FRAPPE-Image的编码吞吐量范围在74-168 MPx/s(取决于传输的通道计数),而mbt2018在相同测试平台上仅为0.16-0.17 MPx/s,慢约1000倍。虽然mbt2018在[0.1, 1) bpp段保持+2.2到+4.2 dB的BD-PSNR优势,但这种吞吐量成本使其在非对称、在传感器编码设置中不可行,而这正是FRAPPE的动机。对于固定质量目标21 dB PSNR,FRAPPE-Image编码比JPEG快1.7倍,同时压缩比高22倍。

Rate-distortion and encoding-throughput comparison on Kodak for JPEG, AVIF, mbt2018, WaLLoC, and FRAPPE-Image
Fig. 3: Rate-distortion and encoding-throughput comparison on Kodak for JPEG, AVIF, mbt2018, WaLLoC, and FRAPPE-Image
查看结构化数据
任务指标本文基线提升
高压缩比图像编码(约0.1 bpp) DISTS (感知质量) & 编码吞吐量 DISTS ~6.75, 吞吐量 300.73 MPx/s (n=10, 0.058 bpp) AVIF: DISTS ~7.78, 吞吐量 4.68 MPx/s (q=35, 0.306 bpp); JPEG: DISTS ~4.56, 吞吐量 543.97 MPx/s (q=1, 0.173 bpp) 比AVIF快47倍,DISTS更优;比JPEG压缩比高约3倍,DISTS高48%
极低比特率编码(< 0.0464 bpp) PSNR & 编码吞吐量 PSNR ~21.90 dB, 吞吐量 510.48 MPx/s (n=4, 0.013 bpp) WaLLoC: PSNR ~21.93 dB, 吞吐量 74.02 MPx/s (q=2, 0.020 bpp); LiVeAction: PSNR ~22.98 dB, 吞吐量 1.90 MPx/s (q=4, 0.034 bpp) 比WaLLoC快约7倍,压缩比高约33%;比LiVeAction快约269倍
低比特率编码([0.0464, 0.1) bpp) BD-DISTS 基线(0 BD-DISTS) AVIF: -0.39 dB; WaLLoC: -0.79 dB; LiVeAction: -0.83 dB; MCUCoder: -2.03 dB BD-DISTS比AVIF高0.39 dB,比MCUCoder高2.03 dB
中等比特率编码([0.1, 0.215) bpp) BD-DISTS 基线(0 BD-DISTS) AVIF: -0.30 dB; JPEG: -3.72 dB; WaLLoC: -0.54 dB; LiVeAction: -0.69 dB; MCUCoder: -1.85 dB BD-DISTS比AVIF高0.30 dB,比JPEG高3.72 dB
极端压缩比 最大压缩比 超过5000:1 (n=1, 0.004 bpp) AVIF: 352:1; JPEG: 139:1 比AVIF高约14倍,比JPEG高约36倍
固定质量编码(21 dB PSNR) 编码速度 & 压缩比 915 MPx/s, CR=5436:1 (0.0044 bpp) JPEG: 544 MPx/s, CR=139:1 (0.173 bpp) 速度快1.7倍,压缩比高22倍
与MCUCoder对比(低比特率) BD-PSNR 基线(0 dB) MCUCoder: -3.10到-4.30 dB(取决于比特率段) BD-PSNR比MCUCoder高3.1到4.3 dB

局限与改进

作者承认的局限性包括:(1) 框架适用于具有任意通道计数的1D、2D或3D信号,但实验仅覆盖RGB图像;音频、高光谱图像、视频和3D体积的实例化是明显的扩展方向。(2) FRAPPE-Image故意偏向低比特率、感知质量操作点和编码端资源预算;在中等-高比特率,传统对称编解码器和具有更重分析变换的学习基线在PSNR/SSIM上保持率-失真优势。(3) 实验不包括超先验、自回归或近期变分率学习编解码器(如条件、提示调优或量化器调优方法)的头部对比。(4) 变分率操作通过存储每个支持通道计数n的合并解码器快照(FRAPPE-Image中为21个快照)来实现,这是一个可观的存储和部署负担。此外,我自己观察到:(1) 编码器非常轻量,但解码器仍然较重(ConvNeXt块堆栈,宽度768,深度12),这意味着云端解码器仍然需要可观计算资源。(2) 在高比特率(> 0.215 bpp),FRAPPE在PSNR/SSIM上不如mbt2018和AVIF,说明在高质量场景下传统方法仍有优势。(3) 熵编码阶段(JPEG-LS)虽然CPU友好但相对简单,使用学习或每图像熵模型可能能在中等比特率下缩小部分率差距,而无需改变编码器。(4) 训练需要两个阶段(单通道残差拟合+合并解码器重训练),且每通道的epoch计数从粗到细递增,这使得训练过程相对复杂。

独立分析的弱点

FRAPPE的独立弱点分析:(1) 高比特率性能不足:在> 0.215 bpp时,FRAPPE在PSNR/SSIM上不如mbt2018(+2.2到+4.2 dB BD-PSNR优势)和AVIF。改进方向:引入超先验或自回归上下文模型以提高在高比特率的率-失真性能;探索更复杂的合成变换架构。(2) 多解码器快照存储负担:变分率操作需要为每个支持通道计数n存储解码器快照(FRAPPE-Image中为21个快照),增加存储和部署复杂度。改进方向:训练单个解码器,使用随机通道dropout来处理任意通道子集;探索条件解码器架构,将通道计数作为输入。(3) 熵编码过于简单:使用JPEG-LS虽然CPU友好,但每图像学习熵模型可能提高效率。改进方向:引入学习熵模型,如超先验或自回归模型,但需要权衡CPU编码成本;探索轻量级上下文建模技术。(4) 训练复杂度:两阶段训练(单通道残差拟合+合并解码器重训练)和每通道epoch计数递增使得训练复杂。改进方向:探索端到端联合训练策略;使用课程学习自动化epoch调度。(5) 解码器相对较重:虽然编码器很轻量(约68 ops/pixel),但解码器仍然是ConvNeXt块堆栈(宽度768,深度12),需要可观计算。改进方向:在保持质量的前提下探索更轻的解码器架构;考虑解码器知识蒸馏。(6) 仅评估RGB图像:框架理论上适用于1D、2D、3D信号,但实验仅覆盖RGB图像。改进方向:扩展到音频(使用FLAC作为熵编码);视频压缩;高光谱图像;3D体积数据。

未来方向

作者提出的未来工作包括:(1) 框架扩展到其他信号类型:音频、高光谱图像、视频和3D体积的实例化。音频可以直接使用FLAC作为1D信号的熵编码。(2) 更广泛的数据集和分辨率:Tecnick、CLIC数据集,更高分辨率实验。(3) 更全面的基线对比:libaom-av1与调优的速度预设,超先验、自回归或近期变分率学习编解码器的头部对比。(4) 架构消融:compander、ρ、λ_m调度的消融研究。(5) 单解码器训练:训练单个解码器,使用随机通道dropout来处理任意通道子集,减少存储负担。(6) 改进熵编码:在学习或每图像熵模型内替换简单的JPEG-LS,可以在中等比特率下关闭部分率差距,而无需更改编码器。基于成果可延伸的方向包括:(1) 云端-边缘协同部署:利用FRAPPE的非对称特性,设计更完整的云端-边缘协同系统,包括动态码率调整、多任务卸载等。(2) 多模态压缩:扩展到多模态数据(如RGB-D、RGB-IR),探索联合表示学习。(3) 硬件加速:虽然编码器已经很轻量,但可以进一步优化为专用硬件加速器或NPU内核。(4) 自适应码率控制:根据网络状况动态调整传输通道计数,实现真正的自适应流媒体。(5) 渐进式传输和显示:利用通道重要性排序特性,实现渐进式图像加载和显示,提升用户体验。(6) 质量感知编码:结合人类视觉系统特性,优化通道配置以获得更好的感知质量。

复现评估

复现性评估:代码和预训练模型已在GitHub开源(https://github.com/UT-SysML/FRAPPE),这大大降低了复现门槛。训练使用LSDIR数据集(大规模图像恢复数据集),Kodak数据集用于验证,这两个数据集都是公开可用的。训练配置详细说明,包括Adan优化器、batch size 1、两阶段训练策略、每通道epoch计数递增(单通道2→7,合并解码器4→7)、峰值学习率(单通道1.5×10^{-5},合并解码器5×10^{-4})和cosine ramp调度。FRAPPE-Image的完整架构和配置也已提供:S=5个尺度组,(n_s, p_s) = (3, 32), (6, 16), (3, 8), (6, 4), (3, 2),共N=21个潜在通道,p_d=8。解码器是ConvNeXt风格残失块堆栈,宽度768,深度12。评估在AMD EPYC 9354 CPU上进行,所有CPU编码使用torch.set_num_threads(1),吞吐量是单线程的。这种方法与论文报告一致,确保了公平对比。率-失真指标使用原始Kodak分辨率(768×512或512×768),编码器吞吐量在512×512中心裁剪上测量。论文还详细说明了评估管道的选择,包括吞吐量vs率-失真输入形状、单线程CPU、mbt2018的似然vs真实比特流问题、WaLLoC的变分率实现等。这些详细信息使得其他研究者能够准确复现实验。总的来说,FRAPPE的复现性良好,代码、数据、配置和评估细节都公开且详细。主要挑战可能在于LSDIR数据集的大小(需要存储和训练时间)和两阶段训练的复杂性。