文档管理中心
指南HUAWEI HiAI Engine图片识别图像超分辨率业务介绍

业务介绍

业务简介

随着显示设备的分辨率逐步提高,尤其是移动终端视网膜屏幕的广泛应用,人们对高分辨率、高质量图像的需求越来越突出。但是,因为网络流量、存储、图片源等诸多原因,我们往往无法得到高分辨率的图像,或者因为JPEG压缩,导致图像质量显著降低。

对于分辨率不足的问题,传统的解决方案是使用双线性或双三次立方插值的方法来放大图像。对于JPEG压缩噪声的问题,传统的解决方案则是使用各种平滑、去噪。而近年来,随着人工智能尤其是深度学习在计算机视觉中的广泛应用,人们开始探索使用智能的方法来解决这两个问题,以克服传统放大的诸多弊端,这个功能即为超分辨率,简称“超分”。

这里的超分具体是指单张图片空域超分辨率(SISR:Signle Image Super-Resolution),即给定单一一张图片,使用智能方法将其放大,令其分辨率更高,得到比传统放大更加清晰的细节纹理。或者在分辨率不变的情况下,去除压缩噪声,获得更加锐利、干净的图片。业界常用的放大倍数为2x、3x和4x放大,具体是指长宽各放大2、3、4倍,对应像素数放大4、9、16倍。华为超分辨率基于深度神经网络,依托硬件的神经网络加速器,提供了适用于移动终端的1x和3x的超分能力。1x超分去除压缩噪声,3x超分在有效抑制压缩噪声的同时,提供3倍(边长)放大能力。

图像超分辨率是基于深度学习在计算机视觉中的广泛应用,将图片进行智能放大,或者在分别率不变的情况下,去除压缩噪声,获得比传统图像处理更加清晰、锐利、干净的照片。该算法基于深度神经网络,依托华为手机NPU芯片,相比于纯CPU计算,速度提升近50倍。API内置于华为手机中,其附加ROM、RAM消耗更小,能够有效减小应用程序尺寸,让应用更轻便。

场景介绍

图像超分辨率可能的应用场景包括但不限于:

  • 抑制压缩噪声1x的超分辨率用于提升高压缩率JPEG图片的画质,因为它可以有效去除JPEG的压缩噪声,对于无法找到更加清晰图片源的图片,这是一个有效的解决方案。
  • 节省存储和流量:作为图片资源的提供方,我们还可以人为加大JPEG图片的压缩率(主动降低画质),将高压缩率的图片存储,并在网上传送。图片传送到终端后,再使用1x超分辨率提升画质,我们就可以在更少的画质损失前提下,进一步压缩图片,节省存储空间,减小流量。类似于1x超分的应用,我们可以先将图片缩小3倍存储、传输,到达目的地后再用3x超分智能放大,也可以节省很多存储空间和网络流量。
  • 高质量放大图片3x的超分辨率不仅能将图片放大3倍(每边各3倍),得到比传统放大更清晰的细节,还能有效抑制原图片中的JPEG压缩噪声,面对越来越高的手机屏幕分辨率,这将大大改善小图片放大浏览时的体验。

功能特点

  • 高速度该算法基于深度神经网络,依托华为手机的NPU芯片,对最大800x600的图片进行超分时,仅需不到600毫秒的时间。相比于纯CPU计算,计算速度提升近50倍。
  • 高画质华为超分辨率解决方案,基于深度神经网络技术,能在超分的同时,智能识别、抑制图片中的压缩噪声,更加贴近实际应用。
  • 超轻便华为超分辨率API的附加ROM、RAM消耗非常小,且内置于华为手机中,有效减小应用程序尺寸的同时,令开发者更加专注于应用本身的开发,利用华为的智能能力打造更加有趣的应用。

接口约束

支持的终端设备

请参见支持的终端设备

支持的地区

请参见支持的地区

功能使用限制

展开

功能

使用限制说明

应用程序位数限制

华为图像超分辨率接口当前仅支持64位应用程序调用。

支持的超分类型

华为超分暂时支持1x和3x两种超分,1x超分用于抑制图片中的压缩噪声;3x超分用于将图片放大3倍(边长),同时,识别并抑制其压缩噪声。

支持的超分质量

华为超分暂时不支持超分质量设置,上述接口仅作为将来扩展之用。现在无论设置何种超分质量,都返回最高质量的超分。

多线程调用

华为超分接口支持多线程调用,但是因为硬件NPU只有一个,所以程序会将这些任务排队,依次处理。

返回值的使用

请先判断并妥善处理doSuperResolution函数返回的结果码,结果码正确时,接下来的处理才有必要。同步模式下超分图片通过doSuperResolution函数的result参数返回,进而可用getBitmap()函数获得;异步模式下,程序通过回调,将ImageResult传回。

另外,华为超分不处理RGBA图片中的A通道,这个通道会被置为255(即0xFF)。

请参见日志获取更多细节。

输入图片限制

当使用低于10.1版本的API进行开发,或者华为AI引擎的版本低于10.0,或超分插件的版本低于10.1时,华为1x和3x超分支持的最大图片尺寸为:较长一边的像素数应大于0且小于等于800,较短一边的像素数应大于0且小于等于600,不限制纵横比。一个典型的例子是:800x600的尺寸和600x800的尺寸都是支持的。

当使用不低于10.1版本的API进行开发,且华为AI引擎的版本不低于10.0,且超分插件的版本不低于10.1时,华为1x超分支持的最大图片尺寸为:较长一边的像素数应大于0且小于等于1920,较短一边的像素数应大于0且小于等于1080,不限制纵横比。一个典型的例子是:1920x1080的尺寸和1080x1920的尺寸都是支持的。

当使用不低于10.1版本的API进行开发,且华为AI引擎的版本不低于10.0,且超分插件的版本不低于10.1时,华为3x超分支持的最大图片尺寸为:较长一边的像素数应大于0且小于等于1024,较短一边的像素数应大于0且小于等于768,不限制纵横比。一个典型的例子是:1024x768的尺寸和768x1024的尺寸都是支持的。

详细配套关系和图片尺寸限制可参见下表。

配套关系和图片尺寸限制如下表所示:

展开

API版本

引擎版本

插件版本

长边最大限制(像素)

短边最大限制(像素)

8.1、9.x

8.1、9.x

不涉及

800

600

10.0

10.0/10.1

800

600

10.1

10.1

800

600

10.0

8.1、9.x

不涉及

800

600

10.0

10.0/10.1

800

600

10.1

10.1

800

600

10.1

8.1、9.x

不涉及

800

600

10.0

10.0

800

600

10.0

10.1

1x:1920

3x:1024

1x:1080

3x:768

10.1

10.1

1x:1920

3x:1024

1x:1080

3x:768

在 指南 中进行搜索
请输入您想要搜索的关键词