图像超分实践

最近更新时间:2023-06-28 10:04:12

我的收藏

图像超分技术介绍

图像超分技术是一种通过使用深度学习算法,将低分辨率图像转换为高分辨率图像的计算机视觉方法。这种技术可以有效地恢复图像中的细节和纹理,提高图像质量,使图像看起来更加清晰。超分技术广泛应用于摄影、视频处理、医疗成像等领域,提高了视觉效果和信息的准确性。
腾讯云数据万象图像服务将图片放大为原图的 2 倍,支持PNG、JPEG、BMP等图片格式,支持多种超分模型,可以根据业务需要选择最适合的超分模型,达到最佳的效果。接口格式可以查看 数据万象图像超分 文档。


应用场景

图像超分可以应用于很多场景,只要需要提高图像清晰度和质量的场景都可以考虑使用图像超分技术。
电商领域:展示清晰的产品图片可以提升用户购买意愿;
医疗行业:高清晰度的医学影像可以帮助医生更准确地诊断病情;
智能城市建设:高清晰度的监控画面可以提高安全性。


使用方式

数据万象图像超分有多种使用方式,开发者可根据业务场景选用:
使用方式
适用场景
下载时,处理桶里的图片
图片在 COS 桶中,需要调用 API 实时处理
下载时,处理第三方 Url
图片不在 COS 桶中,需要调用 API 实时处理
上传时,处理图片并转存到 COS
图片上传时进行超分处理,并将结果存储在 COS,需要调用 API 主动触发
云上处理,处理并转存到 COS
图片在 COS 桶中,希望处理后将结果也存储在 COS中
以下通过示例和操作指引,具体介绍这几种使用方式:


下载时,处理桶里的图片

在控制台复制文件地址,链接加上 Url 参数 ?ci-process=AISuperResolution,在浏览器访问能看到图片放大为原图的2倍,细节也更清晰。访问链接的 ci-process参数需要加入签名计算里。 示例如下:
http://examples-1251000004.cos.ap-shanghai.myqcloud.com/sample.jpeg?ci-process=AISuperResolution&q-ak=xxx&...&q-signature=xxx


下载时,处理第三方 Url

存储桶域名根链接加上图像超分参数和第三方 Url 参数 /?ci-process=AISuperResolution&detect-url=<detect-url> 其中 ci-processdetect-url参数需要加入签名计算里。
示例如下:
http://examples-1251000004.cos.ap-shanghai.myqcloud.com/?ci-process=AISuperResolution&detect-url=http%3A%2F%2Fexamples-1251000004.cos.ap-shanghai.myqcloud.com%2Fsample.jpeg&q-ak=xxx&...&q-signature=xxx


上传时,处理并转存到COS

上传时处理,上传图片到存储桶时 Header加上 Pic-Operations 参数,实现图像超分处理并将处理后的图片存储到 COS。参数格式例子: Pic-Operations: {"is_pic_info":1,"rules": [{"fileid": "xxx.super.jpg","rule": "ci-process=AISuperResolution"}]}
可以调用熟悉语言的 COS SDK 做文件上传时处理,以 Nodejs 为例上传时处理示例如下:
cos.putObject({
Bucket: 'examplebucket-1250000000',
Region: 'COS_REGION',
Key: 'img/1.jpg',
Body: file,
Headers: {
// 指定 rule 为图像超分处理,处理后另存为 img/1.super.jpg
'Pic-Operations': '{"is_pic_info":1,"rules": [{"fileid": "img/1.super.jpg","rule": "ci-process=AISuperResolution"}]}',
},
}, function (err, data) {
console.log(err || data);
});


云上处理,处理并转存到COS

原图已经在存储桶里,可以调用云上处理 API 对原图做图像超分处理,转存为另一个图片。
调用云上处理时 Header 加上 Pic-Operations 参数。参数格式例子: Pic-Operations: {"is_pic_info":1,"rules": [{"fileid": "xxx.super.jpg","rule": "ci-process=AISuperResolution"}]}
可以调用熟悉语言的 COS SDK 做文件上传时处理,以 Nodejs 为例上传时处理示例如下:
cos.request({
Bucket: 'examplebucket-1250000000',
Region: 'COS_REGION',
Key: 'img/1.jpg',
Method: 'POST',
Action: 'image_process',
Headers: {
// 通过 AISuperResolution 接口使用图像超分功能,对已有的文件 img/1.jpg 处理为 img/1.super.jpg
'Pic-Operations': '{"rules": [{"fileid": "img/1.super.jpg", "rule": "ci-process=AISuperResolution"}]}',
},
}, function (err, data) {
console.log(err || data);
});


Demo体验

1. 下载 代码示例 到本地,修改 server/app.js 里 config 的参数,指定密钥、存储桶信息。
2. 安装 nodejs,cos-demo 目录下执行 npm i 安装依赖,并执行 npm run dev 启动调试服务器,在浏览器访问 http://127.0.0.1:3000/image-super-resolution 。
3. 在页面上点击上传文件,体验示例。
说明:
1. 体验demo,需要到腾讯云 COS控制台 创建存储桶,并进入存储桶详情->数据处理->图片处理开启数据万象并绑定当前存储桶。
2. 密钥可前往腾讯云 CAM控制台 获取。
demo效果如下:





费用相关

图像超分根据图片处理次数收费,费用参考 计费说明