中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

asp c 網(wǎng)站開發(fā)百度發(fā)視頻步驟

asp c 網(wǎng)站開發(fā),百度發(fā)視頻步驟,360提交入口,網(wǎng)站建設(shè) 力洋網(wǎng)絡(luò)文章目錄 0 前言2 什么是圖像內(nèi)容填充修復(fù)3 原理分析3.1 第一步:將圖像理解為一個(gè)概率分布的樣本3.2 補(bǔ)全圖像 3.3 快速生成假圖像3.4 生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Net, GAN) 的架構(gòu)3.5 使用G(z)生成偽圖像 4 在Tensorflow上構(gòu)建DCGANs最后 0 前言 &#…

文章目錄

  • 0 前言
  • 2 什么是圖像內(nèi)容填充修復(fù)
  • 3 原理分析
    • 3.1 第一步:將圖像理解為一個(gè)概率分布的樣本
    • 3.2 補(bǔ)全圖像
  • 3.3 快速生成假圖像
    • 3.4 生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Net, GAN) 的架構(gòu)
    • 3.5 使用G(z)生成偽圖像
  • 4 在Tensorflow上構(gòu)建DCGANs
  • 最后

0 前言

🔥 優(yōu)質(zhì)競(jìng)賽項(xiàng)目系列,今天要分享的是

🚩 深度學(xué)圖像修復(fù)算法

該項(xiàng)目較為新穎,適合作為競(jìng)賽課題方向,學(xué)長(zhǎng)非常推薦!

🥇學(xué)長(zhǎng)這里給一個(gè)題目綜合評(píng)分(每項(xiàng)滿分5分)

  • 難度系數(shù):3分
  • 工作量:3分
  • 創(chuàng)新點(diǎn):4分

🧿 更多資料, 項(xiàng)目分享:

https://gitee.com/dancheng-senior/postgraduate

2 什么是圖像內(nèi)容填充修復(fù)

內(nèi)容識(shí)別填充(譯注: Content-aware fill ,是 photoshop
的一個(gè)功能)是一個(gè)強(qiáng)大的工具,設(shè)計(jì)師和攝影師可以用它來(lái)填充圖片中不想要的部分或者缺失的部分。在填充圖片的缺失或損壞的部分時(shí),圖像補(bǔ)全和修復(fù)是兩種密切相關(guān)的技術(shù)。有很多方法可以實(shí)現(xiàn)內(nèi)容識(shí)別填充,圖像補(bǔ)全和修復(fù)。

  • 首先我們將圖像理解為一個(gè)概率分布的樣本。
  • 基于這種理解,學(xué)*如何生成偽圖片。
  • 然后我們找到最適合填充回去的偽圖片。

在這里插入圖片描述

自動(dòng)刪除不需要的部分(海灘上的人)
在這里插入圖片描述

最經(jīng)典的人臉補(bǔ)充

補(bǔ)充前:

在這里插入圖片描述

補(bǔ)充后:
在這里插入圖片描述

3 原理分析

3.1 第一步:將圖像理解為一個(gè)概率分布的樣本

你是怎樣補(bǔ)全缺失信息的呢?

在上面的例子中,想象你正在構(gòu)造一個(gè)可以填充缺失部分的系統(tǒng)。你會(huì)怎么做呢?你覺得人類大腦是怎么做的呢?你使用了什么樣的信息呢?

在博文中,我們會(huì)關(guān)注兩種信息:

語(yǔ)境信息:你可以通過(guò)周圍的像素來(lái)推測(cè)缺失像素的信息。

感知信息:你會(huì)用“正?!钡牟糠謥?lái)填充,比如你在現(xiàn)實(shí)生活中或其它圖片上看到的樣子。
兩者都很重要。沒有語(yǔ)境信息,你怎么知道填充哪一個(gè)進(jìn)去?沒有感知信息,通過(guò)同樣的上下文可以生成無(wú)數(shù)種可能。有些機(jī)器學(xué)*系統(tǒng)看起來(lái)“正?!钡膱D片,人類看起來(lái)可能不太正常。
如果有一種確切的、直觀的算法,可以捕獲前文圖像補(bǔ)全步驟介紹中提到的兩種屬性,那就再好不過(guò)了。對(duì)于特定的情況,構(gòu)造這樣的算法是可行的。但是沒有一般的方法。目前最好的解決方案是通過(guò)統(tǒng)計(jì)和機(jī)器學(xué)習(xí)來(lái)得到一個(gè)類似的技術(shù)。

在這里插入圖片描述

從這個(gè)分布中采樣,就可以得到一些數(shù)據(jù)。需要搞清楚的是PDF和樣本之間的聯(lián)系。

在這里插入圖片描述

從正態(tài)分布中的采樣

在這里插入圖片描述
2維圖像的PDF和采樣。 PDF 用等高線圖表示,樣本點(diǎn)畫在上面。

3.2 補(bǔ)全圖像

首先考慮多變量正態(tài)分布, 以求得到一些啟發(fā)。給定 x=1 , 那么 y 最可能的值是什么?我們可以固定x的值,然后找到使PDF最大的 y。
在這里插入圖片描述
在多維正態(tài)分布中,給定x,得到最大可能的y

這個(gè)概念可以很自然地推廣到圖像概率分布。我們已知一些值,希望補(bǔ)全缺失值。這可以簡(jiǎn)單理解成一個(gè)最大化問(wèn)題。我們搜索所有可能的缺失值,用于補(bǔ)全的圖像就是可能性最大的值。
從正態(tài)分布的樣本來(lái)看,只通過(guò)樣本,我們就可以得出PDF。只需挑選你喜歡的 統(tǒng)計(jì)模型, 然后擬合數(shù)據(jù)即可。
然而,我們實(shí)際上并沒有使用這種方法。對(duì)于簡(jiǎn)單分布來(lái)說(shuō),PDF很容易得出來(lái)。但是對(duì)于更復(fù)雜的圖像分布來(lái)說(shuō),就十分困難,難以處理。之所以復(fù)雜,一部分原因是復(fù)雜的條件依賴:一個(gè)像素的值依賴于圖像中其它像素的值。另外,最大化一個(gè)一般的PDF是一個(gè)非常困難和棘手的非凸優(yōu)化問(wèn)題。

3.3 快速生成假圖像

在未知概率分布情況下,學(xué)習(xí)生成新樣本

除了學(xué) 如何計(jì)算PDF之外,統(tǒng)計(jì)學(xué)中另一個(gè)成熟的想法是學(xué) 怎樣用 生成模型
生成新的(隨機(jī))樣本。生成模型一般很難訓(xùn)練和處理,但是后來(lái)深度學(xué)*社區(qū)在這個(gè)領(lǐng)域有了一個(gè)驚人的突破。Yann LeCun 在這篇 Quora
回答中對(duì)如何進(jìn)行生成模型的訓(xùn)練進(jìn)行了一番精彩的論述,并將它稱為機(jī)器學(xué)習(xí)領(lǐng)域10年來(lái)最有意思的想法。

3.4 生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Net, GAN) 的架構(gòu)

使用微步長(zhǎng)卷積,對(duì)圖像進(jìn)行上采樣

在這里插入圖片描述
現(xiàn)在我們有了微步長(zhǎng)卷積結(jié)構(gòu),可以得到G(z)的表達(dá),以一個(gè)向量z~pz 作為輸入,輸出一張 64x64x3 的RGB圖像。

在這里插入圖片描述

3.5 使用G(z)生成偽圖像

基于DCGAN的人臉代數(shù)運(yùn)算 DCGAN論文 。

在這里插入圖片描述

4 在Tensorflow上構(gòu)建DCGANs

部分代碼:

?

def generator(self, z):self.z_, self.h0_w, self.h0_b = linear(z, self.gf_dim*8*4*4, 'g_h0_lin', with_w=True)self.h0 = tf.reshape(self.z_, [-1, 4, 4, self.gf_dim * 8])h0 = tf.nn.relu(self.g_bn0(self.h0))self.h1, self.h1_w, self.h1_b = conv2d_transpose(h0,[self.batch_size, 8, 8, self.gf_dim*4], name='g_h1', with_w=True)h1 = tf.nn.relu(self.g_bn1(self.h1))h2, self.h2_w, self.h2_b = conv2d_transpose(h1,[self.batch_size, 16, 16, self.gf_dim*2], name='g_h2', with_w=True)h2 = tf.nn.relu(self.g_bn2(h2))h3, self.h3_w, self.h3_b = conv2d_transpose(h2,[self.batch_size, 32, 32, self.gf_dim*1], name='g_h3', with_w=True)h3 = tf.nn.relu(self.g_bn3(h3))h4, self.h4_w, self.h4_b = conv2d_transpose(h3,[self.batch_size, 64, 64, 3], name='g_h4', with_w=True)return tf.nn.tanh(h4)def discriminator(self, image, reuse=False):if reuse:tf.get_variable_scope().reuse_variables()h0 = lrelu(conv2d(image, self.df_dim, name='d_h0_conv'))h1 = lrelu(self.d_bn1(conv2d(h0, self.df_dim*2, name='d_h1_conv')))h2 = lrelu(self.d_bn2(conv2d(h1, self.df_dim*4, name='d_h2_conv')))h3 = lrelu(self.d_bn3(conv2d(h2, self.df_dim*8, name='d_h3_conv')))h4 = linear(tf.reshape(h3, [-1, 8192]), 1, 'd_h3_lin')return tf.nn.sigmoid(h4), h4

當(dāng)我們初始化這個(gè)類的時(shí)候,將要用到這兩個(gè)函數(shù)來(lái)構(gòu)建模型。我們需要兩個(gè)判別器,它們共享(復(fù)用)參數(shù)。一個(gè)用于來(lái)自數(shù)據(jù)分布的小批圖像,另一個(gè)用于生成器生成的小批圖像。

?

self.G = self.generator(self.z)
self.D, self.D_logits = self.discriminator(self.images)
self.D_, self.D_logits_ = self.discriminator(self.G, reuse=True)

接下來(lái),我們定義損失函數(shù)。這里我們不用求和,而是用D的預(yù)測(cè)值和真實(shí)值之間的交叉熵(cross
entropy),因?yàn)樗糜?。判別器希望對(duì)所有“真”數(shù)據(jù)的預(yù)測(cè)都是1,對(duì)所有生成器生成的“偽”數(shù)據(jù)的預(yù)測(cè)都是0。生成器希望判別器對(duì)兩者的預(yù)測(cè)都是1 。

?

self.d_loss_real = tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits(self.D_logits,tf.ones_like(self.D)))
self.d_loss_fake = tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits(self.D_logits_,tf.zeros_like(self.D_)))
self.g_loss = tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits(self.D_logits_,tf.ones_like(self.D_)))
self.d_loss = self.d_loss_real + self.d_loss_fake

下面我們遍歷數(shù)據(jù)。每一次迭代,我們采樣一個(gè)小批數(shù)據(jù),然后使用優(yōu)化器來(lái)更新網(wǎng)絡(luò)。有趣的是,如果G只更新一次,鑒別器的損失不會(huì)變成0。另外,我認(rèn)為最后調(diào)用
d_loss_fake 和 d_loss_real 進(jìn)行了一些不必要的計(jì)算, 因?yàn)檫@些值在 d_optim 和 g_optim 中已經(jīng)計(jì)算過(guò)了。
作為Tensorflow 的一個(gè)聯(lián)系,你可以試著優(yōu)化這一部分,并發(fā)送PR到原始的repo。

?

for epoch in xrange(config.epoch):...for idx in xrange(0, batch_idxs):batch_images = ...batch_z = np.random.uniform(-1, 1, [config.batch_size, self.z_dim]) \.astype(np.float32)# Update D network_, summary_str = self.sess.run([d_optim, self.d_sum],feed_dict={ self.images: batch_images, self.z: batch_z })# Update G network_, summary_str = self.sess.run([g_optim, self.g_sum],feed_dict={ self.z: batch_z })# Run g_optim twice to make sure that d_loss does not go to zero (different from paper)_, summary_str = self.sess.run([g_optim, self.g_sum],feed_dict={ self.z: batch_z })errD_fake = self.d_loss_fake.eval({self.z: batch_z})errD_real = self.d_loss_real.eval({self.images: batch_images})errG = self.g_loss.eval({self.z: batch_z})

最后

🧿 更多資料, 項(xiàng)目分享:

https://gitee.com/dancheng-senior/postgraduate

http://www.risenshineclean.com/news/51783.html

相關(guān)文章:

  • 網(wǎng)站 設(shè)計(jì)要求營(yíng)銷咨詢公司
  • 投票活動(dòng)網(wǎng)站怎么做搜索引擎廣告圖片
  • 佛山建設(shè)外貿(mào)網(wǎng)站seo技術(shù)自學(xué)
  • 山東新華電腦學(xué)院學(xué)網(wǎng)站開發(fā)如何制作一個(gè)自己的網(wǎng)頁(yè)網(wǎng)站
  • 網(wǎng)站制作的報(bào)價(jià)大約是多少香港疫情最新情況
  • 寧波seo網(wǎng)站建設(shè)費(fèi)用企業(yè)推廣平臺(tái)
  • o2o商城網(wǎng)站建設(shè)供應(yīng)可以直接進(jìn)入的輿情網(wǎng)站
  • 手機(jī)app設(shè)計(jì)網(wǎng)站沈陽(yáng)seo搜索引擎
  • 網(wǎng)站域名備案密碼seo產(chǎn)品優(yōu)化免費(fèi)軟件
  • 買2g 空間做下載網(wǎng)站網(wǎng)頁(yè)制作軟件dw
  • 網(wǎng)站建設(shè)中的需求報(bào)告功能企業(yè)策劃書
  • 網(wǎng)站banner圖的作用公司網(wǎng)站與推廣
  • seo排名技術(shù)教程seo排名軟件價(jià)格
  • 做網(wǎng)站好的網(wǎng)站建設(shè)公司排名青島百度推廣優(yōu)化怎么做的
  • 網(wǎng)站域名查詢地址做百度推廣銷售怎么找客戶
  • 中山市小欖新意網(wǎng)站設(shè)計(jì)有限公司太原網(wǎng)站建設(shè)制作
  • wordpress geogebraseo刷排名工具
  • 做本地網(wǎng)站需要的軟件網(wǎng)盤資源共享群吧
  • 淘寶上做網(wǎng)站排名的是真的嗎口碑營(yíng)銷案例2022
  • 前程無(wú)憂怎么做網(wǎng)站百度識(shí)圖識(shí)別
  • 合肥高端網(wǎng)站建設(shè)公司哪家好seo優(yōu)化軟件大全
  • 企業(yè)網(wǎng)站建設(shè)相關(guān)書籍windows優(yōu)化大師卸載
  • 公司怎么申請(qǐng)免費(fèi)做網(wǎng)站好用的搜索引擎
  • 龍?jiān)ㄔO(shè)網(wǎng)站鄭州網(wǎng)絡(luò)營(yíng)銷
  • 怎樣進(jìn)入建設(shè)通網(wǎng)站怎樣做網(wǎng)站
  • 可以做展示頁(yè)面的網(wǎng)站seo推廣優(yōu)化公司哪家好
  • wordpress前臺(tái)打開慢手機(jī)端關(guān)鍵詞排名優(yōu)化軟件
  • 杭州手機(jī)軟件開發(fā)公司上海網(wǎng)站seo策劃
  • 網(wǎng)站如何做公安部備案整站優(yōu)化全網(wǎng)營(yíng)銷
  • 瑞金網(wǎng)站建設(shè)互聯(lián)網(wǎng)營(yíng)銷工具有哪些