CN111626912B - 水印去除方法及装置 - Google Patents
水印去除方法及装置 Download PDFInfo
- Publication number
- CN111626912B CN111626912B CN202010275332.6A CN202010275332A CN111626912B CN 111626912 B CN111626912 B CN 111626912B CN 202010275332 A CN202010275332 A CN 202010275332A CN 111626912 B CN111626912 B CN 111626912B
- Authority
- CN
- China
- Prior art keywords
- watermark
- image
- model
- repaired
- mask
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 101
- 238000001514 detection method Methods 0.000 claims abstract description 60
- 230000000295 complement effect Effects 0.000 claims description 50
- 238000012549 training Methods 0.000 claims description 50
- 230000008447 perception Effects 0.000 claims description 33
- 230000006870 function Effects 0.000 claims description 25
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000013527 convolutional neural network Methods 0.000 claims description 8
- 238000003860 storage Methods 0.000 claims description 7
- 239000011159 matrix material Substances 0.000 claims description 6
- 230000000877 morphologic effect Effects 0.000 claims description 5
- 230000001629 suppression Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 13
- 238000010586 diagram Methods 0.000 description 23
- 230000000694 effects Effects 0.000 description 8
- 238000013135 deep learning Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 230000008439 repair process Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000002360 preparation method Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001502 supplementing effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000003169 complementation method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000003703 image analysis method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Abstract
本发明涉及一种水印去除方法及装置,属于图像检测技术领域。旨在实现去水印流程的自动化,无需人工干扰,且能够一次性将图像中的所有水印检测出来。该方法包括:在具有水印的图像中检测包括水印的水印区域;在水印区域中去除水印所在位置处的像素得到水印掩模;根据水印掩模产生待修复的图像;以及利用训练后的图像补全模型补全待修复的图像。
Description
技术领域
本公开涉及图像检测技术领域,更具体地,涉及一种水印去除方法及装置。
背景技术
通常用户在网络平台上传图片时,平台考虑到版权原因,会给原始图像加上水印,而有时用户上传的图片可能带有其他平台水印,这时如果想得到完整的原始图像需要用到图像去水印技术。
现有方法通过收集大量同一水印图像识别水印样式,该类方法不利于去水印流程的自动化,且容易受到由于图像裁剪、缩放、压缩带来的误差,继而影响后续水印修复过程。此外,通过大量同一水印的图像估算图像水印位置,需要对所有图像进行特征提取,耗时比较大,并且每次只能对一种水印进行去除。
发明内容
有鉴于此,本公开实施例的目的在于提供一种水印去除方法及装置,旨在实现去水印流程的自动化,无需人工干扰,且能够一次性将图像中的所有水印检测出来。
根据本公开的第一方面,提供一种水印去除方法,包括:在具有水印的图像中检测包括水印的水印区域;在所述水印区域中去除所述水印所在位置处的像素得到水印掩模;根据所述水印掩模产生待修复的图像;以及利用训练后的图像补全模型补全所述待修复的图像。
在一个可能的实施例中,在具有水印的图像中检测包括水印的水印区域,包括:利用训练后的水印检测模型在所述具有水印的图像中标注水印检测框。
在一个可能的实施例中,在所述水印区域中去除所述水印所在位置处的像素得到水印掩模,包括:根据颜色阈值和形态学操作去除所述水印所在位置处的像素,形成水印掩模。
在一个可能的实施例中,根据所述水印掩模产生待修复的图像,包括:将所述水印掩模与所述水印区域点乘,得到待修复的图像。
在一个可能的实施例中,所述方法还包括:将补全后的图像填充在原始图像对应的区域中,得到去除水印后的图像。
在一个可能的实施例中,所述图像补全模型包括生成模型和感知模型,所述生成模型用于补全所述待修复的图像以生成补全后的图像,所述感知模型用于根据所述待修复的图像和所述补全后的图像计算相应的感知输出。
根据本公开的第二方面,提供一种用于图像补全模型的训练方法,所述图像补全模型包括生成模型和感知模型,所述生成模型用于补全待修复的图像以生成补全后的图像,所述感知模型用于根据待修复的图像和补全后的图像计算相应的感知输出,所述方法包括:根据不带水印的原始图像和水印掩模产生待修复的图像;根据所述原始图像和所述待修复的图像训练所述图像补全模型,直到所述图像补全模型收敛;其中,所述训练方法的损失函数至少部分地基于所述感知输出。
在一个可能的实施例中,所述感知模型是预训练的,所述方法还包括:训练所述生成模型。
在一个可能的实施例中,所述损失函数至少包括像素损失、感知损失和风格损失。
在一个可能的实施例中,所述像素损失为 Ll1=||(1-M)*(Igen-Igt)||1+λ||M*(Igen-Igt)||1,M为水印掩模,Igen为修复的图像,Igt为原始图像,λ为调节因子,|| ||1为L1距离;所述感知损失为 为感知模型的输出;所述风格损失为Kn(x)为格拉姆矩阵的计算函数。
在一个可能的实施例中,所述方法还包括:在具有水印的图像中检测包括水印的水印区域;以及在所述水印区域中去除所述水印所在位置处的像素得到水印掩模。
根据本公开的第三方面,提供一种水印去除装置,包括:检测模块,被配置为在具有水印的图像中检测包括水印的水印区域;去除模块,被配置为在所述水印区域中去除所述水印所在位置处的像素得到水印掩模;生成模块,被配置为根据所述水印掩模产生待修复的图像;以及补全模块,被配置为利用训练后的图像补全模型补全所述待修复的图像。
在一个可能的实施例中,所述检测模块,被配置为具体用于:利用训练后的水印检测模型在所述具有水印的图像中标注水印检测框。
在一个可能的实施例中,所述去除模块,被配置为具体用于:根据颜色阈值和形态学操作去除所述水印所在位置处的像素,形成水印掩模。
在一个可能的实施例中,所述生成模块,被配置为具体用于:将所述水印掩模与所述水印区域点乘,得到待修复的图像。
在一个可能的实施例中,所述装置还包括:填充模块,被配置为将补全后的图像填充在原始图像对应的区域中,得到去除水印后的图像。
在一个可能的实施例中,所述图像补全模型包括生成模型和感知模型,所述生成模型用于补全所述待修复的图像以生成补全后的图像,所述感知模型用于根据所述待修复的图像和所述补全后的图像计算相应的感知输出。
根据本公开的第四方面,提供一种用于图像补全模型的训练装置,所述图像补全模型包括生成模型和感知模型,所述生成模型用于补全待修复的图像以生成补全后的图像,所述感知模型用于根据待修复的图像和补全后的图像计算相应的感知输出,所述装置包括:生成模块,被配置为根据不带水印的原始图像和水印掩模产生待修复的图像;训练模块,被配置为根据所述原始图像和所述待修复的图像训练所述图像补全模型,直到所述图像补全模型收敛;其中,所述训练方法的损失函数至少部分地基于所述感知输出。
在一个可能的实施例中,所述感知模型是预训练的,所述训练模块被配置为还用于:训练所述生成模型。
在一个可能的实施例中,所述损失函数至少包括像素损失、感知损失和风格损失。
在一个可能的实施例中,所述像素损失为Ll1=||(1-M)*(Igen-Igt)||1+λ||M*(Igen-Igt)||1,M为水印掩模,Igen为修复的图像,Igt为原始图像,λ为调节因子,|| ||1为L1距离;所述感知损失为 为感知模型的输出;所述风格损失为Kn(x)为格拉姆矩阵的计算函数。
在一个可能的实施例中,所述装置还包括:检测模块,被配置为在具有水印的图像中检测包括水印的水印区域;以及去除模块,被配置为在所述水印区域中去除所述水印所在位置处的像素得到水印掩模。
根据本公开的第五方面,提供一种电子设备,包括:存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如第一方面或第二方面所述的方法。
根据本公开的第六方面,提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有可执行指令,该指令被处理器执行时使处理器执行如第一方面或第二方面所述的方法。
本公开实施例提供的水印去除方法及装置,首先,通过在具有水印的图像中检测包括水印的水印区域;其次,在水印区域中去除水印所在位置处的像素得到水印掩模;然后,根据水印掩模产生待修复的图像;最后,利用训练后的图像补全模型补全待修复的图像。将去水印的两个步骤均利用深度学习方法实现,在水印区域检测步骤中不需要预先知道水印的样式,也不需要通过收集该样式的大量水印图像构造样本。在水印去除步骤中利用图像生成的方法,通过网络模型恢复图像中原水印遮挡的部分,使得去除水印后的图像不仅避免了传统方法中水印边缘效果不好等缺点,还能保证该方法的鲁棒性和泛化性,较好地达到去水印的效果。
本公开的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开实施例而了解。本公开的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。
图1示出了本公开实施例提供的原始图像以及加上水印后的图像的示意图;
图2示出了本公开实施例提供的一种水印去除方法的流程图;
图3示出了本公开实施例提供的一种训练水印检测模型的示意图;
图4示出了本公开实施例提供的一种用于图像补全模型的训练方法的示意图;
图5示出了本公开实施例提供的Res-U-Net的模型架构的示意图;
图6示出了本公开实施例提供的Res-Block模块的示意图;
图7示出了本公开实施例提供的一种训练图像补全模型的示意图;
图8示出了本公开实施例提供的另一种水印去除方法的流程图;
图9示出了本公开实施例提供的一种水印去除装置的结构示意图;
图10示出了本公开实施例提供的一种用于图像补全模型的训练装置的结构示意图;
图11示出了本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。这里使用的词语“一”、“一个(种)”和“该”等也应包括“多个”、“多种”的意思,除非上下文另外明确指出。此外,在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
现有方法通过收集大量同一水印图像识别水印样式,该类方法不利于去水印流程的自动化,且容易受到由于图像裁剪、缩放、压缩带来的误差,继而影响后续水印修复过程。此外,通过大量同一水印的图像估算图像水印位置,需要对所有图像进行特征提取,耗时比较大,并且每次只能对一种水印进行去除。
如图1所示,为本公开实施例提供的原始图像以及加上水印后的图像的示意图。通常用户在网络平台上传图片时,平台考虑到版权原因,会给原始图像加上水印,而有时用户上传的图片可能带有其他平台水印,这时如果想得到完整的原始图像需要用到图像去水印技术。水印一般通过设置透明度的方式覆盖在原始图像上,在原始图像呈灰白色,图像添加水印可用下式表示,
J(p)=α*W(p)+(1-α)*I(p) (公式一)
其中,W表水印样式图,I代表原始图像,通过设置透明度α将水印样式图添加在原始图像上,最终形成包括水印的图像。
图像的水印去除可以分为两个步骤,第一步是水印区域检测,需要确定水印位置,第二步是水印去除,通过图像像素填充或图像修复的方式去除水印。如果通过人工方式,则需要利用Photoshop中的修复画笔、仿制图章等工具进行精细化去除,效率比较低,并且不利于平台的自动化处理。因此需要利用计算机视觉技术自动化、智能化地对水印进行提取、去除,而利用计算机进行水印去除时没有人为的监督反馈,如何保证图片中的水印能够完整去除并且能够最大化还原原始图像像的信息至关重要。
基于图像分析法去水印的两个步骤中,均可分为基于传统图像算子和基于深度学习的两种方法。现有水印区域检测方法集中为传统方法,该类方法利用大量特征描述算子提取图像的低维特征,如颜色阈值、边缘算子、纹理算子等,往往受限于水印及水印背景的复杂度,使得当水印不是单一颜色或者背景比较杂乱时效果不佳。其中传统方法中首先需要收集大量同一水印的图片,然后根据分析这些图像的梯度一致性确定水印前景图像并利用边缘模板匹配算法来确定每张图中的水印位置,然后利用水印前景计算添加水印的逆操作完成水印去除。而相关专利中也有记载表明,通过批量导入具有相同分辨率且具有相同水印区域的图片识别水印位置。
然而,对于用户生成内容(UGC)平台(比如,知乎),用户上传图片分享内容时,平台是无法提前获知该图像携带了哪种样式的水印,并且由于平台每天上传的图片总量大,无法通过人工的方式对水印样式分类,因此该类方法不适用于UGC平台的图像去水印需求。
在图像水印去除方法中,传统方法通过周围像素填充方法或估计水印逆函数进行水印去除。该类方法去水印后的图像往往还保留着水印的边缘痕迹,或者消除水印后的图像有明显的改动痕迹。基于深度学习的水印去除方法利用生成式模型,直接生成无水印图片。该种方法需要收集同一张图像的带水印图和对应的原始的无水印图,然后构造模型训练时的输入和输出,而同一张图像的带水印图和原始图像往往很难收集。而本方法中将图像生成模型的输入改为带有缺失区域的图像,输出为原始图像的模型,因此将生成模型转化成一个对图像缺失部分进行填充补全的方法。
综上,本方法将去水印的两个步骤均利用深度学习方法实现,在水印区域检测步骤中不需要预先知道水印的样式,也不需要通过收集该样式的大量水印图像构造样本。在水印去除步骤中利用图像生成的方法,通过网络模型恢复图像中原水印遮挡的部分,使得去除水印后的图像不仅避免了传统方法中水印边缘效果不好等缺点,还能保证该方法的鲁棒性和泛化性,较好地达到去水印的效果。下面将基于图2-6的内容对本公开进行详细的描述。
如图2所示,为本公开实施例提供的一种水印去除方法的流程图,包括:
201、在具有水印的图像中检测包括水印的水印区域。
作为一种优选的实现方式,上述的步骤201具体可以通过以下内容实现:利用训练后的水印检测模型在具有水印的图像中标注水印检测框。
示例性的,本公开实施例采用基于单阶段(one-stage)的水印检测模型来进行检测水印区域。
传统的水印检测算法通过收集大量相同水印图像来寻找水印的共同特征,继而确定水印的具体位置,然而该方法不利于图像去水印的自动化,因为UCG平台需要在用户上传图像时自动对图像进行水印去除,整个过程是无需人工干预的。实际上图像水印是有共同特征的,水印往往独立于图像的内容的,并且大多数水印呈现半透明或白色样式,通过借助如今的大数据以及算力的增长,我们可以利用深度神经网络对水印特征进行提取,抽象,进而直接从单幅图片识别出水印的位置。
基于深度学习的目标检测方法分为二阶段(two-stage)和一阶段 (one-stage)两种,其中two-stage的准确率一般高于one-stage的准确率,而速度上one-stage有明显优势。考虑到水印检测其实是区分水印 (前景)和图像本身(背景)的问题,检测类别较少,因此one-stage 也能够满足检测精度需求,并且由于其计算复杂度更小,水印检测这一流程的时间开销也较小。
如图3所示,为本公开实施例提供的一种训练水印检测模型的示意图。其中,本公开实施例提出的水印检测模型是基于YOLOv3架构,为了尽量减少模型运行耗时,选用的较为轻量级的卷积神经网络模型 Mobile-Net。该水印检测模型的输入为的原始水印图像,通过卷积神经网络骨干(CNN backone)后,经过非极大值抑制(Non-Maximum Suppression,NMS)输出带检测框的水印图像,该CNN backone包括8 倍下采样、16倍下采样以及32倍下采样等模块,其训练水印检测模型具体过程如下:
1)数据准备阶段:收集各种常见的带水印图,利用画框软件标注图像水印的位置信息,得到水印在原始图像的左上和右下坐标。
2)模型构建阶段:构建水印检测模型,其水印检测模型示意图如图 2所示。
3)模型训练阶段:通过梯度下降优化算法不断训练迭代模型,直至模型收敛。
当模型收敛后(即,模型训练好),通过输入图片单次前向操作即可得到大量的目标框,通过非极大值抑制(NMS)可以得到准确的水印检测框。然后,回到图2。
202、在水印区域中去除水印所在位置处的像素得到水印掩模。
作为一种优选的实现方式,上述的步骤202可以通过以下内容实现:根据颜色阈值和形态学操作去除所述水印所在位置处的像素,形成水印掩模(mask)。
示例性的,通过水印检测模型输出水印的矩形检测框,然后进行颜色分割得到水印mask。进一步的,在对水印区域进行颜色阈值分割,得到二值化的水印mask后,进行两次开操作和一次闭操作,消除微小的噪音并保证水印mask能够覆盖全部水印区域。
203、根据水印掩模产生待修复的图像。
作为一种优选的实现方式,上述的步骤203可以通过以下内容实现:将水印掩模与水印区域点乘,得到待修复的图像。
示例性的,通过将水印mask与原始图像中水印区域做点乘操作,得到水印区域像素值为0的待修复的图像。
本公开实施例中是通过水印mask和原始图像来构建待修复的图像,不需要去收集同一张图像的带水印图像和原始图像,这样就使得在数据准备阶段中的样本数据较为容易得到且数据本身较为准确,有参考意义。从而使得利用该构建得到的待修复的图像去训练图像补全模型更精确,进而后续采用训练后的图像补全模型补全待修复的图像得到的结果更准确。
204、利用训练后的图像补全模型补全待修复的图像。
作为一种可选的实施方式,上述的图像补全模型包括生成模型和感知模型,生成模型用于补全待修复的图像以生成补全后的图像,感知模型用于根据待修复的图像和补全后的图像计算相应的感知输出。
进一步的,所述方法还包括:将补全后的图像填充在原始图像对应的区域中,得到去除水印后的图像。
本公开实施例提供的水印去除方法,无需事先确定待去除水印图像的水印样式,直接利用水印检测模型确水印区域,此外,将图像去水印问题转化成图像缺失区域补全问题,使得去除水印后的图像信息损失较少,利用图像补全方法修复水印图,去除效果接近原始图像,比较自然该方法具有较好的鲁棒性和泛化性。
如图4所示,为本公开实施例提供的一种用于图像补全模型的训练方法的示意图。其中,所述图像补全模型包括生成模型和感知模型,所述生成模型用于补全待修复的图像以生成补全后的图像,所述感知模型用于根据待修复的图像和补全后的图像计算相应的感知输出,该训练方法包括:
401、根据不带水印的原始图像和水印掩模产生待修复的图像。
402、根据原始图像和待修复的图像训练图像补全模型,直到图像补全模型收敛。
作为一种可选的实现方式,上述的感知模型是预训练的,上述的步骤402中涉及训练图像补全模型的过程实际上是训练生成模型。
示例性的,本公开实施例中的感知模型为在Image-Net上预训练的 VGG16模型,而生成模型是通过样本集训练生得到的,该生成模型采用的是Res-U-Net的模型架构。
如图5所示,为本公开实施例提供的Res-U-Net的模型架构的示意图,该Res-U-Net的模型与图7中的70A对应。模型输入为RGB 3通道的待修复的图像(对应图7中待补全图),输出为修复后的无水印图像 (对应图7中的修复图)。Res-U-Net的模型模型整体可分为Encoder 部分和Decoder部分,其中卷积层中k代表卷积核大小,s代表卷积步长,因此Encoder中卷积s=2相当于2倍下采样,不断缩减特征图大小, Decoder中通过上采样扩大特征图。Encoder部分和Decoder部分均加入了Res-Block增强模型的特征提取能力。
如图6所示,为本公开实施例提供的Res-Block模块的示意图。其中,每个Res-Block由三个分支组成,分别是跳跃连接、普通卷积分支、带空洞卷积分支,其中卷积部分为了减小模型的计算复杂度,采用的是深度可分离卷积(depth-wise convolution),其中:通过将输入的图像分别经过图6中的左侧和右侧的卷积处理后得到的结果、以及输入的图像进行特征相加,从而实现通过Res-Block模型实现特征增强。
如图7所示,为本公开实施例提供的一种训练图像补全模型的示意图。其中,通过水印掩模和原始图像构建待补全图(待修复的图像),将该待补全图输入至Res-U-Net的模型(对应图7中的70A),输出修复后的图像,不断训练损失函数直至收敛。基于图7的内容,将训练图像补全模型分为以下三个步骤:
1)数据准备阶段:收集一批不带水印的图片,并根据上述的水印检测环节标注的图片收集水印掩膜。
2)模型构建阶段:构建图像补全模型,其模型示意图如图7所示。
3)模型训练阶段:通过梯度下降优化算法不断训练迭代模型,直至模型收敛。
其中,上述的训练方法的损失函数至少部分地基于感知输出。
作为一种可选的实现方式,上述的损失函数至少包括像素损失(图 7中的Ll1)、感知损失(图7中的Lperceptual)和风格损失(图7中的Lstyle)。
示例性的,所述像素损失为 Ll1=||(1-M)*(Igen-Igt)||1+λ||M*(Igen-Igt)||1,M为水印掩模,Igen为修复的图像,Igt为原始图像,λ为调节因子,用于调节水印区域和非水印区域的损失比例,|| ||1为L1距离;该像素损失函数衡量了修复后的图像和原始图像之间的绝对像素值误差。
示例性的,所述感知损失为 为感知模型的输出,该感知模型的输出是VGG16(对应图7中的70B)的第三次下采样后的激活输出(即block3 pooling输出),该感知损失函数衡量了修复后的图像和原始图像之间的语义误差。
示例性的,风格损失为Kn(x)为格拉姆矩阵的计算函数。
进一步的,所述方法还包括:在具有水印的图像中检测包括水印的水印区域;以及在水印区域中去除水印所在位置处的像素得到水印掩模。
示例性的,可以利用训练后的水印检测模型在具有水印的图像中标注水印检测框,从而确定水印区域。而该水印检测模型的训练过程参照图3对应的内容。
基于上述的图2-7的内容,本公开实施例提供一种水印去除的具体实现方式。
如图8所示,为本公开实施例提供的另一种水印去除方法的流程图。通过水印检测步骤我们已经可以得到水印的具体坐标,假设原始图像的大小为W*H,水印位置为(x1,y1)、(x2,y2),我们通过以下流程图可以实现去水印的完整流程:
801、输入用户上传的原始图像。
802、水印检测。
利用水印检测模型检测进行水印检测,具体内容参照图3所示的内容及其文字描述部分。
803、判断是否存在或检测到水印。
若存在水印则输出水印的位置坐标,否则执行步骤809去水印结束。
804、根据颜色阈值获取水印掩模。
具体的,对水印区域进行颜色阈值分割,得到二值化的水印mask。
805、对水印掩模进行开操作,覆盖整个水印。
具体的,可以滴水印掩模进行两次开操作和一次闭操作,消除微小的噪音并保证水印mask能够覆盖全部水印区域。
806、通过水印图和水印掩模点乘生成待补全图像。
具体的,可以将水印mask与原始图像的水印区域做点乘操作,得到水印区域像素值为0的待修复的图像。
807、将步骤806得到的待补全图像输入至图像补全模型中,得到修复后的图像。
808、将修复后图像中的补全的水印区域填充在原始图像对应的区域中,完成水印去除操作,得到去除水印后的图像,执行步骤809去水印结束。
下面将基于图2对应的水印去除方法的实施例中的相关描述对本公开实施例提供的一种水印去除装置进行介绍。以下实施例中与上述实施例相关的技术术语、概念等的说明可以参照上述的实施例。
如图9所示,为本公开实施例提供的一种水印去除装置的结构示意图。该装置9包括:检测模块91、去除模块92、生成模块93以及补全模块94,其中:
检测模块91,被配置为在具有水印的图像中检测包括水印的水印区域;去除模块92,被配置为在水印区域中去除水印所在位置处的像素得到水印掩模;生成模块93,被配置为根据水印掩模产生待修复的图像;以及补全模块94,被配置为利用训练后的图像补全模型补全待修复的图像。
作为一种可能的实施方式,检测模块91被配置为具体用于:利用训练后的水印检测模型在具有水印的图像中标注水印检测框。本公开实施例采用基于单阶段(one-stage)的水印检测模型来进行检测水印区域。
作为一种优选的实现方式,去除模块92被配置为具体用于:根据颜色阈值和形态学操作去除水印所在位置处的像素,形成水印掩模。
示例性的,通过水印检测模型输出水印的矩形检测框,然后进行颜色分割得到水印mask。进一步的,在对水印区域进行颜色阈值分割,得到二值化的水印mask后,进行两次开操作和一次闭操作,消除微小的噪音并保证水印mask能够覆盖全部水印区域。
作为一种可能的实施方式,生成模块93被配置为具体用于:将水印掩模与水印区域点乘,得到待修复的图像。示例性的,通过将水印mask 与原始图像中水印区域做点乘操作,得到水印区域像素值为0的待修复的图像。
作为一种可能的实施方式,装置还包括:填充模块95,被配置为将补全后的图像填充在原始图像对应的区域中,得到去除水印后的图像。
示例性的,图像补全模型包括生成模型和感知模型,生成模型用于补全待修复的图像以生成补全后的图像,感知模型用于根据待修复的图像和所述补全后的图像计算相应的感知输出。
下面将基于图4对应的用于图像补全模型的训练方法的实施例中的相关描述对本公开实施例提供的一种用于图像补全模型的训练装置进行介绍。以下实施例中与上述实施例相关的技术术语、概念等的说明可以参照上述的实施例。
如图10所示,为本公开实施例提供的一种用于图像补全模型的训练装置的结构示意图,该图像补全模型包括生成模型和感知模型,生成模型用于补全待修复的图像以生成补全后的图像,感知模型用于根据待修复的图像和补全后的图像计算相应的感知输出,装置10包括:生成模块1001,被配置为根据不带水印的原始图像和水印掩模产生待修复的图像;训练模块1002,被配置为根据原始图像和待修复的图像训练所述图像补全模型,直到图像补全模型收敛;其中,训练方法的损失函数至少部分地基于感知输出。
作为一种可能的实施方式,感知模型是预训练的,训练模块被配置为还用于:训练生成模型。
示例性的,本公开实施例中的感知模型为在Image-Net上预训练的 VGG16模型,而生成模型是通过样本集训练生得到的,该生成模型采用的是Res-U-Net的模型架构,关于Res-U-Net的模型架构的示意图具体参见图5.
作为一种可能的实施方式,损失函数至少包括像素损失、感知损失和风格损失。
示例性的,像素损失为Ll1=||(1-M)*(Igen-Igt)||1+λ||M*(Igen-Igt)||1,M 为水印掩模,Igen为修复的图像,Igt为原始图像,λ为调节因子,用于调节水印区域和非水印区域的损失比例,|| ||1为L1距离;该像素损失函数衡量了修复后的图像和原始图像之间的绝对像素值误差。
示例性的,感知损失为 为感知模型的输出;该感知模型的输出是VGG16的第三次下采样后的激活输出(即 block3 pooling输出),该感知损失函数衡量了修复后的图像和原始图像之间的语义误差。
示例性的,风格损失为Kn(x)为格拉姆矩阵的计算函数。
作为一种可能的实施方式,装置还包括:检测模块1003,被配置为在具有水印的图像中检测包括水印的水印区域;以及去除模块1004,被配置为在水印区域中去除水印所在位置处的像素得到水印掩模。
本公开实施例提供的水印去除方法及装置,首先,通过在具有水印的图像中检测包括水印的水印区域;其次,在水印区域中去除水印所在位置处的像素得到水印掩模;然后,根据水印掩模产生待修复的图像;最后,利用训练后的图像补全模型补全待修复的图像。将去水印的两个步骤均利用深度学习方法实现,在水印区域检测步骤中不需要预先知道水印的样式,也不需要通过收集该样式的大量水印图像构造样本。在水印去除步骤中利用图像生成的方法,通过网络模型恢复图像中原水印遮挡的部分,使得去除水印后的图像不仅避免了传统方法中水印边缘效果不好等缺点,还能保证该方法的鲁棒性和泛化性,较好地达到去水印的效果。
本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有可执行指令,该指令被处理器执行时使处理器执行如图2 或图4所示的任意一种方法。示例性的,计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘,硬盘、磁带)、光介质(例如,DVD)或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
如图11所示,为本公开实施例提供的一种电子设备的结构示意图,该电子设备1100包括中央处理单元(CPU)1101,其可以根据存储在只读存储器(ROM)1102中的程序或者从存储部分1108加载到随机访问存储器(RAM)1103中的程序而执行如图2或图4所示的各种适当的动作和处理。在RAM 1103中,还存储有电子设备1100操作所需的各种程序和数据。CPU 1101、ROM 1102以及RAM 1103通过总线1104彼此相连。输入/输出(I/O)接口1105也连接至总线1104。
以下部件连接至I/O接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种水印去除方法,包括:
在具有水印的图像中利用单阶段水印检测模型检测包括水印的水印区域;
在所述水印区域中去除所述水印所在位置处的像素得到水印掩模;
根据不带水印的原始图像和所述水印掩模产生待修复的图像;以及
利用训练后的图像补全模型补全所述待修复的图像,所述图像补全模型包括生成模型和感知模型,感知模型为在I mage-Net上预训练的VGG16模型,生成模型采用Res-U-Net模型架构;
其中,所述水印检测模型的训练方法包括:输入原始水印图像;将所述原始水印图像通过CNN backone卷积神经网络骨干后经过NMS非极大值抑制得到水印检测框。
2.如权利要求1所述的方法,其中,在所述水印区域中去除所述水印所在位置处的像素得到水印掩模,包括:
根据颜色阈值和形态学操作去除所述水印所在位置处的像素,形成水印掩模。
3.如权利要求1所述的方法,其中,根据所述水印掩模产生待修复的图像,包括:
将所述水印掩模与所述水印区域点乘,得到待修复的图像。
4.如权利要求1所述的方法,还包括:
将补全后的图像填充在原始图像对应的区域中,得到去除水印后的图像。
5.如权利要求1所述的方法,其中,所述生成模型用于补全所述待修复的图像以生成补全后的图像,所述感知模型用于根据所述待修复的图像和所述补全后的图像计算相应的感知输出。
6.一种用于图像补全模型的训练方法,所述图像补全模型包括生成模型和感知模型,所述生成模型用于补全待修复的图像以生成补全后的图像,所述感知模型用于根据待修复的图像和补全后的图像计算相应的感知输出,所述方法包括:
根据不带水印的原始图像和水印掩模产生待修复的图像;
根据所述原始图像和所述待修复的图像训练所述图像补全模型,直到所述图像补全模型收敛;
其中,所述训练方法的损失函数至少部分地基于所述感知输出,所述损失函数至少包括像素损失、感知损失和风格损失;
所述像素损失为Ll1=||(1-M)*(Igen-Igt)||1+λ||M*(Igen-Igt)||1,M为水印掩模,Igen为修复的图像,Igt为原始图像,λ为调节因子,1为L1距离;
所述感知损失为 为感知模型的输出;
所述风格损失为Kn(x)为格拉姆矩阵的计算函数。
7.如权利要求6所述的训练方法,其中,所述感知模型是预训练的,所述方法还包括:训练所述生成模型。
8.如权利要求6所述的训练方法,还包括:
在具有水印的图像中检测包括水印的水印区域;以及
在所述水印区域中去除所述水印所在位置处的像素得到水印掩模。
9.一种水印去除装置,包括:
检测模块,被配置为在具有水印的图像中利用单阶段水印检测模型检测包括水印的水印区域;
去除模块,被配置为在所述水印区域中去除所述水印所在位置处的像素得到水印掩模;
生成模块,被配置为根据不带水印的原始图像和所述水印掩模产生待修复的图像;以及
补全模块,被配置为利用训练后的图像补全模型补全所述待修复的图像,所述图像补全模型包括生成模型和感知模型,感知模型为在Image-Net上预训练的VGG16模型,生成模型采用Res-U-Net模型架构;
其中,所述水印检测模型的训练方法包括:输入原始水印图像;将所述原始水印图像通过CNN backone卷积神经网络骨干后经过NMS非极大值抑制得到水印检测框。
10.一种用于图像补全模型的训练装置,所述图像补全模型包括生成模型和感知模型,所述生成模型用于补全待修复的图像以生成补全后的图像,所述感知模型用于根据待修复的图像和补全后的图像计算相应的感知输出,所述装置包括:
生成模块,被配置为根据不带水印的原始图像和水印掩模产生待修复的图像;
训练模块,被配置为根据所述原始图像和所述待修复的图像训练所述图像补全模型,直到所述图像补全模型收敛;
其中,所述训练装置的损失函数至少部分地基于所述感知输出,所述损失函数至少包括像素损失、感知损失和风格损失;
所述像素损失为Ll1=||(1-M)*(Igen-Igt)||1+λ||M*(Igen-Igt)||1,M为水印掩模,Igen为修复的图像,Igt为原始图像,λ为调节因子,1为L1距离;
所述感知损失为 为感知模型的输出;
所述风格损失为Kn(x)为格拉姆矩阵的计算函数。
11.一种电子设备,包括:存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-8任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有可执行指令,该指令被处理器执行时使处理器执行如权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010275332.6A CN111626912B (zh) | 2020-04-09 | 水印去除方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010275332.6A CN111626912B (zh) | 2020-04-09 | 水印去除方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111626912A CN111626912A (zh) | 2020-09-04 |
CN111626912B true CN111626912B (zh) | 2024-07-12 |
Family
ID=
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105898322A (zh) * | 2015-07-24 | 2016-08-24 | 乐视云计算有限公司 | 一种视频去水印方法及装置 |
CN106934780A (zh) * | 2017-03-15 | 2017-07-07 | 中山大学 | 一种基于图像修复的自动水印去除方法 |
CN108765349A (zh) * | 2018-05-31 | 2018-11-06 | 四川斐讯信息技术有限公司 | 一种带有水印的图像修复方法及系统 |
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105898322A (zh) * | 2015-07-24 | 2016-08-24 | 乐视云计算有限公司 | 一种视频去水印方法及装置 |
CN106934780A (zh) * | 2017-03-15 | 2017-07-07 | 中山大学 | 一种基于图像修复的自动水印去除方法 |
CN108765349A (zh) * | 2018-05-31 | 2018-11-06 | 四川斐讯信息技术有限公司 | 一种带有水印的图像修复方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111028213B (zh) | 图像缺陷检测方法、装置、电子设备及存储介质 | |
CN107818554B (zh) | 信息处理设备和信息处理方法 | |
CN111476292A (zh) | 医学图像分类处理人工智能的小样本元学习训练方法 | |
CN111914698B (zh) | 图像中人体的分割方法、分割系统、电子设备及存储介质 | |
US20090252429A1 (en) | System and method for displaying results of an image processing system that has multiple results to allow selection for subsequent image processing | |
CN110570435B (zh) | 用于对车辆损伤图像进行损伤分割的方法及装置 | |
CN112884758B (zh) | 一种基于风格迁移方法的缺陷绝缘子样本生成方法及系统 | |
CN117036281A (zh) | 一种缺陷图像的智能生成方法及其系统 | |
CN111626379A (zh) | 肺炎x光图像检测方法 | |
KR20220054630A (ko) | 복수의 부분들을 포함하는 객체의 3차원 와이어프레임 모델을 생성하기 위한 컴퓨터-구현 방법 | |
CN113436251B (zh) | 一种基于改进的yolo6d算法的位姿估计系统及方法 | |
CN112365516B (zh) | 一种增强现实中虚实遮挡处理方法 | |
CN116664590B (zh) | 基于动态对比增强磁共振图像的自动分割方法及装置 | |
CN111626912B (zh) | 水印去除方法及装置 | |
CN116628250A (zh) | 图像生成方法、装置、电子设备及计算机可读取存储介质 | |
Zhang et al. | Automatic genaration of sketch-like pencil drawing from image | |
CN114898096A (zh) | 一种人物图像的分割和标注方法及系统 | |
CN113766147B (zh) | 视频中嵌入图像的方法、平面预测模型获取方法和装置 | |
CN114387315A (zh) | 图像处理模型训练、图像处理方法、装置、设备及介质 | |
CN111627098B (zh) | 对图像中水流区域识别并生成动态水流视频的方法及装置 | |
CN111626912A (zh) | 水印去除方法及装置 | |
CN110489584B (zh) | 基于密集连接的MobileNets模型的图像分类方法及系统 | |
CN116416513A (zh) | 信息获取方法、装置、电子设备及计算机可读存储介质 | |
Sun et al. | Image inpainting with learnable edge-attention maps | |
CN117523341B (zh) | 一种深度学习训练图像样本的生成方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |