一种鉴别特定图像的方法和装置与流程

文档序号:12468158阅读:207来源:国知局
一种鉴别特定图像的方法和装置与流程

本发明涉及图像处理技术领域,尤其涉及一种鉴别特定图像的方法和装置。



背景技术:

网络直播平台需要承接多路直播任务,任务种类繁多,直播内容纷繁复杂,需要对直播任务进行鉴别以规避因用户直播图像涉及特定内容,例如涉黄等,带来的运营风险。

基于此,本发明的发明人发现,在现有技术中,大部分直播平台都会使用第三方的解决方案进行鉴黄操作,一般由对方提供API或库文件,平台进行定制开发,通常一张图片就需要启动鉴黄操作的一系列过程,程序的运行需占用较大的内存。

公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。



技术实现要素:

有鉴于此,本发明实施例要解决的技术问题是,如何提供一种鉴别特定图像的方法和装置在鉴别特定图像的过程中能够节约内存。

为解决以上技术问题,本发明实施例在一方面提供一种鉴别特定图像的方法,包括:提供编程接口将第一编程语言编写的程序代码转换为第二编程语言编写的程序代码,所述第一编程语言编写的程序代码用于鉴别特定图像;获取直播数据流;调用所述第二编程语言编写的程序代码对所述直播数据流进行分析;以及根据所述分析的结果判断所述直播数据流中是否包含特定图像。

在一种可能的实现方式中,调用所述第二编程语言编写的程序代码对所述直播数据流进行分析包括:根据预设大小创建进程队列,并根据所述进程队列,调用所述第二编程语言编写的程序代码对所述直播数据流进行分析。

在一种可能的实现方式中,根据所述第一编程语言编写的程序代码运行时按照规定时间返回结果的进程数,设置所述预设大小。

在一种可能的实现方式中,在所述特定图像包括色情图像时,所述调用所述第二编程语言编写的程序代码对所述直播数据流进行分析,包括:调用所述第二编程语言编写的程序代码,对所述直播数据流中包含的图像的亮度值、色相值、饱和度值进行分析,得到特定区域;根据所述分析的结果判断所述直播数据流中是否包含特定图像,包括:根据所述特定区域判断所述直播数据流中是否包含色情图像。

在一种可能的实现方式中,根据所述特定区域判断所述直播数据流中是否包含色情图像包括:根据所述特定区域的长度值和宽度值,判断所述直播数据流中是否包含色情图像。

为解决以上技术问题,本发明实施例还提供一种鉴别特定图像的装置,包括:接口模块,用于提供编程接口将第一编程语言编写的程序代码转换为第二编程语言编写的程序代码,所述第一编程语言编写的程序代码用于鉴别特定图像;获取模块,用于获取直播数据流;分析模块,用于调用所述第二编程语言编写的程序代码对所述直播数据流进行分析;以及判断模块,用于根据所述分析的结果判断所述直播数据流中是否包含特定图像。

在一种可能的实现方式中,所述分析模块用于:根据预设大小创建进程队列,并根据所述进程队列,调用所述第二编程语言编写的程序代码对所述直播数据流进行分析。

在一种可能的实现方式中,所述分析模块还用于:根据所述第一编程语言编写的程序代码运行时按照规定时间返回结果的进程数,设置所述预设大小。

在一种可能的实现方式中,所述分析模块用于:在所述特定图像包括色情图像时,调用所述第二编程语言编写的程序代码,对所述直播数据流中包含的图像的亮度值、色相值、饱和度值进行分析,得到特定区域;所述判断模块用于:根据所述特定区域判断所述直播数据流中是否包含色情图像。

在一种可能的实现方式中,所述判断模块还用于:根据所述特定区域的长度值和宽度值,判断所述直播数据流中是否包含色情图像。

为解决以上技术问题,本发明实施例还提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行以上各个方面所述的方法。

为解决以上技术问题,本发明实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于执行以上各个方面所述的方法。

为解决以上技术问题,本发明实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行以上各个方面所述的方法。

本发明实施例提供的一种鉴别特定图像的方法和装置,通过提供编程接口将第一编程语言编写的程序代码转换为第二编程语言编写的程序代码,所述第一编程语言编写的程序代码用于鉴别特定图像;获取直播数据流;调用所述第二编程语言编写的程序代码对所述直播数据流进行分析;以及根据所述分析的结果判断所述直播数据流中是否包含特定图像,能够将第一编程语言编写的程序代码转换为能够被直接调用的第二编程语言编写的程序代码,从而在鉴别特定图像的过程中节约内存。

根据下面参考附图对示例性实施例的详细说明,本发明的其它特征及方面将变得清楚。

附图说明

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

图1示出本发明实施例提供的一种鉴别特定图像的方法的流程图;

图2示出本发明另一实施例提供的一种鉴别特定图像的方法的流程图;

图3示出本发明另一实施例提供的一种鉴别特定图像的方法的流程图;

图4示出本发明另一实施例提供的一种鉴别特定图像的方法的流程图;

图5示出本发明实施例提供的一种鉴别特定图像的装置的结构示意图;

图6为本发明实施例提供的执行鉴别特定图像的方法的电子设备的硬件结构示意图。

具体实施方式

下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。

在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。

另外,为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本发明同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件未作详细描述,以便于凸显本发明的主旨。

实施例1

图1示出本发明实施例提供的一种鉴别特定图像的方法的流程图,该方法可以由电子设备执行,例如服务端设备等。换言之,所述方法可以由安装在服务端设备的软件和/或硬件来执行。所述服务端包括但不限于:单台服务器、服务器集群等。如图所示,该方法包括以下步骤。

S1:提供编程接口将第一编程语言编写的程序代码转换为第二编程语言编写的程序代码,所述第一编程语言编写的程序代码用于鉴别特定图像。

S2:获取直播数据流。

该直播数据流可以为并发的直播数据流。

S3:调用所述第二编程语言编写的程序代码对所述直播数据流进行分析。

S4:根据所述分析的结果判断所述直播数据流中是否包含特定图像。

由此,本发明实施例提供的一种鉴别特定图像的方法,通过提供编程接口将第一编程语言编写的程序代码转换为第二编程语言编写的程序代码,所述第一编程语言编写的程序代码用于鉴别特定图像;获取直播数据流;调用所述第二编程语言编写的程序代码对所述直播数据流进行分析;以及根据所述分析的结果判断所述直播数据流中是否包含特定图像,能够将第一编程语言编写的程序代码转换为能够被直接调用的第二编程语言编写的程序代码,从而在鉴别特定图像的过程中节约内存。

实施例2

图2示出本发明另一实施例提供的一种鉴别特定图像的方法的流程图,该方法可以由电子设备执行,例如服务端设备等。换言之,所述方法可以由安装在服务端设备的软件和/或硬件来执行。所述服务端包括但不限于:单台服务器、服务器集群等。如图所示,该方法包括以下步骤。

S1:提供编程接口将第一编程语言编写的程序代码转换为第二编程语言编写的程序代码,所述第一编程语言编写的程序代码用于鉴别特定图像。

在一种可能的实现方式中,可以通过SWIG(英文:Simplified Wrapper and Interface Generator,中文:简化包装器和接口生成器)提供编程接口。SWIG是将C或C++封装为其他高级语言的工具,使用SWIG不需修改源代码架构,只需要提供编程接口对需要封装的函数和类进行描述。

S2:获取直播数据流。

该直播数据流可以为并发的直播数据流。

S31:根据第一编程语言编写的程序代码运行时,按照规定时间返回结果的进程数n,设置预设大小n,根据预设大小n创建进程队列。

S32:根据所述进程队列,调用所述第二编程语言编写的程序代码对所述直播数据流进行分析。

S4:根据所述分析的结果判断所述直播数据流中是否包含特定图像。

由此,本发明实施例提供的一种鉴别特定图像的方法,通过提供编程接口将第一编程语言编写的程序代码转换为第二编程语言编写的程序代码,所述第一编程语言编写的程序代码用于鉴别特定图像;获取直播数据流;调用所述第二编程语言编写的程序代码对所述直播数据流进行分析;以及根据所述分析的结果判断所述直播数据流中是否包含特定图像,能够将第一编程语言编写的程序代码转换为能够被直接调用的第二编程语言编写的程序代码,从而在鉴别特定图像的过程中节约内存。

此外,本发明实施例提供的一种鉴别特定图像的方法,通过根据第一编程语言编写的程序代码运行时,按照规定时间返回结果的进程数n设置预设大小n,以及根据预设大小n创建进程队列,并根据所述进程队列,调用所述第二编程语言编写的程序代码对所述直播数据流进行分析,能够确保第一编程语言编写的程序代码被转换为第二编程语言编写的程序代码后,程序运行的性能不改变,即本发明实施例能够在节约内存的基础上,保证鉴别特定图像的效率。

实施例3

图3示出本发明下一实施例提供的一种鉴别特定图像的方法的流程图,该方法可以由电子设备执行,例如服务端设备等。换言之,所述方法可以由安装在服务端设备的软件和/或硬件来执行。所述服务端包括但不限于:单台服务器、服务器集群等。如图所示,该方法包括以下步骤。

S1:提供编程接口将第一编程语言编写的程序代码转换为第二编程语言编写的程序代码,所述第一编程语言编写的程序代码用于鉴别特定图像。

在一种可能的实现方式中,可以通过SWIG(英文:Simplified Wrapper and Interface Generator,中文:简化包装器和接口生成器)提供编程接口。

SWIG是将C或C++封装为其他高级语言的工具,使用SWIG不需修改源代码架构,只需要提供编程接口对需要封装的函数和类进行描述。

S2:获取直播数据流。

该直播数据流可以为并发的直播数据流。

S31:根据第一编程语言编写的程序代码运行时,按照规定时间返回结果的进程数n,设置预设大小n,根据预设大小n创建进程队列。

S33:在所述特定图像为色情图像时,根据所述进程队列,调用所述第二编程语言编写的程序代码,对所述直播数据流中包含的图像的亮度值、色相值、饱和度值进行分析,得到特定区域。

在一种可能的实现方式中,因为人体皮肤的颜色通常在一定的范围内,因此可以通过预设亮度值、色相值、饱和度值的阈值范围,来判断直播数据流所包含的图像中是否存在亮度值、色相值、饱和度值均在对应的阈值范围的特定区域。

S41:根据所述特定区域判断所述直播数据流中是否包含色情图像。

在一种可能的实现方式中,在存在特定区域的情况下,可以认为图像中包含大面积裸露的皮肤,并由此判断该直播数据流中包含色情图像。

由此,本发明实施例提供的一种鉴别特定图像的方法,通过调用所述第二编程语言编写的程序代码,对所述直播数据流中包含的图像的亮度值、色相值、饱和度值进行分析,得到特定区域,根据所述特定区域判断所述直播数据流中是否包含色情图像,能够高效、准确的鉴别数据流中是否存在色情图像,有效降低网络平台的运营风险。

实施例4

图4示出本发明下一实施例提供的一种鉴别特定图像的方法的流程图,该方法可以由电子设备执行,例如服务端设备等。换言之,所述方法可以由安装在服务端设备的软件和/或硬件来执行。所述服务端包括但不限于:单台服务器、服务器集群等。如图所示,该方法包括以下步骤。

S1:提供编程接口将第一编程语言编写的程序代码转换为第二编程语言编写的程序代码,所述第一编程语言编写的程序代码用于鉴别特定图像。

在一种可能的实现方式中,可以通过SWIG(英文:Simplified Wrapper and Interface Generator,中文:简化包装器和接口生成器)提供编程接口。

SWIG是将C或C++封装为其他高级语言的工具,使用SWIG不需修改源代码架构,只需要提供编程接口对需要封装的函数和类进行描述。

S2:获取直播数据流。

该直播数据流可以为并发的直播数据流。

S31:根据第一编程语言编写的程序代码运行时,按照规定时间返回结果的进程数n,设置预设大小n,根据预设大小n创建进程队列。

S33:在所述特定图像包括色情图像时,根据所述进程队列,调用所述第二编程语言编写的程序代码,对所述直播数据流中包含的图像的亮度值、色相值、饱和度值进行分析,得到特定区域。

在一种可能的实现方式中,因为人体皮肤的颜色通常在一定的范围内,因此可以通过预设亮度值、色相值、饱和度值的阈值范围,来判断直播数据流所包含的图像中是否存在亮度值、色相值、饱和度值均在对应的阈值范围的特定区域。

S42:根据所述特定区域的长度值和宽度值,判断所述直播数据流中是否包含色情图像。

在一种可能的实现方式中,图像中含有类似于人体皮肤颜色的特定区域之后,如果该特定区域是人的身体,那么特定区域的长度值、宽度值应该符合人体的大小比例,之间的位置应满足一定的几何关系,根据特定区域的长度值和宽度值,判断该特定区域是否属于人的身体,如果不属于则可以排除色情图像的嫌疑。

由此,本发明实施例提供的一种鉴别特定图像的方法,通过调用所述第二编程语言编写的程序代码,对所述直播数据流中包含的图像的亮度值、色相值、饱和度值进行分析,得到特定区域,根据所述特定区域的长度值和宽度值,判断所述直播数据流中是否包含色情图像,能够高效、准确地鉴别数据流中是否存在色情图像,有效降低网络平台的运营风险。

实施例5

图5示出本发明实施例提供的一种鉴别特定图像的装置的结构示意图,如图所示,该装置10包括:接口模块11、获取模块12、分析模块13和判断模块14。

接口模块11,用于提供编程接口将第一编程语言编写的程序代码转换为第二编程语言编写的程序代码,所述第一编程语言编写的程序代码用于鉴别特定图像。获取模块12,用于获取直播数据流。分析模块13,用于调用所述第二编程语言编写的程序代码对所述直播数据流进行分析。判断模块14,用于根据所述分析的结果判断所述直播数据流中是否包含特定图像。

由此,本发明实施例提供的一种鉴别特定图像的装置10,通过提供编程接口将第一编程语言编写的程序代码转换为第二编程语言编写的程序代码,所述第一编程语言编写的程序代码用于鉴别特定图像;获取直播数据流;调用所述第二编程语言编写的程序代码对所述直播数据流进行分析;以及根据所述分析的结果判断所述直播数据流中是否包含特定图像,能够将第一编程语言编写的程序代码转换为能够被直接调用的第二编程语言编写的程序代码,从而在鉴别图像的过程中节约内存。

在一种可能的实现方式中,分析模块13用于根据预设大小创建进程队列,并根据所述进程队列,调用所述第二编程语言编写的程序代码对所述直播数据流进行分析。

在一种可能的实现方式中,分析模块13还用于:根据所述第一编程语言编写的程序代码运行时按照规定时间返回结果的进程数,设置所述预设大小。

由此,本发明实施例提供的一种鉴别特定图像的装置,通过根据第一编程语言编写的程序代码运行时,按照规定时间返回结果的进程数设置预设大小,以及根据预设大小创建进程队列,并根据所述进程队列,调用所述第二编程语言编写的程序代码对所述直播数据流进行分析,能够确保第一编程语言编写的程序代码被转换为第二编程语言编写的程序代码后,程序运行的性能不改变,即本发明实施例能够在节约内存的基础上,保证鉴别特定图像的效率。

在一种可能的实现方式中,分析模块13用于:在所述特定图像包括色情图像时,调用所述第二编程语言编写的程序代码,对所述直播数据流中包含的图像的亮度值、色相值、饱和度值进行分析,得到特定区域。判断模块14用于:根据所述特定区域判断所述直播数据流中是否包含色情图像。

由此,本发明实施例提供的一种鉴别特定图像的装置,通过调用所述第二编程语言编写的程序代码,对所述直播数据流中包含的图像的亮度值、色相值、饱和度值进行分析,得到特定区域,根据所述特定区域判断所述直播数据流中是否包含色情图像,能够高效、准确的鉴别数据流中是否存在色情图像,有效降低网络平台的运营风险。

在一种可能的实现方式中,判断模块14还用于:根据所述特定区域的长度值和宽度值,判断所述直播数据流中是否包含色情图像。

由此,本发明实施例提供的一种鉴别特定图像的装置,通过调用所述第二编程语言编写的程序代码,对所述直播数据流中包含的图像的亮度值、色相值、饱和度值进行分析,得到特定区域,并根据所述特定区域的长度值和宽度值,判断所述直播数据流中是否包含色情图像,能够高效、准确地鉴别数据流中是否存在色情图像,有效降低网络平台的运营风险。

实施例6

本发明实施例提供了一种非暂态(非易失性)计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的方法。

实施例7

本发明实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行以上各个方面所述的方法。

实施例8

图6是本发明实施例提供的执行鉴别特定图像的方法的电子设备的硬件结构示意图,如图所示,该设备包括一个或多个处理器610以及存储器620。以一个处理器610为例。该设备还可以包括:输入装置630和输出装置640。

处理器610、存储器620、输入装置630和输出装置640可以通过总线或者其他方式连接,图6中以通过总线连接为例。

存储器620作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块。处理器610通过运行存储在存储器620中的非暂态软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述方法实施例的处理方法。

存储器620可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储数据等。此外,存储器620可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器620可选包括相对于处理器610远程设置的存储器,这些远程存储器可以通过网络连接至处理装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置630可接收输入的数字或字符信息,以及产生信号输入。输出装置640可包括显示屏等显示设备。

所述一个或者多个模块存储在所述存储器620中,当被所述一个或者多个处理器610执行时,执行:提供编程接口将第一编程语言编写的程序代码转换为第二编程语言编写的程序代码,所述第一编程语言编写的程序代码用于鉴别特定图像;获取直播数据流;调用所述第二编程语言编写的程序代码对所述直播数据流进行分析;以及根据所述分析的结果判断所述直播数据流中是否包含特定图像。

在一种可能的实现方式中,调用所述第二编程语言编写的程序代码对所述直播数据流进行分析包括:根据预设大小创建进程队列,并根据所述进程队列,调用所述第二编程语言编写的程序代码对所述直播数据流进行分析。

在一种可能的实现方式中,根据所述第一编程语言编写的程序代码运行时按照规定时间返回结果的进程数,设置所述预设大小。

在一种可能的实现方式中,在所述特定图像包括色情图像时,所述调用所述第二编程语言编写的程序代码对所述直播数据流进行分析,包括:调用所述第二编程语言编写的程序代码,对所述直播数据流中包含的图像的亮度值、色相值、饱和度值进行分析,得到特定区域;根据所述分析的结果判断所述直播数据流中是否包含色情图像,包括:根据所述特定区域判断所述直播数据流中是否包含色情图像。

在一种可能的实现方式中,根据所述特定区域判断所述直播数据流中是否包含色情图像包括:根据所述特定区域的长度值和宽度值,判断所述直播数据流中是否包含色情图像。

上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。

本发明实施例的电子设备以多种形式存在,包括但不限于以下设备。

(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。

(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。

(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。

(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

(5)其他具有数据交互功能的电子装置。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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