提示:文章参考BILIBILI视频博主(新石器公园[489640651])。如有侵权请联系。
目录
前言
例如:随着人工智能的不断发展,机器学习也越来越厉害,以致于AI也能帮助人们绘画和写作了,本文就介绍了AI是如何做画的,以及如何对照片进行修复。
一、AI是如何把模糊不清的照片变回4K的呢?
1.AI超分辨率
这就需要用到一种技术,AI超分辨率。如果把256X256的图片放大16倍变为1024X10240。此时每个像素变为了16个,此时图片变得非常马赛克。
最容易想到的办法就是,把相邻两个像素的颜色的值相加一下除以二,然后就会得到一个新颜色,这种算法就叫做插值算法。利用插值算法,我们可以补充很多像素的颜色,让像素过度更自然,但是简单的插值算法就会导致边缘均匀过度,看起来很模糊,很明显,锐利的画面需要更陡峭的过度。
2014年,深度学习算法横空出世,电脑进入了识图时代,CNN神经网络可以提取图片特征,GAN(Generative Adversarial Network)实现了AI作画,现在的AI作画就可以检测边缘了
2.Stable Diffusion
1.扩散现象
潜在扩散模型(Latent Diffusion Model)底层使用的是Diffusion模型,使用扩散现象比如墨水滴入水中逐渐扩散的现象就称之为扩散扩散遵循 郎之万方程 ,法国物理学家 保罗·郎之万 (PaulLangevin)在1908年发现的。
布朗运动粒子平均运动位置离原点距离的平方和时间成正比。
根据郎之万方程我们可以推算墨水粒子在水中上一秒可能出现的位置,这只是在大量粒子运动下计算出来的平均值,每个粒子具体位置还是不知道。这就需要另外一个数学概念了
2.高斯分布
高斯分布也叫正态分布,也就是一个图像,中间高越靠近两边越平缓,如身高统计图,体重
扩散也遵循高斯分布,也就是说一个微粒出现在下一个位置的概率是遵循高斯分布的。
如果时间足够小,就是说,粒子的上一个的位置也是遵循高斯分布的,这意味着从计算上是可逆的,如果我们知道在某一时间点微粒在水中的位置是有可能反推出上一个时间点微粒的位置 ,当然只是有可能,因为高斯分布是统计学上的概念,是一个出现概率,我们不可能确切的直到每一个微粒的位置。
AI就是依靠此算法 训练而来,先在一张图片上添加噪点,也就是图片的色彩根据高斯分布逐渐扩散的过程。一个像素的RGB的值通过高斯分布函数计算生成一个随机数,并将其与原始像素值相加,生成的随机数表示噪声的强度,它的均值为0,标准差决定了噪声的大小。
每计算一次就保留一次当前的图片,直到最后变成一张看不出来的噪点。此时告诉AI这个噪点原来是什么样子,让他把原来的样子画出来 ,也就是让AI把噪点图和之前的图片进行对比,反复尝试,直到收敛成正确的分布,再往前一张继续对比,最终对比来到最初的图片。这就是Diffusion模型作图的过程就是从一堆噪点中反向扩散出一张画。
所以如果给定的一张图是老照片有很多噪点,所以StableDiffusion就可以将噪点去除
得到一张精细的图片。
二、如何修复老电影?
1.破损,污渍,划痕
除了他的训练方式对于去噪点有很好的适应能力外,它本身也是一个AI大模型,也就是说他也经历过大数据的洗礼,以至于他也能了解世间万物的样子,相当于有了很强大的脑补能力,如果图片有什么破损的信息,直接让AI填补完美,但是AI还无法识别,需要人工创造出丢失的信息,对于老电影来说就是污渍,噪点,划痕。为了修复这些特殊情况,要为本来的模型再添加一层小模型,专门针对于污渍,噪点,划痕这些情况进行训练。
2.伪影,污渍,划痕
由于其很强大,以至于会画蛇添足,比如影片中的伪影(多余的手指),纹理,以及闪烁。
为了解决这种问题就需要把模型的边界值调高,训练的概率分布收窄,减少随机性,降低模型创作的自由度,模型就会更稳定
3.光流
电影中的闪烁多因不同帧之间修复的不同造成的,在这种情况下,我们需要把前一帧和后一帧统一考虑进来,这时候每一帧里的光流信息就很重要了,光流,简单来说就是三维世界中不同物体在二维的摄像机平面上不同的运动,通过相对速度的变化可以反推出三维世界中不同物体的远近,角度等信息,帮助建立三维世界中模型。
所以通过不同帧之间的光流信息,我们可以分辨出视频中不同的物理特征,然后通过建模,尽量保持物体在不同帧之间光流信息的统一,这样才能更好的保证视频在不同帧之间平滑的过度。
4.蒸馏算法
但是新的问题又出现了,修复一张画面需要进行多次扩散的迭代,次数越多,效果越好,但是对于视频来说,一秒就是24张,用 蒸馏算法 来减少迭代次数。
知识蒸馏(knowledge distillation)是模型压缩的一种常用的方法,不同于模型压缩中的剪枝和量化,知识蒸馏是通过构建一个轻量化的小模型,利用性能更好的大模型的监督信息,来训练这个小模型,以期达到更好的性能和精度。最早是由Hinton在2015年首次提出并应用在分类任务上面,这个大模型我们称之为teacher(教师模型),小模型我们称之为Student(学生模型)。来自Teacher模型输出的监督信息称之为knowledge(知识),而student学习迁移来自teacher的监督信息的过程称之为Distillation(蒸馏)
这些都是火山引擎的技术人员自己研发出来的,他们还针对清晰度,流畅度,色彩,瑕疵做了很多优化。
清晰度这方面有AI超分和去模糊,单就人像而言,他们就针对人像单独建模,对不同大小的人脸(近景/中景/远景)不同姿态角度的人脸(侧脸/俯视/仰视)不同遮挡程度的人脸都有较好的修复增强效果
流畅度方面,则需要补帧,通过光流信息通过AI在两帧之间创作出一个中间帧,为了防止出错,训练了一个置信度模型,对于置信度不高的就不进行补帧,避免AI在补帧中犯错。
除此之外还有色彩
为了让老电影颜色看起来跟正常,他们把影片按照场景进行了分割,然后针对不同场景训练不同的色彩矩形纠正,针对场景进行色彩纠正,效果就正常多了
总结
毕竟,老电影和录像厅,是很多人难以磨灭的记忆,虽然在回忆中它都已经褪色了,但无疑,它们代表着一代人的色彩鲜亮的青春。为什么我i们喜欢玩老游戏,刷老电影。
因为,新世界(时代)没有能承载我们的船,毕竟不是每个人都有勇气用自己一条胳膊去赌一个新时代,大家都是普通人,差不多就行了,但你已经失去了挑战为止的勇气,只有老游戏和老电影,能给你那份确定的踏实和感动,从这种意义上来说,这些高清还原的电影,不仅仅是为了延续,那个特定年代的电影的生命力,更是一个复原了的时间胶囊,一座青春纪念馆,它通过AI告诉我们,青春可以不褪色。