昨天,一个老北京的视频火了。
究其原理,应该就是深度学习,给视频上色修复,黑白变彩色。
让大家目睹了100年前中国人民的生活。
深度学习、神经网络,大多数人可能也有所耳闻。
不过本次不探讨这些,毕竟我也只是个弱*。
就来盘点一下那些现成的工具吧。
1. Algorithmiaio
外国网站,访问速度还可以,缺点就是生成的图有水印。
点击upload上传本地图片,这里就以100年前的老北京为例。
左侧是原图,右侧是经过着色的图,可以看到效果还不错。
网址:https://demos.algorithmia.com/colorize-photos
2. ColouriseSG
同样也是一个外国网站,缺点是无法上传图片,估摸着需要梯子。
同样左侧是原图,右侧是着色图。
验证码不见了,因为是谷歌的验证码,所以被墙了。
网址:https://colourise.sg/#colorize
3. 百度焕彩
18年的时候,百度出了一款名为「焕彩」的产品,以此来纪念改革开发40周年。
我们相信,技术有温度,更有色彩。希望借助技术的力量,能“唤醒”爷爷奶奶手中的黑白老照片,让每个人看到那个年代最真实的景象。
这个讲的真好,恰恰今天是母亲节,把妈妈的年轻时的黑白照片变成彩色,或许这也是一份不错的礼物。
可惜这个接口已经失效了,上传图片后,并不会返回结果。
网址:http://w.benbun.com/baidu/shangse
4. 百度AI开发平台「黑白图像上色」
这个强烈推荐,20行代码即能搞定黑白照片转彩色。
需要注册成为百度开发者,创建应用,获取API Key和Secret Key。
进而得到access_token,输入黑白图像获取彩色图像的Base64编码。
再将Base64编码字符串转为图片即可。
代码如下。
import base64
import requests
# client_id 为官网获取的AK, client_secret 为官网获取的SK
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=你的AK&client_secret=你的SK'
response = requests.get(host)
if response:
print(response.json())
# 黑白图像上色
request_url = "https://aip.baidubce.com/rest/2.0/image-process/v1/colourize"
# 二进制方式打开图片文件
f = open('test.png', 'rb')
img = base64.b64encode(f.read())
params = {"image":img}
access_token = response.json()['access_token']
request_url = request_url + "?access_token=" + access_token
headers = {'content-type': 'application/x-www-form-urlencoded'}
response = requests.post(request_url, data=params, headers=headers)
if response:
print(response.json())
# base64编码转图片
img = base64.b64decode(response.json()['image'])
file = open('result.jpg', 'wb')
file.write(img)
file.close()
下面展示一下黑白图像。
彩色图像如下,效果真的挺好。
最后,一定要在百度的Ai Studio上努力学习深度学习,希望日后可以自己亲手来实现这一过程。
效果确实惊艳,眼前一亮啊~~
如果作者在国外收集到一些中国的老照片的话,应该还是有些参考意义的。
前一阵网上看到过一些清朝的彩色照片,据说是当时的外国摄影师拍摄的。无法考证
如果用我们能找到的中国的老照片训练模型的话,应该都是六七十年代的蓝裤子照片吧,那个时代的染布技术和经济发展阶段的特色。
我也想,哪个年代衣服能是那种蓝色么?只是训练数据教给模型的吧。如果没有那个年代真正的彩色照片,靠模型是无法复原的
效果不错
技术上色,不能说完全复原
用生成对抗网络做的
想知道它是什么原理
风格迁移上色,插值进行分辨率和帧数的修复。
我也看了那个视频,感觉里面人的衣服的色调都是蓝色。而且视频中颜色抖动比较严重。