一、背景
随着移动设备的普及,基于移动端的内容生产和消费变得越来越容易。百度 App 作为内容分发平台,承载着大量来自 PGC 和 UGC 贡献的图文和视频内容。在 2K 手机屏幕分辨率已是主流的当下,人们对观看高清晰度的资源的诉求也变得理所当然。图片和视频的采集、传输和存储受限于各种因素,难免会有一些清晰度和分辨率相对较差的资源存在,这就势必会影响到用户的观看体验。百度 App 联合百度视觉技术部团队,通过基于深度学习的实时超分辨率重建技术来提升端图片和视频显示效果。
二、如何提升分辨率
通常意义所说的图像、影像的分辨率是代表物理场景在成像平面上单位面积的像素多少,是反应图像细节的分辨能力的一个指标。它可用来描述图像的清晰度,分辨率越高,可呈现细节越多,所承载的像素值越精确,在同等显示硬件下,往往可以获得更好的观赏体验,这意味着更好的图片质量,同时资源文件也会更大。
超分辨率可以理解为是基于现有图片像素内容来创建更多像素的过程。
传统提升图像分辨率的方式诸如插值法等,是依据固定规则来计算增加像素的值。往往会有马赛克、锯齿和边缘模糊等各种问题。
近年来,得益于深度学习技术的不断发展,诸如卷积神经网络借鉴了人类视觉系统感知图形图像的方法,通过对图像特征的提取和学习来完成重建,可达到更好更稳定的重建效果。
三、百度 App 超分重建模型
超分重建模型是基于 VDSR 的残差学习网络框架,通过模型剪裁和使用 Depthwise Separable Convolution 等方法对模型计算进行提速。模型输入为已经经过算法上采样至目标分辨率的 Y 通道,支持可变输入。
四、移动端实时超分辨率的难度与挑战
五、移动端实时超分的策略与优化
应用层优化:
1.图像超分内存:针对超大图像,通过将原始图片切块,分队列多实例并行超分,动态约束预测时内存的占用峰值。
2.视频超分实时性:由策略模块提供极限超分和安全帧率超分的播放稳定性保障。
3.计算资源调度:将部分基于 CPU 的前后处理迁移成 GPU 算子,前后处理和预测由 GPU 统一处理。
推理引擎优化:
优化成果:
1. 图片 &视频超分预测耗时,优化至原耗时的 50%以下。Batch 能力:iOS 可优化至 CoreML 耗时的 1/4。480p 预测速度:iPhone XR 为 25ms;安卓骁龙 845 机型为 23ms。
2. 图片 &视频超分 GPU 材质内存占用,降低至 50%以下。
六、业务应用与效果比对
图像超分与视频超分均已在百度多个移动端产品应用落地。每日有千万级的图片、视频经过端超分重建处理后,向用户展示和播放。全流程无 Server 干预,同时减轻了低频资源在 Server 端重建时的计算、存储和带宽占用。
七、端到端接入方案
百度 App 将于近日开放视频超分能力,敬请期待。
八、参考文献
https://en.wikipedia.org/wiki/Image_resolution
https://arxiv.org/abs/1511.04587
头图:Unsplash
来源:百度 App 技术 - 微信公众号 [ID:gh_59f5931152fe]
转载:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
评论