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.mzph.cn/news/220003.shtml

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

相关文章

Debian 系统镜像下载

最近在看一些网络相关的文章需要用到 debian 11.x 的系统网上找了好多都发下载,在官网看一下 有个 11.8 的版本我无法下载,提示被最新的 debian-12.4.0 所代替,于是找到了这个链接 Index of /cdimage/unofficial/non-free/cd-including-fi…

imazing是什么软件

imazing是什么软件 iMazing 是世界上最值得信赖的软件,可以将您的信息、音乐、文件和数据从 iPhone 或 iPad 传输到您的 Mac 或 PC。 获得备份、数据提取、媒体和文件传输的强大能力,以及更多 iMazing 功能。 iMazing是一款第三方的苹果iOS设备管理软件。 iMazing- 2 Mac-安装…

死锁(面试常问)

1.什么是死锁 简单来说就是一个线程加锁后解锁不了 一个线程,一把锁,线程连续加锁两次。如果这个锁是不可重入锁,会死锁。两个线程,两把锁。 举几个例子,1.钥匙锁车里了,车钥匙锁家里了。2. 现在有一本书…

在 Qt Creator 中编写 Doxygen 风格的注释

2023年12月10日,周日上午 如何生成Doxygen 风格的注释 在需要Doxygen 风格注释的函数上方输入 /**,然后按下 Enter 键。Qt Creator 将自动为你生成一个注释模板。 输入,Qt Creator会自动帮你补全Doxygen标签 不得不说,写了Doxyge…

Re58:读论文 REALM: Retrieval-Augmented Language Model Pre-Training

诸神缄默不语-个人CSDN博文目录 诸神缄默不语的论文阅读笔记和分类 论文名称:REALM: Retrieval-Augmented Language Model Pre-Training 模型名称:Retrieval-Augmented Language Model pre-training (REALM) 本文是2020年ICML论文,作者来自…

Java版工程行业管理系统源码-专业的工程管理软件-提供一站式服务—鸿鹄工程管理系统

鸿鹄工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离构建工程项目管理系统 项目背景 随着公司的快速发展,企业人员和经营规模不断壮大。为了提高工程管理效率、减轻劳动强度、提高信息处理速度和准确性,公司对内部工程管理的提…

数据结构与算法:衡量算法好坏的指标——复杂度

1.复杂度 复杂度,用来分析算法执行过程中,所需要的资源。 时间复杂度是衡量所需要的时间。 空间复杂度,是衡量所需要的(内存)空间。 1.1 时间复杂度 特性 1.衡量算法执行所需时间 2.根据「常数操作」次数推定 3.一般以最大数据量N作为衡量…

js基础:函数、对象、WebAPIs-DOM

一、函数和对象 1、函数概述 🤖chatgpt:什么是函数?为什么要有函数? 函数是一种可重复使用的代码块,它们可以接受输入(参数)、执行特定的任务,并返回结果。 JavaScript中函数是非常…

Paper Reading: (InPL) 不平衡半监督学习中的分布内伪标记优先

目录 简介目标/动机方法实验总结Appendix 简介 题目:《InPL: Pseudo-labeling the Inliers First for Imbalanced Semi-supervised Learning》, ICLR’23 ​ InPL:不平衡半监督学习中的分布内伪标记优先 日期:2023.2.2 单位:威斯康星大学麦…

高通平台开发系列讲解(外设篇)高通平台EMMC适配说明

文章目录 一、EMMC的内部框图说明二、EMMC 设备树配置三、EMMC 内核配置四、EMMC 源码沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇章主要图解高通平台 EMMC适配说明。 eMMC(嵌入式多媒体卡)是一种集成了闪存存储器和控制器的存储芯片,通常用于嵌入式设备中,…

STM32的看门狗(WDG)

WDG(Watchdog)看门狗 看门狗可以监控程序的运行状态,当程序因为设计漏洞、硬件故障、电磁干扰等原因,出现卡死或跑飞现象时,看门狗能及时复位程序,避免程序陷入长时间的罢工状态,保证系统的可靠…

6.3 C++11 原子操作与原子类型

一、原子类型 1.多线程下的问题 在C中&#xff0c;一个全局数据在多个线程中被同时使用时&#xff0c;如果不加任何处理&#xff0c;则会出现数据同步的问题。 #include <iostream> #include <thread> #include <chrono> long val 0;void test() {for (i…

PXI/PCIe/VPX机箱 ARM|x86 + FPGA测试测量板卡解决方案

PXI便携式测控系统是一种基于PXI总线的便携式测试测控系统&#xff0c;它填补了现有台式及机架式仪器在外场测控和便携测控应用上的空白&#xff0c;在军工国防、航空航天、兵器电子、船舶舰载等各个领域的外场测控场合和科学试验研究场合都有广泛的应用。由于PXI便携式测控系统…

电机驱动开发

最近在搞电机驱动程序&#xff0c;感觉很简单&#xff0c;实际操作却发现里面还有很多猫腻&#xff08;细节&#xff09;。 电机在嵌入式设备中非常常见&#xff0c;例如云台的转动&#xff0c;都是靠电机来驱动的。 电机常见分步进电机、直流电机&#xff0c;相对来说步进电机…

C语言-WIN32API介绍

Windows API 从第一个32位的Windows开始就出现了&#xff0c;就叫做Win32API.它是一个纯C的函数库&#xff0c;就和C标准库一样&#xff0c;使你可以写Windows应用程序过去很多Windows程序是用这个方式做出来的 main()? main()成为C语言的入口函数其实和C语言本身无关&…

Fabric链码部署-go语言

最近在搞Fabric&#xff0c;今天刚刚明白如何把自己的链码部署并能跑通 网上的中文教程完全不友好&#xff0c;上来直接开始写代码&#xff0c;我连新建什么文件夹都不知道啊&#xff01;&#xff01; 于是痛定思痛&#xff0c;爆肝了一周多的官方文档 准备自己写一个&#…

数字孪生项目的开发框架

数字孪生的开发框架提供了一套工具和API&#xff0c;使开发者能够创建和管理数字孪生模型。这些框架通常包括虚拟建模、仿真、数据集成和分析等功能。以下是一些常见的数字孪生开发框架&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发…

Linux---切换目录命令

1. 切换目录命令的使用 命令说明cd 目录切换到指定目录cd ~切换到当前用户的主目录cd ..切换到上一级目录cd .切换到当前目录cd -切换到上一次目录 注意: cd命令切换目录时&#xff0c;这个目录必须存在。cd 后面不写目录等价于cd ~ cd 目录效果图: cd ~效果图: cd ..效果图…

SpringBootWeb入门、HTTP协议、Web服务器-Tomcat

目录 一、SpringBootWeb入门 二、HTTP协议 HTTP-请求协议 HTTP-响应协议 HTTP-协议解析 三、Web服务器-Tomcat 服务器概述 Tomcat 一、SpringBootWeb入门 直接基于SpringFramework进行开发&#xff0c;存在两个问题&#xff1a;配置繁琐、入门难度大 通过springboot就…

php 使用box打包

1.安装box 2.检查是否安装成功 3.查看路径&#xff0c;把路径添加到环境变量&#xff0c;方便使用 4.php项目根目录增加box.json配置文件 5.运行命令生成。这个是在cmd中运行的&#xff0c;记得切换到php源码目录 6.使用 php FastAdmin.phar运行。 说明&#xff1a;如果是常驻…