让模糊图片变清晰|滴滴云带你从零开始训练图像超分辨模型
「继CCF名企面对面第一季滴滴专场成功举办后,CCF名企面对面第二季在7月24日再次走进滴滴。来自滴滴出行的三位技术专家王琤、朱中涛和鲁健捷与大家分享了滴滴云计算服务体系,领先的AI能力和AI工程落地经验,并现场带领大家在滴滴云机器学习工作室(DAI平台)上从零开始训练一个图像超分辨模型。要是错过直播的话也不要担心,本文将带你回顾训练一个图像超分辨模型的全过程。DAI平台为大家免费开放至8月3日,大家可以在此之前免费参与实践。文末还有完整回放地址,一起来看下吧!」
使用前准备
在使用前首先完成注册:
(1)
(2)
(3)获得白名单认证,请联络滴滴云线上客服。
*API直达链接:
https://www.didiyun.com/cmarket/api-cmarket-detail.html?uuid=816ffe616c235217b9d61e49ad198475
*购买服务后会在后台的控制台看到App Code,有了App Code就可以使用图像超分辨API服务
使用示例
我们以一张风景图(尺寸1000 × 605)为例,来展示如何在滴滴云上“无损地”放大这张图片。
Python 代码示例如下:
import base64
import json
import matplotlib.pyplot as plt
import numpy as np
import requests
from io import BytesIO
from PIL import Image
# 打开一张图片,并转为base64编码
with open("/Users/didi/Downloads/230107657_medium.jpg", "rb") as image_file:
img_base64 = base64.b64encode(image_file.read())
url = 'https://aiapi-isr.apigw-gz.didiyunapi.com/isr'
# 订阅API服务后,将XXX改成自己的App Code
access_token = 'XXX'
H = {'Authorization': 'AppCode ' + access_token, 'Content-Type': 'application/json'}
# scale 为放大倍数,支持2,3,4,需要保证放大后图像尺寸不超过3200x3200
s = json.dumps({'image': str(img_base64, 'utf-8'), 'scale': 3})
r = requests.post(url, headers=H, data=s)
try:
result = json.loads(r.text)
except:
print(r.text)
if 'image' in result.keys():
img_dec = base64.b64decode(result['image'])
img = Image.open(BytesIO(img_dec))
# 把放大后的图片保存到本地
img.save('/Users/didi/Downloads/result.png')
plt.imshow(np.array(img))
else:
print(r.text)
现在我们聚焦红框区域,来对比图像超分辨处理前后的变化:
原始图像:
BICUBIC 上采样处理的结果:
图像超分辨API处理结果:
可以看到经过我们图像超分辨API处理后的图像细节更丰富,视觉效果改善更明显。实际使用中,输入图像纹理越丰富,图像超分辨处理效果越好。
*更多API使用说明请参考:
https://docs.didiyun.com/static/apimarket-docs/services/AI/图像超分辨/使用说明.html
*滴滴云DAI将为大家免费开放至8月3日,大家可以在这之前使用滴滴云DAI进行实践
滴滴云AI大师招募
为了更好的服务使用滴滴云平台的用户,滴滴云推出AI大师计划,旨在帮助更多的人使用更加稳定、优质的计算资源:扫描下方二维码
添加滴滴云小助手为好友,
回复“AI大师”
了解更多滴滴云AI大师相关资讯!
视频观看
欢迎大家复制网址
https://www.bilibili.com/video/BV1kK411J7wv至浏览器,
或扫描下方二维码,收看直播精彩回放。
满满干货,不容错过。
推荐阅读