目标图片的识别方法、装置和计算机可读存储介质
技术领域
本公开涉及计算机技术领域,特别涉及一种目标图片的识别方法、目标图片的识别装置和计算机可读存储介质。
背景技术
随着计算机技术的发展以及社交软件的兴起,自拍、外景等图像已经在互联网上广泛传播。对于一件或一种事物、事件的记录传播也多用图像来表达。甚至抓拍摄像头,均是采集外界事物的图像。这就对用户上传图片的识别、审核提出了更高的要求。
在相关技术中,可以采用图像处理等计算机技术识别违规图像。
发明内容
本公开的发明人发现上述相关技术中存在如下问题:目标图像的识别率较低。
鉴于此,本公开提出了一种目标图片的识别技术方案,能够提高目标图像的识别率。
根据本公开的一些实施例,提供了一种目标图片的识别方法,包括:利用感知哈希算法,计算用户上传图片的第一哈希值;将所述第一哈希值与各对比图片的第一对比哈希值进行匹配,以获取第一匹配结果,所述第一对比哈希值通过所述感知哈希算法计算;根据所述第一匹配结果,确定所述上传图片是否为目标图片。
在一些实施例中,所述将所述第一哈希值与各对比图片的第一对比哈希值进行匹配包括:计算所述第一哈希值与各第一对比哈希值的距离;根据所述距离,确定所述上传图片与各对比图片的匹配程度,作为所述第一匹配结果。
在一些实施例中,在计算所述第一哈希值之前还包括:利用原值加密哈希算法,计算所述上传图片的第二哈希值;将所述第二哈希值与各对比图片的第二对比哈希值进行匹配,以确定第二匹配结果,所述第二对比哈希值通过所述原值加密哈希计算;根据所述第二匹配结果,确定所述上传图片是否为目标图片;在根据所述第二匹配结果,确定所述上传图片不是目标图片的情况下,计算所述第一哈希值,并根据所述第一匹配结果,确定所述上传图片是否为目标图片。
在一些实施例中,所述第一哈希值为差值哈希值。
在一些实施例中,所述根据所述第一匹配结果,确定所述上传图片是否为目标图片包括:在所述距离小于等于第一阈值的情况下,确定所述上传图片为所述目标图片,存在违规情况;在所述距离大于所述第一阈值的情况下,根据所述距离确定是否需要对所述上传图片进行进一步违规审核。
在一些实施例中,所述根据所述距离确定是否需要对所述上传图片进行进一步违规审核包括:在所述距离大于所述第一阈值且小于等于第二阈值的情况下,确定所述上传图片为修改后的目标图片且存在违规情况,无需进行进一步违规审核;在所述距离大于所述第二阈值且小于等于第三阈值的情况下,确定所述上传图片为所述目标图片的相似图片,需要进行进一步违规审核;在所述距离大于所述第三阈值的情况下,确定所述上传图片不存在违规情况,无需进行进一步违规审核。
在一些实施例中,所述的识别方法,还包括:将获取所述上传图片的所述第一哈希值和溯源信息上传至区块链系统存储,所述溯源信息包括上传用户信息、上传设备信息中的至少一个;在确定所述上传图片为目标图片的情况下,从所述区块链系统中获取所述溯源信息,以便对所述上传图片进行溯源处理。
在一些实施例中,所述上传用户信息包括用户标识、用户互联网协议IP地址、用户上传端口中的至少一个;所述上传设备信息包括设备媒体存取控制MAC地址或者设备号。
根据本公开的另一些实施例,提供一种目标图片的识别装置,包括:计算单元,用于利用感知哈希算法,计算用户上传图片的第一哈希值;匹配单元,用于将所述第一哈希值与各对比图片的第一对比哈希值进行匹配,以获取第一匹配结果,所述第一对比哈希值通过所述感知哈希算法计算;确定单元,用于根据所述第一匹配结果,确定所述上传图片是否为目标图片。
在一些实施例中,所述匹配单元计算所述第一哈希值与各第一对比哈希值的距离;根据所述距离,确定所述上传图片与各对比图片的匹配程度,作为所述第一匹配结果。
在一些实施例中,所述匹配单元在计算所述第一哈希值之前还利用原值加密哈希算法,计算所述上传图片的第二哈希值;将所述第二哈希值与各对比图片的第二对比哈希值进行匹配,以确定第二匹配结果,所述第二对比哈希值通过所述原值加密哈希计算;根据所述第二匹配结果,确定所述上传图片是否为目标图片;在根据所述第二匹配结果,确定所述上传图片不是目标图片的情况下,计算所述第一哈希值,确定单元根据所述第一匹配结果,确定所述上传图片是否为目标图片。
在一些实施例中,所述第一哈希值为差值哈希值。
在一些实施例中,确定单元在所述距离小于等于第一阈值的情况下,确定所述上传图片为所述目标图片,存在违规情况;在所述距离大于所述第一阈值的情况下,根据所述距离确定是否需要对所述上传图片进行进一步违规审核。
在一些实施例中,确定单元在所述距离大于所述第一阈值且小于等于第二阈值的情况下,确定所述上传图片为修改后的目标图片且存在违规情况,无需进行进一步违规审核;在所述距离大于所述第二阈值且小于等于第三阈值的情况下,确定所述上传图片为所述目标图片的相似图片,需要进行进一步违规审核;在所述距离大于所述第三阈值的情况下,确定所述上传图片不存在违规情况,无需进行进一步违规审核。
在一些实施例中,所述的识别装置,还包括:上传单元,用于将获取所述上传图片的所述第一哈希值和溯源信息上传至区块链系统存储,所述溯源信息包括上传用户信息、上传设备信息中的至少一个;溯源单元,用于在确定所述上传图片为目标图片的情况下,从所述区块链系统中获取所述溯源信息,以便对所述上传图片进行溯源处理。
根据本公开的又一些实施例,提供一种目标图片的识别装置,包括:存储器;和耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器装置中的指令,执行上述任一个实施例中的目标图片的识别方法。
根据本公开的再一些实施例,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一个实施例中的目标图片的识别方法。
在上述实施例中,基于各对比图片,采用感知哈希算法作为目标图片的识别依据,即使目标图片被故意修改仍然能够识别出来,从而提高了目标图片的识别率。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1示出本公开的目标图片的识别方法的一些实施例的流程图;
图2示出本公开的目标图片的识别方法的另一些实施例的流程图;
图3示出本公开的上传图片的相关信息的一些实施例的示意图;
图4示出本公开的目标图片的识别装置的一些实施例的示意图;
图5示出本公开的目标图片的识别装置的一些实施例的框图;
图6示出本公开的目标图片的识别装置的另一些实施例的框图;
图7示出本公开的目标图片的识别装置的又一些实施例的框图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1示出本公开的目标图片的识别方法的一些实施例的流程图。
如图1所示,该方法包括:步骤110,利用感知哈希算法计哈希值;步骤120,与对比哈希值进行匹配;步骤130,确定是否为目标图片。
在步骤110中,利用感知哈希算法,计算用户上传图片的第一哈希值。例如,利用感知哈希算法得到的第一哈希值可以是均值哈希值、感知哈希值或者差值哈希值。
在一些实施例中,第一哈希值为差值哈希值。差值哈希值对被修改的图片具有一定的识别能力,且计算速度较快,能够兼顾识别准确率和效率。
在一些实施例中,如果需要提高识别准确率,可以选择感知哈希值作为第一哈希值;如果需要提高识别效率,可以选择均值哈希值为第一哈希值。
在步骤120中,将第一哈希值与各对比图片的第一对比哈希值进行匹配,以获取第一匹配结果。第一对比哈希值通过与计算第一哈希值相同的感知哈希算法计算。
在一些实施例中,可以预先建立违规图片样本数据库(或敏感图片样本数据库),存储各类型违规图片的样本,及其相应的第一对比哈希值。例如,违规情况的类型可以包括涉黄、涉政、暴恐、违禁、广告等。
在一些实施例中,计算第一哈希值与各第一对比哈希值的距离;根据距离,确定上传图片与各对比图片的匹配程度,作为第一匹配结果。例如,可以计算第一哈希值与各第一对比哈希值的汉明距离。
在一些实施例中,利用原值加密哈希算法,计算上传图片的第二哈希值。例如,可以利用SHA256算法,计算第二哈希值。可以预先建立违规图片样本数据库,存储各类型违规图片的样本,及其相应的第二对比哈希值。
在需要提高识别速度的情况下,将第二哈希值与各对比图片的第二对比哈希值进行匹配,以确定匹配结果。第二对比哈希值通过与计算第二哈希值相同的原值加密哈希计算。
在需要提高识别准确性的情况下,将第一哈希值与各对比图片的第一对比哈希值进行匹配,以确定匹配结果。
在一些实施例中,利用原值加密哈希算法,计算上传图片的第二哈希值;将第二哈希值与各对比图片的第二对比哈希值进行匹配,以确定第二匹配结果,第二对比哈希值通过原值加密哈希计算。
根据第二匹配结果,确定上传图片是否为目标图片;在根据第二匹配结果,确定上传图片不是目标图片的情况下,计算第一哈希值,并根据第一匹配结果,确定上传图片是否为目标图片。
这样,可以通过计算速度较快的精确哈希值(第二哈希值)对上传图片进行初步判断,将与目标图片完全相同的上传图片筛选出来;再通过具有容错性能的感知哈希算法,对精确哈希值没有筛选出来的上传图片进行进一步判断。这种二次筛选方法能够在保证效率的情况下,提高识别率。
在步骤130中,根据第一匹配结果,确定上传图片是否为目标图片。例如,可以将得到的哈希值距离与阈值对比,大于阈值的情况下,认为上传图片为目标图片。可以对识别为目标图片的上传图片进行进一步审核,以确定是否确为目标图片。
在一些实施例中,在距离小于等于第一阈值的情况下,确定上传图片为目标图片,存在违规情况;在距离大于第一阈值的情况下,根据距离确定是否需要对上传图片进行进一步违规审核(如人工审核或其他人工智能方法审核)。
在一些实施例中,在距离大于第一阈值且小于等于第二阈值的情况下,确定上传图片为修改后的目标图片且存在违规情况,无需进行进一步违规审核;在距离大于第二阈值且小于等于第三阈值的情况下,确定上传图片为目标图片的相似图片,需要进行进一步违规审核;在距离大于第三阈值的情况下,确定上传图片不存在违规情况,无需进行进一步违规审核。
在一些实施例中,可以利用区块链技术,对识别为目标图片的上传图片进行溯源处理。例如,可以通过图2中的实施例实现上述技术方案。
图2示出本公开的目标图片的识别方法的另一些实施例的流程图。
如图2所示,该方法还包括:步骤210,将哈希值和溯源信息上传区块链;和步骤220,获取溯源信息。
在步骤210中,将获取上传图片的第一哈希值和溯源信息上传至区块链系统存储。溯源信息包括上传用户信息、上传设备信息中的至少一个。例如,上传用户信息包括用户标识、IP地址、用户上传端口中的至少一个;上传设备信息包括MAC地址或者设备号。
在一些实施例中,可以通过图3中的实施例配置上传图片的相关信息。
图3示出本公开的上传图片的相关信息的一些实施例的示意图。
如图3所示,可以建立图中的数据结构作为上传图片的相关信息的存储结构,以便进行溯源处理。例如,相关信息可以包括哈希信息、存储信息、上传信息等。上传信息可以作为溯源处理的依据,即溯源信息。
例如,哈希信息可以包括原hash、差值hash。原hash为利用原值加密哈希算法计算的上传图片的第二哈希值;差值dhash为利用感知哈希算法计算的上传图片的第一哈希值。
例如,存储信息可以包括图片云存储地址、序列号等。用户上传图片后,可以将该图片存储在云存储空间、数据库中,以获取图片云存储地址。
例如,上传信息可以包括上传用户信息、上传设备信息、上传时间信息、上传位置信息、序列号中的至少一个。上传用户信息可以包括用户凭证(如ID)、用户上传IP、用户上传端口等;上传设备信息可以包括设备MAC、设备号等;上传时间信息包括服务时间戳;上传位置信息包括经纬度坐标;序列号为用户上传操作的唯一流水号。
存储了溯源信息后,可以利用图2中的步骤220进行溯源处理。
在步骤220中,在确定上传图片为目标图片的情况下,从区块链系统中获取溯源信息,以便对上传图片进行溯源处理。
图4示出本公开的目标图片的识别装置的一些实施例的示意图。
如图4所示,目标图片的识别装置可以包括采集与处理模块、数据存储模块、AI(Artificial Intelligence,人工智能)处理模块和审核维护模块。
采集预处理模块,用于采集用户上传图片。例如,主要通过PC(PersonalComputer,个人计算机)端、APP(Application,应用)、微信、H5、抓拍摄像头等不同的方式采集图片。图像采集通常由客户主动在客户端进行采集。
采集预处理模块,还用于采集图片的各字段属性(相关信息),如唯一流水号、客户标识,客户IP,端口、硬件识别码(如MAC、国际移动设备识别码等)、时间戳、经纬坐标等关键信息点。
采集预处理模块,还用于图像预处理,包括:对图片进行原值加密哈希(如SHA256)算法处理,取得此图像的精确哈希值(原hash值);对图像进行感知哈希算法处理(如差异值哈希算法),取得此图像的差值哈希值(dhash)。综合相关信息和各哈希值,作为图像的基础信息(相关信息),如图3中各项信息。
数据存储模块可以包括原文件存储模块、相关信息存储模块。
例如,原文件存储模块用于将用户上传图片,进行云存储存储,并且获取存储地址(imageUrl)。
例如,相关信息存储模块用于存储采集预处理模块获取的相关信息,并对图片云存储地址进行存储。可以将相关信息等数据存储于存储设备、区块链中。
AI处理模块,用于根据人工智能算法进行目标图片识别。识别的基础是敏感图片样本库,该样本库包含了各类型的敏感图片,如涉黄、涉恐、涉政、涉毒等有害内容图片。例如,样本库存储的相关信息可以包括敏感同一批类型、dhash、文件存储地址等。
AI处理模块计算从区块链中获取上传图片的dhash,与样本库中各图片的dhash的汉明距离。可以设置距离阈值(如5),在汉明距离小于距离阈值的情况下,确定上传图片与样本图片库中样本图片是同一张图片。可以根据实际情况确定距离阈值,也可以设置需要再次审核的距离阈值。
审核维护模块,用于根据AI处理模块的运算结果进行审核,并将审核结果写入数据库。审核维护模块可以根据汉明距离,确定是否需要进一步审核处理。
例如,汉明距离小于等于第一阈值,确定上传图片与样本图片(目标图片)是相同图片,不需进一步审核,即可认定为目标图片;汉明距离大于第一阈值且小于第二阈值,确定上传图片与样本图片是相似图片(如上传图片为样本图片增加了修饰后获取),不需进一步审核,即可认定为目标图片。汉明距离大于等于第二阈值且小于第三阈值,确定上传图片与样本图片是相似图片,但差异比较大,需要进一步审核以确认图片是否违规;汉明距离大于第三阈值,确定上传图片与样本图片不是一个图片。
图5示出本公开的目标图片的识别装置的一些实施例的框图。
如图5所示,目标图片的识别装置5包括计算单元51、匹配单元52和确定单元53。
计算单元51利用感知哈希算法,计算用户上传图片的第一哈希值。匹配单元52将所述第一哈希值与各对比图片的第一对比哈希值进行匹配,以获取第一匹配结果。第一对比哈希值通过所述感知哈希算法计算。确定单元53根据第一匹配结果,确定上传图片是否为目标图片。
在一些实施例中,匹配单元52计算第一哈希值与各第一对比哈希值的距离;根据距离,确定上传图片与各对比图片的匹配程度,作为第一匹配结果。
在一些实施例中,匹配单元52在计算第一哈希值之前还利用原值加密哈希算法,计算上传图片的第二哈希值;将第二哈希值与各对比图片的第二对比哈希值进行匹配,以确定第二匹配结果。第二对比哈希值通过原值加密哈希计算。
匹配单元52根据第二匹配结果,确定上传图片是否为目标图片;在根据第二匹配结果,确定上传图片不是目标图片的情况下,计算第一哈希值,确定单元53根据第一匹配结果,确定上传图片是否为目标图片。
在一些实施例中,第一哈希值为差值哈希值。
在一些实施例中,确定单元53在距离小于等于第一阈值的情况下,确定上传图片为所述目标图片,存在违规情况;在距离大于第一阈值的情况下,根据距离确定是否需要对上传图片进行进一步违规审核。
在一些实施例中,确定单元53在距离大于第一阈值且小于等于第二阈值的情况下,确定上传图片为修改后的目标图片且存在违规情况,无需进行进一步违规审核;在距离大于第二阈值且小于等于第三阈值的情况下,确定上传图片为目标图片的相似图片,需要进行进一步违规审核;在距离大于第三阈值的情况下,确定上传图片不存在违规情况,无需进行进一步违规审核。
在一些实施例中,识别装置5还包括上传单元54、溯源单元55。上传单元54,用于将获取上传图片的第一哈希值和溯源信息上传至区块链系统存储。溯源信息包括上传用户信息、上传设备信息中的至少一个。溯源单元55,用于在确定上传图片为目标图片的情况下,从区块链系统中获取溯源信息,以便对上传图片进行溯源处理。
图6示出本公开的目标图片的识别装置的另一些实施例的框图。
如图6所示,该实施例的目标图片的识别装置6包括:存储器61以及耦接至该存储器61的处理器62,处理器62被配置为基于存储在存储器61中的指令,执行本公开中任意一个实施例中的目标图片的识别方法。
其中,存储器61例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)、数据库以及其他程序等。
图7示出本公开的目标图片的识别装置的又一些实施例的框图。
如图7所示,该实施例的目标图片的识别装置7包括:存储器710以及耦接至该存储器710的处理器720,处理器720被配置为基于存储在存储器710中的指令,执行前述任意一个实施例中的目标图片的识别方法。
存储器710例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。
目标图片的识别装置7还可以包括输入输出接口730、网络接口740、存储接口750等。这些接口730、740、750以及存储器710和处理器720之间例如可以通过总线760连接。其中,输入输出接口730为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口740为各种联网设备提供连接接口。存储接口750为SD卡、U盘等外置存储设备提供连接接口。
本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
至此,已经详细描述了根据本公开的目标图片的识别方法、目标图片的识别装置和计算机可读存储介质。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
可能以许多方式来实现本公开的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改。本公开的范围由所附权利要求来限定。