本文面向图像处理方向,结构为列举算法、以及其原理、训练所需要的数据、训练注意点,是对当前热门AI算法的一个介绍,暂不包含手把手教程。
其中开发者如果想定制某个算法,可以通过定制算法、训练需要输入数据,来调整自己的模型。非AI开发者可以使用他人已有的模型,图像化的方式直接应用这些AI 算法。
多种AI算法结合
看到蔡徐坤在打篮球,想象出班主任模仿蔡徐坤打篮球的画面
将图片分辨率变得更高
看到一只蚂蚁,脑部蚂蚁变大100倍占领地球
高清图片/视频以及降分辨率处理后的数据
可以直接用高清视频降分辨率喂入
【自行脑部声音 - -】
5s模仿任意一个人的声音,并可以合成这个人说任何词语句子,如高德地图、百度地图中的语音包。
算法分为三个模块:encoder模块、systhesis模块、vocoder模块。
不同人说不同话的声音以及对应文本(得到模型)
添加链接描述
去掉前景、恢复背景,与该算法相对的是抠图算法(去背景,留前景)
先得到三分图
三分图中黑色一定是背景,白色一定是前景,灰色是不确定,通过神经网络训练得到参数尽量减少灰色部分的误差
无数张(背景图片,这个背景下有人物的图片)
得到模型后,使用时输入背景图片,和待抠图图片,得到前景图片
一是“调节网络”(conditioning network):将低清图像与数据库里的高清图像进行对比——快速地将高清图像分辨率降低,并根据像素颜色匹配出相似图像。
二是“优先网络”(prior network):它就会做出哪些细节可以应用到高清图像中的猜想,使用PixelCNN(像素神经网络)向8*8的源图像中增加真实的高清细节,例如鼻孔在同一个地方,那么它就会在位置上还原出一个鼻子。在这个过程中,优先网络其实是收录了大量名人和卧室照片。
人的想象力,看到过大象的完整图像,把大象的部分部位打马,通过想象力其实是可以恢复出大象的原始图像。
某个场景、类型的原始图片和马赛克图片
去马赛克算法一般都会针对不同场景,对待还原的图片做特点的训练,因此目前还不够通用
只使用一直眼睛看周围,也可以识别远近(不准)
老照片修复中面临着许多的图像处理问题,比如填孔洞、去划痕、上色、去噪等,也就是说包含了多种图像退化问题。而使用深度学习进行训练时往往需要制造样本对,但是真实的低质量数据包含多种退化问题,想要通过正常图像模拟出完全符合数据分布的低质量图像几乎是不可能的。(同样的问题在Deblur、SR、Denoise等Low level问题中也有遇到)
为了回避样本制造的问题,作者将老照片修复模拟成三域转换的问题,三个域分别是真实的老照片的域 R RR、合成的低质照片的域 X XX、真实的高质照片(GT)的域 Y YY。整体的思路如下面这张图所示。
尽量将模拟老旧照片的参数贴近真实老照片与真实图像的损失参数,然后再逆序得到老照片到真实图像的函数参数
看到老照片,脑部有色彩的样子
真实照片,老照片,照片老旧算法(通过真实照片模拟生成的老照片)
可以理解为压缩、解压缩的过程
人脸图片 --(压缩)-> 向量矩阵 --(解压缩)-> 人脸图片。
通过上述算法原理,我们只需要把压缩/编码部分模型学习所有人的特征,那么用A人脸图像压缩出来的短向量理论上就不包含原始人脸的个人特征,而是人类的通用特征,然后我们将得出来的短向量用B的人脸解压(解码)模型解码,我们就得到B的人脸的图像。
就好比,A摆了一个表情,B是个演员,B看了A的照片,就来摆出一样的表情模仿A,B的脸部姿势就是模拟后的。
A 表情照片 -> B 眼睛处理 -> B 脑海中得到A 的表情特征 -> B 把这个特征输出到自己的面部 -> B 与A相同的表情。
由于需要输入被换人A的大量人脸图片、替换人B的大量人脸图片,为了降低成本因此建议拿到这两个人的一段视频,通过 Extract 工具,把视频筛成很多图片,再应用图像识别、定位、分割算法,去掉不存在人脸的帧数,将某一帧的人脸部分定位出来,再切割图片,最终得到大量的A、B的纯人脸图片。
现在很多AI算法都是Y=kx+b这种一类输入一类输出形式,如输入图片得到这个图片是什么类型(文本),该算法结合了多维输入,输入图片、视频的同时输入文本,神经网络中构建出文本和图像的关联关系,因此可以实现他们的相互转换。
文本+图像/视频
通过奖惩机制、结合遗传算法,让AI自动学会什么时候该干什么,当然这里会出现海量的试错。可以理解为一堆二叉树,每个节点对应加分或扣分,让AI找到得分最高的一条路径。
遇到一个完全没接触过的游戏,看到游戏规则(奖惩),开始玩耍,刚开始很菜,后来越来越强
游戏规则
不适合训练模拟耗时长的,最好能输入完整的训练规则自动化处理,如游戏厂商自身能够轻松制造出超级AI电脑,但拿不到游戏厂商源码或者很难克隆出游戏本身的工作者并不容易实现一个高智能的AI。
每种算法都有自己的应用领域,但我们可以通过算法组合来实现更复杂的人工智能,如原神自动钓鱼中通过目标检测算法定位并识别鱼群类别,抛出鱼钩后通过强化学习来实现与鱼群的博弈,完成自动钓鱼。