本博客由Alex Shang, Yabin Zheng, Mary Bennion和 Alex Avramenko撰写
背景
高分辨率已经在消费类电子行业中广泛普及,为消费者提供更好娱乐体验。 家用电视可以达到4K分辨率,而高级电话现在有2K屏幕。 但是,市面上仍然有很多内容保持着标准清晰度(480p):电影,纪录片,电视新闻频道和社交媒体上的图片。
传统方法vs 基于AI的方法
传统上,设备使用插值方法来放大图像。 当使用固定的公式为图像添加新像素时,对图像的原始内容了解并不多。这样会导致放大后的图像出现视觉伪像,损失清晰度或纹理细节。
随着人工智能的出现,使用深度学习的超分辨率图像可以在理解更多图像潜在特征的同时获得更好的美学效果。这种优势在4K和8K屏幕等更高分辨率中更为突出。
请看以下对比图:
图1:传统插值方法
图2:基于AI的超分辨率方法
在边缘部署超分辨率的问题
电视制造商一直在追求超分辨率,但是由于一些问题,实现超分辨率的可行性值得怀疑。 首先,由于实现超分辨率所需的计算能力巨大,因此需要在大型服务器环境才能完成。你可能会听说“在边缘设备上实现4K超分辨率需要30 TOPS NPU”。 确实,在独立式设备中应用超分辨率需要强大的芯片作为支撑。其次,人们对于需要多少内存带宽以及在边缘实现的可行性几乎一无所知。第三,成本是一个巨大的挑战。一些用例使用ASIC来实现AI超分辨率,这样可以提供在实时视频流上运行超分辨率的足够性能,但是这样的硅片会很大导致成本很高。
Arm与Imperial Vision Technology(IVT)合作在边缘实现超分辨率
IVT和Arm已合作优化了IVT的超分辨率算法,使其可以在Arm Ethos N77和N78 NPU上运行,从而达到市场上的最佳性能。
图3: Arm Ethos-N78
Arm和合作伙伴通过“ IP级别”的优化在合作中创造价值。 不幸的是,在许多情况下,算法开发人员需要花费大量时间和工程周期来适应特定的芯片。 每当硬件更换时,他们则需要重新投资大量时间来适应新的架构。 解决此问题的最佳方法是在“ IP级别”研究算法。 当算法开发人员使用Arm IP时,可以将先前的工作应用于任意Arm IP目标,这样可以从充分的灵活性中收益。 从而大大减少了总体开发的时间和精力,使项目可以被更快地推向市场。
图4:基于AI的视频还原和增强流程图
在这次合作中,首先需要确保所有计算都在NPU上进行。 否则,如果运算被分开操作而不是在CPU或GPU上运行会导致性能下降。 其次,需要在NPU上实时运行超分辨率模型。这个步骤包括模型校正,模型调节,推理优化,数据压缩,数据流管理,数据I / O利用率和计算利用率。第三,我们通过在NPU上修改运算和模型来改善了超分辨率模型的视觉性能。 由于SR模型在int8的NPU上运行,所以此步骤包括训练不同内容的大型数据库并补偿量化损失。 最后,迭代使用前面的所有步骤来提高性能。
通过使用分析工具和开发板,我们达到了超分辨率的目标并以出色的VMAF分数达到了所需的性能。 因此,Arm NPU可以支持从720p或1080p到4K的实时超分辨率。 我们希望Arm与IVT之间的合作以及分析结果有助于为DTV,STB和移动SoC定义芯片组的规范。
如有任何疑问,请随时在arm.com联系alex.shang。
作者:Alex Avramenko
翻译:Khorina
原文链接:https://community.arm.com/developer/ip-products/processors/b/ml-ip-blog/posts/super-resolution-on-arm-npu