智能客服
你问我答,随时在线为你解决问题
随着显示设备的分辨率逐步提高,尤其是移动终端视网膜屏幕的广泛应用,人们对高分辨率、高质量图像的需求越来越突出。但是,因为网络流量、存储、图片源等诸多原因,我们往往无法得到高分辨率的图像,或者因为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消耗更小,能够有效减小应用程序尺寸,让应用更轻便。
图像超分辨率可能的应用场景包括但不限于:
请参见支持的终端设备。
请参见支持的地区。
功能 |
使用限制说明 |
|---|---|
应用程序位数限制 |
华为图像超分辨率接口当前仅支持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 |