这是一篇入围CVPR 2026 Best Paper 决赛圈的论文(15 out of 16,092 submissions)。MagicBokeh 是一种专为高倍变焦虚化渲染而设计的统一方法。

随着手机摄影的普及,大家对“大光圈虚化”的追求越来越高。但在高倍数码变焦下,照片往往会因为分辨率下降和噪声增加,导致虚化边缘毛糙、质感全无。为了解决这一痛点,来自 vivo 、中国科学院深圳先进技术研究院以及深圳理工大学的研究者们共同提出了一种名为 MagicBokeh 的统一扩散框架。它不仅能让模糊的长焦照片变清晰,还能同步渲染出媲美单反的自然虚化。

- 论文地址: https://arxiv.org/abs/2605.07429
- 代码仓库: https://github.com/vivoCameraResearch/MagicBokeh (已开源)
- 录用情况: CVPR 2026 Oral
- 机构: 中国科学院深圳先进技术研究院、vivo 、深圳理工大学
![]()
MagicBokeh 效果展示
为什么高倍变焦的虚化这么难?
在日常使用手机拍摄远景时,高倍数码变焦(High Digital Zoom)不可避免地会带来画质退化。现有的虚化渲染方法大多假设输入的是一张高质量的全焦图像。一旦输入图本身就带有噪声或边缘模糊,虚化算法就会“翻车”:要么是主体边缘抠不准,要么是背景虚化得不自然。
传统的解决思路通常是“两阶段”:先用超分算法(Real-ISR)把图变清晰,再丢给虚化算法。但这种做法有两个致命伤:一是效率低,两个模型各跑一遍,手机发热受不了;二是误差累积,超分阶段产生的一点点伪影,在虚化阶段会被无限放大,导致画面看起来非常“假”。
![]()
两阶段与单阶段对比
近年来出现了一些可实现超分与虚化统一在一个模型的图像恢复方法,如 NeurlPS 2025 的InstructRestore(https://arxiv.org/abs/2503.24357)。如上图所示,本文介绍的 MagicBokeh 是实现这一目标的“专门模型”:将超分与虚化整合进一个统一的扩散模型框架中,实现真正的单阶段、高效率渲染。
MagicBokeh 的技术奥秘
要在一个模型里同时完成“变清晰(超分)”和“变模糊(虚化)”这两件截然相反的事,其实非常困难。作者在 MagicBokeh 中引入了几个核心设计:
1. 单步高质量特征提取
为了保证在移动端跑得动,MagicBokeh 基于 Stable Diffusion 2.1 进行了深度“瘦身”。研究团队通过块剪枝(Block Pruning)去掉了 U-Net 中冗余的中间模块和交叉注意力层,并利用低秩自适应(Low-Rank Adaptation, LoRA)技术来微调模型。这使得模型能够直接接收低质量图像作为输入,并在单步推理中提取出高质量的特征。
2. 交替训练策略(Alternative Training Strategy)
这是解决任务冲突的关键。如果强行让模型同时学习超分和虚化,效果往往会打折扣。作者提出了一种交替训练的方法:
- 虚化训练阶段:固定超分模块,专门训练 ControlNet 和虚化 LoRA,让模型学会根据焦散图(Defocus Map)渲染背景。
- 超分训练阶段:输入全焦图像对,专门训练超分 LoRA,强化模型对主体细节的还原能力。
这种“左右互搏”后的融合,让模型在面对复杂场景时依然能保持清醒。
![]()
MagicBokeh 框架图
3. 焦点感知掩码注意力(FAMA)
![image.png]()
4. 退化感知深度估计(DA depth)
虚化效果好不好,深度图是基础。但在变焦后的图上,常规深度模型往往会失效。MagicBokeh 引入了一个退化感知深度模块,通过特征蒸馏的方式,让模型在面对低质量输入时,依然能提取出接近高质量图像的深度特征,从而生成精准的焦散图。
实验结果:速度与质感的双重飞跃
在 EBB400-LQ 基准数据集上,MagicBokeh 展现出了显著的优势。
- 性能指标:MagicBokeh 的 PSNR 达到了 24.23,SSIM 达到 0.8623,全面超越了 OSEDiff 或 S3Diff 与各种虚化算法的组合。
- 推理速度:这是更值得一提的,在 L40s GPU 上,处理一张 512x512 的图片仅需 0.1062s。
![]()
定量对比表
在视觉对比中(见下图),可以看到 MagicBokeh 生成的图像在主体细节上更清晰,而背景的虚化光斑更接近真实的光学效果,没有明显的抠图感或边缘伪影。
![]()
视觉对比图
更有意思的是,MagicBokeh 还具备极佳的通用性。由于它是基于扩散模型构建的,它甚至可以实现“先拍照后对焦(Refocusing)”。用户可以在拍摄后随意更改对焦点,模型能平滑地调整画面的虚实分布。
![]()
重对焦应用
写在最后
MagicBokeh 的出现,为移动摄影中的长焦虚化难题提供了一个非常实用的解法。它不再纠结于如何修补两阶段流程的漏洞,而是通过统一的扩散框架,从底层逻辑上把超分和虚化结合在了一起。
目前该项目的代码和模型已经开源。
![]()