計算機視覺應用開發(fā)課件:基于SRGAN的圖像超分辨率重建_第1頁
計算機視覺應用開發(fā)課件:基于SRGAN的圖像超分辨率重建_第2頁
計算機視覺應用開發(fā)課件:基于SRGAN的圖像超分辨率重建_第3頁
計算機視覺應用開發(fā)課件:基于SRGAN的圖像超分辨率重建_第4頁
計算機視覺應用開發(fā)課件:基于SRGAN的圖像超分辨率重建_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于SRGAN的圖像超分辨率重建案例描述01任務案例目標02任務案例分析03任務案例實施04任務1案例描述1案例描述本案例基于SRGAN,并在T91數據集上訓練,實現圖像的超分辨重建。2案例目標案例目標學會搭建SRGAN超分辨率重建網絡;

通過約束對抗損失和內容損失訓練SRGAN 網絡以實現圖像的超分辨率重建。23案例分析案例分析SRGAN網絡同樣需要一些低分辨率圖像和原始高分辨率圖像,低分辨率圖像用做輸入數據來訓練SRGAN網絡模型,高分辨率圖片用來檢測超分圖像重建的效果。為此除了原始圖像,需要手動構造低分辨率圖像。整個案例的流程如下:(1)加載數據集,進行規(guī)范化;(2)構造低分辨率圖像;(3)搭建SRGAN網絡;(4)編譯并訓練;(5)預測并對比。34案例實施4案例實施 1.數據預處理創(chuàng)建utils.py,首先是一些預處理文件,包括讀取,存儲圖片等函數。#讀入圖片,并對圖片做尺寸裁減,并將所有圖片進行歸一化處理img=img[start_h:start_h+fine_size,start_w:start_w+fine_size,:]img=(img-127.5)/127.5#保存圖片以及圖片名稱defsave_images(images,size,filename):returnscipy.misc.imsave(filename,np.squeeze(images))4案例實施2.定義網絡層創(chuàng)建layer.py,主要定義一些特定的網絡模塊以及所需的損失函數。其中導入tensorflow.contrib.slim庫要求numpy版本為1.20.0以下,scipy版本為1.2.0。#定義殘差網絡塊defres_block(input_x,out_channels=64,k=3,s=1,scope='res_block'):withtf.variable_scope(scope):x=input_xinput_x=slim.conv2d_transpose(input_x,out_channels,k,s)input_x=slim.batch_norm(input_x,scope='bn1')input_x=tf.nn.relu(input_x)input_x=slim.conv2d_transpose(input_x,out_channels,k,s)input_x=slim.batch_norm(input_x,scope='bn2')returnx+input_x4案例實施#定義PSNR損失函數defPSNR(real,fake):mse=tf.reduce_mean(tf.square(127.5*(real-fake)+127.5),axis=(-3,-2,-1))psnr=tf.reduce_mean(10*(tf.log(255*255/tf.sqrt(mse))/np.log(10)))returnpsnr3.訓練模型

創(chuàng)建SRGAN.py,包含SRGAN模型的構建以及訓練測試過程。

定義生成器。生成器包含五個卷積模塊和五個殘差塊和兩個像素隨機操作。4案例實施conv1=tf.nn.relu(slim.conv2d_transpose(input_x,64,3,1,scope='g_conv1'))shortcut=conv1#res_block(input_x,out_channels=64,k=3,s=1,scope='res_block'):res1=res_block(conv1,64,3,1,scope='g_res1')res2=res_block(res1,64,3,1,scope='g_res2')res3=res_block(res2,64,3,1,scope='g_res3')res4=res_block(res3,64,3,1,scope='g_res4')res5=res_block(res4,64,3,1,scope='g_res5')conv2=slim.batch_norm(slim.conv2d_transpose(res5,64,3,1,scope='g_conv2'),scope='g_bn_conv2')conv2_out=shortcut+conv2#pixel_shuffle_layer(x,r,n_split):conv3=slim.conv2d_transpose(conv2_out,256,3,1,scope='g_conv3')shuffle1=tf.nn.relu(pixel_shuffle_layer(conv3,2,64))#64*2*2conv4=slim.conv2d_transpose(shuffle1,256,3,1,scope='g_conv4')shuffle2=tf.nn.relu(pixel_shuffle_layer(conv4,2,64))conv5=slim.conv2d_transpose(shuffle2,3,3,1,scope='g_conv5')self.g_vars=tf.get_collection(tf.GraphKeys.TRAINABLE_VARIABLES,'generator')4案例實施定義鑒別器。鑒別器包含四個卷積模塊和兩個全連接層。conv1=leaky_relu(slim.conv2d(input_x,64,3,1,scope='d_conv1'))conv1_1=leaky_relu(slim.batch_norm(slim.conv2d(conv1,64,3,2,scope='d_conv1_1'),scope='d_bn_conv1_1'))conv2=leaky_relu(slim.batch_norm(slim.conv2d(conv1_1,128,3,1,scope='d_conv2'),scope='d_bn_conv2'))conv2_1=leaky_relu(slim.batch_norm(slim.conv2d(conv2,128,3,2,scope='d_conv2_1'),scope='d_bn_conv2_1'))conv3=leaky_relu(slim.batch_norm(slim.conv2d(conv2_1,256,3,1,scope='d_conv3'),scope='d_bn_conv3'))conv3_1=leaky_relu(slim.batch_norm(slim.conv2d(conv3,256,3,2,scope='d_conv3_1'),scope='d_bn_conv3_1'))conv4=leaky_relu(slim.batch_norm(slim.conv2d(conv3_1,512,3,1,scope='d_conv4'),scope='d_bn_conv4'))conv4_1=leaky_relu(slim.batch_norm(slim.conv2d(conv4,512,3,2,scope='d_conv4_1'),scope='d_bn_conv4_1'))

conv_flat=tf.reshape(conv4_1,[self.batch_size,-1])dense1=leaky_relu(slim.fully_connected(conv_flat,1024,scope='d_dense1'))dense2=slim.fully_connected(dense1,1,scope='d_dense2')4案例實施定義優(yōu)化器,分為兩個優(yōu)化器,分別優(yōu)化生成器和鑒別器self.d_optim=tf.train.AdamOptimizer(learning_rate=self.learning_rate,beta1=self.beta1,beta2=self.beta2).minimize(self.d_loss,var_list=self.d_vars)self.g_optim=tf.train.AdamOptimizer(learning_rate=self.learning_rate,beta1=self.beta1,beta2=self.beta2).minimize(self.g_loss,var_list=self.g_vars)定義內容損失和對抗損失:content_loss=inference_mse_content_loss(real,fake)d

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論