首页 > 其他分享 >使用encoder编码器-decoder解码器加GAN网络的生成式图像修复

使用encoder编码器-decoder解码器加GAN网络的生成式图像修复

时间:2023-04-23 17:24:25浏览次数:38  
标签:编码器 卷积 遮挡 生成式 解码器 图像 AlexNet

论文链接

https://openaccess.thecvf.com/content_cvpr_2016/papers/Pathak_Context_Encoders_Feature_CVPR_2016_paper.pdf

简介

作者提出了一种基于上下文像素预测的无监督视觉特征学习算法,它既完成了特征提取,也完成了图像修复。

通过与自动编码器的类比,提出了上下文编码器(Context encoders),这是一种经过训练的卷积神经网络,可以根据周围环境生成任意图像区域的内容,也就是遮挡部分的内容。

为了成功完成这项任务,上下文编码器既需要理解整个图像的内容,也需要为缺失的部分生成一个合理的假设分布。

这篇论文结合了Encoder-Decoder网络结构和GAN网络,AlexNet网络和一些卷积神经网络,E-D阶段用于学习图像特征生成待修补区域对应的预测图,使用GAN对抗学习来优化模型。

网络结构1---Encoder-Decoder

 

上下文编码器作为生成网络。通过编码器传递上下文图像,以获得使用全通道连接层连接到解码器的特征,随后解码器产生图像中缺失的区域。

此处的Channel-wise Fully Connected全通道连接层使得解码器中的每个单元可以对整个图像内容进行推理去解码,如果仅仅只使用全连接层而不是使用Channel-wise Fully Connected层来代替它的话会导致参数爆炸。

上述流程图产生的是缺失部分。

如果使用AlexNet网络进行特征提取、修复,它使用的也是编码器,解码器,但它解码生成的是原始尺寸大小的。

网络结构2---Encoder

其中一个编码器结构就是源自于AlexNet结构,但不是为了Imagenet分类而训练的,而是用随机初始化的权重重新为上下文预测而训练的网络,也就是为了我们的提取特征进行解码而训练的编码器AlexNet结构。

Encoder:我们使用的是pool5,也就是第五层卷积层之后的那一层池化层之前的所有内容,(AlexNet是由5层卷积层+3层池化层构成的,pool5表示为最后一层池化层对应的第五层卷积层,因此叫做pool5,也就是处在第五层卷积的池化层,即全连接层之前的那个AlexNet架构,把他提取出来使用到我们的编码器里,然后再经过全通道连接层连接我们的解码器,使用解码器+上采样把他生成到和原始图一样的尺寸的内容。)

网络结构3---Channel-wise fully connected layer

 全通道连接层是对普通全连接层fc的一种改进,传统的fc层参数太多,因此作者提出可以在fc中去掉feature map层间的信息交流,从而减少参数规模,在fc之后会接一个步长stride为1的卷积层,来实现层间的信息交流,从而达到参数规模的效果。

网络结构4---Decoder

使用编码器产生的特征生成像素图像,然后在全通道连接层之后设置5个具有学习能力的filter的up-conv层,每一层都使用ReLu激活,产生解码,产生我们想要的图像。

损失函数1---Reconstruction Loss(重建loss)

使用的是MSE(L2)的损失函数

M:代表遮挡矩阵,里面是由1和0构成的,1代表被遮挡,0代表不被遮挡

 x:代表原始的输入图,即原始没有破损的那个输入图

:代表逐元素相乘

1-M代表遮挡部分置为0,去乘以x我们的原始图,说明我们被遮挡的部分就被置成了空白图像,因为rgb三通道的彩图之后,被设置为0就代表着x,1-M代表遮挡部分置为0,其余部分置为1,那么不被遮挡的部分就不变

:代表原始图像减去遮挡部分,即被遮挡图形

 

 

损失函数2---Joint Loss(联合loss)

 

 

标签:编码器,卷积,遮挡,生成式,解码器,图像,AlexNet
From: https://www.cnblogs.com/peak213/p/17346141.html

相关文章

  • 中电金信:生成式AI热潮下,文本智能走向何方?
    突破通用人工智能场景,生成式AI正在向全行业应用进攻。一个脑筋急转弯,几个月前ChatGPT是这样回答的:然而,仅仅几个月的迭代,它的回答却让人出乎意料。看似调侃的对比背后实则是无数次模型训练的支撑。基于数据的激增和算法的提升,生成式AI可自主分析用户数据,输出具有逻辑性的文本、语音......
  • PyTorch实现堆叠自编码器
    以下是一个使用PyTorch实现堆叠自编码器的示例代码,该代码包括三个自编码器和一些辅助函数,用于训练和测试堆叠自编码器。importtorchimporttorch.nnasnnimporttorch.optimasoptimimporttorchvision.transformsastransformsimporttorchvision.datasetsasdatas......
  • PyTorch实现联邦学习堆叠自编码器
    联邦学习是一种用于训练分布在不同设备或地点的模型的技术,其中数据分布在不同的设备上,且不会离开设备。每个设备只训练其本地数据的模型,并将更新的模型参数传递给服务器,服务器对这些更新进行聚合以更新全局模型。由于不共享原始数据,因此联邦学习能够提供更好的数据隐私和安全性......
  • Python3 列表生成式和最近刷题遇到问题
    python3创建二维数组需要用到列表生成式列表生成式即ListComprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。举个例子,要生成list [1,2,3,4,5,6,7,8,9,10]可以用list(range(1,11)):>>>list(range(1,11))[1,2,3,4,5,6,7,8,9,10]......
  • ffmpeg可支持的编码器、解码器、封装格式、网络协议
    {ffmpeg可支持的编码器./configure--list-encodersffmpeg可支持的解码器./configure--list-decodersffmpeg可支持的封装格式./configure--list-muxersffmpeg可支持的解封装格式./configure--list-demuxersffmpeg可支持的网络协议./configure--list-protocols查看......
  • 25-组合逻辑集成电路-编码器
    编码器组合逻辑集成电路(MSI)组合电路使用小规模电路设计,描述清楚,用小规模的集成电路实现;小规模集成电路比较灵活常用的部件(译码器\编码器\比较器\选择器)都是事先做好,直接进行使用1.编码器概念及分类1.1编码器的概念编码器:使用一组二进制数表示一个数值或者是符号。例......
  • 对射式红外传感器计次(旋转编码器计次)及外部中断的应用(实物未到待完善)
    【1.什么样的设备需要外部中断】STM32想要获取的信号是外部驱动的很快的突发信号按键不推荐,外部中断不好处理按键抖动和松手检测的问题,可以在主程序中循环读取或定时器中断读取的方式【2.使用外部中断有什么样的好处】有脉冲过来,STM32立即进入中断函数处理没有脉冲的时候,S......
  • 高通正式开源 aptX 和 aptX HD 编码器
    导读蓝牙音频的传输质量在过去这些年有了非常显著的进步,尤其是各大手机厂商开始陆续取消耳机接口,蓝牙音频的发展速度更是加快了不少,用户从一开始只能听个响到现在用蓝牙也可以听无损。说到音频编解码,目前市场上采用比较广泛的应该是SBC和AAC,还有高通主导的aptX、aptX......
  • Livestream Broadcaster:整合在线服务的高清视频编码器
    Livestream是一家提供现场视频流服务的创业公司,近日发布了一个价值495美金的视频编码器Broadcaster,几乎能连接任何摄像头,通过WiFi或任何网无线USB调制解调器将高清视频直接......
  • CSIG企业行-走进合合信息成功举行,聚焦生成式人工智能、智能文档处理前沿热点
    3月18日,由中国图象图形学学会(CSIG)主办,合合信息、CSIG文档图像分析与识别专业委员会联合承办的“CSIG企业行”系列活动成功举办。此次活动以“图文智能处理与多场景应用技术......