Pytorch实现基于GAN的无监督图像纹理特征传输训练自己的数据集

news/2025/2/25 22:58:33

简介

简介:利用Unet架构来构建生成器模型输出纹理特征图像,并设计了VGG19模型架构来构建纹理损失。利用多个低级VGG19的特征层计算均值和方差,并得到生成的纹理与真实纹理的差异性。并结合L1损失、对抗损失等共同训练。

论文题目:Unsupersived Image Texture Transfer Based On Generative Adversarial Network(基于生成对抗网络的无监督图像纹理传输)

会议:International Conference on Consumer Electronics and Computer Engineering (ICCECE)

摘要:生成对抗网络在图像纹理传输中的应用是计算机视觉领域的一个研究热点。 本文提出了一种无监督图像纹理传输方法,在生成对抗网络的基础上,利用VGG19模型构建纹理损失网络。 为了量化图像纹理信息,我们在该网络中使用了多个低级特征层的均值和方差。 纹理损失是指输入图像与目标图像之间纹理特征的差异,作用于生成器更新参数。 此外,在生成器中使用U-net全卷积网络是保持输入图像多尺度特征的有效方法。 在损失函数中,重构损失由生成图像和目标图像在各自的灰度空间中计算。 我们使用各种未配对数据集进行无监督训练实验。 结果表明,与其他纹理传输网络相比,该方法能更好地约束生成器的传输性能,达到任意纹理传输的目的。

模型结构

生成器架构

基于U-net的全卷积网络结构将高分辨率特征图与上采样后的低分辨率特征图相结合,可以有效保留图像的多尺度信息,减轻解码器的棋盘效应,更适合小样本训练。

生成器从自编码器延伸而来,将图像在编码时的卷积结果保存并与对应解码层的卷积结果合并,传递给反向网络。 编码器包含8个2步卷积层,其输入为256*256*3的图像,解码器包含8个2步幅的转置卷积层作为上采样块。 编码器和解码器都使用“相同”的卷积模式。 最后,输出图像的大小与原始图像相同,有效地保留了各特征层的结构信息。

鉴别器架构

鉴别器是一个全卷积网络。 前三个卷积层步长为2,第四个卷积层步长为1,卷积模式相同,最后一个卷积层通道数为1,卷积模式为“有效”。 与早期输出简单标量的GAN网络不同,我们方法中鉴别器的输出是一个大小为N x N的特征映射,矩阵中的每个元素表示它对应于原始图像中传感器场的真实样本的概率。 这种patchGAN结构可以更好地反映图像的局部信息,减少图像中背景信息对鉴别器结果的影响。

纹理网络

VGG19的网络模型,用‘ conv1_1 ’, ‘ conv2_1 ’, ‘ block3_conv1 ’, ‘ block4_conv1 ’, ‘ block5_conv1 ’计算特征层的均值和方差,用于表征图像纹理信息。纹理损失网络的输入是生成图像和目标图像。

损失函数

对抗损失:

纹理损失:

在纹理损失网络中,使用特定特征层数据的均值和方差来表征特征分布并量化纹理特征。通过计算两组图像对应特征层的特征差的绝对值,并对不同的特征层赋予不同的权重。

L1重建损失:


http://www.niftyadmin.cn/n/5866942.html

相关文章

大模型WebUI:Gradio全解12——LangChain原理及其agent构建Gradio(1)

大模型WebUI:Gradio全解12——LangChain原理及其agent构建Gradio(1) 前言本篇摘要12. LangChain原理及其agent构建Gradio12.1 LangChain概念及优势分析12.1.1 概念12.1.2 标准化组件接口1. 示例:聊天模型2. 示例:检索器12.1.3 编排组件12.1.4 便于部署12.1.5 可观测性和评…

Http模块及练习

### 作业 1. 静态文件服务器 js const http await import(http) const fs await import(fs) const proc ((req,res)>{ let file ./public${req.url} let FilePath file.replace(favicon.ico,"") // 检查文件是否存在 if (!fs.existsSync(FilePa…

STM32基础篇(三)------滴答定时器

滴答定时器简介 SysTick定时器(STK) 处理器有一个24位系统定时器SysTick,它从重新加载值倒计时到零,在下一个时钟沿重新加载(换行)LOAD寄存器中的值,然后对后续时钟倒计时。当处理器暂停调试时&…

白帽黑客系列教程之Windows驱动开发(64位环境)入门教程(七)

为什么要写这篇文章呢? 作为一名白帽黑客,如果想要学习ROOTKIT攻防技术,就必须要有能力进行驱动开发! 本文章仅提供学习,切勿将其用于不法手段! 在Windows操作系统的64位环境中,进行ROOTKIT攻…

Typora的Github主题美化

[!note] Typora的Github主题进行一些自己喜欢的修改,主要包括:字体、代码块、表格样式 美化前: 美化后: 一、字体更换 之前便看上了「中文网字计划」的「朱雀仿宋」字体,于是一直想更换字体,奈何自己拖延症…

gitlab初次登录为什么登不上去

今天又写了一次gitlab安装后,第一次登录的问题。 gitlab工作笔记_gitlab默认用户名密码-CSDN博客 因为又掉这个坑里了。 # 为什么第一次登录这么难? 第一是因为gitlab启动的时间很长,有时候以为装错了。 第二是初始密码,如果…

vue 修改el-tree高亮样式

vue 修改el-tree高亮样式 ::v-deep .el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content, ::v-deep .el-tree-node > .el-tree-node__content:hover {background-color: #eff8ee !important;color: #009764; }

超详细介绍map(multimap)的使用

map类的介绍 map的声明如下,Key是map底层关键字的类型,T是map底层value的类型。set默认要求Key支持小于比较,如果不支持或者需要的情况下我们可以自行传入仿函数,map底层存储数据的内存是从空间申请来的。一般情况下,我…