使用机器学习检测合成图像内的组成图像的制作方法

文档序号:14992092发布日期:2018-07-20 22:27阅读:119来源:国知局

本公开的一些方面和实施方式涉及图像处理,并且更具体地,涉及检测合成图像(compositeimage)内的组成图像(constituentimage),例如,检测画面的哪个部分包括上传视频的嵌入帧。



背景技术:

内容共享平台使得用户能够上传、消费、搜索、称赞(“点赞”)、点踩和/或评论诸如视频、图像、音频剪辑、新闻故事等的内容。图像通常包括以诸如二维阵列的特定布置组织的多个图片元素(例如,像素),并且视频通常包括被称为帧的一系列图像。



技术实现要素:

以下展示了本公开的各个方面的简要概述,以提供对这些方面的基本理解。本发明内容并非是对所有预期方面的广泛概述,并且既不旨在确定关键或至关重要的要素,也没有勾勒这些方面的范围。其唯一目的是,以简化形式展示本公开的一些构思,作为稍后呈现的更详细描述的序言。

在本公开的一个方面中,公开了用于训练机器学习模型(例如,神经网络、支持向量机[svm]等)并且使用经训练的模型来处理图像的系统和方法。在一个实施方式中,一种用于训练机器学习模型以识别合成图像内的组成图像的方法包括:生成针对所述机器学习模型的训练数据,其中,生成所述训练数据包括:生成合成图像,所述合成图像包括第一部分和第二部分,所述第一部分包含第一组成图像的像素数据,所述第二部分包含第二组成图像的像素数据;生成第一训练输入,所述第一训练输入包括所述合成图像的像素数据;以及生成针对所述第一训练输入的第一目标输出,其中,所述第一目标输出标识所述第一部分在所述合成图像内的位置。所述方法还包括:提供所述训练数据,以在(i)包括所述第一训练输入的训练输入集合和(ii)包括所述第一目标输出的目标输出集合上训练所述机器学习模型。

在一些实施方式中,所述合成图像的所述第二部分围绕所述合成图像的所述第一部分。在一些实施方式中,所述第一组成图像是第一视频的帧,所述第二组成图像是第二视频的帧。在一些实施方式中,所述第一部分在所述合成图像内的位置包括所述第一组成图像的左上角的坐标和所述第一组成图像的右下角的坐标。在一些实施方式中,所述训练输入集合中的每个训练输入被映射到所述目标输出集合中的目标输出。在一些实施方式中,所述机器学习模型被配置成处理新图像并且生成一个或多个输出,所述一个或多个输出指示(i)所述新图像是包括组成图像的合成图像的置信度、以及(ii)所述组成图像在所述新图像内所在的空间区域。

在本公开的一方面,一种方法包括:接收输入图像;使用经训练的机器学习模型来处理所述输入图像;以及基于使用所述经训练的机器学习模型来处理所述输入图像来获得一个或多个输出,所述一个或多个输出指示(i)所述输入图像是包括组成图像的合成图像的置信度、以及(ii)在所述输入图像内包含所述组成图像的空间区域。在一些实施方式中,所述方法还包括确定置信度满足阈值条件,以及从所述输入图像内的所述空间区域中提取所述组成图像。(该机器学习模型可以是已经根据上述方面被训练)。在其他实施方式中,例如,通过创建所提取的组成图像的指纹,并且将所创建的指纹与至少一个其他图像的指纹进行比较,可以在图像比较技术中或内容检测技术中使用所提取的组成图像。在一个示例中,将所创建的指纹与至少一个其他图像的指纹进行比较可包括将所创建的指纹与所存储的多个图像的指纹进行比较,以确定组成图像是否与多个图像中的任一个相似。

在一些实施方式中,所述输入图像包括围绕所述组成图像的第二组成图像。在一些实施方式中,所述组成图像是视频的帧。在一些实施方式中,所述第一空间区域是所述输入图像的多个空间区域中的一个。在一些实施方式中,所述第一空间区域是所述输入图像的多个空间区域中的一个,并且所述多个空间区域的并集包含所述输入图像的所有像素。在一些实施方式中,所述第一空间区域是所述输入图像的多个空间区域中的一个,并且所述多个空间区域在大小和形状上一致。在一些实施方式中,所述第一空间区域是所述输入图像的多个空间区域中的一个,并且所述多个空间区域中的至少两个具有不同的大小。在一些实施方式中,所述第一空间区域是所述输入图像的多个空间区域中的一个,并且所述多个空间区域中的至少两个具有不同的形状。在一些实施方式中,所述第一空间区域是所述输入图像的多个空间区域中的一个,并且所述多个空间区域中的至少两个是重叠的。在一些实施方式中,所述第一空间区域是所述输入图像的多个空间区域中的一个,并且所述多个空间区域是不重叠的。

在本公开的一方面,一种方法包括:接收输入图像;以及使用经训练的模型来处理所述输入图像,所述经训练的模型被配置为基于所述输入图像的像素数据来生成一个或多个输出,所述一个或多个输出指示(i)所述输入图像是包括组成图像的合成图像的置信度、以及(ii)在所述输入图像内包含所述组成图像的空间区域。(同样,该机器学习模型可以是已经根据上述方面被训练)。在一些实施方式中,所述方法还包括确定置信度满足阈值条件,以及从所述输入图像内的所述空间区域中提取所述组成图像。在其他实施方式中,例如,通过创建组成图像的指纹,并且将所创建的指纹与至少一个其他图像的指纹进行比较,可以在图像比较技术中或内容检测技术中使用所提取的组成图像。在一个示例中,将所创建的指纹与至少一个其他图像的指纹进行比较可包括将所创建的指纹与所存储的多个图像的指纹进行比较,以确定组成图像是否与多个图像中的任一个相似。

在本公开的一方面,一种设备包括:存储器,用于存储第一(输入)图像;以及处理装置,其与所述存储器操作地耦合,以将所述第一图像的像素数据作为输入提供到经训练的机器学习模型;从该经训练的机器学习模型获得一个或多个输出;以及从所述一个或多个输出中提取所述第一图像是包括组成图像的合成图像以及所述组成图像的至少一部分处于所述第一图像的特定空间区域中的置信度。在一些实施方式中,所述处理装置还用于确定置信度满足阈值条件,以及从所述第一图像的所述特定空间区域中提取所述组成图像。

在一些实施方式中,所述第一空间区域是所述第一图像的多个空间区域中的一个。在一些实施方式中,所述第一空间区域是所述第一图像的多个空间区域中的一个,并且所述多个空间区域在大小和形状上一致。在一些实施方式中,所述第一空间区域是所述第一图像的多个空间区域中的一个,并且其中所述多个空间区域中的至少两个具有不同的大小。在一些实施方式中,所述第一空间区域是所述第一图像的多个空间区域中的一个,并且所述多个空间区域中的至少两个是重叠的。在一些实施方式中,所述第一空间区域是所述第一图像的多个空间区域中的一个,并且所述多个空间区域是不重叠的。在一些实施方式中,所述第一空间区域是所述第一图像的多个空间区域中的一个,并且其中所述多个空间区域中的至少两个具有不同的形状。在一些实施方式中,所述空间区域是所述第一图像的多个空间区域中的一个,并且所述多个空间区域的并集包含所述第一图像的所有像素。在一些实施方式中,用包括输入和输出的输入-输出映射来训练所述经训练的机器学习模型,所述输入是基于合成图像的像素数据,所述合成图像包括第一部分和第二部分,所述第一部分包含第四图像的像素数据,所述第二部分包含第五图像的像素数据,并且所述输出标识所述第一部分在所述合成图像内的位置。

另外,公开了用于执行(或被配置为执行)上述方法中的任一个的操作和本文中描述的各种实施方式的计算装置。还公开了存储用于执行操作的指令的计算机可读介质,所述操作包括上述方法中的任一个以及本文描述的各种实施方式。

附图说明

将根据以下给出的具体实施方式和本公开的各种方面的附图和实施方式,更充分地理解本公开的方面和实施方式,然而,本公开不应该限于具体的方面或实施方式,而是只是为了说明和理解。

图1描述了根据本公开的一个或多个方面的例示性计算机系统。

图2描绘了根据本公开的一个或多个方面的用于训练机器学习模型的方法的一个示例的流程图。

图3描绘了根据本公开的一个或多个方面的例示性合成图像。

图4描绘了根据本公开的一个或多个方面的使用训练机器学习模型来处理图像的方法的一个示例的流程图。

图5描绘了根据本公开的一个或多个方面的图像的第一组空间区域。

图6描绘了根据本公开的一个或多个方面的图像的第二组空间区域。

图7描绘了根据本公开的一个或多个方面的图像的第三组空间区域。

图8描绘了根据本公开的一个或多个方面的图像的第四组空间区域。

图9描绘了根据本公开的一个或多个方面操作的例示性计算机系统的框图。

具体实施方式

存在期望将两个图像或图像序列相互进行比较的情形。虽然将两个图像或图像序列直接进行比较在原理上是可能的,但这有可能在计算上是昂贵和/或缓慢的,因此通常创建用于图像比较的有时被称为“指纹”的图像或图像序列的较低分辨率版本。作为一个示例,在内容共享平台中,用户可上传内容(例如,视频、图像、音频剪辑等)以包括在平台中,由此使其他用户能够消费(例如,观看等)该内容。在一些情况下,可能期望禁止包括某些类型的内容,诸如,包含另一个实体的素材的内容、包含分类材料的内容、包含不适合年龄的材料的内容等。因此,一些内容共享平台采用自动化检测技术来尝试识别和拒绝此内容。自动化检测技术可以创建上传内容的指纹(例如,通过向视频的帧应用函数)来确定所创建的指纹是否与所存储的指纹中的任一个相似。

一些用户已经开发了策略以试图阻挠自动化检测技术。例如,用户可以生成其中视频帧仅占用画面一部分的视频,从而可“摆脱”处理整个画面图像的基于特征的提取/匹配技术。传统的检测技术通常不能辨别视频帧的尺寸已经减小并且放置在画面的特定部分内。

本文中公开了自动化系统的方面和实施方式,该自动化系统能够检测诸如视频帧的图像的尺寸已经减小并且嵌入较大图像内的情形(例如,较大的画面图像或画面上的窗口)。更具体地,根据一个实施方式,生成一组示例图像并且将其用于训练机器学习模型。具体地,通过取两个现有图像(例如,电影的两个帧等)并且将它们并置形成单个合成图像(例如,调节第一图像和第二图像的尺寸以使用第一图像作为放置在合成图像的较小部分中的较小前景图像,并且将第二图像用作放置在合成图像的较大部分中的较大背景图像)来生成示例图像中的每个。在图3中,例如,第一图像被放置在全尺寸图像的较小部分301-1内,并且第二图像被放置在全尺寸图像的较大部分301-2内。

在训练机器学习模型期间,合成图像的像素数据被提供给机器学习模型作为输入,并且合成图像内的第一图像的一个或多个位置被提供给机器学习模型作为一个或多个目标输出(例如,第一图像的左上角和右下角的坐标等)。以这种方式,机器学习模型被训练成识别合成图像内的组成图像的位置。

在已经训练了机器学习模型之后,可以识别新图像(例如,具有上传视频的嵌入帧的图像等)以进行处理。在这种情况下,因为新图像其整体被提供给机器学习模型而没有任何如何生成新图像的知识,所以该新图像内的组成图像(例如,上传视频的嵌入帧)的位置是未知的。

在一个实施方式中,定义了新图像内的多个空间区域(例如,矩形区域等)(在图5至图8中示出了并且以下相对于图4的方法详细讨论了各种示例)。新图像的像素数据被作为输入展示给基于输入生成一个或多个输出的经训练的机器学习模型。在一个实施方式中,随后,从经训练的机器学习模型的输出中提取置信数据,其中,置信数据包括针对多个空间区域中的每个的新图像内的组成图像位于该特定空间区域内的置信度。例如,如果与图3的图像300相似的图像被输入经训练的机器学习模型,并且图5的空间区域501-1到501-12被定义为多个空间区域,则本公开的各方面的机器学习模型可以指示嵌入图像位于空间区域501-6中相对于位于空间区域501-12中的更高置信度。以下,将更详细地描述关于机器学习模型的训练和使用的特定方面。

因此,本公开的各方面提供了一种机制,通过该机制可以识别和定位全尺寸图像内的嵌入图像。该机制允许图像比较技术和自动化内容检测技术(例如,用于检测另一个实体的材料、分类材料等的自动化技术)被“聚焦”在全尺寸图像的相关部分上,而不是对整个图像进行操作。这增加了图像比较/内容检测技术的可靠性,并且减少或消除了对人工检查这些技术的结果的需要。例如,如果用户为试图绕过电影的指纹识别而缩小电影的每个视频帧的大小并且将每个所得的视频帧放置在画面图像的特定部分内,则本公开的各方面能够检测包含电影的视频帧的图像部分的位置,并且确保产生电影的有意义的指纹。因此,当本公开的实施例与自动化内容检测技术结合使用时,可以改善这些技术的准确性。

图1例示了根据本公开的一个实施方式的例示性系统架构100。系统架构100包括与网络104连接的服务器机器120、一个或多个服务器机器130至150、内容储存库110和客户端机器102a-102n。网络104可以是公共网络(例如,互联网)、专用网络(例如,局域网(lan)或广域网(wan))或其组合。

客户端机器102a-102n可以是个人计算机(pc)、膝上型计算机、移动电话、平板计算机、机顶盒、电视、视频游戏控制台、数字助理或任何其他计算装置。客户端机器102a-102n可以运行管理客户端机器102a-102n的硬件和软件的操作系统(os)。在一个实施方式中,客户端机器102a-102n可以将视频上传到网络服务器,以存储和/或处理。

服务器机器120可以是机架式服务器、路由器计算机、个人计算机、便携式数字助理、移动电话、膝上型计算机、平板计算机、相机、摄像机、上网本、台式计算机、媒体中心或以上的任何组合。服务器机器120包括能够(例如,经由网页、经由应用等)接收由客户端机器102a-102n上传的内容(例如,视频、音频剪辑、图像等)的上传服务器125。

内容储存库110是能够存储内容项以及用于对媒体项进行标记、组织和加索引的数据结构的持久存储器。内容储存库110可由一个或多个存储装置托管,诸如,主存储器、基于磁性或光学存储的磁盘、磁带或硬驱动器、网络附接存储(nas)、存储区网络(san)等。在一些实施方式中,内容储存库110可以是网络附接文件服务器,而在其他实施例中,内容储存库110可以是可被服务器机器120或经由网络104与服务器机器120耦合的一个或多个不同机器托管的某种其他类型的持久存储器,诸如,面向对象的数据库、关系数据库等。

存储在内容储存库110中的内容项可包括由客户端机器上传的用户生成的媒体项以及来自诸如新闻机构、出版商、图书馆等服务供应商的媒体项。在一些实施方式中,内容储存库110可以由第三方服务提供,而在一些其他实施方式中,内容储存库110可以由维护服务器机器120的相同实体维护。在一些示例中,内容储存库110和服务器机器120可以是允许用户上传、消费、搜索、称赞(“点赞”)、点踩和/或评论媒体项的内容共享平台的部分。

内容共享平台可包括多个频道。频道可以是可得自公共源的数据内容或具有公共主题、旋律或内容的数据内容。数据内容可以是由用户选择的数字内容、对用户可用的数字内容、由用户上传的数字内容、由内容供应商选择的数字内容、广播方选择的数字内容等。频道可与所有者关联,所有者是可对频道执行动作的用户。不同的活动可基于诸如所有者使得在频道上可用数字内容、所有者选择(例如,点赞)与另一个频道关联的数字内容、所有者对与另一个频道关联的数字内容进行评论等的所有者动作与频道关联。与频道关联的活动可被收集到针对频道的活动提要(activityfeed)中。除了频道所有者以外的用户可订阅他们感兴趣的一个或更多个频道。“订阅”的概念也可被称为“点赞”、“加关注”、“加好友”等。

每个频道可包括一个或多个媒体项。媒体项的示例可包括而不限于数字视频、数字电影、数字照片、数字音乐、网站内容、社交媒体更新、电子书(ebook)、电子杂志、数字报纸、数字音频书、电子期刊、网络博客、简易信息联合(rss)提要、电子漫画书、软件应用等。在一些实施方式中,媒体项也被称为视频内容项。

可以借助在客户端机器102a至102n上执行的媒体查看器来消费媒体项。在一个实施方式中,媒体查看器可以是允许用户查看诸如图像、视频(例如,视频内容项)、网页、文档等内容的应用。例如,媒体查看器112a-z可以是能够访问、检索、呈现和/或导航由网络服务器服务的内容(例如,诸如超文本标记语言(html)页面的网页、数字媒体项或内容项等)的网络浏览器。媒体查看器可向用户呈送、显示和/或展示内容(例如,网页、媒体查看器)。媒体查看器还可显示嵌入在网页(例如,可提供关于在线商家所销售产品的信息的网页)中的嵌入式媒体播放器(例如,播放器或html5播放器)。在另一个示例中,媒体查看器可以是允许用户查看数字媒体内容项(例如,数字视频、数字图像、电子书等)的独立应用(例如,移动应用)。

媒体查看器可由服务器120和/或内容共享平台提供给客户端装置102a至102n。例如,媒体查看器可以是嵌入内容共享平台所提供的网页中的嵌入式媒体播放器。在另一个示例中,媒体查看器可以是与服务器120和/或内容共享平台通信的应用。

服务器机器130包括能够生成训练数据(例如,训练输入和目标输出的集合)以训练机器学习模型的训练集合生成器131。以下,相对于图2详细描述训练集合生成器131的一些操作。

服务器机器140包括能够训练机器学习模型160的训练引擎141。机器学习模型160可以参考由训练引擎141使用训练数据而产生的模型伪影,训练数据包括训练输入和对应的目标输出(针对相应训练输入的正确回应)。训练引擎141可找到将训练输入映射到目标输出(待预测回应)的训练数据中的模式,并且提供捕获这些模式的机器学习模型160。机器学习模型可由例如单级的线性或非线性操作(例如,支持向量机[svm])组成,或者可以是深度网络,即,由多级非线性操作组成的机器学习模型。深度网络的例子是具有一个或多个被隐藏层的神经网络,并且可例如通过根据反向传播学习算法等调节神经网络的权重来训练此机器学习模型。为了方便起见,本公开的其余部分将把实施方式表示为神经网络,即使一些实施方式可采用svm或其他类型的学习机器来作为神经网络的替代或补充。在一个方面,训练集合是从服务器机器130获得的。

服务器机器150包括空间分析引擎151,空间分析引擎151能够将图像的像素数据作为输入提供给经训练的机器学习模型160并且在输入上运行经训练的机器学习模型160,以获得一个或多个输出。如以下相对于图4详细描述的,在一个实施方式中,空间分析引擎151还能够从经训练的机器学习模型160的输出中提取置信数据并且使用置信数据来估计嵌入图像在输入图像中的位置。

应该注意,在一些其他实施方式中,服务器机器120、130、140和150的功能可由更少数量的机器来提供。例如,在一些实施方式中,服务器机器130和140可被集成到单个机器中,而在一些其他实施方式中,服务器机器130、140和150可被集成到单个机器中。另外,在一些实施方式中,服务器机器120、130、140和150中的一个或多个可被集成到内容共享平台中。

总体上,酌情地,在一个实施方式中被描述为正由内容共享平台、服务器机器120、服务器机器130、服务器机器140和/或服务器机器150执行的功能在其他实施方式中也可在客户端装置102a至102n上执行。另外,归因于特定组件的功能可由一起操作的不同或多个组件来执行。内容共享平台120、服务器机器120、服务器机器130、服务器机器140和/或服务器机器150也可被作为通过适当的应用编程接口提供给其他系统或装置的服务来访问,因此不限于在网站中使用。

图2描绘了根据本公开的一个或多个方面的用于训练机器学习模型的方法200的一个示例的流程图。该方法由可包括硬件(电路、专用逻辑等)、软件(诸如,在通用计算机系统或专用机器上运行)或其组合的处理逻辑来执行。在一个实施方式中,该方法由图1的计算机系统100来执行,而在一些其他实施方式中,图2的一个或多个框可由图中未描绘的一个或多个其他机器来执行。在一些方面,图2的一个或多个框可由服务器机器130的训练集合生成器131执行。

为了简化说明,将方法描绘和描述为一系列动作。然而,根据本公开的动作可按各种顺序和/或同时地发生,并且与在本文中没有展示和描述其他动作一起发生。此外,并非所有例示的动作都会是实施根据所公开主题的方法所需要的。另外,本领域的技术人员应该理解和了解,这些方法可替代地借助状态示图或事件被展示为一系列相互关联的状态。另外,应该理解,本说明书中公开的方法能够被存储在制造物品上,以便将此方法传送和转移到计算装置。本文中使用的术语“制造物品”旨在涵盖能从任何计算机可读装置或存储介质访问的计算机程序。

方法200开始于针对机器学习模型生成训练数据。在一些实施方式中,在框201中,将训练集合t初始化成空集。在框202处,选择第一图像和第二图像作为组成图像以生成合成图像,如下面相对于框203详细描述的。在一个实施方式中,第一图像和第二图像是随机选择的视频帧(例如,来自特定视频的两个不同的帧,来自第一视频的第一帧和来自第二视频的第二帧等)。应该注意,在一些其他实施方式中,可按某种其他方式来选择图像,而且可以不是视频的一部分(例如,静止照片等)。

在框203处,基于在框202中选择的第一组成图像和第二组成图像来生成合成图像。在一个实施方式中,合成图像包括两个部分,一个部分包含第一组成图像的像素数据,并且第二部分包含第二组成图像的像素数据。图3描绘了例示性合成图像300;如图中所示,合成图像300包括部分301-1中的第一图像和部分301-2中的第二图像。在一个示例中,可生成合成图像来模仿恶意用户通过自动化检测系统(例如,基于指纹的检测系统)“偷窥”不适当的图像(例如,获得版权的图像、年龄不合适的图像等)。

应该注意,一些部分的相对尺寸可不同于图3中所描绘的相对尺寸(例如,内部部分在复合图像中占据的比例可能比图3中大,诸如,合成图像的40%、合成图像的70%等)。类似地,一些部分的空间布置可不同于图3中描绘的空间布置(例如,水平并排、垂直并排等)。

还应该注意,在一部分被另一部分包围的情况下,如图3中一样,可通过在“背景”图像的一部分上叠加“前景”图像来生成合成图像。另外,可对边界分离部分上的像素进行处理(例如,消除锯齿等),以便模仿恶意用户尝试使边缘检测更困难。

在框204处,生成输入/输出映射。输入/输出映射是指包括或基于合成图像的像素数据(例如,合成图像的像素的红/绿/蓝强度值等)的训练输入和针对训练输入的目标输出,其中,目标输出识别合成图像内的第一部分(包含第一组成图像的像素数据的那部分)的一个或多个位置(例如,定义第一部分的两个或更多个点的坐标,诸如,第一部分的左上角和右下角的坐标等),并且其中,训练输入与目标输出关联(或训练输入被映射到目标输出)。在框205处,在框204处生成的输入/输出映射被添加到训练集合t。

框206基于训练集合t是否足以训练机器学习模型160而分支。如果是,则执行前进至框207,否则,执行继续回到框202。应该注意,在一些实施方式中,可仅基于训练集合中的输入/输出映射的数量来确定训练集合t的充分性,而在一些其他实施方式中,作为输入/输出映射的数量的补充或替代,可基于一个或多个其他标准(例如,训练示例的多样性的度量等)来确定训练集合t的充分性。

在框207处,提供训练集合t来训练机器学习模型160。在一个实施方式中,训练集合t被提供到服务器机器140的训练引擎141,以执行训练。在神经网络的情况下,例如,给定输入/输出映射的输入值(例如,训练图像的像素值等)被输入神经网络,并且输入/输出映射的输出值被存储在神经网络的输出节点中。然后,根据学习算法(例如,反向传播等)来调节神经网络中的连接权重,并且针对训练集合t中的其他输入/输出映射来重复该过程。在框207之后,接着可使用机器学习模型160来处理图像(例如,根据下面描述的图4的方法400)。

图4描绘了根据本公开的一个或多个方面的使用训练机器学习模型来处理图像的方法400的一个示例的流程图。该方法由可包括硬件(电路、专用逻辑等)、软件(诸如,在通用计算机系统或专用机器上运行)或其组合的处理逻辑来执行。在一个实施方式中,该方法使用图1的服务器机器150和经训练的机器学习模型160来执行,而在一些其他实施方式中,图4的一个或多个框可由图中未描绘的一个或多个其他机器来执行。

方法400可包括(例如,从用户装置或诸如上传服务器125的服务器)接收输入图像,并且使用诸如经训练的机器学习模型160的训练模型来处理输入图像。经训练的模型可被配置成基于输入图像的像素数据来生成一个或多个输出,所述一个或多个输出指示(i)该输入图像是包括组成图像的合成图像的置信度、以及(ii)在该输入图像内包含组成图像的空间区域。

在一些实施方式中,在框401处,可识别用于处理的图像(输入图像)。在一个示例中,图像是上传视频的帧(例如,上传到内容共享平台的视频)。

在框402处,确定图像空间区域的集合{a1,a2,...,an}。在图5至图8中描绘了空间区域的各种示例。在图5中,空间区域是大小相等的矩形(大小和形状一致)501-1至501-12,而在图6中,空间区域601-1至601-9是矩形的,但大小不等(即,具有不同大小)。在图7中,空间区域701-1至701-6是非多边形的(例如,由参数曲线等界定),而在图8中,空间区域801-1至801-5是重叠的大小不一致的矩形。应该注意,其他空间区域定义是可能的,诸如,其他类型的多边形区域(例如,三角形、六边形、非矩形四边形等)、不同形状的多边形区域(例如,区域中的一些是三角形而其他区域是矩形等)、重叠的非多边形区域、非重叠的多边形或非多边形区域等。此外,虽然在图5至图8的示例中,空间区域覆盖整个图像(即,空间区域的并集包含图像的所有像素),但是在其他一些示例中,情况可能不是这样。

还应该注意,在一些其他实施方式中,可在非平面表面(例如,虚拟现实应用中的半球的内部等)上呈现图像。在这些情况下,空间区域可以是三维表面,而不是二维的。

在框403处,将图像的像素数据作为输入提供到经训练的机器学习模型,并且在框404处,从经训练的机器学习模型获得一个或多个输出。在框405处,从在框404处获得的输出中提取关于输入图像是否是包括组成图像的合成图像以及组成图像的至少一部分是否处于输入图像的特定空间区域中的置信数据。在一个实施方式中,对于图像的每个空间区域aj,置信数据包括图像是包括组成图像i1(并且在一些实施例中,还有至少再一个其他图像i2)的合成图像的置信度,图像i1的至少一部分在空间区域aj中(并且在一些实施方式中,图像i2的至少一部分也在空间区域aj中)。在一个示例中,置信度是0和1之间的实数。应该注意,置信度可以不是概率(例如,针对所有空间区域的置信度之和可以不等于1)。

在框406处,使用置信数据来估计包含图像i1的一个或多个空间区域(并且在一些实施方式中,另外也估计包含图像i2的一个或多个空间区域)。在一些实施方式中,如果针对空间区域的置信度满足阈值条件,则此空间区域被识别为包含图像i1。例如,具有最高置度的空间区域可被识别为包含图像i1,而在一些其他示例中,如果此空间区域具有高于特定阈值的置信度,则一个或多个空间区域可被识别为包含i1。

在框407处,处理所识别的空间区域中的像素数据。在一些实施方式中,像素数据的处理可包括确定像素数据是否不适合上传到内容共享平台(例如,获得版权的素材、不适合年龄的素材等)。如上所述,通过将焦点集中在(honeinon)整个图像中较小图像的所处位置来促成此处理。在一些实施方式中,像素数据的处理包括从所识别的空间区域中提取像素数据(组成图像),基于所提取的像素数据来创建组成图像的指纹,并且将所创建的指纹与存储的多个图像的指纹进行比较,以确定组成图像是否与多个图像中的任一个相似。应该注意,如果使用经训练的模型在合成图像中识别出多个组成图像,则可针对每个组成图像执行以上操作(包括框406和407的操作)。

在框407之后,执行回到框401,以处理另一图像(例如,上传的视频的下一帧等)。

图9描绘了根据本公开的一个或多个方面操作的例示性计算机系统900的框图。在各种例示性示例中,计算机系统900可对应于图1的系统架构100内的计算装置。在某些实施方式中,计算机系统900可(例如,经由诸如局域网(lan)、内联网、外联网或互联网的网络930)连接到其他计算机系统。计算机系统900可在客户端-服务器网络环境中以服务器或客户端计算机的能力进行操作,或者作为点对点或分布式网络环境中的对等机器操作。计算机系统900可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝电话、网络设备、服务器、网络路由器、交换机或网桥或能够执行指定要由该装置采取的特定动作的指令集(顺序的或其他)的任何装置。另外,术语“计算机”应当包括计算机的任何集合,这些计算机单独或联合地执行用于执行本文中描述的任一种或多种方法的指令的一个集合(或多个集合)。

在其他方面,计算机系统900可包括可经由总线908彼此通信的处理装置902、易失性存储器904(例如,随机存取存储器(ram))、非易失性存储器906(例如,只读存储器(rom)或电可擦除可编程rom(eeprom))和数据存储装置916。

处理装置902可由诸如通用处理器(诸如,例如,复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器、实施其他类型指令集的微处理器或实施各种类型的指令集的组合的微处理器)或专用处理器(诸如,例如,专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)或网络处理器)的一个或多个处理器来提供。

计算机系统900还可包括网络接口装置922。计算机系统900还可包括视频显示单元910(例如,lcd)、字母数字输入装置912(例如,键盘)、光标控制装置914(例如,鼠标)和信号生成装置920。

数据存储装置916可包括非暂态计算机可读存储介质924,在非暂态计算机可读存储介质924上可存储对本文中描述的方法或功能中的任一个或多个进行编码的指令926,包括用于分别实施图2和图4的方法200和400的指令。

指令926在其由计算机系统900执行期间还可完全或至少部分地驻留在易失性存储器904内和/或处理装置902内,因此,易失性存储器904和处理装置802也可构成机器可读存储介质。

虽然计算机可读存储介质924在例示性示例中被示出为单个介质,但是术语“机器可读存储介质”应当包括存储一个或更多个可执行指令集的单个介质或多个介质(例如,集中式或分布式数据库和/或关联的高速缓存和服务器)。术语“计算机可读存储介质”还应当包括能够对供机器执行的指令集进行存储或编码的任何有形介质,这些指令致使机器执行本文中描述的方法中的任一种或多种。术语“计算机可读存储介质”应当包括但不限于固态存储器、光学介质和磁介质。

本文中描述的方法、组件和特征可由分立的硬件组件来实施,或者可被集成到诸如asic、fpga、dsp或类似装置的其他硬件组件的功能中。另外,可由硬件装置内的组成模块或功能电路来实施方法、组件和特征。另外,可用硬件装置和计算机程序组件的任何组合或用计算机程序来实施方法、组件和特征。

除非另外具体指出,否则诸如“生成”、“提供”、“训练”等术语是指由计算机系统执行或实施的动作和处理,这些动作和处理操纵被表示为计算机系统寄存器和存储器内的物理(电子)量的数据并且将该数据转换成类似表示为计算机系统存储器或寄存器或其他某个信息存储、传输或显示装置内的物理量的其他数据。另外,本文中使用的术语“第一”、“第二”、“第三”、“第四”等意指用于区分不同元素的标签,并且可没有符合其数字标识的序数含义。

本文中描述的示例还涉及用于执行本文中描述的方法的设备。该设备可以是为了执行本文中描述的方法而专门构造的,或者它可包括由存储在计算机中的计算机程序进行选择性编程的通用计算机系统。此计算机程序可被存储在计算机可读的有形存储介质中。

本文中描述的方法和例示性示例并不固有地与任何特定计算机或其他设备相关。根据本文中描述的教导,可使用各种通用系统,或者可证实更方便的是,构造更专用的设备来执行方法200和400和/或其独立功能、例程、子程序或操作中的每个。在以上的描述中阐述了各种这些系统的结构示例。

以上描述旨在是例示性的,而非限制性的。虽然已经参照具体例示性示例和实现方式描述了本公开,但是应该认识到,本公开不限于所描述的示例和实现方式。例如,可在任何其他方面或实现方式中提供参照一个方面或实现方式描述的特征。本公开的范围应参照下面的权利要求书连同权利要求书享有其权利的等同物的全部范围来确定。

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