Deep Image Manipulation Localization (IML) models suffer from training data insufficiency and thus heavily rely on pre-training. We argue that contrastive learning is more suitable to tackle the data insufficiency problem for IML. Crafting mutually exclusive positives and negatives is the prerequisite for contrastive learning. However, when adopting contrastive learning in IML, we encounter three categories of image patches: tampered, authentic, and contour patches. Tampered and authentic patches are naturally mutually exclusive, but contour patches containing both tampered and authentic pixels are non-mutually exclusive to them. Simply abnegating these contour patches results in a drastic performance loss since contour patches are decisive to the learning outcomes. Hence, we propose the Non-mutually exclusive Contrastive Learning (NCL) framework to rescue conventional contrastive learning from the above dilemma. In NCL, to cope with the non-mutually exclusivity, we first establish a pivot structure with dual branches to constantly switch the role of contour patches between positives and negatives while training. Then, we devise a pivot-consistent loss to avoid spatial corruption caused by the role-switching process. In this manner, NCL both inherits the self-supervised merits to address the data insufficiency and retains a high manipulation localization accuracy. Extensive experiments verify that our NCL achieves state-of-the-art performance on all five benchmarks without any pre-training and is more robust on unseen real-life samples. The code is available at: https://github.com/Knightzjz/NCL-IML.
翻译:深度图像篡改定位(IML)模型因训练数据不足而严重依赖预训练。本文论证对比学习更适合解决IML的数据不足问题。构建互斥的正负样本是对比学习的先决条件。然而,将对比学习应用于IML时,会面临三类图像块:篡改块、真实块和轮廓块。篡改块与真实块天然互斥,但包含篡改与真实像素的轮廓块与它们呈非互斥关系。简单舍弃这些轮廓块会导致性能急剧下降,因为轮廓块对学习结果起决定性作用。为此,我们提出非互斥对比学习(NCL)框架,以解决传统对比学习面临的上述困境。在NCL中,为应对非互斥性,我们首先构建一个双分支枢轴结构,在训练过程中持续切换轮廓块作为正负样本的角色;随后设计枢轴一致性损失以避免角色切换导致的空间信息破坏。通过这种方式,NCL既继承了自监督方法在数据不足情况下的优势,又保持了高精度的篡改定位能力。大量实验证明,我们的NCL无需任何预训练即在五个基准数据集上取得最先进性能,并对未见过的真实样本具有更强鲁棒性。代码开源地址:https://github.com/Knightzjz/NCL-IML。