DENet:用于可见水印去除的Disentangled Embedding网络笔记

1 Title

        DENet: Disentangled Embedding Network for Visible Watermark Removal(Ruizhou Sun、Yukun Su、Qingyao Wu)[AAAI2023 Oral]

2 Conclusion

        This paper propose a novel contrastive learning mechanism to disentangle the high-level embedding semantic information of the images and watermarks, driving the respective network branch more oriented. The proposed mechanism is leveraged for watermark image decomposition, which aims to decouple the clean image and watermark hints in the high-level embedding space.This can guarantee the learning representation of the restored image enjoy more task-specific cues. In addition, this paper introduce a self-attention-based enhancement module, which promotes the network’s ability to capture semantic information among different regions, leading to further improvement on the contrastive learning mechanism

3 Good Sentences

        1、These uncertain cues are then fed into the decoder for further image reconstruction, which may harm the network to model the useful information, explicitly. With this in mind, our goal is to disentangle their semantic embeddings in the high-dimensional space, driving the network focusing on different parts of the watermarks and clean image.(The motivation of this paper to proposed DENet)
        2、Although the above mechanism provides additional supervision for disentangling network learning, it is hard to achieve ideal embedding with only conventional convolution layers,we adopt multi-head attention to capture information from different regions(Why need self-Attension Block)
        3、we first conduct sensitivity analysis experiments of the parameters. Then, we remove
all modules and add them back incrementally to explore their effectiveness.(The necessity of the Ablation Study)


        简介:本文提出了一种新的对比学习机制来解开图像和水印的高级嵌入语义信息,从而使相应的网络分支更加定向。此外,本文还引入了一个基于自注意的增强模块,该模块提高了网络在不同区域之间捕获语义信息的能力,从而进一步改进了对比学习机制。

        介绍:水印去除方法作为一种对抗技术推动数字水印的发展。而随着深度学习的蓬勃发展,目前,人们将水印去除任务视为图像到图像的一个翻译问题,然而,目前的方法忽略了水印和无水印图像特征的高级语义嵌入。
        以前的方法在单个编码器内捕获水印图像的语义信息,这将使它们的学习表示不那么具有鉴别性和分离性,这些不明确的线索被送到解码器中用于进一步的图像重建,在网络对有用信息进行明确建模时可能导致损害。
        而本文提出的DENet,在高维空间中解开水印和无水印图像的语义嵌入,这可以为解码器重建图像提供更明确的提示。水印图像的解耦嵌入具有潜在内容的更加独立的分布。具体来说,本文提出了一种对比学习机制来解耦水印和无水印图像的语义信息。在本文中组织了两组对比度损失约束,并构造了一个暹罗网络来获得正负对。还引入了一个基于自我注意的增强模块,旨在增强对不同区域特征的感知。

本文的主要贡献有三:
        1、第一次尝试探索在高维空间中干净的图片和水印的不同嵌入的影响,并实验性地拉动正对,推开负对。
        2、提出了一种用于水印去除的Disentangled Embedding网络,旨在通过对比学习机制在高级嵌入空间中解耦图像和水印表示,以获得更具定向的特征进行重建。以及提出了一个基于自注意的网络增强模块,用于捕获来自不同区域的信息。
        3、 在不同数据集上进行的广泛实验评估验证了我们提出的方法的优越性和有效性。

        相关工作:1、水印去除:随着深度学习的发展,出现了许多数据驱动的神经网络方法。其中一些仅将水印去除视为图像到图像的翻译任务。其他具有更好性能的替代方法在多任务学习框架内考虑了水印定位和水印去除。然而,上述方法都没有意识到解开不同任务之间的高级语义嵌入的重要性,并且仍然只是逐步接近不同的目标。
                           2、对比学习:对比学习是一种在无监督视觉表示学习领域广泛应用的有效方法。对比学习的核心思想是构建正对和负对,并采用Info-NCE等损失函数来缩小正对之间的距离,扩大负对之间的差距。

        方法:本文的目标是在高级空间中解开水印和无水印图像的嵌入,从而明确地向网络提供有价值的定向解耦信息。以下是提出的DENet的模型。
        整体架构:第一阶段:包括带水印图片、无水印图片、水印三重输入,输入后提取的特征构成正对和负对,目标是最大化负对距离,最小化正对距离,以分解水印和无水印图像之间的分布。然后,这些特征被馈送到解码器中,并产生粗略的结果。
                        ​​​​​​​  第二阶段:第一阶段的结果是输入,最终产生细化的输出。
          ​​​​​​​        ​​​​​​​        ​​​​​​​测试阶段,只给定带水印的图像,它将经过预训练的网络,最终重建为无水印图像。

        具体地说,在给定数据集中存在三种输入,包括带水印图像、无水印图像和水印,它们首先被送到共享权重编码器中以捕获语义信息。这样可以获得与无水印图像的特征和水印的特征相对应的语义嵌入W^-W。随后,将带水印图像的特征进一步发送到自注意力模块,对不同像素区域之间的语义信息进行建模,这将产生两个不同的嵌入W^*W^{*-}。如图中蓝色虚线和红色虚线所示,可以分别构建两个三元组,分别是{W^*,W^-,W}和{W^{*-},W^-,W},而对于每个三元组,目标是最小化正对距离,同时最大化负对距离。这样,可以在高维空间中解耦其的语义嵌入,获得更具定向的语义特征,这有利于后续的解码器网络分支。
        随后,两个不同的解缠嵌入线索被送到相应的解码器中用于水印去除和水印定位,这分别产生粗的无水印图像和水印掩模。然后,将粗略结果连接在一起,并通过Unet架构中的细化网络。具体是对相同分辨率下的两个特征图采用张量元素相加运算。最后,细化网络将产生细化的重构无水印图像。

解缠嵌入机制(Disentangled Embedding Mechanism)
        为了理清不同学习特征的嵌入,本文引入了对比学习机制。
        下面将以W^{*-}为例,介绍该解缠嵌入机制。
        给定无水印的图像嵌入W^{*-}R^{N \times C \times H \times W}以及编码特征W^-WR^{N \times C \times H \times W}
        首先,对数据集中给定的水印掩码进行下采样(Downsample),得到MR^{N \times 1 \times H \times W},并且能够将嵌入重新表达如下:其中⊙表示逐元素乘法,φ表示全局平均池,查询q应该与其正密钥p相似,而与负密钥n不同。
        在实际应用中,不能直接将水印图像输入共享权重编码器。相反,要在水印的黑色区域填充与无水印图像相同的内容,否则 0 的无用信息会对编码器造成损害。在本文中,通过使用公式(3) 可以删除之前填充的内容。
        朴素距离(?)(Naive Distance):可以只考虑正对,并尝试使它们的嵌入距离随着L_2损失而更近,这可以如下执行:。这种方法效果不太好。
        三元距离(Triplet Distance):上个距离的问题在于没有考虑负对,这里综合考虑正对和负对的距离,把损失定义为\tau是控制权重的参数。L^+_{CL}与上述相反,把W^*视作查询,{W,W^-}是正密钥和负密钥。

        自注意力模块(Self-Attention Block):仅用传统的卷积层很难实现理想的嵌入。因此,本文采用多头注意力来捕捉来自不同地区的信息。给定输入X,对于第i个头,函数公式化如下:W^Q_iW_i^KW^V_i是三个投影矩阵,d_k是特征维度,最后将来自不同头的所有特征连接起来作为输出。

        端到端训练(End-to-end Training):本文所提出的框架是一个端到端网络,所有模块都在一次反向传播中更新。训练阶段使用的损失函数如下。根据Hertz et al. 2019的方法,二进制交叉熵损失应用于监督具有ground truth:M的水印掩码\hat{M}
而给定无水印的ground truth:I,粗略输出图像\hat{I}_{coarse}和精细化的输出图像\hat{I}_{refine},使用L1损失来压缩ground truth和预测输出之间的差距:
再添加额外的深度感知损失,以获得更高质量的输出,其中\Phi ^k_{vgg}表示预训练的VGG16中第k层的激活图
最后,将上述所有损失函数进行组合,得到具有可控超参数的最终损失函数


实验部分:

        数据集介绍:所有实验都是在LOGO系列数据集上进行的。LOGO-L包含12151张用于训练的水印图像和2025张用于测试的图像。在该数据集中,水印透明度范围在35%到60%之间,水印大小也被调整为原始图像的35%到60%。LOGO-H包含与LOGO-L相同数量的图像,但该数据集中的水印大小占60%至80%,透明度设置为60%至85%。因此,由于缺少纹理和较大的水印区域,与LOGO-L相比,这是一个更难实现去水印的数据集。LOGO-Gray:该数据集还包括12151张用于训练的图像和2025张用于测试的图像。与上述两个数据集不同,嵌入的水印只包含灰度图像。
        实现细节:本文提出的方法通过pytorch实现,训练200个epoches,输入的图像分辨率为256*256,选择Adam作为优化器,学习率为1e-3,批量大小为16,公式7中的超参数为\lambda _{mask}=1,\lambda _{vgg}=0.25,\lambda _{contrast}=0.25,实验在几个流行的指标上评估了该方法,如峰值信噪比(PSNR)、结构相似性(SSIM)和深度感知相似性(LPIPS)。

本文还对这个方法做了消融实验以及对应的可视化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/282480.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【基础算法】前缀和

文章目录 算法介绍什么是前缀和??前缀和的作用一维数组求解前缀和(Si)二维数组求解前缀项和 示例题目1:acwing795示例题目2:acwing796总结收获 算法介绍 什么是前缀和?? 数组: a[1], a[2], a[3], a[4], a[…

WPF——命令commond的实现方法

命令commond的实现方法 属性通知的方式 鼠标监听绑定事件 行为:可以传递界面控件的参数 第一种: 第二种: 附加属性 propa:附加属性快捷方式

加密的艺术:对称加密的奇妙之处(下)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

SpringData JPA 整合Springboot

1.导入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0…

【Linux】cp问题,生产者消费者问题代码实现

文章目录 前言一、 BlockQueue.hpp&#xff08;阻塞队列&#xff09;二、main.cpp 前言 生产者消费者模式就是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯&#xff0c;而通过阻塞队列来进行通讯&#xff0c;所以生产者生产完数据之后不用…

图书管理系统jsp + servlet+mysql

图书管理系统 项目使用jsp servletmysql实现&#xff1b; 登陆注册 首页 首页显示图书信息 图书管理 1添加书籍 2查询书籍 3预览书籍 4修改书籍 用户管理 1查询用户 2修改用户 3 删除用户 链接&#xff1a;https://pan.baidu.com/s/1QXK--ypb6OadbmKFlc0jUQ

【Qt QML入门】TextInput

TextInput&#xff1a;单行文本输入框。 TextInput除了光标和文本外&#xff0c;默认没有边框等效果。 import QtQuick import QtQuick.Window import QtQuick.ControlsWindow {id: winwidth: 800height: 600visible: truetitle: qsTr("Hello World")//单行文本输…

市场全局复盘 20231215

昨日回顾&#xff1a; SELECT CODE,成交额排名,净流入排名,代码,名称,DDE大单金额,涨幅,主力净额,DDE大单净量,CONVERT(DATETIME, 最后封板, 120) AS 最后封板,涨停分析,_3日涨幅百分比,连板天,封单额,封单额排名,DDE散户数量,总金额,获利盘 FROM dbo.全部&#xff21;股20231…

【算法Hot100系列】正则表达式匹配

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

diffuser库之 Load pipelines, models, and schedulers 的阅读记录

加载不同pipeline safe checker pipeline转换 加载模型配置 远程库与本地库使用区别 本地库必须引入variant参数用于选择加载哪一种模型 保存模型 修改pipeline的scheduler pipeline class以及各个子模块的定义

如何批量获取CSDN文章数据并进行持久化

自己去看文章数据的话&#xff0c;比较慢&#xff0c;所以一直想通过程序来批量获取CSDN的文章数据&#xff0c;最近研究了一下&#xff0c;发现还是挺简单的&#xff0c;能够直接通过解析json来获取文章数据&#xff0c;跟大家分享一下。 文章目录 一、步骤1、首先我们到自己的…

文件函数的简单介绍

1. 向文件中写入一个字符 fputc int_Ch指的是输入文件中的字符 &#xff08;int&#xff09;的原因是以ascll码值的型式输入 #include <stdio.h> #include <errno.h> #include <string.h> int main() { FILE* pf fopen("test.txt","…