计算机视觉应用开发课件:基于SRCNN的图像超分辨率重建_第1页
计算机视觉应用开发课件:基于SRCNN的图像超分辨率重建_第2页
计算机视觉应用开发课件:基于SRCNN的图像超分辨率重建_第3页
计算机视觉应用开发课件:基于SRCNN的图像超分辨率重建_第4页
计算机视觉应用开发课件:基于SRCNN的图像超分辨率重建_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于SRCNN的图像超分辨率重建案例描述01任务案例目标02任务案例分析03任务案例实施04任务1案例描述1案例描述本案例基于SRCNN,在其基础上增加卷积层,在T91数据集上训练,实现图像的超分辨重建。2案例目标案例目标学会搭建SRCNN超分辨率重建网络;对重建后的图片进行PSNR评价来训练SRCNN网络以实现图像的超分辨率重建。23案例分析案例分析T91数据集一共包含91张图片,一般用于测试性能。如前面所述,SRCNN网络需要将图像特征映射到低分辨率字典中,为此除了原始图像,需要手动构造低分辨率图像。整个案例的流程如下:(1)加载数据集,进行规范化;(2)构造低分辨率图像;(3)搭建SRCNN网络;(4)编译并训练;(5)预测并对比。34案例实施4案例实施 1.导库导入一些图像超分辨率重建使用到的一些网络层:卷积层、池化层、上采样层和特征融合fromkeras.layersimportInput,Conv2D,MaxPooling2D,UpSampling2D,Add2.预处理并加载数据image=load_images("data/T91/",image_path)defload_images(inputdir,inputpath):imglist=[]foriinrange(len(inputpath)):img=cv2.imread(inputdir+inputpath[i],cv2.IMREAD_COLOR)img=cv2.resize(img,(128,128))img=img[::-1]imglist.append(img)returnimglist4案例实施3.构造低分辨率图像将原图像先缩小,再放大,这样会使其分辨率降低,以此作为低分辨率图像,传给模型。temp=cv2.resize(image[i,:,:,:],(64,64))temp=cv2.resize(temp,(128,128))label[i,:,:,:]=temp4.模型搭建这里使用一个改良的SRCNN网络。经过两次降采样(低分辨率特征提取),经过两次上采样(低分辨率映射到高分辨率),最后得到高分辨率特征进行重建。4案例实施defnetwork_ddsrcnn():input_img=Input(shape=(128,128,3))enc1=Conv2D(64,kernel_size=3,activation="relu",padding="same")(input_img)enc1=Conv2D(64,kernel_size=3,activation="relu",padding="same")(enc1)down1=MaxPooling2D(pool_size=2)(enc1)enc2=Conv2D(128,kernel_size=3,activation="relu",padding="same")(down1)enc2=Conv2D(128,kernel_size=3,activation="relu",padding="same")(enc2)down2=MaxPooling2D(pool_size=2)(enc2)enc3=Conv2D(256,kernel_size=3,activation="relu",padding="same")(down2)up3=UpSampling2D(size=2)(enc3)dec3=Conv2D(128,kernel_size=3,activation="relu",padding="same")(up3)dec3=Conv2D(128,kernel_size=3,activation="relu",padding="same")(dec3)add2=Add()([dec3,enc2])up2=UpSampling2D(size=2)(add2)dec2=Conv2D(64,kernel_size=3,activation="relu",padding="same")(up2)dec2=Conv2D(64,kernel_size=3,activation="relu",padding="same")(dec2)add1=Add()([dec2,enc1])dec1=Conv2D(3,kernel_size=5,activation="linear",padding="same")(add1)model=Model(input_img,dec1)returnmodel4案例实施5.训练初始化一个学习率,并编写了一个学习率回调函数,用于动态调整学习率。ifepoch<500:returninitial_learningrateelse:returninitial_learningrate*0.99**epoch接下来计算评价指标PSNR。return-10*K.log(K.mean(K.flatten((y_true-y_pred))**2))/np.log(10)编译并训练。pile(loss="mean_squared_error",optimizer=adam_v2.Adam(learning_rate=initial_learningrate),metrics=[psnr])model.fit(label,image,epochs=100,batch_size=16,shuffle=True,verbose=1,callbacks=[LearningRateScheduler(lr_decay,verbose=1)])4案例实施6.预测并展示关于性能的提升,通常可以从以下几方面来着手:1.增大卷积核的大小:通过增大卷积核的大小,可以增强重建效果

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论