米兰官方网页版-米兰MiLan(中国)







  • 米兰官方网页版-米兰MiLan(中国)
    米兰官方网页版-米兰MiLan(中国) 资讯 > 人工智能(néng) > 正文

    人工智能让经典电(diàn)影重现当年风采(cǎi)

    2020/03/11394

    portant;" />

    老照片、老电影总能让人(rén)们(men)的思绪飘回那些久远的年代,沉淀于其中(zhōng),可与此同时,模糊的画面又不免(miǎn)给记(jì)忆(yì)蒙上了一(yī)层薄雾。如今,随(suí)着人工智能技术的发展,SRGAN(超分(fèn)辨率生成对抗网络)使得拨散云雾始见真,成倍还原了画面(miàn)质量。

    2019年底,WAIC开发者·上海(hǎi)临港人工智能开发者大会(huì)的(de)开(kāi)幕式上,上海市经济和信(xìn)息(xī)化(huà)委员会副主任张英为上海市人(rén)工智能(néng)创新中心(xīn)授(shòu)牌,深(shēn)兰科技(jì)等7家企(qǐ)业(yè)首批入选(xuǎn),同时(shí)深兰科技两(liǎng)项应用场景(jǐng)方案入围“上海市第二批人工智能试点应用场景”。

    portant;" />

    其(qí)中,在AI+文化旅游场景中,深兰科技入围成(chéng)为上海文化广告影视集团有限公司的解决方案供应商,将为其提(tí)供视频图像质量增强技术,通过智(zhì)能算法(fǎ)提高视频画面质量,使2K高清素材达(dá)到4K超高清要求,优化提升老旧节(jiē)目的图(tú)像清晰度(dù)。

    今天,就(jiù)来个承上启下,回顾前一(yī)年成绩的同时,也用创新和进步为新的(de)一年注入能量。获奖方案(àn)的团队负责人、深兰(lán)科(kē)学院深度学习科(kē)学家方(fāng)林博(bó)士,给出了(le)实现(xiàn)超分辨率(lǜ)的SRGAN模型的网络结构、训练步骤和损(sǔn)失函数,将帮助GAN的(de)初(chū)学者理解对(duì)抗网络的实质,为今后设计更加复杂的超分模型打下基础。

    超分(fèn)辨率

    超分辨率的目的是把低分辨率的图像或者视频转为高分辨率,比如:

    portant;" />

    portant;" />

    我们利用超(chāo)分(fèn)辨(biàn)率生(shēng)成式对(duì)抗网络(luò)(SRGAN, Super Resolution Generative Adversarial Network)实现超分辨率(lǜ)。

    下面我们通过一(yī)个简单的SRGAN模型(xíng)来说明超分模型(xíng)的基本(běn)结(jié)构和训(xùn)练步骤(zhòu)。

    图片(piàn)准备

    超分模型由两张图片(piàn)组成,第(dì)一张是模糊图片,形状为[128, 128, 3];第二(èr)张是对(duì)应的清晰图片,形(xíng)状为[512, 512, 3]。清晰图片的长宽分别是模糊(hú)图片的长宽的(de)4倍。我们的目标是把模糊图片的分辨率提高(gāo)16倍(bèi)。

    图片必须是一一(yī)对应的(de),即一张(zhāng)模糊图片必须有对(duì)应的一张清晰图片。为了准备(bèi)图(tú)片,我们先收集(jí)足够(gòu)数量(最(zuì)好2万(wàn)张以(yǐ)上)的清(qīng)晰(xī)图片,图片(piàn)的长度和(hé)宽度应该都大于等于512。然后选(xuǎn)取任意一个512*512的部分进行剪裁。

    注意:

    不(bú)要把一个大的(de)图片resize成512*512大小,因为这会导致图片变形;

    由于我(wǒ)们可以在大图片的(de)任意位置剪裁(cái)出512*512的图片,所以长(zhǎng)度或者宽度大于512的图片可以生成多个清晰图片。比如(rú)520*520的图片可以生成64个(gè)清晰图片。

    当(dāng)我们获得(dé)了所(suǒ)有清晰图片之后,再把每张清晰图(tú)片(piàn)resize到128*128大小,这样我(wǒ)们就获得了模糊(hú)图片。OpenCV的resize()方(fāng)法可以帮(bāng)助我们改变图片大小。

    SRGAN模(mó)型

    1、主要结(jié)构

    SRGAN模型(xíng)结构如下图所示:

    portant;" />

    图中“模糊”是指模糊图片,“清晰”是指清晰(xī)图片,“生成(chéng)”是(shì)指生成器生成的图片(piàn)。生成图片的分辨率与清晰(xī)图片相同,为512*512。模糊图片的分辨(biàn)率是128*128,为清晰图片(piàn)的1/16。

    上图中的模型主要由生成器和辨别器两部分(fèn)组成(chéng)。生(shēng)成器的目的是输入模(mó)糊图(tú)片(图中的“模(mó)糊(hú)”),输出(chū)生成图片(图中的“生成”)。辨别(bié)器的(de)输入由a、b两个参(cān)数组成。其中b是模(mó)糊图片,a是生成(chéng)图片或者(zhě)清晰图片。辨别器的目的是判断图片a是否是(shì)真实的清晰图片(piàn)。b是用来协(xié)助辨别器进行判断的。辨(biàn)别器(qì)的输(shū)出p是一个(gè)概(gài)率,1表示a是100%的真实清晰图片(piàn),0%表示a是100%的生成(chéng)图片。

    训练上述模(mó)型时,生成器(qì)总(zǒng)是尽可能(néng)生(shēng)成像真实图片的图片,而辨别器则尽可能(néng)分辨出(chū)a是真实图片还是(shì)生成图片。所以辨别器和生成器之间存在着一种对抗:生成器越优化(huà),辨别器越不能分辨生成(chéng)图(tú)片的真假;辨(biàn)别器越优化(huà),生成(chéng)器生(shēng)成的图片就(jiù)越不能通过辨别器的(de)检(jiǎn)查。对抗的结(jié)果是(shì)双(shuāng)方的(de)能力(lì)都得到了提高,最后达到纳(nà)什均衡:即生成器生成了很像真(zhēn)实(shí)图片的图(tú)片,连(lián)辨别器也无法分辨(biàn)其(qí)中的真假。这就是SRGAN的基本原理。

    2、生成(chéng)器结(jié)构

    生(shēng)成(chéng)器的(de)输入(rù)是128*128的3通(tōng)道图片,输(shū)出是512*512的3通道图片。SRGAN使用U型网络实现(xiàn)这种图片到图片的转化,结构(gòu)如下(xià):

    portant;" />

    请注意:

    第一,整个U型网络的左半部分全(quán)部由卷积操作组成,用来抽取输入图像的特征。右(yòu)半部分全部由(yóu)反卷积操作组成,用来根据特征构建清晰(xī)图片。由(yóu)于输出图片比输入(rù)图(tú)片大(dà)4倍,所以右(yòu)边比(bǐ)左边高(gāo)出(chū)一截(jié)。

    第二,左右两边相(xiàng)同大(dà)小的(de)图片之(zhī)间的连线称为捷径,表示左边的(de)图(tú)片(piàn)与右边的图(tú)片(piàn)进行加法操作,结果保留(liú)在(zài)右边。这是借用了(le)残差神经网络(ResNet)的(de)做法。不(bú)过ResNet中的捷径跨越相(xiàng)同数量的(de)操作,而这里的捷(jié)径跨越不(bú)同数量的操作,并且越上方的捷径离输入和输(shū)出越近(jìn),快速传播(bō)梯度的效果越好。

    第三,左边最后的卷积和最后的反卷积操作(zuò)都不含激活函数,并且整(zhěng)个(gè)网络中不(bú)使用Dropout,这(zhè)样做的(de)原(yuán)因超出了本文的讨论范畴,这里不叙(xù)述。

    3、辨别器结构(gòu)

    辨别器有两个输入,a表(biǎo)示要(yào)判断真假的图片(piàn),b是辅助辨别器判断的模糊(hú)图片(piàn)。两(liǎng)者的分辨率(lǜ)分别是512*512和(hé)128*128。对于参数a,我(wǒ)们采用卷积操作不断提纯其特征,最后全连接(jiē)到一个神经元,最后(hòu)经过sigmoid激活后得(dé)到一(yī)个概率。这条(tiáo)路(lù)径(jìng)我(wǒ)们称为主路(lù)径。参(cān)数b,我(wǒ)们通过resize改(gǎi)变其大小,然后从侧(cè)面切入到主路径中去(qù),从而影响特征的提取。下图(tú)显(xiǎn)示了辨别器结构:

    portant;" />

    请注意,全连接之后使用sigmoid激活函数,这样可以获得概率值(zhí)。

    SRGAN训练

    SRGAN的训练分三步完成。第一步,训练辨(biàn)别器(qì)识别真样本。这一步图(tú)示如下(xià):

    portant;" />

    这一步的目的是用每一对模(mó)糊和清晰(xī)图片训练辨别器,使得辨(biàn)别器的输(shū)出尽可能趋近于1。注(zhù)意:清晰图片对应于(yú)参数a,模糊图(tú)片对(duì)应于参数b,辨别(bié)器的(de)期望输出是1。

    假设我们用函数 disc(a,b) 表(biǎo)示辨别器的输出(表示a为真实样本的概率),则这一步(bù)的(de)损失可以(yǐ)用交叉熵表示为(wéi):

    portant;" />

    其中a和b分(fèn)别(bié)表示(shì)真实的清(qīng)晰图片和对应的(de)模糊图(tú)片(piàn)。

    第(dì)二步,训练辨别器(qì)识(shí)别假样本。这一步图示如下:

    portant;" />

    请注意:生成器在(zài)这一(yī)步中(zhōng)是固(gù)定不变的,只(zhī)有辨别器才被(bèi)优化。这是因(yīn)为这一步只是为了训练辨别器识别假样(yàng)本(běn),也就(jiù)是说辨别器(qì)的期望输(shū)出是0,所以(yǐ)就不能改(gǎi)动生成器。否(fǒu)则就会导致生成(chéng)器试图生成(chéng)让辨别器输(shū)出为0的图(tú)片,这不是生成器所期(qī)望的。生成(chéng)器应该期(qī)望生成能让辨别器(qì)以为(wéi)是真(即(jí)辨别器输出为1)的(de)图片。

    很多算法工程师不清楚在这一步训练中(zhōng)如(rú)何达到仅训练一个模块(比如(rú)说辨(biàn)别器),而固定其(qí)他模块(比如(rú)说生成器)的目(mù)的。

    在Tensorflow中,一般地,我(wǒ)们可以调用函(hán)数:

    portant;" />

    来(lái)实现梯度的反向传播和对模(mó)型参数(shù)的优(yōu)化(huà)。此时(shí)我们(men)只需指定第(dì)二个参数varlist等于辨别器中所有可训练参(cān)数(shù)的(de)列表(list)即(jí)可。其(qí)他未被指定的(de)参数(比如生成器中(zhōng)的参数(shù))就(jiù)不会被优化,也(yě)就是说,被(bèi)固(gù)定(dìng)了。

    假(jiǎ)设我们用函数gen()表示生成的输(shū)出,则这一(yī)步辨(biàn)别器的输出是:

    portant;" />

    由于这(zhè)一步辨别器的期望(wàng)输出是0,所以这一步(bù)的损失(shī)可以用交叉熵表示为:

    portant;" />

    第三步,训练辨别器识别(bié)假样本。这(zhè)一步(bù)图示如下:

    portant;" />

    请注意,在这一步(bù)训练中辨别器被固定住了,保持不变,被训练优化的是(shì)生成器(qì)。因为(wéi)这一(yī)步的目(mù)的是要让生成器(qì)生成辨别器以为是真实图片的图片(piàn),所以辨别器(qì)的期望输出(chū)是(shì)1。此时我们必须固定住辨别(bié)器,否则辨别器会变成这(zhè)个样子:不管生成(chéng)器输出什么样的图片,辨(biàn)别器(qì)都尽可能(néng)输出(chū)1。显然,这(zhè)不是(shì)我们所期望的。

    这(zhè)一步训练的结(jié)构(gòu)跟第(dì)二(èr)步(bù)相(xiàng)同,不(bú)同的(de)是固定的是什么(me),训练的(de)是什么,以及辨(biàn)别器的期望输出不同。

    由于这一步辨别器(qì)的期望输出是1,所以这一步的损失可以用交叉熵表示为:

    portant;" />

    我们可以发现,第二步和第三步训练的输入数据都是b,网络的输(shū)出都是(shì)disc(gen(b),b), 但(dàn)是期望输出一个是0,另一个(gè)是1。对抗由此产(chǎn)生,最终的结果(guǒ)将达(dá)到纳什均衡。理想(xiǎng)情况下(xià),disc(gen(b),b) 的结果(guǒ)既不是0也不是(shì)1,而是(shì)接近(jìn)0.5。

    我(wǒ)们(men)有了三个训练步(bù)骤,有了三个损失函数(shù),并且知道每一步(bù)训练什么、固(gù)定什么,则依次(cì)循环执行这三步训练就能达到实现(xiàn)超分模型的目的。

    本文是对GAN和SRGAN的一(yī)个简单说明,是(shì)给初学者理(lǐ)解(jiě)SRGAN模型看(kàn)的,没(méi)有涉及到(dào)GAN更高(gāo)深(shēn)的知识(比(bǐ)如(rú)WGAN和推土(tǔ)机(jī)距离等)。如有(yǒu)错(cuò)漏(lòu)之处希望给以批评指正。

    关键词:




    AI人工智(zhì)能网声(shēng)明:

    凡资讯来源注明为其他媒体来源的(de)信息,均为转载自其他媒体,并不代表本网站赞同其观点,也不代(dài)表本网(wǎng)站(zhàn)对其(qí)真实性负责。您若对该文章(zhāng)内容有任何(hé)疑问或质疑(yí),请立即与网站(www.fartooclub.huaibei.xinxiang.zz.pingliang.ww38.viennacitytours.com)联系,本网站将迅速给您回应并做处理。


    联(lián)系(xì)电话:021-31666777   新闻、技(jì)术文章投稿(gǎo)QQ:3267146135   投稿邮箱:syy@gongboshi.com

    精选资讯更(gèng)多

    相关资讯(xùn)更多(duō)

    热门搜索

    工(gōng)博(bó)士人(rén)工(gōng)智能网
    米兰官方网页版-米兰MiLan(中国)
    扫(sǎo)描(miáo)二维码关注微信
    扫码反馈

    扫一扫,反馈当前页(yè)面(miàn)

    咨询反馈
    扫码关(guān)注

    微信公众号(hào)

    返回顶部

    米兰官方网页版-米兰MiLan(中国)

    米兰官方网页版-米兰MiLan(中国)