00:00
好,小伙伴们大家好,接下来我们来看一下扩散模型是如何来进行图像生成的,那扩散模型呢,它是我们现在一种里程碑式的模型结构,它就不再依赖我们前面vae和这个干网络的思想来进行图像生成,它完全是一种新的思想来进行图像的生成啊。那接下来我们就给大家来看一下扩散模型是如何来实现图像生成的,那前面已经给大家提到过图扩散模型最初并不是设计来进行图像生成的,它主要去做什么呀?哎,图像去噪它是为了去除图像当中的噪声的,那这个扩散模型它是受到了非平衡热力学的一个启发啊,它是定义了一个马尔可夫链,然后在这个马尔可夫链当中呢,它进行一步一步的扩散,这个扩散过程是怎么去实现的呢?它向原始数据当中去添加噪声。在添加噪声的过程当中,原始数据。
01:00
变得越来越模糊啊,直到变成随机噪声,那大家想一下,从清晰的数据到一个模糊的噪声到纯噪声,这个过程是不是在一步一步的添加噪声啊,那如果我想从一个纯噪声生成一个清晰的图片的话,大家想是不是可以一步一步的去除噪声啊,所以在这里面我们的扩散模型在生成图片的时候,就是从一个纯噪声当中去一步一步的去去除噪声,然后获取一个逼真的图片,那实际上在这个扩散的模型当中,我去生成图片的时候,实际上是一个什么反向过程,也是说是添加噪声的这样的一个反向过程哈,那在扩散模型当中哈,我们一般情况下包括前向过程和反向过程,那前向过程当中呢,图像要一步一步的添加噪声,直到变成完全的随机噪声,反向过程当中就利用马尔可夫链在每个时间部去除。
02:00
噪声,然后呢,从高斯噪声当中来恢复图像,诶,这是我们扩散过程的两个过程啊,一个是前向过程添加噪声,反向过程去除噪声,在去除噪声的目的就是为了去生成一个逼真的图片,这是我们在这里扩散模型它的一个过程,好,那下面我们就给大家来看一下啊,前向过程和反向过程具体是如何来进行处理的啊,大家看前向扩向过程呢,是将图像逐步引入噪声,也是说我往图像当中一步一步的去添加噪声,那在这里引入噪声的过程呢,大家想一下,随着添加噪声步数的增加,我的图片最终会成为一个什么完全的随机噪声,因为在这个过程当中,我的噪声啊,会在图像当中每个像素点都会添加噪声,那这时候它影响到每个像素点,我是不是最终会使到我图像没有办法进行一个辨识啊,所以在这大家看一下啊,本来我是不是一个清晰的。
03:00
图片大家看,其实小猫的图片是不是很清晰啊,那在这张村色的图片上,我添加一部噪声,添加一些噪声,大家看一下我这个小猫比第一步要怎么样模糊了许多,对不对?然后再接下来我再去添加一些噪声,再去添加一些噪声,再去添加一些噪声,那随着我添加噪声的步数的增加,大家看一下原始清晰的图片就变成了一个什么完全的随机噪声,大家看在这个图像当中,你还能看到小膜的身影吗?不能了,那这就是我们在这里这个扩散过程的前向过程是从清晰的图片到随机噪声的过程,那反向过程是做什么呢?诶,反向过程就是一个降噪的过程,我通过逐步去除图像当中的噪声,一步一步的去去除噪声,然后获取一个清晰的图片的过程,就是反向过程,然后大家看在这里反向过程就是这样,大家看本来我的图片是。
04:00
随机噪声,完全的随机噪声,那这时候在这些图片当中呢,我去除一些噪声哈,去除一些噪声,那这时候哎,你去除的步数多了,你这里面就有小猫的身影,然后再接下来再去除去除去除经过很多步的噪声的去除,大家看一下我就可以获取一个什么逼真的图片,那这就是我们在这里这个扩散过程啊,它的整个的一个思想,它分两步,前向过程当中添加噪声,反向过程当中来。去除噪声,哎,这就是扩散模型它的思想,当然在这里大家想一想,我要添加什么样的噪声,哎,才能变成随机噪声,我在随机噪声去除什么样的噪声,我才能获取真实的图片,那大家想想这是不是都是我们模型去需要学习的,所以在后面的课程当中,老师会给大家去介绍一下啊,我要添加什么样的噪声,去除什么样的噪声才能获取到B震的图片啊,这是我们后面要给大家介绍的内容,那在这里大家再来思考一个问题啊,大家看一下,在这里我去添加噪声的时候,我是不是这张图片当中来添加噪声啊,变成了一个随机噪声,那我在反向传播的时候,是不是从这个随机噪声当中生成的时候,一步一步的去造,然后生成了一个这样的图片,那大家想一下,这两个图片一定是一模一样的吗?会不会有差别?
05:27
是会有差别的啊,下面我们来看一下,那大家看一下,在这里假设这是我的一张原始图片,那我经过不断的去添加噪声,然后添加噪声之后,大家看一下,我就变成了完全的随机噪声,是不是,那对于这个完全的随机噪声,我再去进行去噪,一步一步的去进行去噪,那去噪声如果我想生成跟原始图像一模一样的时候,大家看一下,还是这是我们原始的一个图片,那这种呢,很难去获得到它,但是我可以获取什么呀?获取这样的图片,获取这样的图片,这样的图片,这样图片,大家看这些图片跟我原始图片是不是有点相似,但又不同呀,对不对?所以在这里这个反向去造过程的时候,恢复的是什么?原始图像的变种图像,你很难获得一个真实的原始图像,这是我们在这里这个扩散模型的时候啊,它的一个结果,那这个扩散模型的思想我们就给大家去说这些,然后接下来我们来看一下扩散模型有。
06:28
哪些应用场景,那扩散模型的应用场景是非常多的啊,像我们的图像超分辨率的分析啊,图像上色就是大家去看到啊,网上有很多啊,比方说古时油的黑白照片啊,啊来添上上上颜色,哎,那我们的扩散模型也可以来完成文声图,图生图,哎这些都可以使用扩散模型来完成,另外呢,还可以来进行全景图像的生成,然后大家看一下在这里这是我们输入的图片也说哎,比方说你拍了一张这样小的图片啊,中间这一部分,那我要想看你在这个场景当中,它的360度的这种全景照片是什么样的话,哎,那我可以交给扩散模型来做,然后扩散模型大家看一下,就可以生成左边和右边这视角的两张图,然后跟你输入图片拼接在一起,就构成了一张全景图片,大家看在这里,本来是就有这个桥,大家看在这里。
07:23
我们拼接的这个图片还是不错的,对不对,然后下面再看这个啊,大海的边上啊,然后一个悬崖,然后拼接出来的结果啊,这个地方啊,一条路,一个人,然后拼接出来的结果,哎,这是我们在这里这个全景图像生成的时候的一个效果啊,这是我们这个扩散模型它的一个。应用场景好,那这个应用场景啊,我们就说这些,那扩散模型我们知道它有这么多的用处哈,我们知道它的思想,那去实现的时候,诶,各个机构哈,各个研究所公司呢,又研究出了自己的代表产品哈,当然这些产品都是基于谁来实现的扩散模型来实现的,那在这里比方说open AI的有大to啊,然后呢,谷歌的,然后呢,还有我们要给大家去介绍的stable这些模型啊,都是基于扩散模型来进行图像生成的,好,这个扩散模型来进行图像生成的思想,我们就给大家说这些,然后接下来我们给大家去看一下,哎,扩散模型具体是如何去进行图像生成的。
我来说两句