用于去除同源图片的方法、装置及服务器与流程

文档序号:22389604发布日期:2020-09-29 17:54阅读:127来源:国知局
用于去除同源图片的方法、装置及服务器与流程

本申请涉及图像处理技术领域,例如涉及一种用于去除同源图片的方法、装置及服务器。



背景技术:

随着互联网的快速发展,导致一张图片在经过互联网的传播后,不同用户由于不同的用途,会对图片进行一些基本的操作,比如把手机拍摄的图片缩成2寸照片或为了美化效果ps图片等,使得网络中出现大量冗余的图片数据。随着深度学习技术的不断发展,模型会需要大量数据作为训练集输入模型进行训练,通常选择从网络爬取图片作为训练集。从网络爬取图片数据作为训练集的过程中,会出现大量同源图片。同源图片对于模型的泛化能力效果提升有限,因此需要去除同源图片以非同源图片作为训练集。

在实现本公开实施例的过程中,发现相关技术中至少存在如下问题:

难以去除通过旋转方式得到的同源图片。



技术实现要素:

为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。

本公开实施例提供了一种用于去除同源图片的方法、装置及服务器,以便能够去除通过旋转方式得到的同源图片。

在一些实施例中,所述用于去除同源图片的方法,包括:

获取待测图片和原始图片;

将所述待测图片和原始图片输入识别模型获取所述待测图片和原始图片各自对应的第一特征图;

旋转所述第一特征图并获取旋转后的第二特征图;

获取所述第一特征图对应的第一向量特征和所述第二特征图对应的第二特征向量;

将所述第一特征向量和所述第二特征向量融合为第三特征向量;

在根据所述待测图片和原始图片各自的第三特征向量确定所述待测图片为所述原始图片的同源图片的情况下,去除所述待测图片。

在一些实施例中,所述用于去除同源图片的装置包括:包括处理器和存储有程序指令的存储器,该处理器被配置为在执行所述程序指令时,执行上述的用于去除同源图片的方法。

在一些实施例中,所述服务器包括上述的用于去除同源图片的装置。

本公开实施例提供的用于去除同源图片的方法、装置及服务器,可以实现以下技术效果:通过获取待测图片对应的第一特征图及其旋转后的第二特征图,并根据第一特征图对应的第一特征向量和第二特征图对应的第二特征向量识别出同源图片,能够去除通过旋转方式得到的同源图片且去除同源图片的效率高。同时对于旋转加其他简单操作导致的复杂变化有非常高的泛化识别能力,能够更好的达到同源图片去重的能力。

以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本申请。

附图说明

一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件示为类似的元件,附图不构成比例限制,并且其中:

图1是本公开实施例提供的一个用于去除同源图片的方法的示意图;

图2是本公开实施例提供的一个获取同源图片识别模型的方法示意图;

图3是本公开实施例提供的一个用于去除同源图片的装置的示意图。

具体实施方式

为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或多个实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。

本公开实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开实施例的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。

除非另有说明,术语“多个”表示两个或两个以上。

本公开实施例中,字符“/”表示前后对象是一种“或”的关系。例如,a/b表示:a或b。

术语“和/或”是一种描述对象的关联关系,表示可以存在三种关系。例如,a和/或b,表示:a或b,或,a和b这三种关系。

结合图1所示,本公开实施例提供一种用于去除同源图片的方法,包括:

步骤s101、获取待测图片和原始图片;

步骤s102、将待测图片和原始图片输入识别模型获取待测图片和原始图片各自对应的第一特征图;

步骤s103、旋转第一特征图并获取旋转后的第二特征图;

步骤s104、获取第一特征图对应的第一向量特征和第二特征图对应的第二特征向量;

步骤s105、将第一特征向量和第二特征向量融合为第三特征向量;

步骤s106、在根据待测图片和原始图片各自的第三特征向量确定待测图片为原始图片的同源图片的情况下,去除待测图片。

采用本公开实施例提供的用于去除同源图片的方法,通过获取待测图片对应的第一特征图及其旋转后的第二特征图,并根据第一特征图对应的第一特征向量和第二特征图对应的第二特征向量识别出同源图片,能够去除通过旋转方式得到的同源图片且能够提高识别出同源图片的准确率,从而大大提高去除同源图片的效率。

可选地,用于去除同源图片的方法,获取待测图片和原始图片各自对应的第一特征图前,还包括:在待测图片为灰度图的情况下,将待测图片转换为三通道图像;和/或,在原始图片为灰度图的情况下,将原始图片转换为三通道图像。

可选地,将灰度图的灰度值拷贝三份,分成三个通道,使其转换为三通道图像,使其与彩色图一样具有相同通道数。从而保证灰度图与彩色图可以输入到相同深度的卷积神经网络模型中。

可选地,用于去除同源图片的方法,获取待测图片和原始图片各自对应的第一特征图前,还包括:对待测图片的大小和原始图片的大小进行归一化处理。例如,将待测图片和原始图片压缩成224×224×3大小的图片。

在一些实施例中,将压缩成224×224×3大小的待测图片输入到卷积神经网络中,通过1×1卷积通道数增大为64,即224×224×64,再通过3×3卷积加步长为2的方式得到不同尺度特征图,即224×224×64→112×112×128→56×56×256→28×28×512→14×14×512→7×7×512,得到的7×7×512大小的第一特征图,该第一特征图包含了原始图片的语义信息,即为语义特征图。

可选地,旋转第一特征图并获取旋转后的第二特征图,包括:

将第一特征图按照90°逆时针旋转三次,得到三个第一特征图每次旋转后对应的第二特征图;或,

将第一特征图按照90°顺时针旋转三次,得到三个第一特征图每次旋转后对应的第二特征图。

在一些实施例中,将得到的7×7×512的第一特征图,依次按照90°逆时针旋转3次得到3个7×7×512的第二特征图,或者,依次按照90°顺时针旋转3次得到3个7×7×512的第二特征图。第二特征图也包含了原始图片的语义信息,第二特征图同样也是语义特征图。通过对提取到的第一特征图进行旋转,得到带有旋转的语义特征图,即第二特征图,从而能够保证即使对图像做旋转加其他任意操作,例如旋转加缩放、旋转加水印或者旋转加噪声等,仍然能够准确的识别出同源图片。

可选地,获取第一特征图对应的第一向量特征和第二特征图对应的第二特征向量,包括:通过全连接层分别从第一特征图获得对应的第一特征向量和第二特征图获得对应的第二特征向量。

在一些实施例中,对第一特征图和3个第二特征图,即4个7×7×512的语义特征图分别作全连接和激活函数,得到1个1×1×4096的第一特征向量和3个1×1×4096的第二特征向量。这样,对第一特征图通过全连接层获得第一特征向量,即提取高层语义特征图的语义信息特征;并对第一特征图旋转得到的第二特征图,并通过全连接层获得第二特征向量,即提取带旋转的高层语义特征图的语义信息特征。能够提高对语义相似的图片的识别率,具有良好泛化性,进而能够准确有效的剔除同源图片。

可选地,根据待测图片和原始图片各自的第三特征向量确定待测图片为原始图片的同源图片,包括:根据待测图片和原始图片各自的第三特征向量获取待测图片与原始图片的相似度;根据相似度确定待测图片为原始图片的同源图片。

可选地,将1个第一特征向量和3个第二特征向量依次进行收尾相接得到第三特征向量。

可选地,通过计算:获得待测图片与原始图片的相似度similarity;其中,similarity为待测图片与原始图片的相似度,a为待测图片的第三特征向量,b为原始图片的第三特征向量,k为正整数,k≤z,z为第三特征向量的通道数。可选地,z为4×4096。

可选地,根据相似度确定待测图片为同源图片,包括:在相似度大于或等于设定阈值的情况下,确定待测图片为同源图片。

可选地,设定阈值为0.9,当similarity≥0.9,则该待测图片为图片库中对应原始图片的同源图片;当similarity<0.9,则该待测图片不为图片库中对应原始图片的同源图片。

本公开实施例提供的用于去除同源图片的方法,通过将归一化处理后的图片输入卷积神经网络,并对高层的语义特征图进行语义信息特征提取和旋转语义信息特征提取。使得对同源图片识别准确率更高,并对于旋转加其他简单操作导致的更复杂变化也有非常高的泛化识别能力,且不仅对于像素级别的微小改变有很高的泛化识别能力,还对像素改变但语义信息基本不发生改变的操作,例如对比度调整,加水印等操作等泛化识别能力也很高,从而能够更好的把语义相近的图片提取出来,进而更好的达到图片去重的能力。

可选地,所述识别模型按以下方式得到:获取非同源训练图片并获取所述非同源训练图片的同源图片;将所述非同源训练图片及其对应的同源图片输入到卷积神经网络中进行训练得到语义特征图;对提取到的语义特征图进行旋转,得到旋转后的语义特征图;根据所述旋转后的语义特征图获得识别模型。

在一些实施例中,如图2所示,用于去除同源图片的方法还包括通过对图片进行训练获取一个识别同源图片与非同源图片的识别模型,然后直接调用该模型进行识别同源图片与非同源图片。获取识别模型的步骤如下:

步骤s201、获取训练图片集,可选地,从公开数据集选择p张非同源彩色图片,p≥100000,每张图片的大小为224*224像素。对每张图片随机作对比度调整、分辨率调整、彩转灰处理、平滑滤波处理、加水印处理、加噪声处理等操作中的任意一种或多种之后获得每张图片的同源图片,具体的:

对比度调整,可选地,通过计算s=crγ获得对比度s;其中,c为图像中的每个输入像素,r为当前图片所有像素的平均灰度值,γ为图片的曝光度,γ={0.04,0.10,0.20,0.40,0.67,1,1.5,2.5,5,10,25},按照不同的曝光度分别对当前图片做不同程度的曝光,从而生成不同对比度的图片。

彩转灰处理,将每张彩色图片对应转成灰度图像,生成灰度图像后,将灰度值拷贝三份,分成三个通道,并给三个通道赋予相同的灰度像素值。从而保证灰度图与彩色图可以输入到相同的深度网络结构模型中。

平滑滤波处理,对每张图片分别采用3×3,5×5,7×7的二维高斯滤波进行平滑滤波处理。

加水印处理,在预设的水印库中随机选取一张水印图,将此水印图贴在当前图片中,形成一张包含水印的新图片。

加噪声处理:在当前图片中,随机选出至多1%的像素坐标,对其对应的像素值按照随机像素,例如0至255进行赋值。

将p张非同源彩色图片及其各自的同源图片划分为p个非同源类别,从每个非同源类别中选择n张图片,其中,n中包含了该类别的原图片,得到训练图片集总共有p×n张训练图片。对每张原图片及其同源图片都赋予相同的标签。例如,其中原图片的标签为“1”,则它所有的同源图片的标签均赋为“1”。从而得到训练图片集和每张图片对应的标签,并能够实现自动得到标签数据,不需要人工参与,同时对于旋转加其他简单操作导致的复杂变化有非常高的泛化识别能力,能够更好的达到同源图片去重的能力。

步骤s202、对训练图片进行归一化处理,将所有的训练图片压缩成224*224*3的彩色图片。

步骤s203、将归一化处理后的训练图片输入到卷积神经网络中进行训练;可选地,将压缩成224×224×3大小的训练图片输入到卷积神经网络中,通过1×1卷积通道数增大为64,即224×224×64,再通过3×3卷积加步长为2的方式得到不同尺度特征图,即224×224×64→112×112×128→56×56×256→28×28×512→14×14×512→7×7×512,得到的7×7×512大小的第一特征图,该第一特征图包含了原始图片的语义信息,即为语义特征图。

可选地,将得到的7×7×512第一特征图,依次按照90°逆时针旋转3次得到3个第二特征图,或者,依次按照90°顺时针旋转3次得到3个第二特征图。第二特征图也包含了原始图片的语义信息,第二特征图同样也是语义特征图。通过对提取到的第一特征图进行旋转,得到带有旋转的语义特征图,即第二特征图,从而能够保证即使对图像做旋转加其他任意操作,例如旋转加缩放、旋转加水印或者旋转加噪声等,仍然能够准确的识别出同源图片。

步骤s204、通过fc1全连接层获得第一特征向量和第二特征向量,可选地,对第一特征图作全连接加激活函数,得到1×1×4096的第一特征向量;对3个第二特征图分别作全连接层加激活函数,得到3个1×1×4096的第二特征向量。第一特征向量和第二特征向量都为语义信息特征向量,即获得4个1×1×4096的语义信息特征向量。

步骤s205、通过fc2全连接层获得输出特征向量x,可选地,对4个1×1×4096的语义信息特征向量分别再做一次全连接加激活函数,得到4个1×1×p的输出特征向量x。可选地,可设置一个或者多个全连接层。

步骤s206、获取余弦角度距离损失函数,对每个非同源类别增加一个自适应的角度距离,从而增加每个非同源类别之间的余弦距离,获得相似度为从而获得相应的余弦角度距离损失函数为其中,yi∈[1,p],为第yi个非同源类别的权重向量与输出特征向量x的夹角,||·||为模长,为第yi个非同源类别与其他类别之间的最小余弦距离,p为非同源类别数,j≤p,p·n为训练图片数量,i≤p·n,i,j都为正整数。这样,通过增加每个类别之间的余弦距离,能够增大非同源图片的差异,减少同源图片的差异,从而更好的对同源图片和非同源图片做区隔,提高模型稳定性和泛化能力。

步骤s207、根据标签生成标签向量,例如总共有p个类别,当前训练图片属于第k∈[1,p]个类别,那么标签向量长度为p,且标签向量赋值为此即为由标签生成的标签向量。并且由于有4个1×1×p的输出特征向量,因此对这4个输出特征向量都赋值相同的标签向量。然后通过反向传播迭代优化参数,当余弦角度距离损失函数值达到稳定状态,所获得的模型参数即为训练好的模型。这样,使获得的识别同源图片与非同源图片的模型的稳定性更强,识别准确率更高,能够快速、精确的检索同源图片且具有良好的泛化性,也就是能更好的把语义相近的图片提取出来,从而更好的达到图片去重的能力。可选地,余弦角度距离损失函数值单调下降且大于等于0,那么当损失函数变化值小于设定变化值时,余弦角度距离损失函数值达到稳定状态,也就是说当前模型即训练得到的最优模型。

结合图3所示,本公开实施例提供一种用于去除同源图片的装置,包括处理器(processor)100和存储有程序指令的存储器(memory)101。可选地,该装置还可以包括通信接口(communicationinterface)102和总线103。其中,处理器100、通信接口102、存储器101可以通过总线103完成相互间的通信。通信接口102可以用于信息传输。处理器100可以调用存储器101中的程序指令,以执行上述实施例的用于去除同源图片的方法。

此外,上述的存储器101中的逻程序指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。

存储器101作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令/模块。处理器100通过运行存储在存储器101中的程序指令/模块,从而执行功能应用以及数据处理,即实现上述实施例中用于去除同源图片的方法。

存储器101可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器101可以包括高速随机存取存储器,还可以包括非易失性存储器。

采用本公开实施例提供的用于去除同源图片的装置,通过获取待测图片对应的第一特征图及其旋转后的第二特征图,并根据第一特征图对应的第一特征向量和第二特征图对应的第二特征向量识别出同源图片,能够去除通过旋转方式得到的同源图片且去除同源图片的效率高。同时对于旋转加其他简单操作导致的复杂变化有非常高的泛化识别能力,能够更好的达到同源图片去重的能力。

本公开实施例提供了一种服务器,包含上述的用于去除同源图片的装置。本公开实施例提供的服务器通过获取待测图片对应的第一特征图及其旋转后的第二特征图,并根据第一特征图对应的第一特征向量和第二特征图对应的第二特征向量识别出同源图片,能够去除通过旋转方式得到的同源图片且去除同源图片的效率高。同时对于旋转加其他简单操作导致的复杂变化有非常高的泛化识别能力,能够更好的达到同源图片去重的能力。

本公开实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为执行上述用于去除同源图片的方法。

本公开实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述用于去除同源图片的方法。

上述的计算机可读存储介质可以是暂态计算机可读存储介质,也可以是非暂态计算机可读存储介质。

本公开实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括一个或多个指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开实施例所述方法的全部或部分步骤。而前述的存储介质可以是非暂态存储介质,包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。

以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。而且,本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。

本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。所述技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。所述技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

附图中的流程图和框图显示了根据本公开实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。在附图中的流程图和框图所对应的描述中,不同的方框所对应的操作或步骤也可以以不同于描述中所披露的顺序发生,有时不同的操作或步骤之间不存在特定的顺序。例如,两个连续的操作或步骤实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1